/* * 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 ApplePayMerchantDomains = { accountID: string; /** * A UTF-8 string to display in the Buy button. */ displayName: string; /** * A unique list of fully-qualified, top-level or sub-domain names where you will accept Apple Pay. */ domains: Array; createdOn: Date; updatedOn: Date; }; /** @internal */ export const ApplePayMerchantDomains$inboundSchema: z.ZodType< ApplePayMerchantDomains, z.ZodTypeDef, unknown > = z.object({ accountID: z.string(), displayName: z.string(), domains: z.array(z.string()), createdOn: z.string().datetime({ offset: true }).transform(v => new Date(v)), updatedOn: z.string().datetime({ offset: true }).transform(v => new Date(v)), }); /** @internal */ export type ApplePayMerchantDomains$Outbound = { accountID: string; displayName: string; domains: Array; createdOn: string; updatedOn: string; }; /** @internal */ export const ApplePayMerchantDomains$outboundSchema: z.ZodType< ApplePayMerchantDomains$Outbound, z.ZodTypeDef, ApplePayMerchantDomains > = z.object({ accountID: z.string(), displayName: z.string(), domains: z.array(z.string()), createdOn: z.date().transform(v => v.toISOString()), updatedOn: z.date().transform(v => v.toISOString()), }); export function applePayMerchantDomainsToJSON( applePayMerchantDomains: ApplePayMerchantDomains, ): string { return JSON.stringify( ApplePayMerchantDomains$outboundSchema.parse(applePayMerchantDomains), ); } export function applePayMerchantDomainsFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => ApplePayMerchantDomains$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'ApplePayMerchantDomains' from JSON`, ); }