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