@sjsf/ajv8-validator
Version:
The ajv-8 based validator for svelte-jsonschema-form
25 lines (24 loc) • 1.7 kB
TypeScript
import type { Ajv, ValidateFunction } from "ajv";
import type { AsyncFieldValueValidator, AsyncFormValueValidator, FieldValueValidator, FormValueValidator, Validator } from "@sjsf/form";
import { type ErrorsTransformerOptions } from "../errors.js";
export type CompiledValidateFunction = {
(this: Ajv | any, data: any): boolean;
} & Pick<ValidateFunction, "errors">;
export type ValidateFunctions = {
[key: string]: CompiledValidateFunction;
};
export interface ValidatorOptions {
validateFunctions: ValidateFunctions;
augmentSuffix?: string;
}
export declare function createValidator(options: ValidatorOptions): Validator;
export interface FormValueValidatorOptions extends ValidatorOptions, ErrorsTransformerOptions {
}
export declare function createFormValueValidator<T>(options: FormValueValidatorOptions): FormValueValidator<T>;
export declare function createFieldValueValidator(options: ValidatorOptions): FieldValueValidator;
export declare function createAsyncFormValueValidator<T>(options: FormValidatorOptions): AsyncFormValueValidator<T>;
export declare function createAsyncFieldValueValidator(options: ValidatorOptions): AsyncFieldValueValidator;
export interface FormValidatorOptions extends ValidatorOptions, FormValueValidatorOptions {
}
export declare function createFormValidatorFactory(vOptions: ValidatorOptions): (options: Omit<FormValidatorOptions, keyof ValidatorOptions>) => Validator & FormValueValidator<unknown> & FieldValueValidator;
export declare function createAsyncFormValidatorFactory(vOptions: ValidatorOptions): (options: Omit<FormValidatorOptions, keyof ValidatorOptions>) => Validator & AsyncFormValueValidator<unknown> & AsyncFieldValueValidator;