fluent-ts-validator
Version:
A fluent validator written in TypeScript
29 lines (28 loc) • 1.94 kB
TypeScript
import { Severity, Validatable, ValidationFailure } from "../shared";
import { ValidationRule } from "../validation";
import { CommonValidatorBuilder, ValidationOptionsBuilder } from "./";
export declare class CommonValidatorBuilderImpl<T, TProperty> implements ValidationOptionsBuilder<T>, CommonValidatorBuilder<T, TProperty> {
protected validationRule: ValidationRule<T, TProperty | Iterable<TProperty>>;
constructor(validationRule: ValidationRule<T, TProperty | Iterable<TProperty>>);
withFailureCode(errorCode: string): ValidationOptionsBuilder<T>;
withFailureMessage(errorMessage: string): ValidationOptionsBuilder<T>;
withSeverity(severity: Severity): ValidationOptionsBuilder<T>;
withPropertyName(name: string): ValidationOptionsBuilder<T>;
whenDefined(): ValidationOptionsBuilder<T>;
whenNotNull(): ValidationOptionsBuilder<T>;
when(expression: (input: T) => boolean): ValidationOptionsBuilder<T>;
unless(expression: (input: T) => boolean): ValidationOptionsBuilder<T>;
onFailure(callback: (failure: ValidationFailure) => void): ValidationOptionsBuilder<T>;
fulfills(validator: Validatable<TProperty>): this & ValidationOptionsBuilder<T>;
fulfills(validationExpression: (input: TProperty) => boolean): this & ValidationOptionsBuilder<T>;
isDefined(): this & ValidationOptionsBuilder<T>;
isUndefined(): this & ValidationOptionsBuilder<T>;
isNull(): this & ValidationOptionsBuilder<T>;
isNotNull(): this & ValidationOptionsBuilder<T>;
isEmpty(): this & ValidationOptionsBuilder<T>;
isNotEmpty(): this & ValidationOptionsBuilder<T>;
isEqualTo(comparison: TProperty): this & ValidationOptionsBuilder<T>;
isNotEqualTo(comparison: TProperty): this & ValidationOptionsBuilder<T>;
isIn(iterable: Iterable<TProperty> | object): this & ValidationOptionsBuilder<T>;
isNotIn(iterable: Iterable<TProperty> | object): this & ValidationOptionsBuilder<T>;
}