@amityco/ts-sdk-react-native 6.36.1-938a6a9.0 → 7.0.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 (339) hide show
  1. package/.env +26 -26
  2. package/dist/@types/core/events.d.ts +6 -6
  3. package/dist/@types/core/events.d.ts.map +1 -1
  4. package/dist/@types/domains/analytics.d.ts +0 -3
  5. package/dist/@types/domains/analytics.d.ts.map +1 -1
  6. package/dist/@types/domains/channel.d.ts +9 -33
  7. package/dist/@types/domains/channel.d.ts.map +1 -1
  8. package/dist/@types/domains/client.d.ts +0 -4
  9. package/dist/@types/domains/client.d.ts.map +1 -1
  10. package/dist/@types/domains/community.d.ts +2 -10
  11. package/dist/@types/domains/community.d.ts.map +1 -1
  12. package/dist/@types/domains/feed.d.ts +0 -11
  13. package/dist/@types/domains/feed.d.ts.map +1 -1
  14. package/dist/@types/domains/message.d.ts +0 -12
  15. package/dist/@types/domains/message.d.ts.map +1 -1
  16. package/dist/@types/domains/subChannel.d.ts +0 -4
  17. package/dist/@types/domains/subChannel.d.ts.map +1 -1
  18. package/dist/@types/domains/user.d.ts +1 -5
  19. package/dist/@types/domains/user.d.ts.map +1 -1
  20. package/dist/channelRepository/api/deleteChannel.d.ts.map +1 -1
  21. package/dist/channelRepository/api/index.d.ts +0 -1
  22. package/dist/channelRepository/api/index.d.ts.map +1 -1
  23. package/dist/channelRepository/channelMembership/observers/getMembers/ChannelMemberLiveCollectionController.d.ts.map +1 -1
  24. package/dist/channelRepository/channelMembership/observers/getMembers/getMembers.d.ts.map +1 -1
  25. package/dist/channelRepository/channelMembership/observers/searchMembers/SearchChannelMemberLiveCollectionController.d.ts.map +1 -1
  26. package/dist/channelRepository/channelMembership/observers/searchMembers/searchMembers.d.ts.map +1 -1
  27. package/dist/channelRepository/{api → internalApi}/getChannel.d.ts +2 -2
  28. package/dist/channelRepository/internalApi/getChannel.d.ts.map +1 -0
  29. package/dist/channelRepository/internalApi/getChannelByIds.d.ts +32 -0
  30. package/dist/channelRepository/internalApi/getChannelByIds.d.ts.map +1 -0
  31. package/dist/channelRepository/{api → internalApi}/markAsRead.d.ts +0 -3
  32. package/dist/channelRepository/internalApi/markAsRead.d.ts.map +1 -0
  33. package/dist/channelRepository/observers/getChannel.d.ts.map +1 -1
  34. package/dist/channelRepository/observers/getChannels/ChannelLiveCollectionController.d.ts.map +1 -1
  35. package/dist/channelRepository/observers/index.d.ts +0 -2
  36. package/dist/channelRepository/observers/index.d.ts.map +1 -1
  37. package/dist/channelRepository/utils/constructChannelDynamicValue.d.ts.map +1 -1
  38. package/dist/channelRepository/utils/constructChannelObject.d.ts +2 -0
  39. package/dist/channelRepository/utils/constructChannelObject.d.ts.map +1 -0
  40. package/dist/channelRepository/utils/getChannelIsMentioned.d.ts +1 -1
  41. package/dist/channelRepository/utils/getChannelIsMentioned.d.ts.map +1 -1
  42. package/dist/channelRepository/utils/getSubChannelsUnreadCount.d.ts +1 -1
  43. package/dist/channelRepository/utils/getSubChannelsUnreadCount.d.ts.map +1 -1
  44. package/dist/channelRepository/utils/resolveChannels.d.ts.map +1 -1
  45. package/dist/channelRepository/utils/updateChannelCache.d.ts +1 -1
  46. package/dist/channelRepository/utils/updateChannelCache.d.ts.map +1 -1
  47. package/dist/client/observers/index.d.ts +0 -1
  48. package/dist/client/observers/index.d.ts.map +1 -1
  49. package/dist/client/utils/endpoints.d.ts +1 -1
  50. package/dist/client/utils/markerSyncEngine.d.ts +0 -4
  51. package/dist/client/utils/markerSyncEngine.d.ts.map +1 -1
  52. package/dist/client/utils/subscribeGlobalTopic.d.ts.map +1 -1
  53. package/dist/commentRepository/observers/index.d.ts +0 -2
  54. package/dist/commentRepository/observers/index.d.ts.map +1 -1
  55. package/dist/communityRepository/api/index.d.ts +0 -1
  56. package/dist/communityRepository/api/index.d.ts.map +1 -1
  57. package/dist/communityRepository/api/queryCommunities.d.ts.map +1 -1
  58. package/dist/communityRepository/communityMembership/observers/getMembers/CommunityMembersLiveCollectionController.d.ts.map +1 -1
  59. package/dist/communityRepository/communityMembership/observers/getMembers/CommunityMembersQueryStreamController.d.ts.map +1 -1
  60. package/dist/communityRepository/communityMembership/observers/getMembers.d.ts.map +1 -1
  61. package/dist/communityRepository/communityMembership/observers/searchMembers/SearchCommunityMembersPaginationController.d.ts +1 -1
  62. package/dist/communityRepository/communityMembership/observers/searchMembers/SearchCommunityMembersPaginationController.d.ts.map +1 -1
  63. package/dist/communityRepository/observers/getCommunities/CommunitiesLiveCollectionController.d.ts.map +1 -1
  64. package/dist/communityRepository/observers/getCommunities/CommunitiesPaginationController.d.ts.map +1 -1
  65. package/dist/communityRepository/observers/getCommunities/CommunitiesQueryStreamController.d.ts.map +1 -1
  66. package/dist/communityRepository/observers/index.d.ts +0 -1
  67. package/dist/communityRepository/observers/index.d.ts.map +1 -1
  68. package/dist/communityRepository/observers/searchCommunities.d.ts +1 -1
  69. package/dist/communityRepository/observers/searchCommunities.d.ts.map +1 -1
  70. package/dist/communityRepository/utils/communityQueryFilter.d.ts.map +1 -1
  71. package/dist/core/events.d.ts +3 -3
  72. package/dist/core/events.d.ts.map +1 -1
  73. package/dist/core/subscription.d.ts +1 -0
  74. package/dist/core/subscription.d.ts.map +1 -1
  75. package/dist/feedRepository/api/getCustomRankingGlobalFeed.d.ts +2 -35
  76. package/dist/feedRepository/api/getCustomRankingGlobalFeed.d.ts.map +1 -1
  77. package/dist/feedRepository/api/queryGlobalFeed.d.ts +2 -24
  78. package/dist/feedRepository/api/queryGlobalFeed.d.ts.map +1 -1
  79. package/dist/fileRepository/api/index.d.ts +0 -3
  80. package/dist/fileRepository/api/index.d.ts.map +1 -1
  81. package/dist/fileRepository/index.d.ts +0 -1
  82. package/dist/fileRepository/index.d.ts.map +1 -1
  83. package/dist/index.cjs.js +1262 -2689
  84. package/dist/index.esm.js +1226 -2654
  85. package/dist/index.umd.js +3 -3
  86. package/dist/messagePreview/utils/getChannelMessagePreviewWithUser.d.ts +1 -5
  87. package/dist/messagePreview/utils/getChannelMessagePreviewWithUser.d.ts.map +1 -1
  88. package/dist/messagePreview/utils/getSubChannelMessagePreviewWithUser.d.ts +0 -1
  89. package/dist/messagePreview/utils/getSubChannelMessagePreviewWithUser.d.ts.map +1 -1
  90. package/dist/messageRepository/api/createMessage.d.ts.map +1 -1
  91. package/dist/messageRepository/api/index.d.ts +0 -1
  92. package/dist/messageRepository/api/index.d.ts.map +1 -1
  93. package/dist/messageRepository/internalApi/getMessage.d.ts.map +1 -1
  94. package/dist/messageRepository/observers/getMessages/MessageLiveCollectionController.d.ts.map +1 -1
  95. package/dist/messageRepository/observers/getMessages/MessageQueryStreamController.d.ts.map +1 -1
  96. package/dist/messageRepository/observers/getMessages/getMessages.d.ts +0 -1
  97. package/dist/messageRepository/observers/getMessages/getMessages.d.ts.map +1 -1
  98. package/dist/messageRepository/observers/index.d.ts +0 -2
  99. package/dist/messageRepository/observers/index.d.ts.map +1 -1
  100. package/dist/messageRepository/utils/prepareMessagePayload.d.ts +1 -1
  101. package/dist/messageRepository/utils/prepareMessagePayload.d.ts.map +1 -1
  102. package/dist/pollRepository/observers/index.d.ts +0 -1
  103. package/dist/pollRepository/observers/index.d.ts.map +1 -1
  104. package/dist/postRepository/api/index.d.ts +0 -1
  105. package/dist/postRepository/api/index.d.ts.map +1 -1
  106. package/dist/postRepository/observers/index.d.ts +0 -2
  107. package/dist/postRepository/observers/index.d.ts.map +1 -1
  108. package/dist/role/api/queryRoles.d.ts +0 -7
  109. package/dist/role/api/queryRoles.d.ts.map +1 -1
  110. package/dist/streamRepository/api/index.d.ts +0 -2
  111. package/dist/streamRepository/api/index.d.ts.map +1 -1
  112. package/dist/streamRepository/events/onStreamFlagged.d.ts.map +1 -1
  113. package/dist/streamRepository/internalApi/getStream.d.ts.map +1 -0
  114. package/dist/subChannelRepository/utils/markReadEngine.d.ts +0 -34
  115. package/dist/subChannelRepository/utils/markReadEngine.d.ts.map +1 -1
  116. package/dist/userRepository/internalApi/queryUsers.d.ts.map +1 -1
  117. package/dist/userRepository/observers/getUsers/UserLiveCollectionController.d.ts.map +1 -1
  118. package/dist/userRepository/observers/getUsers/UserPaginationController.d.ts.map +1 -1
  119. package/dist/userRepository/observers/index.d.ts +0 -2
  120. package/dist/userRepository/observers/index.d.ts.map +1 -1
  121. package/dist/userRepository/relationship/block/index.d.ts +0 -1
  122. package/dist/userRepository/relationship/block/index.d.ts.map +1 -1
  123. package/dist/userRepository/relationship/follow/api/index.d.ts +0 -2
  124. package/dist/userRepository/relationship/follow/api/index.d.ts.map +1 -1
  125. package/dist/userRepository/relationship/follow/observers/index.d.ts +0 -3
  126. package/dist/userRepository/relationship/follow/observers/index.d.ts.map +1 -1
  127. package/dist/utils/liveObject.d.ts +1 -1
  128. package/package.json +1 -1
  129. package/src/@types/core/events.ts +8 -9
  130. package/src/@types/domains/analytics.ts +0 -7
  131. package/src/@types/domains/channel.ts +15 -46
  132. package/src/@types/domains/client.ts +0 -4
  133. package/src/@types/domains/community.ts +0 -8
  134. package/src/@types/domains/feed.ts +0 -11
  135. package/src/@types/domains/message.ts +0 -12
  136. package/src/@types/domains/subChannel.ts +0 -4
  137. package/src/@types/domains/user.ts +0 -4
  138. package/src/channelRepository/api/deleteChannel.ts +3 -2
  139. package/src/channelRepository/api/getChannelByIds.ts +5 -5
  140. package/src/channelRepository/api/index.ts +0 -2
  141. package/src/channelRepository/channelMembership/observers/getMembers/ChannelMemberLiveCollectionController.ts +0 -8
  142. package/src/channelRepository/channelMembership/observers/getMembers/getMembers.ts +0 -8
  143. package/src/channelRepository/channelMembership/observers/searchMembers/SearchChannelMemberLiveCollectionController.ts +0 -8
  144. package/src/channelRepository/channelMembership/observers/searchMembers/searchMembers.ts +0 -8
  145. package/src/channelRepository/{api → internalApi}/getChannel.ts +4 -4
  146. package/src/channelRepository/internalApi/getChannelByIds.ts +105 -0
  147. package/src/channelRepository/{api → internalApi}/markAsRead.ts +0 -3
  148. package/src/channelRepository/observers/getChannel.ts +36 -15
  149. package/src/channelRepository/observers/getChannels/ChannelLiveCollectionController.ts +11 -12
  150. package/src/channelRepository/observers/index.ts +0 -2
  151. package/src/channelRepository/utils/constructChannelDynamicValue.ts +4 -9
  152. package/src/channelRepository/utils/constructChannelObject.ts +16 -0
  153. package/src/channelRepository/utils/getChannelIsMentioned.ts +4 -1
  154. package/src/channelRepository/utils/getSubChannelsUnreadCount.ts +1 -1
  155. package/src/channelRepository/utils/resolveChannels.ts +7 -2
  156. package/src/channelRepository/utils/updateChannelCache.ts +4 -1
  157. package/src/client/observers/getUserUnread.ts +1 -1
  158. package/src/client/observers/index.ts +0 -1
  159. package/src/client/utils/endpoints.ts +1 -1
  160. package/src/client/utils/markerSyncEngine.ts +0 -9
  161. package/src/client/utils/subscribeGlobalTopic.ts +3 -0
  162. package/src/commentRepository/observers/index.ts +0 -2
  163. package/src/communityRepository/api/index.ts +0 -3
  164. package/src/communityRepository/api/queryCommunities.ts +1 -2
  165. package/src/communityRepository/communityMembership/observers/getMembers/CommunityMembersLiveCollectionController.ts +0 -12
  166. package/src/communityRepository/communityMembership/observers/getMembers/CommunityMembersQueryStreamController.ts +0 -7
  167. package/src/communityRepository/communityMembership/observers/getMembers.ts +0 -4
  168. package/src/communityRepository/communityMembership/observers/searchMembers/SearchCommunityMembersPaginationController.ts +1 -1
  169. package/src/communityRepository/communityMembership/observers/tests/getMembers.test.ts +0 -1
  170. package/src/communityRepository/observers/getCommunities/CommunitiesLiveCollectionController.ts +12 -16
  171. package/src/communityRepository/observers/getCommunities/CommunitiesPaginationController.ts +0 -1
  172. package/src/communityRepository/observers/getCommunities/CommunitiesQueryStreamController.ts +0 -4
  173. package/src/communityRepository/observers/index.ts +0 -2
  174. package/src/communityRepository/observers/searchCommunities.ts +1 -1
  175. package/src/communityRepository/observers/tests/getCommunities.test.ts +0 -1
  176. package/src/communityRepository/utils/communityQueryFilter.ts +1 -8
  177. package/src/core/events.ts +7 -5
  178. package/src/core/subscription.ts +6 -0
  179. package/src/feedRepository/api/getCustomRankingGlobalFeed.ts +8 -55
  180. package/src/feedRepository/api/queryGlobalFeed.ts +6 -58
  181. package/src/feedRepository/api/test/getCustomRankingGlobalFeed.test.ts +1 -1
  182. package/src/feedRepository/api/test/queryGlobalFeed.test.ts +1 -1
  183. package/src/fileRepository/api/index.ts +0 -5
  184. package/src/fileRepository/index.ts +0 -1
  185. package/src/liveStreamPlayer/api/getPlayer.ts +1 -1
  186. package/src/messagePreview/utils/getChannelMessagePreviewWithUser.ts +2 -2
  187. package/src/messageRepository/api/createMessage.ts +5 -1
  188. package/src/messageRepository/api/index.ts +0 -2
  189. package/src/messageRepository/api/tests/createMessage.test.ts +6 -1
  190. package/src/messageRepository/api/tests/deleteMessage.test.ts +5 -1
  191. package/src/messageRepository/internalApi/getMessage.ts +0 -6
  192. package/src/messageRepository/observers/getMessages/MessageLiveCollectionController.ts +0 -20
  193. package/src/messageRepository/observers/getMessages/MessageQueryStreamController.ts +0 -10
  194. package/src/messageRepository/observers/getMessages/getMessages.ts +0 -54
  195. package/src/messageRepository/observers/index.ts +0 -3
  196. package/src/messageRepository/utils/prepareMessagePayload.ts +1 -7
  197. package/src/pollRepository/observers/index.ts +0 -1
  198. package/src/postRepository/api/index.ts +0 -1
  199. package/src/postRepository/observers/index.ts +0 -2
  200. package/src/role/api/queryRoles.ts +1 -13
  201. package/src/streamRepository/api/deleteStream.ts +1 -1
  202. package/src/streamRepository/api/index.ts +0 -4
  203. package/src/streamRepository/api/tests/getStream.test.ts +1 -1
  204. package/src/streamRepository/events/onStreamFlagged.ts +1 -6
  205. package/src/streamRepository/events/onStreamRecorded.ts +1 -1
  206. package/src/streamRepository/events/onStreamStarted.ts +1 -1
  207. package/src/streamRepository/events/onStreamStopped.ts +1 -1
  208. package/src/streamRepository/events/onStreamTerminated.ts +1 -1
  209. package/src/streamRepository/observers/getStreamById.ts +1 -1
  210. package/src/subChannelRepository/utils/markReadEngine.ts +0 -106
  211. package/src/userRepository/internalApi/queryUsers.ts +1 -9
  212. package/src/userRepository/observers/getUsers/UserLiveCollectionController.ts +12 -16
  213. package/src/userRepository/observers/getUsers/UserPaginationController.ts +1 -2
  214. package/src/userRepository/observers/index.ts +0 -2
  215. package/src/userRepository/observers/tests/getUsers.test.ts +1 -43
  216. package/src/userRepository/relationship/block/index.ts +0 -1
  217. package/src/userRepository/relationship/follow/api/index.ts +0 -4
  218. package/src/userRepository/relationship/follow/observers/index.ts +0 -4
  219. package/src/utils/linkedObject/channelLinkedObject.ts +1 -1
  220. package/src/utils/liveObject.ts +2 -2
  221. package/dist/channelRepository/api/getChannel.d.ts.map +0 -1
  222. package/dist/channelRepository/api/markAsRead.d.ts.map +0 -1
  223. package/dist/channelRepository/observers/observeChannel.d.ts +0 -18
  224. package/dist/channelRepository/observers/observeChannel.d.ts.map +0 -1
  225. package/dist/channelRepository/observers/observeChannels.d.ts +0 -17
  226. package/dist/channelRepository/observers/observeChannels.d.ts.map +0 -1
  227. package/dist/client/observers/getTotalUnreadCount.d.ts +0 -20
  228. package/dist/client/observers/getTotalUnreadCount.d.ts.map +0 -1
  229. package/dist/client/observers/tests/getTotalUnreadCount.test.d.ts +0 -2
  230. package/dist/client/observers/tests/getTotalUnreadCount.test.d.ts.map +0 -1
  231. package/dist/commentRepository/observers/observeComment.d.ts +0 -18
  232. package/dist/commentRepository/observers/observeComment.d.ts.map +0 -1
  233. package/dist/commentRepository/observers/observeComments.d.ts +0 -26
  234. package/dist/commentRepository/observers/observeComments.d.ts.map +0 -1
  235. package/dist/communityRepository/api/getTopTrendingCommunities.d.ts +0 -35
  236. package/dist/communityRepository/api/getTopTrendingCommunities.d.ts.map +0 -1
  237. package/dist/communityRepository/api/test/getTopTrendingCommunities.test.d.ts +0 -2
  238. package/dist/communityRepository/api/test/getTopTrendingCommunities.test.d.ts.map +0 -1
  239. package/dist/communityRepository/observers/observeCommunity.d.ts +0 -18
  240. package/dist/communityRepository/observers/observeCommunity.d.ts.map +0 -1
  241. package/dist/feedRepository/internalApi/getCustomRankingGlobalFeed.d.ts +0 -8
  242. package/dist/feedRepository/internalApi/getCustomRankingGlobalFeed.d.ts.map +0 -1
  243. package/dist/feedRepository/internalApi/index.d.ts +0 -3
  244. package/dist/feedRepository/internalApi/index.d.ts.map +0 -1
  245. package/dist/feedRepository/internalApi/queryGlobalFeed.d.ts +0 -9
  246. package/dist/feedRepository/internalApi/queryGlobalFeed.d.ts.map +0 -1
  247. package/dist/feedRepository/internalApi/test/getCustomRankingGlobalFeed.test.d.ts +0 -2
  248. package/dist/feedRepository/internalApi/test/getCustomRankingGlobalFeed.test.d.ts.map +0 -1
  249. package/dist/feedRepository/internalApi/test/queryGlobalFeed.test.d.ts +0 -2
  250. package/dist/feedRepository/internalApi/test/queryGlobalFeed.test.d.ts.map +0 -1
  251. package/dist/fileRepository/api/createFile.d.ts +0 -17
  252. package/dist/fileRepository/api/createFile.d.ts.map +0 -1
  253. package/dist/fileRepository/api/createImage.d.ts +0 -17
  254. package/dist/fileRepository/api/createImage.d.ts.map +0 -1
  255. package/dist/fileRepository/api/createVideo.d.ts +0 -18
  256. package/dist/fileRepository/api/createVideo.d.ts.map +0 -1
  257. package/dist/fileRepository/observers/index.d.ts +0 -2
  258. package/dist/fileRepository/observers/index.d.ts.map +0 -1
  259. package/dist/fileRepository/observers/observeFile.d.ts +0 -18
  260. package/dist/fileRepository/observers/observeFile.d.ts.map +0 -1
  261. package/dist/messageRepository/api/getMessage.d.ts +0 -32
  262. package/dist/messageRepository/api/getMessage.d.ts.map +0 -1
  263. package/dist/messageRepository/api/getMessages.d.ts +0 -32
  264. package/dist/messageRepository/api/getMessages.d.ts.map +0 -1
  265. package/dist/messageRepository/observers/observeMessage.d.ts +0 -21
  266. package/dist/messageRepository/observers/observeMessage.d.ts.map +0 -1
  267. package/dist/messageRepository/observers/observeMessages.d.ts +0 -23
  268. package/dist/messageRepository/observers/observeMessages.d.ts.map +0 -1
  269. package/dist/pollRepository/observers/observePoll.d.ts +0 -18
  270. package/dist/pollRepository/observers/observePoll.d.ts.map +0 -1
  271. package/dist/postRepository/api/updatePost.d.ts +0 -24
  272. package/dist/postRepository/api/updatePost.d.ts.map +0 -1
  273. package/dist/postRepository/observers/observePost.d.ts +0 -18
  274. package/dist/postRepository/observers/observePost.d.ts.map +0 -1
  275. package/dist/postRepository/observers/observePosts.d.ts +0 -34
  276. package/dist/postRepository/observers/observePosts.d.ts.map +0 -1
  277. package/dist/streamRepository/api/getStream.d.ts.map +0 -1
  278. package/dist/streamRepository/api/queryStreams.d.ts +0 -25
  279. package/dist/streamRepository/api/queryStreams.d.ts.map +0 -1
  280. package/dist/userRepository/observers/getViewedUsers.d.ts +0 -7
  281. package/dist/userRepository/observers/getViewedUsers.d.ts.map +0 -1
  282. package/dist/userRepository/observers/observeUser.d.ts +0 -17
  283. package/dist/userRepository/observers/observeUser.d.ts.map +0 -1
  284. package/dist/userRepository/observers/tests/getViewedUsers.test.d.ts +0 -2
  285. package/dist/userRepository/observers/tests/getViewedUsers.test.d.ts.map +0 -1
  286. package/dist/userRepository/relationship/block/observers/getBlockedUsers.d.ts +0 -2
  287. package/dist/userRepository/relationship/block/observers/getBlockedUsers.d.ts.map +0 -1
  288. package/dist/userRepository/relationship/block/observers/index.d.ts +0 -2
  289. package/dist/userRepository/relationship/block/observers/index.d.ts.map +0 -1
  290. package/dist/userRepository/relationship/follow/api/acceptFollower.d.ts +0 -19
  291. package/dist/userRepository/relationship/follow/api/acceptFollower.d.ts.map +0 -1
  292. package/dist/userRepository/relationship/follow/api/declineFollower.d.ts +0 -19
  293. package/dist/userRepository/relationship/follow/api/declineFollower.d.ts.map +0 -1
  294. package/dist/userRepository/relationship/follow/observers/observeFollowInfo.d.ts +0 -18
  295. package/dist/userRepository/relationship/follow/observers/observeFollowInfo.d.ts.map +0 -1
  296. package/dist/userRepository/relationship/follow/observers/observeFollowers.d.ts +0 -18
  297. package/dist/userRepository/relationship/follow/observers/observeFollowers.d.ts.map +0 -1
  298. package/dist/userRepository/relationship/follow/observers/observeFollowings.d.ts +0 -18
  299. package/dist/userRepository/relationship/follow/observers/observeFollowings.d.ts.map +0 -1
  300. package/src/channelRepository/observers/observeChannel.ts +0 -109
  301. package/src/channelRepository/observers/observeChannels.ts +0 -74
  302. package/src/client/observers/getTotalUnreadCount.ts +0 -53
  303. package/src/client/observers/tests/getTotalUnreadCount.test.ts +0 -101
  304. package/src/commentRepository/observers/observeComment.ts +0 -102
  305. package/src/commentRepository/observers/observeComments.ts +0 -77
  306. package/src/communityRepository/api/getTopTrendingCommunities.ts +0 -97
  307. package/src/communityRepository/api/test/getTopTrendingCommunities.test.ts +0 -102
  308. package/src/communityRepository/observers/observeCommunity.ts +0 -103
  309. package/src/feedRepository/internalApi/getCustomRankingGlobalFeed.ts +0 -87
  310. package/src/feedRepository/internalApi/index.ts +0 -2
  311. package/src/feedRepository/internalApi/queryGlobalFeed.ts +0 -95
  312. package/src/feedRepository/internalApi/test/getCustomRankingGlobalFeed.test.ts +0 -138
  313. package/src/feedRepository/internalApi/test/queryGlobalFeed.test.ts +0 -130
  314. package/src/fileRepository/api/createFile.ts +0 -59
  315. package/src/fileRepository/api/createImage.ts +0 -59
  316. package/src/fileRepository/api/createVideo.ts +0 -69
  317. package/src/fileRepository/observers/index.ts +0 -1
  318. package/src/fileRepository/observers/observeFile.ts +0 -49
  319. package/src/messageRepository/api/getMessage.ts +0 -102
  320. package/src/messageRepository/api/getMessages.ts +0 -83
  321. package/src/messageRepository/observers/observeMessage.ts +0 -94
  322. package/src/messageRepository/observers/observeMessages.ts +0 -89
  323. package/src/pollRepository/observers/observePoll.ts +0 -67
  324. package/src/postRepository/api/updatePost.ts +0 -63
  325. package/src/postRepository/observers/observePost.ts +0 -115
  326. package/src/postRepository/observers/observePosts.ts +0 -86
  327. package/src/streamRepository/api/queryStreams.ts +0 -63
  328. package/src/userRepository/observers/getViewedUsers.ts +0 -99
  329. package/src/userRepository/observers/observeUser.ts +0 -71
  330. package/src/userRepository/observers/tests/getViewedUsers.test.ts +0 -39
  331. package/src/userRepository/relationship/block/observers/getBlockedUsers.ts +0 -13
  332. package/src/userRepository/relationship/block/observers/index.ts +0 -1
  333. package/src/userRepository/relationship/follow/api/acceptFollower.ts +0 -40
  334. package/src/userRepository/relationship/follow/api/declineFollower.ts +0 -40
  335. package/src/userRepository/relationship/follow/observers/observeFollowInfo.ts +0 -64
  336. package/src/userRepository/relationship/follow/observers/observeFollowers.ts +0 -74
  337. package/src/userRepository/relationship/follow/observers/observeFollowings.ts +0 -74
  338. /package/dist/streamRepository/{api → internalApi}/getStream.d.ts +0 -0
  339. /package/src/streamRepository/{api → internalApi}/getStream.ts +0 -0
