mirror of
https://github.com/lynchmarkHQ/lynchmark.com.git
synced 2026-10-15 08:37:53 +00:00
18 lines
551 B
JavaScript
18 lines
551 B
JavaScript
const validateJSON = async (data, schema) => {
|
|
const { default: Ajv } = await import('https://cdn.jsdelivr.net/npm/ajv@8.12.0/dist/2020.min.js');
|
|
const ajv = new Ajv({ allErrors: true, verbose: true });
|
|
const validate = ajv.compile(schema);
|
|
const valid = validate(data);
|
|
return {
|
|
valid,
|
|
errors: valid ? [] : validate.errors.map(e => ({
|
|
path: e.instancePath || '/',
|
|
message: e.message,
|
|
keyword: e.keyword,
|
|
params: e.params
|
|
}))
|
|
};
|
|
};
|
|
export default validateJSON;
|
|
// Generation time: 3.111s
|
|
// Result: FAIL
|