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

24 lines (20 loc) 583 B
'use strict'; var transformErrors = require('./utils/transformErrors.cjs'); const createValidatorFactory = (ajv) => (jsonSchema) => { const validate = ajv.compile({ ...jsonSchema, $async: true, }); return async (data) => { try { await validate(data); return null; } catch (thrown) { if (Array.isArray(thrown?.errors)) return transformErrors.transformErrors(thrown.errors); throw thrown; } }; }; exports.createValidatorFactory = createValidatorFactory;