fluent-ts-validator
Version:
A fluent validator written in TypeScript
48 lines • 2.16 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const collection_based_1 = require("../validators/collection-based");
const CommonValidatorBuilderImpl_1 = require("./CommonValidatorBuilderImpl");
const WhenNotEmptyCondition_1 = require("../validation/WhenNotEmptyCondition");
class SizedIterableValidatorBuilderImpl extends CommonValidatorBuilderImpl_1.CommonValidatorBuilderImpl {
constructor(validationRule) {
super(validationRule);
}
whenNotEmpty() {
this.validationRule.addCondition(new WhenNotEmptyCondition_1.WhenNotEmptyCondition(this.validationRule.lambdaExpression));
return this;
}
contains(element) {
this.validationRule.addValidator(new collection_based_1.ContainsElementValidator(element));
return this;
}
doesNotContain(element) {
this.validationRule.addValidator(new collection_based_1.DoesNotContainElementValidator(element));
return this;
}
isEmpty() {
this.validationRule.addValidator(new collection_based_1.IsEmptyValidator());
return this;
}
isNotEmpty() {
this.validationRule.addValidator(new collection_based_1.IsNotEmptyValidator());
return this;
}
hasNumberOfElements(elementCount) {
this.validationRule.addValidator(new collection_based_1.HasNumberOfElementsValidator(elementCount));
return this;
}
hasMinNumberOfElements(minElementCount) {
this.validationRule.addValidator(new collection_based_1.HasMinNumberOfElementsValidator(minElementCount));
return this;
}
hasMaxNumberOfElements(maxElementCount) {
this.validationRule.addValidator(new collection_based_1.HasMaxNumberOfElementsValidator(maxElementCount));
return this;
}
hasNumberOfElementsBetween(minElementCount, maxElementCount) {
this.validationRule.addValidator(new collection_based_1.HasMinMaxNumberOfElementsValidator(minElementCount, maxElementCount));
return this;
}
}
exports.SizedIterableValidatorBuilderImpl = SizedIterableValidatorBuilderImpl;
//# sourceMappingURL=SizedIterableValidatorBuilderImpl.js.map