@sjsf/ajv8-validator
Version:
The ajv-8 based validator for svelte-jsonschema-form
49 lines (48 loc) • 2.86 kB
TypeScript
import type { AsyncFieldValueValidator, AsyncFormValueValidator, Config, Schema, FieldValueValidator, FormValueValidator, Validator } from "@sjsf/form";
import { Ajv, type AsyncValidateFunction, type Options, type ValidateFunction } from "ajv";
import { type ErrorsTransformerOptions, type LocalizeOptions } from "./errors.js";
import { type ValidatorsCache } from "./schema-compilers.js";
export interface ValidatorOptions {
compileSchema: (schema: Schema, rootSchema: Schema) => ValidateFunction;
}
export declare function createValidator({ compileSchema, }: ValidatorOptions): Validator;
export interface FormValueValidatorOptions extends ValidatorOptions, ErrorsTransformerOptions, LocalizeOptions {
}
export declare function createFormValueValidator<T>(options: FormValueValidatorOptions): FormValueValidator<T>;
export interface FieldValueValidatorOptions extends LocalizeOptions {
compileFieldSchema: (config: Config) => ValidateFunction;
}
export declare function createFieldValueValidator({ compileFieldSchema, localize, }: FieldValueValidatorOptions): FieldValueValidator;
export interface AsyncFormValueValidatorOptions extends ErrorsTransformerOptions, LocalizeOptions {
compileAsyncSchema: (schema: Schema, rootSchema: Schema) => AsyncValidateFunction;
}
export declare function createAsyncFormValueValidator<T>(options: AsyncFormValueValidatorOptions): AsyncFormValueValidator<T>;
export interface AsyncFieldValueValidatorOptions extends LocalizeOptions {
compileAsyncFieldSchema: (config: Config) => AsyncValidateFunction;
}
export declare function createAsyncFieldValueValidator({ compileAsyncFieldSchema, localize, }: AsyncFieldValueValidatorOptions): AsyncFieldValueValidator;
export interface FormValidatorOptions extends ValidatorOptions, FormValueValidatorOptions, FieldValueValidatorOptions {
}
interface AjvConstructor {
new (options: Options): Ajv;
}
export declare function createFormValidator<T>({ ajvOptions, ajvPlugins, Ajv: AjvConstructor, ajv, validatorsCache, compileSchema, compileFieldSchema, ...rest }?: Partial<FormValidatorOptions> & {
/**
* @default `DEFAULT_AJV_CONFIG`
*/
ajvOptions?: Options;
/**
* @default `addFormComponents`
*/
ajvPlugins?: (ajv: Ajv) => Ajv;
Ajv?: AjvConstructor;
ajv?: Ajv;
validatorsCache?: ValidatorsCache;
}): Validator & FormValueValidator<T> & FieldValueValidator;
export interface AsyncFormValidatorOptions extends ValidatorOptions, AsyncFormValueValidatorOptions, AsyncFieldValueValidatorOptions {
}
export declare function createAsyncFormValidator<T>({ ajv, validatorsCache, compileSchema, compileAsyncSchema, compileAsyncFieldSchema, ...rest }: Partial<AsyncFormValidatorOptions> & {
ajv: Ajv;
validatorsCache?: ValidatorsCache;
}): Validator & AsyncFormValueValidator<T> & AsyncFieldValueValidator;
export {};