@typeonce/effect-machine 是一个基于 schema-first 的状态机 API,作为 Effect-TS 的提案实现,通过同步工具与官方 PR #6429 保持一致。

Stars

39

7 天增长

暂无数据

Fork 数

1

开放 Issue

0

开源协议

MIT

最近更新

2026-07-28

AI 仓库情报摘要
FR-AI / ANALYSIS

为什么值得关注

它提供了基于 tagged class 的 schema-first 状态机接口,通过单向同步与 Effect 源码库对齐,让社区可以提前体验和验证即将上游的功能。

适合谁使用

  • 使用 Effect-TS 并需要状态机抽象的开发人员
  • 需要构建类型安全、复杂工作流的开发者
  • 希望早期参与影响 Effect 新功能设计的先行者
  • 参与 Effect 状态机提案(PR #6429)的贡献者

典型使用场景

  • 在 Effect 应用中建模有限状态机,获得完整的编译时类型安全
  • 借助响应式适配器构建带有状态转换的响应式系统
  • 为分布式或并发工作流实现集群状态机
  • 在 Effect 核心正式合入前,对提案中的 Machine API 进行原型验证与测试

项目优势

  • Schema-first 设计保证状态和事件的编译时校验,减少运行时错误
  • 独立的 ESM 入口支持 tree-shaking,避免不必要的依赖加载
  • 同步工具无需重复实现逻辑即可精确对齐 Effect PR 的代码
  • 全面的测试体系,涵盖运行时测试、类型测试和消费者集成验证

使用前须知

  • 早期发布版本,API 可能变化,且必须与特定 Effect beta 版本耦合使用
  • 需要手动锁定 Effect 版本,并在升级本包时同步更新 Effect
  • 计划在 Effect 正式合入后转为薄兼容层,意味着最终将停止维护

README 快速开始

Installation

项目描述

Schema-first state machines and statecharts for Effect

相关仓库与替代方案

根据分类、Topic 和编程语言匹配的相似项目。

TanStack
精选
TanStack GitHub avatar

router

TanStack Router is a type-safe, data-driven React router with built-in caching, prefetching, and nested layouts, while TanStack Start extends it into a full-stack SSR framework.

Web 开发前端框架
14,861
vercel-labs
精选
vercel-labs GitHub avatar

scriptc

scriptc compiles ordinary TypeScript into small, fast native executables without needing Node.js, V8, or any JavaScript runtime in the binary.

开发者工具代码质量与构建
1,985
Jakubantalik
精选
Jakubantalik GitHub avatar

thinking-orbs

A React component library that renders six hand-tuned animated thought orb loading indicators on a plain 2D canvas, with two purpose-tuned sizes and automatic theme detection for AI and agent UIs.

AI 与机器学习AI 智能体
1,191