UNPKG

podchat-browser

Version:

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

82 lines (72 loc) 2.25 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.UsersNotSeenDuration = void 0; var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); var UsersNotSeenDuration = /*#__PURE__*/function () { function UsersNotSeenDuration(app) { (0, _classCallCheck2["default"])(this, UsersNotSeenDuration); this._users = {}; } (0, _createClass2["default"])(UsersNotSeenDuration, [{ key: "get", value: function get(id) { return this._users[id]; } }, { key: "set", value: function set(data) { if (!this._users[data.id]) { this._users[data.id] = new NotSeenDuration(data); } else { this._users[data.id].set(data); } } }, { key: "saveMany", value: function saveMany(users, timeout) { var _this = this; if (users) { Object.keys(users).forEach(function (item) { _this.set({ id: item, notSeenDuration: users[item], timeout: timeout }); }); } } }]); return UsersNotSeenDuration; }(); exports.UsersNotSeenDuration = UsersNotSeenDuration; var NotSeenDuration = /*#__PURE__*/function () { function NotSeenDuration(data) { (0, _classCallCheck2["default"])(this, NotSeenDuration); this._notSeenDuration = data.notSeenDuration; this._lastUpdateTime = new Date().getTime(); this._timeoutTime = data.timeout; } (0, _createClass2["default"])(NotSeenDuration, [{ key: "getDuration", value: function getDuration() { return this._notSeenDuration; } }, { key: "set", value: function set(data) { this._notSeenDuration = data.notSeenDuration; this._lastUpdateTime = new Date().getTime(); this._timeoutTime = data.timeout; } }, { key: "isDataValid", value: function isDataValid() { return this._lastUpdateTime && this._notSeenDuration && this._lastUpdateTime > new Date().getTime() - this._timeoutTime; } }]); return NotSeenDuration; }();