directorySchemaというJoiスキーマがあります。このスキーマには、parentDirectoryというキーがあります。このタイプはdirectorySchemaでもあり、ディレクトリがルート/ヘッドの場合はnullになる可能性があり、ディレクトリと呼ばれる別のキーは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
この画像は、二重リンクリストの概念を説明しています。ボックスオブジェクトはディレクトリを表しています。
知りたいのですが、Joiでオブジェクトを検証するために二重リンクリストを作成することは可能ですか?
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
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加