/* * 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 { SDKValidationError } from "../errors/sdkvalidationerror.js"; import { BillingAddressFieldMode, BillingAddressFieldMode$inboundSchema, BillingAddressFieldMode$outboundSchema, } from "./billingaddressfieldmode.js"; export type CheckoutBillingAddressFields = { country: BillingAddressFieldMode; state: BillingAddressFieldMode; city: BillingAddressFieldMode; postalCode: BillingAddressFieldMode; line1: BillingAddressFieldMode; line2: BillingAddressFieldMode; }; /** @internal */ export const CheckoutBillingAddressFields$inboundSchema: z.ZodMiniType< CheckoutBillingAddressFields, unknown > = z.pipe( z.object({ country: BillingAddressFieldMode$inboundSchema, state: BillingAddressFieldMode$inboundSchema, city: BillingAddressFieldMode$inboundSchema, postal_code: BillingAddressFieldMode$inboundSchema, line1: BillingAddressFieldMode$inboundSchema, line2: BillingAddressFieldMode$inboundSchema, }), z.transform((v) => { return remap$(v, { "postal_code": "postalCode", }); }), ); /** @internal */ export type CheckoutBillingAddressFields$Outbound = { country: string; state: string; city: string; postal_code: string; line1: string; line2: string; }; /** @internal */ export const CheckoutBillingAddressFields$outboundSchema: z.ZodMiniType< CheckoutBillingAddressFields$Outbound, CheckoutBillingAddressFields > = z.pipe( z.object({ country: BillingAddressFieldMode$outboundSchema, state: BillingAddressFieldMode$outboundSchema, city: BillingAddressFieldMode$outboundSchema, postalCode: BillingAddressFieldMode$outboundSchema, line1: BillingAddressFieldMode$outboundSchema, line2: BillingAddressFieldMode$outboundSchema, }), z.transform((v) => { return remap$(v, { postalCode: "postal_code", }); }), ); export function checkoutBillingAddressFieldsToJSON( checkoutBillingAddressFields: CheckoutBillingAddressFields, ): string { return JSON.stringify( CheckoutBillingAddressFields$outboundSchema.parse( checkoutBillingAddressFields, ), ); } export function checkoutBillingAddressFieldsFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => CheckoutBillingAddressFields$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CheckoutBillingAddressFields' from JSON`, ); }