@@ -1,130 +0,0 @@
1
- import { disableCache, enableCache, pullFromCache, pushToCache } from '~/cache/api';
2
-
3
- import { client, deepCopy, post11, post12, user11 } from '~/utils/tests';
4
-
5
- import { queryGlobalFeed } from '../queryGlobalFeed';
6
-
7
- const pagingToken = {
8
- previous: 'eyJiZWZvcmUiOjU1LCJsYXN0IjoxMH0=',
9
- next: 'eyJiZWZvcmUiOjU1LCJsYXN0IjoxMH0=',
10
- };
11
-
12
- const postsToQuery = [post11, post12];
13
- const postIdsToQuery = postsToQuery.map(post => post.postId);
14
- const pagingCriteria = { limit: 10 };
15
- const queryCriteriaWithoutPage = {};
16
- const queryCriteria = { ...queryCriteriaWithoutPage, page: pagingCriteria };
17
-
18
- const resolvedQueryFeedValue = {
19
- data: {
20
- posts: postsToQuery,
21
- postChildren: [],
22
- categories: [],
23
- comments: [],
24
- communityUsers: [],
25
- feeds: [],
26
- files: [],
27
- polls: [],
28
- users: [user11],
29
- paging: pagingToken,
30
- },
31
- };
32
-
33
- describe('queryGlobalFeed', () => {
34
- test('should return fetched feed with correct paging', async () => {
35
- client.http.get = jest.fn().mockResolvedValueOnce(resolvedQueryFeedValue);
36
-
37
- const result = await queryGlobalFeed(queryCriteria);
38
- expect(deepCopy(result)).toEqual(
39
- expect.objectContaining(
40
- deepCopy({
41
- data: postsToQuery,
42
- prevPage: { before: 55, limit: 10 },
43
- nextPage: { before: 55, limit: 10 },
44
- }),
45
- ),
46
- );
47
- });
48
-
49
- test('should accept undefined query param', async () => {
50
- client.http.get = jest.fn().mockResolvedValueOnce(resolvedQueryFeedValue);
51
-
52
- await expect(queryGlobalFeed()).resolves.not.toThrow();
53
- });
54
-
55
- test('should update cache after fetching feed', async () => {
56
- enableCache();
57
- client.http.get = jest.fn().mockResolvedValue(resolvedQueryFeedValue);
58
-
59
- await queryGlobalFeed(queryCriteria);
60
-
61
- const recieved = pullFromCache([
62
- 'globalFeed',
63
- 'query',
64
- { ...queryCriteriaWithoutPage, options: pagingCriteria },
65
- ])?.data;
66
-
67
- expect(recieved).toEqual({
68
- posts: postIdsToQuery,
69
- paging: pagingToken,
70
- });
71
-
72
- disableCache();
73
- });
74
-
75
- test('should throw an error if request fails', async () => {
76
- client.http.get = jest.fn().mockRejectedValueOnce(new Error('error'));
77
-
78
- await expect(queryGlobalFeed(queryCriteria)).rejects.toThrow('error');
79
- });
80
- });
81
-
82
- describe('queryGlobalFeed.locally', () => {
83
- beforeEach(enableCache);
84
- afterEach(disableCache);
85
-
86
- test('should return cached feed', () => {
87
- postsToQuery.forEach(post => pushToCache(['post', 'get', post.postId], post));
88
-
89
- pushToCache(['globalFeed', 'query', { ...queryCriteriaWithoutPage, options: pagingCriteria }], {
90
- posts: postIdsToQuery,
91
- paging: pagingToken,
92
- });
93
- pushToCache(['user', 'get', user11.userId], user11);
94
-
95
- expect(deepCopy(queryGlobalFeed.locally(queryCriteria))).toEqual(
96
- expect.objectContaining(
97
- deepCopy({
98
- data: postsToQuery,
99
- prevPage: { before: 55, limit: 10 },
100
- nextPage: { before: 55, limit: 10 },
101
- }),
102
- ),
103
- );
104
- });
105
-
106
- test('should accept undefined query param', async () => {
107
- client.http.get = jest.fn().mockResolvedValueOnce(resolvedQueryFeedValue);
108
-
109
- expect(() => queryGlobalFeed.locally()).not.toThrow();
110
- });
111
-
112
- test(`shouldn't return if individual feed cache not exist`, () => {
113
- pushToCache(['globalFeed', 'query', { ...queryCriteriaWithoutPage, options: pagingCriteria }], {
114
- posts: postIdsToQuery,
115
- paging: pagingToken,
116
- });
117
-
118
- expect(queryGlobalFeed.locally(queryCriteria)).toBeUndefined();
119
- });
120
-
121
- test('it should return undefined if feed not in cache', () => {
122
- expect(queryGlobalFeed.locally({})).toBeUndefined();
123
- });
124
-
125
- test('it should return undefined if cache disabled', () => {
126
- disableCache();
127
-
128
- expect(queryGlobalFeed.locally({})).toBeUndefined();
129
- });
130
- });
@@ -1,59 +0,0 @@
1
- import { getActiveClient } from '~/client/api';
2
-
3
- import { ingestInCache } from '~/cache/api/ingestInCache';
4
- import GlobalFileAccessType from '~/client/utils/GlobalFileAccessType';
5
-
6
- /**
7
- * ```js
8
- * import { FileRepository } from '@amityco/ts-sdk-react-native'
9
- * const created = await FileRepository.createFile(formData)
10
- * ```
11
- *
12
- * Creates an {@link Amity.File}
13
- *
14
- * @param formData The data necessary to create a new {@link Amity.File}
15
- * @param onProgress The callback to track the upload progress
16
- * @returns The newly created {@link Amity.File}
17
- *
18
- * @category File API
19
- * @async
20
- */
21
- export const createFile = async <T extends Amity.FileType = any>(
22
- formData: FormData,
23
- onProgress?: (percent: number) => void,
24
- ): Promise<Amity.Cached<Amity.File[]>> => {
25
- const client = getActiveClient();
26
- client.log('file/createFile', formData);
27
-
28
- const files = formData.getAll('files');
29
-
30
- if (!files.length) throw new Error('The formData object must have a `files` key.');
31
-
32
- const accessType = GlobalFileAccessType.getInstance().getFileAccessType();
33
- formData.append('accessType', accessType);
34
-
35
- formData.append('preferredFilename', (files[0] as File).name);
36
-
37
- const headers =
38
- 'getHeaders' in formData
39
- ? (formData as any).getHeaders()
40
- : { 'content-type': 'multipart/form-data' };
41
-
42
- const { data } = await client.http.post<Amity.CreateFilePayload<T>>('/api/v4/files', formData, {
43
- headers,
44
- onUploadProgress({ loaded, total = 100 }) {
45
- onProgress && onProgress(Math.round((loaded * 100) / total));
46
- },
47
- });
48
-
49
- // API-FIX: payload should be serialized properly
50
- // const { files } = data
51
-
52
- const cachedAt = client.cache && Date.now();
53
- if (client.cache) ingestInCache({ files: data }, { cachedAt });
54
-
55
- return {
56
- data,
57
- cachedAt,
58
- };
59
- };
@@ -1,59 +0,0 @@
1
- import { getActiveClient } from '~/client/api';
2
- import { ingestInCache } from '~/cache/api/ingestInCache';
3
- import GlobalFileAccessType from '~/client/utils/GlobalFileAccessType';
4
-
5
- /**
6
- * ```js
7
- * import { createImage } from '@amityco/ts-sdk-react-native'
8
- * const created = await createImage(formData)
9
- * ```
10
- *
11
- * Creates an {@link Amity.File<'image'>}
12
- *
13
- * @param formData The data necessary to create a new {@link Amity.File<'image'>}
14
- * @param onProgress The callback to track the upload progress
15
- * @returns The newly created {@link Amity.File<'image'>}
16
- *
17
- * @category File API
18
- * @async
19
- */
20
- export const createImage = async (
21
- formData: FormData,
22
- onProgress?: (percent: number) => void,
23
- ): Promise<Amity.Cached<Amity.File<'image'>[]>> => {
24
- const client = getActiveClient();
25
- client.log('file/createImage', formData);
26
-
27
- const files = formData.getAll('files');
28
-
29
- if (!files.length) throw new Error('The formData object must have a `files` key.');
30
-
31
- const accessType = GlobalFileAccessType.getInstance().getFileAccessType();
32
- formData.append('accessType', accessType);
33
-
34
- formData.append('preferredFilename', (files[0] as File).name);
35
-
36
- const headers =
37
- 'getHeaders' in formData
38
- ? (formData as any).getHeaders()
39
- : { 'content-type': 'multipart/form-data' };
40
- const { data } = await client.http.post<Amity.CreateFilePayload<'image'>>(
41
- '/api/v4/images',
42
- formData,
43
- {
44
- headers,
45
- onUploadProgress({ loaded, total = 100 }) {
46
- onProgress && onProgress(Math.round((loaded * 100) / total));
47
- },
48
- },
49
- );
50
- // API-FIX: payload should be serialized properly
51
- // const { files } = data
52
- const cachedAt = client.cache && Date.now();
53
- if (client.cache) ingestInCache({ files: data }, { cachedAt });
54
- return {
55
- data,
56
- cachedAt,
57
- };
58
- };
59
- /* end_public_function */
@@ -1,69 +0,0 @@
1
- import { getActiveClient } from '~/client/api';
2
-
3
- import { ingestInCache } from '~/cache/api/ingestInCache';
4
- import GlobalFileAccessType from '~/client/utils/GlobalFileAccessType';
5
-
6
- /**
7
- * ```js
8
- * import { FileRepository } from '@amityco/ts-sdk-react-native'
9
- * const created = await FileRepository.createVideo(formData)
10
- * ```
11
- *
12
- * Creates an {@link Amity.File<'video'>}
13
- *
14
- * @param formData The data necessary to create a new {@link Amity.File<'video'>}
15
- * @param feedType The {@link Amity.File<'video'>} feed type
16
- * @param onProgress The callback to track the upload progress
17
- * @returns The newly uploaded {@link Amity.File<'video'>}
18
- *
19
- * @category File API
20
- * @async
21
- */
22
- export const createVideo = async (
23
- formData: FormData,
24
- feedType?: Amity.ContentFeedType,
25
- onProgress?: (percent: number) => void,
26
- ): Promise<Amity.Cached<Amity.File<'video'>[]>> => {
27
- const client = getActiveClient();
28
- client.log('file/createVideo', formData);
29
-
30
- const files = formData.getAll('files');
31
-
32
- if (!files.length) throw new Error('The formData object must have a `files` key.');
33
-
34
- const accessType = GlobalFileAccessType.getInstance().getFileAccessType();
35
- formData.append('accessType', accessType);
36
-
37
- formData.append('preferredFilename', (files[0] as File).name);
38
-
39
- if (feedType) {
40
- formData.append('feedType', feedType);
41
- }
42
-
43
- const headers =
44
- 'getHeaders' in formData
45
- ? (formData as any).getHeaders()
46
- : { 'content-type': 'multipart/form-data' };
47
-
48
- const { data } = await client.http.post<Amity.CreateFilePayload<'video'>>(
49
- '/api/v4/videos',
50
- formData,
51
- {
52
- headers,
53
- onUploadProgress({ loaded, total = 100 }) {
54
- onProgress && onProgress(Math.round((loaded * 100) / total));
55
- },
56
- },
57
- );
58
-
59
- // API-FIX: payload should be serialized properly
60
- // const { files } = data
61
-
62
- const cachedAt = client.cache && Date.now();
63
- if (client.cache) ingestInCache({ files: data }, { cachedAt });
64
-
65
- return {
66
- data,
67
- cachedAt,
68
- };
69
- };
@@ -1 +0,0 @@
1
- export * from './observeFile';
@@ -1,49 +0,0 @@
1
- import { createQuery, runQuery } from '~/core/query/query';
2
-
3
- import { getActiveClient } from '~/client/api';
4
-
5
- import { getFile } from '../api';
6
-
7
- /**
8
- * ```js
9
- * import { observeFile } from '@amityco/ts-sdk-react-native'
10
- *
11
- * let file = {}
12
- * const dispose = observeFile(fileId, updated => file = updated)
13
- * ```
14
- *
15
- * Observe all mutation on a given {@link Amity.File}
16
- *
17
- * @param fileId the ID of the file to observe
18
- * @param callback the function to call when new data are available
19
- * @returns An {@link Amity.Unsubscriber} function to run when willing to stop observing the file
20
- *
21
- * @category File Observer
22
- */
23
- export const observeFile = <Events extends ['onFetch']>(
24
- fileId: string,
25
- callback: Amity.ObjectListener<Amity.Snapshot<Amity.File>, Events>,
26
- ): Amity.Unsubscriber => {
27
- const { log } = getActiveClient();
28
-
29
- const timestamp = Date.now();
30
- log(`observeFile(tmpid: ${timestamp}) > listen`);
31
-
32
- // wrapper function to make sure
33
- const router = (result: Amity.Snapshot<Amity.File>, action: Events[number]) => {
34
- // filter function
35
- if (result.data?.fileId !== fileId) return;
36
-
37
- if (callback instanceof Function) return callback(result);
38
-
39
- if (action !== 'onFetch') callback.onEvent?.(action, result);
40
-
41
- callback[action]?.(result);
42
- };
43
-
44
- runQuery(createQuery(getFile, fileId), result => result.data && router(result, 'onFetch'));
45
-
46
- return () => {
47
- log(`observeFile(tmpid: ${timestamp}) > dispose`);
48
- };
49
- };
@@ -1,102 +0,0 @@
1
- import { getActiveClient } from '~/client/api';
2
-
3
- import { fireEvent } from '~/core/events';
4
- import { pullFromCache } from '~/cache/api';
5
- import { ingestInCache } from '~/cache/api/ingestInCache';
6
-
7
- import { isInTombstone } from '~/cache/api/isInTombstone';
8
- import { checkIfShouldGoesToTombstone } from '~/cache/utils';
9
- import { pushToTombstone } from '~/cache/api/pushToTombstone';
10
-
11
- import { prepareMessagePayload } from '../utils';
12
- import { LinkedObject } from '~/utils/linkedObject';
13
-
14
- /**
15
- * ```js
16
- * import { getMessage } from '@amityco/ts-sdk-react-native'
17
- * const message = await getMessage('foobar')
18
- * ```
19
- *
20
- * Fetches a {@link Amity.Message} object
21
- *
22
- * @param messageId the ID of the {@link Amity.Message} to fetch
23
- * @returns the associated {@link Amity.Message} object
24
- *
25
- * @category Message API
26
- * @async
27
- */
28
- export const getMessage = async (
29
- messageId: Amity.Message['messageId'],
30
- isLive = false,
31
- ): Promise<Amity.Cached<Amity.Message>> => {
32
- const client = getActiveClient();
33
- client.log('message/getMessage', messageId);
34
-
35
- if (!isLive) {
36
- console.log(
37
- 'getMessage will be deprecated on 15th November 2022, please use liveMessage instead.',
38
- );
39
- }
40
-
41
- isInTombstone('message', messageId);
42
-
43
- let data: Amity.ProcessedMessagePayload;
44
-
45
- try {
46
- // API-FIX: endpoint should not be /list, parameters should be querystring.
47
- const { data: payload } = await client.http.get<Amity.MessagePayload>(
48
- `/api/v5/messages/${encodeURIComponent(messageId)}`,
49
- );
50
-
51
- data = await prepareMessagePayload(payload);
52
- } catch (error) {
53
- if (checkIfShouldGoesToTombstone((error as Amity.ErrorResponse)?.code)) {
54
- pushToTombstone('message', messageId);
55
- }
56
-
57
- throw error;
58
- }
59
-
60
- const cachedAt = client.cache && Date.now();
61
- if (client.cache) ingestInCache(data, { cachedAt });
62
-
63
- const { messages } = data;
64
-
65
- fireEvent('local.message.fetched', { messages });
66
-
67
- return {
68
- data: LinkedObject.message(messages.find(message => message.messageId === messageId)!),
69
- cachedAt,
70
- };
71
- };
72
-
73
- /**
74
- * ```js
75
- * import { getMessage } from '@amityco/ts-sdk-react-native'
76
- * const message = getMessage.locally('foobar')
77
- * ```
78
- *
79
- * Fetches a {@link Amity.Message} object
80
- *
81
- * @param messageId the ID of the {@link Amity.Message} to fetch
82
- * @returns the associated {@link Amity.Message} object
83
- *
84
- * @category Message API
85
- */
86
- getMessage.locally = (
87
- messageId: Amity.Message['messageId'],
88
- ): Amity.Cached<Amity.Message> | undefined => {
89
- const client = getActiveClient();
90
- client.log('message/getMessage.locally', messageId);
91
-
92
- if (!client.cache) return;
93
-
94
- const cached = pullFromCache<Amity.Message>(['message', 'get', messageId]);
95
-
96
- if (!cached) return;
97
-
98
- return {
99
- data: cached.data,
100
- cachedAt: cached.cachedAt,
101
- };
102
- };
@@ -1,83 +0,0 @@
1
- import { getActiveClient } from '~/client/api';
2
-
3
- import { fireEvent } from '~/core/events';
4
- import { pullFromCache } from '~/cache/api';
5
- import { ingestInCache } from '~/cache/api/ingestInCache';
6
-
7
- import { prepareMessagePayload } from '../utils';
8
- import { LinkedObject } from '~/utils/linkedObject';
9
-
10
- /**
11
- * ```js
12
- * import { getMessages } from '@amityco/ts-sdk-react-native'
13
- * const messages = await getMessages(['foo', 'bar'])
14
- * ```
15
- *
16
- * Fetches a collection of {@link Amity.Message} objects
17
- *
18
- * @param messageIds the IDs of the {@link Amity.Message} to fetch
19
- * @returns the associated collection of {@link Amity.Message} objects
20
- *
21
- * @category Message API
22
- * @async
23
- */
24
- export const getMessages = async (
25
- messageIds: Amity.Message['messageId'][],
26
- ): Promise<Amity.Cached<Amity.Message[]>> => {
27
- const client = getActiveClient();
28
- client.log('message/getMessages', messageIds);
29
-
30
- const { data: payload } = await client.http.get<Amity.MessagePayload>(`/api/v5/messages/list`, {
31
- params: { messageIds: messageIds.map(encodeURIComponent) },
32
- });
33
-
34
- const data = await prepareMessagePayload(payload);
35
-
36
- const cachedAt = client.cache && Date.now();
37
- if (client.cache) ingestInCache(data, { cachedAt });
38
-
39
- const { messages } = data;
40
-
41
- fireEvent('local.message.fetched', { messages });
42
-
43
- return {
44
- data: messages.map(message => LinkedObject.message(message)),
45
- cachedAt,
46
- };
47
- };
48
-
49
- /**
50
- * ```js
51
- * import { getMessages } from '@amityco/ts-sdk-react-native'
52
- * const messages = getMessages.locally(['foo', 'bar']) ?? []
53
- * ```
54
- *
55
- * Fetches a collection of {@link Amity.Message} objects from cache
56
- *
57
- * @param messageIds the IDs of the {@link Amity.Message} to fetch
58
- * @returns the associated collection of {@link Amity.Message} objects
59
- *
60
- * @category Message API
61
- */
62
- getMessages.locally = (
63
- messageIds: Amity.Message['messageId'][],
64
- ): Amity.Cached<Amity.Message[]> | undefined => {
65
- const client = getActiveClient();
66
- client.log('message/getMessages.locally', messageIds);
67
-
68
- if (!client.cache) return;
69
-
70
- const cached = messageIds
71
- .map(messageId => pullFromCache<Amity.Message>(['message', 'get', messageId])!)
72
- .filter(Boolean);
73
-
74
- const messages = cached.map(({ data }) => data);
75
- const oldest = cached.sort((a, b) => (a.cachedAt! < b.cachedAt! ? -1 : 1))?.[0];
76
-
77
- if (cached?.length < messageIds.length) return;
78
-
79
- return {
80
- data: messages,
81
- cachedAt: oldest.cachedAt,
82
- };
83
- };
@@ -1,94 +0,0 @@
1
- import { getActiveClient } from '~/client/api';
2
-
3
- import { createQuery, runQuery, queryOptions } from '~/core/query';
4
- import { onMessageMarked, onMessageMarkerFetched } from '~/marker/events';
5
- import { convertEventPayload } from '~/utils/event';
6
-
7
- import { getMessage } from '../api/getMessage';
8
-
9
- import { onMessageUpdated, onMessageDeleted } from '../events';
10
- import { LinkedObject } from '~/utils/linkedObject';
11
-
12
- /**
13
- * ```js
14
- * import { observeMessage } from '@amityco/ts-sdk-react-native'
15
- *
16
- * let message = {}
17
- *
18
- * const unsub = observeMessage(messageId, updated => message = updated)
19
- * ```
20
- *
21
- * Observe all mutations on a {@link Amity.Message} given a single messageId
22
- *
23
- * @param client the client to observe the message with
24
- * @param messageId the ID of the message to observe
25
- * @param callback the function to call when new data are available
26
- * @param policy a query policy option for this observer
27
- * @returns An {@link Amity.Unsubscriber} function to run when willing to stop observing the message
28
- *
29
- * @category Message Observer
30
- */
31
- export const observeMessage = <Events extends ['onFetch', 'onUpdate', 'onDelete']>(
32
- messageId: Amity.Message['messageId'],
33
- callback: Amity.ObjectListener<Amity.Snapshot<Amity.Message>, Events>,
34
- policy: Amity.QueryPolicy = 'cache_then_server',
35
- ): Amity.Unsubscriber => {
36
- const { log } = getActiveClient();
37
-
38
- const timestamp = Date.now();
39
- log(`observeMessage(tmpid: ${timestamp}) > listen`);
40
-
41
- console.log(
42
- 'observeMessage will be deprecated on 15th November 2022, please use liveMessage instead.',
43
- );
44
-
45
- // wrapper function to make sure
46
- const router = (result: Amity.Snapshot<Amity.Message>, action: Events[number]) => {
47
- // filter function
48
- if (result.data?.messageId !== messageId) return;
49
-
50
- if (callback instanceof Function) return callback(result);
51
-
52
- if (action !== 'onFetch') callback.onEvent?.(action, result);
53
-
54
- callback[action]?.(result);
55
- };
56
-
57
- const disposers: Amity.Unsubscriber[] = [];
58
-
59
- disposers.push(
60
- onMessageUpdated(data =>
61
- router({ data: LinkedObject.message(data), loading: false, origin: 'event' }, 'onUpdate'),
62
- ),
63
- onMessageDeleted(data =>
64
- router({ data: LinkedObject.message(data), loading: false, origin: 'event' }, 'onDelete'),
65
- ),
66
- convertEventPayload(
67
- onMessageMarkerFetched,
68
- 'contentId',
69
- 'message',
70
- )(data =>
71
- router({ data: LinkedObject.message(data), loading: false, origin: 'event' }, 'onUpdate'),
72
- ),
73
- convertEventPayload(
74
- onMessageMarked,
75
- 'contentId',
76
- 'message',
77
- )(data =>
78
- router({ data: LinkedObject.message(data), loading: false, origin: 'event' }, 'onUpdate'),
79
- ),
80
- );
81
-
82
- if (policy !== 'no_fetch') {
83
- runQuery(
84
- createQuery(getMessage, messageId),
85
- result => result.data && router(result, 'onFetch'),
86
- queryOptions(policy),
87
- );
88
- }
89
-
90
- return () => {
91
- log(`observeMessages(tmpid: ${timestamp}) > dispose`);
92
- disposers.forEach(fn => fn());
93
- };
94
- };