1 | import Promise from '../promise';
|
2 |
|
3 | let define = {
|
4 |
|
5 | eventAliasesOn: function( proto ){
|
6 | let p = proto;
|
7 |
|
8 | p.addListener = p.listen = p.bind = p.on;
|
9 | p.unlisten = p.unbind = p.off = p.removeListener;
|
10 | p.trigger = p.emit;
|
11 |
|
12 |
|
13 | p.pon = p.promiseOn = function( events, selector ){
|
14 | let self = this;
|
15 | let args = Array.prototype.slice.call( arguments, 0 );
|
16 |
|
17 | return new Promise( function( resolve, reject ){
|
18 | let callback = function( e ){
|
19 | self.off.apply( self, offArgs );
|
20 |
|
21 | resolve( e );
|
22 | };
|
23 |
|
24 | let onArgs = args.concat( [ callback ] );
|
25 | let offArgs = onArgs.concat( [] );
|
26 |
|
27 | self.on.apply( self, onArgs );
|
28 | } );
|
29 | };
|
30 | },
|
31 |
|
32 | };
|
33 |
|
34 | export default define;
|