UNPKG

podchat-browser

Version:

Javascript SDK to use POD's Chat Service - Browser Only

65 lines (55 loc) 1.96 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.historyCache = void 0; var _historyList = require("./historyList"); var _requestParams = require("./requestParams"); function HistoryCache() { var config = { historyList: new _historyList.HistoryListManager() }; function canSave(threadId, params) { var history = config.historyList.get(threadId); return history.params.canCacheTheRequest(params); } function canGetFromCache(threadId, params, lastMessageItem) { var his = config.historyList.get(threadId); if (his && publicized.isParamsValid(params)) { return his === null || his === void 0 ? void 0 : his.cacheHasEnoughData(params, lastMessageItem); } return false; } var publicized = { isParamsValid: function isParamsValid(params) { var paramsValidator = new _requestParams.RequestParamsManager(params); return paramsValidator.canCacheTheRequest(params); }, saveList: function saveList(threadId, params, list) { var hasNext = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true; config.historyList.save(threadId, params, list, hasNext); }, saveMessage: config.historyList.saveMessage, canGetFromCache: canGetFromCache, canSave: canSave, hasNext: function hasNext(threadId) { return config.historyList.hasNext(threadId); }, updateSeen: function updateSeen(threadId, lastSeenMessageTime) { return config.historyList.updateSeen(threadId, lastSeenMessageTime); }, get: function get(threadId) { return config.historyList.get(threadId); }, remove: function remove(threadId) { config.historyList.remove(threadId); }, removeMessage: config.historyList.removeMessage, reset: function reset() { config.historyList.reset(); } }; return publicized; } var historyCache = new HistoryCache(); exports.historyCache = historyCache;