UNPKG

corde

Version:

A simple library for Discord bot tests

45 lines (35 loc) 1.13 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true, }); exports.hookBuilder = void 0; const tslib_1 = require("tslib"); const chalk_1 = (0, tslib_1.__importDefault)(require("chalk")); const runtime_1 = require("../common/runtime"); const utils_1 = require("../utils"); function hookBuilder(params) { const { queueToAdd, fn, trace, errorTitle, timeout } = params; queueToAdd.enqueue(async () => { try { await (0, utils_1.executePromiseWithTimeout)(async (resolve, reject) => { try { await fn(); resolve(); } catch (error) { reject(error); } }, timeout ?? runtime_1.runtime.timeout); } catch (error) { let newError; const errorLabel = chalk_1.default.bgRed(`● ${errorTitle}`); if (error instanceof Error && error.message) { newError = new Error(`${errorLabel}: ${error.message}`); } else { newError = new Error(`${errorLabel}: ${(0, utils_1.formatObject)(error)}`); } newError.stack = trace; throw newError; } }); } exports.hookBuilder = hookBuilder;