Я пытаюсь сгенерировать проверки Joi с помощью кода на основе объекта. Я хотел бы знать, есть ли способ сгенерировать их программно и сохранить в файл. Я пробовал следующий способ:
Допустим, у меня есть следующий объект:
let obj = [{
Key: 'key1',
Type: 'string'
}]
Функция для создания объекта проверки Joi:
function getJoiObject(data) {
const obj = {};
Object.keys(data).forEach(key => {
if (data[key].Type === "string")
obj[data[key].Key] = Joi.string();
else if (data[key].Type === "integer")
obj[data[key].Key] = Joi.number();
else if (data[key].Type === "boolean")
obj[data[key].Key] = Joi.boolean();
});
return obj;
}
I сохранил объект в файл и использовал его в другом файле для проверки.
fs.writeFileSync('validations.json', JSON.stringify({res:getJoiObject(obj)}));
Проблема в том, что когда я импортирую проверки. json в другой файл и проверяю его данными, он не работа.
const a = {key1:'abc'};
Joi.object(validations.res).validate(a)
Не могли бы вы помочь.
Заранее спасибо.