@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
23 lines (20 loc) • 560 B
JavaScript
;
const require_transformErrors = require('./utils/transformErrors.cjs');
//#region src/validator/createValidatorFactory.ts
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 require_transformErrors.transformErrors(thrown.errors);
throw thrown;
}
};
};
//#endregion
exports.createValidatorFactory = createValidatorFactory;