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#![cfg_attr(not(feature = "std"), no_std)]
13#![deny(rustdoc::broken_intra_doc_links, rustdoc::bare_urls, rust_2018_idioms)]
14#![warn(
15    missing_debug_implementations,
16    clippy::explicit_iter_loop,
17    clippy::use_self,
18    clippy::clone_on_ref_ptr,
19    clippy::future_not_send
20)]
21
22extern crate alloc;
23
24#[allow(
25    unused_imports,
26    clippy::redundant_static_lifetimes,
27    clippy::redundant_closure,
28    clippy::redundant_field_names,
29    clippy::clone_on_ref_ptr,
30    clippy::enum_variant_names,
31    clippy::use_self
32)]
33mod pb {
34    pub mod google {
35        pub mod protobuf {
36            include!(concat!(env!("OUT_DIR"), "/google.protobuf.rs"));
37            include!(concat!(env!("OUT_DIR"), "/google.protobuf.serde.rs"));
38        }
39    }
40}
41
42mod duration;
43mod list_value;
44mod null_value;
45mod r#struct;
46mod timestamp;
47pub mod value;
48mod wrappers;
49
50pub use pb::google::protobuf::*;