UNPKG

svelidate

Version:

Simple and lightweight form validation for Svelte with no dependencies

20 lines (19 loc) 975 B
import type { SvelidateInputType } from "../../html"; import type { UnknownSvelidateForm } from "../core/output"; export declare type JsValidator<T = unknown> = (value: T, form: UnknownSvelidateForm) => string | undefined; export declare type JsValidatorPredicate<T = unknown> = (value: T, form: UnknownSvelidateForm) => boolean; export declare type HtmlValidator = { required?: boolean; pattern?: string; minLength?: number; maxLength?: number; min?: number | string; max?: number | string; accept?: string; }; export declare type HtmlValidatorMapper<T extends SvelidateInputType = SvelidateInputType> = (inputType: T | undefined, form: UnknownSvelidateForm) => HtmlValidator; export declare type ValidatorWrapper<T = unknown, I extends SvelidateInputType = SvelidateInputType> = Readonly<{ js: JsValidator<T>; html: HtmlValidatorMapper<I>; }>; export declare type ValidatorGetterParam = (svelidateForm: UnknownSvelidateForm) => unknown;