UNPKG

tsbase

Version:

Base class libraries for TypeScript

23 lines 918 B
"use strict"; 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