1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 | import { EventEmitter } from "events";
|
9 | import { Transform, TransformOptions } from "stream";
|
10 |
|
11 | export type TrackerObject = Tracker | TrackerGroup | TrackerStream;
|
12 | export type TrackerEventListener = (name: string, completed: number, tracker: TrackerObject) => void;
|
13 | export type GenericEventListener = (...args: any[]) => void;
|
14 |
|
15 | export class TrackerBase extends EventEmitter {
|
16 | constructor(name?: string);
|
17 | addListener(event: "change", listener: TrackerEventListener): this;
|
18 | addListener(event: string, listener: GenericEventListener): this;
|
19 | on(event: "change", listener: TrackerEventListener): this;
|
20 | on(event: string, listener: GenericEventListener): this;
|
21 | once(event: "change", listener: TrackerEventListener): this;
|
22 | once(event: string, listener: GenericEventListener): this;
|
23 | prependListener(event: "change", listener: TrackerEventListener): this;
|
24 | prependListener(event: string, listener: GenericEventListener): this;
|
25 | prependOnceListener(event: "change", listener: TrackerEventListener): this;
|
26 | prependOnceListener(event: string, listener: GenericEventListener): this;
|
27 | removeListener(event: "change", listener: TrackerEventListener): this;
|
28 | removeListener(event: string, listener: GenericEventListener): this;
|
29 | }
|
30 |
|
31 | export class Tracker extends TrackerBase {
|
32 | constructor(name?: string, todo?: number);
|
33 | addWork(work: number): void;
|
34 | completeWork(completed: number): void;
|
35 | completed(): number;
|
36 | finish(): void;
|
37 | }
|
38 |
|
39 | export class TrackerGroup extends TrackerBase {
|
40 | constructor(name?: string);
|
41 | addUnit(tracker: TrackerBase, weight?: number): TrackerObject;
|
42 | completed(): number;
|
43 | debug(): string;
|
44 | finish(): void;
|
45 | newGroup(name?: string, weight?: number): TrackerGroup;
|
46 | newItem(name?: string, todo?: number, weight?: number): Tracker;
|
47 | newStream(name?: string, todo?: number, weight?: number): TrackerStream;
|
48 | }
|
49 |
|
50 | export class TrackerStream extends Transform {
|
51 | constructor(name?: string, size?: number, options?: TransformOptions);
|
52 | addWork(work: number): void;
|
53 | completed(): number;
|
54 |
|
55 | addListener(event: "change", listener: TrackerEventListener): this;
|
56 | addListener(event: "data", listener: (chunk: Buffer | string) => void): this;
|
57 | addListener(event: "readable" | "end" | "close", listener: () => void): this;
|
58 | addListener(event: "error", listener: (err: Error) => void): this;
|
59 | addListener(event: string, listener: GenericEventListener): this;
|
60 |
|
61 | on(event: "change", listener: TrackerEventListener): this;
|
62 | on(event: "data", listener: (chunk: Buffer | string) => void): this;
|
63 | on(event: "readable" | "end" | "close", listener: () => void): this;
|
64 | on(event: "error", listener: (err: Error) => void): this;
|
65 | on(event: string, listener: GenericEventListener): this;
|
66 |
|
67 | once(event: "change", listener: TrackerEventListener): this;
|
68 | once(event: "data", listener: (chunk: Buffer | string) => void): this;
|
69 | once(event: "readable" | "end" | "close", listener: () => void): this;
|
70 | once(event: "error", listener: (err: Error) => void): this;
|
71 | once(event: string, listener: GenericEventListener): this;
|
72 |
|
73 | prependListener(event: "change", listener: TrackerEventListener): this;
|
74 | prependListener(event: "data", listener: (chunk: Buffer | string) => void): this;
|
75 | prependListener(event: "readable" | "end" | "close", listener: () => void): this;
|
76 | prependListener(event: "error", listener: (err: Error) => void): this;
|
77 | prependListener(event: string, listener: GenericEventListener): this;
|
78 |
|
79 | prependOnceListener(event: "change", listener: TrackerEventListener): this;
|
80 | prependOnceListener(event: "data", listener: (chunk: Buffer | string) => void): this;
|
81 | prependOnceListener(event: "readable" | "end" | "close", listener: () => void): this;
|
82 | prependOnceListener(event: "error", listener: (err: Error) => void): this;
|
83 | prependOnceListener(event: string, listener: GenericEventListener): this;
|
84 |
|
85 | removeListener(event: "change", listener: TrackerEventListener): this;
|
86 | removeListener(event: "data", listener: (chunk: Buffer | string) => void): this;
|
87 | removeListener(event: "readable" | "end" | "close", listener: () => void): this;
|
88 | removeListener(event: "error", listener: (err: Error) => void): this;
|
89 | removeListener(event: string, listener: GenericEventListener): this;
|
90 | }
|