Files
lynchmark.com/tests/8_json_validator/outputs/anthropic_claude-opus-4.5 TEMP_0.7.js
T

18 lines
550 B
JavaScript

async function validateJSON(jsonObject, jsonSchema) {
const { default: Ajv } = await import("https://esm.sh/ajv@8");
const { default: addFormats } = await import("https://esm.sh/ajv-formats@3");
const ajv = new Ajv({ allErrors: true, strict: false });
addFormats(ajv);
const validate = ajv.compile(jsonSchema);
const valid = validate(jsonObject);
return {
valid,
errors: valid ? [] : validate.errors.map(e =>
e.instancePath ? `${e.instancePath} ${e.message}` : e.message
)
};
}
export default validateJSON;