1#![doc = include_str!("../doc/intro.md")]
2#![doc = "# Example - decoding"]
3#![doc = include_str!("../doc/decoding.md")]
4#![cfg_attr(feature = "serde", doc = "# Example - JSON mapping")]
5#![cfg_attr(feature = "serde", doc = include_str!("../doc/json.md"))]
6#![cfg_attr(feature = "derive", doc = "# Implementing [`ReflectMessage`]")]
7#![cfg_attr(feature = "derive", doc = include_str!("../doc/reflect.md"))]
8#![cfg_attr(docsrs, feature(doc_cfg))]
9#![warn(missing_debug_implementations, missing_docs)]
10#![deny(unsafe_code)]
11#![doc(html_root_url = "https://docs.rs/prost-reflect/0.14.7/")]
12
13#[cfg(feature = "serde1")]
14extern crate serde1 as serde;
15
16mod descriptor;
17mod dynamic;
18mod reflect;
19
20pub use {prost, prost::bytes, prost_types};
21
22pub use self::descriptor::{
23 Cardinality, DescriptorError, DescriptorPool, EnumDescriptor, EnumValueDescriptor,
24 ExtensionDescriptor, FieldDescriptor, FileDescriptor, Kind, MessageDescriptor,
25 MethodDescriptor, OneofDescriptor, ServiceDescriptor, Syntax,
26};
27pub use self::dynamic::{DynamicMessage, MapKey, SetFieldError, UnknownField, Value};
28pub use self::reflect::ReflectMessage;
29
30#[cfg(feature = "serde")]
31pub use self::dynamic::{DeserializeOptions, SerializeOptions};
32
33#[cfg(feature = "derive")]
34#[cfg_attr(docsrs, doc(cfg(feature = "derive")))]
35pub use prost_reflect_derive::ReflectMessage;
36
37#[cfg(feature = "text-format")]
38pub use self::dynamic::text_format;