mirror of
https://github.com/lynchmarkHQ/lynchmark.com.git
synced 2026-10-16 00:47:53 +00:00
13 lines
447 B
JavaScript
13 lines
447 B
JavaScript
async function validateJSON(data, schema) {
|
|
const { default: Ajv } = await import('https://cdn.skypack.dev/ajv@8');
|
|
const ajv = new Ajv({ allErrors: true, verbose: true });
|
|
const validate = ajv.compile(schema);
|
|
const valid = validate(data);
|
|
return {
|
|
valid,
|
|
errors: valid ? [] : ajv.errors?.map(e =>
|
|
`${e.instancePath || 'data'}: ${e.message} (${e.params?.type || e.schema})`
|
|
) || []
|
|
};
|
|
}
|
|
export default validateJSON; |