Синтаксическая ошибка ArangoDB Fox при объявлении аргумента схемы

Я объявил схему / компонент JOI и не могу использовать это определение при объявлении другой схемы / компонента?

Я получаю синтаксическую ошибку в "arg: joi.object.schema (TestBean) .required ()", но могу объявить массив, используя такую ​​схему: "argArray: joi.array (). Items (TestBean) .required ()"

const TestBean = joi.object().required().keys({
  member1: joi.array().items(joi.string().required()),
  member2: joi.number().required()
}).unknown(); // allow additional attributes

const BeanMethodDocument = joi.object().required().keys({
  arg: joi.object.schema(TestBean).required(),
  argArray: joi.array().items(TestBean).required(),
  option: joi.string().valid('Empty','Full','HalfFull','HalfEmpty')
});

Я ожидаю, что смогу использовать заранее определенные объявления схем. Мне просто нужен правильный синтаксис.


person SteveORiver    schedule 02.08.2019    source источник


Ответы (1)


Вам не хватает вызова функции на joi.object.

const BeanMethodDocument = joi.object().required().keys({
    arg: joi.object().schema(TestBean).required(),
    // ------------^
    argArray: joi.array().items(TestBean).required(),
    option: joi.string().valid('Empty','Full','HalfFull','HalfEmpty')
});
person Ankh    schedule 05.08.2019
comment
Спасибо! это сделало это. Тот факт, что скомпилирован в webstorm, меня сбил с толку. - person SteveORiver; 05.08.2019