/* * 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 { BankAccountPayload, BankAccountPayload$inboundSchema, BankAccountPayload$Outbound, BankAccountPayload$outboundSchema, } from "./bankaccountpayload.js"; import { MxPayload, MxPayload$inboundSchema, MxPayload$Outbound, MxPayload$outboundSchema, } from "./mxpayload.js"; import { PlaidLinkPayload, PlaidLinkPayload$inboundSchema, PlaidLinkPayload$Outbound, PlaidLinkPayload$outboundSchema, } from "./plaidlinkpayload.js"; import { PlaidPayload, PlaidPayload$inboundSchema, PlaidPayload$Outbound, PlaidPayload$outboundSchema, } from "./plaidpayload.js"; export type LinkBankAccount = | BankAccountPayload | PlaidPayload | PlaidLinkPayload | MxPayload; /** @internal */ export const LinkBankAccount$inboundSchema: z.ZodType< LinkBankAccount, z.ZodTypeDef, unknown > = z.union([ BankAccountPayload$inboundSchema, PlaidPayload$inboundSchema, PlaidLinkPayload$inboundSchema, MxPayload$inboundSchema, ]); /** @internal */ export type LinkBankAccount$Outbound = | BankAccountPayload$Outbound | PlaidPayload$Outbound | PlaidLinkPayload$Outbound | MxPayload$Outbound; /** @internal */ export const LinkBankAccount$outboundSchema: z.ZodType< LinkBankAccount$Outbound, z.ZodTypeDef, LinkBankAccount > = z.union([ BankAccountPayload$outboundSchema, PlaidPayload$outboundSchema, PlaidLinkPayload$outboundSchema, MxPayload$outboundSchema, ]); export function linkBankAccountToJSON( linkBankAccount: LinkBankAccount, ): string { return JSON.stringify(LinkBankAccount$outboundSchema.parse(linkBankAccount)); } export function linkBankAccountFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => LinkBankAccount$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'LinkBankAccount' from JSON`, ); }