/* * 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"; export type GetStatsVisitorsVisitorKeyRequest = { /** * The unique key of the visitor. */ visitorKey: string; }; export type GetStatsVisitorsVisitorKeyOrg = { name?: string | null | undefined; title?: string | null | undefined; }; export type GetStatsVisitorsVisitorKeyVisitorIdentity = { name?: string | undefined; email?: string | null | undefined; org?: GetStatsVisitorsVisitorKeyOrg | undefined; }; export type GetStatsVisitorsVisitorKeyUserAgentDetails = { browser?: string | undefined; browserVersion?: string | undefined; platform?: string | undefined; mobile?: boolean | undefined; }; /** * Successful response with details of a single visitor. */ export type GetStatsVisitorsVisitorKeyResponse = { /** * A unique identifier for the visitor. */ visitorKey?: string | undefined; /** * When the visitor was created. */ createdAt?: Date | undefined; /** * The last time the visitor played a video. */ lastActiveAt?: Date | undefined; /** * The event key for the last video play action. */ lastEventKey?: string | undefined; /** * The total number of videos loaded by the visitor. */ loadCount?: number | undefined; /** * The total number of videos played by the visitor. */ playCount?: number | undefined; visitorIdentity?: GetStatsVisitorsVisitorKeyVisitorIdentity | undefined; userAgentDetails?: GetStatsVisitorsVisitorKeyUserAgentDetails | undefined; }; /** @internal */ export type GetStatsVisitorsVisitorKeyRequest$Outbound = { visitorKey: string; }; /** @internal */ export const GetStatsVisitorsVisitorKeyRequest$outboundSchema: z.ZodType< GetStatsVisitorsVisitorKeyRequest$Outbound, z.ZodTypeDef, GetStatsVisitorsVisitorKeyRequest > = z.object({ visitorKey: z.string(), }); export function getStatsVisitorsVisitorKeyRequestToJSON( getStatsVisitorsVisitorKeyRequest: GetStatsVisitorsVisitorKeyRequest, ): string { return JSON.stringify( GetStatsVisitorsVisitorKeyRequest$outboundSchema.parse( getStatsVisitorsVisitorKeyRequest, ), ); } /** @internal */ export const GetStatsVisitorsVisitorKeyOrg$inboundSchema: z.ZodType< GetStatsVisitorsVisitorKeyOrg, z.ZodTypeDef, unknown > = z.object({ name: z.nullable(z.string()).optional(), title: z.nullable(z.string()).optional(), }); export function getStatsVisitorsVisitorKeyOrgFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => GetStatsVisitorsVisitorKeyOrg$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetStatsVisitorsVisitorKeyOrg' from JSON`, ); } /** @internal */ export const GetStatsVisitorsVisitorKeyVisitorIdentity$inboundSchema: z.ZodType< GetStatsVisitorsVisitorKeyVisitorIdentity, z.ZodTypeDef, unknown > = z.object({ name: z.string().optional(), email: z.nullable(z.string()).optional(), org: z.lazy(() => GetStatsVisitorsVisitorKeyOrg$inboundSchema).optional(), }); export function getStatsVisitorsVisitorKeyVisitorIdentityFromJSON( jsonString: string, ): SafeParseResult< GetStatsVisitorsVisitorKeyVisitorIdentity, SDKValidationError > { return safeParse( jsonString, (x) => GetStatsVisitorsVisitorKeyVisitorIdentity$inboundSchema.parse( JSON.parse(x), ), `Failed to parse 'GetStatsVisitorsVisitorKeyVisitorIdentity' from JSON`, ); } /** @internal */ export const GetStatsVisitorsVisitorKeyUserAgentDetails$inboundSchema: z.ZodType = z.object({ browser: z.string().optional(), browser_version: z.string().optional(), platform: z.string().optional(), mobile: z.boolean().optional(), }).transform((v) => { return remap$(v, { "browser_version": "browserVersion", }); }); export function getStatsVisitorsVisitorKeyUserAgentDetailsFromJSON( jsonString: string, ): SafeParseResult< GetStatsVisitorsVisitorKeyUserAgentDetails, SDKValidationError > { return safeParse( jsonString, (x) => GetStatsVisitorsVisitorKeyUserAgentDetails$inboundSchema.parse( JSON.parse(x), ), `Failed to parse 'GetStatsVisitorsVisitorKeyUserAgentDetails' from JSON`, ); } /** @internal */ export const GetStatsVisitorsVisitorKeyResponse$inboundSchema: z.ZodType< GetStatsVisitorsVisitorKeyResponse, z.ZodTypeDef, unknown > = z.object({ visitor_key: z.string().optional(), created_at: z.string().datetime({ offset: true }).transform(v => new Date(v)) .optional(), last_active_at: z.string().datetime({ offset: true }).transform(v => new Date(v) ).optional(), last_event_key: z.string().optional(), load_count: z.number().int().optional(), play_count: z.number().int().optional(), visitor_identity: z.lazy(() => GetStatsVisitorsVisitorKeyVisitorIdentity$inboundSchema ).optional(), user_agent_details: z.lazy(() => GetStatsVisitorsVisitorKeyUserAgentDetails$inboundSchema ).optional(), }).transform((v) => { return remap$(v, { "visitor_key": "visitorKey", "created_at": "createdAt", "last_active_at": "lastActiveAt", "last_event_key": "lastEventKey", "load_count": "loadCount", "play_count": "playCount", "visitor_identity": "visitorIdentity", "user_agent_details": "userAgentDetails", }); }); export function getStatsVisitorsVisitorKeyResponseFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => GetStatsVisitorsVisitorKeyResponse$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetStatsVisitorsVisitorKeyResponse' from JSON`, ); }