/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import * as z from "zod/v3"; import { safeParse } from "../../lib/schemas.js"; import { Result as SafeParseResult } from "../../types/fp.js"; import { SDKValidationError } from "../errors/sdkvalidationerror.js"; export type StatsMetricPeriodEntity = { /** * Start of the period as a Unix timestamp in milliseconds (e.g. Monday of that week for weekly intervals) */ timestamp: number; /** * Gross revenue in cents for this period */ grossRevenue: number; /** * Net revenue in cents for this period (after fees and taxes) */ netRevenue: number; }; /** @internal */ export const StatsMetricPeriodEntity$inboundSchema: z.ZodType< StatsMetricPeriodEntity, z.ZodTypeDef, unknown > = z.object({ timestamp: z.number(), grossRevenue: z.number(), netRevenue: z.number(), }); /** @internal */ export type StatsMetricPeriodEntity$Outbound = { timestamp: number; grossRevenue: number; netRevenue: number; }; /** @internal */ export const StatsMetricPeriodEntity$outboundSchema: z.ZodType< StatsMetricPeriodEntity$Outbound, z.ZodTypeDef, StatsMetricPeriodEntity > = z.object({ timestamp: z.number(), grossRevenue: z.number(), netRevenue: z.number(), }); export function statsMetricPeriodEntityToJSON( statsMetricPeriodEntity: StatsMetricPeriodEntity, ): string { return JSON.stringify( StatsMetricPeriodEntity$outboundSchema.parse(statsMetricPeriodEntity), ); } export function statsMetricPeriodEntityFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => StatsMetricPeriodEntity$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'StatsMetricPeriodEntity' from JSON`, ); }