matrix-react-sdk
Version:
SDK for matrix.org using React
29 lines (26 loc) • 2.82 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.navigateToPermalink = navigateToPermalink;
var _Permalinks = require("./Permalinks");
/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only
Please see LICENSE files in the repository root for full details.
*/
/**
* Converts a permalink to a local HREF and navigates accordingly. Throws if the permalink
* cannot be transformed.
* @param uri The permalink to navigate to.
*/
function navigateToPermalink(uri) {
const localUri = (0, _Permalinks.tryTransformPermalinkToLocalHref)(uri);
if (!localUri || localUri === uri) {
// parse failure can lead to an unmodified URL
throw new Error("Failed to transform URI");
}
window.location.hash = localUri; // it'll just be a fragment
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfUGVybWFsaW5rcyIsInJlcXVpcmUiLCJuYXZpZ2F0ZVRvUGVybWFsaW5rIiwidXJpIiwibG9jYWxVcmkiLCJ0cnlUcmFuc2Zvcm1QZXJtYWxpbmtUb0xvY2FsSHJlZiIsIkVycm9yIiwid2luZG93IiwibG9jYXRpb24iLCJoYXNoIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWxzL3Blcm1hbGlua3MvbmF2aWdhdG9yLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seVxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbmltcG9ydCB7IHRyeVRyYW5zZm9ybVBlcm1hbGlua1RvTG9jYWxIcmVmIH0gZnJvbSBcIi4vUGVybWFsaW5rc1wiO1xuXG4vKipcbiAqIENvbnZlcnRzIGEgcGVybWFsaW5rIHRvIGEgbG9jYWwgSFJFRiBhbmQgbmF2aWdhdGVzIGFjY29yZGluZ2x5LiBUaHJvd3MgaWYgdGhlIHBlcm1hbGlua1xuICogY2Fubm90IGJlIHRyYW5zZm9ybWVkLlxuICogQHBhcmFtIHVyaSBUaGUgcGVybWFsaW5rIHRvIG5hdmlnYXRlIHRvLlxuICovXG5leHBvcnQgZnVuY3Rpb24gbmF2aWdhdGVUb1Blcm1hbGluayh1cmk6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IGxvY2FsVXJpID0gdHJ5VHJhbnNmb3JtUGVybWFsaW5rVG9Mb2NhbEhyZWYodXJpKTtcbiAgICBpZiAoIWxvY2FsVXJpIHx8IGxvY2FsVXJpID09PSB1cmkpIHtcbiAgICAgICAgLy8gcGFyc2UgZmFpbHVyZSBjYW4gbGVhZCB0byBhbiB1bm1vZGlmaWVkIFVSTFxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJGYWlsZWQgdG8gdHJhbnNmb3JtIFVSSVwiKTtcbiAgICB9XG4gICAgd2luZG93LmxvY2F0aW9uLmhhc2ggPSBsb2NhbFVyaTsgLy8gaXQnbGwganVzdCBiZSBhIGZyYWdtZW50XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQVFBLElBQUFBLFdBQUEsR0FBQUMsT0FBQTtBQVJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTyxTQUFTQyxtQkFBbUJBLENBQUNDLEdBQVcsRUFBUTtFQUNuRCxNQUFNQyxRQUFRLEdBQUcsSUFBQUMsNENBQWdDLEVBQUNGLEdBQUcsQ0FBQztFQUN0RCxJQUFJLENBQUNDLFFBQVEsSUFBSUEsUUFBUSxLQUFLRCxHQUFHLEVBQUU7SUFDL0I7SUFDQSxNQUFNLElBQUlHLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQztFQUM5QztFQUNBQyxNQUFNLENBQUNDLFFBQVEsQ0FBQ0MsSUFBSSxHQUFHTCxRQUFRLENBQUMsQ0FBQztBQUNyQyIsImlnbm9yZUxpc3QiOltdfQ==