UNPKG

dressed

Version:

A sleek, serverless-ready Discord bot framework.

44 lines 1.57 kB
import { logDefer, logError, logWarn } from "../../utils/log.js"; export function createHandlerSetup(options) { return (items) => async (data, middleware, key = "default") => { var _a; const [item, props] = (_a = options.findItem(data, items)) !== null && _a !== void 0 ? _a : []; let itemMessages = options.itemMessages; if (typeof itemMessages === "function") { itemMessages = itemMessages(data); } if (!item || !Array.isArray(props)) { logWarn(itemMessages.noItem); return; } const pendingText = itemMessages.pending(item, props); logDefer(pendingText); try { let handler; if (key && item.exports) { handler = item.exports[key]; if (!handler) { throw new Error(`Unable to find '${String(key)}' in exports`); } } else { handler = item.run; } if (!handler) throw new Error("Unable to find a handler to execute"); const args = middleware ? await middleware(...props) : props; await handler(...args); } catch (e) { const text = pendingText.replace("Running", "Failed to run"); if (e instanceof Error) { logError(`${text} - ${e.message}`); } else { logError(text); console.error(e); } } }; } //# sourceMappingURL=index.js.map