UNPKG

send-crypto

Version:

A minimal JavaScript library / wallet for sending crypto assets

64 lines (61 loc) 3.65 kB
"use strict"; // Modified from web3-core-method Object.defineProperty(exports, "__esModule", { value: true }); exports.newPromiEvent = void 0; /* This file is part of web3.js. web3.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. web3.js is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 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 web3.js. If not, see <http://www.gnu.org/licenses/>. */ /** * @file PromiEvent.js * @author Fabian Vogelsteller <fabian@ethereum.org>, Samuel Furter <samuel@ethereum.org> * @date 2018 */ // tslint:disable: no-any const events_1 = require("events"); class InternalPromiEvent { /** * @constructor */ constructor() { // tslint:disable-next-line: promise-must-complete this.promise = new Promise((resolve, reject) => { this.resolve = resolve; this.reject = reject; }); this.eventEmitter = new events_1.EventEmitter(); return new Proxy(this, { get: this.proxyHandler, }); } /** * Proxy handler to call the promise or eventEmitter methods */ proxyHandler(target, name) { if (name === "resolve" || name === "reject") { return target[name]; } if (name === "then") { return target.promise.then.bind(target.promise); } if (name === "catch") { return target.promise.catch.bind(target.promise); } if (target.eventEmitter[name]) { return target.eventEmitter[name]; } } } Symbol.toStringTag; const newPromiEvent = () => new InternalPromiEvent(); exports.newPromiEvent = newPromiEvent; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvbWlFdmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvcHJvbWlFdmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsaUNBQWlDOzs7QUFFakM7Ozs7Ozs7Ozs7Ozs7OztFQWVFO0FBQ0Y7Ozs7R0FJRztBQUVILHlCQUF5QjtBQUV6QixtQ0FBc0M7QUFFdEMsTUFBTSxrQkFBa0I7SUFrQ3BCOztPQUVHO0lBQ0g7UUFDSSxrREFBa0Q7UUFDbEQsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLE9BQU8sQ0FBSSxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUM5QyxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQXlDLENBQUM7WUFDekQsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDekIsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUkscUJBQVksRUFBRSxDQUFDO1FBRXZDLE9BQU8sSUFBSSxLQUFLLENBQUMsSUFBSSxFQUFFO1lBQ25CLEdBQUcsRUFBRSxJQUFJLENBQUMsWUFBWTtTQUN6QixDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxZQUFZLENBQUMsTUFBcUIsRUFBRSxJQUFZO1FBQ25ELElBQUksSUFBSSxLQUFLLFNBQVMsSUFBSSxJQUFJLEtBQUssUUFBUSxFQUFFO1lBQ3pDLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3ZCO1FBRUQsSUFBSSxJQUFJLEtBQUssTUFBTSxFQUFFO1lBQ2pCLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUNuRDtRQUVELElBQUksSUFBSSxLQUFLLE9BQU8sRUFBRTtZQUNsQixPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDcEQ7UUFFRCxJQUFLLE1BQWMsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDcEMsT0FBUSxNQUFjLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzdDO0lBQ0wsQ0FBQztDQUNKO0FBdEVvQixNQUFNLENBQUMsV0FBVztBQTBFaEMsTUFBTSxhQUFhLEdBQUcsR0FBTSxFQUFFLENBQ2pDLElBQUksa0JBQWtCLEVBQXNCLENBQUM7QUFEcEMsUUFBQSxhQUFhLGlCQUN1QiJ9