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
.
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
B
(usually Vec<u8>
) that (de)serializes from / to a base64 string.An error that occurred while decoding a base64 string.
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
.Traits
Trait for types that have an “empty” state.
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.
Check whether a value is empty.
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
.