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
objects
De-/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 Serde
Serde 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
.
Enums
The set of possible errors when serializing to canonical JSON.
Represents a canonical JSON value as per the Matrix specification.
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.
Fallible conversion from any value that impl’s Serialize
to a CanonicalJsonValue
.
Fallible conversion from a serde_json::Map
to a CanonicalJsonObject
.
Type Definitions
The inner type of CanonicalJsonValue::Object
.
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
.