@amirmarmul/waba-common
Version:

13 lines (12 loc) • 474 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.promiseTimeout = void 0;
const TimeoutError_1 = require("../errors/TimeoutError");
const promiseTimeout = function (ms, promise) {
let timer;
return Promise.race([
promise,
new Promise((_, reject) => (timer = setTimeout(() => reject(new TimeoutError_1.TimeoutError(ms)), ms))),
]).finally(() => clearTimeout(timer));
};
exports.promiseTimeout = promiseTimeout;