@dvcol/common-utils
Version:
Typescript library for common utility functions and constants
24 lines (19 loc) • 654 B
JavaScript
;Object.defineProperty(exports, "__esModule", {value: true});// lib/common/utils/promise.utils.ts
var wait = (ms) => new Promise((resolve) => {
setTimeout(resolve, ms);
});
function raceUntil(promises, cb = (r) => r !== void 0) {
const { promise: outer, resolve, reject } = Promise.withResolvers();
const _promises = promises.map(
(p) => p.then((result) => {
if (cb(result)) resolve(result);
return result;
})
);
const inner = Promise.all(_promises).catch(reject).then((result) => {
resolve(null);
return result;
});
return { inner, outer };
}
exports.wait = wait; exports.raceUntil = raceUntil;