UNPKG

@canard/schema-form-ajv8-plugin

Version:

AJV 8.x validator plugin for @canard/schema-form providing JSON Schema validation with latest Draft 2020-12 and Draft 2019-09 support

20 lines (17 loc) 551 B
import Ajv from 'ajv'; import { createValidatorFactory } from '../validator/createValidatorFactory.mjs'; const defaultSettings = { allErrors: true, strictSchema: false, validateFormats: false, }; let ajvInstance = null; const ajvValidatorPlugin = { bind: (instance) => (ajvInstance = instance), compile: (jsonSchema) => { if (!ajvInstance) ajvInstance = new Ajv(defaultSettings); return createValidatorFactory(ajvInstance)(jsonSchema); }, }; export { ajvValidatorPlugin, createValidatorFactory };