@amityco/ts-sdk-react-native 6.32.4-a4e315c.0 → 6.32.5-2629e79.0

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.
Files changed (104) hide show
  1. package/dist/@types/core/events.d.ts +1 -1
  2. package/dist/@types/core/events.d.ts.map +1 -1
  3. package/dist/@types/core/model.d.ts +1 -1
  4. package/dist/@types/core/model.d.ts.map +1 -1
  5. package/dist/@types/core/payload.d.ts +1 -1
  6. package/dist/@types/core/payload.d.ts.map +1 -1
  7. package/dist/@types/domains/channel.d.ts +1 -0
  8. package/dist/@types/domains/channel.d.ts.map +1 -1
  9. package/dist/channelRepository/api/createChannel.d.ts.map +1 -1
  10. package/dist/channelRepository/api/getChannel.d.ts.map +1 -1
  11. package/dist/channelRepository/api/getChannelByIds.d.ts.map +1 -1
  12. package/dist/channelRepository/api/updateChannel.d.ts.map +1 -1
  13. package/dist/channelRepository/channelMembership/observers/getMembers/ChannelMemberQueryStreamController.d.ts +2 -2
  14. package/dist/channelRepository/channelMembership/observers/getMembers/ChannelMemberQueryStreamController.d.ts.map +1 -1
  15. package/dist/channelRepository/events/onChannelCreated.d.ts +1 -1
  16. package/dist/channelRepository/events/onChannelCreated.d.ts.map +1 -1
  17. package/dist/channelRepository/events/onChannelDeleted.d.ts +1 -1
  18. package/dist/channelRepository/events/onChannelDeleted.d.ts.map +1 -1
  19. package/dist/channelRepository/events/onChannelFetched.d.ts +1 -1
  20. package/dist/channelRepository/events/onChannelFetched.d.ts.map +1 -1
  21. package/dist/channelRepository/events/onChannelJoined.d.ts +1 -1
  22. package/dist/channelRepository/events/onChannelJoined.d.ts.map +1 -1
  23. package/dist/channelRepository/events/onChannelLeft.d.ts +1 -1
  24. package/dist/channelRepository/events/onChannelLeft.d.ts.map +1 -1
  25. package/dist/channelRepository/events/onChannelMemberAdded.d.ts +1 -1
  26. package/dist/channelRepository/events/onChannelMemberAdded.d.ts.map +1 -1
  27. package/dist/channelRepository/events/onChannelMemberBanned.d.ts +1 -1
  28. package/dist/channelRepository/events/onChannelMemberBanned.d.ts.map +1 -1
  29. package/dist/channelRepository/events/onChannelMemberRemoved.d.ts +1 -1
  30. package/dist/channelRepository/events/onChannelMemberRemoved.d.ts.map +1 -1
  31. package/dist/channelRepository/events/onChannelMemberRoleAdded.d.ts +1 -1
  32. package/dist/channelRepository/events/onChannelMemberRoleAdded.d.ts.map +1 -1
  33. package/dist/channelRepository/events/onChannelMemberRoleRemoved.d.ts +1 -1
  34. package/dist/channelRepository/events/onChannelMemberRoleRemoved.d.ts.map +1 -1
  35. package/dist/channelRepository/events/onChannelMemberUnbanned.d.ts +1 -1
  36. package/dist/channelRepository/events/onChannelMemberUnbanned.d.ts.map +1 -1
  37. package/dist/channelRepository/events/onChannelMuted.d.ts +1 -1
  38. package/dist/channelRepository/events/onChannelMuted.d.ts.map +1 -1
  39. package/dist/channelRepository/events/onChannelResolved.d.ts +1 -1
  40. package/dist/channelRepository/events/onChannelResolved.d.ts.map +1 -1
  41. package/dist/channelRepository/events/onChannelUpdated.d.ts +1 -1
  42. package/dist/channelRepository/events/onChannelUpdated.d.ts.map +1 -1
  43. package/dist/channelRepository/events/onUserDeleted.d.ts +1 -1
  44. package/dist/channelRepository/events/onUserDeleted.d.ts.map +1 -1
  45. package/dist/channelRepository/observers/getChannel.d.ts.map +1 -1
  46. package/dist/channelRepository/observers/getChannels/ChannelLiveCollectionController.d.ts.map +1 -1
  47. package/dist/channelRepository/observers/getChannels/ChannelQueryStreamController.d.ts +2 -2
  48. package/dist/channelRepository/observers/getChannels/ChannelQueryStreamController.d.ts.map +1 -1
  49. package/dist/channelRepository/observers/observeChannel.d.ts.map +1 -1
  50. package/dist/channelRepository/observers/observeChannels.d.ts.map +1 -1
  51. package/dist/channelRepository/utils/constructChannelDynamicValue.d.ts +2 -0
  52. package/dist/channelRepository/utils/constructChannelDynamicValue.d.ts.map +1 -0
  53. package/dist/channelRepository/utils/prepareChannelPayload.d.ts +1 -1
  54. package/dist/channelRepository/utils/prepareChannelPayload.d.ts.map +1 -1
  55. package/dist/channelRepository/utils/resolveUnreadInfoOnChannelEvent.d.ts +1 -1
  56. package/dist/channelRepository/utils/resolveUnreadInfoOnChannelEvent.d.ts.map +1 -1
  57. package/dist/client/utils/removeChannelMarkerCache.d.ts +1 -1
  58. package/dist/client/utils/removeChannelMarkerCache.d.ts.map +1 -1
  59. package/dist/index.cjs.js +138 -128
  60. package/dist/index.esm.js +138 -128
  61. package/dist/index.umd.js +3 -3
  62. package/dist/marker/events/onMessageMarked.d.ts.map +1 -1
  63. package/dist/utils/linkedObject/channelLinkedObject.d.ts.map +1 -1
  64. package/dist/utils/shallowClone.d.ts +1 -1
  65. package/dist/utils/shallowClone.d.ts.map +1 -1
  66. package/package.json +1 -1
  67. package/src/@types/core/events.ts +1 -1
  68. package/src/@types/core/model.ts +1 -1
  69. package/src/@types/core/payload.ts +1 -1
  70. package/src/@types/domains/channel.ts +5 -0
  71. package/src/channelRepository/api/createChannel.ts +2 -1
  72. package/src/channelRepository/api/getChannel.ts +4 -3
  73. package/src/channelRepository/api/getChannelByIds.ts +2 -1
  74. package/src/channelRepository/api/updateChannel.ts +2 -1
  75. package/src/channelRepository/channelMembership/observers/getMembers/ChannelMemberQueryStreamController.ts +2 -2
  76. package/src/channelRepository/events/onChannelCreated.ts +2 -2
  77. package/src/channelRepository/events/onChannelDeleted.ts +2 -2
  78. package/src/channelRepository/events/onChannelFetched.ts +3 -3
  79. package/src/channelRepository/events/onChannelJoined.ts +5 -2
  80. package/src/channelRepository/events/onChannelLeft.ts +5 -2
  81. package/src/channelRepository/events/onChannelMemberAdded.ts +5 -2
  82. package/src/channelRepository/events/onChannelMemberBanned.ts +5 -2
  83. package/src/channelRepository/events/onChannelMemberRemoved.ts +5 -2
  84. package/src/channelRepository/events/onChannelMemberRoleAdded.ts +5 -2
  85. package/src/channelRepository/events/onChannelMemberRoleRemoved.ts +5 -2
  86. package/src/channelRepository/events/onChannelMemberUnbanned.ts +5 -2
  87. package/src/channelRepository/events/onChannelMuted.ts +3 -2
  88. package/src/channelRepository/events/onChannelResolved.ts +2 -2
  89. package/src/channelRepository/events/onChannelUpdated.ts +2 -2
  90. package/src/channelRepository/events/onUserDeleted.ts +8 -2
  91. package/src/channelRepository/observers/getChannel.ts +4 -1
  92. package/src/channelRepository/observers/getChannels/ChannelLiveCollectionController.ts +11 -9
  93. package/src/channelRepository/observers/getChannels/ChannelQueryStreamController.ts +2 -2
  94. package/src/channelRepository/observers/observeChannel.ts +5 -4
  95. package/src/channelRepository/observers/observeChannels.ts +6 -4
  96. package/src/channelRepository/utils/constructChannelDynamicValue.ts +22 -0
  97. package/src/channelRepository/utils/prepareChannelPayload.ts +1 -13
  98. package/src/channelRepository/utils/resolveUnreadInfoOnChannelEvent.ts +2 -2
  99. package/src/channelRepository/utils/updateChannelCache.ts +1 -1
  100. package/src/client/utils/removeChannelMarkerCache.ts +1 -1
  101. package/src/marker/events/onMessageMarked.ts +0 -2
  102. package/src/subChannelRepository/utils/updateSubChannelCache.ts +1 -1
  103. package/src/utils/linkedObject/channelLinkedObject.ts +3 -3
  104. package/src/utils/shallowClone.ts +8 -5
