File size: 786 Bytes
bc20498 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
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;
|