polfan-server-js-client 0.2.95 → 0.2.97
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.idea/workspace.xml +34 -26
- package/build/index.cjs.js +420 -305
- package/build/index.cjs.js.map +1 -1
- package/build/index.umd.js +1 -1
- package/build/index.umd.js.map +1 -1
- package/build/types/state-tracker/FollowedTopicsManager.d.ts +63 -0
- package/build/types/state-tracker/MessagesManager.d.ts +1 -46
- package/build/types/state-tracker/RoomsManager.d.ts +2 -0
- package/package.json +1 -1
- package/src/IndexedObjectCollection.ts +5 -6
- package/src/state-tracker/FollowedTopicsManager.ts +377 -0
- package/src/state-tracker/MessagesManager.ts +3 -331
- package/src/state-tracker/RoomsManager.ts +4 -1
package/build/index.cjs.js
CHANGED
|
@@ -209,6 +209,10 @@ function _superPropBase(t, o) { for (; !{}.hasOwnProperty.call(t, o) && null !==
|
|
|
209
209
|
function IndexedObjectCollection_getPrototypeOf(t) { return IndexedObjectCollection_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, IndexedObjectCollection_getPrototypeOf(t); }
|
|
210
210
|
function IndexedObjectCollection_inherits(t, e) { if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, "prototype", { writable: !1 }), e && IndexedObjectCollection_setPrototypeOf(t, e); }
|
|
211
211
|
function IndexedObjectCollection_setPrototypeOf(t, e) { return IndexedObjectCollection_setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, IndexedObjectCollection_setPrototypeOf(t, e); }
|
|
212
|
+
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
213
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
214
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
215
|
+
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
212
216
|
function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
213
217
|
function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
|
|
214
218
|
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
@@ -280,16 +284,26 @@ var IndexedCollection = /*#__PURE__*/function () {
|
|
|
280
284
|
}, {
|
|
281
285
|
key: "findBy",
|
|
282
286
|
value: function findBy(field, valueToFind) {
|
|
283
|
-
var limit = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] :
|
|
287
|
+
var limit = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : Infinity;
|
|
284
288
|
var result = new IndexedCollection();
|
|
285
|
-
var
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
289
|
+
var _iterator = _createForOfIteratorHelper(this.items.entries()),
|
|
290
|
+
_step;
|
|
291
|
+
try {
|
|
292
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
293
|
+
var _step$value = _slicedToArray(_step.value, 2),
|
|
294
|
+
key = _step$value[0],
|
|
295
|
+
value = _step$value[1];
|
|
296
|
+
if (result.length >= limit) {
|
|
297
|
+
break;
|
|
298
|
+
}
|
|
299
|
+
if (value[field] === valueToFind) {
|
|
300
|
+
result.set([key, value]);
|
|
301
|
+
}
|
|
292
302
|
}
|
|
303
|
+
} catch (err) {
|
|
304
|
+
_iterator.e(err);
|
|
305
|
+
} finally {
|
|
306
|
+
_iterator.f();
|
|
293
307
|
}
|
|
294
308
|
return result;
|
|
295
309
|
}
|
|
@@ -364,11 +378,11 @@ var IndexedObjectCollection = /*#__PURE__*/function () {
|
|
|
364
378
|
value: function findBy(field, valueToFind) {
|
|
365
379
|
var limit = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
|
|
366
380
|
var result = new IndexedObjectCollection(this.id);
|
|
367
|
-
var
|
|
368
|
-
|
|
381
|
+
var _iterator2 = _createForOfIteratorHelper(this.items),
|
|
382
|
+
_step2;
|
|
369
383
|
try {
|
|
370
|
-
for (
|
|
371
|
-
var value =
|
|
384
|
+
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
385
|
+
var value = _step2.value;
|
|
372
386
|
if (limit && result.length === limit) {
|
|
373
387
|
break;
|
|
374
388
|
}
|
|
@@ -377,9 +391,9 @@ var IndexedObjectCollection = /*#__PURE__*/function () {
|
|
|
377
391
|
}
|
|
378
392
|
}
|
|
379
393
|
} catch (err) {
|
|
380
|
-
|
|
394
|
+
_iterator2.e(err);
|
|
381
395
|
} finally {
|
|
382
|
-
|
|
396
|
+
_iterator2.f();
|
|
383
397
|
}
|
|
384
398
|
return result;
|
|
385
399
|
}
|
|
@@ -1528,12 +1542,12 @@ function RoomMessagesHistory_nonIterableSpread() { throw new TypeError("Invalid
|
|
|
1528
1542
|
function RoomMessagesHistory_iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
|
|
1529
1543
|
function RoomMessagesHistory_arrayWithoutHoles(r) { if (Array.isArray(r)) return RoomMessagesHistory_arrayLikeToArray(r); }
|
|
1530
1544
|
function RoomMessagesHistory_createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = RoomMessagesHistory_unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
1531
|
-
function
|
|
1532
|
-
function
|
|
1545
|
+
function RoomMessagesHistory_slicedToArray(r, e) { return RoomMessagesHistory_arrayWithHoles(r) || RoomMessagesHistory_iterableToArrayLimit(r, e) || RoomMessagesHistory_unsupportedIterableToArray(r, e) || RoomMessagesHistory_nonIterableRest(); }
|
|
1546
|
+
function RoomMessagesHistory_nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
1533
1547
|
function RoomMessagesHistory_unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return RoomMessagesHistory_arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? RoomMessagesHistory_arrayLikeToArray(r, a) : void 0; } }
|
|
1534
1548
|
function RoomMessagesHistory_arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
1535
|
-
function
|
|
1536
|
-
function
|
|
1549
|
+
function RoomMessagesHistory_iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
1550
|
+
function RoomMessagesHistory_arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
1537
1551
|
function RoomMessagesHistory_regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return RoomMessagesHistory_regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (RoomMessagesHistory_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, RoomMessagesHistory_regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, RoomMessagesHistory_regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), RoomMessagesHistory_regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", RoomMessagesHistory_regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), RoomMessagesHistory_regeneratorDefine2(u), RoomMessagesHistory_regeneratorDefine2(u, o, "Generator"), RoomMessagesHistory_regeneratorDefine2(u, n, function () { return this; }), RoomMessagesHistory_regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (RoomMessagesHistory_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
|
|
1538
1552
|
function RoomMessagesHistory_regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } RoomMessagesHistory_regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { RoomMessagesHistory_regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, RoomMessagesHistory_regeneratorDefine2(e, r, n, t); }
|
|
1539
1553
|
function RoomMessagesHistory_asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
|
|
@@ -1629,7 +1643,7 @@ var RoomMessagesHistory = /*#__PURE__*/function () {
|
|
|
1629
1643
|
_context2.n = 3;
|
|
1630
1644
|
break;
|
|
1631
1645
|
}
|
|
1632
|
-
_Array$from$_i =
|
|
1646
|
+
_Array$from$_i = RoomMessagesHistory_slicedToArray(_Array$from[_i], 2), window = _Array$from$_i[1];
|
|
1633
1647
|
_context2.n = 2;
|
|
1634
1648
|
return window.setTraverseLock(this.traverseLock);
|
|
1635
1649
|
case 2:
|
|
@@ -1705,15 +1719,6 @@ var RoomMessagesHistory = /*#__PURE__*/function () {
|
|
|
1705
1719
|
}();
|
|
1706
1720
|
;// ./src/state-tracker/MessagesManager.ts
|
|
1707
1721
|
function MessagesManager_typeof(o) { "@babel/helpers - typeof"; return MessagesManager_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, MessagesManager_typeof(o); }
|
|
1708
|
-
function MessagesManager_ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
1709
|
-
function MessagesManager_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? MessagesManager_ownKeys(Object(t), !0).forEach(function (r) { MessagesManager_defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : MessagesManager_ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
1710
|
-
function MessagesManager_toConsumableArray(r) { return MessagesManager_arrayWithoutHoles(r) || MessagesManager_iterableToArray(r) || MessagesManager_unsupportedIterableToArray(r) || MessagesManager_nonIterableSpread(); }
|
|
1711
|
-
function MessagesManager_nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
1712
|
-
function MessagesManager_iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
|
|
1713
|
-
function MessagesManager_arrayWithoutHoles(r) { if (Array.isArray(r)) return MessagesManager_arrayLikeToArray(r); }
|
|
1714
|
-
function MessagesManager_createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = MessagesManager_unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
1715
|
-
function MessagesManager_unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return MessagesManager_arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? MessagesManager_arrayLikeToArray(r, a) : void 0; } }
|
|
1716
|
-
function MessagesManager_arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
1717
1722
|
function MessagesManager_regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return MessagesManager_regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (MessagesManager_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, MessagesManager_regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, MessagesManager_regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), MessagesManager_regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", MessagesManager_regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), MessagesManager_regeneratorDefine2(u), MessagesManager_regeneratorDefine2(u, o, "Generator"), MessagesManager_regeneratorDefine2(u, n, function () { return this; }), MessagesManager_regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (MessagesManager_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
|
|
1718
1723
|
function MessagesManager_regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } MessagesManager_regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { MessagesManager_regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, MessagesManager_regeneratorDefine2(e, r, n, t); }
|
|
1719
1724
|
function MessagesManager_asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
|
|
@@ -1732,10 +1737,7 @@ var MessagesManager = /*#__PURE__*/function () {
|
|
|
1732
1737
|
var _this = this;
|
|
1733
1738
|
MessagesManager_classCallCheck(this, MessagesManager);
|
|
1734
1739
|
MessagesManager_defineProperty(this, "roomHistories", new IndexedCollection());
|
|
1735
|
-
MessagesManager_defineProperty(this, "followedTopics", new IndexedCollection());
|
|
1736
|
-
MessagesManager_defineProperty(this, "followedTopicsPromises", new PromiseRegistry());
|
|
1737
1740
|
MessagesManager_defineProperty(this, "deferredSession", new DeferredTask());
|
|
1738
|
-
MessagesManager_defineProperty(this, "unreadSummariesCache", new Map());
|
|
1739
1741
|
this.tracker = tracker;
|
|
1740
1742
|
this.tracker.client.on('Session', function (ev) {
|
|
1741
1743
|
return _this.handleSession(ev);
|
|
@@ -1743,27 +1745,12 @@ var MessagesManager = /*#__PURE__*/function () {
|
|
|
1743
1745
|
this.tracker.client.on('RoomJoined', function (ev) {
|
|
1744
1746
|
return _this.handleRoomJoin(ev);
|
|
1745
1747
|
});
|
|
1746
|
-
this.tracker.client.on('NewTopic', function (ev) {
|
|
1747
|
-
return _this.handleNewTopic(ev);
|
|
1748
|
-
});
|
|
1749
|
-
this.tracker.client.on('FollowedTopicUpdated', function (ev) {
|
|
1750
|
-
return _this.handleFollowedTopicUpdated(ev);
|
|
1751
|
-
});
|
|
1752
|
-
this.tracker.client.on('TopicFollowed', function (ev) {
|
|
1753
|
-
return _this.handleTopicFollowed(ev);
|
|
1754
|
-
});
|
|
1755
|
-
this.tracker.client.on('NewMessage', function (ev) {
|
|
1756
|
-
return _this.handleNewMessage(ev);
|
|
1757
|
-
});
|
|
1758
1748
|
this.tracker.client.on('RoomDeleted', function (ev) {
|
|
1759
1749
|
return _this.handleRoomDeleted(ev);
|
|
1760
1750
|
});
|
|
1761
1751
|
this.tracker.client.on('RoomLeft', function (ev) {
|
|
1762
1752
|
return _this.handleRoomLeft(ev);
|
|
1763
1753
|
});
|
|
1764
|
-
this.tracker.client.on('TopicDeleted', function (ev) {
|
|
1765
|
-
return _this.handleTopicDeleted(ev);
|
|
1766
|
-
});
|
|
1767
1754
|
}
|
|
1768
1755
|
|
|
1769
1756
|
/**
|
|
@@ -1789,18 +1776,164 @@ var MessagesManager = /*#__PURE__*/function () {
|
|
|
1789
1776
|
return getRoomHistory;
|
|
1790
1777
|
}()
|
|
1791
1778
|
/**
|
|
1792
|
-
*
|
|
1793
|
-
*
|
|
1794
|
-
* @see getRoomFollowedTopics
|
|
1779
|
+
* For internal use.
|
|
1780
|
+
* @internal
|
|
1795
1781
|
*/
|
|
1796
1782
|
)
|
|
1797
1783
|
}, {
|
|
1784
|
+
key: "_resolveLastMessage",
|
|
1785
|
+
value: (function () {
|
|
1786
|
+
var _resolveLastMessage2 = MessagesManager_asyncToGenerator(/*#__PURE__*/MessagesManager_regenerator().m(function _callee2(location) {
|
|
1787
|
+
var message, _result$data, result;
|
|
1788
|
+
return MessagesManager_regenerator().w(function (_context2) {
|
|
1789
|
+
while (1) switch (_context2.n) {
|
|
1790
|
+
case 0:
|
|
1791
|
+
_context2.n = 1;
|
|
1792
|
+
return this.getRoomHistory(location.roomId).then(function (roomHistory) {
|
|
1793
|
+
return roomHistory === null || roomHistory === void 0 ? void 0 : roomHistory.getMessagesWindow(location.topicId, true);
|
|
1794
|
+
}).then(function (historyWindow) {
|
|
1795
|
+
return (historyWindow === null || historyWindow === void 0 ? void 0 : historyWindow.hasLatest) && historyWindow.getAt(historyWindow.length - 1);
|
|
1796
|
+
});
|
|
1797
|
+
case 1:
|
|
1798
|
+
message = _context2.v;
|
|
1799
|
+
if (message) {
|
|
1800
|
+
_context2.n = 3;
|
|
1801
|
+
break;
|
|
1802
|
+
}
|
|
1803
|
+
_context2.n = 2;
|
|
1804
|
+
return this.tracker.client.send('GetMessages', {
|
|
1805
|
+
location: location,
|
|
1806
|
+
limit: 1
|
|
1807
|
+
});
|
|
1808
|
+
case 2:
|
|
1809
|
+
result = _context2.v;
|
|
1810
|
+
message = (_result$data = result.data) === null || _result$data === void 0 ? void 0 : _result$data.messages[0];
|
|
1811
|
+
case 3:
|
|
1812
|
+
return _context2.a(2, message || null);
|
|
1813
|
+
}
|
|
1814
|
+
}, _callee2, this);
|
|
1815
|
+
}));
|
|
1816
|
+
function _resolveLastMessage(_x2) {
|
|
1817
|
+
return _resolveLastMessage2.apply(this, arguments);
|
|
1818
|
+
}
|
|
1819
|
+
return _resolveLastMessage;
|
|
1820
|
+
}())
|
|
1821
|
+
}, {
|
|
1822
|
+
key: "createHistoryForNewRoom",
|
|
1823
|
+
value: function createHistoryForNewRoom(room) {
|
|
1824
|
+
this.roomHistories.set([room.id, new RoomMessagesHistory(room, this.tracker)]);
|
|
1825
|
+
}
|
|
1826
|
+
}, {
|
|
1827
|
+
key: "handleRoomDeleted",
|
|
1828
|
+
value: function handleRoomDeleted(ev) {
|
|
1829
|
+
this.roomHistories["delete"](ev.id);
|
|
1830
|
+
}
|
|
1831
|
+
}, {
|
|
1832
|
+
key: "handleRoomJoin",
|
|
1833
|
+
value: function handleRoomJoin(ev) {
|
|
1834
|
+
this.createHistoryForNewRoom(ev.room);
|
|
1835
|
+
}
|
|
1836
|
+
}, {
|
|
1837
|
+
key: "handleRoomLeft",
|
|
1838
|
+
value: function handleRoomLeft(ev) {
|
|
1839
|
+
this.roomHistories["delete"](ev.id);
|
|
1840
|
+
}
|
|
1841
|
+
}, {
|
|
1842
|
+
key: "handleSession",
|
|
1843
|
+
value: function handleSession(ev) {
|
|
1844
|
+
var _this2 = this;
|
|
1845
|
+
this.roomHistories.deleteAll();
|
|
1846
|
+
ev.state.rooms.forEach(function (room) {
|
|
1847
|
+
return _this2.createHistoryForNewRoom(room);
|
|
1848
|
+
});
|
|
1849
|
+
this.deferredSession.resolve();
|
|
1850
|
+
}
|
|
1851
|
+
}]);
|
|
1852
|
+
}();
|
|
1853
|
+
;// ./src/state-tracker/FollowedTopicsManager.ts
|
|
1854
|
+
function FollowedTopicsManager_typeof(o) { "@babel/helpers - typeof"; return FollowedTopicsManager_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, FollowedTopicsManager_typeof(o); }
|
|
1855
|
+
function FollowedTopicsManager_ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
1856
|
+
function FollowedTopicsManager_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? FollowedTopicsManager_ownKeys(Object(t), !0).forEach(function (r) { FollowedTopicsManager_defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : FollowedTopicsManager_ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
1857
|
+
function FollowedTopicsManager_toConsumableArray(r) { return FollowedTopicsManager_arrayWithoutHoles(r) || FollowedTopicsManager_iterableToArray(r) || FollowedTopicsManager_unsupportedIterableToArray(r) || FollowedTopicsManager_nonIterableSpread(); }
|
|
1858
|
+
function FollowedTopicsManager_nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
1859
|
+
function FollowedTopicsManager_iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
|
|
1860
|
+
function FollowedTopicsManager_arrayWithoutHoles(r) { if (Array.isArray(r)) return FollowedTopicsManager_arrayLikeToArray(r); }
|
|
1861
|
+
function FollowedTopicsManager_createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = FollowedTopicsManager_unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
1862
|
+
function FollowedTopicsManager_unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return FollowedTopicsManager_arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? FollowedTopicsManager_arrayLikeToArray(r, a) : void 0; } }
|
|
1863
|
+
function FollowedTopicsManager_arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
1864
|
+
function FollowedTopicsManager_regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return FollowedTopicsManager_regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (FollowedTopicsManager_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, FollowedTopicsManager_regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, FollowedTopicsManager_regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), FollowedTopicsManager_regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", FollowedTopicsManager_regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), FollowedTopicsManager_regeneratorDefine2(u), FollowedTopicsManager_regeneratorDefine2(u, o, "Generator"), FollowedTopicsManager_regeneratorDefine2(u, n, function () { return this; }), FollowedTopicsManager_regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (FollowedTopicsManager_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
|
|
1865
|
+
function FollowedTopicsManager_regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } FollowedTopicsManager_regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { FollowedTopicsManager_regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, FollowedTopicsManager_regeneratorDefine2(e, r, n, t); }
|
|
1866
|
+
function FollowedTopicsManager_asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
|
|
1867
|
+
function FollowedTopicsManager_asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { FollowedTopicsManager_asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { FollowedTopicsManager_asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
|
|
1868
|
+
function FollowedTopicsManager_classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
|
|
1869
|
+
function FollowedTopicsManager_defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, FollowedTopicsManager_toPropertyKey(o.key), o); } }
|
|
1870
|
+
function FollowedTopicsManager_createClass(e, r, t) { return r && FollowedTopicsManager_defineProperties(e.prototype, r), t && FollowedTopicsManager_defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
|
|
1871
|
+
function FollowedTopicsManager_callSuper(t, o, e) { return o = FollowedTopicsManager_getPrototypeOf(o), FollowedTopicsManager_possibleConstructorReturn(t, FollowedTopicsManager_isNativeReflectConstruct() ? Reflect.construct(o, e || [], FollowedTopicsManager_getPrototypeOf(t).constructor) : o.apply(t, e)); }
|
|
1872
|
+
function FollowedTopicsManager_possibleConstructorReturn(t, e) { if (e && ("object" == FollowedTopicsManager_typeof(e) || "function" == typeof e)) return e; if (void 0 !== e) throw new TypeError("Derived constructors may only return object or undefined"); return FollowedTopicsManager_assertThisInitialized(t); }
|
|
1873
|
+
function FollowedTopicsManager_assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e; }
|
|
1874
|
+
function FollowedTopicsManager_isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (FollowedTopicsManager_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
1875
|
+
function FollowedTopicsManager_getPrototypeOf(t) { return FollowedTopicsManager_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, FollowedTopicsManager_getPrototypeOf(t); }
|
|
1876
|
+
function FollowedTopicsManager_inherits(t, e) { if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, "prototype", { writable: !1 }), e && FollowedTopicsManager_setPrototypeOf(t, e); }
|
|
1877
|
+
function FollowedTopicsManager_setPrototypeOf(t, e) { return FollowedTopicsManager_setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, FollowedTopicsManager_setPrototypeOf(t, e); }
|
|
1878
|
+
function FollowedTopicsManager_defineProperty(e, r, t) { return (r = FollowedTopicsManager_toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
1879
|
+
function FollowedTopicsManager_toPropertyKey(t) { var i = FollowedTopicsManager_toPrimitive(t, "string"); return "symbol" == FollowedTopicsManager_typeof(i) ? i : i + ""; }
|
|
1880
|
+
function FollowedTopicsManager_toPrimitive(t, r) { if ("object" != FollowedTopicsManager_typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != FollowedTopicsManager_typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
1881
|
+
|
|
1882
|
+
|
|
1883
|
+
|
|
1884
|
+
var FollowedTopicsManager = /*#__PURE__*/function (_EventTarget) {
|
|
1885
|
+
function FollowedTopicsManager(tracker) {
|
|
1886
|
+
var _this;
|
|
1887
|
+
FollowedTopicsManager_classCallCheck(this, FollowedTopicsManager);
|
|
1888
|
+
_this = FollowedTopicsManager_callSuper(this, FollowedTopicsManager);
|
|
1889
|
+
FollowedTopicsManager_defineProperty(_this, "followedTopics", new IndexedCollection());
|
|
1890
|
+
FollowedTopicsManager_defineProperty(_this, "followedTopicsPromises", new PromiseRegistry());
|
|
1891
|
+
FollowedTopicsManager_defineProperty(_this, "deferredSession", new DeferredTask());
|
|
1892
|
+
FollowedTopicsManager_defineProperty(_this, "summariesCache", new Map());
|
|
1893
|
+
_this.tracker = tracker;
|
|
1894
|
+
_this.tracker.client.on('Session', function (ev) {
|
|
1895
|
+
return _this.handleSession(ev);
|
|
1896
|
+
});
|
|
1897
|
+
_this.tracker.client.on('RoomJoined', function (ev) {
|
|
1898
|
+
return _this.handleRoomJoin(ev);
|
|
1899
|
+
});
|
|
1900
|
+
_this.tracker.client.on('NewTopic', function (ev) {
|
|
1901
|
+
return _this.handleNewTopic(ev);
|
|
1902
|
+
});
|
|
1903
|
+
_this.tracker.client.on('FollowedTopicUpdated', function (ev) {
|
|
1904
|
+
return _this.handleFollowedTopicUpdated(ev);
|
|
1905
|
+
});
|
|
1906
|
+
_this.tracker.client.on('TopicFollowed', function (ev) {
|
|
1907
|
+
return _this.handleTopicFollowed(ev);
|
|
1908
|
+
});
|
|
1909
|
+
_this.tracker.client.on('NewMessage', function (ev) {
|
|
1910
|
+
return _this.handleNewMessage(ev);
|
|
1911
|
+
});
|
|
1912
|
+
_this.tracker.client.on('RoomDeleted', function (ev) {
|
|
1913
|
+
return _this.handleRoomDeleted(ev);
|
|
1914
|
+
});
|
|
1915
|
+
_this.tracker.client.on('RoomLeft', function (ev) {
|
|
1916
|
+
return _this.handleRoomLeft(ev);
|
|
1917
|
+
});
|
|
1918
|
+
_this.tracker.client.on('TopicDeleted', function (ev) {
|
|
1919
|
+
return _this.handleTopicDeleted(ev);
|
|
1920
|
+
});
|
|
1921
|
+
return _this;
|
|
1922
|
+
}
|
|
1923
|
+
|
|
1924
|
+
/**
|
|
1925
|
+
* Cache followed topics for all joined rooms in a space and fetch them in bulk if necessary.
|
|
1926
|
+
* Then you can get them using getRoomFollowedTopics().
|
|
1927
|
+
* @see getRoomFollowedTopics
|
|
1928
|
+
*/
|
|
1929
|
+
FollowedTopicsManager_inherits(FollowedTopicsManager, _EventTarget);
|
|
1930
|
+
return FollowedTopicsManager_createClass(FollowedTopicsManager, [{
|
|
1798
1931
|
key: "cacheSpaceFollowedTopics",
|
|
1799
1932
|
value: (function () {
|
|
1800
|
-
var _cacheSpaceFollowedTopics =
|
|
1933
|
+
var _cacheSpaceFollowedTopics = FollowedTopicsManager_asyncToGenerator(/*#__PURE__*/FollowedTopicsManager_regenerator().m(function _callee2(spaceId) {
|
|
1801
1934
|
var _this2 = this;
|
|
1802
|
-
var roomIds,
|
|
1803
|
-
return
|
|
1935
|
+
var rooms, roomIds, isAlreadyCached, spaceRegistryKey, _t;
|
|
1936
|
+
return FollowedTopicsManager_regenerator().w(function (_context2) {
|
|
1804
1937
|
while (1) switch (_context2.n) {
|
|
1805
1938
|
case 0:
|
|
1806
1939
|
_t = spaceId;
|
|
@@ -1822,8 +1955,13 @@ var MessagesManager = /*#__PURE__*/function () {
|
|
|
1822
1955
|
_context2.n = 4;
|
|
1823
1956
|
return this.tracker.rooms.get();
|
|
1824
1957
|
case 4:
|
|
1825
|
-
|
|
1826
|
-
|
|
1958
|
+
rooms = _context2.v;
|
|
1959
|
+
roomIds = spaceId ? rooms.findBy('spaceId', spaceId).items.map(function (r) {
|
|
1960
|
+
return r.id;
|
|
1961
|
+
}) : rooms.items.filter(function (r) {
|
|
1962
|
+
return !r.spaceId;
|
|
1963
|
+
}).map(function (r) {
|
|
1964
|
+
return r.id;
|
|
1827
1965
|
});
|
|
1828
1966
|
if (roomIds.length) {
|
|
1829
1967
|
_context2.n = 5;
|
|
@@ -1831,31 +1969,51 @@ var MessagesManager = /*#__PURE__*/function () {
|
|
|
1831
1969
|
}
|
|
1832
1970
|
return _context2.a(2);
|
|
1833
1971
|
case 5:
|
|
1834
|
-
|
|
1835
|
-
|
|
1836
|
-
spaceId: spaceId
|
|
1837
|
-
}
|
|
1838
|
-
});
|
|
1839
|
-
roomIds.forEach(function (roomId) {
|
|
1840
|
-
return _this2.followedTopicsPromises.register(resultPromise, roomId);
|
|
1972
|
+
isAlreadyCached = roomIds.every(function (roomId) {
|
|
1973
|
+
return _this2.followedTopics.has(roomId);
|
|
1841
1974
|
});
|
|
1842
|
-
|
|
1843
|
-
|
|
1844
|
-
case 6:
|
|
1845
|
-
result = _context2.v;
|
|
1846
|
-
if (!result.error) {
|
|
1847
|
-
_context2.n = 7;
|
|
1975
|
+
if (!isAlreadyCached) {
|
|
1976
|
+
_context2.n = 6;
|
|
1848
1977
|
break;
|
|
1849
1978
|
}
|
|
1850
|
-
|
|
1979
|
+
return _context2.a(2);
|
|
1980
|
+
case 6:
|
|
1981
|
+
spaceRegistryKey = "space_fetch_".concat(spaceId || 'spaceless');
|
|
1982
|
+
if (this.followedTopicsPromises.notExist(spaceRegistryKey)) {
|
|
1983
|
+
this.followedTopicsPromises.registerByFunction(/*#__PURE__*/FollowedTopicsManager_asyncToGenerator(/*#__PURE__*/FollowedTopicsManager_regenerator().m(function _callee() {
|
|
1984
|
+
var result;
|
|
1985
|
+
return FollowedTopicsManager_regenerator().w(function (_context) {
|
|
1986
|
+
while (1) switch (_context.n) {
|
|
1987
|
+
case 0:
|
|
1988
|
+
_context.n = 1;
|
|
1989
|
+
return _this2.tracker.client.send('GetFollowedTopics', {
|
|
1990
|
+
location: {
|
|
1991
|
+
spaceId: spaceId
|
|
1992
|
+
}
|
|
1993
|
+
});
|
|
1994
|
+
case 1:
|
|
1995
|
+
result = _context.v;
|
|
1996
|
+
if (!result.error) {
|
|
1997
|
+
_context.n = 2;
|
|
1998
|
+
break;
|
|
1999
|
+
}
|
|
2000
|
+
throw result.error;
|
|
2001
|
+
case 2:
|
|
2002
|
+
_this2.setFollowedTopicsArray(roomIds, result.data.followedTopics);
|
|
2003
|
+
case 3:
|
|
2004
|
+
return _context.a(2);
|
|
2005
|
+
}
|
|
2006
|
+
}, _callee);
|
|
2007
|
+
})), spaceRegistryKey);
|
|
2008
|
+
}
|
|
2009
|
+
_context2.n = 7;
|
|
2010
|
+
return this.followedTopicsPromises.get(spaceRegistryKey);
|
|
1851
2011
|
case 7:
|
|
1852
|
-
this.setFollowedTopicsArray(roomIds, result.data.followedTopics);
|
|
1853
|
-
case 8:
|
|
1854
2012
|
return _context2.a(2);
|
|
1855
2013
|
}
|
|
1856
2014
|
}, _callee2, this);
|
|
1857
2015
|
}));
|
|
1858
|
-
function cacheSpaceFollowedTopics(
|
|
2016
|
+
function cacheSpaceFollowedTopics(_x) {
|
|
1859
2017
|
return _cacheSpaceFollowedTopics.apply(this, arguments);
|
|
1860
2018
|
}
|
|
1861
2019
|
return cacheSpaceFollowedTopics;
|
|
@@ -1868,9 +2026,9 @@ var MessagesManager = /*#__PURE__*/function () {
|
|
|
1868
2026
|
}, {
|
|
1869
2027
|
key: "getRoomFollowedTopics",
|
|
1870
2028
|
value: (function () {
|
|
1871
|
-
var _getRoomFollowedTopics =
|
|
2029
|
+
var _getRoomFollowedTopics = FollowedTopicsManager_asyncToGenerator(/*#__PURE__*/FollowedTopicsManager_regenerator().m(function _callee4(roomId) {
|
|
1872
2030
|
var _this3 = this;
|
|
1873
|
-
return
|
|
2031
|
+
return FollowedTopicsManager_regenerator().w(function (_context4) {
|
|
1874
2032
|
while (1) switch (_context4.n) {
|
|
1875
2033
|
case 0:
|
|
1876
2034
|
_context4.n = 1;
|
|
@@ -1887,9 +2045,9 @@ var MessagesManager = /*#__PURE__*/function () {
|
|
|
1887
2045
|
break;
|
|
1888
2046
|
}
|
|
1889
2047
|
if (this.followedTopicsPromises.notExist(roomId)) {
|
|
1890
|
-
this.followedTopicsPromises.registerByFunction(/*#__PURE__*/
|
|
2048
|
+
this.followedTopicsPromises.registerByFunction(/*#__PURE__*/FollowedTopicsManager_asyncToGenerator(/*#__PURE__*/FollowedTopicsManager_regenerator().m(function _callee3() {
|
|
1891
2049
|
var result;
|
|
1892
|
-
return
|
|
2050
|
+
return FollowedTopicsManager_regenerator().w(function (_context3) {
|
|
1893
2051
|
while (1) switch (_context3.n) {
|
|
1894
2052
|
case 0:
|
|
1895
2053
|
_context3.n = 1;
|
|
@@ -1920,7 +2078,7 @@ var MessagesManager = /*#__PURE__*/function () {
|
|
|
1920
2078
|
}
|
|
1921
2079
|
}, _callee4, this);
|
|
1922
2080
|
}));
|
|
1923
|
-
function getRoomFollowedTopics(
|
|
2081
|
+
function getRoomFollowedTopics(_x2) {
|
|
1924
2082
|
return _getRoomFollowedTopics.apply(this, arguments);
|
|
1925
2083
|
}
|
|
1926
2084
|
return getRoomFollowedTopics;
|
|
@@ -1932,9 +2090,9 @@ var MessagesManager = /*#__PURE__*/function () {
|
|
|
1932
2090
|
}, {
|
|
1933
2091
|
key: "ackRoom",
|
|
1934
2092
|
value: (function () {
|
|
1935
|
-
var _ackRoom =
|
|
2093
|
+
var _ackRoom = FollowedTopicsManager_asyncToGenerator(/*#__PURE__*/FollowedTopicsManager_regenerator().m(function _callee5(roomId) {
|
|
1936
2094
|
var collection, _iterator, _step, followedTopic, _t2;
|
|
1937
|
-
return
|
|
2095
|
+
return FollowedTopicsManager_regenerator().w(function (_context5) {
|
|
1938
2096
|
while (1) switch (_context5.p = _context5.n) {
|
|
1939
2097
|
case 0:
|
|
1940
2098
|
_context5.n = 1;
|
|
@@ -1947,7 +2105,7 @@ var MessagesManager = /*#__PURE__*/function () {
|
|
|
1947
2105
|
}
|
|
1948
2106
|
return _context5.a(2);
|
|
1949
2107
|
case 2:
|
|
1950
|
-
_iterator =
|
|
2108
|
+
_iterator = FollowedTopicsManager_createForOfIteratorHelper(collection.items);
|
|
1951
2109
|
_context5.p = 3;
|
|
1952
2110
|
_iterator.s();
|
|
1953
2111
|
case 4:
|
|
@@ -1983,30 +2141,32 @@ var MessagesManager = /*#__PURE__*/function () {
|
|
|
1983
2141
|
}
|
|
1984
2142
|
}, _callee5, this, [[3, 7, 8, 9]]);
|
|
1985
2143
|
}));
|
|
1986
|
-
function ackRoom(
|
|
2144
|
+
function ackRoom(_x3) {
|
|
1987
2145
|
return _ackRoom.apply(this, arguments);
|
|
1988
2146
|
}
|
|
1989
2147
|
return ackRoom;
|
|
1990
2148
|
}()
|
|
1991
2149
|
/**
|
|
1992
|
-
*
|
|
2150
|
+
* Summarize all unread messages or mentions from any topic in given location.
|
|
2151
|
+
* This method uses an internal cache, so it's ok to call it multiple times.
|
|
2152
|
+
* Capture the 'change' event to determine when it's worth calling this method again due to data changes.
|
|
1993
2153
|
* @return Undefined if you are not in room.
|
|
1994
2154
|
*/
|
|
1995
2155
|
)
|
|
1996
2156
|
}, {
|
|
1997
|
-
key: "
|
|
2157
|
+
key: "summarize",
|
|
1998
2158
|
value: (function () {
|
|
1999
|
-
var
|
|
2159
|
+
var _summarize = FollowedTopicsManager_asyncToGenerator(/*#__PURE__*/FollowedTopicsManager_regenerator().m(function _callee6(location) {
|
|
2000
2160
|
var cacheKey, roomIds, targetTopicId, rooms, mentionCount, isUnread, _iterator2, _step2, roomId, collection, _iterator3, _step3, _topic$mentionCount, topic, result, _t3, _t4;
|
|
2001
|
-
return
|
|
2161
|
+
return FollowedTopicsManager_regenerator().w(function (_context6) {
|
|
2002
2162
|
while (1) switch (_context6.p = _context6.n) {
|
|
2003
2163
|
case 0:
|
|
2004
2164
|
cacheKey = location.topicId ? "topic:".concat(location.roomId, ":").concat(location.topicId) : location.roomId ? "room:".concat(location.roomId) : location.spaceId ? "space:".concat(location.spaceId) : 'spaceless';
|
|
2005
|
-
if (!this.
|
|
2165
|
+
if (!this.summariesCache.has(cacheKey)) {
|
|
2006
2166
|
_context6.n = 1;
|
|
2007
2167
|
break;
|
|
2008
2168
|
}
|
|
2009
|
-
return _context6.a(2, this.
|
|
2169
|
+
return _context6.a(2, this.summariesCache.get(cacheKey));
|
|
2010
2170
|
case 1:
|
|
2011
2171
|
roomIds = [];
|
|
2012
2172
|
_context6.n = 2;
|
|
@@ -2025,7 +2185,7 @@ var MessagesManager = /*#__PURE__*/function () {
|
|
|
2025
2185
|
case 3:
|
|
2026
2186
|
roomIds = [location.roomId];
|
|
2027
2187
|
targetTopicId = location.topicId;
|
|
2028
|
-
_context6.n =
|
|
2188
|
+
_context6.n = 9;
|
|
2029
2189
|
break;
|
|
2030
2190
|
case 4:
|
|
2031
2191
|
if (!location.roomId) {
|
|
@@ -2033,7 +2193,7 @@ var MessagesManager = /*#__PURE__*/function () {
|
|
|
2033
2193
|
break;
|
|
2034
2194
|
}
|
|
2035
2195
|
roomIds = [location.roomId];
|
|
2036
|
-
_context6.n =
|
|
2196
|
+
_context6.n = 9;
|
|
2037
2197
|
break;
|
|
2038
2198
|
case 5:
|
|
2039
2199
|
if (!location.spaceId) {
|
|
@@ -2046,97 +2206,100 @@ var MessagesManager = /*#__PURE__*/function () {
|
|
|
2046
2206
|
roomIds = rooms.findBy('spaceId', location.spaceId).items.map(function (r) {
|
|
2047
2207
|
return r.id;
|
|
2048
2208
|
});
|
|
2049
|
-
_context6.n =
|
|
2209
|
+
_context6.n = 9;
|
|
2050
2210
|
break;
|
|
2051
2211
|
case 7:
|
|
2212
|
+
_context6.n = 8;
|
|
2213
|
+
return this.cacheSpaceFollowedTopics(null);
|
|
2214
|
+
case 8:
|
|
2052
2215
|
roomIds = rooms.items.filter(function (r) {
|
|
2053
2216
|
return !r.spaceId;
|
|
2054
2217
|
}).map(function (r) {
|
|
2055
2218
|
return r.id;
|
|
2056
2219
|
});
|
|
2057
|
-
case
|
|
2220
|
+
case 9:
|
|
2058
2221
|
mentionCount = 0;
|
|
2059
2222
|
isUnread = false;
|
|
2060
|
-
_iterator2 =
|
|
2061
|
-
_context6.p =
|
|
2223
|
+
_iterator2 = FollowedTopicsManager_createForOfIteratorHelper(roomIds);
|
|
2224
|
+
_context6.p = 10;
|
|
2062
2225
|
_iterator2.s();
|
|
2063
|
-
case
|
|
2226
|
+
case 11:
|
|
2064
2227
|
if ((_step2 = _iterator2.n()).done) {
|
|
2065
|
-
_context6.n =
|
|
2228
|
+
_context6.n = 22;
|
|
2066
2229
|
break;
|
|
2067
2230
|
}
|
|
2068
2231
|
roomId = _step2.value;
|
|
2069
|
-
_context6.n =
|
|
2232
|
+
_context6.n = 12;
|
|
2070
2233
|
return this.getRoomFollowedTopics(roomId);
|
|
2071
|
-
case
|
|
2234
|
+
case 12:
|
|
2072
2235
|
collection = _context6.v;
|
|
2073
2236
|
if (collection) {
|
|
2074
|
-
_context6.n =
|
|
2237
|
+
_context6.n = 13;
|
|
2075
2238
|
break;
|
|
2076
2239
|
}
|
|
2077
|
-
return _context6.a(3,
|
|
2078
|
-
case
|
|
2079
|
-
_iterator3 =
|
|
2080
|
-
_context6.p =
|
|
2240
|
+
return _context6.a(3, 21);
|
|
2241
|
+
case 13:
|
|
2242
|
+
_iterator3 = FollowedTopicsManager_createForOfIteratorHelper(collection.items);
|
|
2243
|
+
_context6.p = 14;
|
|
2081
2244
|
_iterator3.s();
|
|
2082
|
-
case
|
|
2245
|
+
case 15:
|
|
2083
2246
|
if ((_step3 = _iterator3.n()).done) {
|
|
2084
|
-
_context6.n =
|
|
2247
|
+
_context6.n = 18;
|
|
2085
2248
|
break;
|
|
2086
2249
|
}
|
|
2087
2250
|
topic = _step3.value;
|
|
2088
2251
|
if (!(targetTopicId && topic.location.topicId !== targetTopicId)) {
|
|
2089
|
-
_context6.n =
|
|
2252
|
+
_context6.n = 16;
|
|
2090
2253
|
break;
|
|
2091
2254
|
}
|
|
2092
|
-
return _context6.a(3,
|
|
2093
|
-
case
|
|
2255
|
+
return _context6.a(3, 17);
|
|
2256
|
+
case 16:
|
|
2094
2257
|
if (topic.isUnread) {
|
|
2095
2258
|
isUnread = true;
|
|
2096
2259
|
}
|
|
2097
2260
|
mentionCount += (_topic$mentionCount = topic.mentionCount) !== null && _topic$mentionCount !== void 0 ? _topic$mentionCount : 0;
|
|
2098
|
-
case 16:
|
|
2099
|
-
_context6.n = 14;
|
|
2100
|
-
break;
|
|
2101
2261
|
case 17:
|
|
2102
|
-
_context6.n =
|
|
2262
|
+
_context6.n = 15;
|
|
2103
2263
|
break;
|
|
2104
2264
|
case 18:
|
|
2105
|
-
_context6.
|
|
2106
|
-
|
|
2107
|
-
_iterator3.e(_t3);
|
|
2265
|
+
_context6.n = 20;
|
|
2266
|
+
break;
|
|
2108
2267
|
case 19:
|
|
2109
2268
|
_context6.p = 19;
|
|
2110
|
-
|
|
2111
|
-
|
|
2269
|
+
_t3 = _context6.v;
|
|
2270
|
+
_iterator3.e(_t3);
|
|
2112
2271
|
case 20:
|
|
2113
|
-
_context6.
|
|
2114
|
-
|
|
2272
|
+
_context6.p = 20;
|
|
2273
|
+
_iterator3.f();
|
|
2274
|
+
return _context6.f(20);
|
|
2115
2275
|
case 21:
|
|
2116
|
-
_context6.n =
|
|
2276
|
+
_context6.n = 11;
|
|
2117
2277
|
break;
|
|
2118
2278
|
case 22:
|
|
2119
|
-
_context6.
|
|
2120
|
-
|
|
2121
|
-
_iterator2.e(_t4);
|
|
2279
|
+
_context6.n = 24;
|
|
2280
|
+
break;
|
|
2122
2281
|
case 23:
|
|
2123
2282
|
_context6.p = 23;
|
|
2124
|
-
|
|
2125
|
-
|
|
2283
|
+
_t4 = _context6.v;
|
|
2284
|
+
_iterator2.e(_t4);
|
|
2126
2285
|
case 24:
|
|
2286
|
+
_context6.p = 24;
|
|
2287
|
+
_iterator2.f();
|
|
2288
|
+
return _context6.f(24);
|
|
2289
|
+
case 25:
|
|
2127
2290
|
result = {
|
|
2128
2291
|
mentionCount: mentionCount,
|
|
2129
2292
|
isUnread: isUnread
|
|
2130
2293
|
};
|
|
2131
|
-
this.
|
|
2294
|
+
this.summariesCache.set(cacheKey, result);
|
|
2132
2295
|
return _context6.a(2, result);
|
|
2133
2296
|
}
|
|
2134
|
-
}, _callee6, this, [[
|
|
2297
|
+
}, _callee6, this, [[14, 19, 20, 21], [10, 23, 24, 25]]);
|
|
2135
2298
|
}));
|
|
2136
|
-
function
|
|
2137
|
-
return
|
|
2299
|
+
function summarize(_x4) {
|
|
2300
|
+
return _summarize.apply(this, arguments);
|
|
2138
2301
|
}
|
|
2139
|
-
return
|
|
2302
|
+
return summarize;
|
|
2140
2303
|
}()
|
|
2141
2304
|
/**
|
|
2142
2305
|
* For internal use. If you want to delete the message, execute a proper command on client object.
|
|
@@ -2156,128 +2319,13 @@ var MessagesManager = /*#__PURE__*/function () {
|
|
|
2156
2319
|
return _this4.invalidateUnreadSummaries(roomId, topicId);
|
|
2157
2320
|
});
|
|
2158
2321
|
}
|
|
2159
|
-
|
|
2160
|
-
/**
|
|
2161
|
-
* For internal use.
|
|
2162
|
-
* @internal
|
|
2163
|
-
*/
|
|
2164
|
-
}, {
|
|
2165
|
-
key: "_resolveLastMessage",
|
|
2166
|
-
value: (function () {
|
|
2167
|
-
var _resolveLastMessage2 = MessagesManager_asyncToGenerator(/*#__PURE__*/MessagesManager_regenerator().m(function _callee7(location) {
|
|
2168
|
-
var message, _result$data, result;
|
|
2169
|
-
return MessagesManager_regenerator().w(function (_context7) {
|
|
2170
|
-
while (1) switch (_context7.n) {
|
|
2171
|
-
case 0:
|
|
2172
|
-
_context7.n = 1;
|
|
2173
|
-
return this.getRoomHistory(location.roomId).then(function (roomHistory) {
|
|
2174
|
-
return roomHistory === null || roomHistory === void 0 ? void 0 : roomHistory.getMessagesWindow(location.topicId, true);
|
|
2175
|
-
}).then(function (historyWindow) {
|
|
2176
|
-
return (historyWindow === null || historyWindow === void 0 ? void 0 : historyWindow.hasLatest) && historyWindow.getAt(historyWindow.length - 1);
|
|
2177
|
-
});
|
|
2178
|
-
case 1:
|
|
2179
|
-
message = _context7.v;
|
|
2180
|
-
if (message) {
|
|
2181
|
-
_context7.n = 3;
|
|
2182
|
-
break;
|
|
2183
|
-
}
|
|
2184
|
-
_context7.n = 2;
|
|
2185
|
-
return this.tracker.client.send('GetMessages', {
|
|
2186
|
-
location: location,
|
|
2187
|
-
limit: 1
|
|
2188
|
-
});
|
|
2189
|
-
case 2:
|
|
2190
|
-
result = _context7.v;
|
|
2191
|
-
message = (_result$data = result.data) === null || _result$data === void 0 ? void 0 : _result$data.messages[0];
|
|
2192
|
-
case 3:
|
|
2193
|
-
return _context7.a(2, message || null);
|
|
2194
|
-
}
|
|
2195
|
-
}, _callee7, this);
|
|
2196
|
-
}));
|
|
2197
|
-
function _resolveLastMessage(_x6) {
|
|
2198
|
-
return _resolveLastMessage2.apply(this, arguments);
|
|
2199
|
-
}
|
|
2200
|
-
return _resolveLastMessage;
|
|
2201
|
-
}()
|
|
2202
|
-
/**
|
|
2203
|
-
* Wyczyść cache celowo, tylko dla lokalizacji których dotyczy zmiana.
|
|
2204
|
-
*/
|
|
2205
|
-
)
|
|
2206
|
-
}, {
|
|
2207
|
-
key: "invalidateUnreadSummaries",
|
|
2208
|
-
value: function invalidateUnreadSummaries(roomId, topicId) {
|
|
2209
|
-
if (!roomId) {
|
|
2210
|
-
this.unreadSummariesCache.clear();
|
|
2211
|
-
return;
|
|
2212
|
-
}
|
|
2213
|
-
this.unreadSummariesCache["delete"]("room:".concat(roomId));
|
|
2214
|
-
if (topicId) {
|
|
2215
|
-
this.unreadSummariesCache["delete"]("topic:".concat(roomId, ":").concat(topicId));
|
|
2216
|
-
} else {
|
|
2217
|
-
var _iterator4 = MessagesManager_createForOfIteratorHelper(this.unreadSummariesCache.keys()),
|
|
2218
|
-
_step4;
|
|
2219
|
-
try {
|
|
2220
|
-
for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
|
|
2221
|
-
var key = _step4.value;
|
|
2222
|
-
if (key.startsWith("topic:".concat(roomId, ":"))) {
|
|
2223
|
-
this.unreadSummariesCache["delete"](key);
|
|
2224
|
-
}
|
|
2225
|
-
}
|
|
2226
|
-
} catch (err) {
|
|
2227
|
-
_iterator4.e(err);
|
|
2228
|
-
} finally {
|
|
2229
|
-
_iterator4.f();
|
|
2230
|
-
}
|
|
2231
|
-
}
|
|
2232
|
-
var _iterator5 = MessagesManager_createForOfIteratorHelper(this.unreadSummariesCache.keys()),
|
|
2233
|
-
_step5;
|
|
2234
|
-
try {
|
|
2235
|
-
for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
|
|
2236
|
-
var _key2 = _step5.value;
|
|
2237
|
-
if (_key2.startsWith('space:') || _key2 === 'spaceless') {
|
|
2238
|
-
this.unreadSummariesCache["delete"](_key2);
|
|
2239
|
-
}
|
|
2240
|
-
}
|
|
2241
|
-
} catch (err) {
|
|
2242
|
-
_iterator5.e(err);
|
|
2243
|
-
} finally {
|
|
2244
|
-
_iterator5.f();
|
|
2245
|
-
}
|
|
2246
|
-
}
|
|
2247
|
-
}, {
|
|
2248
|
-
key: "invalidateUnreadSummariesForRooms",
|
|
2249
|
-
value: function invalidateUnreadSummariesForRooms(roomIds) {
|
|
2250
|
-
var _this5 = this;
|
|
2251
|
-
var roomIdsSet = new Set(roomIds);
|
|
2252
|
-
roomIds.forEach(function (roomId) {
|
|
2253
|
-
_this5.unreadSummariesCache["delete"]("room:".concat(roomId));
|
|
2254
|
-
});
|
|
2255
|
-
var _iterator6 = MessagesManager_createForOfIteratorHelper(this.unreadSummariesCache.keys()),
|
|
2256
|
-
_step6;
|
|
2257
|
-
try {
|
|
2258
|
-
for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
|
|
2259
|
-
var key = _step6.value;
|
|
2260
|
-
if (key.startsWith('space:') || key === 'spaceless') {
|
|
2261
|
-
this.unreadSummariesCache["delete"](key);
|
|
2262
|
-
continue;
|
|
2263
|
-
}
|
|
2264
|
-
if (key.startsWith('topic:')) {
|
|
2265
|
-
var parts = key.split(':');
|
|
2266
|
-
if (parts.length >= 2 && roomIdsSet.has(parts[1])) {
|
|
2267
|
-
this.unreadSummariesCache["delete"](key);
|
|
2268
|
-
}
|
|
2269
|
-
}
|
|
2270
|
-
}
|
|
2271
|
-
} catch (err) {
|
|
2272
|
-
_iterator6.e(err);
|
|
2273
|
-
} finally {
|
|
2274
|
-
_iterator6.f();
|
|
2275
|
-
}
|
|
2276
|
-
}
|
|
2277
2322
|
}, {
|
|
2278
|
-
key: "
|
|
2279
|
-
value: function
|
|
2280
|
-
this.
|
|
2323
|
+
key: "handleSession",
|
|
2324
|
+
value: function handleSession(ev) {
|
|
2325
|
+
this.followedTopics.deleteAll();
|
|
2326
|
+
this.followedTopicsPromises.forgetAll();
|
|
2327
|
+
this.invalidateUnreadSummaries();
|
|
2328
|
+
this.deferredSession.resolve();
|
|
2281
2329
|
}
|
|
2282
2330
|
}, {
|
|
2283
2331
|
key: "handleNewMessage",
|
|
@@ -2300,34 +2348,31 @@ var MessagesManager = /*#__PURE__*/function () {
|
|
|
2300
2348
|
}, {
|
|
2301
2349
|
key: "handleRoomDeleted",
|
|
2302
2350
|
value: function handleRoomDeleted(ev) {
|
|
2303
|
-
this.roomHistories["delete"](ev.id);
|
|
2304
2351
|
this.clearRoomFollowedTopicsStructures(ev.id);
|
|
2305
2352
|
}
|
|
2306
2353
|
}, {
|
|
2307
2354
|
key: "handleRoomJoin",
|
|
2308
2355
|
value: function handleRoomJoin(ev) {
|
|
2309
|
-
this.createHistoryForNewRoom(ev.room);
|
|
2310
2356
|
this.clearRoomFollowedTopicsStructures(ev.room.id);
|
|
2311
2357
|
}
|
|
2312
2358
|
}, {
|
|
2313
2359
|
key: "handleRoomLeft",
|
|
2314
2360
|
value: function handleRoomLeft(ev) {
|
|
2315
|
-
this.roomHistories["delete"](ev.id);
|
|
2316
2361
|
this.clearRoomFollowedTopicsStructures(ev.id);
|
|
2317
2362
|
}
|
|
2318
2363
|
}, {
|
|
2319
2364
|
key: "handleNewTopic",
|
|
2320
2365
|
value: function () {
|
|
2321
|
-
var _handleNewTopic =
|
|
2366
|
+
var _handleNewTopic = FollowedTopicsManager_asyncToGenerator(/*#__PURE__*/FollowedTopicsManager_regenerator().m(function _callee7(ev) {
|
|
2322
2367
|
var result, followedTopic;
|
|
2323
|
-
return
|
|
2324
|
-
while (1) switch (
|
|
2368
|
+
return FollowedTopicsManager_regenerator().w(function (_context7) {
|
|
2369
|
+
while (1) switch (_context7.n) {
|
|
2325
2370
|
case 0:
|
|
2326
2371
|
if (!this.followedTopics.has(ev.roomId)) {
|
|
2327
|
-
|
|
2372
|
+
_context7.n = 2;
|
|
2328
2373
|
break;
|
|
2329
2374
|
}
|
|
2330
|
-
|
|
2375
|
+
_context7.n = 1;
|
|
2331
2376
|
return this.tracker.client.send('GetFollowedTopics', {
|
|
2332
2377
|
location: {
|
|
2333
2378
|
roomId: ev.roomId,
|
|
@@ -2335,18 +2380,18 @@ var MessagesManager = /*#__PURE__*/function () {
|
|
|
2335
2380
|
}
|
|
2336
2381
|
});
|
|
2337
2382
|
case 1:
|
|
2338
|
-
result =
|
|
2383
|
+
result = _context7.v;
|
|
2339
2384
|
followedTopic = result.data.followedTopics[0];
|
|
2340
2385
|
if (followedTopic) {
|
|
2341
2386
|
this.followedTopics.get(ev.roomId).set(followedTopic);
|
|
2342
2387
|
this.invalidateUnreadSummaries(ev.roomId, ev.topic.id);
|
|
2343
2388
|
}
|
|
2344
2389
|
case 2:
|
|
2345
|
-
return
|
|
2390
|
+
return _context7.a(2);
|
|
2346
2391
|
}
|
|
2347
|
-
},
|
|
2392
|
+
}, _callee7, this);
|
|
2348
2393
|
}));
|
|
2349
|
-
function handleNewTopic(
|
|
2394
|
+
function handleNewTopic(_x5) {
|
|
2350
2395
|
return _handleNewTopic.apply(this, arguments);
|
|
2351
2396
|
}
|
|
2352
2397
|
return handleNewTopic;
|
|
@@ -2358,39 +2403,106 @@ var MessagesManager = /*#__PURE__*/function () {
|
|
|
2358
2403
|
(_this$followedTopics$3 = this.followedTopics.get(ev.location.roomId)) === null || _this$followedTopics$3 === void 0 || _this$followedTopics$3["delete"](ev.location.topicId);
|
|
2359
2404
|
this.invalidateUnreadSummaries(ev.location.roomId, ev.location.topicId);
|
|
2360
2405
|
}
|
|
2406
|
+
|
|
2407
|
+
/**
|
|
2408
|
+
* Invalidate the summaries cache intentionally, only for the locations affected by the change.
|
|
2409
|
+
*/
|
|
2361
2410
|
}, {
|
|
2362
|
-
key: "
|
|
2363
|
-
value: function
|
|
2364
|
-
|
|
2365
|
-
|
|
2366
|
-
|
|
2367
|
-
|
|
2368
|
-
|
|
2369
|
-
|
|
2370
|
-
|
|
2411
|
+
key: "invalidateUnreadSummaries",
|
|
2412
|
+
value: function invalidateUnreadSummaries(roomId, topicId) {
|
|
2413
|
+
if (roomId) {
|
|
2414
|
+
this.summariesCache["delete"]("room:".concat(roomId));
|
|
2415
|
+
if (topicId) {
|
|
2416
|
+
this.summariesCache["delete"]("topic:".concat(roomId, ":").concat(topicId));
|
|
2417
|
+
} else {
|
|
2418
|
+
var _iterator4 = FollowedTopicsManager_createForOfIteratorHelper(this.summariesCache.keys()),
|
|
2419
|
+
_step4;
|
|
2420
|
+
try {
|
|
2421
|
+
for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
|
|
2422
|
+
var key = _step4.value;
|
|
2423
|
+
if (key.startsWith("topic:".concat(roomId, ":"))) {
|
|
2424
|
+
this.summariesCache["delete"](key);
|
|
2425
|
+
}
|
|
2426
|
+
}
|
|
2427
|
+
} catch (err) {
|
|
2428
|
+
_iterator4.e(err);
|
|
2429
|
+
} finally {
|
|
2430
|
+
_iterator4.f();
|
|
2431
|
+
}
|
|
2432
|
+
}
|
|
2433
|
+
var _iterator5 = FollowedTopicsManager_createForOfIteratorHelper(this.summariesCache.keys()),
|
|
2434
|
+
_step5;
|
|
2435
|
+
try {
|
|
2436
|
+
for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
|
|
2437
|
+
var _key2 = _step5.value;
|
|
2438
|
+
if (_key2.startsWith('space:') || _key2 === 'spaceless') {
|
|
2439
|
+
this.summariesCache["delete"](_key2);
|
|
2440
|
+
}
|
|
2441
|
+
}
|
|
2442
|
+
} catch (err) {
|
|
2443
|
+
_iterator5.e(err);
|
|
2444
|
+
} finally {
|
|
2445
|
+
_iterator5.f();
|
|
2446
|
+
}
|
|
2447
|
+
} else {
|
|
2448
|
+
this.summariesCache.clear();
|
|
2449
|
+
}
|
|
2450
|
+
this.emit('change');
|
|
2451
|
+
}
|
|
2452
|
+
}, {
|
|
2453
|
+
key: "invalidateUnreadSummariesForRooms",
|
|
2454
|
+
value: function invalidateUnreadSummariesForRooms(roomIds) {
|
|
2455
|
+
var _this5 = this;
|
|
2456
|
+
var roomIdsSet = new Set(roomIds);
|
|
2457
|
+
roomIds.forEach(function (roomId) {
|
|
2458
|
+
_this5.summariesCache["delete"]("room:".concat(roomId));
|
|
2371
2459
|
});
|
|
2372
|
-
this.
|
|
2460
|
+
var _iterator6 = FollowedTopicsManager_createForOfIteratorHelper(this.summariesCache.keys()),
|
|
2461
|
+
_step6;
|
|
2462
|
+
try {
|
|
2463
|
+
for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
|
|
2464
|
+
var key = _step6.value;
|
|
2465
|
+
if (key.startsWith('space:') || key === 'spaceless') {
|
|
2466
|
+
this.summariesCache["delete"](key);
|
|
2467
|
+
continue;
|
|
2468
|
+
}
|
|
2469
|
+
if (key.startsWith('topic:')) {
|
|
2470
|
+
var parts = key.split(':');
|
|
2471
|
+
if (parts.length >= 2 && roomIdsSet.has(parts[1])) {
|
|
2472
|
+
this.summariesCache["delete"](key);
|
|
2473
|
+
}
|
|
2474
|
+
}
|
|
2475
|
+
}
|
|
2476
|
+
} catch (err) {
|
|
2477
|
+
_iterator6.e(err);
|
|
2478
|
+
} finally {
|
|
2479
|
+
_iterator6.f();
|
|
2480
|
+
}
|
|
2481
|
+
this.emit('change');
|
|
2373
2482
|
}
|
|
2374
2483
|
}, {
|
|
2375
2484
|
key: "updateLocallyFollowedTopicOnNewMessage",
|
|
2376
2485
|
value: function () {
|
|
2377
|
-
var _updateLocallyFollowedTopicOnNewMessage =
|
|
2378
|
-
var
|
|
2379
|
-
|
|
2380
|
-
|
|
2381
|
-
while (1) switch (_context9.n) {
|
|
2486
|
+
var _updateLocallyFollowedTopicOnNewMessage = FollowedTopicsManager_asyncToGenerator(/*#__PURE__*/FollowedTopicsManager_regenerator().m(function _callee8(ev) {
|
|
2487
|
+
var roomFollowedTopics, followedTopic, me, isMe, update, _member$spaceMember$r, _member$spaceMember, member, roleIds, mentionHandlers, mentionExists;
|
|
2488
|
+
return FollowedTopicsManager_regenerator().w(function (_context8) {
|
|
2489
|
+
while (1) switch (_context8.n) {
|
|
2382
2490
|
case 0:
|
|
2383
2491
|
roomFollowedTopics = this.followedTopics.get(ev.message.location.roomId);
|
|
2384
2492
|
followedTopic = roomFollowedTopics === null || roomFollowedTopics === void 0 ? void 0 : roomFollowedTopics.get(ev.message.location.topicId);
|
|
2385
2493
|
if (!(!roomFollowedTopics || !followedTopic || ev.message.type === 'Ephemeral')) {
|
|
2386
|
-
|
|
2494
|
+
_context8.n = 1;
|
|
2387
2495
|
break;
|
|
2388
2496
|
}
|
|
2389
|
-
return
|
|
2497
|
+
return _context8.a(2);
|
|
2390
2498
|
case 1:
|
|
2391
|
-
|
|
2499
|
+
_context8.n = 2;
|
|
2500
|
+
return this.tracker.getMe();
|
|
2501
|
+
case 2:
|
|
2502
|
+
me = _context8.v;
|
|
2503
|
+
isMe = ev.message.author.user.id === me.id;
|
|
2392
2504
|
if (!isMe) {
|
|
2393
|
-
|
|
2505
|
+
_context8.n = 3;
|
|
2394
2506
|
break;
|
|
2395
2507
|
}
|
|
2396
2508
|
// Reset missed messages count if new message is authored by me
|
|
@@ -2398,21 +2510,21 @@ var MessagesManager = /*#__PURE__*/function () {
|
|
|
2398
2510
|
missed: 0,
|
|
2399
2511
|
lastAckMessageId: ev.message.id
|
|
2400
2512
|
};
|
|
2401
|
-
|
|
2513
|
+
_context8.n = 6;
|
|
2402
2514
|
break;
|
|
2403
|
-
case
|
|
2515
|
+
case 3:
|
|
2404
2516
|
if (!(ev.message.type === 'Text')) {
|
|
2405
|
-
|
|
2517
|
+
_context8.n = 5;
|
|
2406
2518
|
break;
|
|
2407
2519
|
}
|
|
2408
|
-
|
|
2520
|
+
_context8.n = 4;
|
|
2409
2521
|
return this.tracker.rooms.getMe(ev.message.location.roomId);
|
|
2410
|
-
case
|
|
2411
|
-
member =
|
|
2412
|
-
roleIds = [].concat(
|
|
2413
|
-
mentionHandlers = [].concat(
|
|
2522
|
+
case 4:
|
|
2523
|
+
member = _context8.v;
|
|
2524
|
+
roleIds = [].concat(FollowedTopicsManager_toConsumableArray((_member$spaceMember$r = (_member$spaceMember = member.spaceMember) === null || _member$spaceMember === void 0 ? void 0 : _member$spaceMember.roles) !== null && _member$spaceMember$r !== void 0 ? _member$spaceMember$r : []), FollowedTopicsManager_toConsumableArray(member.roles));
|
|
2525
|
+
mentionHandlers = [].concat(FollowedTopicsManager_toConsumableArray(roleIds.map(function (id) {
|
|
2414
2526
|
return "<@&".concat(id, ">");
|
|
2415
|
-
})), ["<@".concat(
|
|
2527
|
+
})), ["<@".concat(me.id, ">")]);
|
|
2416
2528
|
mentionExists = mentionHandlers.some(function (handler) {
|
|
2417
2529
|
return ev.message.content.includes(handler);
|
|
2418
2530
|
});
|
|
@@ -2421,23 +2533,23 @@ var MessagesManager = /*#__PURE__*/function () {
|
|
|
2421
2533
|
isUnread: true,
|
|
2422
2534
|
mentionCount: followedTopic.mentionCount + (mentionExists ? 1 : 0)
|
|
2423
2535
|
};
|
|
2424
|
-
|
|
2536
|
+
_context8.n = 6;
|
|
2425
2537
|
break;
|
|
2426
|
-
case
|
|
2538
|
+
case 5:
|
|
2427
2539
|
// ...or just mark as unread.
|
|
2428
2540
|
update = {
|
|
2429
2541
|
missed: followedTopic.missed === null ? null : followedTopic.missed + 1,
|
|
2430
2542
|
isUnread: true
|
|
2431
2543
|
};
|
|
2432
|
-
case 5:
|
|
2433
|
-
roomFollowedTopics.set(MessagesManager_objectSpread(MessagesManager_objectSpread({}, followedTopic), update));
|
|
2434
|
-
this.invalidateUnreadSummaries(ev.message.location.roomId, ev.message.location.topicId);
|
|
2435
2544
|
case 6:
|
|
2436
|
-
|
|
2545
|
+
roomFollowedTopics.set(FollowedTopicsManager_objectSpread(FollowedTopicsManager_objectSpread({}, followedTopic), update));
|
|
2546
|
+
this.invalidateUnreadSummaries(ev.message.location.roomId, ev.message.location.topicId);
|
|
2547
|
+
case 7:
|
|
2548
|
+
return _context8.a(2);
|
|
2437
2549
|
}
|
|
2438
|
-
},
|
|
2550
|
+
}, _callee8, this);
|
|
2439
2551
|
}));
|
|
2440
|
-
function updateLocallyFollowedTopicOnNewMessage(
|
|
2552
|
+
function updateLocallyFollowedTopicOnNewMessage(_x6) {
|
|
2441
2553
|
return _updateLocallyFollowedTopicOnNewMessage.apply(this, arguments);
|
|
2442
2554
|
}
|
|
2443
2555
|
return updateLocallyFollowedTopicOnNewMessage;
|
|
@@ -2445,7 +2557,7 @@ var MessagesManager = /*#__PURE__*/function () {
|
|
|
2445
2557
|
}, {
|
|
2446
2558
|
key: "setFollowedTopicsArray",
|
|
2447
2559
|
value: function setFollowedTopicsArray(roomIds, followedTopics) {
|
|
2448
|
-
var
|
|
2560
|
+
var _this6 = this;
|
|
2449
2561
|
var roomToTopics = {};
|
|
2450
2562
|
|
|
2451
2563
|
// Reassign followed topics to limit collection change event emit
|
|
@@ -2455,14 +2567,14 @@ var MessagesManager = /*#__PURE__*/function () {
|
|
|
2455
2567
|
roomToTopics[followedTopic.location.roomId].push(followedTopic);
|
|
2456
2568
|
});
|
|
2457
2569
|
roomIds.forEach(function (roomId) {
|
|
2458
|
-
if (!
|
|
2459
|
-
|
|
2570
|
+
if (!_this6.followedTopics.has(roomId)) {
|
|
2571
|
+
_this6.followedTopics.set([roomId, new ObservableIndexedObjectCollection(function (followedTopic) {
|
|
2460
2572
|
return followedTopic.location.topicId;
|
|
2461
2573
|
})]);
|
|
2462
2574
|
}
|
|
2463
2575
|
if (roomToTopics[roomId]) {
|
|
2464
|
-
var
|
|
2465
|
-
(
|
|
2576
|
+
var _this6$followedTopics;
|
|
2577
|
+
(_this6$followedTopics = _this6.followedTopics.get(roomId)).set.apply(_this6$followedTopics, FollowedTopicsManager_toConsumableArray(roomToTopics[roomId]));
|
|
2466
2578
|
}
|
|
2467
2579
|
});
|
|
2468
2580
|
this.invalidateUnreadSummariesForRooms(roomIds);
|
|
@@ -2475,7 +2587,7 @@ var MessagesManager = /*#__PURE__*/function () {
|
|
|
2475
2587
|
this.invalidateUnreadSummaries(roomId);
|
|
2476
2588
|
}
|
|
2477
2589
|
}]);
|
|
2478
|
-
}();
|
|
2590
|
+
}(EventTarget);
|
|
2479
2591
|
;// ./src/state-tracker/RoomsManager.ts
|
|
2480
2592
|
function RoomsManager_typeof(o) { "@babel/helpers - typeof"; return RoomsManager_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, RoomsManager_typeof(o); }
|
|
2481
2593
|
function RoomsManager_ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
@@ -2500,11 +2612,13 @@ function RoomsManager_toPrimitive(t, r) { if ("object" != RoomsManager_typeof(t)
|
|
|
2500
2612
|
|
|
2501
2613
|
|
|
2502
2614
|
|
|
2615
|
+
|
|
2503
2616
|
var RoomsManager = /*#__PURE__*/function () {
|
|
2504
2617
|
function RoomsManager(tracker) {
|
|
2505
2618
|
var _this = this;
|
|
2506
2619
|
RoomsManager_classCallCheck(this, RoomsManager);
|
|
2507
2620
|
RoomsManager_defineProperty(this, "messages", void 0);
|
|
2621
|
+
RoomsManager_defineProperty(this, "followedTopics", void 0);
|
|
2508
2622
|
RoomsManager_defineProperty(this, "list", new ObservableIndexedObjectCollection('id'));
|
|
2509
2623
|
RoomsManager_defineProperty(this, "topics", new IndexedCollection());
|
|
2510
2624
|
RoomsManager_defineProperty(this, "members", new IndexedCollection());
|
|
@@ -2513,6 +2627,7 @@ var RoomsManager = /*#__PURE__*/function () {
|
|
|
2513
2627
|
RoomsManager_defineProperty(this, "topicsPromises", new PromiseRegistry());
|
|
2514
2628
|
this.tracker = tracker;
|
|
2515
2629
|
this.messages = new MessagesManager(tracker);
|
|
2630
|
+
this.followedTopics = new FollowedTopicsManager(tracker);
|
|
2516
2631
|
this.tracker.client.on('NewMessage', function (ev) {
|
|
2517
2632
|
return _this.handleNewMessage(ev);
|
|
2518
2633
|
});
|
|
@@ -2780,12 +2895,12 @@ var RoomsManager = /*#__PURE__*/function () {
|
|
|
2780
2895
|
(_this$members = this.members)["delete"].apply(_this$members, roomIds);
|
|
2781
2896
|
(_this$membersPromises = this.membersPromises).forget.apply(_this$membersPromises, roomIds);
|
|
2782
2897
|
for (var _i = 0, _roomIds = roomIds; _i < _roomIds.length; _i++) {
|
|
2783
|
-
var _this$topics$get$item, _this$topics$get2, _this$
|
|
2898
|
+
var _this$topics$get$item, _this$topics$get2, _this$followedTopics;
|
|
2784
2899
|
var roomId = _roomIds[_i];
|
|
2785
2900
|
var topicIds = (_this$topics$get$item = (_this$topics$get2 = this.topics.get(roomId)) === null || _this$topics$get2 === void 0 ? void 0 : _this$topics$get2.items.map(function (topic) {
|
|
2786
2901
|
return topic.id;
|
|
2787
2902
|
})) !== null && _this$topics$get$item !== void 0 ? _this$topics$get$item : [];
|
|
2788
|
-
(_this$
|
|
2903
|
+
(_this$followedTopics = this.followedTopics)._deleteByTopicIds.apply(_this$followedTopics, [roomId].concat(RoomsManager_toConsumableArray(topicIds)));
|
|
2789
2904
|
}
|
|
2790
2905
|
(_this$topics = this.topics)["delete"].apply(_this$topics, roomIds);
|
|
2791
2906
|
}
|