nano-event-emitter

1.0.1 • Public • Published

nano-event-emitter

Minimal extendable jQuery-style EventEmitter

npm Travis branch

Installation and Usage

Module bundlers

Install with npm and bundle with rollup, browserify, webpack or any other CommonJS compatible module bundler.

Install

npm install --save nano-event-emitter

Use

// usage.js
import NanoEventEmitter from 'nano-event-emitter';
const eventEmitter = NanoEventEmitter.create();

Bundle

browserify usage.js > bundle.js
rollup usage.js > bundle.js

CDN

Embed into your HTML document directly via script.

<!doctype html>
<html>
  <head>
  </head>
  <body>
    <script src="https://wzrd.in/standalone/nano-event-emitter@latest"></script> 
  </bod>
</html>

Available from CDN:

API

NanoEventEmitter

src/index.js:17-147

An EventEmitter

Examples

import NanoEventEmitter from 'nano-event-emitter';
const eventEmitter = new NanoEventEmitter();

on

src/index.js:62-73

Attach an observer for one or more eventNames.

Parameters

  • eventNames !(string | Array<string>) array or string of space seperated event names
  • observer ObserverCallback observer to invoke for eventNames

Examples

import NanoEventEmitter from 'nano-event-emitter';
const eventEmitter = NanoEventEmitter.create();
 
eventEmitter.on('event', () => { console.log('event'); });
eventEmitter.on('more-event', () => { console.log('more-event'); });
eventEmitter.on(['even', 'more', 'events'], () => { console.log('even more events'); });
 
eventEmitter.emit(['event', 'more-event']);
// console: event
// console: more-event
 
eventEmitter.emit('even more events');
// console: even more events
// console: even more events
// console: even more events

Returns this

off

src/index.js:105-126

Detach an observer for one or more eventNames.

Parameters

  • eventNames !(string | Array<string>) array or string of space seperated event names
  • observer [?ObserverCallback] reference to observer function to detach. All observer functions for all eventNames are detached if omitted

Examples

import NanoEventEmitter from 'nano-event-emitter';
const eventEmitter = NanoEventEmitter.create();
 
const yetAnotherObserver = () => console.log('yet-another-observer');
 
eventEmitter.on('yet-another-event', () => { console.log('yet-another-event'); });
eventEmitter.on('yet-another-event', () => { console.log('yet-another-event'); });
eventEmitter.on('yet-another-event', yetAnotherObserver);
 
eventEmitter.emit(['yet-another-event']);
// console: yet-another-event
// console: yet-another-event
// console: yet-another-observer
 
eventEmitter.off('yet-another-event', yetAnotherObserver);
eventEmitter.emit('yet-another-event');
// console: yet-another-event
// console: yet-another-event
 
eventEmitter.off('yet-another-event');
eventEmitter.emit('yet-another-event');

Returns this

emit

src/index.js:135-146

Emit one or more events, invoking registered observers with optional args

Parameters

  • eventNames !(string | Array<string>) array or string of space seperated event names
  • args ...

Returns this

create

src/index.js:34-36

Create a NanoEventEmitter instance.

Parameters

  • args ...

Examples

import NanoEventEmitter from 'nano-event-emitter';
const eventEmitter = NanoEventEmitter.create();

Returns **** NanoEventEmitter

Package Sidebar

Install

npm i nano-event-emitter

Weekly Downloads

1

Version

1.0.1

License

MIT

Last publish

Collaborators

  • marionebl