stream-chat 8.55.0 → 8.56.1

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/dist/index.js CHANGED
@@ -328,11 +328,11 @@ var Campaign = /*#__PURE__*/function () {
328
328
  return Campaign;
329
329
  }();
330
330
 
331
- function ownKeys$d(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
331
+ function ownKeys$e(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
332
332
 
333
- function _objectSpread$d(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$d(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$d(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
333
+ function _objectSpread$e(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$e(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$e(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
334
334
 
335
- function _createForOfIteratorHelper$5(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray$5(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function (_e) { function e(_x) { return _e.apply(this, arguments); } e.toString = function () { return _e.toString(); }; return e; }(function (e) { throw e; }), 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 normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function (_e2) { function e(_x2) { return _e2.apply(this, arguments); } e.toString = function () { return _e2.toString(); }; return e; }(function (e) { didErr = true; err = e; }), f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
335
+ function _createForOfIteratorHelper$5(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray$5(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function (_e) { function e(_x2) { return _e.apply(this, arguments); } e.toString = function () { return _e.toString(); }; return e; }(function (e) { throw e; }), 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 normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function (_e2) { function e(_x3) { return _e2.apply(this, arguments); } e.toString = function () { return _e2.toString(); }; return e; }(function (e) { didErr = true; err = e; }), f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
336
336
 
337
337
  function _unsupportedIterableToArray$5(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray$5(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 _arrayLikeToArray$5(o, minLen); }
338
338
 
@@ -427,8 +427,8 @@ function normalizeQuerySort(sort) {
427
427
 
428
428
  try {
429
429
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
430
- var item = _step.value;
431
- var entries = Object.entries(item);
430
+ var _item = _step.value;
431
+ var entries = Object.entries(_item);
432
432
 
433
433
  if (entries.length > 1) {
434
434
  console.warn("client._buildSort() - multiple fields in a single sort object detected. Object's field order is not guaranteed");
@@ -592,7 +592,7 @@ var axiosParamsSerializer = function axiosParamsSerializer(params) {
592
592
  */
593
593
 
594
594
  function formatMessage(message) {
595
- return _objectSpread$d(_objectSpread$d({}, message), {}, {
595
+ return _objectSpread$e(_objectSpread$e({}, message), {}, {
596
596
  /**
597
597
  * @deprecated please use `html`
598
598
  */
@@ -836,6 +836,28 @@ var throttle = function throttle(fn) {
836
836
  runningTimeout = setTimeout(timeoutHandler, timeout);
837
837
  };
838
838
  };
839
+
840
+ var get = function get(obj, path) {
841
+ return path.split('.').reduce(function (acc, key) {
842
+ if (acc && _typeof__default['default'](acc) === 'object' && key in acc) {
843
+ return acc[key];
844
+ }
845
+
846
+ return undefined;
847
+ }, obj);
848
+ }; // works exactly the same as lodash.uniqBy
849
+
850
+
851
+ var uniqBy = function uniqBy(array, iteratee) {
852
+ if (!Array.isArray(array)) return [];
853
+ var seen = new Set();
854
+ return array.filter(function (item) {
855
+ var key = typeof iteratee === 'function' ? iteratee(item) : get(item, iteratee);
856
+ if (seen.has(key)) return false;
857
+ seen.add(key);
858
+ return true;
859
+ });
860
+ };
839
861
  function binarySearchByDateEqualOrNearestGreater(array, targetDate) {
840
862
  var left = 0;
841
863
  var right = array.length - 1;
@@ -869,7 +891,7 @@ var messagePaginationCreatedAtAround = function messagePaginationCreatedAtAround
869
891
  returnedPage = _ref4.returnedPage,
870
892
  messagePaginationOptions = _ref4.messagePaginationOptions;
871
893
 
872
- var newPagination = _objectSpread$d({}, parentSet.pagination);
894
+ var newPagination = _objectSpread$e({}, parentSet.pagination);
873
895
 
874
896
  if (!(messagePaginationOptions !== null && messagePaginationOptions !== void 0 && messagePaginationOptions.created_at_around)) return newPagination;
875
897
  var hasPrev;
@@ -934,7 +956,7 @@ var messagePaginationIdAround = function messagePaginationIdAround(_ref6) {
934
956
  returnedPage = _ref6.returnedPage,
935
957
  messagePaginationOptions = _ref6.messagePaginationOptions;
936
958
 
937
- var newPagination = _objectSpread$d({}, parentSet.pagination);
959
+ var newPagination = _objectSpread$e({}, parentSet.pagination);
938
960
 
939
961
  var _ref7 = messagePaginationOptions || {},
940
962
  id_around = _ref7.id_around;
@@ -992,7 +1014,7 @@ var messagePaginationLinear = function messagePaginationLinear(_ref9) {
992
1014
  returnedPage = _ref9.returnedPage,
993
1015
  messagePaginationOptions = _ref9.messagePaginationOptions;
994
1016
 
995
- var newPagination = _objectSpread$d({}, parentSet.pagination);
1017
+ var newPagination = _objectSpread$e({}, parentSet.pagination);
996
1018
 
997
1019
  var hasPrev;
998
1020
  var hasNext;
@@ -1038,6 +1060,294 @@ var messageSetPagination = function messageSetPagination(params) {
1038
1060
  return messagePaginationLinear(params);
1039
1061
  }
1040
1062
  };
1063
+ /**
1064
+ * A utility object used to prevent duplicate invocation of channel.watch() to be triggered when
1065
+ * 'notification.message_new' and 'notification.added_to_channel' events arrive at the same time.
1066
+ */
1067
+
1068
+ var WATCH_QUERY_IN_PROGRESS_FOR_CHANNEL = {};
1069
+
1070
+ /**
1071
+ * Calls channel.watch() if it was not already recently called. Waits for watch promise to resolve even if it was invoked previously.
1072
+ * If the channel is not passed as a property, it will get it either by its channel.cid or by its members list and do the same.
1073
+ * @param client
1074
+ * @param members
1075
+ * @param options
1076
+ * @param type
1077
+ * @param id
1078
+ * @param channel
1079
+ */
1080
+ var getAndWatchChannel = /*#__PURE__*/function () {
1081
+ var _ref12 = _asyncToGenerator__default['default']( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(_ref11) {
1082
+ var channel, client, id, members, options, type, channelToWatch, originalCid, queryPromise;
1083
+ return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
1084
+ while (1) {
1085
+ switch (_context.prev = _context.next) {
1086
+ case 0:
1087
+ channel = _ref11.channel, client = _ref11.client, id = _ref11.id, members = _ref11.members, options = _ref11.options, type = _ref11.type;
1088
+
1089
+ if (!(!channel && !type)) {
1090
+ _context.next = 3;
1091
+ break;
1092
+ }
1093
+
1094
+ throw new Error('Channel or channel type have to be provided to query a channel.');
1095
+
1096
+ case 3:
1097
+ // unfortunately typescript is not able to infer that if (!channel && !type) === false, then channel or type has to be truthy
1098
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
1099
+ channelToWatch = channel || client.channel(type, id, {
1100
+ members: members
1101
+ }); // need to keep as with call to channel.watch the id can be changed from undefined to an actual ID generated server-side
1102
+
1103
+ originalCid = channelToWatch.id ? channelToWatch.cid : members && members.length ? generateChannelTempCid(channelToWatch.type, members) : undefined;
1104
+
1105
+ if (originalCid) {
1106
+ _context.next = 7;
1107
+ break;
1108
+ }
1109
+
1110
+ throw new Error('Channel ID or channel members array have to be provided to query a channel.');
1111
+
1112
+ case 7:
1113
+ queryPromise = WATCH_QUERY_IN_PROGRESS_FOR_CHANNEL[originalCid];
1114
+
1115
+ if (!queryPromise) {
1116
+ _context.next = 13;
1117
+ break;
1118
+ }
1119
+
1120
+ _context.next = 11;
1121
+ return queryPromise;
1122
+
1123
+ case 11:
1124
+ _context.next = 20;
1125
+ break;
1126
+
1127
+ case 13:
1128
+ _context.prev = 13;
1129
+ WATCH_QUERY_IN_PROGRESS_FOR_CHANNEL[originalCid] = channelToWatch.watch(options);
1130
+ _context.next = 17;
1131
+ return WATCH_QUERY_IN_PROGRESS_FOR_CHANNEL[originalCid];
1132
+
1133
+ case 17:
1134
+ _context.prev = 17;
1135
+ delete WATCH_QUERY_IN_PROGRESS_FOR_CHANNEL[originalCid];
1136
+ return _context.finish(17);
1137
+
1138
+ case 20:
1139
+ return _context.abrupt("return", channelToWatch);
1140
+
1141
+ case 21:
1142
+ case "end":
1143
+ return _context.stop();
1144
+ }
1145
+ }
1146
+ }, _callee, null, [[13,, 17, 20]]);
1147
+ }));
1148
+
1149
+ return function getAndWatchChannel(_x) {
1150
+ return _ref12.apply(this, arguments);
1151
+ };
1152
+ }();
1153
+ /**
1154
+ * Generates a temporary channel.cid for channels created without ID, as they need to be referenced
1155
+ * by an identifier until the back-end generates the final ID. The cid is generated by its member IDs
1156
+ * which are sorted and can be recreated the same every time given the same arguments.
1157
+ * @param channelType
1158
+ * @param members
1159
+ */
1160
+
1161
+ var generateChannelTempCid = function generateChannelTempCid(channelType, members) {
1162
+ if (!members) return;
1163
+
1164
+ var membersStr = _toConsumableArray__default['default'](members).sort().join(',');
1165
+
1166
+ if (!membersStr) return;
1167
+ return "".concat(channelType, ":!members-").concat(membersStr);
1168
+ };
1169
+ /**
1170
+ * Checks if a channel is pinned or not. Will return true only if channel.state.membership.pinned_at exists.
1171
+ * @param channel
1172
+ */
1173
+
1174
+ var isChannelPinned = function isChannelPinned(channel) {
1175
+ if (!channel) return false;
1176
+ var member = channel.state.membership;
1177
+ return !!(member !== null && member !== void 0 && member.pinned_at);
1178
+ };
1179
+ /**
1180
+ * Checks if a channel is archived or not. Will return true only if channel.state.membership.archived_at exists.
1181
+ * @param channel
1182
+ */
1183
+
1184
+ var isChannelArchived = function isChannelArchived(channel) {
1185
+ if (!channel) return false;
1186
+ var member = channel.state.membership;
1187
+ return !!(member !== null && member !== void 0 && member.archived_at);
1188
+ };
1189
+ /**
1190
+ * A utility that tells us whether we should consider archived channels or not based
1191
+ * on filters. Will return true only if filters.archived exists and is a boolean value.
1192
+ * @param filters
1193
+ */
1194
+
1195
+ var shouldConsiderArchivedChannels = function shouldConsiderArchivedChannels(filters) {
1196
+ if (!filters) return false;
1197
+ return typeof filters.archived === 'boolean';
1198
+ };
1199
+ /**
1200
+ * Extracts the value of the sort parameter at a given index, for a targeted key. Can
1201
+ * handle both array and object versions of sort. Will return null if the index/key
1202
+ * combination does not exist.
1203
+ * @param atIndex - the index at which we'll examine the sort value, if it's an array one
1204
+ * @param sort - the sort value - both array and object notations are accepted
1205
+ * @param targetKey - the target key which needs to exist for the sort at a certain index
1206
+ */
1207
+
1208
+ var extractSortValue = function extractSortValue(_ref13) {
1209
+ var _option$targetKey, _option;
1210
+
1211
+ var atIndex = _ref13.atIndex,
1212
+ sort = _ref13.sort,
1213
+ targetKey = _ref13.targetKey;
1214
+ if (!sort) return null;
1215
+ var option = null;
1216
+
1217
+ if (Array.isArray(sort)) {
1218
+ var _sort$atIndex;
1219
+
1220
+ option = (_sort$atIndex = sort[atIndex]) !== null && _sort$atIndex !== void 0 ? _sort$atIndex : null;
1221
+ } else {
1222
+ var index = 0;
1223
+
1224
+ for (var _key3 in sort) {
1225
+ if (index !== atIndex) {
1226
+ index++;
1227
+ continue;
1228
+ }
1229
+
1230
+ if (_key3 !== targetKey) {
1231
+ return null;
1232
+ }
1233
+
1234
+ option = sort;
1235
+ break;
1236
+ }
1237
+ }
1238
+
1239
+ return (_option$targetKey = (_option = option) === null || _option === void 0 ? void 0 : _option[targetKey]) !== null && _option$targetKey !== void 0 ? _option$targetKey : null;
1240
+ };
1241
+ /**
1242
+ * Returns true only if `{ pinned_at: -1 }` or `{ pinned_at: 1 }` option is first within the `sort` array.
1243
+ */
1244
+
1245
+ var shouldConsiderPinnedChannels = function shouldConsiderPinnedChannels(sort) {
1246
+ var value = findPinnedAtSortOrder({
1247
+ sort: sort
1248
+ });
1249
+ if (typeof value !== 'number') return false;
1250
+ return Math.abs(value) === 1;
1251
+ };
1252
+ /**
1253
+ * Checks whether the sort value of type object contains a pinned_at value or if
1254
+ * an array sort value type has the first value be an object containing pinned_at.
1255
+ * @param sort
1256
+ */
1257
+
1258
+ var findPinnedAtSortOrder = function findPinnedAtSortOrder(_ref14) {
1259
+ var sort = _ref14.sort;
1260
+ return extractSortValue({
1261
+ atIndex: 0,
1262
+ sort: sort,
1263
+ targetKey: 'pinned_at'
1264
+ });
1265
+ };
1266
+ /**
1267
+ * Finds the index of the last consecutively pinned channel, starting from the start of the
1268
+ * array. Will not consider any pinned channels after the contiguous subsequence at the
1269
+ * start of the array.
1270
+ * @param channels
1271
+ */
1272
+
1273
+ var findLastPinnedChannelIndex = function findLastPinnedChannelIndex(_ref15) {
1274
+ var channels = _ref15.channels;
1275
+ var lastPinnedChannelIndex = null;
1276
+
1277
+ var _iterator2 = _createForOfIteratorHelper$5(channels),
1278
+ _step2;
1279
+
1280
+ try {
1281
+ for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
1282
+ var channel = _step2.value;
1283
+ if (!isChannelPinned(channel)) break;
1284
+
1285
+ if (typeof lastPinnedChannelIndex === 'number') {
1286
+ lastPinnedChannelIndex++;
1287
+ } else {
1288
+ lastPinnedChannelIndex = 0;
1289
+ }
1290
+ }
1291
+ } catch (err) {
1292
+ _iterator2.e(err);
1293
+ } finally {
1294
+ _iterator2.f();
1295
+ }
1296
+
1297
+ return lastPinnedChannelIndex;
1298
+ };
1299
+ /**
1300
+ * A utility used to move a channel towards the beginning of a list of channels (promote it to a higher position). It
1301
+ * considers pinned channels in the process if needed and makes sure to only update the list reference if the list
1302
+ * should actually change. It will try to move the channel as high as it can within the list.
1303
+ * @param channels - the list of channels we want to modify
1304
+ * @param channelToMove - the channel we want to promote
1305
+ * @param channelToMoveIndexWithinChannels - optionally, the index of the channel we want to move if we know it (will skip a manual check)
1306
+ * @param sort - the sort value used to check for pinned channels
1307
+ */
1308
+
1309
+ var promoteChannel = function promoteChannel(_ref16) {
1310
+ var channels = _ref16.channels,
1311
+ channelToMove = _ref16.channelToMove,
1312
+ channelToMoveIndexWithinChannels = _ref16.channelToMoveIndexWithinChannels,
1313
+ sort = _ref16.sort;
1314
+ // get index of channel to move up
1315
+ var targetChannelIndex = channelToMoveIndexWithinChannels !== null && channelToMoveIndexWithinChannels !== void 0 ? channelToMoveIndexWithinChannels : channels.findIndex(function (channel) {
1316
+ return channel.cid === channelToMove.cid;
1317
+ });
1318
+ var targetChannelExistsWithinList = targetChannelIndex >= 0;
1319
+ var targetChannelAlreadyAtTheTop = targetChannelIndex === 0; // pinned channels should not move within the list based on recent activity, channels which
1320
+ // receive messages and are not pinned should move upwards but only under the last pinned channel
1321
+ // in the list
1322
+
1323
+ var considerPinnedChannels = shouldConsiderPinnedChannels(sort);
1324
+ var isTargetChannelPinned = isChannelPinned(channelToMove);
1325
+
1326
+ if (targetChannelAlreadyAtTheTop || considerPinnedChannels && isTargetChannelPinned) {
1327
+ return channels;
1328
+ }
1329
+
1330
+ var newChannels = _toConsumableArray__default['default'](channels); // target channel index is known, remove it from the list
1331
+
1332
+
1333
+ if (targetChannelExistsWithinList) {
1334
+ newChannels.splice(targetChannelIndex, 1);
1335
+ } // as position of pinned channels has to stay unchanged, we need to
1336
+ // find last pinned channel in the list to move the target channel after
1337
+
1338
+
1339
+ var lastPinnedChannelIndex = null;
1340
+
1341
+ if (considerPinnedChannels) {
1342
+ lastPinnedChannelIndex = findLastPinnedChannelIndex({
1343
+ channels: newChannels
1344
+ });
1345
+ } // re-insert it at the new place (to specific index if pinned channels are considered)
1346
+
1347
+
1348
+ newChannels.splice(typeof lastPinnedChannelIndex === 'number' ? lastPinnedChannelIndex + 1 : 0, 0, channelToMove);
1349
+ return newChannels;
1350
+ };
1041
1351
 
1042
1352
  var DEFAULT_QUERY_CHANNELS_MESSAGE_LIST_PAGE_SIZE = 25;
1043
1353
  var DEFAULT_QUERY_CHANNEL_MESSAGE_LIST_PAGE_SIZE = 100;
@@ -1046,9 +1356,9 @@ var DEFAULT_MESSAGE_SET_PAGINATION = {
1046
1356
  hasPrev: false
1047
1357
  };
1048
1358
 
1049
- function ownKeys$c(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
1359
+ function ownKeys$d(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
1050
1360
 
1051
- function _objectSpread$c(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$c(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$c(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
1361
+ function _objectSpread$d(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$d(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$d(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
1052
1362
 
1053
1363
  /**
1054
1364
  * ChannelState - A container class for the channel state.
@@ -1129,7 +1439,7 @@ var ChannelState = /*#__PURE__*/function () {
1129
1439
  var m = messages[i];
1130
1440
 
1131
1441
  if (((_m$user = m.user) === null || _m$user === void 0 ? void 0 : _m$user.id) === user.id) {
1132
- messages[i] = _objectSpread$c(_objectSpread$c({}, m), {}, {
1442
+ messages[i] = _objectSpread$d(_objectSpread$d({}, m), {}, {
1133
1443
  user: user
1134
1444
  });
1135
1445
  }
@@ -1184,7 +1494,7 @@ var ChannelState = /*#__PURE__*/function () {
1184
1494
  user: m.user
1185
1495
  };
1186
1496
  } else {
1187
- messages[i] = _objectSpread$c(_objectSpread$c({}, m), {}, {
1497
+ messages[i] = _objectSpread$d(_objectSpread$d({}, m), {}, {
1188
1498
  type: 'deleted',
1189
1499
  deleted_at: user.deleted_at ? new Date(user.deleted_at) : null
1190
1500
  });
@@ -1502,7 +1812,7 @@ var ChannelState = /*#__PURE__*/function () {
1502
1812
  var parseMessage = function parseMessage(m) {
1503
1813
  var _m$pinned_at, _m$updated_at;
1504
1814
 
1505
- return _objectSpread$c(_objectSpread$c({}, m), {}, {
1815
+ return _objectSpread$d(_objectSpread$d({}, m), {}, {
1506
1816
  created_at: m.created_at.toISOString(),
1507
1817
  pinned_at: (_m$pinned_at = m.pinned_at) === null || _m$pinned_at === void 0 ? void 0 : _m$pinned_at.toISOString(),
1508
1818
  updated_at: (_m$updated_at = m.updated_at) === null || _m$updated_at === void 0 ? void 0 : _m$updated_at.toISOString()
@@ -1512,8 +1822,8 @@ var ChannelState = /*#__PURE__*/function () {
1512
1822
  var update = function update(messages) {
1513
1823
  var updatedMessages = messages.reduce(function (acc, msg) {
1514
1824
  if (msg.quoted_message_id === message.id) {
1515
- acc.push(_objectSpread$c(_objectSpread$c({}, parseMessage(msg)), {}, {
1516
- quoted_message: remove ? _objectSpread$c(_objectSpread$c({}, message), {}, {
1825
+ acc.push(_objectSpread$d(_objectSpread$d({}, parseMessage(msg)), {}, {
1826
+ quoted_message: remove ? _objectSpread$d(_objectSpread$d({}, message), {}, {
1517
1827
  attachments: []
1518
1828
  }) : message
1519
1829
  }));
@@ -2002,9 +2312,9 @@ function _unsupportedIterableToArray$4(o, minLen) { if (!o) return; if (typeof o
2002
2312
 
2003
2313
  function _arrayLikeToArray$4(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; }
2004
2314
 
2005
- function ownKeys$b(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
2315
+ function ownKeys$c(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
2006
2316
 
2007
- function _objectSpread$b(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$b(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$b(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
2317
+ function _objectSpread$c(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$c(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$c(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
2008
2318
  /**
2009
2319
  * Channel - The Channel class manages it's own state.
2010
2320
  */
@@ -2079,7 +2389,7 @@ var Channel = /*#__PURE__*/function () {
2079
2389
  while (1) {
2080
2390
  switch (_context.prev = _context.next) {
2081
2391
  case 0:
2082
- defaultOptions = _objectSpread$b(_objectSpread$b({}, options), {}, {
2392
+ defaultOptions = _objectSpread$c(_objectSpread$c({}, options), {}, {
2083
2393
  watch: false,
2084
2394
  state: false,
2085
2395
  presence: false
@@ -2151,7 +2461,7 @@ var Channel = /*#__PURE__*/function () {
2151
2461
 
2152
2462
  this.data = data; // this._data is used for the requests...
2153
2463
 
2154
- this._data = _objectSpread$b({}, data);
2464
+ this._data = _objectSpread$c({}, data);
2155
2465
  this.cid = "".concat(type, ":").concat(id);
2156
2466
  this.listeners = {}; // perhaps the state variable should be private
2157
2467
 
@@ -2213,7 +2523,7 @@ var Channel = /*#__PURE__*/function () {
2213
2523
  switch (_context2.prev = _context2.next) {
2214
2524
  case 0:
2215
2525
  _context2.next = 2;
2216
- return this.getClient().post(this._channelURL() + '/message', _objectSpread$b({
2526
+ return this.getClient().post(this._channelURL() + '/message', _objectSpread$c({
2217
2527
  message: message
2218
2528
  }, options));
2219
2529
 
@@ -2329,7 +2639,7 @@ var Channel = /*#__PURE__*/function () {
2329
2639
 
2330
2640
  case 3:
2331
2641
  // Return a list of channels
2332
- payload = _objectSpread$b(_objectSpread$b({
2642
+ payload = _objectSpread$c(_objectSpread$c({
2333
2643
  filter_conditions: {
2334
2644
  cid: this.cid
2335
2645
  }
@@ -2426,7 +2736,7 @@ var Channel = /*#__PURE__*/function () {
2426
2736
 
2427
2737
  _context5.next = 6;
2428
2738
  return this.getClient().get(this.getClient().baseURL + '/members', {
2429
- payload: _objectSpread$b({
2739
+ payload: _objectSpread$c({
2430
2740
  type: type,
2431
2741
  id: id,
2432
2742
  members: members,
@@ -2532,7 +2842,7 @@ var Channel = /*#__PURE__*/function () {
2532
2842
 
2533
2843
  case 4:
2534
2844
  _context7.next = 6;
2535
- return this.getClient().post(this.getClient().baseURL + "/messages/".concat(encodeURIComponent(messageID), "/reaction"), _objectSpread$b({
2845
+ return this.getClient().post(this.getClient().baseURL + "/messages/".concat(encodeURIComponent(messageID), "/reaction"), _objectSpread$c({
2536
2846
  reaction: reaction
2537
2847
  }, options));
2538
2848
 
@@ -2613,7 +2923,7 @@ var Channel = /*#__PURE__*/function () {
2613
2923
  delete channelData[key];
2614
2924
  });
2615
2925
  _context8.next = 7;
2616
- return this._update(_objectSpread$b({
2926
+ return this._update(_objectSpread$c({
2617
2927
  message: updateMessage,
2618
2928
  data: channelData
2619
2929
  }, options));
@@ -2785,7 +3095,7 @@ var Channel = /*#__PURE__*/function () {
2785
3095
  case 0:
2786
3096
  options = _args12.length > 0 && _args12[0] !== undefined ? _args12[0] : {};
2787
3097
  _context12.next = 3;
2788
- return this.getClient().delete(this._channelURL(), _objectSpread$b({}, options));
3098
+ return this.getClient().delete(this._channelURL(), _objectSpread$c({}, options));
2789
3099
 
2790
3100
  case 3:
2791
3101
  return _context12.abrupt("return", _context12.sent);
@@ -2861,7 +3171,7 @@ var Channel = /*#__PURE__*/function () {
2861
3171
  case 0:
2862
3172
  options = _args14.length > 0 && _args14[0] !== undefined ? _args14[0] : {};
2863
3173
  _context14.next = 3;
2864
- return this._update(_objectSpread$b({
3174
+ return this._update(_objectSpread$c({
2865
3175
  accept_invite: true
2866
3176
  }, options));
2867
3177
 
@@ -2902,7 +3212,7 @@ var Channel = /*#__PURE__*/function () {
2902
3212
  case 0:
2903
3213
  options = _args15.length > 0 && _args15[0] !== undefined ? _args15[0] : {};
2904
3214
  _context15.next = 3;
2905
- return this._update(_objectSpread$b({
3215
+ return this._update(_objectSpread$c({
2906
3216
  reject_invite: true
2907
3217
  }, options));
2908
3218
 
@@ -2944,7 +3254,7 @@ var Channel = /*#__PURE__*/function () {
2944
3254
  case 0:
2945
3255
  options = _args16.length > 2 && _args16[2] !== undefined ? _args16[2] : {};
2946
3256
  _context16.next = 3;
2947
- return this._update(_objectSpread$b({
3257
+ return this._update(_objectSpread$c({
2948
3258
  add_members: members,
2949
3259
  message: message
2950
3260
  }, options));
@@ -2987,7 +3297,7 @@ var Channel = /*#__PURE__*/function () {
2987
3297
  case 0:
2988
3298
  options = _args17.length > 2 && _args17[2] !== undefined ? _args17[2] : {};
2989
3299
  _context17.next = 3;
2990
- return this._update(_objectSpread$b({
3300
+ return this._update(_objectSpread$c({
2991
3301
  add_moderators: members,
2992
3302
  message: message
2993
3303
  }, options));
@@ -3030,7 +3340,7 @@ var Channel = /*#__PURE__*/function () {
3030
3340
  case 0:
3031
3341
  options = _args18.length > 2 && _args18[2] !== undefined ? _args18[2] : {};
3032
3342
  _context18.next = 3;
3033
- return this._update(_objectSpread$b({
3343
+ return this._update(_objectSpread$c({
3034
3344
  assign_roles: roles,
3035
3345
  message: message
3036
3346
  }, options));
@@ -3073,7 +3383,7 @@ var Channel = /*#__PURE__*/function () {
3073
3383
  case 0:
3074
3384
  options = _args19.length > 2 && _args19[2] !== undefined ? _args19[2] : {};
3075
3385
  _context19.next = 3;
3076
- return this._update(_objectSpread$b({
3386
+ return this._update(_objectSpread$c({
3077
3387
  invites: members,
3078
3388
  message: message
3079
3389
  }, options));
@@ -3116,7 +3426,7 @@ var Channel = /*#__PURE__*/function () {
3116
3426
  case 0:
3117
3427
  options = _args20.length > 2 && _args20[2] !== undefined ? _args20[2] : {};
3118
3428
  _context20.next = 3;
3119
- return this._update(_objectSpread$b({
3429
+ return this._update(_objectSpread$c({
3120
3430
  remove_members: members,
3121
3431
  message: message
3122
3432
  }, options));
@@ -3159,7 +3469,7 @@ var Channel = /*#__PURE__*/function () {
3159
3469
  case 0:
3160
3470
  options = _args21.length > 2 && _args21[2] !== undefined ? _args21[2] : {};
3161
3471
  _context21.next = 3;
3162
- return this._update(_objectSpread$b({
3472
+ return this._update(_objectSpread$c({
3163
3473
  demote_moderators: members,
3164
3474
  message: message
3165
3475
  }, options));
@@ -3244,7 +3554,7 @@ var Channel = /*#__PURE__*/function () {
3244
3554
  case 0:
3245
3555
  opts = _args23.length > 0 && _args23[0] !== undefined ? _args23[0] : {};
3246
3556
  _context23.next = 3;
3247
- return this.getClient().post(this.getClient().baseURL + '/moderation/mute/channel', _objectSpread$b({
3557
+ return this.getClient().post(this.getClient().baseURL + '/moderation/mute/channel', _objectSpread$c({
3248
3558
  channel_cid: this.cid
3249
3559
  }, opts));
3250
3560
 
@@ -3286,7 +3596,7 @@ var Channel = /*#__PURE__*/function () {
3286
3596
  case 0:
3287
3597
  opts = _args24.length > 0 && _args24[0] !== undefined ? _args24[0] : {};
3288
3598
  _context24.next = 3;
3289
- return this.getClient().post(this.getClient().baseURL + '/moderation/unmute/channel', _objectSpread$b({
3599
+ return this.getClient().post(this.getClient().baseURL + '/moderation/unmute/channel', _objectSpread$c({
3290
3600
  channel_cid: this.cid
3291
3601
  }, opts));
3292
3602
 
@@ -3623,7 +3933,7 @@ var Channel = /*#__PURE__*/function () {
3623
3933
 
3624
3934
  this.lastTypingEvent = new Date();
3625
3935
  _context29.next = 10;
3626
- return this.sendEvent(_objectSpread$b({
3936
+ return this.sendEvent(_objectSpread$c({
3627
3937
  type: 'typing.start',
3628
3938
  parent_id: parent_id
3629
3939
  }, options || {}));
@@ -3663,7 +3973,7 @@ var Channel = /*#__PURE__*/function () {
3663
3973
  case 0:
3664
3974
  options = _args30.length > 2 && _args30[2] !== undefined ? _args30[2] : {};
3665
3975
  _context30.next = 3;
3666
- return this.sendEvent(_objectSpread$b(_objectSpread$b({}, options), {}, {
3976
+ return this.sendEvent(_objectSpread$c(_objectSpread$c({}, options), {}, {
3667
3977
  type: 'ai_indicator.update',
3668
3978
  message_id: messageId,
3669
3979
  ai_state: state
@@ -3772,7 +4082,7 @@ var Channel = /*#__PURE__*/function () {
3772
4082
  this.lastTypingEvent = null;
3773
4083
  this.isTyping = false;
3774
4084
  _context33.next = 6;
3775
- return this.sendEvent(_objectSpread$b({
4085
+ return this.sendEvent(_objectSpread$c({
3776
4086
  type: 'typing.stop',
3777
4087
  parent_id: parent_id
3778
4088
  }, options || {}));
@@ -3859,7 +4169,7 @@ var Channel = /*#__PURE__*/function () {
3859
4169
 
3860
4170
  case 4:
3861
4171
  _context34.next = 6;
3862
- return this.getClient().post(this._channelURL() + '/read', _objectSpread$b({}, data));
4172
+ return this.getClient().post(this._channelURL() + '/read', _objectSpread$c({}, data));
3863
4173
 
3864
4174
  case 6:
3865
4175
  return _context34.abrupt("return", _context34.sent);
@@ -3906,7 +4216,7 @@ var Channel = /*#__PURE__*/function () {
3906
4216
 
3907
4217
  case 3:
3908
4218
  _context35.next = 5;
3909
- return this.getClient().post(this._channelURL() + '/unread', _objectSpread$b({}, data));
4219
+ return this.getClient().post(this._channelURL() + '/unread', _objectSpread$c({}, data));
3910
4220
 
3911
4221
  case 5:
3912
4222
  return _context35.abrupt("return", _context35.sent);
@@ -3974,7 +4284,7 @@ var Channel = /*#__PURE__*/function () {
3974
4284
  defaultOptions.watch = false;
3975
4285
  }
3976
4286
 
3977
- combined = _objectSpread$b(_objectSpread$b({}, defaultOptions), options);
4287
+ combined = _objectSpread$c(_objectSpread$c({}, defaultOptions), options);
3978
4288
  _context36.next = 7;
3979
4289
  return this.query(combined, 'latest');
3980
4290
 
@@ -4068,7 +4378,7 @@ var Channel = /*#__PURE__*/function () {
4068
4378
  case 0:
4069
4379
  normalizedSort = sort ? normalizeQuerySort(sort) : undefined;
4070
4380
  _context38.next = 3;
4071
- return this.getClient().get(this.getClient().baseURL + "/messages/".concat(encodeURIComponent(parent_id), "/replies"), _objectSpread$b({
4381
+ return this.getClient().get(this.getClient().baseURL + "/messages/".concat(encodeURIComponent(parent_id), "/replies"), _objectSpread$c({
4072
4382
  sort: normalizedSort
4073
4383
  }, options));
4074
4384
 
@@ -4118,7 +4428,7 @@ var Channel = /*#__PURE__*/function () {
4118
4428
  sort = _args39.length > 1 && _args39[1] !== undefined ? _args39[1] : [];
4119
4429
  _context39.next = 3;
4120
4430
  return this.getClient().get(this._channelURL() + '/pinned_messages', {
4121
- payload: _objectSpread$b(_objectSpread$b({}, options), {}, {
4431
+ payload: _objectSpread$c(_objectSpread$c({}, options), {}, {
4122
4432
  sort: normalizeQuerySort(sort)
4123
4433
  })
4124
4434
  });
@@ -4152,7 +4462,7 @@ var Channel = /*#__PURE__*/function () {
4152
4462
  }, {
4153
4463
  key: "getReactions",
4154
4464
  value: function getReactions(message_id, options) {
4155
- return this.getClient().get(this.getClient().baseURL + "/messages/".concat(encodeURIComponent(message_id), "/reactions"), _objectSpread$b({}, options));
4465
+ return this.getClient().get(this.getClient().baseURL + "/messages/".concat(encodeURIComponent(message_id), "/reactions"), _objectSpread$c({}, options));
4156
4466
  }
4157
4467
  /**
4158
4468
  * getMessagesById - Retrieves a list of messages by ID
@@ -4276,7 +4586,6 @@ var Channel = /*#__PURE__*/function () {
4276
4586
  var messageSetToAddToIfDoesNotExist,
4277
4587
  queryURL,
4278
4588
  state,
4279
- membersStr,
4280
4589
  tempChannelCid,
4281
4590
  _this$_initializeStat,
4282
4591
  messageSet,
@@ -4299,7 +4608,7 @@ var Channel = /*#__PURE__*/function () {
4299
4608
  }
4300
4609
 
4301
4610
  _context40.next = 7;
4302
- return this.getClient().post(queryURL + '/query', _objectSpread$b({
4611
+ return this.getClient().post(queryURL + '/query', _objectSpread$c({
4303
4612
  data: this._data,
4304
4613
  state: true
4305
4614
  }, options));
@@ -4312,14 +4621,13 @@ var Channel = /*#__PURE__*/function () {
4312
4621
  this.id = state.channel.id;
4313
4622
  this.cid = state.channel.cid; // set the channel as active...
4314
4623
 
4315
- membersStr = state.members.map(function (member) {
4624
+ tempChannelCid = generateChannelTempCid(this.type, state.members.map(function (member) {
4316
4625
  var _member$user;
4317
4626
 
4318
- return member.user_id || ((_member$user = member.user) === null || _member$user === void 0 ? void 0 : _member$user.id);
4319
- }).sort().join(',');
4320
- tempChannelCid = "".concat(this.type, ":!members-").concat(membersStr);
4627
+ return member.user_id || ((_member$user = member.user) === null || _member$user === void 0 ? void 0 : _member$user.id) || '';
4628
+ }));
4321
4629
 
4322
- if (tempChannelCid in this.getClient().activeChannels) {
4630
+ if (tempChannelCid && tempChannelCid in this.getClient().activeChannels) {
4323
4631
  // This gets set in `client.channel()` function, when channel is created
4324
4632
  // using members, not id.
4325
4633
  delete this.getClient().activeChannels[tempChannelCid];
@@ -4334,7 +4642,7 @@ var Channel = /*#__PURE__*/function () {
4334
4642
 
4335
4643
 
4336
4644
  _this$_initializeStat = this._initializeState(state, messageSetToAddToIfDoesNotExist), messageSet = _this$_initializeStat.messageSet;
4337
- messageSet.pagination = _objectSpread$b(_objectSpread$b({}, messageSet.pagination), messageSetPagination({
4645
+ messageSet.pagination = _objectSpread$c(_objectSpread$c({}, messageSet.pagination), messageSetPagination({
4338
4646
  parentSet: messageSet,
4339
4647
  messagePaginationOptions: options === null || options === void 0 ? void 0 : options.messages,
4340
4648
  requestedPageSize: (_options$messages$lim = options === null || options === void 0 ? void 0 : (_options$messages = options.messages) === null || _options$messages === void 0 ? void 0 : _options$messages.limit) !== null && _options$messages$lim !== void 0 ? _options$messages$lim : DEFAULT_QUERY_CHANNEL_MESSAGE_LIST_PAGE_SIZE,
@@ -4396,7 +4704,7 @@ var Channel = /*#__PURE__*/function () {
4396
4704
  this._checkInitialized();
4397
4705
 
4398
4706
  _context41.next = 3;
4399
- return this.getClient().banUser(targetUserID, _objectSpread$b(_objectSpread$b({}, options), {}, {
4707
+ return this.getClient().banUser(targetUserID, _objectSpread$c(_objectSpread$c({}, options), {}, {
4400
4708
  type: this.type,
4401
4709
  id: this.id
4402
4710
  }));
@@ -4568,7 +4876,7 @@ var Channel = /*#__PURE__*/function () {
4568
4876
  this._checkInitialized();
4569
4877
 
4570
4878
  _context45.next = 3;
4571
- return this.getClient().shadowBan(targetUserID, _objectSpread$b(_objectSpread$b({}, options), {}, {
4879
+ return this.getClient().shadowBan(targetUserID, _objectSpread$c(_objectSpread$c({}, options), {}, {
4572
4880
  type: this.type,
4573
4881
  id: this.id
4574
4882
  }));
@@ -4973,7 +5281,7 @@ var Channel = /*#__PURE__*/function () {
4973
5281
  case 'member.added':
4974
5282
  case 'member.updated':
4975
5283
  if ((_event$member = event.member) !== null && _event$member !== void 0 && _event$member.user) {
4976
- channelState.members = _objectSpread$b(_objectSpread$b({}, channelState.members), {}, _defineProperty__default['default']({}, event.member.user.id, event.member));
5284
+ channelState.members = _objectSpread$c(_objectSpread$c({}, channelState.members), {}, _defineProperty__default['default']({}, event.member.user.id, event.member));
4977
5285
  }
4978
5286
 
4979
5287
  if (typeof ((_channelState$members = channelState.membership.user) === null || _channelState$members === void 0 ? void 0 : _channelState$members.id) === 'string' && typeof ((_event$member2 = event.member) === null || _event$member2 === void 0 ? void 0 : (_event$member2$user = _event$member2.user) === null || _event$member2$user === void 0 ? void 0 : _event$member2$user.id) === 'string' && event.member.user.id === channelState.membership.user.id) {
@@ -4984,7 +5292,7 @@ var Channel = /*#__PURE__*/function () {
4984
5292
 
4985
5293
  case 'member.removed':
4986
5294
  if ((_event$user9 = event.user) !== null && _event$user9 !== void 0 && _event$user9.id) {
4987
- var newMembers = _objectSpread$b({}, channelState.members);
5295
+ var newMembers = _objectSpread$c({}, channelState.members);
4988
5296
 
4989
5297
  delete newMembers[event.user.id];
4990
5298
  channelState.members = newMembers; // TODO?: unset membership
@@ -5029,7 +5337,7 @@ var Channel = /*#__PURE__*/function () {
5029
5337
  });
5030
5338
  }
5031
5339
 
5032
- channel.data = _objectSpread$b(_objectSpread$b({}, event.channel), {}, {
5340
+ channel.data = _objectSpread$c(_objectSpread$c({}, event.channel), {}, {
5033
5341
  hidden: (_event$channel$hidden = (_event$channel3 = event.channel) === null || _event$channel3 === void 0 ? void 0 : _event$channel3.hidden) !== null && _event$channel$hidden !== void 0 ? _event$channel$hidden : (_channel$data2 = channel.data) === null || _channel$data2 === void 0 ? void 0 : _channel$data2.hidden,
5034
5342
  own_capabilities: (_event$channel$own_ca = (_event$channel4 = event.channel) === null || _event$channel4 === void 0 ? void 0 : _event$channel4.own_capabilities) !== null && _event$channel$own_ca !== void 0 ? _event$channel$own_ca : (_channel$data3 = channel.data) === null || _channel$data3 === void 0 ? void 0 : _channel$data3.own_capabilities
5035
5343
  });
@@ -5060,7 +5368,7 @@ var Channel = /*#__PURE__*/function () {
5060
5368
  break;
5061
5369
 
5062
5370
  case 'channel.hidden':
5063
- channel.data = _objectSpread$b(_objectSpread$b({}, channel.data), {}, {
5371
+ channel.data = _objectSpread$c(_objectSpread$c({}, channel.data), {}, {
5064
5372
  hidden: true
5065
5373
  });
5066
5374
 
@@ -5071,26 +5379,26 @@ var Channel = /*#__PURE__*/function () {
5071
5379
  break;
5072
5380
 
5073
5381
  case 'channel.visible':
5074
- channel.data = _objectSpread$b(_objectSpread$b({}, channel.data), {}, {
5382
+ channel.data = _objectSpread$c(_objectSpread$c({}, channel.data), {}, {
5075
5383
  hidden: false
5076
5384
  });
5077
5385
  break;
5078
5386
 
5079
5387
  case 'user.banned':
5080
5388
  if (!((_event$user11 = event.user) !== null && _event$user11 !== void 0 && _event$user11.id)) break;
5081
- channelState.members[event.user.id] = _objectSpread$b(_objectSpread$b({}, channelState.members[event.user.id] || {}), {}, {
5389
+ channelState.members[event.user.id] = _objectSpread$c(_objectSpread$c({}, channelState.members[event.user.id] || {}), {}, {
5082
5390
  shadow_banned: !!event.shadow,
5083
5391
  banned: !event.shadow,
5084
- user: _objectSpread$b(_objectSpread$b({}, ((_channelState$members2 = channelState.members[event.user.id]) === null || _channelState$members2 === void 0 ? void 0 : _channelState$members2.user) || {}), event.user)
5392
+ user: _objectSpread$c(_objectSpread$c({}, ((_channelState$members2 = channelState.members[event.user.id]) === null || _channelState$members2 === void 0 ? void 0 : _channelState$members2.user) || {}), event.user)
5085
5393
  });
5086
5394
  break;
5087
5395
 
5088
5396
  case 'user.unbanned':
5089
5397
  if (!((_event$user12 = event.user) !== null && _event$user12 !== void 0 && _event$user12.id)) break;
5090
- channelState.members[event.user.id] = _objectSpread$b(_objectSpread$b({}, channelState.members[event.user.id] || {}), {}, {
5398
+ channelState.members[event.user.id] = _objectSpread$c(_objectSpread$c({}, channelState.members[event.user.id] || {}), {}, {
5091
5399
  shadow_banned: false,
5092
5400
  banned: false,
5093
- user: _objectSpread$b(_objectSpread$b({}, ((_channelState$members3 = channelState.members[event.user.id]) === null || _channelState$members3 === void 0 ? void 0 : _channelState$members3.user) || {}), event.user)
5401
+ user: _objectSpread$c(_objectSpread$c({}, ((_channelState$members3 = channelState.members[event.user.id]) === null || _channelState$members3 === void 0 ? void 0 : _channelState$members3.user) || {}), event.user)
5094
5402
  });
5095
5403
  break;
5096
5404
  } // any event can send over the online count
@@ -5264,7 +5572,7 @@ var Channel = /*#__PURE__*/function () {
5264
5572
  if (overrideCurrentState) {
5265
5573
  this.state.members = newMembersById;
5266
5574
  } else if (!overrideCurrentState && members.length) {
5267
- this.state.members = _objectSpread$b(_objectSpread$b({}, this.state.members), newMembersById);
5575
+ this.state.members = _objectSpread$c(_objectSpread$c({}, this.state.members), newMembersById);
5268
5576
  }
5269
5577
  }
5270
5578
  }, {
@@ -5363,9 +5671,9 @@ var ClientState = /*#__PURE__*/function () {
5363
5671
  return ClientState;
5364
5672
  }();
5365
5673
 
5366
- function ownKeys$a(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
5674
+ function ownKeys$b(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
5367
5675
 
5368
- function _objectSpread$a(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$a(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$a(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
5676
+ function _objectSpread$b(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$b(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$b(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
5369
5677
  var InsightMetrics = function InsightMetrics() {
5370
5678
  _classCallCheck__default['default'](this, InsightMetrics);
5371
5679
 
@@ -5444,7 +5752,7 @@ var postInsights = /*#__PURE__*/function () {
5444
5752
  };
5445
5753
  }();
5446
5754
  function buildWsFatalInsight(connection, event) {
5447
- return _objectSpread$a(_objectSpread$a({}, event), buildWsBaseInsight(connection));
5755
+ return _objectSpread$b(_objectSpread$b({}, event), buildWsBaseInsight(connection));
5448
5756
  }
5449
5757
 
5450
5758
  function buildWsBaseInsight(connection) {
@@ -5477,9 +5785,9 @@ function buildWsSuccessAfterFailureInsight(connection) {
5477
5785
  return buildWsBaseInsight(connection);
5478
5786
  }
5479
5787
 
5480
- function ownKeys$9(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
5788
+ function ownKeys$a(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
5481
5789
 
5482
- function _objectSpread$9(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$9(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$9(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
5790
+ function _objectSpread$a(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$a(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$a(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
5483
5791
 
5484
5792
  // Type guards to check WebSocket error type
5485
5793
  var isCloseEvent = function isCloseEvent(res) {
@@ -5843,7 +6151,7 @@ var StableWSConnection = /*#__PURE__*/function () {
5843
6151
  value: function _log(msg) {
5844
6152
  var extra = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
5845
6153
  var level = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'info';
5846
- this.client.logger(level, 'connection:' + msg, _objectSpread$9({
6154
+ this.client.logger(level, 'connection:' + msg, _objectSpread$a({
5847
6155
  tags: ['connection']
5848
6156
  }, extra));
5849
6157
  }
@@ -6434,9 +6742,9 @@ var StableWSConnection = /*#__PURE__*/function () {
6434
6742
  return StableWSConnection;
6435
6743
  }();
6436
6744
 
6437
- function ownKeys$8(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
6745
+ function ownKeys$9(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
6438
6746
 
6439
- function _objectSpread$8(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$8(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$8(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
6747
+ function _objectSpread$9(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$9(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$9(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
6440
6748
 
6441
6749
  /**
6442
6750
  * Creates the JWT token that can be used for a UserSession
@@ -6457,7 +6765,7 @@ function JWTUserToken(apiSecret, userId) {
6457
6765
  throw new TypeError('userId should be a string');
6458
6766
  }
6459
6767
 
6460
- var payload = _objectSpread$8({
6768
+ var payload = _objectSpread$9({
6461
6769
  user_id: userId
6462
6770
  }, extraData); // make sure we return a clear error when jwt is shimmed (ie. browser build)
6463
6771
 
@@ -6869,9 +7177,9 @@ function isErrorResponse(res) {
6869
7177
  return !res.status || res.status < 200 || 300 <= res.status;
6870
7178
  }
6871
7179
 
6872
- function ownKeys$7(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
7180
+ function ownKeys$8(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
6873
7181
 
6874
- function _objectSpread$7(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$7(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$7(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
7182
+ function _objectSpread$8(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$8(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$8(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
6875
7183
  var ConnectionState;
6876
7184
 
6877
7185
  (function (ConnectionState) {
@@ -6934,7 +7242,7 @@ var WSConnectionFallback = /*#__PURE__*/function () {
6934
7242
  _context.next = 4;
6935
7243
  return _this.client.doAxiosRequest('get', _this.client.baseURL.replace(':3030', ':8900') + '/longpoll', // replace port if present for testing with local API
6936
7244
  undefined, {
6937
- config: _objectSpread$7(_objectSpread$7({}, config), {}, {
7245
+ config: _objectSpread$8(_objectSpread$8({}, config), {}, {
6938
7246
  cancelToken: (_this$cancelToken2 = _this.cancelToken) === null || _this$cancelToken2 === void 0 ? void 0 : _this$cancelToken2.token
6939
7247
  }),
6940
7248
  params: params
@@ -7212,7 +7520,7 @@ var WSConnectionFallback = /*#__PURE__*/function () {
7212
7520
  value: function _log(msg) {
7213
7521
  var extra = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
7214
7522
  var level = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'info';
7215
- this.client.logger(level, 'WSConnectionFallback:' + msg, _objectSpread$7({
7523
+ this.client.logger(level, 'WSConnectionFallback:' + msg, _objectSpread$8({
7216
7524
  tags: ['connection_fallback', 'connection']
7217
7525
  }, extra));
7218
7526
  }
@@ -7589,14 +7897,13 @@ exports.VotingVisibility = void 0;
7589
7897
  VotingVisibility["public"] = "public";
7590
7898
  })(exports.VotingVisibility || (exports.VotingVisibility = {}));
7591
7899
 
7592
- function ownKeys$6(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
7900
+ function ownKeys$7(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
7593
7901
 
7594
- function _objectSpread$6(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$6(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$6(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
7902
+ function _objectSpread$7(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$7(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$7(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
7595
7903
 
7596
- function isPatch(value) {
7904
+ var isPatch = function isPatch(value) {
7597
7905
  return typeof value === 'function';
7598
- }
7599
-
7906
+ };
7600
7907
  var StateStore = function StateStore(value) {
7601
7908
  var _this = this;
7602
7909
 
@@ -7621,7 +7928,7 @@ var StateStore = function StateStore(value) {
7621
7928
 
7622
7929
  _defineProperty__default['default'](this, "partialNext", function (partial) {
7623
7930
  return _this.next(function (current) {
7624
- return _objectSpread$6(_objectSpread$6({}, current), partial);
7931
+ return _objectSpread$7(_objectSpread$7({}, current), partial);
7625
7932
  });
7626
7933
  });
7627
7934
 
@@ -7673,9 +7980,9 @@ _defineProperty__default['default'](StateStore, "logCount", 5);
7673
7980
 
7674
7981
  var _excluded$3 = ["limit", "sort"];
7675
7982
 
7676
- function ownKeys$5(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
7983
+ function ownKeys$6(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
7677
7984
 
7678
- function _objectSpread$5(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$5(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$5(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
7985
+ function _objectSpread$6(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$6(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$6(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
7679
7986
  var DEFAULT_PAGE_LIMIT = 50;
7680
7987
  var DEFAULT_SORT = [{
7681
7988
  created_at: -1
@@ -7960,14 +8267,14 @@ var Thread = /*#__PURE__*/function () {
7960
8267
  if (userId === ((_event$user2 = event.user) === null || _event$user2 === void 0 ? void 0 : _event$user2.id)) {
7961
8268
  // The user who just sent a message to the thread has no unread messages
7962
8269
  // in that thread
7963
- nextUserRead = _objectSpread$5(_objectSpread$5({}, nextUserRead), {}, {
8270
+ nextUserRead = _objectSpread$6(_objectSpread$6({}, nextUserRead), {}, {
7964
8271
  lastReadAt: event.created_at ? new Date(event.created_at) : new Date(),
7965
8272
  user: event.user,
7966
8273
  unreadMessageCount: 0
7967
8274
  });
7968
8275
  } else if (active && userId === _this.client.userID) ; else {
7969
8276
  // Increment unread count for all users except the author of the new message
7970
- nextUserRead = _objectSpread$5(_objectSpread$5({}, nextUserRead), {}, {
8277
+ nextUserRead = _objectSpread$6(_objectSpread$6({}, nextUserRead), {}, {
7971
8278
  unreadMessageCount: userRead.unreadMessageCount + 1
7972
8279
  });
7973
8280
  }
@@ -7991,8 +8298,8 @@ var Thread = /*#__PURE__*/function () {
7991
8298
  var user = event.user;
7992
8299
 
7993
8300
  _this.state.next(function (current) {
7994
- return _objectSpread$5(_objectSpread$5({}, current), {}, {
7995
- read: _objectSpread$5(_objectSpread$5({}, current.read), {}, _defineProperty__default['default']({}, userId, {
8301
+ return _objectSpread$6(_objectSpread$6({}, current), {}, {
8302
+ read: _objectSpread$6(_objectSpread$6({}, current.read), {}, _defineProperty__default['default']({}, userId, {
7996
8303
  lastReadAt: new Date(createdAt),
7997
8304
  user: user,
7998
8305
  lastReadMessageId: event.last_read_message_id,
@@ -8105,7 +8412,7 @@ var Thread = /*#__PURE__*/function () {
8105
8412
  }
8106
8413
 
8107
8414
  _this.state.next(function (current) {
8108
- return _objectSpread$5(_objectSpread$5({}, current), {}, {
8415
+ return _objectSpread$6(_objectSpread$6({}, current), {}, {
8109
8416
  replies: addToMessageList(current.replies, formattedMessage, timestampChanged)
8110
8417
  });
8111
8418
  });
@@ -8122,7 +8429,7 @@ var Thread = /*#__PURE__*/function () {
8122
8429
  var _message$reply_count;
8123
8430
 
8124
8431
  var formattedMessage = formatMessage(message);
8125
- return _objectSpread$5(_objectSpread$5({}, current), {}, {
8432
+ return _objectSpread$6(_objectSpread$6({}, current), {}, {
8126
8433
  deletedAt: formattedMessage.deleted_at,
8127
8434
  parentMessage: formattedMessage,
8128
8435
  replyCount: (_message$reply_count = message.reply_count) !== null && _message$reply_count !== void 0 ? _message$reply_count : current.replyCount
@@ -8195,7 +8502,7 @@ var Thread = /*#__PURE__*/function () {
8195
8502
  sort = _ref10$sort === void 0 ? DEFAULT_SORT : _ref10$sort,
8196
8503
  otherOptions = _objectWithoutProperties__default['default'](_ref10, _excluded$3);
8197
8504
 
8198
- return _this.channel.getReplies(_this.id, _objectSpread$5({
8505
+ return _this.channel.getReplies(_this.id, _objectSpread$6({
8199
8506
  limit: limit
8200
8507
  }, otherOptions), sort);
8201
8508
  });
@@ -8239,12 +8546,12 @@ var Thread = /*#__PURE__*/function () {
8239
8546
  limit = Math.abs(count);
8240
8547
 
8241
8548
  _this.state.partialNext({
8242
- pagination: _objectSpread$5(_objectSpread$5({}, pagination), {}, _defineProperty__default['default']({}, loadingKey, true))
8549
+ pagination: _objectSpread$6(_objectSpread$6({}, pagination), {}, _defineProperty__default['default']({}, loadingKey, true))
8243
8550
  });
8244
8551
 
8245
8552
  _context3.prev = 7;
8246
8553
  _context3.next = 10;
8247
- return _this.queryReplies(_objectSpread$5(_objectSpread$5({}, queryOptions), {}, {
8554
+ return _this.queryReplies(_objectSpread$6(_objectSpread$6({}, queryOptions), {}, {
8248
8555
  limit: limit
8249
8556
  }));
8250
8557
 
@@ -8266,9 +8573,9 @@ var Thread = /*#__PURE__*/function () {
8266
8573
  (_nextReplies = nextReplies)[insertionMethodKey].apply(_nextReplies, _toConsumableArray__default['default'](replies));
8267
8574
  }
8268
8575
 
8269
- return _objectSpread$5(_objectSpread$5({}, current), {}, {
8576
+ return _objectSpread$6(_objectSpread$6({}, current), {}, {
8270
8577
  replies: nextReplies,
8271
- pagination: _objectSpread$5(_objectSpread$5({}, current.pagination), {}, (_objectSpread4 = {}, _defineProperty__default['default'](_objectSpread4, cursorKey, data.messages.length < limit ? null : maybeNextCursor), _defineProperty__default['default'](_objectSpread4, loadingKey, false), _objectSpread4))
8578
+ pagination: _objectSpread$6(_objectSpread$6({}, current.pagination), {}, (_objectSpread4 = {}, _defineProperty__default['default'](_objectSpread4, cursorKey, data.messages.length < limit ? null : maybeNextCursor), _defineProperty__default['default'](_objectSpread4, loadingKey, false), _objectSpread4))
8272
8579
  });
8273
8580
  });
8274
8581
 
@@ -8282,8 +8589,8 @@ var Thread = /*#__PURE__*/function () {
8282
8589
  _this.client.logger('error', _context3.t0.message);
8283
8590
 
8284
8591
  _this.state.next(function (current) {
8285
- return _objectSpread$5(_objectSpread$5({}, current), {}, {
8286
- pagination: _objectSpread$5(_objectSpread$5({}, current.pagination), {}, _defineProperty__default['default']({}, loadingKey, false))
8592
+ return _objectSpread$6(_objectSpread$6({}, current), {}, {
8593
+ pagination: _objectSpread$6(_objectSpread$6({}, current.pagination), {}, _defineProperty__default['default']({}, loadingKey, false))
8287
8594
  });
8288
8595
  });
8289
8596
 
@@ -8396,9 +8703,9 @@ var ownUnreadCountSelector = function ownUnreadCountSelector(currentUserId) {
8396
8703
  };
8397
8704
  };
8398
8705
 
8399
- function ownKeys$4(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
8706
+ function ownKeys$5(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
8400
8707
 
8401
- function _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$4(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$4(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
8708
+ function _objectSpread$5(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$5(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$5(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
8402
8709
  var MODERATION_ENTITY_TYPES = {
8403
8710
  user: 'stream:user',
8404
8711
  message: 'stream:chat:v1:message'
@@ -8515,7 +8822,7 @@ var Moderation = /*#__PURE__*/function () {
8515
8822
  case 0:
8516
8823
  options = _args3.length > 4 && _args3[4] !== undefined ? _args3[4] : {};
8517
8824
  _context3.next = 3;
8518
- return this.client.post(this.client.baseURL + '/api/v2/moderation/flag', _objectSpread$4({
8825
+ return this.client.post(this.client.baseURL + '/api/v2/moderation/flag', _objectSpread$5({
8519
8826
  entity_type: entityType,
8520
8827
  entity_id: entityId,
8521
8828
  entity_creator_id: entityCreatorID,
@@ -8560,7 +8867,7 @@ var Moderation = /*#__PURE__*/function () {
8560
8867
  case 0:
8561
8868
  options = _args4.length > 1 && _args4[1] !== undefined ? _args4[1] : {};
8562
8869
  _context4.next = 3;
8563
- return this.client.post(this.client.baseURL + '/api/v2/moderation/mute', _objectSpread$4({
8870
+ return this.client.post(this.client.baseURL + '/api/v2/moderation/mute', _objectSpread$5({
8564
8871
  target_ids: [targetID]
8565
8872
  }, options));
8566
8873
 
@@ -8598,7 +8905,7 @@ var Moderation = /*#__PURE__*/function () {
8598
8905
  switch (_context5.prev = _context5.next) {
8599
8906
  case 0:
8600
8907
  _context5.next = 2;
8601
- return this.client.post(this.client.baseURL + '/api/v2/moderation/unmute', _objectSpread$4({
8908
+ return this.client.post(this.client.baseURL + '/api/v2/moderation/unmute', _objectSpread$5({
8602
8909
  target_ids: [targetID]
8603
8910
  }, options));
8604
8911
 
@@ -8640,7 +8947,7 @@ var Moderation = /*#__PURE__*/function () {
8640
8947
  case 0:
8641
8948
  options = _args6.length > 1 && _args6[1] !== undefined ? _args6[1] : {};
8642
8949
  _context6.next = 3;
8643
- return this.client.get(this.client.baseURL + "/api/v2/moderation/user_report", _objectSpread$4({
8950
+ return this.client.get(this.client.baseURL + "/api/v2/moderation/user_report", _objectSpread$5({
8644
8951
  user_id: userID
8645
8952
  }, options));
8646
8953
 
@@ -8684,7 +8991,7 @@ var Moderation = /*#__PURE__*/function () {
8684
8991
  sort = _args7.length > 1 && _args7[1] !== undefined ? _args7[1] : [];
8685
8992
  options = _args7.length > 2 && _args7[2] !== undefined ? _args7[2] : {};
8686
8993
  _context7.next = 5;
8687
- return this.client.post(this.client.baseURL + '/api/v2/moderation/review_queue', _objectSpread$4({
8994
+ return this.client.post(this.client.baseURL + '/api/v2/moderation/review_queue', _objectSpread$5({
8688
8995
  filter: filterConditions,
8689
8996
  sort: normalizeQuerySort(sort)
8690
8997
  }, options));
@@ -8819,7 +9126,7 @@ var Moderation = /*#__PURE__*/function () {
8819
9126
  case 0:
8820
9127
  options = _args11.length > 2 && _args11[2] !== undefined ? _args11[2] : {};
8821
9128
  _context11.next = 3;
8822
- return this.client.post(this.client.baseURL + '/api/v2/moderation/configs', _objectSpread$4({
9129
+ return this.client.post(this.client.baseURL + '/api/v2/moderation/configs', _objectSpread$5({
8823
9130
  filter: filterConditions,
8824
9131
  sort: sort
8825
9132
  }, options));
@@ -8853,7 +9160,7 @@ var Moderation = /*#__PURE__*/function () {
8853
9160
  case 0:
8854
9161
  options = _args12.length > 2 && _args12[2] !== undefined ? _args12[2] : {};
8855
9162
  _context12.next = 3;
8856
- return this.client.post(this.client.baseURL + '/api/v2/moderation/submit_action', _objectSpread$4({
9163
+ return this.client.post(this.client.baseURL + '/api/v2/moderation/submit_action', _objectSpread$5({
8857
9164
  action_type: actionType,
8858
9165
  item_id: itemID
8859
9166
  }, options));
@@ -9017,9 +9324,9 @@ function _unsupportedIterableToArray$2(o, minLen) { if (!o) return; if (typeof o
9017
9324
 
9018
9325
  function _arrayLikeToArray$2(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; }
9019
9326
 
9020
- function ownKeys$3(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
9327
+ function ownKeys$4(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
9021
9328
 
9022
- function _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$3(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$3(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
9329
+ function _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$4(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$4(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
9023
9330
  var DEFAULT_CONNECTION_RECOVERY_THROTTLE_DURATION = 1000;
9024
9331
  var MAX_QUERY_THREADS_LIMIT = 25;
9025
9332
  var THREAD_MANAGER_INITIAL_STATE = {
@@ -9200,7 +9507,7 @@ var ThreadManager = /*#__PURE__*/function () {
9200
9507
  var unsubscribeConnectionDropped = _this.client.on('connection.changed', function (event) {
9201
9508
  if (event.online === false) {
9202
9509
  _this.state.next(function (current) {
9203
- return current.lastConnectionDropAt ? current : _objectSpread$3(_objectSpread$3({}, current), {}, {
9510
+ return current.lastConnectionDropAt ? current : _objectSpread$4(_objectSpread$4({}, current), {}, {
9204
9511
  lastConnectionDropAt: new Date()
9205
9512
  });
9206
9513
  });
@@ -9287,8 +9594,8 @@ var ThreadManager = /*#__PURE__*/function () {
9287
9594
  _context.prev = 7;
9288
9595
 
9289
9596
  _this.state.next(function (current) {
9290
- return _objectSpread$3(_objectSpread$3({}, current), {}, {
9291
- pagination: _objectSpread$3(_objectSpread$3({}, current.pagination), {}, {
9597
+ return _objectSpread$4(_objectSpread$4({}, current), {}, {
9598
+ pagination: _objectSpread$4(_objectSpread$4({}, current.pagination), {}, {
9292
9599
  isLoading: true
9293
9600
  })
9294
9601
  });
@@ -9330,11 +9637,11 @@ var ThreadManager = /*#__PURE__*/function () {
9330
9637
  _this.state.next(function (current) {
9331
9638
  var _response$next;
9332
9639
 
9333
- return _objectSpread$3(_objectSpread$3({}, current), {}, {
9640
+ return _objectSpread$4(_objectSpread$4({}, current), {}, {
9334
9641
  threads: nextThreads,
9335
9642
  unseenThreadIds: [],
9336
9643
  isThreadOrderStale: false,
9337
- pagination: _objectSpread$3(_objectSpread$3({}, current.pagination), {}, {
9644
+ pagination: _objectSpread$4(_objectSpread$4({}, current.pagination), {}, {
9338
9645
  isLoading: false,
9339
9646
  nextCursor: (_response$next = response.next) !== null && _response$next !== void 0 ? _response$next : null
9340
9647
  }),
@@ -9352,8 +9659,8 @@ var ThreadManager = /*#__PURE__*/function () {
9352
9659
  _this.client.logger('error', _context.t0.message);
9353
9660
 
9354
9661
  _this.state.next(function (current) {
9355
- return _objectSpread$3(_objectSpread$3({}, current), {}, {
9356
- pagination: _objectSpread$3(_objectSpread$3({}, current.pagination), {}, {
9662
+ return _objectSpread$4(_objectSpread$4({}, current), {}, {
9663
+ pagination: _objectSpread$4(_objectSpread$4({}, current.pagination), {}, {
9357
9664
  isLoading: false
9358
9665
  })
9359
9666
  });
@@ -9369,7 +9676,7 @@ var ThreadManager = /*#__PURE__*/function () {
9369
9676
 
9370
9677
  _defineProperty__default['default'](this, "queryThreads", function () {
9371
9678
  var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
9372
- return _this.client.queryThreads(_objectSpread$3({
9679
+ return _this.client.queryThreads(_objectSpread$4({
9373
9680
  limit: 25,
9374
9681
  participant_limit: 10,
9375
9682
  reply_limit: 10,
@@ -9402,13 +9709,13 @@ var ThreadManager = /*#__PURE__*/function () {
9402
9709
  _context2.prev = 4;
9403
9710
 
9404
9711
  _this.state.partialNext({
9405
- pagination: _objectSpread$3(_objectSpread$3({}, pagination), {}, {
9712
+ pagination: _objectSpread$4(_objectSpread$4({}, pagination), {}, {
9406
9713
  isLoadingNext: true
9407
9714
  })
9408
9715
  });
9409
9716
 
9410
9717
  _context2.next = 8;
9411
- return _this.queryThreads(_objectSpread$3(_objectSpread$3({}, options), {}, {
9718
+ return _this.queryThreads(_objectSpread$4(_objectSpread$4({}, options), {}, {
9412
9719
  next: pagination.nextCursor
9413
9720
  }));
9414
9721
 
@@ -9418,9 +9725,9 @@ var ThreadManager = /*#__PURE__*/function () {
9418
9725
  _this.state.next(function (current) {
9419
9726
  var _response$next2;
9420
9727
 
9421
- return _objectSpread$3(_objectSpread$3({}, current), {}, {
9728
+ return _objectSpread$4(_objectSpread$4({}, current), {}, {
9422
9729
  threads: response.threads.length ? current.threads.concat(response.threads) : current.threads,
9423
- pagination: _objectSpread$3(_objectSpread$3({}, current.pagination), {}, {
9730
+ pagination: _objectSpread$4(_objectSpread$4({}, current.pagination), {}, {
9424
9731
  nextCursor: (_response$next2 = response.next) !== null && _response$next2 !== void 0 ? _response$next2 : null,
9425
9732
  isLoadingNext: false
9426
9733
  })
@@ -9437,8 +9744,8 @@ var ThreadManager = /*#__PURE__*/function () {
9437
9744
  _this.client.logger('error', _context2.t0.message);
9438
9745
 
9439
9746
  _this.state.next(function (current) {
9440
- return _objectSpread$3(_objectSpread$3({}, current), {}, {
9441
- pagination: _objectSpread$3(_objectSpread$3({}, current.pagination), {}, {
9747
+ return _objectSpread$4(_objectSpread$4({}, current), {}, {
9748
+ pagination: _objectSpread$4(_objectSpread$4({}, current.pagination), {}, {
9442
9749
  isLoadingNext: false
9443
9750
  })
9444
9751
  });
@@ -9486,9 +9793,9 @@ var ThreadManager = /*#__PURE__*/function () {
9486
9793
  var _excluded$2 = ["own_votes", "id"],
9487
9794
  _excluded2$1 = ["id"];
9488
9795
 
9489
- function ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
9796
+ function ownKeys$3(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
9490
9797
 
9491
- function _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$2(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
9798
+ function _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$3(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$3(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
9492
9799
 
9493
9800
  var isPollUpdatedEvent = function isPollUpdatedEvent(e) {
9494
9801
  return e.type === 'poll.updated';
@@ -9554,7 +9861,7 @@ var Poll = /*#__PURE__*/function () {
9554
9861
  ownAnswer = _ref2.ownAnswer,
9555
9862
  ownVotes = _ref2.ownVotes;
9556
9863
 
9557
- return _objectSpread$2(_objectSpread$2({}, pollResponseForState), {}, {
9864
+ return _objectSpread$3(_objectSpread$3({}, pollResponseForState), {}, {
9558
9865
  lastActivityAt: new Date(),
9559
9866
  maxVotedOptionIds: getMaxVotedOptionIds(pollResponseForState.vote_counts_by_option),
9560
9867
  ownAnswer: ownAnswer,
@@ -9576,7 +9883,7 @@ var Poll = /*#__PURE__*/function () {
9576
9883
  pollData = _objectWithoutProperties__default['default'](_extractPollData, _excluded2$1); // @ts-ignore
9577
9884
 
9578
9885
 
9579
- _this.state.partialNext(_objectSpread$2(_objectSpread$2({}, pollData), {}, {
9886
+ _this.state.partialNext(_objectSpread$3(_objectSpread$3({}, pollData), {}, {
9580
9887
  lastActivityAt: new Date(event.created_at)
9581
9888
  }));
9582
9889
  });
@@ -9623,7 +9930,7 @@ var Poll = /*#__PURE__*/function () {
9623
9930
 
9624
9931
  var pollEnrichData = extractPollEnrichedData(event.poll); // @ts-ignore
9625
9932
 
9626
- _this.state.partialNext(_objectSpread$2(_objectSpread$2({}, pollEnrichData), {}, {
9933
+ _this.state.partialNext(_objectSpread$3(_objectSpread$3({}, pollEnrichData), {}, {
9627
9934
  latest_answers: latestAnswers,
9628
9935
  lastActivityAt: new Date(event.created_at),
9629
9936
  ownAnswer: ownAnswer,
@@ -9688,7 +9995,7 @@ var Poll = /*#__PURE__*/function () {
9688
9995
 
9689
9996
  var pollEnrichData = extractPollEnrichedData(event.poll); // @ts-ignore
9690
9997
 
9691
- _this.state.partialNext(_objectSpread$2(_objectSpread$2({}, pollEnrichData), {}, {
9998
+ _this.state.partialNext(_objectSpread$3(_objectSpread$3({}, pollEnrichData), {}, {
9692
9999
  latest_answers: latestAnswers,
9693
10000
  lastActivityAt: new Date(event.created_at),
9694
10001
  ownAnswer: ownAnswer,
@@ -9709,7 +10016,7 @@ var Poll = /*#__PURE__*/function () {
9709
10016
 
9710
10017
  var ownAnswer = currentState.ownAnswer;
9711
10018
 
9712
- var ownVotesByOptionId = _objectSpread$2({}, currentState.ownVotesByOptionId);
10019
+ var ownVotesByOptionId = _objectSpread$3({}, currentState.ownVotesByOptionId);
9713
10020
 
9714
10021
  var maxVotedOptionIds = currentState.maxVotedOptionIds;
9715
10022
 
@@ -9731,7 +10038,7 @@ var Poll = /*#__PURE__*/function () {
9731
10038
 
9732
10039
  var pollEnrichData = extractPollEnrichedData(event.poll); // @ts-ignore
9733
10040
 
9734
- _this.state.partialNext(_objectSpread$2(_objectSpread$2({}, pollEnrichData), {}, {
10041
+ _this.state.partialNext(_objectSpread$3(_objectSpread$3({}, pollEnrichData), {}, {
9735
10042
  latest_answers: latestAnswers,
9736
10043
  lastActivityAt: new Date(event.created_at),
9737
10044
  ownAnswer: ownAnswer,
@@ -9756,7 +10063,7 @@ var Poll = /*#__PURE__*/function () {
9756
10063
  poll = _yield$_this$client$g.poll;
9757
10064
 
9758
10065
  // @ts-ignore
9759
- _this.state.partialNext(_objectSpread$2(_objectSpread$2({}, poll), {}, {
10066
+ _this.state.partialNext(_objectSpread$3(_objectSpread$3({}, poll), {}, {
9760
10067
  lastActivityAt: new Date()
9761
10068
  }));
9762
10069
 
@@ -9782,7 +10089,7 @@ var Poll = /*#__PURE__*/function () {
9782
10089
  switch (_context2.prev = _context2.next) {
9783
10090
  case 0:
9784
10091
  _context2.next = 2;
9785
- return _this.client.updatePoll(_objectSpread$2(_objectSpread$2({}, data), {}, {
10092
+ return _this.client.updatePoll(_objectSpread$3(_objectSpread$3({}, data), {}, {
9786
10093
  id: _this.id
9787
10094
  }));
9788
10095
 
@@ -10493,6 +10800,690 @@ var PollManager = /*#__PURE__*/function () {
10493
10800
  return PollManager;
10494
10801
  }();
10495
10802
 
10803
+ function ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
10804
+
10805
+ function _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$2(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
10806
+ var channelManagerEventToHandlerMapping = {
10807
+ 'channel.deleted': 'channelDeletedHandler',
10808
+ 'channel.hidden': 'channelHiddenHandler',
10809
+ 'channel.truncated': 'channelTruncatedHandler',
10810
+ 'channel.visible': 'channelVisibleHandler',
10811
+ 'message.new': 'newMessageHandler',
10812
+ 'member.updated': 'memberUpdatedHandler',
10813
+ 'notification.added_to_channel': 'notificationAddedToChannelHandler',
10814
+ 'notification.message_new': 'notificationNewMessageHandler',
10815
+ 'notification.removed_from_channel': 'notificationRemovedFromChannelHandler'
10816
+ };
10817
+ var DEFAULT_CHANNEL_MANAGER_OPTIONS = {
10818
+ abortInFlightQuery: false,
10819
+ allowNotLoadedChannelPromotionForEvent: {
10820
+ 'channel.visible': true,
10821
+ 'message.new': true,
10822
+ 'notification.added_to_channel': true,
10823
+ 'notification.message_new': true
10824
+ },
10825
+ lockChannelOrder: false
10826
+ };
10827
+ var DEFAULT_CHANNEL_MANAGER_PAGINATION_OPTIONS = {
10828
+ limit: 10,
10829
+ offset: 0
10830
+ };
10831
+ /**
10832
+ * A class that manages a list of channels and changes it based on configuration and WS events. The
10833
+ * list of channels is reactive as well as the pagination and it can be subscribed to for state updates.
10834
+ *
10835
+ * @internal
10836
+ */
10837
+
10838
+ var ChannelManager = function ChannelManager(_ref) {
10839
+ var _this = this;
10840
+
10841
+ var client = _ref.client,
10842
+ _ref$eventHandlerOver = _ref.eventHandlerOverrides,
10843
+ _eventHandlerOverrides = _ref$eventHandlerOver === void 0 ? {} : _ref$eventHandlerOver,
10844
+ _ref$options = _ref.options,
10845
+ _options = _ref$options === void 0 ? {} : _ref$options;
10846
+
10847
+ _classCallCheck__default['default'](this, ChannelManager);
10848
+
10849
+ _defineProperty__default['default'](this, "state", void 0);
10850
+
10851
+ _defineProperty__default['default'](this, "client", void 0);
10852
+
10853
+ _defineProperty__default['default'](this, "unsubscribeFunctions", new Set());
10854
+
10855
+ _defineProperty__default['default'](this, "eventHandlers", new Map());
10856
+
10857
+ _defineProperty__default['default'](this, "eventHandlerOverrides", new Map());
10858
+
10859
+ _defineProperty__default['default'](this, "options", {});
10860
+
10861
+ _defineProperty__default['default'](this, "stateOptions", {});
10862
+
10863
+ _defineProperty__default['default'](this, "setChannels", function (valueOrFactory) {
10864
+ _this.state.next(function (current) {
10865
+ var currentChannels = current.channels;
10866
+ var newChannels = isPatch(valueOrFactory) ? valueOrFactory(currentChannels) : valueOrFactory; // If the references between the two values are the same, just return the
10867
+ // current state; otherwise trigger a state change.
10868
+
10869
+ if (currentChannels === newChannels) {
10870
+ return current;
10871
+ }
10872
+
10873
+ return _objectSpread$2(_objectSpread$2({}, current), {}, {
10874
+ channels: newChannels
10875
+ });
10876
+ });
10877
+ });
10878
+
10879
+ _defineProperty__default['default'](this, "setEventHandlerOverrides", function () {
10880
+ var eventHandlerOverrides = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
10881
+ var truthyEventHandlerOverrides = Object.entries(eventHandlerOverrides).reduce(function (acc, _ref2) {
10882
+ var _ref3 = _slicedToArray__default['default'](_ref2, 2),
10883
+ key = _ref3[0],
10884
+ value = _ref3[1];
10885
+
10886
+ if (value) {
10887
+ acc[key] = value;
10888
+ }
10889
+
10890
+ return acc;
10891
+ }, {});
10892
+ _this.eventHandlerOverrides = new Map(Object.entries(truthyEventHandlerOverrides));
10893
+ });
10894
+
10895
+ _defineProperty__default['default'](this, "setOptions", function () {
10896
+ var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
10897
+ _this.options = _objectSpread$2(_objectSpread$2({}, DEFAULT_CHANNEL_MANAGER_OPTIONS), options);
10898
+ });
10899
+
10900
+ _defineProperty__default['default'](this, "queryChannels", /*#__PURE__*/function () {
10901
+ var _ref4 = _asyncToGenerator__default['default']( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(filters) {
10902
+ var sort,
10903
+ options,
10904
+ stateOptions,
10905
+ _DEFAULT_CHANNEL_MANA,
10906
+ offset,
10907
+ limit,
10908
+ _this$state$getLatest,
10909
+ isLoading,
10910
+ _channels$length,
10911
+ _channels$length2,
10912
+ channels,
10913
+ newOffset,
10914
+ newOptions,
10915
+ _this$state$getLatest2,
10916
+ pagination,
10917
+ _args = arguments;
10918
+
10919
+ return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
10920
+ while (1) {
10921
+ switch (_context.prev = _context.next) {
10922
+ case 0:
10923
+ sort = _args.length > 1 && _args[1] !== undefined ? _args[1] : [];
10924
+ options = _args.length > 2 && _args[2] !== undefined ? _args[2] : {};
10925
+ stateOptions = _args.length > 3 && _args[3] !== undefined ? _args[3] : {};
10926
+ _DEFAULT_CHANNEL_MANA = _objectSpread$2(_objectSpread$2({}, DEFAULT_CHANNEL_MANAGER_PAGINATION_OPTIONS), options), offset = _DEFAULT_CHANNEL_MANA.offset, limit = _DEFAULT_CHANNEL_MANA.limit;
10927
+ _this$state$getLatest = _this.state.getLatestValue(), isLoading = _this$state$getLatest.pagination.isLoading;
10928
+
10929
+ if (!(isLoading && !_this.options.abortInFlightQuery)) {
10930
+ _context.next = 7;
10931
+ break;
10932
+ }
10933
+
10934
+ return _context.abrupt("return");
10935
+
10936
+ case 7:
10937
+ _context.prev = 7;
10938
+ _this.stateOptions = stateOptions;
10939
+
10940
+ _this.state.next(function (currentState) {
10941
+ return _objectSpread$2(_objectSpread$2({}, currentState), {}, {
10942
+ pagination: _objectSpread$2(_objectSpread$2({}, currentState.pagination), {}, {
10943
+ isLoading: true,
10944
+ isLoadingNext: false,
10945
+ filters: filters,
10946
+ sort: sort,
10947
+ options: options
10948
+ })
10949
+ });
10950
+ });
10951
+
10952
+ _context.next = 12;
10953
+ return _this.client.queryChannels(filters, sort, options, stateOptions);
10954
+
10955
+ case 12:
10956
+ channels = _context.sent;
10957
+ newOffset = offset + ((_channels$length = channels === null || channels === void 0 ? void 0 : channels.length) !== null && _channels$length !== void 0 ? _channels$length : 0);
10958
+ newOptions = _objectSpread$2(_objectSpread$2({}, options), {}, {
10959
+ offset: newOffset
10960
+ });
10961
+ _this$state$getLatest2 = _this.state.getLatestValue(), pagination = _this$state$getLatest2.pagination;
10962
+
10963
+ _this.state.partialNext({
10964
+ channels: channels,
10965
+ pagination: _objectSpread$2(_objectSpread$2({}, pagination), {}, {
10966
+ hasNext: ((_channels$length2 = channels === null || channels === void 0 ? void 0 : channels.length) !== null && _channels$length2 !== void 0 ? _channels$length2 : 0) >= limit,
10967
+ isLoading: false,
10968
+ options: newOptions
10969
+ }),
10970
+ initialized: true
10971
+ });
10972
+
10973
+ _context.next = 24;
10974
+ break;
10975
+
10976
+ case 19:
10977
+ _context.prev = 19;
10978
+ _context.t0 = _context["catch"](7);
10979
+
10980
+ _this.client.logger('error', _context.t0.message);
10981
+
10982
+ _this.state.next(function (currentState) {
10983
+ return _objectSpread$2(_objectSpread$2({}, currentState), {}, {
10984
+ pagination: _objectSpread$2(_objectSpread$2({}, currentState.pagination), {}, {
10985
+ isLoading: false
10986
+ })
10987
+ });
10988
+ });
10989
+
10990
+ throw _context.t0;
10991
+
10992
+ case 24:
10993
+ case "end":
10994
+ return _context.stop();
10995
+ }
10996
+ }
10997
+ }, _callee, null, [[7, 19]]);
10998
+ }));
10999
+
11000
+ return function (_x) {
11001
+ return _ref4.apply(this, arguments);
11002
+ };
11003
+ }());
11004
+
11005
+ _defineProperty__default['default'](this, "loadNext", /*#__PURE__*/_asyncToGenerator__default['default']( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee2() {
11006
+ var _this$state$getLatest3, pagination, initialized, filters, sort, options, isLoadingNext, hasNext, _nextChannels$length, _nextChannels$length2, _DEFAULT_CHANNEL_MANA2, offset, limit, nextChannels, _this$state$getLatest4, channels, newOffset, newOptions;
11007
+
11008
+ return _regeneratorRuntime__default['default'].wrap(function _callee2$(_context2) {
11009
+ while (1) {
11010
+ switch (_context2.prev = _context2.next) {
11011
+ case 0:
11012
+ _this$state$getLatest3 = _this.state.getLatestValue(), pagination = _this$state$getLatest3.pagination, initialized = _this$state$getLatest3.initialized;
11013
+ filters = pagination.filters, sort = pagination.sort, options = pagination.options, isLoadingNext = pagination.isLoadingNext, hasNext = pagination.hasNext;
11014
+
11015
+ if (!(!initialized || isLoadingNext || !hasNext)) {
11016
+ _context2.next = 4;
11017
+ break;
11018
+ }
11019
+
11020
+ return _context2.abrupt("return");
11021
+
11022
+ case 4:
11023
+ _context2.prev = 4;
11024
+ _DEFAULT_CHANNEL_MANA2 = _objectSpread$2(_objectSpread$2({}, DEFAULT_CHANNEL_MANAGER_PAGINATION_OPTIONS), options), offset = _DEFAULT_CHANNEL_MANA2.offset, limit = _DEFAULT_CHANNEL_MANA2.limit;
11025
+
11026
+ _this.state.partialNext({
11027
+ pagination: _objectSpread$2(_objectSpread$2({}, pagination), {}, {
11028
+ isLoading: false,
11029
+ isLoadingNext: true
11030
+ })
11031
+ });
11032
+
11033
+ _context2.next = 9;
11034
+ return _this.client.queryChannels(filters, sort, options, _this.stateOptions);
11035
+
11036
+ case 9:
11037
+ nextChannels = _context2.sent;
11038
+ _this$state$getLatest4 = _this.state.getLatestValue(), channels = _this$state$getLatest4.channels;
11039
+ newOffset = offset + ((_nextChannels$length = nextChannels === null || nextChannels === void 0 ? void 0 : nextChannels.length) !== null && _nextChannels$length !== void 0 ? _nextChannels$length : 0);
11040
+ newOptions = _objectSpread$2(_objectSpread$2({}, options), {}, {
11041
+ offset: newOffset
11042
+ });
11043
+
11044
+ _this.state.partialNext({
11045
+ channels: uniqBy([].concat(_toConsumableArray__default['default'](channels || []), _toConsumableArray__default['default'](nextChannels)), 'cid'),
11046
+ pagination: _objectSpread$2(_objectSpread$2({}, pagination), {}, {
11047
+ hasNext: ((_nextChannels$length2 = nextChannels === null || nextChannels === void 0 ? void 0 : nextChannels.length) !== null && _nextChannels$length2 !== void 0 ? _nextChannels$length2 : 0) >= limit,
11048
+ isLoading: false,
11049
+ isLoadingNext: false,
11050
+ options: newOptions
11051
+ })
11052
+ });
11053
+
11054
+ _context2.next = 21;
11055
+ break;
11056
+
11057
+ case 16:
11058
+ _context2.prev = 16;
11059
+ _context2.t0 = _context2["catch"](4);
11060
+
11061
+ _this.client.logger('error', _context2.t0.message);
11062
+
11063
+ _this.state.next(function (currentState) {
11064
+ return _objectSpread$2(_objectSpread$2({}, currentState), {}, {
11065
+ pagination: _objectSpread$2(_objectSpread$2({}, currentState.pagination), {}, {
11066
+ isLoadingNext: false
11067
+ })
11068
+ });
11069
+ });
11070
+
11071
+ throw _context2.t0;
11072
+
11073
+ case 21:
11074
+ case "end":
11075
+ return _context2.stop();
11076
+ }
11077
+ }
11078
+ }, _callee2, null, [[4, 16]]);
11079
+ })));
11080
+
11081
+ _defineProperty__default['default'](this, "notificationAddedToChannelHandler", /*#__PURE__*/function () {
11082
+ var _ref6 = _asyncToGenerator__default['default']( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee3(event) {
11083
+ var _event$channel, _this$options$allowNo;
11084
+
11085
+ var _ref7, id, type, members, channel, _this$state$getLatest5, pagination, channels, _ref9, sort;
11086
+
11087
+ return _regeneratorRuntime__default['default'].wrap(function _callee3$(_context3) {
11088
+ while (1) {
11089
+ switch (_context3.prev = _context3.next) {
11090
+ case 0:
11091
+ _ref7 = (_event$channel = event === null || event === void 0 ? void 0 : event.channel) !== null && _event$channel !== void 0 ? _event$channel : {}, id = _ref7.id, type = _ref7.type, members = _ref7.members;
11092
+
11093
+ if (!(!type || !((_this$options$allowNo = _this.options.allowNotLoadedChannelPromotionForEvent) !== null && _this$options$allowNo !== void 0 && _this$options$allowNo['notification.added_to_channel']))) {
11094
+ _context3.next = 3;
11095
+ break;
11096
+ }
11097
+
11098
+ return _context3.abrupt("return");
11099
+
11100
+ case 3:
11101
+ _context3.next = 5;
11102
+ return getAndWatchChannel({
11103
+ client: _this.client,
11104
+ id: id,
11105
+ members: members === null || members === void 0 ? void 0 : members.reduce(function (acc, _ref8) {
11106
+ var user = _ref8.user,
11107
+ user_id = _ref8.user_id;
11108
+ var userId = user_id || (user === null || user === void 0 ? void 0 : user.id);
11109
+
11110
+ if (userId) {
11111
+ acc.push(userId);
11112
+ }
11113
+
11114
+ return acc;
11115
+ }, []),
11116
+ type: type
11117
+ });
11118
+
11119
+ case 5:
11120
+ channel = _context3.sent;
11121
+ _this$state$getLatest5 = _this.state.getLatestValue(), pagination = _this$state$getLatest5.pagination, channels = _this$state$getLatest5.channels;
11122
+
11123
+ if (channels) {
11124
+ _context3.next = 9;
11125
+ break;
11126
+ }
11127
+
11128
+ return _context3.abrupt("return");
11129
+
11130
+ case 9:
11131
+ _ref9 = pagination !== null && pagination !== void 0 ? pagination : {}, sort = _ref9.sort;
11132
+
11133
+ _this.setChannels(promoteChannel({
11134
+ channels: channels,
11135
+ channelToMove: channel,
11136
+ sort: sort
11137
+ }));
11138
+
11139
+ case 11:
11140
+ case "end":
11141
+ return _context3.stop();
11142
+ }
11143
+ }
11144
+ }, _callee3);
11145
+ }));
11146
+
11147
+ return function (_x2) {
11148
+ return _ref6.apply(this, arguments);
11149
+ };
11150
+ }());
11151
+
11152
+ _defineProperty__default['default'](this, "channelDeletedHandler", function (event) {
11153
+ var _this$state$getLatest6 = _this.state.getLatestValue(),
11154
+ channels = _this$state$getLatest6.channels;
11155
+
11156
+ if (!channels) {
11157
+ return;
11158
+ }
11159
+
11160
+ var newChannels = _toConsumableArray__default['default'](channels);
11161
+
11162
+ var channelIndex = newChannels.findIndex(function (channel) {
11163
+ var _event$channel2;
11164
+
11165
+ return channel.cid === (event.cid || ((_event$channel2 = event.channel) === null || _event$channel2 === void 0 ? void 0 : _event$channel2.cid));
11166
+ });
11167
+
11168
+ if (channelIndex < 0) {
11169
+ return;
11170
+ }
11171
+
11172
+ newChannels.splice(channelIndex, 1);
11173
+
11174
+ _this.setChannels(newChannels);
11175
+ });
11176
+
11177
+ _defineProperty__default['default'](this, "channelHiddenHandler", this.channelDeletedHandler);
11178
+
11179
+ _defineProperty__default['default'](this, "newMessageHandler", function (event) {
11180
+ var _this$options$allowNo2;
11181
+
11182
+ var _this$state$getLatest7 = _this.state.getLatestValue(),
11183
+ pagination = _this$state$getLatest7.pagination,
11184
+ channels = _this$state$getLatest7.channels;
11185
+
11186
+ if (!channels) {
11187
+ return;
11188
+ }
11189
+
11190
+ var _ref10 = pagination !== null && pagination !== void 0 ? pagination : {},
11191
+ filters = _ref10.filters,
11192
+ sort = _ref10.sort;
11193
+
11194
+ var channelType = event.channel_type;
11195
+ var channelId = event.channel_id;
11196
+
11197
+ if (!channelType || !channelId) {
11198
+ return;
11199
+ }
11200
+
11201
+ var targetChannel = _this.client.channel(channelType, channelId);
11202
+
11203
+ var targetChannelIndex = channels.indexOf(targetChannel);
11204
+ var targetChannelExistsWithinList = targetChannelIndex >= 0;
11205
+ var isTargetChannelPinned = isChannelPinned(targetChannel);
11206
+ var isTargetChannelArchived = isChannelArchived(targetChannel);
11207
+ var considerArchivedChannels = shouldConsiderArchivedChannels(filters);
11208
+ var considerPinnedChannels = shouldConsiderPinnedChannels(sort);
11209
+
11210
+ if ( // filter is defined, target channel is archived and filter option is set to false
11211
+ considerArchivedChannels && isTargetChannelArchived && !filters.archived || // filter is defined, target channel isn't archived and filter option is set to true
11212
+ considerArchivedChannels && !isTargetChannelArchived && filters.archived || // sort option is defined, target channel is pinned
11213
+ considerPinnedChannels && isTargetChannelPinned || // list order is locked
11214
+ _this.options.lockChannelOrder || // target channel is not within the loaded list and loading from cache is disallowed
11215
+ !targetChannelExistsWithinList && !((_this$options$allowNo2 = _this.options.allowNotLoadedChannelPromotionForEvent) !== null && _this$options$allowNo2 !== void 0 && _this$options$allowNo2['message.new'])) {
11216
+ return;
11217
+ }
11218
+
11219
+ _this.setChannels(promoteChannel({
11220
+ channels: channels,
11221
+ channelToMove: targetChannel,
11222
+ channelToMoveIndexWithinChannels: targetChannelIndex,
11223
+ sort: sort
11224
+ }));
11225
+ });
11226
+
11227
+ _defineProperty__default['default'](this, "notificationNewMessageHandler", /*#__PURE__*/function () {
11228
+ var _ref11 = _asyncToGenerator__default['default']( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee4(event) {
11229
+ var _event$channel3, _this$options$allowNo3;
11230
+
11231
+ var _ref12, id, type, channel, _this$state$getLatest8, channels, pagination, _ref13, filters, sort, considerArchivedChannels, isTargetChannelArchived;
11232
+
11233
+ return _regeneratorRuntime__default['default'].wrap(function _callee4$(_context4) {
11234
+ while (1) {
11235
+ switch (_context4.prev = _context4.next) {
11236
+ case 0:
11237
+ _ref12 = (_event$channel3 = event === null || event === void 0 ? void 0 : event.channel) !== null && _event$channel3 !== void 0 ? _event$channel3 : {}, id = _ref12.id, type = _ref12.type;
11238
+
11239
+ if (!(!id || !type)) {
11240
+ _context4.next = 3;
11241
+ break;
11242
+ }
11243
+
11244
+ return _context4.abrupt("return");
11245
+
11246
+ case 3:
11247
+ _context4.next = 5;
11248
+ return getAndWatchChannel({
11249
+ client: _this.client,
11250
+ id: id,
11251
+ type: type
11252
+ });
11253
+
11254
+ case 5:
11255
+ channel = _context4.sent;
11256
+ _this$state$getLatest8 = _this.state.getLatestValue(), channels = _this$state$getLatest8.channels, pagination = _this$state$getLatest8.pagination;
11257
+ _ref13 = pagination !== null && pagination !== void 0 ? pagination : {}, filters = _ref13.filters, sort = _ref13.sort;
11258
+ considerArchivedChannels = shouldConsiderArchivedChannels(filters);
11259
+ isTargetChannelArchived = isChannelArchived(channel);
11260
+
11261
+ if (!(!channels || considerArchivedChannels && isTargetChannelArchived && !filters.archived || considerArchivedChannels && !isTargetChannelArchived && filters.archived || !((_this$options$allowNo3 = _this.options.allowNotLoadedChannelPromotionForEvent) !== null && _this$options$allowNo3 !== void 0 && _this$options$allowNo3['notification.message_new']))) {
11262
+ _context4.next = 12;
11263
+ break;
11264
+ }
11265
+
11266
+ return _context4.abrupt("return");
11267
+
11268
+ case 12:
11269
+ _this.setChannels(promoteChannel({
11270
+ channels: channels,
11271
+ channelToMove: channel,
11272
+ sort: sort
11273
+ }));
11274
+
11275
+ case 13:
11276
+ case "end":
11277
+ return _context4.stop();
11278
+ }
11279
+ }
11280
+ }, _callee4);
11281
+ }));
11282
+
11283
+ return function (_x3) {
11284
+ return _ref11.apply(this, arguments);
11285
+ };
11286
+ }());
11287
+
11288
+ _defineProperty__default['default'](this, "channelVisibleHandler", /*#__PURE__*/function () {
11289
+ var _ref14 = _asyncToGenerator__default['default']( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee5(event) {
11290
+ var _this$options$allowNo4;
11291
+
11292
+ var channelType, channelId, channel, _this$state$getLatest9, channels, pagination, _ref15, sort, filters, considerArchivedChannels, isTargetChannelArchived;
11293
+
11294
+ return _regeneratorRuntime__default['default'].wrap(function _callee5$(_context5) {
11295
+ while (1) {
11296
+ switch (_context5.prev = _context5.next) {
11297
+ case 0:
11298
+ channelType = event.channel_type, channelId = event.channel_id;
11299
+
11300
+ if (!(!channelType || !channelId)) {
11301
+ _context5.next = 3;
11302
+ break;
11303
+ }
11304
+
11305
+ return _context5.abrupt("return");
11306
+
11307
+ case 3:
11308
+ _context5.next = 5;
11309
+ return getAndWatchChannel({
11310
+ client: _this.client,
11311
+ id: event.channel_id,
11312
+ type: event.channel_type
11313
+ });
11314
+
11315
+ case 5:
11316
+ channel = _context5.sent;
11317
+ _this$state$getLatest9 = _this.state.getLatestValue(), channels = _this$state$getLatest9.channels, pagination = _this$state$getLatest9.pagination;
11318
+ _ref15 = pagination !== null && pagination !== void 0 ? pagination : {}, sort = _ref15.sort, filters = _ref15.filters;
11319
+ considerArchivedChannels = shouldConsiderArchivedChannels(filters);
11320
+ isTargetChannelArchived = isChannelArchived(channel);
11321
+
11322
+ if (!(!channels || considerArchivedChannels && isTargetChannelArchived && !filters.archived || considerArchivedChannels && !isTargetChannelArchived && filters.archived || !((_this$options$allowNo4 = _this.options.allowNotLoadedChannelPromotionForEvent) !== null && _this$options$allowNo4 !== void 0 && _this$options$allowNo4['channel.visible']))) {
11323
+ _context5.next = 12;
11324
+ break;
11325
+ }
11326
+
11327
+ return _context5.abrupt("return");
11328
+
11329
+ case 12:
11330
+ _this.setChannels(promoteChannel({
11331
+ channels: channels,
11332
+ channelToMove: channel,
11333
+ sort: sort
11334
+ }));
11335
+
11336
+ case 13:
11337
+ case "end":
11338
+ return _context5.stop();
11339
+ }
11340
+ }
11341
+ }, _callee5);
11342
+ }));
11343
+
11344
+ return function (_x4) {
11345
+ return _ref14.apply(this, arguments);
11346
+ };
11347
+ }());
11348
+
11349
+ _defineProperty__default['default'](this, "notificationRemovedFromChannelHandler", this.channelDeletedHandler);
11350
+
11351
+ _defineProperty__default['default'](this, "memberUpdatedHandler", function (event) {
11352
+ var _event$member;
11353
+
11354
+ var _this$state$getLatest10 = _this.state.getLatestValue(),
11355
+ pagination = _this$state$getLatest10.pagination,
11356
+ channels = _this$state$getLatest10.channels;
11357
+
11358
+ var filters = pagination.filters,
11359
+ sort = pagination.sort;
11360
+
11361
+ if (!((_event$member = event.member) !== null && _event$member !== void 0 && _event$member.user) || event.member.user.id !== _this.client.userID || !event.channel_type || !event.channel_id) {
11362
+ return;
11363
+ }
11364
+
11365
+ var channelType = event.channel_type;
11366
+ var channelId = event.channel_id;
11367
+ var considerPinnedChannels = shouldConsiderPinnedChannels(sort);
11368
+ var considerArchivedChannels = shouldConsiderArchivedChannels(filters);
11369
+ var pinnedAtSort = extractSortValue({
11370
+ atIndex: 0,
11371
+ sort: sort,
11372
+ targetKey: 'pinned_at'
11373
+ });
11374
+
11375
+ if (!channels || !considerPinnedChannels && !considerArchivedChannels || _this.options.lockChannelOrder) {
11376
+ return;
11377
+ }
11378
+
11379
+ var targetChannel = _this.client.channel(channelType, channelId); // assumes that channel instances are not changing
11380
+
11381
+
11382
+ var targetChannelIndex = channels.indexOf(targetChannel);
11383
+ var targetChannelExistsWithinList = targetChannelIndex >= 0;
11384
+ var isTargetChannelPinned = isChannelPinned(targetChannel);
11385
+ var isTargetChannelArchived = isChannelArchived(targetChannel);
11386
+
11387
+ var newChannels = _toConsumableArray__default['default'](channels);
11388
+
11389
+ if (targetChannelExistsWithinList) {
11390
+ newChannels.splice(targetChannelIndex, 1);
11391
+ } // handle archiving (remove channel)
11392
+
11393
+
11394
+ if ( // When archived filter true, and channel is unarchived
11395
+ considerArchivedChannels && !isTargetChannelArchived && filters !== null && filters !== void 0 && filters.archived || // When archived filter false, and channel is archived
11396
+ considerArchivedChannels && isTargetChannelArchived && !(filters !== null && filters !== void 0 && filters.archived)) {
11397
+ _this.setChannels(newChannels);
11398
+
11399
+ return;
11400
+ } // handle pinning
11401
+
11402
+
11403
+ var lastPinnedChannelIndex = null;
11404
+
11405
+ if (pinnedAtSort === 1 || pinnedAtSort === -1 && !isTargetChannelPinned) {
11406
+ lastPinnedChannelIndex = findLastPinnedChannelIndex({
11407
+ channels: newChannels
11408
+ });
11409
+ }
11410
+
11411
+ var newTargetChannelIndex = typeof lastPinnedChannelIndex === 'number' ? lastPinnedChannelIndex + 1 : 0; // skip state update if the position of the channel does not change
11412
+
11413
+ if (channels[newTargetChannelIndex] === targetChannel) {
11414
+ return;
11415
+ }
11416
+
11417
+ newChannels.splice(newTargetChannelIndex, 0, targetChannel);
11418
+
11419
+ _this.setChannels(newChannels);
11420
+ });
11421
+
11422
+ _defineProperty__default['default'](this, "subscriptionOrOverride", function (event) {
11423
+ var handlerName = channelManagerEventToHandlerMapping[event.type];
11424
+
11425
+ var defaultEventHandler = _this.eventHandlers.get(handlerName);
11426
+
11427
+ var eventHandlerOverride = _this.eventHandlerOverrides.get(handlerName);
11428
+
11429
+ if (eventHandlerOverride && typeof eventHandlerOverride === 'function') {
11430
+ eventHandlerOverride(_this.setChannels, event);
11431
+ return;
11432
+ }
11433
+
11434
+ if (defaultEventHandler && typeof defaultEventHandler === 'function') {
11435
+ defaultEventHandler(event);
11436
+ }
11437
+ });
11438
+
11439
+ _defineProperty__default['default'](this, "registerSubscriptions", function () {
11440
+ if (_this.unsubscribeFunctions.size) {
11441
+ // Already listening for events and changes
11442
+ return;
11443
+ }
11444
+
11445
+ for (var _i = 0, _Object$keys = Object.keys(channelManagerEventToHandlerMapping); _i < _Object$keys.length; _i++) {
11446
+ var eventType = _Object$keys[_i];
11447
+
11448
+ _this.unsubscribeFunctions.add(_this.client.on(eventType, _this.subscriptionOrOverride).unsubscribe);
11449
+ }
11450
+ });
11451
+
11452
+ _defineProperty__default['default'](this, "unregisterSubscriptions", function () {
11453
+ _this.unsubscribeFunctions.forEach(function (cleanupFunction) {
11454
+ return cleanupFunction();
11455
+ });
11456
+
11457
+ _this.unsubscribeFunctions.clear();
11458
+ });
11459
+
11460
+ this.client = client;
11461
+ this.state = new StateStore({
11462
+ channels: [],
11463
+ pagination: {
11464
+ isLoading: false,
11465
+ isLoadingNext: false,
11466
+ hasNext: false,
11467
+ filters: {},
11468
+ sort: {},
11469
+ options: DEFAULT_CHANNEL_MANAGER_PAGINATION_OPTIONS
11470
+ },
11471
+ initialized: false
11472
+ });
11473
+ this.setEventHandlerOverrides(_eventHandlerOverrides);
11474
+ this.setOptions(_options);
11475
+ this.eventHandlers = new Map(Object.entries({
11476
+ channelDeletedHandler: this.channelDeletedHandler,
11477
+ channelHiddenHandler: this.channelHiddenHandler,
11478
+ channelVisibleHandler: this.channelVisibleHandler,
11479
+ memberUpdatedHandler: this.memberUpdatedHandler,
11480
+ newMessageHandler: this.newMessageHandler,
11481
+ notificationAddedToChannelHandler: this.notificationAddedToChannelHandler,
11482
+ notificationNewMessageHandler: this.notificationNewMessageHandler,
11483
+ notificationRemovedFromChannelHandler: this.notificationRemovedFromChannelHandler
11484
+ }));
11485
+ };
11486
+
10496
11487
  var _excluded$1 = ["created_at", "updated_at", "last_active", "online"],
10497
11488
  _excluded2 = ["params", "headers"];
10498
11489
 
@@ -10720,6 +11711,18 @@ var StreamChat = /*#__PURE__*/function () {
10720
11711
  };
10721
11712
  }());
10722
11713
 
11714
+ _defineProperty__default['default'](this, "createChannelManager", function (_ref3) {
11715
+ var _ref3$eventHandlerOve = _ref3.eventHandlerOverrides,
11716
+ eventHandlerOverrides = _ref3$eventHandlerOve === void 0 ? {} : _ref3$eventHandlerOve,
11717
+ _ref3$options = _ref3.options,
11718
+ options = _ref3$options === void 0 ? {} : _ref3$options;
11719
+ return new ChannelManager({
11720
+ client: _this,
11721
+ eventHandlerOverrides: eventHandlerOverrides,
11722
+ options: options
11723
+ });
11724
+ });
11725
+
10723
11726
  _defineProperty__default['default'](this, "openConnection", /*#__PURE__*/_asyncToGenerator__default['default']( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee3() {
10724
11727
  var _this$wsConnection3, _this$wsConnection4, _this$wsFallback3;
10725
11728
 
@@ -10789,7 +11792,7 @@ var StreamChat = /*#__PURE__*/function () {
10789
11792
  });
10790
11793
 
10791
11794
  _defineProperty__default['default'](this, "disconnectUser", /*#__PURE__*/function () {
10792
- var _ref4 = _asyncToGenerator__default['default']( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee4(timeout) {
11795
+ var _ref5 = _asyncToGenerator__default['default']( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee4(timeout) {
10793
11796
  var closePromise, _i, _Object$values, _channel;
10794
11797
 
10795
11798
  return _regeneratorRuntime__default['default'].wrap(function _callee4$(_context4) {
@@ -10837,7 +11840,7 @@ var StreamChat = /*#__PURE__*/function () {
10837
11840
  }));
10838
11841
 
10839
11842
  return function (_x4) {
10840
- return _ref4.apply(this, arguments);
11843
+ return _ref5.apply(this, arguments);
10841
11844
  };
10842
11845
  }());
10843
11846
 
@@ -10865,7 +11868,7 @@ var StreamChat = /*#__PURE__*/function () {
10865
11868
  _defineProperty__default['default'](this, "setAnonymousUser", this.connectAnonymousUser);
10866
11869
 
10867
11870
  _defineProperty__default['default'](this, "doAxiosRequest", /*#__PURE__*/function () {
10868
- var _ref5 = _asyncToGenerator__default['default']( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee5(type, url, data) {
11871
+ var _ref6 = _asyncToGenerator__default['default']( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee5(type, url, data) {
10869
11872
  var options,
10870
11873
  requestConfig,
10871
11874
  response,
@@ -11006,7 +12009,7 @@ var StreamChat = /*#__PURE__*/function () {
11006
12009
  }));
11007
12010
 
11008
12011
  return function (_x5, _x6, _x7) {
11009
- return _ref5.apply(this, arguments);
12012
+ return _ref6.apply(this, arguments);
11010
12013
  };
11011
12014
  }());
11012
12015
 
@@ -11227,13 +12230,19 @@ var StreamChat = /*#__PURE__*/function () {
11227
12230
  })));
11228
12231
 
11229
12232
  _defineProperty__default['default'](this, "getChannelByMembers", function (channelType, custom) {
12233
+ var _custom$members;
12234
+
11230
12235
  // Check if the channel already exists.
11231
12236
  // Only allow 1 channel object per cid
11232
- var membersStr = _toConsumableArray__default['default'](custom.members || []).sort().join(',');
12237
+ var memberIds = ((_custom$members = custom.members) !== null && _custom$members !== void 0 ? _custom$members : []).map(function (member) {
12238
+ var _member$user_id;
11233
12239
 
11234
- var tempCid = "".concat(channelType, ":!members-").concat(membersStr);
12240
+ return typeof member === 'string' ? member : (_member$user_id = member.user_id) !== null && _member$user_id !== void 0 ? _member$user_id : '';
12241
+ });
12242
+ var membersStr = memberIds.sort().join(',');
12243
+ var tempCid = generateChannelTempCid(channelType, memberIds);
11235
12244
 
11236
- if (!membersStr) {
12245
+ if (!tempCid) {
11237
12246
  throw Error('Please specify atleast one member when creating unique conversation');
11238
12247
  } // channel could exist in `activeChannels` list with either one of the following two keys:
11239
12248
  // 1. cid - Which gets set on channel only after calling channel.query or channel.watch or channel.create
@@ -13083,13 +14092,13 @@ var StreamChat = /*#__PURE__*/function () {
13083
14092
  key: "getRateLimits",
13084
14093
  value: function () {
13085
14094
  var _getRateLimits = _asyncToGenerator__default['default']( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee29(params) {
13086
- var _ref7, serverSide, web, android, ios, endpoints;
14095
+ var _ref8, serverSide, web, android, ios, endpoints;
13087
14096
 
13088
14097
  return _regeneratorRuntime__default['default'].wrap(function _callee29$(_context29) {
13089
14098
  while (1) {
13090
14099
  switch (_context29.prev = _context29.next) {
13091
14100
  case 0:
13092
- _ref7 = params || {}, serverSide = _ref7.serverSide, web = _ref7.web, android = _ref7.android, ios = _ref7.ios, endpoints = _ref7.endpoints;
14101
+ _ref8 = params || {}, serverSide = _ref8.serverSide, web = _ref8.web, android = _ref8.android, ios = _ref8.ios, endpoints = _ref8.endpoints;
13093
14102
  return _context29.abrupt("return", this.get(this.baseURL + '/rate_limits', {
13094
14103
  server_side: serverSide,
13095
14104
  web: web,
@@ -13114,9 +14123,9 @@ var StreamChat = /*#__PURE__*/function () {
13114
14123
  }()
13115
14124
  }, {
13116
14125
  key: "_addChannelConfig",
13117
- value: function _addChannelConfig(_ref8) {
13118
- var cid = _ref8.cid,
13119
- config = _ref8.config;
14126
+ value: function _addChannelConfig(_ref9) {
14127
+ var cid = _ref9.cid,
14128
+ config = _ref9.config;
13120
14129
 
13121
14130
  if (this._cacheEnabled()) {
13122
14131
  this.configs[cid] = config;
@@ -13140,7 +14149,7 @@ var StreamChat = /*#__PURE__*/function () {
13140
14149
  }, {
13141
14150
  key: "channel",
13142
14151
  value: function channel(channelType, channelIDOrCustom) {
13143
- var _custom$members;
14152
+ var _custom$members2;
13144
14153
 
13145
14154
  var custom = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
13146
14155
 
@@ -13158,7 +14167,7 @@ var StreamChat = /*#__PURE__*/function () {
13158
14167
  } // // support channel("messaging", undefined, {options})
13159
14168
 
13160
14169
 
13161
- if (!channelIDOrCustom && _typeof__default['default'](custom) === 'object' && (_custom$members = custom.members) !== null && _custom$members !== void 0 && _custom$members.length) {
14170
+ if (!channelIDOrCustom && _typeof__default['default'](custom) === 'object' && (_custom$members2 = custom.members) !== null && _custom$members2 !== void 0 && _custom$members2.length) {
13162
14171
  return this.getChannelByMembers(channelType, custom);
13163
14172
  } // support channel("messaging", null, {options})
13164
14173
  // support channel("messaging", undefined, {options})
@@ -15104,7 +16113,7 @@ var StreamChat = /*#__PURE__*/function () {
15104
16113
  }, {
15105
16114
  key: "getUserAgent",
15106
16115
  value: function getUserAgent() {
15107
- return this.userAgent || "stream-chat-javascript-client-".concat(this.node ? 'node' : 'browser', "-", "8.55.0");
16116
+ return this.userAgent || "stream-chat-javascript-client-".concat(this.node ? 'node' : 'browser', "-", "8.56.1");
15108
16117
  }
15109
16118
  }, {
15110
16119
  key: "setUserAgent",
@@ -15144,10 +16153,10 @@ var StreamChat = /*#__PURE__*/function () {
15144
16153
  });
15145
16154
  }
15146
16155
 
15147
- var _ref9 = this.options.axiosRequestConfig || {},
15148
- axiosRequestConfigParams = _ref9.params,
15149
- axiosRequestConfigHeaders = _ref9.headers,
15150
- axiosRequestConfigRest = _objectWithoutProperties__default['default'](_ref9, _excluded2);
16156
+ var _ref10 = this.options.axiosRequestConfig || {},
16157
+ axiosRequestConfigParams = _ref10.params,
16158
+ axiosRequestConfigHeaders = _ref10.headers,
16159
+ axiosRequestConfigRest = _objectWithoutProperties__default['default'](_ref10, _excluded2);
15151
16160
 
15152
16161
  return _objectSpread$1(_objectSpread$1(_objectSpread$1({
15153
16162
  params: _objectSpread$1(_objectSpread$1({
@@ -16490,13 +17499,13 @@ var StreamChat = /*#__PURE__*/function () {
16490
17499
  }, {
16491
17500
  key: "deletePushProvider",
16492
17501
  value: function () {
16493
- var _deletePushProvider = _asyncToGenerator__default['default']( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee97(_ref10) {
17502
+ var _deletePushProvider = _asyncToGenerator__default['default']( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee97(_ref11) {
16494
17503
  var type, name;
16495
17504
  return _regeneratorRuntime__default['default'].wrap(function _callee97$(_context97) {
16496
17505
  while (1) {
16497
17506
  switch (_context97.prev = _context97.next) {
16498
17507
  case 0:
16499
- type = _ref10.type, name = _ref10.name;
17508
+ type = _ref11.type, name = _ref11.name;
16500
17509
  _context97.next = 3;
16501
17510
  return this.delete(this.baseURL + "/push_providers/".concat(encodeURIComponent(type), "/").concat(encodeURIComponent(name)));
16502
17511
 
@@ -18244,10 +19253,13 @@ exports.BuiltinPermissions = BuiltinPermissions;
18244
19253
  exports.BuiltinRoles = BuiltinRoles;
18245
19254
  exports.Campaign = Campaign;
18246
19255
  exports.Channel = Channel;
19256
+ exports.ChannelManager = ChannelManager;
18247
19257
  exports.ChannelSearchSource = ChannelSearchSource;
18248
19258
  exports.ChannelState = ChannelState;
18249
19259
  exports.CheckSignature = CheckSignature;
18250
19260
  exports.ClientState = ClientState;
19261
+ exports.DEFAULT_CHANNEL_MANAGER_OPTIONS = DEFAULT_CHANNEL_MANAGER_OPTIONS;
19262
+ exports.DEFAULT_CHANNEL_MANAGER_PAGINATION_OPTIONS = DEFAULT_CHANNEL_MANAGER_PAGINATION_OPTIONS;
18251
19263
  exports.Deny = Deny;
18252
19264
  exports.DenyAll = DenyAll;
18253
19265
  exports.DevToken = DevToken;
@@ -18277,6 +19289,7 @@ exports.UserFromToken = UserFromToken;
18277
19289
  exports.UserSearchSource = UserSearchSource;
18278
19290
  exports.buildWsFatalInsight = buildWsFatalInsight;
18279
19291
  exports.buildWsSuccessAfterFailureInsight = buildWsSuccessAfterFailureInsight;
19292
+ exports.channelManagerEventToHandlerMapping = channelManagerEventToHandlerMapping;
18280
19293
  exports.chatCodes = chatCodes;
18281
19294
  exports.decodeBase64 = decodeBase64;
18282
19295
  exports.encodeBase64 = encodeBase64;
@@ -18284,6 +19297,7 @@ exports.extractPollData = extractPollData;
18284
19297
  exports.extractPollEnrichedData = extractPollEnrichedData;
18285
19298
  exports.formatMessage = formatMessage;
18286
19299
  exports.isOwnUser = isOwnUser;
19300
+ exports.isPatch = isPatch;
18287
19301
  exports.isVoteAnswer = isVoteAnswer;
18288
19302
  exports.logChatPromiseExecution = logChatPromiseExecution;
18289
19303
  exports.postInsights = postInsights;