Struct RecentEmojiEventContent
#[non_exhaustive]pub struct RecentEmojiEventContent {
pub recent_emoji: Vec<RecentEmoji>,
}Expand description
The content of an m.recent_emoji event.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.recent_emoji: Vec<RecentEmoji>The list of recently used emojis, ordered by last usage time.
Implementations§
§impl RecentEmojiEventContent
impl RecentEmojiEventContent
pub const RECOMMENDED_MAX_LEN: usize = 100usize
pub const RECOMMENDED_MAX_LEN: usize = 100usize
The maximum length of the list recommended in the Matrix specification.
pub fn new(recent_emoji: Vec<RecentEmoji>) -> RecentEmojiEventContent
pub fn new(recent_emoji: Vec<RecentEmoji>) -> RecentEmojiEventContent
Creates a new RecentEmojiEventContent from the given list.
pub fn increment_emoji_total(&mut self, emoji: &str)
pub fn increment_emoji_total(&mut self, emoji: &str)
Increment the total for the given emoji.
If the emoji is in the list, its total is incremented and it is moved to the start of the list.
If the emoji is not in the list, it is added at the start of the list with a total set to
1.
If the length of the list is bigger than RECOMMENDED_MAX_LEN,
the list is truncated.
pub fn recent_emoji_sorted_by_total(&self) -> Vec<RecentEmoji>
pub fn recent_emoji_sorted_by_total(&self) -> Vec<RecentEmoji>
Get the list of recent emoji sorted by the number of uses.
When several emoji have the same number of uses they are sorted by last usage time.
The returned list is truncated to RECOMMENDED_MAX_LEN.
Trait Implementations§
§impl Clone for RecentEmojiEventContent
impl Clone for RecentEmojiEventContent
§fn clone(&self) -> RecentEmojiEventContent
fn clone(&self) -> RecentEmojiEventContent
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read more§impl Debug for RecentEmojiEventContent
impl Debug for RecentEmojiEventContent
§impl<'de> Deserialize<'de> for RecentEmojiEventContent
impl<'de> Deserialize<'de> for RecentEmojiEventContent
§fn deserialize<__D>(
__deserializer: __D,
) -> Result<RecentEmojiEventContent, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<RecentEmojiEventContent, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
§impl From<RecentEmojiEventContent> for AnyGlobalAccountDataEventContent
impl From<RecentEmojiEventContent> for AnyGlobalAccountDataEventContent
§fn from(c: RecentEmojiEventContent) -> AnyGlobalAccountDataEventContent
fn from(c: RecentEmojiEventContent) -> AnyGlobalAccountDataEventContent
Converts to this type from the input type.
§impl GlobalAccountDataEventContent for RecentEmojiEventContent
impl GlobalAccountDataEventContent for RecentEmojiEventContent
§fn event_type(&self) -> GlobalAccountDataEventType
fn event_type(&self) -> GlobalAccountDataEventType
Get the event’s type, like
m.push_rules.§impl Serialize for RecentEmojiEventContent
impl Serialize for RecentEmojiEventContent
§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
impl JsonCastable<AnyGlobalAccountDataEventContent> for RecentEmojiEventContent
impl JsonCastable<Map<String, Value>> for RecentEmojiEventContent
Auto Trait Implementations§
impl Freeze for RecentEmojiEventContent
impl RefUnwindSafe for RecentEmojiEventContent
impl Send for RecentEmojiEventContent
impl Sync for RecentEmojiEventContent
impl Unpin for RecentEmojiEventContent
impl UnwindSafe for RecentEmojiEventContent
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> CompatExt for T
impl<T> CompatExt for T
Source§impl<T> DeserialiseFromJs for Twhere
T: DeserializeOwned,
impl<T> DeserialiseFromJs for Twhere
T: DeserializeOwned,
Source§fn deserialise_from_js(js: JsValue) -> Result<T, Error>
fn deserialise_from_js(js: JsValue) -> Result<T, Error>
Deserialise a value from JS, most likely using
serde_wasm_bindgen.Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Converts
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Converts
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Converts
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Converts
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<T> EventContentFromType for Twhere
T: StaticEventContent + DeserializeOwned,
impl<T> EventContentFromType for Twhere
T: StaticEventContent + DeserializeOwned,
Source§impl<T, UT> HandleAlloc<UT> for T
impl<T, UT> HandleAlloc<UT> for T
Source§impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
Source§impl<T> Identity for Twhere
T: ?Sized,
impl<T> Identity for Twhere
T: ?Sized,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> SerialiseToJs for Twhere
T: Serialize,
impl<T> SerialiseToJs for Twhere
T: Serialize,
Source§fn serialise_to_js(&self) -> Result<JsValue, Error>
fn serialise_to_js(&self) -> Result<JsValue, Error>
Convert the type to a
JsValue, most likely using serde_wasm_bindgen.