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,153 @@
1
+ import { Hydrators } from "../hydration/index.js";
2
+ import { Client } from "../index.js";
3
+ import { ReactiveMap } from "@solid-primitives/map";
4
+ import { SetStoreFunction } from "solid-js/store";
5
+ /**
6
+ * Abstract Collection type
7
+ */
8
+ export declare abstract class Collection<T> {
9
+ /**
10
+ * Get an existing object
11
+ * @param id Id
12
+ * @returns Object
13
+ */
14
+ abstract get(id: string): T | undefined;
15
+ /**
16
+ * Check whether an id exists in the Collection
17
+ * @param id Id
18
+ * @returns Whether it exists
19
+ */
20
+ abstract has(id: string): boolean;
21
+ /**
22
+ * Delete an object
23
+ * @param id Id
24
+ */
25
+ abstract delete(id: string): void;
26
+ /**
27
+ * Number of stored objects
28
+ * @returns Size
29
+ */
30
+ abstract size(): number;
31
+ /**
32
+ * Iterable of keys in the map
33
+ * @returns Iterable
34
+ */
35
+ abstract keys(): IterableIterator<string>;
36
+ /**
37
+ * Iterable of values in the map
38
+ * @returns Iterable
39
+ */
40
+ abstract values(): IterableIterator<T>;
41
+ /**
42
+ * Iterable of key, value pairs in the map
43
+ * @returns Iterable
44
+ */
45
+ abstract entries(): IterableIterator<[string, T]>;
46
+ /**
47
+ * Execute a provided function over each key, value pair in the map
48
+ * @param cb Callback for each pair
49
+ */
50
+ abstract forEach(cb: (value: T, key: string, map: ReactiveMap<string, T>) => void): void;
51
+ /**
52
+ * List of values in the map
53
+ * @returns List
54
+ */
55
+ toList(): T[];
56
+ /**
57
+ * Filter the collection by a given predicate
58
+ * @param predicate Predicate to satisfy
59
+ */
60
+ filter(predicate: (value: T, key: string) => boolean): T[];
61
+ /**
62
+ * Map the collection using a given callback
63
+ * @param cb Callback
64
+ */
65
+ map<O>(cb: (value: T, key: string) => O): O[];
66
+ /**
67
+ * Find some value based on a predicate
68
+ * @param predicate Predicate to satisfy
69
+ */
70
+ find(predicate: (value: T, key: string) => boolean): T | undefined;
71
+ }
72
+ /**
73
+ * Collection backed by a Solid.js Store
74
+ */
75
+ export declare abstract class StoreCollection<T, V> extends Collection<T> {
76
+ #private;
77
+ readonly getUnderlyingObject: (id: string) => V;
78
+ readonly updateUnderlyingObject: SetStoreFunction<Record<string, V>>;
79
+ /**
80
+ * Construct store backed collection
81
+ */
82
+ constructor();
83
+ /**
84
+ * Get an existing object
85
+ * @param id Id
86
+ * @returns Object
87
+ */
88
+ get(id: string): T | undefined;
89
+ /**
90
+ * Check whether an id exists in the Collection
91
+ * @param id Id
92
+ * @returns Whether it exists
93
+ */
94
+ has(id: string): boolean;
95
+ /**
96
+ * Delete an object
97
+ * @param id Id
98
+ */
99
+ delete(id: string): void;
100
+ /**
101
+ * Create a new instance of an object
102
+ * @param id Id
103
+ * @param type Type
104
+ * @param instance Instance
105
+ * @param context Context
106
+ * @param data Data
107
+ */
108
+ create(id: string, type: keyof Hydrators, instance: T, context: unknown, data?: unknown): void;
109
+ /**
110
+ * Check whether an object is partially defined
111
+ * @param id Id
112
+ * @returns Whether it is a partial
113
+ */
114
+ isPartial(id: string): boolean;
115
+ /**
116
+ * Number of stored objects
117
+ * @returns Size
118
+ */
119
+ size(): number;
120
+ /**
121
+ * Iterable of keys in the map
122
+ * @returns Iterable
123
+ */
124
+ keys(): IterableIterator<string>;
125
+ /**
126
+ * Iterable of values in the map
127
+ * @returns Iterable
128
+ */
129
+ values(): IterableIterator<T>;
130
+ /**
131
+ * Iterable of key, value pairs in the map
132
+ * @returns Iterable
133
+ */
134
+ entries(): IterableIterator<[string, T]>;
135
+ /**
136
+ * Execute a provided function over each key, value pair in the map
137
+ * @param cb Callback for each pair
138
+ * @returns Iterable
139
+ */
140
+ forEach(cb: (value: T, key: string, map: ReactiveMap<string, T>) => void): void;
141
+ }
142
+ /**
143
+ * Generic class collection backed by store
144
+ */
145
+ export declare class ClassCollection<T, V> extends StoreCollection<T, V> {
146
+ readonly client: Client;
147
+ /**
148
+ * Create generic class collection
149
+ * @param client Client
150
+ */
151
+ constructor(client: Client);
152
+ }
153
+ //# sourceMappingURL=Collection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Collection.d.ts","sourceRoot":"","sources":["../../../src/collections/Collection.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,160 @@
1
+ import { ObjectStorage } from "../storage/ObjectStorage.js";
2
+ import { ReactiveMap } from "@solid-primitives/map";
3
+ /**
4
+ * Abstract Collection type
5
+ */
6
+ export class Collection {
7
+ /**
8
+ * List of values in the map
9
+ * @returns List
10
+ */
11
+ toList() {
12
+ return [...this.values()];
13
+ }
14
+ /**
15
+ * Filter the collection by a given predicate
16
+ * @param predicate Predicate to satisfy
17
+ */
18
+ filter(predicate) {
19
+ const list = [];
20
+ for (const [key, value] of this.entries()) {
21
+ if (predicate(value, key)) {
22
+ list.push(value);
23
+ }
24
+ }
25
+ return list;
26
+ }
27
+ /**
28
+ * Map the collection using a given callback
29
+ * @param cb Callback
30
+ */
31
+ map(cb) {
32
+ const list = [];
33
+ for (const [key, value] of this.entries()) {
34
+ list.push(cb(value, key));
35
+ }
36
+ return list;
37
+ }
38
+ /**
39
+ * Find some value based on a predicate
40
+ * @param predicate Predicate to satisfy
41
+ */
42
+ find(predicate) {
43
+ for (const [key, value] of this.entries()) {
44
+ if (predicate(value, key)) {
45
+ return value;
46
+ }
47
+ }
48
+ }
49
+ }
50
+ /**
51
+ * Collection backed by a Solid.js Store
52
+ */
53
+ export class StoreCollection extends Collection {
54
+ #storage = new ObjectStorage();
55
+ #objects = new ReactiveMap();
56
+ getUnderlyingObject;
57
+ updateUnderlyingObject;
58
+ /**
59
+ * Construct store backed collection
60
+ */
61
+ constructor() {
62
+ super();
63
+ this.getUnderlyingObject = (key) => this.#storage.get(key) ?? {};
64
+ this.updateUnderlyingObject = this.#storage.set;
65
+ }
66
+ /**
67
+ * Get an existing object
68
+ * @param id Id
69
+ * @returns Object
70
+ */
71
+ get(id) {
72
+ return this.#objects.get(id);
73
+ }
74
+ /**
75
+ * Check whether an id exists in the Collection
76
+ * @param id Id
77
+ * @returns Whether it exists
78
+ */
79
+ has(id) {
80
+ return this.#objects.has(id);
81
+ }
82
+ /**
83
+ * Delete an object
84
+ * @param id Id
85
+ */
86
+ delete(id) {
87
+ this.#objects.delete(id);
88
+ this.updateUnderlyingObject(id, undefined);
89
+ }
90
+ /**
91
+ * Create a new instance of an object
92
+ * @param id Id
93
+ * @param type Type
94
+ * @param instance Instance
95
+ * @param context Context
96
+ * @param data Data
97
+ */
98
+ create(id, type, instance, context, data) {
99
+ this.#storage.hydrate(id, type, context, data);
100
+ this.#objects.set(id, instance);
101
+ }
102
+ /**
103
+ * Check whether an object is partially defined
104
+ * @param id Id
105
+ * @returns Whether it is a partial
106
+ */
107
+ isPartial(id) {
108
+ return !!this.getUnderlyingObject(id).partial;
109
+ }
110
+ /**
111
+ * Number of stored objects
112
+ * @returns Size
113
+ */
114
+ size() {
115
+ return this.#objects.size;
116
+ }
117
+ /**
118
+ * Iterable of keys in the map
119
+ * @returns Iterable
120
+ */
121
+ keys() {
122
+ return this.#objects.keys();
123
+ }
124
+ /**
125
+ * Iterable of values in the map
126
+ * @returns Iterable
127
+ */
128
+ values() {
129
+ return this.#objects.values();
130
+ }
131
+ /**
132
+ * Iterable of key, value pairs in the map
133
+ * @returns Iterable
134
+ */
135
+ entries() {
136
+ return this.#objects.entries();
137
+ }
138
+ /**
139
+ * Execute a provided function over each key, value pair in the map
140
+ * @param cb Callback for each pair
141
+ * @returns Iterable
142
+ */
143
+ forEach(cb) {
144
+ return this.#objects.forEach(cb);
145
+ }
146
+ }
147
+ /**
148
+ * Generic class collection backed by store
149
+ */
150
+ export class ClassCollection extends StoreCollection {
151
+ client;
152
+ /**
153
+ * Create generic class collection
154
+ * @param client Client
155
+ */
156
+ constructor(client) {
157
+ super();
158
+ this.client = client;
159
+ }
160
+ }
@@ -0,0 +1,27 @@
1
+ import { HydratedEmoji } from "../hydration/index.js";
2
+ import { API, Emoji } from "../index.js";
3
+ import { ClassCollection } from "./index.js";
4
+ /**
5
+ * Collection of Emoji
6
+ */
7
+ export declare class EmojiCollection extends ClassCollection<Emoji, HydratedEmoji> {
8
+ /**
9
+ * Fetch emoji by ID
10
+ * @param id Id
11
+ * @returns Emoji
12
+ */
13
+ fetch(id: string): Promise<Emoji>;
14
+ /**
15
+ * Get or create
16
+ * @param id Id
17
+ * @param data Data
18
+ * @param isNew Whether this object is new
19
+ */
20
+ getOrCreate(id: string, data: API.Emoji, isNew?: boolean): Emoji;
21
+ /**
22
+ * Get or return partial
23
+ * @param id Id
24
+ */
25
+ getOrPartial(id: string): Emoji | undefined;
26
+ }
27
+ //# sourceMappingURL=EmojiCollection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmojiCollection.d.ts","sourceRoot":"","sources":["../../../src/collections/EmojiCollection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C;;GAEG;AACH,qBAAa,eAAgB,SAAQ,eAAe,CAAC,KAAK,EAAE,aAAa,CAAC;IACxE;;;;OAIG;IACG,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;IAOvC;;;;;OAKG;IACH,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,KAAK,EAAE,KAAK,UAAQ;IAWtD;;;OAGG;IACH,YAAY,CAAC,EAAE,EAAE,MAAM;CAWxB"}
@@ -0,0 +1,52 @@
1
+ import { Emoji } from "../index.js";
2
+ import { ClassCollection } from "./index.js";
3
+ /**
4
+ * Collection of Emoji
5
+ */
6
+ export class EmojiCollection extends ClassCollection {
7
+ /**
8
+ * Fetch emoji by ID
9
+ * @param id Id
10
+ * @returns Emoji
11
+ */
12
+ async fetch(id) {
13
+ const emoji = this.get(id);
14
+ if (emoji && !this.isPartial(id))
15
+ return emoji;
16
+ const data = await this.client.api.get(`/custom/emoji/${id}`);
17
+ return this.getOrCreate(data._id, data);
18
+ }
19
+ /**
20
+ * Get or create
21
+ * @param id Id
22
+ * @param data Data
23
+ * @param isNew Whether this object is new
24
+ */
25
+ getOrCreate(id, data, isNew = false) {
26
+ if (this.has(id) && !this.isPartial(id)) {
27
+ return this.get(id);
28
+ }
29
+ else {
30
+ const instance = new Emoji(this, id);
31
+ this.create(id, "emoji", instance, this.client, data);
32
+ isNew && this.client.emit("emojiCreate", instance);
33
+ return instance;
34
+ }
35
+ }
36
+ /**
37
+ * Get or return partial
38
+ * @param id Id
39
+ */
40
+ getOrPartial(id) {
41
+ if (this.has(id)) {
42
+ return this.get(id);
43
+ }
44
+ else if (this.client.options.partials) {
45
+ const instance = new Emoji(this, id);
46
+ this.create(id, "emoji", instance, this.client, {
47
+ id,
48
+ });
49
+ return instance;
50
+ }
51
+ }
52
+ }
@@ -0,0 +1,28 @@
1
+ import { HydratedMessage } from "../hydration";
2
+ import { API, Message } from "../index.js";
3
+ import { ClassCollection } from "./index.js";
4
+ /**
5
+ * Collection of Messages
6
+ */
7
+ export declare class MessageCollection extends ClassCollection<Message, HydratedMessage> {
8
+ /**
9
+ * Fetch message by Id
10
+ * @param channelId Channel Id
11
+ * @param messageId Message Id
12
+ * @returns Message
13
+ */
14
+ fetch(channelId: string, messageId: string): Promise<Message>;
15
+ /**
16
+ * Get or create
17
+ * @param id Id
18
+ * @param data Data
19
+ * @param isNew Whether this object is new
20
+ */
21
+ getOrCreate(id: string, data: API.Message, isNew?: boolean): Message;
22
+ /**
23
+ * Get or return partial
24
+ * @param id Id
25
+ */
26
+ getOrPartial(id: string): Message | undefined;
27
+ }
28
+ //# sourceMappingURL=MessageCollection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MessageCollection.d.ts","sourceRoot":"","sources":["../../../src/collections/MessageCollection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,eAAe,CACpD,OAAO,EACP,eAAe,CAChB;IACC;;;;;OAKG;IACG,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAWnE;;;;;OAKG;IACH,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,OAAO,EAAE,KAAK,UAAQ;IAWxD;;;OAGG;IACH,YAAY,CAAC,EAAE,EAAE,MAAM;CAYxB"}
@@ -0,0 +1,54 @@
1
+ import { Message } from "../index.js";
2
+ import { ClassCollection } from "./index.js";
3
+ /**
4
+ * Collection of Messages
5
+ */
6
+ export class MessageCollection extends ClassCollection {
7
+ /**
8
+ * Fetch message by Id
9
+ * @param channelId Channel Id
10
+ * @param messageId Message Id
11
+ * @returns Message
12
+ */
13
+ async fetch(channelId, messageId) {
14
+ const message = this.get(messageId);
15
+ if (message && !this.isPartial(messageId))
16
+ return message;
17
+ const data = await this.client.api.get(`/channels/${channelId}/messages/${messageId}`);
18
+ return this.getOrCreate(data._id, data, false);
19
+ }
20
+ /**
21
+ * Get or create
22
+ * @param id Id
23
+ * @param data Data
24
+ * @param isNew Whether this object is new
25
+ */
26
+ getOrCreate(id, data, isNew = false) {
27
+ if (this.has(id) && !this.isPartial(id)) {
28
+ return this.get(id);
29
+ }
30
+ else {
31
+ const instance = new Message(this, id);
32
+ this.create(id, "message", instance, this.client, data);
33
+ isNew && this.client.emit("messageCreate", instance);
34
+ return instance;
35
+ }
36
+ }
37
+ /**
38
+ * Get or return partial
39
+ * @param id Id
40
+ */
41
+ getOrPartial(id) {
42
+ if (this.has(id)) {
43
+ return this.get(id);
44
+ }
45
+ else if (this.client.options.partials) {
46
+ const instance = new Message(this, id);
47
+ this.create(id, "message", instance, this.client, {
48
+ id,
49
+ partial: true,
50
+ });
51
+ return instance;
52
+ }
53
+ }
54
+ }
@@ -0,0 +1,36 @@
1
+ import { DataCreateServer } from "../api";
2
+ import { HydratedServer } from "../hydration/index.js";
3
+ import { API, Server } from "../index.js";
4
+ import { ClassCollection } from "./index.js";
5
+ /**
6
+ * Collection of Servers
7
+ */
8
+ export declare class ServerCollection extends ClassCollection<Server, HydratedServer> {
9
+ /**
10
+ * Fetch server by ID
11
+ *
12
+ * This will not fetch channels!
13
+ * @param id Id
14
+ * @returns Server
15
+ */
16
+ fetch(id: string): Promise<Server>;
17
+ /**
18
+ * Get or create
19
+ * @param id Id
20
+ * @param data Data
21
+ * @param isNew Whether this object is new
22
+ */
23
+ getOrCreate(id: string, data: API.Server, isNew?: boolean): Server;
24
+ /**
25
+ * Get or return partial
26
+ * @param id Id
27
+ */
28
+ getOrPartial(id: string): Server | undefined;
29
+ /**
30
+ * Create a server
31
+ * @param data Server options
32
+ * @returns The newly-created server
33
+ */
34
+ createServer(data: DataCreateServer): Promise<Server>;
35
+ }
36
+ //# sourceMappingURL=ServerCollection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ServerCollection.d.ts","sourceRoot":"","sources":["../../../src/collections/ServerCollection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAG7C;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,eAAe,CAAC,MAAM,EAAE,cAAc,CAAC;IAC3E;;;;;;OAMG;IACG,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAkBxC;;;;;OAKG;IACH,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,UAAQ;IAWvD;;;OAGG;IACH,YAAY,CAAC,EAAE,EAAE,MAAM;IAavB;;;;OAIG;IACG,YAAY,CAAC,IAAI,EAAE,gBAAgB;CAc1C"}
@@ -0,0 +1,79 @@
1
+ import { Server } from "../index.js";
2
+ import { ClassCollection } from "./index.js";
3
+ import { batch } from "solid-js";
4
+ /**
5
+ * Collection of Servers
6
+ */
7
+ export class ServerCollection extends ClassCollection {
8
+ /**
9
+ * Fetch server by ID
10
+ *
11
+ * This will not fetch channels!
12
+ * @param id Id
13
+ * @returns Server
14
+ */
15
+ async fetch(id) {
16
+ const server = this.get(id);
17
+ if (server && !this.isPartial(id))
18
+ return server;
19
+ const data = await this.client.api.get(`/servers/${id}`, {
20
+ include_channels: true,
21
+ });
22
+ return batch(() => {
23
+ for (const channel of data.channels) {
24
+ if (typeof channel !== "string") {
25
+ this.client.channels.getOrCreate(channel._id, channel);
26
+ }
27
+ }
28
+ return this.getOrCreate(data._id, data);
29
+ });
30
+ }
31
+ /**
32
+ * Get or create
33
+ * @param id Id
34
+ * @param data Data
35
+ * @param isNew Whether this object is new
36
+ */
37
+ getOrCreate(id, data, isNew = false) {
38
+ if (this.has(id) && !this.isPartial(id)) {
39
+ return this.get(id);
40
+ }
41
+ else {
42
+ const instance = new Server(this, id);
43
+ this.create(id, "server", instance, this.client, data);
44
+ isNew && this.client.emit("serverCreate", instance);
45
+ return instance;
46
+ }
47
+ }
48
+ /**
49
+ * Get or return partial
50
+ * @param id Id
51
+ */
52
+ getOrPartial(id) {
53
+ if (this.has(id)) {
54
+ return this.get(id);
55
+ }
56
+ else if (this.client.options.partials) {
57
+ const instance = new Server(this, id);
58
+ this.create(id, "server", instance, this.client, {
59
+ id,
60
+ partial: true,
61
+ });
62
+ return instance;
63
+ }
64
+ }
65
+ /**
66
+ * Create a server
67
+ * @param data Server options
68
+ * @returns The newly-created server
69
+ */
70
+ async createServer(data) {
71
+ const { server, channels } = await this.client.api.post(`/servers/create`, data);
72
+ return batch(() => {
73
+ for (const channel of channels) {
74
+ this.client.channels.getOrCreate(channel._id, channel);
75
+ }
76
+ return this.getOrCreate(server._id, server, true);
77
+ });
78
+ }
79
+ }
@@ -0,0 +1,45 @@
1
+ import { HydratedServerMember } from "../hydration/index.js";
2
+ import { API, ServerMember } from "../index.js";
3
+ import { ClassCollection } from "./index.js";
4
+ /**
5
+ * Collection of Server Members
6
+ */
7
+ export declare class ServerMemberCollection extends ClassCollection<ServerMember, HydratedServerMember> {
8
+ /**
9
+ * Check if member exists by composite key
10
+ * @param id Id
11
+ * @returns Whether it exists
12
+ */
13
+ hasByKey(id: API.MemberCompositeKey): boolean;
14
+ /**
15
+ * Get member by composite key
16
+ * @param id Id
17
+ * @returns Member
18
+ */
19
+ getByKey(id: API.MemberCompositeKey): ServerMember | undefined;
20
+ /**
21
+ * check partial status by composite key
22
+ * @param id Id
23
+ * @returns Member
24
+ */
25
+ isPartialByKey(id: API.MemberCompositeKey): boolean;
26
+ /**
27
+ * Fetch server member by Id
28
+ * @param serverId Server Id
29
+ * @param userId User Id
30
+ * @returns Message
31
+ */
32
+ fetch(serverId: string, userId: string): Promise<ServerMember>;
33
+ /**
34
+ * Get or create
35
+ * @param id Id
36
+ * @param data Data
37
+ */
38
+ getOrCreate(id: API.MemberCompositeKey, data: API.Member): ServerMember;
39
+ /**
40
+ * Get or return partial
41
+ * @param id Id
42
+ */
43
+ getOrPartial(id: API.MemberCompositeKey): ServerMember | undefined;
44
+ }
45
+ //# sourceMappingURL=ServerMemberCollection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ServerMemberCollection.d.ts","sourceRoot":"","sources":["../../../src/collections/ServerMemberCollection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,eAAe,CACzD,YAAY,EACZ,oBAAoB,CACrB;IACC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,kBAAkB;IAInC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,kBAAkB;IAInC;;;;OAIG;IACH,cAAc,CAAC,EAAE,EAAE,GAAG,CAAC,kBAAkB;IAIzC;;;;;OAKG;IACG,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAepE;;;;OAIG;IACH,WAAW,CAAC,EAAE,EAAE,GAAG,CAAC,kBAAkB,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM;IAgBxD;;;OAGG;IACH,YAAY,CAAC,EAAE,EAAE,GAAG,CAAC,kBAAkB;CAYxC"}