glot

0.1.9 • Public • Published

Glot

Install

npm install glot

 
let events = new Glot();
 
Listeners
 
//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
 
//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

 
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;
});
 

Package Sidebar

Install

npm i glot

Weekly Downloads

1

Version

0.1.9

License

ISC

Last publish

Collaborators

  • joe-singer