UNPKG

@code-gorilla-au/vue-forms

Version:
19 lines (18 loc) 656 B
export interface DispatcherOptions { debug?: boolean; } export type DispatchEventTopic = string; export type DispatchFunction<T> = (opts: DispatcherOptions, event: DispatchEventPayload<T>) => void; export interface DispatchEventPayload<T> { id: string; timestamp: number; payload: T; } export interface DispatcherState<T> { [key: DispatchEventTopic]: DispatchFunction<T>[]; } export declare function dispatcher<T>(opts?: DispatcherOptions): { topics(): string[]; subscribe(topic: DispatchEventTopic, fn: DispatchFunction<T>): void; dispatch(topic: DispatchEventTopic, payload: DispatchEventPayload<T>): Promise<unknown>; };