Crates.io | from_as |
lib.rs | from_as |
version | 0.2.0 |
source | src |
created_at | 2020-12-13 11:28:53.814552 |
updated_at | 2023-04-06 12:56:22.410691 |
description | Traits and derive macros to Read and write types that implement serde Serialize and deserialize to files |
homepage | |
repository | https://github.com/sreeise/from_as |
max_upload_size | |
id | 322383 |
size | 17,151 |
Rust traits and derive macros for reading and writing files for types that implement serde.
Available on crates.io
from_as = "0.2.0"
This crate provides two traits: FromFile and AsFile. FromFile is used for getting types from a file. AsFile is used for writing types to a file.
The traits can be used for writing json, yaml, and toml files.
#[macro_use]
extern crate serde;
use std::io::{Read, Write};
use std::convert::TryFrom;
use from_as::*;
#[derive(Debug, Deserialize, Serialize, AsFile, FromFile)]
struct Attribute {
name: String,
}
fn main() {
let attr = Attribute {
name: "attr_name".into()
};
// Write to the example directory.
attr.as_file("./examples/attr.json").unwrap();
let attr = Attribute::from_file("./examples/attr.json").unwrap();
println!("{:#?}", attr);
// For writing a prettified version.
attr.as_file_pretty("./examples/attr.json").uwnrap();
}