/* * 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 FileSearchComparisonFilterType = { Eq: "eq", Ne: "ne", Gt: "gt", Gte: "gte", Lt: "lt", Lte: "lte", } as const; export type FileSearchComparisonFilterType = ClosedEnum< typeof FileSearchComparisonFilterType >; export type FileSearchComparisonFilterValue = string | number | boolean; export type FileSearchComparisonFilter = { type: FileSearchComparisonFilterType; key: string; value: string | number | boolean; }; /** @internal */ export const FileSearchComparisonFilterType$inboundSchema: z.ZodNativeEnum< typeof FileSearchComparisonFilterType > = z.nativeEnum(FileSearchComparisonFilterType); /** @internal */ export const FileSearchComparisonFilterType$outboundSchema: z.ZodNativeEnum< typeof FileSearchComparisonFilterType > = FileSearchComparisonFilterType$inboundSchema; /** @internal */ export const FileSearchComparisonFilterValue$inboundSchema: z.ZodType< FileSearchComparisonFilterValue, z.ZodTypeDef, unknown > = z.union([z.string(), z.number(), z.boolean()]); /** @internal */ export type FileSearchComparisonFilterValue$Outbound = | string | number | boolean; /** @internal */ export const FileSearchComparisonFilterValue$outboundSchema: z.ZodType< FileSearchComparisonFilterValue$Outbound, z.ZodTypeDef, FileSearchComparisonFilterValue > = z.union([z.string(), z.number(), z.boolean()]); export function fileSearchComparisonFilterValueToJSON( fileSearchComparisonFilterValue: FileSearchComparisonFilterValue, ): string { return JSON.stringify( FileSearchComparisonFilterValue$outboundSchema.parse( fileSearchComparisonFilterValue, ), ); } export function fileSearchComparisonFilterValueFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => FileSearchComparisonFilterValue$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'FileSearchComparisonFilterValue' from JSON`, ); } /** @internal */ export const FileSearchComparisonFilter$inboundSchema: z.ZodType< FileSearchComparisonFilter, z.ZodTypeDef, unknown > = z.object({ type: FileSearchComparisonFilterType$inboundSchema, key: z.string(), value: z.union([z.string(), z.number(), z.boolean()]), }); /** @internal */ export type FileSearchComparisonFilter$Outbound = { type: string; key: string; value: string | number | boolean; }; /** @internal */ export const FileSearchComparisonFilter$outboundSchema: z.ZodType< FileSearchComparisonFilter$Outbound, z.ZodTypeDef, FileSearchComparisonFilter > = z.object({ type: FileSearchComparisonFilterType$outboundSchema, key: z.string(), value: z.union([z.string(), z.number(), z.boolean()]), }); export function fileSearchComparisonFilterToJSON( fileSearchComparisonFilter: FileSearchComparisonFilter, ): string { return JSON.stringify( FileSearchComparisonFilter$outboundSchema.parse(fileSearchComparisonFilter), ); } export function fileSearchComparisonFilterFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => FileSearchComparisonFilter$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'FileSearchComparisonFilter' from JSON`, ); }