linux_china技术雷达linux_china技术雷达
采用

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