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/hydration/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,65 @@
1
+ import { botHydration } from "./bot.js";
2
+ import { channelHydration } from "./channel.js";
3
+ import { channelUnreadHydration } from "./channelUnread.js";
4
+ import { channelWebhookHydration } from "./channelWebhook.js";
5
+ import { emojiHydration } from "./emoji.js";
6
+ import { messageHydration } from "./message.js";
7
+ import { serverHydration } from "./server.js";
8
+ import { serverMemberHydration } from "./serverMember.js";
9
+ import { sessionHydration } from "./session.js";
10
+ import { userHydration } from "./user.js";
11
+ export { BotFlags } from "./bot.js";
12
+ export { ServerFlags } from "./server.js";
13
+ export { UserBadges, UserFlags } from "./user.js";
14
+ /**
15
+ * Hydrate some data
16
+ * @param hydration Hydration data
17
+ * @param input Input data
18
+ * @returns Output data
19
+ */
20
+ function hydrateInternal(hydration, input, context) {
21
+ return Object.keys(input).reduce((acc, key) => {
22
+ let targetKey, value;
23
+ try {
24
+ targetKey = hydration.keyMapping[key] ?? key;
25
+ value = hydration.functions[targetKey](input, context);
26
+ }
27
+ catch (err) {
28
+ if (key === "partial")
29
+ return {
30
+ ...acc,
31
+ partial: input["partial"],
32
+ };
33
+ if (key === "type")
34
+ return acc;
35
+ console.debug(`Skipping key ${String(key)} during hydration!`);
36
+ return acc;
37
+ }
38
+ return {
39
+ ...acc,
40
+ [targetKey]: value,
41
+ };
42
+ }, {});
43
+ }
44
+ const hydrators = {
45
+ bot: botHydration,
46
+ channel: channelHydration,
47
+ channelUnread: channelUnreadHydration,
48
+ channelWebhook: channelWebhookHydration,
49
+ emoji: emojiHydration,
50
+ message: messageHydration,
51
+ server: serverHydration,
52
+ serverMember: serverMemberHydration,
53
+ session: sessionHydration,
54
+ user: userHydration,
55
+ };
56
+ /**
57
+ * Hydrate some input with a given type
58
+ * @param type Type
59
+ * @param input Input Object
60
+ * @param initial Whether this is the initial hydration
61
+ * @returns Hydrated Object
62
+ */
63
+ export function hydrate(type, input, context, initial) {
64
+ return hydrateInternal(hydrators[type], initial ? { ...hydrators[type].initialHydration(), ...input } : input, context);
65
+ }
@@ -0,0 +1,25 @@
1
+ import { API, File, MessageEmbed, MessageWebhook, SystemMessage } from "../index.js";
2
+ import type { Merge } from "../lib/merge.js";
3
+ import { Hydrate } from "./index.js";
4
+ import { ReactiveMap } from "@solid-primitives/map";
5
+ import { ReactiveSet } from "@solid-primitives/set";
6
+ export type HydratedMessage = {
7
+ id: string;
8
+ nonce?: string;
9
+ channelId: string;
10
+ authorId?: string;
11
+ webhook?: MessageWebhook;
12
+ content?: string;
13
+ systemMessage?: SystemMessage;
14
+ attachments?: File[];
15
+ editedAt?: Date;
16
+ embeds?: MessageEmbed[];
17
+ mentionIds?: string[];
18
+ replyIds?: string[];
19
+ reactions: ReactiveMap<string, ReactiveSet<string>>;
20
+ interactions?: API.Interactions;
21
+ masquerade?: API.Masquerade;
22
+ flags?: number;
23
+ };
24
+ export declare const messageHydration: Hydrate<Merge<API.Message>, HydratedMessage>;
25
+ //# sourceMappingURL=message.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../../src/hydration/message.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,GAAG,EAEH,IAAI,EACJ,YAAY,EACZ,cAAc,EACd,aAAa,EACd,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,MAAM,MAAM,eAAe,GAAG;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,WAAW,CAAC,EAAE,IAAI,EAAE,CAAC;IACrB,QAAQ,CAAC,EAAE,IAAI,CAAC;IAChB,MAAM,CAAC,EAAE,YAAY,EAAE,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,EAAE,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;IACpD,YAAY,CAAC,EAAE,GAAG,CAAC,YAAY,CAAC;IAChC,UAAU,CAAC,EAAE,GAAG,CAAC,UAAU,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,eAAe,CA6CzE,CAAC"}
@@ -0,0 +1,45 @@
1
+ import { File, MessageEmbed, MessageWebhook, SystemMessage, } from "../index.js";
2
+ import { ReactiveMap } from "@solid-primitives/map";
3
+ import { ReactiveSet } from "@solid-primitives/set";
4
+ export const messageHydration = {
5
+ keyMapping: {
6
+ _id: "id",
7
+ channel: "channelId",
8
+ author: "authorId",
9
+ system: "systemMessage",
10
+ edited: "editedAt",
11
+ mentions: "mentionIds",
12
+ replies: "replyIds",
13
+ },
14
+ functions: {
15
+ id: (message) => message._id,
16
+ nonce: (message) => message.nonce,
17
+ channelId: (message) => message.channel,
18
+ authorId: (message) => message.author,
19
+ webhook: (message, ctx) => message.webhook
20
+ ? new MessageWebhook(ctx, message.webhook, message.author)
21
+ : undefined,
22
+ content: (message) => message.content,
23
+ systemMessage: (message, ctx) => SystemMessage.from(ctx, message.system),
24
+ attachments: (message, ctx) => message.attachments.map((file) => new File(ctx, file)),
25
+ editedAt: (message) => new Date(message.edited),
26
+ embeds: (message, ctx) => message.embeds.map((embed) => MessageEmbed.from(ctx, embed)),
27
+ mentionIds: (message) => message.mentions,
28
+ replyIds: (message) => message.replies,
29
+ reactions: (message) => {
30
+ const map = new ReactiveMap();
31
+ if (message.reactions) {
32
+ for (const reaction of Object.keys(message.reactions)) {
33
+ map.set(reaction, new ReactiveSet(message.reactions[reaction]));
34
+ }
35
+ }
36
+ return map;
37
+ },
38
+ interactions: (message) => message.interactions,
39
+ masquerade: (message) => message.masquerade,
40
+ flags: (message) => message.flags,
41
+ },
42
+ initialHydration: () => ({
43
+ reactions: new ReactiveMap(),
44
+ }),
45
+ };
@@ -0,0 +1,31 @@
1
+ import { Server as ApiServer, Category, Role, SystemMessageChannels } from "../api";
2
+ import { File } from "../index.js";
3
+ import { Hydrate } from "./index.js";
4
+ import { ReactiveMap } from "@solid-primitives/map";
5
+ import { ReactiveSet } from "@solid-primitives/set";
6
+ export type HydratedServer = {
7
+ id: string;
8
+ ownerId: string;
9
+ name: string;
10
+ description?: string;
11
+ icon?: File;
12
+ banner?: File;
13
+ channelIds: ReactiveSet<string>;
14
+ categories?: Category[];
15
+ systemMessages?: SystemMessageChannels;
16
+ roles: ReactiveMap<string, Role>;
17
+ defaultPermissions: number;
18
+ flags: ServerFlags;
19
+ analytics: boolean;
20
+ discoverable: boolean;
21
+ nsfw: boolean;
22
+ };
23
+ export declare const serverHydration: Hydrate<ApiServer, HydratedServer>;
24
+ /**
25
+ * Flags attributed to servers
26
+ */
27
+ export declare enum ServerFlags {
28
+ Official = 1,
29
+ Verified = 2
30
+ }
31
+ //# sourceMappingURL=server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/hydration/server.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,IAAI,SAAS,EACnB,QAAQ,EACR,IAAI,EACJ,qBAAqB,EACtB,MAAM,QAAQ,CAAC;AAChB,OAAO,EAAU,IAAI,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,MAAM,MAAM,cAAc,GAAG;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAEhB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,MAAM,CAAC,EAAE,IAAI,CAAC;IAEd,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAChC,UAAU,CAAC,EAAE,QAAQ,EAAE,CAAC;IAExB,cAAc,CAAC,EAAE,qBAAqB,CAAC;IACvC,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACjC,kBAAkB,EAAE,MAAM,CAAC;IAE3B,KAAK,EAAE,WAAW,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,OAAO,CAAC;IACtB,IAAI,EAAE,OAAO,CAAC;CACf,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,OAAO,CAAC,SAAS,EAAE,cAAc,CAgC9D,CAAC;AAEF;;GAEG;AACH,oBAAY,WAAW;IACrB,QAAQ,IAAI;IACZ,QAAQ,IAAI;CACb"}
@@ -0,0 +1,41 @@
1
+ import { File } from "../index.js";
2
+ import { ReactiveMap } from "@solid-primitives/map";
3
+ import { ReactiveSet } from "@solid-primitives/set";
4
+ export const serverHydration = {
5
+ keyMapping: {
6
+ _id: "id",
7
+ owner: "ownerId",
8
+ channels: "channelIds",
9
+ system_messages: "systemMessages",
10
+ default_permissions: "defaultPermissions",
11
+ },
12
+ functions: {
13
+ id: (server) => server._id,
14
+ ownerId: (server) => server.owner,
15
+ name: (server) => server.name,
16
+ description: (server) => server.description,
17
+ channelIds: (server) => new ReactiveSet(server.channels),
18
+ categories: (server) => server.categories ?? [],
19
+ systemMessages: (server) => server.system_messages ?? {},
20
+ roles: (server) => new ReactiveMap(Object.keys(server.roles).map((id) => [id, server.roles[id]])),
21
+ defaultPermissions: (server) => server.default_permissions,
22
+ icon: (server, ctx) => new File(ctx, server.icon),
23
+ banner: (server, ctx) => new File(ctx, server.banner),
24
+ flags: (server) => server.flags,
25
+ analytics: (server) => server.analytics || false,
26
+ discoverable: (server) => server.discoverable || false,
27
+ nsfw: (server) => server.nsfw || false,
28
+ },
29
+ initialHydration: () => ({
30
+ channelIds: new ReactiveSet(),
31
+ roles: new ReactiveMap(),
32
+ }),
33
+ };
34
+ /**
35
+ * Flags attributed to servers
36
+ */
37
+ export var ServerFlags;
38
+ (function (ServerFlags) {
39
+ ServerFlags[ServerFlags["Official"] = 1] = "Official";
40
+ ServerFlags[ServerFlags["Verified"] = 2] = "Verified";
41
+ })(ServerFlags || (ServerFlags = {}));
@@ -0,0 +1,14 @@
1
+ import { Member as ApiMember, MemberCompositeKey } from "../api";
2
+ import { File } from "../index.js";
3
+ import type { Merge } from "../lib/merge.js";
4
+ import { Hydrate } from "./index.js";
5
+ export type HydratedServerMember = {
6
+ id: MemberCompositeKey;
7
+ joinedAt: Date;
8
+ nickname?: string;
9
+ avatar?: File;
10
+ roles: string[];
11
+ timeout?: Date;
12
+ };
13
+ export declare const serverMemberHydration: Hydrate<Merge<ApiMember>, HydratedServerMember>;
14
+ //# sourceMappingURL=serverMember.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serverMember.d.ts","sourceRoot":"","sources":["../../../src/hydration/serverMember.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,SAAS,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AACjE,OAAO,EAAU,IAAI,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,MAAM,MAAM,oBAAoB,GAAG;IACjC,EAAE,EAAE,kBAAkB,CAAC;IACvB,QAAQ,EAAE,IAAI,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,IAAI,CAAC;IACd,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,CAAC,EAAE,IAAI,CAAC;CAChB,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,OAAO,CACzC,KAAK,CAAC,SAAS,CAAC,EAChB,oBAAoB,CAiBrB,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { File } from "../index.js";
2
+ export const serverMemberHydration = {
3
+ keyMapping: {
4
+ _id: "id",
5
+ joined_at: "joinedAt",
6
+ },
7
+ functions: {
8
+ id: (member) => member._id,
9
+ joinedAt: (member) => new Date(member.joined_at),
10
+ nickname: (member) => member.nickname,
11
+ avatar: (member, ctx) => new File(ctx, member.avatar),
12
+ roles: (member) => member.roles,
13
+ timeout: (member) => new Date(member.timeout),
14
+ },
15
+ initialHydration: () => ({
16
+ roles: [],
17
+ }),
18
+ };
@@ -0,0 +1,8 @@
1
+ import { SessionInfo as ApiSession } from "../api";
2
+ import { Hydrate } from "./index.js";
3
+ export type HydratedSession = {
4
+ id: string;
5
+ name: string;
6
+ };
7
+ export declare const sessionHydration: Hydrate<ApiSession, HydratedSession>;
8
+ //# sourceMappingURL=session.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../src/hydration/session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,IAAI,UAAU,EAAE,MAAM,QAAQ,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,MAAM,MAAM,eAAe,GAAG;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,OAAO,CAAC,UAAU,EAAE,eAAe,CASjE,CAAC"}
@@ -0,0 +1,10 @@
1
+ export const sessionHydration = {
2
+ keyMapping: {
3
+ _id: "id",
4
+ },
5
+ functions: {
6
+ id: (server) => server._id,
7
+ name: (server) => server.name,
8
+ },
9
+ initialHydration: () => ({}),
10
+ };
@@ -0,0 +1,43 @@
1
+ import { User as ApiUser, BotInformation, RelationshipStatus, UserStatus } from "../api";
2
+ import { File } from "../index.js";
3
+ import { Hydrate } from "./index.js";
4
+ export type HydratedUser = {
5
+ id: string;
6
+ username: string;
7
+ discriminator: string;
8
+ displayName?: string;
9
+ relationship: RelationshipStatus;
10
+ online: boolean;
11
+ privileged: boolean;
12
+ badges: UserBadges;
13
+ flags: UserFlags;
14
+ avatar?: File;
15
+ status?: UserStatus;
16
+ bot?: BotInformation;
17
+ };
18
+ export declare const userHydration: Hydrate<ApiUser, HydratedUser>;
19
+ /**
20
+ * Badges available to users
21
+ */
22
+ export declare enum UserBadges {
23
+ Developer = 1,
24
+ Translator = 2,
25
+ Supporter = 4,
26
+ ResponsibleDisclosure = 8,
27
+ Founder = 16,
28
+ PlatformModeration = 32,
29
+ ActiveSupporter = 64,
30
+ Paw = 128,
31
+ EarlyAdopter = 256,
32
+ ReservedRelevantJokeBadge1 = 512,
33
+ ReservedRelevantJokeBadge2 = 1024
34
+ }
35
+ /**
36
+ * Flags attributed to users
37
+ */
38
+ export declare enum UserFlags {
39
+ Suspended = 1,
40
+ Deleted = 2,
41
+ Banned = 4
42
+ }
43
+ //# sourceMappingURL=user.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../src/hydration/user.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,IAAI,IAAI,OAAO,EACf,cAAc,EACd,kBAAkB,EAClB,UAAU,EACX,MAAM,QAAQ,CAAC;AAChB,OAAO,EAAU,IAAI,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,MAAM,MAAM,YAAY,GAAG;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,kBAAkB,CAAC;IAEjC,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,OAAO,CAAC;IAEpB,MAAM,EAAE,UAAU,CAAC;IACnB,KAAK,EAAE,SAAS,CAAC;IAEjB,MAAM,CAAC,EAAE,IAAI,CAAC;IACd,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,GAAG,CAAC,EAAE,cAAc,CAAC;CACtB,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,OAAO,CAAC,OAAO,EAAE,YAAY,CAyBxD,CAAC;AAEF;;GAEG;AACH,oBAAY,UAAU;IACpB,SAAS,IAAI;IACb,UAAU,IAAI;IACd,SAAS,IAAI;IACb,qBAAqB,IAAI;IACzB,OAAO,KAAK;IACZ,kBAAkB,KAAK;IACvB,eAAe,KAAK;IACpB,GAAG,MAAM;IACT,YAAY,MAAM;IAClB,0BAA0B,MAAM;IAChC,0BAA0B,OAAO;CAClC;AAED;;GAEG;AACH,oBAAY,SAAS;IACnB,SAAS,IAAI;IACb,OAAO,IAAI;IACX,MAAM,IAAI;CACX"}
@@ -0,0 +1,50 @@
1
+ import { File } from "../index.js";
2
+ export const userHydration = {
3
+ keyMapping: {
4
+ _id: "id",
5
+ display_name: "displayName",
6
+ },
7
+ functions: {
8
+ id: (user) => user._id,
9
+ username: (user) => user.username,
10
+ discriminator: (user) => user.discriminator,
11
+ displayName: (user) => user.display_name,
12
+ relationship: (user) => user.relationship,
13
+ online: (user) => user.online,
14
+ privileged: (user) => user.privileged,
15
+ badges: (user) => user.badges,
16
+ flags: (user) => user.flags,
17
+ avatar: (user, ctx) => new File(ctx, user.avatar),
18
+ status: (user) => user.status,
19
+ bot: (user) => user.bot,
20
+ },
21
+ initialHydration: () => ({
22
+ relationship: "None",
23
+ }),
24
+ };
25
+ /**
26
+ * Badges available to users
27
+ */
28
+ export var UserBadges;
29
+ (function (UserBadges) {
30
+ UserBadges[UserBadges["Developer"] = 1] = "Developer";
31
+ UserBadges[UserBadges["Translator"] = 2] = "Translator";
32
+ UserBadges[UserBadges["Supporter"] = 4] = "Supporter";
33
+ UserBadges[UserBadges["ResponsibleDisclosure"] = 8] = "ResponsibleDisclosure";
34
+ UserBadges[UserBadges["Founder"] = 16] = "Founder";
35
+ UserBadges[UserBadges["PlatformModeration"] = 32] = "PlatformModeration";
36
+ UserBadges[UserBadges["ActiveSupporter"] = 64] = "ActiveSupporter";
37
+ UserBadges[UserBadges["Paw"] = 128] = "Paw";
38
+ UserBadges[UserBadges["EarlyAdopter"] = 256] = "EarlyAdopter";
39
+ UserBadges[UserBadges["ReservedRelevantJokeBadge1"] = 512] = "ReservedRelevantJokeBadge1";
40
+ UserBadges[UserBadges["ReservedRelevantJokeBadge2"] = 1024] = "ReservedRelevantJokeBadge2";
41
+ })(UserBadges || (UserBadges = {}));
42
+ /**
43
+ * Flags attributed to users
44
+ */
45
+ export var UserFlags;
46
+ (function (UserFlags) {
47
+ UserFlags[UserFlags["Suspended"] = 1] = "Suspended";
48
+ UserFlags[UserFlags["Deleted"] = 2] = "Deleted";
49
+ UserFlags[UserFlags["Banned"] = 4] = "Banned";
50
+ })(UserFlags || (UserFlags = {}));
@@ -0,0 +1,9 @@
1
+ export * as API from "./api";
2
+ export { Client } from "./Client";
3
+ export type { ClientOptions, Session as PrivateSession } from "./Client";
4
+ export * from "./classes/index";
5
+ export * from "./collections/index";
6
+ export { ConnectionState, EventClient } from "./events/index";
7
+ export { BotFlags, ServerFlags, UserBadges, UserFlags, } from "./hydration/index";
8
+ export * from "./lib/regex";
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAC7B,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,YAAY,EAAE,aAAa,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,UAAU,CAAC;AACzE,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EACL,QAAQ,EACR,WAAW,EACX,UAAU,EACV,SAAS,GACV,MAAM,mBAAmB,CAAC;AAC3B,cAAc,aAAa,CAAC"}
@@ -0,0 +1,8 @@
1
+ import * as API_1 from "./api";
2
+ export { API_1 as API };
3
+ export { Client } from "./Client";
4
+ export * from "./classes/index";
5
+ export * from "./collections/index";
6
+ export { ConnectionState, EventClient } from "./events/index";
7
+ export { BotFlags, ServerFlags, UserBadges, UserFlags, } from "./hydration/index";
8
+ export * from "./lib/regex";
@@ -0,0 +1,15 @@
1
+ export type Merge<T extends object> = {
2
+ [k in CommonKeys<T>]: PickTypeOf<T, k>;
3
+ } & {
4
+ [k in NonCommonKeys<T>]?: PickTypeOf<T, k>;
5
+ };
6
+ type PickTypeOf<T, K extends string | number | symbol> = K extends AllKeys<T> ? PickType<T, K> : never;
7
+ type PickType<T, K extends AllKeys<T>> = T extends {
8
+ [k in K]?: any;
9
+ } ? T[K] : undefined;
10
+ type Subtract<A, C> = A extends C ? never : A;
11
+ type NonCommonKeys<T extends object> = Subtract<AllKeys<T>, CommonKeys<T>>;
12
+ type AllKeys<T> = T extends any ? keyof T : never;
13
+ type CommonKeys<T extends object> = keyof T;
14
+ export {};
15
+ //# sourceMappingURL=merge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merge.d.ts","sourceRoot":"","sources":["../../../src/lib/merge.ts"],"names":[],"mappings":"AACA,MAAM,MAAM,KAAK,CAAC,CAAC,SAAS,MAAM,IAAI;KACnC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC;CACvC,GAAG;KACD,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC;CAC3C,CAAC;AAEF,KAAK,UAAU,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,OAAO,CAAC,CAAC,CAAC,GACzE,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,GACd,KAAK,CAAC;AAGV,KAAK,QAAQ,CAAC,CAAC,EAAE,CAAC,SAAS,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS;KAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG;CAAE,GACjE,CAAC,CAAC,CAAC,CAAC,GACJ,SAAS,CAAC;AAEd,KAAK,QAAQ,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;AAC9C,KAAK,aAAa,CAAC,CAAC,SAAS,MAAM,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AAG3E,KAAK,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,GAAG,MAAM,CAAC,GAAG,KAAK,CAAC;AAClD,KAAK,UAAU,CAAC,CAAC,SAAS,MAAM,IAAI,MAAM,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Regular expression for mentions.
3
+ */
4
+ export declare const RE_MENTIONS: RegExp;
5
+ /**
6
+ * Regular expression for channels.
7
+ */
8
+ export declare const RE_CHANNELS: RegExp;
9
+ /**
10
+ * Regular expression for spoilers.
11
+ */
12
+ export declare const RE_SPOILER: RegExp;
13
+ //# sourceMappingURL=regex.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"regex.d.ts","sourceRoot":"","sources":["../../../src/lib/regex.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,WAAW,QAA0C,CAAC;AAEnE;;GAEG;AACH,eAAO,MAAM,WAAW,QAA0C,CAAC;AAEnE;;GAEG;AACH,eAAO,MAAM,UAAU,QAAY,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Regular expression for mentions.
3
+ */
4
+ export const RE_MENTIONS = /<@([0-9ABCDEFGHJKMNPQRSTVWXYZ]{26})>/g;
5
+ /**
6
+ * Regular expression for channels.
7
+ */
8
+ export const RE_CHANNELS = /<#([0-9ABCDEFGHJKMNPQRSTVWXYZ]{26})>/g;
9
+ /**
10
+ * Regular expression for spoilers.
11
+ */
12
+ export const RE_SPOILER = /!!.+!!/g;
@@ -0,0 +1,3 @@
1
+ {
2
+ "type": "module"
3
+ }
@@ -0,0 +1,19 @@
1
+ import { Channel, Client, Server, ServerMember } from "../index";
2
+ /**
3
+ * Check whether `b` is present in `a`
4
+ * @param a Input A
5
+ * @param b Inputs (OR'd together)
6
+ */
7
+ export declare function bitwiseAndEq(a: number, ...b: number[]): boolean;
8
+ /**
9
+ * Calculate permissions against a given object
10
+ * @param target Target object to check permissions against
11
+ * @param options Additional options to use when calculating
12
+ */
13
+ export declare function calculatePermission(client: Client, target: Channel | Server, options?: {
14
+ /**
15
+ * Pretend to be another ServerMember
16
+ */
17
+ member?: ServerMember;
18
+ }): number;
19
+ //# sourceMappingURL=calculator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calculator.d.ts","sourceRoot":"","sources":["../../../src/permissions/calculator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAUjE;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,WAGrD;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,OAAO,GAAG,MAAM,EACxB,OAAO,CAAC,EAAE;IACR;;OAEG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB,GACA,MAAM,CA2HR"}
@@ -0,0 +1,129 @@
1
+ import { Server } from "../index";
2
+ import { ALLOW_IN_TIMEOUT, DEFAULT_PERMISSION_DIRECT_MESSAGE, DEFAULT_PERMISSION_VIEW_ONLY, Permission, UserPermission, } from "./definitions";
3
+ import Long from "long";
4
+ /**
5
+ * Check whether `b` is present in `a`
6
+ * @param a Input A
7
+ * @param b Inputs (OR'd together)
8
+ */
9
+ export function bitwiseAndEq(a, ...b) {
10
+ const value = b.reduce((prev, cur) => prev.or(cur), Long.fromNumber(0));
11
+ return value.and(a).eq(value);
12
+ }
13
+ /**
14
+ * Calculate permissions against a given object
15
+ * @param target Target object to check permissions against
16
+ * @param options Additional options to use when calculating
17
+ */
18
+ export function calculatePermission(client, target, options) {
19
+ const user = options?.member ? options?.member.user : client.user;
20
+ if (user?.privileged) {
21
+ return Permission.GrantAllSafe;
22
+ }
23
+ if (target instanceof Server) {
24
+ // 1. Check if owner.
25
+ if (target.ownerId === user?.id) {
26
+ return Permission.GrantAllSafe;
27
+ }
28
+ else {
29
+ // 2. Get ServerMember.
30
+ const member = options?.member ??
31
+ client.serverMembers.getByKey({
32
+ user: user.id,
33
+ server: target.id,
34
+ }) ?? { roles: null, timeout: null };
35
+ if (!member)
36
+ return 0;
37
+ // 3. Apply allows from default_permissions.
38
+ let perm = Long.fromNumber(target.defaultPermissions);
39
+ // 4. If user has roles, iterate in order.
40
+ if (member.roles && target.roles) {
41
+ // 5. Apply allows and denies from roles.
42
+ const permissions = member.orderedRoles.map((role) => role.permissions ?? { a: 0, d: 0 });
43
+ for (const permission of permissions) {
44
+ perm = perm.or(permission.a).and(Long.fromNumber(permission.d).not());
45
+ }
46
+ }
47
+ // 5. Revoke permissions if ServerMember is timed out.
48
+ if (member.timeout && member.timeout > new Date()) {
49
+ perm = perm.and(ALLOW_IN_TIMEOUT);
50
+ }
51
+ return perm.toNumber();
52
+ }
53
+ }
54
+ else {
55
+ // 1. Check channel type.
56
+ switch (target.type) {
57
+ case "SavedMessages":
58
+ return Permission.GrantAllSafe;
59
+ case "DirectMessage": {
60
+ // 2. Determine user permissions.
61
+ const user_permissions = target.recipient?.permission || 0;
62
+ // 3. Check if the user can send messages.
63
+ if (user_permissions & UserPermission.SendMessage) {
64
+ return DEFAULT_PERMISSION_DIRECT_MESSAGE;
65
+ }
66
+ else {
67
+ return DEFAULT_PERMISSION_VIEW_ONLY;
68
+ }
69
+ }
70
+ case "Group": {
71
+ // 2. Check if user is owner.
72
+ if (target.ownerId === user.id) {
73
+ return Permission.GrantAllSafe;
74
+ }
75
+ else {
76
+ // 3. Pull out group permissions.
77
+ return target.permissions ?? DEFAULT_PERMISSION_DIRECT_MESSAGE;
78
+ }
79
+ }
80
+ case "TextChannel":
81
+ case "VoiceChannel": {
82
+ // 2. Get server.
83
+ const server = target.server;
84
+ if (typeof server === "undefined")
85
+ return 0;
86
+ // 3. If server owner, just grant all permissions.
87
+ if (server.ownerId === user?.id) {
88
+ return Permission.GrantAllSafe;
89
+ }
90
+ else {
91
+ // 4. Get ServerMember.
92
+ const member = options?.member ??
93
+ client.serverMembers.getByKey({
94
+ user: user.id,
95
+ server: server.id,
96
+ }) ?? { roles: null, timeout: null };
97
+ if (!member)
98
+ return 0;
99
+ // 5. Calculate server base permissions.
100
+ let perm = Long.fromNumber(calculatePermission(client, server, options));
101
+ // 6. Apply default allows and denies for channel.
102
+ if (target.defaultPermissions) {
103
+ perm = perm
104
+ .or(target.defaultPermissions.a)
105
+ .and(Long.fromNumber(target.defaultPermissions.d).not());
106
+ }
107
+ // 7. If user has roles, iterate in order.
108
+ if (member.roles && target.rolePermissions && server.roles) {
109
+ // 5. Apply allows and denies from roles.
110
+ const roles = member.orderedRoles.map(({ id }) => id);
111
+ for (const id of roles) {
112
+ const override = target.rolePermissions[id];
113
+ if (override) {
114
+ perm = perm
115
+ .or(override.a)
116
+ .and(Long.fromNumber(override.d).not());
117
+ }
118
+ }
119
+ }
120
+ // 8. Revoke permissions if ServerMember is timed out.
121
+ if (member.timeout && member.timeout > new Date()) {
122
+ perm = perm.and(ALLOW_IN_TIMEOUT);
123
+ }
124
+ return perm.toNumber();
125
+ }
126
+ }
127
+ }
128
+ }
129
+ }