/*
 * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
 */

import * as z from "zod/v4-mini";
import { safeParse } from "../../lib/schemas.js";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";

export type CustomFieldSelectOption = {
  value: string;
  label: string;
};

/** @internal */
export const CustomFieldSelectOption$inboundSchema: z.ZodMiniType<
  CustomFieldSelectOption,
  unknown
> = z.object({
  value: z.string(),
  label: z.string(),
});
/** @internal */
export type CustomFieldSelectOption$Outbound = {
  value: string;
  label: string;
};

/** @internal */
export const CustomFieldSelectOption$outboundSchema: z.ZodMiniType<
  CustomFieldSelectOption$Outbound,
  CustomFieldSelectOption
> = z.object({
  value: z.string(),
  label: z.string(),
});

export function customFieldSelectOptionToJSON(
  customFieldSelectOption: CustomFieldSelectOption,
): string {
  return JSON.stringify(
    CustomFieldSelectOption$outboundSchema.parse(customFieldSelectOption),
  );
}
export function customFieldSelectOptionFromJSON(
  jsonString: string,
): SafeParseResult<CustomFieldSelectOption, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) => CustomFieldSelectOption$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'CustomFieldSelectOption' from JSON`,
  );
}
