fn
createEventHook
v0.0.15testeddemoLightweight, non-reactive event hook factory exposing `{ on, off, trigger, clear }`. `on` returns a callable off handle (also carrying an `.off` method) and auto-removes the listener on scope dispose. `trigger` awaits async listeners and resolves with all their results. SSR-safe (touches no browser globals) and tree-shakeable.
Examples
ts
const { on, trigger } = createEventHook<string>();
const off = on((msg) => console.log(msg));
await trigger('hello');
off();ts
// Tuple payload for multiple positional arguments
const hook = createEventHook<[number, number]>();
hook.on((x, y) => x + y);
const results = await hook.trigger(2, 3); // [5]ts
// trigger awaits async listeners
const hook = createEventHook<void>();
hook.on(async () => { await save(); });
await hook.trigger(); // resolves after save() completesDemo
Loading demo…
Signature
ts
export function createEventHook<T = any>(
options: CreateEventHookOptions ={ ... }Type Parameters
T= anyParameters
| Parameter | Type | Description |
|---|---|---|
options? | CreateEventHookOptions | Options |
Returns
CreateEventHookReturn<T>The event hook controls