@amityco/ts-sdk 0.0.1-beta.16 → 0.0.1-beta.19

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 (626) hide show
  1. package/.eslintrc.json +51 -0
  2. package/dist/@types/core/cache.d.ts +11 -11
  3. package/dist/@types/core/cache.d.ts.map +1 -1
  4. package/dist/@types/core/errors.d.ts +1 -1
  5. package/dist/@types/core/errors.d.ts.map +1 -1
  6. package/dist/@types/core/events.d.ts.map +1 -1
  7. package/dist/@types/core/model.d.ts +31 -27
  8. package/dist/@types/core/model.d.ts.map +1 -1
  9. package/dist/@types/core/paging.d.ts +2 -2
  10. package/dist/@types/core/paging.d.ts.map +1 -1
  11. package/dist/@types/core/payload.d.ts +6 -0
  12. package/dist/@types/core/payload.d.ts.map +1 -1
  13. package/dist/@types/core/permissions.d.ts.map +1 -1
  14. package/dist/@types/core/query.d.ts +5 -5
  15. package/dist/@types/core/query.d.ts.map +1 -1
  16. package/dist/@types/core/transport.d.ts +1 -1
  17. package/dist/@types/core/transport.d.ts.map +1 -1
  18. package/dist/@types/domains/category.d.ts.map +1 -1
  19. package/dist/@types/domains/channel.d.ts +1 -1
  20. package/dist/@types/domains/channel.d.ts.map +1 -1
  21. package/dist/@types/domains/client.d.ts.map +1 -1
  22. package/dist/@types/domains/comment.d.ts +3 -2
  23. package/dist/@types/domains/comment.d.ts.map +1 -1
  24. package/dist/@types/domains/community.d.ts.map +1 -1
  25. package/dist/@types/domains/content.d.ts +4 -4
  26. package/dist/@types/domains/content.d.ts.map +1 -1
  27. package/dist/@types/domains/feed.d.ts +1 -1
  28. package/dist/@types/domains/feed.d.ts.map +1 -1
  29. package/dist/@types/domains/file.d.ts +5 -5
  30. package/dist/@types/domains/file.d.ts.map +1 -1
  31. package/dist/@types/domains/follow.d.ts.map +1 -1
  32. package/dist/@types/domains/group.d.ts +4 -4
  33. package/dist/@types/domains/group.d.ts.map +1 -1
  34. package/dist/@types/domains/mention.d.ts +6 -6
  35. package/dist/@types/domains/mention.d.ts.map +1 -1
  36. package/dist/@types/domains/message.d.ts +2 -2
  37. package/dist/@types/domains/message.d.ts.map +1 -1
  38. package/dist/@types/domains/partials.d.ts.map +1 -1
  39. package/dist/@types/domains/poll.d.ts +27 -0
  40. package/dist/@types/domains/poll.d.ts.map +1 -0
  41. package/dist/@types/domains/post.d.ts +5 -5
  42. package/dist/@types/domains/post.d.ts.map +1 -1
  43. package/dist/@types/domains/reaction.d.ts +2 -2
  44. package/dist/@types/domains/reaction.d.ts.map +1 -1
  45. package/dist/@types/domains/stream.d.ts +3 -3
  46. package/dist/@types/domains/stream.d.ts.map +1 -1
  47. package/dist/@types/domains/user.d.ts +1 -0
  48. package/dist/@types/domains/user.d.ts.map +1 -1
  49. package/dist/@types/global.d.ts +2 -2
  50. package/dist/@types/global.d.ts.map +1 -1
  51. package/dist/@types/index.d.ts +1 -0
  52. package/dist/@types/index.d.ts.map +1 -1
  53. package/dist/cache/api/backupCache.d.ts.map +1 -1
  54. package/dist/cache/api/disableCache.d.ts.map +1 -1
  55. package/dist/cache/api/dropFromCache.d.ts.map +1 -1
  56. package/dist/cache/api/enableCache.d.ts.map +1 -1
  57. package/dist/cache/api/index.d.ts.map +1 -1
  58. package/dist/cache/api/ingestInCache.d.ts.map +1 -1
  59. package/dist/cache/api/mergeInCache.d.ts +1 -1
  60. package/dist/cache/api/mergeInCache.d.ts.map +1 -1
  61. package/dist/cache/api/pullFromCache.d.ts.map +1 -1
  62. package/dist/cache/api/pushToCache.d.ts.map +1 -1
  63. package/dist/cache/api/queryCache.d.ts.map +1 -1
  64. package/dist/cache/api/restoreCache.d.ts.map +1 -1
  65. package/dist/cache/api/snipeIdFromCollection.d.ts.map +1 -1
  66. package/dist/cache/api/upsertInCache.d.ts +1 -1
  67. package/dist/cache/api/upsertInCache.d.ts.map +1 -1
  68. package/dist/cache/api/wipeCache.d.ts.map +1 -1
  69. package/dist/cache/utils/index.d.ts.map +1 -1
  70. package/dist/category/api/getCategory.d.ts +18 -2
  71. package/dist/category/api/getCategory.d.ts.map +1 -1
  72. package/dist/category/api/index.d.ts.map +1 -1
  73. package/dist/category/api/queryCategories.d.ts +24 -12
  74. package/dist/category/api/queryCategories.d.ts.map +1 -1
  75. package/dist/channel/api/addChannelMembers.d.ts.map +1 -1
  76. package/dist/channel/api/addChannelMembersRole.d.ts.map +1 -1
  77. package/dist/channel/api/createChannel.d.ts.map +1 -1
  78. package/dist/channel/api/deleteChannel.d.ts.map +1 -1
  79. package/dist/channel/api/getChannel.d.ts.map +1 -1
  80. package/dist/channel/api/getChannels.d.ts.map +1 -1
  81. package/dist/channel/api/index.d.ts.map +1 -1
  82. package/dist/channel/api/joinChannel.d.ts.map +1 -1
  83. package/dist/channel/api/leaveChannel.d.ts.map +1 -1
  84. package/dist/channel/api/queryChannelMembers.d.ts +2 -2
  85. package/dist/channel/api/queryChannelMembers.d.ts.map +1 -1
  86. package/dist/channel/api/queryChannels.d.ts +2 -0
  87. package/dist/channel/api/queryChannels.d.ts.map +1 -1
  88. package/dist/channel/api/removeChannelMembers.d.ts.map +1 -1
  89. package/dist/channel/api/removeChannelMembersRole.d.ts.map +1 -1
  90. package/dist/channel/api/updateChannel.d.ts.map +1 -1
  91. package/dist/channel/events/index.d.ts.map +1 -1
  92. package/dist/channel/events/onChannelCreated.d.ts.map +1 -1
  93. package/dist/channel/events/onChannelDeleted.d.ts.map +1 -1
  94. package/dist/channel/events/onChannelJoined.d.ts.map +1 -1
  95. package/dist/channel/events/onChannelLeft.d.ts.map +1 -1
  96. package/dist/channel/events/onChannelUpdated.d.ts.map +1 -1
  97. package/dist/channel/events/onMemberAdded.d.ts.map +1 -1
  98. package/dist/channel/events/onMemberRemoved.d.ts.map +1 -1
  99. package/dist/channel/observers/index.d.ts.map +1 -1
  100. package/dist/channel/observers/observeChannel.d.ts.map +1 -1
  101. package/dist/client/api/activeClient.d.ts.map +1 -1
  102. package/dist/client/api/activeUser.d.ts.map +1 -1
  103. package/dist/client/api/connectClient.d.ts.map +1 -1
  104. package/dist/client/api/createClient.d.ts +1 -1
  105. package/dist/client/api/createClient.d.ts.map +1 -1
  106. package/dist/client/api/disconnectClient.d.ts.map +1 -1
  107. package/dist/client/api/getToken.d.ts.map +1 -1
  108. package/dist/client/api/index.d.ts.map +1 -1
  109. package/dist/client/api/isConnected.d.ts.map +1 -1
  110. package/dist/client/events/index.d.ts.map +1 -1
  111. package/dist/client/events/onClientBanned.d.ts.map +1 -1
  112. package/dist/client/events/onClientDisconnected.d.ts.map +1 -1
  113. package/dist/client/events/onConnectionError.d.ts.map +1 -1
  114. package/dist/client/utils/endpoints.d.ts.map +1 -1
  115. package/dist/comment/api/createComment.d.ts.map +1 -1
  116. package/dist/comment/api/deleteComment.d.ts.map +1 -1
  117. package/dist/comment/api/getComment.d.ts.map +1 -1
  118. package/dist/comment/api/getComments.d.ts.map +1 -1
  119. package/dist/comment/api/index.d.ts.map +1 -1
  120. package/dist/comment/api/queryComments.d.ts.map +1 -1
  121. package/dist/comment/api/updateComment.d.ts.map +1 -1
  122. package/dist/comment/events/index.d.ts.map +1 -1
  123. package/dist/comment/events/onCommentCreated.d.ts.map +1 -1
  124. package/dist/comment/events/onCommentDeleted.d.ts.map +1 -1
  125. package/dist/comment/events/onCommentFlagged.d.ts.map +1 -1
  126. package/dist/comment/events/onCommentReactionAdded.d.ts.map +1 -1
  127. package/dist/comment/events/onCommentReactionRemoved.d.ts.map +1 -1
  128. package/dist/comment/events/onCommentUnflagged.d.ts.map +1 -1
  129. package/dist/comment/events/onCommentUpdated.d.ts.map +1 -1
  130. package/dist/comment/events/utils.d.ts.map +1 -1
  131. package/dist/comment/observers/index.d.ts.map +1 -1
  132. package/dist/comment/observers/observeComment.d.ts.map +1 -1
  133. package/dist/comment/observers/observeComments.d.ts.map +1 -1
  134. package/dist/community/api/addCommunityMembers.d.ts.map +1 -1
  135. package/dist/community/api/addCommunityMembersRoles.d.ts +18 -0
  136. package/dist/community/api/addCommunityMembersRoles.d.ts.map +1 -0
  137. package/dist/community/api/createCommunity.d.ts.map +1 -1
  138. package/dist/community/api/deleteCommunity.d.ts.map +1 -1
  139. package/dist/community/api/getCommunities.d.ts.map +1 -1
  140. package/dist/community/api/getCommunity.d.ts.map +1 -1
  141. package/dist/community/api/getRecommendedCommunities.d.ts.map +1 -1
  142. package/dist/community/api/getTopTrendingCommunities.d.ts.map +1 -1
  143. package/dist/community/api/index.d.ts +2 -2
  144. package/dist/community/api/index.d.ts.map +1 -1
  145. package/dist/community/api/joinCommunity.d.ts.map +1 -1
  146. package/dist/community/api/leaveCommunity.d.ts.map +1 -1
  147. package/dist/community/api/queryCommunities.d.ts.map +1 -1
  148. package/dist/community/api/queryCommunityMembers.d.ts +2 -2
  149. package/dist/community/api/queryCommunityMembers.d.ts.map +1 -1
  150. package/dist/community/api/removeCommunityMembers.d.ts.map +1 -1
  151. package/dist/community/api/removeCommunityMembersRoles.d.ts +18 -0
  152. package/dist/community/api/removeCommunityMembersRoles.d.ts.map +1 -0
  153. package/dist/community/api/updateCommunity.d.ts.map +1 -1
  154. package/dist/community/events/index.d.ts.map +1 -1
  155. package/dist/community/events/onCommunityCreated.d.ts.map +1 -1
  156. package/dist/community/events/onCommunityDeleted.d.ts.map +1 -1
  157. package/dist/community/events/onCommunityJoined.d.ts.map +1 -1
  158. package/dist/community/events/onCommunityLeft.d.ts.map +1 -1
  159. package/dist/community/events/onCommunityUpdated.d.ts.map +1 -1
  160. package/dist/community/events/onCommunityUserAdded.d.ts.map +1 -1
  161. package/dist/community/events/onCommunityUserBanned.d.ts.map +1 -1
  162. package/dist/community/events/onCommunityUserRemoved.d.ts.map +1 -1
  163. package/dist/community/events/onCommunityUserUnbanned.d.ts.map +1 -1
  164. package/dist/community/events/utils.d.ts.map +1 -1
  165. package/dist/community/observers/index.d.ts.map +1 -1
  166. package/dist/community/observers/observeCommunity.d.ts.map +1 -1
  167. package/dist/core/debug.d.ts.map +1 -1
  168. package/dist/core/device.d.ts.map +1 -1
  169. package/dist/core/errors.d.ts.map +1 -1
  170. package/dist/core/events.d.ts +1 -1
  171. package/dist/core/events.d.ts.map +1 -1
  172. package/dist/core/microtasks.d.ts.map +1 -1
  173. package/dist/core/model/idResolvers.d.ts.map +1 -1
  174. package/dist/core/model/identifyModel.d.ts.map +1 -1
  175. package/dist/core/model/index.d.ts.map +1 -1
  176. package/dist/core/query/filtering.d.ts +1 -1
  177. package/dist/core/query/filtering.d.ts.map +1 -1
  178. package/dist/core/query/index.d.ts.map +1 -1
  179. package/dist/core/query/paging.d.ts +3 -3
  180. package/dist/core/query/paging.d.ts.map +1 -1
  181. package/dist/core/query/query.d.ts.map +1 -1
  182. package/dist/core/query/sorting.d.ts +1 -1
  183. package/dist/core/query/sorting.d.ts.map +1 -1
  184. package/dist/core/subscription.d.ts.map +1 -1
  185. package/dist/core/transports/http.d.ts.map +1 -1
  186. package/dist/core/transports/mqtt.d.ts.map +1 -1
  187. package/dist/core/transports/utils.d.ts.map +1 -1
  188. package/dist/core/transports/ws.d.ts +1 -1
  189. package/dist/core/transports/ws.d.ts.map +1 -1
  190. package/dist/core/uuid.d.ts.map +1 -1
  191. package/dist/external/api/createUserToken.d.ts +23 -0
  192. package/dist/external/api/createUserToken.d.ts.map +1 -0
  193. package/dist/external/api/index.d.ts +2 -0
  194. package/dist/external/api/index.d.ts.map +1 -0
  195. package/dist/feed/api/index.d.ts.map +1 -1
  196. package/dist/feed/api/queryGlobalFeed.d.ts +2 -2
  197. package/dist/feed/api/queryGlobalFeed.d.ts.map +1 -1
  198. package/dist/file/api/createFile.d.ts +2 -1
  199. package/dist/file/api/createFile.d.ts.map +1 -1
  200. package/dist/file/api/createImage.d.ts +17 -0
  201. package/dist/file/api/createImage.d.ts.map +1 -0
  202. package/dist/file/api/createVideo.d.ts +17 -0
  203. package/dist/file/api/createVideo.d.ts.map +1 -0
  204. package/dist/file/api/deleteFile.d.ts.map +1 -1
  205. package/dist/file/api/fileUrlWithSize.d.ts.map +1 -1
  206. package/dist/file/api/getFile.d.ts +1 -1
  207. package/dist/file/api/getFile.d.ts.map +1 -1
  208. package/dist/file/api/index.d.ts +2 -0
  209. package/dist/file/api/index.d.ts.map +1 -1
  210. package/dist/file/observers/index.d.ts.map +1 -1
  211. package/dist/file/observers/observeFile.d.ts.map +1 -1
  212. package/dist/follow/api/acceptFollower.d.ts.map +1 -1
  213. package/dist/follow/api/declineFollower.d.ts.map +1 -1
  214. package/dist/follow/api/follow.d.ts.map +1 -1
  215. package/dist/follow/api/getFollowInfo.d.ts.map +1 -1
  216. package/dist/follow/api/index.d.ts.map +1 -1
  217. package/dist/follow/api/queryFollowers.d.ts.map +1 -1
  218. package/dist/follow/api/queryFollowings.d.ts.map +1 -1
  219. package/dist/follow/api/unfollow.d.ts.map +1 -1
  220. package/dist/follow/api/utils.d.ts.map +1 -1
  221. package/dist/follow/events/index.d.ts.map +1 -1
  222. package/dist/follow/events/onFollowInfoUpdated.d.ts.map +1 -1
  223. package/dist/follow/events/onFollowRequestAccepted.d.ts.map +1 -1
  224. package/dist/follow/events/onFollowRequestCanceled.d.ts.map +1 -1
  225. package/dist/follow/events/onFollowRequestDeclined.d.ts.map +1 -1
  226. package/dist/follow/events/onFollowerDeleted.d.ts.map +1 -1
  227. package/dist/follow/events/onFollowerRequested.d.ts.map +1 -1
  228. package/dist/follow/events/onUserFollowed.d.ts.map +1 -1
  229. package/dist/follow/events/onUserUnfollowed.d.ts.map +1 -1
  230. package/dist/follow/events/utils.d.ts.map +1 -1
  231. package/dist/follow/observers/index.d.ts.map +1 -1
  232. package/dist/follow/observers/observeFollowInfo.d.ts.map +1 -1
  233. package/dist/follow/observers/observeFollowers.d.ts.map +1 -1
  234. package/dist/follow/observers/observeFollowings.d.ts.map +1 -1
  235. package/dist/index.cjs.js +736 -219
  236. package/dist/index.d.ts +3 -0
  237. package/dist/index.d.ts.map +1 -1
  238. package/dist/index.esm.js +725 -218
  239. package/dist/index.umd.js +5 -5
  240. package/dist/message/api/createMessage.d.ts +2 -2
  241. package/dist/message/api/createMessage.d.ts.map +1 -1
  242. package/dist/message/api/deleteMessage.d.ts.map +1 -1
  243. package/dist/message/api/getMessage.d.ts.map +1 -1
  244. package/dist/message/api/getMessages.d.ts.map +1 -1
  245. package/dist/message/api/index.d.ts.map +1 -1
  246. package/dist/message/api/queryMessages.d.ts.map +1 -1
  247. package/dist/message/api/updateMessage.d.ts.map +1 -1
  248. package/dist/message/events/index.d.ts.map +1 -1
  249. package/dist/message/events/onMessageCreated.d.ts.map +1 -1
  250. package/dist/message/events/onMessageDeleted.d.ts.map +1 -1
  251. package/dist/message/events/onMessageUpdated.d.ts.map +1 -1
  252. package/dist/message/observers/index.d.ts.map +1 -1
  253. package/dist/message/observers/observeMessage.d.ts.map +1 -1
  254. package/dist/message/observers/observeMessages.d.ts +5 -1
  255. package/dist/message/observers/observeMessages.d.ts.map +1 -1
  256. package/dist/poll/api/closePoll.d.ts +16 -0
  257. package/dist/poll/api/closePoll.d.ts.map +1 -0
  258. package/dist/poll/api/createPoll.d.ts +25 -0
  259. package/dist/poll/api/createPoll.d.ts.map +1 -0
  260. package/dist/poll/api/deletePoll.d.ts +16 -0
  261. package/dist/poll/api/deletePoll.d.ts.map +1 -0
  262. package/dist/poll/api/getPoll.d.ts +32 -0
  263. package/dist/poll/api/getPoll.d.ts.map +1 -0
  264. package/dist/poll/api/index.d.ts +6 -0
  265. package/dist/poll/api/index.d.ts.map +1 -0
  266. package/dist/poll/api/votePoll.d.ts +17 -0
  267. package/dist/poll/api/votePoll.d.ts.map +1 -0
  268. package/dist/post/api/createPost.d.ts +1 -1
  269. package/dist/post/api/createPost.d.ts.map +1 -1
  270. package/dist/post/api/deletePost.d.ts.map +1 -1
  271. package/dist/post/api/getPost.d.ts +1 -1
  272. package/dist/post/api/getPost.d.ts.map +1 -1
  273. package/dist/post/api/getPosts.d.ts.map +1 -1
  274. package/dist/post/api/index.d.ts.map +1 -1
  275. package/dist/post/api/queryPosts.d.ts.map +1 -1
  276. package/dist/post/api/updatePost.d.ts +1 -1
  277. package/dist/post/api/updatePost.d.ts.map +1 -1
  278. package/dist/post/events/index.d.ts.map +1 -1
  279. package/dist/post/events/onPostApproved.d.ts.map +1 -1
  280. package/dist/post/events/onPostCreated.d.ts.map +1 -1
  281. package/dist/post/events/onPostDeclined.d.ts.map +1 -1
  282. package/dist/post/events/onPostDeleted.d.ts.map +1 -1
  283. package/dist/post/events/onPostFlagged.d.ts.map +1 -1
  284. package/dist/post/events/onPostReactionAdded.d.ts.map +1 -1
  285. package/dist/post/events/onPostReactionRemoved.d.ts.map +1 -1
  286. package/dist/post/events/onPostUnflagged.d.ts.map +1 -1
  287. package/dist/post/events/onPostUpdated.d.ts.map +1 -1
  288. package/dist/post/events/utils.d.ts.map +1 -1
  289. package/dist/post/observers/index.d.ts.map +1 -1
  290. package/dist/post/observers/observePost.d.ts.map +1 -1
  291. package/dist/post/observers/observePosts.d.ts +11 -1
  292. package/dist/post/observers/observePosts.d.ts.map +1 -1
  293. package/dist/reaction/api/addReaction.d.ts +2 -2
  294. package/dist/reaction/api/addReaction.d.ts.map +1 -1
  295. package/dist/reaction/api/index.d.ts.map +1 -1
  296. package/dist/reaction/api/removeReaction.d.ts +2 -2
  297. package/dist/reaction/api/removeReaction.d.ts.map +1 -1
  298. package/dist/reaction/events/index.d.ts.map +1 -1
  299. package/dist/reaction/events/onReactionAdded.d.ts +1 -1
  300. package/dist/reaction/events/onReactionAdded.d.ts.map +1 -1
  301. package/dist/reaction/events/onReactionRemoved.d.ts +1 -1
  302. package/dist/reaction/events/onReactionRemoved.d.ts.map +1 -1
  303. package/dist/reaction/utils/dispatchReactable.d.ts.map +1 -1
  304. package/dist/reaction/utils/fetchReference.d.ts.map +1 -1
  305. package/dist/reaction/utils/index.d.ts.map +1 -1
  306. package/dist/reaction/utils/preparePayloadForCache.d.ts.map +1 -1
  307. package/dist/report/api/createReport.d.ts +1 -1
  308. package/dist/report/api/createReport.d.ts.map +1 -1
  309. package/dist/report/api/deleteReport.d.ts +1 -1
  310. package/dist/report/api/deleteReport.d.ts.map +1 -1
  311. package/dist/report/api/index.d.ts.map +1 -1
  312. package/dist/report/api/isReportedByMe.d.ts +1 -1
  313. package/dist/report/api/isReportedByMe.d.ts.map +1 -1
  314. package/dist/report/constants/referenceTypes.d.ts.map +1 -1
  315. package/dist/role/api/getRole.d.ts.map +1 -1
  316. package/dist/role/api/index.d.ts.map +1 -1
  317. package/dist/role/api/queryRoles.d.ts.map +1 -1
  318. package/dist/stream/api/createStream.d.ts.map +1 -1
  319. package/dist/stream/api/deleteStream.d.ts.map +1 -1
  320. package/dist/stream/api/disposeStream.d.ts.map +1 -1
  321. package/dist/stream/api/getStream.d.ts.map +1 -1
  322. package/dist/stream/api/index.d.ts.map +1 -1
  323. package/dist/stream/api/queryStreams.d.ts.map +1 -1
  324. package/dist/stream/api/updateStream.d.ts.map +1 -1
  325. package/dist/stream/events/index.d.ts.map +1 -1
  326. package/dist/stream/events/onStreamRecorded.d.ts.map +1 -1
  327. package/dist/stream/events/onStreamStarted.d.ts.map +1 -1
  328. package/dist/stream/events/onStreamStopped.d.ts.map +1 -1
  329. package/dist/user/api/getUser.d.ts.map +1 -1
  330. package/dist/user/api/getUsers.d.ts.map +1 -1
  331. package/dist/user/api/index.d.ts.map +1 -1
  332. package/dist/user/api/queryUsers.d.ts.map +1 -1
  333. package/dist/user/api/updateUser.d.ts +1 -1
  334. package/dist/user/api/updateUser.d.ts.map +1 -1
  335. package/dist/user/events/index.d.ts.map +1 -1
  336. package/dist/user/events/onUserFlagCleared.d.ts.map +1 -1
  337. package/dist/user/events/onUserFlagged.d.ts.map +1 -1
  338. package/dist/user/events/onUserUnflagged.d.ts.map +1 -1
  339. package/dist/user/events/onUserUpdated.d.ts.map +1 -1
  340. package/dist/user/events/utils.d.ts.map +1 -1
  341. package/dist/user/observers/index.d.ts.map +1 -1
  342. package/dist/user/observers/observeUser.d.ts.map +1 -1
  343. package/dist/utils/env.d.ts +1 -1
  344. package/dist/utils/env.d.ts.map +1 -1
  345. package/dist/version.d.ts.map +1 -1
  346. package/package.json +1 -1
  347. package/rollup.config.js +11 -11
  348. package/src/@types/core/cache.ts +29 -28
  349. package/src/@types/core/errors.ts +3 -3
  350. package/src/@types/core/events.ts +95 -92
  351. package/src/@types/core/model.ts +39 -38
  352. package/src/@types/core/paging.ts +27 -27
  353. package/src/@types/core/payload.ts +85 -79
  354. package/src/@types/core/permissions.ts +6 -7
  355. package/src/@types/core/query.ts +38 -37
  356. package/src/@types/core/transport.ts +37 -28
  357. package/src/@types/domains/category.ts +7 -8
  358. package/src/@types/domains/channel.ts +29 -30
  359. package/src/@types/domains/client.ts +24 -24
  360. package/src/@types/domains/comment.ts +20 -20
  361. package/src/@types/domains/community.ts +22 -23
  362. package/src/@types/domains/content.ts +26 -22
  363. package/src/@types/domains/feed.ts +8 -9
  364. package/src/@types/domains/file.ts +28 -28
  365. package/src/@types/domains/follow.ts +13 -15
  366. package/src/@types/domains/group.ts +24 -26
  367. package/src/@types/domains/mention.ts +13 -12
  368. package/src/@types/domains/message.ts +15 -16
  369. package/src/@types/domains/partials.ts +29 -29
  370. package/src/@types/domains/poll.ts +32 -0
  371. package/src/@types/domains/post.ts +24 -24
  372. package/src/@types/domains/reaction.ts +17 -18
  373. package/src/@types/domains/stream.ts +37 -38
  374. package/src/@types/domains/user.ts +13 -13
  375. package/src/@types/global.ts +20 -17
  376. package/src/@types/index.ts +26 -24
  377. package/src/cache/api/backupCache.ts +14 -18
  378. package/src/cache/api/disableCache.ts +6 -6
  379. package/src/cache/api/dropFromCache.ts +13 -16
  380. package/src/cache/api/enableCache.ts +6 -6
  381. package/src/cache/api/index.ts +11 -11
  382. package/src/cache/api/ingestInCache.ts +15 -16
  383. package/src/cache/api/mergeInCache.ts +10 -12
  384. package/src/cache/api/pullFromCache.ts +9 -11
  385. package/src/cache/api/pushToCache.ts +14 -12
  386. package/src/cache/api/queryCache.ts +11 -12
  387. package/src/cache/api/restoreCache.ts +16 -15
  388. package/src/cache/api/snipeIdFromCollection.ts +19 -24
  389. package/src/cache/api/upsertInCache.ts +11 -13
  390. package/src/cache/api/wipeCache.ts +10 -12
  391. package/src/cache/utils/index.ts +15 -25
  392. package/src/category/api/getCategory.ts +50 -14
  393. package/src/category/api/index.ts +2 -2
  394. package/src/category/api/queryCategories.ts +88 -27
  395. package/src/channel/api/addChannelMembers.ts +14 -15
  396. package/src/channel/api/addChannelMembersRole.ts +12 -13
  397. package/src/channel/api/createChannel.ts +18 -13
  398. package/src/channel/api/deleteChannel.ts +9 -10
  399. package/src/channel/api/getChannel.ts +18 -19
  400. package/src/channel/api/getChannels.ts +22 -24
  401. package/src/channel/api/index.ts +13 -13
  402. package/src/channel/api/joinChannel.ts +12 -15
  403. package/src/channel/api/leaveChannel.ts +12 -15
  404. package/src/channel/api/queryChannelMembers.ts +35 -36
  405. package/src/channel/api/queryChannels.ts +46 -47
  406. package/src/channel/api/removeChannelMembers.ts +14 -15
  407. package/src/channel/api/removeChannelMembersRole.ts +12 -13
  408. package/src/channel/api/updateChannel.ts +12 -11
  409. package/src/channel/events/index.ts +6 -6
  410. package/src/channel/events/onChannelCreated.ts +9 -14
  411. package/src/channel/events/onChannelDeleted.ts +9 -14
  412. package/src/channel/events/onChannelJoined.ts +9 -14
  413. package/src/channel/events/onChannelLeft.ts +9 -14
  414. package/src/channel/events/onChannelUpdated.ts +9 -14
  415. package/src/channel/events/onMemberAdded.ts +9 -14
  416. package/src/channel/events/onMemberRemoved.ts +9 -14
  417. package/src/channel/observers/index.ts +1 -1
  418. package/src/channel/observers/observeChannel.ts +24 -30
  419. package/src/client/api/activeClient.ts +7 -7
  420. package/src/client/api/activeUser.ts +7 -7
  421. package/src/client/api/connectClient.ts +32 -30
  422. package/src/client/api/createClient.ts +22 -18
  423. package/src/client/api/disconnectClient.ts +14 -14
  424. package/src/client/api/getToken.ts +22 -17
  425. package/src/client/api/index.ts +5 -5
  426. package/src/client/api/isConnected.ts +8 -8
  427. package/src/client/events/index.ts +3 -3
  428. package/src/client/events/onClientBanned.ts +5 -7
  429. package/src/client/events/onClientDisconnected.ts +5 -7
  430. package/src/client/events/onConnectionError.ts +17 -24
  431. package/src/client/utils/endpoints.ts +3 -3
  432. package/src/comment/api/createComment.ts +19 -18
  433. package/src/comment/api/deleteComment.ts +21 -22
  434. package/src/comment/api/getComment.ts +22 -23
  435. package/src/comment/api/getComments.ts +24 -26
  436. package/src/comment/api/index.ts +6 -6
  437. package/src/comment/api/queryComments.ts +53 -50
  438. package/src/comment/api/updateComment.ts +14 -13
  439. package/src/comment/events/index.ts +7 -7
  440. package/src/comment/events/onCommentCreated.ts +3 -5
  441. package/src/comment/events/onCommentDeleted.ts +3 -5
  442. package/src/comment/events/onCommentFlagged.ts +3 -5
  443. package/src/comment/events/onCommentReactionAdded.ts +20 -20
  444. package/src/comment/events/onCommentReactionRemoved.ts +20 -20
  445. package/src/comment/events/onCommentUnflagged.ts +3 -5
  446. package/src/comment/events/onCommentUpdated.ts +3 -5
  447. package/src/comment/events/utils.ts +19 -20
  448. package/src/comment/observers/index.ts +2 -2
  449. package/src/comment/observers/observeComment.ts +48 -37
  450. package/src/comment/observers/observeComments.ts +34 -19
  451. package/src/community/api/addCommunityMembers.ts +14 -15
  452. package/src/community/api/addCommunityMembersRoles.ts +42 -0
  453. package/src/community/api/createCommunity.ts +26 -19
  454. package/src/community/api/deleteCommunity.ts +10 -12
  455. package/src/community/api/getCommunities.ts +24 -26
  456. package/src/community/api/getCommunity.ts +20 -21
  457. package/src/community/api/getRecommendedCommunities.ts +29 -28
  458. package/src/community/api/getTopTrendingCommunities.ts +29 -28
  459. package/src/community/api/index.ts +15 -16
  460. package/src/community/api/joinCommunity.ts +16 -16
  461. package/src/community/api/leaveCommunity.ts +16 -16
  462. package/src/community/api/queryCommunities.ts +48 -50
  463. package/src/community/api/queryCommunityMembers.ts +34 -35
  464. package/src/community/api/removeCommunityMembers.ts +14 -15
  465. package/src/community/api/removeCommunityMembersRoles.ts +42 -0
  466. package/src/community/api/updateCommunity.ts +18 -14
  467. package/src/community/events/index.ts +9 -9
  468. package/src/community/events/onCommunityCreated.ts +2 -2
  469. package/src/community/events/onCommunityDeleted.ts +2 -2
  470. package/src/community/events/onCommunityJoined.ts +4 -3
  471. package/src/community/events/onCommunityLeft.ts +4 -3
  472. package/src/community/events/onCommunityUpdated.ts +2 -2
  473. package/src/community/events/onCommunityUserAdded.ts +4 -3
  474. package/src/community/events/onCommunityUserBanned.ts +4 -3
  475. package/src/community/events/onCommunityUserRemoved.ts +4 -3
  476. package/src/community/events/onCommunityUserUnbanned.ts +4 -3
  477. package/src/community/events/utils.ts +46 -44
  478. package/src/community/observers/index.ts +1 -1
  479. package/src/community/observers/observeCommunity.ts +57 -39
  480. package/src/core/debug.ts +10 -12
  481. package/src/core/device.ts +11 -12
  482. package/src/core/errors.ts +16 -19
  483. package/src/core/events.ts +47 -47
  484. package/src/core/microtasks.ts +12 -11
  485. package/src/core/model/idResolvers.ts +7 -7
  486. package/src/core/model/identifyModel.ts +15 -12
  487. package/src/core/model/index.ts +7 -5
  488. package/src/core/query/filtering.ts +5 -3
  489. package/src/core/query/index.ts +4 -4
  490. package/src/core/query/paging.ts +44 -49
  491. package/src/core/query/query.ts +58 -64
  492. package/src/core/query/sorting.ts +21 -15
  493. package/src/core/subscription.ts +22 -20
  494. package/src/core/transports/http.ts +27 -25
  495. package/src/core/transports/mqtt.ts +70 -51
  496. package/src/core/transports/utils.ts +8 -7
  497. package/src/core/transports/ws.ts +16 -17
  498. package/src/core/uuid.ts +3 -2
  499. package/src/external/api/createUserToken.ts +43 -0
  500. package/src/external/api/index.ts +1 -0
  501. package/src/feed/api/index.ts +1 -1
  502. package/src/feed/api/queryGlobalFeed.ts +53 -43
  503. package/src/file/api/createFile.ts +23 -22
  504. package/src/file/api/createImage.ts +58 -0
  505. package/src/file/api/createVideo.ts +58 -0
  506. package/src/file/api/deleteFile.ts +9 -11
  507. package/src/file/api/fileUrlWithSize.ts +2 -2
  508. package/src/file/api/getFile.ts +19 -24
  509. package/src/file/api/index.ts +6 -4
  510. package/src/file/observers/index.ts +1 -1
  511. package/src/file/observers/observeFile.ts +17 -23
  512. package/src/follow/api/acceptFollower.ts +12 -10
  513. package/src/follow/api/declineFollower.ts +12 -10
  514. package/src/follow/api/follow.ts +16 -12
  515. package/src/follow/api/getFollowInfo.ts +28 -20
  516. package/src/follow/api/index.ts +7 -7
  517. package/src/follow/api/queryFollowers.ts +7 -10
  518. package/src/follow/api/queryFollowings.ts +7 -10
  519. package/src/follow/api/unfollow.ts +12 -10
  520. package/src/follow/api/utils.ts +40 -35
  521. package/src/follow/events/index.ts +8 -8
  522. package/src/follow/events/onFollowInfoUpdated.ts +15 -13
  523. package/src/follow/events/onFollowRequestAccepted.ts +4 -3
  524. package/src/follow/events/onFollowRequestCanceled.ts +4 -3
  525. package/src/follow/events/onFollowRequestDeclined.ts +4 -3
  526. package/src/follow/events/onFollowerDeleted.ts +4 -3
  527. package/src/follow/events/onFollowerRequested.ts +4 -3
  528. package/src/follow/events/onUserFollowed.ts +2 -2
  529. package/src/follow/events/onUserUnfollowed.ts +4 -3
  530. package/src/follow/events/utils.ts +15 -20
  531. package/src/follow/observers/index.ts +3 -3
  532. package/src/follow/observers/observeFollowInfo.ts +27 -31
  533. package/src/follow/observers/observeFollowers.ts +29 -30
  534. package/src/follow/observers/observeFollowings.ts +29 -30
  535. package/src/index.ts +45 -38
  536. package/src/message/api/createMessage.ts +31 -29
  537. package/src/message/api/deleteMessage.ts +22 -22
  538. package/src/message/api/getMessage.ts +18 -19
  539. package/src/message/api/getMessages.ts +22 -24
  540. package/src/message/api/index.ts +6 -6
  541. package/src/message/api/queryMessages.ts +55 -47
  542. package/src/message/api/updateMessage.ts +26 -25
  543. package/src/message/events/index.ts +3 -3
  544. package/src/message/events/onMessageCreated.ts +10 -17
  545. package/src/message/events/onMessageDeleted.ts +10 -17
  546. package/src/message/events/onMessageUpdated.ts +10 -17
  547. package/src/message/observers/index.ts +2 -2
  548. package/src/message/observers/observeMessage.ts +23 -29
  549. package/src/message/observers/observeMessages.ts +20 -22
  550. package/src/poll/api/closePoll.ts +39 -0
  551. package/src/poll/api/createPoll.ts +45 -0
  552. package/src/poll/api/deletePoll.ts +36 -0
  553. package/src/poll/api/getPoll.ts +64 -0
  554. package/src/poll/api/index.ts +7 -0
  555. package/src/poll/api/votePoll.ts +41 -0
  556. package/src/post/api/createPost.ts +20 -20
  557. package/src/post/api/deletePost.ts +22 -25
  558. package/src/post/api/getPost.ts +23 -28
  559. package/src/post/api/getPosts.ts +24 -28
  560. package/src/post/api/index.ts +6 -6
  561. package/src/post/api/queryPosts.ts +48 -50
  562. package/src/post/api/updatePost.ts +15 -15
  563. package/src/post/events/index.ts +9 -9
  564. package/src/post/events/onPostApproved.ts +2 -2
  565. package/src/post/events/onPostCreated.ts +2 -2
  566. package/src/post/events/onPostDeclined.ts +2 -2
  567. package/src/post/events/onPostDeleted.ts +2 -2
  568. package/src/post/events/onPostFlagged.ts +2 -2
  569. package/src/post/events/onPostReactionAdded.ts +15 -19
  570. package/src/post/events/onPostReactionRemoved.ts +15 -19
  571. package/src/post/events/onPostUnflagged.ts +2 -2
  572. package/src/post/events/onPostUpdated.ts +2 -2
  573. package/src/post/events/utils.ts +19 -24
  574. package/src/post/observers/index.ts +2 -2
  575. package/src/post/observers/observePost.ts +46 -34
  576. package/src/post/observers/observePosts.ts +47 -24
  577. package/src/reaction/api/addReaction.ts +32 -27
  578. package/src/reaction/api/index.ts +2 -2
  579. package/src/reaction/api/removeReaction.ts +30 -27
  580. package/src/reaction/events/index.ts +1 -1
  581. package/src/reaction/events/onReactionAdded.ts +26 -22
  582. package/src/reaction/events/onReactionRemoved.ts +26 -22
  583. package/src/reaction/utils/dispatchReactable.ts +5 -7
  584. package/src/reaction/utils/fetchReference.ts +8 -11
  585. package/src/reaction/utils/index.ts +3 -3
  586. package/src/reaction/utils/preparePayloadForCache.ts +27 -19
  587. package/src/report/api/createReport.ts +20 -19
  588. package/src/report/api/deleteReport.ts +20 -19
  589. package/src/report/api/index.ts +3 -3
  590. package/src/report/api/isReportedByMe.ts +13 -13
  591. package/src/report/constants/referenceTypes.ts +1 -1
  592. package/src/role/api/getRole.ts +19 -26
  593. package/src/role/api/index.ts +2 -2
  594. package/src/role/api/queryRoles.ts +29 -32
  595. package/src/stream/api/createStream.ts +11 -13
  596. package/src/stream/api/deleteStream.ts +14 -16
  597. package/src/stream/api/disposeStream.ts +11 -11
  598. package/src/stream/api/getStream.ts +21 -21
  599. package/src/stream/api/index.ts +6 -6
  600. package/src/stream/api/queryStreams.ts +36 -37
  601. package/src/stream/api/updateStream.ts +12 -12
  602. package/src/stream/events/index.ts +3 -3
  603. package/src/stream/events/onStreamRecorded.ts +10 -12
  604. package/src/stream/events/onStreamStarted.ts +10 -12
  605. package/src/stream/events/onStreamStopped.ts +10 -17
  606. package/src/user/api/getUser.ts +18 -22
  607. package/src/user/api/getUsers.ts +23 -27
  608. package/src/user/api/index.ts +4 -4
  609. package/src/user/api/queryUsers.ts +42 -46
  610. package/src/user/api/updateUser.ts +18 -13
  611. package/src/user/events/index.ts +4 -4
  612. package/src/user/events/onUserFlagCleared.ts +2 -2
  613. package/src/user/events/onUserFlagged.ts +2 -2
  614. package/src/user/events/onUserUnflagged.ts +2 -2
  615. package/src/user/events/onUserUpdated.ts +2 -2
  616. package/src/user/events/utils.ts +10 -15
  617. package/src/user/observers/index.ts +1 -1
  618. package/src/user/observers/observeUser.ts +25 -34
  619. package/src/utils/env.ts +9 -4
  620. package/src/version.ts +2 -2
  621. package/dist/community/api/addCommunityMembersRole.d.ts +0 -18
  622. package/dist/community/api/addCommunityMembersRole.d.ts.map +0 -1
  623. package/dist/community/api/removeCommunityMembersRole.d.ts +0 -18
  624. package/dist/community/api/removeCommunityMembersRole.d.ts.map +0 -1
  625. package/src/community/api/addCommunityMembersRole.ts +0 -41
  626. package/src/community/api/removeCommunityMembersRole.ts +0 -41
