Chuks语言数据类型
Source: Dev.to

停止与数据争斗,让 dataType 主宰。
概览
chuks dataType 是一个轻量级、仅包含字段的容器。没有构造函数的冗余代码。没有类的开销。使用映射字面量进行初始化,编译器会检查每个字段。

验证 (@validate)
直接在字段上附加验证规则。调用 validate(x) 即可返回所有错误——无需第三方库,也不需要重复的 schema。规则与数据同生。

自定义验证器
编写函数并用 @validator 注解,即可在任意 dataType 中复用,甚至跨模块使用。示例:strongPassword 规则。

可空类型 + 类型收窄
在任意类型后加 ? 即可允许 null。在进行空值检查后,编译器会自动收窄类型——无需强制转换,也不需要可选链语法。
嵌入
将一个 dataType 嵌入到另一个内部;其字段会直接提升,类似 Go 的嵌入模型,却没有冗长的写法。非常适合 Auditable、Identifiable 或任何共享 schema 的模式。

JSON 重命名 (@json)
保持内部字段名简洁,同时对外暴露不同的传输格式。单一注解即可同时处理序列化和解析——不需要额外的映射层。

资源
- 官方网站:
- 关注 X:
- 社区论坛: