@2k/signal
v0.0.1
Published
Tiny, typed signal utility for Node.js and browsers.
Downloads
5
Maintainers
Readme
Signal
Tiny, typed signal utility for Node.js and browsers.
Need multiple dynamic events and types? Use EE (Event Emitter) instead
Installation
npm install @2k/signal --save
Usage (TypeScript)
import { Signal } from '@2k/signal';
// specify callback param type
const signal = new Signal<number>();
const cb = (num: number) => console.log('signal', num);
signal.on(cb);
signal.emit(123);
signal.off(cb);
Methods
on(fn)
Attaches a signal handler to be called whenever the signal fires.
once(fn)
Attaches a one-time handler which is unbound after it fires the first time.
off(fn?)
Detaches one instance of a given handler from the signal. If no handler is provided, detaches all handlers.
emit(arg)
Fires the signal synchronously, triggering any attached handlers with the given arg
.
event(arg)
Fires the signal asynchronously, triggering any attached handlers with the given arg
. Useful when attaching handlers later in the same event loop turn.