Skip to content

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

License

Notifications You must be signed in to change notification settings

zackurben/event-chain

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

event-chain

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

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'

About

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published