@okiba/event-emitter

1.1.17 • Public • Published

Okiba / EventEmitter

Emits events that can be listened and unlistened to. Allows for a catch-all event which is always triggered.

__

import EventEmitter from '@okiba/event-emitter'
const emitter = new EventEmitter
emitter.on('log', console.log)
emitter.emit('log', 'Silence is deprecated')
// Logs: 'Silence is deprecated'

emitter.off('log', console.log)
emitter.emit('log', 'Will not run')
// ...Nothing happens

Installation

npm i --save @okiba/event-emitter

Or import it directly in the browser

<script type="module" src="https://unpkg.com/@okiba/event-emitter/index.js"></script>

Usage

import EventEmitter from '@okiba/event-emitter'

Untranspiled code 🛑

Okiba Core packages are not transpiled, so don't forget to transpile them with your favourite bundler. For example, using Babel with Webpack, you should prevent imports from okiba to be excluded from transpilation, like follows:

{
  test: /\.js$/,
  exclude: /node_modules\/(?!(@okiba)\/).*/,
  use: {
    loader: 'babel-loader',
    options: {
      presets: ['@babel/preset-env']
    }
  }
}

on(name, handler)

Sets an event listener for an event type

Arguments

+ name: String

Event type

+ handler: function

Callback to be fired when that event occours

off(name, handler)

Unsets an event listener for an event type

Arguments

+ name: String

Event type

+ handler: function

Callback previously registered for that event type

emit(name, data)

Triggers an event with optional data attached. All listeners will be triggered in registration order. Custom data will be passed to them as a parameter

Arguments

+ name: String

Event type

+ data: Object | optional

Custom data to be passed to the handlers

hasListeners(type)

Checks if the given event has at least one registered callback

Arguments

+ type: String

The event type

destroy()

Removes all event listeners and deletes the handlers object

Dependents (4)

Package Sidebar

Install

npm i @okiba/event-emitter

Weekly Downloads

14

Version

1.1.17

License

MIT

Unpacked Size

7.91 kB

Total Files

5

Last publish

Collaborators

  • fiad
  • ghzmdr
  • lavolpecheprogramma