MCPcopy
hub / github.com/colinhacks/zod / makeSchema

Function makeSchema

packages/bench/discriminated-union.ts:53–97  ·  view source on GitHub ↗
(z: typeof z4)

Source from the content-addressed store, hash-verified

51const z3DiscUnion = z3.discriminatedUnion("type", z3Union._def.options);
52
53function makeSchema(z: typeof z4) {
54 const z4fields = {
55 data1: z.string(),
56 data2: z.string(),
57 data3: z.string(),
58 // data4: z.string(),
59 // data5: z.string(),
60 // data6: z.string(),
61 // data7: z.string(),
62 // data8: z.string(),
63 // data9: z.string(),
64 // data10: z.string(),
65 };
66 const z4Union = z.union([
67 z.object({
68 type: z.literal("a"),
69 ...z4fields,
70 }),
71 z.object({
72 type: z.literal("b"),
73 ...z4fields,
74 }),
75 z.object({
76 type: z.literal("c"),
77 ...z4fields,
78 }),
79 z.object({
80 type: z.literal("d"),
81 ...z4fields,
82 }),
83 z.object({
84 type: z.literal("e"),
85 ...z4fields,
86 }),
87 z.object({
88 type: z.literal("f"),
89 ...z4fields,
90 }),
91 z.object({
92 type: z.literal("g"),
93 ...z4fields,
94 }),
95 ]);
96 return z4Union;
97}
98
99const z4Union = makeSchema(z4);
100const z4LibUnion = makeSchema(z4lib as any);

Callers 1

Calls 1

stringMethod · 0.80

Tested by

no test coverage detected