17 条回复  ·  1883 次点击
Branlice 楼主 初学 2025-12-18 10:28:30
@henix 哈哈哈,非常感谢,我个人娱乐玩玩而已。
Branlice 楼主 初学 2025-12-18 10:29:31
@nilaoda 越看越觉得你在说 proto ...,hhhhhhhh
Branlice 楼主 初学 2025-12-18 10:30:35
@sagnitude 非常感谢哈,我是个人娱乐玩玩,好奇研究一手。
codehz 初学 2025-12-18 10:30:46
@sagnitude 这套方案不是很行,你一个约束可能要写好几遍(考虑嵌套对象数组),因为 ts 没对 decorator 做任何类型检查,lint 也没有,自己写容易写错不一致,decorator 只存在于运行时基本上还是缺点,毕竟你定义数据库结构,还需要一个运行环境,运行前还得跑 transpiler (毕竟也没 runtime 支持 decorator ),那为何不一开始就直接 compile 解决呢() 别跟我说 decorator 更成熟,现在摆着的就是两个互相不兼容的实现,运行时表现完全不一致,根本不能说是成熟
sagnitude 初学 2025-12-18 11:14:07
@codehz 我 ts 代码是用工具自动生成的,不存在自己写的情况,javabean 也不可能有复杂的数据结构,而且嵌套的对象自己也有自己的约束,递归下去检查就行了,只能说我的应用场景没这些问题 至于只存在于运行时的问题,为啥有问题?,我也不需要运行时的强类型,我只是想在自动编译的 class 下面附加一些 metadata 而已,就好比 ClassA._metadata = {xfzId:{minValue:0}},我加的 metadata 又不是为了 typescript 语法,只是为了附加我自己的数据 至于写错的问题,IDE 可以强制提交前 lint ,transpiler 也不是问题,不是瓶颈就不需要优化,等他变成瓶颈再说吧,不要过早优化
defaw 小成 2025-12-18 12:27:59
那你为啥不用更简单的自定义 dsl 生成 ts 定义,然后直接在自定义 dsl 里想怎么写约束关系就怎么写,比折腾 ts 编译器简单得多
muchan92 初学 2025-12-18 13:06:22
类型定义部分可以实现运行时类型约束,是否满足楼主需求? https://github.com/rainforesters/imsure
NathanDo 小成 2025-12-18 13:22:39
你是否在找 https://zod.dev/ ?
12
返回顶部