/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import * as z from "zod/v3"; import { remap as remap$ } from "../../lib/primitives.js"; import { safeParse } from "../../lib/schemas.js"; import { Result as SafeParseResult } from "../../types/fp.js"; import { SDKValidationError } from "../errors/sdkvalidationerror.js"; import { AnalyticsCapabilities, AnalyticsCapabilities$inboundSchema, } from "./analyticscapabilities.js"; import { DeviceCapabilities, DeviceCapabilities$inboundSchema, } from "./devicecapabilities.js"; import { DeviceIOCapabilities, DeviceIOCapabilities$inboundSchema, } from "./deviceiocapabilities.js"; import { EventsCapabilities, EventsCapabilities$inboundSchema, } from "./eventscapabilities.js"; import { ImageCapabilities, ImageCapabilities$inboundSchema, } from "./imagecapabilities.js"; import { MediaCapabilities, MediaCapabilities$inboundSchema, } from "./mediacapabilities.js"; import { PanTiltZoomCapabilities, PanTiltZoomCapabilities$inboundSchema, } from "./pantiltzoomcapabilities.js"; import { RecordingCapabilities, RecordingCapabilities$inboundSchema, } from "./recordingcapabilities.js"; import { ReplayCapabilities, ReplayCapabilities$inboundSchema, } from "./replaycapabilities.js"; import { SearchCapabilities, SearchCapabilities$inboundSchema, } from "./searchcapabilities.js"; export type Capabilities = { analytics?: AnalyticsCapabilities | undefined; device?: DeviceCapabilities | undefined; deviceIo?: DeviceIOCapabilities | undefined; events?: EventsCapabilities | undefined; image?: ImageCapabilities | undefined; media?: MediaCapabilities | undefined; panTiltZoom?: PanTiltZoomCapabilities | undefined; recording?: RecordingCapabilities | undefined; replay?: ReplayCapabilities | undefined; search?: SearchCapabilities | undefined; }; /** @internal */ export const Capabilities$inboundSchema: z.ZodType< Capabilities, z.ZodTypeDef, unknown > = z.object({ analytics: AnalyticsCapabilities$inboundSchema.optional(), device: DeviceCapabilities$inboundSchema.optional(), device_io: DeviceIOCapabilities$inboundSchema.optional(), events: EventsCapabilities$inboundSchema.optional(), image: ImageCapabilities$inboundSchema.optional(), media: MediaCapabilities$inboundSchema.optional(), pan_tilt_zoom: PanTiltZoomCapabilities$inboundSchema.optional(), recording: RecordingCapabilities$inboundSchema.optional(), replay: ReplayCapabilities$inboundSchema.optional(), search: SearchCapabilities$inboundSchema.optional(), }).transform((v) => { return remap$(v, { "device_io": "deviceIo", "pan_tilt_zoom": "panTiltZoom", }); }); export function capabilitiesFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => Capabilities$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'Capabilities' from JSON`, ); }