8 个不稳定版本 (3 个破坏性更新)
1.0.0-beta2 | 2022年5月3日 |
---|---|
1.0.0-beta | 2021年12月6日 |
0.8.0 | 2021年10月28日 |
0.7.5 | 2021年10月25日 |
0.5.3 | 2021年10月4日 |
#100 in #scale
每月41次下载
在 sube 中使用
66KB
2K SLoC
scales - SCALE 序列化
利用 类型信息,这个库允许将数据转换为/从 SCALE 编码数据,特别适用于需要转换为动态类型(如 JSON)的情况。
从 SCALE
scales::Value
包装原始 SCALE 二进制数据和类型 ID,在类型注册表中提供,使您可以将其序列化为任何兼容的格式。
let value = scales::Value::new(scale_binary_data, type_id, &type_registry);
serde_json::to_string(value)?;
到 SCALE
来自 scales::serializer::*
模块(特性 experimental-serializer
)的公共方法允许将动态类型(例如 serde_json::Value
)尽可能转换为 SCALE 二进制格式。序列化器在解释输入时会尝试变得聪明,并将其转换为注册表提供的类型指定的所需格式。
// simple conversion
let scale_data = to_vec(some_serializable_input); // or to_bytes(&mut bytes, input);
// with type info
let scale_data = to_vec_with_info(input, Some((®istry, type_id)));
// from an unordered list of properties that make an object
let input = vec![("prop_b", 123), ("prop_a", 456)];
let scale_data = to_vec_from_iter(input, (®istry, type_id));
依赖项
~4MB
~82K SLoC