Crates.io | try_encoding_from |
lib.rs | try_encoding_from |
version | 0.1.4 |
source | src |
created_at | 2021-01-21 03:58:18.186327 |
updated_at | 2021-01-30 21:31:22.20638 |
description | A convenient API for serde_json, serde_yaml, serde_cbor. Meme of the TryFrom and TryInto traits. |
homepage | https://github.com/jameone/try_encoding_from |
repository | https://github.com/jameone/try_encoding_from |
max_upload_size | |
id | 344733 |
size | 37,285 |
This library contains a convenient API wrapper for serde_json
,
serde_yaml
, and serde_cbor
inspired by the TryFrom
and
TryInto
traits.
The serde
, serde_json
, serde_yaml
, and serde_cbor
crates
are included and available under the feature flags:
json
, yaml
, and cbor
.
Please see the encoding module's API
for the available optional trait definitions. Note: using
json
, yaml
, or cbor
features will
require inclusion of the serde
crate as Serialize, Deserialize,
DeserializeOwned traits are required for the library to compile.
use try_encoding_from::TryJsonFrom;
use btree_graph::{BTreeGraph, AddVertex, AddEdge, Vertices};
fn main() {
// Add three nodes.
let mut graph: BTreeGraph<usize, usize> = BTreeGraph::new();
graph.add_vertex(0);
graph.add_vertex(1);
graph.add_vertex(2);
// Check there is indeed three nodes.
assert_eq!(graph.vertices().len(), 3);
// Add an edge (0, 1) = 2, (1, 2) = 3, and (0, 2) = 4.
graph.add_edge(0, 1, 2).unwrap();
graph.add_edge(1, 2, 3).unwrap();
graph.add_edge(0, 2, 4).unwrap();
let json_string: String = String::try_json_from(graph)?;
assert_eq!(json_string, String::from("{\"vertices\":{\"0\":[2,4],\"1\":[3],\"2\":[]},\"edges\":{\"2\":[0,1],\"3\":[1,2],\"4\":[0,2]}}"));
}
Add the following to your Cargo.toml
file:
[dependencies]
try_encoding_from = "0.1.3"
Please see the API for a full list of available methods.
This work is dually licensed under MIT OR Apache-2.0.