1
0
mirror of https://github.com/matrix-org/matrix-js-sdk.git synced 2025-11-26 17:03:12 +03:00

Use Map not Objects

This commit is contained in:
Kegan Dougal
2022-11-01 16:31:17 +00:00
parent 7ddd198df8
commit fef53be5b4

View File

@@ -354,9 +354,9 @@ export class SlidingSync extends TypedEventEmitter<SlidingSyncEvent, SlidingSync
private confirmedRoomSubscriptions = new Set<string>(); private confirmedRoomSubscriptions = new Set<string>();
// map of custom subscription name to the subscription // map of custom subscription name to the subscription
private customSubscriptions: Record<string, MSC3575RoomSubscription> = {}; private customSubscriptions: Map<string, MSC3575RoomSubscription> = new Map();
// map of room ID to custom subscription name // map of room ID to custom subscription name
private roomIdToCustomSubscription: Record<string, string> = {}; private roomIdToCustomSubscription: Map<string, string> = new Map();
private pendingReq?: Promise<MSC3575SlidingSyncResponse>; private pendingReq?: Promise<MSC3575SlidingSyncResponse>;
private abortController?: AbortController; private abortController?: AbortController;
@@ -388,7 +388,7 @@ export class SlidingSync extends TypedEventEmitter<SlidingSyncEvent, SlidingSync
* @param sub The subscription information. * @param sub The subscription information.
*/ */
public addCustomSubscription(name: string, sub: MSC3575RoomSubscription) { public addCustomSubscription(name: string, sub: MSC3575RoomSubscription) {
this.customSubscriptions[name] = sub; this.customSubscriptions.set(name, sub);
} }
/** /**
@@ -399,7 +399,7 @@ export class SlidingSync extends TypedEventEmitter<SlidingSyncEvent, SlidingSync
* will be used. * will be used.
*/ */
public useCustomSubscription(roomId: string, name: string) { public useCustomSubscription(roomId: string, name: string) {
this.roomIdToCustomSubscription[roomId] = name; this.roomIdToCustomSubscription.set(roomId, name);
// unconfirm this subscription so a resend() will send it up afresh. // unconfirm this subscription so a resend() will send it up afresh.
this.confirmedRoomSubscriptions.delete(roomId); this.confirmedRoomSubscriptions.delete(roomId);
} }
@@ -835,10 +835,10 @@ export class SlidingSync extends TypedEventEmitter<SlidingSyncEvent, SlidingSync
if (newSubscriptions.size > 0) { if (newSubscriptions.size > 0) {
reqBody.room_subscriptions = {}; reqBody.room_subscriptions = {};
for (const roomId of newSubscriptions) { for (const roomId of newSubscriptions) {
const customSubName = this.roomIdToCustomSubscription[roomId]; const customSubName = this.roomIdToCustomSubscription.get(roomId);
let sub = this.roomSubscriptionInfo; let sub = this.roomSubscriptionInfo;
if (customSubName && this.customSubscriptions[customSubName]) { if (customSubName && this.customSubscriptions.has(customSubName)) {
sub = this.customSubscriptions[customSubName]; sub = this.customSubscriptions.get(customSubName);
} }
reqBody.room_subscriptions[roomId] = sub; reqBody.room_subscriptions[roomId] = sub;
} }