/* * 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 GetStatsMediasMediaIdEngagementRequest = { /** * The hashed ID or ID of the video for which you want to retrieve engagement data. */ mediaId: string; }; /** * Success response with the engagement data of the video. */ export type GetStatsMediasMediaIdEngagementResponse = { /** * The percentage of the video that was viewed, averaged across all viewing sessions. */ engagement?: number | undefined; /** * An array for creating an engagement graph. */ engagementData?: Array | undefined; /** * An array for creating the rewatch block on an engagement graph. */ rewatchData?: Array | undefined; }; /** @internal */ export type GetStatsMediasMediaIdEngagementRequest$Outbound = { mediaId: string; }; /** @internal */ export const GetStatsMediasMediaIdEngagementRequest$outboundSchema: z.ZodType< GetStatsMediasMediaIdEngagementRequest$Outbound, z.ZodTypeDef, GetStatsMediasMediaIdEngagementRequest > = z.object({ mediaId: z.string(), }); export function getStatsMediasMediaIdEngagementRequestToJSON( getStatsMediasMediaIdEngagementRequest: GetStatsMediasMediaIdEngagementRequest, ): string { return JSON.stringify( GetStatsMediasMediaIdEngagementRequest$outboundSchema.parse( getStatsMediasMediaIdEngagementRequest, ), ); } /** @internal */ export const GetStatsMediasMediaIdEngagementResponse$inboundSchema: z.ZodType< GetStatsMediasMediaIdEngagementResponse, z.ZodTypeDef, unknown > = z.object({ engagement: z.number().optional(), engagement_data: z.array(z.number().int()).optional(), rewatch_data: z.array(z.number().int()).optional(), }).transform((v) => { return remap$(v, { "engagement_data": "engagementData", "rewatch_data": "rewatchData", }); }); export function getStatsMediasMediaIdEngagementResponseFromJSON( jsonString: string, ): SafeParseResult< GetStatsMediasMediaIdEngagementResponse, SDKValidationError > { return safeParse( jsonString, (x) => GetStatsMediasMediaIdEngagementResponse$inboundSchema.parse( JSON.parse(x), ), `Failed to parse 'GetStatsMediasMediaIdEngagementResponse' from JSON`, ); }