/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. * @generated-id: a28bd166c1da */ 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 { CustomFieldValue, CustomFieldValue$inboundSchema, CustomFieldValue$Outbound, CustomFieldValue$outboundSchema, } from "./customfieldvalue.js"; export type CustomFieldData = { /** * A user-facing label for this field. */ label: string; values: Array; /** * Determines whether the client should display this custom field */ displayable?: boolean | undefined; }; /** @internal */ export const CustomFieldData$inboundSchema: z.ZodType< CustomFieldData, z.ZodTypeDef, unknown > = z.object({ label: z.string(), values: z.array(z.lazy(() => CustomFieldValue$inboundSchema)), displayable: z.boolean().default(true), }); /** @internal */ export type CustomFieldData$Outbound = { label: string; values: Array; displayable: boolean; }; /** @internal */ export const CustomFieldData$outboundSchema: z.ZodType< CustomFieldData$Outbound, z.ZodTypeDef, CustomFieldData > = z.object({ label: z.string(), values: z.array(z.lazy(() => CustomFieldValue$outboundSchema)), displayable: z.boolean().default(true), }); export function customFieldDataToJSON( customFieldData: CustomFieldData, ): string { return JSON.stringify(CustomFieldData$outboundSchema.parse(customFieldData)); } export function customFieldDataFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => CustomFieldData$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CustomFieldData' from JSON`, ); }