UNPKG

@lakutata/core

Version:

Lakutata Framework Core

27 lines 1.1 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.timeout = void 0; const p_timeout_1 = __importDefault(require("p-timeout")); const TimeoutException_1 = require("../exceptions/TimeoutException"); async function timeout(p, milliseconds, messageOrFallback) { return (0, p_timeout_1.default)(p, milliseconds, async () => { if (messageOrFallback) { switch (typeof messageOrFallback) { case 'function': return (await messageOrFallback()); case 'string': throw new TimeoutException_1.TimeoutException(messageOrFallback); case 'object': throw messageOrFallback; } } else { throw new TimeoutException_1.TimeoutException(`Promise timed out after ${milliseconds} milliseconds`); } }); } exports.timeout = timeout; //# sourceMappingURL=Timeout.js.map