rolldown
Version:
Fast JavaScript/TypeScript bundler in Rust with Rollup-compatible API.
32 lines (31 loc) • 1.05 kB
TypeScript
import { BindingWatcherEvent } from '../../binding';
import { MaybePromise } from '../../types/utils';
export type WatcherEvent = 'close' | 'event' | 'restart' | 'change';
export type ChangeEvent = 'create' | 'update' | 'delete';
export type RollupWatcherEvent = {
code: 'START';
} | {
code: 'BUNDLE_START';
} | {
code: 'BUNDLE_END';
duration: number;
output: readonly string[];
} | {
code: 'END';
} | {
code: 'ERROR';
error: Error;
};
export declare class WatcherEmitter {
listeners: Map<WatcherEvent, Array<(...parameters: any[]) => MaybePromise<void>>>;
timer: any;
constructor();
on(event: 'change', listener: (id: string, change: {
event: ChangeEvent;
}) => MaybePromise<void>): this;
on(event: 'event', listener: (data: RollupWatcherEvent) => MaybePromise<void>): this;
on(event: 'restart' | 'close', listener: () => MaybePromise<void>): this;
onEvent(event: BindingWatcherEvent): Promise<void>;
close(): Promise<void>;
}
export type RolldownWatcher = WatcherEmitter;