From 7d3b0672be9af6828f698dfa632a79d906d33245 Mon Sep 17 00:00:00 2001 From: Dragon Fire Date: Sat, 5 Jun 2021 18:13:07 -0400 Subject: [PATCH] Fix --- framework/Argument.js | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/framework/Argument.js b/framework/Argument.js index f3eb0170..c235bdf6 100644 --- a/framework/Argument.js +++ b/framework/Argument.js @@ -11,10 +11,28 @@ module.exports = class Argument { this.oneOf = options.oneOf; this.default = options.default; this.avatarSize = options.avatarSize || 2048; + this.validator = options.validate; + this.parser = options.parse; + this.emptyChecker = options.isEmpty; } get type() { if (this.typeID.includes('|')) return new UnionType(this.client, this.typeID); return this.client.registry.types.get(this.typeID); } + + validate(val, msg, arg) { + if (this.validator) return this.validator(val, msg, arg); + return this.type.validate(val, msg, arg); + } + + parse(val, msg, arg) { + if (this.parser) return this.parser(val, msg, arg); + return this.type.parse(val, msg, arg); + } + + isEmpty(val, msg, arg) { + if (this.emptyChecker) return this.emptyChecker(val, msg, arg); + return this.type.isEmpty(val, msg, arg); + } };