stream-chat-react-native-core 9.0.1 → 9.0.2-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (387) hide show
  1. package/README.md +1 -1
  2. package/lib/commonjs/components/Message/MessageItemView/utils/renderText.test.js +1 -1
  3. package/lib/commonjs/components/Message/MessageItemView/utils/renderText.test.js.map +1 -1
  4. package/lib/commonjs/components/MessageList/hooks/useMessageList.js.map +1 -1
  5. package/lib/commonjs/mock-builders/DB/mock.js.map +1 -1
  6. package/lib/commonjs/mock-builders/api/channelMocks.js +38 -31
  7. package/lib/commonjs/mock-builders/api/channelMocks.js.map +1 -1
  8. package/lib/commonjs/mock-builders/api/deleteMessage.js.map +1 -1
  9. package/lib/commonjs/mock-builders/api/deleteReaction.js.map +1 -1
  10. package/lib/commonjs/mock-builders/api/error.js.map +1 -1
  11. package/lib/commonjs/mock-builders/api/getOrCreateChannel.js.map +1 -1
  12. package/lib/commonjs/mock-builders/api/initiateClientWithChannels.js +1 -1
  13. package/lib/commonjs/mock-builders/api/initiateClientWithChannels.js.map +1 -1
  14. package/lib/commonjs/mock-builders/api/queryChannels.js.map +1 -1
  15. package/lib/commonjs/mock-builders/api/queryMembers.js +12 -11
  16. package/lib/commonjs/mock-builders/api/queryMembers.js.map +1 -1
  17. package/lib/commonjs/mock-builders/api/sendMessage.js.map +1 -1
  18. package/lib/commonjs/mock-builders/api/sendReaction.js.map +1 -1
  19. package/lib/commonjs/mock-builders/api/threadReplies.js.map +1 -1
  20. package/lib/commonjs/mock-builders/api/useMockedApis.js.map +1 -1
  21. package/lib/commonjs/mock-builders/api/utils.js.map +1 -1
  22. package/lib/commonjs/mock-builders/attachments.js.map +1 -1
  23. package/lib/commonjs/mock-builders/event/channelDeleted.js +3 -2
  24. package/lib/commonjs/mock-builders/event/channelDeleted.js.map +1 -1
  25. package/lib/commonjs/mock-builders/event/channelHidden.js +3 -2
  26. package/lib/commonjs/mock-builders/event/channelHidden.js.map +1 -1
  27. package/lib/commonjs/mock-builders/event/channelTruncated.js +3 -2
  28. package/lib/commonjs/mock-builders/event/channelTruncated.js.map +1 -1
  29. package/lib/commonjs/mock-builders/event/channelUpdated.js +3 -2
  30. package/lib/commonjs/mock-builders/event/channelUpdated.js.map +1 -1
  31. package/lib/commonjs/mock-builders/event/channelVisible.js +3 -2
  32. package/lib/commonjs/mock-builders/event/channelVisible.js.map +1 -1
  33. package/lib/commonjs/mock-builders/event/connectionChanged.js +3 -2
  34. package/lib/commonjs/mock-builders/event/connectionChanged.js.map +1 -1
  35. package/lib/commonjs/mock-builders/event/connectionRecovered.js +3 -2
  36. package/lib/commonjs/mock-builders/event/connectionRecovered.js.map +1 -1
  37. package/lib/commonjs/mock-builders/event/memberAdded.js +3 -2
  38. package/lib/commonjs/mock-builders/event/memberAdded.js.map +1 -1
  39. package/lib/commonjs/mock-builders/event/memberRemoved.js +3 -2
  40. package/lib/commonjs/mock-builders/event/memberRemoved.js.map +1 -1
  41. package/lib/commonjs/mock-builders/event/memberUpdated.js +3 -2
  42. package/lib/commonjs/mock-builders/event/memberUpdated.js.map +1 -1
  43. package/lib/commonjs/mock-builders/event/messageDeleted.js +3 -2
  44. package/lib/commonjs/mock-builders/event/messageDeleted.js.map +1 -1
  45. package/lib/commonjs/mock-builders/event/messageNew.js +3 -2
  46. package/lib/commonjs/mock-builders/event/messageNew.js.map +1 -1
  47. package/lib/commonjs/mock-builders/event/messageRead.js +3 -2
  48. package/lib/commonjs/mock-builders/event/messageRead.js.map +1 -1
  49. package/lib/commonjs/mock-builders/event/messageUpdated.js +3 -2
  50. package/lib/commonjs/mock-builders/event/messageUpdated.js.map +1 -1
  51. package/lib/commonjs/mock-builders/event/notificationAddedToChannel.js +3 -2
  52. package/lib/commonjs/mock-builders/event/notificationAddedToChannel.js.map +1 -1
  53. package/lib/commonjs/mock-builders/event/notificationChannelMutesUpdated.js +3 -2
  54. package/lib/commonjs/mock-builders/event/notificationChannelMutesUpdated.js.map +1 -1
  55. package/lib/commonjs/mock-builders/event/notificationMarkRead.js +3 -2
  56. package/lib/commonjs/mock-builders/event/notificationMarkRead.js.map +1 -1
  57. package/lib/commonjs/mock-builders/event/notificationMarkUnread.js +3 -2
  58. package/lib/commonjs/mock-builders/event/notificationMarkUnread.js.map +1 -1
  59. package/lib/commonjs/mock-builders/event/notificationMessageNew.js +3 -2
  60. package/lib/commonjs/mock-builders/event/notificationMessageNew.js.map +1 -1
  61. package/lib/commonjs/mock-builders/event/notificationMutesUpdated.js +3 -2
  62. package/lib/commonjs/mock-builders/event/notificationMutesUpdated.js.map +1 -1
  63. package/lib/commonjs/mock-builders/event/notificationRemovedFromChannel.js +3 -2
  64. package/lib/commonjs/mock-builders/event/notificationRemovedFromChannel.js.map +1 -1
  65. package/lib/commonjs/mock-builders/event/reactionDeleted.js +3 -2
  66. package/lib/commonjs/mock-builders/event/reactionDeleted.js.map +1 -1
  67. package/lib/commonjs/mock-builders/event/reactionNew.js +3 -2
  68. package/lib/commonjs/mock-builders/event/reactionNew.js.map +1 -1
  69. package/lib/commonjs/mock-builders/event/reactionUpdated.js +3 -2
  70. package/lib/commonjs/mock-builders/event/reactionUpdated.js.map +1 -1
  71. package/lib/commonjs/mock-builders/event/typing.js +3 -2
  72. package/lib/commonjs/mock-builders/event/typing.js.map +1 -1
  73. package/lib/commonjs/mock-builders/event/userPresence.js +3 -2
  74. package/lib/commonjs/mock-builders/event/userPresence.js.map +1 -1
  75. package/lib/commonjs/mock-builders/event/userUpdated.js +3 -2
  76. package/lib/commonjs/mock-builders/event/userUpdated.js.map +1 -1
  77. package/lib/commonjs/mock-builders/generator/attachment.js +0 -3
  78. package/lib/commonjs/mock-builders/generator/attachment.js.map +1 -1
  79. package/lib/commonjs/mock-builders/generator/channel.js +10 -12
  80. package/lib/commonjs/mock-builders/generator/channel.js.map +1 -1
  81. package/lib/commonjs/mock-builders/generator/member.js +3 -2
  82. package/lib/commonjs/mock-builders/generator/member.js.map +1 -1
  83. package/lib/commonjs/mock-builders/generator/message.js +12 -7
  84. package/lib/commonjs/mock-builders/generator/message.js.map +1 -1
  85. package/lib/commonjs/mock-builders/generator/reaction.js +3 -2
  86. package/lib/commonjs/mock-builders/generator/reaction.js.map +1 -1
  87. package/lib/commonjs/mock-builders/generator/user.js +4 -3
  88. package/lib/commonjs/mock-builders/generator/user.js.map +1 -1
  89. package/lib/commonjs/mock-builders/mock.js +15 -11
  90. package/lib/commonjs/mock-builders/mock.js.map +1 -1
  91. package/lib/commonjs/store/apis/addPendingTask.js.map +1 -1
  92. package/lib/commonjs/store/apis/deleteMessage.js.map +1 -1
  93. package/lib/commonjs/store/apis/upsertDraft.js.map +1 -1
  94. package/lib/commonjs/store/sqlite-utils/appendOrderByClause.js.map +1 -1
  95. package/lib/commonjs/store/sqlite-utils/appendWhereCluase.js.map +1 -1
  96. package/lib/commonjs/store/sqlite-utils/createCreateTableQuery.js.map +1 -1
  97. package/lib/commonjs/test-utils/BetterSqlite.js +11 -7
  98. package/lib/commonjs/test-utils/BetterSqlite.js.map +1 -1
  99. package/lib/commonjs/version.json +1 -1
  100. package/lib/module/components/Message/MessageItemView/utils/renderText.test.js +1 -1
  101. package/lib/module/components/Message/MessageItemView/utils/renderText.test.js.map +1 -1
  102. package/lib/module/components/MessageList/hooks/useMessageList.js.map +1 -1
  103. package/lib/module/mock-builders/DB/mock.js.map +1 -1
  104. package/lib/module/mock-builders/api/channelMocks.js +38 -31
  105. package/lib/module/mock-builders/api/channelMocks.js.map +1 -1
  106. package/lib/module/mock-builders/api/deleteMessage.js.map +1 -1
  107. package/lib/module/mock-builders/api/deleteReaction.js.map +1 -1
  108. package/lib/module/mock-builders/api/error.js.map +1 -1
  109. package/lib/module/mock-builders/api/getOrCreateChannel.js.map +1 -1
  110. package/lib/module/mock-builders/api/initiateClientWithChannels.js +1 -1
  111. package/lib/module/mock-builders/api/initiateClientWithChannels.js.map +1 -1
  112. package/lib/module/mock-builders/api/queryChannels.js.map +1 -1
  113. package/lib/module/mock-builders/api/queryMembers.js +12 -11
  114. package/lib/module/mock-builders/api/queryMembers.js.map +1 -1
  115. package/lib/module/mock-builders/api/sendMessage.js.map +1 -1
  116. package/lib/module/mock-builders/api/sendReaction.js.map +1 -1
  117. package/lib/module/mock-builders/api/threadReplies.js.map +1 -1
  118. package/lib/module/mock-builders/api/useMockedApis.js.map +1 -1
  119. package/lib/module/mock-builders/api/utils.js.map +1 -1
  120. package/lib/module/mock-builders/attachments.js.map +1 -1
  121. package/lib/module/mock-builders/event/channelDeleted.js +3 -2
  122. package/lib/module/mock-builders/event/channelDeleted.js.map +1 -1
  123. package/lib/module/mock-builders/event/channelHidden.js +3 -2
  124. package/lib/module/mock-builders/event/channelHidden.js.map +1 -1
  125. package/lib/module/mock-builders/event/channelTruncated.js +3 -2
  126. package/lib/module/mock-builders/event/channelTruncated.js.map +1 -1
  127. package/lib/module/mock-builders/event/channelUpdated.js +3 -2
  128. package/lib/module/mock-builders/event/channelUpdated.js.map +1 -1
  129. package/lib/module/mock-builders/event/channelVisible.js +3 -2
  130. package/lib/module/mock-builders/event/channelVisible.js.map +1 -1
  131. package/lib/module/mock-builders/event/connectionChanged.js +3 -2
  132. package/lib/module/mock-builders/event/connectionChanged.js.map +1 -1
  133. package/lib/module/mock-builders/event/connectionRecovered.js +3 -2
  134. package/lib/module/mock-builders/event/connectionRecovered.js.map +1 -1
  135. package/lib/module/mock-builders/event/memberAdded.js +3 -2
  136. package/lib/module/mock-builders/event/memberAdded.js.map +1 -1
  137. package/lib/module/mock-builders/event/memberRemoved.js +3 -2
  138. package/lib/module/mock-builders/event/memberRemoved.js.map +1 -1
  139. package/lib/module/mock-builders/event/memberUpdated.js +3 -2
  140. package/lib/module/mock-builders/event/memberUpdated.js.map +1 -1
  141. package/lib/module/mock-builders/event/messageDeleted.js +3 -2
  142. package/lib/module/mock-builders/event/messageDeleted.js.map +1 -1
  143. package/lib/module/mock-builders/event/messageNew.js +3 -2
  144. package/lib/module/mock-builders/event/messageNew.js.map +1 -1
  145. package/lib/module/mock-builders/event/messageRead.js +3 -2
  146. package/lib/module/mock-builders/event/messageRead.js.map +1 -1
  147. package/lib/module/mock-builders/event/messageUpdated.js +3 -2
  148. package/lib/module/mock-builders/event/messageUpdated.js.map +1 -1
  149. package/lib/module/mock-builders/event/notificationAddedToChannel.js +3 -2
  150. package/lib/module/mock-builders/event/notificationAddedToChannel.js.map +1 -1
  151. package/lib/module/mock-builders/event/notificationChannelMutesUpdated.js +3 -2
  152. package/lib/module/mock-builders/event/notificationChannelMutesUpdated.js.map +1 -1
  153. package/lib/module/mock-builders/event/notificationMarkRead.js +3 -2
  154. package/lib/module/mock-builders/event/notificationMarkRead.js.map +1 -1
  155. package/lib/module/mock-builders/event/notificationMarkUnread.js +3 -2
  156. package/lib/module/mock-builders/event/notificationMarkUnread.js.map +1 -1
  157. package/lib/module/mock-builders/event/notificationMessageNew.js +3 -2
  158. package/lib/module/mock-builders/event/notificationMessageNew.js.map +1 -1
  159. package/lib/module/mock-builders/event/notificationMutesUpdated.js +3 -2
  160. package/lib/module/mock-builders/event/notificationMutesUpdated.js.map +1 -1
  161. package/lib/module/mock-builders/event/notificationRemovedFromChannel.js +3 -2
  162. package/lib/module/mock-builders/event/notificationRemovedFromChannel.js.map +1 -1
  163. package/lib/module/mock-builders/event/reactionDeleted.js +3 -2
  164. package/lib/module/mock-builders/event/reactionDeleted.js.map +1 -1
  165. package/lib/module/mock-builders/event/reactionNew.js +3 -2
  166. package/lib/module/mock-builders/event/reactionNew.js.map +1 -1
  167. package/lib/module/mock-builders/event/reactionUpdated.js +3 -2
  168. package/lib/module/mock-builders/event/reactionUpdated.js.map +1 -1
  169. package/lib/module/mock-builders/event/typing.js +3 -2
  170. package/lib/module/mock-builders/event/typing.js.map +1 -1
  171. package/lib/module/mock-builders/event/userPresence.js +3 -2
  172. package/lib/module/mock-builders/event/userPresence.js.map +1 -1
  173. package/lib/module/mock-builders/event/userUpdated.js +3 -2
  174. package/lib/module/mock-builders/event/userUpdated.js.map +1 -1
  175. package/lib/module/mock-builders/generator/attachment.js +0 -3
  176. package/lib/module/mock-builders/generator/attachment.js.map +1 -1
  177. package/lib/module/mock-builders/generator/channel.js +10 -12
  178. package/lib/module/mock-builders/generator/channel.js.map +1 -1
  179. package/lib/module/mock-builders/generator/member.js +3 -2
  180. package/lib/module/mock-builders/generator/member.js.map +1 -1
  181. package/lib/module/mock-builders/generator/message.js +12 -7
  182. package/lib/module/mock-builders/generator/message.js.map +1 -1
  183. package/lib/module/mock-builders/generator/reaction.js +3 -2
  184. package/lib/module/mock-builders/generator/reaction.js.map +1 -1
  185. package/lib/module/mock-builders/generator/user.js +4 -3
  186. package/lib/module/mock-builders/generator/user.js.map +1 -1
  187. package/lib/module/mock-builders/mock.js +15 -11
  188. package/lib/module/mock-builders/mock.js.map +1 -1
  189. package/lib/module/store/apis/addPendingTask.js.map +1 -1
  190. package/lib/module/store/apis/deleteMessage.js.map +1 -1
  191. package/lib/module/store/apis/upsertDraft.js.map +1 -1
  192. package/lib/module/store/sqlite-utils/appendOrderByClause.js.map +1 -1
  193. package/lib/module/store/sqlite-utils/appendWhereCluase.js.map +1 -1
  194. package/lib/module/store/sqlite-utils/createCreateTableQuery.js.map +1 -1
  195. package/lib/module/test-utils/BetterSqlite.js +11 -7
  196. package/lib/module/test-utils/BetterSqlite.js.map +1 -1
  197. package/lib/module/version.json +1 -1
  198. package/lib/typescript/components/UIComponents/SwipableWrapper.d.ts +1 -1
  199. package/lib/typescript/components/UIComponents/SwipableWrapper.d.ts.map +1 -1
  200. package/lib/typescript/store/OfflineDB.d.ts +1 -1
  201. package/lib/typescript/store/OfflineDB.d.ts.map +1 -1
  202. package/lib/typescript/store/apis/addPendingTask.d.ts.map +1 -1
  203. package/lib/typescript/store/apis/deleteMessage.d.ts +2 -1
  204. package/lib/typescript/store/apis/deleteMessage.d.ts.map +1 -1
  205. package/lib/typescript/store/apis/upsertDraft.d.ts +1 -1
  206. package/lib/typescript/store/apis/upsertDraft.d.ts.map +1 -1
  207. package/lib/typescript/store/sqlite-utils/createCreateTableQuery.d.ts.map +1 -1
  208. package/lib/typescript/test-utils/BetterSqlite.d.ts +4 -3
  209. package/lib/typescript/test-utils/BetterSqlite.d.ts.map +1 -1
  210. package/package.json +5 -3
  211. package/src/__tests__/offline-support/{offline-feature.js → offline-feature.tsx} +282 -139
  212. package/src/__tests__/offline-support/{optimistic-update.js → optimistic-update.tsx} +154 -84
  213. package/src/components/Attachment/__tests__/{Attachment.test.js → Attachment.test.tsx} +12 -8
  214. package/src/components/Attachment/__tests__/{Gallery.test.js → Gallery.test.tsx} +10 -3
  215. package/src/components/Attachment/__tests__/{Giphy.test.js → Giphy.test.tsx} +48 -19
  216. package/src/components/Attachment/__tests__/{buildGallery.test.js → buildGallery.test.ts} +4 -2
  217. package/src/components/AutoCompleteInput/__tests__/{AutoCompleteInput.test.js → AutoCompleteInput.test.tsx} +21 -11
  218. package/src/components/Channel/__tests__/{Channel.test.js → Channel.test.tsx} +129 -89
  219. package/src/components/Channel/__tests__/{isAttachmentEqualHandler.test.js → isAttachmentEqualHandler.test.tsx} +25 -8
  220. package/src/components/Channel/__tests__/{ownCapabilities.test.js → ownCapabilities.test.tsx} +16 -12
  221. package/src/components/Channel/__tests__/{useMessageListPagination.test.js → useMessageListPagination.test.tsx} +105 -63
  222. package/src/components/ChannelList/__tests__/{ChannelList.test.js → ChannelList.test.tsx} +63 -29
  223. package/src/components/ChannelList/__tests__/{ChannelListView.test.js → ChannelListView.test.tsx} +30 -20
  224. package/src/components/ChannelList/hooks/__tests__/useChannelActionItems.test.tsx +6 -6
  225. package/src/components/ChannelList/hooks/__tests__/useChannelActionItemsById.test.tsx +2 -2
  226. package/src/components/ChannelList/hooks/listeners/__tests__/useChannelUpdated.test.tsx +17 -14
  227. package/src/components/ChannelPreview/__tests__/ChannelDetailsBottomSheet.test.tsx +14 -4
  228. package/src/components/ChannelPreview/__tests__/ChannelPreview.test.tsx +23 -12
  229. package/src/components/ChannelPreview/__tests__/{ChannelPreviewView.test.js → ChannelPreviewView.test.tsx} +9 -34
  230. package/src/components/ChannelPreview/__tests__/ChannelSwipableWrapper.test.tsx +4 -2
  231. package/src/components/ChannelPreview/hooks/__tests__/useChannelPreviewDisplayPresence.test.tsx +1 -1
  232. package/src/components/Chat/__tests__/{Chat.test.js → Chat.test.tsx} +37 -30
  233. package/src/components/ImageGallery/__tests__/ImageGallery.test.tsx +10 -14
  234. package/src/components/ImageGallery/__tests__/ImageGalleryFooter.test.tsx +3 -3
  235. package/src/components/ImageGallery/__tests__/ImageGalleryGrid.test.tsx +5 -4
  236. package/src/components/ImageGallery/__tests__/ImageGalleryHeader.test.tsx +7 -6
  237. package/src/components/ImageGallery/components/__tests__/ImageGalleryHeader.test.tsx +9 -13
  238. package/src/components/Message/MessageItemView/__tests__/{Message.test.js → Message.test.tsx} +20 -11
  239. package/src/components/Message/MessageItemView/__tests__/{MessageAuthor.test.js → MessageAuthor.test.tsx} +10 -12
  240. package/src/components/Message/MessageItemView/__tests__/{MessageContent.test.js → MessageContent.test.tsx} +22 -12
  241. package/src/components/Message/MessageItemView/__tests__/{MessageItemView.test.js → MessageItemView.test.tsx} +11 -4
  242. package/src/components/Message/MessageItemView/__tests__/{MessagePinnedHeader.test.js → MessagePinnedHeader.test.tsx} +5 -3
  243. package/src/components/Message/MessageItemView/__tests__/{MessageReplies.test.js → MessageReplies.test.tsx} +15 -36
  244. package/src/components/Message/MessageItemView/__tests__/{MessageStatus.test.js → MessageStatus.test.tsx} +20 -10
  245. package/src/components/Message/MessageItemView/__tests__/MessageTextContainer.test.tsx +8 -8
  246. package/src/components/Message/MessageItemView/__tests__/{ReactionListBottom.test.js → ReactionListBottom.test.tsx} +19 -8
  247. package/src/components/Message/MessageItemView/__tests__/{ReactionListTop.test.js → ReactionListTop.test.tsx} +8 -4
  248. package/src/components/Message/MessageItemView/utils/renderText.test.tsx +2 -4
  249. package/src/components/Message/MessageItemView/utils/renderText.tsx +1 -1
  250. package/src/components/Message/hooks/__tests__/useShouldUseOverlayStyles.test.tsx +2 -2
  251. package/src/components/MessageInput/__tests__/{AttachButton.test.js → AttachButton.test.tsx} +14 -4
  252. package/src/components/MessageInput/__tests__/{AttachmentUploadPreviewList.test.js → AttachmentUploadPreviewList.test.tsx} +27 -8
  253. package/src/components/MessageInput/__tests__/{AudioAttachmentUploadPreview.test.js → AudioAttachmentUploadPreview.test.tsx} +18 -5
  254. package/src/components/MessageInput/__tests__/AudioAttachmentUploadPreviewExpo.test.tsx +47 -15
  255. package/src/components/MessageInput/__tests__/AudioAttachmentUploadPreviewNative.test.tsx +57 -17
  256. package/src/components/MessageInput/__tests__/{InputButtons.test.js → InputButtons.test.tsx} +14 -4
  257. package/src/components/MessageInput/__tests__/{MessageComposer.test.js → MessageComposer.test.tsx} +28 -20
  258. package/src/components/MessageInput/__tests__/{SendButton.test.js → SendButton.test.tsx} +13 -4
  259. package/src/components/MessageInput/__tests__/{SendMessageDisallowedIndicator.test.js → SendMessageDisallowedIndicator.test.tsx} +47 -31
  260. package/src/components/MessageList/__tests__/{MessageList.test.js → MessageList.test.tsx} +31 -34
  261. package/src/components/MessageList/__tests__/{MessageSystem.test.js → MessageSystem.test.tsx} +13 -5
  262. package/src/components/MessageList/__tests__/{ScrollToBottomButton.test.js → ScrollToBottomButton.test.tsx} +8 -12
  263. package/src/components/MessageList/__tests__/{TypingIndicator.test.js → TypingIndicator.test.tsx} +6 -4
  264. package/src/components/MessageList/__tests__/useMessageList.test.tsx +2 -2
  265. package/src/components/MessageList/hooks/useMessageList.ts +1 -1
  266. package/src/components/MessageMenu/__tests__/MessageActionList.test.tsx +4 -1
  267. package/src/components/MessageMenu/__tests__/MessageActionListItem.test.tsx +1 -0
  268. package/src/components/MessageMenu/__tests__/MessageReactionPicker.test.tsx +6 -2
  269. package/src/components/MessageMenu/__tests__/MessageUserReactions.test.tsx +3 -3
  270. package/src/components/MessageMenu/__tests__/MessageUserReactionsAvatar.test.tsx +7 -3
  271. package/src/components/MessageMenu/__tests__/MessageUserReactionsItem.test.tsx +2 -1
  272. package/src/components/Thread/__tests__/{Thread.test.js → Thread.test.tsx} +41 -13
  273. package/src/components/Thread/__tests__/__snapshots__/{Thread.test.js.snap → Thread.test.tsx.snap} +0 -21
  274. package/src/components/UIComponents/SwipableWrapper.tsx +1 -1
  275. package/src/components/UIComponents/__tests__/SwipableWrapper.test.tsx +1 -1
  276. package/src/contexts/messageInputContext/__tests__/filePickers.test.tsx +31 -10
  277. package/src/contexts/messageInputContext/__tests__/sendMessage.test.tsx +24 -12
  278. package/src/contexts/overlayContext/__tests__/MessageOverlayHostLayer.test.tsx +2 -2
  279. package/src/hooks/__tests__/useTranslatedMessage.test.tsx +4 -4
  280. package/src/mock-builders/DB/mock.ts +1 -1
  281. package/src/mock-builders/api/channelMocks.tsx +39 -29
  282. package/src/mock-builders/api/deleteMessage.ts +21 -0
  283. package/src/mock-builders/api/deleteReaction.ts +23 -0
  284. package/src/mock-builders/api/{error.js → error.ts} +13 -5
  285. package/src/mock-builders/api/getOrCreateChannel.ts +22 -11
  286. package/src/mock-builders/api/{initiateClientWithChannels.js → initiateClientWithChannels.ts} +21 -3
  287. package/src/mock-builders/api/{queryChannels.js → queryChannels.ts} +2 -4
  288. package/src/mock-builders/api/{queryMembers.js → queryMembers.ts} +29 -27
  289. package/src/mock-builders/api/sendMessage.ts +25 -0
  290. package/src/mock-builders/api/sendReaction.ts +9 -5
  291. package/src/mock-builders/api/threadReplies.ts +18 -0
  292. package/src/mock-builders/api/{useMockedApis.js → useMockedApis.ts} +5 -4
  293. package/src/mock-builders/api/utils.ts +16 -0
  294. package/src/mock-builders/{attachments.js → attachments.ts} +24 -8
  295. package/src/mock-builders/event/channelDeleted.ts +12 -0
  296. package/src/mock-builders/event/channelHidden.ts +12 -0
  297. package/src/mock-builders/event/channelTruncated.ts +12 -0
  298. package/src/mock-builders/event/channelUpdated.ts +12 -0
  299. package/src/mock-builders/event/channelVisible.ts +12 -0
  300. package/src/mock-builders/event/connectionChanged.ts +11 -0
  301. package/src/mock-builders/event/connectionRecovered.ts +10 -0
  302. package/src/mock-builders/event/memberAdded.ts +19 -0
  303. package/src/mock-builders/event/memberRemoved.ts +18 -0
  304. package/src/mock-builders/event/memberUpdated.ts +18 -0
  305. package/src/mock-builders/event/messageDeleted.ts +23 -0
  306. package/src/mock-builders/event/messageNew.ts +26 -0
  307. package/src/mock-builders/event/messageRead.ts +23 -0
  308. package/src/mock-builders/event/messageUpdated.ts +23 -0
  309. package/src/mock-builders/event/notificationAddedToChannel.ts +12 -0
  310. package/src/mock-builders/event/notificationChannelMutesUpdated.ts +12 -0
  311. package/src/mock-builders/event/notificationMarkRead.ts +12 -0
  312. package/src/mock-builders/event/notificationMarkUnread.ts +22 -0
  313. package/src/mock-builders/event/notificationMessageNew.ts +12 -0
  314. package/src/mock-builders/event/notificationMutesUpdated.ts +16 -0
  315. package/src/mock-builders/event/notificationRemovedFromChannel.ts +12 -0
  316. package/src/mock-builders/event/reactionDeleted.ts +26 -0
  317. package/src/mock-builders/event/reactionNew.ts +26 -0
  318. package/src/mock-builders/event/reactionUpdated.ts +26 -0
  319. package/src/mock-builders/event/typing.ts +18 -0
  320. package/src/mock-builders/event/userPresence.ts +13 -0
  321. package/src/mock-builders/event/userUpdated.ts +13 -0
  322. package/src/mock-builders/generator/{attachment.js → attachment.ts} +17 -13
  323. package/src/mock-builders/generator/channel.ts +70 -39
  324. package/src/mock-builders/generator/member.ts +18 -0
  325. package/src/mock-builders/generator/message.ts +50 -0
  326. package/src/mock-builders/generator/reaction.ts +15 -0
  327. package/src/mock-builders/generator/{user.js → user.ts} +20 -16
  328. package/src/mock-builders/mock.ts +79 -0
  329. package/src/state-store/__tests__/audio-player.test.ts +3 -1
  330. package/src/state-store/__tests__/image-gallery-state-store.test.ts +31 -28
  331. package/src/state-store/__tests__/video-player-pool.test.ts +9 -9
  332. package/src/store/apis/__tests__/updatePendingTask.test.ts +17 -6
  333. package/src/store/apis/addPendingTask.ts +2 -1
  334. package/src/store/apis/deleteMessage.ts +2 -1
  335. package/src/store/apis/upsertDraft.ts +2 -2
  336. package/src/store/sqlite-utils/appendOrderByClause.ts +1 -1
  337. package/src/store/sqlite-utils/appendWhereCluase.ts +1 -1
  338. package/src/store/sqlite-utils/createCreateTableQuery.ts +7 -5
  339. package/src/test-utils/BetterSqlite.ts +38 -0
  340. package/src/utils/__tests__/{Streami18n.test.js → Streami18n.test.ts} +66 -31
  341. package/src/utils/__tests__/getResizedImageUrl.test.ts +10 -8
  342. package/src/utils/__tests__/{utils.test.js → utils.test.ts} +1 -1
  343. package/src/version.json +1 -1
  344. package/src/mock-builders/api/deleteMessage.js +0 -18
  345. package/src/mock-builders/api/deleteReaction.js +0 -19
  346. package/src/mock-builders/api/sendMessage.js +0 -18
  347. package/src/mock-builders/api/threadReplies.js +0 -16
  348. package/src/mock-builders/api/utils.js +0 -7
  349. package/src/mock-builders/event/channelDeleted.js +0 -7
  350. package/src/mock-builders/event/channelHidden.js +0 -7
  351. package/src/mock-builders/event/channelTruncated.js +0 -7
  352. package/src/mock-builders/event/channelUpdated.js +0 -7
  353. package/src/mock-builders/event/channelVisible.js +0 -7
  354. package/src/mock-builders/event/connectionChanged.js +0 -6
  355. package/src/mock-builders/event/connectionRecovered.js +0 -5
  356. package/src/mock-builders/event/memberAdded.js +0 -10
  357. package/src/mock-builders/event/memberRemoved.js +0 -9
  358. package/src/mock-builders/event/memberUpdated.js +0 -9
  359. package/src/mock-builders/event/messageDeleted.js +0 -8
  360. package/src/mock-builders/event/messageNew.js +0 -11
  361. package/src/mock-builders/event/messageRead.js +0 -15
  362. package/src/mock-builders/event/messageUpdated.js +0 -8
  363. package/src/mock-builders/event/notificationAddedToChannel.js +0 -7
  364. package/src/mock-builders/event/notificationChannelMutesUpdated.js +0 -7
  365. package/src/mock-builders/event/notificationMarkRead.js +0 -7
  366. package/src/mock-builders/event/notificationMarkUnread.js +0 -12
  367. package/src/mock-builders/event/notificationMessageNew.js +0 -7
  368. package/src/mock-builders/event/notificationMutesUpdated.js +0 -11
  369. package/src/mock-builders/event/notificationRemovedFromChannel.js +0 -7
  370. package/src/mock-builders/event/reactionDeleted.js +0 -9
  371. package/src/mock-builders/event/reactionNew.js +0 -9
  372. package/src/mock-builders/event/reactionUpdated.js +0 -9
  373. package/src/mock-builders/event/typing.js +0 -9
  374. package/src/mock-builders/event/userPresence.js +0 -8
  375. package/src/mock-builders/event/userUpdated.js +0 -8
  376. package/src/mock-builders/generator/member.js +0 -13
  377. package/src/mock-builders/generator/message.js +0 -32
  378. package/src/mock-builders/generator/reaction.js +0 -12
  379. package/src/mock-builders/mock.js +0 -57
  380. package/src/test-utils/BetterSqlite.js +0 -36
  381. /package/src/components/Message/MessageItemView/__tests__/__snapshots__/{MessageAuthor.test.js.snap → MessageAuthor.test.tsx.snap} +0 -0
  382. /package/src/components/Message/MessageItemView/__tests__/__snapshots__/{MessagePinnedHeader.test.js.snap → MessagePinnedHeader.test.tsx.snap} +0 -0
  383. /package/src/components/MessageInput/__tests__/__snapshots__/{AttachButton.test.js.snap → AttachButton.test.tsx.snap} +0 -0
  384. /package/src/components/MessageInput/__tests__/__snapshots__/{SendButton.test.js.snap → SendButton.test.tsx.snap} +0 -0
  385. /package/src/components/MessageList/__tests__/__snapshots__/{MessageSystem.test.js.snap → MessageSystem.test.tsx.snap} +0 -0
  386. /package/src/components/MessageList/__tests__/__snapshots__/{ScrollToBottomButton.test.js.snap → ScrollToBottomButton.test.tsx.snap} +0 -0
  387. /package/src/components/MessageList/__tests__/__snapshots__/{TypingIndicator.test.js.snap → TypingIndicator.test.tsx.snap} +0 -0
