/* * 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 { CheckboxFieldConfig, CheckboxFieldConfig$inboundSchema, CheckboxFieldConfig$Outbound, CheckboxFieldConfig$outboundSchema, } from "./checkboxfieldconfig.js"; import { CustomFieldRequestType, CustomFieldRequestType$inboundSchema, CustomFieldRequestType$outboundSchema, } from "./customfieldrequesttype.js"; import { TextFieldConfig, TextFieldConfig$inboundSchema, TextFieldConfig$Outbound, TextFieldConfig$outboundSchema, } from "./textfieldconfig.js"; export type CustomFieldRequestEntity = { /** * The type of the field. */ type: CustomFieldRequestType; /** * Unique key for custom field. Must be unique to this field, alphanumeric, and up to 200 characters. */ key: string; /** * The label for the field, displayed to the customer, up to 50 characters. */ label: string; /** * Whether the customer is required to complete the field. Defaults to `false` */ optional?: boolean | undefined; /** * Configuration for text field type. */ text?: TextFieldConfig | undefined; /** * Configuration for checkbox field type. */ checkbox?: CheckboxFieldConfig | undefined; }; /** @internal */ export const CustomFieldRequestEntity$inboundSchema: z.ZodType< CustomFieldRequestEntity, z.ZodTypeDef, unknown > = z.object({ type: CustomFieldRequestType$inboundSchema, key: z.string(), label: z.string(), optional: z.boolean().optional(), text: TextFieldConfig$inboundSchema.optional(), checkbox: CheckboxFieldConfig$inboundSchema.optional(), }); /** @internal */ export type CustomFieldRequestEntity$Outbound = { type: string; key: string; label: string; optional?: boolean | undefined; text?: TextFieldConfig$Outbound | undefined; checkbox?: CheckboxFieldConfig$Outbound | undefined; }; /** @internal */ export const CustomFieldRequestEntity$outboundSchema: z.ZodType< CustomFieldRequestEntity$Outbound, z.ZodTypeDef, CustomFieldRequestEntity > = z.object({ type: CustomFieldRequestType$outboundSchema, key: z.string(), label: z.string(), optional: z.boolean().optional(), text: TextFieldConfig$outboundSchema.optional(), checkbox: CheckboxFieldConfig$outboundSchema.optional(), }); export function customFieldRequestEntityToJSON( customFieldRequestEntity: CustomFieldRequestEntity, ): string { return JSON.stringify( CustomFieldRequestEntity$outboundSchema.parse(customFieldRequestEntity), ); } export function customFieldRequestEntityFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => CustomFieldRequestEntity$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CustomFieldRequestEntity' from JSON`, ); }