Module ruma_common::serde
source · [−]Expand description
(De)serialization helpers for other Ruma crates.
Part of that is a fork of serde_urlencoded, with support for sequences in Deserialize
/
Serialize
structs (e.g. Vec<Something>
) that are (de)serialized as field=val1&field=val2
.
Re-exports
pub use self::base64::Base64;
pub use self::base64::Base64DecodeError;
pub use self::can_be_empty::is_empty;
pub use self::can_be_empty::CanBeEmpty;
Modules
Transparent base64 encoding / decoding as part of (de)serialization.
Helpers for emptiness checks in
#[serde(skip_serializing_if)]
.De-/serialization functions for
std::time::Duration
objectsDe-/serialization functions to and from json strings, allows the type to be used as a query
string.
De-/serialization functions to and from single element sequences.
Helpers for tests
x-www-form-urlencoded
meets SerdeSerde serialization and deserialization functions that map a
Vec<T>
to a
BTreeMap<T, Empty>
.Structs
A wrapper around
Box<RawValue>
, to be used in place of any type in the Matrix endpoint
definition to allow request and response types to contain that said type represented by
the generic argument Ev
.Functions
Take a BTreeMap with values of either an integer number or a string and deserialize
those to integer numbers.
Simply returns
true
.Deserialize a
Cow<'de, str>
.Take either an integer number or a string and deserialize to an integer number.
Serde deserialization decorator to map empty Strings to None,
and forward non-empty Strings to the Deserialize implementation for T.
Useful for the typical
“A room with an X event with an absent, null, or empty Y field
should be treated the same as a room with no such event.”
formulation in the spec.
Helper function for
serde_json::value::RawValue
deserialization.Check whether a value is equal to its default value.
Simply dereferences the given bool.
Creates a buffer and writes a serializable value to it.
Serde serializiation decorator to map
None
to an empty String
,
and forward Some
s to the Serialize
implementation for T
.Converts a byte slice to a buffer by copying.
Type Definitions
The inner type of
JsonValue::Object
.Derive Macros
Derive the
AsRef<str>
trait for an enum.Derive the
Deserialize
trait using the From<Cow<str>>
implementation of the type.Derive the
fmt::Display
trait using the AsRef<str>
implementation of the type.Derive the
From<T: AsRef<str> + Into<Box<str>>>
trait for an enum.Generating an ‘Incoming’ version of the type this derive macro is used on.
Derive the
Ord
trait using the AsRef<str>
implementation of the type.Derive the
PartialEq
trait using the AsRef<str>
implementation of the type.Derive the
PartialOrd
trait using the AsRef<str>
implementation of the type.Derive the
Serialize
trait using the AsRef<str>
implementation of the type.Shorthand for the derives
AsRefStr
, FromString
, DisplayAsRefStr
, SerializeAsRefStr
and
DeserializeFromCowStr
.