/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import * as z from "zod/v3"; import { remap as remap$ } from "../../lib/primitives.js"; import { ClosedEnum } from "../../types/enums.js"; /** * Bank account type */ export const ContractorBankAccountCreateRequestBodyAccountType = { Checking: "Checking", Savings: "Savings", } as const; /** * Bank account type */ export type ContractorBankAccountCreateRequestBodyAccountType = ClosedEnum< typeof ContractorBankAccountCreateRequestBodyAccountType >; export type ContractorBankAccountCreateRequestBody = { /** * Name for the bank account */ name: string; /** * The bank account's routing number */ routingNumber: string; /** * The bank account's account number */ accountNumber: string; /** * Bank account type */ accountType: ContractorBankAccountCreateRequestBodyAccountType; }; /** @internal */ export const ContractorBankAccountCreateRequestBodyAccountType$outboundSchema: z.ZodNativeEnum = z .nativeEnum(ContractorBankAccountCreateRequestBodyAccountType); /** @internal */ export type ContractorBankAccountCreateRequestBody$Outbound = { name: string; routing_number: string; account_number: string; account_type: string; }; /** @internal */ export const ContractorBankAccountCreateRequestBody$outboundSchema: z.ZodType< ContractorBankAccountCreateRequestBody$Outbound, z.ZodTypeDef, ContractorBankAccountCreateRequestBody > = z.object({ name: z.string(), routingNumber: z.string(), accountNumber: z.string(), accountType: ContractorBankAccountCreateRequestBodyAccountType$outboundSchema, }).transform((v) => { return remap$(v, { routingNumber: "routing_number", accountNumber: "account_number", accountType: "account_type", }); }); export function contractorBankAccountCreateRequestBodyToJSON( contractorBankAccountCreateRequestBody: ContractorBankAccountCreateRequestBody, ): string { return JSON.stringify( ContractorBankAccountCreateRequestBody$outboundSchema.parse( contractorBankAccountCreateRequestBody, ), ); }