Awesome
super-event-emitter
🔨 Lightweight and simple interpretation of popular event management / aggregation
Motivation
I was created a blog post (in polish) about this tool:<br/> https://piecioshka.pl/blog/2016/01/29/narzedzia-swiata-super-event-emitter-js.html
Installation
npm install super-event-emitter
Usage — CommonJS
const EventEmitter = require('super-event-emitter');
// or
const { EventEmitter } = require('super-event-emitter');
Usage — ECMAScript Modules (ex. in TypeScript world)
import { EventEmitter } from "super-event-emitter";
// or
// import EventEmitter from "super-event-emitter";
class Cart extends EventEmitter {
addProduct(product: Product) {
this.emit('cart:addProduct', { product });
}
}
Demo #1 — Typical object literal
<details>const bar = {};
EventEmitter.mixin(bar);
bar.on('test', function () {
console.log('triggered!');
}, this);
bar.emit('test');
</details>
Demo #2 — Class API from ECMAScript 2015
<details>class Person extends EventEmitter {
say(message) {
this.emit('say', message);
}
}
const p1 = new Person();
p1.on('say', function (message) {
console.log(message); // 'I love cookie'
});
p1.say('I love cookie');
</details>
Documentation
Unit tests
npm test
Code coverage
npm run coverage
License
The MIT License @ 2016