fcr-core
Version:
Core APIs for building online scenes
89 lines (88 loc) • 2.65 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.FcrSharedCache = exports.FcrRoomCache = void 0;
require("core-js/modules/es.array.push.js");
require("core-js/modules/esnext.map.delete-all.js");
require("core-js/modules/esnext.map.emplace.js");
require("core-js/modules/esnext.map.every.js");
require("core-js/modules/esnext.map.filter.js");
require("core-js/modules/esnext.map.find.js");
require("core-js/modules/esnext.map.find-key.js");
require("core-js/modules/esnext.map.includes.js");
require("core-js/modules/esnext.map.key-of.js");
require("core-js/modules/esnext.map.map-keys.js");
require("core-js/modules/esnext.map.map-values.js");
require("core-js/modules/esnext.map.merge.js");
require("core-js/modules/esnext.map.reduce.js");
require("core-js/modules/esnext.map.some.js");
require("core-js/modules/esnext.map.update.js");
class FcrRoomCache {
_platformMapByUserId = new Map();
_avatarMapByUserId = new Map();
_userMapByUserId = new Map();
//@internal
_userList = [];
get userList() {
return this._userList;
}
get userMapByUserId() {
return this._userMapByUserId;
}
setUserMapByUserId = (userId, user) => {
this._userMapByUserId.set(userId, user);
};
deleteUserMapByUserId = userId => {
this._userMapByUserId.delete(userId);
};
setUserList = userList => {
this._userList = userList;
};
insertUserToList = (index, user) => {
this._userList.splice(index, 0, user);
};
deleteUserList = index => {
this._userList.splice(index, 1);
};
addUserToList = user => {
this._userList.push(user);
};
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);
};
clear = () => {
this._userMapByUserId.clear();
this._userList = [];
this._platformMapByUserId.clear();
this._avatarMapByUserId.clear();
};
}
exports.FcrRoomCache = FcrRoomCache;
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;
};
}
exports.FcrSharedCache = FcrSharedCache;