events-player
v0.2.0
Published
A JavaScript events player
Downloads
3
Maintainers
Readme
events-player
A JavaScript events player, for browsers or Node.js.
What is events-player
?
It is a player of time based events, such as a movie player :movie_camera: but with your events :smile:
It could be used in a browser, or in a Node.js application.
What is an "event"? An event is composed of 2 properties:
- a
delay
(number in milliseconds): the time that the player should wait before sending the event data - a
data
(anything you want): the data to send uppon delay expiration
What is not events-player
?
It is not a job/task scheduler such as "cron", it is not supposed to be used for scheduling a job/task "every day at 8:00 AM" for example.
Demo
Look at this example for a concrete usage
Installation
npm install events-player
or
yarn add events-player
Usage
The following example...
const player = new EventsPlayer([
{ delay: 6000, data: 42 },
{ delay: 1234, data: 'hello' }, // could be unordered
{ delay: 7000, data: { id: 1, message: 'world' } }, // could be your own data
{ delay: 7600, data: true }
], (data) => {
console.info('data:', data);
});
player.on('state', (newState, previousState) => {
console.info('state:', previousState, '-->', newState);
});
player.start();
...
player.pause(); // after 6000 ms.
...
player.resume(); // after 5 sec.
...will produce the following console output:
state: initialised --> started
data: hello
data: 42
state: started --> paused
state: paused --> resumed
data: { id: 1, message: 'world' }
data: true
state: resumed --> done
...and with a timeline representation:
API
Properties
| Name | Type | Description |
| --------------------- | --------- | ----------- |
| speed
| number
| the player speed |
Events
| Name | Type | Default | Description |
| --------------------- | --------- | --------- | ----------- |
| state
| "initialised","started","paused","resumed","done"
| "initialised"
| on player's state changed |
| speed
| number
| 1
| on speed changed |
| started
| -
| -
| on player started |
| paused
| -
| -
| on player paused |
| resumed
| -
| -
| on player resumed |
| stopped
| -
| -
| on player stopped |
| done
| -
| -
| on player done |
Methods
| Name | Arg | Default | Description |
| --------------------- | --------- | --------- | ----------- |
| start(delay)
| number
| 0
| start the player |
| pause()
| -
| -
| pause the player |
| resume()
| -
| -
| resume the player |
| stop()
| -
| -
| stop the player |
Issues & Enhancements
For any bugs, enhancements, or just questions feel free to use the GitHub Issues
Licence
This project is licensed under the terms of the MIT license.