UNPKG

@naturalcycles/js-lib

Version:

Standard library for universal (browser + Node.js) javascript

21 lines (20 loc) 675 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.pDefer = pDefer; /* eslint-disable @typescript-eslint/promise-function-async */ /** * Returns DeferredPromise - a Promise that has .resolve() and .reject() methods. */ function pDefer() { let resolve; let reject; const promise = new Promise((_resolve, _reject) => { resolve = _resolve; reject = _reject; }); promise.resolve = resolve; promise.reject = reject; promise.rejectAborted = reason => reject(new Error(['Aborted', reason].filter(Boolean).join(': '))); promise.abort = reason => promise.rejectAborted(reason); return promise; }