Skip to content

Latest commit

 

History

History
34 lines (28 loc) · 799 Bytes

File metadata and controls

34 lines (28 loc) · 799 Bytes

Validator Customization | Async

Types

export interface CustomAsyncValidatorFn<
  ControlT extends AbstractControl = AbstractControl,
> {
  (control: ControlT): ReturnType<AsyncValidatorFn>;
}

export const noopAsyncValidator: {
  (control: AbstractControl): Promise<null>;
};

export const stubAsyncValidator: {
  <ErrorsT extends ValidationErrors>(errors: ErrorsT): {
    (control: AbstractControl): Promise<ErrorsT>;
  };
};

export const withAsyncValidators: {
  <ControlT extends AbstractControl>(
    control: ControlT,
    ...validators: CustomAsyncValidatorFn<ControlT>[]
  ): ControlT;
};

export const composeAsyncValidators: {
  <ControlT extends AbstractControl>(
    validators: ReadonlyArray<CustomAsyncValidatorFn<ControlT>>,
  ): CustomAsyncValidatorFn<ControlT>;
};