You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Sven Slootweg 8dcd3749e3 1.0.1 4 years ago
.gitignore Initial commit 4 years ago Fix README example to be valid JS 4 years ago
index.js Initial commit 4 years ago
package.json 1.0.1 4 years ago
yarn.lock Initial commit 4 years ago


A utility library for (validating and) parsing an MXC URI into an object.

Part of the Modular Matrix toolkit, a set of modular libraries for working with the Matrix protocol.


const parseMXC = require("@modular-matrix/parse-mxc");

let parsed = parseMXC.parse("mxc://");

console.log(parsed); // { homeserver: '', id: 'qBpNzYpOknBxnSdcbFWrbqWT' }

let invalid = parseMXC(""); // throws a parseMXC.ParsingError



Parses a string containing an MXC URI.

  • uri: The URI string to parse.

Upon successful parsing, returns an object with the following structure:

  • homeserver: The hostname of the homeserver encoded in the URI. Note that this is the source HS for the content; when eg. generating thumbnails, the request for that will usually be made to your own HS, and the hostname in this object only becomes part of the request path.
  • id: The MXC ID, identifying the specific piece of content.

The returned object can be passed into other Modular Matrix libraries that expect an MXC object.

If the provided URI is not a valid MXC URI, a parseMXC.ParsingError will be thrown.


An error type (constructor) representing a failure to parse an MXC URI, due to the URI being invalid in some way.

This is an error type that inherits from Error, and so can be used with instanceof (and mechanisms based on it, such as Bluebird's filtered .catch) to detect errors of this specific type.