欢迎使用 Effect-TS
Effect-TS是一套零依赖的库,用于在规模上写出高效,纯功能性的TypeScript.
灵感的主要驱动力 和大部分思想的来源 由这个图书馆 礼貌地借用是核心 齐奥 及其图书馆的生态系统,特别是 ZIO 预奏 我们从中取出一个非常创新的类型类系统的命名和设计.
在TypeScript生态系统内,此库从 fp - ts (英语), (中文(简体) ), io-ts(双胞胎), (中文(简体) ), 形态图, (中文(简体) ), 波导, (中文(简体) ), 秋晓 请原谅我们,如果我们忘了一些.
在此之前,我们要感谢所有书库的撰稿人和作者,没有你,这项工作是不可能完成的!
碞钩 ZIO 在scala中,它被用作打字口的源代码参考, @effect-ts/core/Effect 由高度可伸缩、非阻塞的纤维提供动力,这些纤维从来不会浪费或泄漏资源, Effect 让您建立可扩展、有弹性和反应性的应用程序,满足您的业务需求.
- 高性能。构建可扩展的应用程序,其性能比
Promise。 。 。 . - 类型安全。使用 TypeScript 编译器的全部功率在编译时捕获错误.
- 同时轻松地建立并行的应用程序,而不陷入僵局、种族条件或复杂.
- 同步。写顺序代码,无论它是同步还是同步.
- 资源安全构建永不泄露资源的应用程序,即使它们失败了.
- 可测试输入测试服务,用于快速、确定性和类型安全测试.
- 耐受性。构建永不出错的应用程序,这些应用程序应对本地和灵活的失败.
- 职能迅速从简单的构件构筑出解决复杂问题的办法.
- 堆叠安全忘记再次看到
Maximum call stack size exceeded和利润.
在包的生态系统中,你会发现:
-
@effect-ts/core库的主要切入点,包含效果系统,由zio-prelude所启发的类型类以及一组常用模块,如Sync, (中文(简体) ),Array, (中文(简体) ),Option还有更多. -
@effect-ts/jest测试的主要切入点,提供一个集成点,以嘲笑基于支持管理效果层的测试运行时间Effect作为头等公民. -
@effect-ts/monocle基于一个叉子monocle-ts这个库为您的需要提供低锅炉平板光学. -
@effect-ts/morphic基于一个叉子morphic-ts此库提供了常见类型类的衍生, 如Decoder, (中文(简体) ),Encoder, (中文(简体) ),Guard以高度可塑的方式和公用事业ADT在一般数据模型方面的需求. -
@effect-ts/tracing-plugin此打字器编译插件, 用于ttypescript,可以配置为:- 在应用程序代码中添加编译时间痕迹
- 将呼叫减少到
pipe - 将呼叫减少到
flow - 将呼叫减少到
identity - 优化数据最末端可通管功能至数据第一
安装
我们建议使用 yarn 如果您有多个软件包,则使用 yarn workspaces 以默认挂起依赖关系的方式处理 :
yarn add @effect-ts/core
保持联系
以不和方式加入我们 : https://discord.gg/hdt7t7jpvn (中文(简体) )
文章
如果你更想知道 我们不完全的系列文章
文档
这不是一个借口,我们将在积极发展放慢时写出文件,但:
功能图书馆往往几乎没有文件,原因是一个函数的最佳文件是它自己的定义,假设名称有意义,类型也清晰.
出于上述原因,当我们开始记录它时,它将遵循指南的思路,以便引入库中使用的概念,而不仅仅是一个"函数定义在线数据库"
实例
- AWS Lambda 设置 : https://github.com/Matechs-Garage/effect-ts-lambda (英语)
维护者
这个图书馆由Matechs-Garage公司积极维护 R&D 边框 商学院 赞助其发展的团体.
贡献者
多亏了这个惊人项目的所有贡献者, 你们中的许多人从功能到错误报告都做出了贡献, 没有你们的工作, 修复这个库就离不远了。 如果你愿意加入我们,请伸出手来(无论你的经验如何)!