UNPKG

@0xfutbol/id

Version:

React component library with shared providers for 0xFutbol ID

28 lines (27 loc) 813 B
type GenericEmitterType = { [key: string]: unknown; }; export type Emitter<T extends GenericEmitterType> = { subscribe<K extends keyof T>(event: K, cb: (data: T[K]) => void): () => void; emit<K extends keyof T>(event: K, data: T[K]): void; }; /** * Creates an emitter object that allows subscribing to events and emitting events. * @returns An emitter object with `subscribe` and `emit` methods. * @template TEmitter - The type of the emitter. * @example * ```ts * const emitter = createEmitter<{ * event1: string; * event2: number; * }>(); * * emitter.subscribe("event1", (data) => { * console.log(data); // "hello" * }); * * emitter.emit("event1", "hello"); * ``` */ export declare function createEmitter<const TEmitter extends GenericEmitterType>(): Emitter<TEmitter>; export {};