/* * 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 StatsMetricTotalsEntity = { /** * Total number of products in the store */ totalProducts: number; /** * Total number of subscriptions within the queried date range */ totalSubscriptions: number; /** * Total number of customers within the queried date range */ totalCustomers: number; /** * Total number of payments within the queried date range */ totalPayments: number; /** * Number of currently active subscriptions */ activeSubscriptions: number; /** * Total gross revenue in cents within the queried date range */ totalRevenue: number; /** * Total net revenue in cents within the queried date range (after fees and taxes) */ totalNetRevenue: number; /** * Net monthly recurring revenue in cents (after estimated fees) */ netMonthlyRecurringRevenue: number; /** * Gross monthly recurring revenue in cents */ monthlyRecurringRevenue: number; }; /** @internal */ export const StatsMetricTotalsEntity$inboundSchema: z.ZodType< StatsMetricTotalsEntity, z.ZodTypeDef, unknown > = z.object({ totalProducts: z.number(), totalSubscriptions: z.number(), totalCustomers: z.number(), totalPayments: z.number(), activeSubscriptions: z.number(), totalRevenue: z.number(), totalNetRevenue: z.number(), netMonthlyRecurringRevenue: z.number(), monthlyRecurringRevenue: z.number(), }); /** @internal */ export type StatsMetricTotalsEntity$Outbound = { totalProducts: number; totalSubscriptions: number; totalCustomers: number; totalPayments: number; activeSubscriptions: number; totalRevenue: number; totalNetRevenue: number; netMonthlyRecurringRevenue: number; monthlyRecurringRevenue: number; }; /** @internal */ export const StatsMetricTotalsEntity$outboundSchema: z.ZodType< StatsMetricTotalsEntity$Outbound, z.ZodTypeDef, StatsMetricTotalsEntity > = z.object({ totalProducts: z.number(), totalSubscriptions: z.number(), totalCustomers: z.number(), totalPayments: z.number(), activeSubscriptions: z.number(), totalRevenue: z.number(), totalNetRevenue: z.number(), netMonthlyRecurringRevenue: z.number(), monthlyRecurringRevenue: z.number(), }); export function statsMetricTotalsEntityToJSON( statsMetricTotalsEntity: StatsMetricTotalsEntity, ): string { return JSON.stringify( StatsMetricTotalsEntity$outboundSchema.parse(statsMetricTotalsEntity), ); } export function statsMetricTotalsEntityFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => StatsMetricTotalsEntity$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'StatsMetricTotalsEntity' from JSON`, ); }