/* * 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 { Result as SafeParseResult } from "../../types/fp.js"; import { SDKValidationError } from "../errors/sdkvalidationerror.js"; export enum EmailState { Missing = "missing", Unverified = "unverified", Verified = "verified", } export enum PhoneState { Missing = "missing", Unverified = "unverified", Verified = "verified", } export type AccountTestCreationDataOutput = { email: string; emailState: EmailState; phone: string; phoneState: PhoneState; otpCode: string; oauthCode: string; }; export type AccountTestCreationData = { emailState: EmailState; phoneState: PhoneState; isMigrated?: boolean | undefined; hasAddress?: boolean | undefined; hasCreditCard?: boolean | undefined; }; /** @internal */ export const EmailState$inboundSchema: z.ZodNativeEnum = z .nativeEnum(EmailState); /** @internal */ export const EmailState$outboundSchema: z.ZodNativeEnum = EmailState$inboundSchema; /** * @internal * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. */ export namespace EmailState$ { /** @deprecated use `EmailState$inboundSchema` instead. */ export const inboundSchema = EmailState$inboundSchema; /** @deprecated use `EmailState$outboundSchema` instead. */ export const outboundSchema = EmailState$outboundSchema; } /** @internal */ export const PhoneState$inboundSchema: z.ZodNativeEnum = z .nativeEnum(PhoneState); /** @internal */ export const PhoneState$outboundSchema: z.ZodNativeEnum = PhoneState$inboundSchema; /** * @internal * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. */ export namespace PhoneState$ { /** @deprecated use `PhoneState$inboundSchema` instead. */ export const inboundSchema = PhoneState$inboundSchema; /** @deprecated use `PhoneState$outboundSchema` instead. */ export const outboundSchema = PhoneState$outboundSchema; } /** @internal */ export const AccountTestCreationDataOutput$inboundSchema: z.ZodType< AccountTestCreationDataOutput, z.ZodTypeDef, unknown > = z.object({ email: z.string(), email_state: EmailState$inboundSchema, phone: z.string(), phone_state: PhoneState$inboundSchema, otp_code: z.string(), oauth_code: z.string(), }).transform((v) => { return remap$(v, { "email_state": "emailState", "phone_state": "phoneState", "otp_code": "otpCode", "oauth_code": "oauthCode", }); }); /** @internal */ export type AccountTestCreationDataOutput$Outbound = { email: string; email_state: string; phone: string; phone_state: string; otp_code: string; oauth_code: string; }; /** @internal */ export const AccountTestCreationDataOutput$outboundSchema: z.ZodType< AccountTestCreationDataOutput$Outbound, z.ZodTypeDef, AccountTestCreationDataOutput > = z.object({ email: z.string(), emailState: EmailState$outboundSchema, phone: z.string(), phoneState: PhoneState$outboundSchema, otpCode: z.string(), oauthCode: z.string(), }).transform((v) => { return remap$(v, { emailState: "email_state", phoneState: "phone_state", otpCode: "otp_code", oauthCode: "oauth_code", }); }); /** * @internal * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. */ export namespace AccountTestCreationDataOutput$ { /** @deprecated use `AccountTestCreationDataOutput$inboundSchema` instead. */ export const inboundSchema = AccountTestCreationDataOutput$inboundSchema; /** @deprecated use `AccountTestCreationDataOutput$outboundSchema` instead. */ export const outboundSchema = AccountTestCreationDataOutput$outboundSchema; /** @deprecated use `AccountTestCreationDataOutput$Outbound` instead. */ export type Outbound = AccountTestCreationDataOutput$Outbound; } export function accountTestCreationDataOutputToJSON( accountTestCreationDataOutput: AccountTestCreationDataOutput, ): string { return JSON.stringify( AccountTestCreationDataOutput$outboundSchema.parse( accountTestCreationDataOutput, ), ); } export function accountTestCreationDataOutputFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => AccountTestCreationDataOutput$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'AccountTestCreationDataOutput' from JSON`, ); } /** @internal */ export const AccountTestCreationData$inboundSchema: z.ZodType< AccountTestCreationData, z.ZodTypeDef, unknown > = z.object({ email_state: EmailState$inboundSchema, phone_state: PhoneState$inboundSchema, is_migrated: z.boolean().optional(), has_address: z.boolean().optional(), has_credit_card: z.boolean().optional(), }).transform((v) => { return remap$(v, { "email_state": "emailState", "phone_state": "phoneState", "is_migrated": "isMigrated", "has_address": "hasAddress", "has_credit_card": "hasCreditCard", }); }); /** @internal */ export type AccountTestCreationData$Outbound = { email_state: string; phone_state: string; is_migrated?: boolean | undefined; has_address?: boolean | undefined; has_credit_card?: boolean | undefined; }; /** @internal */ export const AccountTestCreationData$outboundSchema: z.ZodType< AccountTestCreationData$Outbound, z.ZodTypeDef, AccountTestCreationData > = z.object({ emailState: EmailState$outboundSchema, phoneState: PhoneState$outboundSchema, isMigrated: z.boolean().optional(), hasAddress: z.boolean().optional(), hasCreditCard: z.boolean().optional(), }).transform((v) => { return remap$(v, { emailState: "email_state", phoneState: "phone_state", isMigrated: "is_migrated", hasAddress: "has_address", hasCreditCard: "has_credit_card", }); }); /** * @internal * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. */ export namespace AccountTestCreationData$ { /** @deprecated use `AccountTestCreationData$inboundSchema` instead. */ export const inboundSchema = AccountTestCreationData$inboundSchema; /** @deprecated use `AccountTestCreationData$outboundSchema` instead. */ export const outboundSchema = AccountTestCreationData$outboundSchema; /** @deprecated use `AccountTestCreationData$Outbound` instead. */ export type Outbound = AccountTestCreationData$Outbound; } export function accountTestCreationDataToJSON( accountTestCreationData: AccountTestCreationData, ): string { return JSON.stringify( AccountTestCreationData$outboundSchema.parse(accountTestCreationData), ); } export function accountTestCreationDataFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => AccountTestCreationData$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'AccountTestCreationData' from JSON`, ); }