但愿苍生俱饱暖,不辞辛苦出山林。一一于谦
https://github.com/astral-sh/ty
@astral-sh/ty:用 TypeScript 类型轻松描述和验证你的数据
在现代 JavaScript/TypeScript 项目中,“类型安全”越来越被开发者所重视。无论是前端表单数据校验、API 请求参数校验,还是后端服务的数据类型约束,都需要灵活而强大的“类型系统”来守护。@astral-sh/ty
正是为此而生的下一代类型描述与数据验证工具。
一、什么是 @astral-sh/ty?
@astral-sh/ty
是由 Astral 团队推出的一个极简、强类型、适配 TypeScript 的运行时类型声明和验证库。它的目标是让你可以用 TypeScript 风格的语法声明类型,并在运行时校验数据结构是否符合预期,从而在开发与生产环境中都获得类型安全的保障。
二、核心特性
- TypeScript 风格 API
通过链式 API 声明类型,代码直观、类型推断强大。 - 运行时类型校验
不止“编译时”安全,能在运行时对任意数据做结构校验和类型断言。 - 与 TypeScript 类型系统深度融合
声明的 Ty 类型自动生成 TypeScript 类型,无需重复书写类型定义。 - 丰富的类型描述能力
支持基础类型、对象、数组、枚举、联合类型、嵌套类型等常见场景。 - 极简依赖,易于扩展
零依赖设计,适合各种大小的项目。
三、快速上手
安装依赖:
1 |
|
1. 声明类型结构
1 |
|
2. 类型推断
直接获得 TypeScript 类型:
1 |
|
3. 运行时校验
1 |
|
四、与其它类型校验库对比
- 与 Zod/TypeBox 等库类似,但
@astral-sh/ty
更关注与 TypeScript 类型系统的无缝集成,API 更贴近 TS 本身的语法习惯。 - 极简设计,易于学习,文档清晰,适合快速上手和中小型项目。
- 零依赖、现代语法,适配 ESM/CJS,适合现代 Node.js 和前端构建流程。
五、典型应用场景
- API 参数/返回数据校验
- 表单数据结构验证
- 后端服务或中间件类型安全
- 配置文件/环境变量校验
- 自动生成文档/类型声明
六、社区与生态
- GitHub 仓库:astral-sh/ty
- 文档入口:README & Examples
- 维护团队:Astral(也是著名 LLM 产品和 AI 工具的开发团队)
七、总结
@astral-sh/ty
是 TypeScript 时代数据结构声明与验证的极佳选择。它让你用 TS 风格声明类型、推断类型、运行时校验一步到位,让“类型安全”从编译期延伸到运行期。无论你是前端、后端还是全栈开发者,想提升类型安全和开发效率,都值得一试!