Как преобразовать объект в объект типов - PullRequest
0 голосов
/ 03 мая 2019

Как мне преобразовать объект в объект Joi типов / определений?

У меня есть куча объектов, которые мне нужно классифицировать.Мне нужно знать, что представляет собой каждая запись, и она должна быть в состоянии развернуть, возможно, несколько слоев массивов и / или объектов (см. Пример ниже).

Причина, по которой мне это нужно, заключается в том, что яиспользуя frisbyjs для проверки ответа API, и для сравнения с ответом API требуется объект типов Joi.

Ввод:

{
    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()
    })
}
...