@sendbird/uikit-chat-hooks 3.7.5 → 3.8.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 (77) hide show
  1. package/lib/commonjs/channel/useChannelMessagesReducer.js +3 -4
  2. package/lib/commonjs/channel/useChannelMessagesReducer.js.map +1 -1
  3. package/lib/commonjs/channel/useGroupChannel.js.map +1 -1
  4. package/lib/commonjs/channel/useGroupChannelList/index.js.map +1 -1
  5. package/lib/commonjs/channel/useGroupChannelList/reducer.js +3 -4
  6. package/lib/commonjs/channel/useGroupChannelList/reducer.js.map +1 -1
  7. package/lib/commonjs/channel/useGroupChannelList/useGroupChannelListWithCollection.js +3 -3
  8. package/lib/commonjs/channel/useGroupChannelList/useGroupChannelListWithCollection.js.map +1 -1
  9. package/lib/commonjs/channel/useGroupChannelList/useGroupChannelListWithQuery.js.map +1 -1
  10. package/lib/commonjs/channel/useGroupChannelMessages/index.js.map +1 -1
  11. package/lib/commonjs/channel/useGroupChannelMessages/useGroupChannelMessagesWithCollection.js +13 -13
  12. package/lib/commonjs/channel/useGroupChannelMessages/useGroupChannelMessagesWithCollection.js.map +1 -1
  13. package/lib/commonjs/channel/useGroupChannelMessages/useGroupChannelMessagesWithQuery.js +4 -4
  14. package/lib/commonjs/channel/useGroupChannelMessages/useGroupChannelMessagesWithQuery.js.map +1 -1
  15. package/lib/commonjs/channel/useOpenChannel.js.map +1 -1
  16. package/lib/commonjs/channel/useOpenChannelList/index.js.map +1 -1
  17. package/lib/commonjs/channel/useOpenChannelList/reducer.js +3 -4
  18. package/lib/commonjs/channel/useOpenChannelList/reducer.js.map +1 -1
  19. package/lib/commonjs/channel/useOpenChannelList/useOpenChannelListWithQuery.js.map +1 -1
  20. package/lib/commonjs/channel/useOpenChannelMessages/index.js.map +1 -1
  21. package/lib/commonjs/channel/useOpenChannelMessages/useOpenChannelMessagesWithQuery.js +6 -6
  22. package/lib/commonjs/channel/useOpenChannelMessages/useOpenChannelMessagesWithQuery.js.map +1 -1
  23. package/lib/commonjs/common/useAppFeatures.js.map +1 -1
  24. package/lib/commonjs/common/useMessageOutgoingStatus.js.map +1 -1
  25. package/lib/commonjs/common/usePushTrigger.js.map +1 -1
  26. package/lib/commonjs/common/useTotalUnreadMessageCount.js +1 -1
  27. package/lib/commonjs/common/useTotalUnreadMessageCount.js.map +1 -1
  28. package/lib/commonjs/common/useUserList.js +2 -4
  29. package/lib/commonjs/common/useUserList.js.map +1 -1
  30. package/lib/commonjs/handler/useChannelHandler.js +3 -7
  31. package/lib/commonjs/handler/useChannelHandler.js.map +1 -1
  32. package/lib/commonjs/handler/useConnectionHandler.js +2 -5
  33. package/lib/commonjs/handler/useConnectionHandler.js.map +1 -1
  34. package/lib/commonjs/handler/useUserEventHandler.js +2 -5
  35. package/lib/commonjs/handler/useUserEventHandler.js.map +1 -1
  36. package/lib/commonjs/index.js.map +1 -1
  37. package/lib/commonjs/model/CustomQuery.js.map +1 -1
  38. package/lib/commonjs/types.js.map +1 -1
  39. package/lib/module/channel/useChannelMessagesReducer.js +3 -4
  40. package/lib/module/channel/useChannelMessagesReducer.js.map +1 -1
  41. package/lib/module/channel/useGroupChannel.js.map +1 -1
  42. package/lib/module/channel/useGroupChannelList/index.js.map +1 -1
  43. package/lib/module/channel/useGroupChannelList/reducer.js +3 -4
  44. package/lib/module/channel/useGroupChannelList/reducer.js.map +1 -1
  45. package/lib/module/channel/useGroupChannelList/useGroupChannelListWithCollection.js +3 -3
  46. package/lib/module/channel/useGroupChannelList/useGroupChannelListWithCollection.js.map +1 -1
  47. package/lib/module/channel/useGroupChannelList/useGroupChannelListWithQuery.js.map +1 -1
  48. package/lib/module/channel/useGroupChannelMessages/index.js.map +1 -1
  49. package/lib/module/channel/useGroupChannelMessages/useGroupChannelMessagesWithCollection.js +13 -13
  50. package/lib/module/channel/useGroupChannelMessages/useGroupChannelMessagesWithCollection.js.map +1 -1
  51. package/lib/module/channel/useGroupChannelMessages/useGroupChannelMessagesWithQuery.js +4 -4
  52. package/lib/module/channel/useGroupChannelMessages/useGroupChannelMessagesWithQuery.js.map +1 -1
  53. package/lib/module/channel/useOpenChannel.js.map +1 -1
  54. package/lib/module/channel/useOpenChannelList/index.js.map +1 -1
  55. package/lib/module/channel/useOpenChannelList/reducer.js +3 -4
  56. package/lib/module/channel/useOpenChannelList/reducer.js.map +1 -1
  57. package/lib/module/channel/useOpenChannelList/useOpenChannelListWithQuery.js.map +1 -1
  58. package/lib/module/channel/useOpenChannelMessages/index.js.map +1 -1
  59. package/lib/module/channel/useOpenChannelMessages/useOpenChannelMessagesWithQuery.js +6 -6
  60. package/lib/module/channel/useOpenChannelMessages/useOpenChannelMessagesWithQuery.js.map +1 -1
  61. package/lib/module/common/useAppFeatures.js.map +1 -1
  62. package/lib/module/common/useMessageOutgoingStatus.js.map +1 -1
  63. package/lib/module/common/usePushTrigger.js.map +1 -1
  64. package/lib/module/common/useTotalUnreadMessageCount.js +1 -1
  65. package/lib/module/common/useTotalUnreadMessageCount.js.map +1 -1
  66. package/lib/module/common/useUserList.js +2 -4
  67. package/lib/module/common/useUserList.js.map +1 -1
  68. package/lib/module/handler/useChannelHandler.js +3 -7
  69. package/lib/module/handler/useChannelHandler.js.map +1 -1
  70. package/lib/module/handler/useConnectionHandler.js +2 -5
  71. package/lib/module/handler/useConnectionHandler.js.map +1 -1
  72. package/lib/module/handler/useUserEventHandler.js +2 -5
  73. package/lib/module/handler/useUserEventHandler.js.map +1 -1
  74. package/lib/module/index.js.map +1 -1
  75. package/lib/module/model/CustomQuery.js.map +1 -1
  76. package/lib/module/types.js.map +1 -1
  77. package/package.json +5 -5
@@ -72,7 +72,7 @@ export const useGroupChannelMessagesWithCollection = (sdk, channel, userId, opti
72
72
  {
73
73
  var _options$shouldCountN, _sdk$currentUser2, _options$onMessagesRe;
74
74
  if (options !== null && options !== void 0 && (_options$shouldCountN = options.shouldCountNewMessages) !== null && _options$shouldCountN !== void 0 && _options$shouldCountN.call(options)) updateNewMessages(incomingMessages, false, (_sdk$currentUser2 = sdk.currentUser) === null || _sdk$currentUser2 === void 0 ? void 0 : _sdk$currentUser2.userId);
75
- options === null || options === void 0 ? void 0 : (_options$onMessagesRe = options.onMessagesReceived) === null || _options$onMessagesRe === void 0 ? void 0 : _options$onMessagesRe.call(options, incomingMessages);
75
+ options === null || options === void 0 || (_options$onMessagesRe = options.onMessagesReceived) === null || _options$onMessagesRe === void 0 || _options$onMessagesRe.call(options, incomingMessages);
76
76
  break;
77
77
  }
78
78
  }
@@ -89,7 +89,7 @@ export const useGroupChannelMessagesWithCollection = (sdk, channel, userId, opti
89
89
  };
