deno.land / x / zod@v3.19.1 / __tests__ / nullable.test.ts

nullable.test.ts
نووسراو ببینە
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
// @ts-ignore TS6133import { expect } from "https://deno.land/x/expect@v0.2.6/mod.ts";const test = Deno.test;
import * as z from "../index.ts";
function checkErrors(a: z.ZodTypeAny, bad: any) { let expected; try { a.parse(bad); } catch (error) { expected = (error as z.ZodError).formErrors; } try { a.nullable().parse(bad); } catch (error) { expect((error as z.ZodError).formErrors).toEqual(expected); }}
test("Should have error messages appropriate for the underlying type", () => { checkErrors(z.string().min(2), 1); z.string().min(2).nullable().parse(null); checkErrors(z.number().gte(2), 1); z.number().gte(2).nullable().parse(null); checkErrors(z.boolean(), ""); z.boolean().nullable().parse(null); checkErrors(z.null(), null); z.null().nullable().parse(null); checkErrors(z.null(), {}); z.null().nullable().parse(null); checkErrors(z.object({}), 1); z.object({}).nullable().parse(null); checkErrors(z.tuple([]), 1); z.tuple([]).nullable().parse(null); checkErrors(z.unknown(), 1); z.unknown().nullable().parse(null);});
test("unwrap", () => { const unwrapped = z.string().nullable().unwrap(); expect(unwrapped).toBeInstanceOf(z.ZodString);});
zod

Version Info

Tagged at
a year ago