package/dist/index.esm.js CHANGED
@@ -89,8 +89,8 @@ const PostContentType = Object.freeze({
89
89
 
90
90
  function getVersion() {
91
91
  try {
92
- // the string ''v6.32.3-esm'' should be replaced by actual value by @rollup/plugin-replace
93
- return 'v6.32.3-esm';
92
+ // the string ''v6.32.4-esm'' should be replaced by actual value by @rollup/plugin-replace
93
+ return 'v6.32.4-esm';
94
94
  }
95
95
  catch (error) {
96
96
  return '__dev__';
@@ -22016,8 +22016,28 @@ const markAsRead = async (channelId) => {
22016
22016
  return true;
22017
22017
  };
22018
22018
 
22019
+ /**
22020
+ * ```js
22021
+ * import { shallowClone } from '~/utils/shallowClone'
22022
+ * const newObj = shallowClone(obj)
22023
+ * ```
22024
+ *
22025
+ * Clone an object with same prototype and properties
22026
+ *
22027
+ * @param obj the object to clone
22028
+ * @returns new object with same prototype and properties
22029
+ *
22030
+ * @category utility
22031
+ * @private
22032
+ */
22033
+ function shallowClone(source, target) {
22034
+ return Object.create(Object.getPrototypeOf(source), Object.assign(Object.assign({}, Object.getOwnPropertyDescriptors(source)), Object.getOwnPropertyDescriptors(target)));
22035
+ }
22036
+
22019
22037
  const channelLinkedObject = (channel) => {
22020
- return Object.assign(Object.assign({}, channel), { markAsRead: () => markAsRead(channel.channelInternalId) });
22038
+ return shallowClone(channel, {
22039
+ markAsRead: () => markAsRead(channel.channelInternalId),
22040
+ });
22021
22041
  };
22022
22042
 
22023
22043
  const adLinkedObject = (ad) => {
@@ -22188,31 +22208,10 @@ const updateSubChannelMessagePreviewCache = (rawPayload) => {
22188
22208
  ingestInCache(newData);
22189
22209
  };
22190
22210
 
22191
- /**
22192
- * ```js
22193
- * import { shallowClone } from '~/utils/shallowClone'
22194
- * const newObj = shallowClone(obj)
22195
- * ```
22196
- *
22197
- * Clone an object with same prototype and properties
22198
- *
22199
- * @param obj the object to clone
22200
- * @returns new object with same prototype and properties
22201
- *
22202
- * @category utility
22203
- * @private
22204
- */
22205
- function shallowClone(obj) {
22206
- const clone = Object.create(Object.getPrototypeOf(obj));
22207
- const descriptors = Object.getOwnPropertyDescriptors(obj);
22208
- Object.defineProperties(clone, descriptors);
22209
- return clone;
22210
- }
22211
-
22212
22211
  function updateSubChannelCache(subChannelId, subChannel, params) {
22213
22212
  pushToCache(['subChannel', 'get', subChannelId],
22214
22213
  // eslint-disable-next-line prefer-object-spread
22215
- Object.assign(shallowClone(subChannel), params));
22214
+ shallowClone(subChannel, params));
22216
22215
  }
22217
22216
 
22218
22217
  const handleMessageCreated = async (message) => {
@@ -22391,81 +22390,6 @@ const handleSubChannelUpdated = async (subChannel) => {
22391
22390
  }
22392
22391
  };
22393
22392
 
22394
- const getCachedMarker$1 = (entityId) => {
22395
- var _a;
22396
- const key = {
22397
- entityId,
22398
- userId: getActiveUser()._id,
22399
- };
22400
- return (_a = pullFromCache([
22401
- 'channelMarker',
22402
- 'get',
22403
- getResolver('channelMarker')(key),
22404
- ])) === null || _a === void 0 ? void 0 : _a.data;
22405
- };
22406
- const getUnreadInfoCached$1 = (channelId) => {
22407
- var _a;
22408
- return (_a = pullFromCache(['channelUnreadInfo', 'get', channelId])) === null || _a === void 0 ? void 0 : _a.data;
22409
- };
22410
- /**
22411
- * The function use to get value of unreadCount field.
22412
- * function will get the value from marker params first, if there is no hasMentioned field, will look in to the cache.
22413
- *
22414
- * If consistent mode is enabled, the function will return the value from the channelUnreadCountInfo cache.
22415
- * If not, the function will return the value from the channelMarker cache.
22416
- * If not found in the both cache, use `0` as defaul value.
22417
- */
22418
- const getSubChannelsUnreadCount = (channel, marker) => {
22419
- var _a, _b, _c, _d, _e;
22420
- const client = getActiveClient();
22421
- if (client.isUnreadCountEnabled && client.getMarkerSyncConsistentMode()) {
22422
- // Marker service API uses channelInternalId as channelId
22423
- return (_b = (_a = getUnreadInfoCached$1(channel.channelInternalId)) === null || _a === void 0 ? void 0 : _a.unreadCount) !== null && _b !== void 0 ? _b : 0;
22424
- }
22425
- if (marker === null || marker === void 0 ? void 0 : marker.isDeleted) {
22426
- // NOTE: This is a temporary solution to handle the channel marker when the user is forced to
22427
- // leave the channel because currently backend can't handle this, so every time a user is banned
22428
- // from a channel or the channel is deleted the channel's unread count will reset to zero
22429
- return 0;
22430
- }
22431
- return (_e = (_c = marker === null || marker === void 0 ? void 0 : marker.unreadCount) !== null && _c !== void 0 ? _c : (_d = getCachedMarker$1(channel.channelInternalId)) === null || _d === void 0 ? void 0 : _d.unreadCount) !== null && _e !== void 0 ? _e : 0;
22432
- };
22433
-
22434
- const getCachedMarker = (entityId) => {
22435
- var _a;
22436
- const key = {
22437
- entityId,
22438
- userId: getActiveUser()._id,
22439
- };
22440
- return (_a = pullFromCache([
22441
- 'channelMarker',
22442
- 'get',
22443
- getResolver('channelMarker')(key),
22444
- ])) === null || _a === void 0 ? void 0 : _a.data;
22445
- };
22446
- const getUnreadInfoCached = (channelId) => {
22447
- var _a;
22448
- return (_a = pullFromCache(['channelUnreadInfo', 'get', channelId])) === null || _a === void 0 ? void 0 : _a.data;
22449
- };
22450
- /**
22451
- * The function use to get value of hasMentioned or isMentioned field.
22452
- * function will get the value from marker params first, if there is no hasMentioned field, will look in to the cache.
22453
- *
22454
- * If consistent mode is enabled, the function will return the value from the channelUnreadCountInfo cache.
22455
- * If not, the function will return the value from the channelMarker cache.
22456
- * If not found in the both cache, use `false` as defaul value.
22457
- */
22458
- const getChannelIsMentioned = (channel, marker) => {
22459
- var _a, _b, _c, _d;
22460
- const client = getActiveClient();
22461
- if (client.isUnreadCountEnabled && client.getMarkerSyncConsistentMode()) {
22462
- return (_b = (_a = getUnreadInfoCached(channel.channelPublicId)) === null || _a === void 0 ? void 0 : _a.isMentioned) !== null && _b !== void 0 ? _b : false;
22463
- }
22464
- return (marker === null || marker === void 0 ? void 0 : marker.hasMentioned) !== undefined
22465
- ? marker === null || marker === void 0 ? void 0 : marker.hasMentioned
22466
- : (_d = (_c = getCachedMarker(channel.channelPublicId)) === null || _c === void 0 ? void 0 : _c.hasMentioned) !== null && _d !== void 0 ? _d : false;
22467
- };
22468
-
22469
22393
  function convertRawUserToInternalUser(rawUser) {
22470
22394
  return Object.assign(Object.assign({}, rawUser), { isGlobalBanned: (rawUser === null || rawUser === void 0 ? void 0 : rawUser.isGlobalBan) || false });
22471
22395
  }
@@ -22483,18 +22407,7 @@ function convertFromRaw$2(channel, options = { isMessagePreviewUpdated: true })
22483
22407
  if ((messagePreviewChannelCache === null || messagePreviewChannelCache === void 0 ? void 0 : messagePreviewChannelCache.messagePreviewId) && !options.isMessagePreviewUpdated) {
22484
22408
  messagePreviewId = messagePreviewChannelCache.messagePreviewId;
22485
22409
  }
22486
- return Object.assign(Object.assign({ get unreadCount() {
22487
- return getSubChannelsUnreadCount(channel);
22488
- },
22489
- get hasMentioned() {
22490
- return getChannelIsMentioned(channel);
22491
- },
22492
- get isMentioned() {
22493
- return getChannelIsMentioned(channel);
22494
- },
22495
- get subChannelsUnreadCount() {
22496
- return getSubChannelsUnreadCount(channel);
22497
- } }, channel), { defaultSubChannelId: channel.channelInternalId, isUnreadCountSupport: isUnreadCountSupport$2(channel), messagePreviewId });
22410
+ return Object.assign(Object.assign({}, channel), { defaultSubChannelId: channel.channelInternalId, isUnreadCountSupport: isUnreadCountSupport$2(channel), messagePreviewId });
22498
22411
  }
22499
22412
  const preUpdateChannelCache = (rawPayload, options = { isMessagePreviewUpdated: true }) => {
22500
22413
  ingestInCache({
@@ -22616,6 +22529,98 @@ const prepareUnreadCountInfo = async (rawPayload) => {
22616
22529
  client.log('channel/prepareUnreadCountInfo', rawPayload.channels);
22617
22530
  };
22618
22531
 
22532
+ const getCachedMarker$1 = (entityId) => {
22533
+ var _a;
22534
+ const key = {
22535
+ entityId,
22536
+ userId: getActiveUser()._id,
22537
+ };
22538
+ return (_a = pullFromCache([
22539
+ 'channelMarker',
22540
+ 'get',
22541
+ getResolver('channelMarker')(key),
22542
+ ])) === null || _a === void 0 ? void 0 : _a.data;
22543
+ };
22544
+ const getUnreadInfoCached$1 = (channelId) => {
22545
+ var _a;
22546
+ return (_a = pullFromCache(['channelUnreadInfo', 'get', channelId])) === null || _a === void 0 ? void 0 : _a.data;
22547
+ };
22548
+ /**
22549
+ * The function use to get value of hasMentioned or isMentioned field.
22550
+ * function will get the value from marker params first, if there is no hasMentioned field, will look in to the cache.
22551
+ *
22552
+ * If consistent mode is enabled, the function will return the value from the channelUnreadCountInfo cache.
22553
+ * If not, the function will return the value from the channelMarker cache.
22554
+ * If not found in the both cache, use `false` as defaul value.
22555
+ */
22556
+ const getChannelIsMentioned = (channel, marker) => {
22557
+ var _a, _b, _c, _d;
22558
+ const client = getActiveClient();
22559
+ if (client.isUnreadCountEnabled && client.getMarkerSyncConsistentMode()) {
22560
+ return (_b = (_a = getUnreadInfoCached$1(channel.channelPublicId)) === null || _a === void 0 ? void 0 : _a.isMentioned) !== null && _b !== void 0 ? _b : false;
22561
+ }
22562
+ return (marker === null || marker === void 0 ? void 0 : marker.hasMentioned) !== undefined
22563
+ ? marker === null || marker === void 0 ? void 0 : marker.hasMentioned
22564
+ : (_d = (_c = getCachedMarker$1(channel.channelPublicId)) === null || _c === void 0 ? void 0 : _c.hasMentioned) !== null && _d !== void 0 ? _d : false;
22565
+ };
22566
+
22567
+ const getCachedMarker = (entityId) => {
22568
+ var _a;
22569
+ const key = {
22570
+ entityId,
22571
+ userId: getActiveUser()._id,
22572
+ };
22573
+ return (_a = pullFromCache([
22574
+ 'channelMarker',
22575
+ 'get',
22576
+ getResolver('channelMarker')(key),
22577
+ ])) === null || _a === void 0 ? void 0 : _a.data;
22578
+ };
22579
+ const getUnreadInfoCached = (channelId) => {
22580
+ var _a;
22581
+ return (_a = pullFromCache(['channelUnreadInfo', 'get', channelId])) === null || _a === void 0 ? void 0 : _a.data;
22582
+ };
22583
+ /**
22584
+ * The function use to get value of unreadCount field.
22585
+ * function will get the value from marker params first, if there is no hasMentioned field, will look in to the cache.
22586
+ *
22587
+ * If consistent mode is enabled, the function will return the value from the channelUnreadCountInfo cache.
22588
+ * If not, the function will return the value from the channelMarker cache.
22589
+ * If not found in the both cache, use `0` as defaul value.
22590
+ */
22591
+ const getSubChannelsUnreadCount = (channel, marker) => {
22592
+ var _a, _b, _c, _d, _e;
22593
+ const client = getActiveClient();
22594
+ if (client.isUnreadCountEnabled && client.getMarkerSyncConsistentMode()) {
22595
+ // Marker service API uses channelInternalId as channelId
22596
+ return (_b = (_a = getUnreadInfoCached(channel.channelInternalId)) === null || _a === void 0 ? void 0 : _a.unreadCount) !== null && _b !== void 0 ? _b : 0;
22597
+ }
22598
+ if (marker === null || marker === void 0 ? void 0 : marker.isDeleted) {
22599
+ // NOTE: This is a temporary solution to handle the channel marker when the user is forced to
22600
+ // leave the channel because currently backend can't handle this, so every time a user is banned
22601
+ // from a channel or the channel is deleted the channel's unread count will reset to zero
22602
+ return 0;
22603
+ }
22604
+ return (_e = (_c = marker === null || marker === void 0 ? void 0 : marker.unreadCount) !== null && _c !== void 0 ? _c : (_d = getCachedMarker(channel.channelInternalId)) === null || _d === void 0 ? void 0 : _d.unreadCount) !== null && _e !== void 0 ? _e : 0;
22605
+ };
22606
+
22607
+ const constructChannelDynamicValue = (channel) => {
22608
+ return shallowClone(channel, {
22609
+ get unreadCount() {
22610
+ return getSubChannelsUnreadCount(channel);
22611
+ },
22612
+ get hasMentioned() {
22613
+ return getChannelIsMentioned(channel);
22614
+ },
22615
+ get isMentioned() {
22616
+ return getChannelIsMentioned(channel);
22617
+ },
22618
+ get subChannelsUnreadCount() {
22619
+ return getSubChannelsUnreadCount(channel);
22620
+ },
22621
+ });
22622
+ };
22623
+
22619
22624
  /**
22620
22625
  * ```js
22621
22626
  * import { getChannelByIds } from '@amityco/ts-sdk-react-native'
@@ -22660,7 +22665,7 @@ const getChannelByIds = async (channelIds) => {
22660
22665
  ingestInCache(data, { cachedAt });
22661
22666
  fireEvent('local.channel.fetched', data.channels);
22662
22667
  return {
22663
- data: data.channels.map(channel => LinkedObject.channel(channel)),
22668
+ data: data.channels.map(channel => LinkedObject.channel(constructChannelDynamicValue(channel))),
22664
22669
  cachedAt,
22665
22670
  };
22666
22671
  };
@@ -30929,7 +30934,7 @@ const createChannel = async (bundle) => {
30929
30934
  ingestInCache(data, { cachedAt });
30930
30935
  const { channels } = data;
30931
30936
  return {
30932
- data: channels[0],
30937
+ data: constructChannelDynamicValue(channels[0]),
30933
30938
  cachedAt,
30934
30939
  };
30935
30940
  };
@@ -30963,7 +30968,7 @@ const updateChannel = async (channelId, patch) => {
30963
30968
  ingestInCache(data, { cachedAt });
30964
30969
  const { channels } = data;
30965
30970
  return {
30966
- data: channels.find(channel => channel.channelId === channelId),
30971
+ data: constructChannelDynamicValue(channels.find(channel => channel.channelId === channelId)),
30967
30972
  cachedAt,
30968
30973
  };
30969
30974
  };
@@ -31007,7 +31012,7 @@ const getChannel$1 = async (channelId) => {
31007
31012
  ingestInCache(data, { cachedAt });
31008
31013
  const { channels } = data;
31009
31014
  return {
31010
- data: channels.find(channel => channel.channelId === channelId),
31015
+ data: constructChannelDynamicValue(channels.find(channel => channel.channelId === channelId)),
31011
31016
  cachedAt,
31012
31017
  };
31013
31018
  };
@@ -31037,7 +31042,7 @@ getChannel$1.locally = (channelId) => {
31037
31042
  if (!cached || (cached === null || cached === void 0 ? void 0 : cached.length) === 0)
31038
31043
  return;
31039
31044
  return {
31040
- data: cached[0].data,
31045
+ data: constructChannelDynamicValue(cached[0].data),
31041
31046
  cachedAt: cached[0].cachedAt,
31042
31047
  };
31043
31048
  };
@@ -31235,10 +31240,10 @@ const observeChannel = (channelId, callback) => {
31235
31240
  if (((_a = result.data) === null || _a === void 0 ? void 0 : _a.channelId) !== channelId)
31236
31241
  return;
31237
31242
  if (callback instanceof Function)
31238
- return callback(Object.assign(Object.assign({}, result), { data: LinkedObject.channel(result.data) }));
31243
+ return callback(Object.assign(Object.assign({}, result), { data: LinkedObject.channel(constructChannelDynamicValue(result.data)) }));
31239
31244
  if (action !== 'onFetch')
31240
- (_b = callback.onEvent) === null || _b === void 0 ? void 0 : _b.call(callback, action, Object.assign(Object.assign({}, result), { data: LinkedObject.channel(result.data) }));
31241
- (_c = callback[action]) === null || _c === void 0 ? void 0 : _c.call(callback, Object.assign(Object.assign({}, result), { data: LinkedObject.channel(result.data) }));
31245
+ (_b = callback.onEvent) === null || _b === void 0 ? void 0 : _b.call(callback, action, Object.assign(Object.assign({}, result), { data: LinkedObject.channel(constructChannelDynamicValue(result.data)) }));
31246
+ (_c = callback[action]) === null || _c === void 0 ? void 0 : _c.call(callback, Object.assign(Object.assign({}, result), { data: LinkedObject.channel(constructChannelDynamicValue(result.data)) }));
31242
31247
  };
31243
31248
  const disposers = [];
31244
31249
  disposers.push(onChannelUpdated(data => router({ data, loading: false, origin: 'event' }, "onUpdate" /* Amity.ChannelActionType.OnUpdate */)), onChannelDeleted(data => router({ data, loading: false, origin: 'event' }, "onDelete" /* Amity.ChannelActionType.OnDelete */)), onChannelJoined(data => router({ data, loading: false, origin: 'event' }, "onJoin" /* Amity.ChannelActionType.OnJoin */)), onChannelLeft(data => router({ data, loading: false, origin: 'event' }, "onLeft" /* Amity.ChannelActionType.OnLeft */)), onChannelMuted(data => router({ data, loading: false, origin: 'event' }, "onMute" /* Amity.ChannelActionType.OnMute */)), onChannelMemberAdded(data => router({ data, loading: false, origin: 'event' }, "onMemberAdded" /* Amity.ChannelActionType.OnMemberAdded */)), onChannelMemberRemoved(data => router({ data, loading: false, origin: 'event' }, "onMemberRemoved" /* Amity.ChannelActionType.OnMemberRemoved */)), convertEventPayload(onChannelMarkerFetched, 'entityId', 'channel')(data => router({ data, loading: false, origin: 'event' }, "onUpdate" /* Amity.ChannelActionType.OnUpdate */)));
@@ -31272,9 +31277,9 @@ const observeChannels = (callback) => {
31272
31277
  const router = (channel, action) => {
31273
31278
  var _a, _b;
31274
31279
  if (callback instanceof Function)
31275
- return callback(LinkedObject.channel(channel));
31276
- (_a = callback.onEvent) === null || _a === void 0 ? void 0 : _a.call(callback, action, LinkedObject.channel(channel));
31277
- (_b = callback[action]) === null || _b === void 0 ? void 0 : _b.call(callback, LinkedObject.channel(channel));
31280
+ return callback(LinkedObject.channel(constructChannelDynamicValue(channel)));
31281
+ (_a = callback.onEvent) === null || _a === void 0 ? void 0 : _a.call(callback, action, LinkedObject.channel(constructChannelDynamicValue(channel)));
31282
+ (_b = callback[action]) === null || _b === void 0 ? void 0 : _b.call(callback, LinkedObject.channel(constructChannelDynamicValue(channel)));
31278
31283
  };
31279
31284
  disposers.push(onChannelCreated(data => router(data, "onCreate" /* Amity.ChannelActionType.OnCreate */)), onChannelUpdated(data => router(data, "onUpdate" /* Amity.ChannelActionType.OnUpdate */)), onChannelDeleted(data => router(data, "onDelete" /* Amity.ChannelActionType.OnDelete */)), onChannelJoined(data => router(data, "onJoin" /* Amity.ChannelActionType.OnJoin */)), onChannelLeft(data => router(data, "onLeft" /* Amity.ChannelActionType.OnLeft */)), onChannelMuted(data => router(data, "onMute" /* Amity.ChannelActionType.OnMute */)), onChannelMemberAdded(data => router(data, "onMemberAdded" /* Amity.ChannelActionType.OnMemberAdded */)), onChannelMemberRemoved(data => router(data, "onMemberRemoved" /* Amity.ChannelActionType.OnMemberRemoved */)), convertEventPayload(onChannelMarkerFetched, 'entityId', 'channel')(data => router(data, "onUpdate" /* Amity.ChannelActionType.OnUpdate */)));
31280
31285
  return () => {
@@ -31379,7 +31384,7 @@ const onSubChannelUpdated = (callback) => {
31379
31384
  function updateChannelCache(channel, params) {
31380
31385
  pushToCache(['channel', 'get', channel.channelId],
31381
31386
  // eslint-disable-next-line prefer-object-spread
31382
- Object.assign(shallowClone(channel), params));
31387
+ shallowClone(channel, params));
31383
31388
  }
31384
31389
 
31385
31390
  /**
@@ -33523,7 +33528,7 @@ const getChannel = (channelId, callback) => {
33523
33528
  const reactor = async (response) => {
33524
33529
  if (!response.data)
33525
33530
  return callback(response);
33526
- const data = Object.assign(Object.assign({}, response), { data: LinkedObject.channel(getChannelMessagePreviewWithUser(response.data)) });
33531
+ const data = Object.assign(Object.assign({}, response), { data: LinkedObject.channel(constructChannelDynamicValue(getChannelMessagePreviewWithUser(response.data))) });
33527
33532
  const newSnapshot = __rest(data, ["origin"]);
33528
33533
  /**
33529
33534
  * check equality of previous data and current data to avoid redundancy
@@ -33861,6 +33866,7 @@ class ChannelLiveCollectionController extends LiveCollectionController {
33861
33866
  .filter(Boolean)
33862
33867
  .map(({ data }) => data)
33863
33868
  .map(getChannelMessagePreviewWithUser)
33869
+ .map(constructChannelDynamicValue)
33864
33870
  .map(LinkedObject.channel)) !== null && _b !== void 0 ? _b : [];
33865
33871
  if (this.paginationController instanceof ChannelPaginationController) {
33866
33872
  data = this.applyFilter(data);
@@ -33963,7 +33969,7 @@ class ChannelLiveCollectionController extends LiveCollectionController {
33963
33969
  callback(message);
33964
33970
  }
33965
33971
  });
33966
- }, 'messageId', 'channel'),
33972
+ }, 'channelId', 'channel'),
33967
33973
  action: "onUpdate" /* Amity.ChannelActionType.OnUpdate */,
33968
33974
  },
33969
33975
  {
@@ -33982,7 +33988,7 @@ class ChannelLiveCollectionController extends LiveCollectionController {
33982
33988
  });
33983
33989
  callback(message);
33984
33990
  });
33985
- }, 'messageId', 'channel'),
33991
+ }, 'channelId', 'channel'),
33986
33992
  action: "onUpdate" /* Amity.ChannelActionType.OnUpdate */,
33987
33993
  },
33988
33994
  { fn: onChannelDeleted, action: "onDelete" /* Amity.ChannelActionType.OnDelete */ },
@@ -34403,7 +34409,11 @@ const onUserDeleted$1 = (channelId) => (callback) => {
34403
34409
  channelUserCacheKey,
34404
34410
  ])) === null || _a === void 0 ? void 0 : _a.data;
34405
34411
  upsertInCache(['channelUsers', 'get', channelUserCacheKey], Object.assign(Object.assign({}, cacheData), { user }));
34406
- const channel = (_b = pullFromCache(['channel', 'get', channelId])) === null || _b === void 0 ? void 0 : _b.data;
34412
+ const channel = (_b = pullFromCache([
34413
+ 'channel',
34414
+ 'get',
34415
+ channelId,
34416
+ ])) === null || _b === void 0 ? void 0 : _b.data;
34407
34417
  if (!channel)
34408
34418
  return;
34409
34419
  callback(channel, cacheData);