Skip to content

A convenient API for serde_json, serde_yaml, serde_cbor miming the TryFrom and TryInto traits.

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

james-spears/try_encoding_from

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Try<Encoding>From (try_encoding_from)

Branch Status

build test main
CodeBuild(build) CodeBuild(test) CodeBuild(main)

Version badge Docs badge

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.

Example

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]}}"));
}

Usage

Add the following to your Cargo.toml file:

[dependencies]
try_encoding_from = "0.1.3"

API

Please see the API for a full list of available methods.

License

This work is dually licensed under MIT OR Apache-2.0.

About

A convenient API for serde_json, serde_yaml, serde_cbor miming the TryFrom and TryInto traits.

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Packages

No packages published

Languages