Features
- Modern
- For Node.js and browsers
- Support wildcard listener:
on('*', (type, ...payload) => {}) - Support all major browsers including IE8
- 300 bytes minified and gzipped
Install
yarn add eventstop
You can also use the UMD version via https://unpkg.com/eventstop
Usage
const eventstop = require('eventstop') const {on, emit} = eventstop() // subscribe an event const off = on('ready', msg => { console.log('message:', msg) }) emit('ready', 'hola') //=> hola // unsubscribe off()
API
const event = eventstop() // or const {on, off, emit, once} = eventstop()
.on(event, handler)
Return a function which would execute off(event, handler) when you call it.
You can use * as event type to listen all types:
on('*', (type, foo, bar) => { console.log(type, foo, 'and', bar) //=> hello you and me }) emit('hello', 'you', 'me')
In wildcard listener, the first argument of handler function is its type.
.once(event, handler)
Like .on but only trigger handler once.
event
Type: string
handler
Type: function
.emit(event, ...args)
event
Type: string
.off(event, handler)
Same args to .on
Contributing
- Fork it!
- Create your feature branch:
git checkout -b my-new-feature - Commit your changes:
git commit -am 'Add some feature' - Push to the branch:
git push origin my-new-feature - Submit a pull request :D
Author
eventstop © egoist, Released under the MIT License.
Authored and maintained by egoist with help from contributors (list).
egoistian.com · GitHub @egoist · Twitter @_egoistlily