@@ -49,14 +49,11 @@ exports[`Thread should match thread snapshot 1`] = `
49
49
  "cid": "messaging:test-channel",
50
50
  "created_at": 2020-05-05T14:50:00.000Z,
51
51
  "deleted_at": null,
52
- "error": null,
53
52
  "html": "<p>regular</p>",
54
53
  "id": "38ef6f7c-3090-5759-a37f-ab0053aadb96",
55
54
  "message_text_updated_at": "2020-05-05T14:50:00.000Z",
56
55
  "parent_id": "b4612a73-fa2b-5787-bf71-1adc8f291a04",
57
56
  "pinned_at": null,
58
- "quoted_message": null,
59
- "reaction_groups": null,
60
57
  "status": "received",
61
58
  "text": "Message6",
62
59
  "type": "regular",
@@ -78,14 +75,11 @@ exports[`Thread should match thread snapshot 1`] = `
78
75
  "cid": "messaging:test-channel",
79
76
  "created_at": 2020-05-05T14:50:00.000Z,
80
77
  "deleted_at": null,
81
- "error": null,
82
78
  "html": "<p>regular</p>",
83
79
  "id": "516efa25-5d29-5c9a-ad2d-4cc183e785bd",
84
80
  "message_text_updated_at": "2020-05-05T14:50:00.000Z",
