matrix_uri

Crates.iomatrix_uri
lib.rsmatrix_uri
version0.1.1
sourcesrc
created_at2021-03-17 15:01:52.348099
updated_at2022-03-28 10:40:38.06303
descriptionA crate for parsing Matrix URIs according to both matrix.to and MSC2312
homepagehttps://famedly.com/
repositoryhttps://gitlab.com/famedly/libraries/matrix_uri
max_upload_size
id370162
size61,159
(famedly-bot)

documentation

README

matrix_uri

Coverage Pipeline
coverage report pipeline status

Deprecation Notice

Ruma has support for parsing both types of Matrix URIs as of version 0.5.0, thus this crate is now deprecated.

Original Description

A crate for building and parsing Matrix URIs according to both the matrix.to specification and also MSC2312 (matrix://).

Optionally provides conversion to types from ruma_identifiers with the ruma feature

Usage

Building

let uri = crate::MatrixUri::new(
            crate::MatrixId::new(crate::IdType::UserId, String::from("cute:some.url")),
            None,
            None,
            Some(vec![String::from("headpat.services"), String::from("cute.local")]),
            Some(crate::MatrixUriAction::Chat),
        )
        .unwrap();

println!("{} with {}", uri.action().unwrap().to_string(), uri.mxid.to_string()); // `chat with @cute:some.url`
println!("{}", uri.matrix_uri_string()); // `matrix:u/cute%3Asome.url?action=chat&via=headpat.services&via=cute.local`
println!("{}", uri.matrix_to_string()); // `https://matrix.to/#/%40cute%3Asome.url?action=chat&via=headpat.services&via=cute.local`

Parsing

let uri = matrix_uri::MatrixUri::from_str("matrix:u/her:example.org?action=chat").unwrap();

println!("{} - {:?}", uri.mxid.to_string(), uri.action().unwrap()); // `@her:example.org - Chat`

Docs

Can be viewed from source by running cargo doc --open

Pre-commit usage

  1. If not installed, install with your package manager, or pip install --user pre-commit
  2. Run pre-commit autoupdate to update the pre-commit config to use the newest template
  3. Run pre-commit install to install the pre-commit hooks to your local environment
Commit count: 24

cargo fmt