polfan-server-js-client 0.1.99933 → 0.1.99935

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.
@@ -4,7 +4,15 @@
4
4
  <option name="autoReloadType" value="SELECTIVE" />
5
5
  </component>
6
6
  <component name="ChangeListManager">
7
- <list default="true" id="831dae43-0da1-47fd-a5f7-33dd5eec2992" name="Changes" comment="Add notify option to Kick command" />
7
+ <list default="true" id="831dae43-0da1-47fd-a5f7-33dd5eec2992" name="Changes" comment="UsersManager">
8
+ <change afterPath="$PROJECT_DIR$/src/types/src/schemes/commands/GetClientData.ts" afterDir="false" />
9
+ <change afterPath="$PROJECT_DIR$/src/types/src/schemes/commands/SetClientData.ts" afterDir="false" />
10
+ <change afterPath="$PROJECT_DIR$/src/types/src/schemes/events/ClientData.ts" afterDir="false" />
11
+ <change beforePath="$PROJECT_DIR$/package.json" beforeDir="false" afterPath="$PROJECT_DIR$/package.json" afterDir="false" />
12
+ <change beforePath="$PROJECT_DIR$/src/AbstractChatClient.ts" beforeDir="false" afterPath="$PROJECT_DIR$/src/AbstractChatClient.ts" afterDir="false" />
13
+ <change beforePath="$PROJECT_DIR$/src/types" beforeDir="false" afterPath="$PROJECT_DIR$/src/types" afterDir="false" />
14
+ <change beforePath="$PROJECT_DIR$/src/types/src/index.ts" beforeDir="false" afterPath="$PROJECT_DIR$/src/types/src/index.ts" afterDir="false" />
15
+ </list>
8
16
  <option name="SHOW_DIALOG" value="false" />
9
17
  <option name="HIGHLIGHT_CONFLICTS" value="true" />
10
18
  <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
@@ -73,6 +81,12 @@
73
81
  <workItem from="1740512570698" duration="1386000" />
74
82
  <workItem from="1740565900826" duration="1191000" />
75
83
  <workItem from="1740919664352" duration="592000" />
84
+ <workItem from="1741078506978" duration="5526000" />
85
+ <workItem from="1741205852989" duration="586000" />
86
+ <workItem from="1741207438028" duration="38000" />
87
+ <workItem from="1741543251744" duration="1234000" />
88
+ <workItem from="1741554932034" duration="1521000" />
89
+ <workItem from="1741900021179" duration="1541000" />
76
90
  </task>
77
91
  <task id="LOCAL-00001" summary="Emoticons objects">
78
92
  <option name="closed" value="true" />
@@ -226,7 +240,15 @@
226
240
  <option name="project" value="LOCAL" />
227
241
  <updated>1740515104457</updated>
228
242
  </task>
229
- <option name="localTasksCounter" value="20" />
243
+ <task id="LOCAL-00020" summary="UsersManager">
244
+ <option name="closed" value="true" />
245
+ <created>1741170174335</created>
246
+ <option name="number" value="00020" />
247
+ <option name="presentableId" value="LOCAL-00020" />
248
+ <option name="project" value="LOCAL" />
249
+ <updated>1741170174335</updated>
250
+ </task>
251
+ <option name="localTasksCounter" value="21" />
230
252
  <servers />
231
253
  </component>
232
254
  <component name="TypeScriptGeneratedFilesManager">
@@ -254,6 +276,7 @@
254
276
  <MESSAGE value="New scheme of Bye event" />
255
277
  <MESSAGE value="Fix authentication" />
256
278
  <MESSAGE value="Add notify option to Kick command" />
257
- <option name="LAST_COMMIT_MESSAGE" value="Add notify option to Kick command" />
279
+ <MESSAGE value="UsersManager" />
280
+ <option name="LAST_COMMIT_MESSAGE" value="UsersManager" />
258
281
  </component>
259
282
  </project>
package/build/index.js CHANGED
@@ -3836,121 +3836,109 @@ var EmoticonsManager = /*#__PURE__*/function () {
3836
3836
  }]);
3837
3837
  return EmoticonsManager;
3838
3838
  }();
