UNPKG

fcr-core

Version:

Core APIs for building online scenes

81 lines 2.42 kB
import "core-js/modules/es.array.push.js"; 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(); _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(); }; } 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; }; }