@jadl/cmd
Version:
A command handler for JADL
20 lines (19 loc) • 797 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Run = void 0;
const Symbols_1 = require("../Symbols");
const Decorators_1 = require("../utils/Decorators");
exports.Run = Decorators_1.Decorators.createCommandDecorator(([dontImply], cmd, base, descriptor) => {
cmd.name = Symbols_1.Symbols.baseCommand;
if (cmd.interactionOptions && !dontImply) {
base[Symbols_1.Symbols.interaction].options = cmd.interactionOptions;
}
const method = descriptor.value;
descriptor.value = async function (int, handler) {
const args = [int, handler];
for (let i = 0; i < cmd.params.length; i++) {
args[i] = await cmd.params[i](int, handler);
}
return method.bind(this)(...args);
};
});