UNPKG

@sjsf/ajv8-validator

Version:

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

25 lines (24 loc) 1.7 kB
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;