/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import * as z from "zod/v3"; 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 ComparisonFilterType = { Eq: "eq", Ne: "ne", Gt: "gt", Gte: "gte", Lt: "lt", Lte: "lte", } as const; export type ComparisonFilterType = ClosedEnum; export type Value = string | number | boolean; export type ComparisonFilter = { type: ComparisonFilterType; key: string; value: string | number | boolean; }; /** @internal */ export const ComparisonFilterType$inboundSchema: z.ZodNativeEnum< typeof ComparisonFilterType > = z.nativeEnum(ComparisonFilterType); /** @internal */ export const ComparisonFilterType$outboundSchema: z.ZodNativeEnum< typeof ComparisonFilterType > = ComparisonFilterType$inboundSchema; /** @internal */ export const Value$inboundSchema: z.ZodType = z .union([z.string(), z.number(), z.boolean()]); /** @internal */ export type Value$Outbound = string | number | boolean; /** @internal */ export const Value$outboundSchema: z.ZodType< Value$Outbound, z.ZodTypeDef, Value > = z.union([z.string(), z.number(), z.boolean()]); export function valueToJSON(value: Value): string { return JSON.stringify(Value$outboundSchema.parse(value)); } export function valueFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => Value$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'Value' from JSON`, ); } /** @internal */ export const ComparisonFilter$inboundSchema: z.ZodType< ComparisonFilter, z.ZodTypeDef, unknown > = z.object({ type: ComparisonFilterType$inboundSchema, key: z.string(), value: z.union([z.string(), z.number(), z.boolean()]), }); /** @internal */ export type ComparisonFilter$Outbound = { type: string; key: string; value: string | number | boolean; }; /** @internal */ export const ComparisonFilter$outboundSchema: z.ZodType< ComparisonFilter$Outbound, z.ZodTypeDef, ComparisonFilter > = z.object({ type: ComparisonFilterType$outboundSchema, key: z.string(), value: z.union([z.string(), z.number(), z.boolean()]), }); export function comparisonFilterToJSON( comparisonFilter: ComparisonFilter, ): string { return JSON.stringify( ComparisonFilter$outboundSchema.parse(comparisonFilter), ); } export function comparisonFilterFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => ComparisonFilter$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'ComparisonFilter' from JSON`, ); }