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":"Server.d.ts","sourceRoot":"","sources":["../../../src/classes/Server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,585 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
12
+ if (kind === "m") throw new TypeError("Private method is not writable");
13
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
14
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
15
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
16
+ };
17
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
18
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
19
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
20
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
21
+ };
22
+ var _Server_collection, _Server_synced;
23
+ Object.defineProperty(exports, "__esModule", { value: true });
24
+ exports.Server = void 0;
25
+ const index_js_1 = require("../hydration/index.js");
26
+ const index_js_2 = require("../index.js");
27
+ const calculator_js_1 = require("../permissions/calculator.js");
28
+ const definitions_js_1 = require("../permissions/definitions.js");
29
+ const Invite_js_1 = require("./Invite.js");
30
+ const ServerBan_js_1 = require("./ServerBan.js");
31
+ const solid_js_1 = require("solid-js");
32
+ const ulid_1 = require("ulid");
33
+ /**
34
+ * Server Class
35
+ */
36
+ class Server {
37
+ /**
38
+ * Construct Server
39
+ * @param collection Collection
40
+ * @param id Id
41
+ */
42
+ constructor(collection, id) {
43
+ _Server_collection.set(this, void 0);
44
+ _Server_synced.set(this, void 0);
45
+ __classPrivateFieldSet(this, _Server_collection, collection, "f");
46
+ this.id = id;
47
+ }
48
+ /**
49
+ * Convert to string
50
+ * @returns String
51
+ */
52
+ toString() {
53
+ return `<%${this.id}>`;
54
+ }
55
+ /**
56
+ * Whether this object exists
57
+ */
58
+ get $exists() {
59
+ return !!__classPrivateFieldGet(this, _Server_collection, "f").getUnderlyingObject(this.id).id;
60
+ }
61
+ /**
62
+ * Time when this server was created
63
+ */
64
+ get createdAt() {
65
+ return new Date((0, ulid_1.decodeTime)(this.id));
66
+ }
67
+ /**
68
+ * Owner's user ID
69
+ */
70
+ get ownerId() {
71
+ return __classPrivateFieldGet(this, _Server_collection, "f").getUnderlyingObject(this.id).ownerId;
72
+ }
73
+ /**
74
+ * Owner
75
+ */
76
+ get owner() {
77
+ return __classPrivateFieldGet(this, _Server_collection, "f").client.users.get(__classPrivateFieldGet(this, _Server_collection, "f").getUnderlyingObject(this.id).ownerId);
78
+ }
79
+ /**
80
+ * Name
81
+ */
82
+ get name() {
83
+ return __classPrivateFieldGet(this, _Server_collection, "f").getUnderlyingObject(this.id).name;
84
+ }
85
+ /**
86
+ * Description
87
+ */
88
+ get description() {
89
+ return __classPrivateFieldGet(this, _Server_collection, "f").getUnderlyingObject(this.id).description;
90
+ }
91
+ /**
92
+ * Icon
93
+ */
94
+ get icon() {
95
+ return __classPrivateFieldGet(this, _Server_collection, "f").getUnderlyingObject(this.id).icon;
96
+ }
97
+ /**
98
+ * Banner
99
+ */
100
+ get banner() {
101
+ return __classPrivateFieldGet(this, _Server_collection, "f").getUnderlyingObject(this.id).banner;
102
+ }
103
+ /**
104
+ * Channel IDs
105
+ */
106
+ get channelIds() {
107
+ return __classPrivateFieldGet(this, _Server_collection, "f").getUnderlyingObject(this.id).channelIds;
108
+ }
109
+ /**
110
+ * Channels
111
+ */
112
+ get channels() {
113
+ return [
114
+ ...__classPrivateFieldGet(this, _Server_collection, "f").getUnderlyingObject(this.id).channelIds.values(),
115
+ ]
116
+ .map((id) => __classPrivateFieldGet(this, _Server_collection, "f").client.channels.get(id))
117
+ .filter((x) => x);
118
+ }
119
+ /**
120
+ * Categories
121
+ */
122
+ get categories() {
123
+ return __classPrivateFieldGet(this, _Server_collection, "f").getUnderlyingObject(this.id).categories;
124
+ }
125
+ /**
126
+ * System message channels
127
+ */
128
+ get systemMessages() {
129
+ return __classPrivateFieldGet(this, _Server_collection, "f").getUnderlyingObject(this.id).systemMessages;
130
+ }
131
+ /**
132
+ * Roles
133
+ */
134
+ get roles() {
135
+ return __classPrivateFieldGet(this, _Server_collection, "f").getUnderlyingObject(this.id).roles;
136
+ }
137
+ /**
138
+ * Default permissions
139
+ */
140
+ get defaultPermissions() {
141
+ return __classPrivateFieldGet(this, _Server_collection, "f").getUnderlyingObject(this.id).defaultPermissions;
142
+ }
143
+ /**
144
+ * Server flags
145
+ */
146
+ get flags() {
147
+ return __classPrivateFieldGet(this, _Server_collection, "f").getUnderlyingObject(this.id).flags;
148
+ }
149
+ /**
150
+ * Whether analytics are enabled for this server
151
+ */
152
+ get analytics() {
153
+ return __classPrivateFieldGet(this, _Server_collection, "f").getUnderlyingObject(this.id).analytics;
154
+ }
155
+ /**
156
+ * Whether this server is publicly discoverable
157
+ */
158
+ get discoverable() {
159
+ return __classPrivateFieldGet(this, _Server_collection, "f").getUnderlyingObject(this.id).discoverable;
160
+ }
161
+ /**
162
+ * Whether this server is marked as mature
163
+ */
164
+ get mature() {
165
+ return __classPrivateFieldGet(this, _Server_collection, "f").getUnderlyingObject(this.id).nsfw;
166
+ }
167
+ /**
168
+ * Get an array of ordered categories with their respective channels.
169
+ * Uncategorised channels are returned in `id="default"` category.
170
+ */
171
+ get orderedChannels() {
172
+ const uncategorised = new Set(this.channels.map((channel) => channel.id));
173
+ const elements = [];
174
+ let defaultCategory;
175
+ const categories = this.categories;
176
+ if (categories) {
177
+ for (const category of categories) {
178
+ const channels = [];
179
+ for (const key of category.channels) {
180
+ if (uncategorised.delete(key)) {
181
+ channels.push(__classPrivateFieldGet(this, _Server_collection, "f").client.channels.get(key));
182
+ }
183
+ }
184
+ const cat = Object.assign(Object.assign({}, category), { channels });
185
+ if (cat.id === "default") {
186
+ if (channels.length === 0)
187
+ continue;
188
+ defaultCategory = cat;
189
+ }
190
+ elements.push(cat);
191
+ }
192
+ }
193
+ if (uncategorised.size > 0) {
194
+ const channels = [...uncategorised].map((key) => __classPrivateFieldGet(this, _Server_collection, "f").client.channels.get(key));
195
+ if (defaultCategory) {
196
+ defaultCategory.channels = [...defaultCategory.channels, ...channels];
197
+ }
198
+ else {
199
+ elements.unshift({
200
+ id: "default",
201
+ title: "Default",
202
+ channels,
203
+ });
204
+ }
205
+ }
206
+ return elements;
207
+ }
208
+ /**
209
+ * Default channel for this server
210
+ */
211
+ get defaultChannel() {
212
+ var _a;
213
+ return (_a = this.orderedChannels.find((cat) => cat.channels.length)) === null || _a === void 0 ? void 0 : _a.channels[0];
214
+ }
215
+ /**
216
+ * Get an ordered array of roles with their IDs attached.
217
+ * The highest ranking roles will be first followed by lower
218
+ * ranking roles. This is dictated by the "rank" property
219
+ * which is smaller for higher priority roles.
220
+ */
221
+ get orderedRoles() {
222
+ const roles = this.roles;
223
+ return roles
224
+ ? [...roles.entries()]
225
+ .map(([id, role]) => (Object.assign({ id }, role)))
226
+ .sort((a, b) => (a.rank || 0) - (b.rank || 0))
227
+ : [];
228
+ }
229
+ /**
230
+ * Check whether the server is currently unread
231
+ * @returns Whether the server is unread
232
+ */
233
+ get unread() {
234
+ return this.channels.find((channel) => channel.unread);
235
+ }
236
+ /**
237
+ * Find all message IDs of unread messages
238
+ * @returns Array of message IDs which are unread
239
+ */
240
+ get mentions() {
241
+ const arr = this.channels.map((channel) => { var _a, _b; return Array.from((_b = (_a = channel.mentions) === null || _a === void 0 ? void 0 : _a.values()) !== null && _b !== void 0 ? _b : []); });
242
+ return [].concat(...arr);
243
+ }
244
+ /**
245
+ * URL to the server's icon
246
+ */
247
+ get iconURL() {
248
+ var _a;
249
+ return (_a = this.icon) === null || _a === void 0 ? void 0 : _a.createFileURL({ max_side: 256 });
250
+ }
251
+ /**
252
+ * URL to the server's animated icon
253
+ */
254
+ get animatedIconURL() {
255
+ var _a;
256
+ return (_a = this.icon) === null || _a === void 0 ? void 0 : _a.createFileURL({ max_side: 256 }, true);
257
+ }
258
+ /**
259
+ * URL to the server's banner
260
+ */
261
+ get bannerURL() {
262
+ var _a;
263
+ return (_a = this.banner) === null || _a === void 0 ? void 0 : _a.createFileURL({ max_side: 256 }, true);
264
+ }
265
+ /**
266
+ * Own member object for this server
267
+ */
268
+ get member() {
269
+ return __classPrivateFieldGet(this, _Server_collection, "f").client.serverMembers.getByKey({
270
+ server: this.id,
271
+ user: __classPrivateFieldGet(this, _Server_collection, "f").client.user.id,
272
+ });
273
+ }
274
+ /**
275
+ * Permission the currently authenticated user has against this server
276
+ */
277
+ get permission() {
278
+ return (0, calculator_js_1.calculatePermission)(__classPrivateFieldGet(this, _Server_collection, "f").client, this);
279
+ }
280
+ /**
281
+ * Check whether we have a given permission in a server
282
+ * @param permission Permission Names
283
+ * @returns Whether we have this permission
284
+ */
285
+ havePermission(...permission) {
286
+ return (0, calculator_js_1.bitwiseAndEq)(this.permission, ...permission.map((x) => definitions_js_1.Permission[x]));
287
+ }
288
+ /**
289
+ * Check whether we have at least one of the given permissions in a server
290
+ * @param permission Permission Names
291
+ * @returns Whether we have one of the permissions
292
+ */
293
+ orPermission(...permission) {
294
+ return (permission.findIndex((x) => (0, calculator_js_1.bitwiseAndEq)(this.permission, definitions_js_1.Permission[x])) !== -1);
295
+ }
296
+ /**
297
+ * Helper function to retrieve cached server member by their ID in this server
298
+ * @param userId User's ID
299
+ * @returns Server Member (if cached)
300
+ */
301
+ getMember(userId) {
302
+ return __classPrivateFieldGet(this, _Server_collection, "f").client.serverMembers.getByKey({
303
+ server: this.id,
304
+ user: userId,
305
+ });
306
+ }
307
+ /**
308
+ * Create a channel
309
+ * @param data Channel create route data
310
+ * @returns The newly-created channel
311
+ */
312
+ createChannel(data) {
313
+ return __awaiter(this, void 0, void 0, function* () {
314
+ const channel = yield __classPrivateFieldGet(this, _Server_collection, "f").client.api.post(`/servers/${this.id}/channels`, data);
315
+ return __classPrivateFieldGet(this, _Server_collection, "f").client.channels.getOrCreate(channel._id, channel);
316
+ });
317
+ }
318
+ /**
319
+ * Edit a server
320
+ * @param data Changes
321
+ */
322
+ edit(data) {
323
+ return __awaiter(this, void 0, void 0, function* () {
324
+ __classPrivateFieldGet(this, _Server_collection, "f").updateUnderlyingObject(this.id, (0, index_js_1.hydrate)("server", yield __classPrivateFieldGet(this, _Server_collection, "f").client.api.patch(`/servers/${this.id}`, data), __classPrivateFieldGet(this, _Server_collection, "f").client, false));
325
+ });
326
+ }
327
+ /**
328
+ * Delete the underlying server
329
+ * @param leaveEvent Whether we are leaving
330
+ */
331
+ $delete(leaveEvent) {
332
+ (0, solid_js_1.batch)(() => {
333
+ const server = __classPrivateFieldGet(this, _Server_collection, "f").client.servers.getUnderlyingObject(this.id);
334
+ // Avoid race conditions
335
+ if (server.id) {
336
+ __classPrivateFieldGet(this, _Server_collection, "f").client.emit(leaveEvent ? "serverLeave" : "serverDelete", server);
337
+ for (const channel of this.channelIds) {
338
+ __classPrivateFieldGet(this, _Server_collection, "f").client.channels.delete(channel);
339
+ }
340
+ __classPrivateFieldGet(this, _Server_collection, "f").delete(this.id);
341
+ }
342
+ // TODO: delete members, emoji, etc
343
+ });
344
+ }
345
+ /**
346
+ * Delete or leave a server
347
+ * @param leaveSilently Whether to not send a message on leave
348
+ */
349
+ delete(leaveSilently) {
350
+ return __awaiter(this, void 0, void 0, function* () {
351
+ yield __classPrivateFieldGet(this, _Server_collection, "f").client.api.delete(`/servers/${this.id}`, {
352
+ leave_silently: leaveSilently,
353
+ });
354
+ this.$delete();
355
+ });
356
+ }
357
+ /**
358
+ * Mark a server as read
359
+ */
360
+ ack() {
361
+ return __awaiter(this, void 0, void 0, function* () {
362
+ (0, solid_js_1.batch)(() => {
363
+ for (const channel of this.channels) {
364
+ channel.ack(undefined, false, true);
365
+ }
366
+ });
367
+ yield __classPrivateFieldGet(this, _Server_collection, "f").client.api.put(`/servers/${this.id}/ack`);
368
+ });
369
+ }
370
+ /**
371
+ * Ban user from this server
372
+ * @param user User
373
+ * @param options Ban options
374
+ */
375
+ banUser(user_1) {
376
+ return __awaiter(this, arguments, void 0, function* (user, options = {}) {
377
+ const userId = user instanceof index_js_2.User
378
+ ? user.id
379
+ : user instanceof index_js_2.ServerMember
380
+ ? user.id.user
381
+ : user;
382
+ const ban = yield __classPrivateFieldGet(this, _Server_collection, "f").client.api.put(`/servers/${this.id}/bans/${userId}`, options);
383
+ return new ServerBan_js_1.ServerBan(__classPrivateFieldGet(this, _Server_collection, "f").client, ban);
384
+ });
385
+ }
386
+ /**
387
+ * Kick user from this server
388
+ * @param user User
389
+ */
390
+ kickUser(user) {
391
+ return __awaiter(this, void 0, void 0, function* () {
392
+ return yield __classPrivateFieldGet(this, _Server_collection, "f").client.api.delete(`/servers/${this.id}/members/${typeof user === "string"
393
+ ? user
394
+ : user instanceof index_js_2.User
395
+ ? user.id
396
+ : user.id.user}`);
397
+ });
398
+ }
399
+ /**
400
+ * Pardon user's ban
401
+ * @param user User
402
+ */
403
+ unbanUser(user) {
404
+ return __awaiter(this, void 0, void 0, function* () {
405
+ const userId = user instanceof index_js_2.User ? user.id : user;
406
+ return yield __classPrivateFieldGet(this, _Server_collection, "f").client.api.delete(`/servers/${this.id}/bans/${userId}`);
407
+ });
408
+ }
409
+ /**
410
+ * Fetch a server's invites
411
+ * @returns An array of the server's invites
412
+ */
413
+ fetchInvites() {
414
+ return __awaiter(this, void 0, void 0, function* () {
415
+ const invites = yield __classPrivateFieldGet(this, _Server_collection, "f").client.api.get(`/servers/${this.id}/invites`);
416
+ return invites.map((invite) => Invite_js_1.ChannelInvite.from(__classPrivateFieldGet(this, _Server_collection, "f").client, invite));
417
+ });
418
+ }
419
+ /**
420
+ * Fetch a server's bans
421
+ * @returns An array of the server's bans.
422
+ */
423
+ fetchBans() {
424
+ return __awaiter(this, void 0, void 0, function* () {
425
+ const { users, bans } = yield __classPrivateFieldGet(this, _Server_collection, "f").client.api.get(`/servers/${this.id}/bans`);
426
+ const userDict = users.reduce((d, c) => (Object.assign(Object.assign({}, d), { [c._id]: c })), {});
427
+ return bans.map((ban) => new ServerBan_js_1.ServerBan(__classPrivateFieldGet(this, _Server_collection, "f").client, ban, userDict[ban._id.user]));
428
+ });
429
+ }
430
+ /**
431
+ * Set role permissions
432
+ * @param roleId Role Id, set to 'default' to affect all users
433
+ * @param permissions Permission value
434
+ */
435
+ setPermissions() {
436
+ return __awaiter(this, arguments, void 0, function* (roleId = "default", permissions) {
437
+ return yield __classPrivateFieldGet(this, _Server_collection, "f").client.api.put(`/servers/${this.id}/permissions/${roleId}`, { permissions: permissions });
438
+ });
439
+ }
440
+ /**
441
+ * Create role
442
+ * @param name Role name
443
+ */
444
+ createRole(name) {
445
+ return __awaiter(this, void 0, void 0, function* () {
446
+ return yield __classPrivateFieldGet(this, _Server_collection, "f").client.api.post(`/servers/${this.id}/roles`, {
447
+ name,
448
+ });
449
+ });
450
+ }
451
+ /**
452
+ * Edit a role
453
+ * @param roleId Role ID
454
+ * @param data Role editing route data
455
+ */
456
+ editRole(roleId, data) {
457
+ return __awaiter(this, void 0, void 0, function* () {
458
+ return yield __classPrivateFieldGet(this, _Server_collection, "f").client.api.patch(`/servers/${this.id}/roles/${roleId}`, data);
459
+ });
460
+ }
461
+ /**
462
+ * Delete role
463
+ * @param roleId Role ID
464
+ */
465
+ deleteRole(roleId) {
466
+ return __awaiter(this, void 0, void 0, function* () {
467
+ return yield __classPrivateFieldGet(this, _Server_collection, "f").client.api.delete(`/servers/${this.id}/roles/${roleId}`);
468
+ });
469
+ }
470
+ /**
471
+ * Fetch a server member
472
+ * @param user User
473
+ * @returns Server member object
474
+ */
475
+ fetchMember(user) {
476
+ return __awaiter(this, void 0, void 0, function* () {
477
+ const userId = typeof user === "string" ? user : user.id;
478
+ const existing = __classPrivateFieldGet(this, _Server_collection, "f").client.serverMembers.getByKey({
479
+ server: this.id,
480
+ user: userId,
481
+ });
482
+ if (existing)
483
+ return existing;
484
+ return __classPrivateFieldGet(this, _Server_collection, "f").client.serverMembers.fetch(this.id, userId);
485
+ });
486
+ }
487
+ /**
488
+ * Optimised member fetch route
489
+ * @param excludeOffline
490
+ */
491
+ syncMembers(excludeOffline) {
492
+ return __awaiter(this, void 0, void 0, function* () {
493
+ if (__classPrivateFieldGet(this, _Server_synced, "f") && (__classPrivateFieldGet(this, _Server_synced, "f") === "full" || excludeOffline))
494
+ return;
495
+ const data = yield __classPrivateFieldGet(this, _Server_collection, "f").client.api.get(`/servers/${this.id}/members`, { exclude_offline: excludeOffline });
496
+ (0, solid_js_1.batch)(() => {
497
+ if (excludeOffline) {
498
+ for (let i = 0; i < data.users.length; i++) {
499
+ const user = data.users[i];
500
+ if (user.online) {
501
+ __classPrivateFieldGet(this, _Server_collection, "f").client.users.getOrCreate(user._id, user);
502
+ __classPrivateFieldGet(this, _Server_collection, "f").client.serverMembers.getOrCreate(data.members[i]._id, data.members[i]);
503
+ }
504
+ }
505
+ }
506
+ else {
507
+ for (let i = 0; i < data.users.length; i++) {
508
+ __classPrivateFieldGet(this, _Server_collection, "f").client.users.getOrCreate(data.users[i]._id, data.users[i]);
509
+ __classPrivateFieldGet(this, _Server_collection, "f").client.serverMembers.getOrCreate(data.members[i]._id, data.members[i]);
510
+ }
511
+ }
512
+ });
513
+ });
514
+ }
515
+ /**
516
+ * Reset member sync status
517
+ */
518
+ resetSyncStatus() {
519
+ __classPrivateFieldSet(this, _Server_synced, undefined, "f");
520
+ }
521
+ /**
522
+ * Fetch a server's members
523
+ * @returns List of the server's members and their user objects
524
+ */
525
+ fetchMembers() {
526
+ return __awaiter(this, void 0, void 0, function* () {
527
+ const data = (yield __classPrivateFieldGet(this, _Server_collection, "f").client.api.get(
528
+ // @ts-expect-error TODO weird typing issue
529
+ `/servers/${this.id}/members`));
530
+ return (0, solid_js_1.batch)(() => ({
531
+ members: data.members.map((member) => __classPrivateFieldGet(this, _Server_collection, "f").client.serverMembers.getOrCreate(member._id, member)),
532
+ users: data.users.map((user) => __classPrivateFieldGet(this, _Server_collection, "f").client.users.getOrCreate(user._id, user)),
533
+ }));
534
+ });
535
+ }
536
+ /**
537
+ * Query members from a server by name
538
+ * @param query Name
539
+ * @returns List of the server's members and their user objects
540
+ */
541
+ queryMembersExperimental(query) {
542
+ return __awaiter(this, void 0, void 0, function* () {
543
+ const data = (yield __classPrivateFieldGet(this, _Server_collection, "f").client.api.get(`/servers/${this.id}/members_experimental_query?experimental_api=true&query=${encodeURIComponent(query)}`));
544
+ return (0, solid_js_1.batch)(() => ({
545
+ members: data.members.map((member) => __classPrivateFieldGet(this, _Server_collection, "f").client.serverMembers.getOrCreate(member._id, member)),
546
+ users: data.users.map((user) => __classPrivateFieldGet(this, _Server_collection, "f").client.users.getOrCreate(user._id, user)),
547
+ }));
548
+ });
549
+ }
550
+ /**
551
+ * Create an emoji on the server
552
+ * @param autumnId Autumn Id
553
+ * @param options Options
554
+ */
555
+ createEmoji(autumnId, options) {
556
+ return __awaiter(this, void 0, void 0, function* () {
557
+ const emoji = yield __classPrivateFieldGet(this, _Server_collection, "f").client.api.put(`/custom/emoji/${autumnId}`, Object.assign({ parent: {
558
+ type: "Server",
559
+ id: this.id,
560
+ } }, options));
561
+ return __classPrivateFieldGet(this, _Server_collection, "f").client.emojis.getOrCreate(emoji._id, emoji, true);
562
+ });
563
+ }
564
+ /**
565
+ * Fetch a server's emoji
566
+ * @returns List of server emoji
567
+ */
568
+ fetchEmojis() {
569
+ return __awaiter(this, void 0, void 0, function* () {
570
+ const emojis = yield __classPrivateFieldGet(this, _Server_collection, "f").client.api.get(`/servers/${this.id}/emojis`);
571
+ return (0, solid_js_1.batch)(() => emojis.map((emoji) => __classPrivateFieldGet(this, _Server_collection, "f").client.emojis.getOrCreate(emoji._id, emoji)));
572
+ });
573
+ }
574
+ /**
575
+ * Delete emoji
576
+ * @param emojiId Emoji ID
577
+ */
578
+ deleteEmoji(emojiId) {
579
+ return __awaiter(this, void 0, void 0, function* () {
580
+ return yield __classPrivateFieldGet(this, _Server_collection, "f").client.api.delete(`/custom/emoji/${emojiId}`);
581
+ });
582
+ }
583
+ }
584
+ exports.Server = Server;
585
+ _Server_collection = new WeakMap(), _Server_synced = new WeakMap();
@@ -0,0 +1,26 @@
1
+ import { BannedUser as ApiBannedUser, ServerBan as ApiServerBan, MemberCompositeKey } from "../api";
2
+ import { BannedUser, Client } from "../index.js";
3
+ /**
4
+ * Server Ban
5
+ */
6
+ export declare class ServerBan {
7
+ protected client: Client;
8
+ readonly id: MemberCompositeKey;
9
+ readonly reason?: string;
10
+ readonly user?: BannedUser;
11
+ /**
12
+ * Construct Server Ban
13
+ * @param client Client
14
+ * @param data Data
15
+ */
16
+ constructor(client: Client, data: ApiServerBan, user?: ApiBannedUser);
17
+ /**
18
+ * Server
19
+ */
20
+ get server(): import("./Server").Server | undefined;
21
+ /**
22
+ * Remove this server ban
23
+ */
24
+ pardon(): Promise<void>;
25
+ }
26
+ //# sourceMappingURL=ServerBan.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ServerBan.d.ts","sourceRoot":"","sources":["../../../src/classes/ServerBan.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,IAAI,aAAa,EAC3B,SAAS,IAAI,YAAY,EACzB,kBAAkB,EACnB,MAAM,QAAQ,CAAC;AAChB,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAEjD;;GAEG;AACH,qBAAa,SAAS;IACpB,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,EAAE,kBAAkB,CAAC;IAChC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC;IAE3B;;;;OAIG;gBACS,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,aAAa;IAOpE;;OAEG;IACH,IAAI,MAAM,0CAET;IAED;;OAEG;IACG,MAAM;CAKb"}
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.ServerBan = void 0;
13
+ const index_js_1 = require("../index.js");
14
+ /**
15
+ * Server Ban
16
+ */
17
+ class ServerBan {
18
+ /**
19
+ * Construct Server Ban
20
+ * @param client Client
21
+ * @param data Data
22
+ */
23
+ constructor(client, data, user) {
24
+ this.client = client;
25
+ this.id = data._id;
26
+ this.reason = data.reason;
27
+ this.user = user ? new index_js_1.BannedUser(client, user) : undefined;
28
+ }
29
+ /**
30
+ * Server
31
+ */
32
+ get server() {
33
+ return this.client.servers.get(this.id.server);
34
+ }
35
+ /**
36
+ * Remove this server ban
37
+ */
38
+ pardon() {
39
+ return __awaiter(this, void 0, void 0, function* () {
40
+ yield this.client.api.delete(`/servers/${this.id.server}/bans/${this.id.user}`);
41
+ });
42
+ }
43
+ }
44
+ exports.ServerBan = ServerBan;