mirror of
https://github.com/lynchmarkHQ/lynchmark.com.git
synced 2026-10-17 09:17:53 +00:00
23 lines
617 B
JavaScript
23 lines
617 B
JavaScript
const validateJSON = async (data, schema) => {
|
|
try {
|
|
const { default: Ajv } = await import("https://esm.sh/ajv@8");
|
|
const 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}`.trim()
|
|
),
|
|
};
|
|
} catch (err) {
|
|
return { valid: false, errors: [err.message] };
|
|
}
|
|
};
|
|
|
|
export { validateJSON };
|
|
export default validateJSON;
|
|
// Generation time: 5.406s
|
|
// Result: PASS
|