UNPKG

@syngrisi/syngrisi

Version:
28 lines 914 B
// src/server/schemas/common/requestQueryFilterSchema.schema.ts import { extendZodWithOpenApi } from "@asteasolutions/zod-to-openapi"; import { z } from "zod"; extendZodWithOpenApi(z); var requestQueryFilterSchema = z.string().optional().refine((data) => { if (!data) return false; try { const parsed = JSON.parse(data); const valueSchema = z.lazy(() => z.union([ z.string(), z.number(), z.boolean(), z.array(z.any()), z.record(z.string(), z.any()) ])); const schema = z.record(z.string(), valueSchema); schema.parse(parsed); return true; } catch (e) { return false; } }, { message: "Invalid JSON string or does not match the required schema" }).openapi({ example: '{"key1": "value1", "key2": 123, "key3": true, "$and":[{"name":"CheckName"}]}' }); export { requestQueryFilterSchema }; //# sourceMappingURL=requestQueryFilterSchema.schema.js.map