SuperAPI AI 工具集

typescript-effect

编程与开发

查看项目

更新于 10-15 17:30

技能介绍

用途:在编写 TypeScript 函数或模块、定义类型与 Schema 时,强制采用 Effect 生态的函数式模式,按固定文件分区与编码规则产出代码。

主要能力(六大支柱):

  1. 算法化:每个文件仅一个 Object.freeze() 冻结的基础常量 B,所有数值由 B 经可见运算派生,禁止 B 之外的数字字面量。
  2. 参数化:用工厂函数接收 Partial 配置并与 B 默认值合并,返回冻结对象,调用点覆盖参数。
  3. 多态:用键控分派表 handlersdiscriminant 替代 if/else 与 switch,配合 satisfies Record<K, Handler> 与判别联合保证穷尽。
  4. 函数式单子:用 Effect 处理异步与可失败操作,用 Option 包裹可空值,通过 pipe()、Effect.flatMap() 串联,在类型参数 Effect<A, E, R> 中追踪结果。
  5. 表达式中心:用三元表达式替代 if/else,箭头函数隐式返回,通过 .map()、.filter()、pipe() 组合,不在单表达式中使用花括号。
  6. 强类型:用 @effect/schema 的 Schema.brand() 品牌化领域原语(如 UserId、Email),在系统边界(API 输入、外部数据)校验,类型由 typeof Schema.Type 推导。

文件结构:按 TYPES、SCHEMA、CONSTANTS、PURE_FUNCTIONS、DISPATCH_TABLES、EFFECT_PIPELINE、ENTRY_POINT、EXPORT 分区,使用统一的注释分隔符。

硬性限制:禁止 any(改用品牌类型);禁止 let/var(只用 const);禁止 if/else(改用分派表或三元);禁止 for/while(改用 .map/.filter/Effect);禁止 try/catch(改用 Effect 错误通道);禁止默认导出,仅用具名导出(*.config.ts 例外)。完成生成前需按 VALIDATION 清单逐项自检,发现违规则先重构。

适用场景:需要严格类型安全、函数式风格与 Effect 生态一致性的 TypeScript 项目。

限制:资料未提供该技能的安装命令、运行方式、许可与收费信息。