1use serde::{Serialize, Serializer};
5
6#[cfg(feature = "unstable")] pub use self::{
8 control::{CheckResult, DumpingControl},
9 dump::{Direction, Dump, ErasedMessage, MessageKind, MessageName, Timestamp},
10 dumper::Dumper,
11 extract_name::{extract_name, extract_name_by_type},
12 raw::Raw,
13 recorder::{set_make_recorder, Recorder},
14 sequence_no::SequenceNo,
15};
16#[cfg(not(feature = "unstable"))] pub(crate) use self::{
18 control::{CheckResult, DumpingControl},
19 dump::{Direction, Dump, ErasedMessage, MessageKind, MessageName, Timestamp},
20 dumper::Dumper,
21 extract_name::{extract_name, extract_name_by_type},
22 raw::Raw,
23 recorder::{set_make_recorder, Recorder},
24 sequence_no::SequenceNo,
25};
26
27pub(crate) use self::config::DumpingConfig;
28
29#[cfg_attr(docsrs, doc(cfg(feature = "unstable")))]
30#[stability::unstable]
31pub const INTERNAL_CLASS: &str = "internal";
32
33mod config;
34mod control;
35mod dump;
36mod dumper;
37mod extract_name;
38mod raw;
39mod recorder;
40mod sequence_no;
41
42pub fn hide<T: Serialize, S: Serializer>(value: &T, serializer: S) -> Result<S::Ok, S::Error> {
44 if crate::scope::serde_mode() == crate::scope::SerdeMode::Dumping {
45 serializer.serialize_str("<hidden>")
46 } else {
47 value.serialize(serializer)
48 }
49}