UNPKG

fluent-ts-validator

Version:
114 lines 3.56 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const validation_1 = require("../validation"); const common_1 = require("../validators/common"); class CommonValidatorBuilderImpl { constructor(validationRule) { this.validationRule = validationRule; } /* * ================== * Validation options * ================== */ withFailureCode(errorCode) { this.validationRule.setErrorCode(errorCode); return this; } withFailureMessage(errorMessage) { this.validationRule.setErrorMessage(errorMessage); return this; } withSeverity(severity) { this.validationRule.setSeverity(severity); return this; } withPropertyName(name) { this.validationRule.setPropertyName(name); return this; } whenDefined() { this.validationRule.addCondition(new validation_1.WhenDefinedCondition(this.validationRule.lambdaExpression)); return this; } whenNotNull() { this.validationRule.addCondition(new validation_1.WhenNotNullCondition(this.validationRule.lambdaExpression)); return this; } when(expression) { this.validationRule.addCondition(new validation_1.WhenCondition(expression)); return this; } unless(expression) { this.validationRule.addCondition(new validation_1.UnlessCondition(expression)); return this; } onFailure(callback) { this.validationRule.onFailure(callback); return this; } fulfills(validatable) { if (typeof validatable === "object") { this.validationRule.addValidator({ isValid: function (input) { return validatable.validate(input).isValid(); } }); } else { this.validationRule.addValidator({ isValid: function (input) { return validatable(input); } }); } return this; } /* * ======================= * Common validation rules * ======================= */ isDefined() { this.validationRule.addValidator(new common_1.IsDefinedValidator()); return this; } isUndefined() { this.validationRule.addValidator(new common_1.IsUndefinedValidator()); return this; } isNull() { this.validationRule.addValidator(new common_1.IsNullValidator()); return this; } isNotNull() { this.validationRule.addValidator(new common_1.IsNotNullValidator()); return this; } isEmpty() { this.validationRule.addValidator(new common_1.IsEmptyValidator()); return this; } isNotEmpty() { this.validationRule.addValidator(new common_1.IsNotEmptyValidator()); return this; } isEqualTo(comparison) { this.validationRule.addValidator(new common_1.IsEqualValidator(comparison)); return this; } isNotEqualTo(comparison) { this.validationRule.addValidator(new common_1.IsNotEqualValidator(comparison)); return this; } isIn(iterable) { this.validationRule.addValidator(new common_1.IsInValidator(iterable)); return this; } isNotIn(iterable) { this.validationRule.addValidator(new common_1.IsNotInValidator(iterable)); return this; } } exports.CommonValidatorBuilderImpl = CommonValidatorBuilderImpl; //# sourceMappingURL=CommonValidatorBuilderImpl.js.map