8 个版本

0.7.1 2021 年 5 月 5 日
0.7.0 2020 年 9 月 28 日
0.2.3 2019 年 12 月 27 日
0.2.1 2019 年 11 月 22 日
0.1.0 2018 年 11 月 10 日

#664异步

Download history 64/week @ 2024-03-31 3/week @ 2024-04-07

每月 72 次下载
用于 2 crates

MIT/Apache

360KB
2.5K SLoC

moxie

moxie 支持增量 "声明式" Rust 代码,适用于交互式系统。它包含一个轻量级的事件循环运行时,支持任意工作的细粒度重用、状态变更通知和异步加载器。

[0.7.1] - 2021-05-05

新增

  • Key::mutate 允许对状态变量进行简单的克隆-更新-比较访问。
  • #[moxie::updater(...)] 属性宏支持创建一个具有简写修改方法的 Key 包装器。
  • wasm-bindgen cargo 功能,使 wasm32 目标上正确使用 parking_lot 成为可能。

修复

  • 一些新的 clippy 检查。

更改

  • 不再需要 nightly cargo 来构建。

[0.7.0] - 2020-09-27

新增

  • 支持借用参数以缓存函数,避免每次修订时都进行克隆。
  • Key 实现常见的 trait。
  • 更新了 crate 和模块文档。
  • testing 模块中的测试工具。

移除

  • 不再为 futures 加载设置功能标志。
  • moxie 的缓存(以前称为 MemoStorage)已移动到新的依赖 dyn-cache。
  • 仅用于测试的内置执行器。
  • 不再依赖 nightly Rust 来使用 #[track_caller] -- 已稳定。
  • mox! 宏现在已单独发布。

更改

  • 所有 API 中的 "记忆化" 已更名为 "缓存"。
  • Runtime::run_once 允许传递参数给根函数。
  • Runtime 不再拥有根函数。
  • embed 模块已重命名为 runtime
  • 状态函数返回一个元组 (Commit, Key),而不是仅仅一个 Key

[0.2.3] - 2019-12-27

修复

  • 不正确的版本号导致 0.2.2 无法从 crates.io 上运行。

[0.2.2] - 2019-12-27

新增

  • 依赖于夜间 Rust 以支持 #[track_caller] 功能。

更改

  • 更新到 topo 版本,该版本生成函数而不是宏,从 #[topo::nested]。不再使用宏!利用 #[track_caller]

[0.2.1] - 2019-11-22

新增

  • 与 futures 加载(loadload_once,...)的异步执行器集成。在功能标志下。
  • #![禁止(不安全代码)]
  • Runtime::run_once 返回根闭包的返回值。
  • memo_withonce_with 函数允许在存储中使用非 Clone 类型。
  • Key 跟踪其调用位置。
  • mox! 重新导出。

移除

  • 尝试对所有组件进行记忆化。
  • 对于状态变量,进行不必要的修订簿管理。

修复

  • 向根函数传递非法环境值。

[0.1.1-alpha.0] - 2019-08-17

首次发布以支持 moxie-dom。

[0.1.0] - 2018-11-10

初始名称预留。

依赖项

~3.5–6MB
~109K SLoC