pico-signals
A very simple signal library inspired by the 'signals' package
Last updated 6 years ago by paulobmarcos .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ npm install pico-signals 
SYNC missed versions from official npm registry.

pico-signals

NPM version Downloads Build Status Coverage Status Dependency status Dev Dependency status

A very simple signal library inspired by the signals package.

Installation

$ npm install pico-signals

This library is written in modern JavaScript and is published with both CommonJS and ES module transpiled variants.

If you target older browsers please make sure to transpile accordingly.

Usage

import picoSignals from 'pico-signals';

const listener1 = () => console.log('Listener 1');
const listener2 = () => console.log('Listener 2');

const ps = picoSignals();

const removeListener1 = ps.add(listener1);
const removeListener2 = ps.add(listener2);

ps.dispatch('foo', 'bar');
//=> Both listeners will be called and both logs produced.
//=> Every listener will receive the same arguments provided in the dispatch method.

removeListener2();
//=> Deletes `listener2` from the listeners list;

ps.dispatch();
//=> Only `listener1` will be called since its currently the only listener on the list.

ps.clear();
//=> Clears all listeners.

API

add(listener)

Adds a new listener to the list.

Returns a method to remove the listener.

listener

Type: Function

A listener to be called on dispatch.

delete(listener)

Deletes a listener from the list.

listener

Type: Function

An existing listener in the list.

clear()

Deletes all listeners from the list.

dispatch(...args)

Calls every listener with the specified arguments.

Tests

$ npm test
$ npm test -- --watch # during development

License

Released under the MIT License.

Current Tags

  • 1.0.0                                ...           latest (6 years ago)

1 Versions

  • 1.0.0                                ...           6 years ago
Maintainers (1)
Downloads
Total 1
Today 0
This Week 0
This Month 1
Last Day 0
Last Week 1
Last Month 0
Dependencies (0)
None
Dev Dependencies (11)
Dependents (1)

© 2010 - cnpmjs.org x YWFE | Home | YWFE