No Description

Sven Slootweg 8dcd3749e3 1.0.1 9 months ago
.gitignore 17187021c5 Initial commit 9 months ago fa3f544708 Fix README example to be valid JS 9 months ago
index.js 17187021c5 Initial commit 9 months ago
package.json 8dcd3749e3 1.0.1 9 months ago
yarn.lock 17187021c5 Initial commit 9 months 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.