matrix-react-sdk
Version:
SDK for matrix.org using React
32 lines (29 loc) • 3.77 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.readReceiptChangeIsFor = readReceiptChangeIsFor;
var _utils = require("matrix-js-sdk/src/utils");
/*
Copyright 2024 New Vector Ltd.
Copyright 2020 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.
*/
/**
* Determines if a read receipt update event includes the client's own user.
* @param event The event to check.
* @param client The client to check against.
* @returns True if the read receipt update includes the client, false otherwise.
*/
function readReceiptChangeIsFor(event, client) {
const myUserId = client.getUserId();
for (const eventId of Object.keys(event.getContent())) {
for (const [receiptType, receipt] of Object.entries(event.getContent()[eventId])) {
if (!(0, _utils.isSupportedReceiptType)(receiptType)) continue;
if (Object.keys(receipt || {}).includes(myUserId)) return true;
}
}
return false;
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdXRpbHMiLCJyZXF1aXJlIiwicmVhZFJlY2VpcHRDaGFuZ2VJc0ZvciIsImV2ZW50IiwiY2xpZW50IiwibXlVc2VySWQiLCJnZXRVc2VySWQiLCJldmVudElkIiwiT2JqZWN0Iiwia2V5cyIsImdldENvbnRlbnQiLCJyZWNlaXB0VHlwZSIsInJlY2VpcHQiLCJlbnRyaWVzIiwiaXNTdXBwb3J0ZWRSZWNlaXB0VHlwZSIsImluY2x1ZGVzIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL3JlYWQtcmVjZWlwdHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjAgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5XG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuaW1wb3J0IHsgTWF0cml4RXZlbnQsIE1hdHJpeENsaWVudCB9IGZyb20gXCJtYXRyaXgtanMtc2RrL3NyYy9tYXRyaXhcIjtcbmltcG9ydCB7IGlzU3VwcG9ydGVkUmVjZWlwdFR5cGUgfSBmcm9tIFwibWF0cml4LWpzLXNkay9zcmMvdXRpbHNcIjtcblxuLyoqXG4gKiBEZXRlcm1pbmVzIGlmIGEgcmVhZCByZWNlaXB0IHVwZGF0ZSBldmVudCBpbmNsdWRlcyB0aGUgY2xpZW50J3Mgb3duIHVzZXIuXG4gKiBAcGFyYW0gZXZlbnQgVGhlIGV2ZW50IHRvIGNoZWNrLlxuICogQHBhcmFtIGNsaWVudCBUaGUgY2xpZW50IHRvIGNoZWNrIGFnYWluc3QuXG4gKiBAcmV0dXJucyBUcnVlIGlmIHRoZSByZWFkIHJlY2VpcHQgdXBkYXRlIGluY2x1ZGVzIHRoZSBjbGllbnQsIGZhbHNlIG90aGVyd2lzZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlYWRSZWNlaXB0Q2hhbmdlSXNGb3IoZXZlbnQ6IE1hdHJpeEV2ZW50LCBjbGllbnQ6IE1hdHJpeENsaWVudCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IG15VXNlcklkID0gY2xpZW50LmdldFVzZXJJZCgpITtcbiAgICBmb3IgKGNvbnN0IGV2ZW50SWQgb2YgT2JqZWN0LmtleXMoZXZlbnQuZ2V0Q29udGVudCgpKSkge1xuICAgICAgICBmb3IgKGNvbnN0IFtyZWNlaXB0VHlwZSwgcmVjZWlwdF0gb2YgT2JqZWN0LmVudHJpZXMoZXZlbnQuZ2V0Q29udGVudCgpW2V2ZW50SWRdKSkge1xuICAgICAgICAgICAgaWYgKCFpc1N1cHBvcnRlZFJlY2VpcHRUeXBlKHJlY2VpcHRUeXBlKSkgY29udGludWU7XG5cbiAgICAgICAgICAgIGlmIChPYmplY3Qua2V5cyhyZWNlaXB0IHx8IHt9KS5pbmNsdWRlcyhteVVzZXJJZCkpIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBU0EsSUFBQUEsTUFBQSxHQUFBQyxPQUFBO0FBVEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ08sU0FBU0Msc0JBQXNCQSxDQUFDQyxLQUFrQixFQUFFQyxNQUFvQixFQUFXO0VBQ3RGLE1BQU1DLFFBQVEsR0FBR0QsTUFBTSxDQUFDRSxTQUFTLENBQUMsQ0FBRTtFQUNwQyxLQUFLLE1BQU1DLE9BQU8sSUFBSUMsTUFBTSxDQUFDQyxJQUFJLENBQUNOLEtBQUssQ0FBQ08sVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFO0lBQ25ELEtBQUssTUFBTSxDQUFDQyxXQUFXLEVBQUVDLE9BQU8sQ0FBQyxJQUFJSixNQUFNLENBQUNLLE9BQU8sQ0FBQ1YsS0FBSyxDQUFDTyxVQUFVLENBQUMsQ0FBQyxDQUFDSCxPQUFPLENBQUMsQ0FBQyxFQUFFO01BQzlFLElBQUksQ0FBQyxJQUFBTyw2QkFBc0IsRUFBQ0gsV0FBVyxDQUFDLEVBQUU7TUFFMUMsSUFBSUgsTUFBTSxDQUFDQyxJQUFJLENBQUNHLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDRyxRQUFRLENBQUNWLFFBQVEsQ0FBQyxFQUFFLE9BQU8sSUFBSTtJQUNsRTtFQUNKO0VBQ0EsT0FBTyxLQUFLO0FBQ2hCIiwiaWdub3JlTGlzdCI6W119