UNPKG

matrix-react-sdk

Version:
64 lines (60 loc) 7.25 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.PermalinkParts = void 0; /* Copyright 2024 New Vector Ltd. Copyright 2019-2021 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. */ /** * Interface for classes that actually produce permalinks (strings). * TODO: Convert this to a real TypeScript interface */ class PermalinkConstructor { forEvent(roomId, eventId, serverCandidates = []) { throw new Error("Not implemented"); } forRoom(roomIdOrAlias, serverCandidates = []) { throw new Error("Not implemented"); } forUser(userId) { throw new Error("Not implemented"); } forEntity(entityId) { throw new Error("Not implemented"); } isPermalinkHost(host) { throw new Error("Not implemented"); } parsePermalink(fullUrl) { throw new Error("Not implemented"); } } // Inspired by/Borrowed with permission from the matrix-bot-sdk: // https://github.com/turt2live/matrix-js-bot-sdk/blob/7c4665c9a25c2c8e0fe4e509f2616505b5b66a1c/src/Permalinks.ts#L1-L6 exports.default = PermalinkConstructor; class PermalinkParts { constructor(roomIdOrAlias, eventId, userId, viaServers) { this.roomIdOrAlias = roomIdOrAlias; this.eventId = eventId; this.userId = userId; this.viaServers = viaServers; } static forUser(userId) { return new PermalinkParts(null, null, userId, null); } static forRoom(roomIdOrAlias, viaServers = []) { return new PermalinkParts(roomIdOrAlias, null, null, viaServers); } static forEvent(roomId, eventId, viaServers = []) { return new PermalinkParts(roomId, eventId, null, viaServers); } get primaryEntityId() { return this.roomIdOrAlias || this.userId; } } exports.PermalinkParts = PermalinkParts; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJQZXJtYWxpbmtDb25zdHJ1Y3RvciIsImZvckV2ZW50Iiwicm9vbUlkIiwiZXZlbnRJZCIsInNlcnZlckNhbmRpZGF0ZXMiLCJFcnJvciIsImZvclJvb20iLCJyb29tSWRPckFsaWFzIiwiZm9yVXNlciIsInVzZXJJZCIsImZvckVudGl0eSIsImVudGl0eUlkIiwiaXNQZXJtYWxpbmtIb3N0IiwiaG9zdCIsInBhcnNlUGVybWFsaW5rIiwiZnVsbFVybCIsImV4cG9ydHMiLCJkZWZhdWx0IiwiUGVybWFsaW5rUGFydHMiLCJjb25zdHJ1Y3RvciIsInZpYVNlcnZlcnMiLCJwcmltYXJ5RW50aXR5SWQiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbHMvcGVybWFsaW5rcy9QZXJtYWxpbmtDb25zdHJ1Y3Rvci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAxOS0yMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seVxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi8qKlxuICogSW50ZXJmYWNlIGZvciBjbGFzc2VzIHRoYXQgYWN0dWFsbHkgcHJvZHVjZSBwZXJtYWxpbmtzIChzdHJpbmdzKS5cbiAqIFRPRE86IENvbnZlcnQgdGhpcyB0byBhIHJlYWwgVHlwZVNjcmlwdCBpbnRlcmZhY2VcbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUGVybWFsaW5rQ29uc3RydWN0b3Ige1xuICAgIHB1YmxpYyBmb3JFdmVudChyb29tSWQ6IHN0cmluZywgZXZlbnRJZDogc3RyaW5nLCBzZXJ2ZXJDYW5kaWRhdGVzOiBzdHJpbmdbXSA9IFtdKTogc3RyaW5nIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiTm90IGltcGxlbWVudGVkXCIpO1xuICAgIH1cblxuICAgIHB1YmxpYyBmb3JSb29tKHJvb21JZE9yQWxpYXM6IHN0cmluZywgc2VydmVyQ2FuZGlkYXRlczogc3RyaW5nW10gPSBbXSk6IHN0cmluZyB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIk5vdCBpbXBsZW1lbnRlZFwiKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZm9yVXNlcih1c2VySWQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIk5vdCBpbXBsZW1lbnRlZFwiKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZm9yRW50aXR5KGVudGl0eUlkOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJOb3QgaW1wbGVtZW50ZWRcIik7XG4gICAgfVxuXG4gICAgcHVibGljIGlzUGVybWFsaW5rSG9zdChob3N0OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiTm90IGltcGxlbWVudGVkXCIpO1xuICAgIH1cblxuICAgIHB1YmxpYyBwYXJzZVBlcm1hbGluayhmdWxsVXJsOiBzdHJpbmcpOiBQZXJtYWxpbmtQYXJ0cyB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIk5vdCBpbXBsZW1lbnRlZFwiKTtcbiAgICB9XG59XG5cbi8vIEluc3BpcmVkIGJ5L0JvcnJvd2VkIHdpdGggcGVybWlzc2lvbiBmcm9tIHRoZSBtYXRyaXgtYm90LXNkazpcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS90dXJ0MmxpdmUvbWF0cml4LWpzLWJvdC1zZGsvYmxvYi83YzQ2NjVjOWEyNWMyYzhlMGZlNGU1MDlmMjYxNjUwNWI1YjY2YTFjL3NyYy9QZXJtYWxpbmtzLnRzI0wxLUw2XG5leHBvcnQgY2xhc3MgUGVybWFsaW5rUGFydHMge1xuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIHJlYWRvbmx5IHJvb21JZE9yQWxpYXM6IHN0cmluZyB8IG51bGwsXG4gICAgICAgIHB1YmxpYyByZWFkb25seSBldmVudElkOiBzdHJpbmcgfCBudWxsLFxuICAgICAgICBwdWJsaWMgcmVhZG9ubHkgdXNlcklkOiBzdHJpbmcgfCBudWxsLFxuICAgICAgICBwdWJsaWMgcmVhZG9ubHkgdmlhU2VydmVyczogc3RyaW5nW10gfCBudWxsLFxuICAgICkge31cblxuICAgIHB1YmxpYyBzdGF0aWMgZm9yVXNlcih1c2VySWQ6IHN0cmluZyk6IFBlcm1hbGlua1BhcnRzIHtcbiAgICAgICAgcmV0dXJuIG5ldyBQZXJtYWxpbmtQYXJ0cyhudWxsLCBudWxsLCB1c2VySWQsIG51bGwpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZm9yUm9vbShyb29tSWRPckFsaWFzOiBzdHJpbmcsIHZpYVNlcnZlcnM6IHN0cmluZ1tdID0gW10pOiBQZXJtYWxpbmtQYXJ0cyB7XG4gICAgICAgIHJldHVybiBuZXcgUGVybWFsaW5rUGFydHMocm9vbUlkT3JBbGlhcywgbnVsbCwgbnVsbCwgdmlhU2VydmVycyk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBmb3JFdmVudChyb29tSWQ6IHN0cmluZywgZXZlbnRJZDogc3RyaW5nLCB2aWFTZXJ2ZXJzOiBzdHJpbmdbXSA9IFtdKTogUGVybWFsaW5rUGFydHMge1xuICAgICAgICByZXR1cm4gbmV3IFBlcm1hbGlua1BhcnRzKHJvb21JZCwgZXZlbnRJZCwgbnVsbCwgdmlhU2VydmVycyk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBwcmltYXJ5RW50aXR5SWQoKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLnJvb21JZE9yQWxpYXMgfHwgdGhpcy51c2VySWQ7XG4gICAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNlLE1BQU1BLG9CQUFvQixDQUFDO0VBQy9CQyxRQUFRQSxDQUFDQyxNQUFjLEVBQUVDLE9BQWUsRUFBRUMsZ0JBQTBCLEdBQUcsRUFBRSxFQUFVO0lBQ3RGLE1BQU0sSUFBSUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDO0VBQ3RDO0VBRU9DLE9BQU9BLENBQUNDLGFBQXFCLEVBQUVILGdCQUEwQixHQUFHLEVBQUUsRUFBVTtJQUMzRSxNQUFNLElBQUlDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQztFQUN0QztFQUVPRyxPQUFPQSxDQUFDQyxNQUFjLEVBQVU7SUFDbkMsTUFBTSxJQUFJSixLQUFLLENBQUMsaUJBQWlCLENBQUM7RUFDdEM7RUFFT0ssU0FBU0EsQ0FBQ0MsUUFBZ0IsRUFBVTtJQUN2QyxNQUFNLElBQUlOLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQztFQUN0QztFQUVPTyxlQUFlQSxDQUFDQyxJQUFZLEVBQVc7SUFDMUMsTUFBTSxJQUFJUixLQUFLLENBQUMsaUJBQWlCLENBQUM7RUFDdEM7RUFFT1MsY0FBY0EsQ0FBQ0MsT0FBZSxFQUFrQjtJQUNuRCxNQUFNLElBQUlWLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQztFQUN0QztBQUNKOztBQUVBO0FBQ0E7QUFBQVcsT0FBQSxDQUFBQyxPQUFBLEdBQUFqQixvQkFBQTtBQUNPLE1BQU1rQixjQUFjLENBQUM7RUFDakJDLFdBQVdBLENBQ0VaLGFBQTRCLEVBQzVCSixPQUFzQixFQUN0Qk0sTUFBcUIsRUFDckJXLFVBQTJCLEVBQzdDO0lBQUEsS0FKa0JiLGFBQTRCLEdBQTVCQSxhQUE0QjtJQUFBLEtBQzVCSixPQUFzQixHQUF0QkEsT0FBc0I7SUFBQSxLQUN0Qk0sTUFBcUIsR0FBckJBLE1BQXFCO0lBQUEsS0FDckJXLFVBQTJCLEdBQTNCQSxVQUEyQjtFQUM1QztFQUVILE9BQWNaLE9BQU9BLENBQUNDLE1BQWMsRUFBa0I7SUFDbEQsT0FBTyxJQUFJUyxjQUFjLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRVQsTUFBTSxFQUFFLElBQUksQ0FBQztFQUN2RDtFQUVBLE9BQWNILE9BQU9BLENBQUNDLGFBQXFCLEVBQUVhLFVBQW9CLEdBQUcsRUFBRSxFQUFrQjtJQUNwRixPQUFPLElBQUlGLGNBQWMsQ0FBQ1gsYUFBYSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUVhLFVBQVUsQ0FBQztFQUNwRTtFQUVBLE9BQWNuQixRQUFRQSxDQUFDQyxNQUFjLEVBQUVDLE9BQWUsRUFBRWlCLFVBQW9CLEdBQUcsRUFBRSxFQUFrQjtJQUMvRixPQUFPLElBQUlGLGNBQWMsQ0FBQ2hCLE1BQU0sRUFBRUMsT0FBTyxFQUFFLElBQUksRUFBRWlCLFVBQVUsQ0FBQztFQUNoRTtFQUVBLElBQVdDLGVBQWVBLENBQUEsRUFBa0I7SUFDeEMsT0FBTyxJQUFJLENBQUNkLGFBQWEsSUFBSSxJQUFJLENBQUNFLE1BQU07RUFDNUM7QUFDSjtBQUFDTyxPQUFBLENBQUFFLGNBQUEsR0FBQUEsY0FBQSIsImlnbm9yZUxpc3QiOltdfQ==