20个版本 (4个重大更新)

新版本 0.5.0-rc.1 2024年8月15日
0.4.1 2024年5月23日
0.1.10 2024年3月24日
0.1.6 2023年12月3日
0.1.0 2022年12月15日

#174 in 数据库接口

Download history 29/week @ 2024-04-26 3/week @ 2024-05-03 259/week @ 2024-05-10 1393/week @ 2024-05-17 503/week @ 2024-05-24 131/week @ 2024-05-31 175/week @ 2024-06-07 154/week @ 2024-06-14 133/week @ 2024-06-21 184/week @ 2024-06-28 185/week @ 2024-07-05 163/week @ 2024-07-12 233/week @ 2024-07-19 188/week @ 2024-07-26 436/week @ 2024-08-02 438/week @ 2024-08-09

1,319 每月下载量

Apache-2.0

280KB
2.5K SLoC

Rust 2.5K SLoC // 0.1% comments TypeScript 338 SLoC // 0.1% comments Swift 36 SLoC // 0.2% comments Java 19 SLoC

Crux键值存储能力

此crate包含KeyValue能力,可用于请求Shell从键值存储中读取和写入。

目前它提供了一个接口,用于获取、设置和删除键,检查键是否存在于存储中,以及列出以特定前缀开头的键。

入门

crux_kv添加到您的应用程序的Cargo.toml依赖项中。

类型生成

此crate有一个名为typegen的功能,支持生成跨桥传递的类型(例如TypeScript、Swift、Kotlin等)的代码。

Crux应用程序通常包含一个用于行为“核心”的sharedcrate,以及一个负责在核心和shell之间生成共享类型的shared_typescrate。

sharedcrate可以使用依赖typegen功能的typegen功能重新导出能力。这样,共享crate可以请求能力为其类型生成注册。

例如,在sharedcrate的Cargo.toml

[features]
typegen = ["crux_core/typegen", "crux_kv/typegen"]

以及shared_typescrate的Cargo.toml

[build-dependencies]
crux_core = { workspace = true, features = ["typegen"] }
shared = { path = "../shared", features = ["typegen"] }

关于Crux能力

Crux能力教导Crux如何在执行副作用时与shell交互。它们执行以下操作:

  1. 定义一个Request结构体,以指示Shell如何代表核心执行副作用
  2. 定义一个Response结构体,用于在副作用完成后存储Shell返回的数据
  3. 声明一个或多个便捷方法来调用Shell的功能,每个方法都创建一个Command(描述效果及其后续操作),Crux可以“执行”

注意,由于Swift没有命名空间,目前需要确保RequestResponse的命名不产生歧义(例如HttpRequestHttpResponse)。

依赖项

~2.6-4MB
~75K SLoC