85
81
  "parent_id": "b4612a73-fa2b-5787-bf71-1adc8f291a04",
86
82
  "pinned_at": null,
87
- "quoted_message": null,
88
- "reaction_groups": null,
89
83
  "status": "received",
90
84
  "text": "Message5",
91
85
  "type": "regular",
@@ -108,14 +102,11 @@ exports[`Thread should match thread snapshot 1`] = `
108
102
  "cid": "messaging:test-channel",
109
103
  "created_at": 2020-05-05T14:50:00.000Z,
110
104
  "deleted_at": null,
111
- "error": null,
112
105
  "html": "<p>regular</p>",
113
106
  "id": "516efa25-5d29-5c9a-ad2d-4cc183e785bd",
114
107
  "message_text_updated_at": "2020-05-05T14:50:00.000Z",
115
108
  "parent_id": "b4612a73-fa2b-5787-bf71-1adc8f291a04",
116
109
  "pinned_at": null,
117
- "quoted_message": null,
118
- "reaction_groups": null,
119
110
  "status": "received",
120
111
  "text": "Message5",
121
112
  "type": "regular",
@@ -136,14 +127,11 @@ exports[`Thread should match thread snapshot 1`] = `
136
127
  "cid": "messaging:test-channel",
137
128
  "created_at": 2020-05-05T14:50:00.000Z,
