Files
portfolio2023/build/node_modules/api-schema-builder/src/utils/ajv-utils.js
T
2023-11-24 22:35:41 +01:00

33 lines
881 B
JavaScript

const filesKeyword = require('../customKeywords/files'),
contentKeyword = require('../customKeywords/contentTypeValidation');
function addCustomKeyword(ajv, formats, keywords) {
formats.forEach(function (format) {
ajv.addFormat(format.name, format.pattern);
});
if (keywords) {
keywords.forEach((keyword) => {
if (typeof keyword === 'function') {
return keyword(ajv);
}
if (typeof keyword === 'object') {
const name = keyword.name;
const definition = keyword.definition;
if (name && definition) {
return ajv.addKeyword(name, definition);
}
}
});
}
ajv.addKeyword('files', filesKeyword);
ajv.addKeyword('content', contentKeyword);
}
module.exports = {
addCustomKeyword
};