hischool.js 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (369) hide show
  1. package/README.md +41 -0
  2. package/lib/cjs/Client.d.ts +166 -0
  3. package/lib/cjs/Client.d.ts.map +1 -0
  4. package/lib/cjs/Client.js +221 -0
  5. package/lib/cjs/api/baseURL.d.ts +2 -0
  6. package/lib/cjs/api/baseURL.d.ts.map +1 -0
  7. package/lib/cjs/api/baseURL.js +5 -0
  8. package/lib/cjs/api/index.d.ts +177 -0
  9. package/lib/cjs/api/index.d.ts.map +1 -0
  10. package/lib/cjs/api/index.js +150 -0
  11. package/lib/cjs/api/params.d.ts +285 -0
  12. package/lib/cjs/api/params.d.ts.map +1 -0
  13. package/lib/cjs/api/params.js +194 -0
  14. package/lib/cjs/api/routes.d.ts +1089 -0
  15. package/lib/cjs/api/routes.d.ts.map +1 -0
  16. package/lib/cjs/api/routes.js +2 -0
  17. package/lib/cjs/api/schema.d.ts +4705 -0
  18. package/lib/cjs/api/schema.d.ts.map +1 -0
  19. package/lib/cjs/api/schema.js +2 -0
  20. package/lib/cjs/api/types.d.ts +131 -0
  21. package/lib/cjs/api/types.d.ts.map +1 -0
  22. package/lib/cjs/api/types.js +2 -0
  23. package/lib/cjs/classes/BannedUser.d.ts +18 -0
  24. package/lib/cjs/classes/BannedUser.d.ts.map +1 -0
  25. package/lib/cjs/classes/BannedUser.js +21 -0
  26. package/lib/cjs/classes/Bot.d.ts +82 -0
  27. package/lib/cjs/classes/Bot.d.ts.map +1 -0
  28. package/lib/cjs/classes/Bot.js +145 -0
  29. package/lib/cjs/classes/Channel.d.ts +465 -0
  30. package/lib/cjs/classes/Channel.d.ts.map +1 -0
  31. package/lib/cjs/classes/Channel.js +599 -0
  32. package/lib/cjs/classes/ChannelUnread.d.ts +27 -0
  33. package/lib/cjs/classes/ChannelUnread.d.ts.map +1 -0
  34. package/lib/cjs/classes/ChannelUnread.js +50 -0
  35. package/lib/cjs/classes/ChannelWebhook.d.ts +53 -0
  36. package/lib/cjs/classes/ChannelWebhook.d.ts.map +1 -0
  37. package/lib/cjs/classes/ChannelWebhook.js +113 -0
  38. package/lib/cjs/classes/Emoji.d.ts +57 -0
  39. package/lib/cjs/classes/Emoji.d.ts.map +1 -0
  40. package/lib/cjs/classes/Emoji.js +104 -0
  41. package/lib/cjs/classes/File.d.ts +67 -0
  42. package/lib/cjs/classes/File.d.ts.map +1 -0
  43. package/lib/cjs/classes/File.js +102 -0
  44. package/lib/cjs/classes/Invite.d.ts +60 -0
  45. package/lib/cjs/classes/Invite.d.ts.map +1 -0
  46. package/lib/cjs/classes/Invite.js +91 -0
  47. package/lib/cjs/classes/MFA.d.ts +83 -0
  48. package/lib/cjs/classes/MFA.d.ts.map +1 -0
  49. package/lib/cjs/classes/MFA.js +196 -0
  50. package/lib/cjs/classes/Message.d.ts +484 -0
  51. package/lib/cjs/classes/Message.d.ts.map +1 -0
  52. package/lib/cjs/classes/Message.js +341 -0
  53. package/lib/cjs/classes/MessageEmbed.d.ts +122 -0
  54. package/lib/cjs/classes/MessageEmbed.d.ts.map +1 -0
  55. package/lib/cjs/classes/MessageEmbed.js +181 -0
  56. package/lib/cjs/classes/PublicBot.d.ts +28 -0
  57. package/lib/cjs/classes/PublicBot.d.ts.map +1 -0
  58. package/lib/cjs/classes/PublicBot.js +60 -0
  59. package/lib/cjs/classes/PublicInvite.d.ts +57 -0
  60. package/lib/cjs/classes/PublicInvite.d.ts.map +1 -0
  61. package/lib/cjs/classes/PublicInvite.js +104 -0
  62. package/lib/cjs/classes/Server.d.ts +473 -0
  63. package/lib/cjs/classes/Server.d.ts.map +1 -0
  64. package/lib/cjs/classes/Server.js +585 -0
  65. package/lib/cjs/classes/ServerBan.d.ts +26 -0
  66. package/lib/cjs/classes/ServerBan.d.ts.map +1 -0
  67. package/lib/cjs/classes/ServerBan.js +44 -0
  68. package/lib/cjs/classes/ServerMember.d.ts +138 -0
  69. package/lib/cjs/classes/ServerMember.d.ts.map +1 -0
  70. package/lib/cjs/classes/ServerMember.js +234 -0
  71. package/lib/cjs/classes/Session.d.ts +45 -0
  72. package/lib/cjs/classes/Session.d.ts.map +1 -0
  73. package/lib/cjs/classes/Session.js +94 -0
  74. package/lib/cjs/classes/SystemMessage.d.ts +127 -0
  75. package/lib/cjs/classes/SystemMessage.d.ts.map +1 -0
  76. package/lib/cjs/classes/SystemMessage.js +172 -0
  77. package/lib/cjs/classes/User.d.ts +203 -0
  78. package/lib/cjs/classes/User.d.ts.map +1 -0
  79. package/lib/cjs/classes/User.js +299 -0
  80. package/lib/cjs/classes/UserProfile.d.ts +23 -0
  81. package/lib/cjs/classes/UserProfile.d.ts.map +1 -0
  82. package/lib/cjs/classes/UserProfile.js +35 -0
  83. package/lib/cjs/classes/index.d.ts +21 -0
  84. package/lib/cjs/classes/index.d.ts.map +1 -0
  85. package/lib/cjs/classes/index.js +36 -0
  86. package/lib/cjs/collections/AccountCollection.d.ts +91 -0
  87. package/lib/cjs/collections/AccountCollection.d.ts.map +1 -0
  88. package/lib/cjs/collections/AccountCollection.js +150 -0
  89. package/lib/cjs/collections/BotCollection.d.ts +39 -0
  90. package/lib/cjs/collections/BotCollection.d.ts.map +1 -0
  91. package/lib/cjs/collections/BotCollection.js +89 -0
  92. package/lib/cjs/collections/ChannelCollection.d.ts +39 -0
  93. package/lib/cjs/collections/ChannelCollection.d.ts.map +1 -0
  94. package/lib/cjs/collections/ChannelCollection.js +93 -0
  95. package/lib/cjs/collections/ChannelUnreadCollection.d.ts +24 -0
  96. package/lib/cjs/collections/ChannelUnreadCollection.d.ts.map +1 -0
  97. package/lib/cjs/collections/ChannelUnreadCollection.js +56 -0
  98. package/lib/cjs/collections/ChannelWebhookCollection.d.ts +29 -0
  99. package/lib/cjs/collections/ChannelWebhookCollection.d.ts.map +1 -0
  100. package/lib/cjs/collections/ChannelWebhookCollection.js +69 -0
  101. package/lib/cjs/collections/Collection.d.ts +153 -0
  102. package/lib/cjs/collections/Collection.d.ts.map +1 -0
  103. package/lib/cjs/collections/Collection.js +170 -0
  104. package/lib/cjs/collections/EmojiCollection.d.ts +27 -0
  105. package/lib/cjs/collections/EmojiCollection.d.ts.map +1 -0
  106. package/lib/cjs/collections/EmojiCollection.js +67 -0
  107. package/lib/cjs/collections/MessageCollection.d.ts +28 -0
  108. package/lib/cjs/collections/MessageCollection.d.ts.map +1 -0
  109. package/lib/cjs/collections/MessageCollection.js +69 -0
  110. package/lib/cjs/collections/ServerCollection.d.ts +36 -0
  111. package/lib/cjs/collections/ServerCollection.d.ts.map +1 -0
  112. package/lib/cjs/collections/ServerCollection.js +96 -0
  113. package/lib/cjs/collections/ServerMemberCollection.d.ts +45 -0
  114. package/lib/cjs/collections/ServerMemberCollection.d.ts.map +1 -0
  115. package/lib/cjs/collections/ServerMemberCollection.js +95 -0
  116. package/lib/cjs/collections/SessionCollection.d.ts +27 -0
  117. package/lib/cjs/collections/SessionCollection.d.ts.map +1 -0
  118. package/lib/cjs/collections/SessionCollection.js +63 -0
  119. package/lib/cjs/collections/UserCollection.d.ts +31 -0
  120. package/lib/cjs/collections/UserCollection.d.ts.map +1 -0
  121. package/lib/cjs/collections/UserCollection.js +81 -0
  122. package/lib/cjs/collections/index.d.ts +12 -0
  123. package/lib/cjs/collections/index.d.ts.map +1 -0
  124. package/lib/cjs/collections/index.js +38 -0
  125. package/lib/cjs/events/EventClient.d.ts +89 -0
  126. package/lib/cjs/events/EventClient.d.ts.map +1 -0
  127. package/lib/cjs/events/EventClient.js +186 -0
  128. package/lib/cjs/events/index.d.ts +18 -0
  129. package/lib/cjs/events/index.d.ts.map +1 -0
  130. package/lib/cjs/events/index.js +20 -0
  131. package/lib/cjs/events/v1.d.ts +214 -0
  132. package/lib/cjs/events/v1.d.ts.map +1 -0
  133. package/lib/cjs/events/v1.js +502 -0
  134. package/lib/cjs/hydration/bot.d.ts +21 -0
  135. package/lib/cjs/hydration/bot.d.ts.map +1 -0
  136. package/lib/cjs/hydration/bot.js +31 -0
  137. package/lib/cjs/hydration/channel.d.ts +25 -0
  138. package/lib/cjs/hydration/channel.d.ts.map +1 -0
  139. package/lib/cjs/hydration/channel.js +40 -0
  140. package/lib/cjs/hydration/channelUnread.d.ts +11 -0
  141. package/lib/cjs/hydration/channelUnread.d.ts.map +1 -0
  142. package/lib/cjs/hydration/channelUnread.js +19 -0
  143. package/lib/cjs/hydration/channelWebhook.d.ts +12 -0
  144. package/lib/cjs/hydration/channelWebhook.d.ts.map +1 -0
  145. package/lib/cjs/hydration/channelWebhook.js +21 -0
  146. package/lib/cjs/hydration/emoji.d.ts +13 -0
  147. package/lib/cjs/hydration/emoji.d.ts.map +1 -0
  148. package/lib/cjs/hydration/emoji.js +18 -0
  149. package/lib/cjs/hydration/index.d.ts +1404 -0
  150. package/lib/cjs/hydration/index.d.ts.map +1 -0
  151. package/lib/cjs/hydration/index.js +68 -0
  152. package/lib/cjs/hydration/message.d.ts +25 -0
  153. package/lib/cjs/hydration/message.d.ts.map +1 -0
  154. package/lib/cjs/hydration/message.js +48 -0
  155. package/lib/cjs/hydration/server.d.ts +31 -0
  156. package/lib/cjs/hydration/server.d.ts.map +1 -0
  157. package/lib/cjs/hydration/server.js +44 -0
  158. package/lib/cjs/hydration/serverMember.d.ts +14 -0
  159. package/lib/cjs/hydration/serverMember.d.ts.map +1 -0
  160. package/lib/cjs/hydration/serverMember.js +21 -0
  161. package/lib/cjs/hydration/session.d.ts +8 -0
  162. package/lib/cjs/hydration/session.d.ts.map +1 -0
  163. package/lib/cjs/hydration/session.js +13 -0
  164. package/lib/cjs/hydration/user.d.ts +43 -0
  165. package/lib/cjs/hydration/user.d.ts.map +1 -0
  166. package/lib/cjs/hydration/user.js +53 -0
  167. package/lib/cjs/index.d.ts +9 -0
  168. package/lib/cjs/index.d.ts.map +1 -0
  169. package/lib/cjs/index.js +43 -0
  170. package/lib/cjs/lib/merge.d.ts +15 -0
  171. package/lib/cjs/lib/merge.d.ts.map +1 -0
  172. package/lib/cjs/lib/merge.js +2 -0
  173. package/lib/cjs/lib/regex.d.ts +13 -0
  174. package/lib/cjs/lib/regex.d.ts.map +1 -0
  175. package/lib/cjs/lib/regex.js +15 -0
  176. package/lib/cjs/permissions/calculator.d.ts +19 -0
  177. package/lib/cjs/permissions/calculator.d.ts.map +1 -0
  178. package/lib/cjs/permissions/calculator.js +136 -0
  179. package/lib/cjs/permissions/definitions.d.ts +73 -0
  180. package/lib/cjs/permissions/definitions.d.ts.map +1 -0
  181. package/lib/cjs/permissions/definitions.js +124 -0
  182. package/lib/cjs/storage/ObjectStorage.d.ts +28 -0
  183. package/lib/cjs/storage/ObjectStorage.d.ts.map +1 -0
  184. package/lib/cjs/storage/ObjectStorage.js +41 -0
  185. package/lib/esm/Client.d.ts +166 -0
  186. package/lib/esm/Client.d.ts.map +1 -0
  187. package/lib/esm/Client.js +214 -0
  188. package/lib/esm/api/baseURL.d.ts +2 -0
  189. package/lib/esm/api/baseURL.d.ts.map +1 -0
  190. package/lib/esm/api/baseURL.js +2 -0
  191. package/lib/esm/api/index.d.ts +177 -0
  192. package/lib/esm/api/index.d.ts.map +1 -0
  193. package/lib/esm/api/index.js +139 -0
  194. package/lib/esm/api/params.d.ts +285 -0
  195. package/lib/esm/api/params.d.ts.map +1 -0
  196. package/lib/esm/api/params.js +191 -0
  197. package/lib/esm/api/routes.d.ts +1089 -0
  198. package/lib/esm/api/routes.d.ts.map +1 -0
  199. package/lib/esm/api/routes.js +1 -0
  200. package/lib/esm/api/schema.d.ts +4705 -0
  201. package/lib/esm/api/schema.d.ts.map +1 -0
  202. package/lib/esm/api/schema.js +1 -0
  203. package/lib/esm/api/types.d.ts +131 -0
  204. package/lib/esm/api/types.d.ts.map +1 -0
  205. package/lib/esm/api/types.js +1 -0
  206. package/lib/esm/classes/BannedUser.d.ts +18 -0
  207. package/lib/esm/classes/BannedUser.d.ts.map +1 -0
  208. package/lib/esm/classes/BannedUser.js +21 -0
  209. package/lib/esm/classes/Bot.d.ts +82 -0
  210. package/lib/esm/classes/Bot.d.ts.map +1 -0
  211. package/lib/esm/classes/Bot.js +116 -0
  212. package/lib/esm/classes/Channel.d.ts +465 -0
  213. package/lib/esm/classes/Channel.d.ts.map +1 -0
  214. package/lib/esm/classes/Channel.js +529 -0
  215. package/lib/esm/classes/ChannelUnread.d.ts +27 -0
  216. package/lib/esm/classes/ChannelUnread.d.ts.map +1 -0
  217. package/lib/esm/classes/ChannelUnread.js +34 -0
  218. package/lib/esm/classes/ChannelWebhook.d.ts +53 -0
  219. package/lib/esm/classes/ChannelWebhook.d.ts.map +1 -0
  220. package/lib/esm/classes/ChannelWebhook.js +83 -0
  221. package/lib/esm/classes/Emoji.d.ts +57 -0
  222. package/lib/esm/classes/Emoji.d.ts.map +1 -0
  223. package/lib/esm/classes/Emoji.js +77 -0
  224. package/lib/esm/classes/File.d.ts +67 -0
  225. package/lib/esm/classes/File.d.ts.map +1 -0
  226. package/lib/esm/classes/File.js +105 -0
  227. package/lib/esm/classes/Invite.d.ts +60 -0
  228. package/lib/esm/classes/Invite.d.ts.map +1 -0
  229. package/lib/esm/classes/Invite.js +80 -0
  230. package/lib/esm/classes/MFA.d.ts +83 -0
  231. package/lib/esm/classes/MFA.d.ts.map +1 -0
  232. package/lib/esm/classes/MFA.js +165 -0
  233. package/lib/esm/classes/Message.d.ts +484 -0
  234. package/lib/esm/classes/Message.d.ts.map +1 -0
  235. package/lib/esm/classes/Message.js +300 -0
  236. package/lib/esm/classes/MessageEmbed.d.ts +122 -0
  237. package/lib/esm/classes/MessageEmbed.d.ts.map +1 -0
  238. package/lib/esm/classes/MessageEmbed.js +192 -0
  239. package/lib/esm/classes/PublicBot.d.ts +28 -0
  240. package/lib/esm/classes/PublicBot.d.ts.map +1 -0
  241. package/lib/esm/classes/PublicBot.js +47 -0
  242. package/lib/esm/classes/PublicInvite.d.ts +57 -0
  243. package/lib/esm/classes/PublicInvite.d.ts.map +1 -0
  244. package/lib/esm/classes/PublicInvite.js +100 -0
  245. package/lib/esm/classes/Server.d.ts +473 -0
  246. package/lib/esm/classes/Server.d.ts.map +1 -0
  247. package/lib/esm/classes/Server.js +522 -0
  248. package/lib/esm/classes/ServerBan.d.ts +26 -0
  249. package/lib/esm/classes/ServerBan.d.ts.map +1 -0
  250. package/lib/esm/classes/ServerBan.js +33 -0
  251. package/lib/esm/classes/ServerMember.d.ts +138 -0
  252. package/lib/esm/classes/ServerMember.d.ts.map +1 -0
  253. package/lib/esm/classes/ServerMember.js +199 -0
  254. package/lib/esm/classes/Session.d.ts +45 -0
  255. package/lib/esm/classes/Session.d.ts.map +1 -0
  256. package/lib/esm/classes/Session.js +65 -0
  257. package/lib/esm/classes/SystemMessage.d.ts +127 -0
  258. package/lib/esm/classes/SystemMessage.d.ts.map +1 -0
  259. package/lib/esm/classes/SystemMessage.js +171 -0
  260. package/lib/esm/classes/User.d.ts +203 -0
  261. package/lib/esm/classes/User.d.ts.map +1 -0
  262. package/lib/esm/classes/User.js +252 -0
  263. package/lib/esm/classes/UserProfile.d.ts +23 -0
  264. package/lib/esm/classes/UserProfile.d.ts.map +1 -0
  265. package/lib/esm/classes/UserProfile.js +31 -0
  266. package/lib/esm/classes/index.d.ts +21 -0
  267. package/lib/esm/classes/index.d.ts.map +1 -0
  268. package/lib/esm/classes/index.js +20 -0
  269. package/lib/esm/collections/AccountCollection.d.ts +91 -0
  270. package/lib/esm/collections/AccountCollection.d.ts.map +1 -0
  271. package/lib/esm/collections/AccountCollection.js +139 -0
  272. package/lib/esm/collections/BotCollection.d.ts +39 -0
  273. package/lib/esm/collections/BotCollection.d.ts.map +1 -0
  274. package/lib/esm/collections/BotCollection.js +68 -0
  275. package/lib/esm/collections/ChannelCollection.d.ts +39 -0
  276. package/lib/esm/collections/ChannelCollection.d.ts.map +1 -0
  277. package/lib/esm/collections/ChannelCollection.js +75 -0
  278. package/lib/esm/collections/ChannelUnreadCollection.d.ts +24 -0
  279. package/lib/esm/collections/ChannelUnreadCollection.d.ts.map +1 -0
  280. package/lib/esm/collections/ChannelUnreadCollection.js +41 -0
  281. package/lib/esm/collections/ChannelWebhookCollection.d.ts +29 -0
  282. package/lib/esm/collections/ChannelWebhookCollection.d.ts.map +1 -0
  283. package/lib/esm/collections/ChannelWebhookCollection.js +52 -0
  284. package/lib/esm/collections/Collection.d.ts +153 -0
  285. package/lib/esm/collections/Collection.d.ts.map +1 -0
  286. package/lib/esm/collections/Collection.js +160 -0
  287. package/lib/esm/collections/EmojiCollection.d.ts +27 -0
  288. package/lib/esm/collections/EmojiCollection.d.ts.map +1 -0
  289. package/lib/esm/collections/EmojiCollection.js +52 -0
  290. package/lib/esm/collections/MessageCollection.d.ts +28 -0
  291. package/lib/esm/collections/MessageCollection.d.ts.map +1 -0
  292. package/lib/esm/collections/MessageCollection.js +54 -0
  293. package/lib/esm/collections/ServerCollection.d.ts +36 -0
  294. package/lib/esm/collections/ServerCollection.d.ts.map +1 -0
  295. package/lib/esm/collections/ServerCollection.js +79 -0
  296. package/lib/esm/collections/ServerMemberCollection.d.ts +45 -0
  297. package/lib/esm/collections/ServerMemberCollection.d.ts.map +1 -0
  298. package/lib/esm/collections/ServerMemberCollection.js +80 -0
  299. package/lib/esm/collections/SessionCollection.d.ts +27 -0
  300. package/lib/esm/collections/SessionCollection.d.ts.map +1 -0
  301. package/lib/esm/collections/SessionCollection.js +46 -0
  302. package/lib/esm/collections/UserCollection.d.ts +31 -0
  303. package/lib/esm/collections/UserCollection.d.ts.map +1 -0
  304. package/lib/esm/collections/UserCollection.js +66 -0
  305. package/lib/esm/collections/index.d.ts +12 -0
  306. package/lib/esm/collections/index.d.ts.map +1 -0
  307. package/lib/esm/collections/index.js +11 -0
  308. package/lib/esm/events/EventClient.d.ts +89 -0
  309. package/lib/esm/events/EventClient.d.ts.map +1 -0
  310. package/lib/esm/events/EventClient.js +175 -0
  311. package/lib/esm/events/index.d.ts +18 -0
  312. package/lib/esm/events/index.d.ts.map +1 -0
  313. package/lib/esm/events/index.js +2 -0
  314. package/lib/esm/events/v1.d.ts +214 -0
  315. package/lib/esm/events/v1.d.ts.map +1 -0
  316. package/lib/esm/events/v1.js +514 -0
  317. package/lib/esm/hydration/bot.d.ts +21 -0
  318. package/lib/esm/hydration/bot.d.ts.map +1 -0
  319. package/lib/esm/hydration/bot.js +28 -0
  320. package/lib/esm/hydration/channel.d.ts +25 -0
  321. package/lib/esm/hydration/channel.d.ts.map +1 -0
  322. package/lib/esm/hydration/channel.js +37 -0
  323. package/lib/esm/hydration/channelUnread.d.ts +11 -0
  324. package/lib/esm/hydration/channelUnread.d.ts.map +1 -0
  325. package/lib/esm/hydration/channelUnread.js +16 -0
  326. package/lib/esm/hydration/channelWebhook.d.ts +12 -0
  327. package/lib/esm/hydration/channelWebhook.d.ts.map +1 -0
  328. package/lib/esm/hydration/channelWebhook.js +18 -0
  329. package/lib/esm/hydration/emoji.d.ts +13 -0
  330. package/lib/esm/hydration/emoji.d.ts.map +1 -0
  331. package/lib/esm/hydration/emoji.js +15 -0
  332. package/lib/esm/hydration/index.d.ts +1404 -0
  333. package/lib/esm/hydration/index.d.ts.map +1 -0
  334. package/lib/esm/hydration/index.js +65 -0
  335. package/lib/esm/hydration/message.d.ts +25 -0
  336. package/lib/esm/hydration/message.d.ts.map +1 -0
  337. package/lib/esm/hydration/message.js +45 -0
  338. package/lib/esm/hydration/server.d.ts +31 -0
  339. package/lib/esm/hydration/server.d.ts.map +1 -0
  340. package/lib/esm/hydration/server.js +41 -0
  341. package/lib/esm/hydration/serverMember.d.ts +14 -0
  342. package/lib/esm/hydration/serverMember.d.ts.map +1 -0
  343. package/lib/esm/hydration/serverMember.js +18 -0
  344. package/lib/esm/hydration/session.d.ts +8 -0
  345. package/lib/esm/hydration/session.d.ts.map +1 -0
  346. package/lib/esm/hydration/session.js +10 -0
  347. package/lib/esm/hydration/user.d.ts +43 -0
  348. package/lib/esm/hydration/user.d.ts.map +1 -0
  349. package/lib/esm/hydration/user.js +50 -0
  350. package/lib/esm/index.d.ts +9 -0
  351. package/lib/esm/index.d.ts.map +1 -0
  352. package/lib/esm/index.js +8 -0
  353. package/lib/esm/lib/merge.d.ts +15 -0
  354. package/lib/esm/lib/merge.d.ts.map +1 -0
  355. package/lib/esm/lib/merge.js +1 -0
  356. package/lib/esm/lib/regex.d.ts +13 -0
  357. package/lib/esm/lib/regex.d.ts.map +1 -0
  358. package/lib/esm/lib/regex.js +12 -0
  359. package/lib/esm/package.json +3 -0
  360. package/lib/esm/permissions/calculator.d.ts +19 -0
  361. package/lib/esm/permissions/calculator.d.ts.map +1 -0
  362. package/lib/esm/permissions/calculator.js +129 -0
  363. package/lib/esm/permissions/definitions.d.ts +73 -0
  364. package/lib/esm/permissions/definitions.d.ts.map +1 -0
  365. package/lib/esm/permissions/definitions.js +121 -0
  366. package/lib/esm/storage/ObjectStorage.d.ts +28 -0
  367. package/lib/esm/storage/ObjectStorage.d.ts.map +1 -0
  368. package/lib/esm/storage/ObjectStorage.js +39 -0
  369. package/package.json +59 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/classes/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,kBAAkB,CAAC"}
