/* * 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"; import { ReturnPolicyType, ReturnPolicyType$inboundSchema, ReturnPolicyType$outboundSchema, } from "./returnpolicytype.js"; export type FulfillmentDetails = { hasPhysicalGoods: boolean; isShippingProduct: boolean; shipmentDurationDays: number; returnPolicy: ReturnPolicyType; }; /** @internal */ export const FulfillmentDetails$inboundSchema: z.ZodType< FulfillmentDetails, z.ZodTypeDef, unknown > = z.object({ hasPhysicalGoods: z.boolean(), isShippingProduct: z.boolean(), shipmentDurationDays: z.number().int(), returnPolicy: ReturnPolicyType$inboundSchema, }); /** @internal */ export type FulfillmentDetails$Outbound = { hasPhysicalGoods: boolean; isShippingProduct: boolean; shipmentDurationDays: number; returnPolicy: string; }; /** @internal */ export const FulfillmentDetails$outboundSchema: z.ZodType< FulfillmentDetails$Outbound, z.ZodTypeDef, FulfillmentDetails > = z.object({ hasPhysicalGoods: z.boolean(), isShippingProduct: z.boolean(), shipmentDurationDays: z.number().int(), returnPolicy: ReturnPolicyType$outboundSchema, }); export function fulfillmentDetailsToJSON( fulfillmentDetails: FulfillmentDetails, ): string { return JSON.stringify( FulfillmentDetails$outboundSchema.parse(fulfillmentDetails), ); } export function fulfillmentDetailsFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => FulfillmentDetails$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'FulfillmentDetails' from JSON`, ); }