UNPKG

@sjsf/ajv8-validator

Version:

The ajv-8 based validator for svelte-jsonschema-form

41 lines (40 loc) 2.69 kB
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>>;