1 个不稳定版本
0.1.0 | 2024年3月8日 |
---|
#18 in #cid
7KB
122 代码行
IPLD 提取链接
此包允许从 serde_ipld_dag*
格式(如 serde_ipld_dagcbor
或 serde_ipld_dagjson
)中提取链接(CIDs)。
用法
链接提取器独立于反序列化器,因此您需要先创建一个。因此,此示例依赖于 serde_json
以及 serde_ipld_dagjson
。
use cid::Cid;
use ipld_extract_links::ExtractLinks;
use serde::Deserialize;
pub fn main() {
let slice = br#"{"hello": "world!", "other": {"/": "bafkreibme22gw2h7y2h7tg2fhqotaqjucnbc24deqo72b6mkl2egezxhvy" }}"#;
let mut json_deserializer = serde_json::Deserializer::from_slice(slice);
let deserializer = serde_ipld_dagjson::Deserializer::new(&mut json_deserializer);
let extracted_links = ExtractLinks::deserialize(deserializer).unwrap().into_vec();
assert_eq!(
extracted_links,
vec![
Cid::try_from("bafkreibme22gw2h7y2h7tg2fhqotaqjucnbc24deqo72b6mkl2egezxhvy").unwrap(),
]
);
}
许可证
许可协议为以下之一
- Apache License,版本 2.0 (LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT 许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
由您选择。
依赖关系
~0.5–0.9MB
~15K SLoC