tsconst Cat = z.object({ name: z.string() }).brand<"Cat">(); type Cat = z.infer<typeof Cat>; const petCat = (cat: Cat) => {}; const simba = Cat.parse({ name: "simba" }); // parseで検証 petCat(simba);