Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 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 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 | 1x 1x 1x 727x 727x 727x 727x 621x 106x 106x 106x 106x 106x 106x 106x 106x 106x 106x 106x 1x 8x 8x 8x 1x | /*
This file is part of susyweb.js.
susyweb.js is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
susyweb.js is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MSRCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with susyweb.js. If not, see <http://www.gnu.org/licenses/>.
*/
/**
* @file index.js
* @author Fabian Vogelsteller <fabian@ethereum.org>
* @date 2016
*/
"use strict";
var EventEmitter = require('eventemitter3');
var Promise = require("any-promise");
/**
* This function generates a defer promise and adds eventEmitter functionality to it
*
* @method eventifiedPromise
*/
var PromiEvent = function PromiEvent(justPromise) {
var resolve, reject,
eventEmitter = new Promise(function() {
resolve = arguments[0];
reject = arguments[1];
});
if(justPromise) {
return {
resolve: resolve,
reject: reject,
eventEmitter: eventEmitter
};
}
// get eventEmitter
var emitter = new EventEmitter();
// add eventEmitter to the promise
eventEmitter._events = emitter._events;
eventEmitter.emit = emitter.emit;
eventEmitter.on = emitter.on;
eventEmitter.once = emitter.once;
eventEmitter.off = emitter.off;
eventEmitter.listeners = emitter.listeners;
eventEmitter.addListener = emitter.addListener;
eventEmitter.removeListener = emitter.removeListener;
eventEmitter.removeAllListeners = emitter.removeAllListeners;
return {
resolve: resolve,
reject: reject,
eventEmitter: eventEmitter
};
};
PromiEvent.resolve = function(value) {
var promise = PromiEvent(true);
promise.resolve(value);
return promise.eventEmitter;
};
module.exports = PromiEvent;
|