language-server.source.ts•1.27 kB
import * as z from "zod/v3";
export const filePath = __filename;
// z.object()
export const Test = z.object({
  f1: z.number(),
});
export type Test = z.infer<typeof Test>;
export const instanceOfTest: Test = {
  f1: 1,
};
// z.object().merge()
export const TestMerge = z
  .object({
    f2: z.string().optional(),
  })
  .merge(Test);
export type TestMerge = z.infer<typeof TestMerge>;
export const instanceOfTestMerge: TestMerge = {
  f1: 1,
  f2: "string",
};
// z.union()
export const TestUnion = z.union([
  z.object({
    f2: z.string().optional(),
  }),
  Test,
]);
export type TestUnion = z.infer<typeof TestUnion>;
export const instanceOfTestUnion: TestUnion = {
  f1: 1,
  f2: "string",
};
// z.object().partial()
export const TestPartial = Test.partial();
export type TestPartial = z.infer<typeof TestPartial>;
export const instanceOfTestPartial: TestPartial = {
  f1: 1,
};
// z.object().pick()
export const TestPick = TestMerge.pick({ f1: true });
export type TestPick = z.infer<typeof TestPick>;
export const instanceOfTestPick: TestPick = {
  f1: 1,
};
// z.object().omit()
export const TestOmit = TestMerge.omit({ f2: true });
export type TestOmit = z.infer<typeof TestOmit>;
export const instanceOfTestOmit: TestOmit = {
  f1: 1,
};