1 个不稳定版本

0.1.0-rc.12022年3月11日

#10 in #nomad

MIT/Apache

50KB
1K SLoC

Nomad配置文件

这是一个用于处理Nomad配置文件的crate。这些配置文件包含有关Nomad部署状态的详细信息。

它还包括一个自动生成的TS/WASM库。

设计说明

核心库主要是JSON配置文件格式。我们为这个配置的各个部分定义了Rust结构和TS类型。

在TS中,对象是原生的JS对象。它不是一个wasm类型的引用。可以像平常一样进行赋值和访问。但是,我们也导出了执行如addNetworkaddCore等一致性关键操作的函数。我们强烈建议使用这些函数而不是直接对相关部分进行赋值。

用法

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 文档可在此处找到: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.tsdata/types.rs中添加相应的定义。在编译时,这些文件将组合到src/wasm/types.rs中。

将来能够自动生成此代码将非常酷:)

依赖项

~18–31MB
~517K SLoC