ajv-json-logic
Version:
JSON Logic integration for Ajv validator
41 lines (36 loc) • 1.24 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var conditionalRequired = require('../schemas/conditional-required.json.cjs');
function getDef() {
return {
keyword: 'conditionalRequired',
macro: function (schema, parentSchema) {
if (!schema) {
return {};
}
const allOf = [];
if (!Array.isArray(schema))
schema = [schema];
if (schema && Array.isArray(schema)) {
schema.forEach(({ content, rule }) => {
if (content in parentSchema['properties']) {
allOf.push({
if: { jsonLogic: rule },
then: { required: [content] },
});
}
});
return { allOf };
}
return {};
},
metaSchema: conditionalRequired.default,
};
}
// For CommonJS compatibility
if (typeof module !== 'undefined' && typeof module.exports !== 'undefined') {
module.exports = getDef;
module.exports.default = getDef;
}
exports.default = getDef;
//# sourceMappingURL=conditionalRequired.cjs.map