Можно ли создать двусвязный список с Joi? - PullRequest
1 голос
/ 12 апреля 2020

У меня есть схема Joi под названием directorySchema, и, помимо других ключей, эта схема имеет ключ parentDirectory, тип которого также является directorySchema и может быть нулевым, если каталог является корневым / головным, и другой ключ, называемый каталогами , который также является массивом directorySchemas. По сути, эта схема представляет собой двусвязный список.

Следуйте примеру:

const Joi = require('@hapi/joi')

const directorySchema = Joi.object({
  name: Joi.string().required(),
  path: Joi.string().required(),
  size: Joi.number().min(0).required(),
  directories: Joi.array().items(...) // how to reference "directorySchema" here
  parentDirectory: ... // and here?
})

module.exports = directorySchema

Это изображение объясняет концепцию двусвязного списка, объекты box представляют каталоги.

In this image that explains the concept of doubly linked list, the box objects represents the directories.

Я хотел бы знать, возможно ли создать двойной связанный список для проверки моих объектов в Joi?

1 Ответ

0 голосов
/ 13 апреля 2020

Вы можете использовать joi ссылки:

const Joi = require('@hapi/joi')

const directorySchema = Joi.object({
  name: Joi.string().required(),
  path: Joi.string().required(),
  size: Joi.number().min(0).required(),
  directories: Joi.array().items(Joi.link("#directory"))
}).id("directory")

module.exports = directorySchema

Ссылка на документацию: https://hapi.dev/module/joi/api/?v=17.1.1#linkref

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...