prost-serde 0.3.0

A prost toolkit to build protobuf with serde support.
Documentation
{
    "includes": [
        "examples"
    ],
    "files": [
        "examples/hello.proto"
    ],
    "output": "examples/pb",
    "opts": [
        {
            "scope": "type",
            "attr": "#[derive(serde::Serialize, serde::Deserialize)]\n#[serde(default)]",
            "paths": [
                "helloworld.Hello"
            ]
        },
        {
            "scope": "type",
            "description": "serde support for enum",
            "attr": "#[derive(serde::Serialize, serde::Deserialize)]\n#[serde(rename_all = \"lowercase\")]",
            "paths": [
                "helloworld.Status"
            ]
        },
        {
            "scope": "field",
            "description": "skip string default values",
            "attr": "#[serde(skip_serializing_if = \"String::is_empty\", default)]",
            "paths": [
                "msg"
            ]
        },
        {
            "scope": "field",
            "description": "skip null values",
            "attr": "#[serde(deserialize_with = \"prost_helper::deserialize_null_default\")]",
            "paths": [
                "field_may_be_null"
            ]
        },
        {
            "scope": "field",
            "description": "skip 0 for any num",
            "attr": "#[serde(skip_serializing_if = \"prost_helper::is_zero\")]",
            "paths": [
                "field_skip_zero"
            ]
        },
        {
            "scope": "field",
            "description": "skip the field for serialization",
            "attr": "#[serde(skip_serializing)]",
            "paths": [
                "filed_skip"
            ]
        },
        {
            "scope": "bytes",
            "description": "use bytes::Bytes for given bytes field",
            "paths": [
                "."
            ]
        },
        {
            "scope": "btree_map",
            "description": "use BtreeMap for given map field",
            "paths": [
                "Hello.map"
            ]
        },
        {
            "scope": "field",
            "description": "serialize Bytes to base64 string",
            "attr": "#[serde(serialize_with = \"prost_helper::serialize_buf\",deserialize_with = \"prost_helper::deserialize_buf_bytes\")]",
            "paths": [
                "Hello.data1",
                "Hello.data2",
                "Hello.map"
            ]
        },
        {
            "scope": "field",
            "description": "serialize Vec<Bytes> to base64 string",
            "attr": "#[serde(serialize_with = \"prost_helper::serialize_repeat_buf\",deserialize_with = \"prost_helper::deserialize_repeat_buf_bytes\")]",
            "paths": [
                "Hello.list_data"
            ]
        }
    ]
}