点表示法的Joi对象架构

问题描述

我正在尝试使用猫鼬的Model.schema.paths对象将猫鼬模式转换为基本的joi模式。此对象以点表示法公开路径和类型,例如{path: "a.b.c",type: "string"}。有什么方法可以简单地将其转换为Joi模式吗?

Joi.object({"a.b.c": Joi.string(),"a.b.d": Joi.number()})

无法产生预期的结果

Joi.object({
    a: Joi.object({
        b: Joi.object({
            c: Joi.string(),d: Joi.number()
        })
    })
})

例如,我可以使用lodash.set(path,obj)path,type对转换为一个对象,然后对其进行解析,然后将每个嵌套对象转换为一个Joi.object()调用,以达到预期的效果,但是hacky,如果可能,我想避免。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)