138
129
  "deleted_at": null,
139
- "error": null,
140
130
  "html": "<p>regular</p>",
141
131
  "id": "38ef6f7c-3090-5759-a37f-ab0053aadb96",
142
132
  "message_text_updated_at": "2020-05-05T14:50:00.000Z",
143
133
  "parent_id": "b4612a73-fa2b-5787-bf71-1adc8f291a04",
144
134
  "pinned_at": null,
145
- "quoted_message": null,
146
- "reaction_groups": null,
147
135
  "status": "received",
148
136
  "text": "Message6",
149
137
  "type": "regular",
@@ -164,14 +152,11 @@ exports[`Thread should match thread snapshot 1`] = `
164
152
  "cid": "messaging:test-channel",
165
153
  "created_at": 2020-05-05T14:50:00.000Z,
166
154
  "deleted_at": null,
167
- "error": null,
168
155
  "html": "<p>regular</p>",
169
156
  "id": "82a83b16-b611-527c-b3ac-765ef6220490",
170
157
  "message_text_updated_at": "2020-05-05T14:50:00.000Z",
171
158
  "parent_id": "b4612a73-fa2b-5787-bf71-1adc8f291a04",
172
159
  "pinned_at": null,
173
- "quoted_message": null,
174
- "reaction_groups": null,
175
160
  "status": "received",
176
161
  "text": "Message4",
177
162
  "type": "regular",
@@ -194,14 +179,11 @@ exports[`Thread should match thread snapshot 1`] = `
194
179
  "cid": "messaging:test-channel",
