e2ed
Version:
E2E testing framework over Playwright
19 lines (18 loc) • 886 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.addTimeoutToPromise = void 0;
const getPromiseWithResolveAndReject_1 = require("./getPromiseWithResolveAndReject");
/**
* Adds a timeout to the promise, that is, return a promise that will either resolve
* as the original one or be rejected by a timeout with the specified error.
*/
const addTimeoutToPromise = (promise, timeout, timeoutError = undefined) => {
const { clearRejectTimeout, promiseWithTimeout, reject, setRejectTimeoutFunction } = (0, getPromiseWithResolveAndReject_1.getPromiseWithResolveAndReject)(timeout);
if (timeoutError !== undefined) {
setRejectTimeoutFunction(() => {
reject(timeoutError);
});
}
return Promise.race([promise, promiseWithTimeout]).finally(clearRejectTimeout);
};
exports.addTimeoutToPromise = addTimeoutToPromise;