/* * 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"; export enum ResidencyStatus { ResidencyStatusUnspecified = "RESIDENCY_STATUS_UNSPECIFIED", UsPermanentResident = "US_PERMANENT_RESIDENT", UsTemporaryResident = "US_TEMPORARY_RESIDENT", UsNonResident = "US_NON_RESIDENT", } export type ResidencyStatusOpen = OpenEnum; /** * Non Citizenship Residency to facilitate non-Citizen lawful US residents to open domestic accounts. */ export type NonCitizenResidencyCreate = { residencyStatus: ResidencyStatusOpen; }; /** @internal */ export const ResidencyStatus$inboundSchema: z.ZodType< ResidencyStatusOpen, z.ZodTypeDef, unknown > = z .union([ z.nativeEnum(ResidencyStatus), z.string().transform(catchUnrecognizedEnum), ]); /** @internal */ export const ResidencyStatus$outboundSchema: z.ZodType< ResidencyStatusOpen, z.ZodTypeDef, ResidencyStatusOpen > = z.union([ z.nativeEnum(ResidencyStatus), 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 ResidencyStatus$ { /** @deprecated use `ResidencyStatus$inboundSchema` instead. */ export const inboundSchema = ResidencyStatus$inboundSchema; /** @deprecated use `ResidencyStatus$outboundSchema` instead. */ export const outboundSchema = ResidencyStatus$outboundSchema; } /** @internal */ export const NonCitizenResidencyCreate$inboundSchema: z.ZodType< NonCitizenResidencyCreate, z.ZodTypeDef, unknown > = z.object({ residency_status: ResidencyStatus$inboundSchema, }).transform((v) => { return remap$(v, { "residency_status": "residencyStatus", }); }); /** @internal */ export type NonCitizenResidencyCreate$Outbound = { residency_status: string; }; /** @internal */ export const NonCitizenResidencyCreate$outboundSchema: z.ZodType< NonCitizenResidencyCreate$Outbound, z.ZodTypeDef, NonCitizenResidencyCreate > = z.object({ residencyStatus: ResidencyStatus$outboundSchema, }).transform((v) => { return remap$(v, { residencyStatus: "residency_status", }); }); /** * @internal * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. */ export namespace NonCitizenResidencyCreate$ { /** @deprecated use `NonCitizenResidencyCreate$inboundSchema` instead. */ export const inboundSchema = NonCitizenResidencyCreate$inboundSchema; /** @deprecated use `NonCitizenResidencyCreate$outboundSchema` instead. */ export const outboundSchema = NonCitizenResidencyCreate$outboundSchema; /** @deprecated use `NonCitizenResidencyCreate$Outbound` instead. */ export type Outbound = NonCitizenResidencyCreate$Outbound; } export function nonCitizenResidencyCreateToJSON( nonCitizenResidencyCreate: NonCitizenResidencyCreate, ): string { return JSON.stringify( NonCitizenResidencyCreate$outboundSchema.parse(nonCitizenResidencyCreate), ); } export function nonCitizenResidencyCreateFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => NonCitizenResidencyCreate$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'NonCitizenResidencyCreate' from JSON`, ); }