cytoscape
Version:
Graph theory (a.k.a. network) library for analysis and visualisation
35 lines (24 loc) • 786 B
JavaScript
import Promise from '../promise';
let define = {
eventAliasesOn: function( proto ){
let p = proto;
p.addListener = p.listen = p.bind = p.on;
p.unlisten = p.unbind = p.off = p.removeListener;
p.trigger = p.emit;
// this is just a wrapper alias of .on()
p.pon = p.promiseOn = function( events, selector ){
let self = this;
let args = Array.prototype.slice.call( arguments, 0 );
return new Promise( function( resolve, reject ){
let callback = function( e ){
self.off.apply( self, offArgs );
resolve( e );
};
let onArgs = args.concat( [ callback ] );
let offArgs = onArgs.concat( [] );
self.on.apply( self, onArgs );
} );
};
},
}; // define
export default define;