now we are defensive in parsing the location if parsing fails the not found is now displayed
34 lines
812 B
TypeScript
34 lines
812 B
TypeScript
import { z } from "zod"
|
|
|
|
export const locationHotelSchema = z.object({
|
|
attributes: z.object({
|
|
distanceToCentre: z.number().optional(),
|
|
images: z
|
|
.object({
|
|
large: z.string().optional(),
|
|
medium: z.string().optional(),
|
|
small: z.string().optional(),
|
|
tiny: z.string().optional(),
|
|
})
|
|
.optional(),
|
|
keyWords: z.array(z.string()).optional(),
|
|
name: z.string().optional().default(""),
|
|
operaId: z.coerce.string().optional(),
|
|
}),
|
|
id: z.string().optional().default(""),
|
|
relationships: z
|
|
.object({
|
|
city: z
|
|
.object({
|
|
links: z
|
|
.object({
|
|
related: z.string().optional(),
|
|
})
|
|
.optional(),
|
|
})
|
|
.optional(),
|
|
})
|
|
.optional(),
|
|
type: z.literal("hotels"),
|
|
})
|