如何将对象转换为类型的对象

时间:2019-05-03 06:16:57

标签: joi frisby.js

如何将对象转换为Joi类型/定义的对象?

我有一堆需要分类的对象。我需要知道每个条目是什么,并且它需要能够向下钻取可能多层的数组和/或对象(请参见下面的示例)。

我需要这样做的原因是,我正在使用frisbyjs来验证API响应,并且需要一个Joi类型的对象才能与API响应进行比较。

输入:

{
    reservation: {
        alterations: [],
        arrival_details: {
            guest_checkin_time_from: {
                formatted_hour: "NOT_SELECTED",
                localized_hour_string: "Select"
            },
            is_bringing_pets: false,
            number_of_adults: 2
        },
        booked_at: "2019-03-15T14:35:28Z",
        cancellation_host_fee: 0
    }
}

输出:

{
    reservation: Joi.object({
        alterations: Joi.array(),
        arrival_details: Joi.object({
            guest_checkin_time_from: Joi.object({
                formatted_hour: Joi.string(),
                localized_hour_string: Joi.string()
            }),
            is_bringing_pets: Joi.bool(),
            number_of_adults: Joi.number()
        }),
        booked_at: Joi.date(),
        cancellation_host_fee: Joi.number()
    })
}

0 个答案:

没有答案