/* * 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"; import { Cvss, Cvss$inboundSchema } from "./cvss.js"; import { CVSSv4, CVSSv4$inboundSchema } from "./cvssv4.js"; import { Epss, Epss$inboundSchema } from "./epss.js"; export type Metrics = { cvssV30?: Cvss | undefined; cvssV31?: Cvss | undefined; cvssV40?: CVSSv4 | undefined; epss?: Epss | undefined; }; /** @internal */ export const Metrics$inboundSchema: z.ZodType = z.object({ cvss_v30: Cvss$inboundSchema.optional(), cvss_v31: Cvss$inboundSchema.optional(), cvss_v40: CVSSv4$inboundSchema.optional(), epss: Epss$inboundSchema.optional(), }).transform((v) => { return remap$(v, { "cvss_v30": "cvssV30", "cvss_v31": "cvssV31", "cvss_v40": "cvssV40", }); }); export function metricsFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => Metrics$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'Metrics' from JSON`, ); }