| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- // @flow
- declare type FilePath = string;
- declare type GlobPattern = string;
- export type BackendType =
- | 'fs-events'
- | 'watchman'
- | 'inotify'
- | 'windows'
- | 'brute-force';
- export type EventType = 'create' | 'update' | 'delete';
- export interface Options {
- ignore?: Array<FilePath | GlobPattern | RegExp>;
- backend?: BackendType;
- }
- export type SubscribeCallback = (err: ?Error, events: Array<Event>) => mixed;
- export interface AsyncSubscription {
- unsubscribe(): Promise<void>;
- }
- export interface Event {
- path: FilePath;
- type: EventType;
- }
- declare module.exports: {
- getEventsSince(
- dir: FilePath,
- snapshot: FilePath,
- opts?: Options,
- ): Promise<Array<Event>>,
- subscribe(
- dir: FilePath,
- fn: SubscribeCallback,
- opts?: Options,
- ): Promise<AsyncSubscription>,
- unsubscribe(
- dir: FilePath,
- fn: SubscribeCallback,
- opts?: Options,
- ): Promise<void>,
- writeSnapshot(
- dir: FilePath,
- snapshot: FilePath,
- opts?: Options,
- ): Promise<FilePath>,
- };
|