pbjson_types/
lib.rs

1//! `pbjson-types` provides the `google.protobuf` types, commonly known as well-known-types,
2//! with [`serde::Serialize`][1] and [`serde::Deserialize`][2] implementations
3//! that are compliant with the [protobuf JSON mapping][3]
4//!
5//! __Note: Coverage of all types is currently incomplete,
6//! some may have non-compliant implementations__
7//!
8//! [1]: https://docs.rs/serde/1.0.130/serde/trait.Serialize.html
9//! [2]: https://docs.rs/serde/1.0.130/serde/trait.Deserialize.html
10//! [3]: https://developers.google.com/protocol-buffers/docs/proto3#json
11
12#![deny(rustdoc::broken_intra_doc_links, rustdoc::bare_urls, rust_2018_idioms)]
13#![warn(
14    missing_debug_implementations,
15    clippy::explicit_iter_loop,
16    clippy::use_self,
17    clippy::clone_on_ref_ptr,
18    clippy::future_not_send
19)]
20
21#[allow(
22    unused_imports,
23    clippy::redundant_static_lifetimes,
24    clippy::redundant_closure,
25    clippy::redundant_field_names,
26    clippy::clone_on_ref_ptr,
27    clippy::enum_variant_names,
28    clippy::use_self
29)]
30mod pb {
31    pub mod google {
32        pub mod protobuf {
33            include!(concat!(env!("OUT_DIR"), "/google.protobuf.rs"));
34            include!(concat!(env!("OUT_DIR"), "/google.protobuf.serde.rs"));
35        }
36    }
37}
38
39mod duration;
40mod list_value;
41mod null_value;
42mod r#struct;
43mod timestamp;
44pub mod value;
45mod wrappers;
46
47pub use pb::google::protobuf::*;