Effect Schema.TaggedUnion:用判别联合建模领域状态机
用 Effect v4 的 Schema.TaggedUnion 与 toTaggedUnion 定义判别联合,自带 match、guards 和穷尽检查;对比 Class、Opaque 与 Union 的取舍,并用它写出一个订单状态机。
共 5 篇文章带有这个标签。
用 Effect v4 的 Schema.TaggedUnion 与 toTaggedUnion 定义判别联合,自带 match、guards 和穷尽检查;对比 Class、Opaque 与 Union 的取舍,并用它写出一个订单状态机。
Effect v4 的 Schema 一份定义可派生 Standard Schema、JSON 编解码器、JSON Schema、Equivalence、Formatter 与 JSON Patch,并讲清默认值的坑。
从校验走向建模:用 transform 连接外部表示与内部类型,用 brand 区分形状相同的值,用判别联合让非法状态无法表示,把领域规则写进类型。
TypeScript 类型在运行时不存在,边界上的数据只是 unknown。本章讲清 Schema 如何把类型与运行时校验合为一份定义,以及解码、失败与「只在边界校验一次」的原则。
用 Effect v4 的 Schema 在系统边界解码未知数据:定义 Schema、拿到类型化的 SchemaError、累积全部字段错误,并让 TypeScript 类型、编码格式与校验逻辑都来自同一份定义。