UNPKG

zod

Version:

TypeScript-first schema declaration and validation library with static type inference

30 lines (23 loc) 782 B
// @ts-ignore TS6133 import { expect, test } from "vitest"; import * as z from "zod/v3"; import { util } from "../helpers/util.js"; test("type guard", () => { const stringToNumber = z.string().transform((arg) => arg.length); const s1 = z.object({ stringToNumber, }); type t1 = z.input<typeof s1>; const data = { stringToNumber: "asdf" }; const parsed = s1.safeParse(data); if (parsed.success) { util.assertEqual<typeof data, t1>(true); } }); test("test this binding", () => { const callback = (predicate: (val: string) => boolean) => { return predicate("hello"); }; expect(callback((value) => z.string().safeParse(value).success)).toBe(true); // true expect(callback((value) => z.string().safeParse(value).success)).toBe(true); // true });