github.com/jfrog/frogbot@v1.1.1-0.20231221090046-821a26f50338/action/node_modules/@kwsites/promise-deferred/dist/index.js (about) 1 "use strict"; 2 Object.defineProperty(exports, "__esModule", { value: true }); 3 exports.createDeferred = exports.deferred = void 0; 4 /** 5 * Creates a new `DeferredPromise` 6 * 7 * ```typescript 8 import {deferred} from '@kwsites/promise-deferred`; 9 ``` 10 */ 11 function deferred() { 12 let done; 13 let fail; 14 let status = 'pending'; 15 const promise = new Promise((_done, _fail) => { 16 done = _done; 17 fail = _fail; 18 }); 19 return { 20 promise, 21 done(result) { 22 if (status === 'pending') { 23 status = 'resolved'; 24 done(result); 25 } 26 }, 27 fail(error) { 28 if (status === 'pending') { 29 status = 'rejected'; 30 fail(error); 31 } 32 }, 33 get fulfilled() { 34 return status !== 'pending'; 35 }, 36 get status() { 37 return status; 38 }, 39 }; 40 } 41 exports.deferred = deferred; 42 /** 43 * Alias of the exported `deferred` function, to help consumers wanting to use `deferred` as the 44 * local variable name rather than the factory import name, without needing to rename on import. 45 * 46 * ```typescript 47 import {createDeferred} from '@kwsites/promise-deferred`; 48 ``` 49 */ 50 exports.createDeferred = deferred; 51 /** 52 * Default export allows use as: 53 * 54 * ```typescript 55 import deferred from '@kwsites/promise-deferred`; 56 ``` 57 */ 58 exports.default = deferred; 59 //# sourceMappingURL=index.js.map