#![cfg_attr(
feature = "derive",
doc = r#"
```rust
use deser::{Serialize, Deserialize};
#[derive(Debug, Serialize, Deserialize)]
#[deser(rename_all = "camelCase")]
pub struct Account {
id: usize,
account_holder: String,
is_deactivated: bool,
}
```
"#
)]
#[macro_use]
mod macros;
mod event;
pub mod de;
mod error;
pub mod ser;
mod descriptors;
mod extensions;
pub use self::descriptors::Descriptor;
pub use self::error::{Error, ErrorKind};
pub use self::event::{Atom, Event};
#[doc(no_inline)]
pub use self::{de::Deserialize, ser::Serialize};
#[cfg(feature = "derive")]
#[doc(no_inline)]
pub use self::derive::{Deserialize, Serialize};
#[cfg(feature = "derive")]
pub mod derive;
#[cfg(feature = "derive")]
#[doc(hidden)]
pub mod __derive {
pub use std::borrow::Cow;
pub use std::boxed::Box;
pub use std::default::Default;
pub use std::option::Option::{self, None, Some};
pub use std::result::Result::{Err, Ok};
pub type Result<T> = std::result::Result<T, super::Error>;
pub type StrCow<'a> = Cow<'a, str>;
pub fn new_missing_field_error(name: &str) -> super::Error {
super::Error::new(
super::ErrorKind::MissingField,
format!("Missing field '{}'", name),
)
}
mod _hack {
pub type Str = str;
}
pub use self::_hack::Str as str;
}