smart-table-events
Tiny event emitter/event listener for nodejs and browsers.
Installation
npm
`npm install --save smart-table-events
`yarn
`yarn add smart-table-events
`Usage
Event emitter
import {emitter} from 'smart-table-events';
const em = emitter();
//a listener function
const listener = (...args) => console.log(args);
//register to an event
em.on('MY_EVENT',listener);
//dispatch event
em.dispatch('MY_EVENT','foo','bar');
// > ['foo','bar']
//unsubscribe
em.off()// all listeners of all events;
em.off('MY_EVENT')// all listeners of event "MY_EVENT")
em.off('MY_EVENT', listener)// remove a particular listener
Proxy listener
Create convenient/meaningful methods to register events.import {emitter, proxyListener} from 'smart-table-events';
const em = emitter();
const proxyFactory = proxyListener({MY_EVENT:'myMethod'});
const instance = proxyFactory({emitter:em);
const listener = (...args) => console.log(args);
//register with convenient method
instance.myMethod(listener);
em.dispatch('MY_EVENT','foo','bar');
// > ['foo','bar']
//unsubscribe
instance.off('MY_EVENT') //unregister all listeners to MY_EVENT held by the proxy instance
instance.off() //unregister all listeners held by the proxy instance
Contribute
test
npm
`npm test
`yarn
`yarn test
`