data-to-jsonschema-to-ts
Version:
Convert plain javascript objects to JSON Schema and TypeScript typings
18 lines • 613 B
JavaScript
import * as Ajv from "ajv";
const ajv = new Ajv.Ajv({ allErrors: true });
/**
* Creates a validator function based on a JSON schema
* @param {Object} schema - The JSON schema to validate against
* @returns {Function} A validation function that returns { valid: boolean, errors: Array }
*/
export function createJsonSchemaValidator(schema) {
const validate = ajv.compile(schema);
return function validator(data) {
const valid = validate(data);
return {
valid,
errors: valid ? undefined : validate.errors,
};
};
}
//# sourceMappingURL=validator.js.map