ruma-identifiers-validation 0.12.0

Validation logic for ruma-common and ruma-macros
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
use crate::{Error, localpart_is_backwards_compatible, parse_id};

/// Validate a [room alias] as used by clients and servers.
///
/// [room alias]: https://spec.matrix.org/latest/appendices/#room-aliases
pub fn validate(s: &str) -> Result<(), Error> {
    let colon_idx = parse_id(s, b'#')?;
    let localpart = &s[1..colon_idx];

    localpart_is_backwards_compatible(localpart)?;

    Ok(())
}