evnemit
v1.0.1
Published
Event emitter
Downloads
2
Readme
Install
npm i evnemit --save
Use
const Emitter = require('evnemit');
Emittor.on('xxx', () => {});
Functions
off(event, [fn]) ⇒ number
Unsubscribe an event name and all its subscribed functions or unsubscribe an event name and the function provided only
Kind: global function
Returns: number - The current number of subscribers for the event name
Throws:
- Error If the event name is not a string data type or the function is not a function data type (if provided)
Access: public
| Param | Type | Description | | --- | --- | --- | | event | string | Event name | | [fn] | function | Optional function to unsubcribe from the associated event name; otherwise, if not defined, then all functions are unsubscribed. If undefined is passed, then this is considered to be a "defined" argument |
Example
Emitter.on('event-str', () => {
console.log('triggered event');
});
Emitter.trigger('event-str');
Emitter.off('event-str');
Emitter.trigger('event-str');
Example
let clickCount = 0;
function onClickMax10(event) {
console.log(event);
clickCount += 1;
if (clickCount === 10) {
Emitter.off('sign-in', onClickMax10);
}
}
Emitter.on('sign-in', onClickMax10);
// trigger the "sign-in" event for when the sign-in button is clicked
document.querySelector('#sign-in').addEventListener('click', (event) => {
Emitter.trigger('sign-in', event);
});
on(event, fn) ⇒ number
Subscribe a function to be called every time the event name is triggered
Kind: global function
Returns: number - The current number of subscribers for the event name
Throws:
- Error If the event name is not a string data type or the function is not a function data type
Access: public
| Param | Type | Description | | --- | --- | --- | | event | string | Event name | | fn | function | Function to call when the event name is triggered |
Example
// in app.js
Emitter.on('posts-request', (data) => {
// prints the response data object
console.log(data);
});
// in api.js
fetch('/posts')
.then((data) => {
// trigger the event name with the response data object
Emitter.trigger('posts-request', data);
});
once(event, fn) ⇒ number
Subscribe a function to be called only once for when the event name is triggered
Kind: global function
Returns: number - The current number of subscribers for the event name
Throws:
- Error If the event name is not a string data type or the function is not a function data type
Access: public
| Param | Type | Description | | --- | --- | --- | | event | string | Event name | | fn | function | Function to call when the event name is triggered |
Example
// the console will only print the event object once
Emitter.once('sign-in', (event) => {
console.log(event);
});
// trigger the "sign-in" event for when the sign-in button is clicked
document.querySelector('#sign-in').addEventListener('click', (event) => {
Emitter.trigger('sign-in', event);
});
trigger(event, ...args) ⇒ boolean
Trigger an event name with optional arguments
Kind: global function
Returns: boolean - True, the event name has subscribers; otherwise, false
Throws:
- Error If the event name is not a string data type
Access: public
| Param | Type | Description | | --- | --- | --- | | event | string | Event name | | ...args | * | Zero or more arguments to pass to the subscribed functions |
Example
Emitter.on('event-str', (arg1, arg2) => {
console.log(arg1, arg2);
});
Emitter.trigger('event-str', 1, 2);