UNPKG

glot

Version:

EventEmitter with Promises and Generators

80 lines (53 loc) 1.27 kB
# Glot ##### Install `npm install glot` ```javascript let events = new Glot(); ``` ##### Listeners ```javascript //Basic listener events.on('foo', (data) => {}); //Promise listener events.on('foo', (data) => { return new Promise((resolve, reject) => { setTimeout(()=> resolve(data), 2000); }); }); //Generator listener events.on('foo', function* (data){ yield wait(2000); return { respose: 'foo' }; }); ``` ##### Emitters ```javascript //Use emit() to emit on basic listeners events.emit('foo', { bar: 'bam' }); //Use pmit() to emit on promises listeners events.pmit('foo', { bar: 'quxx' }) .then((data) => console.log(data)) .catch((err) => console.log(err)); //Use gmit() to emit on generator listeners function* foo() { yield events.gmit('foo', { bar: 'baz' }); } var f = foo(); foo.next(); ``` ##### Wildcard Note: First argument will return name of event emitted ```javascript events.on('*', (evt, data) => {}); //Wildcard promise listener events.on('*', (evt, data) => { return new Promise((resolve, reject) => { resolve(data); }); }); //Wildcard generator listener events.on('*', function* (evt, data){ yield wait(2000); return data; }); ```