/* * 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 * as openEnums from "../../types/enums.js"; import { OpenEnum } from "../../types/enums.js"; import { Result as SafeParseResult } from "../../types/fp.js"; import { SDKValidationError } from "../errors/sdkvalidationerror.js"; export const AddressCountryAlpha2 = { Ad: "AD", Ae: "AE", Af: "AF", Ag: "AG", Ai: "AI", Al: "AL", Am: "AM", Ao: "AO", Aq: "AQ", Ar: "AR", As: "AS", At: "AT", Au: "AU", Aw: "AW", Ax: "AX", Az: "AZ", Ba: "BA", Bb: "BB", Bd: "BD", Be: "BE", Bf: "BF", Bg: "BG", Bh: "BH", Bi: "BI", Bj: "BJ", Bl: "BL", Bm: "BM", Bn: "BN", Bo: "BO", Bq: "BQ", Br: "BR", Bs: "BS", Bt: "BT", Bv: "BV", Bw: "BW", By: "BY", Bz: "BZ", Ca: "CA", Cc: "CC", Cd: "CD", Cf: "CF", Cg: "CG", Ch: "CH", Ci: "CI", Ck: "CK", Cl: "CL", Cm: "CM", Cn: "CN", Co: "CO", Cr: "CR", Cu: "CU", Cv: "CV", Cw: "CW", Cx: "CX", Cy: "CY", Cz: "CZ", De: "DE", Dj: "DJ", Dk: "DK", Dm: "DM", Do: "DO", Dz: "DZ", Ec: "EC", Ee: "EE", Eg: "EG", Eh: "EH", Er: "ER", Es: "ES", Et: "ET", Fi: "FI", Fj: "FJ", Fk: "FK", Fm: "FM", Fo: "FO", Fr: "FR", Ga: "GA", Gb: "GB", Gd: "GD", Ge: "GE", Gf: "GF", Gg: "GG", Gh: "GH", Gi: "GI", Gl: "GL", Gm: "GM", Gn: "GN", Gp: "GP", Gq: "GQ", Gr: "GR", Gs: "GS", Gt: "GT", Gu: "GU", Gw: "GW", Gy: "GY", Hk: "HK", Hm: "HM", Hn: "HN", Hr: "HR", Ht: "HT", Hu: "HU", Id: "ID", Ie: "IE", Il: "IL", Im: "IM", In: "IN", Io: "IO", Iq: "IQ", Ir: "IR", Is: "IS", It: "IT", Je: "JE", Jm: "JM", Jo: "JO", Jp: "JP", Ke: "KE", Kg: "KG", Kh: "KH", Ki: "KI", Km: "KM", Kn: "KN", Kp: "KP", Kr: "KR", Kw: "KW", Ky: "KY", Kz: "KZ", La: "LA", Lb: "LB", Lc: "LC", Li: "LI", Lk: "LK", Lr: "LR", Ls: "LS", Lt: "LT", Lu: "LU", Lv: "LV", Ly: "LY", Ma: "MA", Mc: "MC", Md: "MD", Me: "ME", Mf: "MF", Mg: "MG", Mh: "MH", Mk: "MK", Ml: "ML", Mm: "MM", Mn: "MN", Mo: "MO", Mp: "MP", Mq: "MQ", Mr: "MR", Ms: "MS", Mt: "MT", Mu: "MU", Mv: "MV", Mw: "MW", Mx: "MX", My: "MY", Mz: "MZ", Na: "NA", Nc: "NC", Ne: "NE", Nf: "NF", Ng: "NG", Ni: "NI", Nl: "NL", No: "NO", Np: "NP", Nr: "NR", Nu: "NU", Nz: "NZ", Om: "OM", Pa: "PA", Pe: "PE", Pf: "PF", Pg: "PG", Ph: "PH", Pk: "PK", Pl: "PL", Pm: "PM", Pn: "PN", Pr: "PR", Ps: "PS", Pt: "PT", Pw: "PW", Py: "PY", Qa: "QA", Re: "RE", Ro: "RO", Rs: "RS", Ru: "RU", Rw: "RW", Sa: "SA", Sb: "SB", Sc: "SC", Sd: "SD", Se: "SE", Sg: "SG", Sh: "SH", Si: "SI", Sj: "SJ", Sk: "SK", Sl: "SL", Sm: "SM", Sn: "SN", So: "SO", Sr: "SR", Ss: "SS", St: "ST", Sv: "SV", Sx: "SX", Sy: "SY", Sz: "SZ", Tc: "TC", Td: "TD", Tf: "TF", Tg: "TG", Th: "TH", Tj: "TJ", Tk: "TK", Tl: "TL", Tm: "TM", Tn: "TN", To: "TO", Tr: "TR", Tt: "TT", Tv: "TV", Tw: "TW", Tz: "TZ", Ua: "UA", Ug: "UG", Um: "UM", Us: "US", Uy: "UY", Uz: "UZ", Va: "VA", Vc: "VC", Ve: "VE", Vg: "VG", Vi: "VI", Vn: "VN", Vu: "VU", Wf: "WF", Ws: "WS", Ye: "YE", Yt: "YT", Za: "ZA", Zm: "ZM", Zw: "ZW", } as const; export type AddressCountryAlpha2 = OpenEnum; export type Address = { line1?: string | null | undefined; line2?: string | null | undefined; postalCode?: string | null | undefined; city?: string | null | undefined; state?: string | null | undefined; country: AddressCountryAlpha2; }; /** @internal */ export const AddressCountryAlpha2$inboundSchema: z.ZodMiniType< AddressCountryAlpha2, unknown > = openEnums.inboundSchema(AddressCountryAlpha2); /** @internal */ export const AddressCountryAlpha2$outboundSchema: z.ZodMiniType< string, AddressCountryAlpha2 > = openEnums.outboundSchema(AddressCountryAlpha2); /** @internal */ export const Address$inboundSchema: z.ZodMiniType = z.pipe( z.object({ line1: z.optional(z.nullable(z.string())), line2: z.optional(z.nullable(z.string())), postal_code: z.optional(z.nullable(z.string())), city: z.optional(z.nullable(z.string())), state: z.optional(z.nullable(z.string())), country: AddressCountryAlpha2$inboundSchema, }), z.transform((v) => { return remap$(v, { "postal_code": "postalCode", }); }), ); /** @internal */ export type Address$Outbound = { line1?: string | null | undefined; line2?: string | null | undefined; postal_code?: string | null | undefined; city?: string | null | undefined; state?: string | null | undefined; country: string; }; /** @internal */ export const Address$outboundSchema: z.ZodMiniType = z.pipe( z.object({ line1: z.optional(z.nullable(z.string())), line2: z.optional(z.nullable(z.string())), postalCode: z.optional(z.nullable(z.string())), city: z.optional(z.nullable(z.string())), state: z.optional(z.nullable(z.string())), country: AddressCountryAlpha2$outboundSchema, }), z.transform((v) => { return remap$(v, { postalCode: "postal_code", }); }), ); export function addressToJSON(address: Address): string { return JSON.stringify(Address$outboundSchema.parse(address)); } export function addressFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => Address$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'Address' from JSON`, ); }