matrix-react-sdk
Version:
SDK for matrix.org using React
35 lines (32 loc) • 3.74 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.findDMRoom = findDMRoom;
var _DMRoomMap = _interopRequireDefault(require("../DMRoomMap"));
var _findDMForUser = require("./findDMForUser");
/*
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.
*/
/**
* Tries to find a DM room with some other users.
*
* @param {MatrixClient} client
* @param {Member[]} targets The Members to try to find the room for
* @returns {Room | null} Resolved so the room if found, else null
*/
function findDMRoom(client, targets) {
const targetIds = targets.map(t => t.userId);
let existingRoom;
if (targetIds.length === 1) {
existingRoom = (0, _findDMForUser.findDMForUser)(client, targetIds[0]) ?? null;
} else {
existingRoom = _DMRoomMap.default.shared().getDMRoomForIdentifiers(targetIds);
}
return existingRoom;
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfRE1Sb29tTWFwIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfZmluZERNRm9yVXNlciIsImZpbmRETVJvb20iLCJjbGllbnQiLCJ0YXJnZXRzIiwidGFyZ2V0SWRzIiwibWFwIiwidCIsInVzZXJJZCIsImV4aXN0aW5nUm9vbSIsImxlbmd0aCIsImZpbmRETUZvclVzZXIiLCJETVJvb21NYXAiLCJzaGFyZWQiLCJnZXRETVJvb21Gb3JJZGVudGlmaWVycyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlscy9kbS9maW5kRE1Sb29tLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seVxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbmltcG9ydCB7IE1hdHJpeENsaWVudCwgUm9vbSB9IGZyb20gXCJtYXRyaXgtanMtc2RrL3NyYy9tYXRyaXhcIjtcblxuaW1wb3J0IHsgTWVtYmVyIH0gZnJvbSBcIi4uL2RpcmVjdC1tZXNzYWdlc1wiO1xuaW1wb3J0IERNUm9vbU1hcCBmcm9tIFwiLi4vRE1Sb29tTWFwXCI7XG5pbXBvcnQgeyBmaW5kRE1Gb3JVc2VyIH0gZnJvbSBcIi4vZmluZERNRm9yVXNlclwiO1xuXG4vKipcbiAqIFRyaWVzIHRvIGZpbmQgYSBETSByb29tIHdpdGggc29tZSBvdGhlciB1c2Vycy5cbiAqXG4gKiBAcGFyYW0ge01hdHJpeENsaWVudH0gY2xpZW50XG4gKiBAcGFyYW0ge01lbWJlcltdfSB0YXJnZXRzIFRoZSBNZW1iZXJzIHRvIHRyeSB0byBmaW5kIHRoZSByb29tIGZvclxuICogQHJldHVybnMge1Jvb20gfCBudWxsfSBSZXNvbHZlZCBzbyB0aGUgcm9vbSBpZiBmb3VuZCwgZWxzZSBudWxsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmaW5kRE1Sb29tKGNsaWVudDogTWF0cml4Q2xpZW50LCB0YXJnZXRzOiBNZW1iZXJbXSk6IFJvb20gfCBudWxsIHtcbiAgICBjb25zdCB0YXJnZXRJZHMgPSB0YXJnZXRzLm1hcCgodCkgPT4gdC51c2VySWQpO1xuICAgIGxldCBleGlzdGluZ1Jvb206IFJvb20gfCBudWxsO1xuICAgIGlmICh0YXJnZXRJZHMubGVuZ3RoID09PSAxKSB7XG4gICAgICAgIGV4aXN0aW5nUm9vbSA9IGZpbmRETUZvclVzZXIoY2xpZW50LCB0YXJnZXRJZHNbMF0pID8/IG51bGw7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgZXhpc3RpbmdSb29tID0gRE1Sb29tTWFwLnNoYXJlZCgpLmdldERNUm9vbUZvcklkZW50aWZpZXJzKHRhcmdldElkcyk7XG4gICAgfVxuICAgIHJldHVybiBleGlzdGluZ1Jvb207XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFXQSxJQUFBQSxVQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxjQUFBLEdBQUFELE9BQUE7QUFaQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFRQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPLFNBQVNFLFVBQVVBLENBQUNDLE1BQW9CLEVBQUVDLE9BQWlCLEVBQWU7RUFDN0UsTUFBTUMsU0FBUyxHQUFHRCxPQUFPLENBQUNFLEdBQUcsQ0FBRUMsQ0FBQyxJQUFLQSxDQUFDLENBQUNDLE1BQU0sQ0FBQztFQUM5QyxJQUFJQyxZQUF5QjtFQUM3QixJQUFJSixTQUFTLENBQUNLLE1BQU0sS0FBSyxDQUFDLEVBQUU7SUFDeEJELFlBQVksR0FBRyxJQUFBRSw0QkFBYSxFQUFDUixNQUFNLEVBQUVFLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUk7RUFDOUQsQ0FBQyxNQUFNO0lBQ0hJLFlBQVksR0FBR0csa0JBQVMsQ0FBQ0MsTUFBTSxDQUFDLENBQUMsQ0FBQ0MsdUJBQXVCLENBQUNULFNBQVMsQ0FBQztFQUN4RTtFQUNBLE9BQU9JLFlBQVk7QUFDdkIiLCJpZ25vcmVMaXN0IjpbXX0=