48 lines
		
	
	
		
			998 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			998 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
// @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>,
 | 
						|
  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>
 | 
						|
} |