a2r
Version:
A2R Framework
93 lines (92 loc) • 1.81 kB
TypeScript
import ts from 'typescript';
import chokidar from 'chokidar';
/**
* Process info resulting from watcher event
*/
export interface ProcessInfo {
/**
* Event type
*/
type: 'add' | 'addDir' | 'change' | 'unlink' | 'unlinkDir';
/**
* Target path
*/
targetPath: string;
}
/**
* Watcher error handler
*/
export declare type OnError = (
/**
* Watcher error
*/
error: Error,
/**
* Chokidar watcher instance
*/
watcher?: chokidar.FSWatcher,
/**
* Target path used to initialize watcher
*/
targetPath?: string) => void;
/**
* Watcher ready event handler
*/
export declare type OnReady = (
/**
* Chokidar watcher instance
*/
watcher: chokidar.FSWatcher,
/**
* Target path used to initialize watcher
*/
targetPath: string) => void | Promise<void>;
/**
* On Validation method
*/
export declare type OnValidation = (
/**
* Server path
*/
serverPath: string,
/**
* Target path
*/
targetPath: string) => Promise<void> | void;
/**
* Watcher options
*/
export interface WatcherOptions {
/**
* Path that should be watched for changes
* @memberof WatcherOptions
*/
targetPath: string;
/**
* Errors handler
* @memberof WatcherOptions
*/
onError: OnError;
/**
* Method called once internal watcher (chokidar) is ready
* @memberof WatcherOptions
*/
onReady?: OnReady;
/**
* Internal watcher options:
* WatchOptions from [chokidar](https://github.com/paulmillr/chokidar#api)
* @memberof WatcherOptions
*/
options?: chokidar.WatchOptions;
}
/**
* For typescript nodes casting as docs container purposes
*/
export interface JSDocContainer {
/**
* Optional JSDoc array
* @type {ts.JSDoc[]}
* @memberof JSDocContainer
*/
jsDoc?: ts.JSDoc[];
}