fluent-ts-validator
Version:
A fluent validator written in TypeScript
26 lines • 1.1 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const _1 = require("./");
const RuleApplicationOutcome_1 = require("./RuleApplicationOutcome");
class CollectionValidationRule extends _1.ValidationRule {
apply(input) {
const outcome = new RuleApplicationOutcome_1.RuleApplicationOutcome();
const collection = this.lambdaExpressionResultWith(input);
if (this.isNoValidationRequired(input) || collection == null) {
return outcome;
}
for (let element of collection) {
this.processElementValidation(input, element, outcome);
}
return outcome;
}
processElementValidation(input, element, outcome) {
if (this.validators.some(validator => validator.isValid(element) === false)) {
const failure = this.createValidationFailure(input, element);
this.invokeCallbackWith(failure);
outcome.addValidationFailure(failure);
}
}
}
exports.CollectionValidationRule = CollectionValidationRule;
//# sourceMappingURL=CollectionValidationRule.js.map