A minimal event library for Node.js and browser.
JavaScript
Latest commit fda1ec9 Jan 18, 2017 @egoist -> v2.1.0
Permalink
Failed to load latest commit information.
src inject type in handler arg Jan 18, 2017
.babelrc init Jan 4, 2017
.editorconfig init Jan 4, 2017
.gitattributes init Jan 4, 2017
.gitignore init Jan 4, 2017
LICENSE init Jan 4, 2017
README.md update doc Jan 18, 2017
circle.yml init Jan 4, 2017
package.json -> v2.1.0 Jan 18, 2017
test.js inject type in handler arg Jan 18, 2017
yarn.lock init Jan 4, 2017

README.md

eventstop

NPM version NPM downloads Build Status donate

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

  1. Fork it!
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. 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 @rem_rin_rin