tsbase
Version:
Base class libraries for TypeScript
25 lines • 1.08 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.OptionValidation = void 0;
var Command_1 = require("../../Patterns/CommandQuery/Command");
var OptionValidation = /** @class */ (function () {
function OptionValidation(member, customErrorMessage) {
this.member = member;
this.customErrorMessage = customErrorMessage;
}
OptionValidation.prototype.Validate = function (object) {
var _this = this;
return new Command_1.Command(function () {
var value = object[_this.member];
var options = object.OptionsFor(_this.member);
var valueIsValidOption = !!options[value];
if (!valueIsValidOption) {
var label = object.LabelFor(_this.member);
throw new Error(_this.customErrorMessage || "\"".concat(value, "\" is not a valid option for: \"").concat(label, "\"."));
}
}).Execute();
};
return OptionValidation;
}());
exports.OptionValidation = OptionValidation;
//# sourceMappingURL=OptionValidation.js.map