90
90
  const init = useFreshCallback((startingPoint, limit, callback) => {
91
91
  var _collectionRef$curren, _sdk$currentUser5, _collectionRef$curren2;
92
- if (collectionRef.current) (_collectionRef$curren = collectionRef.current) === null || _collectionRef$curren === void 0 ? void 0 : _collectionRef$curren.dispose();
92
+ if (collectionRef.current) (_collectionRef$curren = collectionRef.current) === null || _collectionRef$curren === void 0 || _collectionRef$curren.dispose();
93
93
  channelMarkAsRead();
94
94
  updateNewMessages([], true, (_sdk$currentUser5 = sdk.currentUser) === null || _sdk$currentUser5 === void 0 ? void 0 : _sdk$currentUser5.userId);
95
95
  collectionInitializedRef.current = false;
@@ -97,7 +97,7 @@ export const useGroupChannelMessagesWithCollection = (sdk, channel, userId, opti
97
97
  ...options,
98
98
  startingPoint
99
99
  });
100
- (_collectionRef$curren2 = collectionRef.current) === null || _collectionRef$curren2 === void 0 ? void 0 : _collectionRef$curren2.setMessageCollectionHandler({
100
+ (_collectionRef$curren2 = collectionRef.current) === null || _collectionRef$curren2 === void 0 || _collectionRef$curren2.setMessageCollectionHandler({
101
101
  onMessagesAdded: (ctx, __, messages) => {
102
102
  var _sdk$currentUser6;
103
103
  channelMarkAsRead(ctx.source);
@@ -112,7 +112,7 @@ export const useGroupChannelMessagesWithCollection = (sdk, channel, userId, opti
112
112
  updateMessages(messages, false, (_sdk$currentUser7 = sdk.currentUser) === null || _sdk$currentUser7 === void 0 ? void 0 : _sdk$currentUser7.userId);
113
113
  if (ctx.source === CollectionEventSource.EVENT_MESSAGE_UPDATED) {
114
114
  var _options$onMessagesUp;
115
- options === null || options === void 0 ? void 0 : (_options$onMessagesUp = options.onMessagesUpdated) === null || _options$onMessagesUp === void 0 ? void 0 : _options$onMessagesUp.call(options, messages);
115
+ options === null || options === void 0 || (_options$onMessagesUp = options.onMessagesUpdated) === null || _options$onMessagesUp === void 0 || _options$onMessagesUp.call(options, messages);
116
116
  }
117
117
  },
118
118
  onMessagesDeleted: (_, __, ___, messages) => {
@@ -123,7 +123,7 @@ export const useGroupChannelMessagesWithCollection = (sdk, channel, userId, opti
123
123
  },
124
124
  onChannelDeleted: () => {
125
125
  var _options$onChannelDel;
126
- options === null || options === void 0 ? void 0 : (_options$onChannelDel = options.onChannelDeleted) === null || _options$onChannelDel === void 0 ? void 0 : _options$onChannelDel.call(options);
126
+ options === null || options === void 0 || (_options$onChannelDel = options.onChannelDeleted) === null || _options$onChannelDel === void 0 || _options$onChannelDel.call(options);
127
127
  },
128
128
  onChannelUpdated: (_, eventChannel) => {
129
129
  if (eventChannel.isGroupChannel() && !isDifferentChannel(eventChannel, channel)) {
@@ -141,17 +141,17 @@ export const useGroupChannelMessagesWithCollection = (sdk, channel, userId, opti
141
141
  updateMessages(messages, true, (_sdk$currentUser8 = sdk.currentUser) === null || _sdk$currentUser8 === void 0 ? void 0 : _sdk$currentUser8.userId);
142
142
  updateUnsentMessages();
143
143
  }
144
- callback === null || callback === void 0 ? void 0 : callback();
144
+ callback === null || callback === void 0 || callback();
145
145
  }).onApiResult((err, messages) => {
146
146
  if (err) Logger.warn('[useGroupChannelMessagesWithCollection/onApiResult]', err);else if (messages) {
147
147
  var _sdk$currentUser9, _options$onMessagesRe2;
148
148
  Logger.debug('[useGroupChannelMessagesWithCollection/onApiResult]', 'message length:', messages.length);
149
149
  updateMessages(messages, true, (_sdk$currentUser9 = sdk.currentUser) === null || _sdk$currentUser9 === void 0 ? void 0 : _sdk$currentUser9.userId);
150
- if (!(options !== null && options !== void 0 && options.startingPoint)) options === null || options === void 0 ? void 0 : (_options$onMessagesRe2 = options.onMessagesReceived) === null || _options$onMessagesRe2 === void 0 ? void 0 : _options$onMessagesRe2.call(options, messages);
150
+ if (!(options !== null && options !== void 0 && options.startingPoint)) options === null || options === void 0 || (_options$onMessagesRe2 = options.onMessagesReceived) === null || _options$onMessagesRe2 === void 0 || _options$onMessagesRe2.call(options, messages);
151
151
  if (sdk.isCacheEnabled) updateUnsentMessages();
152
152
  }
153
153
  collectionInitializedRef.current = true;
154
- callback === null || callback === void 0 ? void 0 : callback();
154
+ callback === null || callback === void 0 || callback();
155
155
  });
156
156
  });
157
157
  useChannelHandler(sdk, handlerId, {
@@ -160,7 +160,7 @@ export const useGroupChannelMessagesWithCollection = (sdk, channel, userId, opti
160
160
  var _sdk$currentUser10;
161
161
  if (bannedUser.userId === ((_sdk$currentUser10 = sdk.currentUser) === null || _sdk$currentUser10 === void 0 ? void 0 : _sdk$currentUser10.userId)) {
162
162
  var _options$onChannelDel2;
163
- options === null || options === void 0 ? void 0 : (_options$onChannelDel2 = options.onChannelDeleted) === null || _options$onChannelDel2 === void 0 ? void 0 : _options$onChannelDel2.call(options);
163
+ options === null || options === void 0 || (_options$onChannelDel2 = options.onChannelDeleted) === null || _options$onChannelDel2 === void 0 || _options$onChannelDel2.call(options);
164
164
  } else {
165
165
  forceUpdate();
166
166
  }
@@ -177,7 +177,7 @@ export const useGroupChannelMessagesWithCollection = (sdk, channel, userId, opti
177
177
  useEffect(() => {
178
178
  return () => {
179
179
  var _collectionRef$curren3;
180
- if (collectionRef.current) (_collectionRef$curren3 = collectionRef.current) === null || _collectionRef$curren3 === void 0 ? void 0 : _collectionRef$curren3.dispose();
180
+ if (collectionRef.current) (_collectionRef$curren3 = collectionRef.current) === null || _collectionRef$curren3 === void 0 || _collectionRef$curren3.dispose();
181
181
  };
182
182
  }, []);
183
183
  const refresh = useFreshCallback(async () => {
@@ -223,7 +223,7 @@ export const useGroupChannelMessagesWithCollection = (sdk, channel, userId, opti
223
223
  channel.sendUserMessage(params).onPending(pendingMessage => {
224
224
  if (pendingMessage.isUserMessage()) {
225
225
  var _sdk$currentUser13;
226
- onPending === null || onPending === void 0 ? void 0 : onPending(pendingMessage);
226
+ onPending === null || onPending === void 0 || onPending(pendingMessage);
227
227
  updateMessages([pendingMessage], false, (_sdk$currentUser13 = sdk.currentUser) === null || _sdk$currentUser13 === void 0 ? void 0 : _sdk$currentUser13.userId);
228
228
  }
229
229
  }).onSucceeded(sentMessage => {
@@ -247,7 +247,7 @@ export const useGroupChannelMessagesWithCollection = (sdk, channel, userId, opti
247
247
  if (pendingMessage.isFileMessage()) {
248
248
  var _sdk$currentUser16;
249
249
  updateMessages([pendingMessage], false, (_sdk$currentUser16 = sdk.currentUser) === null || _sdk$currentUser16 === void 0 ? void 0 : _sdk$currentUser16.userId);
250
- onPending === null || onPending === void 0 ? void 0 : onPending(pendingMessage);
250
+ onPending === null || onPending === void 0 || onPending(pendingMessage);
251
251
  }
252
252
  }).onSucceeded(sentMessage => {
253
253
  if (sentMessage.isFileMessage()) {
@@ -309,7 +309,7 @@ export const useGroupChannelMessagesWithCollection = (sdk, channel, userId, opti
309
309
  updateMessages([], true, (_sdk$currentUser23 = sdk.currentUser) === null || _sdk$currentUser23 === void 0 ? void 0 : _sdk$currentUser23.userId);
310
310
  init(startingPoint, limit, () => {
311
311
  updateLoading(false);
312
- callback === null || callback === void 0 ? void 0 : callback();
312
+ callback === null || callback === void 0 || callback();
313
313
  });
314
314
  });
315
315
  return {
@@ -1 +1 @@
1
- {"version":3,"names":["useEffect","useRef","CollectionEventSource","MessageCollectionInitPolicy","MessageFilter","Logger","confirmAndMarkAsRead","isDifferentChannel","isMyMessage","isSendableMessage","useForceUpdate","useFreshCallback","useUniqHandlerId","useChannelHandler","useChannelMessagesReducer","MESSAGE_LIMIT","DEFAULT","SEARCH","createMessageCollection","channel","limit","options","collectionCreator","startingPoint","filter","replyType","isNotEmpty","arr","length","shouldUseSearchLimit","Date","now","useGroupChannelMessagesWithCollection","sdk","userId","initialStartingPoint","Number","MAX_SAFE_INTEGER","initialLimit","forceUpdate","collectionRef","collectionInitializedRef","handlerId","loading","refreshing","messages","newMessages","updateMessages","updateNewMessages","deleteNewMessages","deleteMessages","updateLoading","updateRefreshing","sortComparator","channelMarkAsRead","source","EVENT_MESSAGE_RECEIVED","EVENT_MESSAGE_SENT_SUCCESS","SYNC_MESSAGE_FILL","undefined","updateNewMessagesReceived","incomingMessages","it","_sdk$currentUser","currentUser","_options$shouldCountN","_sdk$currentUser2","_options$onMessagesRe","shouldCountNewMessages","call","onMessagesReceived","updateUnsentMessages","_sdk$currentUser3","_sdk$currentUser4","pendingMessages","failedMessages","current","init","callback","_collectionRef$curren","_sdk$currentUser5","_collectionRef$curren2","dispose","setMessageCollectionHandler","onMessagesAdded","ctx","__","_sdk$currentUser6","onMessagesUpdated","_sdk$currentUser7","EVENT_MESSAGE_UPDATED","_options$onMessagesUp","onMessagesDeleted","_","___","msgIds","map","messageId","reqIds","reqId","onChannelDeleted","_options$onChannelDel","onChannelUpdated","eventChannel","isGroupChannel","onHugeGapDetected","initialize","CACHE_AND_REPLACE_BY_API","onCacheResult","err","isCacheEnabled","error","_sdk$currentUser8","debug","onApiResult","warn","_sdk$currentUser9","_options$onMessagesRe2","onUserBanned","bannedUser","_sdk$currentUser10","_options$onChannelDel2","setTimeout","url","_collectionRef$curren3","refresh","prev","_collectionRef$curren4","hasPrevious","_collectionRef$curren5","_sdk$currentUser11","list","loadPrevious","hasPrev","next","_collectionRef$curren6","hasNext","_collectionRef$curren7","_sdk$currentUser12","fetchedList","loadNext","sendUserMessage","params","onPending","Promise","resolve","reject","pendingMessage","isUserMessage","_sdk$currentUser13","onSucceeded","sentMessage","_sdk$currentUser14","onFailed","failedMessage","_sdk$currentUser15","sendFileMessage","isFileMessage","_sdk$currentUser16","_sdk$currentUser17","_sdk$currentUser18","updateUserMessage","_sdk$currentUser19","updatedMessage","updateFileMessage","_sdk$currentUser20","resendMessage","_sdk$currentUser21","resentMessage","resendUserMessage","resendFileMessage","deleteMessage","message","sendingStatus","_collectionRef$curren8","removeFailedMessage","resetNewMessages","_sdk$currentUser22","resetWithStartingPoint","_sdk$currentUser23"],"sources":["useGroupChannelMessagesWithCollection.ts"],"sourcesContent":["import { useEffect, useRef } from 'react';\n\nimport { CollectionEventSource } from '@sendbird/chat';\nimport { MessageCollectionInitPolicy, MessageFilter } from '@sendbird/chat/groupChannel';\nimport type { SendbirdFileMessage, SendbirdGroupChannel, SendbirdMessageCollection } from '@sendbird/uikit-utils';\nimport {\n Logger,\n SendbirdBaseMessage,\n confirmAndMarkAsRead,\n isDifferentChannel,\n isMyMessage,\n isSendableMessage,\n useForceUpdate,\n useFreshCallback,\n useUniqHandlerId,\n} from '@sendbird/uikit-utils';\n\nimport { useChannelHandler } from '../../handler/useChannelHandler';\nimport type { UseGroupChannelMessages, UseGroupChannelMessagesOptions } from '../../types';\nimport { useChannelMessagesReducer } from '../useChannelMessagesReducer';\n\nconst MESSAGE_LIMIT = {\n DEFAULT: 50,\n SEARCH: 20,\n};\n\nconst createMessageCollection = (\n channel: SendbirdGroupChannel,\n limit: number,\n options: UseGroupChannelMessagesOptions,\n) => {\n if (options?.collectionCreator) return options?.collectionCreator({ startingPoint: options?.startingPoint });\n\n const filter = new MessageFilter();\n if (options.replyType) filter.replyType = options.replyType;\n\n return channel.createMessageCollection({ filter, limit, startingPoint: options?.startingPoint });\n};\n\nfunction isNotEmpty(arr?: unknown[]): arr is unknown[] {\n if (!arr) return false;\n return arr.length !== 0;\n}\n\nfunction shouldUseSearchLimit(startingPoint: number) {\n return startingPoint < Date.now();\n}\n\n/**\n * @deprecated This hook is deprecated and will be replaced by the '@sendbird/uikit-tools' package.\n * */\nexport const useGroupChannelMessagesWithCollection: UseGroupChannelMessages = (sdk, channel, userId, options) => {\n const initialStartingPoint = options?.startingPoint ?? Number.MAX_SAFE_INTEGER;\n const initialLimit = shouldUseSearchLimit(initialStartingPoint) ? MESSAGE_LIMIT.SEARCH : MESSAGE_LIMIT.DEFAULT;\n\n const forceUpdate = useForceUpdate();\n const collectionRef = useRef<SendbirdMessageCollection>();\n const collectionInitializedRef = useRef(false);\n const handlerId = useUniqHandlerId('useGroupChannelMessagesWithCollection');\n\n const {\n loading,\n refreshing,\n messages,\n newMessages,\n updateMessages,\n updateNewMessages,\n deleteNewMessages,\n deleteMessages,\n updateLoading,\n updateRefreshing,\n } = useChannelMessagesReducer(options?.sortComparator);\n\n const channelMarkAsRead = (source?: CollectionEventSource) => {\n switch (source) {\n case CollectionEventSource.EVENT_MESSAGE_RECEIVED:\n case CollectionEventSource.EVENT_MESSAGE_SENT_SUCCESS:\n case CollectionEventSource.SYNC_MESSAGE_FILL:\n case undefined:\n confirmAndMarkAsRead([channel]);\n break;\n }\n };\n const updateNewMessagesReceived = (source: CollectionEventSource, messages: SendbirdBaseMessage[]) => {\n const incomingMessages = messages.filter((it) => !isMyMessage(it, sdk.currentUser?.userId));\n if (incomingMessages.length > 0) {\n switch (source) {\n case CollectionEventSource.EVENT_MESSAGE_RECEIVED:\n case CollectionEventSource.SYNC_MESSAGE_FILL: {\n if (options?.shouldCountNewMessages?.()) updateNewMessages(incomingMessages, false, sdk.currentUser?.userId);\n options?.onMessagesReceived?.(incomingMessages);\n break;\n }\n }\n }\n };\n\n const updateUnsentMessages = () => {\n const { pendingMessages, failedMessages } = collectionRef.current ?? {};\n if (isNotEmpty(pendingMessages)) updateMessages(pendingMessages, false, sdk.currentUser?.userId);\n if (isNotEmpty(failedMessages)) updateMessages(failedMessages, false, sdk.currentUser?.userId);\n };\n\n const init = useFreshCallback((startingPoint: number, limit: number, callback?: () => void) => {\n if (collectionRef.current) collectionRef.current?.dispose();\n\n channelMarkAsRead();\n updateNewMessages([], true, sdk.currentUser?.userId);\n\n collectionInitializedRef.current = false;\n collectionRef.current = createMessageCollection(channel, limit, {\n ...options,\n startingPoint,\n });\n\n collectionRef.current?.setMessageCollectionHandler({\n onMessagesAdded: (ctx, __, messages) => {\n channelMarkAsRead(ctx.source);\n updateNewMessagesReceived(ctx.source, messages);\n\n updateMessages(messages, false, sdk.currentUser?.userId);\n },\n onMessagesUpdated: (ctx, __, messages) => {\n channelMarkAsRead(ctx.source);\n updateNewMessagesReceived(ctx.source, messages); // NOTE: admin message is not added via onMessagesAdded handler, not checked yet is this a bug.\n\n updateMessages(messages, false, sdk.currentUser?.userId);\n\n if (ctx.source === CollectionEventSource.EVENT_MESSAGE_UPDATED) {\n options?.onMessagesUpdated?.(messages);\n }\n },\n onMessagesDeleted: (_, __, ___, messages) => {\n const msgIds = messages.map((it) => it.messageId);\n const reqIds = messages.filter(isSendableMessage).map((it) => it.reqId);\n deleteMessages(msgIds, reqIds);\n deleteNewMessages(msgIds, reqIds);\n },\n onChannelDeleted: () => {\n options?.onChannelDeleted?.();\n },\n onChannelUpdated: (_, eventChannel) => {\n if (eventChannel.isGroupChannel() && !isDifferentChannel(eventChannel, channel)) {\n forceUpdate();\n }\n },\n onHugeGapDetected: () => {\n init(Number.MAX_SAFE_INTEGER, MESSAGE_LIMIT.DEFAULT);\n },\n });\n\n collectionRef.current\n .initialize(MessageCollectionInitPolicy.CACHE_AND_REPLACE_BY_API)\n .onCacheResult((err, messages) => {\n if (err) sdk.isCacheEnabled && Logger.error('[useGroupChannelMessagesWithCollection/onCacheResult]', err);\n else if (messages) {\n Logger.debug('[useGroupChannelMessagesWithCollection/onCacheResult]', 'message length:', messages.length);\n\n updateMessages(messages, true, sdk.currentUser?.userId);\n updateUnsentMessages();\n }\n\n callback?.();\n })\n .onApiResult((err, messages) => {\n if (err) Logger.warn('[useGroupChannelMessagesWithCollection/onApiResult]', err);\n else if (messages) {\n Logger.debug('[useGroupChannelMessagesWithCollection/onApiResult]', 'message length:', messages.length);\n\n updateMessages(messages, true, sdk.currentUser?.userId);\n if (!options?.startingPoint) options?.onMessagesReceived?.(messages);\n if (sdk.isCacheEnabled) updateUnsentMessages();\n }\n\n collectionInitializedRef.current = true;\n callback?.();\n });\n });\n\n useChannelHandler(sdk, handlerId, {\n onUserBanned(channel, bannedUser) {\n if (channel.isGroupChannel() && !isDifferentChannel(channel, channel)) {\n if (bannedUser.userId === sdk.currentUser?.userId) {\n options?.onChannelDeleted?.();\n } else {\n forceUpdate();\n }\n }\n },\n });\n\n useEffect(() => {\n // NOTE: Cache read is heavy task, and it prevents smooth ui transition\n setTimeout(async () => {\n updateLoading(true);\n init(initialStartingPoint, initialLimit, () => updateLoading(false));\n }, 0);\n }, [channel.url, userId, options?.replyType]);\n\n useEffect(() => {\n return () => {\n if (collectionRef.current) collectionRef.current?.dispose();\n };\n }, []);\n\n const refresh: ReturnType<UseGroupChannelMessages>['refresh'] = useFreshCallback(async () => {\n updateRefreshing(true);\n init(Number.MAX_SAFE_INTEGER, MESSAGE_LIMIT.DEFAULT, () => updateRefreshing(false));\n });\n\n const prev: ReturnType<UseGroupChannelMessages>['prev'] = useFreshCallback(async () => {\n if (collectionRef.current && collectionRef.current?.hasPrevious) {\n try {\n const list = await collectionRef.current?.loadPrevious();\n updateMessages(list, false, sdk.currentUser?.userId);\n } catch {}\n }\n });\n\n const hasPrev: ReturnType<UseGroupChannelMessages>['hasPrev'] = useFreshCallback(() => {\n if (collectionInitializedRef.current && collectionRef.current) {\n return collectionRef.current.hasPrevious;\n } else {\n return false;\n }\n });\n\n const next: ReturnType<UseGroupChannelMessages>['next'] = useFreshCallback(async () => {\n if (collectionRef.current && collectionRef.current?.hasNext) {\n try {\n const fetchedList = await collectionRef.current?.loadNext();\n updateMessages(fetchedList, false, sdk.currentUser?.userId);\n } catch {}\n }\n });\n\n const hasNext: ReturnType<UseGroupChannelMessages>['hasNext'] = useFreshCallback(() => {\n if (collectionInitializedRef.current && collectionRef.current) {\n return collectionRef.current.hasNext;\n } else {\n return false;\n }\n });\n\n const sendUserMessage: ReturnType<UseGroupChannelMessages>['sendUserMessage'] = useFreshCallback(\n (params, onPending) => {\n return new Promise((resolve, reject) => {\n channel\n .sendUserMessage(params)\n .onPending((pendingMessage) => {\n if (pendingMessage.isUserMessage()) {\n onPending?.(pendingMessage);\n updateMessages([pendingMessage], false, sdk.currentUser?.userId);\n }\n })\n .onSucceeded((sentMessage) => {\n if (sentMessage.isUserMessage()) {\n updateMessages([sentMessage], false, sdk.currentUser?.userId);\n resolve(sentMessage);\n }\n })\n .onFailed((err, failedMessage) => {\n if (failedMessage) {\n updateMessages([failedMessage], false, sdk.currentUser?.userId);\n }\n reject(err);\n });\n });\n },\n );\n const sendFileMessage: ReturnType<UseGroupChannelMessages>['sendFileMessage'] = useFreshCallback(\n (params, onPending) => {\n return new Promise((resolve, reject) => {\n channel\n .sendFileMessage(params)\n .onPending((pendingMessage) => {\n if (pendingMessage.isFileMessage()) {\n updateMessages([pendingMessage], false, sdk.currentUser?.userId);\n onPending?.(pendingMessage);\n }\n })\n .onSucceeded((sentMessage) => {\n if (sentMessage.isFileMessage()) {\n updateMessages([sentMessage], false, sdk.currentUser?.userId);\n resolve(sentMessage as SendbirdFileMessage);\n }\n })\n .onFailed((err, failedMessage) => {\n if (failedMessage) {\n updateMessages([failedMessage], false, sdk.currentUser?.userId);\n }\n reject(err);\n });\n });\n },\n );\n const updateUserMessage: ReturnType<UseGroupChannelMessages>['updateUserMessage'] = useFreshCallback(\n async (messageId, params) => {\n const updatedMessage = await channel.updateUserMessage(messageId, params);\n updateMessages([updatedMessage], false, sdk.currentUser?.userId);\n return updatedMessage;\n },\n );\n const updateFileMessage: ReturnType<UseGroupChannelMessages>['updateFileMessage'] = useFreshCallback(\n async (messageId, params) => {\n const updatedMessage = await channel.updateFileMessage(messageId, params);\n updateMessages([updatedMessage], false, sdk.currentUser?.userId);\n return updatedMessage;\n },\n );\n const resendMessage: ReturnType<UseGroupChannelMessages>['resendMessage'] = useFreshCallback(\n async (failedMessage) => {\n const resentMessage = await (() => {\n if (failedMessage.isUserMessage()) return channel.resendUserMessage(failedMessage);\n if (failedMessage.isFileMessage()) return channel.resendFileMessage(failedMessage);\n return null;\n })();\n\n if (resentMessage) updateMessages([resentMessage], false, sdk.currentUser?.userId);\n },\n );\n const deleteMessage: ReturnType<UseGroupChannelMessages>['deleteMessage'] = useFreshCallback(async (message) => {\n if (message.sendingStatus === 'succeeded') {\n if (message.isUserMessage()) await channel.deleteMessage(message);\n if (message.isFileMessage()) await channel.deleteMessage(message);\n } else {\n try {\n await collectionRef.current?.removeFailedMessage(message.reqId);\n } finally {\n deleteMessages([message.messageId], [message.reqId]);\n }\n }\n });\n const resetNewMessages: ReturnType<UseGroupChannelMessages>['resetNewMessages'] = useFreshCallback(() => {\n updateNewMessages([], true, sdk.currentUser?.userId);\n });\n const resetWithStartingPoint: ReturnType<UseGroupChannelMessages>['resetWithStartingPoint'] = useFreshCallback(\n (startingPoint, callback) => {\n const limit = shouldUseSearchLimit(startingPoint) ? MESSAGE_LIMIT.SEARCH : MESSAGE_LIMIT.DEFAULT;\n updateLoading(true);\n updateMessages([], true, sdk.currentUser?.userId);\n init(startingPoint, limit, () => {\n updateLoading(false);\n callback?.();\n });\n },\n );\n\n return {\n loading,\n refreshing,\n refresh,\n messages,\n next,\n hasNext,\n prev,\n hasPrev,\n newMessages,\n resetNewMessages,\n sendUserMessage,\n sendFileMessage,\n updateUserMessage,\n updateFileMessage,\n resendMessage,\n deleteMessage,\n resetWithStartingPoint,\n };\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["useEffect","useRef","CollectionEventSource","MessageCollectionInitPolicy","MessageFilter","Logger","confirmAndMarkAsRead","isDifferentChannel","isMyMessage","isSendableMessage","useForceUpdate","useFreshCallback","useUniqHandlerId","useChannelHandler","useChannelMessagesReducer","MESSAGE_LIMIT","DEFAULT","SEARCH","createMessageCollection","channel","limit","options","collectionCreator","startingPoint","filter","replyType","isNotEmpty","arr","length","shouldUseSearchLimit","Date","now","useGroupChannelMessagesWithCollection","sdk","userId","initialStartingPoint","Number","MAX_SAFE_INTEGER","initialLimit","forceUpdate","collectionRef","collectionInitializedRef","handlerId","loading","refreshing","messages","newMessages","updateMessages","updateNewMessages","deleteNewMessages","deleteMessages","updateLoading","updateRefreshing","sortComparator","channelMarkAsRead","source","EVENT_MESSAGE_RECEIVED","EVENT_MESSAGE_SENT_SUCCESS","SYNC_MESSAGE_FILL","undefined","updateNewMessagesReceived","incomingMessages","it","_sdk$currentUser","currentUser","_options$shouldCountN","_sdk$currentUser2","_options$onMessagesRe","shouldCountNewMessages","call","onMessagesReceived","updateUnsentMessages","_sdk$currentUser3","_sdk$currentUser4","pendingMessages","failedMessages","current","init","callback","_collectionRef$curren","_sdk$currentUser5","_collectionRef$curren2","dispose","setMessageCollectionHandler","onMessagesAdded","ctx","__","_sdk$currentUser6","onMessagesUpdated","_sdk$currentUser7","EVENT_MESSAGE_UPDATED","_options$onMessagesUp","onMessagesDeleted","_","___","msgIds","map","messageId","reqIds","reqId","onChannelDeleted","_options$onChannelDel","onChannelUpdated","eventChannel","isGroupChannel","onHugeGapDetected","initialize","CACHE_AND_REPLACE_BY_API","onCacheResult","err","isCacheEnabled","error","_sdk$currentUser8","debug","onApiResult","warn","_sdk$currentUser9","_options$onMessagesRe2","onUserBanned","bannedUser","_sdk$currentUser10","_options$onChannelDel2","setTimeout","url","_collectionRef$curren3","refresh","prev","_collectionRef$curren4","hasPrevious","_collectionRef$curren5","_sdk$currentUser11","list","loadPrevious","hasPrev","next","_collectionRef$curren6","hasNext","_collectionRef$curren7","_sdk$currentUser12","fetchedList","loadNext","sendUserMessage","params","onPending","Promise","resolve","reject","pendingMessage","isUserMessage","_sdk$currentUser13","onSucceeded","sentMessage","_sdk$currentUser14","onFailed","failedMessage","_sdk$currentUser15","sendFileMessage","isFileMessage","_sdk$currentUser16","_sdk$currentUser17","_sdk$currentUser18","updateUserMessage","_sdk$currentUser19","updatedMessage","updateFileMessage","_sdk$currentUser20","resendMessage","_sdk$currentUser21","resentMessage","resendUserMessage","resendFileMessage","deleteMessage","message","sendingStatus","_collectionRef$curren8","removeFailedMessage","resetNewMessages","_sdk$currentUser22","resetWithStartingPoint","_sdk$currentUser23"],"sources":["useGroupChannelMessagesWithCollection.ts"],"sourcesContent":["import { useEffect, useRef } from 'react';\n\nimport { CollectionEventSource } from '@sendbird/chat';\nimport { MessageCollectionInitPolicy, MessageFilter } from '@sendbird/chat/groupChannel';\nimport type { SendbirdFileMessage, SendbirdGroupChannel, SendbirdMessageCollection } from '@sendbird/uikit-utils';\nimport {\n Logger,\n SendbirdBaseMessage,\n confirmAndMarkAsRead,\n isDifferentChannel,\n isMyMessage,\n isSendableMessage,\n useForceUpdate,\n useFreshCallback,\n useUniqHandlerId,\n} from '@sendbird/uikit-utils';\n\nimport { useChannelHandler } from '../../handler/useChannelHandler';\nimport type { UseGroupChannelMessages, UseGroupChannelMessagesOptions } from '../../types';\nimport { useChannelMessagesReducer } from '../useChannelMessagesReducer';\n\nconst MESSAGE_LIMIT = {\n DEFAULT: 50,\n SEARCH: 20,\n};\n\nconst createMessageCollection = (\n channel: SendbirdGroupChannel,\n limit: number,\n options: UseGroupChannelMessagesOptions,\n) => {\n if (options?.collectionCreator) return options?.collectionCreator({ startingPoint: options?.startingPoint });\n\n const filter = new MessageFilter();\n if (options.replyType) filter.replyType = options.replyType;\n\n return channel.createMessageCollection({ filter, limit, startingPoint: options?.startingPoint });\n};\n\nfunction isNotEmpty(arr?: unknown[]): arr is unknown[] {\n if (!arr) return false;\n return arr.length !== 0;\n}\n\nfunction shouldUseSearchLimit(startingPoint: number) {\n return startingPoint < Date.now();\n}\n\n/**\n * @deprecated This hook is deprecated and will be replaced by the '@sendbird/uikit-tools' package.\n * */\nexport const useGroupChannelMessagesWithCollection: UseGroupChannelMessages = (sdk, channel, userId, options) => {\n const initialStartingPoint = options?.startingPoint ?? Number.MAX_SAFE_INTEGER;\n const initialLimit = shouldUseSearchLimit(initialStartingPoint) ? MESSAGE_LIMIT.SEARCH : MESSAGE_LIMIT.DEFAULT;\n\n const forceUpdate = useForceUpdate();\n const collectionRef = useRef<SendbirdMessageCollection>();\n const collectionInitializedRef = useRef(false);\n const handlerId = useUniqHandlerId('useGroupChannelMessagesWithCollection');\n\n const {\n loading,\n refreshing,\n messages,\n newMessages,\n updateMessages,\n updateNewMessages,\n deleteNewMessages,\n deleteMessages,\n updateLoading,\n updateRefreshing,\n } = useChannelMessagesReducer(options?.sortComparator);\n\n const channelMarkAsRead = (source?: CollectionEventSource) => {\n switch (source) {\n case CollectionEventSource.EVENT_MESSAGE_RECEIVED:\n case CollectionEventSource.EVENT_MESSAGE_SENT_SUCCESS:\n case CollectionEventSource.SYNC_MESSAGE_FILL:\n case undefined:\n confirmAndMarkAsRead([channel]);\n break;\n }\n };\n const updateNewMessagesReceived = (source: CollectionEventSource, messages: SendbirdBaseMessage[]) => {\n const incomingMessages = messages.filter((it) => !isMyMessage(it, sdk.currentUser?.userId));\n if (incomingMessages.length > 0) {\n switch (source) {\n case CollectionEventSource.EVENT_MESSAGE_RECEIVED:\n case CollectionEventSource.SYNC_MESSAGE_FILL: {\n if (options?.shouldCountNewMessages?.()) updateNewMessages(incomingMessages, false, sdk.currentUser?.userId);\n options?.onMessagesReceived?.(incomingMessages);\n break;\n }\n }\n }\n };\n\n const updateUnsentMessages = () => {\n const { pendingMessages, failedMessages } = collectionRef.current ?? {};\n if (isNotEmpty(pendingMessages)) updateMessages(pendingMessages, false, sdk.currentUser?.userId);\n if (isNotEmpty(failedMessages)) updateMessages(failedMessages, false, sdk.currentUser?.userId);\n };\n\n const init = useFreshCallback((startingPoint: number, limit: number, callback?: () => void) => {\n if (collectionRef.current) collectionRef.current?.dispose();\n\n channelMarkAsRead();\n updateNewMessages([], true, sdk.currentUser?.userId);\n\n collectionInitializedRef.current = false;\n collectionRef.current = createMessageCollection(channel, limit, {\n ...options,\n startingPoint,\n });\n\n collectionRef.current?.setMessageCollectionHandler({\n onMessagesAdded: (ctx, __, messages) => {\n channelMarkAsRead(ctx.source);\n updateNewMessagesReceived(ctx.source, messages);\n\n updateMessages(messages, false, sdk.currentUser?.userId);\n },\n onMessagesUpdated: (ctx, __, messages) => {\n channelMarkAsRead(ctx.source);\n updateNewMessagesReceived(ctx.source, messages); // NOTE: admin message is not added via onMessagesAdded handler, not checked yet is this a bug.\n\n updateMessages(messages, false, sdk.currentUser?.userId);\n\n if (ctx.source === CollectionEventSource.EVENT_MESSAGE_UPDATED) {\n options?.onMessagesUpdated?.(messages);\n }\n },\n onMessagesDeleted: (_, __, ___, messages) => {\n const msgIds = messages.map((it) => it.messageId);\n const reqIds = messages.filter(isSendableMessage).map((it) => it.reqId);\n deleteMessages(msgIds, reqIds);\n deleteNewMessages(msgIds, reqIds);\n },\n onChannelDeleted: () => {\n options?.onChannelDeleted?.();\n },\n onChannelUpdated: (_, eventChannel) => {\n if (eventChannel.isGroupChannel() && !isDifferentChannel(eventChannel, channel)) {\n forceUpdate();\n }\n },\n onHugeGapDetected: () => {\n init(Number.MAX_SAFE_INTEGER, MESSAGE_LIMIT.DEFAULT);\n },\n });\n\n collectionRef.current\n .initialize(MessageCollectionInitPolicy.CACHE_AND_REPLACE_BY_API)\n .onCacheResult((err, messages) => {\n if (err) sdk.isCacheEnabled && Logger.error('[useGroupChannelMessagesWithCollection/onCacheResult]', err);\n else if (messages) {\n Logger.debug('[useGroupChannelMessagesWithCollection/onCacheResult]', 'message length:', messages.length);\n\n updateMessages(messages, true, sdk.currentUser?.userId);\n updateUnsentMessages();\n }\n\n callback?.();\n })\n .onApiResult((err, messages) => {\n if (err) Logger.warn('[useGroupChannelMessagesWithCollection/onApiResult]', err);\n else if (messages) {\n Logger.debug('[useGroupChannelMessagesWithCollection/onApiResult]', 'message length:', messages.length);\n\n updateMessages(messages, true, sdk.currentUser?.userId);\n if (!options?.startingPoint) options?.onMessagesReceived?.(messages);\n if (sdk.isCacheEnabled) updateUnsentMessages();\n }\n\n collectionInitializedRef.current = true;\n callback?.();\n });\n });\n\n useChannelHandler(sdk, handlerId, {\n onUserBanned(channel, bannedUser) {\n if (channel.isGroupChannel() && !isDifferentChannel(channel, channel)) {\n if (bannedUser.userId === sdk.currentUser?.userId) {\n options?.onChannelDeleted?.();\n } else {\n forceUpdate();\n }\n }\n },\n });\n\n useEffect(() => {\n // NOTE: Cache read is heavy task, and it prevents smooth ui transition\n setTimeout(async () => {\n updateLoading(true);\n init(initialStartingPoint, initialLimit, () => updateLoading(false));\n }, 0);\n }, [channel.url, userId, options?.replyType]);\n\n useEffect(() => {\n return () => {\n if (collectionRef.current) collectionRef.current?.dispose();\n };\n }, []);\n\n const refresh: ReturnType<UseGroupChannelMessages>['refresh'] = useFreshCallback(async () => {\n updateRefreshing(true);\n init(Number.MAX_SAFE_INTEGER, MESSAGE_LIMIT.DEFAULT, () => updateRefreshing(false));\n });\n\n const prev: ReturnType<UseGroupChannelMessages>['prev'] = useFreshCallback(async () => {\n if (collectionRef.current && collectionRef.current?.hasPrevious) {\n try {\n const list = await collectionRef.current?.loadPrevious();\n updateMessages(list, false, sdk.currentUser?.userId);\n } catch {}\n }\n });\n\n const hasPrev: ReturnType<UseGroupChannelMessages>['hasPrev'] = useFreshCallback(() => {\n if (collectionInitializedRef.current && collectionRef.current) {\n return collectionRef.current.hasPrevious;\n } else {\n return false;\n }\n });\n\n const next: ReturnType<UseGroupChannelMessages>['next'] = useFreshCallback(async () => {\n if (collectionRef.current && collectionRef.current?.hasNext) {\n try {\n const fetchedList = await collectionRef.current?.loadNext();\n updateMessages(fetchedList, false, sdk.currentUser?.userId);\n } catch {}\n }\n });\n\n const hasNext: ReturnType<UseGroupChannelMessages>['hasNext'] = useFreshCallback(() => {\n if (collectionInitializedRef.current && collectionRef.current) {\n return collectionRef.current.hasNext;\n } else {\n return false;\n }\n });\n\n const sendUserMessage: ReturnType<UseGroupChannelMessages>['sendUserMessage'] = useFreshCallback(\n (params, onPending) => {\n return new Promise((resolve, reject) => {\n channel\n .sendUserMessage(params)\n .onPending((pendingMessage) => {\n if (pendingMessage.isUserMessage()) {\n onPending?.(pendingMessage);\n updateMessages([pendingMessage], false, sdk.currentUser?.userId);\n }\n })\n .onSucceeded((sentMessage) => {\n if (sentMessage.isUserMessage()) {\n updateMessages([sentMessage], false, sdk.currentUser?.userId);\n resolve(sentMessage);\n }\n })\n .onFailed((err, failedMessage) => {\n if (failedMessage) {\n updateMessages([failedMessage], false, sdk.currentUser?.userId);\n }\n reject(err);\n });\n });\n },\n );\n const sendFileMessage: ReturnType<UseGroupChannelMessages>['sendFileMessage'] = useFreshCallback(\n (params, onPending) => {\n return new Promise((resolve, reject) => {\n channel\n .sendFileMessage(params)\n .onPending((pendingMessage) => {\n if (pendingMessage.isFileMessage()) {\n updateMessages([pendingMessage], false, sdk.currentUser?.userId);\n onPending?.(pendingMessage);\n }\n })\n .onSucceeded((sentMessage) => {\n if (sentMessage.isFileMessage()) {\n updateMessages([sentMessage], false, sdk.currentUser?.userId);\n resolve(sentMessage as SendbirdFileMessage);\n }\n })\n .onFailed((err, failedMessage) => {\n if (failedMessage) {\n updateMessages([failedMessage], false, sdk.currentUser?.userId);\n }\n reject(err);\n });\n });\n },\n );\n const updateUserMessage: ReturnType<UseGroupChannelMessages>['updateUserMessage'] = useFreshCallback(\n async (messageId, params) => {\n const updatedMessage = await channel.updateUserMessage(messageId, params);\n updateMessages([updatedMessage], false, sdk.currentUser?.userId);\n return updatedMessage;\n },\n );\n const updateFileMessage: ReturnType<UseGroupChannelMessages>['updateFileMessage'] = useFreshCallback(\n async (messageId, params) => {\n const updatedMessage = await channel.updateFileMessage(messageId, params);\n updateMessages([updatedMessage], false, sdk.currentUser?.userId);\n return updatedMessage;\n },\n );\n const resendMessage: ReturnType<UseGroupChannelMessages>['resendMessage'] = useFreshCallback(\n async (failedMessage) => {\n const resentMessage = await (() => {\n if (failedMessage.isUserMessage()) return channel.resendUserMessage(failedMessage);\n if (failedMessage.isFileMessage()) return channel.resendFileMessage(failedMessage);\n return null;\n })();\n\n if (resentMessage) updateMessages([resentMessage], false, sdk.currentUser?.userId);\n },\n );\n const deleteMessage: ReturnType<UseGroupChannelMessages>['deleteMessage'] = useFreshCallback(async (message) => {\n if (message.sendingStatus === 'succeeded') {\n if (message.isUserMessage()) await channel.deleteMessage(message);\n if (message.isFileMessage()) await channel.deleteMessage(message);\n } else {\n try {\n await collectionRef.current?.removeFailedMessage(message.reqId);\n } finally {\n deleteMessages([message.messageId], [message.reqId]);\n }\n }\n });\n const resetNewMessages: ReturnType<UseGroupChannelMessages>['resetNewMessages'] = useFreshCallback(() => {\n updateNewMessages([], true, sdk.currentUser?.userId);\n });\n const resetWithStartingPoint: ReturnType<UseGroupChannelMessages>['resetWithStartingPoint'] = useFreshCallback(\n (startingPoint, callback) => {\n const limit = shouldUseSearchLimit(startingPoint) ? MESSAGE_LIMIT.SEARCH : MESSAGE_LIMIT.DEFAULT;\n updateLoading(true);\n updateMessages([], true, sdk.currentUser?.userId);\n init(startingPoint, limit, () => {\n updateLoading(false);\n callback?.();\n });\n },\n );\n\n return {\n loading,\n refreshing,\n refresh,\n messages,\n next,\n hasNext,\n prev,\n hasPrev,\n newMessages,\n resetNewMessages,\n sendUserMessage,\n sendFileMessage,\n updateUserMessage,\n updateFileMessage,\n resendMessage,\n deleteMessage,\n resetWithStartingPoint,\n };\n};\n"],"mappings":"AAAA,SAASA,SAAS,EAAEC,MAAM,QAAQ,OAAO;AAEzC,SAASC,qBAAqB,QAAQ,gBAAgB;AACtD,SAASC,2BAA2B,EAAEC,aAAa,QAAQ,6BAA6B;AAExF,SACEC,MAAM,EAENC,oBAAoB,EACpBC,kBAAkB,EAClBC,WAAW,EACXC,iBAAiB,EACjBC,cAAc,EACdC,gBAAgB,EAChBC,gBAAgB,QACX,uBAAuB;AAE9B,SAASC,iBAAiB,QAAQ,iCAAiC;AAEnE,SAASC,yBAAyB,QAAQ,8BAA8B;AAExE,MAAMC,aAAa,GAAG;EACpBC,OAAO,EAAE,EAAE;EACXC,MAAM,EAAE;AACV,CAAC;AAED,MAAMC,uBAAuB,GAAGA,CAC9BC,OAA6B,EAC7BC,KAAa,EACbC,OAAuC,KACpC;EACH,IAAIA,OAAO,aAAPA,OAAO,eAAPA,OAAO,CAAEC,iBAAiB,EAAE,OAAOD,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEC,iBAAiB,CAAC;IAAEC,aAAa,EAAEF,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEE;EAAc,CAAC,CAAC;EAE5G,MAAMC,MAAM,GAAG,IAAIpB,aAAa,CAAC,CAAC;EAClC,IAAIiB,OAAO,CAACI,SAAS,EAAED,MAAM,CAACC,SAAS,GAAGJ,OAAO,CAACI,SAAS;EAE3D,OAAON,OAAO,CAACD,uBAAuB,CAAC;IAAEM,MAAM;IAAEJ,KAAK;IAAEG,aAAa,EAAEF,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEE;EAAc,CAAC,CAAC;AAClG,CAAC;AAED,SAASG,UAAUA,CAACC,GAAe,EAAoB;EACrD,IAAI,CAACA,GAAG,EAAE,OAAO,KAAK;EACtB,OAAOA,GAAG,CAACC,MAAM,KAAK,CAAC;AACzB;AAEA,SAASC,oBAAoBA,CAACN,aAAqB,EAAE;EACnD,OAAOA,aAAa,GAAGO,IAAI,CAACC,GAAG,CAAC,CAAC;AACnC;;AAEA;AACA;AACA;AACA,OAAO,MAAMC,qCAA8D,GAAGA,CAACC,GAAG,EAAEd,OAAO,EAAEe,MAAM,EAAEb,OAAO,KAAK;EAC/G,MAAMc,oBAAoB,GAAG,CAAAd,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEE,aAAa,KAAIa,MAAM,CAACC,gBAAgB;EAC9E,MAAMC,YAAY,GAAGT,oBAAoB,CAACM,oBAAoB,CAAC,GAAGpB,aAAa,CAACE,MAAM,GAAGF,aAAa,CAACC,OAAO;EAE9G,MAAMuB,WAAW,GAAG7B,cAAc,CAAC,CAAC;EACpC,MAAM8B,aAAa,GAAGvC,MAAM,CAA4B,CAAC;EACzD,MAAMwC,wBAAwB,GAAGxC,MAAM,CAAC,KAAK,CAAC;EAC9C,MAAMyC,SAAS,GAAG9B,gBAAgB,CAAC,uCAAuC,CAAC;EAE3E,MAAM;IACJ+B,OAAO;IACPC,UAAU;IACVC,QAAQ;IACRC,WAAW;IACXC,cAAc;IACdC,iBAAiB;IACjBC,iBAAiB;IACjBC,cAAc;IACdC,aAAa;IACbC;EACF,CAAC,GAAGtC,yBAAyB,CAACO,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEgC,cAAc,CAAC;EAEtD,MAAMC,iBAAiB,GAAIC,MAA8B,IAAK;IAC5D,QAAQA,MAAM;MACZ,KAAKrD,qBAAqB,CAACsD,sBAAsB;MACjD,KAAKtD,qBAAqB,CAACuD,0BAA0B;MACrD,KAAKvD,qBAAqB,CAACwD,iBAAiB;MAC5C,KAAKC,SAAS;QACZrD,oBAAoB,CAAC,CAACa,OAAO,CAAC,CAAC;QAC/B;IACJ;EACF,CAAC;EACD,MAAMyC,yBAAyB,GAAGA,CAACL,MAA6B,EAAEV,QAA+B,KAAK;IACpG,MAAMgB,gBAAgB,GAAGhB,QAAQ,CAACrB,MAAM,CAAEsC,EAAE;MAAA,IAAAC,gBAAA;MAAA,OAAK,CAACvD,WAAW,CAACsD,EAAE,GAAAC,gBAAA,GAAE9B,GAAG,CAAC+B,WAAW,cAAAD,gBAAA,uBAAfA,gBAAA,CAAiB7B,MAAM,CAAC;IAAA,EAAC;IAC3F,IAAI2B,gBAAgB,CAACjC,MAAM,GAAG,CAAC,EAAE;MAC/B,QAAQ2B,MAAM;QACZ,KAAKrD,qBAAqB,CAACsD,sBAAsB;QACjD,KAAKtD,qBAAqB,CAACwD,iBAAiB;UAAE;YAAA,IAAAO,qBAAA,EAAAC,iBAAA,EAAAC,qBAAA;YAC5C,IAAI9C,OAAO,aAAPA,OAAO,gBAAA4C,qBAAA,GAAP5C,OAAO,CAAE+C,sBAAsB,cAAAH,qBAAA,eAA/BA,qBAAA,CAAAI,IAAA,CAAAhD,OAAkC,CAAC,EAAE2B,iBAAiB,CAACa,gBAAgB,EAAE,KAAK,GAAAK,iBAAA,GAAEjC,GAAG,CAAC+B,WAAW,cAAAE,iBAAA,uBAAfA,iBAAA,CAAiBhC,MAAM,CAAC;YAC5Gb,OAAO,aAAPA,OAAO,gBAAA8C,qBAAA,GAAP9C,OAAO,CAAEiD,kBAAkB,cAAAH,qBAAA,eAA3BA,qBAAA,CAAAE,IAAA,CAAAhD,OAAO,EAAuBwC,gBAAgB,CAAC;YAC/C;UACF;MACF;IACF;EACF,CAAC;EAED,MAAMU,oBAAoB,GAAGA,CAAA,KAAM;IAAA,IAAAC,iBAAA,EAAAC,iBAAA;IACjC,MAAM;MAAEC,eAAe;MAAEC;IAAe,CAAC,GAAGnC,aAAa,CAACoC,OAAO,IAAI,CAAC,CAAC;IACvE,IAAIlD,UAAU,CAACgD,eAAe,CAAC,EAAE3B,cAAc,CAAC2B,eAAe,EAAE,KAAK,GAAAF,iBAAA,GAAEvC,GAAG,CAAC+B,WAAW,cAAAQ,iBAAA,uBAAfA,iBAAA,CAAiBtC,MAAM,CAAC;IAChG,IAAIR,UAAU,CAACiD,cAAc,CAAC,EAAE5B,cAAc,CAAC4B,cAAc,EAAE,KAAK,GAAAF,iBAAA,GAAExC,GAAG,CAAC+B,WAAW,cAAAS,iBAAA,uBAAfA,iBAAA,CAAiBvC,MAAM,CAAC;EAChG,CAAC;EAED,MAAM2C,IAAI,GAAGlE,gBAAgB,CAAC,CAACY,aAAqB,EAAEH,KAAa,EAAE0D,QAAqB,KAAK;IAAA,IAAAC,qBAAA,EAAAC,iBAAA,EAAAC,sBAAA;IAC7F,IAAIzC,aAAa,CAACoC,OAAO,EAAE,CAAAG,qBAAA,GAAAvC,aAAa,CAACoC,OAAO,cAAAG,qBAAA,eAArBA,qBAAA,CAAuBG,OAAO,CAAC,CAAC;IAE3D5B,iBAAiB,CAAC,CAAC;IACnBN,iBAAiB,CAAC,EAAE,EAAE,IAAI,GAAAgC,iBAAA,GAAE/C,GAAG,CAAC+B,WAAW,cAAAgB,iBAAA,uBAAfA,iBAAA,CAAiB9C,MAAM,CAAC;IAEpDO,wBAAwB,CAACmC,OAAO,GAAG,KAAK;IACxCpC,aAAa,CAACoC,OAAO,GAAG1D,uBAAuB,CAACC,OAAO,EAAEC,KAAK,EAAE;MAC9D,GAAGC,OAAO;MACVE;IACF,CAAC,CAAC;IAEF,CAAA0D,sBAAA,GAAAzC,aAAa,CAACoC,OAAO,cAAAK,sBAAA,eAArBA,sBAAA,CAAuBE,2BAA2B,CAAC;MACjDC,eAAe,EAAEA,CAACC,GAAG,EAAEC,EAAE,EAAEzC,QAAQ,KAAK;QAAA,IAAA0C,iBAAA;QACtCjC,iBAAiB,CAAC+B,GAAG,CAAC9B,MAAM,CAAC;QAC7BK,yBAAyB,CAACyB,GAAG,CAAC9B,MAAM,EAAEV,QAAQ,CAAC;QAE/CE,cAAc,CAACF,QAAQ,EAAE,KAAK,GAAA0C,iBAAA,GAAEtD,GAAG,CAAC+B,WAAW,cAAAuB,iBAAA,uBAAfA,iBAAA,CAAiBrD,MAAM,CAAC;MAC1D,CAAC;MACDsD,iBAAiB,EAAEA,CAACH,GAAG,EAAEC,EAAE,EAAEzC,QAAQ,KAAK;QAAA,IAAA4C,iBAAA;QACxCnC,iBAAiB,CAAC+B,GAAG,CAAC9B,MAAM,CAAC;QAC7BK,yBAAyB,CAACyB,GAAG,CAAC9B,MAAM,EAAEV,QAAQ,CAAC,CAAC,CAAC;;QAEjDE,cAAc,CAACF,QAAQ,EAAE,KAAK,GAAA4C,iBAAA,GAAExD,GAAG,CAAC+B,WAAW,cAAAyB,iBAAA,uBAAfA,iBAAA,CAAiBvD,MAAM,CAAC;QAExD,IAAImD,GAAG,CAAC9B,MAAM,KAAKrD,qBAAqB,CAACwF,qBAAqB,EAAE;UAAA,IAAAC,qBAAA;UAC9DtE,OAAO,aAAPA,OAAO,gBAAAsE,qBAAA,GAAPtE,OAAO,CAAEmE,iBAAiB,cAAAG,qBAAA,eAA1BA,qBAAA,CAAAtB,IAAA,CAAAhD,OAAO,EAAsBwB,QAAQ,CAAC;QACxC;MACF,CAAC;MACD+C,iBAAiB,EAAEA,CAACC,CAAC,EAAEP,EAAE,EAAEQ,GAAG,EAAEjD,QAAQ,KAAK;QAC3C,MAAMkD,MAAM,GAAGlD,QAAQ,CAACmD,GAAG,CAAElC,EAAE,IAAKA,EAAE,CAACmC,SAAS,CAAC;QACjD,MAAMC,MAAM,GAAGrD,QAAQ,CAACrB,MAAM,CAACf,iBAAiB,CAAC,CAACuF,GAAG,CAAElC,EAAE,IAAKA,EAAE,CAACqC,KAAK,CAAC;QACvEjD,cAAc,CAAC6C,MAAM,EAAEG,MAAM,CAAC;QAC9BjD,iBAAiB,CAAC8C,MAAM,EAAEG,MAAM,CAAC;MACnC,CAAC;MACDE,gBAAgB,EAAEA,CAAA,KAAM;QAAA,IAAAC,qBAAA;QACtBhF,OAAO,aAAPA,OAAO,gBAAAgF,qBAAA,GAAPhF,OAAO,CAAE+E,gBAAgB,cAAAC,qBAAA,eAAzBA,qBAAA,CAAAhC,IAAA,CAAAhD,OAA4B,CAAC;MAC/B,CAAC;MACDiF,gBAAgB,EAAEA,CAACT,CAAC,EAAEU,YAAY,KAAK;QACrC,IAAIA,YAAY,CAACC,cAAc,CAAC,CAAC,IAAI,CAACjG,kBAAkB,CAACgG,YAAY,EAAEpF,OAAO,CAAC,EAAE;UAC/EoB,WAAW,CAAC,CAAC;QACf;MACF,CAAC;MACDkE,iBAAiB,EAAEA,CAAA,KAAM;QACvB5B,IAAI,CAACzC,MAAM,CAACC,gBAAgB,EAAEtB,aAAa,CAACC,OAAO,CAAC;MACtD;IACF,CAAC,CAAC;IAEFwB,aAAa,CAACoC,OAAO,CAClB8B,UAAU,CAACvG,2BAA2B,CAACwG,wBAAwB,CAAC,CAChEC,aAAa,CAAC,CAACC,GAAG,EAAEhE,QAAQ,KAAK;MAChC,IAAIgE,GAAG,EAAE5E,GAAG,CAAC6E,cAAc,IAAIzG,MAAM,CAAC0G,KAAK,CAAC,uDAAuD,EAAEF,GAAG,CAAC,CAAC,KACrG,IAAIhE,QAAQ,EAAE;QAAA,IAAAmE,iBAAA;QACjB3G,MAAM,CAAC4G,KAAK,CAAC,uDAAuD,EAAE,iBAAiB,EAAEpE,QAAQ,CAACjB,MAAM,CAAC;QAEzGmB,cAAc,CAACF,QAAQ,EAAE,IAAI,GAAAmE,iBAAA,GAAE/E,GAAG,CAAC+B,WAAW,cAAAgD,iBAAA,uBAAfA,iBAAA,CAAiB9E,MAAM,CAAC;QACvDqC,oBAAoB,CAAC,CAAC;MACxB;MAEAO,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAG,CAAC;IACd,CAAC,CAAC,CACDoC,WAAW,CAAC,CAACL,GAAG,EAAEhE,QAAQ,KAAK;MAC9B,IAAIgE,GAAG,EAAExG,MAAM,CAAC8G,IAAI,CAAC,qDAAqD,EAAEN,GAAG,CAAC,CAAC,KAC5E,IAAIhE,QAAQ,EAAE;QAAA,IAAAuE,iBAAA,EAAAC,sBAAA;QACjBhH,MAAM,CAAC4G,KAAK,CAAC,qDAAqD,EAAE,iBAAiB,EAAEpE,QAAQ,CAACjB,MAAM,CAAC;QAEvGmB,cAAc,CAACF,QAAQ,EAAE,IAAI,GAAAuE,iBAAA,GAAEnF,GAAG,CAAC+B,WAAW,cAAAoD,iBAAA,uBAAfA,iBAAA,CAAiBlF,MAAM,CAAC;QACvD,IAAI,EAACb,OAAO,aAAPA,OAAO,eAAPA,OAAO,CAAEE,aAAa,GAAEF,OAAO,aAAPA,OAAO,gBAAAgG,sBAAA,GAAPhG,OAAO,CAAEiD,kBAAkB,cAAA+C,sBAAA,eAA3BA,sBAAA,CAAAhD,IAAA,CAAAhD,OAAO,EAAuBwB,QAAQ,CAAC;QACpE,IAAIZ,GAAG,CAAC6E,cAAc,EAAEvC,oBAAoB,CAAC,CAAC;MAChD;MAEA9B,wBAAwB,CAACmC,OAAO,GAAG,IAAI;MACvCE,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAG,CAAC;IACd,CAAC,CAAC;EACN,CAAC,CAAC;EAEFjE,iBAAiB,CAACoB,GAAG,EAAES,SAAS,EAAE;IAChC4E,YAAYA,CAACnG,OAAO,EAAEoG,UAAU,EAAE;MAChC,IAAIpG,OAAO,CAACqF,cAAc,CAAC,CAAC,IAAI,CAACjG,kBAAkB,CAACY,OAAO,EAAEA,OAAO,CAAC,EAAE;QAAA,IAAAqG,kBAAA;QACrE,IAAID,UAAU,CAACrF,MAAM,OAAAsF,kBAAA,GAAKvF,GAAG,CAAC+B,WAAW,cAAAwD,kBAAA,uBAAfA,kBAAA,CAAiBtF,MAAM,GAAE;UAAA,IAAAuF,sBAAA;UACjDpG,OAAO,aAAPA,OAAO,gBAAAoG,sBAAA,GAAPpG,OAAO,CAAE+E,gBAAgB,cAAAqB,sBAAA,eAAzBA,sBAAA,CAAApD,IAAA,CAAAhD,OAA4B,CAAC;QAC/B,CAAC,MAAM;UACLkB,WAAW,CAAC,CAAC;QACf;MACF;IACF;EACF,CAAC,CAAC;EAEFvC,SAAS,CAAC,MAAM;IACd;IACA0H,UAAU,CAAC,YAAY;MACrBvE,aAAa,CAAC,IAAI,CAAC;MACnB0B,IAAI,CAAC1C,oBAAoB,EAAEG,YAAY,EAAE,MAAMa,aAAa,CAAC,KAAK,CAAC,CAAC;IACtE,CAAC,EAAE,CAAC,CAAC;EACP,CAAC,EAAE,CAAChC,OAAO,CAACwG,GAAG,EAAEzF,MAAM,EAAEb,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEI,SAAS,CAAC,CAAC;EAE7CzB,SAAS,CAAC,MAAM;IACd,OAAO,MAAM;MAAA,IAAA4H,sBAAA;MACX,IAAIpF,aAAa,CAACoC,OAAO,EAAE,CAAAgD,sBAAA,GAAApF,aAAa,CAACoC,OAAO,cAAAgD,sBAAA,eAArBA,sBAAA,CAAuB1C,OAAO,CAAC,CAAC;IAC7D,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,MAAM2C,OAAuD,GAAGlH,gBAAgB,CAAC,YAAY;IAC3FyC,gBAAgB,CAAC,IAAI,CAAC;IACtByB,IAAI,CAACzC,MAAM,CAACC,gBAAgB,EAAEtB,aAAa,CAACC,OAAO,EAAE,MAAMoC,gBAAgB,CAAC,KAAK,CAAC,CAAC;EACrF,CAAC,CAAC;EAEF,MAAM0E,IAAiD,GAAGnH,gBAAgB,CAAC,YAAY;IAAA,IAAAoH,sBAAA;IACrF,IAAIvF,aAAa,CAACoC,OAAO,KAAAmD,sBAAA,GAAIvF,aAAa,CAACoC,OAAO,cAAAmD,sBAAA,eAArBA,sBAAA,CAAuBC,WAAW,EAAE;MAC/D,IAAI;QAAA,IAAAC,sBAAA,EAAAC,kBAAA;QACF,MAAMC,IAAI,GAAG,QAAAF,sBAAA,GAAMzF,aAAa,CAACoC,OAAO,cAAAqD,sBAAA,uBAArBA,sBAAA,CAAuBG,YAAY,CAAC,CAAC;QACxDrF,cAAc,CAACoF,IAAI,EAAE,KAAK,GAAAD,kBAAA,GAAEjG,GAAG,CAAC+B,WAAW,cAAAkE,kBAAA,uBAAfA,kBAAA,CAAiBhG,MAAM,CAAC;MACtD,CAAC,CAAC,MAAM,CAAC;IACX;EACF,CAAC,CAAC;EAEF,MAAMmG,OAAuD,GAAG1H,gBAAgB,CAAC,MAAM;IACrF,IAAI8B,wBAAwB,CAACmC,OAAO,IAAIpC,aAAa,CAACoC,OAAO,EAAE;MAC7D,OAAOpC,aAAa,CAACoC,OAAO,CAACoD,WAAW;IAC1C,CAAC,MAAM;MACL,OAAO,KAAK;IACd;EACF,CAAC,CAAC;EAEF,MAAMM,IAAiD,GAAG3H,gBAAgB,CAAC,YAAY;IAAA,IAAA4H,sBAAA;IACrF,IAAI/F,aAAa,CAACoC,OAAO,KAAA2D,sBAAA,GAAI/F,aAAa,CAACoC,OAAO,cAAA2D,sBAAA,eAArBA,sBAAA,CAAuBC,OAAO,EAAE;MAC3D,IAAI;QAAA,IAAAC,sBAAA,EAAAC,kBAAA;QACF,MAAMC,WAAW,GAAG,QAAAF,sBAAA,GAAMjG,aAAa,CAACoC,OAAO,cAAA6D,sBAAA,uBAArBA,sBAAA,CAAuBG,QAAQ,CAAC,CAAC;QAC3D7F,cAAc,CAAC4F,WAAW,EAAE,KAAK,GAAAD,kBAAA,GAAEzG,GAAG,CAAC+B,WAAW,cAAA0E,kBAAA,uBAAfA,kBAAA,CAAiBxG,MAAM,CAAC;MAC7D,CAAC,CAAC,MAAM,CAAC;IACX;EACF,CAAC,CAAC;EAEF,MAAMsG,OAAuD,GAAG7H,gBAAgB,CAAC,MAAM;IACrF,IAAI8B,wBAAwB,CAACmC,OAAO,IAAIpC,aAAa,CAACoC,OAAO,EAAE;MAC7D,OAAOpC,aAAa,CAACoC,OAAO,CAAC4D,OAAO;IACtC,CAAC,MAAM;MACL,OAAO,KAAK;IACd;EACF,CAAC,CAAC;EAEF,MAAMK,eAAuE,GAAGlI,gBAAgB,CAC9F,CAACmI,MAAM,EAAEC,SAAS,KAAK;IACrB,OAAO,IAAIC,OAAO,CAAC,CAACC,OAAO,EAAEC,MAAM,KAAK;MACtC/H,OAAO,CACJ0H,eAAe,CAACC,MAAM,CAAC,CACvBC,SAAS,CAAEI,cAAc,IAAK;QAC7B,IAAIA,cAAc,CAACC,aAAa,CAAC,CAAC,EAAE;UAAA,IAAAC,kBAAA;UAClCN,SAAS,aAATA,SAAS,eAATA,SAAS,CAAGI,cAAc,CAAC;UAC3BpG,cAAc,CAAC,CAACoG,cAAc,CAAC,EAAE,KAAK,GAAAE,kBAAA,GAAEpH,GAAG,CAAC+B,WAAW,cAAAqF,kBAAA,uBAAfA,kBAAA,CAAiBnH,MAAM,CAAC;QAClE;MACF,CAAC,CAAC,CACDoH,WAAW,CAAEC,WAAW,IAAK;QAC5B,IAAIA,WAAW,CAACH,aAAa,CAAC,CAAC,EAAE;UAAA,IAAAI,kBAAA;UAC/BzG,cAAc,CAAC,CAACwG,WAAW,CAAC,EAAE,KAAK,GAAAC,kBAAA,GAAEvH,GAAG,CAAC+B,WAAW,cAAAwF,kBAAA,uBAAfA,kBAAA,CAAiBtH,MAAM,CAAC;UAC7D+G,OAAO,CAACM,WAAW,CAAC;QACtB;MACF,CAAC,CAAC,CACDE,QAAQ,CAAC,CAAC5C,GAAG,EAAE6C,aAAa,KAAK;QAChC,IAAIA,aAAa,EAAE;UAAA,IAAAC,kBAAA;UACjB5G,cAAc,CAAC,CAAC2G,aAAa,CAAC,EAAE,KAAK,GAAAC,kBAAA,GAAE1H,GAAG,CAAC+B,WAAW,cAAA2F,kBAAA,uBAAfA,kBAAA,CAAiBzH,MAAM,CAAC;QACjE;QACAgH,MAAM,CAACrC,GAAG,CAAC;MACb,CAAC,CAAC;IACN,CAAC,CAAC;EACJ,CACF,CAAC;EACD,MAAM+C,eAAuE,GAAGjJ,gBAAgB,CAC9F,CAACmI,MAAM,EAAEC,SAAS,KAAK;IACrB,OAAO,IAAIC,OAAO,CAAC,CAACC,OAAO,EAAEC,MAAM,KAAK;MACtC/H,OAAO,CACJyI,eAAe,CAACd,MAAM,CAAC,CACvBC,SAAS,CAAEI,cAAc,IAAK;QAC7B,IAAIA,cAAc,CAACU,aAAa,CAAC,CAAC,EAAE;UAAA,IAAAC,kBAAA;UAClC/G,cAAc,CAAC,CAACoG,cAAc,CAAC,EAAE,KAAK,GAAAW,kBAAA,GAAE7H,GAAG,CAAC+B,WAAW,cAAA8F,kBAAA,uBAAfA,kBAAA,CAAiB5H,MAAM,CAAC;UAChE6G,SAAS,aAATA,SAAS,eAATA,SAAS,CAAGI,cAAc,CAAC;QAC7B;MACF,CAAC,CAAC,CACDG,WAAW,CAAEC,WAAW,IAAK;QAC5B,IAAIA,WAAW,CAACM,aAAa,CAAC,CAAC,EAAE;UAAA,IAAAE,kBAAA;UAC/BhH,cAAc,CAAC,CAACwG,WAAW,CAAC,EAAE,KAAK,GAAAQ,kBAAA,GAAE9H,GAAG,CAAC+B,WAAW,cAAA+F,kBAAA,uBAAfA,kBAAA,CAAiB7H,MAAM,CAAC;UAC7D+G,OAAO,CAACM,WAAkC,CAAC;QAC7C;MACF,CAAC,CAAC,CACDE,QAAQ,CAAC,CAAC5C,GAAG,EAAE6C,aAAa,KAAK;QAChC,IAAIA,aAAa,EAAE;UAAA,IAAAM,kBAAA;UACjBjH,cAAc,CAAC,CAAC2G,aAAa,CAAC,EAAE,KAAK,GAAAM,kBAAA,GAAE/H,GAAG,CAAC+B,WAAW,cAAAgG,kBAAA,uBAAfA,kBAAA,CAAiB9H,MAAM,CAAC;QACjE;QACAgH,MAAM,CAACrC,GAAG,CAAC;MACb,CAAC,CAAC;IACN,CAAC,CAAC;EACJ,CACF,CAAC;EACD,MAAMoD,iBAA2E,GAAGtJ,gBAAgB,CAClG,OAAOsF,SAAS,EAAE6C,MAAM,KAAK;IAAA,IAAAoB,kBAAA;IAC3B,MAAMC,cAAc,GAAG,MAAMhJ,OAAO,CAAC8I,iBAAiB,CAAChE,SAAS,EAAE6C,MAAM,CAAC;IACzE/F,cAAc,CAAC,CAACoH,cAAc,CAAC,EAAE,KAAK,GAAAD,kBAAA,GAAEjI,GAAG,CAAC+B,WAAW,cAAAkG,kBAAA,uBAAfA,kBAAA,CAAiBhI,MAAM,CAAC;IAChE,OAAOiI,cAAc;EACvB,CACF,CAAC;EACD,MAAMC,iBAA2E,GAAGzJ,gBAAgB,CAClG,OAAOsF,SAAS,EAAE6C,MAAM,KAAK;IAAA,IAAAuB,kBAAA;IAC3B,MAAMF,cAAc,GAAG,MAAMhJ,OAAO,CAACiJ,iBAAiB,CAACnE,SAAS,EAAE6C,MAAM,CAAC;IACzE/F,cAAc,CAAC,CAACoH,cAAc,CAAC,EAAE,KAAK,GAAAE,kBAAA,GAAEpI,GAAG,CAAC+B,WAAW,cAAAqG,kBAAA,uBAAfA,kBAAA,CAAiBnI,MAAM,CAAC;IAChE,OAAOiI,cAAc;EACvB,CACF,CAAC;EACD,MAAMG,aAAmE,GAAG3J,gBAAgB,CAC1F,MAAO+I,aAAa,IAAK;IAAA,IAAAa,kBAAA;IACvB,MAAMC,aAAa,GAAG,MAAM,CAAC,MAAM;MACjC,IAAId,aAAa,CAACN,aAAa,CAAC,CAAC,EAAE,OAAOjI,OAAO,CAACsJ,iBAAiB,CAACf,aAAa,CAAC;MAClF,IAAIA,aAAa,CAACG,aAAa,CAAC,CAAC,EAAE,OAAO1I,OAAO,CAACuJ,iBAAiB,CAAChB,aAAa,CAAC;MAClF,OAAO,IAAI;IACb,CAAC,EAAE,CAAC;IAEJ,IAAIc,aAAa,EAAEzH,cAAc,CAAC,CAACyH,aAAa,CAAC,EAAE,KAAK,GAAAD,kBAAA,GAAEtI,GAAG,CAAC+B,WAAW,cAAAuG,kBAAA,uBAAfA,kBAAA,CAAiBrI,MAAM,CAAC;EACpF,CACF,CAAC;EACD,MAAMyI,aAAmE,GAAGhK,gBAAgB,CAAC,MAAOiK,OAAO,IAAK;IAC9G,IAAIA,OAAO,CAACC,aAAa,KAAK,WAAW,EAAE;MACzC,IAAID,OAAO,CAACxB,aAAa,CAAC,CAAC,EAAE,MAAMjI,OAAO,CAACwJ,aAAa,CAACC,OAAO,CAAC;MACjE,IAAIA,OAAO,CAACf,aAAa,CAAC,CAAC,EAAE,MAAM1I,OAAO,CAACwJ,aAAa,CAACC,OAAO,CAAC;IACnE,CAAC,MAAM;MACL,IAAI;QAAA,IAAAE,sBAAA;QACF,QAAAA,sBAAA,GAAMtI,aAAa,CAACoC,OAAO,cAAAkG,sBAAA,uBAArBA,sBAAA,CAAuBC,mBAAmB,CAACH,OAAO,CAACzE,KAAK,CAAC;MACjE,CAAC,SAAS;QACRjD,cAAc,CAAC,CAAC0H,OAAO,CAAC3E,SAAS,CAAC,EAAE,CAAC2E,OAAO,CAACzE,KAAK,CAAC,CAAC;MACtD;IACF;EACF,CAAC,CAAC;EACF,MAAM6E,gBAAyE,GAAGrK,gBAAgB,CAAC,MAAM;IAAA,IAAAsK,kBAAA;IACvGjI,iBAAiB,CAAC,EAAE,EAAE,IAAI,GAAAiI,kBAAA,GAAEhJ,GAAG,CAAC+B,WAAW,cAAAiH,kBAAA,uBAAfA,kBAAA,CAAiB/I,MAAM,CAAC;EACtD,CAAC,CAAC;EACF,MAAMgJ,sBAAqF,GAAGvK,gBAAgB,CAC5G,CAACY,aAAa,EAAEuD,QAAQ,KAAK;IAAA,IAAAqG,kBAAA;IAC3B,MAAM/J,KAAK,GAAGS,oBAAoB,CAACN,aAAa,CAAC,GAAGR,aAAa,CAACE,MAAM,GAAGF,aAAa,CAACC,OAAO;IAChGmC,aAAa,CAAC,IAAI,CAAC;IACnBJ,cAAc,CAAC,EAAE,EAAE,IAAI,GAAAoI,kBAAA,GAAElJ,GAAG,CAAC+B,WAAW,cAAAmH,kBAAA,uBAAfA,kBAAA,CAAiBjJ,MAAM,CAAC;IACjD2C,IAAI,CAACtD,aAAa,EAAEH,KAAK,EAAE,MAAM;MAC/B+B,aAAa,CAAC,KAAK,CAAC;MACpB2B,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAG,CAAC;IACd,CAAC,CAAC;EACJ,CACF,CAAC;EAED,OAAO;IACLnC,OAAO;IACPC,UAAU;IACViF,OAAO;IACPhF,QAAQ;IACRyF,IAAI;IACJE,OAAO;IACPV,IAAI;IACJO,OAAO;IACPvF,WAAW;IACXkI,gBAAgB;IAChBnC,eAAe;IACfe,eAAe;IACfK,iBAAiB;IACjBG,iBAAiB;IACjBE,aAAa;IACbK,aAAa;IACbO;EACF,CAAC;AACH,CAAC","ignoreList":[]}
@@ -101,7 +101,7 @@ export const useGroupChannelMessagesWithQuery = (sdk, channel, userId, options)
101
101
  },
102
102
  onChannelDeleted(channelUrl) {
103
103
  var _options$onChannelDel;
104
- if (channel.url === channelUrl) options === null || options === void 0 ? void 0 : (_options$onChannelDel = options.onChannelDeleted) === null || _options$onChannelDel === void 0 ? void 0 : _options$onChannelDel.call(options);
104
+ if (channel.url === channelUrl) options === null || options === void 0 || (_options$onChannelDel = options.onChannelDeleted) === null || _options$onChannelDel === void 0 || _options$onChannelDel.call(options);
105
105
  },
106
106
  // Users
107
107
  onOperatorUpdated: channelUpdater,
@@ -117,7 +117,7 @@ export const useGroupChannelMessagesWithQuery = (sdk, channel, userId, options)
117
117
  if (isDifferentChannel(channel, eventChannel)) return;
118
118
  if (bannedUser.userId === ((_sdk$currentUser9 = sdk.currentUser) === null || _sdk$currentUser9 === void 0 ? void 0 : _sdk$currentUser9.userId)) {
119
119
  var _options$onChannelDel2;
120
- options === null || options === void 0 ? void 0 : (_options$onChannelDel2 = options.onChannelDeleted) === null || _options$onChannelDel2 === void 0 ? void 0 : _options$onChannelDel2.call(options);
120
+ options === null || options === void 0 || (_options$onChannelDel2 = options.onChannelDeleted) === null || _options$onChannelDel2 === void 0 || _options$onChannelDel2.call(options);
121
121
  } else {
122
122
  channelUpdater(eventChannel);
123
123
  }
@@ -153,7 +153,7 @@ export const useGroupChannelMessagesWithQuery = (sdk, channel, userId, options)
153
153
  if (pendingMessage.isUserMessage()) {
154
154
  var _sdk$currentUser11;
155
155
  updateMessages([pendingMessage], false, (_sdk$currentUser11 = sdk.currentUser) === null || _sdk$currentUser11 === void 0 ? void 0 : _sdk$currentUser11.userId);
156
- onPending === null || onPending === void 0 ? void 0 : onPending(pendingMessage);
156
+ onPending === null || onPending === void 0 || onPending(pendingMessage);
157
157
  }
158
158
  }).onSucceeded(sentMessage => {
159
159
  if (sentMessage.isUserMessage()) {
@@ -176,7 +176,7 @@ export const useGroupChannelMessagesWithQuery = (sdk, channel, userId, options)
176
176
  if (pendingMessage.isFileMessage()) {
177
177
  var _sdk$currentUser14;
178
178
  updateMessages([pendingMessage], false, (_sdk$currentUser14 = sdk.currentUser) === null || _sdk$currentUser14 === void 0 ? void 0 : _sdk$currentUser14.userId);
179
- onPending === null || onPending === void 0 ? void 0 : onPending(pendingMessage);
179
+ onPending === null || onPending === void 0 || onPending(pendingMessage);
180
180
  }
181
181
  }).onSucceeded(sentMessage => {
182
182
  if (sentMessage.isFileMessage()) {
@@ -1 +1 @@
1
- {"version":3,"names":["useRef","ASYNC_NOOP","Logger","confirmAndMarkAsRead","isDifferentChannel","isMyMessage","useAsyncEffect","useForceUpdate","useFreshCallback","useUniqHandlerId","useChannelHandler","useChannelMessagesReducer","createMessageQuery","channel","options","queryCreator","params","limit","reverse","replyType","createPreviousMessageListQuery","useGroupChannelMessagesWithQuery","sdk","userId","queryRef","handlerId","forceUpdate","loading","refreshing","messages","newMessages","updateMessages","deleteMessages","updateNewMessages","deleteNewMessages","updateLoading","updateRefreshing","sortComparator","init","uid","_sdk$currentUser","_queryRef$current","currentUser","current","hasNext","_queryRef$current2","_sdk$currentUser2","list","load","channelUpdater","isGroupChannel","onMessageReceived","eventChannel","message","_sdk$currentUser3","_sdk$currentUser4","_options$shouldCountN","shouldCountNewMessages","call","_sdk$currentUser5","onMessagesReceived","onMessageUpdated","_sdk$currentUser6","_sdk$currentUser7","onMessageDeleted","messageId","onReactionUpdated","reactionEvent","_sdk$currentUser8","getMessage","includeReactions","includeParentMessageInfo","includeThreadInfo","includeMetaArray","channelUrl","url","channelType","onChannelChanged","onChannelFrozen","onChannelUnfrozen","onChannelHidden","onChannelMemberCountChanged","channels","foundChannel","find","c","onChannelDeleted","_options$onChannelDel","onOperatorUpdated","onUserLeft","onUserJoined","onUserUnbanned","onUserMuted","onUserUnmuted","onUserBanned","bannedUser","_sdk$currentUser9","_options$onChannelDel2","refresh","prev","_queryRef$current3","_queryRef$current4","_sdk$currentUser10","hasPrev","_queryRef$current5","next","sendUserMessage","onPending","Promise","resolve","reject","pendingMessage","isUserMessage","_sdk$currentUser11","onSucceeded","sentMessage","_sdk$currentUser12","onFailed","err","failedMessage","_sdk$currentUser13","sendFileMessage","isFileMessage","_sdk$currentUser14","_sdk$currentUser15","_sdk$currentUser16","updateUserMessage","_sdk$currentUser17","updatedMessage","updateFileMessage","_sdk$currentUser18","resendMessage","_sdk$currentUser19","resendUserMessage","resendFileMessage","deleteMessage","sendingStatus","reqId","resetNewMessages","_sdk$currentUser20","resetWithStartingPoint","warn"],"sources":["useGroupChannelMessagesWithQuery.ts"],"sourcesContent":["import { useRef } from 'react';\n\nimport type { BaseMessage, PreviousMessageListQueryParams } from '@sendbird/chat/message';\nimport type {\n SendbirdBaseChannel,\n SendbirdGroupChannel,\n SendbirdPreviousMessageListQuery,\n} from '@sendbird/uikit-utils';\nimport {\n ASYNC_NOOP,\n Logger,\n confirmAndMarkAsRead,\n isDifferentChannel,\n isMyMessage,\n useAsyncEffect,\n useForceUpdate,\n useFreshCallback,\n useUniqHandlerId,\n} from '@sendbird/uikit-utils';\n\nimport { useChannelHandler } from '../../handler/useChannelHandler';\nimport type { UseGroupChannelMessages, UseGroupChannelMessagesOptions } from '../../types';\nimport { useChannelMessagesReducer } from '../useChannelMessagesReducer';\n\nconst createMessageQuery = (channel: SendbirdGroupChannel, options?: UseGroupChannelMessagesOptions) => {\n if (options?.queryCreator) return options.queryCreator();\n\n const params: PreviousMessageListQueryParams = { limit: 100, reverse: true };\n if (options?.replyType) params.replyType = options.replyType;\n\n return channel.createPreviousMessageListQuery(params);\n};\n\n/**\n * @deprecated This hook is deprecated and will be replaced by the '@sendbird/uikit-tools' package.\n * */\nexport const useGroupChannelMessagesWithQuery: UseGroupChannelMessages = (sdk, channel, userId, options) => {\n const queryRef = useRef<SendbirdPreviousMessageListQuery>();\n const handlerId = useUniqHandlerId('useGroupChannelMessagesWithQuery');\n\n const forceUpdate = useForceUpdate();\n\n const {\n loading,\n refreshing,\n messages,\n newMessages,\n updateMessages,\n deleteMessages,\n updateNewMessages,\n deleteNewMessages,\n updateLoading,\n updateRefreshing,\n } = useChannelMessagesReducer(options?.sortComparator);\n\n const init = useFreshCallback(async (uid?: string) => {\n if (uid) {\n confirmAndMarkAsRead([channel]);\n updateNewMessages([], true, sdk.currentUser?.userId);\n\n queryRef.current = createMessageQuery(channel, options);\n if (queryRef.current?.hasNext) {\n const list = await queryRef.current?.load();\n updateMessages(list, true, sdk.currentUser?.userId);\n }\n }\n });\n\n const channelUpdater = (channel: SendbirdBaseChannel) => {\n if (channel.isGroupChannel() && !isDifferentChannel(channel, channel)) {\n forceUpdate();\n }\n };\n\n useChannelHandler(sdk, handlerId, {\n // Messages\n onMessageReceived(eventChannel, message) {\n if (isDifferentChannel(channel, eventChannel)) return;\n if (isMyMessage(message, sdk.currentUser?.userId)) return;\n\n confirmAndMarkAsRead([channel]);\n\n updateMessages([message], false, sdk.currentUser?.userId);\n if (options?.shouldCountNewMessages?.()) {\n updateNewMessages([message], false, sdk.currentUser?.userId);\n }\n if (options?.onMessagesReceived) {\n options.onMessagesReceived([message]);\n }\n },\n onMessageUpdated(eventChannel, message) {\n if (isDifferentChannel(channel, eventChannel)) return;\n if (isMyMessage(message, sdk.currentUser?.userId)) return;\n\n updateMessages([message], false, sdk.currentUser?.userId);\n },\n onMessageDeleted(eventChannel, messageId) {\n if (isDifferentChannel(channel, eventChannel)) return;\n deleteMessages([messageId], []);\n deleteNewMessages([messageId], []);\n },\n async onReactionUpdated(eventChannel, reactionEvent) {\n if (isDifferentChannel(channel, eventChannel)) return;\n\n const message = await sdk.message.getMessage({\n messageId: reactionEvent.messageId,\n includeReactions: true,\n includeParentMessageInfo: true,\n includeThreadInfo: true,\n includeMetaArray: true,\n channelUrl: channel.url,\n channelType: channel.channelType,\n });\n if (message) updateMessages([message as BaseMessage], false, sdk.currentUser?.userId);\n },\n // Channels\n onChannelChanged: channelUpdater,\n onChannelFrozen: channelUpdater,\n onChannelUnfrozen: channelUpdater,\n onChannelHidden: channelUpdater,\n onChannelMemberCountChanged(channels) {\n const foundChannel = channels.find((c) => !isDifferentChannel(c, channel));\n if (foundChannel) channelUpdater(foundChannel);\n },\n onChannelDeleted(channelUrl: string) {\n if (channel.url === channelUrl) options?.onChannelDeleted?.();\n },\n // Users\n onOperatorUpdated: channelUpdater,\n onUserLeft: channelUpdater,\n // onUserEntered: channelUpdater,\n // onUserExited: channelUpdater,\n onUserJoined: channelUpdater,\n onUserUnbanned: channelUpdater,\n onUserMuted: channelUpdater,\n onUserUnmuted: channelUpdater,\n onUserBanned(eventChannel, bannedUser) {\n if (isDifferentChannel(channel, eventChannel)) return;\n\n if (bannedUser.userId === sdk.currentUser?.userId) {\n options?.onChannelDeleted?.();\n } else {\n channelUpdater(eventChannel);\n }\n },\n });\n\n useAsyncEffect(async () => {\n updateLoading(true);\n await init(userId);\n updateLoading(false);\n }, [channel.url, userId]);\n\n const refresh: ReturnType<UseGroupChannelMessages>['refresh'] = useFreshCallback(async () => {\n updateRefreshing(true);\n await init(userId);\n updateRefreshing(false);\n });\n\n const prev: ReturnType<UseGroupChannelMessages>['prev'] = useFreshCallback(async () => {\n if (queryRef.current && queryRef.current?.hasNext) {\n const list = await queryRef.current?.load();\n updateMessages(list, false, sdk.currentUser?.userId);\n }\n });\n const hasPrev: ReturnType<UseGroupChannelMessages>['hasPrev'] = useFreshCallback(\n () => queryRef.current?.hasNext ?? false,\n );\n\n const next: ReturnType<UseGroupChannelMessages>['next'] = useFreshCallback(ASYNC_NOOP);\n const hasNext: ReturnType<UseGroupChannelMessages>['hasNext'] = useFreshCallback(() => false);\n\n const sendUserMessage: ReturnType<UseGroupChannelMessages>['sendUserMessage'] = useFreshCallback(\n (params, onPending) => {\n return new Promise((resolve, reject) => {\n channel\n .sendUserMessage(params)\n .onPending((pendingMessage) => {\n if (pendingMessage.isUserMessage()) {\n updateMessages([pendingMessage], false, sdk.currentUser?.userId);\n onPending?.(pendingMessage);\n }\n })\n .onSucceeded((sentMessage) => {\n if (sentMessage.isUserMessage()) {\n updateMessages([sentMessage], false, sdk.currentUser?.userId);\n resolve(sentMessage);\n }\n })\n .onFailed((err, failedMessage) => {\n if (failedMessage) {\n updateMessages([failedMessage], false, sdk.currentUser?.userId);\n }\n reject(err);\n });\n });\n },\n );\n const sendFileMessage: ReturnType<UseGroupChannelMessages>['sendFileMessage'] = useFreshCallback(\n (params, onPending) => {\n return new Promise((resolve, reject) => {\n channel\n .sendFileMessage(params)\n .onPending((pendingMessage) => {\n if (pendingMessage.isFileMessage()) {\n updateMessages([pendingMessage], false, sdk.currentUser?.userId);\n onPending?.(pendingMessage);\n }\n })\n .onSucceeded((sentMessage) => {\n if (sentMessage.isFileMessage()) {\n updateMessages([sentMessage], false, sdk.currentUser?.userId);\n resolve(sentMessage);\n }\n })\n .onFailed((err, failedMessage) => {\n if (failedMessage) {\n updateMessages([failedMessage], false, sdk.currentUser?.userId);\n }\n reject(err);\n });\n });\n },\n );\n const updateUserMessage: ReturnType<UseGroupChannelMessages>['updateUserMessage'] = useFreshCallback(\n async (messageId, params) => {\n const updatedMessage = await channel.updateUserMessage(messageId, params);\n updateMessages([updatedMessage], false, sdk.currentUser?.userId);\n return updatedMessage;\n },\n );\n const updateFileMessage: ReturnType<UseGroupChannelMessages>['updateFileMessage'] = useFreshCallback(\n async (messageId, params) => {\n const updatedMessage = await channel.updateFileMessage(messageId, params);\n updateMessages([updatedMessage], false, sdk.currentUser?.userId);\n return updatedMessage;\n },\n );\n const resendMessage: ReturnType<UseGroupChannelMessages>['resendMessage'] = useFreshCallback(\n async (failedMessage) => {\n const message = await (() => {\n if (failedMessage.isUserMessage()) return channel.resendUserMessage(failedMessage);\n if (failedMessage.isFileMessage()) return channel.resendFileMessage(failedMessage);\n return null;\n })();\n\n if (message) updateMessages([message], false, sdk.currentUser?.userId);\n },\n );\n const deleteMessage: ReturnType<UseGroupChannelMessages>['deleteMessage'] = useFreshCallback(async (message) => {\n if (message.sendingStatus === 'succeeded') {\n if (message.isUserMessage()) await channel.deleteMessage(message);\n if (message.isFileMessage()) await channel.deleteMessage(message);\n } else {\n deleteMessages([message.messageId], [message.reqId]);\n }\n });\n const resetNewMessages: ReturnType<UseGroupChannelMessages>['resetNewMessages'] = useFreshCallback(() => {\n updateNewMessages([], true, sdk.currentUser?.userId);\n });\n\n return {\n loading,\n refreshing,\n refresh,\n messages,\n newMessages,\n resetNewMessages,\n next,\n hasNext,\n prev,\n hasPrev,\n sendUserMessage,\n sendFileMessage,\n updateUserMessage,\n updateFileMessage,\n resendMessage,\n deleteMessage,\n resetWithStartingPoint() {\n Logger.warn('resetWithStartingPoint is not supported in Query, please use Collection instead.');\n },\n };\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["useRef","ASYNC_NOOP","Logger","confirmAndMarkAsRead","isDifferentChannel","isMyMessage","useAsyncEffect","useForceUpdate","useFreshCallback","useUniqHandlerId","useChannelHandler","useChannelMessagesReducer","createMessageQuery","channel","options","queryCreator","params","limit","reverse","replyType","createPreviousMessageListQuery","useGroupChannelMessagesWithQuery","sdk","userId","queryRef","handlerId","forceUpdate","loading","refreshing","messages","newMessages","updateMessages","deleteMessages","updateNewMessages","deleteNewMessages","updateLoading","updateRefreshing","sortComparator","init","uid","_sdk$currentUser","_queryRef$current","currentUser","current","hasNext","_queryRef$current2","_sdk$currentUser2","list","load","channelUpdater","isGroupChannel","onMessageReceived","eventChannel","message","_sdk$currentUser3","_sdk$currentUser4","_options$shouldCountN","shouldCountNewMessages","call","_sdk$currentUser5","onMessagesReceived","onMessageUpdated","_sdk$currentUser6","_sdk$currentUser7","onMessageDeleted","messageId","onReactionUpdated","reactionEvent","_sdk$currentUser8","getMessage","includeReactions","includeParentMessageInfo","includeThreadInfo","includeMetaArray","channelUrl","url","channelType","onChannelChanged","onChannelFrozen","onChannelUnfrozen","onChannelHidden","onChannelMemberCountChanged","channels","foundChannel","find","c","onChannelDeleted","_options$onChannelDel","onOperatorUpdated","onUserLeft","onUserJoined","onUserUnbanned","onUserMuted","onUserUnmuted","onUserBanned","bannedUser","_sdk$currentUser9","_options$onChannelDel2","refresh","prev","_queryRef$current3","_queryRef$current4","_sdk$currentUser10","hasPrev","_queryRef$current5","next","sendUserMessage","onPending","Promise","resolve","reject","pendingMessage","isUserMessage","_sdk$currentUser11","onSucceeded","sentMessage","_sdk$currentUser12","onFailed","err","failedMessage","_sdk$currentUser13","sendFileMessage","isFileMessage","_sdk$currentUser14","_sdk$currentUser15","_sdk$currentUser16","updateUserMessage","_sdk$currentUser17","updatedMessage","updateFileMessage","_sdk$currentUser18","resendMessage","_sdk$currentUser19","resendUserMessage","resendFileMessage","deleteMessage","sendingStatus","reqId","resetNewMessages","_sdk$currentUser20","resetWithStartingPoint","warn"],"sources":["useGroupChannelMessagesWithQuery.ts"],"sourcesContent":["import { useRef } from 'react';\n\nimport type { BaseMessage, PreviousMessageListQueryParams } from '@sendbird/chat/message';\nimport type {\n SendbirdBaseChannel,\n SendbirdGroupChannel,\n SendbirdPreviousMessageListQuery,\n} from '@sendbird/uikit-utils';\nimport {\n ASYNC_NOOP,\n Logger,\n confirmAndMarkAsRead,\n isDifferentChannel,\n isMyMessage,\n useAsyncEffect,\n useForceUpdate,\n useFreshCallback,\n useUniqHandlerId,\n} from '@sendbird/uikit-utils';\n\nimport { useChannelHandler } from '../../handler/useChannelHandler';\nimport type { UseGroupChannelMessages, UseGroupChannelMessagesOptions } from '../../types';\nimport { useChannelMessagesReducer } from '../useChannelMessagesReducer';\n\nconst createMessageQuery = (channel: SendbirdGroupChannel, options?: UseGroupChannelMessagesOptions) => {\n if (options?.queryCreator) return options.queryCreator();\n\n const params: PreviousMessageListQueryParams = { limit: 100, reverse: true };\n if (options?.replyType) params.replyType = options.replyType;\n\n return channel.createPreviousMessageListQuery(params);\n};\n\n/**\n * @deprecated This hook is deprecated and will be replaced by the '@sendbird/uikit-tools' package.\n * */\nexport const useGroupChannelMessagesWithQuery: UseGroupChannelMessages = (sdk, channel, userId, options) => {\n const queryRef = useRef<SendbirdPreviousMessageListQuery>();\n const handlerId = useUniqHandlerId('useGroupChannelMessagesWithQuery');\n\n const forceUpdate = useForceUpdate();\n\n const {\n loading,\n refreshing,\n messages,\n newMessages,\n updateMessages,\n deleteMessages,\n updateNewMessages,\n deleteNewMessages,\n updateLoading,\n updateRefreshing,\n } = useChannelMessagesReducer(options?.sortComparator);\n\n const init = useFreshCallback(async (uid?: string) => {\n if (uid) {\n confirmAndMarkAsRead([channel]);\n updateNewMessages([], true, sdk.currentUser?.userId);\n\n queryRef.current = createMessageQuery(channel, options);\n if (queryRef.current?.hasNext) {\n const list = await queryRef.current?.load();\n updateMessages(list, true, sdk.currentUser?.userId);\n }\n }\n });\n\n const channelUpdater = (channel: SendbirdBaseChannel) => {\n if (channel.isGroupChannel() && !isDifferentChannel(channel, channel)) {\n forceUpdate();\n }\n };\n\n useChannelHandler(sdk, handlerId, {\n // Messages\n onMessageReceived(eventChannel, message) {\n if (isDifferentChannel(channel, eventChannel)) return;\n if (isMyMessage(message, sdk.currentUser?.userId)) return;\n\n confirmAndMarkAsRead([channel]);\n\n updateMessages([message], false, sdk.currentUser?.userId);\n if (options?.shouldCountNewMessages?.()) {\n updateNewMessages([message], false, sdk.currentUser?.userId);\n }\n if (options?.onMessagesReceived) {\n options.onMessagesReceived([message]);\n }\n },\n onMessageUpdated(eventChannel, message) {\n if (isDifferentChannel(channel, eventChannel)) return;\n if (isMyMessage(message, sdk.currentUser?.userId)) return;\n\n updateMessages([message], false, sdk.currentUser?.userId);\n },\n onMessageDeleted(eventChannel, messageId) {\n if (isDifferentChannel(channel, eventChannel)) return;\n deleteMessages([messageId], []);\n deleteNewMessages([messageId], []);\n },\n async onReactionUpdated(eventChannel, reactionEvent) {\n if (isDifferentChannel(channel, eventChannel)) return;\n\n const message = await sdk.message.getMessage({\n messageId: reactionEvent.messageId,\n includeReactions: true,\n includeParentMessageInfo: true,\n includeThreadInfo: true,\n includeMetaArray: true,\n channelUrl: channel.url,\n channelType: channel.channelType,\n });\n if (message) updateMessages([message as BaseMessage], false, sdk.currentUser?.userId);\n },\n // Channels\n onChannelChanged: channelUpdater,\n onChannelFrozen: channelUpdater,\n onChannelUnfrozen: channelUpdater,\n onChannelHidden: channelUpdater,\n onChannelMemberCountChanged(channels) {\n const foundChannel = channels.find((c) => !isDifferentChannel(c, channel));\n if (foundChannel) channelUpdater(foundChannel);\n },\n onChannelDeleted(channelUrl: string) {\n if (channel.url === channelUrl) options?.onChannelDeleted?.();\n },\n // Users\n onOperatorUpdated: channelUpdater,\n onUserLeft: channelUpdater,\n // onUserEntered: channelUpdater,\n // onUserExited: channelUpdater,\n onUserJoined: channelUpdater,\n onUserUnbanned: channelUpdater,\n onUserMuted: channelUpdater,\n onUserUnmuted: channelUpdater,\n onUserBanned(eventChannel, bannedUser) {\n if (isDifferentChannel(channel, eventChannel)) return;\n\n if (bannedUser.userId === sdk.currentUser?.userId) {\n options?.onChannelDeleted?.();\n } else {\n channelUpdater(eventChannel);\n }\n },\n });\n\n useAsyncEffect(async () => {\n updateLoading(true);\n await init(userId);\n updateLoading(false);\n }, [channel.url, userId]);\n\n const refresh: ReturnType<UseGroupChannelMessages>['refresh'] = useFreshCallback(async () => {\n updateRefreshing(true);\n await init(userId);\n updateRefreshing(false);\n });\n\n const prev: ReturnType<UseGroupChannelMessages>['prev'] = useFreshCallback(async () => {\n if (queryRef.current && queryRef.current?.hasNext) {\n const list = await queryRef.current?.load();\n updateMessages(list, false, sdk.currentUser?.userId);\n }\n });\n const hasPrev: ReturnType<UseGroupChannelMessages>['hasPrev'] = useFreshCallback(\n () => queryRef.current?.hasNext ?? false,\n );\n\n const next: ReturnType<UseGroupChannelMessages>['next'] = useFreshCallback(ASYNC_NOOP);\n const hasNext: ReturnType<UseGroupChannelMessages>['hasNext'] = useFreshCallback(() => false);\n\n const sendUserMessage: ReturnType<UseGroupChannelMessages>['sendUserMessage'] = useFreshCallback(\n (params, onPending) => {\n return new Promise((resolve, reject) => {\n channel\n .sendUserMessage(params)\n .onPending((pendingMessage) => {\n if (pendingMessage.isUserMessage()) {\n updateMessages([pendingMessage], false, sdk.currentUser?.userId);\n onPending?.(pendingMessage);\n }\n })\n .onSucceeded((sentMessage) => {\n if (sentMessage.isUserMessage()) {\n updateMessages([sentMessage], false, sdk.currentUser?.userId);\n resolve(sentMessage);\n }\n })\n .onFailed((err, failedMessage) => {\n if (failedMessage) {\n updateMessages([failedMessage], false, sdk.currentUser?.userId);\n }\n reject(err);\n });\n });\n },\n );\n const sendFileMessage: ReturnType<UseGroupChannelMessages>['sendFileMessage'] = useFreshCallback(\n (params, onPending) => {\n return new Promise((resolve, reject) => {\n channel\n .sendFileMessage(params)\n .onPending((pendingMessage) => {\n if (pendingMessage.isFileMessage()) {\n updateMessages([pendingMessage], false, sdk.currentUser?.userId);\n onPending?.(pendingMessage);\n }\n })\n .onSucceeded((sentMessage) => {\n if (sentMessage.isFileMessage()) {\n updateMessages([sentMessage], false, sdk.currentUser?.userId);\n resolve(sentMessage);\n }\n })\n .onFailed((err, failedMessage) => {\n if (failedMessage) {\n updateMessages([failedMessage], false, sdk.currentUser?.userId);\n }\n reject(err);\n });\n });\n },\n );\n const updateUserMessage: ReturnType<UseGroupChannelMessages>['updateUserMessage'] = useFreshCallback(\n async (messageId, params) => {\n const updatedMessage = await channel.updateUserMessage(messageId, params);\n updateMessages([updatedMessage], false, sdk.currentUser?.userId);\n return updatedMessage;\n },\n );\n const updateFileMessage: ReturnType<UseGroupChannelMessages>['updateFileMessage'] = useFreshCallback(\n async (messageId, params) => {\n const updatedMessage = await channel.updateFileMessage(messageId, params);\n updateMessages([updatedMessage], false, sdk.currentUser?.userId);\n return updatedMessage;\n },\n );\n const resendMessage: ReturnType<UseGroupChannelMessages>['resendMessage'] = useFreshCallback(\n async (failedMessage) => {\n const message = await (() => {\n if (failedMessage.isUserMessage()) return channel.resendUserMessage(failedMessage);\n if (failedMessage.isFileMessage()) return channel.resendFileMessage(failedMessage);\n return null;\n })();\n\n if (message) updateMessages([message], false, sdk.currentUser?.userId);\n },\n );\n const deleteMessage: ReturnType<UseGroupChannelMessages>['deleteMessage'] = useFreshCallback(async (message) => {\n if (message.sendingStatus === 'succeeded') {\n if (message.isUserMessage()) await channel.deleteMessage(message);\n if (message.isFileMessage()) await channel.deleteMessage(message);\n } else {\n deleteMessages([message.messageId], [message.reqId]);\n }\n });\n const resetNewMessages: ReturnType<UseGroupChannelMessages>['resetNewMessages'] = useFreshCallback(() => {\n updateNewMessages([], true, sdk.currentUser?.userId);\n });\n\n return {\n loading,\n refreshing,\n refresh,\n messages,\n newMessages,\n resetNewMessages,\n next,\n hasNext,\n prev,\n hasPrev,\n sendUserMessage,\n sendFileMessage,\n updateUserMessage,\n updateFileMessage,\n resendMessage,\n deleteMessage,\n resetWithStartingPoint() {\n Logger.warn('resetWithStartingPoint is not supported in Query, please use Collection instead.');\n },\n };\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["useReducer","useAsyncEffect","initialState","loading","error","undefined","channel","reducer","state","nextState","useOpenChannel","sdk","channelUrl","setState","openChannel","getChannel","e"],"sources":["useOpenChannel.ts"],"sourcesContent":["import { useReducer } from 'react';\n\nimport { SendbirdChatSDK, SendbirdOpenChannel, useAsyncEffect } from '@sendbird/uikit-utils';\n\ntype State = { loading: boolean; channel?: SendbirdOpenChannel; error?: unknown };\n\nconst initialState: State = { loading: true, error: undefined, channel: undefined };\nconst reducer = (state: State, nextState: Partial<State>) => ({ ...state, ...nextState });\n\nexport const useOpenChannel = (sdk: SendbirdChatSDK, channelUrl: string) => {\n const [state, setState] = useReducer(reducer, initialState);\n\n useAsyncEffect(async () => {\n setState(initialState);\n\n try {\n setState({ channel: await sdk.openChannel.getChannel(channelUrl), loading: false });\n } catch (e) {\n setState({ error: e, loading: false });\n }\n }, [channelUrl]);\n\n return state;\n};\n"],"mappings":"AAAA,SAASA,UAAU,QAAQ,OAAO;AAElC,SAA+CC,cAAc,QAAQ,uBAAuB;AAI5F,MAAMC,YAAmB,GAAG;EAAEC,OAAO,EAAE,IAAI;EAAEC,KAAK,EAAEC,SAAS;EAAEC,OAAO,EAAED;AAAU,CAAC;AACnF,MAAME,OAAO,GAAGA,CAACC,KAAY,EAAEC,SAAyB,MAAM;EAAE,GAAGD,KAAK;EAAE,GAAGC;AAAU,CAAC,CAAC;AAEzF,OAAO,MAAMC,cAAc,GAAGA,CAACC,GAAoB,EAAEC,UAAkB,KAAK;EAC1E,MAAM,CAACJ,KAAK,EAAEK,QAAQ,CAAC,GAAGb,UAAU,CAACO,OAAO,EAAEL,YAAY,CAAC;EAE3DD,cAAc,CAAC,YAAY;IACzBY,QAAQ,CAACX,YAAY,CAAC;IAEtB,IAAI;MACFW,QAAQ,CAAC;QAAEP,OAAO,EAAE,MAAMK,GAAG,CAACG,WAAW,CAACC,UAAU,CAACH,UAAU,CAAC;QAAET,OAAO,EAAE;MAAM,CAAC,CAAC;IACrF,CAAC,CAAC,OAAOa,CAAC,EAAE;MACVH,QAAQ,CAAC;QAAET,KAAK,EAAEY,CAAC;QAAEb,OAAO,EAAE;MAAM,CAAC,CAAC;IACxC;EACF,CAAC,EAAE,CAACS,UAAU,CAAC,CAAC;EAEhB,OAAOJ,KAAK;AACd,CAAC"}
1
+ {"version":3,"names":["useReducer","useAsyncEffect","initialState","loading","error","undefined","channel","reducer","state","nextState","useOpenChannel","sdk","channelUrl","setState","openChannel","getChannel","e"],"sources":["useOpenChannel.ts"],"sourcesContent":["import { useReducer } from 'react';\n\nimport { SendbirdChatSDK, SendbirdOpenChannel, useAsyncEffect } from '@sendbird/uikit-utils';\n\ntype State = { loading: boolean; channel?: SendbirdOpenChannel; error?: unknown };\n\nconst initialState: State = { loading: true, error: undefined, channel: undefined };\nconst reducer = (state: State, nextState: Partial<State>) => ({ ...state, ...nextState });\n\nexport const useOpenChannel = (sdk: SendbirdChatSDK, channelUrl: string) => {\n const [state, setState] = useReducer(reducer, initialState);\n\n useAsyncEffect(async () => {\n setState(initialState);\n\n try {\n setState({ channel: await sdk.openChannel.getChannel(channelUrl), loading: false });\n } catch (e) {\n setState({ error: e, loading: false });\n }\n }, [channelUrl]);\n\n return state;\n};\n"],"mappings":"AAAA,SAASA,UAAU,QAAQ,OAAO;AAElC,SAA+CC,cAAc,QAAQ,uBAAuB;AAI5F,MAAMC,YAAmB,GAAG;EAAEC,OAAO,EAAE,IAAI;EAAEC,KAAK,EAAEC,SAAS;EAAEC,OAAO,EAAED;AAAU,CAAC;AACnF,MAAME,OAAO,GAAGA,CAACC,KAAY,EAAEC,SAAyB,MAAM;EAAE,GAAGD,KAAK;EAAE,GAAGC;AAAU,CAAC,CAAC;AAEzF,OAAO,MAAMC,cAAc,GAAGA,CAACC,GAAoB,EAAEC,UAAkB,KAAK;EAC1E,MAAM,CAACJ,KAAK,EAAEK,QAAQ,CAAC,GAAGb,UAAU,CAACO,OAAO,EAAEL,YAAY,CAAC;EAE3DD,cAAc,CAAC,YAAY;IACzBY,QAAQ,CAACX,YAAY,CAAC;IAEtB,IAAI;MACFW,QAAQ,CAAC;QAAEP,OAAO,EAAE,MAAMK,GAAG,CAACG,WAAW,CAACC,UAAU,CAACH,UAAU,CAAC;QAAET,OAAO,EAAE;MAAM,CAAC,CAAC;IACrF,CAAC,CAAC,OAAOa,CAAC,EAAE;MACVH,QAAQ,CAAC;QAAET,KAAK,EAAEY,CAAC;QAAEb,OAAO,EAAE;MAAM,CAAC,CAAC;IACxC;EACF,CAAC,EAAE,CAACS,UAAU,CAAC,CAAC;EAEhB,OAAOJ,KAAK;AACd,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["useOpenChannelListWithQuery","useOpenChannelList","sdk","userId","options"],"sources":["index.ts"],"sourcesContent":["import type { UseOpenChannelList } from '../../types';\nimport { useOpenChannelListWithQuery } from './useOpenChannelListWithQuery';\n\nexport const useOpenChannelList: UseOpenChannelList = (sdk, userId, options) => {\n return useOpenChannelListWithQuery(sdk, userId, options);\n};\n"],"mappings":"AACA,SAASA,2BAA2B,QAAQ,+BAA+B;AAE3E,OAAO,MAAMC,kBAAsC,GAAGA,CAACC,GAAG,EAAEC,MAAM,EAAEC,OAAO,KAAK;EAC9E,OAAOJ,2BAA2B,CAACE,GAAG,EAAEC,MAAM,EAAEC,OAAO,CAAC;AAC1D,CAAC"}
1
+ {"version":3,"names":["useOpenChannelListWithQuery","useOpenChannelList","sdk","userId","options"],"sources":["index.ts"],"sourcesContent":["import type { UseOpenChannelList } from '../../types';\nimport { useOpenChannelListWithQuery } from './useOpenChannelListWithQuery';\n\nexport const useOpenChannelList: UseOpenChannelList = (sdk, userId, options) => {\n return useOpenChannelListWithQuery(sdk, userId, options);\n};\n"],"mappings":"AACA,SAASA,2BAA2B,QAAQ,+BAA+B;AAE3E,OAAO,MAAMC,kBAAsC,GAAGA,CAACC,GAAG,EAAEC,MAAM,EAAEC,OAAO,KAAK;EAC9E,OAAOJ,2BAA2B,CAACE,GAAG,EAAEC,MAAM,EAAEC,OAAO,CAAC;AAC1D,CAAC","ignoreList":[]}
@@ -1,9 +1,8 @@
1
1
  import { useReducer } from 'react';
2
2
  import { getOpenChannels, mergeObjectArrays } from '@sendbird/uikit-utils';
3
- const defaultReducer = (_ref, action) => {
4
- let {
5
- ...draft
6
- } = _ref;
3
+ const defaultReducer = ({
4
+ ...draft
5
+ }, action) => {
7
6
  switch (action.type) {
8
7
  case 'update_error':
9
8
  {
@@ -1 +1 @@
1
- {"version":3,"names":["useReducer","getOpenChannels","mergeObjectArrays","defaultReducer","_ref","action","draft","type","error","value","key","status","channels","forEach","freshChannel","idx","openChannels","findIndex","staleChannel","url","channelUrls","c","splice","clearBeforeAction","useOpenChannelListReducer","loading","refreshing","dispatch","updateChannels","deleteChannels","appendChannels","updateLoading","updateRefreshing","updateError"],"sources":["reducer.ts"],"sourcesContent":["import { useReducer } from 'react';\n\nimport type { SendbirdChannel, SendbirdOpenChannel } from '@sendbird/uikit-utils';\nimport { getOpenChannels, mergeObjectArrays } from '@sendbird/uikit-utils';\n\ntype Action =\n | {\n type: 'update_error';\n value: { error: unknown | null };\n }\n | {\n type: 'update_loading' | 'update_refreshing';\n value: { status: boolean };\n }\n | {\n type: 'update_channels';\n value: { channels: SendbirdChannel[] };\n }\n | {\n type: 'delete_channels';\n value: { channelUrls: string[] };\n }\n | {\n type: 'append_channels';\n value: { channels: SendbirdChannel[]; clearBeforeAction: boolean };\n };\n\ntype State = {\n error: unknown | null;\n loading: boolean;\n refreshing: boolean;\n openChannels: SendbirdOpenChannel[];\n};\n\nconst defaultReducer = ({ ...draft }: State, action: Action) => {\n switch (action.type) {\n case 'update_error': {\n draft.error = action.value.error;\n break;\n }\n case 'update_refreshing':\n case 'update_loading': {\n const key = action.type === 'update_loading' ? 'loading' : 'refreshing';\n draft[key] = action.value.status;\n break;\n }\n case 'update_channels': {\n getOpenChannels(action.value.channels).forEach((freshChannel) => {\n const idx = draft.openChannels.findIndex((staleChannel) => staleChannel.url === freshChannel.url);\n if (idx > -1) draft.openChannels[idx] = freshChannel;\n });\n break;\n }\n case 'delete_channels': {\n action.value.channelUrls.forEach((url) => {\n const idx = draft.openChannels.findIndex((c) => c.url === url);\n if (idx > -1) draft.openChannels.splice(idx, 1);\n });\n break;\n }\n case 'append_channels': {\n const openChannels = getOpenChannels(action.value.channels);\n if (action.value.clearBeforeAction) {\n draft.openChannels = openChannels;\n } else {\n draft.openChannels = mergeObjectArrays(draft.openChannels, openChannels, 'url');\n }\n break;\n }\n }\n return draft;\n};\n\nexport const useOpenChannelListReducer = () => {\n const [{ error, loading, refreshing, openChannels }, dispatch] = useReducer(defaultReducer, {\n loading: true,\n refreshing: false,\n openChannels: [],\n error: null,\n });\n\n const updateChannels = (channels: SendbirdChannel[]) => {\n dispatch({ type: 'update_channels', value: { channels } });\n };\n const deleteChannels = (channelUrls: string[]) => {\n dispatch({ type: 'delete_channels', value: { channelUrls } });\n };\n const appendChannels = (channels: SendbirdChannel[], clearBeforeAction: boolean) => {\n dispatch({ type: 'append_channels', value: { channels, clearBeforeAction } });\n };\n const updateLoading = (status: boolean) => {\n dispatch({ type: 'update_loading', value: { status } });\n };\n const updateRefreshing = (status: boolean) => {\n dispatch({ type: 'update_refreshing', value: { status } });\n };\n\n const updateError = (error: unknown | null) => {\n dispatch({ type: 'update_error', value: { error } });\n };\n\n return {\n updateError,\n updateLoading,\n updateRefreshing,\n updateChannels,\n deleteChannels,\n appendChannels,\n\n error,\n loading,\n refreshing,\n openChannels,\n };\n};\n"],"mappings":"AAAA,SAASA,UAAU,QAAQ,OAAO;AAGlC,SAASC,eAAe,EAAEC,iBAAiB,QAAQ,uBAAuB;AA+B1E,MAAMC,cAAc,GAAGA,CAAAC,IAAA,EAAsBC,MAAc,KAAK;EAAA,IAAxC;IAAE,GAAGC;EAAa,CAAC,GAAAF,IAAA;EACzC,QAAQC,MAAM,CAACE,IAAI;IACjB,KAAK,cAAc;MAAE;QACnBD,KAAK,CAACE,KAAK,GAAGH,MAAM,CAACI,KAAK,CAACD,KAAK;QAChC;MACF;IACA,KAAK,mBAAmB;IACxB,KAAK,gBAAgB;MAAE;QACrB,MAAME,GAAG,GAAGL,MAAM,CAACE,IAAI,KAAK,gBAAgB,GAAG,SAAS,GAAG,YAAY;QACvED,KAAK,CAACI,GAAG,CAAC,GAAGL,MAAM,CAACI,KAAK,CAACE,MAAM;QAChC;MACF;IACA,KAAK,iBAAiB;MAAE;QACtBV,eAAe,CAACI,MAAM,CAACI,KAAK,CAACG,QAAQ,CAAC,CAACC,OAAO,CAAEC,YAAY,IAAK;UAC/D,MAAMC,GAAG,GAAGT,KAAK,CAACU,YAAY,CAACC,SAAS,CAAEC,YAAY,IAAKA,YAAY,CAACC,GAAG,KAAKL,YAAY,CAACK,GAAG,CAAC;UACjG,IAAIJ,GAAG,GAAG,CAAC,CAAC,EAAET,KAAK,CAACU,YAAY,CAACD,GAAG,CAAC,GAAGD,YAAY;QACtD,CAAC,CAAC;QACF;MACF;IACA,KAAK,iBAAiB;MAAE;QACtBT,MAAM,CAACI,KAAK,CAACW,WAAW,CAACP,OAAO,CAAEM,GAAG,IAAK;UACxC,MAAMJ,GAAG,GAAGT,KAAK,CAACU,YAAY,CAACC,SAAS,CAAEI,CAAC,IAAKA,CAAC,CAACF,GAAG,KAAKA,GAAG,CAAC;UAC9D,IAAIJ,GAAG,GAAG,CAAC,CAAC,EAAET,KAAK,CAACU,YAAY,CAACM,MAAM,CAACP,GAAG,EAAE,CAAC,CAAC;QACjD,CAAC,CAAC;QACF;MACF;IACA,KAAK,iBAAiB;MAAE;QACtB,MAAMC,YAAY,GAAGf,eAAe,CAACI,MAAM,CAACI,KAAK,CAACG,QAAQ,CAAC;QAC3D,IAAIP,MAAM,CAACI,KAAK,CAACc,iBAAiB,EAAE;UAClCjB,KAAK,CAACU,YAAY,GAAGA,YAAY;QACnC,CAAC,MAAM;UACLV,KAAK,CAACU,YAAY,GAAGd,iBAAiB,CAACI,KAAK,CAACU,YAAY,EAAEA,YAAY,EAAE,KAAK,CAAC;QACjF;QACA;MACF;EAAC;EAEH,OAAOV,KAAK;AACd,CAAC;AAED,OAAO,MAAMkB,yBAAyB,GAAGA,CAAA,KAAM;EAC7C,MAAM,CAAC;IAAEhB,KAAK;IAAEiB,OAAO;IAAEC,UAAU;IAAEV;EAAa,CAAC,EAAEW,QAAQ,CAAC,GAAG3B,UAAU,CAACG,cAAc,EAAE;IAC1FsB,OAAO,EAAE,IAAI;IACbC,UAAU,EAAE,KAAK;IACjBV,YAAY,EAAE,EAAE;IAChBR,KAAK,EAAE;EACT,CAAC,CAAC;EAEF,MAAMoB,cAAc,GAAIhB,QAA2B,IAAK;IACtDe,QAAQ,CAAC;MAAEpB,IAAI,EAAE,iBAAiB;MAAEE,KAAK,EAAE;QAAEG;MAAS;IAAE,CAAC,CAAC;EAC5D,CAAC;EACD,MAAMiB,cAAc,GAAIT,WAAqB,IAAK;IAChDO,QAAQ,CAAC;MAAEpB,IAAI,EAAE,iBAAiB;MAAEE,KAAK,EAAE;QAAEW;MAAY;IAAE,CAAC,CAAC;EAC/D,CAAC;EACD,MAAMU,cAAc,GAAGA,CAAClB,QAA2B,EAAEW,iBAA0B,KAAK;IAClFI,QAAQ,CAAC;MAAEpB,IAAI,EAAE,iBAAiB;MAAEE,KAAK,EAAE;QAAEG,QAAQ;QAAEW;MAAkB;IAAE,CAAC,CAAC;EAC/E,CAAC;EACD,MAAMQ,aAAa,GAAIpB,MAAe,IAAK;IACzCgB,QAAQ,CAAC;MAAEpB,IAAI,EAAE,gBAAgB;MAAEE,KAAK,EAAE;QAAEE;MAAO;IAAE,CAAC,CAAC;EACzD,CAAC;EACD,MAAMqB,gBAAgB,GAAIrB,MAAe,IAAK;IAC5CgB,QAAQ,CAAC;MAAEpB,IAAI,EAAE,mBAAmB;MAAEE,KAAK,EAAE;QAAEE;MAAO;IAAE,CAAC,CAAC;EAC5D,CAAC;EAED,MAAMsB,WAAW,GAAIzB,KAAqB,IAAK;IAC7CmB,QAAQ,CAAC;MAAEpB,IAAI,EAAE,cAAc;MAAEE,KAAK,EAAE;QAAED;MAAM;IAAE,CAAC,CAAC;EACtD,CAAC;EAED,OAAO;IACLyB,WAAW;IACXF,aAAa;IACbC,gBAAgB;IAChBJ,cAAc;IACdC,cAAc;IACdC,cAAc;IAEdtB,KAAK;IACLiB,OAAO;IACPC,UAAU;IACVV;EACF,CAAC;AACH,CAAC"}
1
+ {"version":3,"names":["useReducer","getOpenChannels","mergeObjectArrays","defaultReducer","draft","action","type","error","value","key","status","channels","forEach","freshChannel","idx","openChannels","findIndex","staleChannel","url","channelUrls","c","splice","clearBeforeAction","useOpenChannelListReducer","loading","refreshing","dispatch","updateChannels","deleteChannels","appendChannels","updateLoading","updateRefreshing","updateError"],"sources":["reducer.ts"],"sourcesContent":["import { useReducer } from 'react';\n\nimport type { SendbirdChannel, SendbirdOpenChannel } from '@sendbird/uikit-utils';\nimport { getOpenChannels, mergeObjectArrays } from '@sendbird/uikit-utils';\n\ntype Action =\n | {\n type: 'update_error';\n value: { error: unknown | null };\n }\n | {\n type: 'update_loading' | 'update_refreshing';\n value: { status: boolean };\n }\n | {\n type: 'update_channels';\n value: { channels: SendbirdChannel[] };\n }\n | {\n type: 'delete_channels';\n value: { channelUrls: string[] };\n }\n | {\n type: 'append_channels';\n value: { channels: SendbirdChannel[]; clearBeforeAction: boolean };\n };\n\ntype State = {\n error: unknown | null;\n loading: boolean;\n refreshing: boolean;\n openChannels: SendbirdOpenChannel[];\n};\n\nconst defaultReducer = ({ ...draft }: State, action: Action) => {\n switch (action.type) {\n case 'update_error': {\n draft.error = action.value.error;\n break;\n }\n case 'update_refreshing':\n case 'update_loading': {\n const key = action.type === 'update_loading' ? 'loading' : 'refreshing';\n draft[key] = action.value.status;\n break;\n }\n case 'update_channels': {\n getOpenChannels(action.value.channels).forEach((freshChannel) => {\n const idx = draft.openChannels.findIndex((staleChannel) => staleChannel.url === freshChannel.url);\n if (idx > -1) draft.openChannels[idx] = freshChannel;\n });\n break;\n }\n case 'delete_channels': {\n action.value.channelUrls.forEach((url) => {\n const idx = draft.openChannels.findIndex((c) => c.url === url);\n if (idx > -1) draft.openChannels.splice(idx, 1);\n });\n break;\n }\n case 'append_channels': {\n const openChannels = getOpenChannels(action.value.channels);\n if (action.value.clearBeforeAction) {\n draft.openChannels = openChannels;\n } else {\n draft.openChannels = mergeObjectArrays(draft.openChannels, openChannels, 'url');\n }\n break;\n }\n }\n return draft;\n};\n\nexport const useOpenChannelListReducer = () => {\n const [{ error, loading, refreshing, openChannels }, dispatch] = useReducer(defaultReducer, {\n loading: true,\n refreshing: false,\n openChannels: [],\n error: null,\n });\n\n const updateChannels = (channels: SendbirdChannel[]) => {\n dispatch({ type: 'update_channels', value: { channels } });\n };\n const deleteChannels = (channelUrls: string[]) => {\n dispatch({ type: 'delete_channels', value: { channelUrls } });\n };\n const appendChannels = (channels: SendbirdChannel[], clearBeforeAction: boolean) => {\n dispatch({ type: 'append_channels', value: { channels, clearBeforeAction } });\n };\n const updateLoading = (status: boolean) => {\n dispatch({ type: 'update_loading', value: { status } });\n };\n const updateRefreshing = (status: boolean) => {\n dispatch({ type: 'update_refreshing', value: { status } });\n };\n\n const updateError = (error: unknown | null) => {\n dispatch({ type: 'update_error', value: { error } });\n };\n\n return {\n updateError,\n updateLoading,\n updateRefreshing,\n updateChannels,\n deleteChannels,\n appendChannels,\n\n error,\n loading,\n refreshing,\n openChannels,\n };\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["useRef","useAsyncEffect","useFreshCallback","useUniqHandlerId","useChannelHandler","useOpenChannelListReducer","createOpenChannelListQuery","sdk","queryCreator","passedQuery","openChannel","useOpenChannelListWithQuery","userId","options","queryRef","handlerId","error","loading","openChannels","refreshing","updateChannels","appendChannels","deleteChannels","updateRefreshing","updateLoading","updateError","init","uid","_queryRef$current","current","hasNext","channels","next","updateChannel","channel","isOpenChannel","onChannelChanged","onChannelFrozen","onChannelUnfrozen","onChannelDeleted","url","onUserEntered","user","isMe","find","it","refresh","e","_queryRef$current2"],"sources":["useOpenChannelListWithQuery.ts"],"sourcesContent":["import { useRef } from 'react';\n\nimport type { SendbirdBaseChannel, SendbirdChatSDK, SendbirdOpenChannelListQuery } from '@sendbird/uikit-utils';\nimport { useAsyncEffect, useFreshCallback, useUniqHandlerId } from '@sendbird/uikit-utils';\n\nimport { useChannelHandler } from '../../handler/useChannelHandler';\nimport type { UseOpenChannelList, UseOpenChannelListOptions } from '../../types';\nimport { useOpenChannelListReducer } from './reducer';\n\nconst createOpenChannelListQuery = (sdk: SendbirdChatSDK, queryCreator: UseOpenChannelListOptions['queryCreator']) => {\n const passedQuery = queryCreator?.();\n if (passedQuery) return passedQuery;\n return sdk.openChannel.createOpenChannelListQuery({});\n};\n\nexport const useOpenChannelListWithQuery: UseOpenChannelList = (sdk, userId, options) => {\n const queryRef = useRef<SendbirdOpenChannelListQuery>();\n const handlerId = useUniqHandlerId('useOpenChannelListWithQuery');\n\n const {\n error,\n loading,\n openChannels,\n refreshing,\n updateChannels,\n appendChannels,\n deleteChannels,\n updateRefreshing,\n updateLoading,\n updateError,\n } = useOpenChannelListReducer();\n\n const init = useFreshCallback(async (uid?: string) => {\n if (uid) {\n queryRef.current = createOpenChannelListQuery(sdk, options?.queryCreator);\n\n if (queryRef.current?.hasNext) {\n const channels = await queryRef.current.next();\n appendChannels(channels, true);\n }\n }\n });\n\n const updateChannel = (channel: SendbirdBaseChannel) => {\n if (channel.isOpenChannel()) updateChannels([channel]);\n };\n\n useChannelHandler(\n sdk,\n handlerId,\n {\n onChannelChanged: updateChannel,\n onChannelFrozen: updateChannel,\n onChannelUnfrozen: updateChannel,\n onChannelDeleted: (url) => deleteChannels([url]),\n onUserEntered: (channel, user) => {\n const isMe = user.userId === userId;\n if (isMe && channel.isOpenChannel() && !openChannels.find((it) => it.url === channel.url)) {\n appendChannels([], true);\n refresh();\n }\n },\n },\n 'open',\n );\n\n useAsyncEffect(async () => {\n updateLoading(true);\n updateError(null);\n try {\n await init(userId);\n } catch (e) {\n updateError(e);\n appendChannels([], true);\n } finally {\n updateLoading(false);\n }\n }, [userId]);\n\n const refresh = useFreshCallback(async () => {\n updateRefreshing(true);\n updateError(null);\n try {\n await init(userId);\n } catch (e) {\n updateError(e);\n appendChannels([], true);\n } finally {\n updateRefreshing(false);\n }\n });\n\n const next = useFreshCallback(async () => {\n if (queryRef.current?.hasNext) {\n const channels = await queryRef.current.next();\n appendChannels(channels, false);\n }\n });\n\n return {\n error,\n loading,\n openChannels,\n refresh,\n refreshing,\n next,\n };\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["useRef","useAsyncEffect","useFreshCallback","useUniqHandlerId","useChannelHandler","useOpenChannelListReducer","createOpenChannelListQuery","sdk","queryCreator","passedQuery","openChannel","useOpenChannelListWithQuery","userId","options","queryRef","handlerId","error","loading","openChannels","refreshing","updateChannels","appendChannels","deleteChannels","updateRefreshing","updateLoading","updateError","init","uid","_queryRef$current","current","hasNext","channels","next","updateChannel","channel","isOpenChannel","onChannelChanged","onChannelFrozen","onChannelUnfrozen","onChannelDeleted","url","onUserEntered","user","isMe","find","it","refresh","e","_queryRef$current2"],"sources":["useOpenChannelListWithQuery.ts"],"sourcesContent":["import { useRef } from 'react';\n\nimport type { SendbirdBaseChannel, SendbirdChatSDK, SendbirdOpenChannelListQuery } from '@sendbird/uikit-utils';\nimport { useAsyncEffect, useFreshCallback, useUniqHandlerId } from '@sendbird/uikit-utils';\n\nimport { useChannelHandler } from '../../handler/useChannelHandler';\nimport type { UseOpenChannelList, UseOpenChannelListOptions } from '../../types';\nimport { useOpenChannelListReducer } from './reducer';\n\nconst createOpenChannelListQuery = (sdk: SendbirdChatSDK, queryCreator: UseOpenChannelListOptions['queryCreator']) => {\n const passedQuery = queryCreator?.();\n if (passedQuery) return passedQuery;\n return sdk.openChannel.createOpenChannelListQuery({});\n};\n\nexport const useOpenChannelListWithQuery: UseOpenChannelList = (sdk, userId, options) => {\n const queryRef = useRef<SendbirdOpenChannelListQuery>();\n const handlerId = useUniqHandlerId('useOpenChannelListWithQuery');\n\n const {\n error,\n loading,\n openChannels,\n refreshing,\n updateChannels,\n appendChannels,\n deleteChannels,\n updateRefreshing,\n updateLoading,\n updateError,\n } = useOpenChannelListReducer();\n\n const init = useFreshCallback(async (uid?: string) => {\n if (uid) {\n queryRef.current = createOpenChannelListQuery(sdk, options?.queryCreator);\n\n if (queryRef.current?.hasNext) {\n const channels = await queryRef.current.next();\n appendChannels(channels, true);\n }\n }\n });\n\n const updateChannel = (channel: SendbirdBaseChannel) => {\n if (channel.isOpenChannel()) updateChannels([channel]);\n };\n\n useChannelHandler(\n sdk,\n handlerId,\n {\n onChannelChanged: updateChannel,\n onChannelFrozen: updateChannel,\n onChannelUnfrozen: updateChannel,\n onChannelDeleted: (url) => deleteChannels([url]),\n onUserEntered: (channel, user) => {\n const isMe = user.userId === userId;\n if (isMe && channel.isOpenChannel() && !openChannels.find((it) => it.url === channel.url)) {\n appendChannels([], true);\n refresh();\n }\n },\n },\n 'open',\n );\n\n useAsyncEffect(async () => {\n updateLoading(true);\n updateError(null);\n try {\n await init(userId);\n } catch (e) {\n updateError(e);\n appendChannels([], true);\n } finally {\n updateLoading(false);\n }\n }, [userId]);\n\n const refresh = useFreshCallback(async () => {\n updateRefreshing(true);\n updateError(null);\n try {\n await init(userId);\n } catch (e) {\n updateError(e);\n appendChannels([], true);\n } finally {\n updateRefreshing(false);\n }\n });\n\n const next = useFreshCallback(async () => {\n if (queryRef.current?.hasNext) {\n const channels = await queryRef.current.next();\n appendChannels(channels, false);\n }\n });\n\n return {\n error,\n loading,\n openChannels,\n refresh,\n refreshing,\n next,\n };\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["useOpenChannelMessagesWithQuery","useOpenChannelMessages","sdk","channel","userId","options"],"sources":["index.ts"],"sourcesContent":["import type { UseOpenChannelMessages } from '../../types';\nimport { useOpenChannelMessagesWithQuery } from './useOpenChannelMessagesWithQuery';\n\nexport const useOpenChannelMessages: UseOpenChannelMessages = (sdk, channel, userId, options) => {\n return useOpenChannelMessagesWithQuery(sdk, channel, userId, options);\n};\n"],"mappings":"AACA,SAASA,+BAA+B,QAAQ,mCAAmC;AAEnF,OAAO,MAAMC,sBAA8C,GAAGA,CAACC,GAAG,EAAEC,OAAO,EAAEC,MAAM,EAAEC,OAAO,KAAK;EAC/F,OAAOL,+BAA+B,CAACE,GAAG,EAAEC,OAAO,EAAEC,MAAM,EAAEC,OAAO,CAAC;AACvE,CAAC"}
1
+ {"version":3,"names":["useOpenChannelMessagesWithQuery","useOpenChannelMessages","sdk","channel","userId","options"],"sources":["index.ts"],"sourcesContent":["import type { UseOpenChannelMessages } from '../../types';\nimport { useOpenChannelMessagesWithQuery } from './useOpenChannelMessagesWithQuery';\n\nexport const useOpenChannelMessages: UseOpenChannelMessages = (sdk, channel, userId, options) => {\n return useOpenChannelMessagesWithQuery(sdk, channel, userId, options);\n};\n"],"mappings":"AACA,SAASA,+BAA+B,QAAQ,mCAAmC;AAEnF,OAAO,MAAMC,sBAA8C,GAAGA,CAACC,GAAG,EAAEC,OAAO,EAAEC,MAAM,EAAEC,OAAO,KAAK;EAC/F,OAAOL,+BAA+B,CAACE,GAAG,EAAEC,OAAO,EAAEC,MAAM,EAAEC,OAAO,CAAC;AACvE,CAAC","ignoreList":[]}
@@ -165,7 +165,7 @@ export const useOpenChannelMessagesWithQuery = (sdk, channel, userId, options) =
165
165
  onChannelDeleted(channelUrl, type) {
166
166
  if (channel.url === channelUrl && type === 'open') {
167
167
  var _options$onChannelDel;
168
- options === null || options === void 0 ? void 0 : (_options$onChannelDel = options.onChannelDeleted) === null || _options$onChannelDel === void 0 ? void 0 : _options$onChannelDel.call(options);
168
+ options === null || options === void 0 || (_options$onChannelDel = options.onChannelDeleted) === null || _options$onChannelDel === void 0 || _options$onChannelDel.call(options);
169
169
  }
170
170
  },
171
171
  // Users
@@ -178,7 +178,7 @@ export const useOpenChannelMessagesWithQuery = (sdk, channel, userId, options) =
178
178
  if (isDifferentChannel(channel, eventChannel)) return;
179
179
  if (bannedUser.userId === ((_sdk$currentUser10 = sdk.currentUser) === null || _sdk$currentUser10 === void 0 ? void 0 : _sdk$currentUser10.userId)) {
180
180
  var _options$onChannelDel2;
181
- options === null || options === void 0 ? void 0 : (_options$onChannelDel2 = options.onChannelDeleted) === null || _options$onChannelDel2 === void 0 ? void 0 : _options$onChannelDel2.call(options);
181
+ options === null || options === void 0 || (_options$onChannelDel2 = options.onChannelDeleted) === null || _options$onChannelDel2 === void 0 || _options$onChannelDel2.call(options);
182
182
  } else {
183
183
  channelUpdater(eventChannel);
184
184
  }
@@ -191,8 +191,8 @@ export const useOpenChannelMessagesWithQuery = (sdk, channel, userId, options) =
191
191
  await init(userId);
192
192
  } catch (error) {
193
193
  var _options$onError, _options$onChannelDel3;
194
- options === null || options === void 0 ? void 0 : (_options$onError = options.onError) === null || _options$onError === void 0 ? void 0 : _options$onError.call(options, error);
195
- options === null || options === void 0 ? void 0 : (_options$onChannelDel3 = options.onChannelDeleted) === null || _options$onChannelDel3 === void 0 ? void 0 : _options$onChannelDel3.call(options);
194
+ options === null || options === void 0 || (_options$onError = options.onError) === null || _options$onError === void 0 || _options$onError.call(options, error);
195
+ options === null || options === void 0 || (_options$onChannelDel3 = options.onChannelDeleted) === null || _options$onChannelDel3 === void 0 || _options$onChannelDel3.call(options);
196
196
  } finally {
197
197
  updateLoading(false);
198
198
  }
@@ -225,7 +225,7 @@ export const useOpenChannelMessagesWithQuery = (sdk, channel, userId, options) =
225
225
  if (pendingMessage.isUserMessage()) {
226
226
  var _sdk$currentUser12;
227
227
  updateMessages([pendingMessage], false, (_sdk$currentUser12 = sdk.currentUser) === null || _sdk$currentUser12 === void 0 ? void 0 : _sdk$currentUser12.userId);
228
- onPending === null || onPending === void 0 ? void 0 : onPending(pendingMessage);
228
+ onPending === null || onPending === void 0 || onPending(pendingMessage);
229
229
  }
230
230
  }).onSucceeded(sentMessage => {
231
231
  if (sentMessage.isUserMessage()) {
@@ -248,7 +248,7 @@ export const useOpenChannelMessagesWithQuery = (sdk, channel, userId, options) =
248
248
  if (pendingMessage.isFileMessage()) {
249
249
  var _sdk$currentUser15;
250
250
  updateMessages([pendingMessage], false, (_sdk$currentUser15 = sdk.currentUser) === null || _sdk$currentUser15 === void 0 ? void 0 : _sdk$currentUser15.userId);
251
- onPending === null || onPending === void 0 ? void 0 : onPending(pendingMessage);
251
+ onPending === null || onPending === void 0 || onPending(pendingMessage);
252
252
  }
253
253
  }).onSucceeded(sentMessage => {
254
254
  if (sentMessage.isFileMessage()) {