emit-listenner is a slim EventEmitter implementation based on ESM.
NOTE: Please ensure your nodejs version is great than 12.17!
npm install --save emit-listenner
// foo.js
import emitListenner from 'emit-listenner'
const event = new emitListenner.EventEmitter()
event.addListenner("eventname", callback); // register a listenner
event.emit("eventname", {
a: 'some args'
}); // emit event
emit-listenner
is a module based on ES-module, if you want use it in Nodejs with CommonJS pattern, you can use dynamic import
expression that is a nodejs new feature that used to import ES module in Commonjs module. But if you do this, make sure your nodejs version is great than v12.13!
// foo.cjs
(async ()=>{
const { EventEmitter } = await import('emit-listenner')
const ev = new EventEmitter()
ev.addListenners([
{
name: "change",
handler: args=>console.log(args),
once: true
}
])
})
Register a listenner for certain specified event, when event trigged them will be called orderly.
Register multiple events at once. the events
is an array of structure like below:
{
name: string; // event name
handler: args=>any; // it will be called when event is triggered
once?: boolean; // same as `EventEmitter#once`, default false
}
Alias of EventEmitter#removeListenner
Alias of EventEmitter#addListenner
Register a listenner for certain specified event, but just only effects one time.
Note: Register a same event continuously for the same time, and the latter will overwrite the former
Remove specified listenner for the specified event, but will remove all listenners of name
event when handler is not set.
Remove all registered events and its listenners.
Get count of listenners of specified event.
Emit a event with optional arguments.
alias of EventEmitter#emit
.
MIT.