该技能聚焦于用 fp-ts 构建类型安全的 Node.js/Deno 后端服务。核心抽象是 ReaderTaskEither<R, E, A>:R 表示依赖环境(数据库、配置、日志),E 表示错误类型,A 表示成功值;通过 pipe 组合 RTE.ask、RTE.flatMap、RTE.fromTaskEither 等算子串联业务逻辑。
服务层以模块形式导出 RTE 函数,如 create、findById、findMany;跨服务组合时用 RTE.Do 与 RTE.bind 串联多步流程,并用 A.traverse(RTE.ApplicativePar) 并行处理集合。依赖注入分层构建:先加载配置,再创建基础设施(数据库、Redis、日志),最后组装服务,导出 buildDeps 与 destroyDeps。数据库操作用 TE.tryCatch 包装 Prisma,并按错误码映射为领域错误;事务通过 withTransaction 包装,在 $transaction 内将 Left 抛出以回滚。
与框架集成提供 Express 与 Hono 的适配模式:将 RTE 处理函数转为中间件,把依赖放入请求上下文,用 Either.fold 分别走错误处理与返回响应。
适用场景是希望在 Node.js/Deno 后端获得显式错误类型、依赖可替换和流程可组合的团队。资料未说明安装命令、版本要求、性能数据或收费信息;示例中出现的环境变量与 API 均来自示例本身,实际使用需自行配置。