UNPKG

dressed

Version:

A sleek, serverless-ready Discord bot framework.

48 lines 1.65 kB
import ora from "ora"; import { stdout } from "node:process"; 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)) { ora(itemMessages.noItem).warn(); return; } const loader = ora({ stream: stdout, text: itemMessages.pending(item, props), }).start(); 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); loader.succeed(); } catch (e) { const text = loader.text.replace("Running", "Failed to run"); if (e instanceof Error) { loader.fail(`${text} - ${e.message}`); } else { loader.fail(text); console.error(e); } } }; } //# sourceMappingURL=index.js.map