UNPKG

tsbase

Version:

Base class libraries for TypeScript

29 lines 1.35 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.StringLengthValidation = void 0; var Command_1 = require("../../Patterns/CommandQuery/Command"); var StringLengthValidation = /** @class */ (function () { function StringLengthValidation(member, minimum, maximum, customErrorMessage) { this.member = member; this.minimum = minimum; this.maximum = maximum; this.customErrorMessage = customErrorMessage; } StringLengthValidation.prototype.Validate = function (object) { var _this = this; return new Command_1.Command(function () { var value = object[_this.member]; var valueIsString = typeof value === 'string'; var valueWithinRange = valueIsString && value.length >= _this.minimum && value.length <= _this.maximum; if (!valueWithinRange) { var label = object.LabelFor(_this.member); throw new Error(_this.customErrorMessage || "\"".concat(label, "\" length must be within ").concat(_this.minimum, " and ").concat(_this.maximum, " characters.")); } }).Execute(); }; return StringLengthValidation; }()); exports.StringLengthValidation = StringLengthValidation; //# sourceMappingURL=StringLengthValidation.js.map