@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 (18 loc) • 558 B
JavaScript
import { createValidatorFactory } from "../validator/createValidatorFactory.mjs";
import Ajv from "ajv";
//#region src/default/validatorPlugin.ts
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);
}
};
//#endregion
export { ajvValidatorPlugin, createValidatorFactory };