/* * 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 EventsCapabilities = { maxNotificationProducers?: number | undefined; maxPullPoints?: number | undefined; wsPausableSubscriptionManagerInterfaceSupport?: boolean | undefined; wsPullPointSupport?: boolean | undefined; wsSubscriptionPolicySupport?: boolean | undefined; }; /** @internal */ export const EventsCapabilities$inboundSchema: z.ZodType< EventsCapabilities, z.ZodTypeDef, unknown > = z.object({ max_notification_producers: z.number().int().optional(), max_pull_points: z.number().int().optional(), ws_pausable_subscription_manager_interface_support: z.boolean().optional(), ws_pull_point_support: z.boolean().optional(), ws_subscription_policy_support: z.boolean().optional(), }).transform((v) => { return remap$(v, { "max_notification_producers": "maxNotificationProducers", "max_pull_points": "maxPullPoints", "ws_pausable_subscription_manager_interface_support": "wsPausableSubscriptionManagerInterfaceSupport", "ws_pull_point_support": "wsPullPointSupport", "ws_subscription_policy_support": "wsSubscriptionPolicySupport", }); }); export function eventsCapabilitiesFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => EventsCapabilities$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'EventsCapabilities' from JSON`, ); }