podchat-browser
Version:
Javascript SDK to use POD's Chat Service - Browser Only
65 lines (55 loc) • 1.96 kB
JavaScript
;
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;