@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.cjs.js CHANGED
@@ -20,7 +20,10 @@ var mitt__default = /*#__PURE__*/_interopDefaultLegacy(mitt);
20
20
  var AsyncStorage__default = /*#__PURE__*/_interopDefaultLegacy(AsyncStorage);
21
21
 
22
22
  var _a$1;
23
- const theGlobal = globalThis || global || window;
23
+ /* eslint-disable no-undef */
24
+ const theGlobal =
25
+ // eslint-disable-next-line no-nested-ternary
26
+ typeof globalThis === 'object' ? globalThis : typeof global === 'object' ? global : window;
24
27
  const { process: safeProcess = {} } = theGlobal;
25
28
  const isProduction = ((_a$1 = safeProcess.env) === null || _a$1 === void 0 ? void 0 : _a$1.NODE_ENV) === 'production';
26
29
 
@@ -35,7 +38,7 @@ const VERSION$1 = (_b = (_a = safeProcess.env) === null || _a === void 0 ? void
35
38
  *
36
39
  * @hidden
37
40
  */
38
- const isSkipLimit = (json) => (['skip', 'limit'].some(prop => prop in json));
41
+ const isSkipLimit = (json) => ['skip', 'limit'].some(prop => prop in json);
39
42
  /**
40
43
  * Type guard to find if the a given decoded backend token uses "after/before" pagination style
41
44
  *
@@ -44,7 +47,7 @@ const isSkipLimit = (json) => (['skip', 'limit'].some(prop => prop in json));
44
47
  *
45
48
  * @hidden
46
49
  */
47
- const isAfterBefore = (json) => (['after', 'before', 'first', 'last', 'limit'].some(prop => prop in json));
50
+ const isAfterBefore = (json) => ['after', 'before', 'first', 'last', 'limit'].some(prop => prop in json);
48
51
  /**
49
52
  * Type guard to find if the a given decoded backend token uses v4 or newer "after/before" pagination style
50
53
  *
@@ -53,7 +56,7 @@ const isAfterBefore = (json) => (['after', 'before', 'first', 'last', 'limit'].s
53
56
  *
54
57
  * @hidden
55
58
  */
56
- const isAfterBeforeRaw = (json) => ('limit' in json);
59
+ const isAfterBeforeRaw = (json) => 'limit' in json;
57
60
  /**
58
61
  * Type guard to find if the a given object is wrapped around Amity.Paged<>
59
62
  *
@@ -63,9 +66,9 @@ const isAfterBeforeRaw = (json) => ('limit' in json);
63
66
  * @hidden
64
67
  */
65
68
  const isPaged = (payload) => {
66
- return ((payload === null || payload === void 0 ? void 0 : payload.hasOwnProperty('data'))
67
- && (payload === null || payload === void 0 ? void 0 : payload.hasOwnProperty('nextPage'))
68
- && (payload === null || payload === void 0 ? void 0 : payload.hasOwnProperty('prevPage')));
69
+ return ((payload === null || payload === void 0 ? void 0 : payload.hasOwnProperty('data')) &&
70
+ (payload === null || payload === void 0 ? void 0 : payload.hasOwnProperty('nextPage')) &&
71
+ (payload === null || payload === void 0 ? void 0 : payload.hasOwnProperty('prevPage')));
69
72
  };
70
73
  /**
71
74
  * Converts a paging object into a b64 string token
@@ -95,19 +98,19 @@ const toToken = (paging, style) => {
95
98
  "before" or "after" value. if that would change,
96
99
  we'd need to move toward a more simple: `!paging.before`
97
100
  */
98
- if (!isNaN(paging === null || paging === void 0 ? void 0 : paging.before)) {
101
+ if (!Number.isNaN(paging === null || paging === void 0 ? void 0 : paging.before)) {
99
102
  payload = {
100
103
  before: paging.before,
101
104
  last: paging.limit,
102
105
  };
103
106
  }
104
- else if (!isNaN(paging === null || paging === void 0 ? void 0 : paging.after)) {
107
+ else if (!Number.isNaN(paging === null || paging === void 0 ? void 0 : paging.after)) {
105
108
  payload = {
106
109
  after: paging.after,
107
110
  first: paging.limit,
108
111
  };
109
112
  }
110
- else if (!isNaN(paging === null || paging === void 0 ? void 0 : paging.limit)) {
113
+ else if (!Number.isNaN(paging === null || paging === void 0 ? void 0 : paging.limit)) {
111
114
  payload = {
112
115
  last: paging.limit,
113
116
  };
@@ -141,14 +144,14 @@ const toPage = (token) => {
141
144
  limit: json.limit,
142
145
  };
143
146
  }
144
- else if (isAfterBefore(json)) {
147
+ if (isAfterBefore(json)) {
145
148
  if ('before' in json) {
146
149
  return {
147
150
  before: json.before,
148
151
  limit: json.last,
149
152
  };
150
153
  }
151
- else if ('after' in json) {
154
+ if ('after' in json) {
152
155
  return {
153
156
  after: json.after,
154
157
  limit: json.first,
@@ -176,6 +179,7 @@ const toPageRaw = (token) => {
176
179
  return undefined;
177
180
  };
178
181
 
182
+ /* eslint-disable no-use-before-define */
179
183
  /**
180
184
  * Type guard to check and cast that a given async function is has the ".locally" property
181
185
  *
@@ -184,7 +188,7 @@ const toPageRaw = (token) => {
184
188
  *
185
189
  * @hidden
186
190
  */
187
- const isFetcher = (func) => ('locally' in func);
191
+ const isFetcher = (func) => 'locally' in func;
188
192
  /**
189
193
  * Type guard to check and cast that a given async function is has the ".optimistically" property
190
194
  *
@@ -193,7 +197,7 @@ const isFetcher = (func) => ('locally' in func);
193
197
  *
194
198
  * @hidden
195
199
  */
196
- const isMutator = (func) => ('optimistically' in func);
200
+ const isMutator = (func) => 'optimistically' in func;
197
201
  /**
198
202
  * Type guard to check and cast that a given async function is has
199
203
  * the ".locally" or ".optimistically" property
@@ -212,7 +216,7 @@ const isOffline = (func) => isFetcher(func) || isMutator(func);
212
216
  *
213
217
  * @hidden
214
218
  */
215
- const isCachable = (model) => (model === null || model === void 0 ? void 0 : model.hasOwnProperty('cachedAt'));
219
+ const isCachable = (model) => model === null || model === void 0 ? void 0 : model.hasOwnProperty('cachedAt');
216
220
  /**
217
221
  * Checks if a model is considered local (cachedAt === -1)
218
222
  *
@@ -270,7 +274,7 @@ const createQuery = (func, ...args) => ({ func, args });
270
274
  const queryOptions = (policy, lifeSpan = 2 * 60 * 1000) => {
271
275
  if (policy === 'cache_only')
272
276
  return { lifeSpan: Infinity };
273
- else if (policy === 'server_only')
277
+ if (policy === 'server_only')
274
278
  return { lifeSpan: 0 };
275
279
  return { lifeSpan };
276
280
  };
@@ -296,9 +300,7 @@ const runQuery = ({ func, args }, callback, options = queryOptions('cache_then_s
296
300
  // offline first
297
301
  if (isOffline(func) && options.lifeSpan !== 0) {
298
302
  try {
299
- local = isMutator(func)
300
- ? func.optimistically(...args)
301
- : func.locally(...args);
303
+ local = isMutator(func) ? func.optimistically(...args) : func.locally(...args);
302
304
  }
303
305
  catch (error) {
304
306
  callback === null || callback === void 0 ? void 0 : callback(createSnapshot(undefined, {
@@ -310,7 +312,7 @@ const runQuery = ({ func, args }, callback, options = queryOptions('cache_then_s
310
312
  const shouldAbort = isCachable(local) && isFresh(local, options.lifeSpan);
311
313
  callback === null || callback === void 0 ? void 0 : callback(createSnapshot(local, {
312
314
  origin: 'local',
313
- loading: !(isFetcher(func) && shouldAbort)
315
+ loading: !(isFetcher(func) && shouldAbort),
314
316
  }));
315
317
  if (shouldAbort)
316
318
  return;
@@ -318,13 +320,13 @@ const runQuery = ({ func, args }, callback, options = queryOptions('cache_then_s
318
320
  else {
319
321
  callback === null || callback === void 0 ? void 0 : callback(createSnapshot(undefined, {
320
322
  origin: 'local',
321
- loading: true
323
+ loading: true,
322
324
  }));
323
325
  }
324
326
  func(...args)
325
327
  .then(fresh => {
326
328
  // @ts-ignore i know.
327
- // isLocal(local) && syncInCache(local, fresh)
329
+ // isLocal(local) && syncInCache(local, fresh)
328
330
  callback === null || callback === void 0 ? void 0 : callback(createSnapshot(fresh, {
329
331
  origin: 'server',
330
332
  loading: false,
@@ -338,6 +340,7 @@ const runQuery = ({ func, args }, callback, options = queryOptions('cache_then_s
338
340
  }));
339
341
  });
340
342
  };
343
+ // eslint-disable-next-line no-redeclare
341
344
  function createSnapshot(data, options) {
342
345
  if (isPaged(data) || isCachable(data))
343
346
  return Object.assign(Object.assign({}, options), data);
@@ -391,6 +394,7 @@ const sortByLastCreated = ({ createdAt: a }, { createdAt: b }) => new Date(b).va
391
394
  */
392
395
  const sortByLastActivity = ({ lastActivity: a }, { lastActivity: b }) => new Date(b).valueOf() - new Date(a).valueOf();
393
396
 
397
+ /* eslint-disable max-classes-per-file */
394
398
  /**
395
399
  * Generic ASC error
396
400
  * @category Errors
@@ -420,6 +424,7 @@ class ASCApiError extends ASCError {
420
424
  * @param code A normalized error code
421
425
  * @param level A normalized failure level descriptor
422
426
  */
427
+ // eslint-disable-next-line no-useless-constructor
423
428
  constructor(message, code, level) {
424
429
  super(message, code, level);
425
430
  }
@@ -446,7 +451,9 @@ class ASCConnectionError extends ASCError {
446
451
  * @param message A custom error message
447
452
  */
448
453
  constructor(event, message = 'SDK client is having connection issues') {
449
- super(`${message} (${event})`, event === 'disconnected' ? 800211 /* DISCONNECTED */ : 800210 /* CONNECTION_ERROR */, "error" /* ERROR */);
454
+ super(`${message} (${event})`, event === 'disconnected'
455
+ ? 800211 /* DISCONNECTED */
456
+ : 800210 /* CONNECTION_ERROR */, "error" /* ERROR */);
450
457
  this.event = event;
451
458
  }
452
459
  }
@@ -486,12 +493,12 @@ const setActiveClient = (client) => {
486
493
  * @hidden
487
494
  */
488
495
  const createLogger = (session) => {
489
- const active = (`${session === null || session === void 0 ? void 0 : session.trim()}`.length > 0
490
- && !isProduction);
496
+ const active = `${session === null || session === void 0 ? void 0 : session.trim()}`.length > 0 && !isProduction;
491
497
  const logger = debug__default['default'](session);
492
498
  const print = (topic, ...args) => {
493
499
  active && logger(topic, args);
494
500
  };
501
+ // eslint-disable-next-line no-underscore-dangle
495
502
  print.__instance__ = logger;
496
503
  return print;
497
504
  };
@@ -524,7 +531,7 @@ const unwrapPayload = (response) => {
524
531
  if (response.status === 'success') {
525
532
  return response.data;
526
533
  }
527
- else if (response.status === 'fail') {
534
+ if (response.status === 'fail') {
528
535
  throw new ASCUnknownError(response.code);
529
536
  }
530
537
  else if (response.status === 'error') {
@@ -546,9 +553,10 @@ const stringify = (params, prefix) => {
546
553
  if (Array.isArray(value)) {
547
554
  return value.map(item => `${key}[]=${item}`).join('&');
548
555
  }
549
- else if (typeof value !== 'object') {
556
+ if (typeof value !== 'object') {
550
557
  return `${key}=${value}`;
551
558
  }
559
+ // @ts-ignore
552
560
  return stringify(value, prefix !== null && prefix !== void 0 ? prefix : name);
553
561
  })
554
562
  .join('&');
@@ -575,9 +583,10 @@ const createHttpTransport = (endpoint) => {
575
583
  httpsAgent: new HttpAgent.HttpsAgent(options),
576
584
  paramsSerializer: stringify,
577
585
  });
578
- instance.interceptors.response.use((response) => response, (error) => {
586
+ instance.interceptors.response.use(response => response, error => {
579
587
  var _a;
580
588
  const { response } = error;
589
+ // eslint-disable-next-line no-console
581
590
  console.error((_a = response === null || response === void 0 ? void 0 : response.data) !== null && _a !== void 0 ? _a : error);
582
591
  if (response)
583
592
  unwrapPayload(response.data);
@@ -14595,6 +14604,7 @@ function extend() {
14595
14604
 
14596
14605
  var mqtt = mqtt$1.exports;
14597
14606
 
14607
+ /* eslint-disable no-console */
14598
14608
  const QOS_FAILURE_CODE = 128;
14599
14609
  const RETRY_BASE_TIMEOUT = 1000;
14600
14610
  const RETRY_COUNT_MAX = 10;
@@ -14609,7 +14619,7 @@ function getMqttOptions(params) {
14609
14619
  topic: 'WillMsg',
14610
14620
  payload: 'Connection Closed abnormally..!',
14611
14621
  qos: 0,
14612
- retain: false
14622
+ retain: false,
14613
14623
  } }, params);
14614
14624
  }
14615
14625
  /**
@@ -14625,6 +14635,12 @@ const createMqttTransport = (endpoint) => {
14625
14635
  let mqttClient;
14626
14636
  let retryCount = 0;
14627
14637
  let allowReconnection = true;
14638
+ const reconnect = () => {
14639
+ setTimeout(() => {
14640
+ retryCount += 1;
14641
+ mqttClient.reconnect();
14642
+ }, RETRY_BASE_TIMEOUT * 2 ** (retryCount > RETRY_COUNT_MAX ? RETRY_COUNT_MAX : retryCount));
14643
+ };
14628
14644
  async function connect(params) {
14629
14645
  if (mqttClient) {
14630
14646
  mqttClient.removeAllListeners();
@@ -14636,6 +14652,7 @@ const createMqttTransport = (endpoint) => {
14636
14652
  allowReconnection = true;
14637
14653
  });
14638
14654
  mqttClient.on('error', (error) => {
14655
+ // eslint-disable-next-line default-case
14639
14656
  switch (error.code) {
14640
14657
  case 2 /* IDENTIFIER_REJECTED */:
14641
14658
  case 4 /* BAD_USERNAME_OR_PASSWORD */:
@@ -14650,12 +14667,6 @@ const createMqttTransport = (endpoint) => {
14650
14667
  });
14651
14668
  return new Promise(resolve => mqttClient.once('connect', () => resolve()));
14652
14669
  }
14653
- const reconnect = () => {
14654
- setTimeout(() => {
14655
- retryCount = retryCount + 1;
14656
- mqttClient.reconnect();
14657
- }, RETRY_BASE_TIMEOUT * Math.pow(2, retryCount > RETRY_COUNT_MAX ? RETRY_COUNT_MAX : retryCount));
14658
- };
14659
14670
  return {
14660
14671
  connect,
14661
14672
  async disconnect() {
@@ -14689,8 +14700,8 @@ const createMqttTransport = (endpoint) => {
14689
14700
  if (error || granted[0].qos === QOS_FAILURE_CODE) {
14690
14701
  const ascError = error
14691
14702
  ? new ASCError(error.message, 800000 /* UNKNOWN_ERROR */, "error" /* ERROR */)
14692
- // TODO throw the actual error, once BE can tell us the actual error code
14693
- : new ASCUnknownError(800000 /* UNKNOWN_ERROR */, "error" /* ERROR */);
14703
+ : // TODO throw the actual error, once BE can tell us the actual error code
14704
+ new ASCUnknownError(800000 /* UNKNOWN_ERROR */, "error" /* ERROR */);
14694
14705
  console.error(`Failed to subscribe to topic ${topic}`, ascError);
14695
14706
  callback === null || callback === void 0 ? void 0 : callback(ascError);
14696
14707
  }
@@ -14709,10 +14720,11 @@ const createMqttTransport = (endpoint) => {
14709
14720
  },
14710
14721
  unsubscribe(topic) {
14711
14722
  mqttClient === null || mqttClient === void 0 ? void 0 : mqttClient.unsubscribe(topic);
14712
- }
14723
+ },
14713
14724
  };
14714
14725
  };
14715
14726
 
14727
+ /* eslint-disable @typescript-eslint/ban-types */
14716
14728
  let tasks = [];
14717
14729
  let timer;
14718
14730
  /**
@@ -14729,6 +14741,7 @@ const scheduleTask = (task) => {
14729
14741
  }, 0);
14730
14742
  };
14731
14743
 
14744
+ /* eslint-disable @typescript-eslint/no-unused-vars */
14732
14745
  // need to sync up the list
14733
14746
  const WS_EVENTS = [
14734
14747
  'disconnected',
@@ -14755,7 +14768,7 @@ const MQTT_EVENTS = [
14755
14768
  'error',
14756
14769
  'close',
14757
14770
  'end',
14758
- 'reconnect'
14771
+ 'reconnect',
14759
14772
  ];
14760
14773
  /** @hidden */
14761
14774
  const createEventEmitter = () => {
@@ -14819,7 +14832,9 @@ const createEventSubscriber = (client, namespace, event, fn) => {
14819
14832
  */
14820
14833
  const fireEvent = (event, payload) => {
14821
14834
  const { emitter } = getActiveClient();
14822
- scheduleTask(() => { emitter.emit(event, payload); });
14835
+ scheduleTask(() => {
14836
+ emitter.emit(event, payload);
14837
+ });
14823
14838
  };
14824
14839
 
14825
14840
  /**
@@ -14836,7 +14851,7 @@ const fireEvent = (event, payload) => {
14836
14851
  * @returns A {@link Amity.Client} instance
14837
14852
  *
14838
14853
  * @category Client API
14839
- **/
14854
+ * */
14840
14855
  const createClient = (apiKey, apiRegion = API_REGIONS.SG, debugSession = 'amity') => {
14841
14856
  const log = createLogger(debugSession);
14842
14857
  log('client/api/createClient', {
@@ -14964,8 +14979,8 @@ const getToken = async (params) => {
14964
14979
  client.log('client/api/getToken', params);
14965
14980
  const deviceInfo = await getDeviceInfo();
14966
14981
  const { data } = await client.http.post('/v1/device', Object.assign(Object.assign({}, params), { deviceInfo }), {
14967
- //@ts-ignore
14968
- headers: { 'X-API-Key': client.apiKey }
14982
+ // @ts-ignore
14983
+ headers: { 'X-API-Key': client.apiKey },
14969
14984
  });
14970
14985
  return data;
14971
14986
  };
@@ -14994,12 +15009,12 @@ const EVENTS = [
14994
15009
  */
14995
15010
  const onConnectionError = (callback) => {
14996
15011
  const client = getActiveClient();
14997
- const subscribers = EVENTS.map(event => (createEventSubscriber(client, `client/onConnectionError(${event})`, event, (response) => {
15012
+ const subscribers = EVENTS.map(event => createEventSubscriber(client, `client/onConnectionError(${event})`, event, response => {
14998
15013
  const error = (response === null || response === void 0 ? void 0 : response.code)
14999
15014
  ? new ASCError(response.message, response.code, "fatal" /* FATAL */)
15000
15015
  : new ASCConnectionError(event);
15001
15016
  callback(error);
15002
- })));
15017
+ }));
15003
15018
  return () => {
15004
15019
  subscribers.forEach(fn => fn());
15005
15020
  };
@@ -15047,6 +15062,7 @@ const onClientBanned = (callback) => {
15047
15062
  });
15048
15063
  };
15049
15064
 
15065
+ /* eslint-disable no-param-reassign */
15050
15066
  /**
15051
15067
  * ```js
15052
15068
  * import { connectClient } from '@amityco/ts-sdk/client/api'
@@ -15077,7 +15093,7 @@ const connectClient = async (params) => {
15077
15093
  // ignored since we enforce default values just before.
15078
15094
  const { accessToken, users } = await getToken(params);
15079
15095
  // manually setup the token for http transport
15080
- client.http.defaults.headers.common['Authorization'] = `Bearer ${accessToken}`;
15096
+ client.http.defaults.headers.common.Authorization = `Bearer ${accessToken}`;
15081
15097
  // manually setup the token for ws transport
15082
15098
  client.ws.io.opts.query = { token: accessToken };
15083
15099
  // FIXME: events are duplicated if connectClient is called few times without disconnectClient
@@ -15115,9 +15131,9 @@ const isConnected = () => {
15115
15131
  var _a, _b;
15116
15132
  const client = getActiveClient();
15117
15133
  client.log('client/api/isConnected', client);
15118
- return !!(client.userId
15119
- && ((_b = (_a = client.http.defaults.headers.common) === null || _a === void 0 ? void 0 : _a['Authorization']) === null || _b === void 0 ? void 0 : _b.length)
15120
- && client.ws.connected);
15134
+ return !!(client.userId &&
15135
+ ((_b = (_a = client.http.defaults.headers.common) === null || _a === void 0 ? void 0 : _a.Authorization) === null || _b === void 0 ? void 0 : _b.length) &&
15136
+ client.ws.connected);
15121
15137
  };
15122
15138
 
15123
15139
  exports.SubscriptionLevels = void 0;
@@ -15128,7 +15144,7 @@ exports.SubscriptionLevels = void 0;
15128
15144
  SubscriptionLevels["POST_AND_COMMENT"] = "post_and_comment";
15129
15145
  SubscriptionLevels["USER"] = "user";
15130
15146
  })(exports.SubscriptionLevels || (exports.SubscriptionLevels = {}));
15131
- const getCommunityUserTopic = ({ path }, level) => {
15147
+ const getCommunityUserTopic = (path, level) => {
15132
15148
  switch (level) {
15133
15149
  case 'post':
15134
15150
  return `${path}/post/+`;
@@ -15140,8 +15156,8 @@ const getCommunityUserTopic = ({ path }, level) => {
15140
15156
  return path;
15141
15157
  }
15142
15158
  };
15143
- const getCommunityTopic = ({ path }, level = exports.SubscriptionLevels.COMMUNITY) => getCommunityUserTopic({ path }, level);
15144
- const getUserTopic = ({ path }, level = exports.SubscriptionLevels.USER) => getCommunityUserTopic({ path }, level);
15159
+ const getCommunityTopic = ({ path }, level = exports.SubscriptionLevels.COMMUNITY) => getCommunityUserTopic(path, level);
15160
+ const getUserTopic = ({ path }, level = exports.SubscriptionLevels.USER) => getCommunityUserTopic(level === exports.SubscriptionLevels.USER ? path : path.replace(/^(\w*)/, '$1/social'), level);
15145
15161
  const getPostTopic = ({ path }, level = exports.SubscriptionLevels.POST) => {
15146
15162
  switch (level) {
15147
15163
  case 'comment':
@@ -15253,12 +15269,15 @@ const restoreCache = async (storageKey = 'amitySdk') => {
15253
15269
  try {
15254
15270
  cache = JSON.parse(serializedData);
15255
15271
  }
15256
- catch (err) { }
15272
+ catch (err) {
15273
+ //
15274
+ }
15257
15275
  // current cache should override. in case there's something fresher.
15258
15276
  client.cache.data = Object.assign(Object.assign({}, cache), client.cache.data);
15259
15277
  return true;
15260
15278
  };
15261
15279
 
15280
+ /* eslint-disable @typescript-eslint/no-unused-vars */
15262
15281
  /**
15263
15282
  * ```js
15264
15283
  * import { backupCache } from '@amityco/ts-sdk'
@@ -15288,8 +15307,7 @@ const backupCache = async (storageKey = 'amitySdk', persistIf = (entry) => entry
15288
15307
  log('cache/api/backupCache', { storageKey });
15289
15308
  // prepare a subset of the cache where only
15290
15309
  // objects to backup are there
15291
- const offlineEntries = Object.fromEntries(Object.entries(cache.data)
15292
- .filter(([_, entry]) => persistIf(entry)));
15310
+ const offlineEntries = Object.fromEntries(Object.entries(cache.data).filter(([_, entry]) => persistIf(entry)));
15293
15311
  // nothing to backup, abort
15294
15312
  if (!Object.keys(offlineEntries).length)
15295
15313
  return false;
@@ -15335,9 +15353,9 @@ const wipeCache = async (storageKey = 'amitySdk') => {
15335
15353
  * @category Cache
15336
15354
  * @hidden
15337
15355
  */
15338
- const normalize = (source) => (Object.keys(source)
15356
+ const normalize = (source) => Object.keys(source)
15339
15357
  .sort()
15340
- .reduce((acc, key) => (Object.assign(Object.assign({}, acc), { [key]: source[key] })), {}));
15358
+ .reduce((acc, key) => (Object.assign(Object.assign({}, acc), { [key]: source[key] })), {});
15341
15359
  /**
15342
15360
  * Encodes a given {@link Amity.CacheKey} to a plain string
15343
15361
  *
@@ -15347,7 +15365,7 @@ const normalize = (source) => (Object.keys(source)
15347
15365
  * @category Cache
15348
15366
  * @hidden
15349
15367
  */
15350
- const encodeKey = (key) => (JSON.stringify(key, (_, val) => typeof val === "object" ? normalize(val) : val));
15368
+ const encodeKey = (key) => JSON.stringify(key, (_, val) => (typeof val === 'object' ? normalize(val) : val));
15351
15369
  /**
15352
15370
  * Decodes a string back into a {@link Amity.CacheKey}
15353
15371
 
@@ -15372,14 +15390,14 @@ const partialMatch = (predicate, candidate) => {
15372
15390
  if (predicate === candidate)
15373
15391
  return true;
15374
15392
  // if one or the other is nullish, there can't be equality
15375
- else if (!predicate || !candidate)
15393
+ if (!predicate || !candidate)
15376
15394
  return false;
15377
15395
  // we only perform recursive check on objects
15378
- else if (typeof predicate !== "object") {
15396
+ if (typeof predicate !== 'object') {
15379
15397
  return false;
15380
15398
  }
15381
15399
  // recursively call for partial match based on the predicate
15382
- return Object.keys(predicate).every((key) => partialMatch(predicate[key], candidate[key]));
15400
+ return Object.keys(predicate).every(key => partialMatch(predicate[key], candidate[key]));
15383
15401
  };
15384
15402
 
15385
15403
  /**
@@ -15402,8 +15420,7 @@ const queryCache = (key) => {
15402
15420
  if (!cache)
15403
15421
  return;
15404
15422
  log('cache/api/queryCache', { key });
15405
- return Object
15406
- .keys(cache.data)
15423
+ return Object.keys(cache.data)
15407
15424
  .filter(stringKey => {
15408
15425
  const decodedKey = decodeKey(stringKey);
15409
15426
  return partialMatch(key, decodedKey);
@@ -15432,9 +15449,7 @@ const pullFromCache = (key) => {
15432
15449
  return;
15433
15450
  log('cache/api/pullFromCache', key);
15434
15451
  const str = encodeKey(key);
15435
- return !!cache.data[str]
15436
- ? cache.data[str]
15437
- : undefined;
15452
+ return cache.data[str] ? cache.data[str] : undefined;
15438
15453
  };
15439
15454
 
15440
15455
  /**
@@ -15460,8 +15475,10 @@ const pushToCache = (key, data, options = { cachedAt: Date.now() }) => {
15460
15475
  // if consumer did not pass offline but a offline policy is
15461
15476
  // defined, use the fn to determine if the object needs to
15462
15477
  // be saved in persistent storage or not.
15463
- if (!(options === null || options === void 0 ? void 0 : options.hasOwnProperty('offline')) && cache.persistIf)
15478
+ if (!(options === null || options === void 0 ? void 0 : options.hasOwnProperty('offline')) && cache.persistIf) {
15479
+ // eslint-disable-next-line no-param-reassign
15464
15480
  options.offline = cache.persistIf(key, data);
15481
+ }
15465
15482
  const encodedKey = encodeKey(key);
15466
15483
  cache.data[encodedKey] = Object.assign({ key, data }, options);
15467
15484
  return true;
@@ -15493,9 +15510,7 @@ const mergeInCache = (key, mutation, options) => {
15493
15510
  const oldVal = pullFromCache(key);
15494
15511
  if (!oldVal)
15495
15512
  return false;
15496
- const newVal = typeof mutation === 'function'
15497
- ? mutation(oldVal.data)
15498
- : Object.assign(Object.assign({}, oldVal.data), mutation);
15513
+ const newVal = typeof mutation === 'function' ? mutation(oldVal.data) : Object.assign(Object.assign({}, oldVal.data), mutation);
15499
15514
  pushToCache(key, newVal, options);
15500
15515
  return true;
15501
15516
  };
@@ -15523,9 +15538,7 @@ const upsertInCache = (key, data, options = { cachedAt: Date.now() }) => {
15523
15538
  return false;
15524
15539
  log('cache/api/upsertInCache', { key, data, options });
15525
15540
  const cached = pullFromCache(key);
15526
- return cached
15527
- ? mergeInCache(key, data, options)
15528
- : pushToCache(key, data, options);
15541
+ return cached ? mergeInCache(key, data, options) : pushToCache(key, data, options);
15529
15542
  };
15530
15543
 
15531
15544
  /**
@@ -15549,7 +15562,7 @@ const dropFromCache = (key, exact = false) => {
15549
15562
  return false;
15550
15563
  log('cache/api/dropFromCache', { key, exact });
15551
15564
  if (!exact) {
15552
- return (Object.keys(cache.data))
15565
+ return Object.keys(cache.data)
15553
15566
  .map(stringKey => decodeKey(stringKey))
15554
15567
  .filter(candidate => partialMatch(key, candidate))
15555
15568
  .map(filteredKey => dropFromCache(filteredKey, true))
@@ -15572,9 +15585,11 @@ const idResolvers = {
15572
15585
  channelUsers: ({ channelId, userId }) => `${channelId}#${userId}`,
15573
15586
  message: ({ messageId }) => messageId,
15574
15587
  community: ({ communityId }) => communityId,
15588
+ category: ({ categoryId }) => categoryId,
15575
15589
  communityUsers: ({ communityId, userId }) => `${communityId}#${userId}`,
15576
15590
  post: ({ postId }) => postId,
15577
15591
  comment: ({ commentId }) => commentId,
15592
+ poll: ({ pollId }) => pollId,
15578
15593
  stream: ({ streamId }) => streamId,
15579
15594
  follow: ({ from, to }) => `${from}#${to}`,
15580
15595
  followCount: ({ userId }) => userId,
@@ -15585,7 +15600,7 @@ const idResolvers = {
15585
15600
  * @param name the domain name for the resolve
15586
15601
  * @returns an idResolver function for the given domain name
15587
15602
  */
15588
- const getResolver = (name) => (idResolvers[name]);
15603
+ const getResolver = (name) => idResolvers[name];
15589
15604
 
15590
15605
  /**
15591
15606
  * A map of v3 response keys to a store name.
@@ -15599,13 +15614,15 @@ const PAYLOAD2MODEL = {
15599
15614
  channelUsers: 'channelUsers',
15600
15615
  messages: 'message',
15601
15616
  communities: 'community',
15617
+ categories: 'category',
15602
15618
  communityUsers: 'communityUsers',
15603
15619
  posts: 'post',
15604
15620
  postChildren: 'post',
15605
15621
  comments: 'comment',
15622
+ polls: 'poll',
15606
15623
  videoStreamings: 'stream',
15607
15624
  follows: 'follow',
15608
- followCounts: 'followCount'
15625
+ followCounts: 'followCount',
15609
15626
  };
15610
15627
 
15611
15628
  /**
@@ -15618,8 +15635,7 @@ const PAYLOAD2MODEL = {
15618
15635
  * @hidden
15619
15636
  */
15620
15637
  const ingestInCache = (payload = {}, options) => {
15621
- Object.entries(payload)
15622
- .forEach(([key, models]) => {
15638
+ Object.entries(payload).forEach(([key, models]) => {
15623
15639
  const type = PAYLOAD2MODEL[key];
15624
15640
  if (!type)
15625
15641
  return;
@@ -15699,13 +15715,15 @@ const getUsers = async (userIds) => {
15699
15715
  client.log('user/getUsers', userIds);
15700
15716
  const encodedUserIds = userIds.map(userId => encodeURIComponent(userId));
15701
15717
  // API-FIX: endpoint should not be /list, parameters should be querystring.
15702
- const { data } = await client.http.get(`/api/v3/users/list`, { params: { userIds: encodedUserIds } });
15718
+ const { data } = await client.http.get(`/api/v3/users/list`, {
15719
+ params: { userIds: encodedUserIds },
15720
+ });
15703
15721
  const cachedAt = client.cache && Date.now();
15704
15722
  if (client.cache)
15705
15723
  ingestInCache(data, { cachedAt });
15706
15724
  return {
15707
15725
  data: data.users,
15708
- cachedAt
15726
+ cachedAt,
15709
15727
  };
15710
15728
  };
15711
15729
  /**
@@ -15731,7 +15749,7 @@ getUsers.locally = (userIds) => {
15731
15749
  .map(userId => pullFromCache(['user', 'get', userId]))
15732
15750
  .filter(Boolean);
15733
15751
  const users = cached.map(({ data }) => data);
15734
- const oldest = (_a = cached.sort((a, b) => a.cachedAt < b.cachedAt ? -1 : 1)) === null || _a === void 0 ? void 0 : _a[0];
15752
+ const oldest = (_a = cached.sort((a, b) => (a.cachedAt < b.cachedAt ? -1 : 1))) === null || _a === void 0 ? void 0 : _a[0];
15735
15753
  if ((cached === null || cached === void 0 ? void 0 : cached.length) < userIds.length)
15736
15754
  return;
15737
15755
  return {
@@ -15785,14 +15803,14 @@ function __rest(s, e) {
15785
15803
  const queryUsers = async (query = {}) => {
15786
15804
  const client = getActiveClient();
15787
15805
  client.log('user/queryUsers', query);
15788
- const { page, displayName, filter = 'all', sortBy = 'displayName' } = query, params = __rest(query
15789
- // API-FIX: parameters should be querystring.
15790
- , ["page", "displayName", "filter", "sortBy"]);
15806
+ const { page, displayName, filter = 'all', sortBy = 'displayName' } = query, params = __rest(query, ["page", "displayName", "filter", "sortBy"]);
15791
15807
  // API-FIX: parameters should be querystring.
15792
- const { data } = await client.http.get(`/api/v3/users`, { params: Object.assign(Object.assign({}, params), { keyword: displayName, filter,
15808
+ const { data } = await client.http.get(`/api/v3/users`, {
15809
+ params: Object.assign(Object.assign({}, params), { keyword: displayName, filter,
15793
15810
  sortBy, options: {
15794
15811
  token: toToken(page, 'skiplimit'),
15795
- } }) });
15812
+ } }),
15813
+ });
15796
15814
  // unpacking
15797
15815
  const { paging } = data, payload = __rest(data, ["paging"]);
15798
15816
  const { users } = payload;
@@ -15998,7 +16016,7 @@ const observeUser = (userId, callback) => {
15998
16016
  *
15999
16017
  * Fetches a {@link Amity.File} object
16000
16018
  *
16001
- * @param filelId the ID of the {@link Amity.File} to fetch
16019
+ * @param fileId the ID of the {@link Amity.File} to fetch
16002
16020
  * @returns the associated {@link Amity.File} object
16003
16021
  *
16004
16022
  * @category File API
@@ -16054,6 +16072,7 @@ getFile.locally = (fileId) => {
16054
16072
  * Creates an {@link Amity.File}
16055
16073
  *
16056
16074
  * @param formData The data necessary to create a new {@link Amity.File}
16075
+ * @param onProgress The callback to track the upload progress
16057
16076
  * @returns The newly created {@link Amity.File}
16058
16077
  *
16059
16078
  * @category File API
@@ -16062,15 +16081,16 @@ getFile.locally = (fileId) => {
16062
16081
  const createFile = async (formData, onProgress) => {
16063
16082
  const client = getActiveClient();
16064
16083
  client.log('file/createFile', formData);
16065
- if (!formData.getAll('file').length)
16066
- throw new Error('The formData object must have a `file` key.');
16084
+ if (!formData.getAll('files').length)
16085
+ throw new Error('The formData object must have a `files` key.');
16067
16086
  const headers = 'getHeaders' in formData
16068
16087
  ? formData.getHeaders()
16069
16088
  : { 'content-type': 'multipart/form-data' };
16070
- const { data } = await client.http.post('/api/v3/files', formData, {
16071
- headers, onUploadProgress({ loaded, total }) {
16089
+ const { data } = await client.http.post('/api/v4/files', formData, {
16090
+ headers,
16091
+ onUploadProgress({ loaded, total }) {
16072
16092
  onProgress && onProgress(Math.round((loaded * 100) / total));
16073
- }
16093
+ },
16074
16094
  });
16075
16095
  // API-FIX: payload should be serialized properly
16076
16096
  // const { files } = data
@@ -16078,7 +16098,7 @@ const createFile = async (formData, onProgress) => {
16078
16098
  if (client.cache)
16079
16099
  ingestInCache({ files: data }, { cachedAt });
16080
16100
  return {
16081
- data: data[0],
16101
+ data,
16082
16102
  cachedAt,
16083
16103
  };
16084
16104
  };
@@ -16118,6 +16138,88 @@ const fileUrlWithSize = (fileUrl, size) => {
16118
16138
  return `${fileUrl}?size=${size}`;
16119
16139
  };
16120
16140
 
16141
+ /**
16142
+ * ```js
16143
+ * import { createVideo } from '@amityco/ts-sdk'
16144
+ * const created = await createVideo(formData)
16145
+ * ```
16146
+ *
16147
+ * Creates an {@link Amity.File<'video'>}
16148
+ *
16149
+ * @param formData The data necessary to create a new {@link Amity.File<'video'>}
16150
+ * @param onProgress The callback to track the upload progress
16151
+ * @returns The newly created {@link Amity.File<'video'>}
16152
+ *
16153
+ * @category File API
16154
+ * @async
16155
+ */
16156
+ const createVideo = async (formData, onProgress) => {
16157
+ const client = getActiveClient();
16158
+ client.log('file/createVideo', formData);
16159
+ if (!formData.getAll('files').length)
16160
+ throw new Error('The formData object must have a `files` key.');
16161
+ const headers = 'getHeaders' in formData
16162
+ ? formData.getHeaders()
16163
+ : { 'content-type': 'multipart/form-data' };
16164
+ const { data } = await client.http.post('/api/v4/videos', formData, {
16165
+ headers,
16166
+ onUploadProgress({ loaded, total }) {
16167
+ onProgress && onProgress(Math.round((loaded * 100) / total));
16168
+ },
16169
+ });
16170
+ // API-FIX: payload should be serialized properly
16171
+ // const { files } = data
16172
+ const cachedAt = client.cache && Date.now();
16173
+ if (client.cache)
16174
+ ingestInCache({ files: data }, { cachedAt });
16175
+ return {
16176
+ data,
16177
+ cachedAt,
16178
+ };
16179
+ };
16180
+ // TODO: consider doing local creation with URL.createObjectURL()
16181
+
16182
+ /**
16183
+ * ```js
16184
+ * import { createImage } from '@amityco/ts-sdk'
16185
+ * const created = await createImage(formData)
16186
+ * ```
16187
+ *
16188
+ * Creates an {@link Amity.File<'image'>}
16189
+ *
16190
+ * @param formData The data necessary to create a new {@link Amity.File<'image'>}
16191
+ * @param onProgress The callback to track the upload progress
16192
+ * @returns The newly created {@link Amity.File<'image'>}
16193
+ *
16194
+ * @category File API
16195
+ * @async
16196
+ */
16197
+ const createImage = async (formData, onProgress) => {
16198
+ const client = getActiveClient();
16199
+ client.log('file/createImage', formData);
16200
+ if (!formData.getAll('files').length)
16201
+ throw new Error('The formData object must have a `files` key.');
16202
+ const headers = 'getHeaders' in formData
16203
+ ? formData.getHeaders()
16204
+ : { 'content-type': 'multipart/form-data' };
16205
+ const { data } = await client.http.post('/api/v4/images', formData, {
16206
+ headers,
16207
+ onUploadProgress({ loaded, total }) {
16208
+ onProgress && onProgress(Math.round((loaded * 100) / total));
16209
+ },
16210
+ });
16211
+ // API-FIX: payload should be serialized properly
16212
+ // const { files } = data
16213
+ const cachedAt = client.cache && Date.now();
16214
+ if (client.cache)
16215
+ ingestInCache({ files: data }, { cachedAt });
16216
+ return {
16217
+ data,
16218
+ cachedAt,
16219
+ };
16220
+ };
16221
+ // TODO: consider doing local creation with URL.createObjectURL()
16222
+
16121
16223
  /**
16122
16224
  * ```js
16123
16225
  * import { observeFile } from '@amityco/ts-sdk'
@@ -16349,13 +16451,15 @@ const getMessages = async (messageIds) => {
16349
16451
  const client = getActiveClient();
16350
16452
  client.log('message/getMessages', messageIds);
16351
16453
  // API-FIX: endpoint should not be /list, parameters should be querystring.
16352
- const { data } = await client.http.get(`/api/v3/messages/list`, { params: { messageIds } });
16454
+ const { data } = await client.http.get(`/api/v3/messages/list`, {
16455
+ params: { messageIds },
16456
+ });
16353
16457
  const cachedAt = client.cache && Date.now();
16354
16458
  if (client.cache)
16355
16459
  ingestInCache(data, { cachedAt });
16356
16460
  return {
16357
16461
  data: data.messages,
16358
- cachedAt
16462
+ cachedAt,
16359
16463
  };
16360
16464
  };
16361
16465
  /**
@@ -16381,7 +16485,7 @@ getMessages.locally = (messageIds) => {
16381
16485
  .map(messageId => pullFromCache(['message', 'get', messageId]))
16382
16486
  .filter(Boolean);
16383
16487
  const messages = cached.map(({ data }) => data);
16384
- const oldest = (_a = cached.sort((a, b) => a.cachedAt < b.cachedAt ? -1 : 1)) === null || _a === void 0 ? void 0 : _a[0];
16488
+ const oldest = (_a = cached.sort((a, b) => (a.cachedAt < b.cachedAt ? -1 : 1))) === null || _a === void 0 ? void 0 : _a[0];
16385
16489
  if ((cached === null || cached === void 0 ? void 0 : cached.length) < messageIds.length)
16386
16490
  return;
16387
16491
  return {
@@ -16407,19 +16511,16 @@ getMessages.locally = (messageIds) => {
16407
16511
  const queryMessages = async (query) => {
16408
16512
  const client = getActiveClient();
16409
16513
  client.log('message/queryMessages', query);
16410
- const { page = { limit: 10 } } = query, params = __rest(query
16411
- // API-FIX: parameters should be querystring. (1)
16412
- // API-FIX: backend should answer Amity.Response (2)
16413
- // API-FIX: pagination should not be indexed on channelSegment (3)
16414
- // const { data } = await client.http.get<Amity.Response<Amity.Paged<Amity.MessagePayload>>>(
16415
- , ["page"]);
16514
+ const { page = { limit: 10 } } = query, params = __rest(query, ["page"]);
16416
16515
  // API-FIX: parameters should be querystring. (1)
16417
16516
  // API-FIX: backend should answer Amity.Response (2)
16418
16517
  // API-FIX: pagination should not be indexed on channelSegment (3)
16419
16518
  // const { data } = await client.http.get<Amity.Response<Amity.Paged<Amity.MessagePayload>>>(
16420
- const { data } = await client.http.get(`/api/v3/messages`, { params: Object.assign(Object.assign({}, params), { options: {
16519
+ const { data } = await client.http.get(`/api/v3/messages`, {
16520
+ params: Object.assign(Object.assign({}, params), { options: {
16421
16521
  token: toToken(page, 'afterbefore'),
16422
- } }), });
16522
+ } }),
16523
+ });
16423
16524
  // API-FIX: backend should answer Amity.Response (2)
16424
16525
  // const { paging, messages } = unwrapPayload(data)
16425
16526
  const { paging } = data, payload = __rest(data, ["paging"]);
@@ -16427,7 +16528,11 @@ const queryMessages = async (query) => {
16427
16528
  const cachedAt = client.cache && Date.now();
16428
16529
  if (client.cache) {
16429
16530
  ingestInCache(payload, { cachedAt });
16430
- const cacheKey = ['message', 'query', Object.assign(Object.assign({}, params), { options: Object.assign({}, page) })];
16531
+ const cacheKey = [
16532
+ 'message',
16533
+ 'query',
16534
+ Object.assign(Object.assign({}, params), { options: Object.assign({}, page) }),
16535
+ ];
16431
16536
  pushToCache(cacheKey, { messages: messages.map(getResolver('message')), paging });
16432
16537
  }
16433
16538
  const nextPage = toPage(paging.next);
@@ -16529,7 +16634,7 @@ createMessage.optimistically = (bundle) => {
16529
16634
  fireEvent('v3.message.didCreate', { messages: [message] });
16530
16635
  return {
16531
16636
  data: message,
16532
- cachedAt: -1
16637
+ cachedAt: -1,
16533
16638
  };
16534
16639
  };
16535
16640
 
@@ -16593,7 +16698,7 @@ updateMessage.optimistically = (messageId, patch) => {
16593
16698
  fireEvent('v3.message.didUpdate', { messages: [updated] });
16594
16699
  return {
16595
16700
  data: updated,
16596
- cachedAt
16701
+ cachedAt,
16597
16702
  };
16598
16703
  };
16599
16704
 
@@ -16645,7 +16750,7 @@ deleteMessage.optimistically = (messageId) => {
16645
16750
  fireEvent('v3.message.didDelete', { messages: [deleted] });
16646
16751
  return {
16647
16752
  data: deleted,
16648
- cachedAt
16753
+ cachedAt,
16649
16754
  };
16650
16755
  };
16651
16756
 
@@ -16666,17 +16771,15 @@ deleteMessage.optimistically = (messageId) => {
16666
16771
  const queryPosts = async (query) => {
16667
16772
  const client = getActiveClient();
16668
16773
  client.log('post/queryPosts', query);
16669
- const { page = { limit: 10 } } = query, params = __rest(query
16670
- // API-FIX: parameters should be querystring. (1)
16671
- // API-FIX: backend should answer Amity.Response (2)
16672
- // const { data } = await client.http.get<Amity.Response<Amity.PagedResponse<Amity.PostPayload>>>(
16673
- , ["page"]);
16774
+ const { page = { limit: 10 } } = query, params = __rest(query, ["page"]);
16674
16775
  // API-FIX: parameters should be querystring. (1)
16675
16776
  // API-FIX: backend should answer Amity.Response (2)
16676
16777
  // const { data } = await client.http.get<Amity.Response<Amity.PagedResponse<Amity.PostPayload>>>(
16677
- const { data } = await client.http.get(`/api/v4/posts`, { params: Object.assign(Object.assign({}, params), { options: {
16778
+ const { data } = await client.http.get(`/api/v4/posts`, {
16779
+ params: Object.assign(Object.assign({}, params), { options: {
16678
16780
  token: toToken(page, 'afterbeforeraw'),
16679
- } }), });
16781
+ } }),
16782
+ });
16680
16783
  // API-FIX: backend should answer Amity.Response (2)
16681
16784
  // const { paging, posts } = unwrapPayload(data)
16682
16785
  // unpacking
@@ -16746,13 +16849,15 @@ const getPosts = async (postIds) => {
16746
16849
  client.log('post/getPosts', postIds);
16747
16850
  const encodedPostIds = postIds.map(postId => encodeURIComponent(postId));
16748
16851
  // API-FIX: endpoint should not be /list, parameters should be querystring.
16749
- const { data } = await client.http.get(`/api/v3/posts/list`, { params: { postIds: encodedPostIds } });
16852
+ const { data } = await client.http.get(`/api/v3/posts/list`, {
16853
+ params: { postIds: encodedPostIds },
16854
+ });
16750
16855
  const cachedAt = client.cache && Date.now();
16751
16856
  if (client.cache)
16752
16857
  ingestInCache(data, { cachedAt });
16753
16858
  return {
16754
16859
  data: data.posts,
16755
- cachedAt
16860
+ cachedAt,
16756
16861
  };
16757
16862
  };
16758
16863
  /**
@@ -16778,7 +16883,7 @@ getPosts.locally = (postIds) => {
16778
16883
  .map(postId => pullFromCache(['post', 'get', postId]))
16779
16884
  .filter(Boolean);
16780
16885
  const posts = cached.map(({ data }) => data);
16781
- const oldest = (_a = cached.sort((a, b) => a.cachedAt < b.cachedAt ? -1 : 1)) === null || _a === void 0 ? void 0 : _a[0];
16886
+ const oldest = (_a = cached.sort((a, b) => (a.cachedAt < b.cachedAt ? -1 : 1))) === null || _a === void 0 ? void 0 : _a[0];
16782
16887
  if ((cached === null || cached === void 0 ? void 0 : cached.length) < postIds.length)
16783
16888
  return;
16784
16889
  return {
@@ -16829,7 +16934,7 @@ const getPost = async (postId) => {
16829
16934
  /**
16830
16935
  * ```js
16831
16936
  * import { getPost } from '@amityco/ts-sdk'
16832
- * const { data. post } = getPost.locally('foobar')
16937
+ * const { data: post } = getPost.locally('foobar')
16833
16938
  * ```
16834
16939
  *
16835
16940
  * Fetches a {@link Amity.Post} object from cache
@@ -16875,8 +16980,10 @@ const createPost = async (bundle) => {
16875
16980
  const client = getActiveClient();
16876
16981
  client.log('post/createPost', bundle);
16877
16982
  // API-FIX: backend rejects that we pass the dataType manually T_T
16878
- if (!bundle.dataType || ['text', 'image', 'file', 'video'].includes(bundle.dataType))
16983
+ if (!bundle.dataType || ['text', 'image', 'file', 'video'].includes(bundle.dataType)) {
16984
+ // eslint-disable-next-line no-param-reassign
16879
16985
  delete bundle.dataType;
16986
+ }
16880
16987
  const { data } = await client.http.post('/api/v4/posts', bundle);
16881
16988
  const cachedAt = client.cache && Date.now();
16882
16989
  if (client.cache)
@@ -16944,15 +17051,21 @@ const queryCommunities = async (query) => {
16944
17051
  // API-FIX: parameters should be querystring.
16945
17052
  // API-FIX: backend doesnt answer Amity.Response
16946
17053
  // const { data } = await client.http.get<Amity.Response<Amity.PagedResponse<CommunityPayload>>>(
16947
- const { data } = await client.http.get(`/api/v3/communities`, { params: Object.assign(Object.assign({}, params), { keyword: displayName, filter: membership, options: {
16948
- token: toToken(page, 'skiplimit')
16949
- } }) });
17054
+ const { data } = await client.http.get(`/api/v3/communities`, {
17055
+ params: Object.assign(Object.assign({}, params), { keyword: displayName, filter: membership, options: {
17056
+ token: toToken(page, 'skiplimit'),
17057
+ } }),
17058
+ });
16950
17059
  const { paging } = data, payload = __rest(data, ["paging"]);
16951
17060
  const { communities } = payload;
16952
17061
  const cachedAt = client.cache && Date.now();
16953
17062
  if (client.cache) {
16954
17063
  ingestInCache(payload, { cachedAt });
16955
- const cacheKey = ['community', 'query', Object.assign(Object.assign({}, params), { options: Object.assign({}, page) })];
17064
+ const cacheKey = [
17065
+ 'community',
17066
+ 'query',
17067
+ Object.assign(Object.assign({}, params), { options: Object.assign({}, page) }),
17068
+ ];
16956
17069
  pushToCache(cacheKey, { communities: communities.map(getResolver('community')), paging });
16957
17070
  }
16958
17071
  const nextPage = toPage(paging.next);
@@ -16996,13 +17109,15 @@ const getCommunities = async (communityIds) => {
16996
17109
  const client = getActiveClient();
16997
17110
  client.log('community/getCommunities', communityIds);
16998
17111
  // API-FIX: endpoint should not be /list, parameters should be querystring.
16999
- const { data } = await client.http.get(`/api/v3/communities/list`, { params: { communityIds } });
17112
+ const { data } = await client.http.get(`/api/v3/communities/list`, {
17113
+ params: { communityIds },
17114
+ });
17000
17115
  const cachedAt = client.cache && Date.now();
17001
17116
  if (client.cache)
17002
17117
  ingestInCache(data, { cachedAt });
17003
17118
  return {
17004
17119
  data: data.communities,
17005
- cachedAt
17120
+ cachedAt,
17006
17121
  };
17007
17122
  };
17008
17123
  /**
@@ -17028,7 +17143,7 @@ getCommunities.locally = (communityIds) => {
17028
17143
  .map(communityId => pullFromCache(['community', 'get', communityId]))
17029
17144
  .filter(Boolean);
17030
17145
  const communities = cached.map(({ data }) => data);
17031
- const oldest = (_a = cached.sort((a, b) => a.cachedAt < b.cachedAt ? -1 : 1)) === null || _a === void 0 ? void 0 : _a[0];
17146
+ const oldest = (_a = cached.sort((a, b) => (a.cachedAt < b.cachedAt ? -1 : 1))) === null || _a === void 0 ? void 0 : _a[0];
17032
17147
  if ((cached === null || cached === void 0 ? void 0 : cached.length) < communityIds.length)
17033
17148
  return;
17034
17149
  return {
@@ -17198,8 +17313,7 @@ const joinCommunity = async (communityId) => {
17198
17313
  ingestInCache(data, { cachedAt });
17199
17314
  fireEvent('community.joined', data);
17200
17315
  const { communityUsers } = data;
17201
- return !!communityUsers.find(communityUser => (communityUser.communityId === communityId
17202
- && communityUser.communityMembership === 'member'));
17316
+ return !!communityUsers.find(communityUser => communityUser.communityId === communityId && communityUser.communityMembership === 'member');
17203
17317
  };
17204
17318
 
17205
17319
  /**
@@ -17225,8 +17339,7 @@ const leaveCommunity = async (communityId) => {
17225
17339
  ingestInCache(data, { cachedAt });
17226
17340
  fireEvent('community.left', data);
17227
17341
  const { communityUsers } = data;
17228
- return !!communityUsers.find(communityUser => (communityUser.communityId === communityId
17229
- && communityUser.communityMembership !== 'member'));
17342
+ return !!communityUsers.find(communityUser => communityUser.communityId === communityId && communityUser.communityMembership !== 'member');
17230
17343
  };
17231
17344
 
17232
17345
  /**
@@ -17242,7 +17355,7 @@ const leaveCommunity = async (communityId) => {
17242
17355
  *
17243
17356
  * @category Community API
17244
17357
  * @async
17245
- **/
17358
+ * */
17246
17359
  const queryCommunityMembers = async (query) => {
17247
17360
  const client = getActiveClient();
17248
17361
  client.log('community/queryCommunityMembers', query);
@@ -17304,8 +17417,7 @@ const addCommunityMembers = async (communityId, userIds) => {
17304
17417
  ingestInCache(data);
17305
17418
  fireEvent('community.userAdded', data);
17306
17419
  const { communityUsers } = data;
17307
- return !!communityUsers.find(communityUser => communityUser.communityId === communityId &&
17308
- communityUser.communityMembership === 'member');
17420
+ return !!communityUsers.find(communityUser => communityUser.communityId === communityId && communityUser.communityMembership === 'member');
17309
17421
  };
17310
17422
 
17311
17423
  /**
@@ -17331,60 +17443,61 @@ const removeCommunityMembers = async (communityId, userIds) => {
17331
17443
  ingestInCache(data);
17332
17444
  fireEvent('community.userRemoved', data);
17333
17445
  const { communityUsers } = data;
17334
- return !!communityUsers.find(communityUser => communityUser.communityId === communityId &&
17335
- communityUser.communityMembership !== 'member');
17446
+ return !!communityUsers.find(communityUser => communityUser.communityId === communityId && communityUser.communityMembership !== 'member');
17336
17447
  };
17337
17448
 
17338
17449
  /**
17339
17450
  * ```js
17340
- * import { addCommunityMembersRole } from '@amityco/ts-sdk'
17341
- * const updated = await addCommunityMembersRole(communityId, 'foo', ['bar'])
17451
+ * import { addCommunityMembersRoles } from '@amityco/ts-sdk'
17452
+ * const updated = await addCommunityMembersRoles(communityId, ['foo'], ['bar'])
17342
17453
  * ```
17343
17454
  *
17344
- * Adds an {@link Amity.Role} to a list of {@link Amity.User} on a {@link Amity.Community}
17455
+ * Adds a list of {@link Amity.Role} to a list of {@link Amity.User} on a {@link Amity.Community}
17345
17456
  *
17346
17457
  * @param communityId The ID of the {@link Amity.Community} to perform
17347
- * @param roleId The ID of the {@link Amity.Role} to apply
17458
+ * @param roleIds Array of IDs of the {@link Amity.Role} to apply
17348
17459
  * @param userId Array of IDs of the {@link Amity.User} to perform
17349
17460
  * @returns A success boolean if the {@link Amity.Role} were added to list of {@link Amity.User} in the {@link Amity.Community}
17350
17461
  *
17351
17462
  * @category Community API
17352
17463
  * @async
17353
17464
  */
17354
- const addCommunityMembersRole = async (communityId, roleId, userIds) => {
17465
+ const addCommunityMembersRoles = async (communityId, roleIds, userIds) => {
17355
17466
  const client = getActiveClient();
17356
- client.log('community/addCommunityMembersRole', communityId, roleId, userIds);
17357
- const { data } = await client.http.post(`/api/v3/communities/${communityId}/users/roles`, { communityId, role: roleId, userIds });
17467
+ client.log('community/addCommunityMembersRoles', communityId, roleIds, userIds);
17468
+ const { data } = await client.http.post(`/api/v4/communities/${communityId}/users/roles`, { communityId, roles: roleIds, userIds });
17358
17469
  if (client.cache)
17359
17470
  ingestInCache(data);
17360
17471
  const { communityUsers } = data;
17361
- return !!communityUsers.find(communityUser => communityUser.communityId === communityId && communityUser.roles.includes(roleId));
17472
+ return !!communityUsers.find(communityUser => communityUser.communityId === communityId &&
17473
+ roleIds.some(role => communityUser.roles.includes(role)));
17362
17474
  };
17363
17475
 
17364
17476
  /**
17365
17477
  * ```js
17366
- * import { removeCommunityMembersRole } from '@amityco/ts-sdk'
17367
- * const updated = await removeCommunityMembersRole(communityId, 'foo', ['bar'])
17478
+ * import { removeCommunityMembersRoles } from '@amityco/ts-sdk'
17479
+ * const updated = await removeCommunityMembersRoles(communityId, ['foo'], ['bar'])
17368
17480
  * ```
17369
17481
  *
17370
- * Removes an {@link Amity.Role} from a list of {@link Amity.User} on a {@link Amity.Community}
17482
+ * Removes a list of {@link Amity.Role} from a list of {@link Amity.User} on a {@link Amity.Community}
17371
17483
  *
17372
17484
  * @param communityId The ID of the {@link Amity.Community} to perform
17373
- * @param role The ID of the {@link Amity.Role} to apply
17485
+ * @param roleIds Array of IDs of the {@link Amity.Role} to apply
17374
17486
  * @param userId Array of IDs of the {@link Amity.User} to perform
17375
17487
  * @returns A success boolean if the {@link Amity.Role} were removed from list of {@link Amity.User} in the {@link Amity.Community}
17376
17488
  *
17377
17489
  * @category Community API
17378
17490
  * @async
17379
17491
  */
17380
- const removeCommunityMembersRole = async (communityId, roleId, userIds) => {
17492
+ const removeCommunityMembersRoles = async (communityId, roleIds, userIds) => {
17381
17493
  const client = getActiveClient();
17382
- client.log('community/removeCommunityMembersRole', communityId, roleId, userIds);
17383
- const { data } = await client.http.delete(`/api/v3/communities/${communityId}/users/roles`, { data: { communityId, role: roleId, userIds } });
17494
+ client.log('community/removeCommunityMembersRoles', communityId, roleIds, userIds);
17495
+ const { data } = await client.http.delete(`/api/v4/communities/${communityId}/users/roles`, { data: { communityId, roles: roleIds, userIds } });
17384
17496
  if (client.cache)
17385
17497
  ingestInCache(data);
17386
17498
  const { communityUsers } = data;
17387
- return !!communityUsers.find(communityUser => communityUser.communityId === communityId && !communityUser.roles.includes(roleId));
17499
+ return !!communityUsers.find(communityUser => communityUser.communityId === communityId &&
17500
+ !roleIds.some(role => communityUser.roles.includes(role)));
17388
17501
  };
17389
17502
 
17390
17503
  /**
@@ -17530,7 +17643,7 @@ getRecommendedCommunities.locally = (query) => {
17530
17643
  const deletePost = async (postId, permanent = false) => {
17531
17644
  const client = getActiveClient();
17532
17645
  client.log('post/deletePost', postId);
17533
- let post = await getPost(postId);
17646
+ const post = await getPost(postId);
17534
17647
  // API-FIX: This endpoint has not been implemented yet.
17535
17648
  await client.http.delete(`/api/v4/posts/${encodeURIComponent(postId)}`, {
17536
17649
  params: {
@@ -17577,12 +17690,7 @@ const deletePost = async (postId, permanent = false) => {
17577
17690
  const queryComments = async (query) => {
17578
17691
  const client = getActiveClient();
17579
17692
  client.log('comment/queryComments', query);
17580
- const { page = { limit: 10 } } = query, params = __rest(query
17581
- // const filterByParentId = query.parentId !== undefined
17582
- // API-FIX: parameters should be querystring. (1)
17583
- // API-FIX: backend should answer Amity.Response (2)
17584
- // const { data } = await client.http.get<Amity.Response<Amity.PagedResponse<Amity.CommentPayload>>>(
17585
- , ["page"]);
17693
+ const { page = { limit: 10 } } = query, params = __rest(query, ["page"]);
17586
17694
  // const filterByParentId = query.parentId !== undefined
17587
17695
  // API-FIX: parameters should be querystring. (1)
17588
17696
  // API-FIX: backend should answer Amity.Response (2)
@@ -17601,7 +17709,11 @@ const queryComments = async (query) => {
17601
17709
  const cachedAt = client.cache && Date.now();
17602
17710
  if (client.cache) {
17603
17711
  ingestInCache(payload, { cachedAt });
17604
- const cacheKey = ['comment', 'query', Object.assign(Object.assign({}, params), { options: Object.assign({}, page) })];
17712
+ const cacheKey = [
17713
+ 'comment',
17714
+ 'query',
17715
+ Object.assign(Object.assign({}, params), { options: Object.assign({}, page) }),
17716
+ ];
17605
17717
  pushToCache(cacheKey, { comments: comments.map(getResolver('comment')), paging });
17606
17718
  }
17607
17719
  const nextPage = toPage(paging.next);
@@ -17662,13 +17774,15 @@ const getComments = async (commentIds) => {
17662
17774
  client.log('comment/getComments', commentIds);
17663
17775
  const encodedCommentIds = commentIds.map(commentId => encodeURIComponent(commentId));
17664
17776
  // API-FIX: endpoint should not be /list, parameters should be querystring.
17665
- const { data } = await client.http.get(`/api/v3/comments/list`, { params: { commentIds: encodedCommentIds } });
17777
+ const { data } = await client.http.get(`/api/v3/comments/list`, {
17778
+ params: { commentIds: encodedCommentIds },
17779
+ });
17666
17780
  const cachedAt = client.cache && Date.now();
17667
17781
  if (client.cache)
17668
17782
  ingestInCache(data, { cachedAt });
17669
17783
  return {
17670
17784
  data: data.comments,
17671
- cachedAt
17785
+ cachedAt,
17672
17786
  };
17673
17787
  };
17674
17788
  /**
@@ -17694,7 +17808,7 @@ getComments.locally = (commentIds) => {
17694
17808
  .map(commentId => pullFromCache(['comment', 'get', commentId]))
17695
17809
  .filter(Boolean);
17696
17810
  const comments = cached.map(({ data }) => data);
17697
- const oldest = (_a = cached.sort((a, b) => a.cachedAt < b.cachedAt ? -1 : 1)) === null || _a === void 0 ? void 0 : _a[0];
17811
+ const oldest = (_a = cached.sort((a, b) => (a.cachedAt < b.cachedAt ? -1 : 1))) === null || _a === void 0 ? void 0 : _a[0];
17698
17812
  if ((cached === null || cached === void 0 ? void 0 : cached.length) < commentIds.length)
17699
17813
  return;
17700
17814
  return {
@@ -17877,9 +17991,9 @@ const deleteComment = async (commentId, permanent = false) => {
17877
17991
  const fetchReference = async (referenceType, referenceId) => {
17878
17992
  if (referenceType === 'message')
17879
17993
  return getMessage(referenceId);
17880
- else if (referenceType === 'post')
17994
+ if (referenceType === 'post')
17881
17995
  return getPost(referenceId);
17882
- else if (referenceType === 'comment')
17996
+ if (referenceType === 'comment')
17883
17997
  return getComment(referenceId);
17884
17998
  throw new Error(`Incorrect referenceType: ${referenceType}`);
17885
17999
  };
@@ -17916,7 +18030,9 @@ const preparePayloadForCache = (event, payload) => {
17916
18030
  if (!cached.myReactions.includes(payload.reactor.reactionName)) {
17917
18031
  return;
17918
18032
  }
17919
- Object.assign(model, { myReactions: cached.myReactions.filter(x => x !== payload.reactor.reactionName) });
18033
+ Object.assign(model, {
18034
+ myReactions: cached.myReactions.filter(x => x !== payload.reactor.reactionName),
18035
+ });
17920
18036
  }
17921
18037
  };
17922
18038
 
@@ -17935,7 +18051,7 @@ const preparePayloadForCache = (event, payload) => {
17935
18051
  *
17936
18052
  * @category Reaction API
17937
18053
  * @async
17938
- **/
18054
+ * */
17939
18055
  const addReaction = async (referenceType, referenceId, reactionName) => {
17940
18056
  var _a, _b;
17941
18057
  const client = getActiveClient();
@@ -17944,7 +18060,11 @@ const addReaction = async (referenceType, referenceId, reactionName) => {
17944
18060
  referenceType,
17945
18061
  reactionName,
17946
18062
  });
17947
- await client.http.post('/api/v2/reactions', { referenceId, referenceType, reactionName });
18063
+ await client.http.post('/api/v2/reactions', {
18064
+ referenceId,
18065
+ referenceType,
18066
+ reactionName,
18067
+ });
17948
18068
  const model = await fetchReference(referenceType, referenceId);
17949
18069
  dispatchReactable(referenceType, model.data);
17950
18070
  return (_b = (_a = model.data.myReactions) === null || _a === void 0 ? void 0 : _a.includes(reactionName)) !== null && _b !== void 0 ? _b : false;
@@ -17963,7 +18083,7 @@ const addReaction = async (referenceType, referenceId, reactionName) => {
17963
18083
  * @returns The added result.
17964
18084
  *
17965
18085
  * @category Reaction API
17966
- **/
18086
+ * */
17967
18087
  addReaction.optimistically = (referenceType, referenceId, reactionName) => {
17968
18088
  var _a, _b, _c, _d, _e;
17969
18089
  const client = getActiveClient();
@@ -17974,7 +18094,11 @@ addReaction.optimistically = (referenceType, referenceId, reactionName) => {
17974
18094
  });
17975
18095
  if (!client.cache)
17976
18096
  return;
17977
- const model = pullFromCache([referenceType, 'get', referenceId]);
18097
+ const model = pullFromCache([
18098
+ referenceType,
18099
+ 'get',
18100
+ referenceId,
18101
+ ]);
17978
18102
  if (!(model === null || model === void 0 ? void 0 : model.data) || ((_a = model.data.myReactions) === null || _a === void 0 ? void 0 : _a.includes(reactionName)))
17979
18103
  return;
17980
18104
  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 }) });
@@ -17998,7 +18122,7 @@ addReaction.optimistically = (referenceType, referenceId, reactionName) => {
17998
18122
  *
17999
18123
  * @category Reaction API
18000
18124
  * @async
18001
- **/
18125
+ * */
18002
18126
  const removeReaction = async (referenceType, referenceId, reactionName) => {
18003
18127
  var _a, _b;
18004
18128
  const client = getActiveClient();
@@ -18007,7 +18131,9 @@ const removeReaction = async (referenceType, referenceId, reactionName) => {
18007
18131
  referenceType,
18008
18132
  reactionName,
18009
18133
  });
18010
- await client.http.delete(`/api/v2/reactions`, { data: { referenceId, referenceType, reactionName } });
18134
+ await client.http.delete(`/api/v2/reactions`, {
18135
+ data: { referenceId, referenceType, reactionName },
18136
+ });
18011
18137
  const model = await fetchReference(referenceType, referenceId);
18012
18138
  dispatchReactable(referenceType, model.data);
18013
18139
  return (_b = !((_a = model.data.myReactions) === null || _a === void 0 ? void 0 : _a.includes(reactionName))) !== null && _b !== void 0 ? _b : false;
@@ -18026,7 +18152,7 @@ const removeReaction = async (referenceType, referenceId, reactionName) => {
18026
18152
  * @returns The added result.
18027
18153
  *
18028
18154
  * @category Reaction API
18029
- **/
18155
+ * */
18030
18156
  removeReaction.optimistically = (referenceType, referenceId, reactionName) => {
18031
18157
  var _a, _b, _c, _d, _e;
18032
18158
  const client = getActiveClient();
@@ -18037,7 +18163,11 @@ removeReaction.optimistically = (referenceType, referenceId, reactionName) => {
18037
18163
  });
18038
18164
  if (!client.cache)
18039
18165
  return;
18040
- const model = pullFromCache([referenceType, 'get', referenceId]);
18166
+ const model = pullFromCache([
18167
+ referenceType,
18168
+ 'get',
18169
+ referenceId,
18170
+ ]);
18041
18171
  if (!(model === null || model === void 0 ? void 0 : model.data) || !((_a = model.data.myReactions) === null || _a === void 0 ? void 0 : _a.includes(reactionName)))
18042
18172
  return;
18043
18173
  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) }) });
@@ -18216,6 +18346,7 @@ const onPostReactionAdded = (callback) => {
18216
18346
  }
18217
18347
  else {
18218
18348
  preparePayloadForCache('post.addReaction', payload);
18349
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
18219
18350
  const postPayload = __rest(payload, ["reactor"]);
18220
18351
  ingestInCache(postPayload);
18221
18352
  const post = pullFromCache(['post', 'get', payload.posts[0].postId]);
@@ -18248,6 +18379,7 @@ const onPostReactionRemoved = (callback) => {
18248
18379
  }
18249
18380
  else {
18250
18381
  preparePayloadForCache('post.removeReaction', payload);
18382
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
18251
18383
  const postPayload = __rest(payload, ["reactor"]);
18252
18384
  ingestInCache(postPayload);
18253
18385
  const post = pullFromCache(['post', 'get', payload.posts[0].postId]);
@@ -18267,7 +18399,11 @@ const createCommentEventSubscriber = (event, callback) => {
18267
18399
  }
18268
18400
  else {
18269
18401
  ingestInCache(payload);
18270
- const comment = pullFromCache(['comment', 'get', payload.comments[0].commentId]);
18402
+ const comment = pullFromCache([
18403
+ 'comment',
18404
+ 'get',
18405
+ payload.comments[0].commentId,
18406
+ ]);
18271
18407
  if (['comment.created'].includes(event)) {
18272
18408
  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; });
18273
18409
  queries === null || queries === void 0 ? void 0 : queries.map(({ key, data }) => upsertInCache(key, data, { cachedAt: -1 }));
@@ -18386,9 +18522,14 @@ const onCommentReactionAdded = (callback) => {
18386
18522
  }
18387
18523
  else {
18388
18524
  preparePayloadForCache('comment.addReaction', payload);
18525
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
18389
18526
  const commentPayload = __rest(payload, ["reactor"]);
18390
18527
  ingestInCache(commentPayload);
18391
- const comment = pullFromCache(['comment', 'get', payload.comments[0].commentId]);
18528
+ const comment = pullFromCache([
18529
+ 'comment',
18530
+ 'get',
18531
+ payload.comments[0].commentId,
18532
+ ]);
18392
18533
  callback(comment.data);
18393
18534
  }
18394
18535
  };
@@ -18418,9 +18559,14 @@ const onCommentReactionRemoved = (callback) => {
18418
18559
  }
18419
18560
  else {
18420
18561
  preparePayloadForCache('comment.removeReaction', payload);
18562
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
18421
18563
  const commentPayload = __rest(payload, ["reactor"]);
18422
18564
  ingestInCache(commentPayload);
18423
- const comment = pullFromCache(['comment', 'get', payload.comments[0].commentId]);
18565
+ const comment = pullFromCache([
18566
+ 'comment',
18567
+ 'get',
18568
+ payload.comments[0].commentId,
18569
+ ]);
18424
18570
  callback(comment.data);
18425
18571
  }
18426
18572
  };
@@ -18443,7 +18589,7 @@ const onCommentReactionRemoved = (callback) => {
18443
18589
  * @returns an {@link Amity.Unsubscriber} function to stop listening
18444
18590
  *
18445
18591
  * @category Message Events
18446
- **/
18592
+ * */
18447
18593
  const onReactionRemoved = (referenceType, referenceId, callback) => {
18448
18594
  const callbackWrapper = (model) => {
18449
18595
  if (getResolver(referenceType)(model) === referenceId) {
@@ -18454,7 +18600,11 @@ const onReactionRemoved = (referenceType, referenceId, callback) => {
18454
18600
  const client = getActiveClient();
18455
18601
  const filter = (payload) => {
18456
18602
  var _a;
18457
- const cached = pullFromCache(['message', 'get', payload.messages[0].messageId]);
18603
+ const cached = pullFromCache([
18604
+ 'message',
18605
+ 'get',
18606
+ payload.messages[0].messageId,
18607
+ ]);
18458
18608
  const isReactionEvent = ((_a = cached === null || cached === void 0 ? void 0 : cached.data) === null || _a === void 0 ? void 0 : _a.reactionsCount) !== payload.messages[0].reactionsCount;
18459
18609
  ingestInCache(payload);
18460
18610
  if (isReactionEvent) {
@@ -18504,12 +18654,12 @@ var REFERENCE_TYPES = {
18504
18654
  *
18505
18655
  * @category Report API
18506
18656
  * @async
18507
- **/
18657
+ * */
18508
18658
  const createReport = async (referenceType, referenceId) => {
18509
18659
  const client = getActiveClient();
18510
18660
  client.log('report/createReport', { referenceType, referenceId });
18511
18661
  const { domainName } = REFERENCE_TYPES[referenceType];
18512
- const { data } = await client.http.post(`/api/v3/${domainName}/${(encodeURIComponent(referenceId))}/flag`);
18662
+ const { data } = await client.http.post(`/api/v3/${domainName}/${encodeURIComponent(referenceId)}/flag`);
18513
18663
  if (client.cache)
18514
18664
  ingestInCache(data);
18515
18665
  const event = referenceType === 'message'
@@ -18531,7 +18681,7 @@ const createReport = async (referenceType, referenceId) => {
18531
18681
  *
18532
18682
  * @category Report API
18533
18683
  * @async
18534
- **/
18684
+ * */
18535
18685
  const deleteReport = async (referenceType, referenceId) => {
18536
18686
  const client = getActiveClient();
18537
18687
  client.log('report/deleteReport', { referenceType, referenceId });
@@ -18558,7 +18708,7 @@ const deleteReport = async (referenceType, referenceId) => {
18558
18708
  *
18559
18709
  * @category Report API
18560
18710
  * @async
18561
- **/
18711
+ * */
18562
18712
  const isReportedByMe = async (referenceType, referenceId) => {
18563
18713
  var _a, _b;
18564
18714
  const client = getActiveClient();
@@ -18593,15 +18743,21 @@ const queryChannels = async (query) => {
18593
18743
  // API-FIX: parameters should be querystring.
18594
18744
  // API-FIX: backend doesnt answer Amity.Response
18595
18745
  // const { data } = await client.http.get<Amity.Response<Amity.Paged<ChannelPayload>>>(
18596
- const { data } = await client.http.get(`/api/v3/channels`, { params: Object.assign(Object.assign({}, params), { keyword: displayName, filter: membership, options: {
18746
+ const { data } = await client.http.get(`/api/v3/channels`, {
18747
+ params: Object.assign(Object.assign({}, params), { keyword: displayName, filter: membership, options: {
18597
18748
  token: toToken(page, 'skiplimit'),
18598
- } }) });
18749
+ } }),
18750
+ });
18599
18751
  const { paging } = data, payload = __rest(data, ["paging"]);
18600
18752
  const { channels } = payload;
18601
18753
  const cachedAt = client.cache && Date.now();
18602
18754
  if (client.cache) {
18603
18755
  ingestInCache(payload, { cachedAt });
18604
- const cacheKey = ['channel', 'query', Object.assign(Object.assign({}, params), { options: Object.assign({}, page) })];
18756
+ const cacheKey = [
18757
+ 'channel',
18758
+ 'query',
18759
+ Object.assign(Object.assign({}, params), { options: Object.assign({}, page) }),
18760
+ ];
18605
18761
  pushToCache(cacheKey, { channels: channels.map(getResolver('channel')), paging });
18606
18762
  }
18607
18763
  const nextPage = toPage(paging.next);
@@ -18646,13 +18802,15 @@ const getChannels = async (channelIds) => {
18646
18802
  client.log('channel/getChannels', channelIds);
18647
18803
  const encodedChannelIds = channelIds.map(channelId => encodeURIComponent(channelId));
18648
18804
  // API-FIX: endpoint should not be /list, parameters should be querystring.
18649
- const { data } = await client.http.get(`/api/v3/channels/list`, { params: { channelIds: encodedChannelIds } });
18805
+ const { data } = await client.http.get(`/api/v3/channels/list`, {
18806
+ params: { channelIds: encodedChannelIds },
18807
+ });
18650
18808
  const cachedAt = client.cache && Date.now();
18651
18809
  if (client.cache)
18652
18810
  ingestInCache(data, { cachedAt });
18653
18811
  return {
18654
18812
  data: data.channels,
18655
- cachedAt
18813
+ cachedAt,
18656
18814
  };
18657
18815
  };
18658
18816
  /**
@@ -18678,7 +18836,7 @@ getChannels.locally = (channelIds) => {
18678
18836
  .map(channelId => pullFromCache(['channel', 'get', channelId]))
18679
18837
  .filter(Boolean);
18680
18838
  const channels = cached.map(({ data }) => data);
18681
- const oldest = (_a = cached.sort((a, b) => a.cachedAt < b.cachedAt ? -1 : 1)) === null || _a === void 0 ? void 0 : _a[0];
18839
+ const oldest = (_a = cached.sort((a, b) => (a.cachedAt < b.cachedAt ? -1 : 1))) === null || _a === void 0 ? void 0 : _a[0];
18682
18840
  if ((cached === null || cached === void 0 ? void 0 : cached.length) < channelIds.length)
18683
18841
  return;
18684
18842
  return {
@@ -18822,7 +18980,6 @@ const updateChannel = async (channelId, patch) => {
18822
18980
  const deleteChannel = async (channelId) => {
18823
18981
  const client = getActiveClient();
18824
18982
  client.log('channel/deleteChannel', channelId);
18825
- // API-FIX: This endpoint has not been implemented yet.
18826
18983
  await client.http.delete(`/api/v3/channels/${encodeURIComponent(channelId)}`);
18827
18984
  const deleted = await getChannel(channelId);
18828
18985
  // no need for event, fired by server
@@ -18850,8 +19007,7 @@ const joinChannel = async (channelId) => {
18850
19007
  if (client.cache)
18851
19008
  ingestInCache(data);
18852
19009
  const { channelUsers } = data;
18853
- return !!channelUsers.find(channelUser => (channelUser.channelId === channelId
18854
- && channelUser.membership === 'member'));
19010
+ return !!channelUsers.find(channelUser => channelUser.channelId === channelId && channelUser.membership === 'member');
18855
19011
  };
18856
19012
 
18857
19013
  /**
@@ -18875,8 +19031,7 @@ const leaveChannel = async (channelId) => {
18875
19031
  if (client.cache)
18876
19032
  ingestInCache(data);
18877
19033
  const { channelUsers } = data;
18878
- return !!channelUsers.find(channelUser => (channelUser.channelId === channelId
18879
- && channelUser.membership !== 'member'));
19034
+ return !!channelUsers.find(channelUser => channelUser.channelId === channelId && channelUser.membership !== 'member');
18880
19035
  };
18881
19036
 
18882
19037
  /**
@@ -18892,7 +19047,7 @@ const leaveChannel = async (channelId) => {
18892
19047
  *
18893
19048
  * @category Channel API
18894
19049
  * @async
18895
- **/
19050
+ * */
18896
19051
  const queryChannelMembers = async (query) => {
18897
19052
  const client = getActiveClient();
18898
19053
  client.log('channel/queryChannelMembers', query);
@@ -19388,7 +19543,11 @@ const createCommunityEventSubscriber = (event, callback) => {
19388
19543
  }
19389
19544
  else {
19390
19545
  ingestInCache(payload);
19391
- const community = pullFromCache(['community', 'get', payload.communities[0].communityId]);
19546
+ const community = pullFromCache([
19547
+ 'community',
19548
+ 'get',
19549
+ payload.communities[0].communityId,
19550
+ ]);
19392
19551
  callback(community.data);
19393
19552
  }
19394
19553
  };
@@ -19398,8 +19557,8 @@ function hasPermission(member, payload, permission) {
19398
19557
  if (member.permissions.some(x => x === permission)) {
19399
19558
  return true;
19400
19559
  }
19401
- return payload.users
19402
- .find(user => user.userId === member.userId)
19560
+ return payload
19561
+ .users.find(user => user.userId === member.userId)
19403
19562
  .permissions.some(x => x === permission);
19404
19563
  }
19405
19564
  function getEventRelatedMember(event, payload) {
@@ -19429,11 +19588,15 @@ const createCommunityMemberEventSubscriber = (event, callback) => {
19429
19588
  }
19430
19589
  else {
19431
19590
  ingestInCache(payload);
19432
- const community = pullFromCache(['community', 'get', payload.communities[0].communityId]);
19591
+ const community = pullFromCache([
19592
+ 'community',
19593
+ 'get',
19594
+ payload.communities[0].communityId,
19595
+ ]);
19433
19596
  const member = pullFromCache([
19434
19597
  'communityUsers',
19435
19598
  'get',
19436
- getResolver('communityUsers')(getEventRelatedMember(event, payload))
19599
+ getResolver('communityUsers')(getEventRelatedMember(event, payload)),
19437
19600
  ]);
19438
19601
  callback(community.data, member.data);
19439
19602
  }
@@ -19638,6 +19801,134 @@ const observeCommunity = (communityId, callback) => {
19638
19801
  };
19639
19802
  };
19640
19803
 
19804
+ /**
19805
+ * ```js
19806
+ * import { queryCategories } from '@amityco/ts-sdk'
19807
+ * const { data: categories, prevPage, nextPage } = await queryCategories()
19808
+ * ```
19809
+ *
19810
+ * Queries a paginable list of {@link Amity.Category} objects
19811
+ *
19812
+ * @param query The query parameters
19813
+ * @returns A page of {@link Amity.Category} objects
19814
+ *
19815
+ * @category Category API
19816
+ * @async
19817
+ * */
19818
+ const queryCategories = async (query) => {
19819
+ const client = getActiveClient();
19820
+ client.log('category/queryCategories', query);
19821
+ const _a = query !== null && query !== void 0 ? query : {}, { page = { limit: 10 } } = _a, params = __rest(_a, ["page"]);
19822
+ const { data } = await client.http.get(`/api/v3/community-categories`, {
19823
+ params: Object.assign(Object.assign({}, params), { options: {
19824
+ token: toToken(page, 'skiplimit'),
19825
+ } }),
19826
+ });
19827
+ const { paging } = data, payload = __rest(data, ["paging"]);
19828
+ const { categories } = payload;
19829
+ const cachedAt = client.cache && Date.now();
19830
+ if (client.cache) {
19831
+ ingestInCache(payload, { cachedAt });
19832
+ const cacheKey = [
19833
+ 'category',
19834
+ 'query',
19835
+ Object.assign(Object.assign({}, params), { options: Object.assign({}, page) }),
19836
+ ];
19837
+ pushToCache(cacheKey, { categories: categories.map(getResolver('category')), paging });
19838
+ }
19839
+ const nextPage = toPage(paging.next);
19840
+ const prevPage = toPage(paging.previous);
19841
+ return { data: categories, cachedAt, prevPage, nextPage };
19842
+ };
19843
+ /**
19844
+ * ```js
19845
+ * import { queryCategories } from '@amityco/ts-sdk'
19846
+ * const { data: categories, prevPage, nextPage } = queryCategories.locally()
19847
+ * ```
19848
+ *
19849
+ * Queries a paginable list of {@link Amity.Category} objects from cache
19850
+ *
19851
+ * @param query The query parameters
19852
+ * @returns categories
19853
+ *
19854
+ * @category category API
19855
+ */
19856
+ queryCategories.locally = (query) => {
19857
+ var _a, _b;
19858
+ const client = getActiveClient();
19859
+ client.log('category/queryCategories.locally', query);
19860
+ if (!client.cache)
19861
+ return;
19862
+ const _c = query !== null && query !== void 0 ? query : {}, { page = { limit: 10 } } = _c, params = __rest(_c, ["page"]);
19863
+ const queryKey = ['category', 'query', Object.assign(Object.assign({}, params), { options: Object.assign({}, page) })];
19864
+ const { data, cachedAt } = (_a = pullFromCache(queryKey)) !== null && _a !== void 0 ? _a : {};
19865
+ if (!(data === null || data === void 0 ? void 0 : data.categories.length))
19866
+ return;
19867
+ const categories = data.categories
19868
+ .map(categoryId => pullFromCache(['category', 'get', categoryId]))
19869
+ .filter(Boolean)
19870
+ .map(({ data }) => data);
19871
+ const prevPage = toPage(data === null || data === void 0 ? void 0 : data.paging.previous);
19872
+ const nextPage = toPage(data === null || data === void 0 ? void 0 : data.paging.next);
19873
+ return categories.length === ((_b = data === null || data === void 0 ? void 0 : data.categories) === null || _b === void 0 ? void 0 : _b.length)
19874
+ ? { data: categories, cachedAt, prevPage, nextPage }
19875
+ : undefined;
19876
+ };
19877
+
19878
+ /**
19879
+ * ```js
19880
+ * import { getCategory } from '@amityco/ts-sdk'
19881
+ * const { data: category } = await getCategory('foo')
19882
+ * ```
19883
+ *
19884
+ * Fetches a {@link Amity.Category} object
19885
+ *
19886
+ * @param categoryId the ID of the {@link Amity.Category} to fetch
19887
+ * @returns the associated {@link Amity.Category} object
19888
+ *
19889
+ * @category Category API
19890
+ * @async
19891
+ */
19892
+ const getCategory = async (categoryId) => {
19893
+ const client = getActiveClient();
19894
+ client.log('category/getCategory', categoryId);
19895
+ const { data } = await client.http.get(`/api/v3/community-categories/${encodeURIComponent(categoryId)}`);
19896
+ const cachedAt = client.cache && Date.now();
19897
+ if (client.cache)
19898
+ ingestInCache(data, { cachedAt });
19899
+ const { categories } = data;
19900
+ return {
19901
+ data: categories.find(category => category.categoryId === categoryId),
19902
+ cachedAt,
19903
+ };
19904
+ };
19905
+ /**
19906
+ * ```js
19907
+ * import { getCategory } from '@amityco/ts-sdk'
19908
+ * const { data: category } = getCategory.locally('foobar')
19909
+ * ```
19910
+ *
19911
+ * Fetches a {@link Amity.Category} object from cache
19912
+ *
19913
+ * @param categoryId the ID of the {@link Amity.Category} to fetch
19914
+ * @returns the associated {@link Amity.Category} object
19915
+ *
19916
+ * @category Category API
19917
+ */
19918
+ getCategory.locally = (categoryId) => {
19919
+ const client = getActiveClient();
19920
+ client.log('category/getCategory.locally', categoryId);
19921
+ if (!client.cache)
19922
+ return;
19923
+ const cached = pullFromCache(['category', 'get', categoryId]);
19924
+ if (!cached)
19925
+ return;
19926
+ return {
19927
+ data: cached.data,
19928
+ cachedAt: cached.cachedAt,
19929
+ };
19930
+ };
19931
+
19641
19932
  /**
19642
19933
  * ```js
19643
19934
  * import { queryGlobalFeed } from '@amityco/ts-sdk'
@@ -19651,20 +19942,26 @@ const observeCommunity = (communityId, callback) => {
19651
19942
  *
19652
19943
  * @category Feed API
19653
19944
  * @async
19654
- **/
19945
+ * */
19655
19946
  const queryGlobalFeed = async (query) => {
19656
19947
  const client = getActiveClient();
19657
19948
  client.log('feed/queryGlobalFeed', query);
19658
19949
  const _a = query !== null && query !== void 0 ? query : {}, { useCustomRanking, page } = _a, params = __rest(_a, ["useCustomRanking", "page"]);
19659
- const { data } = await client.http.get(useCustomRanking ? `/api/v5/me/global-feeds` : `/api/v4/me/global-feeds`, { params: Object.assign(Object.assign({}, params), { options: {
19660
- token: toToken(page, 'skiplimit')
19661
- } }) });
19950
+ const { data } = await client.http.get(useCustomRanking ? `/api/v5/me/global-feeds` : `/api/v4/me/global-feeds`, {
19951
+ params: Object.assign(Object.assign({}, params), { options: {
19952
+ token: toToken(page, 'skiplimit'),
19953
+ } }),
19954
+ });
19662
19955
  const { paging } = data, payload = __rest(data, ["paging"]);
19663
19956
  const { posts } = payload;
19664
19957
  const cachedAt = client.cache && Date.now();
19665
19958
  if (client.cache) {
19666
19959
  ingestInCache(payload);
19667
- const cacheKey = ['globalFeed', 'query', Object.assign(Object.assign({}, params), { useCustomRanking, options: Object.assign({}, page) })];
19960
+ const cacheKey = [
19961
+ 'globalFeed',
19962
+ 'query',
19963
+ Object.assign(Object.assign({}, params), { useCustomRanking, options: Object.assign({}, page) }),
19964
+ ];
19668
19965
  pushToCache(cacheKey, { posts: posts.map(getResolver('post')), paging });
19669
19966
  }
19670
19967
  const nextPage = toPage(paging.next);
@@ -19684,7 +19981,7 @@ const queryGlobalFeed = async (query) => {
19684
19981
  *
19685
19982
  * @category Feed API
19686
19983
  * @async
19687
- **/
19984
+ * */
19688
19985
  queryGlobalFeed.locally = (query) => {
19689
19986
  var _a, _b;
19690
19987
  const client = getActiveClient();
@@ -19692,7 +19989,11 @@ queryGlobalFeed.locally = (query) => {
19692
19989
  if (!client.cache)
19693
19990
  return;
19694
19991
  const _c = query !== null && query !== void 0 ? query : {}, { useCustomRanking, page } = _c, params = __rest(_c, ["useCustomRanking", "page"]);
19695
- const queryKey = ['globalFeed', 'query', Object.assign(Object.assign({}, params), { useCustomRanking, options: Object.assign({}, page) })];
19992
+ const queryKey = [
19993
+ 'globalFeed',
19994
+ 'query',
19995
+ Object.assign(Object.assign({}, params), { useCustomRanking, options: Object.assign({}, page) }),
19996
+ ];
19696
19997
  const { data, cachedAt } = (_a = pullFromCache(queryKey)) !== null && _a !== void 0 ? _a : {};
19697
19998
  if (!(data === null || data === void 0 ? void 0 : data.posts.length))
19698
19999
  return;
@@ -19719,7 +20020,11 @@ const queryFollows = async (key, query) => {
19719
20020
  const cachedAt = client.cache && Date.now();
19720
20021
  if (client.cache) {
19721
20022
  ingestInCache(payload, { cachedAt });
19722
- const cacheKey = [key, 'query', Object.assign(Object.assign({}, params), { userId, options: Object.assign({}, page) })];
20023
+ const cacheKey = [
20024
+ key,
20025
+ 'query',
20026
+ Object.assign(Object.assign({}, params), { userId, options: Object.assign({}, page) }),
20027
+ ];
19723
20028
  pushToCache(cacheKey, { follows: follows.map(getResolver('follow')), paging });
19724
20029
  }
19725
20030
  const nextPage = toPage(paging.next);
@@ -19809,7 +20114,11 @@ const queryFollowings = async (query) => queryFollows('following', query);
19809
20114
  */
19810
20115
  queryFollowings.locally = (query) => queryFollows.locally('following', query);
19811
20116
 
19812
- const getCacheKey = (userId) => ['followInfo', 'get', `${getActiveClient().userId}#${userId}`];
20117
+ const getCacheKey = (userId) => [
20118
+ 'followInfo',
20119
+ 'get',
20120
+ `${getActiveClient().userId}#${userId}`,
20121
+ ];
19813
20122
  /**
19814
20123
  * ```js
19815
20124
  * import { getFollowInfo } from '@amityco/ts-sdk'
@@ -19982,8 +20291,8 @@ const createFollowEventSubscriber = (event, callback) => {
19982
20291
  else {
19983
20292
  ingestInCache({ follows: [payload] });
19984
20293
  const queries = [
19985
- ...(_a = queryCache(['followers', 'query'])) !== null && _a !== void 0 ? _a : [],
19986
- ...(_b = queryCache(['followings', 'query'])) !== null && _b !== void 0 ? _b : [],
20294
+ ...((_a = queryCache(['followers', 'query'])) !== null && _a !== void 0 ? _a : []),
20295
+ ...((_b = queryCache(['followings', 'query'])) !== null && _b !== void 0 ? _b : []),
19987
20296
  ];
19988
20297
  queries
19989
20298
  // @ts-ignore
@@ -20131,7 +20440,10 @@ const onFollowRequestDeclined = (callback) => createFollowEventSubscriber('follo
20131
20440
  */
20132
20441
  const onFollowInfoUpdated = (callback) => {
20133
20442
  const handler = async (payload) => {
20134
- const [{ data: followInfoFrom }, { data: followInfoTo },] = await Promise.all([getFollowInfo(payload.from), getFollowInfo(payload.to)]);
20443
+ const [{ data: followInfoFrom }, { data: followInfoTo }] = await Promise.all([
20444
+ getFollowInfo(payload.from),
20445
+ getFollowInfo(payload.to),
20446
+ ]);
20135
20447
  callback(followInfoFrom);
20136
20448
  callback(followInfoTo);
20137
20449
  };
@@ -20297,8 +20609,7 @@ const observePosts = (params, callback) => {
20297
20609
  const disposers = [];
20298
20610
  const router = (post, action) => {
20299
20611
  var _a, _b;
20300
- if (params.targetId !== post.targetId
20301
- || params.targetType !== post.targetType)
20612
+ if (params.targetId !== post.targetId || params.targetType !== post.targetType)
20302
20613
  return;
20303
20614
  if (callback instanceof Function)
20304
20615
  return callback(post);
@@ -20437,6 +20748,178 @@ const observeComment = (commentId, callback, policy = 'cache_then_server') => {
20437
20748
  };
20438
20749
  };
20439
20750
 
20751
+ /**
20752
+ * ```js
20753
+ * import { getPoll } from '@amityco/ts-sdk'
20754
+ * const poll = await getPoll('foobar')
20755
+ * ```
20756
+ *
20757
+ * Fetches a {@link Amity.Poll} object
20758
+ *
20759
+ * @param pollId the ID of the {@link Amity.Poll} to fetch
20760
+ * @returns the associated {@link Amity.Poll} object
20761
+ *
20762
+ * @category Poll API
20763
+ * @async
20764
+ */
20765
+ const getPoll = async (pollId) => {
20766
+ const client = getActiveClient();
20767
+ client.log('poll/getPoll', pollId);
20768
+ const { data } = await client.http.get(`/api/v3/polls/${pollId}`);
20769
+ const cachedAt = client.cache && Date.now();
20770
+ if (client.cache)
20771
+ ingestInCache(data, { cachedAt });
20772
+ const { polls } = data;
20773
+ return {
20774
+ data: polls.find(poll => poll.pollId === pollId),
20775
+ cachedAt,
20776
+ };
20777
+ };
20778
+ /**
20779
+ * ```js
20780
+ * import { getPoll } from '@amityco/ts-sdk'
20781
+ * const poll = getPoll.locally('foobar')
20782
+ * ```
20783
+ *
20784
+ * Fetches a {@link Amity.Poll} object
20785
+ *
20786
+ * @param pollId the ID of the {@link Amity.Poll} to fetch
20787
+ * @returns the associated {@link Amity.Poll} object
20788
+ *
20789
+ * @category Poll API
20790
+ */
20791
+ getPoll.locally = (pollId) => {
20792
+ const client = getActiveClient();
20793
+ client.log('poll/getPoll', pollId);
20794
+ if (!client.cache)
20795
+ return;
20796
+ const cached = pullFromCache(['poll', 'get', pollId]);
20797
+ if (!cached)
20798
+ return;
20799
+ return {
20800
+ data: cached.data,
20801
+ cachedAt: cached.cachedAt,
20802
+ };
20803
+ };
20804
+
20805
+ /**
20806
+ * ```js
20807
+ * import { createPoll } from '@amityco/ts-sdk'
20808
+ * const created = await createPoll({
20809
+ * question: 'question',
20810
+ * answers: [
20811
+ * { dataType: 'text', data: 'answer1' },
20812
+ * { dataType: 'text', data: 'answer2' },
20813
+ * ],
20814
+ * closedIn: 1649136484
20815
+ * }))
20816
+ * ```
20817
+ *
20818
+ * Creates an {@link Amity.Poll}
20819
+ *
20820
+ * @param bundle The data necessary to create a new {@link Amity.Poll}
20821
+ * @returns The newly created {@link Amity.Poll}
20822
+ *
20823
+ * @category Poll API
20824
+ * @async
20825
+ */
20826
+ const createPoll = async (bundle) => {
20827
+ const client = getActiveClient();
20828
+ client.log('post/createPoll', bundle);
20829
+ const { data } = await client.http.post('/api/v3/polls', bundle);
20830
+ const cachedAt = client.cache && Date.now();
20831
+ if (client.cache)
20832
+ ingestInCache(data, { cachedAt });
20833
+ const { polls } = data;
20834
+ return {
20835
+ data: polls[0],
20836
+ cachedAt,
20837
+ };
20838
+ };
20839
+
20840
+ /**
20841
+ * ```js
20842
+ * import { closePoll } from '@amityco/ts-sdk'
20843
+ * const updated = await closePoll(pollId)
20844
+ * ```
20845
+ *
20846
+ * Updates an {@link Amity.Poll}
20847
+ *
20848
+ * @param pollId The ID of the {@link Amity.Poll} to close
20849
+ * @returns the updated {@link Amity.Poll} object
20850
+ *
20851
+ * @category Poll API
20852
+ * @async
20853
+ */
20854
+ const closePoll = async (pollId) => {
20855
+ const client = getActiveClient();
20856
+ client.log('user/closePoll', pollId);
20857
+ const { data } = await client.http.put(`/api/v3/polls/${encodeURIComponent(pollId)}`, { status: 'closed' });
20858
+ const cachedAt = client.cache && Date.now();
20859
+ if (client.cache)
20860
+ ingestInCache(data, { cachedAt });
20861
+ const { polls } = data;
20862
+ return {
20863
+ data: polls.find(poll => poll.pollId === pollId),
20864
+ cachedAt,
20865
+ };
20866
+ };
20867
+
20868
+ /**
20869
+ * ```js
20870
+ * import { deletePoll } from '@amityco/ts-sdk'
20871
+ * const success = await deletePoll(pollId)
20872
+ * ```
20873
+ *
20874
+ * Deletes a {@link Amity.Poll}
20875
+ *
20876
+ * @param pollId The {@link Amity.Poll} ID to delete
20877
+ * @return A success boolean if the {@link Amity.Poll} was deleted
20878
+ *
20879
+ * @category Poll API
20880
+ * @async
20881
+ */
20882
+ const deletePoll = async (pollId) => {
20883
+ const client = getActiveClient();
20884
+ client.log('poll/deletePoll', pollId);
20885
+ const poll = await getPoll(pollId);
20886
+ // API-FIX: it returns { success: boolean } but seems it should be Amity.Response<{ success: boolean }
20887
+ const { data } = await client.http.delete(`/api/v3/polls/${pollId}`);
20888
+ const { success } = data; // unwrapPayload(data)
20889
+ const deleted = Object.assign(Object.assign({}, poll.data), { isDeleted: true });
20890
+ upsertInCache(['poll', 'get', pollId], deleted);
20891
+ return success;
20892
+ };
20893
+
20894
+ /**
20895
+ * ```js
20896
+ * import { votePoll } from '@amityco/ts-sdk'
20897
+ * const voted = await votePoll(pollId)
20898
+ * ```
20899
+ *
20900
+ * Votes for an {@link Amity.Poll}
20901
+ *
20902
+ * @param pollId The ID of the {@link Amity.Poll} to vote
20903
+ * @param answerIds The IDs of the {@link Amity.Poll} answers to vote {@link Amity.Poll}
20904
+ * @returns the updated {@link Amity.Poll} object
20905
+ *
20906
+ * @category Poll API
20907
+ * @async
20908
+ */
20909
+ const votePoll = async (pollId, answerIds) => {
20910
+ const client = getActiveClient();
20911
+ client.log('user/votePoll', pollId);
20912
+ const { data } = await client.http.post(`/api/v3/polls/${encodeURIComponent(pollId)}/votes`, { pollId, answerIds });
20913
+ const cachedAt = client.cache && Date.now();
20914
+ if (client.cache)
20915
+ ingestInCache(data, { cachedAt });
20916
+ const { polls } = data;
20917
+ return {
20918
+ data: polls.find(poll => poll.pollId === pollId),
20919
+ cachedAt,
20920
+ };
20921
+ };
20922
+
20440
20923
  /**
20441
20924
  * ```js
20442
20925
  * import { getStream } from '@amityco/ts-sdk'
@@ -20509,9 +20992,11 @@ const queryStreams = async (query) => {
20509
20992
  const client = getActiveClient();
20510
20993
  client.log('stream/queryStreams', query);
20511
20994
  const _a = query !== null && query !== void 0 ? query : {}, { page } = _a, params = __rest(_a, ["page"]);
20512
- const { data } = await client.http.get(`/api/v3/video-streaming`, { params: Object.assign(Object.assign({}, params), { options: {
20995
+ const { data } = await client.http.get(`/api/v3/video-streaming`, {
20996
+ params: Object.assign(Object.assign({}, params), { options: {
20513
20997
  token: toToken(page, 'skiplimit'),
20514
- } }) });
20998
+ } }),
20999
+ });
20515
21000
  // API-FIX: backend to response Amity.Response: const { paging, videoStreamings } = unwrapPayload(data)
20516
21001
  // API-FIX: seems returned data has a results identifier on top of data, like no other apis, and this is beautiful
20517
21002
  const { paging, results: payload } = data;
@@ -20617,7 +21102,7 @@ const updateStream = async (streamId, patch) => {
20617
21102
  const deleteStream = async (streamId) => {
20618
21103
  const client = getActiveClient();
20619
21104
  client.log('stream/deleteStream', streamId);
20620
- let stream = await getStream(streamId);
21105
+ const stream = await getStream(streamId);
20621
21106
  // API-FIX: it returns { success: boolean } but seems it should be Amity.Response<{ success: boolean }
20622
21107
  // API-FIX: swagger docs are wrong!
20623
21108
  const { data } = await client.http.delete(`/api/v3/video-streaming/${streamId}`);
@@ -20728,32 +21213,60 @@ const onStreamRecorded = (callback) => {
20728
21213
  return createEventSubscriber(client, 'stream/onStreamRecorded', 'video-streaming.didRecord', filter);
20729
21214
  };
20730
21215
 
21216
+ /**
21217
+ * Retrieves accessToken info to use in Beta services
21218
+ *
21219
+ * @param apiKey for the Http Client instance
21220
+ * @param apiRegion endpoint to connect to
21221
+ * @param params The token parameters
21222
+ * @param params.userId The userId to use to issue a token
21223
+ * @param params.displayName The user's displayName
21224
+ * @param params.authToken The authentication token - necessary when network option is set to secure
21225
+ * @return An accessToken info object for the given userId
21226
+ *
21227
+ * @category External API
21228
+ * @hidden
21229
+ */
21230
+ const createUserToken = async (apiKey, apiRegion, params) => {
21231
+ const deviceId = getDeviceId();
21232
+ const deviceInfo = await getDeviceInfo();
21233
+ const http = createHttpTransport(computeUrl('http', apiRegion));
21234
+ 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 } });
21235
+ return { accessToken: data.accessToken };
21236
+ };
21237
+
20731
21238
  exports.API_REGIONS = API_REGIONS;
20732
21239
  exports.VERSION = VERSION$1;
20733
21240
  exports.acceptFollower = acceptFollower;
20734
21241
  exports.addChannelMembers = addChannelMembers;
20735
21242
  exports.addChannelMembersRole = addChannelMembersRole;
20736
21243
  exports.addCommunityMembers = addCommunityMembers;
20737
- exports.addCommunityMembersRole = addCommunityMembersRole;
21244
+ exports.addCommunityMembersRoles = addCommunityMembersRoles;
20738
21245
  exports.addReaction = addReaction;
20739
21246
  exports.backupCache = backupCache;
21247
+ exports.closePoll = closePoll;
20740
21248
  exports.connectClient = connectClient;
20741
21249
  exports.createChannel = createChannel;
20742
21250
  exports.createClient = createClient;
20743
21251
  exports.createComment = createComment;
20744
21252
  exports.createCommunity = createCommunity;
20745
21253
  exports.createFile = createFile;
21254
+ exports.createImage = createImage;
20746
21255
  exports.createMessage = createMessage;
21256
+ exports.createPoll = createPoll;
20747
21257
  exports.createPost = createPost;
20748
21258
  exports.createQuery = createQuery;
20749
21259
  exports.createReport = createReport;
20750
21260
  exports.createStream = createStream;
21261
+ exports.createUserToken = createUserToken;
21262
+ exports.createVideo = createVideo;
20751
21263
  exports.declineFollower = declineFollower;
20752
21264
  exports.deleteChannel = deleteChannel;
20753
21265
  exports.deleteComment = deleteComment;
20754
21266
  exports.deleteCommunity = deleteCommunity;
20755
21267
  exports.deleteFile = deleteFile;
20756
21268
  exports.deleteMessage = deleteMessage;
21269
+ exports.deletePoll = deletePoll;
20757
21270
  exports.deletePost = deletePost;
20758
21271
  exports.deleteReport = deleteReport;
20759
21272
  exports.deleteStream = deleteStream;
@@ -20766,6 +21279,7 @@ exports.fileUrlWithSize = fileUrlWithSize;
20766
21279
  exports.filterByPropEquality = filterByPropEquality;
20767
21280
  exports.follow = follow;
20768
21281
  exports.getActiveClient = getActiveClient;
21282
+ exports.getCategory = getCategory;
20769
21283
  exports.getChannel = getChannel;
20770
21284
  exports.getChannels = getChannels;
20771
21285
  exports.getComment = getComment;
@@ -20780,6 +21294,7 @@ exports.getMessage = getMessage;
20780
21294
  exports.getMessages = getMessages;
20781
21295
  exports.getMyFollowersTopic = getMyFollowersTopic;
20782
21296
  exports.getMyFollowingsTopic = getMyFollowingsTopic;
21297
+ exports.getPoll = getPoll;
20783
21298
  exports.getPost = getPost;
20784
21299
  exports.getPostTopic = getPostTopic;
20785
21300
  exports.getPosts = getPosts;
@@ -20876,6 +21391,7 @@ exports.onUserUpdated = onUserUpdated;
20876
21391
  exports.pullFromCache = pullFromCache;
20877
21392
  exports.pushToCache = pushToCache;
20878
21393
  exports.queryCache = queryCache;
21394
+ exports.queryCategories = queryCategories;
20879
21395
  exports.queryChannelMembers = queryChannelMembers;
20880
21396
  exports.queryChannels = queryChannels;
20881
21397
  exports.queryComments = queryComments;
@@ -20893,7 +21409,7 @@ exports.queryUsers = queryUsers;
20893
21409
  exports.removeChannelMembers = removeChannelMembers;
20894
21410
  exports.removeChannelMembersRole = removeChannelMembersRole;
20895
21411
  exports.removeCommunityMembers = removeCommunityMembers;
20896
- exports.removeCommunityMembersRole = removeCommunityMembersRole;
21412
+ exports.removeCommunityMembersRoles = removeCommunityMembersRoles;
20897
21413
  exports.removeReaction = removeReaction;
20898
21414
  exports.restoreCache = restoreCache;
20899
21415
  exports.runQuery = runQuery;
@@ -20916,4 +21432,5 @@ exports.updatePost = updatePost;
20916
21432
  exports.updateStream = updateStream;
20917
21433
  exports.updateUser = updateUser;
20918
21434
  exports.upsertInCache = upsertInCache;
21435
+ exports.votePoll = votePoll;
20919
21436
  exports.wipeCache = wipeCache;