UNPKG

@beenotung/tslib

Version:
52 lines 1.34 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.runFinally = exports.genPromiseCallback = exports.promisify = void 0; const tslib_1 = require("tslib"); function promisify(f, args = []) { return tslib_1.__awaiter(this, void 0, void 0, function* () { return new Promise((resolve, reject) => { f(...args, (err, res) => { if (err) { reject(err); } else { resolve(res); } }); }); }); } exports.promisify = promisify; function genPromiseCallback() { let resolve; let reject; const p = new Promise((res, rej) => { resolve = res; reject = rej; }); const cb = (err, res) => { if (err) { reject(err); } else { resolve(res); } }; return Object.assign(cb, { promise: p }); } exports.genPromiseCallback = genPromiseCallback; function runFinally(p, cb) { return tslib_1.__awaiter(this, void 0, void 0, function* () { try { return yield p; } catch (e) { return Promise.reject(e); } finally { cb(); } }); } exports.runFinally = runFinally; //# sourceMappingURL=promise.js.map