5 releases
0.1.5 | Mar 22, 2024 |
---|---|
0.1.4 | Mar 21, 2024 |
0.1.2 | Mar 30, 2023 |
0.1.1 | Feb 13, 2023 |
0.1.0 | Dec 19, 2022 |
#994 in Procedural macros
801 downloads per month
Used in tucana-internal
40KB
940 lines
prost-serde-derive
is a procedural macro for serializing/deserializing structs generated by Prost with Serde.
How to use
When using tonic-build, add type attribute to the structs/enums like following:
fn main() {
tonic_build::configure()
.type_attribute("some.proto.SomeStruct", "#[derive(prost_serde_derive::Deserialize, prost_serde_derive::Serialize)]")
// Add following if you have to allow missing non-nullable fields when deserializing (will be filled with the default value)
.type_attribute("some.proto.SomeStruct", "#[prost_serde_derive(use_default_for_missing_fields)]")
// Add following if you have to allow deserializing even if there are type errors
.type_attribute("some.proto.SomeStruct", "#[prost_serde_derive(omit_type_errors)]")
// Serializing/deserializing Prost enumerations are also available
.type_attribute("some.proto.SomeEnum", "#[derive(prost_serde_derive::Deserialize, prost_serde_derive::Serialize)]")
.compile(...);
}
Make sure to include base64 to your dependencies when bytes
type is used in your proto.
Dependencies
~2.5MB
~51K SLoC