Crate ruma_serde[][src]

Expand description

(De)serialization helpers for other ruma crates.


pub use can_be_empty::is_empty;
pub use can_be_empty::CanBeEmpty;


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>.


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.


The set of possible errors when serializing to canonical JSON.

Represents a canonical JSON value as per the Matrix specification.


A type that can be sent to another party that understands the matrix protocol.


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>.

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.

Take either an integer number or a string and deserialize to an integer number.

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 Somes to the Serialize implemention 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.

Derive Macros

Derive the Outgoing trait, possibly generating an ‘Incoming’ version of the struct this derive macro is used on. Specifically, if no lifetime variables are used on any of the fields of the struct, this simple implementation will be generated:

Shorthand for the derives AsRefStr, FromString, DisplayAsRefStr, SerializeAsRefStr and DeserializeFromCowStr.