Dev Build / cleanup (push) Canceled after 0s
Dev Build / typecheck (push) Canceled after 0s
Dev Build / build (linux-arm64, ubuntu-24.04-arm, linux-arm64) (push) Canceled after 0s
Dev Build / build (linux-x64, ubuntu-latest, linux-x64) (push) Canceled after 0s
Dev Build / build (win-x64, windows-latest, win32-x64) (push) Canceled after 0s
Dev Build / dispatch-dev-docker (push) Canceled after 0s
30 lines
569 B
Plaintext
30 lines
569 B
Plaintext
// @ts-ignore TS6133
|
|
import { expect, test } from "vitest";
|
|
|
|
import * as z from "zod/v3";
|
|
|
|
test("object augmentation", () => {
|
|
const Animal = z
|
|
.object({
|
|
species: z.string(),
|
|
})
|
|
.augment({
|
|
population: z.number(),
|
|
});
|
|
// overwrites `species`
|
|
const ModifiedAnimal = Animal.augment({
|
|
species: z.array(z.string()),
|
|
});
|
|
ModifiedAnimal.parse({
|
|
species: ["asd"],
|
|
population: 1324,
|
|
});
|
|
|
|
const bad = () =>
|
|
ModifiedAnimal.parse({
|
|
species: "asdf",
|
|
population: 1324,
|
|
} as any);
|
|
expect(bad).toThrow();
|
|
});
|