/* * 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"; export type ShippoAccount = { email: string; firstName: string; lastName: string; companyName?: string | undefined; objectCreated?: Date | undefined; objectId?: string | undefined; objectUpdated?: Date | undefined; }; /** @internal */ export const ShippoAccount$inboundSchema: z.ZodMiniType< ShippoAccount, unknown > = z.pipe( z.object({ email: z.string(), first_name: z.string(), last_name: z.string(), company_name: z.optional(z.string()), object_created: z.optional( z.pipe(z.iso.datetime({ offset: true }), z.transform(v => new Date(v))), ), object_id: z.optional(z.string()), object_updated: z.optional( z.pipe(z.iso.datetime({ offset: true }), z.transform(v => new Date(v))), ), }), z.transform((v) => { return remap$(v, { "first_name": "firstName", "last_name": "lastName", "company_name": "companyName", "object_created": "objectCreated", "object_id": "objectId", "object_updated": "objectUpdated", }); }), ); export function shippoAccountFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => ShippoAccount$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'ShippoAccount' from JSON`, ); }