convex
Version:
Client for the Convex Cloud
33 lines (32 loc) • 1.06 kB
JavaScript
"use strict";
import { z } from "zod";
const baseConvexValidator = z.discriminatedUnion("type", [
z.object({ type: z.literal("null") }),
z.object({ type: z.literal("number") }),
z.object({ type: z.literal("bigint") }),
z.object({ type: z.literal("boolean") }),
z.object({ type: z.literal("string") }),
z.object({ type: z.literal("bytes") }),
z.object({ type: z.literal("any") }),
z.object({ type: z.literal("literal"), value: z.any() }),
z.object({ type: z.literal("id"), tableName: z.string() })
]);
export const convexValidator = z.lazy(
() => z.union([
baseConvexValidator,
z.object({ type: z.literal("array"), value: convexValidator }),
z.object({
type: z.literal("record"),
keys: convexValidator,
values: convexValidator
}),
z.object({ type: z.literal("union"), value: z.array(convexValidator) }),
z.object({
type: z.literal("object"),
value: z.record(
z.object({ fieldType: convexValidator, optional: z.boolean() })
)
})
])
);
//# sourceMappingURL=validator.js.map