@soncodi/signal
TypeScript icon, indicating that this package has built-in type declarations

2.0.7 • Public • Published

Signal

Build Status Coverage Status Dependency Status npm version

Tiny, typed signal utility for Node.js and browsers. No dependencies.

Need multiple dynamic events and types? Check out EE (Event Emitter) instead

Installation

npm install @soncodi/signal --save

Usage (TypeScript)

import { Signal } from '@soncodi/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.

Package Sidebar

Install

npm i @soncodi/signal

Weekly Downloads

4,483

Version

2.0.7

License

MIT

Unpacked Size

5.2 kB

Total Files

5

Last publish

Collaborators

  • soncodi