1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 | import { EventEmitter } from 'events';
|
8 | import { Stats } from 'fs';
|
9 |
|
10 | export = sane;
|
11 |
|
12 | declare function sane(dir: string, options?: sane.Options): sane.Watcher;
|
13 |
|
14 | declare namespace sane {
|
15 | interface Options {
|
16 | glob?: string | string[] | undefined;
|
17 | poll?: boolean | undefined;
|
18 | watchman?: boolean | undefined;
|
19 | fsevents?: boolean | undefined;
|
20 | watcher?: string | undefined;
|
21 | dot?: boolean | undefined;
|
22 | ignored?: AnymatchMatcher | AnymatchMatcher[] | undefined;
|
23 | }
|
24 |
|
25 | const FSEventsWatcher: typeof SaneWatcher;
|
26 | const NodeWatcher: typeof SaneWatcher;
|
27 | const PollWatcher: typeof SaneWatcher;
|
28 | const WatchmanWatcher: typeof SaneWatcher;
|
29 |
|
30 | type Watcher = SaneWatcher;
|
31 |
|
32 | type AnymatchMatcher = string | RegExp | ((...testStrings: string[]) => boolean);
|
33 | }
|
34 |
|
35 | declare class SaneWatcher extends EventEmitter {
|
36 | readonly globs: string[];
|
37 | readonly dot: boolean;
|
38 | readonly ignored: sane.AnymatchMatcher | sane.AnymatchMatcher[];
|
39 | readonly hasIgnore: boolean;
|
40 | readonly root: string;
|
41 |
|
42 | constructor(dir: string, options?: sane.Options);
|
43 | close(callback?: () => void): void;
|
44 |
|
45 | addListener(event: 'ready', listener: () => void): this;
|
46 | addListener(event: 'error', listener: (error: Error) => void): this;
|
47 | addListener(event: 'all', listener: (eventType: AllEventType, path: string, root: string, stat?: Stats) => void): this;
|
48 | addListener(event: 'add' | 'change', listener: (path: string, root: string, stat: Stats) => void): this;
|
49 | addListener(event: 'delete', listener: (path: string, root: string) => void): this;
|
50 | on(event: 'ready', listener: () => void): this;
|
51 | on(event: 'error', listener: (error: Error) => void): this;
|
52 | on(event: 'all', listener: (eventType: AllEventType, path: string, root: string, stat?: Stats) => void): this;
|
53 | on(event: 'add' | 'change', listener: (path: string, root: string, stat: Stats) => void): this;
|
54 | on(event: 'delete', listener: (path: string, root: string) => void): this;
|
55 | once(event: 'ready', listener: () => void): this;
|
56 | once(event: 'error', listener: (error: Error) => void): this;
|
57 | once(event: 'all', listener: (eventType: AllEventType, path: string, root: string, stat?: Stats) => void): this;
|
58 | once(event: 'add' | 'change', listener: (path: string, root: string, stat: Stats) => void): this;
|
59 | once(event: 'delete', listener: (path: string, root: string) => void): this;
|
60 | prependListener(event: 'ready', listener: () => void): this;
|
61 | prependListener(event: 'error', listener: (error: Error) => void): this;
|
62 | prependListener(event: 'all', listener: (eventType: AllEventType, path: string, root: string, stat?: Stats) => void): this;
|
63 | prependListener(event: 'add' | 'change', listener: (path: string, root: string, stat: Stats) => void): this;
|
64 | prependListener(event: 'delete', listener: (path: string, root: string) => void): this;
|
65 | prependOnceListener(event: 'ready', listener: () => void): this;
|
66 | prependOnceListener(event: 'error', listener: (error: Error) => void): this;
|
67 | prependOnceListener(event: 'all', listener: (eventType: AllEventType, path: string, root: string, stat?: Stats) => void): this;
|
68 | prependOnceListener(event: 'add' | 'change', listener: (path: string, root: string, stat: Stats) => void): this;
|
69 | prependOnceListener(event: 'delete', listener: (path: string, root: string) => void): this;
|
70 | removeListener(event: 'ready', listener: () => void): this;
|
71 | removeListener(event: 'error', listener: (error: Error) => void): this;
|
72 | removeListener(event: 'all', listener: (eventType: AllEventType, path: string, root: string, stat?: Stats) => void): this;
|
73 | removeListener(event: 'add' | 'change', listener: (path: string, root: string, stat: Stats) => void): this;
|
74 | removeListener(event: 'delete', listener: (path: string, root: string) => void): this;
|
75 | removeAllListeners(event?: EventType): this;
|
76 | // tslint:disable-next-line ban-types
|
77 | listeners(event: EventType): Function[];
|
78 | emit(event: 'ready'): boolean;
|
79 | emit(event: 'error', error: Error): boolean;
|
80 | emit(event: 'all', eventType: AllEventType, path: string, root: string, stat?: Stats): boolean;
|
81 | emit(event: 'add' | 'change', path: string, root: string, stat: Stats): boolean;
|
82 | emit(event: 'delete', path: string, root: string): boolean;
|
83 | eventNames(): EventType[];
|
84 | listenerCount(type: EventType): number;
|
85 | }
|
86 |
|
87 | type EventType = 'ready' | 'error' | 'all' | AllEventType;
|
88 | type AllEventType = 'add' | 'change' | 'delete';
|
89 |
|
\ | No newline at end of file |