@@ -0,0 +1,20 @@
1
+ export * from "./BannedUser.js";
2
+ export * from "./Bot.js";
3
+ export * from "./Channel.js";
4
+ export * from "./ChannelUnread.js";
5
+ export * from "./ChannelWebhook.js";
6
+ export * from "./Emoji.js";
7
+ export * from "./File.js";
8
+ export * from "./Invite.js";
9
+ export * from "./Message.js";
10
+ export * from "./MessageEmbed.js";
11
+ export * from "./PublicBot.js";
12
+ export * from "./PublicInvite.js";
13
+ export * from "./Server.js";
14
+ export * from "./ServerBan.js";
15
+ export * from "./ServerMember.js";
16
+ export * from "./Session.js";
17
+ export * from "./SystemMessage.js";
18
+ export * from "./User.js";
19
+ export * from "./MFA.js";
20
+ export * from "./UserProfile.js";
@@ -0,0 +1,91 @@
1
+ import { DataCreateAccount, WebPushSubscription } from "../api";
2
+ import { MFA } from "../classes/MFA.js";
3
+ import { Client } from "../index.js";
4
+ /**
5
+ * Utility functions for working with accounts
6
+ */
7
+ export declare class AccountCollection {
8
+ readonly client: Client;
9
+ /**
10
+ * Create generic class collection
11
+ * @param client Client
12
+ */
13
+ constructor(client: Client);
14
+ /**
15
+ * Fetch current account email
16
+ * @returns Email
17
+ */
18
+ fetchEmail(): Promise<string>;
19
+ /**
20
+ * Create a MFA helper
21
+ */
22
+ mfa(): Promise<MFA>;
23
+ /**
24
+ * Create a new account
25
+ * @param data Account details
26
+ */
27
+ create(data: DataCreateAccount): Promise<undefined>;
28
+ /**
29
+ * Resend email verification
30
+ * @param email Email
31
+ * @param captcha Captcha if enabled
32
+ */
33
+ reverify(email: string, captcha?: string): Promise<undefined>;
34
+ /**
35
+ * Send password reset email
36
+ * @param email Email
37
+ * @param captcha Captcha if enabled
38
+ */
39
+ resetPassword(email: string, captcha?: string): Promise<undefined>;
40
+ /**
41
+ * Verify an account given the code
42
+ * @param code Verification code
43
+ */
44
+ verify(code: string): Promise<unknown>;
45
+ /**
46
+ * Confirm account deletion
47
+ * @param token Deletion token
48
+ */
49
+ confirmDelete(token: string): Promise<undefined>;
50
+ /**
51
+ * Confirm password reset
52
+ * @param token Token
53
+ * @param newPassword New password
54
+ * @param removeSessions Whether to remove existing sessions
55
+ */
56
+ confirmPasswordReset(token: string, newPassword: string, removeSessions: boolean): Promise<undefined>;
57
+ /**
58
+ * Change account password
59
+ * @param newPassword New password
60
+ * @param currentPassword Current password
61
+ */
62
+ changePassword(newPassword: string, currentPassword: string): Promise<undefined>;
63
+ /**
64
+ * Change account email
65
+ * @param newEmail New email
66
+ * @param currentPassword Current password
67
+ */
68
+ changeEmail(newEmail: string, currentPassword: string): Promise<undefined>;
69
+ /**
70
+ * Fetch settings
71
+ * @param keys Keys
72
+ * @returns Settings
73
+ */
74
+ fetchSettings(keys: string[]): Promise<Record<string, [number, string]>>;
75
+ /**
76
+ * Set settings
77
+ * @param settings Settings
78
+ * @param timestamp Timestamp
79
+ */
80
+ setSettings(settings: Record<string, any>, timestamp?: number): Promise<undefined>;
81
+ /**
82
+ * Create a new Web Push subscription
83
+ * @param subscription Subscription
84
+ */
85
+ webPushSubscribe(subscription: WebPushSubscription): Promise<undefined>;
86
+ /**
87
+ * Remove existing Web Push subscription
88
+ */
89
+ webPushUnsubscribe(): Promise<undefined>;
90
+ }
91
+ //# sourceMappingURL=AccountCollection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AccountCollection.d.ts","sourceRoot":"","sources":["../../../src/collections/AccountCollection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAChE,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC;;GAEG;AACH,qBAAa,iBAAiB;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB;;;OAGG;gBACS,MAAM,EAAE,MAAM;IAI1B;;;OAGG;IACH,UAAU;IAMV;;OAEG;IACG,GAAG;IAKT;;;OAGG;IACH,MAAM,CAAC,IAAI,EAAE,iBAAiB;IAI9B;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;IAIxC;;;;OAIG;IACH,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;IAO7C;;;OAGG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM;IAInB;;;OAGG;IACH,aAAa,CAAC,KAAK,EAAE,MAAM;IAI3B;;;;;OAKG;IACH,oBAAoB,CAClB,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,OAAO;IASzB;;;;OAIG;IACH,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM;IAO3D;;;;OAIG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM;IAOrD;;;;OAIG;IACH,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE;IAO5B;;;;OAIG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,SAAS,SAAc;IAQlE;;;OAGG;IACH,gBAAgB,CAAC,YAAY,EAAE,mBAAmB;IAIlD;;OAEG;IACH,kBAAkB;CAGnB"}
@@ -0,0 +1,139 @@
1
+ import { MFA } from "../classes/MFA.js";
2
+ /**
3
+ * Utility functions for working with accounts
4
+ */
5
+ export class AccountCollection {
6
+ client;
7
+ /**
8
+ * Create generic class collection
9
+ * @param client Client
10
+ */
11
+ constructor(client) {
12
+ this.client = client;
13
+ }
14
+ /**
15
+ * Fetch current account email
16
+ * @returns Email
17
+ */
18
+ fetchEmail() {
19
+ return this.client.api
20
+ .get("/auth/account/")
21
+ .then((account) => account.email);
22
+ }
23
+ /**
24
+ * Create a MFA helper
25
+ */
26
+ async mfa() {
27
+ const state = await this.client.api.get("/auth/mfa/");
28
+ return new MFA(this.client, state);
29
+ }
30
+ /**
31
+ * Create a new account
32
+ * @param data Account details
33
+ */
34
+ create(data) {
35
+ return this.client.api.post("/auth/account/create", data);
36
+ }
37
+ /**
38
+ * Resend email verification
39
+ * @param email Email
40
+ * @param captcha Captcha if enabled
41
+ */
42
+ reverify(email, captcha) {
43
+ return this.client.api.post("/auth/account/reverify", { email, captcha });
44
+ }
45
+ /**
46
+ * Send password reset email
47
+ * @param email Email
48
+ * @param captcha Captcha if enabled
49
+ */
50
+ resetPassword(email, captcha) {
51
+ return this.client.api.post("/auth/account/reset_password", {
52
+ email,
53
+ captcha,
54
+ });
55
+ }
56
+ /**
57
+ * Verify an account given the code
58
+ * @param code Verification code
59
+ */
60
+ verify(code) {
61
+ return this.client.api.post(`/auth/account/verify/${code}`);
62
+ }
63
+ /**
64
+ * Confirm account deletion
65
+ * @param token Deletion token
66
+ */
67
+ confirmDelete(token) {
68
+ return this.client.api.put("/auth/account/delete", { token });
69
+ }
70
+ /**
71
+ * Confirm password reset
72
+ * @param token Token
73
+ * @param newPassword New password
74
+ * @param removeSessions Whether to remove existing sessions
75
+ */
76
+ confirmPasswordReset(token, newPassword, removeSessions) {
77
+ return this.client.api.patch("/auth/account/reset_password", {
78
+ token,
79
+ password: newPassword,
80
+ remove_sessions: removeSessions,
81
+ });
82
+ }
83
+ /**
84
+ * Change account password
85
+ * @param newPassword New password
86
+ * @param currentPassword Current password
87
+ */
88
+ changePassword(newPassword, currentPassword) {
89
+ return this.client.api.patch("/auth/account/change/password", {
90
+ password: newPassword,
91
+ current_password: currentPassword,
92
+ });
93
+ }
94
+ /**
95
+ * Change account email
96
+ * @param newEmail New email
97
+ * @param currentPassword Current password
98
+ */
99
+ changeEmail(newEmail, currentPassword) {
100
+ return this.client.api.patch("/auth/account/change/email", {
101
+ email: newEmail,
102
+ current_password: currentPassword,
103
+ });
104
+ }
105
+ /**
106
+ * Fetch settings
107
+ * @param keys Keys
108
+ * @returns Settings
109
+ */
110
+ fetchSettings(keys) {
111
+ return this.client.api.post("/sync/settings/fetch", { keys });
112
+ }
113
+ /* eslint-disable @typescript-eslint/no-explicit-any */
114
+ /**
115
+ * Set settings
116
+ * @param settings Settings
117
+ * @param timestamp Timestamp
118
+ */
119
+ setSettings(settings, timestamp = +new Date()) {
120
+ return this.client.api.post("/sync/settings/set", {
121
+ ...settings,
122
+ timestamp,
123
+ });
124
+ }
125
+ /* eslint-enable @typescript-eslint/no-explicit-any */
126
+ /**
127
+ * Create a new Web Push subscription
128
+ * @param subscription Subscription
129
+ */
130
+ webPushSubscribe(subscription) {
131
+ return this.client.api.post("/push/subscribe", subscription);
132
+ }
133
+ /**
134
+ * Remove existing Web Push subscription
135
+ */
136
+ webPushUnsubscribe() {
137
+ return this.client.api.post("/push/unsubscribe");
138
+ }
139
+ }
@@ -0,0 +1,39 @@
1
+ import { HydratedBot } from "../hydration/bot.js";
2
+ import { API, Bot, PublicBot } from "../index.js";
3
+ import { ClassCollection } from "./index.js";
4
+ /**
5
+ * Collection of Bots
6
+ */
7
+ export declare class BotCollection extends ClassCollection<Bot, HydratedBot> {
8
+ /**
9
+ * Fetch bot by ID
10
+ * @param id Id
11
+ * @returns Bot
12
+ */
13
+ fetch(id: string): Promise<Bot>;
14
+ /**
15
+ * Fetch owned bots
16
+ * @returns List of bots
17
+ */
18
+ fetchOwned(): Promise<Bot[]>;
19
+ /**
20
+ * Fetch public bot by ID
21
+ * @param id Id
22
+ * @returns Public Bot
23
+ */
24
+ fetchPublic(id: string): Promise<PublicBot>;
25
+ /**
26
+ * Get or create
27
+ * @param id Id
28
+ * @param data Data
29
+ * @returns Bot
30
+ */
31
+ getOrCreate(id: string, data: API.Bot): Bot;
32
+ /**
33
+ * Create a bot
34
+ * @param name Bot name
35
+ * @returns The newly-created bot
36
+ */
37
+ createBot(name: string): Promise<Bot>;
38
+ }
39
+ //# sourceMappingURL=BotCollection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BotCollection.d.ts","sourceRoot":"","sources":["../../../src/collections/BotCollection.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAG7C;;GAEG;AACH,qBAAa,aAAc,SAAQ,eAAe,CAAC,GAAG,EAAE,WAAW,CAAC;IAClE;;;;OAIG;IACG,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAQrC;;;OAGG;IACG,UAAU,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAUlC;;;;OAIG;IACG,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAKjD;;;;;OAKG;IACH,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,GAAG;IAUrC;;;;OAIG;IACG,SAAS,CAAC,IAAI,EAAE,MAAM;CAO7B"}
@@ -0,0 +1,68 @@
1
+ import { Bot, PublicBot } from "../index.js";
2
+ import { ClassCollection } from "./index.js";
3
+ import { batch } from "solid-js";
4
+ /**
5
+ * Collection of Bots
6
+ */
7
+ export class BotCollection extends ClassCollection {
8
+ /**
9
+ * Fetch bot by ID
10
+ * @param id Id
11
+ * @returns Bot
12
+ */
13
+ async fetch(id) {
14
+ const bot = this.get(id);
15
+ if (bot)
16
+ return bot;
17
+ const data = await this.client.api.get(`/bots/${id}`);
18
+ this.client.users.getOrCreate(data.user._id, data.user);
19
+ return this.getOrCreate(data.bot._id, data.bot);
20
+ }
21
+ /**
22
+ * Fetch owned bots
23
+ * @returns List of bots
24
+ */
25
+ async fetchOwned() {
26
+ const data = (await this.client.api.get("/bots/@me"));
27
+ return batch(() => {
28
+ data.users.forEach((user) => this.client.users.getOrCreate(user._id, user));
29
+ return data.bots.map((bot) => this.getOrCreate(bot._id, bot));
30
+ });
31
+ }
32
+ /**
33
+ * Fetch public bot by ID
34
+ * @param id Id
35
+ * @returns Public Bot
36
+ */
37
+ async fetchPublic(id) {
38
+ const data = await this.client.api.get(`/bots/${id}/invite`);
39
+ return new PublicBot(this.client, data);
40
+ }
41
+ /**
42
+ * Get or create
43
+ * @param id Id
44
+ * @param data Data
45
+ * @returns Bot
46
+ */
47
+ getOrCreate(id, data) {
48
+ if (this.has(id)) {
49
+ return this.get(id);
50
+ }
51
+ else {
52
+ const instance = new Bot(this, id);
53
+ this.create(id, "bot", instance, this.client, data);
54
+ return instance;
55
+ }
56
+ }
57
+ /**
58
+ * Create a bot
59
+ * @param name Bot name
60
+ * @returns The newly-created bot
61
+ */
62
+ async createBot(name) {
63
+ const bot = await this.client.api.post(`/bots/create`, {
64
+ name,
65
+ });
66
+ return this.getOrCreate(bot._id, bot);
67
+ }
68
+ }
@@ -0,0 +1,39 @@
1
+ import { HydratedChannel } from "../hydration/index.js";
2
+ import { API, Channel, User } from "../index.js";
3
+ import { ClassCollection } from "./index.js";
4
+ /**
5
+ * Collection of Channels
6
+ */
7
+ export declare class ChannelCollection extends ClassCollection<Channel, HydratedChannel> {
8
+ /**
9
+ * Delete an object
10
+ * @param id Id
11
+ */
12
+ delete(id: string): void;
13
+ /**
14
+ * Fetch channel by ID
15
+ * @param id Id
16
+ * @returns Channel
17
+ */
18
+ fetch(id: string): Promise<Channel>;
19
+ /**
20
+ * Get or create
21
+ * @param id Id
22
+ * @param data Data
23
+ * @param isNew Whether this object is new
24
+ */
25
+ getOrCreate(id: string, data: API.Channel, isNew?: boolean): Channel;
26
+ /**
27
+ * Get or return partial
28
+ * @param id Id
29
+ */
30
+ getOrPartial(id: string): Channel | undefined;
31
+ /**
32
+ * Create a group
33
+ * @param name Group name
34
+ * @param users Users to add
35
+ * @returns The newly-created group
36
+ */
37
+ createGroup(name: string, users: (User | string)[]): Promise<Channel>;
38
+ }
39
+ //# sourceMappingURL=ChannelCollection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChannelCollection.d.ts","sourceRoot":"","sources":["../../../src/collections/ChannelCollection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,eAAe,CACpD,OAAO,EACP,eAAe,CAChB;IACC;;;OAGG;IACM,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAMjC;;;;OAIG;IACG,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAOzC;;;;;OAKG;IACH,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,OAAO,EAAE,KAAK,UAAQ;IAWxD;;;OAGG;IACH,YAAY,CAAC,EAAE,EAAE,MAAM;IAavB;;;;;OAKG;IACG,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,IAAI,GAAG,MAAM,CAAC,EAAE;CAQzD"}
@@ -0,0 +1,75 @@
1
+ import { Channel, User } from "../index.js";
2
+ import { ClassCollection } from "./index.js";
3
+ /**
4
+ * Collection of Channels
5
+ */
6
+ export class ChannelCollection extends ClassCollection {
7
+ /**
8
+ * Delete an object
9
+ * @param id Id
10
+ */
11
+ delete(id) {
12
+ const channel = this.get(id);
13
+ channel?.server?.channelIds.delete(id);
14
+ super.delete(id);
15
+ }
16
+ /**
17
+ * Fetch channel by ID
18
+ * @param id Id
19
+ * @returns Channel
20
+ */
21
+ async fetch(id) {
22
+ const channel = this.get(id);
23
+ if (channel && !this.isPartial(id))
24
+ return channel;
25
+ const data = await this.client.api.get(`/channels/${id}`);
26
+ return this.getOrCreate(data._id, data);
27
+ }
28
+ /**
29
+ * Get or create
30
+ * @param id Id
31
+ * @param data Data
32
+ * @param isNew Whether this object is new
33
+ */
34
+ getOrCreate(id, data, isNew = false) {
35
+ if (this.has(id) && !this.isPartial(id)) {
36
+ return this.get(id);
37
+ }
38
+ else {
39
+ const instance = new Channel(this, id);
40
+ this.create(id, "channel", instance, this.client, data);
41
+ isNew && this.client.emit("channelCreate", instance);
42
+ return instance;
43
+ }
44
+ }
45
+ /**
46
+ * Get or return partial
47
+ * @param id Id
48
+ */
49
+ getOrPartial(id) {
50
+ if (this.has(id)) {
51
+ return this.get(id);
52
+ }
53
+ else if (this.client.options.partials) {
54
+ const instance = new Channel(this, id);
55
+ this.create(id, "channel", instance, this.client, {
56
+ id,
57
+ partial: true,
58
+ });
59
+ return instance;
60
+ }
61
+ }
62
+ /**
63
+ * Create a group
64
+ * @param name Group name
65
+ * @param users Users to add
66
+ * @returns The newly-created group
67
+ */
68
+ async createGroup(name, users) {
69
+ const group = await this.client.api.post(`/channels/create`, {
70
+ name,
71
+ users: users.map((user) => (user instanceof User ? user.id : user)),
72
+ });
73
+ return this.getOrCreate(group._id, group, true);
74
+ }
75
+ }
@@ -0,0 +1,24 @@
1
+ import { ChannelUnread } from "../classes/ChannelUnread.js";
2
+ import { HydratedChannelUnread } from "../hydration/index.js";
3
+ import { API } from "../index.js";
4
+ import { ClassCollection } from "./index.js";
5
+ /**
6
+ * Collection of Channel Unreads
7
+ */
8
+ export declare class ChannelUnreadCollection extends ClassCollection<ChannelUnread, HydratedChannelUnread> {
9
+ /**
10
+ * Load unread information from server
11
+ */
12
+ sync(): Promise<void>;
13
+ /**
14
+ * Clear all unread data
15
+ */
16
+ reset(): void;
17
+ /**
18
+ * Get or create
19
+ * @param id Id
20
+ * @param data Data
21
+ */
22
+ getOrCreate(id: string, data: API.ChannelUnread): ChannelUnread;
23
+ }
24
+ //# sourceMappingURL=ChannelUnreadCollection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChannelUnreadCollection.d.ts","sourceRoot":"","sources":["../../../src/collections/ChannelUnreadCollection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAG7C;;GAEG;AACH,qBAAa,uBAAwB,SAAQ,eAAe,CAC1D,aAAa,EACb,qBAAqB,CACtB;IACC;;OAEG;IACG,IAAI;IAUV;;OAEG;IACH,KAAK;IAIL;;;;OAIG;IACH,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,aAAa;CAShD"}
@@ -0,0 +1,41 @@
1
+ import { ChannelUnread } from "../classes/ChannelUnread.js";
2
+ import { ClassCollection } from "./index.js";
3
+ import { batch } from "solid-js";
4
+ /**
5
+ * Collection of Channel Unreads
6
+ */
7
+ export class ChannelUnreadCollection extends ClassCollection {
8
+ /**
9
+ * Load unread information from server
10
+ */
11
+ async sync() {
12
+ const unreads = await this.client.api.get("/sync/unreads");
13
+ batch(() => {
14
+ this.reset();
15
+ for (const unread of unreads) {
16
+ this.getOrCreate(unread._id.channel, unread);
17
+ }
18
+ });
19
+ }
20
+ /**
21
+ * Clear all unread data
22
+ */
23
+ reset() {
24
+ this.updateUnderlyingObject({});
25
+ }
26
+ /**
27
+ * Get or create
28
+ * @param id Id
29
+ * @param data Data
30
+ */
31
+ getOrCreate(id, data) {
32
+ if (this.has(id)) {
33
+ return this.get(id);
34
+ }
35
+ else {
36
+ const instance = new ChannelUnread(this, id);
37
+ this.create(id, "channelUnread", instance, this.client, data);
38
+ return instance;
39
+ }
40
+ }
41
+ }
@@ -0,0 +1,29 @@
1
+ import { ChannelWebhook } from "../classes/ChannelWebhook.js";
2
+ import { HydratedChannelWebhook } from "../hydration/channelWebhook.js";
3
+ import { API } from "../index.js";
4
+ import { ClassCollection } from "./index.js";
5
+ /**
6
+ * Collection of Channel Webhooks
7
+ */
8
+ export declare class ChannelWebhookCollection extends ClassCollection<ChannelWebhook, HydratedChannelWebhook> {
9
+ /**
10
+ * Fetch webhook by ID
11
+ * @param id Id
12
+ * @returns Webhook
13
+ */
14
+ fetch(id: string): Promise<ChannelWebhook>;
15
+ /**
16
+ * Create webhook with ID and token
17
+ * @param id Id
18
+ * @param token Token
19
+ * @returns Webhook
20
+ */
21
+ fromToken(id: string, token: string): Promise<ChannelWebhook>;
22
+ /**
23
+ * Get or create
24
+ * @param id Id
25
+ * @param data Data
26
+ */
27
+ getOrCreate(id: string, data: API.Webhook): ChannelWebhook;
28
+ }
29
+ //# sourceMappingURL=ChannelWebhookCollection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChannelWebhookCollection.d.ts","sourceRoot":"","sources":["../../../src/collections/ChannelWebhookCollection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C;;GAEG;AACH,qBAAa,wBAAyB,SAAQ,eAAe,CAC3D,cAAc,EACd,sBAAsB,CACvB;IACC;;;;OAIG;IACG,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAShD;;;;;OAKG;IACG,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAWnE;;;;OAIG;IACH,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,OAAO;CAS1C"}
@@ -0,0 +1,52 @@
1
+ import { ChannelWebhook } from "../classes/ChannelWebhook.js";
2
+ import { ClassCollection } from "./index.js";
3
+ /**
4
+ * Collection of Channel Webhooks
5
+ */
6
+ export class ChannelWebhookCollection extends ClassCollection {
7
+ /**
8
+ * Fetch webhook by ID
9
+ * @param id Id
10
+ * @returns Webhook
11
+ */
12
+ async fetch(id) {
13
+ const webhook = this.get(id);
14
+ if (webhook)
15
+ return webhook;
16
+ // @ts-expect-error not in prod
17
+ const data = await this.client.api.get(`/webhooks/${id}`);
18
+ // @ts-expect-error not in prod
19
+ return this.getOrCreate(data.id, data);
20
+ }
21
+ /**
22
+ * Create webhook with ID and token
23
+ * @param id Id
24
+ * @param token Token
25
+ * @returns Webhook
26
+ */
27
+ async fromToken(id, token) {
28
+ const webhook = this.get(id);
29
+ if (webhook)
30
+ return webhook;
31
+ const data = await this.client.api.get(
32
+ // @ts-expect-error not in prod
33
+ `/webhooks/${id}/${token}`);
34
+ // @ts-expect-error not in prod
35
+ return this.getOrCreate(data.id, data);
36
+ }
37
+ /**
38
+ * Get or create
39
+ * @param id Id
40
+ * @param data Data
41
+ */
42
+ getOrCreate(id, data) {
43
+ if (this.has(id)) {
44
+ return this.get(id);
45
+ }
46
+ else {
47
+ const instance = new ChannelWebhook(this, id);
48
+ this.create(id, "channelWebhook", instance, this.client, data);
49
+ return instance;
50
+ }
51
+ }
52
+ }