@sap/cli-core
Version:
Command-Line Interface (CLI) Core Module
28 lines (27 loc) • 923 B
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.validate = void 0;
const ajv_1 = __importDefault(require("ajv"));
const logger_1 = require("../logger");
const validate = async (schema, data) => {
const logger = (0, logger_1.get)("jsonschema");
try {
const ajv = new ajv_1.default({ logger });
// use await, see ajv.js.org/api.html#ajv-validate-schemaorref-object-string-data-any-boolean
await ajv.validate(schema, data);
return {
result: "VALID",
};
}
catch (err) {
logger.error("error while compiling schema or validating data", err.stack);
return {
result: "INVALID",
errors: err.errors,
};
}
};
exports.validate = validate;