UNPKG

fcr-core

Version:

Core APIs for building online scenes

89 lines (88 loc) 2.65 kB
"use strict"; 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;