default_fields 0.1.0

A simple derive macro that adds a default getter function for each struct field
Documentation
# DefaultFields

Simple Rust derive macro that, for each field in the struct, creates a function that returns its default value (requires the struct to extend `Default` trait). This is useful if you want to parse struct from JSON and fill in the missing elements with defaults. For example, the following code:

```rust
#[derive(Deserialize)]
struct TestObj {
    #[serde(default = "TestObj::get_default_field1")]
    pub field1: bool,
    #[serde(default = "TestObj::get_default_field2")]
    pub field2: u64,
    #[serde(default = "TestObj::get_default_field3")]
    pub field3: String,
}

impl TestObj {

    pub fn get_default_field1() -> bool {
        true
    }

    pub fn get_default_field2() -> u64 {
        100u64
    }

    pub fn get_default_field3() -> String {
        String::from("test_str")
    }

}
```
can be simplified to:
```rust
#[derive(Deserialize, DefaultFields)]
struct TestObj {
    #[serde(default = "TestObj::get_default_field1")]
    pub field1: bool,
    #[serde(default = "TestObj::get_default_field2")]
    pub field2: u64,
    #[serde(default = "TestObj::get_default_field3")]
    pub field3: String,
}

impl Default for TestObj {
    fn default -> Self {
        Self {
            field1: true,
            field2: 100u64,
            field3: String::from("test_str"),
        }
    }
}
```