1 个不稳定版本
0.1.0-rc.1 | 2022年3月11日 |
---|
#10 in #nomad
50KB
1K SLoC
Nomad配置文件
这是一个用于处理Nomad配置文件的crate。这些配置文件包含有关Nomad部署状态的详细信息。
它还包括一个自动生成的TS/WASM库。
设计说明
核心库主要是JSON配置文件格式。我们为这个配置的各个部分定义了Rust结构和TS类型。
在TS中,对象是原生的JS对象。它不是一个wasm类型的引用。可以像平常一样进行赋值和访问。但是,我们也导出了执行如addNetwork
和addCore
等一致性关键操作的函数。我们强烈建议使用这些函数而不是直接对相关部分进行赋值。
用法
Typescript
import * as configuration from "@nomad-xyz/configuration"
const config = configuration.getBuiltin("production")
console.log(`Environment: ${config.environment}`)
Rust
// TODO
构建
$cargo build
构建WASM库
- 安装wasm-pack
$ ./package-it.sh
wasm-pack
文档可在此处找到:https://wasm.rust-lang.net.cn/wasm-pack/book/。
测试
$cargo test
文档化
$cargo docs --打开
发布
$cargo publish
$ ./publish_it.sh
开发说明
为了解决一些wasm-bindgen
的限制,我们目前(不幸的是)必须手动定义Rust结构的TS类型。这些类型位于data
目录中。当Rust结构更新或添加时,应在data/definitions.ts
和data/types.rs
中添加相应的定义。在编译时,这些文件将组合到src/wasm/types.rs
中。
将来能够自动生成此代码将非常酷:)
依赖项
~18–31MB
~517K SLoC