3839
- ;// CONCATENATED MODULE: ./src/state-tracker/Utils.ts
3840
- function Utils_typeof(obj) { "@babel/helpers - typeof"; return Utils_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, Utils_typeof(obj); }
3841
- function Utils_slicedToArray(arr, i) { return Utils_arrayWithHoles(arr) || Utils_iterableToArrayLimit(arr, i) || Utils_unsupportedIterableToArray(arr, i) || Utils_nonIterableRest(); }
3842
- function Utils_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."); }
3843
- function Utils_iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) { ; } } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
3844
- function Utils_arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
3845
- function Utils_regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ Utils_regeneratorRuntime = function _regeneratorRuntime() { return exports; }; var exports = {}, Op = Object.prototype, hasOwn = Op.hasOwnProperty, defineProperty = Object.defineProperty || function (obj, key, desc) { obj[key] = desc.value; }, $Symbol = "function" == typeof Symbol ? Symbol : {}, iteratorSymbol = $Symbol.iterator || "@@iterator", asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator", toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; function define(obj, key, value) { return Object.defineProperty(obj, key, { value: value, enumerable: !0, configurable: !0, writable: !0 }), obj[key]; } try { define({}, ""); } catch (err) { define = function define(obj, key, value) { return obj[key] = value; }; } function wrap(innerFn, outerFn, self, tryLocsList) { var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator, generator = Object.create(protoGenerator.prototype), context = new Context(tryLocsList || []); return defineProperty(generator, "_invoke", { value: makeInvokeMethod(innerFn, self, context) }), generator; } function tryCatch(fn, obj, arg) { try { return { type: "normal", arg: fn.call(obj, arg) }; } catch (err) { return { type: "throw", arg: err }; } } exports.wrap = wrap; var ContinueSentinel = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var IteratorPrototype = {}; define(IteratorPrototype, iteratorSymbol, function () { return this; }); var getProto = Object.getPrototypeOf, NativeIteratorPrototype = getProto && getProto(getProto(values([]))); NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype); var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype); function defineIteratorMethods(prototype) { ["next", "throw", "return"].forEach(function (method) { define(prototype, method, function (arg) { return this._invoke(method, arg); }); }); } function AsyncIterator(generator, PromiseImpl) { function invoke(method, arg, resolve, reject) { var record = tryCatch(generator[method], generator, arg); if ("throw" !== record.type) { var result = record.arg, value = result.value; return value && "object" == Utils_typeof(value) && hasOwn.call(value, "__await") ? PromiseImpl.resolve(value.__await).then(function (value) { invoke("next", value, resolve, reject); }, function (err) { invoke("throw", err, resolve, reject); }) : PromiseImpl.resolve(value).then(function (unwrapped) { result.value = unwrapped, resolve(result); }, function (error) { return invoke("throw", error, resolve, reject); }); } reject(record.arg); } var previousPromise; defineProperty(this, "_invoke", { value: function value(method, arg) { function callInvokeWithMethodAndArg() { return new PromiseImpl(function (resolve, reject) { invoke(method, arg, resolve, reject); }); } return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(innerFn, self, context) { var state = "suspendedStart"; return function (method, arg) { if ("executing" === state) throw new Error("Generator is already running"); if ("completed" === state) { if ("throw" === method) throw arg; return doneResult(); } for (context.method = method, context.arg = arg;;) { var delegate = context.delegate; if (delegate) { var delegateResult = maybeInvokeDelegate(delegate, context); if (delegateResult) { if (delegateResult === ContinueSentinel) continue; return delegateResult; } } if ("next" === context.method) context.sent = context._sent = context.arg;else if ("throw" === context.method) { if ("suspendedStart" === state) throw state = "completed", context.arg; context.dispatchException(context.arg); } else "return" === context.method && context.abrupt("return", context.arg); state = "executing"; var record = tryCatch(innerFn, self, context); if ("normal" === record.type) { if (state = context.done ? "completed" : "suspendedYield", record.arg === ContinueSentinel) continue; return { value: record.arg, done: context.done }; } "throw" === record.type && (state = "completed", context.method = "throw", context.arg = record.arg); } }; } function maybeInvokeDelegate(delegate, context) { var methodName = context.method, method = delegate.iterator[methodName]; if (undefined === method) return context.delegate = null, "throw" === methodName && delegate.iterator["return"] && (context.method = "return", context.arg = undefined, maybeInvokeDelegate(delegate, context), "throw" === context.method) || "return" !== methodName && (context.method = "throw", context.arg = new TypeError("The iterator does not provide a '" + methodName + "' method")), ContinueSentinel; var record = tryCatch(method, delegate.iterator, context.arg); if ("throw" === record.type) return context.method = "throw", context.arg = record.arg, context.delegate = null, ContinueSentinel; var info = record.arg; return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, "return" !== context.method && (context.method = "next", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = "throw", context.arg = new TypeError("iterator result is not an object"), context.delegate = null, ContinueSentinel); } function pushTryEntry(locs) { var entry = { tryLoc: locs[0] }; 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry); } function resetTryEntry(entry) { var record = entry.completion || {}; record.type = "normal", delete record.arg, entry.completion = record; } function Context(tryLocsList) { this.tryEntries = [{ tryLoc: "root" }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0); } function values(iterable) { if (iterable) { var iteratorMethod = iterable[iteratorSymbol]; if (iteratorMethod) return iteratorMethod.call(iterable); if ("function" == typeof iterable.next) return iterable; if (!isNaN(iterable.length)) { var i = -1, next = function next() { for (; ++i < iterable.length;) { if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next; } return next.value = undefined, next.done = !0, next; }; return next.next = next; } } return { next: doneResult }; } function doneResult() { return { value: undefined, done: !0 }; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), defineProperty(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction"), exports.isGeneratorFunction = function (genFun) { var ctor = "function" == typeof genFun && genFun.constructor; return !!ctor && (ctor === GeneratorFunction || "GeneratorFunction" === (ctor.displayName || ctor.name)); }, exports.mark = function (genFun) { return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, "GeneratorFunction")), genFun.prototype = Object.create(Gp), genFun; }, exports.awrap = function (arg) { return { __await: arg }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () { return this; }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) { void 0 === PromiseImpl && (PromiseImpl = Promise); var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl); return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) { return result.done ? result.value : iter.next(); }); }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, "Generator"), define(Gp, iteratorSymbol, function () { return this; }), define(Gp, "toString", function () { return "[object Generator]"; }), exports.keys = function (val) { var object = Object(val), keys = []; for (var key in object) { keys.push(key); } return keys.reverse(), function next() { for (; keys.length;) { var key = keys.pop(); if (key in object) return next.value = key, next.done = !1, next; } return next.done = !0, next; }; }, exports.values = values, Context.prototype = { constructor: Context, reset: function reset(skipTempReset) { if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = "next", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) { "t" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined); } }, stop: function stop() { this.done = !0; var rootRecord = this.tryEntries[0].completion; if ("throw" === rootRecord.type) throw rootRecord.arg; return this.rval; }, dispatchException: function dispatchException(exception) { if (this.done) throw exception; var context = this; function handle(loc, caught) { return record.type = "throw", record.arg = exception, context.next = loc, caught && (context.method = "next", context.arg = undefined), !!caught; } for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i], record = entry.completion; if ("root" === entry.tryLoc) return handle("end"); if (entry.tryLoc <= this.prev) { var hasCatch = hasOwn.call(entry, "catchLoc"), hasFinally = hasOwn.call(entry, "finallyLoc"); if (hasCatch && hasFinally) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } else if (hasCatch) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); } else { if (!hasFinally) throw new Error("try statement without catch or finally"); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } } } }, abrupt: function abrupt(type, arg) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) { var finallyEntry = entry; break; } } finallyEntry && ("break" === type || "continue" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null); var record = finallyEntry ? finallyEntry.completion : {}; return record.type = type, record.arg = arg, finallyEntry ? (this.method = "next", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record); }, complete: function complete(record, afterLoc) { if ("throw" === record.type) throw record.arg; return "break" === record.type || "continue" === record.type ? this.next = record.arg : "return" === record.type ? (this.rval = this.arg = record.arg, this.method = "return", this.next = "end") : "normal" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel; }, finish: function finish(finallyLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel; } }, "catch": function _catch(tryLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc === tryLoc) { var record = entry.completion; if ("throw" === record.type) { var thrown = record.arg; resetTryEntry(entry); } return thrown; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(iterable, resultName, nextLoc) { return this.delegate = { iterator: values(iterable), resultName: resultName, nextLoc: nextLoc }, "next" === this.method && (this.arg = undefined), ContinueSentinel; } }, exports; }
3846
- function Utils_toConsumableArray(arr) { return Utils_arrayWithoutHoles(arr) || Utils_iterableToArray(arr) || Utils_unsupportedIterableToArray(arr) || Utils_nonIterableSpread(); }
3847
- function Utils_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."); }
3848
- function Utils_unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return Utils_arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return Utils_arrayLikeToArray(o, minLen); }
3849
- function Utils_iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
3850
- function Utils_arrayWithoutHoles(arr) { if (Array.isArray(arr)) return Utils_arrayLikeToArray(arr); }
3851
- function Utils_arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
3852
- function Utils_asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
3853
- function Utils_asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { Utils_asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { Utils_asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
3854
- function Utils_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
3855
- function Utils_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, Utils_toPropertyKey(descriptor.key), descriptor); } }
3856
- function Utils_createClass(Constructor, protoProps, staticProps) { if (protoProps) Utils_defineProperties(Constructor.prototype, protoProps); if (staticProps) Utils_defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
3857
- function Utils_toPropertyKey(arg) { var key = Utils_toPrimitive(arg, "string"); return Utils_typeof(key) === "symbol" ? key : String(key); }
3858
- function Utils_toPrimitive(input, hint) { if (Utils_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (Utils_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
3839
+ ;// CONCATENATED MODULE: ./src/state-tracker/UsersManager.ts
3840
+ function UsersManager_typeof(obj) { "@babel/helpers - typeof"; return UsersManager_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, UsersManager_typeof(obj); }
3841
+ function UsersManager_toConsumableArray(arr) { return UsersManager_arrayWithoutHoles(arr) || UsersManager_iterableToArray(arr) || UsersManager_unsupportedIterableToArray(arr) || UsersManager_nonIterableSpread(); }
3842
+ function UsersManager_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."); }
3843
+ function UsersManager_unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return UsersManager_arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return UsersManager_arrayLikeToArray(o, minLen); }
3844
+ function UsersManager_iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
3845
+ function UsersManager_arrayWithoutHoles(arr) { if (Array.isArray(arr)) return UsersManager_arrayLikeToArray(arr); }
3846
+ function UsersManager_arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
3847
+ function UsersManager_regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ UsersManager_regeneratorRuntime = function _regeneratorRuntime() { return exports; }; var exports = {}, Op = Object.prototype, hasOwn = Op.hasOwnProperty, defineProperty = Object.defineProperty || function (obj, key, desc) { obj[key] = desc.value; }, $Symbol = "function" == typeof Symbol ? Symbol : {}, iteratorSymbol = $Symbol.iterator || "@@iterator", asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator", toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; function define(obj, key, value) { return Object.defineProperty(obj, key, { value: value, enumerable: !0, configurable: !0, writable: !0 }), obj[key]; } try { define({}, ""); } catch (err) { define = function define(obj, key, value) { return obj[key] = value; }; } function wrap(innerFn, outerFn, self, tryLocsList) { var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator, generator = Object.create(protoGenerator.prototype), context = new Context(tryLocsList || []); return defineProperty(generator, "_invoke", { value: makeInvokeMethod(innerFn, self, context) }), generator; } function tryCatch(fn, obj, arg) { try { return { type: "normal", arg: fn.call(obj, arg) }; } catch (err) { return { type: "throw", arg: err }; } } exports.wrap = wrap; var ContinueSentinel = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var IteratorPrototype = {}; define(IteratorPrototype, iteratorSymbol, function () { return this; }); var getProto = Object.getPrototypeOf, NativeIteratorPrototype = getProto && getProto(getProto(values([]))); NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype); var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype); function defineIteratorMethods(prototype) { ["next", "throw", "return"].forEach(function (method) { define(prototype, method, function (arg) { return this._invoke(method, arg); }); }); } function AsyncIterator(generator, PromiseImpl) { function invoke(method, arg, resolve, reject) { var record = tryCatch(generator[method], generator, arg); if ("throw" !== record.type) { var result = record.arg, value = result.value; return value && "object" == UsersManager_typeof(value) && hasOwn.call(value, "__await") ? PromiseImpl.resolve(value.__await).then(function (value) { invoke("next", value, resolve, reject); }, function (err) { invoke("throw", err, resolve, reject); }) : PromiseImpl.resolve(value).then(function (unwrapped) { result.value = unwrapped, resolve(result); }, function (error) { return invoke("throw", error, resolve, reject); }); } reject(record.arg); } var previousPromise; defineProperty(this, "_invoke", { value: function value(method, arg) { function callInvokeWithMethodAndArg() { return new PromiseImpl(function (resolve, reject) { invoke(method, arg, resolve, reject); }); } return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(innerFn, self, context) { var state = "suspendedStart"; return function (method, arg) { if ("executing" === state) throw new Error("Generator is already running"); if ("completed" === state) { if ("throw" === method) throw arg; return doneResult(); } for (context.method = method, context.arg = arg;;) { var delegate = context.delegate; if (delegate) { var delegateResult = maybeInvokeDelegate(delegate, context); if (delegateResult) { if (delegateResult === ContinueSentinel) continue; return delegateResult; } } if ("next" === context.method) context.sent = context._sent = context.arg;else if ("throw" === context.method) { if ("suspendedStart" === state) throw state = "completed", context.arg; context.dispatchException(context.arg); } else "return" === context.method && context.abrupt("return", context.arg); state = "executing"; var record = tryCatch(innerFn, self, context); if ("normal" === record.type) { if (state = context.done ? "completed" : "suspendedYield", record.arg === ContinueSentinel) continue; return { value: record.arg, done: context.done }; } "throw" === record.type && (state = "completed", context.method = "throw", context.arg = record.arg); } }; } function maybeInvokeDelegate(delegate, context) { var methodName = context.method, method = delegate.iterator[methodName]; if (undefined === method) return context.delegate = null, "throw" === methodName && delegate.iterator["return"] && (context.method = "return", context.arg = undefined, maybeInvokeDelegate(delegate, context), "throw" === context.method) || "return" !== methodName && (context.method = "throw", context.arg = new TypeError("The iterator does not provide a '" + methodName + "' method")), ContinueSentinel; var record = tryCatch(method, delegate.iterator, context.arg); if ("throw" === record.type) return context.method = "throw", context.arg = record.arg, context.delegate = null, ContinueSentinel; var info = record.arg; return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, "return" !== context.method && (context.method = "next", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = "throw", context.arg = new TypeError("iterator result is not an object"), context.delegate = null, ContinueSentinel); } function pushTryEntry(locs) { var entry = { tryLoc: locs[0] }; 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry); } function resetTryEntry(entry) { var record = entry.completion || {}; record.type = "normal", delete record.arg, entry.completion = record; } function Context(tryLocsList) { this.tryEntries = [{ tryLoc: "root" }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0); } function values(iterable) { if (iterable) { var iteratorMethod = iterable[iteratorSymbol]; if (iteratorMethod) return iteratorMethod.call(iterable); if ("function" == typeof iterable.next) return iterable; if (!isNaN(iterable.length)) { var i = -1, next = function next() { for (; ++i < iterable.length;) { if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next; } return next.value = undefined, next.done = !0, next; }; return next.next = next; } } return { next: doneResult }; } function doneResult() { return { value: undefined, done: !0 }; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), defineProperty(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction"), exports.isGeneratorFunction = function (genFun) { var ctor = "function" == typeof genFun && genFun.constructor; return !!ctor && (ctor === GeneratorFunction || "GeneratorFunction" === (ctor.displayName || ctor.name)); }, exports.mark = function (genFun) { return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, "GeneratorFunction")), genFun.prototype = Object.create(Gp), genFun; }, exports.awrap = function (arg) { return { __await: arg }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () { return this; }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) { void 0 === PromiseImpl && (PromiseImpl = Promise); var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl); return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) { return result.done ? result.value : iter.next(); }); }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, "Generator"), define(Gp, iteratorSymbol, function () { return this; }), define(Gp, "toString", function () { return "[object Generator]"; }), exports.keys = function (val) { var object = Object(val), keys = []; for (var key in object) { keys.push(key); } return keys.reverse(), function next() { for (; keys.length;) { var key = keys.pop(); if (key in object) return next.value = key, next.done = !1, next; } return next.done = !0, next; }; }, exports.values = values, Context.prototype = { constructor: Context, reset: function reset(skipTempReset) { if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = "next", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) { "t" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined); } }, stop: function stop() { this.done = !0; var rootRecord = this.tryEntries[0].completion; if ("throw" === rootRecord.type) throw rootRecord.arg; return this.rval; }, dispatchException: function dispatchException(exception) { if (this.done) throw exception; var context = this; function handle(loc, caught) { return record.type = "throw", record.arg = exception, context.next = loc, caught && (context.method = "next", context.arg = undefined), !!caught; } for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i], record = entry.completion; if ("root" === entry.tryLoc) return handle("end"); if (entry.tryLoc <= this.prev) { var hasCatch = hasOwn.call(entry, "catchLoc"), hasFinally = hasOwn.call(entry, "finallyLoc"); if (hasCatch && hasFinally) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } else if (hasCatch) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); } else { if (!hasFinally) throw new Error("try statement without catch or finally"); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } } } }, abrupt: function abrupt(type, arg) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) { var finallyEntry = entry; break; } } finallyEntry && ("break" === type || "continue" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null); var record = finallyEntry ? finallyEntry.completion : {}; return record.type = type, record.arg = arg, finallyEntry ? (this.method = "next", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record); }, complete: function complete(record, afterLoc) { if ("throw" === record.type) throw record.arg; return "break" === record.type || "continue" === record.type ? this.next = record.arg : "return" === record.type ? (this.rval = this.arg = record.arg, this.method = "return", this.next = "end") : "normal" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel; }, finish: function finish(finallyLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel; } }, "catch": function _catch(tryLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc === tryLoc) { var record = entry.completion; if ("throw" === record.type) { var thrown = record.arg; resetTryEntry(entry); } return thrown; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(iterable, resultName, nextLoc) { return this.delegate = { iterator: values(iterable), resultName: resultName, nextLoc: nextLoc }, "next" === this.method && (this.arg = undefined), ContinueSentinel; } }, exports; }
3848
+ function UsersManager_asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
3849
+ function UsersManager_asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { UsersManager_asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { UsersManager_asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
3850
+ function UsersManager_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
3851
+ function UsersManager_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, UsersManager_toPropertyKey(descriptor.key), descriptor); } }
3852
+ function UsersManager_createClass(Constructor, protoProps, staticProps) { if (protoProps) UsersManager_defineProperties(Constructor.prototype, protoProps); if (staticProps) UsersManager_defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
3853
+ function UsersManager_defineProperty(obj, key, value) { key = UsersManager_toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
3854
+ function UsersManager_toPropertyKey(arg) { var key = UsersManager_toPrimitive(arg, "string"); return UsersManager_typeof(key) === "symbol" ? key : String(key); }
3855
+ function UsersManager_toPrimitive(input, hint) { if (UsersManager_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (UsersManager_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
3859
3856
 
3860
3857
 
3861
- var Utils = /*#__PURE__*/function () {
3862
- function Utils(tracker) {
3863
- Utils_classCallCheck(this, Utils);
3858
+ var UsersManager = /*#__PURE__*/function () {
3859
+ function UsersManager(tracker) {
3860
+ var _this = this;
3861
+ UsersManager_classCallCheck(this, UsersManager);
3864
3862
  this.tracker = tracker;
3863
+ UsersManager_defineProperty(this, "users", new ObservableIndexedObjectCollection('id'));
3864
+ tracker.client.on('UserUpdated', function (event) {
3865
+ return _this.handleUsers([event.user]);
3866
+ });
3867
+ tracker.client.on('RoomMemberJoined', function (event) {
3868
+ return _this.handleMembers([event.member]);
3869
+ });
3870
+ tracker.client.on('RoomMemberUpdated', function (event) {
3871
+ return _this.handleMembers([event.member]);
3872
+ });
3873
+ tracker.client.on('SpaceMemberJoined', function (event) {
3874
+ return _this.handleMembers([event.member]);
3875
+ });
3876
+ tracker.client.on('SpaceMemberUpdated', function (event) {
3877
+ return _this.handleMembers([event.member]);
3878
+ });
3879
+ tracker.client.on('SpaceMembers', function (event) {
3880
+ return _this.handleMembers(event.members);
3881
+ });
3882
+ tracker.client.on('RoomMembers', function (event) {
3883
+ return _this.handleMembers(event.members);
3884
+ });
3885
+ tracker.client.on('Messages', function (event) {
3886
+ return _this.handleUsers(event.messages.map(function (message) {
3887
+ return message.user;
3888
+ }));
3889
+ });
3890
+ tracker.client.on('NewMessage', function (event) {
3891
+ return _this.handleUsers([event.message.user]);
3892
+ });
3893
+ tracker.client.on('Session', function (event) {
3894
+ return _this.handleSession(event);
3895
+ });
3865
3896
  }
3866
3897
 
3867
3898
  /**
3868
- * Collect all room summaries and rooms you joined in one collection.
3899
+ * Get all available (cached) user objects at once.
3869
3900
  */
3870
- Utils_createClass(Utils, [{
3871
- key: "collectAllAvailableRooms",
3901
+ UsersManager_createClass(UsersManager, [{
3902
+ key: "getAvailable",
3872
3903
  value: function () {
3873
- var _collectAllAvailableRooms = Utils_asyncToGenerator( /*#__PURE__*/Utils_regeneratorRuntime().mark(function _callee() {
3874
- var _this = this;
3875
- var result, spaces, collections;
3876
- return Utils_regeneratorRuntime().wrap(function _callee$(_context) {
3904
+ var _getAvailable = UsersManager_asyncToGenerator( /*#__PURE__*/UsersManager_regeneratorRuntime().mark(function _callee() {
3905
+ return UsersManager_regeneratorRuntime().wrap(function _callee$(_context) {
3877
3906
  while (1) {
3878
3907
  switch (_context.prev = _context.next) {
3879
3908
  case 0:
3880
- result = new IndexedObjectCollection('id');
3881
- _context.next = 3;
3882
- return this.tracker.spaces.get();
3883
- case 3:
3884
- spaces = _context.sent;
3885
- _context.next = 6;
3886
- return Promise.all([].concat(Utils_toConsumableArray(spaces.items.map(function (space) {
3887
- return _this.tracker.spaces.getRooms(space.id);
3888
- })), [this.tracker.rooms.get()]));
3889
- case 6:
3890
- collections = _context.sent;
3891
- collections.forEach(function (collection) {
3892
- return result.set.apply(result, Utils_toConsumableArray(collection.items));
3893
- });
3894
- return _context.abrupt("return", result);
3895
- case 9:
3909
+ return _context.abrupt("return", this.users);
3910
+ case 1:
3896
3911
  case "end":
3897
3912
  return _context.stop();
3898
3913
  }
3899
3914
  }
3900
3915
  }, _callee, this);
3901
3916
  }));
3902
- function collectAllAvailableRooms() {
3903
- return _collectAllAvailableRooms.apply(this, arguments);
3917
+ function getAvailable() {
3918
+ return _getAvailable.apply(this, arguments);
3904
3919
  }
3905
- return collectAllAvailableRooms;
3920
+ return getAvailable;
3906
3921
  }()
3907
- /**
3908
- * Collect all users from all spaces and rooms you are in.
3909
- */
3910
3922
  }, {
3911
- key: "collectAllAvailableUsers",
3912
- value: function () {
3913
- var _collectAllAvailableUsers = Utils_asyncToGenerator( /*#__PURE__*/Utils_regeneratorRuntime().mark(function _callee2() {
3914
- var _this2 = this;
3915
- var result, _yield$Promise$all, _yield$Promise$all2, spaces, rooms, collections;
3916
- return Utils_regeneratorRuntime().wrap(function _callee2$(_context2) {
3917
- while (1) {
3918
- switch (_context2.prev = _context2.next) {
3919
- case 0:
3920
- result = new IndexedObjectCollection('id');
3921
- _context2.next = 3;
3922
- return Promise.all([this.tracker.spaces.get(), this.tracker.rooms.get()]);
3923
- case 3:
3924
- _yield$Promise$all = _context2.sent;
3925
- _yield$Promise$all2 = Utils_slicedToArray(_yield$Promise$all, 2);
3926
- spaces = _yield$Promise$all2[0];
3927
- rooms = _yield$Promise$all2[1];
3928
- _context2.next = 9;
3929
- return Promise.all([].concat(Utils_toConsumableArray(spaces.items.map(function (space) {
3930
- return _this2.tracker.spaces.getMembers(space.id);
3931
- })), Utils_toConsumableArray(rooms.items.map(function (room) {
3932
- return _this2.tracker.rooms.getMembers(room.id);
3933
- }))));
3934
- case 9:
3935
- collections = _context2.sent;
3936
- collections.forEach(function (collection) {
3937
- return result.set.apply(result, Utils_toConsumableArray(collection.items.map(extractUserFromMember)));
3938
- });
3939
- return _context2.abrupt("return", result);
3940
- case 12:
3941
- case "end":
3942
- return _context2.stop();
3943
- }
3944
- }
3945
- }, _callee2, this);
3946
- }));
3947
- function collectAllAvailableUsers() {
3948
- return _collectAllAvailableUsers.apply(this, arguments);
3949
- }
3950
- return collectAllAvailableUsers;
3951
- }()
3923
+ key: "handleMembers",
3924
+ value: function handleMembers(members) {
3925
+ var _this$users;
3926
+ (_this$users = this.users).set.apply(_this$users, UsersManager_toConsumableArray(members.map(extractUserFromMember)));
3927
+ }
3928
+ }, {
3929
+ key: "handleUsers",
3930
+ value: function handleUsers(users) {
3931
+ var _this$users2;
3932
+ (_this$users2 = this.users).set.apply(_this$users2, UsersManager_toConsumableArray(users));
3933
+ }
3934
+ }, {
3935
+ key: "handleSession",
3936
+ value: function handleSession(session) {
3937
+ this.users.deleteAll();
3938
+ this.users.set(session.user);
3939
+ }
3952
3940
  }]);
3953
- return Utils;
3941
+ return UsersManager;
3954
3942
  }();
3955
3943
  ;// CONCATENATED MODULE: ./src/state-tracker/ChatStateTracker.ts
3956
3944
  function ChatStateTracker_typeof(obj) { "@babel/helpers - typeof"; return ChatStateTracker_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, ChatStateTracker_typeof(obj); }
@@ -3987,7 +3975,7 @@ var ChatStateTracker = /*#__PURE__*/function () {
3987
3975
  */
3988
3976
 
3989
3977
  /**
3990
- * Various utilities.
3978
+ * Users related state.
3991
3979
  */
3992
3980
 
3993
3981
  function ChatStateTracker(client) {
@@ -3998,7 +3986,7 @@ var ChatStateTracker = /*#__PURE__*/function () {
3998
3986
  ChatStateTracker_defineProperty(this, "rooms", new RoomsManager(this));
3999
3987
  ChatStateTracker_defineProperty(this, "spaces", new SpacesManager(this));
4000
3988
  ChatStateTracker_defineProperty(this, "emoticons", new EmoticonsManager(this));
4001
- ChatStateTracker_defineProperty(this, "utils", new Utils(this));
3989
+ ChatStateTracker_defineProperty(this, "users", new UsersManager(this));
4002
3990
  ChatStateTracker_defineProperty(this, "_me", null);
4003
3991
  ChatStateTracker_defineProperty(this, "deferredSession", new DeferredTask());
4004
3992
  this.client.on('Session', function (ev) {