/* * 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 { AchLocation, AchLocation$inboundSchema, AchLocation$Outbound, AchLocation$outboundSchema, } from "./achlocation.js"; export type Logo = { name: string; url: string; }; export type AchParticipant = { achLocation: AchLocation; customerName: string; newRoutingNumber: string; officeCode: string; phoneNumber: string; recordTypeCode: string; revised: string; routingNumber: string; servicingFRBNumber: string; statusCode: string; viewCode: string; cleanName: string; logo: Logo | null; }; /** @internal */ export const Logo$inboundSchema: z.ZodType = z .object({ name: z.string(), url: z.string(), }); /** @internal */ export type Logo$Outbound = { name: string; url: string; }; /** @internal */ export const Logo$outboundSchema: z.ZodType = z.object({ name: z.string(), url: z.string(), }); export function logoToJSON(logo: Logo): string { return JSON.stringify(Logo$outboundSchema.parse(logo)); } export function logoFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => Logo$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'Logo' from JSON`, ); } /** @internal */ export const AchParticipant$inboundSchema: z.ZodType< AchParticipant, z.ZodTypeDef, unknown > = z.object({ achLocation: AchLocation$inboundSchema, customerName: z.string(), newRoutingNumber: z.string(), officeCode: z.string(), phoneNumber: z.string(), recordTypeCode: z.string(), revised: z.string(), routingNumber: z.string(), servicingFRBNumber: z.string(), statusCode: z.string(), viewCode: z.string(), cleanName: z.string(), logo: z.nullable(z.lazy(() => Logo$inboundSchema)), }); /** @internal */ export type AchParticipant$Outbound = { achLocation: AchLocation$Outbound; customerName: string; newRoutingNumber: string; officeCode: string; phoneNumber: string; recordTypeCode: string; revised: string; routingNumber: string; servicingFRBNumber: string; statusCode: string; viewCode: string; cleanName: string; logo: Logo$Outbound | null; }; /** @internal */ export const AchParticipant$outboundSchema: z.ZodType< AchParticipant$Outbound, z.ZodTypeDef, AchParticipant > = z.object({ achLocation: AchLocation$outboundSchema, customerName: z.string(), newRoutingNumber: z.string(), officeCode: z.string(), phoneNumber: z.string(), recordTypeCode: z.string(), revised: z.string(), routingNumber: z.string(), servicingFRBNumber: z.string(), statusCode: z.string(), viewCode: z.string(), cleanName: z.string(), logo: z.nullable(z.lazy(() => Logo$outboundSchema)), }); export function achParticipantToJSON(achParticipant: AchParticipant): string { return JSON.stringify(AchParticipant$outboundSchema.parse(achParticipant)); } export function achParticipantFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => AchParticipant$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'AchParticipant' from JSON`, ); }