JSPM

event-chain

0.0.1
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 834
  • Score
    100M100P100Q99628F
  • License MIT

A simple way to chain events and control program flow asynchronously.

Package Exports

  • event-chain

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (event-chain) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

event-chain

A simple way to chain events and control program flow asynchronously.

This is an open source project under the MIT license, see LICENSE.md for additional information.

Install

npm install --save event-chain

Example

var chain = require('event-chain')();

var example = chain.on(['one', 'two'], function() {
  console.log('foo');
});

example.emit('one');
example.emit('two');
// foo to console.

Debug

Debugging is made possible with Debug and can be enabled by setting the environment variable event-chain:

env DEBUG=event-chain

API

chain.on(events, callback)
/**
 * Create an event-chain that will execute the callback after all the events have been emitted.
 *
 * @param events
 *   An array of events (string) that are required before invoking the callback.
 * @param callback
 *   A callback function to be executed after all the provided events have been fired.
 *
 * @return
 *   A Chain object.
 */
chain.on(events, callback)
chain.emit(event)
/**
 * Emit the given event for the chain.
 *
 * @param event
 *   Emit an event that was previously registered with chain.on();
 */
foo.emit(event);

Options

Customized options are available for the chain.

var chain = require('event-chain')(options);
options.complete (optional)
The event that is fired once all user-defined events have completed, used internally. Default: '__complete'