zod
Version:
TypeScript-first schema declaration and validation library with static type inference
44 lines (35 loc) • 1.18 kB
text/typescript
import { expect, test } from "vitest";
// import * as z from "zod/v4/core";
test("z.function", () => {
expect(true).toEqual(true);
});
// test("z.function", () => {
// const a = z.function({
// args: z.tuple([z.string()]),
// returns: z.string(),
// });
// const myFunc = a.implement((name: string | number) => `Hello, ${name}!`);
// expect(myFunc("world")).toEqual("Hello, world!");
// expect(() => myFunc(123 as any)).toThrow();
// // this won't run
// () => {
// // @ts-expect-error
// const r = myFunc(123);
// expectTypeOf(r).toEqualTypeOf<string>();
// };
// });
// test("z.function async", async () => {
// const b = z.function({
// args: z.tuple([z.string()]).$check(async (_) => {}),
// returns: z.string().$check(async (_) => {}),
// });
// const myFuncAsync = b.implementAsync(async (name) => `Hello, ${name}!`);
// expect(await myFuncAsync("world")).toEqual("Hello, world!");
// expect(myFuncAsync(123 as any)).rejects.toThrow();
// // this won't run
// () => {
// // @ts-expect-error
// const r = myFuncAsync(123);
// expectTypeOf(r).toEqualTypeOf<Promise<string>>();
// };
// });