UNPKG

corde

Version:

A simple library for Discord bot tests

37 lines (29 loc) 837 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true, }); exports.executePromiseWithTimeout = void 0; const errors_1 = require("../errors"); const utils_1 = require("./utils"); function executePromiseWithTimeout(fn, timeout, rejectedData) { if (!fn) { throw new Error("can not execute an null function"); } if (utils_1.utils.isInDebugMode()) { return new Promise((resolve, reject) => { fn((value) => { resolve(value); }, reject); }); } return new Promise((resolve, reject) => { const nodeTimeout = setTimeout(() => { reject(new errors_1.TimeoutError("timeout", rejectedData)); }, timeout); fn((value) => { clearTimeout(nodeTimeout); resolve(value); }, reject); }); } exports.executePromiseWithTimeout = executePromiseWithTimeout;