UNPKG

@buttercup/channel-queue

Version:

A queue management library with channels

25 lines (24 loc) 721 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.timeLimit = void 0; const layerr_1 = require("layerr"); const types_1 = require("./types"); function timeLimit(promise, time) { let timeout; return Promise.race([ promise, new Promise((_, reject) => { timeout = setTimeout(() => { reject(new layerr_1.Layerr({ info: { code: types_1.ErrorCode.TaskTimeout } }, `Timed-out waiting for task: ${time} ms`)); }, time); }) ]).then(result => { clearTimeout(timeout); return result; }); } exports.timeLimit = timeLimit;