package/dist/index.esm.js CHANGED
@@ -7,7 +7,10 @@ import mitt from 'mitt';
7
7
  import AsyncStorage from '@react-native-async-storage/async-storage';
8
8
 
9
9
  var _a$1;
10
- const theGlobal = globalThis || global || window;
10
+ /* eslint-disable no-undef */
11
+ const theGlobal =
12
+ // eslint-disable-next-line no-nested-ternary
13
+ typeof globalThis === 'object' ? globalThis : typeof global === 'object' ? global : window;
11
14
  const { process: safeProcess = {} } = theGlobal;
12
15
  const isProduction = ((_a$1 = safeProcess.env) === null || _a$1 === void 0 ? void 0 : _a$1.NODE_ENV) === 'production';
13
16
 
@@ -22,7 +25,7 @@ const VERSION$1 = (_b = (_a = safeProcess.env) === null || _a === void 0 ? void
22
25
  *
23
26
  * @hidden
24
27
  */
25
- const isSkipLimit = (json) => (['skip', 'limit'].some(prop => prop in json));
28
+ const isSkipLimit = (json) => ['skip', 'limit'].some(prop => prop in json);
26
29
  /**
27
30
  * Type guard to find if the a given decoded backend token uses "after/before" pagination style
28
31
  *
@@ -31,7 +34,7 @@ const isSkipLimit = (json) => (['skip', 'limit'].some(prop => prop in json));
31
34
  *
32
35
  * @hidden
33
36
  */
34
- const isAfterBefore = (json) => (['after', 'before', 'first', 'last', 'limit'].some(prop => prop in json));
37
+ const isAfterBefore = (json) => ['after', 'before', 'first', 'last', 'limit'].some(prop => prop in json);
35
38
  /**
36
39
  * Type guard to find if the a given decoded backend token uses v4 or newer "after/before" pagination style
37
40
  *
@@ -40,7 +43,7 @@ const isAfterBefore = (json) => (['after', 'before', 'first', 'last', 'limit'].s
40
43
  *
41
44
  * @hidden
42
45
  */
43
- const isAfterBeforeRaw = (json) => ('limit' in json);
46
+ const isAfterBeforeRaw = (json) => 'limit' in json;
44
47
  /**
45
48
  * Type guard to find if the a given object is wrapped around Amity.Paged<>
46
49
  *
@@ -50,9 +53,9 @@ const isAfterBeforeRaw = (json) => ('limit' in json);
50
53
  * @hidden
51
54
  */
52
55
  const isPaged = (payload) => {
53
- return ((payload === null || payload === void 0 ? void 0 : payload.hasOwnProperty('data'))
54
- && (payload === null || payload === void 0 ? void 0 : payload.hasOwnProperty('nextPage'))
55
- && (payload === null || payload === void 0 ? void 0 : payload.hasOwnProperty('prevPage')));
56
+ return ((payload === null || payload === void 0 ? void 0 : payload.hasOwnProperty('data')) &&
57
+ (payload === null || payload === void 0 ? void 0 : payload.hasOwnProperty('nextPage')) &&
58
+ (payload === null || payload === void 0 ? void 0 : payload.hasOwnProperty('prevPage')));
56
59
  };
57
60
  /**
58
61
  * Converts a paging object into a b64 string token
@@ -82,19 +85,19 @@ const toToken = (paging, style) => {
82
85
  "before" or "after" value. if that would change,
83
86
  we'd need to move toward a more simple: `!paging.before`
84
87
  */
85
- if (!isNaN(paging === null || paging === void 0 ? void 0 : paging.before)) {
88
+ if (!Number.isNaN(paging === null || paging === void 0 ? void 0 : paging.before)) {
86
89
  payload = {
87
90
  before: paging.before,
88
91
  last: paging.limit,
89
92
  };
90
93
  }
91
- else if (!isNaN(paging === null || paging === void 0 ? void 0 : paging.after)) {
94
+ else if (!Number.isNaN(paging === null || paging === void 0 ? void 0 : paging.after)) {
92
95
  payload = {
93
96
  after: paging.after,
94
97
  first: paging.limit,
95
98
  };
96
99
  }
97
- else if (!isNaN(paging === null || paging === void 0 ? void 0 : paging.limit)) {
100
+ else if (!Number.isNaN(paging === null || paging === void 0 ? void 0 : paging.limit)) {
98
101
  payload = {
99
102
  last: paging.limit,
100
103
  };
@@ -128,14 +131,14 @@ const toPage = (token) => {
128
131
  limit: json.limit,
129
132
  };
130
133
  }
131
- else if (isAfterBefore(json)) {
134
+ if (isAfterBefore(json)) {
132
135
  if ('before' in json) {
133
136
  return {
134
137
  before: json.before,
135
138
  limit: json.last,
136
139
  };
137
140
  }
138
- else if ('after' in json) {
141
+ if ('after' in json) {
139
142
  return {
140
143
  after: json.after,
141
144
  limit: json.first,
@@ -163,6 +166,7 @@ const toPageRaw = (token) => {
163
166
  return undefined;
164
167
  };
165
168
 
169
+ /* eslint-disable no-use-before-define */
166
170
  /**
167
171
  * Type guard to check and cast that a given async function is has the ".locally" property
168
172
  *
@@ -171,7 +175,7 @@ const toPageRaw = (token) => {
171
175
  *
172
176
  * @hidden
173
177
  */
174
- const isFetcher = (func) => ('locally' in func);
178
+ const isFetcher = (func) => 'locally' in func;
175
179
  /**
176
180
  * Type guard to check and cast that a given async function is has the ".optimistically" property
177
181
  *
@@ -180,7 +184,7 @@ const isFetcher = (func) => ('locally' in func);
180
184
  *
181
185
  * @hidden
182
186
  */
183
- const isMutator = (func) => ('optimistically' in func);
187
+ const isMutator = (func) => 'optimistically' in func;
184
188
  /**
185
189
  * Type guard to check and cast that a given async function is has
186
190
  * the ".locally" or ".optimistically" property
@@ -199,7 +203,7 @@ const isOffline = (func) => isFetcher(func) || isMutator(func);
199
203
  *
200
204
  * @hidden
201
205
  */
202
- const isCachable = (model) => (model === null || model === void 0 ? void 0 : model.hasOwnProperty('cachedAt'));
206
+ const isCachable = (model) => model === null || model === void 0 ? void 0 : model.hasOwnProperty('cachedAt');
203
207
  /**
204
208
  * Checks if a model is considered local (cachedAt === -1)
205
209
  *
@@ -257,7 +261,7 @@ const createQuery = (func, ...args) => ({ func, args });
257
261
  const queryOptions = (policy, lifeSpan = 2 * 60 * 1000) => {
258
262
  if (policy === 'cache_only')
259
263
  return { lifeSpan: Infinity };
260
- else if (policy === 'server_only')
264
+ if (policy === 'server_only')
261
265
  return { lifeSpan: 0 };
262
266
  return { lifeSpan };
263
267
  };
@@ -283,9 +287,7 @@ const runQuery = ({ func, args }, callback, options = queryOptions('cache_then_s
283
287
  // offline first
284
288
  if (isOffline(func) && options.lifeSpan !== 0) {
285
289
  try {
286
- local = isMutator(func)
287
- ? func.optimistically(...args)
288
- : func.locally(...args);
290
+ local = isMutator(func) ? func.optimistically(...args) : func.locally(...args);
289
291
  }
290
292
  catch (error) {
291
293
  callback === null || callback === void 0 ? void 0 : callback(createSnapshot(undefined, {
@@ -297,7 +299,7 @@ const runQuery = ({ func, args }, callback, options = queryOptions('cache_then_s
297
299
  const shouldAbort = isCachable(local) && isFresh(local, options.lifeSpan);
298
300
  callback === null || callback === void 0 ? void 0 : callback(createSnapshot(local, {
299
301
  origin: 'local',
300
- loading: !(isFetcher(func) && shouldAbort)
302
+ loading: !(isFetcher(func) && shouldAbort),
301
303
  }));
302
304
  if (shouldAbort)
303
305
  return;
@@ -305,13 +307,13 @@ const runQuery = ({ func, args }, callback, options = queryOptions('cache_then_s
305
307
  else {
306
308
  callback === null || callback === void 0 ? void 0 : callback(createSnapshot(undefined, {
307
309
  origin: 'local',
308
- loading: true
310
+ loading: true,
309
311
  }));
310
312
  }
311
313
  func(...args)
312
314
  .then(fresh => {
313
315
  // @ts-ignore i know.
314
- // isLocal(local) && syncInCache(local, fresh)
316
+ // isLocal(local) && syncInCache(local, fresh)
315
317
  callback === null || callback === void 0 ? void 0 : callback(createSnapshot(fresh, {
316
318
  origin: 'server',
317
319
  loading: false,
@@ -325,6 +327,7 @@ const runQuery = ({ func, args }, callback, options = queryOptions('cache_then_s
325
327
  }));
326
328
  });
327
329
  };
330
+ // eslint-disable-next-line no-redeclare
328
331
  function createSnapshot(data, options) {
329
332
  if (isPaged(data) || isCachable(data))
330
333
  return Object.assign(Object.assign({}, options), data);
@@ -378,6 +381,7 @@ const sortByLastCreated = ({ createdAt: a }, { createdAt: b }) => new Date(b).va
378
381
  */
379
382
  const sortByLastActivity = ({ lastActivity: a }, { lastActivity: b }) => new Date(b).valueOf() - new Date(a).valueOf();
380
383
 
384
+ /* eslint-disable max-classes-per-file */
381
385
  /**
382
386
  * Generic ASC error
383
387
  * @category Errors
@@ -407,6 +411,7 @@ class ASCApiError extends ASCError {
407
411
  * @param code A normalized error code
408
412
  * @param level A normalized failure level descriptor
409
413
  */
414
+ // eslint-disable-next-line no-useless-constructor
410
415
  constructor(message, code, level) {
411
416
  super(message, code, level);
412
417
  }
@@ -433,7 +438,9 @@ class ASCConnectionError extends ASCError {
433
438
  * @param message A custom error message
434
439
  */
435
440
  constructor(event, message = 'SDK client is having connection issues') {
436
- super(`${message} (${event})`, event === 'disconnected' ? 800211 /* DISCONNECTED */ : 800210 /* CONNECTION_ERROR */, "error" /* ERROR */);
441
+ super(`${message} (${event})`, event === 'disconnected'
442
+ ? 800211 /* DISCONNECTED */
443
+ : 800210 /* CONNECTION_ERROR */, "error" /* ERROR */);
437
444
  this.event = event;
438
445
  }
439
446
  }
@@ -473,12 +480,12 @@ const setActiveClient = (client) => {
473
480
  * @hidden
474
481
  */
475
482
  const createLogger = (session) => {
476
- const active = (`${session === null || session === void 0 ? void 0 : session.trim()}`.length > 0
477
- && !isProduction);
483
+ const active = `${session === null || session === void 0 ? void 0 : session.trim()}`.length > 0 && !isProduction;
478
484
  const logger = debug(session);
479
485
  const print = (topic, ...args) => {
480
486
  active && logger(topic, args);
481
487
  };
488
+ // eslint-disable-next-line no-underscore-dangle
482
489
  print.__instance__ = logger;
483
490
  return print;
484
491
  };
@@ -511,7 +518,7 @@ const unwrapPayload = (response) => {
511
518
  if (response.status === 'success') {
512
519
  return response.data;
513
520
  }
514
- else if (response.status === 'fail') {
521
+ if (response.status === 'fail') {
515
522
  throw new ASCUnknownError(response.code);
516
523
  }
517
524
  else if (response.status === 'error') {
@@ -533,9 +540,10 @@ const stringify = (params, prefix) => {
533
540
  if (Array.isArray(value)) {
534
541
  return value.map(item => `${key}[]=${item}`).join('&');
535
542
  }
536
- else if (typeof value !== 'object') {
543
+ if (typeof value !== 'object') {
537
544
  return `${key}=${value}`;
538
545
  }
546
+ // @ts-ignore
539
547
  return stringify(value, prefix !== null && prefix !== void 0 ? prefix : name);
540
548
  })
541
549
  .join('&');
@@ -562,9 +570,10 @@ const createHttpTransport = (endpoint) => {
562
570
  httpsAgent: new HttpsAgent(options),
563
571
  paramsSerializer: stringify,
564
572
  });
565
- instance.interceptors.response.use((response) => response, (error) => {
573
+ instance.interceptors.response.use(response => response, error => {
566
574
  var _a;
567
575
  const { response } = error;
576
+ // eslint-disable-next-line no-console
568
577
  console.error((_a = response === null || response === void 0 ? void 0 : response.data) !== null && _a !== void 0 ? _a : error);
569
578
  if (response)
570
579
  unwrapPayload(response.data);
@@ -14582,6 +14591,7 @@ function extend() {
14582
14591
 
14583
14592
  var mqtt = mqtt$1.exports;
14584
14593
 
14594
+ /* eslint-disable no-console */
14585
14595
  const QOS_FAILURE_CODE = 128;
14586
14596
  const RETRY_BASE_TIMEOUT = 1000;
14587
14597
  const RETRY_COUNT_MAX = 10;
@@ -14596,7 +14606,7 @@ function getMqttOptions(params) {
14596
14606
  topic: 'WillMsg',
14597
14607
  payload: 'Connection Closed abnormally..!',
14598
14608
  qos: 0,
14599
- retain: false
14609
+ retain: false,
14600
14610
  } }, params);
14601
14611
  }
14602
14612
  /**
@@ -14612,6 +14622,12 @@ const createMqttTransport = (endpoint) => {
14612
14622
  let mqttClient;
14613
14623
  let retryCount = 0;
14614
14624
  let allowReconnection = true;
14625
+ const reconnect = () => {
14626
+ setTimeout(() => {
14627
+ retryCount += 1;
14628
+ mqttClient.reconnect();
14629
+ }, RETRY_BASE_TIMEOUT * 2 ** (retryCount > RETRY_COUNT_MAX ? RETRY_COUNT_MAX : retryCount));
14630
+ };
14615
14631
  async function connect(params) {
14616
14632
  if (mqttClient) {
14617
14633
  mqttClient.removeAllListeners();
@@ -14623,6 +14639,7 @@ const createMqttTransport = (endpoint) => {
14623
14639
  allowReconnection = true;
14624
14640
  });
14625
14641
  mqttClient.on('error', (error) => {
14642
+ // eslint-disable-next-line default-case
14626
14643
  switch (error.code) {
14627
14644
  case 2 /* IDENTIFIER_REJECTED */:
14628
14645
  case 4 /* BAD_USERNAME_OR_PASSWORD */:
@@ -14637,12 +14654,6 @@ const createMqttTransport = (endpoint) => {
14637
14654
  });
14638
14655
  return new Promise(resolve => mqttClient.once('connect', () => resolve()));
14639
14656
  }
14640
- const reconnect = () => {
14641
- setTimeout(() => {
14642
- retryCount = retryCount + 1;
14643
- mqttClient.reconnect();
14644
- }, RETRY_BASE_TIMEOUT * Math.pow(2, retryCount > RETRY_COUNT_MAX ? RETRY_COUNT_MAX : retryCount));
14645
- };
14646
14657
  return {
14647
14658
  connect,
14648
14659
  async disconnect() {
@@ -14676,8 +14687,8 @@ const createMqttTransport = (endpoint) => {
14676
14687
  if (error || granted[0].qos === QOS_FAILURE_CODE) {
14677
14688
  const ascError = error
14678
14689
  ? new ASCError(error.message, 800000 /* UNKNOWN_ERROR */, "error" /* ERROR */)
14679
- // TODO throw the actual error, once BE can tell us the actual error code
14680
- : new ASCUnknownError(800000 /* UNKNOWN_ERROR */, "error" /* ERROR */);
14690
+ : // TODO throw the actual error, once BE can tell us the actual error code
14691
+ new ASCUnknownError(800000 /* UNKNOWN_ERROR */, "error" /* ERROR */);
14681
14692
  console.error(`Failed to subscribe to topic ${topic}`, ascError);
14682
14693
  callback === null || callback === void 0 ? void 0 : callback(ascError);
14683
14694
  }
@@ -14696,10 +14707,11 @@ const createMqttTransport = (endpoint) => {
14696
14707
  },
14697
14708
  unsubscribe(topic) {
14698
14709
  mqttClient === null || mqttClient === void 0 ? void 0 : mqttClient.unsubscribe(topic);
14699
- }
14710
+ },
14700
14711
  };
14701
14712
  };
14702
14713
 
14714
+ /* eslint-disable @typescript-eslint/ban-types */
14703
14715
  let tasks = [];
14704
14716
  let timer;
14705
14717
  /**
@@ -14716,6 +14728,7 @@ const scheduleTask = (task) => {
14716
14728
  }, 0);
14717
14729
  };
14718
14730
 
14731
+ /* eslint-disable @typescript-eslint/no-unused-vars */
14719
14732
  // need to sync up the list
14720
14733
  const WS_EVENTS = [
14721
14734
  'disconnected',
@@ -14742,7 +14755,7 @@ const MQTT_EVENTS = [
14742
14755
  'error',
14743
14756
  'close',
14744
14757
  'end',
14745
- 'reconnect'
14758
+ 'reconnect',
14746
14759
  ];
14747
14760
  /** @hidden */
14748
14761
  const createEventEmitter = () => {
@@ -14806,7 +14819,9 @@ const createEventSubscriber = (client, namespace, event, fn) => {
14806
14819
  */
14807
14820
  const fireEvent = (event, payload) => {
14808
14821
  const { emitter } = getActiveClient();
14809
- scheduleTask(() => { emitter.emit(event, payload); });
14822
+ scheduleTask(() => {
14823
+ emitter.emit(event, payload);
14824
+ });
14810
14825
  };
14811
14826
 
14812
14827
  /**
@@ -14823,7 +14838,7 @@ const fireEvent = (event, payload) => {
14823
14838
  * @returns A {@link Amity.Client} instance
14824
14839
  *
14825
14840
  * @category Client API
14826
- **/
14841
+ * */
14827
14842
  const createClient = (apiKey, apiRegion = API_REGIONS.SG, debugSession = 'amity') => {
14828
14843
  const log = createLogger(debugSession);
14829
14844
  log('client/api/createClient', {
@@ -14951,8 +14966,8 @@ const getToken = async (params) => {
14951
14966
  client.log('client/api/getToken', params);
14952
14967
  const deviceInfo = await getDeviceInfo();
14953
14968
  const { data } = await client.http.post('/v1/device', Object.assign(Object.assign({}, params), { deviceInfo }), {
14954
- //@ts-ignore
14955
- headers: { 'X-API-Key': client.apiKey }
14969
+ // @ts-ignore
14970
+ headers: { 'X-API-Key': client.apiKey },
14956
14971
  });
14957
14972
  return data;
14958
14973
  };
@@ -14981,12 +14996,12 @@ const EVENTS = [
14981
14996
  */
14982
14997
  const onConnectionError = (callback) => {
14983
14998
  const client = getActiveClient();
14984
- const subscribers = EVENTS.map(event => (createEventSubscriber(client, `client/onConnectionError(${event})`, event, (response) => {
14999
+ const subscribers = EVENTS.map(event => createEventSubscriber(client, `client/onConnectionError(${event})`, event, response => {
14985
15000
  const error = (response === null || response === void 0 ? void 0 : response.code)
14986
15001
  ? new ASCError(response.message, response.code, "fatal" /* FATAL */)
14987
15002
  : new ASCConnectionError(event);
14988
15003
  callback(error);
14989
- })));
15004
+ }));
14990
15005
  return () => {
14991
15006
  subscribers.forEach(fn => fn());
14992
15007
  };
@@ -15034,6 +15049,7 @@ const onClientBanned = (callback) => {
15034
15049
  });
15035
15050
  };
15036
15051
 
15052
+ /* eslint-disable no-param-reassign */
15037
15053
  /**
15038
15054
  * ```js
15039
15055
  * import { connectClient } from '@amityco/ts-sdk/client/api'
@@ -15064,7 +15080,7 @@ const connectClient = async (params) => {
15064
15080
  // ignored since we enforce default values just before.
15065
15081
  const { accessToken, users } = await getToken(params);
15066
15082
  // manually setup the token for http transport
15067
- client.http.defaults.headers.common['Authorization'] = `Bearer ${accessToken}`;
15083
+ client.http.defaults.headers.common.Authorization = `Bearer ${accessToken}`;
15068
15084
  // manually setup the token for ws transport
15069
15085
  client.ws.io.opts.query = { token: accessToken };
15070
15086
  // FIXME: events are duplicated if connectClient is called few times without disconnectClient
@@ -15102,9 +15118,9 @@ const isConnected = () => {
15102
15118
  var _a, _b;
15103
15119
  const client = getActiveClient();
15104
15120
  client.log('client/api/isConnected', client);
15105
- return !!(client.userId
15106
- && ((_b = (_a = client.http.defaults.headers.common) === null || _a === void 0 ? void 0 : _a['Authorization']) === null || _b === void 0 ? void 0 : _b.length)
15107
- && client.ws.connected);
15121
+ return !!(client.userId &&
15122
+ ((_b = (_a = client.http.defaults.headers.common) === null || _a === void 0 ? void 0 : _a.Authorization) === null || _b === void 0 ? void 0 : _b.length) &&
15123
+ client.ws.connected);
15108
15124
  };
15109
15125
 
15110
15126
  var SubscriptionLevels;
@@ -15115,7 +15131,7 @@ var SubscriptionLevels;
15115
15131
  SubscriptionLevels["POST_AND_COMMENT"] = "post_and_comment";
15116
15132
  SubscriptionLevels["USER"] = "user";
15117
15133
  })(SubscriptionLevels || (SubscriptionLevels = {}));
15118
- const getCommunityUserTopic = ({ path }, level) => {
15134
+ const getCommunityUserTopic = (path, level) => {
15119
15135
  switch (level) {
15120
15136
  case 'post':
15121
15137
  return `${path}/post/+`;
@@ -15127,8 +15143,8 @@ const getCommunityUserTopic = ({ path }, level) => {
15127
15143
  return path;
15128
15144
  }
15129
15145
  };
15130
- const getCommunityTopic = ({ path }, level = SubscriptionLevels.COMMUNITY) => getCommunityUserTopic({ path }, level);
15131
- const getUserTopic = ({ path }, level = SubscriptionLevels.USER) => getCommunityUserTopic({ path }, level);
15146
+ const getCommunityTopic = ({ path }, level = SubscriptionLevels.COMMUNITY) => getCommunityUserTopic(path, level);
15147
+ const getUserTopic = ({ path }, level = SubscriptionLevels.USER) => getCommunityUserTopic(level === SubscriptionLevels.USER ? path : path.replace(/^(\w*)/, '$1/social'), level);
15132
15148
  const getPostTopic = ({ path }, level = SubscriptionLevels.POST) => {
15133
15149
  switch (level) {
15134
15150
  case 'comment':
@@ -15240,12 +15256,15 @@ const restoreCache = async (storageKey = 'amitySdk') => {
15240
15256
  try {
15241
15257
  cache = JSON.parse(serializedData);
15242
15258
  }
15243
- catch (err) { }
15259
+ catch (err) {
15260
+ //
15261
+ }
15244
15262
  // current cache should override. in case there's something fresher.
15245
15263
  client.cache.data = Object.assign(Object.assign({}, cache), client.cache.data);
15246
15264
  return true;
15247
15265
  };
15248
15266
 
15267
+ /* eslint-disable @typescript-eslint/no-unused-vars */
15249
15268
  /**
15250
15269
  * ```js
15251
15270
  * import { backupCache } from '@amityco/ts-sdk'
@@ -15275,8 +15294,7 @@ const backupCache = async (storageKey = 'amitySdk', persistIf = (entry) => entry
15275
15294
  log('cache/api/backupCache', { storageKey });
15276
15295
  // prepare a subset of the cache where only
15277
15296
  // objects to backup are there
15278
- const offlineEntries = Object.fromEntries(Object.entries(cache.data)
15279
- .filter(([_, entry]) => persistIf(entry)));
15297
+ const offlineEntries = Object.fromEntries(Object.entries(cache.data).filter(([_, entry]) => persistIf(entry)));
15280
15298
  // nothing to backup, abort
15281
15299
  if (!Object.keys(offlineEntries).length)
15282
15300
  return false;
@@ -15322,9 +15340,9 @@ const wipeCache = async (storageKey = 'amitySdk') => {
15322
15340
  * @category Cache
15323
15341
  * @hidden
15324
15342
  */
15325
- const normalize = (source) => (Object.keys(source)
15343
+ const normalize = (source) => Object.keys(source)
15326
15344
  .sort()
15327
- .reduce((acc, key) => (Object.assign(Object.assign({}, acc), { [key]: source[key] })), {}));
15345
+ .reduce((acc, key) => (Object.assign(Object.assign({}, acc), { [key]: source[key] })), {});
15328
15346
  /**
15329
15347
  * Encodes a given {@link Amity.CacheKey} to a plain string
15330
15348
  *
@@ -15334,7 +15352,7 @@ const normalize = (source) => (Object.keys(source)
15334
15352
  * @category Cache
15335
15353
  * @hidden
15336
15354
  */
15337
- const encodeKey = (key) => (JSON.stringify(key, (_, val) => typeof val === "object" ? normalize(val) : val));
15355
+ const encodeKey = (key) => JSON.stringify(key, (_, val) => (typeof val === 'object' ? normalize(val) : val));
15338
15356
  /**
15339
15357
  * Decodes a string back into a {@link Amity.CacheKey}
15340
15358
 
@@ -15359,14 +15377,14 @@ const partialMatch = (predicate, candidate) => {
15359
15377
  if (predicate === candidate)
15360
15378
  return true;
15361
15379
  // if one or the other is nullish, there can't be equality
15362
- else if (!predicate || !candidate)
15380
+ if (!predicate || !candidate)
15363
15381
  return false;
15364
15382
  // we only perform recursive check on objects
15365
- else if (typeof predicate !== "object") {
15383
+ if (typeof predicate !== 'object') {
15366
15384
  return false;
15367
15385
  }
15368
15386
  // recursively call for partial match based on the predicate
15369
- return Object.keys(predicate).every((key) => partialMatch(predicate[key], candidate[key]));
15387
+ return Object.keys(predicate).every(key => partialMatch(predicate[key], candidate[key]));
15370
15388
  };
15371
15389
 
15372
15390
  /**
@@ -15389,8 +15407,7 @@ const queryCache = (key) => {
15389
15407
  if (!cache)
15390
15408
  return;
15391
15409
  log('cache/api/queryCache', { key });
15392
- return Object
15393
- .keys(cache.data)
15410
+ return Object.keys(cache.data)
15394
15411
  .filter(stringKey => {
15395
15412
  const decodedKey = decodeKey(stringKey);
15396
15413
  return partialMatch(key, decodedKey);
@@ -15419,9 +15436,7 @@ const pullFromCache = (key) => {
15419
15436
  return;
15420
15437
  log('cache/api/pullFromCache', key);
15421
15438
  const str = encodeKey(key);
15422
- return !!cache.data[str]
15423
- ? cache.data[str]
15424
- : undefined;
15439
+ return cache.data[str] ? cache.data[str] : undefined;
15425
15440
  };
15426
15441
 
15427
15442
  /**
@@ -15447,8 +15462,10 @@ const pushToCache = (key, data, options = { cachedAt: Date.now() }) => {
15447
15462
  // if consumer did not pass offline but a offline policy is
15448
15463
  // defined, use the fn to determine if the object needs to
15449
15464
  // be saved in persistent storage or not.
15450
- if (!(options === null || options === void 0 ? void 0 : options.hasOwnProperty('offline')) && cache.persistIf)
15465
+ if (!(options === null || options === void 0 ? void 0 : options.hasOwnProperty('offline')) && cache.persistIf) {
15466
+ // eslint-disable-next-line no-param-reassign
15451
15467
  options.offline = cache.persistIf(key, data);
15468
+ }
15452
15469
  const encodedKey = encodeKey(key);
15453
15470
  cache.data[encodedKey] = Object.assign({ key, data }, options);
15454
15471
  return true;
@@ -15480,9 +15497,7 @@ const mergeInCache = (key, mutation, options) => {
15480
15497
  const oldVal = pullFromCache(key);
15481
15498
  if (!oldVal)
15482
15499
  return false;
15483
- const newVal = typeof mutation === 'function'
15484
- ? mutation(oldVal.data)
15485
- : Object.assign(Object.assign({}, oldVal.data), mutation);
15500
+ const newVal = typeof mutation === 'function' ? mutation(oldVal.data) : Object.assign(Object.assign({}, oldVal.data), mutation);
15486
15501
  pushToCache(key, newVal, options);
15487
15502
  return true;
15488
15503
  };
@@ -15510,9 +15525,7 @@ const upsertInCache = (key, data, options = { cachedAt: Date.now() }) => {
15510
15525
  return false;
15511
15526
  log('cache/api/upsertInCache', { key, data, options });
15512
15527
  const cached = pullFromCache(key);
15513
- return cached
15514
- ? mergeInCache(key, data, options)
15515
- : pushToCache(key, data, options);
15528
+ return cached ? mergeInCache(key, data, options) : pushToCache(key, data, options);
15516
15529
  };
15517
15530
 
15518
15531
  /**
@@ -15536,7 +15549,7 @@ const dropFromCache = (key, exact = false) => {
15536
15549
  return false;
15537
15550
  log('cache/api/dropFromCache', { key, exact });
15538
15551
  if (!exact) {
15539
- return (Object.keys(cache.data))
15552
+ return Object.keys(cache.data)
15540
15553
  .map(stringKey => decodeKey(stringKey))
15541
15554
  .filter(candidate => partialMatch(key, candidate))
15542
15555
  .map(filteredKey => dropFromCache(filteredKey, true))
@@ -15559,9 +15572,11 @@ const idResolvers = {
15559
15572
  channelUsers: ({ channelId, userId }) => `${channelId}#${userId}`,
15560
15573
  message: ({ messageId }) => messageId,
15561
15574
  community: ({ communityId }) => communityId,
15575
+ category: ({ categoryId }) => categoryId,
15562
15576
  communityUsers: ({ communityId, userId }) => `${communityId}#${userId}`,
15563
15577
  post: ({ postId }) => postId,
15564
15578
  comment: ({ commentId }) => commentId,
15579
+ poll: ({ pollId }) => pollId,
15565
15580
  stream: ({ streamId }) => streamId,
15566
15581
  follow: ({ from, to }) => `${from}#${to}`,
15567
15582
  followCount: ({ userId }) => userId,
@@ -15572,7 +15587,7 @@ const idResolvers = {
15572
15587
  * @param name the domain name for the resolve
15573
15588
  * @returns an idResolver function for the given domain name
15574
15589
  */
15575
- const getResolver = (name) => (idResolvers[name]);
15590
+ const getResolver = (name) => idResolvers[name];
15576
15591
 
15577
15592
  /**
15578
15593
  * A map of v3 response keys to a store name.
@@ -15586,13 +15601,15 @@ const PAYLOAD2MODEL = {
15586
15601
  channelUsers: 'channelUsers',
15587
15602
  messages: 'message',
15588
15603
  communities: 'community',
15604
+ categories: 'category',
15589
15605
  communityUsers: 'communityUsers',
15590
15606
  posts: 'post',
15591
15607
  postChildren: 'post',
15592
15608
  comments: 'comment',
15609
+ polls: 'poll',
15593
15610
  videoStreamings: 'stream',
15594
15611
  follows: 'follow',
15595
- followCounts: 'followCount'
15612
+ followCounts: 'followCount',
15596
15613
  };
15597
15614
 
15598
15615
  /**
@@ -15605,8 +15622,7 @@ const PAYLOAD2MODEL = {
15605
15622
  * @hidden
15606
15623
  */
15607
15624
  const ingestInCache = (payload = {}, options) => {
15608
- Object.entries(payload)
15609
- .forEach(([key, models]) => {
15625
+ Object.entries(payload).forEach(([key, models]) => {
15610
15626
  const type = PAYLOAD2MODEL[key];
15611
15627
  if (!type)
15612
15628
  return;
@@ -15686,13 +15702,15 @@ const getUsers = async (userIds) => {
15686
15702
  client.log('user/getUsers', userIds);
15687
15703
  const encodedUserIds = userIds.map(userId => encodeURIComponent(userId));
15688
15704
  // API-FIX: endpoint should not be /list, parameters should be querystring.
15689
- const { data } = await client.http.get(`/api/v3/users/list`, { params: { userIds: encodedUserIds } });
15705
+ const { data } = await client.http.get(`/api/v3/users/list`, {
15706
+ params: { userIds: encodedUserIds },
15707
+ });
15690
15708
  const cachedAt = client.cache && Date.now();
15691
15709
  if (client.cache)
15692
15710
  ingestInCache(data, { cachedAt });
15693
15711
  return {
15694
15712
  data: data.users,
15695
- cachedAt
15713
+ cachedAt,
15696
15714
  };
15697
15715
  };
15698
15716
  /**
@@ -15718,7 +15736,7 @@ getUsers.locally = (userIds) => {
15718
15736
  .map(userId => pullFromCache(['user', 'get', userId]))
15719
15737
  .filter(Boolean);
15720
15738
  const users = cached.map(({ data }) => data);
15721
- const oldest = (_a = cached.sort((a, b) => a.cachedAt < b.cachedAt ? -1 : 1)) === null || _a === void 0 ? void 0 : _a[0];
15739
+ const oldest = (_a = cached.sort((a, b) => (a.cachedAt < b.cachedAt ? -1 : 1))) === null || _a === void 0 ? void 0 : _a[0];
15722
15740
  if ((cached === null || cached === void 0 ? void 0 : cached.length) < userIds.length)
15723
15741
  return;
15724
15742
  return {
@@ -15772,14 +15790,14 @@ function __rest(s, e) {
15772
15790
  const queryUsers = async (query = {}) => {
15773
15791
  const client = getActiveClient();
15774
15792
  client.log('user/queryUsers', query);
15775
- const { page, displayName, filter = 'all', sortBy = 'displayName' } = query, params = __rest(query
15776
- // API-FIX: parameters should be querystring.
15777
- , ["page", "displayName", "filter", "sortBy"]);
15793
+ const { page, displayName, filter = 'all', sortBy = 'displayName' } = query, params = __rest(query, ["page", "displayName", "filter", "sortBy"]);
15778
15794
  // API-FIX: parameters should be querystring.
15779
- const { data } = await client.http.get(`/api/v3/users`, { params: Object.assign(Object.assign({}, params), { keyword: displayName, filter,
15795
+ const { data } = await client.http.get(`/api/v3/users`, {
15796
+ params: Object.assign(Object.assign({}, params), { keyword: displayName, filter,
15780
15797
  sortBy, options: {
15781
15798
  token: toToken(page, 'skiplimit'),
15782
- } }) });
15799
+ } }),
15800
+ });
15783
15801
  // unpacking
15784
15802
  const { paging } = data, payload = __rest(data, ["paging"]);
15785
15803
  const { users } = payload;
@@ -15985,7 +16003,7 @@ const observeUser = (userId, callback) => {
15985
16003
  *
15986
16004
  * Fetches a {@link Amity.File} object
15987
16005
  *
15988
- * @param filelId the ID of the {@link Amity.File} to fetch
16006
+ * @param fileId the ID of the {@link Amity.File} to fetch
15989
16007
  * @returns the associated {@link Amity.File} object
15990
16008
  *
15991
16009
  * @category File API
@@ -16041,6 +16059,7 @@ getFile.locally = (fileId) => {
16041
16059
  * Creates an {@link Amity.File}
16042
16060
  *
16043
16061
  * @param formData The data necessary to create a new {@link Amity.File}
16062
+ * @param onProgress The callback to track the upload progress
16044
16063
  * @returns The newly created {@link Amity.File}
16045
16064
  *
16046
16065
  * @category File API
@@ -16049,15 +16068,16 @@ getFile.locally = (fileId) => {
16049
16068
  const createFile = async (formData, onProgress) => {
16050
16069
  const client = getActiveClient();
16051
16070
  client.log('file/createFile', formData);
16052
- if (!formData.getAll('file').length)
16053
- throw new Error('The formData object must have a `file` key.');
16071
+ if (!formData.getAll('files').length)
16072
+ throw new Error('The formData object must have a `files` key.');
16054
16073
  const headers = 'getHeaders' in formData
16055
16074
  ? formData.getHeaders()
16056
16075
  : { 'content-type': 'multipart/form-data' };
16057
- const { data } = await client.http.post('/api/v3/files', formData, {
16058
- headers, onUploadProgress({ loaded, total }) {
16076
+ const { data } = await client.http.post('/api/v4/files', formData, {
16077
+ headers,
16078
+ onUploadProgress({ loaded, total }) {
16059
16079
  onProgress && onProgress(Math.round((loaded * 100) / total));
16060
- }
16080
+ },
16061
16081
  });
16062
16082
  // API-FIX: payload should be serialized properly
16063
16083
  // const { files } = data
@@ -16065,7 +16085,7 @@ const createFile = async (formData, onProgress) => {
16065
16085
  if (client.cache)
16066
16086
  ingestInCache({ files: data }, { cachedAt });
16067
16087
  return {
16068
- data: data[0],
16088
+ data,
16069
16089
  cachedAt,
16070
16090
  };
16071
16091
  };
@@ -16105,6 +16125,88 @@ const fileUrlWithSize = (fileUrl, size) => {
16105
16125
  return `${fileUrl}?size=${size}`;
16106
16126
  };
16107
16127
 
16128
+ /**
16129
+ * ```js
16130
+ * import { createVideo } from '@amityco/ts-sdk'
16131
+ * const created = await createVideo(formData)
16132
+ * ```
16133
+ *
16134
+ * Creates an {@link Amity.File<'video'>}
16135
+ *
16136
+ * @param formData The data necessary to create a new {@link Amity.File<'video'>}
16137
+ * @param onProgress The callback to track the upload progress
16138
+ * @returns The newly created {@link Amity.File<'video'>}
16139
+ *
16140
+ * @category File API
16141
+ * @async
16142
+ */
16143
+ const createVideo = async (formData, onProgress) => {
16144
+ const client = getActiveClient();
16145
+ client.log('file/createVideo', formData);
16146
+ if (!formData.getAll('files').length)
16147
+ throw new Error('The formData object must have a `files` key.');
16148
+ const headers = 'getHeaders' in formData
16149
+ ? formData.getHeaders()
16150
+ : { 'content-type': 'multipart/form-data' };
16151
+ const { data } = await client.http.post('/api/v4/videos', formData, {
16152
+ headers,
16153
+ onUploadProgress({ loaded, total }) {
16154
+ onProgress && onProgress(Math.round((loaded * 100) / total));
16155
+ },
16156
+ });
16157
+ // API-FIX: payload should be serialized properly
16158
+ // const { files } = data
16159
+ const cachedAt = client.cache && Date.now();
16160
+ if (client.cache)
16161
+ ingestInCache({ files: data }, { cachedAt });
16162
+ return {
16163
+ data,
16164
+ cachedAt,
16165
+ };
16166
+ };
16167
+ // TODO: consider doing local creation with URL.createObjectURL()
16168
+
16169
+ /**
16170
+ * ```js
16171
+ * import { createImage } from '@amityco/ts-sdk'
16172
+ * const created = await createImage(formData)
16173
+ * ```
16174
+ *
16175
+ * Creates an {@link Amity.File<'image'>}
16176
+ *
16177
+ * @param formData The data necessary to create a new {@link Amity.File<'image'>}
16178
+ * @param onProgress The callback to track the upload progress
16179
+ * @returns The newly created {@link Amity.File<'image'>}
16180
+ *
16181
+ * @category File API
16182
+ * @async
16183
+ */
16184
+ const createImage = async (formData, onProgress) => {
16185
+ const client = getActiveClient();
16186
+ client.log('file/createImage', formData);
16187
+ if (!formData.getAll('files').length)
16188
+ throw new Error('The formData object must have a `files` key.');
16189
+ const headers = 'getHeaders' in formData
16190
+ ? formData.getHeaders()
16191
+ : { 'content-type': 'multipart/form-data' };
16192
+ const { data } = await client.http.post('/api/v4/images', formData, {
16193
+ headers,
16194
+ onUploadProgress({ loaded, total }) {
16195
+ onProgress && onProgress(Math.round((loaded * 100) / total));
16196
+ },
16197
+ });
16198
+ // API-FIX: payload should be serialized properly
16199
+ // const { files } = data
16200
+ const cachedAt = client.cache && Date.now();
16201
+ if (client.cache)
16202
+ ingestInCache({ files: data }, { cachedAt });
16203
+ return {
16204
+ data,
16205
+ cachedAt,
16206
+ };
16207
+ };
16208
+ // TODO: consider doing local creation with URL.createObjectURL()
16209
+
16108
16210
  /**
16109
16211
  * ```js
16110
16212
  * import { observeFile } from '@amityco/ts-sdk'
@@ -16336,13 +16438,15 @@ const getMessages = async (messageIds) => {
16336
16438
  const client = getActiveClient();
16337
16439
  client.log('message/getMessages', messageIds);
16338
16440
  // API-FIX: endpoint should not be /list, parameters should be querystring.
16339
- const { data } = await client.http.get(`/api/v3/messages/list`, { params: { messageIds } });
16441
+ const { data } = await client.http.get(`/api/v3/messages/list`, {
16442
+ params: { messageIds },
16443
+ });
16340
16444
  const cachedAt = client.cache && Date.now();
16341
16445
  if (client.cache)
16342
16446
  ingestInCache(data, { cachedAt });
16343
16447
  return {
16344
16448
  data: data.messages,
16345
- cachedAt
16449
+ cachedAt,
16346
16450
  };
16347
16451
  };
16348
16452
  /**
@@ -16368,7 +16472,7 @@ getMessages.locally = (messageIds) => {
16368
16472
  .map(messageId => pullFromCache(['message', 'get', messageId]))
16369
16473
  .filter(Boolean);
16370
16474
  const messages = cached.map(({ data }) => data);
16371
- const oldest = (_a = cached.sort((a, b) => a.cachedAt < b.cachedAt ? -1 : 1)) === null || _a === void 0 ? void 0 : _a[0];
16475
+ const oldest = (_a = cached.sort((a, b) => (a.cachedAt < b.cachedAt ? -1 : 1))) === null || _a === void 0 ? void 0 : _a[0];
16372
16476
  if ((cached === null || cached === void 0 ? void 0 : cached.length) < messageIds.length)
16373
16477
  return;
16374
16478
  return {
@@ -16394,19 +16498,16 @@ getMessages.locally = (messageIds) => {
16394
16498
  const queryMessages = async (query) => {
16395
16499
  const client = getActiveClient();
16396
16500
  client.log('message/queryMessages', query);
16397
- const { page = { limit: 10 } } = query, params = __rest(query
16398
- // API-FIX: parameters should be querystring. (1)
16399
- // API-FIX: backend should answer Amity.Response (2)
16400
- // API-FIX: pagination should not be indexed on channelSegment (3)
16401
- // const { data } = await client.http.get<Amity.Response<Amity.Paged<Amity.MessagePayload>>>(
16402
- , ["page"]);
16501
+ const { page = { limit: 10 } } = query, params = __rest(query, ["page"]);
16403
16502
  // API-FIX: parameters should be querystring. (1)
16404
16503
  // API-FIX: backend should answer Amity.Response (2)
16405
16504
  // API-FIX: pagination should not be indexed on channelSegment (3)
16406
16505
  // const { data } = await client.http.get<Amity.Response<Amity.Paged<Amity.MessagePayload>>>(
16407
- const { data } = await client.http.get(`/api/v3/messages`, { params: Object.assign(Object.assign({}, params), { options: {
16506
+ const { data } = await client.http.get(`/api/v3/messages`, {
16507
+ params: Object.assign(Object.assign({}, params), { options: {
16408
16508
  token: toToken(page, 'afterbefore'),
16409
- } }), });
16509
+ } }),
16510
+ });
16410
16511
  // API-FIX: backend should answer Amity.Response (2)
16411
16512
  // const { paging, messages } = unwrapPayload(data)
16412
16513
  const { paging } = data, payload = __rest(data, ["paging"]);
@@ -16414,7 +16515,11 @@ const queryMessages = async (query) => {
16414
16515
  const cachedAt = client.cache && Date.now();
16415
16516
  if (client.cache) {
16416
16517
  ingestInCache(payload, { cachedAt });
16417
- const cacheKey = ['message', 'query', Object.assign(Object.assign({}, params), { options: Object.assign({}, page) })];
16518
+ const cacheKey = [
16519
+ 'message',
16520
+ 'query',
16521
+ Object.assign(Object.assign({}, params), { options: Object.assign({}, page) }),
16522
+ ];
16418
16523
  pushToCache(cacheKey, { messages: messages.map(getResolver('message')), paging });
16419
16524
  }
16420
16525
  const nextPage = toPage(paging.next);
@@ -16516,7 +16621,7 @@ createMessage.optimistically = (bundle) => {
16516
16621
  fireEvent('v3.message.didCreate', { messages: [message] });
16517
16622
  return {
16518
16623
  data: message,
16519
- cachedAt: -1
16624
+ cachedAt: -1,
16520
16625
  };
16521
16626
  };
16522
16627
 
@@ -16580,7 +16685,7 @@ updateMessage.optimistically = (messageId, patch) => {
16580
16685
  fireEvent('v3.message.didUpdate', { messages: [updated] });
16581
16686
  return {
16582
16687
  data: updated,
16583
- cachedAt
16688
+ cachedAt,
16584
16689
  };
16585
16690
  };
16586
16691
 
@@ -16632,7 +16737,7 @@ deleteMessage.optimistically = (messageId) => {
16632
16737
  fireEvent('v3.message.didDelete', { messages: [deleted] });
16633
16738
  return {
16634
16739
  data: deleted,
16635
- cachedAt
16740
+ cachedAt,
16636
16741
  };
16637
16742
  };
16638
16743
 
@@ -16653,17 +16758,15 @@ deleteMessage.optimistically = (messageId) => {
16653
16758
  const queryPosts = async (query) => {
16654
16759
  const client = getActiveClient();
16655
16760
  client.log('post/queryPosts', query);
16656
- const { page = { limit: 10 } } = query, params = __rest(query
16657
- // API-FIX: parameters should be querystring. (1)
16658
- // API-FIX: backend should answer Amity.Response (2)
16659
- // const { data } = await client.http.get<Amity.Response<Amity.PagedResponse<Amity.PostPayload>>>(
16660
- , ["page"]);
16761
+ const { page = { limit: 10 } } = query, params = __rest(query, ["page"]);
16661
16762
  // API-FIX: parameters should be querystring. (1)
16662
16763
  // API-FIX: backend should answer Amity.Response (2)
16663
16764
  // const { data } = await client.http.get<Amity.Response<Amity.PagedResponse<Amity.PostPayload>>>(
16664
- const { data } = await client.http.get(`/api/v4/posts`, { params: Object.assign(Object.assign({}, params), { options: {
16765
+ const { data } = await client.http.get(`/api/v4/posts`, {
16766
+ params: Object.assign(Object.assign({}, params), { options: {
16665
16767
  token: toToken(page, 'afterbeforeraw'),
16666
- } }), });
16768
+ } }),
16769
+ });
16667
16770
  // API-FIX: backend should answer Amity.Response (2)
16668
16771
  // const { paging, posts } = unwrapPayload(data)
16669
16772
  // unpacking
@@ -16733,13 +16836,15 @@ const getPosts = async (postIds) => {
16733
16836
  client.log('post/getPosts', postIds);
16734
16837
  const encodedPostIds = postIds.map(postId => encodeURIComponent(postId));
16735
16838
  // API-FIX: endpoint should not be /list, parameters should be querystring.
16736
- const { data } = await client.http.get(`/api/v3/posts/list`, { params: { postIds: encodedPostIds } });
16839
+ const { data } = await client.http.get(`/api/v3/posts/list`, {
16840
+ params: { postIds: encodedPostIds },
16841
+ });
16737
16842
  const cachedAt = client.cache && Date.now();
16738
16843
  if (client.cache)
16739
16844
  ingestInCache(data, { cachedAt });
16740
16845
  return {
16741
16846
  data: data.posts,
16742
- cachedAt
16847
+ cachedAt,
16743
16848
  };
16744
16849
  };
16745
16850
  /**
@@ -16765,7 +16870,7 @@ getPosts.locally = (postIds) => {
16765
16870
  .map(postId => pullFromCache(['post', 'get', postId]))
16766
16871
  .filter(Boolean);
16767
16872
  const posts = cached.map(({ data }) => data);
16768
- const oldest = (_a = cached.sort((a, b) => a.cachedAt < b.cachedAt ? -1 : 1)) === null || _a === void 0 ? void 0 : _a[0];
16873
+ const oldest = (_a = cached.sort((a, b) => (a.cachedAt < b.cachedAt ? -1 : 1))) === null || _a === void 0 ? void 0 : _a[0];
16769
16874
  if ((cached === null || cached === void 0 ? void 0 : cached.length) < postIds.length)
16770
16875
  return;
16771
16876
  return {
@@ -16816,7 +16921,7 @@ const getPost = async (postId) => {
16816
16921
  /**
16817
16922
  * ```js
16818
16923
  * import { getPost } from '@amityco/ts-sdk'
16819
- * const { data. post } = getPost.locally('foobar')
16924
+ * const { data: post } = getPost.locally('foobar')
16820
16925
  * ```
16821
16926
  *
16822
16927
  * Fetches a {@link Amity.Post} object from cache
@@ -16862,8 +16967,10 @@ const createPost = async (bundle) => {
16862
16967
  const client = getActiveClient();
16863
16968
  client.log('post/createPost', bundle);
16864
16969
  // API-FIX: backend rejects that we pass the dataType manually T_T
16865
- if (!bundle.dataType || ['text', 'image', 'file', 'video'].includes(bundle.dataType))
16970
+ if (!bundle.dataType || ['text', 'image', 'file', 'video'].includes(bundle.dataType)) {
16971
+ // eslint-disable-next-line no-param-reassign
16866
16972
  delete bundle.dataType;
16973
+ }
16867
16974
  const { data } = await client.http.post('/api/v4/posts', bundle);
16868
16975
  const cachedAt = client.cache && Date.now();
16869
16976
  if (client.cache)
@@ -16931,15 +17038,21 @@ const queryCommunities = async (query) => {
16931
17038
  // API-FIX: parameters should be querystring.
16932
17039
  // API-FIX: backend doesnt answer Amity.Response
16933
17040
  // const { data } = await client.http.get<Amity.Response<Amity.PagedResponse<CommunityPayload>>>(
16934
- const { data } = await client.http.get(`/api/v3/communities`, { params: Object.assign(Object.assign({}, params), { keyword: displayName, filter: membership, options: {
16935
- token: toToken(page, 'skiplimit')
16936
- } }) });
17041
+ const { data } = await client.http.get(`/api/v3/communities`, {
17042
+ params: Object.assign(Object.assign({}, params), { keyword: displayName, filter: membership, options: {
17043
+ token: toToken(page, 'skiplimit'),
17044
+ } }),
17045
+ });
16937
17046
  const { paging } = data, payload = __rest(data, ["paging"]);
16938
17047
  const { communities } = payload;
16939
17048
  const cachedAt = client.cache && Date.now();
16940
17049
  if (client.cache) {
16941
17050
  ingestInCache(payload, { cachedAt });
16942
- const cacheKey = ['community', 'query', Object.assign(Object.assign({}, params), { options: Object.assign({}, page) })];
17051
+ const cacheKey = [
17052
+ 'community',
17053
+ 'query',
17054
+ Object.assign(Object.assign({}, params), { options: Object.assign({}, page) }),
17055
+ ];
16943
17056
  pushToCache(cacheKey, { communities: communities.map(getResolver('community')), paging });
16944
17057
  }
16945
17058
  const nextPage = toPage(paging.next);
@@ -16983,13 +17096,15 @@ const getCommunities = async (communityIds) => {
16983
17096
  const client = getActiveClient();
16984
17097
  client.log('community/getCommunities', communityIds);
16985
17098
  // API-FIX: endpoint should not be /list, parameters should be querystring.
16986
- const { data } = await client.http.get(`/api/v3/communities/list`, { params: { communityIds } });
17099
+ const { data } = await client.http.get(`/api/v3/communities/list`, {
17100
+ params: { communityIds },
17101
+ });
16987
17102
  const cachedAt = client.cache && Date.now();
16988
17103
  if (client.cache)
16989
17104
  ingestInCache(data, { cachedAt });
16990
17105
  return {
16991
17106
  data: data.communities,
16992
- cachedAt
17107
+ cachedAt,
16993
17108
  };
16994
17109
  };
16995
17110
  /**
@@ -17015,7 +17130,7 @@ getCommunities.locally = (communityIds) => {
17015
17130
  .map(communityId => pullFromCache(['community', 'get', communityId]))
17016
17131
  .filter(Boolean);
17017
17132
  const communities = cached.map(({ data }) => data);
17018
- const oldest = (_a = cached.sort((a, b) => a.cachedAt < b.cachedAt ? -1 : 1)) === null || _a === void 0 ? void 0 : _a[0];
17133
+ const oldest = (_a = cached.sort((a, b) => (a.cachedAt < b.cachedAt ? -1 : 1))) === null || _a === void 0 ? void 0 : _a[0];
17019
17134
  if ((cached === null || cached === void 0 ? void 0 : cached.length) < communityIds.length)
17020
17135
  return;
17021
17136
  return {
@@ -17185,8 +17300,7 @@ const joinCommunity = async (communityId) => {
17185
17300
  ingestInCache(data, { cachedAt });
17186
17301
  fireEvent('community.joined', data);
17187
17302
  const { communityUsers } = data;
17188
- return !!communityUsers.find(communityUser => (communityUser.communityId === communityId
17189
- && communityUser.communityMembership === 'member'));
17303
+ return !!communityUsers.find(communityUser => communityUser.communityId === communityId && communityUser.communityMembership === 'member');
17190
17304
  };
17191
17305
 
17192
17306
  /**
@@ -17212,8 +17326,7 @@ const leaveCommunity = async (communityId) => {
17212
17326
  ingestInCache(data, { cachedAt });
17213
17327
  fireEvent('community.left', data);
17214
17328
  const { communityUsers } = data;
17215
- return !!communityUsers.find(communityUser => (communityUser.communityId === communityId
17216
- && communityUser.communityMembership !== 'member'));
17329
+ return !!communityUsers.find(communityUser => communityUser.communityId === communityId && communityUser.communityMembership !== 'member');
17217
17330
  };
17218
17331
 
17219
17332
  /**
@@ -17229,7 +17342,7 @@ const leaveCommunity = async (communityId) => {
17229
17342
  *
17230
17343
  * @category Community API
17231
17344
  * @async
17232
- **/
17345
+ * */
17233
17346
  const queryCommunityMembers = async (query) => {
17234
17347
  const client = getActiveClient();
17235
17348
  client.log('community/queryCommunityMembers', query);
@@ -17291,8 +17404,7 @@ const addCommunityMembers = async (communityId, userIds) => {
17291
17404
  ingestInCache(data);
17292
17405
  fireEvent('community.userAdded', data);
17293
17406
  const { communityUsers } = data;
17294
- return !!communityUsers.find(communityUser => communityUser.communityId === communityId &&
17295
- communityUser.communityMembership === 'member');
17407
+ return !!communityUsers.find(communityUser => communityUser.communityId === communityId && communityUser.communityMembership === 'member');
17296
17408
  };
17297
17409
 
17298
17410
  /**
@@ -17318,60 +17430,61 @@ const removeCommunityMembers = async (communityId, userIds) => {
17318
17430
  ingestInCache(data);
17319
17431
  fireEvent('community.userRemoved', data);
17320
17432
  const { communityUsers } = data;
17321
- return !!communityUsers.find(communityUser => communityUser.communityId === communityId &&
17322
- communityUser.communityMembership !== 'member');
17433
+ return !!communityUsers.find(communityUser => communityUser.communityId === communityId && communityUser.communityMembership !== 'member');
17323
17434
  };
17324
17435
 
17325
17436
  /**
17326
17437
  * ```js
17327
- * import { addCommunityMembersRole } from '@amityco/ts-sdk'
17328
- * const updated = await addCommunityMembersRole(communityId, 'foo', ['bar'])
17438
+ * import { addCommunityMembersRoles } from '@amityco/ts-sdk'
17439
+ * const updated = await addCommunityMembersRoles(communityId, ['foo'], ['bar'])
17329
17440
  * ```
17330
17441
  *
17331
- * Adds an {@link Amity.Role} to a list of {@link Amity.User} on a {@link Amity.Community}
17442
+ * Adds a list of {@link Amity.Role} to a list of {@link Amity.User} on a {@link Amity.Community}
17332
17443
  *
17333
17444
  * @param communityId The ID of the {@link Amity.Community} to perform
17334
- * @param roleId The ID of the {@link Amity.Role} to apply
17445
+ * @param roleIds Array of IDs of the {@link Amity.Role} to apply
17335
17446
  * @param userId Array of IDs of the {@link Amity.User} to perform
17336
17447
  * @returns A success boolean if the {@link Amity.Role} were added to list of {@link Amity.User} in the {@link Amity.Community}
17337
17448
  *
17338
17449
  * @category Community API
17339
17450
  * @async
17340
17451
  */
17341
- const addCommunityMembersRole = async (communityId, roleId, userIds) => {
17452
+ const addCommunityMembersRoles = async (communityId, roleIds, userIds) => {
17342
17453
  const client = getActiveClient();
17343
- client.log('community/addCommunityMembersRole', communityId, roleId, userIds);
17344
- const { data } = await client.http.post(`/api/v3/communities/${communityId}/users/roles`, { communityId, role: roleId, userIds });
17454
+ client.log('community/addCommunityMembersRoles', communityId, roleIds, userIds);
17455
+ const { data } = await client.http.post(`/api/v4/communities/${communityId}/users/roles`, { communityId, roles: roleIds, userIds });
17345
17456
  if (client.cache)
17346
17457
  ingestInCache(data);
17347
17458
  const { communityUsers } = data;
17348
- return !!communityUsers.find(communityUser => communityUser.communityId === communityId && communityUser.roles.includes(roleId));
17459
+ return !!communityUsers.find(communityUser => communityUser.communityId === communityId &&
17460
+ roleIds.some(role => communityUser.roles.includes(role)));
17349
17461
  };
17350
17462
 
17351
17463
  /**
17352
17464
  * ```js
17353
- * import { removeCommunityMembersRole } from '@amityco/ts-sdk'
17354
- * const updated = await removeCommunityMembersRole(communityId, 'foo', ['bar'])
17465
+ * import { removeCommunityMembersRoles } from '@amityco/ts-sdk'
17466
+ * const updated = await removeCommunityMembersRoles(communityId, ['foo'], ['bar'])
17355
17467
  * ```
17356
17468
  *
17357
- * Removes an {@link Amity.Role} from a list of {@link Amity.User} on a {@link Amity.Community}
17469
+ * Removes a list of {@link Amity.Role} from a list of {@link Amity.User} on a {@link Amity.Community}
17358
17470
  *
17359
17471
  * @param communityId The ID of the {@link Amity.Community} to perform
17360
- * @param role The ID of the {@link Amity.Role} to apply
17472
+ * @param roleIds Array of IDs of the {@link Amity.Role} to apply
17361
17473
  * @param userId Array of IDs of the {@link Amity.User} to perform
17362
17474
  * @returns A success boolean if the {@link Amity.Role} were removed from list of {@link Amity.User} in the {@link Amity.Community}
17363
17475
  *
17364
17476
  * @category Community API
17365
17477
  * @async
17366
17478
  */
17367
- const removeCommunityMembersRole = async (communityId, roleId, userIds) => {
17479
+ const removeCommunityMembersRoles = async (communityId, roleIds, userIds) => {
17368
17480
  const client = getActiveClient();
17369
- client.log('community/removeCommunityMembersRole', communityId, roleId, userIds);
17370
- const { data } = await client.http.delete(`/api/v3/communities/${communityId}/users/roles`, { data: { communityId, role: roleId, userIds } });
17481
+ client.log('community/removeCommunityMembersRoles', communityId, roleIds, userIds);
17482
+ const { data } = await client.http.delete(`/api/v4/communities/${communityId}/users/roles`, { data: { communityId, roles: roleIds, userIds } });
17371
17483
  if (client.cache)
17372
17484
  ingestInCache(data);
17373
17485
  const { communityUsers } = data;
17374
- return !!communityUsers.find(communityUser => communityUser.communityId === communityId && !communityUser.roles.includes(roleId));
17486
+ return !!communityUsers.find(communityUser => communityUser.communityId === communityId &&
17487
+ !roleIds.some(role => communityUser.roles.includes(role)));
17375
17488
  };
17376
17489
 
17377
17490
  /**
@@ -17517,7 +17630,7 @@ getRecommendedCommunities.locally = (query) => {
17517
17630
  const deletePost = async (postId, permanent = false) => {
17518
17631
  const client = getActiveClient();
17519
17632
  client.log('post/deletePost', postId);
17520
- let post = await getPost(postId);
17633
+ const post = await getPost(postId);
17521
17634
  // API-FIX: This endpoint has not been implemented yet.
17522
17635
  await client.http.delete(`/api/v4/posts/${encodeURIComponent(postId)}`, {
17523
17636
  params: {
@@ -17564,12 +17677,7 @@ const deletePost = async (postId, permanent = false) => {
17564
17677
  const queryComments = async (query) => {
17565
17678
  const client = getActiveClient();
17566
17679
  client.log('comment/queryComments', query);
17567
- const { page = { limit: 10 } } = query, params = __rest(query
17568
- // const filterByParentId = query.parentId !== undefined
17569
- // API-FIX: parameters should be querystring. (1)
17570
- // API-FIX: backend should answer Amity.Response (2)
17571
- // const { data } = await client.http.get<Amity.Response<Amity.PagedResponse<Amity.CommentPayload>>>(
17572
- , ["page"]);
17680
+ const { page = { limit: 10 } } = query, params = __rest(query, ["page"]);
17573
17681
  // const filterByParentId = query.parentId !== undefined
17574
17682
  // API-FIX: parameters should be querystring. (1)
17575
17683
  // API-FIX: backend should answer Amity.Response (2)
@@ -17588,7 +17696,11 @@ const queryComments = async (query) => {
17588
17696
  const cachedAt = client.cache && Date.now();
17589
17697
  if (client.cache) {
17590
17698
  ingestInCache(payload, { cachedAt });
17591
- const cacheKey = ['comment', 'query', Object.assign(Object.assign({}, params), { options: Object.assign({}, page) })];
17699
+ const cacheKey = [
17700
+ 'comment',
17701
+ 'query',
17702
+ Object.assign(Object.assign({}, params), { options: Object.assign({}, page) }),
17703
+ ];
17592
17704
  pushToCache(cacheKey, { comments: comments.map(getResolver('comment')), paging });
17593
17705
  }
17594
17706
  const nextPage = toPage(paging.next);
@@ -17649,13 +17761,15 @@ const getComments = async (commentIds) => {
17649
17761
  client.log('comment/getComments', commentIds);
17650
17762
  const encodedCommentIds = commentIds.map(commentId => encodeURIComponent(commentId));
17651
17763
  // API-FIX: endpoint should not be /list, parameters should be querystring.
17652
- const { data } = await client.http.get(`/api/v3/comments/list`, { params: { commentIds: encodedCommentIds } });
17764
+ const { data } = await client.http.get(`/api/v3/comments/list`, {
17765
+ params: { commentIds: encodedCommentIds },
17766
+ });
17653
17767
  const cachedAt = client.cache && Date.now();
17654
17768
  if (client.cache)
17655
17769
  ingestInCache(data, { cachedAt });
17656
17770
  return {
17657
17771
  data: data.comments,
17658
- cachedAt
17772
+ cachedAt,
17659
17773
  };
17660
17774
  };
17661
17775
  /**
@@ -17681,7 +17795,7 @@ getComments.locally = (commentIds) => {
17681
17795
  .map(commentId => pullFromCache(['comment', 'get', commentId]))
17682
17796
  .filter(Boolean);
17683
17797
  const comments = cached.map(({ data }) => data);
17684
- const oldest = (_a = cached.sort((a, b) => a.cachedAt < b.cachedAt ? -1 : 1)) === null || _a === void 0 ? void 0 : _a[0];
17798
+ const oldest = (_a = cached.sort((a, b) => (a.cachedAt < b.cachedAt ? -1 : 1))) === null || _a === void 0 ? void 0 : _a[0];
17685
17799
  if ((cached === null || cached === void 0 ? void 0 : cached.length) < commentIds.length)
17686
17800
  return;
17687
17801
  return {
@@ -17864,9 +17978,9 @@ const deleteComment = async (commentId, permanent = false) => {
17864
17978
  const fetchReference = async (referenceType, referenceId) => {
17865
17979
  if (referenceType === 'message')
17866
17980
  return getMessage(referenceId);
17867
- else if (referenceType === 'post')
17981
+ if (referenceType === 'post')
17868
17982
  return getPost(referenceId);
17869
- else if (referenceType === 'comment')
17983
+ if (referenceType === 'comment')
17870
17984
  return getComment(referenceId);
17871
17985
  throw new Error(`Incorrect referenceType: ${referenceType}`);
17872
17986
  };
@@ -17903,7 +18017,9 @@ const preparePayloadForCache = (event, payload) => {
17903
18017
  if (!cached.myReactions.includes(payload.reactor.reactionName)) {
17904
18018
  return;
17905
18019
  }
17906
- Object.assign(model, { myReactions: cached.myReactions.filter(x => x !== payload.reactor.reactionName) });
18020
+ Object.assign(model, {
18021
+ myReactions: cached.myReactions.filter(x => x !== payload.reactor.reactionName),
18022
+ });
17907
18023
  }
17908
18024
  };
17909
18025
 
@@ -17922,7 +18038,7 @@ const preparePayloadForCache = (event, payload) => {
17922
18038
  *
17923
18039
  * @category Reaction API
17924
18040
  * @async
17925
- **/
18041
+ * */
17926
18042
  const addReaction = async (referenceType, referenceId, reactionName) => {
17927
18043
  var _a, _b;
17928
18044
  const client = getActiveClient();
@@ -17931,7 +18047,11 @@ const addReaction = async (referenceType, referenceId, reactionName) => {
17931
18047
  referenceType,
17932
18048
  reactionName,
17933
18049
  });
17934
- await client.http.post('/api/v2/reactions', { referenceId, referenceType, reactionName });
18050
+ await client.http.post('/api/v2/reactions', {
18051
+ referenceId,
18052
+ referenceType,
18053
+ reactionName,
18054
+ });
17935
18055
  const model = await fetchReference(referenceType, referenceId);
17936
18056
  dispatchReactable(referenceType, model.data);
17937
18057
  return (_b = (_a = model.data.myReactions) === null || _a === void 0 ? void 0 : _a.includes(reactionName)) !== null && _b !== void 0 ? _b : false;
@@ -17950,7 +18070,7 @@ const addReaction = async (referenceType, referenceId, reactionName) => {
17950
18070
  * @returns The added result.
17951
18071
  *
17952
18072
  * @category Reaction API
17953
- **/
18073
+ * */
17954
18074
  addReaction.optimistically = (referenceType, referenceId, reactionName) => {
17955
18075
  var _a, _b, _c, _d, _e;
17956
18076
  const client = getActiveClient();
@@ -17961,7 +18081,11 @@ addReaction.optimistically = (referenceType, referenceId, reactionName) => {
17961
18081
  });
17962
18082
  if (!client.cache)
17963
18083
  return;
17964
- const model = pullFromCache([referenceType, 'get', referenceId]);
18084
+ const model = pullFromCache([
18085
+ referenceType,
18086
+ 'get',
18087
+ referenceId,
18088
+ ]);
17965
18089
  if (!(model === null || model === void 0 ? void 0 : model.data) || ((_a = model.data.myReactions) === null || _a === void 0 ? void 0 : _a.includes(reactionName)))
17966
18090
  return;
17967
18091
  const reaction = Object.assign(Object.assign({}, model.data), { reactionsCount: model.data.reactionsCount + 1, myReactions: [...((_b = model.data.myReactions) !== null && _b !== void 0 ? _b : []), reactionName], reactions: Object.assign(Object.assign({}, model.data.reactions), { [reactionName]: ((_c = model.data.reactions[reactionName]) !== null && _c !== void 0 ? _c : 0) + 1 }) });
@@ -17985,7 +18109,7 @@ addReaction.optimistically = (referenceType, referenceId, reactionName) => {
17985
18109
  *
17986
18110
  * @category Reaction API
17987
18111
  * @async
17988
- **/
18112
+ * */
17989
18113
  const removeReaction = async (referenceType, referenceId, reactionName) => {
17990
18114
  var _a, _b;
17991
18115
  const client = getActiveClient();
@@ -17994,7 +18118,9 @@ const removeReaction = async (referenceType, referenceId, reactionName) => {
17994
18118
  referenceType,
17995
18119
  reactionName,
17996
18120
  });
17997
- await client.http.delete(`/api/v2/reactions`, { data: { referenceId, referenceType, reactionName } });
18121
+ await client.http.delete(`/api/v2/reactions`, {
18122
+ data: { referenceId, referenceType, reactionName },
18123
+ });
17998
18124
  const model = await fetchReference(referenceType, referenceId);
17999
18125
  dispatchReactable(referenceType, model.data);
18000
18126
  return (_b = !((_a = model.data.myReactions) === null || _a === void 0 ? void 0 : _a.includes(reactionName))) !== null && _b !== void 0 ? _b : false;
@@ -18013,7 +18139,7 @@ const removeReaction = async (referenceType, referenceId, reactionName) => {
18013
18139
  * @returns The added result.
18014
18140
  *
18015
18141
  * @category Reaction API
18016
- **/
18142
+ * */
18017
18143
  removeReaction.optimistically = (referenceType, referenceId, reactionName) => {
18018
18144
  var _a, _b, _c, _d, _e;
18019
18145
  const client = getActiveClient();
@@ -18024,7 +18150,11 @@ removeReaction.optimistically = (referenceType, referenceId, reactionName) => {
18024
18150
  });
18025
18151
  if (!client.cache)
18026
18152
  return;
18027
- const model = pullFromCache([referenceType, 'get', referenceId]);
18153
+ const model = pullFromCache([
18154
+ referenceType,
18155
+ 'get',
18156
+ referenceId,
18157
+ ]);
18028
18158
  if (!(model === null || model === void 0 ? void 0 : model.data) || !((_a = model.data.myReactions) === null || _a === void 0 ? void 0 : _a.includes(reactionName)))
18029
18159
  return;
18030
18160
  const reaction = Object.assign(Object.assign({}, model.data), { reactionsCount: Math.max(0, model.data.reactionsCount - 1), myReactions: ((_b = model.data.myReactions) !== null && _b !== void 0 ? _b : []).filter(item => item !== reactionName), reactions: Object.assign(Object.assign({}, model.data.reactions), { [reactionName]: Math.max(0, ((_c = model.data.reactions[reactionName]) !== null && _c !== void 0 ? _c : 0) - 1) }) });
@@ -18203,6 +18333,7 @@ const onPostReactionAdded = (callback) => {
18203
18333
  }
18204
18334
  else {
18205
18335
  preparePayloadForCache('post.addReaction', payload);
18336
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
18206
18337
  const postPayload = __rest(payload, ["reactor"]);
18207
18338
  ingestInCache(postPayload);
18208
18339
  const post = pullFromCache(['post', 'get', payload.posts[0].postId]);
@@ -18235,6 +18366,7 @@ const onPostReactionRemoved = (callback) => {
18235
18366
  }
18236
18367
  else {
18237
18368
  preparePayloadForCache('post.removeReaction', payload);
18369
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
18238
18370
  const postPayload = __rest(payload, ["reactor"]);
18239
18371
  ingestInCache(postPayload);
18240
18372
  const post = pullFromCache(['post', 'get', payload.posts[0].postId]);
@@ -18254,7 +18386,11 @@ const createCommentEventSubscriber = (event, callback) => {
18254
18386
  }
18255
18387
  else {
18256
18388
  ingestInCache(payload);
18257
- const comment = pullFromCache(['comment', 'get', payload.comments[0].commentId]);
18389
+ const comment = pullFromCache([
18390
+ 'comment',
18391
+ 'get',
18392
+ payload.comments[0].commentId,
18393
+ ]);
18258
18394
  if (['comment.created'].includes(event)) {
18259
18395
  const queries = (_a = queryCache(['comment', 'query'])) === null || _a === void 0 ? void 0 : _a.filter(({ key }) => { var _a; return ((_a = key[2]) === null || _a === void 0 ? void 0 : _a.referenceId) === comment.data.referenceId; });
18260
18396
  queries === null || queries === void 0 ? void 0 : queries.map(({ key, data }) => upsertInCache(key, data, { cachedAt: -1 }));
@@ -18373,9 +18509,14 @@ const onCommentReactionAdded = (callback) => {
18373
18509
  }
18374
18510
  else {
18375
18511
  preparePayloadForCache('comment.addReaction', payload);
18512
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
18376
18513
  const commentPayload = __rest(payload, ["reactor"]);
18377
18514
  ingestInCache(commentPayload);
18378
- const comment = pullFromCache(['comment', 'get', payload.comments[0].commentId]);
18515
+ const comment = pullFromCache([
18516
+ 'comment',
18517
+ 'get',
18518
+ payload.comments[0].commentId,
18519
+ ]);
18379
18520
  callback(comment.data);
18380
18521
  }
18381
18522
  };
@@ -18405,9 +18546,14 @@ const onCommentReactionRemoved = (callback) => {
18405
18546
  }
18406
18547
  else {
18407
18548
  preparePayloadForCache('comment.removeReaction', payload);
18549
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
18408
18550
  const commentPayload = __rest(payload, ["reactor"]);
18409
18551
  ingestInCache(commentPayload);
18410
- const comment = pullFromCache(['comment', 'get', payload.comments[0].commentId]);
18552
+ const comment = pullFromCache([
18553
+ 'comment',
18554
+ 'get',
18555
+ payload.comments[0].commentId,
18556
+ ]);
18411
18557
  callback(comment.data);
18412
18558
  }
18413
18559
  };
@@ -18430,7 +18576,7 @@ const onCommentReactionRemoved = (callback) => {
18430
18576
  * @returns an {@link Amity.Unsubscriber} function to stop listening
18431
18577
  *
18432
18578
  * @category Message Events
18433
- **/
18579
+ * */
18434
18580
  const onReactionRemoved = (referenceType, referenceId, callback) => {
18435
18581
  const callbackWrapper = (model) => {
18436
18582
  if (getResolver(referenceType)(model) === referenceId) {
@@ -18441,7 +18587,11 @@ const onReactionRemoved = (referenceType, referenceId, callback) => {
18441
18587
  const client = getActiveClient();
18442
18588
  const filter = (payload) => {
18443
18589
  var _a;
18444
- const cached = pullFromCache(['message', 'get', payload.messages[0].messageId]);
18590
+ const cached = pullFromCache([
18591
+ 'message',
18592
+ 'get',
18593
+ payload.messages[0].messageId,
18594
+ ]);
18445
18595
  const isReactionEvent = ((_a = cached === null || cached === void 0 ? void 0 : cached.data) === null || _a === void 0 ? void 0 : _a.reactionsCount) !== payload.messages[0].reactionsCount;
18446
18596
  ingestInCache(payload);
18447
18597
  if (isReactionEvent) {
@@ -18491,12 +18641,12 @@ var REFERENCE_TYPES = {
18491
18641
  *
18492
18642
  * @category Report API
18493
18643
  * @async
18494
- **/
18644
+ * */
18495
18645
  const createReport = async (referenceType, referenceId) => {
18496
18646
  const client = getActiveClient();
18497
18647
  client.log('report/createReport', { referenceType, referenceId });
18498
18648
  const { domainName } = REFERENCE_TYPES[referenceType];
18499
- const { data } = await client.http.post(`/api/v3/${domainName}/${(encodeURIComponent(referenceId))}/flag`);
18649
+ const { data } = await client.http.post(`/api/v3/${domainName}/${encodeURIComponent(referenceId)}/flag`);
18500
18650
  if (client.cache)
18501
18651
  ingestInCache(data);
18502
18652
  const event = referenceType === 'message'
@@ -18518,7 +18668,7 @@ const createReport = async (referenceType, referenceId) => {
18518
18668
  *
18519
18669
  * @category Report API
18520
18670
  * @async
18521
- **/
18671
+ * */
18522
18672
  const deleteReport = async (referenceType, referenceId) => {
18523
18673
  const client = getActiveClient();
18524
18674
  client.log('report/deleteReport', { referenceType, referenceId });
@@ -18545,7 +18695,7 @@ const deleteReport = async (referenceType, referenceId) => {
18545
18695
  *
18546
18696
  * @category Report API
18547
18697
  * @async
18548
- **/
18698
+ * */
18549
18699
  const isReportedByMe = async (referenceType, referenceId) => {
18550
18700
  var _a, _b;
18551
18701
  const client = getActiveClient();
@@ -18580,15 +18730,21 @@ const queryChannels = async (query) => {
18580
18730
  // API-FIX: parameters should be querystring.
18581
18731
  // API-FIX: backend doesnt answer Amity.Response
18582
18732
  // const { data } = await client.http.get<Amity.Response<Amity.Paged<ChannelPayload>>>(
18583
- const { data } = await client.http.get(`/api/v3/channels`, { params: Object.assign(Object.assign({}, params), { keyword: displayName, filter: membership, options: {
18733
+ const { data } = await client.http.get(`/api/v3/channels`, {
18734
+ params: Object.assign(Object.assign({}, params), { keyword: displayName, filter: membership, options: {
18584
18735
  token: toToken(page, 'skiplimit'),
18585
- } }) });
18736
+ } }),
18737
+ });
18586
18738
  const { paging } = data, payload = __rest(data, ["paging"]);
18587
18739
  const { channels } = payload;
18588
18740
  const cachedAt = client.cache && Date.now();
18589
18741
  if (client.cache) {
18590
18742
  ingestInCache(payload, { cachedAt });
18591
- const cacheKey = ['channel', 'query', Object.assign(Object.assign({}, params), { options: Object.assign({}, page) })];
18743
+ const cacheKey = [
18744
+ 'channel',
18745
+ 'query',
18746
+ Object.assign(Object.assign({}, params), { options: Object.assign({}, page) }),
18747
+ ];
18592
18748
  pushToCache(cacheKey, { channels: channels.map(getResolver('channel')), paging });
18593
18749
  }
18594
18750
  const nextPage = toPage(paging.next);
@@ -18633,13 +18789,15 @@ const getChannels = async (channelIds) => {
18633
18789
  client.log('channel/getChannels', channelIds);
18634
18790
  const encodedChannelIds = channelIds.map(channelId => encodeURIComponent(channelId));
18635
18791
  // API-FIX: endpoint should not be /list, parameters should be querystring.
18636
- const { data } = await client.http.get(`/api/v3/channels/list`, { params: { channelIds: encodedChannelIds } });
18792
+ const { data } = await client.http.get(`/api/v3/channels/list`, {
18793
+ params: { channelIds: encodedChannelIds },
18794
+ });
18637
18795
  const cachedAt = client.cache && Date.now();
18638
18796
  if (client.cache)
18639
18797
  ingestInCache(data, { cachedAt });
18640
18798
  return {
18641
18799
  data: data.channels,
18642
- cachedAt
18800
+ cachedAt,
18643
18801
  };
18644
18802
  };
18645
18803
  /**
@@ -18665,7 +18823,7 @@ getChannels.locally = (channelIds) => {
18665
18823
  .map(channelId => pullFromCache(['channel', 'get', channelId]))
18666
18824
  .filter(Boolean);
18667
18825
  const channels = cached.map(({ data }) => data);
18668
- const oldest = (_a = cached.sort((a, b) => a.cachedAt < b.cachedAt ? -1 : 1)) === null || _a === void 0 ? void 0 : _a[0];
18826
+ const oldest = (_a = cached.sort((a, b) => (a.cachedAt < b.cachedAt ? -1 : 1))) === null || _a === void 0 ? void 0 : _a[0];
18669
18827
  if ((cached === null || cached === void 0 ? void 0 : cached.length) < channelIds.length)
18670
18828
  return;
18671
18829
  return {
@@ -18809,7 +18967,6 @@ const updateChannel = async (channelId, patch) => {
18809
18967
  const deleteChannel = async (channelId) => {
18810
18968
  const client = getActiveClient();
18811
18969
  client.log('channel/deleteChannel', channelId);
18812
- // API-FIX: This endpoint has not been implemented yet.
18813
18970
  await client.http.delete(`/api/v3/channels/${encodeURIComponent(channelId)}`);
18814
18971
  const deleted = await getChannel(channelId);
18815
18972
  // no need for event, fired by server
@@ -18837,8 +18994,7 @@ const joinChannel = async (channelId) => {
18837
18994
  if (client.cache)
18838
18995
  ingestInCache(data);
18839
18996
  const { channelUsers } = data;
18840
- return !!channelUsers.find(channelUser => (channelUser.channelId === channelId
18841
- && channelUser.membership === 'member'));
18997
+ return !!channelUsers.find(channelUser => channelUser.channelId === channelId && channelUser.membership === 'member');
18842
18998
  };
18843
18999
 
18844
19000
  /**
@@ -18862,8 +19018,7 @@ const leaveChannel = async (channelId) => {
18862
19018
  if (client.cache)
18863
19019
  ingestInCache(data);
18864
19020
  const { channelUsers } = data;
18865
- return !!channelUsers.find(channelUser => (channelUser.channelId === channelId
18866
- && channelUser.membership !== 'member'));
19021
+ return !!channelUsers.find(channelUser => channelUser.channelId === channelId && channelUser.membership !== 'member');
18867
19022
  };
18868
19023
 
18869
19024
  /**
@@ -18879,7 +19034,7 @@ const leaveChannel = async (channelId) => {
18879
19034
  *
18880
19035
  * @category Channel API
18881
19036
  * @async
18882
- **/
19037
+ * */
18883
19038
  const queryChannelMembers = async (query) => {
18884
19039
  const client = getActiveClient();
18885
19040
  client.log('channel/queryChannelMembers', query);
@@ -19375,7 +19530,11 @@ const createCommunityEventSubscriber = (event, callback) => {
19375
19530
  }
19376
19531
  else {
19377
19532
  ingestInCache(payload);
19378
- const community = pullFromCache(['community', 'get', payload.communities[0].communityId]);
19533
+ const community = pullFromCache([
19534
+ 'community',
19535
+ 'get',
19536
+ payload.communities[0].communityId,
19537
+ ]);
19379
19538
  callback(community.data);
19380
19539
  }
19381
19540
  };
@@ -19385,8 +19544,8 @@ function hasPermission(member, payload, permission) {
19385
19544
  if (member.permissions.some(x => x === permission)) {
19386
19545
  return true;
19387
19546
  }
19388
- return payload.users
19389
- .find(user => user.userId === member.userId)
19547
+ return payload
19548
+ .users.find(user => user.userId === member.userId)
19390
19549
  .permissions.some(x => x === permission);
19391
19550
  }
19392
19551
  function getEventRelatedMember(event, payload) {
@@ -19416,11 +19575,15 @@ const createCommunityMemberEventSubscriber = (event, callback) => {
19416
19575
  }
19417
19576
  else {
19418
19577
  ingestInCache(payload);
19419
- const community = pullFromCache(['community', 'get', payload.communities[0].communityId]);
19578
+ const community = pullFromCache([
19579
+ 'community',
19580
+ 'get',
19581
+ payload.communities[0].communityId,
19582
+ ]);
19420
19583
  const member = pullFromCache([
19421
19584
  'communityUsers',
19422
19585
  'get',
19423
- getResolver('communityUsers')(getEventRelatedMember(event, payload))
19586
+ getResolver('communityUsers')(getEventRelatedMember(event, payload)),
19424
19587
  ]);
19425
19588
  callback(community.data, member.data);
19426
19589
  }
@@ -19625,6 +19788,134 @@ const observeCommunity = (communityId, callback) => {
19625
19788
  };
19626
19789
  };
19627
19790
 
19791
+ /**
19792
+ * ```js
19793
+ * import { queryCategories } from '@amityco/ts-sdk'
19794
+ * const { data: categories, prevPage, nextPage } = await queryCategories()
19795
+ * ```
19796
+ *
19797
+ * Queries a paginable list of {@link Amity.Category} objects
19798
+ *
19799
+ * @param query The query parameters
19800
+ * @returns A page of {@link Amity.Category} objects
19801
+ *
19802
+ * @category Category API
19803
+ * @async
19804
+ * */
19805
+ const queryCategories = async (query) => {
19806
+ const client = getActiveClient();
19807
+ client.log('category/queryCategories', query);
19808
+ const _a = query !== null && query !== void 0 ? query : {}, { page = { limit: 10 } } = _a, params = __rest(_a, ["page"]);
19809
+ const { data } = await client.http.get(`/api/v3/community-categories`, {
19810
+ params: Object.assign(Object.assign({}, params), { options: {
19811
+ token: toToken(page, 'skiplimit'),
19812
+ } }),
19813
+ });
19814
+ const { paging } = data, payload = __rest(data, ["paging"]);
19815
+ const { categories } = payload;
19816
+ const cachedAt = client.cache && Date.now();
19817
+ if (client.cache) {
19818
+ ingestInCache(payload, { cachedAt });
19819
+ const cacheKey = [
19820
+ 'category',
19821
+ 'query',
19822
+ Object.assign(Object.assign({}, params), { options: Object.assign({}, page) }),
19823
+ ];
19824
+ pushToCache(cacheKey, { categories: categories.map(getResolver('category')), paging });
19825
+ }
19826
+ const nextPage = toPage(paging.next);
19827
+ const prevPage = toPage(paging.previous);
19828
+ return { data: categories, cachedAt, prevPage, nextPage };
19829
+ };
19830
+ /**
19831
+ * ```js
19832
+ * import { queryCategories } from '@amityco/ts-sdk'
19833
+ * const { data: categories, prevPage, nextPage } = queryCategories.locally()
19834
+ * ```
19835
+ *
19836
+ * Queries a paginable list of {@link Amity.Category} objects from cache
19837
+ *
19838
+ * @param query The query parameters
19839
+ * @returns categories
19840
+ *
19841
+ * @category category API
19842
+ */
19843
+ queryCategories.locally = (query) => {
19844
+ var _a, _b;
19845
+ const client = getActiveClient();
19846
+ client.log('category/queryCategories.locally', query);
19847
+ if (!client.cache)
19848
+ return;
19849
+ const _c = query !== null && query !== void 0 ? query : {}, { page = { limit: 10 } } = _c, params = __rest(_c, ["page"]);
19850
+ const queryKey = ['category', 'query', Object.assign(Object.assign({}, params), { options: Object.assign({}, page) })];
19851
+ const { data, cachedAt } = (_a = pullFromCache(queryKey)) !== null && _a !== void 0 ? _a : {};
19852
+ if (!(data === null || data === void 0 ? void 0 : data.categories.length))
19853
+ return;
19854
+ const categories = data.categories
19855
+ .map(categoryId => pullFromCache(['category', 'get', categoryId]))
19856
+ .filter(Boolean)
19857
+ .map(({ data }) => data);
19858
+ const prevPage = toPage(data === null || data === void 0 ? void 0 : data.paging.previous);
19859
+ const nextPage = toPage(data === null || data === void 0 ? void 0 : data.paging.next);
19860
+ return categories.length === ((_b = data === null || data === void 0 ? void 0 : data.categories) === null || _b === void 0 ? void 0 : _b.length)
19861
+ ? { data: categories, cachedAt, prevPage, nextPage }
19862
+ : undefined;
19863
+ };
19864
+
19865
+ /**
19866
+ * ```js
19867
+ * import { getCategory } from '@amityco/ts-sdk'
19868
+ * const { data: category } = await getCategory('foo')
19869
+ * ```
19870
+ *
19871
+ * Fetches a {@link Amity.Category} object
19872
+ *
19873
+ * @param categoryId the ID of the {@link Amity.Category} to fetch
19874
+ * @returns the associated {@link Amity.Category} object
19875
+ *
19876
+ * @category Category API
19877
+ * @async
19878
+ */
19879
+ const getCategory = async (categoryId) => {
19880
+ const client = getActiveClient();
19881
+ client.log('category/getCategory', categoryId);
19882
+ const { data } = await client.http.get(`/api/v3/community-categories/${encodeURIComponent(categoryId)}`);
19883
+ const cachedAt = client.cache && Date.now();
19884
+ if (client.cache)
19885
+ ingestInCache(data, { cachedAt });
19886
+ const { categories } = data;
19887
+ return {
19888
+ data: categories.find(category => category.categoryId === categoryId),
19889
+ cachedAt,
19890
+ };
19891
+ };
19892
+ /**
19893
+ * ```js
19894
+ * import { getCategory } from '@amityco/ts-sdk'
19895
+ * const { data: category } = getCategory.locally('foobar')
19896
+ * ```
19897
+ *
19898
+ * Fetches a {@link Amity.Category} object from cache
19899
+ *
19900
+ * @param categoryId the ID of the {@link Amity.Category} to fetch
19901
+ * @returns the associated {@link Amity.Category} object
19902
+ *
19903
+ * @category Category API
19904
+ */
19905
+ getCategory.locally = (categoryId) => {
19906
+ const client = getActiveClient();
19907
+ client.log('category/getCategory.locally', categoryId);
19908
+ if (!client.cache)
19909
+ return;
19910
+ const cached = pullFromCache(['category', 'get', categoryId]);
19911
+ if (!cached)
19912
+ return;
19913
+ return {
19914
+ data: cached.data,
19915
+ cachedAt: cached.cachedAt,
19916
+ };
19917
+ };
19918
+
19628
19919
  /**
19629
19920
  * ```js
19630
19921
  * import { queryGlobalFeed } from '@amityco/ts-sdk'
@@ -19638,20 +19929,26 @@ const observeCommunity = (communityId, callback) => {
19638
19929
  *
19639
19930
  * @category Feed API
19640
19931
  * @async
19641
- **/
19932
+ * */
19642
19933
  const queryGlobalFeed = async (query) => {
19643
19934
  const client = getActiveClient();
19644
19935
  client.log('feed/queryGlobalFeed', query);
19645
19936
  const _a = query !== null && query !== void 0 ? query : {}, { useCustomRanking, page } = _a, params = __rest(_a, ["useCustomRanking", "page"]);
19646
- const { data } = await client.http.get(useCustomRanking ? `/api/v5/me/global-feeds` : `/api/v4/me/global-feeds`, { params: Object.assign(Object.assign({}, params), { options: {
19647
- token: toToken(page, 'skiplimit')
19648
- } }) });
19937
+ const { data } = await client.http.get(useCustomRanking ? `/api/v5/me/global-feeds` : `/api/v4/me/global-feeds`, {
19938
+ params: Object.assign(Object.assign({}, params), { options: {
19939
+ token: toToken(page, 'skiplimit'),
19940
+ } }),
19941
+ });
19649
19942
  const { paging } = data, payload = __rest(data, ["paging"]);
19650
19943
  const { posts } = payload;
19651
19944
  const cachedAt = client.cache && Date.now();
19652
19945
  if (client.cache) {
19653
19946
  ingestInCache(payload);
19654
- const cacheKey = ['globalFeed', 'query', Object.assign(Object.assign({}, params), { useCustomRanking, options: Object.assign({}, page) })];
19947
+ const cacheKey = [
19948
+ 'globalFeed',
19949
+ 'query',
19950
+ Object.assign(Object.assign({}, params), { useCustomRanking, options: Object.assign({}, page) }),
19951
+ ];
19655
19952
  pushToCache(cacheKey, { posts: posts.map(getResolver('post')), paging });
19656
19953
  }
19657
19954
  const nextPage = toPage(paging.next);
@@ -19671,7 +19968,7 @@ const queryGlobalFeed = async (query) => {
19671
19968
  *
19672
19969
  * @category Feed API
19673
19970
  * @async
19674
- **/
19971
+ * */
19675
19972
  queryGlobalFeed.locally = (query) => {
19676
19973
  var _a, _b;
19677
19974
  const client = getActiveClient();
@@ -19679,7 +19976,11 @@ queryGlobalFeed.locally = (query) => {
19679
19976
  if (!client.cache)
19680
19977
  return;
19681
19978
  const _c = query !== null && query !== void 0 ? query : {}, { useCustomRanking, page } = _c, params = __rest(_c, ["useCustomRanking", "page"]);
19682
- const queryKey = ['globalFeed', 'query', Object.assign(Object.assign({}, params), { useCustomRanking, options: Object.assign({}, page) })];
19979
+ const queryKey = [
19980
+ 'globalFeed',
19981
+ 'query',
19982
+ Object.assign(Object.assign({}, params), { useCustomRanking, options: Object.assign({}, page) }),
19983
+ ];
19683
19984
  const { data, cachedAt } = (_a = pullFromCache(queryKey)) !== null && _a !== void 0 ? _a : {};
19684
19985
  if (!(data === null || data === void 0 ? void 0 : data.posts.length))
19685
19986
  return;
@@ -19706,7 +20007,11 @@ const queryFollows = async (key, query) => {
19706
20007
  const cachedAt = client.cache && Date.now();
19707
20008
  if (client.cache) {
19708
20009
  ingestInCache(payload, { cachedAt });
19709
- const cacheKey = [key, 'query', Object.assign(Object.assign({}, params), { userId, options: Object.assign({}, page) })];
20010
+ const cacheKey = [
20011
+ key,
20012
+ 'query',
20013
+ Object.assign(Object.assign({}, params), { userId, options: Object.assign({}, page) }),
20014
+ ];
19710
20015
  pushToCache(cacheKey, { follows: follows.map(getResolver('follow')), paging });
19711
20016
  }
19712
20017
  const nextPage = toPage(paging.next);
@@ -19796,7 +20101,11 @@ const queryFollowings = async (query) => queryFollows('following', query);
19796
20101
  */
19797
20102
  queryFollowings.locally = (query) => queryFollows.locally('following', query);
19798
20103
 
19799
- const getCacheKey = (userId) => ['followInfo', 'get', `${getActiveClient().userId}#${userId}`];
20104
+ const getCacheKey = (userId) => [
20105
+ 'followInfo',
20106
+ 'get',
20107
+ `${getActiveClient().userId}#${userId}`,
20108
+ ];
19800
20109
  /**
19801
20110
  * ```js
19802
20111
  * import { getFollowInfo } from '@amityco/ts-sdk'
@@ -19969,8 +20278,8 @@ const createFollowEventSubscriber = (event, callback) => {
19969
20278
  else {
19970
20279
  ingestInCache({ follows: [payload] });
19971
20280
  const queries = [
19972
- ...(_a = queryCache(['followers', 'query'])) !== null && _a !== void 0 ? _a : [],
19973
- ...(_b = queryCache(['followings', 'query'])) !== null && _b !== void 0 ? _b : [],
20281
+ ...((_a = queryCache(['followers', 'query'])) !== null && _a !== void 0 ? _a : []),
20282
+ ...((_b = queryCache(['followings', 'query'])) !== null && _b !== void 0 ? _b : []),
19974
20283
  ];
19975
20284
  queries
19976
20285
  // @ts-ignore
@@ -20118,7 +20427,10 @@ const onFollowRequestDeclined = (callback) => createFollowEventSubscriber('follo
20118
20427
  */
20119
20428
  const onFollowInfoUpdated = (callback) => {
20120
20429
  const handler = async (payload) => {
20121
- const [{ data: followInfoFrom }, { data: followInfoTo },] = await Promise.all([getFollowInfo(payload.from), getFollowInfo(payload.to)]);
20430
+ const [{ data: followInfoFrom }, { data: followInfoTo }] = await Promise.all([
20431
+ getFollowInfo(payload.from),
20432
+ getFollowInfo(payload.to),
20433
+ ]);
20122
20434
  callback(followInfoFrom);
20123
20435
  callback(followInfoTo);
20124
20436
  };
@@ -20284,8 +20596,7 @@ const observePosts = (params, callback) => {
20284
20596
  const disposers = [];
20285
20597
  const router = (post, action) => {
20286
20598
  var _a, _b;
20287
- if (params.targetId !== post.targetId
20288
- || params.targetType !== post.targetType)
20599
+ if (params.targetId !== post.targetId || params.targetType !== post.targetType)
20289
20600
  return;
20290
20601
  if (callback instanceof Function)
20291
20602
  return callback(post);
@@ -20424,6 +20735,178 @@ const observeComment = (commentId, callback, policy = 'cache_then_server') => {
20424
20735
  };
20425
20736
  };
20426
20737
 
20738
+ /**
20739
+ * ```js
20740
+ * import { getPoll } from '@amityco/ts-sdk'
20741
+ * const poll = await getPoll('foobar')
20742
+ * ```
20743
+ *
20744
+ * Fetches a {@link Amity.Poll} object
20745
+ *
20746
+ * @param pollId the ID of the {@link Amity.Poll} to fetch
20747
+ * @returns the associated {@link Amity.Poll} object
20748
+ *
20749
+ * @category Poll API
20750
+ * @async
20751
+ */
20752
+ const getPoll = async (pollId) => {
20753
+ const client = getActiveClient();
20754
+ client.log('poll/getPoll', pollId);
20755
+ const { data } = await client.http.get(`/api/v3/polls/${pollId}`);
20756
+ const cachedAt = client.cache && Date.now();
20757
+ if (client.cache)
20758
+ ingestInCache(data, { cachedAt });
20759
+ const { polls } = data;
20760
+ return {
20761
+ data: polls.find(poll => poll.pollId === pollId),
20762
+ cachedAt,
20763
+ };
20764
+ };
20765
+ /**
20766
+ * ```js
20767
+ * import { getPoll } from '@amityco/ts-sdk'
20768
+ * const poll = getPoll.locally('foobar')
20769
+ * ```
20770
+ *
20771
+ * Fetches a {@link Amity.Poll} object
20772
+ *
20773
+ * @param pollId the ID of the {@link Amity.Poll} to fetch
20774
+ * @returns the associated {@link Amity.Poll} object
20775
+ *
20776
+ * @category Poll API
20777
+ */
20778
+ getPoll.locally = (pollId) => {
20779
+ const client = getActiveClient();
20780
+ client.log('poll/getPoll', pollId);
20781
+ if (!client.cache)
20782
+ return;
20783
+ const cached = pullFromCache(['poll', 'get', pollId]);
20784
+ if (!cached)
20785
+ return;
20786
+ return {
20787
+ data: cached.data,
20788
+ cachedAt: cached.cachedAt,
20789
+ };
20790
+ };
20791
+
20792
+ /**
20793
+ * ```js
20794
+ * import { createPoll } from '@amityco/ts-sdk'
20795
+ * const created = await createPoll({
20796
+ * question: 'question',
20797
+ * answers: [
20798
+ * { dataType: 'text', data: 'answer1' },
20799
+ * { dataType: 'text', data: 'answer2' },
20800
+ * ],
20801
+ * closedIn: 1649136484
20802
+ * }))
20803
+ * ```
20804
+ *
20805
+ * Creates an {@link Amity.Poll}
20806
+ *
20807
+ * @param bundle The data necessary to create a new {@link Amity.Poll}
20808
+ * @returns The newly created {@link Amity.Poll}
20809
+ *
20810
+ * @category Poll API
20811
+ * @async
20812
+ */
20813
+ const createPoll = async (bundle) => {
20814
+ const client = getActiveClient();
20815
+ client.log('post/createPoll', bundle);
20816
+ const { data } = await client.http.post('/api/v3/polls', bundle);
20817
+ const cachedAt = client.cache && Date.now();
20818
+ if (client.cache)
20819
+ ingestInCache(data, { cachedAt });
20820
+ const { polls } = data;
20821
+ return {
20822
+ data: polls[0],
20823
+ cachedAt,
20824
+ };
20825
+ };
20826
+
20827
+ /**
20828
+ * ```js
20829
+ * import { closePoll } from '@amityco/ts-sdk'
20830
+ * const updated = await closePoll(pollId)
20831
+ * ```
20832
+ *
20833
+ * Updates an {@link Amity.Poll}
20834
+ *
20835
+ * @param pollId The ID of the {@link Amity.Poll} to close
20836
+ * @returns the updated {@link Amity.Poll} object
20837
+ *
20838
+ * @category Poll API
20839
+ * @async
20840
+ */
20841
+ const closePoll = async (pollId) => {
20842
+ const client = getActiveClient();
20843
+ client.log('user/closePoll', pollId);
20844
+ const { data } = await client.http.put(`/api/v3/polls/${encodeURIComponent(pollId)}`, { status: 'closed' });
20845
+ const cachedAt = client.cache && Date.now();
20846
+ if (client.cache)
20847
+ ingestInCache(data, { cachedAt });
20848
+ const { polls } = data;
20849
+ return {
20850
+ data: polls.find(poll => poll.pollId === pollId),
20851
+ cachedAt,
20852
+ };
20853
+ };
20854
+
20855
+ /**
20856
+ * ```js
20857
+ * import { deletePoll } from '@amityco/ts-sdk'
20858
+ * const success = await deletePoll(pollId)
20859
+ * ```
20860
+ *
20861
+ * Deletes a {@link Amity.Poll}
20862
+ *
20863
+ * @param pollId The {@link Amity.Poll} ID to delete
20864
+ * @return A success boolean if the {@link Amity.Poll} was deleted
20865
+ *
20866
+ * @category Poll API
20867
+ * @async
20868
+ */
20869
+ const deletePoll = async (pollId) => {
20870
+ const client = getActiveClient();
20871
+ client.log('poll/deletePoll', pollId);
20872
+ const poll = await getPoll(pollId);
20873
+ // API-FIX: it returns { success: boolean } but seems it should be Amity.Response<{ success: boolean }
20874
+ const { data } = await client.http.delete(`/api/v3/polls/${pollId}`);
20875
+ const { success } = data; // unwrapPayload(data)
20876
+ const deleted = Object.assign(Object.assign({}, poll.data), { isDeleted: true });
20877
+ upsertInCache(['poll', 'get', pollId], deleted);
20878
+ return success;
20879
+ };
20880
+
20881
+ /**
20882
+ * ```js
20883
+ * import { votePoll } from '@amityco/ts-sdk'
20884
+ * const voted = await votePoll(pollId)
20885
+ * ```
20886
+ *
20887
+ * Votes for an {@link Amity.Poll}
20888
+ *
20889
+ * @param pollId The ID of the {@link Amity.Poll} to vote
20890
+ * @param answerIds The IDs of the {@link Amity.Poll} answers to vote {@link Amity.Poll}
20891
+ * @returns the updated {@link Amity.Poll} object
20892
+ *
20893
+ * @category Poll API
20894
+ * @async
20895
+ */
20896
+ const votePoll = async (pollId, answerIds) => {
20897
+ const client = getActiveClient();
20898
+ client.log('user/votePoll', pollId);
20899
+ const { data } = await client.http.post(`/api/v3/polls/${encodeURIComponent(pollId)}/votes`, { pollId, answerIds });
20900
+ const cachedAt = client.cache && Date.now();
20901
+ if (client.cache)
20902
+ ingestInCache(data, { cachedAt });
20903
+ const { polls } = data;
20904
+ return {
20905
+ data: polls.find(poll => poll.pollId === pollId),
20906
+ cachedAt,
20907
+ };
20908
+ };
20909
+
20427
20910
  /**
20428
20911
  * ```js
20429
20912
  * import { getStream } from '@amityco/ts-sdk'
@@ -20496,9 +20979,11 @@ const queryStreams = async (query) => {
20496
20979
  const client = getActiveClient();
20497
20980
  client.log('stream/queryStreams', query);
20498
20981
  const _a = query !== null && query !== void 0 ? query : {}, { page } = _a, params = __rest(_a, ["page"]);
20499
- const { data } = await client.http.get(`/api/v3/video-streaming`, { params: Object.assign(Object.assign({}, params), { options: {
20982
+ const { data } = await client.http.get(`/api/v3/video-streaming`, {
20983
+ params: Object.assign(Object.assign({}, params), { options: {
20500
20984
  token: toToken(page, 'skiplimit'),
20501
- } }) });
20985
+ } }),
20986
+ });
20502
20987
  // API-FIX: backend to response Amity.Response: const { paging, videoStreamings } = unwrapPayload(data)
20503
20988
  // API-FIX: seems returned data has a results identifier on top of data, like no other apis, and this is beautiful
20504
20989
  const { paging, results: payload } = data;
@@ -20604,7 +21089,7 @@ const updateStream = async (streamId, patch) => {
20604
21089
  const deleteStream = async (streamId) => {
20605
21090
  const client = getActiveClient();
20606
21091
  client.log('stream/deleteStream', streamId);
20607
- let stream = await getStream(streamId);
21092
+ const stream = await getStream(streamId);
20608
21093
  // API-FIX: it returns { success: boolean } but seems it should be Amity.Response<{ success: boolean }
20609
21094
  // API-FIX: swagger docs are wrong!
20610
21095
  const { data } = await client.http.delete(`/api/v3/video-streaming/${streamId}`);
@@ -20715,4 +21200,26 @@ const onStreamRecorded = (callback) => {
20715
21200
  return createEventSubscriber(client, 'stream/onStreamRecorded', 'video-streaming.didRecord', filter);
20716
21201
  };
20717
21202
 
20718
- export { API_REGIONS, SubscriptionLevels, VERSION$1 as VERSION, acceptFollower, addChannelMembers, addChannelMembersRole, addCommunityMembers, addCommunityMembersRole, addReaction, backupCache, connectClient, createChannel, createClient, createComment, createCommunity, createFile, createMessage, createPost, createQuery, createReport, createStream, declineFollower, deleteChannel, deleteComment, deleteCommunity, deleteFile, deleteMessage, deletePost, deleteReport, deleteStream, disableCache, disconnectClient, disposeStream, dropFromCache, enableCache, fileUrlWithSize, filterByPropEquality, follow, getActiveClient, getChannel, getChannels, getComment, getCommentTopic, getComments, getCommunities, getCommunity, getCommunityTopic, getFile, getFollowInfo, getMessage, getMessages, getMyFollowersTopic, getMyFollowingsTopic, getPost, getPostTopic, getPosts, getRecommendedCommunities, getRole, getStream, getTopTrendingCommunities, getUser, getUserTopic, getUsers, isAfterBefore, isAfterBeforeRaw, isCachable, isConnected, isFetcher, isFresh, isLocal, isMutator, isOffline, isPaged, isReportedByMe, isSkipLimit, joinChannel, joinCommunity, leaveChannel, leaveCommunity, mergeInCache, observeChannel, observeComment, observeComments, observeCommunity, observeFile, observeFollowInfo, observeFollowers, observeFollowings, observeMessage, observeMessages, observePost, observePosts, observeUser, onChannelDeleted, onChannelJoined, onChannelLeft, onChannelUpdated, onClientBanned, onClientDisconnected, onCommentCreated, onCommentDeleted, onCommentFlagged, onCommentReactionAdded, onCommentReactionRemoved, onCommentUnflagged, onCommentUpdated, onCommunityCreated, onCommunityDeleted, onCommunityJoined, onCommunityLeft, onCommunityUpdated, onCommunityUserAdded, onCommunityUserBanned, onCommunityUserRemoved, onCommunityUserUnbanned, onConnectionError, onFollowInfoUpdated, onFollowRequestAccepted, onFollowRequestCanceled, onFollowRequestDeclined, onFollowerDeleted, onFollowerRequested, onMemberAdded, onMemberRemoved, onMessageCreated, onMessageDeleted, onMessageUpdated, onPostApproved, onPostCreated, onPostDeclined, onPostDeleted, onPostFlagged, onPostReactionAdded, onPostReactionRemoved, onPostUnflagged, onPostUpdated, onReactionRemoved, onStreamRecorded, onStreamStarted, onStreamStopped, onUserFlagCleared, onUserFlagged, onUserFollowed, onUserUnflagged, onUserUnfollowed, onUserUpdated, pullFromCache, pushToCache, queryCache, queryChannelMembers, queryChannels, queryComments, queryCommunities, queryCommunityMembers, queryFollowers, queryFollowings, queryGlobalFeed, queryMessages, queryOptions, queryPosts, queryRoles, queryStreams, queryUsers, removeChannelMembers, removeChannelMembersRole, removeCommunityMembers, removeCommunityMembersRole, removeReaction, restoreCache, runQuery, sortByChannelSegment, sortByDisplayName, sortByFirstCreated, sortByLastActivity, sortByLastCreated, sortBySegmentNumber, subscribeTopic, toPage, toPageRaw, toToken, unfollow, updateChannel, updateComment, updateCommunity, updateMessage, updatePost, updateStream, updateUser, upsertInCache, wipeCache };
21203
+ /**
21204
+ * Retrieves accessToken info to use in Beta services
21205
+ *
21206
+ * @param apiKey for the Http Client instance
21207
+ * @param apiRegion endpoint to connect to
21208
+ * @param params The token parameters
21209
+ * @param params.userId The userId to use to issue a token
21210
+ * @param params.displayName The user's displayName
21211
+ * @param params.authToken The authentication token - necessary when network option is set to secure
21212
+ * @return An accessToken info object for the given userId
21213
+ *
21214
+ * @category External API
21215
+ * @hidden
21216
+ */
21217
+ const createUserToken = async (apiKey, apiRegion, params) => {
21218
+ const deviceId = getDeviceId();
21219
+ const deviceInfo = await getDeviceInfo();
21220
+ const http = createHttpTransport(computeUrl('http', apiRegion));
21221
+ const { data } = await http.post('/api/v3/sessions', Object.assign(Object.assign({}, params), { deviceId, deviceInfo: Object.assign(Object.assign({}, deviceInfo), { model: 'token management API on TS-SDK' }) }), { headers: { 'X-API-Key': apiKey } });
21222
+ return { accessToken: data.accessToken };
21223
+ };
21224
+
21225
+ export { API_REGIONS, SubscriptionLevels, VERSION$1 as VERSION, acceptFollower, addChannelMembers, addChannelMembersRole, addCommunityMembers, addCommunityMembersRoles, addReaction, backupCache, closePoll, connectClient, createChannel, createClient, createComment, createCommunity, createFile, createImage, createMessage, createPoll, createPost, createQuery, createReport, createStream, createUserToken, createVideo, declineFollower, deleteChannel, deleteComment, deleteCommunity, deleteFile, deleteMessage, deletePoll, deletePost, deleteReport, deleteStream, disableCache, disconnectClient, disposeStream, dropFromCache, enableCache, fileUrlWithSize, filterByPropEquality, follow, getActiveClient, getCategory, getChannel, getChannels, getComment, getCommentTopic, getComments, getCommunities, getCommunity, getCommunityTopic, getFile, getFollowInfo, getMessage, getMessages, getMyFollowersTopic, getMyFollowingsTopic, getPoll, getPost, getPostTopic, getPosts, getRecommendedCommunities, getRole, getStream, getTopTrendingCommunities, getUser, getUserTopic, getUsers, isAfterBefore, isAfterBeforeRaw, isCachable, isConnected, isFetcher, isFresh, isLocal, isMutator, isOffline, isPaged, isReportedByMe, isSkipLimit, joinChannel, joinCommunity, leaveChannel, leaveCommunity, mergeInCache, observeChannel, observeComment, observeComments, observeCommunity, observeFile, observeFollowInfo, observeFollowers, observeFollowings, observeMessage, observeMessages, observePost, observePosts, observeUser, onChannelDeleted, onChannelJoined, onChannelLeft, onChannelUpdated, onClientBanned, onClientDisconnected, onCommentCreated, onCommentDeleted, onCommentFlagged, onCommentReactionAdded, onCommentReactionRemoved, onCommentUnflagged, onCommentUpdated, onCommunityCreated, onCommunityDeleted, onCommunityJoined, onCommunityLeft, onCommunityUpdated, onCommunityUserAdded, onCommunityUserBanned, onCommunityUserRemoved, onCommunityUserUnbanned, onConnectionError, onFollowInfoUpdated, onFollowRequestAccepted, onFollowRequestCanceled, onFollowRequestDeclined, onFollowerDeleted, onFollowerRequested, onMemberAdded, onMemberRemoved, onMessageCreated, onMessageDeleted, onMessageUpdated, onPostApproved, onPostCreated, onPostDeclined, onPostDeleted, onPostFlagged, onPostReactionAdded, onPostReactionRemoved, onPostUnflagged, onPostUpdated, onReactionRemoved, onStreamRecorded, onStreamStarted, onStreamStopped, onUserFlagCleared, onUserFlagged, onUserFollowed, onUserUnflagged, onUserUnfollowed, onUserUpdated, pullFromCache, pushToCache, queryCache, queryCategories, queryChannelMembers, queryChannels, queryComments, queryCommunities, queryCommunityMembers, queryFollowers, queryFollowings, queryGlobalFeed, queryMessages, queryOptions, queryPosts, queryRoles, queryStreams, queryUsers, removeChannelMembers, removeChannelMembersRole, removeCommunityMembers, removeCommunityMembersRoles, removeReaction, restoreCache, runQuery, sortByChannelSegment, sortByDisplayName, sortByFirstCreated, sortByLastActivity, sortByLastCreated, sortBySegmentNumber, subscribeTopic, toPage, toPageRaw, toToken, unfollow, updateChannel, updateComment, updateCommunity, updateMessage, updatePost, updateStream, updateUser, upsertInCache, votePoll, wipeCache };