/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import * as z from "zod/v4-mini"; import { remap as remap$ } from "../../lib/primitives.js"; import { safeParse } from "../../lib/schemas.js"; import { Result as SafeParseResult } from "../../types/fp.js"; import * as types from "../../types/primitives.js"; import { CustomAnalyticItem, CustomAnalyticItem$inboundSchema, } from "./custom-analytic-item.js"; import { SDKValidationError } from "./sdk-validation-error.js"; import { UsageAnalyticItem, UsageAnalyticItem$inboundSchema, } from "./usage-analytic-item.js"; export type GetUsageAnalyticsResponse = { currency?: string | undefined; customAnalytics?: Array | undefined; items?: Array | undefined; subtotal?: string | undefined; /** * TotalCost is the final cost after discount (Subtotal - TotalDiscount) */ totalCost?: string | undefined; totalDiscount?: string | undefined; }; /** @internal */ export const GetUsageAnalyticsResponse$inboundSchema: z.ZodMiniType< GetUsageAnalyticsResponse, unknown > = z.pipe( z.object({ currency: types.optional(types.string()), custom_analytics: types.optional(z.array(CustomAnalyticItem$inboundSchema)), items: types.optional(z.array(UsageAnalyticItem$inboundSchema)), subtotal: types.optional(types.string()), total_cost: types.optional(types.string()), total_discount: types.optional(types.string()), }), z.transform((v) => { return remap$(v, { "custom_analytics": "customAnalytics", "total_cost": "totalCost", "total_discount": "totalDiscount", }); }), ); export function getUsageAnalyticsResponseFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => GetUsageAnalyticsResponse$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetUsageAnalyticsResponse' from JSON`, ); }