array-to-events

1.0.0 • Public • Published

array-to-events Build Status

Push a series of events to an emitter. Useful for testing.

Install

$ npm install --save array-to-events

Usage

import arrayToEvents from 'array-to-events';
 
arrayToEvents(targetEmitter, [
  ['foo', 'fooArg1', 'fooArg2'],
  ['bar', 'barArg1', 'barArg2']
]);
 
// pushes both a 'foo' and 'bar' event (with specified arguments) to the emitter.

API

arrayToEvents(targetEmitter, eventArray, [options])

Returns: stop callback

Emit a series of events on targetEmitter. Depending on the specified options, events will be emitted synchronously or at specified intervals. In async mode, a stop callback is returned that, when called, will prevent further events from being emitted.

targetEmitter

Required
Type: EventEmitter

The emitter where events will be pushed

eventArray

Required
Type: two dimensional array

An array of event argument arrays. Must be a two dimensional array. The first value of each child array must be a string value with the event name. Additional array members will be passed as arguments when the array is triggered.

[
  ['foo', 1],
  ['bar', 2]
]

The above defines two events. First a foo event will be emitted with argument 1. Then a bar event will be emitted with argument 2.

options

sync

Type: boolean
Default: it depends

If true, all events will be emitted immediately and synchronously, one right after the other. It defaults to true unless the delay option or done callback are specified (in which case it defaults to false). Explicitly setting it to true will cause the delay option to be ignored.

delay

Type: a number or the string "immediate"
Default: "immediate"

If set to "immediate", events fire asynchronously with a minimal delay in between (setImmediate is used to schedule the next event).

If set to a number, events are scheduled every delay milliseconds (via setTimeout(nextEvent, opts.delay)).

done

Type: callback(error, finished)

An optional callback to be executed when all events have finished. The first argument will contain any error thrown during execution (not currently implemented). The second argument (finished) will be true if every event was emitted, false if the event stream was stopped prematurely using the stop function.

See Also

License

MIT © James Talmage

Package Sidebar

Install

npm i array-to-events

Weekly Downloads

2

Version

1.0.0

License

MIT

Last publish

Collaborators

  • jamestalmage