/* * 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 { ClosedEnum } from "../../types/enums.js"; import { Result as SafeParseResult } from "../../types/fp.js"; import { SDKValidationError } from "../errors/sdkvalidationerror.js"; export const ComputeVolumeDataType = { Huggingface: "huggingface", Git: "git", } as const; export type ComputeVolumeDataType = ClosedEnum; export type ComputeVolumeData = { path: string; resolvedRevision: string | null; revision: string | null; type: ComputeVolumeDataType; url: string; }; /** @internal */ export const ComputeVolumeDataType$inboundSchema: z.ZodNativeEnum< typeof ComputeVolumeDataType > = z.nativeEnum(ComputeVolumeDataType); /** @internal */ export const ComputeVolumeDataType$outboundSchema: z.ZodNativeEnum< typeof ComputeVolumeDataType > = ComputeVolumeDataType$inboundSchema; /** @internal */ export const ComputeVolumeData$inboundSchema: z.ZodType< ComputeVolumeData, z.ZodTypeDef, unknown > = z.object({ path: z.string(), resolved_revision: z.nullable(z.string()), revision: z.nullable(z.string()), type: ComputeVolumeDataType$inboundSchema, url: z.string(), }).transform((v) => { return remap$(v, { "resolved_revision": "resolvedRevision", }); }); /** @internal */ export type ComputeVolumeData$Outbound = { path: string; resolved_revision: string | null; revision: string | null; type: string; url: string; }; /** @internal */ export const ComputeVolumeData$outboundSchema: z.ZodType< ComputeVolumeData$Outbound, z.ZodTypeDef, ComputeVolumeData > = z.object({ path: z.string(), resolvedRevision: z.nullable(z.string()), revision: z.nullable(z.string()), type: ComputeVolumeDataType$outboundSchema, url: z.string(), }).transform((v) => { return remap$(v, { resolvedRevision: "resolved_revision", }); }); export function computeVolumeDataToJSON( computeVolumeData: ComputeVolumeData, ): string { return JSON.stringify( ComputeVolumeData$outboundSchema.parse(computeVolumeData), ); } export function computeVolumeDataFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => ComputeVolumeData$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'ComputeVolumeData' from JSON`, ); }