UNPKG

@mmstack/form-validation

Version:

This is an internal library for providing localized validators :)

28 lines (27 loc) 1.12 kB
import { Validator } from '../validator.type'; import { createMaxLengthValidator } from './max-length'; import { createMinLengthValidator } from './min-length'; export type ArrayMessageFactories = { minLength: Parameters<typeof createMinLengthValidator>[0]; maxLength: Parameters<typeof createMaxLengthValidator>[0]; }; export type ArrayValidatorOptions = { minLength?: number; maxLength?: number; elementsLabel?: string; }; export declare function createArrayValidators(factories?: Partial<ArrayMessageFactories>, merger?: <T>(validators: Validator<T>[]) => ((value: T) => string) & { resolve: (mergedError: string) => { error: string; tooltip: string; }; }): { all: <T extends any[]>(opt: ArrayValidatorOptions) => ((value: T) => string) & { resolve: (mergedError: string) => { error: string; tooltip: string; }; }; minLength: <T extends string | any[] | null>(min: number, elementsLabel?: string) => Validator<T>; maxLength: <T extends string | any[] | null>(max: number, elementsLabel?: string) => Validator<T>; };