zod
javascript采用
Zod是一个TypeScript-first的schema声明和验证库,“schema”一词来广泛指代任何数据类型,从简单的字符串到复杂的嵌套对象。 Zod旨在尽可能地对开发人员友好。目标是消除重复的类型声明。使用Zod,您只需声明一次验证器,Zod将自动推断静态TypeScript类型。易于将简单类型组合成复杂数据结构。
Zod特性:
- Zero dependencies
- Works in Node.js and all modern browsers
- Tiny: 8kb minified + zipped
- Immutable: methods (e.g.
.optional()) return a new instance - Concise, chainable interface
- Functional approach: parse, don't validate
- Works with plain JavaScript too! You don't need to use TypeScript.
Zod已经被很多框架和库广泛使用,如tRPC, Astro等, 个人在项目中也使用了Zod,非常推荐。
Zod一个不好的地方就是其文件体积比较大,即便bundle后还是比较大的,所以在一些FaaS场景,个人会选择使用Valibot。
Zod & Friends
- Valibot: The modular and type safe schema library for validating structural data
- tRPC: Move fast and break nothing. End-to-end typesafe APIs made easy.
- Zod Sockets: Socket.IO solution with I/O validation
- zog: Go with simple schema validation
References
- Zod: https://zod.dev/