195
180
  "created_at": 2020-05-05T14:50:00.000Z,
196
181
  "deleted_at": null,
197
- "error": null,
198
182
  "html": "<p>regular</p>",
199
183
  "id": "82a83b16-b611-527c-b3ac-765ef6220490",
200
184
  "message_text_updated_at": "2020-05-05T14:50:00.000Z",
201
185
  "parent_id": "b4612a73-fa2b-5787-bf71-1adc8f291a04",
202
186
  "pinned_at": null,
203
- "quoted_message": null,
204
- "reaction_groups": null,
205
187
  "status": "received",
206
188
  "text": "Message4",
207
189
  "type": "regular",
@@ -222,14 +204,11 @@ exports[`Thread should match thread snapshot 1`] = `
222
204
  "cid": "messaging:test-channel",
223
205
  "created_at": 2020-05-05T14:50:00.000Z,
224
206
  "deleted_at": null,
225
- "error": null,
226
207
  "html": "<p>regular</p>",
227
208
  "id": "516efa25-5d29-5c9a-ad2d-4cc183e785bd",
228
209
  "message_text_updated_at": "2020-05-05T14:50:00.000Z",
229
210
  "parent_id": "b4612a73-fa2b-5787-bf71-1adc8f291a04",
230
211
  "pinned_at": null,
231
- "quoted_message": null,
232
- "reaction_groups": null,
233
212
  "status": "received",
234
213
  "text": "Message5",
235
214
  "type": "regular",
@@ -32,7 +32,7 @@ const animationOptions = {
32
32
  export type SwipableActionItem = {
33
33
  action: () => void | Promise<void>;
34
34
  contentContainerStyle?: StyleProp<ViewStyle>;
35
- Content: React.ComponentType<Record<string, unknown>>;
35
+ Content: React.ComponentType;
36
36
  id: string;
37
37
  };
38
38
 
@@ -12,7 +12,7 @@ const mockReanimatedSwipeable = jest.fn(({ children }: React.PropsWithChildren)
12
12
 
13
13
  jest.mock('react-native-gesture-handler/ReanimatedSwipeable', () => ({
14
14
  __esModule: true,
15
- default: (...args: unknown[]) => mockReanimatedSwipeable(...args),
15
+ default: (...args: [React.PropsWithChildren]) => mockReanimatedSwipeable(...args),
16
16
  SwipeDirection: {
17
17
  LEFT: 'left',
18
18
  RIGHT: 'right',
@@ -1,7 +1,8 @@
1
- import React from 'react';
1
+ import React, { PropsWithChildren } from 'react';
2
2
  import { Alert } from 'react-native';
3
3
 
4
4
  import { cleanup, renderHook, waitFor } from '@testing-library/react-native';
5
+ import type { Channel, StreamChat } from 'stream-chat';
5
6
 
6
7
  import { Chat } from '../../../components';
7
8
  import { initiateClientWithChannels } from '../../../mock-builders/api/initiateClientWithChannels';
@@ -20,7 +21,15 @@ import {
20
21
 
21
22
  jest.spyOn(Alert, 'alert');
22
23
 
23
- const Wrapper = ({ channel, client, props }) => {
24
+ const Wrapper = ({
25
+ channel,
26
+ client,
27
+ props,
28
+ }: {
29
+ channel: Channel;
30
+ client: StreamChat;
31
+ props: PropsWithChildren<Partial<InputMessageInputContextValue>>;
32
+ }) => {
24
33
  return (
25
34
  <Chat client={client}>
26
35
  <ChannelProvider
@@ -32,8 +41,20 @@ const Wrapper = ({ channel, client, props }) => {
32
41
  } as ChannelContextValue
33
42
  }
34
43
  >
35
- <AttachmentPickerProvider value={{ disableAttachmentPicker: true }}>
36
- <MessageComposerProvider value={{ channel }}>
44
+ <AttachmentPickerProvider
45
+ value={
46
+ { disableAttachmentPicker: true } as unknown as React.ComponentProps<
47
+ typeof AttachmentPickerProvider
48
+ >['value']
49
+ }
50
+ >
51
+ <MessageComposerProvider
52
+ value={
53
+ { channel } as unknown as React.ComponentProps<
54
+ typeof MessageComposerProvider
55
+ >['value']
56
+ }
57
+ >
37
58
  <MessageInputProvider
38
59
  value={
39
60
  {
@@ -51,8 +72,8 @@ const Wrapper = ({ channel, client, props }) => {
51
72
  };
52
73
 
53
74
  describe("MessageInputContext's pickFile", () => {
54
- let channel;
55
- let chatClient;
75
+ let channel: Channel;
76
+ let chatClient: StreamChat;
56
77
 
57
78
  beforeEach(async () => {
58
79
  const { client, channels } = await initiateClientWithChannels();
@@ -128,8 +149,8 @@ describe("MessageInputContext's pickFile", () => {
128
149
  });
129
150
 
130
151
  describe("MessageInputContext's pickAndUploadImageFromNativePicker", () => {
131
- let channel;
132
- let chatClient;
152
+ let channel: Channel;
153
+ let chatClient: StreamChat;
133
154
 
134
155
  beforeEach(async () => {
135
156
  const { client, channels } = await initiateClientWithChannels();
@@ -268,8 +289,8 @@ describe("MessageInputContext's pickAndUploadImageFromNativePicker", () => {
268
289
  });
269
290
 
270
291
  describe("MessageInputContext's takeAndUploadImage", () => {
271
- let channel;
272
- let chatClient;
292
+ let channel: Channel;
293
+ let chatClient: StreamChat;
273
294
 
274
295
  beforeEach(async () => {
275
296
  const { client, channels } = await initiateClientWithChannels();
@@ -1,8 +1,7 @@
1
- import React from 'react';
1
+ import React, { PropsWithChildren } from 'react';
2
2
 
3
3
  import { act, cleanup, renderHook, waitFor } from '@testing-library/react-native';
4
-
5
- import { LocalMessage } from 'stream-chat';
4
+ import type { Channel, StreamChat } from 'stream-chat';
6
5
 
7
6
  import { Chat } from '../../../components';
8
7
  import { initiateClientWithChannels } from '../../../mock-builders/api/initiateClientWithChannels';
@@ -12,6 +11,7 @@ import { generateMessage } from '../../../mock-builders/generator/message';
12
11
  import * as UseMessageComposerAPIContext from '../../messageComposerContext/MessageComposerAPIContext';
13
12
 
14
13
  import { MessageComposerAPIContextValue } from '../../messageComposerContext/MessageComposerAPIContext';
14
+ import type { MessageComposerContextValue } from '../../messageComposerContext/MessageComposerContext';
15
15
  import { MessageComposerProvider } from '../../messageComposerContext/MessageComposerContext';
16
16
  import {
17
17
  OwnCapabilitiesContextValue,
@@ -23,11 +23,19 @@ import {
23
23
  useMessageInputContext,
24
24
  } from '../MessageInputContext';
25
25
 
26
- const Wrapper = ({ messageComposerContextValue, client, props }) => {
26
+ const Wrapper = ({
27
+ messageComposerContextValue,
28
+ client,
29
+ props,
30
+ }: {
31
+ client: StreamChat;
32
+ messageComposerContextValue: Partial<MessageComposerContextValue>;
33
+ props: PropsWithChildren<Partial<InputMessageInputContextValue>>;
34
+ }) => {
27
35
  return (
28
36
  <Chat client={client}>
29
37
  <OwnCapabilitiesProvider value={{ sendMessage: true } as OwnCapabilitiesContextValue}>
30
- <MessageComposerProvider value={messageComposerContextValue}>
38
+ <MessageComposerProvider value={messageComposerContextValue as MessageComposerContextValue}>
31
39
  <MessageInputProvider
32
40
  value={
33
41
  {
@@ -44,8 +52,8 @@ const Wrapper = ({ messageComposerContextValue, client, props }) => {
44
52
  };
45
53
 
46
54
  describe("MessageInputContext's sendMessage", () => {
47
- let channel;
48
- let chatClient;
55
+ let channel: Channel;
56
+ let chatClient: StreamChat;
49
57
 
50
58
  beforeEach(async () => {
51
59
  const { client, channels } = await initiateClientWithChannels();
@@ -138,7 +146,11 @@ describe("MessageInputContext's sendMessage", () => {
138
146
  sendMessage: sendMessageMock,
139
147
  };
140
148
  const { pollComposer } = channel.messageComposer;
141
- jest.spyOn(chatClient, 'createPoll').mockResolvedValue({ poll: { id: 'test-poll-id' } });
149
+ jest
150
+ .spyOn(chatClient, 'createPoll')
151
+ .mockResolvedValue({ poll: { id: 'test-poll-id' } } as unknown as Awaited<
152
+ ReturnType<StreamChat['createPoll']>
153
+ >);
142
154
 
143
155
  const { result } = renderHook(() => useMessageInputContext(), {
144
156
  initialProps,
@@ -159,7 +171,7 @@ describe("MessageInputContext's sendMessage", () => {
159
171
  { id: 1, text: '1' },
160
172
  { id: 2, text: '2' },
161
173
  ],
162
- });
174
+ } as unknown as Parameters<typeof pollComposer.updateFields>[0]);
163
175
  await channel.messageComposer.createPoll();
164
176
  });
165
177
 
@@ -214,8 +226,8 @@ describe("MessageInputContext's sendMessage", () => {
214
226
  });
215
227
 
216
228
  describe("MessageInputContext's editMessage", () => {
217
- let channel;
218
- let chatClient;
229
+ let channel: Channel;
230
+ let chatClient: StreamChat;
219
231
 
220
232
  beforeAll(async () => {
221
233
  const { client, channels } = await initiateClientWithChannels();
@@ -244,7 +256,7 @@ describe("MessageInputContext's editMessage", () => {
244
256
  attachments: [generateLocalFileUploadAttachmentData()],
245
257
  cid: 'messaging:channel-id',
246
258
  text: 'test',
247
- }) as LocalMessage;
259
+ });
248
260
 
249
261
  const { result } = renderHook(() => useMessageInputContext(), {
250
262
  initialProps,
@@ -36,9 +36,9 @@ jest.mock('react-native-reanimated', () => {
36
36
  const { View } = require('react-native');
37
37
 
38
38
  const useStableSharedValue = (init: unknown) => {
39
- const ref = React.useRef<{
39
+ const ref = React.useRef(null) as React.MutableRefObject<{
40
40
  value: unknown;
41
- }>();
41
+ } | null>;
42
42
 
43
43
  if (!ref.current) {
44
44
  const value = { value: init };
@@ -27,7 +27,7 @@ describe('useTranslatedMessage', () => {
27
27
  nl_text: 'Hallo wereld!',
28
28
  },
29
29
  text: 'Hello world!',
30
- } as MessageResponse;
30
+ } as unknown as MessageResponse;
31
31
 
32
32
  render(
33
33
  <TranslationProvider value={{ userLanguage: 'es' } as TranslationContextValue}>
@@ -46,7 +46,7 @@ describe('useTranslatedMessage', () => {
46
46
  no_text: 'Hallo verden!',
47
47
  },
48
48
  text: 'Hello world!',
49
- } as MessageResponse;
49
+ } as unknown as MessageResponse;
50
50
 
51
51
  render(
52
52
  <TranslationProvider value={{ userLanguage: 'no' } as TranslationContextValue}>
@@ -62,7 +62,7 @@ describe('useTranslatedMessage', () => {
62
62
  it("returns the original text if the message doesn't contain any translations", async () => {
63
63
  const message = {
64
64
  text: 'Hello world!',
65
- } as MessageResponse;
65
+ } as unknown as MessageResponse;
66
66
 
67
67
  render(<TestComponent message={message} />);
68
68
 
@@ -78,7 +78,7 @@ describe('useTranslatedMessage', () => {
78
78
  no_text: 'Hallo verden!',
79
79
  },
80
80
  text: 'Hello world!',
81
- } as MessageResponse;
81
+ } as unknown as MessageResponse;
82
82
 
83
83
  /**
84
84
  * The reason for the as unknown as MessageOverlayContextValue is that the provider
@@ -36,7 +36,7 @@ export const sqliteMock = {
36
36
  if (pragmaQueryTokens[2] === '=') {
37
37
  db.pragma(`${pragmaQueryTokens[1]} = ${pragmaQueryTokens[3]}`);
38
38
  } else {
39
- result = db.pragma(`${pragmaQueryTokens[1]}`);
39
+ result = db.pragma(`${pragmaQueryTokens[1]}`) as unknown[];
40
40
  }
41
41
 
42
42
  return {
@@ -1,3 +1,4 @@
1
+ import { fromPartial } from '@total-typescript/shoehorn';
1
2
  import type { Attachment, Channel, LocalMessage, MessageResponse, UserResponse } from 'stream-chat';
2
3
 
3
4
  import {
@@ -6,16 +7,25 @@ import {
6
7
  ONE_MEMBER_WITH_EMPTY_USER,
7
8
  } from '../../mock-builders/api/queryMembers';
8
9
 
10
+ // Test fixtures intentionally supply runtime-shaped values (Date objects for
11
+ // date fields, custom `type` strings, a mock `Channel` instance for the
12
+ // `channel` prop) that do not match the strict server-side `MessageResponse`
13
+ // schema. Accept an unknown-value record and hide the single cast inside the
14
+ // helper so call sites stay flat.
15
+ const mockMessage = (data: Record<string, unknown>) =>
16
+ fromPartial<MessageResponse>(data as Partial<MessageResponse>);
17
+ const mockUser = (data: Partial<UserResponse>) => fromPartial<UserResponse>(data);
18
+
9
19
  const channelName = 'okechukwu';
10
- const CHANNEL = {
20
+ const CHANNEL = fromPartial<Channel>({
11
21
  data: { name: channelName },
12
22
  state: { messages: [] },
13
- } as unknown as Channel;
23
+ });
14
24
 
15
25
  const CHANNEL_WITH_MESSAGES_TEXT = {
16
26
  members: CHANNEL_MEMBERS,
17
27
  messages: [
18
- {
28
+ mockMessage({
19
29
  args: 'string',
20
30
  attachments: [],
21
31
  channel: CHANNEL,
@@ -27,9 +37,9 @@ const CHANNEL_WITH_MESSAGES_TEXT = {
27
37
  id: 'ljkblk',
28
38
  text: 'jkbkbiubicbi',
29
39
  type: 'MessageLabel',
30
- user: { id: 'okechukwu' } as unknown as UserResponse,
31
- } as unknown as MessageResponse,
32
- {
40
+ user: mockUser({ id: 'okechukwu' }),
41
+ }),
42
+ mockMessage({
33
43
  args: 'string',
34
44
  attachments: [],
35
45
  channel: CHANNEL,
@@ -41,8 +51,8 @@ const CHANNEL_WITH_MESSAGES_TEXT = {
41
51
  id: 'jbkjb',
42
52
  text: 'jkbkbiubicbi',
43
53
  type: 'MessageLabel',
44
- user: { id: 'okechukwu' } as unknown as UserResponse,
45
- } as unknown as MessageResponse,
54
+ user: mockUser({ id: 'okechukwu' }),
55
+ }),
46
56
  ],
47
57
  name: channelName,
48
58
  };
@@ -58,7 +68,7 @@ const CHANNEL_WITH_NO_MESSAGES = {
58
68
  const CHANNEL_WITH_MESSAGE_COMMAND = {
59
69
  members: CHANNEL_MEMBERS,
60
70
  messages: [
61
- {
71
+ mockMessage({
62
72
  args: 'string',
63
73
  attachments: [],
64
74
  channel: CHANNEL,
@@ -68,9 +78,9 @@ const CHANNEL_WITH_MESSAGE_COMMAND = {
68
78
  created_at: new Date('2021-02-12T12:12:35.862Z'),
69
79
  deleted_at: new Date('2021-02-12T12:12:35.862Z'),
70
80
  id: 'ljkblk',
71
- user: { id: 'okechukwu' } as unknown as UserResponse,
72
- } as unknown as MessageResponse,
73
- {
81
+ user: mockUser({ id: 'okechukwu' }),
82
+ }),
83
+ mockMessage({
74
84
  args: 'string',
75
85
  attachments: [],
76
86
  channel: CHANNEL,
@@ -80,15 +90,15 @@ const CHANNEL_WITH_MESSAGE_COMMAND = {
80
90
  created_at: new Date('2021-02-12T12:12:35.862Z'),
81
91
  deleted_at: new Date('2021-02-12T12:12:35.862Z'),
82
92
  id: 'jbkjb',
83
- user: { id: 'okechukwu' } as unknown as UserResponse,
84
- } as unknown as MessageResponse,
93
+ user: mockUser({ id: 'okechukwu' }),
94
+ }),
85
95
  ],
86
96
  };
87
97
 
88
98
  const CHANNEL_WITH_MESSAGES_ATTACHMENTS = {
89
99
  members: CHANNEL_MEMBERS,
90
100
  messages: [
91
- {
101
+ mockMessage({
92
102
  args: 'string',
93
103
  attachments: [
94
104
  {
@@ -120,13 +130,13 @@ const CHANNEL_WITH_MESSAGES_ATTACHMENTS = {
120
130
  created_at: new Date('2021-02-12T12:12:35.862Z'),
121
131
  deleted_at: new Date('2021-02-12T12:12:35.862Z'),
122
132
  id: 'ljkblk',
123
- user: { id: 'okechukwu' } as unknown as UserResponse,
124
- } as unknown as MessageResponse,
133
+ user: mockUser({ id: 'okechukwu' }),
134
+ }),
125
135
  ],
126
136
  name: channelName,
127
137
  };
128
138
 
129
- const LATEST_MESSAGE = {
139
+ const LATEST_MESSAGE = mockMessage({
130
140
  args: 'string',
131
141
  attachments: [],
132
142
  channel: CHANNEL,
@@ -138,13 +148,13 @@ const LATEST_MESSAGE = {
138
148
  id: 'string',
139
149
  text: 'jkbkbiubicbi',
140
150
  type: 'MessageLabel',
141
- user: { id: 'okechukwu' } as unknown as UserResponse,
142
- } as unknown as MessageResponse;
151
+ user: mockUser({ id: 'okechukwu' }),
152
+ });
143
153
 
144
154
  const FORMATTED_MESSAGE: LocalMessage = {
145
155
  created_at: new Date('2021-02-12T12:12:35.862282Z'),
156
+ deleted_at: null,
146
157
  id: '',
147
- message: {} as unknown as MessageResponse,
148
158
  pinned_at: new Date('2021-02-12T12:12:35.862282Z'),
149
159
  status: 'received',
150
160
  type: 'regular',
@@ -154,7 +164,7 @@ const FORMATTED_MESSAGE: LocalMessage = {
154
164
  const CHANNEL_WITH_MENTIONED_USERS = {
155
165
  members: ONE_MEMBER_WITH_EMPTY_USER,
156
166
  messages: [
157
- {
167
+ mockMessage({
158
168
  args: 'string',
159
169
  attachments: [],
160
170
  cid: 'stridkncnng',
@@ -167,8 +177,8 @@ const CHANNEL_WITH_MENTIONED_USERS = {
167
177
  { id: 'Enzo', name: 'Enzo' },
168
178
  ] as UserResponse[],
169
179
  text: 'Max',
170
- } as unknown as MessageResponse,
171
- {
180
+ }),
181
+ mockMessage({
172
182
  args: 'string',
173
183
  attachments: [],
174
184
  cid: 'stridodong',
@@ -181,14 +191,14 @@ const CHANNEL_WITH_MENTIONED_USERS = {
181
191
  { id: 'Enzo', name: 'Enzo' },
182
192
  ] as UserResponse[],
183
193
  text: 'Max',
184
- } as unknown as MessageResponse,
194
+ }),
185
195
  ],
186
196
  };
187
197
 
188
198
  const CHANNEL_WITH_EMPTY_MESSAGE = {
189
199
  members: ONE_MEMBER_WITH_EMPTY_USER,
190
200
  messages: [
191
- {
201
+ mockMessage({
192
202
  args: 'string',
193
203
  attachments: [],
194
204
  cid: 'stridkncnng',
@@ -200,8 +210,8 @@ const CHANNEL_WITH_EMPTY_MESSAGE = {
200
210
  { id: 'Ada', name: 'Ada' },
201
211
  { id: 'Enzo', name: 'Enzo' },
202
212
  ] as UserResponse[],
203
- } as unknown as MessageResponse,
204
- {
213
+ }),
214
+ mockMessage({
205
215
  args: 'string',
206
216
  attachments: [],
207
217
  cid: 'stridodong',
@@ -213,7 +223,7 @@ const CHANNEL_WITH_EMPTY_MESSAGE = {
213
223
  { id: 'Ada', name: 'Ada' },
214
224
  { id: 'Enzo', name: 'Enzo' },
215
225
  ] as UserResponse[],
216
- } as unknown as MessageResponse,
226
+ }),
217
227
  ],
218
228
  };
219
229
 
@@ -0,0 +1,21 @@
1
+ import type { LocalMessage, MessageResponse } from 'stream-chat';
2
+
3
+ import { mockedApiResponse, type MockedApiResponse } from './utils';
4
+
5
+ import { generateMessage } from '../generator/message';
6
+
7
+ /**
8
+ * Returns the api response for deleteMessage api.
9
+ *
10
+ * api - /channels/{type}/{id}/message
11
+ */
12
+ export const deleteMessageApi = (
13
+ message: MessageResponse | LocalMessage = generateMessage(),
14
+ ): MockedApiResponse => {
15
+ const result = {
16
+ duration: 0.01,
17
+ message,
18
+ };
19
+
20
+ return mockedApiResponse(result, 'delete');
21
+ };
@@ -0,0 +1,23 @@
1
+ import type { LocalMessage, MessageResponse, ReactionResponse } from 'stream-chat';
2
+
3
+ import { mockedApiResponse, type MockedApiResponse } from './utils';
4
+
5
+ import { generateReaction } from '../generator/reaction';
6
+
7
+ /**
8
+ * Returns the api response for deleteReaction api.
9
+ *
10
+ * api - /messages/{id}/reaction
11
+ */
12
+ export const deleteReactionApi = (
13
+ message: MessageResponse | LocalMessage,
14
+ reaction: ReactionResponse = generateReaction(),
15
+ ): MockedApiResponse => {
16
+ const result = {
17
+ duration: 0.01,
18
+ message,
19
+ reaction,
20
+ };
21
+
22
+ return mockedApiResponse(result, 'delete');
23
+ };
@@ -1,4 +1,12 @@
1
- import { mockedApiResponse } from './utils';
1
+ import { mockedApiResponse, type MockedApiResponse } from './utils';
2
+
3
+ type CustomError = Partial<{
4
+ duration: number;
5
+ exception_fields: Record<string, unknown>;
6
+ message: string;
7
+ code: number;
8
+ StatusCode: number;
9
+ }>;
2
10
 
3
11
  const defaultErrorObject = {
4
12
  duration: 0.01,
@@ -6,7 +14,7 @@ const defaultErrorObject = {
6
14
  message: 'API resulted in error',
7
15
  };
8
16
 
9
- export const erroredGetApi = (customError = {}) => {
17
+ export const erroredGetApi = (customError: CustomError = {}): MockedApiResponse => {
10
18
  const error = {
11
19
  ...defaultErrorObject,
12
20
  ...customError,
@@ -15,7 +23,7 @@ export const erroredGetApi = (customError = {}) => {
15
23
  return mockedApiResponse(error, 'get', 500);
16
24
  };
17
25
 
18
- export const erroredPostApi = (customError = {}) => {
26
+ export const erroredPostApi = (customError: CustomError = {}): MockedApiResponse => {
19
27
  const error = {
20
28
  ...defaultErrorObject,
21
29
  ...customError,
@@ -24,7 +32,7 @@ export const erroredPostApi = (customError = {}) => {
24
32
  return mockedApiResponse(error, 'post', 500);
25
33
  };
26
34
 
27
- export const erroredPutApi = (customError = {}) => {
35
+ export const erroredPutApi = (customError: CustomError = {}): MockedApiResponse => {
28
36
  const error = {
29
37
  ...defaultErrorObject,
30
38
  ...customError,
@@ -33,7 +41,7 @@ export const erroredPutApi = (customError = {}) => {
33
41
  return mockedApiResponse(error, 'put', 500);
34
42
  };
35
43
 
36
- export const erroredDeleteApi = (customError = {}) => {
44
+ export const erroredDeleteApi = (customError: CustomError = {}): MockedApiResponse => {
37
45
  const error = {
38
46
  ...defaultErrorObject,
39
47
  ...customError,