/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import * as z from "zod"; import { remap as remap$ } from "../../lib/primitives.js"; import { safeParse } from "../../lib/schemas.js"; import { catchUnrecognizedEnum, OpenEnum, Unrecognized, } from "../../types/enums.js"; import { Result as SafeParseResult } from "../../types/fp.js"; import { SDKValidationError } from "../errors/sdkvalidationerror.js"; /** * Option to auto-enroll in Dividend Reinvestment; defaults to DIVIDEND_REINVESTMENT_ENROLL */ export enum TrustEnrollmentMetadataCreateDividendReinvestmentPlan { AutoEnrollDividendReinvestmentUnspecified = "AUTO_ENROLL_DIVIDEND_REINVESTMENT_UNSPECIFIED", DividendReinvestmentEnroll = "DIVIDEND_REINVESTMENT_ENROLL", DividendReinvestmentDecline = "DIVIDEND_REINVESTMENT_DECLINE", } /** * Option to auto-enroll in Dividend Reinvestment; defaults to DIVIDEND_REINVESTMENT_ENROLL */ export type TrustEnrollmentMetadataCreateDividendReinvestmentPlanOpen = OpenEnum; /** * Option to auto-enroll in FDIC cash sweep; defaults to FDIC_CASH_SWEEP_ENROLL */ export enum TrustEnrollmentMetadataCreateFdicCashSweep { AutoEnrollFdicCashSweepUnspecified = "AUTO_ENROLL_FDIC_CASH_SWEEP_UNSPECIFIED", FdicCashSweepEnroll = "FDIC_CASH_SWEEP_ENROLL", FdicCashSweepDecline = "FDIC_CASH_SWEEP_DECLINE", } /** * Option to auto-enroll in FDIC cash sweep; defaults to FDIC_CASH_SWEEP_ENROLL */ export type TrustEnrollmentMetadataCreateFdicCashSweepOpen = OpenEnum< typeof TrustEnrollmentMetadataCreateFdicCashSweep >; /** * Option to auto-enroll in Money Market Fund Sweep; defaults to MONEY_MARKET_FUND_SWEEP_ENROLL */ export enum TrustEnrollmentMetadataCreateMoneyMarketFundSweep { AutoEnrollMoneyMarketFundSweepUnspecified = "AUTO_ENROLL_MONEY_MARKET_FUND_SWEEP_UNSPECIFIED", MoneyMarketFundSweepEnroll = "MONEY_MARKET_FUND_SWEEP_ENROLL", MoneyMarketFundSweepDecline = "MONEY_MARKET_FUND_SWEEP_DECLINE", } /** * Option to auto-enroll in Money Market Fund Sweep; defaults to MONEY_MARKET_FUND_SWEEP_ENROLL */ export type TrustEnrollmentMetadataCreateMoneyMarketFundSweepOpen = OpenEnum< typeof TrustEnrollmentMetadataCreateMoneyMarketFundSweep >; /** * Trust account is opened on behalf of */ export enum OpenedOnBehalfOf { OpenedOnBehalfOfUnspecified = "OPENED_ON_BEHALF_OF_UNSPECIFIED", PersonalTrust = "PERSONAL_TRUST", BusinessTrust = "BUSINESS_TRUST", ThirdPartyAdministrator = "THIRD_PARTY_ADMINISTRATOR", } /** * Trust account is opened on behalf of */ export type OpenedOnBehalfOfOpen = OpenEnum; export type TrustEnrollmentMetadataCreate = { /** * Option to auto-enroll in Dividend Reinvestment; defaults to DIVIDEND_REINVESTMENT_ENROLL */ dividendReinvestmentPlan?: | TrustEnrollmentMetadataCreateDividendReinvestmentPlanOpen | undefined; /** * Option to auto-enroll in FDIC cash sweep; defaults to FDIC_CASH_SWEEP_ENROLL */ fdicCashSweep?: TrustEnrollmentMetadataCreateFdicCashSweepOpen | undefined; /** * Option to auto-enroll in Money Market Fund Sweep; defaults to MONEY_MARKET_FUND_SWEEP_ENROLL */ moneyMarketFundSweep?: | TrustEnrollmentMetadataCreateMoneyMarketFundSweepOpen | undefined; /** * Trust account is opened on behalf of */ openedOnBehalfOf: OpenedOnBehalfOfOpen; }; /** @internal */ export const TrustEnrollmentMetadataCreateDividendReinvestmentPlan$inboundSchema: z.ZodType< TrustEnrollmentMetadataCreateDividendReinvestmentPlanOpen, z.ZodTypeDef, unknown > = z .union([ z.nativeEnum(TrustEnrollmentMetadataCreateDividendReinvestmentPlan), z.string().transform(catchUnrecognizedEnum), ]); /** @internal */ export const TrustEnrollmentMetadataCreateDividendReinvestmentPlan$outboundSchema: z.ZodType< TrustEnrollmentMetadataCreateDividendReinvestmentPlanOpen, z.ZodTypeDef, TrustEnrollmentMetadataCreateDividendReinvestmentPlanOpen > = z.union([ z.nativeEnum(TrustEnrollmentMetadataCreateDividendReinvestmentPlan), z.string().and(z.custom>()), ]); /** * @internal * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. */ export namespace TrustEnrollmentMetadataCreateDividendReinvestmentPlan$ { /** @deprecated use `TrustEnrollmentMetadataCreateDividendReinvestmentPlan$inboundSchema` instead. */ export const inboundSchema = TrustEnrollmentMetadataCreateDividendReinvestmentPlan$inboundSchema; /** @deprecated use `TrustEnrollmentMetadataCreateDividendReinvestmentPlan$outboundSchema` instead. */ export const outboundSchema = TrustEnrollmentMetadataCreateDividendReinvestmentPlan$outboundSchema; } /** @internal */ export const TrustEnrollmentMetadataCreateFdicCashSweep$inboundSchema: z.ZodType< TrustEnrollmentMetadataCreateFdicCashSweepOpen, z.ZodTypeDef, unknown > = z .union([ z.nativeEnum(TrustEnrollmentMetadataCreateFdicCashSweep), z.string().transform(catchUnrecognizedEnum), ]); /** @internal */ export const TrustEnrollmentMetadataCreateFdicCashSweep$outboundSchema: z.ZodType< TrustEnrollmentMetadataCreateFdicCashSweepOpen, z.ZodTypeDef, TrustEnrollmentMetadataCreateFdicCashSweepOpen > = z.union([ z.nativeEnum(TrustEnrollmentMetadataCreateFdicCashSweep), z.string().and(z.custom>()), ]); /** * @internal * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. */ export namespace TrustEnrollmentMetadataCreateFdicCashSweep$ { /** @deprecated use `TrustEnrollmentMetadataCreateFdicCashSweep$inboundSchema` instead. */ export const inboundSchema = TrustEnrollmentMetadataCreateFdicCashSweep$inboundSchema; /** @deprecated use `TrustEnrollmentMetadataCreateFdicCashSweep$outboundSchema` instead. */ export const outboundSchema = TrustEnrollmentMetadataCreateFdicCashSweep$outboundSchema; } /** @internal */ export const TrustEnrollmentMetadataCreateMoneyMarketFundSweep$inboundSchema: z.ZodType< TrustEnrollmentMetadataCreateMoneyMarketFundSweepOpen, z.ZodTypeDef, unknown > = z .union([ z.nativeEnum(TrustEnrollmentMetadataCreateMoneyMarketFundSweep), z.string().transform(catchUnrecognizedEnum), ]); /** @internal */ export const TrustEnrollmentMetadataCreateMoneyMarketFundSweep$outboundSchema: z.ZodType< TrustEnrollmentMetadataCreateMoneyMarketFundSweepOpen, z.ZodTypeDef, TrustEnrollmentMetadataCreateMoneyMarketFundSweepOpen > = z.union([ z.nativeEnum(TrustEnrollmentMetadataCreateMoneyMarketFundSweep), z.string().and(z.custom>()), ]); /** * @internal * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. */ export namespace TrustEnrollmentMetadataCreateMoneyMarketFundSweep$ { /** @deprecated use `TrustEnrollmentMetadataCreateMoneyMarketFundSweep$inboundSchema` instead. */ export const inboundSchema = TrustEnrollmentMetadataCreateMoneyMarketFundSweep$inboundSchema; /** @deprecated use `TrustEnrollmentMetadataCreateMoneyMarketFundSweep$outboundSchema` instead. */ export const outboundSchema = TrustEnrollmentMetadataCreateMoneyMarketFundSweep$outboundSchema; } /** @internal */ export const OpenedOnBehalfOf$inboundSchema: z.ZodType< OpenedOnBehalfOfOpen, z.ZodTypeDef, unknown > = z .union([ z.nativeEnum(OpenedOnBehalfOf), z.string().transform(catchUnrecognizedEnum), ]); /** @internal */ export const OpenedOnBehalfOf$outboundSchema: z.ZodType< OpenedOnBehalfOfOpen, z.ZodTypeDef, OpenedOnBehalfOfOpen > = z.union([ z.nativeEnum(OpenedOnBehalfOf), z.string().and(z.custom>()), ]); /** * @internal * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. */ export namespace OpenedOnBehalfOf$ { /** @deprecated use `OpenedOnBehalfOf$inboundSchema` instead. */ export const inboundSchema = OpenedOnBehalfOf$inboundSchema; /** @deprecated use `OpenedOnBehalfOf$outboundSchema` instead. */ export const outboundSchema = OpenedOnBehalfOf$outboundSchema; } /** @internal */ export const TrustEnrollmentMetadataCreate$inboundSchema: z.ZodType< TrustEnrollmentMetadataCreate, z.ZodTypeDef, unknown > = z.object({ dividend_reinvestment_plan: TrustEnrollmentMetadataCreateDividendReinvestmentPlan$inboundSchema .optional(), fdic_cash_sweep: TrustEnrollmentMetadataCreateFdicCashSweep$inboundSchema .optional(), money_market_fund_sweep: TrustEnrollmentMetadataCreateMoneyMarketFundSweep$inboundSchema.optional(), opened_on_behalf_of: OpenedOnBehalfOf$inboundSchema, }).transform((v) => { return remap$(v, { "dividend_reinvestment_plan": "dividendReinvestmentPlan", "fdic_cash_sweep": "fdicCashSweep", "money_market_fund_sweep": "moneyMarketFundSweep", "opened_on_behalf_of": "openedOnBehalfOf", }); }); /** @internal */ export type TrustEnrollmentMetadataCreate$Outbound = { dividend_reinvestment_plan?: string | undefined; fdic_cash_sweep?: string | undefined; money_market_fund_sweep?: string | undefined; opened_on_behalf_of: string; }; /** @internal */ export const TrustEnrollmentMetadataCreate$outboundSchema: z.ZodType< TrustEnrollmentMetadataCreate$Outbound, z.ZodTypeDef, TrustEnrollmentMetadataCreate > = z.object({ dividendReinvestmentPlan: TrustEnrollmentMetadataCreateDividendReinvestmentPlan$outboundSchema .optional(), fdicCashSweep: TrustEnrollmentMetadataCreateFdicCashSweep$outboundSchema .optional(), moneyMarketFundSweep: TrustEnrollmentMetadataCreateMoneyMarketFundSweep$outboundSchema.optional(), openedOnBehalfOf: OpenedOnBehalfOf$outboundSchema, }).transform((v) => { return remap$(v, { dividendReinvestmentPlan: "dividend_reinvestment_plan", fdicCashSweep: "fdic_cash_sweep", moneyMarketFundSweep: "money_market_fund_sweep", openedOnBehalfOf: "opened_on_behalf_of", }); }); /** * @internal * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. */ export namespace TrustEnrollmentMetadataCreate$ { /** @deprecated use `TrustEnrollmentMetadataCreate$inboundSchema` instead. */ export const inboundSchema = TrustEnrollmentMetadataCreate$inboundSchema; /** @deprecated use `TrustEnrollmentMetadataCreate$outboundSchema` instead. */ export const outboundSchema = TrustEnrollmentMetadataCreate$outboundSchema; /** @deprecated use `TrustEnrollmentMetadataCreate$Outbound` instead. */ export type Outbound = TrustEnrollmentMetadataCreate$Outbound; } export function trustEnrollmentMetadataCreateToJSON( trustEnrollmentMetadataCreate: TrustEnrollmentMetadataCreate, ): string { return JSON.stringify( TrustEnrollmentMetadataCreate$outboundSchema.parse( trustEnrollmentMetadataCreate, ), ); } export function trustEnrollmentMetadataCreateFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => TrustEnrollmentMetadataCreate$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'TrustEnrollmentMetadataCreate' from JSON`, ); }