/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import * as z from "zod/v4-mini"; 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"; import { CustomField, CustomField$inboundSchema, CustomField$Outbound, CustomField$outboundSchema, } from "./customfield.js"; /** * Schema of a custom field attached to a resource. */ export type AttachedCustomField = { /** * ID of the custom field. */ customFieldId: string; customField: CustomField; /** * Order of the custom field in the resource. */ order: number; /** * Whether the value is required for this custom field. */ required: boolean; }; /** @internal */ export const AttachedCustomField$inboundSchema: z.ZodMiniType< AttachedCustomField, unknown > = z.pipe( z.object({ custom_field_id: z.string(), custom_field: CustomField$inboundSchema, order: z.int(), required: z.boolean(), }), z.transform((v) => { return remap$(v, { "custom_field_id": "customFieldId", "custom_field": "customField", }); }), ); /** @internal */ export type AttachedCustomField$Outbound = { custom_field_id: string; custom_field: CustomField$Outbound; order: number; required: boolean; }; /** @internal */ export const AttachedCustomField$outboundSchema: z.ZodMiniType< AttachedCustomField$Outbound, AttachedCustomField > = z.pipe( z.object({ customFieldId: z.string(), customField: CustomField$outboundSchema, order: z.int(), required: z.boolean(), }), z.transform((v) => { return remap$(v, { customFieldId: "custom_field_id", customField: "custom_field", }); }), ); export function attachedCustomFieldToJSON( attachedCustomField: AttachedCustomField, ): string { return JSON.stringify( AttachedCustomField$outboundSchema.parse(attachedCustomField), ); } export function attachedCustomFieldFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => AttachedCustomField$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'AttachedCustomField' from JSON`, ); }