87
// add argument validation if rich command metadata is provided
88
if (idOrCommand.metadata && Array.isArray(idOrCommand.metadata.args)) {
89
>
const constraints: Array<TypeConstraint | undefined> = [];
commands.ts
90
>
for (const arg of idOrCommand.metadata.args) {
91
>
constraints.push(arg.constraint);
92
>
}
93
>
const actualHandler = idOrCommand.handler;
94
>
idOrCommand.handler = function (accessor, ...args: unknown[]) {
95
>
validateConstraints(args, constraints);
96
>
return actualHandler(accessor, ...args);
97
>
};
98
>
}
99
100
// find a place to store the command