mirror of
https://github.com/lynchmarkHQ/lynchmark.com.git
synced 2026-10-17 01:07:53 +00:00
18 lines
550 B
JavaScript
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; |