enser 0.1.2

Enum serialization with tag
Documentation

✒️ enser

Crates.io docs.rs CI Coverage Status

Enum Serialization with Tag

 # serde_yaml -- every variant starts with a !Tag
 enser:
-- Tbd
-- None
+- !Tbd null
+- !None null
 - !Some 123
 - !Named
   value: 456

 # serde_json -- every variant is an object
 {
   "enser": [
-    "Tbd",
-    "None",
+    { "Tbd": null },
+    { "None": null },
     { "Some": 123 },
     { "Named": { "value": 456 } }
   ]
 }

Usage

Add the following to Cargo.toml

enser = "0.1.2"
#[enser::enser] // <-- just add this
                // Note: It *must* come above `#[derive(Clone, Deserialize, Serialize)]`
#[derive(Clone, Debug, Deserialize, Serialize)]
enum MyEnum {
    Tbd,
    None,
    Some(u32),
    Named { value: u32 },
}

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.