3.0.0 • Published 10 months ago
@clinkchat/tiny-emitter v3.0.0
tiny-emitter fork
A tiny (less than 1k) event emitter library.
About this fork
This fork features some improvements:
- typescript typings for the events
- ignores errors thrown by event listeners (it logs them but does not fail to invoke other listeners anymore)
Install
npm
npm install @deltachat/tiny-emitter --save
Usage
var Emitter = require('tiny-emitter');
var emitter = new Emitter();
emitter.on('some-event', function (arg1, arg2, arg3) {
//
});
emitter.emit('some-event', 'arg1 value', 'arg2 value', 'arg3 value');
Alternatively, you can skip the initialization step by requiring tiny-emitter/instance
instead. This pulls in an already initialized emitter.
var emitter = require('tiny-emitter/instance');
emitter.on('some-event', function (arg1, arg2, arg3) {
//
});
emitter.emit('some-event', 'arg1 value', 'arg2 value', 'arg3 value');
Instance Methods
on(event, callback, context)
Subscribe to an event
event
- the name of the event to subscribe tocallback
- the function to call when event is emittedcontext
- (OPTIONAL) - the context to bind the event callback to
once(event, callback, context)
Subscribe to an event only once
event
- the name of the event to subscribe tocallback
- the function to call when event is emittedcontext
- (OPTIONAL) - the context to bind the event callback to
off(event, callback)
Unsubscribe from an event or all events. If no callback is provided, it unsubscribes you from all events.
event
- the name of the event to unsubscribe fromcallback
- the function used when binding to the event
emit(event, arguments...)
Trigger a named event
event
- the event name to emitarguments...
- any number of arguments to pass to the event subscribers
Test and Build
Build (Tests, Browserifies, and minifies)
npm install
npm run build
Test
npm install
npm test
License
3.0.0
10 months ago