fcr-core
Version:
Core APIs for building online scenes
47 lines • 1.57 kB
JavaScript
import "core-js/modules/esnext.map.delete-all.js";
import "core-js/modules/esnext.map.emplace.js";
import "core-js/modules/esnext.map.every.js";
import "core-js/modules/esnext.map.filter.js";
import "core-js/modules/esnext.map.find.js";
import "core-js/modules/esnext.map.find-key.js";
import "core-js/modules/esnext.map.includes.js";
import "core-js/modules/esnext.map.key-of.js";
import "core-js/modules/esnext.map.map-keys.js";
import "core-js/modules/esnext.map.map-values.js";
import "core-js/modules/esnext.map.merge.js";
import "core-js/modules/esnext.map.reduce.js";
import "core-js/modules/esnext.map.some.js";
import "core-js/modules/esnext.map.update.js";
export class FcrRoomCache {
_platformMapByUserId = new Map();
_avatarMapByUserId = new Map();
getUserPlatform = userId => {
return this._platformMapByUserId.get(userId);
};
getUserAvatar = userId => {
return this._avatarMapByUserId.get(userId);
};
setUserPlatform = (userId, platform) => {
this._platformMapByUserId.set(userId, platform);
};
setUserAvatar = (userId, avatar) => {
this._avatarMapByUserId.set(userId, avatar);
};
deleteUserPlatform = userId => {
this._platformMapByUserId.delete(userId);
};
deleteUserAvatar = userId => {
this._avatarMapByUserId.delete(userId);
};
}
export class FcrSharedCache {
_roomCache = new Map();
getRoomCache = roomId => {
let roomCache = this._roomCache.get(roomId);
if (!roomCache) {
roomCache = new FcrRoomCache();
this._roomCache.set(roomId, roomCache);
}
return roomCache;
};
}