У меня есть схема 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 представляют каталоги.
Я хотел бы знать, возможно ли создать двойной связанный список для проверки моих объектов в Joi?