ruma_identifiers_validation/
room_alias_id.rs

1use crate::{localpart_is_backwards_compatible, parse_id, Error};
2
3/// Validate a [room alias] as used by clients and servers.
4///
5/// [room alias]: https://spec.matrix.org/latest/appendices/#room-aliases
6pub fn validate(s: &str) -> Result<(), Error> {
7    let colon_idx = parse_id(s, b'#')?;
8    let localpart = &s[1..colon_idx];
9
10    localpart_is_backwards_compatible(localpart)?;
11
12    Ok(())
13}