serde-ext

Extensions/helpers for serde

Usage:

```rust

[serdeext::extendserde]

[derive(Debug, serde::Deserialize)]

pub struct Foo { #[serdeext(default(literal = 23))] a: i32, #[serdeext(default(inline = r#"|| String::from("Hello") "#))] b: String, #[serde(deserializewith = "serdeext::de::parsable")] url: url::Url, #[serde(with = "serdeext::base64")] base64bytes: Vec, #[serde(deserializewith = "serdeext::de::nonemptystring")] nonemptystring: Option }

fn main() {

println!(
    "{:?}",
    serde_json::from_str::<Foo>(r#"{ 
        "a": 22, 
        "bar": "x", 
        "url": "http://google.com", 
        "base64_bytes": "aGVsbG8gd29ybGQ=",
        "non_empty_string": "a"
    }"#)
);

} ```