mirror of
https://github.com/lynchmarkHQ/lynchmark.com.git
synced 2026-10-13 07:45:22 +00:00
21 lines
567 B
JavaScript
21 lines
567 B
JavaScript
let ajv;
|
|
|
|
const validateJSON = async (data, schema) => {
|
|
try {
|
|
if (!ajv) {
|
|
const Ajv = (await import('https://esm.sh/ajv@8.17.1')).default;
|
|
ajv = new Ajv({ allErrors: true, strict: false });
|
|
}
|
|
const validate = ajv.compile(schema);
|
|
const valid = validate(data);
|
|
return {
|
|
valid,
|
|
errors: valid ? [] : validate.errors.map(e => `${e.instancePath || '/'}: ${e.message}`)
|
|
};
|
|
} catch (err) {
|
|
return { valid: false, errors: [err.message] };
|
|
}
|
|
};
|
|
export default validateJSON;
|
|
// Generation time: 45.178s
|
|
// Result: PASS
|