R
fn

createEventHook

v0.0.15testeddemo

Lightweight, 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() completes

Demo

Loading demo…

Signature

ts
export function createEventHook<T = any>(
  options: CreateEventHookOptions ={ ... }

Type Parameters

T= any

Parameters

ParameterTypeDescription
options?CreateEventHookOptionsOptions

Returns

CreateEventHookReturn<T>The event hook controls