pub struct RoomOrAliasId(/* private fields */);Expand description
A Matrix room ID or a Matrix room alias ID.
RoomOrAliasId is useful for APIs that accept either kind of room identifier. It is converted
from a string slice, and can be converted back into a string as needed. When converted from a
string slice, the variant is determined by the leading sigil character.
assert_eq!(<&RoomOrAliasId>::try_from("#ruma:example.com").unwrap(), "#ruma:example.com");
assert_eq!(
<&RoomOrAliasId>::try_from("!n8f893n9:example.com").unwrap(),
"!n8f893n9:example.com"
);Implementations§
Source§impl RoomOrAliasId
impl RoomOrAliasId
Sourcepub fn parse(s: impl AsRef<str> + Into<Box<str>>) -> Result<Box<Self>, Error>
pub fn parse(s: impl AsRef<str> + Into<Box<str>>) -> Result<Box<Self>, Error>
Try parsing a &str into a Box<RoomOrAliasId>.
The same can also be done using FromStr, TryFrom or TryInto.
This function is simply more constrained and thus useful in generic contexts.
Source§impl RoomOrAliasId
impl RoomOrAliasId
Source§impl RoomOrAliasId
impl RoomOrAliasId
Sourcepub fn localpart(&self) -> &str
pub fn localpart(&self) -> &str
Returns the local part (everything after the ! or # and before the first colon).
Sourcepub fn server_name(&self) -> &ServerName
pub fn server_name(&self) -> &ServerName
Returns the server name of the room (alias) ID.
Sourcepub fn is_room_id(&self) -> bool
pub fn is_room_id(&self) -> bool
Whether this is a room id (starts with '!')
Sourcepub fn is_room_alias_id(&self) -> bool
pub fn is_room_alias_id(&self) -> bool
Whether this is a room alias id (starts with '#')
Sourcepub fn into_either(self: Box<Self>) -> Either<Box<RoomId>, Box<RoomAliasId>>
Available on crate feature either only.
pub fn into_either(self: Box<Self>) -> Either<Box<RoomId>, Box<RoomAliasId>>
either only.Turn this RoomOrAliasId into Either<RoomId, RoomAliasId>
Trait Implementations§
Source§impl AsRef<str> for RoomOrAliasId
impl AsRef<str> for RoomOrAliasId
Source§impl Clone for Box<RoomOrAliasId>
impl Clone for Box<RoomOrAliasId>
Source§impl Debug for RoomOrAliasId
impl Debug for RoomOrAliasId
Source§impl<'de> Deserialize<'de> for Box<RoomOrAliasId>
Available on crate feature serde only.
impl<'de> Deserialize<'de> for Box<RoomOrAliasId>
serde only.Source§fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
Source§impl Display for RoomOrAliasId
impl Display for RoomOrAliasId
Source§impl<'a> From<&'a RoomAliasId> for &'a RoomOrAliasId
impl<'a> From<&'a RoomAliasId> for &'a RoomOrAliasId
Source§fn from(room_alias_id: &'a RoomAliasId) -> Self
fn from(room_alias_id: &'a RoomAliasId) -> Self
Source§impl<'a> From<&'a RoomId> for &'a RoomOrAliasId
impl<'a> From<&'a RoomId> for &'a RoomOrAliasId
Source§impl From<&RoomOrAliasId> for Arc<RoomOrAliasId>
impl From<&RoomOrAliasId> for Arc<RoomOrAliasId>
Source§fn from(s: &RoomOrAliasId) -> Arc<RoomOrAliasId>
fn from(s: &RoomOrAliasId) -> Arc<RoomOrAliasId>
Source§impl From<&RoomOrAliasId> for Box<RoomOrAliasId>
impl From<&RoomOrAliasId> for Box<RoomOrAliasId>
Source§fn from(id: &RoomOrAliasId) -> Self
fn from(id: &RoomOrAliasId) -> Self
Source§impl From<&RoomOrAliasId> for Rc<RoomOrAliasId>
impl From<&RoomOrAliasId> for Rc<RoomOrAliasId>
Source§fn from(s: &RoomOrAliasId) -> Rc<RoomOrAliasId>
fn from(s: &RoomOrAliasId) -> Rc<RoomOrAliasId>
Source§impl From<Box<RoomAliasId>> for Box<RoomOrAliasId>
impl From<Box<RoomAliasId>> for Box<RoomOrAliasId>
Source§fn from(room_alias_id: Box<RoomAliasId>) -> Self
fn from(room_alias_id: Box<RoomAliasId>) -> Self
Source§impl FromStr for Box<RoomOrAliasId>
impl FromStr for Box<RoomOrAliasId>
Source§impl Hash for RoomOrAliasId
impl Hash for RoomOrAliasId
Source§impl Ord for RoomOrAliasId
impl Ord for RoomOrAliasId
Source§impl PartialEq<&RoomOrAliasId> for Box<RoomOrAliasId>
impl PartialEq<&RoomOrAliasId> for Box<RoomOrAliasId>
Source§impl PartialEq<&str> for RoomOrAliasId
impl PartialEq<&str> for RoomOrAliasId
Source§impl PartialEq<Box<RoomOrAliasId>> for &RoomOrAliasId
impl PartialEq<Box<RoomOrAliasId>> for &RoomOrAliasId
Source§impl PartialEq<Box<RoomOrAliasId>> for RoomOrAliasId
impl PartialEq<Box<RoomOrAliasId>> for RoomOrAliasId
Source§impl PartialEq<RoomOrAliasId> for &str
impl PartialEq<RoomOrAliasId> for &str
Source§impl PartialEq<RoomOrAliasId> for Box<RoomOrAliasId>
impl PartialEq<RoomOrAliasId> for Box<RoomOrAliasId>
Source§impl PartialEq<RoomOrAliasId> for String
impl PartialEq<RoomOrAliasId> for String
Source§impl PartialEq<RoomOrAliasId> for str
impl PartialEq<RoomOrAliasId> for str
Source§impl PartialEq<String> for RoomOrAliasId
impl PartialEq<String> for RoomOrAliasId
Source§impl PartialEq<str> for RoomOrAliasId
impl PartialEq<str> for RoomOrAliasId
Source§impl PartialEq for RoomOrAliasId
impl PartialEq for RoomOrAliasId
Source§impl PartialOrd for RoomOrAliasId
impl PartialOrd for RoomOrAliasId
Source§impl Serialize for RoomOrAliasId
Available on crate feature serde only.
impl Serialize for RoomOrAliasId
serde only.