tsbase
Version:
Base class libraries for TypeScript
23 lines • 918 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.OptionValidation = void 0;
const Command_1 = require("../../Patterns/CommandQuery/Command");
class OptionValidation {
constructor(member, customErrorMessage) {
this.member = member;
this.customErrorMessage = customErrorMessage;
}
Validate(object) {
return new Command_1.Command(() => {
const value = object[this.member];
const options = object.OptionsFor(this.member);
const valueIsValidOption = !!options[value];
if (!valueIsValidOption) {
const label = object.LabelFor(this.member);
throw new Error(this.customErrorMessage || `"${value}" is not a valid option for: \"${label}\".`);
}
}).Execute();
}
}
exports.OptionValidation = OptionValidation;
//# sourceMappingURL=OptionValidation.js.map