shineout
Version:
Shein 前端组件库
16 lines (15 loc) • 398 B
TypeScript
interface Listener extends Function {
(...args: any[]): void;
fn?: Listener;
}
interface Events {
[event: string]: Listener[];
}
export default class Notification {
$events: Events;
constructor();
dispatch(name: keyof Events, ...args: any[]): void;
subscribe(name: keyof Events, fn: Listener): void;
unsubscribe(name: keyof Events, fn: Listener): void;
}
export {};