@guildedts/framework
Version:
A framework for creating a Guilded bot.
33 lines • 1.22 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.BooleanArgument = void 0;
const guilded_ts_1 = require("guilded.ts");
const Argument_1 = require("./Argument");
/**
* Represents a boolean command argument.
* @example
* class MyArgument extends BooleanArgument {
* name = 'my-argument';
* }
*/
class BooleanArgument extends Argument_1.Argument {
/** The default value of the argument. */
default;
/**
* Validates the boolean argument.
* @param value The value of the argument.
* @returns The validated value, or error.
* @example booleanArgument.validate('true'); // true
*/
async validate(value) {
value = (await super.validate(value));
if (this.default && !value)
return this.default;
else if (['true', 'yes', 'y', 'on', 'enable', 'false', 'no', 'n', 'off', 'disable'].includes(value.toLocaleLowerCase()))
return ['true', 'yes', 'y', 'on', 'enable'].includes(value.toLocaleLowerCase());
else
throw new Error(`${(0, guilded_ts_1.inlineCode)(this.name)} must be a boolean`);
}
}
exports.BooleanArgument = BooleanArgument;
//# sourceMappingURL=BooleanArgument.js.map