event-emitter-class v0.0.0
Event Emitter Class
Event Emitter Class is a generic event emitter from which to extend. It provides default methods that allows rules base transitioning between states.
Usage
Installation
npm install --production state-machine-class
# use "--production" to avoid installing unnecessary development dependencies
In Program
const EventEmitter = require("event-emitter-class");
export default class extends EventEmitter{
constructor(){
super();
//define methods here
}
}
API
Constructor
new EventEmitter(events);
events (Optional)
One may pass a pre-populate set of event handlers to an even emitter. See ## Instance Methods => ### Bulk.
Example:Constructor
const ee = new EventEmitter();
Instance Methods
EventEmitter#emit(eventName:string,...payload)
Cause EventEmitter to emit an event triggers all event handlers listening for specific events triggers all one-time handlers listening for specific events and remove them triggers _onmessage functon, if defined
Example:emit
ee.emit("number-event", 1);
Aliases for EventEmitter#emit
- emitEvent
- dispatchEvent
- dispatch
EventEmitter#on(eventName:string, handler:function)
Add EventListener to emitter
Example:on
const handler = function(payload){consolee.log(payload);};
ee.on("number-event", handler);
Aliases for EventEmitter#on
- addEventListener
EventEmitter#off(eventName:string, handler:function)
Remove EventListener from emitter
Example:off
ee.off("number-event", handler);
EventEmitter#once(eventName:string, handler:function)
Add EventListener to emitter that will only fire once
Example:once
const handler = function(payload){consolee.log(payload);};
ee.once("number-event", handler);
EventEmitter#offOnce(eventName:string, handler:function)
Remove EventListener from emitter
Example:offOnce
ee.offOnce("number-event", handler);
EventEmitter#bulk(events:object)
Remove EventListener from emitter
Example:bulk
ee.bulk({...});
EventEmitter#onmessage (setter)
Sets onmessage function
Example:bulk
ee.onmessage = (eventName, ...payload)=>{console.log(eventName,...payload)}
Development
NPM Scripts
test
runs tests
Testing
Tests can be run with node test
, npm run test
, or npm test
TAP
Because test output in the standard TAP format, there are a number of existing utilities that exist to format the output
Example: HTML Output
npm test | npx tap-html --out ./tap-html.html
Example: Graphical Output
npm test | npx tap-nyan
17 -_-_-_-_-_-_-_-_-_,------,
0 -_-_-_-_-_-_-_-_-_| /\_/\
0 -_-_-_-_-_-_-_-_-^|__( ^ .^)
-_-_-_-_-_-_-_-_- "" ""
Pass!
6 years ago