β¬ οΈ Back to Table of Contents
π createEventsBinder¶
π Analysis Summary¶
| Metric | Count |
|---|---|
| π§ Functions | 1 |
π Table of Contents¶
π οΈ File Location:¶
π packages/website/src/components/lib/createEventsBinder.ts
Functions¶
createEventsBinder(): { register: (cb: T) => () => void; trigger: (...args: Param⦶
Returns: {
register: (cb: T) => () => void;
trigger: (...args: Parameters<T>) => void;
}
Calls:
events.addevents.deleteevents.forEachcb
Code
export function createEventsBinder<T extends (...args: any[]) => void>(): {
register: (cb: T) => () => void;
trigger: (...args: Parameters<T>) => void;
} {
const events = new Set<T>();
return {
register(cb: T): () => void {
events.add(cb);
return (): void => {
events.delete(cb);
};
},
trigger(...args: Parameters<T>): void {
events.forEach(cb => cb(...args));
},
};
}
Generated by Syntax Scribe