/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import * as z from "zod"; 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 { UsageBucket, UsageBucket$inboundSchema, UsageBucket$Outbound, UsageBucket$outboundSchema, } from "./usagebucket.js"; export type UsageAnalyticsResponse = { /** * Array of time buckets containing usage data */ data: Array; /** * Pagination token for next page. Null if no more pages. */ nextPageToken?: string | null | undefined; /** * Total number of time buckets across all pages */ total: number; }; /** @internal */ export const UsageAnalyticsResponse$inboundSchema: z.ZodType< UsageAnalyticsResponse, z.ZodTypeDef, unknown > = z.object({ data: z.array(UsageBucket$inboundSchema), next_page_token: z.nullable(z.string()).optional(), total: z.number(), }).transform((v) => { return remap$(v, { "next_page_token": "nextPageToken", }); }); /** @internal */ export type UsageAnalyticsResponse$Outbound = { data: Array; next_page_token?: string | null | undefined; total: number; }; /** @internal */ export const UsageAnalyticsResponse$outboundSchema: z.ZodType< UsageAnalyticsResponse$Outbound, z.ZodTypeDef, UsageAnalyticsResponse > = z.object({ data: z.array(UsageBucket$outboundSchema), nextPageToken: z.nullable(z.string()).optional(), total: z.number(), }).transform((v) => { return remap$(v, { nextPageToken: "next_page_token", }); }); /** * @internal * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. */ export namespace UsageAnalyticsResponse$ { /** @deprecated use `UsageAnalyticsResponse$inboundSchema` instead. */ export const inboundSchema = UsageAnalyticsResponse$inboundSchema; /** @deprecated use `UsageAnalyticsResponse$outboundSchema` instead. */ export const outboundSchema = UsageAnalyticsResponse$outboundSchema; /** @deprecated use `UsageAnalyticsResponse$Outbound` instead. */ export type Outbound = UsageAnalyticsResponse$Outbound; } export function usageAnalyticsResponseToJSON( usageAnalyticsResponse: UsageAnalyticsResponse, ): string { return JSON.stringify( UsageAnalyticsResponse$outboundSchema.parse(usageAnalyticsResponse), ); } export function usageAnalyticsResponseFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => UsageAnalyticsResponse$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'UsageAnalyticsResponse' from JSON`, ); }