/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import * as z from "zod/v3"; 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 type ComputeReadiness2 = { port: string; type: "tcp"; }; export type ComputeReadiness1 = { path: string; port: string; successStatus: number; type: "http"; }; export type ComputeReadiness = ComputeReadiness1 | ComputeReadiness2; /** @internal */ export const ComputeReadiness2$inboundSchema: z.ZodType< ComputeReadiness2, z.ZodTypeDef, unknown > = z.object({ port: z.string(), type: z.literal("tcp"), }); /** @internal */ export type ComputeReadiness2$Outbound = { port: string; type: "tcp"; }; /** @internal */ export const ComputeReadiness2$outboundSchema: z.ZodType< ComputeReadiness2$Outbound, z.ZodTypeDef, ComputeReadiness2 > = z.object({ port: z.string(), type: z.literal("tcp"), }); export function computeReadiness2ToJSON( computeReadiness2: ComputeReadiness2, ): string { return JSON.stringify( ComputeReadiness2$outboundSchema.parse(computeReadiness2), ); } export function computeReadiness2FromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => ComputeReadiness2$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'ComputeReadiness2' from JSON`, ); } /** @internal */ export const ComputeReadiness1$inboundSchema: z.ZodType< ComputeReadiness1, z.ZodTypeDef, unknown > = z.object({ path: z.string(), port: z.string(), success_status: z.number().int(), type: z.literal("http"), }).transform((v) => { return remap$(v, { "success_status": "successStatus", }); }); /** @internal */ export type ComputeReadiness1$Outbound = { path: string; port: string; success_status: number; type: "http"; }; /** @internal */ export const ComputeReadiness1$outboundSchema: z.ZodType< ComputeReadiness1$Outbound, z.ZodTypeDef, ComputeReadiness1 > = z.object({ path: z.string(), port: z.string(), successStatus: z.number().int(), type: z.literal("http"), }).transform((v) => { return remap$(v, { successStatus: "success_status", }); }); export function computeReadiness1ToJSON( computeReadiness1: ComputeReadiness1, ): string { return JSON.stringify( ComputeReadiness1$outboundSchema.parse(computeReadiness1), ); } export function computeReadiness1FromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => ComputeReadiness1$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'ComputeReadiness1' from JSON`, ); } /** @internal */ export const ComputeReadiness$inboundSchema: z.ZodType< ComputeReadiness, z.ZodTypeDef, unknown > = z.union([ z.lazy(() => ComputeReadiness1$inboundSchema), z.lazy(() => ComputeReadiness2$inboundSchema), ]); /** @internal */ export type ComputeReadiness$Outbound = | ComputeReadiness1$Outbound | ComputeReadiness2$Outbound; /** @internal */ export const ComputeReadiness$outboundSchema: z.ZodType< ComputeReadiness$Outbound, z.ZodTypeDef, ComputeReadiness > = z.union([ z.lazy(() => ComputeReadiness1$outboundSchema), z.lazy(() => ComputeReadiness2$outboundSchema), ]); export function computeReadinessToJSON( computeReadiness: ComputeReadiness, ): string { return JSON.stringify( ComputeReadiness$outboundSchema.parse(computeReadiness), ); } export function computeReadinessFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => ComputeReadiness$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'ComputeReadiness' from JSON`, ); }