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 数据库接口
1,319 每月下载量
280KB
2.5K 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交互。它们执行以下操作:
- 定义一个
Request结构体,以指示Shell如何代表核心执行副作用 - 定义一个
Response结构体,用于在副作用完成后存储Shell返回的数据 - 声明一个或多个便捷方法来调用Shell的功能,每个方法都创建一个
Command(描述效果及其后续操作),Crux可以“执行”
注意,由于Swift没有命名空间,目前需要确保
Request和Response的命名不产生歧义(例如HttpRequest和HttpResponse)。
依赖项
~2.6-4MB
~75K SLoC