4 个版本 (稳定版)
新 1.0.2 | 2024 年 8 月 15 日 |
---|---|
1.0.1 | 2024 年 4 月 9 日 |
1.0.0 | 2023 年 11 月 14 日 |
0.1.0 | 2023 年 9 月 3 日 |
1027 在 解析器实现 中
每月下载量 207
在 bryte_descriptor_client 中使用
7KB
borsh-schema-writer
这个库提供了一个函数,可以将实现了 BorshSchema 特征的结构体写入指定的文件。然后,该文件可以托管在注册表、文件系统、数据库、Web 存储等位置,供消费者使用。以下是一个示例:
use std::fs::File;
use std::io::BufReader;
use borsh::{BorshDeserialize, BorshSerialize, BorshSchema};
use borsh::schema::{BorshSchemaContainer, Definition, Fields};
use borsh_schema_writer::schema_writer::write_schema;
#[derive(Debug, Default, BorshSerialize, BorshDeserialize, BorshSchema)]
pub struct Person {
first_name: String,
last_name: String
}
fn write_schema_example() {
write_schema(Person::default(), "./tests/schema/person_schema.dat".to_string());
let file = File::open("./tests/schema/person_schema.dat").unwrap();
let mut reader = BufReader::new(file);
let container_from_file = BorshSchemaContainer::deserialize_reader(&mut reader).expect("Deserialization for BorshSchemaContainer failed");
}
依赖项
~1.6–2.3MB
~46K SLoC