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应用程序通常包含一个用于行为“核心”的shared
crate,以及一个负责在核心和shell之间生成共享类型的shared_types
crate。
shared
crate可以使用依赖typegen
功能的typegen
功能重新导出能力。这样,共享crate可以请求能力为其类型生成注册。
例如,在shared
crate的Cargo.toml
[features]
typegen = ["crux_core/typegen", "crux_kv/typegen"]
以及shared_types
crate的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