@duque.edits/sdk 1.3.0 → 1.3.2

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 (210) hide show
  1. package/README.md +1 -1
  2. package/dist/{index-0BFrnm6S.d.ts → index-xkfp9hFj.d.ts} +27 -22
  3. package/dist/index.d.ts +1 -1
  4. package/dist/index.js +0 -1
  5. package/dist/managers/automaticmessage/AutomaticMessageManager.d.ts +1 -1
  6. package/dist/managers/automaticmessage/AutomaticMessageManager.js +0 -1
  7. package/dist/managers/base.d.ts +1 -1
  8. package/dist/managers/base.js +0 -1
  9. package/dist/managers/bet/GuildBetManager.d.ts +1 -1
  10. package/dist/managers/bet/GuildBetManager.js +0 -1
  11. package/dist/managers/betuser/GuildBetUserManager.d.ts +1 -1
  12. package/dist/managers/betuser/GuildBetUserManager.js +0 -1
  13. package/dist/managers/buffer/BufferManager.d.ts +1 -1
  14. package/dist/managers/buffer/BufferManager.js +0 -1
  15. package/dist/managers/guild/GuildManager.d.ts +1 -1
  16. package/dist/managers/guild/GuildManager.js +0 -1
  17. package/dist/managers/index.d.ts +1 -1
  18. package/dist/managers/index.js +0 -1
  19. package/dist/managers/logs/LogManager.d.ts +1 -1
  20. package/dist/managers/logs/LogManager.js +0 -1
  21. package/dist/managers/match/GuildMatchManager.d.ts +1 -1
  22. package/dist/managers/match/GuildMatchManager.js +0 -1
  23. package/dist/managers/mediator/GuildMediatorManager.d.ts +1 -1
  24. package/dist/managers/mediator/GuildMediatorManager.js +0 -1
  25. package/dist/managers/message/MessagesManager.d.ts +1 -1
  26. package/dist/managers/message/MessagesManager.js +0 -1
  27. package/dist/managers/minesgame/MinesGameManager.d.ts +1 -1
  28. package/dist/managers/minesgame/MinesGameManager.js +0 -1
  29. package/dist/managers/permission/GuildPermissionManager.d.ts +1 -1
  30. package/dist/managers/permission/GuildPermissionManager.js +0 -1
  31. package/dist/managers/player/PlayerManager.d.ts +1 -1
  32. package/dist/managers/player/PlayerManager.js +0 -1
  33. package/dist/managers/product/ProductManager.d.ts +1 -1
  34. package/dist/managers/product/ProductManager.js +0 -1
  35. package/dist/managers/shop/ShopManager.d.ts +1 -1
  36. package/dist/managers/shop/ShopManager.js +0 -1
  37. package/dist/managers/ticket/TicketManager.d.ts +1 -1
  38. package/dist/managers/ticket/TicketManager.js +0 -1
  39. package/dist/managers/ticketpanel/TicketPanelManager.d.ts +1 -1
  40. package/dist/managers/ticketpanel/TicketPanelManager.js +0 -1
  41. package/dist/managers/tournament/TournamentManager.d.ts +1 -1
  42. package/dist/managers/tournament/TournamentManager.js +0 -1
  43. package/dist/managers/user/GuildUserManager.d.ts +1 -1
  44. package/dist/managers/user/GuildUserManager.js +5 -6
  45. package/dist/managers/vipmember/VipMemberManager.d.ts +1 -1
  46. package/dist/managers/vipmember/VipMemberManager.js +0 -1
  47. package/dist/rest/APIEndpoints.js +0 -1
  48. package/dist/rest/REST.d.ts +1 -1
  49. package/dist/rest/REST.js +0 -1
  50. package/dist/rest/Routes.d.ts +1 -1
  51. package/dist/rest/Routes.js +1 -2
  52. package/dist/rest/index.d.ts +1 -1
  53. package/dist/rest/index.js +0 -1
  54. package/dist/structures/Collection.js +0 -1
  55. package/dist/structures/automaticmessage/AutomaticMessage.d.ts +1 -1
  56. package/dist/structures/automaticmessage/AutomaticMessage.js +0 -1
  57. package/dist/structures/bet/GuildBet.d.ts +1 -1
  58. package/dist/structures/bet/GuildBet.js +0 -1
  59. package/dist/structures/betuser/GuildBetUser.d.ts +1 -1
  60. package/dist/structures/betuser/GuildBetUser.js +0 -1
  61. package/dist/structures/guild/Guild.d.ts +1 -1
  62. package/dist/structures/guild/Guild.js +2 -2
  63. package/dist/structures/index.d.ts +1 -1
  64. package/dist/structures/index.js +0 -1
  65. package/dist/structures/logentry/LogEntry.d.ts +1 -1
  66. package/dist/structures/logentry/LogEntry.js +0 -1
  67. package/dist/structures/match/GuildMatch.d.ts +1 -1
  68. package/dist/structures/match/GuildMatch.js +0 -1
  69. package/dist/structures/mediator/GuildMediator.d.ts +1 -1
  70. package/dist/structures/mediator/GuildMediator.js +0 -1
  71. package/dist/structures/minesgame/MinesGame.d.ts +1 -1
  72. package/dist/structures/minesgame/MinesGame.js +0 -1
  73. package/dist/structures/product/Product.d.ts +1 -1
  74. package/dist/structures/product/Product.js +4 -1
  75. package/dist/structures/shop/Shop.d.ts +1 -1
  76. package/dist/structures/shop/Shop.js +0 -1
  77. package/dist/structures/ticket/Ticket.d.ts +1 -1
  78. package/dist/structures/ticket/Ticket.js +9 -1
  79. package/dist/structures/ticketpanel/TicketPanel.d.ts +1 -1
  80. package/dist/structures/ticketpanel/TicketPanel.js +0 -2
  81. package/dist/structures/tournament/Tournament.d.ts +1 -1
  82. package/dist/structures/tournament/Tournament.js +0 -1
  83. package/dist/structures/user/GuildUser.d.ts +1 -1
  84. package/dist/structures/user/GuildUser.js +132 -38
  85. package/dist/structures/vipmember/VipMember.d.ts +1 -1
  86. package/dist/structures/vipmember/VipMember.js +0 -1
  87. package/dist/types/RestTypes.d.ts +1 -1
  88. package/dist/types/RestTypes.js +0 -1
  89. package/dist/types/api/APIAdvert.js +0 -1
  90. package/dist/types/api/APIAutomaticMessage.d.ts +1 -1
  91. package/dist/types/api/APIAutomaticMessage.js +0 -1
  92. package/dist/types/api/APIBaseChannel.js +0 -1
  93. package/dist/types/api/APIBetChannel.js +0 -1
  94. package/dist/types/api/APICode.js +0 -1
  95. package/dist/types/api/APIGiveaway.js +0 -1
  96. package/dist/types/api/APIGuild.d.ts +1 -1
  97. package/dist/types/api/APIGuild.js +0 -1
  98. package/dist/types/api/APIGuildAdvert.js +0 -1
  99. package/dist/types/api/APIGuildBet.d.ts +1 -1
  100. package/dist/types/api/APIGuildBet.js +0 -1
  101. package/dist/types/api/APIGuildBetUser.d.ts +1 -1
  102. package/dist/types/api/APIGuildBetUser.js +0 -1
  103. package/dist/types/api/APIGuildChannel.js +0 -1
  104. package/dist/types/api/APIGuildGroupedChannel.d.ts +1 -1
  105. package/dist/types/api/APIGuildGroupedChannel.js +0 -1
  106. package/dist/types/api/APIGuildMatch.d.ts +1 -1
  107. package/dist/types/api/APIGuildMatch.js +0 -1
  108. package/dist/types/api/APIGuildMediator.js +0 -1
  109. package/dist/types/api/APIGuildPermissions.js +0 -1
  110. package/dist/types/api/APIGuildShop.js +0 -1
  111. package/dist/types/api/APIGuildTicket.js +0 -1
  112. package/dist/types/api/APIGuildUser.d.ts +1 -1
  113. package/dist/types/api/APIGuildUser.js +0 -1
  114. package/dist/types/api/APILogEntry.js +0 -1
  115. package/dist/types/api/APIMessage.js +0 -1
  116. package/dist/types/api/APIMinesGame.js +0 -1
  117. package/dist/types/api/APIPlayer.js +0 -1
  118. package/dist/types/api/APIProduct.d.ts +1 -0
  119. package/dist/types/api/APIProduct.js +0 -1
  120. package/dist/types/api/APITicketPanel.d.ts +1 -1
  121. package/dist/types/api/APITicketPanel.js +0 -1
  122. package/dist/types/api/APITournament.js +0 -1
  123. package/dist/types/api/APIVipMember.js +0 -1
  124. package/dist/types/api/index.d.ts +1 -1
  125. package/dist/types/api/index.js +8 -10
  126. package/dist/types/index.d.ts +1 -1
  127. package/dist/types/index.js +0 -1
  128. package/dist/utils/Assertion.js +0 -1
  129. package/dist/utils/clamp0.d.ts +3 -0
  130. package/dist/utils/clamp0.js +31 -0
  131. package/dist/utils/getRandomNumber.js +0 -1
  132. package/dist/utils/isSameDayUTC.js +0 -1
  133. package/dist/utils/randomKeyGenerator.js +0 -1
  134. package/package.json +1 -1
  135. package/dist/index.js.map +0 -1
  136. package/dist/managers/automaticmessage/AutomaticMessageManager.js.map +0 -1
  137. package/dist/managers/base.js.map +0 -1
  138. package/dist/managers/bet/GuildBetManager.js.map +0 -1
  139. package/dist/managers/betuser/GuildBetUserManager.js.map +0 -1
  140. package/dist/managers/buffer/BufferManager.js.map +0 -1
  141. package/dist/managers/guild/GuildManager.js.map +0 -1
  142. package/dist/managers/index.js.map +0 -1
  143. package/dist/managers/logs/LogManager.js.map +0 -1
  144. package/dist/managers/match/GuildMatchManager.js.map +0 -1
  145. package/dist/managers/mediator/GuildMediatorManager.js.map +0 -1
  146. package/dist/managers/message/MessagesManager.js.map +0 -1
  147. package/dist/managers/minesgame/MinesGameManager.js.map +0 -1
  148. package/dist/managers/permission/GuildPermissionManager.js.map +0 -1
  149. package/dist/managers/player/PlayerManager.js.map +0 -1
  150. package/dist/managers/product/ProductManager.js.map +0 -1
  151. package/dist/managers/shop/ShopManager.js.map +0 -1
  152. package/dist/managers/ticket/TicketManager.js.map +0 -1
  153. package/dist/managers/ticketpanel/TicketPanelManager.js.map +0 -1
  154. package/dist/managers/tournament/TournamentManager.js.map +0 -1
  155. package/dist/managers/user/GuildUserManager.js.map +0 -1
  156. package/dist/managers/vipmember/VipMemberManager.js.map +0 -1
  157. package/dist/rest/APIEndpoints.js.map +0 -1
  158. package/dist/rest/REST.js.map +0 -1
  159. package/dist/rest/Routes.js.map +0 -1
  160. package/dist/rest/index.js.map +0 -1
  161. package/dist/structures/Collection.js.map +0 -1
  162. package/dist/structures/automaticmessage/AutomaticMessage.js.map +0 -1
  163. package/dist/structures/bet/GuildBet.js.map +0 -1
  164. package/dist/structures/betuser/GuildBetUser.js.map +0 -1
  165. package/dist/structures/guild/Guild.js.map +0 -1
  166. package/dist/structures/index.js.map +0 -1
  167. package/dist/structures/logentry/LogEntry.js.map +0 -1
  168. package/dist/structures/match/GuildMatch.js.map +0 -1
  169. package/dist/structures/mediator/GuildMediator.js.map +0 -1
  170. package/dist/structures/minesgame/MinesGame.js.map +0 -1
  171. package/dist/structures/product/Product.js.map +0 -1
  172. package/dist/structures/shop/Shop.js.map +0 -1
  173. package/dist/structures/ticket/Ticket.js.map +0 -1
  174. package/dist/structures/ticketpanel/TicketPanel.js.map +0 -1
  175. package/dist/structures/tournament/Tournament.js.map +0 -1
  176. package/dist/structures/user/GuildUser.js.map +0 -1
  177. package/dist/structures/vipmember/VipMember.js.map +0 -1
  178. package/dist/types/RestTypes.js.map +0 -1
  179. package/dist/types/api/APIAdvert.js.map +0 -1
  180. package/dist/types/api/APIAutomaticMessage.js.map +0 -1
  181. package/dist/types/api/APIBaseChannel.js.map +0 -1
  182. package/dist/types/api/APIBetChannel.js.map +0 -1
  183. package/dist/types/api/APICode.js.map +0 -1
  184. package/dist/types/api/APIGiveaway.js.map +0 -1
  185. package/dist/types/api/APIGuild.js.map +0 -1
  186. package/dist/types/api/APIGuildAdvert.js.map +0 -1
  187. package/dist/types/api/APIGuildBet.js.map +0 -1
  188. package/dist/types/api/APIGuildBetUser.js.map +0 -1
  189. package/dist/types/api/APIGuildChannel.js.map +0 -1
  190. package/dist/types/api/APIGuildGroupedChannel.js.map +0 -1
  191. package/dist/types/api/APIGuildMatch.js.map +0 -1
  192. package/dist/types/api/APIGuildMediator.js.map +0 -1
  193. package/dist/types/api/APIGuildPermissions.js.map +0 -1
  194. package/dist/types/api/APIGuildShop.js.map +0 -1
  195. package/dist/types/api/APIGuildTicket.js.map +0 -1
  196. package/dist/types/api/APIGuildUser.js.map +0 -1
  197. package/dist/types/api/APILogEntry.js.map +0 -1
  198. package/dist/types/api/APIMessage.js.map +0 -1
  199. package/dist/types/api/APIMinesGame.js.map +0 -1
  200. package/dist/types/api/APIPlayer.js.map +0 -1
  201. package/dist/types/api/APIProduct.js.map +0 -1
  202. package/dist/types/api/APITicketPanel.js.map +0 -1
  203. package/dist/types/api/APITournament.js.map +0 -1
  204. package/dist/types/api/APIVipMember.js.map +0 -1
  205. package/dist/types/api/index.js.map +0 -1
  206. package/dist/types/index.js.map +0 -1
  207. package/dist/utils/Assertion.js.map +0 -1
  208. package/dist/utils/getRandomNumber.js.map +0 -1
  209. package/dist/utils/isSameDayUTC.js.map +0 -1
  210. package/dist/utils/randomKeyGenerator.js.map +0 -1
@@ -1,4 +1,4 @@
1
- export { f as APIGuildUser, ai as Profile } from '../../index-0BFrnm6S.js';
1
+ export { f as APIGuildUser, ag as Profile } from '../../index-xkfp9hFj.js';
2
2
  import './APIAdvert.js';
3
3
  import './APIBaseChannel.js';
4
4
  import './APIBetChannel.js';
@@ -14,4 +14,3 @@ var __copyProps = (to, from, except, desc) => {
14
14
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
15
  var APIGuildUser_exports = {};
16
16
  module.exports = __toCommonJS(APIGuildUser_exports);
17
- //# sourceMappingURL=APIGuildUser.js.map
@@ -43,4 +43,3 @@ var LogEntryTypes = /* @__PURE__ */ ((LogEntryTypes2) => {
43
43
  0 && (module.exports = {
44
44
  LogEntryTypes
45
45
  });
46
- //# sourceMappingURL=APILogEntry.js.map
@@ -14,4 +14,3 @@ var __copyProps = (to, from, except, desc) => {
14
14
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
15
  var APIMessage_exports = {};
16
16
  module.exports = __toCommonJS(APIMessage_exports);
17
- //# sourceMappingURL=APIMessage.js.map
@@ -14,4 +14,3 @@ var __copyProps = (to, from, except, desc) => {
14
14
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
15
  var APIMinesGame_exports = {};
16
16
  module.exports = __toCommonJS(APIMinesGame_exports);
17
- //# sourceMappingURL=APIMinesGame.js.map
@@ -14,4 +14,3 @@ var __copyProps = (to, from, except, desc) => {
14
14
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
15
  var APIPlayer_exports = {};
16
16
  module.exports = __toCommonJS(APIPlayer_exports);
17
- //# sourceMappingURL=APIPlayer.js.map
@@ -13,6 +13,7 @@ interface APIProduct {
13
13
  buyers: APIPlayer[];
14
14
  /** Product's emoji */
15
15
  emoji: string;
16
+ units_in_stock: number;
16
17
  /** Creation Date */
17
18
  createdAt: Date;
18
19
  /** Updated Date */
@@ -15,4 +15,3 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
15
15
  var APIProduct_exports = {};
16
16
  module.exports = __toCommonJS(APIProduct_exports);
17
17
  ;
18
- //# sourceMappingURL=APIProduct.js.map
@@ -1,5 +1,5 @@
1
1
  import 'discord-api-types/v10';
2
- export { h as APITicketPanel } from '../../index-0BFrnm6S.js';
2
+ export { h as APITicketPanel } from '../../index-xkfp9hFj.js';
3
3
  import './APIAdvert.js';
4
4
  import './APIBaseChannel.js';
5
5
  import './APIBetChannel.js';
@@ -14,4 +14,3 @@ var __copyProps = (to, from, except, desc) => {
14
14
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
15
  var APITicketPanel_exports = {};
16
16
  module.exports = __toCommonJS(APITicketPanel_exports);
17
- //# sourceMappingURL=APITicketPanel.js.map
@@ -14,4 +14,3 @@ var __copyProps = (to, from, except, desc) => {
14
14
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
15
  var APITournament_exports = {};
16
16
  module.exports = __toCommonJS(APITournament_exports);
17
- //# sourceMappingURL=APITournament.js.map
@@ -14,4 +14,3 @@ var __copyProps = (to, from, except, desc) => {
14
14
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
15
  var APIVipMember_exports = {};
16
16
  module.exports = __toCommonJS(APIVipMember_exports);
17
- //# sourceMappingURL=APIVipMember.js.map
@@ -1,5 +1,5 @@
1
1
  export { APIAdvert } from './APIAdvert.js';
2
- export { A as APIAutomaticMessage, a as APIGuild, b as APIGuildBet, c as APIGuildBetUser, d as APIGuildGroupedChannel, e as APIGuildMatch, f as APIGuildUser, g as APITicketCategory, h as APITicketPanel, j as Accessory, k as ActiveAccessories, n as AutomaticMessagesTypes, B as BETSTATUS, o as Banner, q as BaseMatchModes, r as BaseMatchStatus, s as BetChannelTypes, t as BetQueue, C as Confirm, D as Daily, x as DailyCategories, J as GuildChannelsType, K as GuildLogsWebhookUrls, N as GuildMatchChannelsType, P as GuildMatchMessagesType, T as GuildModes, V as GuildPrices, W as GuildScores, X as GuildStatus, Y as GuildStatusEnum, _ as GuildTicketConfiguration, a4 as LogMessage, a5 as Logs, a6 as MATCHSTATUS, a7 as MATCHTYPES, a8 as MatchSelection, ac as Optional, ad as OriginalChannel, ae as OriginalChannels, ai as Profile, aj as ProfileCard, am as RoulettePrize, an as RouletteSettings, ao as STATES, ar as StatusResponse, ax as UserAcessoryType } from '../../index-0BFrnm6S.js';
2
+ export { A as APIAutomaticMessage, a as APIGuild, b as APIGuildBet, c as APIGuildBetUser, d as APIGuildGroupedChannel, e as APIGuildMatch, f as APIGuildUser, g as APITicketCategory, h as APITicketPanel, i as Accessory, l as AutomaticMessagesTypes, B as BETSTATUS, m as Banner, o as BaseMatchModes, p as BaseMatchStatus, q as BetChannelTypes, r as BetQueue, C as Confirm, D as Daily, v as DailyCategories, H as GuildChannelsType, I as GuildLogsWebhookUrls, L as GuildMatchChannelsType, N as GuildMatchMessagesType, Q as GuildModes, T as GuildPrices, U as GuildScores, V as GuildStatus, W as GuildStatusEnum, Y as GuildTicketConfiguration, a2 as LogMessage, a3 as Logs, a4 as MATCHSTATUS, a5 as MATCHTYPES, a6 as MatchSelection, aa as Optional, ab as OriginalChannel, ac as OriginalChannels, ag as Profile, ah as ProfileCard, ak as RoulettePrize, al as RouletteSettings, am as STATES, ap as StatusResponse, av as UserAccessoryType } from '../../index-xkfp9hFj.js';
3
3
  export { APIBaseChannel } from './APIBaseChannel.js';
4
4
  export { APIBetChannel } from './APIBetChannel.js';
5
5
  export { APICode } from './APICode.js';
@@ -23,7 +23,7 @@ __export(api_exports, {
23
23
  MATCHSTATUS: () => MATCHSTATUS,
24
24
  MATCHTYPES: () => MATCHTYPES,
25
25
  STATES: () => STATES,
26
- UserAcessoryType: () => UserAcessoryType
26
+ UserAccessoryType: () => UserAccessoryType
27
27
  });
28
28
  module.exports = __toCommonJS(api_exports);
29
29
  __reExport(api_exports, require("./APIAdvert"), module.exports);
@@ -51,13 +51,12 @@ __reExport(api_exports, require("./APIPlayer"), module.exports);
51
51
  __reExport(api_exports, require("./APITicketPanel"), module.exports);
52
52
  __reExport(api_exports, require("./APIProduct"), module.exports);
53
53
  __reExport(api_exports, require("./APIVipMember"), module.exports);
54
- var UserAcessoryType = /* @__PURE__ */ ((UserAcessoryType2) => {
55
- UserAcessoryType2["PointsProtection"] = "points_protection";
56
- UserAcessoryType2["LossesProtection"] = "losses_protection";
57
- UserAcessoryType2["DoublePoints"] = "double_points";
58
- UserAcessoryType2["Active"] = "active";
59
- return UserAcessoryType2;
60
- })(UserAcessoryType || {});
54
+ var UserAccessoryType = /* @__PURE__ */ ((UserAccessoryType2) => {
55
+ UserAccessoryType2["PointsProtection"] = "points_protection";
56
+ UserAccessoryType2["LossesProtection"] = "losses_protection";
57
+ UserAccessoryType2["DoublePoints"] = "double_points";
58
+ return UserAccessoryType2;
59
+ })(UserAccessoryType || {});
61
60
  var MATCHTYPES = /* @__PURE__ */ ((MATCHTYPES2) => {
62
61
  MATCHTYPES2["OneVOne"] = "1v1";
63
62
  MATCHTYPES2["TwoVTwo"] = "2v2";
@@ -96,7 +95,7 @@ var STATES = /* @__PURE__ */ ((STATES2) => {
96
95
  MATCHSTATUS,
97
96
  MATCHTYPES,
98
97
  STATES,
99
- UserAcessoryType,
98
+ UserAccessoryType,
100
99
  ...require("./APIAdvert"),
101
100
  ...require("./APIAutomaticMessage"),
102
101
  ...require("./APIBaseChannel"),
@@ -123,4 +122,3 @@ var STATES = /* @__PURE__ */ ((STATES2) => {
123
122
  ...require("./APIProduct"),
124
123
  ...require("./APIVipMember")
125
124
  });
126
- //# sourceMappingURL=index.js.map
@@ -1,4 +1,4 @@
1
- export { A as APIAutomaticMessage, a as APIGuild, b as APIGuildBet, c as APIGuildBetUser, d as APIGuildGroupedChannel, e as APIGuildMatch, f as APIGuildUser, g as APITicketCategory, h as APITicketPanel, j as Accessory, k as ActiveAccessories, n as AutomaticMessagesTypes, B as BETSTATUS, o as Banner, q as BaseMatchModes, r as BaseMatchStatus, s as BetChannelTypes, t as BetQueue, C as Confirm, D as Daily, x as DailyCategories, J as GuildChannelsType, K as GuildLogsWebhookUrls, N as GuildMatchChannelsType, P as GuildMatchMessagesType, T as GuildModes, V as GuildPrices, W as GuildScores, X as GuildStatus, Y as GuildStatusEnum, _ as GuildTicketConfiguration, a4 as LogMessage, a5 as Logs, a6 as MATCHSTATUS, a7 as MATCHTYPES, a8 as MatchSelection, ac as Optional, ad as OriginalChannel, ae as OriginalChannels, ai as Profile, aj as ProfileCard, ak as RequestOptions, al as RestEvents, am as RoulettePrize, an as RouletteSettings, ao as STATES, ar as StatusResponse, ax as UserAcessoryType } from '../index-0BFrnm6S.js';
1
+ export { A as APIAutomaticMessage, a as APIGuild, b as APIGuildBet, c as APIGuildBetUser, d as APIGuildGroupedChannel, e as APIGuildMatch, f as APIGuildUser, g as APITicketCategory, h as APITicketPanel, i as Accessory, l as AutomaticMessagesTypes, B as BETSTATUS, m as Banner, o as BaseMatchModes, p as BaseMatchStatus, q as BetChannelTypes, r as BetQueue, C as Confirm, D as Daily, v as DailyCategories, H as GuildChannelsType, I as GuildLogsWebhookUrls, L as GuildMatchChannelsType, N as GuildMatchMessagesType, Q as GuildModes, T as GuildPrices, U as GuildScores, V as GuildStatus, W as GuildStatusEnum, Y as GuildTicketConfiguration, a2 as LogMessage, a3 as Logs, a4 as MATCHSTATUS, a5 as MATCHTYPES, a6 as MatchSelection, aa as Optional, ab as OriginalChannel, ac as OriginalChannels, ag as Profile, ah as ProfileCard, ai as RequestOptions, aj as RestEvents, ak as RoulettePrize, al as RouletteSettings, am as STATES, ap as StatusResponse, av as UserAccessoryType } from '../index-xkfp9hFj.js';
2
2
  export { APIAdvert } from './api/APIAdvert.js';
3
3
  export { APIBaseChannel } from './api/APIBaseChannel.js';
4
4
  export { APIBetChannel } from './api/APIBetChannel.js';
@@ -22,4 +22,3 @@ __reExport(types_exports, require("./RestTypes"), module.exports);
22
22
  ...require("./api/index"),
23
23
  ...require("./RestTypes")
24
24
  });
25
- //# sourceMappingURL=index.js.map
@@ -73,4 +73,3 @@ class Assertion {
73
73
  0 && (module.exports = {
74
74
  Assertion
75
75
  });
76
- //# sourceMappingURL=Assertion.js.map
@@ -0,0 +1,3 @@
1
+ declare const clamp0: (...numbers: number[]) => number;
2
+
3
+ export { clamp0 };
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var clamp0_exports = {};
20
+ __export(clamp0_exports, {
21
+ clamp0: () => clamp0
22
+ });
23
+ module.exports = __toCommonJS(clamp0_exports);
24
+ const clamp0 = (...numbers) => {
25
+ numbers = numbers.filter((n) => !isNaN(n));
26
+ return Math.max(0, ...numbers);
27
+ };
28
+ // Annotate the CommonJS export names for ESM import in node:
29
+ 0 && (module.exports = {
30
+ clamp0
31
+ });
@@ -28,4 +28,3 @@ function getRandomNumber(min, max) {
28
28
  0 && (module.exports = {
29
29
  getRandomNumber
30
30
  });
31
- //# sourceMappingURL=getRandomNumber.js.map
@@ -31,4 +31,3 @@ function isSameDateUTC(a, b) {
31
31
  0 && (module.exports = {
32
32
  isSameDateUTC
33
33
  });
34
- //# sourceMappingURL=isSameDayUTC.js.map
@@ -29,4 +29,3 @@ function randomKeyGenerator(max, enconding) {
29
29
  0 && (module.exports = {
30
30
  randomKeyGenerator
31
31
  });
32
- //# sourceMappingURL=randomKeyGenerator.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@duque.edits/sdk",
3
- "version": "1.3.0",
3
+ "version": "1.3.2",
4
4
  "main": "./dist/index.js",
5
5
  "module": "./dist/index.mjs",
6
6
  "types": "./dist/index.d.ts",
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/index.ts"],"sourcesContent":["export * from \"./managers\";\r\nexport * from \"./structures\";\r\nexport * from \"./rest\";\r\nexport * from \"./types\";"],"mappings":";;;;;;;;;;;;;;;AAAA;AAAA;AAAA,0BAAc,uBAAd;AACA,0BAAc,yBADd;AAEA,0BAAc,mBAFd;AAGA,0BAAc,oBAHd;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/managers/automaticmessage/AutomaticMessageManager.ts"],"sourcesContent":["import { BaseManager } from \"../base\";\r\nimport { APIAutomaticMessage, APIGuild, Optional } from \"../../types\";\r\nimport { Collection, Guild } from \"../../structures\";\r\nimport { Routes } from \"../../rest\";\r\nimport { AutomaticMessage } from \"../../structures/automaticmessage/AutomaticMessage\";\r\nimport { randomKeyGenerator } from \"../../utils/randomKeyGenerator\";\r\n\r\nexport class AutomaticMessageManager extends BaseManager<AutomaticMessage> {\r\n constructor(guild: Guild) {\r\n super(guild);\r\n\r\n this.guild = guild;\r\n this.rest = guild.rest;\r\n this.base_url = Routes.fields(\"/guilds\", guild.id, \"messages\");\r\n this.cache = new Collection<string, AutomaticMessage>();\r\n }\r\n\r\n async fetch<T extends string>(\r\n messageId?: T\r\n ): Promise<T extends true ? AutomaticMessage : Collection<string, AutomaticMessage>> {\r\n const url = !messageId ? this.base_url : Routes.fields(this.base_url, messageId);\r\n const response = await this.rest.request<APIAutomaticMessage, {}>({\r\n method: \"get\",\r\n url: url,\r\n });\r\n return this.set(response) as T extends true ? AutomaticMessage : Collection<string, AutomaticMessage>;\r\n }\r\n\r\n async create(data: Optional<APIAutomaticMessage>): Promise<AutomaticMessage> {\r\n if (!data.type) throw new Error(`Missing message's type.`);\r\n\r\n const id = randomKeyGenerator(12).replace(/-/g, \"0\").replace(/_/g, \"Y\");\r\n\r\n const url = Routes.fields(\"/guilds\", this.guild.id, \"messages\");\r\n const response = await this.rest.request<APIAutomaticMessage, {}>({\r\n method: \"post\",\r\n url: url,\r\n payload: { ...data, id },\r\n });\r\n\r\n return this._add(response) as AutomaticMessage;\r\n }\r\n\r\n _add(data: APIAutomaticMessage | APIAutomaticMessage[]) {\r\n if (Array.isArray(data)) {\r\n for (let _m of data) {\r\n if (!_m._id) continue;\r\n if (_m instanceof AutomaticMessage) this.cache.set(_m._id, _m);\r\n else this.cache.set(_m._id, new AutomaticMessage(_m, this));\r\n }\r\n return this.cache;\r\n } else {\r\n if (!data._id) return this.cache;\r\n if (data instanceof AutomaticMessage) this.cache.set(data._id, data);\r\n else {\r\n const message = new AutomaticMessage(data, this);\r\n this.cache.set(data._id, message);\r\n return message;\r\n }\r\n return data;\r\n }\r\n }\r\n set(data: APIAutomaticMessage | APIAutomaticMessage[]): Collection<string, APIAutomaticMessage> {\r\n if (Array.isArray(data)) {\r\n for (let _m of data) {\r\n if (!_m._id) continue;\r\n if (_m instanceof AutomaticMessage) this.cache.set(_m._id, _m);\r\n else this.cache.set(_m._id, new AutomaticMessage(_m, this));\r\n }\r\n } else {\r\n if (!data._id) return this.cache;\r\n if (data instanceof AutomaticMessage) this.cache.set(data._id, data);\r\n else this.cache.set(data._id, new AutomaticMessage(data, this));\r\n }\r\n\r\n return this.cache;\r\n }\r\n\r\n async delete(messageId?: string) {\r\n if (messageId) return await this.cache.get(messageId).delete();\r\n\r\n const url = Routes.fields(\"/guilds\", this.guild.id, \"messages\", messageId);\r\n const response = await this.rest.request<APIGuild, {}>({\r\n method: \"delete\",\r\n url: url,\r\n });\r\n\r\n return response;\r\n }\r\n toJSON() {\r\n const m = [...this.cache.values()];\r\n return m.filter((m) => m.toJSON !== undefined).map((m) => m.toJSON()) as APIAutomaticMessage[];\r\n }\r\n}\r\n"],"mappings":"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","names":["m"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/managers/base.ts"],"sourcesContent":["import { REST } from \"../rest/REST\";\r\nimport { Collection } from \"../structures/Collection\";\r\nimport { Guild } from \"../structures/guild/Guild\";\r\nimport { APIProduct, Optional } from \"../types\";\r\n\r\nexport class BaseManager<S extends object> {\r\n /** This url of the manager */\r\n base_url: string;\r\n\r\n /** The rest client */\r\n rest: REST;\r\n\r\n /** The guild of the manager */\r\n guild: Guild;\r\n\r\n /** Cache */\r\n cache: Collection<string, S>;\r\n\r\n constructor(guild: Guild) {\r\n this.guild = guild;\r\n this.rest = guild.rest;\r\n\r\n this.cache = new Collection<string, S>();\r\n }\r\n\r\n toJSON() {\r\n return [...this.cache.values()].map((m) =>\r\n m && \"toJSON\" in m && typeof m.toJSON === \"function\" ? m.toJSON() : m\r\n ) as S[] | any;\r\n }\r\n}\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,wBAA2B;AAIpB,MAAM,YAA8B;AAAA,EAazC,YAAY,OAAc;AAX1B;AAAA;AAGA;AAAA;AAGA;AAAA;AAGA;AAAA;AAGE,SAAK,QAAQ;AACb,SAAK,OAAO,MAAM;AAElB,SAAK,QAAQ,IAAI,6BAAsB;AAAA,EACzC;AAAA,EAEA,SAAS;AACP,WAAO,CAAC,GAAG,KAAK,MAAM,OAAO,CAAC,EAAE;AAAA,MAAI,CAAC,MACnC,KAAK,YAAY,KAAK,OAAO,EAAE,WAAW,aAAa,EAAE,OAAO,IAAI;AAAA,IACtE;AAAA,EACF;AACF;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/managers/bet/GuildBetManager.ts"],"sourcesContent":["import { Routes } from \"../../rest\";\r\nimport { Collection, Guild, GuildBet } from \"../../structures\";\r\nimport { APIGuildBet, APIPlayer, Optional } from \"../../types\";\r\nimport { BaseManager } from \"../base\";\r\n\r\nexport interface FetchOptions {\r\n cache?: boolean;\r\n betId?: string;\r\n}\r\ntype ReturnFetchOptions<T extends FetchOptions> = T[\"cache\"] extends true\r\n ? Collection<string, GuildBet>\r\n : T[\"betId\"] extends string\r\n ? GuildBet\r\n : Collection<string, GuildBet>;\r\n\r\nexport class GuildBetManager extends BaseManager<GuildBet> {\r\n constructor(guild: Guild) {\r\n super(guild);\r\n this.guild = guild;\r\n this.rest = guild.rest;\r\n this.base_url = Routes.guilds.bets.getAll(guild.id);\r\n this.cache = new Collection<string, GuildBet>(\"bets\");\r\n }\r\n toString() {\r\n return this.cache.size;\r\n }\r\n async fetch<T extends FetchOptions>(options?: T): Promise<ReturnFetchOptions<T>> {\r\n const url = this.base_url;\r\n\r\n if (options && options.cache) return this.cache as ReturnFetchOptions<T>;\r\n if (options && options.betId) {\r\n const response = await this.rest.request<APIGuildBet, {}>({ url: `${url}/${options.betId}`, method: \"GET\" });\r\n return this.set(response) as ReturnFetchOptions<T>;\r\n }\r\n const response = await this.rest.request<APIGuildBet[], {}>({ url: url, method: \"GET\" });\r\n if (this.guild.bet_count !== response.length) await this.guild.update({ bet_count: response.length });\r\n return this.set(response) as ReturnFetchOptions<T>;\r\n }\r\n async create(data: Optional<APIGuildBet>): Promise<GuildBet> {\r\n const url = Routes.guilds.bets.create(this.guild.id);\r\n const response = await this.rest.request<APIGuildBet, typeof data>({ url: url, method: \"POST\", payload: data });\r\n await this.guild.update({ bet_count: (this.guild.bet_count || 0) + 1 });\r\n return this.set(response) as GuildBet;\r\n }\r\n async delete(betId?: string) {\r\n const url = Routes.fields(this.base_url, betId);\r\n const response = await this.rest.request<APIGuildBet, {}>({ url: url, method: \"DELETE\" });\r\n return this.set(response);\r\n }\r\n set(data: Optional<APIGuildBet> | Optional<APIGuildBet>[] | GuildBet) {\r\n if (!data) return;\r\n if (Array.isArray(data)) {\r\n for (let _bet of data) {\r\n if (!_bet._id) continue;\r\n const bet = new GuildBet(_bet, this);\r\n this.cache.set(bet._id, bet);\r\n this.rest.bets.set(bet._id, bet);\r\n }\r\n } else {\r\n if (!data._id) return;\r\n if (data instanceof GuildBet) {\r\n this.cache.set(data._id, data);\r\n return data;\r\n }\r\n const bet = new GuildBet(data, this);\r\n this.cache.set(bet._id, bet);\r\n this.rest.bets.set(bet._id, bet);\r\n return bet;\r\n }\r\n }\r\n}\r\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAuB;AACvB,wBAA4C;AAE5C,kBAA4B;AAYrB,MAAM,wBAAwB,wBAAsB;AAAA,EACzD,YAAY,OAAc;AACxB,UAAM,KAAK;AACX,SAAK,QAAQ;AACb,SAAK,OAAO,MAAM;AAClB,SAAK,WAAW,mBAAO,OAAO,KAAK,OAAO,MAAM,EAAE;AAClD,SAAK,QAAQ,IAAI,6BAA6B,MAAM;AAAA,EACtD;AAAA,EACA,WAAW;AACT,WAAO,KAAK,MAAM;AAAA,EACpB;AAAA,EACA,MAAM,MAA8B,SAA6C;AAC/E,UAAM,MAAM,KAAK;AAEjB,QAAI,WAAW,QAAQ,MAAO,QAAO,KAAK;AAC1C,QAAI,WAAW,QAAQ,OAAO;AAC5B,YAAMA,YAAW,MAAM,KAAK,KAAK,QAAyB,EAAE,KAAK,GAAG,GAAG,IAAI,QAAQ,KAAK,IAAI,QAAQ,MAAM,CAAC;AAC3G,aAAO,KAAK,IAAIA,SAAQ;AAAA,IAC1B;AACA,UAAM,WAAW,MAAM,KAAK,KAAK,QAA2B,EAAE,KAAU,QAAQ,MAAM,CAAC;AACvF,QAAI,KAAK,MAAM,cAAc,SAAS,OAAQ,OAAM,KAAK,MAAM,OAAO,EAAE,WAAW,SAAS,OAAO,CAAC;AACpG,WAAO,KAAK,IAAI,QAAQ;AAAA,EAC1B;AAAA,EACA,MAAM,OAAO,MAAgD;AAC3D,UAAM,MAAM,mBAAO,OAAO,KAAK,OAAO,KAAK,MAAM,EAAE;AACnD,UAAM,WAAW,MAAM,KAAK,KAAK,QAAkC,EAAE,KAAU,QAAQ,QAAQ,SAAS,KAAK,CAAC;AAC9G,UAAM,KAAK,MAAM,OAAO,EAAE,YAAY,KAAK,MAAM,aAAa,KAAK,EAAE,CAAC;AACtE,WAAO,KAAK,IAAI,QAAQ;AAAA,EAC1B;AAAA,EACA,MAAM,OAAO,OAAgB;AAC3B,UAAM,MAAM,mBAAO,OAAO,KAAK,UAAU,KAAK;AAC9C,UAAM,WAAW,MAAM,KAAK,KAAK,QAAyB,EAAE,KAAU,QAAQ,SAAS,CAAC;AACxF,WAAO,KAAK,IAAI,QAAQ;AAAA,EAC1B;AAAA,EACA,IAAI,MAAkE;AACpE,QAAI,CAAC,KAAM;AACX,QAAI,MAAM,QAAQ,IAAI,GAAG;AACvB,eAAS,QAAQ,MAAM;AACrB,YAAI,CAAC,KAAK,IAAK;AACf,cAAM,MAAM,IAAI,2BAAS,MAAM,IAAI;AACnC,aAAK,MAAM,IAAI,IAAI,KAAK,GAAG;AAC3B,aAAK,KAAK,KAAK,IAAI,IAAI,KAAK,GAAG;AAAA,MACjC;AAAA,IACF,OAAO;AACL,UAAI,CAAC,KAAK,IAAK;AACf,UAAI,gBAAgB,4BAAU;AAC5B,aAAK,MAAM,IAAI,KAAK,KAAK,IAAI;AAC7B,eAAO;AAAA,MACT;AACA,YAAM,MAAM,IAAI,2BAAS,MAAM,IAAI;AACnC,WAAK,MAAM,IAAI,IAAI,KAAK,GAAG;AAC3B,WAAK,KAAK,KAAK,IAAI,IAAI,KAAK,GAAG;AAC/B,aAAO;AAAA,IACT;AAAA,EACF;AACF;","names":["response"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/managers/betuser/GuildBetUserManager.ts"],"sourcesContent":["import { Routes } from \"../../rest/Routes\";\r\nimport { GuildBetUser } from \"../../structures/betuser/GuildBetUser\";\r\nimport { Collection } from \"../../structures/Collection\";\r\nimport { Guild } from \"../../structures/guild/Guild\";\r\nimport { Optional, APIGuildBetUser } from \"../../types\";\r\nimport { BaseManager } from \"../base\";\r\n\r\ntype FetchOptions = {\r\n userId?: string;\r\n cache?: boolean;\r\n};\r\ntype ReturnFetchOptions<T extends FetchOptions> = T[\"cache\"] extends true\r\n ? Collection<string, GuildBetUser>\r\n : T[\"userId\"] extends string\r\n ? GuildBetUser\r\n : Collection<string, GuildBetUser>;\r\n\r\nexport class GuildBetUserManager extends BaseManager<GuildBetUser> {\r\n constructor(guild: Guild) {\r\n super(guild);\r\n\r\n this.guild = guild;\r\n this.rest = guild.rest;\r\n this.base_url = Routes.guilds.betusers.getAll(guild.id);\r\n this.cache = new Collection<string, GuildBetUser>(\"betusers\");\r\n }\r\n\r\n async fetch<T extends FetchOptions>(options?: T): Promise<ReturnFetchOptions<T>> {\r\n if (options && options.cache) return this.cache as ReturnFetchOptions<T>;\r\n if (options && options.userId) {\r\n const url = Routes.fields(this.base_url, options.userId);\r\n const response = await this.rest.request<APIGuildBetUser, {}>({\r\n method: \"GET\",\r\n url: url,\r\n });\r\n const user = new GuildBetUser(response, this);\r\n this.set(user);\r\n return user as ReturnFetchOptions<T>;\r\n }\r\n const url = this.base_url;\r\n const response = await this.rest.request<APIGuildBetUser[], {}>({\r\n method: \"GET\",\r\n url: url,\r\n });\r\n this.set(response);\r\n return this.cache as ReturnFetchOptions<T>;\r\n }\r\n async updateMany(...betusers: Optional<APIGuildBetUser>[]): Promise<Collection<string, GuildBetUser>> {\r\n const url = this.base_url;\r\n const response = await this.rest.request<APIGuildBetUser[], { betusers: Optional<APIGuildBetUser>[] }>({\r\n method: \"PATCH\",\r\n url: url,\r\n payload: { betusers },\r\n });\r\n\r\n return this.set(response) as Collection<string, GuildBetUser>;\r\n }\r\n\r\n async deleteAll() {\r\n const url = this.base_url;\r\n await this.rest.request<boolean, {}>({\r\n method: \"DELETE\",\r\n url: url,\r\n });\r\n\r\n this.cache.clear();\r\n }\r\n async resetAll() {\r\n const url = this.base_url;\r\n const response = await this.rest.request<APIGuildBetUser[], {}>({\r\n method: \"put\",\r\n url: url,\r\n });\r\n\r\n this.cache.clear();\r\n return this.set(response);\r\n }\r\n\r\n set(data: APIGuildBetUser | APIGuildBetUser[]) {\r\n if (!data) return this.cache;\r\n if (Array.isArray(data)) {\r\n for (let _user of data) {\r\n if (!_user.id) return;\r\n const user = new GuildBetUser(_user, this);\r\n this.cache.set(user.id, user);\r\n this.rest.betusers.set(user.id, user);\r\n }\r\n return this.cache;\r\n } else {\r\n if (!data.id) return;\r\n const user = new GuildBetUser(data, this);\r\n this.cache.set(user.id, user);\r\n this.rest.betusers.set(user.id, user);\r\n return user;\r\n }\r\n }\r\n}\r\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAuB;AACvB,0BAA6B;AAC7B,wBAA2B;AAG3B,kBAA4B;AAYrB,MAAM,4BAA4B,wBAA0B;AAAA,EACjE,YAAY,OAAc;AACxB,UAAM,KAAK;AAEX,SAAK,QAAQ;AACb,SAAK,OAAO,MAAM;AAClB,SAAK,WAAW,qBAAO,OAAO,SAAS,OAAO,MAAM,EAAE;AACtD,SAAK,QAAQ,IAAI,6BAAiC,UAAU;AAAA,EAC9D;AAAA,EAEA,MAAM,MAA8B,SAA6C;AAC/E,QAAI,WAAW,QAAQ,MAAO,QAAO,KAAK;AAC1C,QAAI,WAAW,QAAQ,QAAQ;AAC7B,YAAMA,OAAM,qBAAO,OAAO,KAAK,UAAU,QAAQ,MAAM;AACvD,YAAMC,YAAW,MAAM,KAAK,KAAK,QAA6B;AAAA,QAC5D,QAAQ;AAAA,QACR,KAAKD;AAAA,MACP,CAAC;AACD,YAAM,OAAO,IAAI,iCAAaC,WAAU,IAAI;AAC5C,WAAK,IAAI,IAAI;AACb,aAAO;AAAA,IACT;AACA,UAAM,MAAM,KAAK;AACjB,UAAM,WAAW,MAAM,KAAK,KAAK,QAA+B;AAAA,MAC9D,QAAQ;AAAA,MACR;AAAA,IACF,CAAC;AACD,SAAK,IAAI,QAAQ;AACjB,WAAO,KAAK;AAAA,EACd;AAAA,EACA,MAAM,cAAc,UAAkF;AACpG,UAAM,MAAM,KAAK;AACjB,UAAM,WAAW,MAAM,KAAK,KAAK,QAAsE;AAAA,MACrG,QAAQ;AAAA,MACR;AAAA,MACA,SAAS,EAAE,SAAS;AAAA,IACtB,CAAC;AAED,WAAO,KAAK,IAAI,QAAQ;AAAA,EAC1B;AAAA,EAEA,MAAM,YAAY;AAChB,UAAM,MAAM,KAAK;AACjB,UAAM,KAAK,KAAK,QAAqB;AAAA,MACnC,QAAQ;AAAA,MACR;AAAA,IACF,CAAC;AAED,SAAK,MAAM,MAAM;AAAA,EACnB;AAAA,EACA,MAAM,WAAW;AACf,UAAM,MAAM,KAAK;AACjB,UAAM,WAAW,MAAM,KAAK,KAAK,QAA+B;AAAA,MAC9D,QAAQ;AAAA,MACR;AAAA,IACF,CAAC;AAED,SAAK,MAAM,MAAM;AACjB,WAAO,KAAK,IAAI,QAAQ;AAAA,EAC1B;AAAA,EAEA,IAAI,MAA2C;AAC7C,QAAI,CAAC,KAAM,QAAO,KAAK;AACvB,QAAI,MAAM,QAAQ,IAAI,GAAG;AACvB,eAAS,SAAS,MAAM;AACtB,YAAI,CAAC,MAAM,GAAI;AACf,cAAM,OAAO,IAAI,iCAAa,OAAO,IAAI;AACzC,aAAK,MAAM,IAAI,KAAK,IAAI,IAAI;AAC5B,aAAK,KAAK,SAAS,IAAI,KAAK,IAAI,IAAI;AAAA,MACtC;AACA,aAAO,KAAK;AAAA,IACd,OAAO;AACL,UAAI,CAAC,KAAK,GAAI;AACd,YAAM,OAAO,IAAI,iCAAa,MAAM,IAAI;AACxC,WAAK,MAAM,IAAI,KAAK,IAAI,IAAI;AAC5B,WAAK,KAAK,SAAS,IAAI,KAAK,IAAI,IAAI;AACpC,aAAO;AAAA,IACT;AAAA,EACF;AACF;","names":["url","response"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/managers/buffer/BufferManager.ts"],"sourcesContent":["import { Routes } from \"../../rest/Routes\";\r\nimport { Collection } from \"../../structures/Collection\";\r\nimport { Guild } from \"../../structures/guild/Guild\";\r\nimport { GuildMatch } from \"../../structures/match/GuildMatch\";\r\n//import { GuildTicket } from \"../../structures/ticket/GuildTicket\";\r\nimport { APIGuildMatch, APIGuildTicket, Optional } from \"../../types\";\r\n\r\nexport type BufferMatch = Optional<APIGuildMatch & { id: string }>;\r\nexport type BufferTicket = Optional<APIGuildTicket & { id: string }>;\r\n\r\nexport class BufferManager {\r\n matches: Collection<string, BufferMatch | GuildMatch>;\r\n tickets: Collection<string, BufferTicket>;\r\n\r\n guild: Guild;\r\n constructor(guild: Guild) {\r\n this.matches = new Collection(\"buffer:matches\");\r\n this.tickets = new Collection(\"buffer:tickets\");\r\n\r\n this.guild = guild;\r\n }\r\n async flush(key: \"matches\" | \"tickets\") {\r\n const { rest } = this.guild;\r\n const cache = this[key];\r\n const { size, clear } = cache;\r\n if (size >= 2) {\r\n const response = await rest.request<APIGuildMatch[] & APIGuildTicket[], {}>({\r\n method: \"POST\",\r\n url: Routes.guilds.resources(this.guild.id, key, \"bulk\"),\r\n payload: { [key]: this[key].toArray() },\r\n });\r\n this.guild[key as \"matches\"].set(response);\r\n clear();\r\n return response;\r\n }\r\n return;\r\n }\r\n createMatch(id: string, data: BufferMatch) {\r\n this.matches.set(id, data);\r\n }\r\n createTicket(id: string, data: BufferTicket) {\r\n this.tickets.set(id, data);\r\n }\r\n}\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAuB;AACvB,wBAA2B;AASpB,MAAM,cAAc;AAAA,EAKzB,YAAY,OAAc;AAJ1B;AACA;AAEA;AAEE,SAAK,UAAU,IAAI,6BAAW,gBAAgB;AAC9C,SAAK,UAAU,IAAI,6BAAW,gBAAgB;AAE9C,SAAK,QAAQ;AAAA,EACf;AAAA,EACA,MAAM,MAAM,KAA4B;AACtC,UAAM,EAAE,KAAK,IAAI,KAAK;AACtB,UAAM,QAAQ,KAAK,GAAG;AACtB,UAAM,EAAE,MAAM,MAAM,IAAI;AACxB,QAAI,QAAQ,GAAG;AACb,YAAM,WAAW,MAAM,KAAK,QAAgD;AAAA,QAC1E,QAAQ;AAAA,QACR,KAAK,qBAAO,OAAO,UAAU,KAAK,MAAM,IAAI,KAAK,MAAM;AAAA,QACvD,SAAS,EAAE,CAAC,GAAG,GAAG,KAAK,GAAG,EAAE,QAAQ,EAAE;AAAA,MACxC,CAAC;AACD,WAAK,MAAM,GAAgB,EAAE,IAAI,QAAQ;AACzC,YAAM;AACN,aAAO;AAAA,IACT;AACA;AAAA,EACF;AAAA,EACA,YAAY,IAAY,MAAmB;AACzC,SAAK,QAAQ,IAAI,IAAI,IAAI;AAAA,EAC3B;AAAA,EACA,aAAa,IAAY,MAAoB;AAC3C,SAAK,QAAQ,IAAI,IAAI,IAAI;AAAA,EAC3B;AACF;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/managers/guild/GuildManager.ts"],"sourcesContent":["import { REST } from \"../../rest/REST\";\r\nimport { Routes } from \"../../rest/Routes\";\r\nimport { Collection } from \"../../structures/Collection\";\r\nimport { Guild } from \"../../structures/guild/Guild\";\r\nimport { APIGuild } from \"../../types/api/APIGuild\";\r\nimport { Assertion } from \"../../utils/Assertion\";\r\n\r\ntype FetchOptions = {\r\n guildId?: string;\r\n cache?: boolean;\r\n};\r\n\r\ntype ReturnFetchOptions<T extends FetchOptions> = T[\"cache\"] extends true\r\n ? Collection<string, Guild>\r\n : T[\"guildId\"] extends string\r\n ? Guild\r\n : Collection<string, Guild>;\r\n\r\ntype DeleteOptions = {\r\n guildId?: string;\r\n};\r\n\r\nexport class GuildManager {\r\n /** A cache of guilds */\r\n cache: Collection<string, Guild>;\r\n\r\n /** The rest client */\r\n rest: REST;\r\n\r\n /**\r\n * Manage guilds with the given client\r\n * @param guilds An array of guilds\r\n * @param rest The rest client\r\n */\r\n constructor(rest: REST) {\r\n this.cache = new Collection<string, Guild>(\"guilds\");\r\n this.rest = rest;\r\n }\r\n\r\n /**\r\n * Fetch a guild\r\n * @param id Id of the guild to fetch\r\n * @returns APIGuild\r\n */\r\n async fetch<T extends FetchOptions>(options?: T): Promise<ReturnFetchOptions<T>> {\r\n if (options && options.cache) return this.cache as ReturnFetchOptions<T>;\r\n if (options && options.guildId) {\r\n const url = Routes.guilds.get(options.guildId);\r\n const response = await this.rest.request<APIGuild, {}>({\r\n method: \"get\",\r\n url: url,\r\n });\r\n const guild = new Guild(response, this.rest);\r\n await guild._start().then((g) => {\r\n this.cache.set(g.id, g);\r\n });\r\n this.cache.set(guild.id, guild);\r\n return guild as ReturnFetchOptions<T>;\r\n }\r\n const url = Routes.guilds.getAll();\r\n const response = await this.rest.request<APIGuild[], {}>({\r\n method: \"get\",\r\n url: url,\r\n });\r\n\r\n for (let _guild of response) {\r\n if (!_guild.id) continue;\r\n const guild = new Guild(_guild, this.rest);\r\n await guild._start().then((g) => {\r\n this.cache.set(g.id, g);\r\n });\r\n }\r\n return this.cache as ReturnFetchOptions<T>;\r\n }\r\n async reset(guildId?: string) {\r\n if (guildId) {\r\n return await this.cache.get(guildId).reset();\r\n }\r\n\r\n for (let [_, g] of this.cache) {\r\n await g.reset();\r\n }\r\n return this.cache;\r\n }\r\n async delete(options: DeleteOptions): Promise<Collection<string, Guild> | boolean> {\r\n if (options && options.guildId) {\r\n Assertion.assertString(options.guildId);\r\n\r\n const url = Routes.guilds.delete(options.guildId);\r\n const guild = this.cache.get(options.guildId);\r\n this.rest.emit(\"guildDelete\", guild);\r\n\r\n await this.rest.request<boolean, {}>({\r\n method: \"DELETE\",\r\n url: url,\r\n });\r\n\r\n this.cache.delete(options.guildId);\r\n return this.cache;\r\n }\r\n const url = Routes.guilds.deleteAll();\r\n this.rest.emit(\"guildsDelete\", this.cache);\r\n\r\n const value = await this.rest.request<boolean, {}>({\r\n method: \"DELETE\",\r\n url: url,\r\n });\r\n this.cache.clear();\r\n return value;\r\n }\r\n set(data: APIGuild | APIGuild[]) {\r\n if (!data) return this.cache;\r\n if (Array.isArray(data)) {\r\n for (let _guild of data) {\r\n const guild = new Guild(_guild, this.rest);\r\n this.cache.set(guild.id, guild);\r\n }\r\n return this.cache;\r\n } else {\r\n const guild = new Guild(data, this.rest);\r\n this.cache.set(guild.id, guild);\r\n return guild;\r\n }\r\n }\r\n}\r\n"],"mappings":"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","names":["url","response"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/managers/index.ts"],"sourcesContent":["export * from \"./automaticmessage/AutomaticMessageManager\";\r\nexport * from \"./bet/GuildBetManager\";\r\nexport * from \"./betuser/GuildBetUserManager\";\r\nexport * from \"./buffer/BufferManager\";\r\nexport * from \"./guild/GuildManager\";\r\nexport * from \"./logs/LogManager\";\r\nexport * from \"./match/GuildMatchManager\";\r\nexport * from \"./mediator/GuildMediatorManager\";\r\nexport * from \"./message/MessagesManager\";\r\nexport * from \"./minesgame/MinesGameManager\";\r\nexport * from \"./permission/GuildPermissionManager\";\r\nexport * from \"./player/PlayerManager\";\r\nexport * from \"./shop/ShopManager\";\r\nexport * from \"./ticketpanel/TicketPanelManager\";\r\nexport * from \"./tournament/TournamentManager\";\r\nexport * from \"./ticket/TicketManager\";\r\nexport * from \"./user/GuildUserManager\";\r\nexport * from \"./vipmember/VipMemberManager\";\r\nexport * from \"./base\";\r\n"],"mappings":";;;;;;;;;;;;;;;AAAA;AAAA;AAAA,6BAAc,uDAAd;AACA,6BAAc,kCADd;AAEA,6BAAc,0CAFd;AAGA,6BAAc,mCAHd;AAIA,6BAAc,iCAJd;AAKA,6BAAc,8BALd;AAMA,6BAAc,sCANd;AAOA,6BAAc,4CAPd;AAQA,6BAAc,sCARd;AASA,6BAAc,yCATd;AAUA,6BAAc,gDAVd;AAWA,6BAAc,mCAXd;AAYA,6BAAc,+BAZd;AAaA,6BAAc,6CAbd;AAcA,6BAAc,2CAdd;AAeA,6BAAc,mCAfd;AAgBA,6BAAc,oCAhBd;AAiBA,6BAAc,yCAjBd;AAkBA,6BAAc,mBAlBd;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/managers/logs/LogManager.ts"],"sourcesContent":["import { REST, Routes } from \"../../rest\";\r\nimport { Collection, Guild, LogEntry } from \"../../structures\";\r\nimport { Optional } from \"../../types\";\r\nimport { APILogEntry } from \"../../types/api/APILogEntry\";\r\nimport { BaseManager } from \"../base\";\r\n\r\nexport class LogManager extends BaseManager<LogEntry> {\r\n constructor(guild: Guild) {\r\n super(guild);\r\n\r\n this.guild = guild;\r\n this.rest = guild.rest;\r\n this.base_url = Routes.fields(Routes.guilds.get(guild.id), \"logs\");\r\n this.cache = new Collection<string, LogEntry>();\r\n }\r\n\r\n async fetch(): Promise<Collection<string, LogEntry>> {\r\n const url = this.base_url;\r\n const response = await this.rest.request<APILogEntry[], {}>({\r\n method: \"GET\",\r\n url: url,\r\n });\r\n\r\n return this.set(response) as Collection<string, LogEntry>;\r\n }\r\n async create(data: Optional<APILogEntry>): Promise<LogEntry> {\r\n const url = this.base_url;\r\n const payload = { ...data };\r\n const response = await this.rest.request<APILogEntry, typeof payload>({\r\n method: \"POST\",\r\n url: url,\r\n payload,\r\n });\r\n const logEntry = this.set(response) as LogEntry;\r\n this.cache.set(data._id, logEntry);\r\n this.rest.emit(\"logEntryCreate\", logEntry, this.guild);\r\n\r\n return logEntry;\r\n }\r\n /* async createMany(data: Optional<APILogEntry>[]): Promise<APILogEntry[]> {\r\n const url = Routes.fields(this.base_url, \"bulk\");\r\n const payload = { ...data };\r\n const response = await this.rest.request<APILogEntry[], typeof payload>({\r\n method: \"POST\",\r\n url: url,\r\n payload,\r\n });\r\n\r\n this.set(response);\r\n return response;\r\n } */\r\n set(data: APILogEntry | APILogEntry[]) {\r\n if (!data) return this.cache;\r\n if (Array.isArray(data)) {\r\n this.cache.clear();\r\n\r\n for (let entry of data) {\r\n if (!entry._id) continue;\r\n const logEntry = new LogEntry(entry, this);\r\n this.cache.set(entry._id, logEntry);\r\n }\r\n return this.cache;\r\n } else {\r\n const logEntry = new LogEntry(data, this);\r\n this.cache.set(data._id, logEntry);\r\n return logEntry;\r\n }\r\n }\r\n}\r\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAA6B;AAC7B,wBAA4C;AAG5C,kBAA4B;AAErB,MAAM,mBAAmB,wBAAsB;AAAA,EACpD,YAAY,OAAc;AACxB,UAAM,KAAK;AAEX,SAAK,QAAQ;AACb,SAAK,OAAO,MAAM;AAClB,SAAK,WAAW,mBAAO,OAAO,mBAAO,OAAO,IAAI,MAAM,EAAE,GAAG,MAAM;AACjE,SAAK,QAAQ,IAAI,6BAA6B;AAAA,EAChD;AAAA,EAEA,MAAM,QAA+C;AACnD,UAAM,MAAM,KAAK;AACjB,UAAM,WAAW,MAAM,KAAK,KAAK,QAA2B;AAAA,MAC1D,QAAQ;AAAA,MACR;AAAA,IACF,CAAC;AAED,WAAO,KAAK,IAAI,QAAQ;AAAA,EAC1B;AAAA,EACA,MAAM,OAAO,MAAgD;AAC3D,UAAM,MAAM,KAAK;AACjB,UAAM,UAAU,EAAE,GAAG,KAAK;AAC1B,UAAM,WAAW,MAAM,KAAK,KAAK,QAAqC;AAAA,MACpE,QAAQ;AAAA,MACR;AAAA,MACA;AAAA,IACF,CAAC;AACD,UAAM,WAAW,KAAK,IAAI,QAAQ;AAClC,SAAK,MAAM,IAAI,KAAK,KAAK,QAAQ;AACjC,SAAK,KAAK,KAAK,kBAAkB,UAAU,KAAK,KAAK;AAErD,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaA,IAAI,MAAmC;AACrC,QAAI,CAAC,KAAM,QAAO,KAAK;AACvB,QAAI,MAAM,QAAQ,IAAI,GAAG;AACvB,WAAK,MAAM,MAAM;AAEjB,eAAS,SAAS,MAAM;AACtB,YAAI,CAAC,MAAM,IAAK;AAChB,cAAM,WAAW,IAAI,2BAAS,OAAO,IAAI;AACzC,aAAK,MAAM,IAAI,MAAM,KAAK,QAAQ;AAAA,MACpC;AACA,aAAO,KAAK;AAAA,IACd,OAAO;AACL,YAAM,WAAW,IAAI,2BAAS,MAAM,IAAI;AACxC,WAAK,MAAM,IAAI,KAAK,KAAK,QAAQ;AACjC,aAAO;AAAA,IACT;AAAA,EACF;AACF;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/managers/match/GuildMatchManager.ts"],"sourcesContent":["import { Routes } from \"../../rest/Routes\";\r\nimport { GuildMatch } from \"../../structures/match/GuildMatch\";\r\nimport { Collection } from \"../../structures/Collection\";\r\nimport { Guild } from \"../../structures/guild/Guild\";\r\nimport { APIGuildMatch } from \"../../types/api/APIGuildMatch\";\r\nimport { Optional } from \"../../types/api\";\r\nimport { Assertion } from \"../../utils/Assertion\";\r\nimport { BaseManager } from \"../base\";\r\n\r\ntype FetchOptions = {\r\n cache?: boolean;\r\n matchId?: string;\r\n};\r\ntype ReturnFetchOptions<T extends FetchOptions> = T[\"cache\"] extends true\r\n ? Collection<string, GuildMatch>\r\n : T[\"matchId\"] extends string\r\n ? GuildMatch\r\n : Collection<string, GuildMatch>;\r\n\r\nexport class GuildMatchManager extends BaseManager<GuildMatch> {\r\n /**\r\n * Manage users with the given client\r\n * @param users An array of users\r\n * @param rest The rest client\r\n */\r\n constructor(guild: Guild) {\r\n super(guild);\r\n this.guild = guild;\r\n this.rest = guild.rest;\r\n\r\n this.base_url = Routes.guilds.matches.getAll(guild.id);\r\n this.cache = new Collection<string, GuildMatch>(\"matches\");\r\n }\r\n\r\n /**\r\n * Fetch a match\r\n * @param id Id of the match to fetch\r\n * @returns APIBetUser\r\n */\r\n async fetch<T extends FetchOptions>(options?: T): Promise<ReturnFetchOptions<T>> {\r\n if (options && options.cache) return this.cache as ReturnFetchOptions<T>;\r\n if (options && options.matchId) {\r\n const url = Routes.guilds.matches.get(this.guild.id, options.matchId);\r\n const response = await this.rest.request<APIGuildMatch, {}>({\r\n method: \"get\",\r\n url: url,\r\n });\r\n return this.set(response) as ReturnFetchOptions<T>;\r\n }\r\n const url = Routes.guilds.matches.getAll(this.guild.id);\r\n const response = await this.rest.request<APIGuildMatch[], {}>({\r\n method: \"get\",\r\n url: url,\r\n });\r\n if (!response) return this.cache as ReturnFetchOptions<T>;\r\n\r\n const coll = new Collection<string, GuildMatch>(\"matches\");\r\n for (let match of response ?? []) {\r\n const guildMatch = new GuildMatch(match, this);\r\n coll.set(match._id, guildMatch);\r\n this.rest.matches.set(match._id, guildMatch);\r\n }\r\n\r\n this.cache = coll;\r\n if (this.guild.match_count !== response.length) await this.guild.update({ match_count: response.length });\r\n return coll as ReturnFetchOptions<T>;\r\n }\r\n\r\n set(data: APIGuildMatch | APIGuildMatch[] | GuildMatch) {\r\n if (!data) return this.cache;\r\n if (Array.isArray(data)) {\r\n for (let _match of data) {\r\n if (!_match._id) continue;\r\n\r\n const match = new GuildMatch(_match, this);\r\n this.cache.set(match._id, match);\r\n }\r\n return this.cache;\r\n } else {\r\n if (!data._id) return this.cache;\r\n if (data instanceof GuildMatch) {\r\n this.cache.set(data._id, data);\r\n return data;\r\n }\r\n\r\n const match = new GuildMatch(data, this);\r\n this.cache.set(match._id, match);\r\n return match;\r\n }\r\n }\r\n\r\n async create(payload: Optional<APIGuildMatch>): Promise<GuildMatch> {\r\n Assertion.assertObject(payload);\r\n\r\n const url = Routes.guilds.matches.create(this.guild.id);\r\n const response = await this.rest.request<APIGuildMatch, typeof payload>({\r\n method: \"POST\",\r\n url: url,\r\n payload,\r\n });\r\n if (this.guild.match_count !== this.cache.size + 1) await this.guild.update({ match_count: this.cache.size + 1 });\r\n return this.set(response) as GuildMatch;\r\n }\r\n\r\n async delete(id?: string) {\r\n const url = Routes.fields(this.base_url, id);\r\n const response = await this.rest.request<APIGuildMatch, {}>({ url: url, method: \"DELETE\" });\r\n return this.set(response);\r\n }\r\n}\r\n"],"mappings":"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","names":["url","response"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/managers/mediator/GuildMediatorManager.ts"],"sourcesContent":["import { Routes } from \"../../rest/Routes\";\r\nimport { GuildMediator } from \"../../structures/mediator/GuildMediator\";\r\nimport { Collection } from \"../../structures/Collection\";\r\nimport { Guild } from \"../../structures/guild/Guild\";\r\nimport { Optional, APIGuildMediator } from \"../../types\";\r\nimport { BaseManager } from \"../base\";\r\n\r\ntype FetchOptions = {\r\n mediatorId?: string;\r\n cache?: boolean;\r\n};\r\nexport class GuildMediatorManager extends BaseManager<GuildMediator> {\r\n constructor(guild: Guild) {\r\n super(guild);\r\n\r\n this.guild = guild;\r\n this.rest = guild.rest;\r\n this.base_url = Routes.guilds.mediators.getAll(guild.id);\r\n this.cache = new Collection<string, GuildMediator>(\"mediators\");\r\n }\r\n\r\n async fetch(options?: FetchOptions): Promise<Collection<string, GuildMediator> | GuildMediator> {\r\n if (options && options.cache) return this.cache;\r\n if (options && options.mediatorId) {\r\n const url = Routes.fields(this.base_url, options.mediatorId);\r\n const response = await this.rest.request<APIGuildMediator, {}>({\r\n method: \"GET\",\r\n url: url,\r\n });\r\n return this.set(response) as GuildMediator;\r\n }\r\n const url = this.base_url;\r\n const response = await this.rest.request<APIGuildMediator[], {}>({\r\n method: \"GET\",\r\n url: url,\r\n });\r\n this.set(response);\r\n return this.cache;\r\n }\r\n async updateMany(...mediators: Optional<APIGuildMediator>[]): Promise<Collection<string, GuildMediator>> {\r\n const url = this.base_url;\r\n const response = await this.rest.request<APIGuildMediator[], { mediators: Optional<APIGuildMediator>[] }>({\r\n method: \"PATCH\",\r\n url: url,\r\n payload: { mediators },\r\n });\r\n\r\n return this.set(response) as Collection<string, GuildMediator>;\r\n }\r\n async create(payload: Optional<APIGuildMediator>): Promise<GuildMediator> {\r\n const url = Routes.guilds.mediators.create(this.guild.id);\r\n const response = await this.rest.request<APIGuildMediator, typeof payload>({\r\n method: \"POST\",\r\n url: url,\r\n payload,\r\n });\r\n return this.set(response) as GuildMediator;\r\n }\r\n async deleteAll() {\r\n const url = this.base_url;\r\n await this.rest.request<boolean, {}>({\r\n method: \"DELETE\",\r\n url: url,\r\n });\r\n\r\n this.cache.clear();\r\n }\r\n async resetAll() {\r\n const url = this.base_url;\r\n const response = await this.rest.request<APIGuildMediator[], {}>({\r\n method: \"put\",\r\n url: url,\r\n });\r\n\r\n this.cache.clear();\r\n this.set(response);\r\n return this.cache;\r\n }\r\n\r\n set(data: APIGuildMediator | APIGuildMediator[]) {\r\n if (!data) return this.cache;\r\n if (Array.isArray(data)) {\r\n for (let _mediator of data) {\r\n if (!_mediator.id) return;\r\n const mediator = new GuildMediator(_mediator, this);\r\n this.cache.set(mediator.id, mediator);\r\n this.rest.mediators.set(mediator.id, mediator);\r\n }\r\n return this.cache;\r\n } else {\r\n if (!data.id) return;\r\n const mediator = new GuildMediator(data, this);\r\n this.cache.set(mediator.id, mediator);\r\n this.rest.mediators.set(mediator.id, mediator);\r\n return mediator;\r\n }\r\n }\r\n}\r\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAuB;AACvB,2BAA8B;AAC9B,wBAA2B;AAG3B,kBAA4B;AAMrB,MAAM,6BAA6B,wBAA2B;AAAA,EACnE,YAAY,OAAc;AACxB,UAAM,KAAK;AAEX,SAAK,QAAQ;AACb,SAAK,OAAO,MAAM;AAClB,SAAK,WAAW,qBAAO,OAAO,UAAU,OAAO,MAAM,EAAE;AACvD,SAAK,QAAQ,IAAI,6BAAkC,WAAW;AAAA,EAChE;AAAA,EAEA,MAAM,MAAM,SAAoF;AAC9F,QAAI,WAAW,QAAQ,MAAO,QAAO,KAAK;AAC1C,QAAI,WAAW,QAAQ,YAAY;AACjC,YAAMA,OAAM,qBAAO,OAAO,KAAK,UAAU,QAAQ,UAAU;AAC3D,YAAMC,YAAW,MAAM,KAAK,KAAK,QAA8B;AAAA,QAC7D,QAAQ;AAAA,QACR,KAAKD;AAAA,MACP,CAAC;AACD,aAAO,KAAK,IAAIC,SAAQ;AAAA,IAC1B;AACA,UAAM,MAAM,KAAK;AACjB,UAAM,WAAW,MAAM,KAAK,KAAK,QAAgC;AAAA,MAC/D,QAAQ;AAAA,MACR;AAAA,IACF,CAAC;AACD,SAAK,IAAI,QAAQ;AACjB,WAAO,KAAK;AAAA,EACd;AAAA,EACA,MAAM,cAAc,WAAqF;AACvG,UAAM,MAAM,KAAK;AACjB,UAAM,WAAW,MAAM,KAAK,KAAK,QAAyE;AAAA,MACxG,QAAQ;AAAA,MACR;AAAA,MACA,SAAS,EAAE,UAAU;AAAA,IACvB,CAAC;AAED,WAAO,KAAK,IAAI,QAAQ;AAAA,EAC1B;AAAA,EACA,MAAM,OAAO,SAA6D;AACxE,UAAM,MAAM,qBAAO,OAAO,UAAU,OAAO,KAAK,MAAM,EAAE;AACxD,UAAM,WAAW,MAAM,KAAK,KAAK,QAA0C;AAAA,MACzE,QAAQ;AAAA,MACR;AAAA,MACA;AAAA,IACF,CAAC;AACD,WAAO,KAAK,IAAI,QAAQ;AAAA,EAC1B;AAAA,EACA,MAAM,YAAY;AAChB,UAAM,MAAM,KAAK;AACjB,UAAM,KAAK,KAAK,QAAqB;AAAA,MACnC,QAAQ;AAAA,MACR;AAAA,IACF,CAAC;AAED,SAAK,MAAM,MAAM;AAAA,EACnB;AAAA,EACA,MAAM,WAAW;AACf,UAAM,MAAM,KAAK;AACjB,UAAM,WAAW,MAAM,KAAK,KAAK,QAAgC;AAAA,MAC/D,QAAQ;AAAA,MACR;AAAA,IACF,CAAC;AAED,SAAK,MAAM,MAAM;AACjB,SAAK,IAAI,QAAQ;AACjB,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,IAAI,MAA6C;AAC/C,QAAI,CAAC,KAAM,QAAO,KAAK;AACvB,QAAI,MAAM,QAAQ,IAAI,GAAG;AACvB,eAAS,aAAa,MAAM;AAC1B,YAAI,CAAC,UAAU,GAAI;AACnB,cAAM,WAAW,IAAI,mCAAc,WAAW,IAAI;AAClD,aAAK,MAAM,IAAI,SAAS,IAAI,QAAQ;AACpC,aAAK,KAAK,UAAU,IAAI,SAAS,IAAI,QAAQ;AAAA,MAC/C;AACA,aAAO,KAAK;AAAA,IACd,OAAO;AACL,UAAI,CAAC,KAAK,GAAI;AACd,YAAM,WAAW,IAAI,mCAAc,MAAM,IAAI;AAC7C,WAAK,MAAM,IAAI,SAAS,IAAI,QAAQ;AACpC,WAAK,KAAK,UAAU,IAAI,SAAS,IAAI,QAAQ;AAC7C,aAAO;AAAA,IACT;AAAA,EACF;AACF;","names":["url","response"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/managers/message/MessagesManager.ts"],"sourcesContent":["import { REST } from \"../../rest\";\r\nimport { Guild } from \"../../structures\";\r\nimport { Collection } from \"../../structures/Collection\";\r\nimport { APIMessage, Optional } from \"../../types\";\r\n\r\ntype T<e> = e & { rest: REST; guild: Guild; messages: MessagesManager<e> };\r\n\r\nexport class MessagesManager<Structure> {\r\n cache: Collection<string, APIMessage>;\r\n\r\n readonly base_url: string;\r\n readonly rest: REST;\r\n readonly guild: Guild;\r\n\r\n constructor(structure: T<Structure>, base_url: string) {\r\n this.rest = structure.rest;\r\n this.guild = structure.guild;\r\n this.cache = new Collection<string, APIMessage>(\"messages\");\r\n this.base_url = base_url;\r\n }\r\n\r\n async fetch() {\r\n const response = await this.rest.request<APIMessage, {}>({\r\n method: \"GET\",\r\n url: this.base_url,\r\n payload: {},\r\n });\r\n\r\n this.cache.set(response._id, response);\r\n\r\n return response;\r\n }\r\n\r\n async create(data: Optional<APIMessage> | Optional<APIMessage>[]) {\r\n const messages: APIMessage[] & Optional<APIMessage>[] = [...this.cache.toArray()];\r\n if (Array.isArray(data)) messages.push(...data);\r\n else messages.push(data);\r\n const response = await this.rest.request<{ messages: APIMessage[] }, {}>({\r\n method: \"PATCH\",\r\n url: this.base_url,\r\n payload: { set: messages },\r\n });\r\n\r\n return this.set(response.messages);\r\n }\r\n\r\n set(data: APIMessage | APIMessage[]) {\r\n if (!data) return this.cache;\r\n if (Array.isArray(data)) {\r\n for (let message of data) {\r\n if (message && !message._id) continue;\r\n this.cache.set(message._id, message);\r\n }\r\n } else {\r\n if (data && !data._id) return this.cache;\r\n this.cache.set(data._id, data);\r\n }\r\n return this.cache;\r\n }\r\n}\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,wBAA2B;AAKpB,MAAM,gBAA2B;AAAA,EAOtC,YAAY,WAAyB,UAAkB;AANvD;AAEA,wBAAS;AACT,wBAAS;AACT,wBAAS;AAGP,SAAK,OAAO,UAAU;AACtB,SAAK,QAAQ,UAAU;AACvB,SAAK,QAAQ,IAAI,6BAA+B,UAAU;AAC1D,SAAK,WAAW;AAAA,EAClB;AAAA,EAEA,MAAM,QAAQ;AACZ,UAAM,WAAW,MAAM,KAAK,KAAK,QAAwB;AAAA,MACvD,QAAQ;AAAA,MACR,KAAK,KAAK;AAAA,MACV,SAAS,CAAC;AAAA,IACZ,CAAC;AAED,SAAK,MAAM,IAAI,SAAS,KAAK,QAAQ;AAErC,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,OAAO,MAAqD;AAChE,UAAM,WAAkD,CAAC,GAAG,KAAK,MAAM,QAAQ,CAAC;AAChF,QAAI,MAAM,QAAQ,IAAI,EAAG,UAAS,KAAK,GAAG,IAAI;AAAA,QACzC,UAAS,KAAK,IAAI;AACvB,UAAM,WAAW,MAAM,KAAK,KAAK,QAAwC;AAAA,MACvE,QAAQ;AAAA,MACR,KAAK,KAAK;AAAA,MACV,SAAS,EAAE,KAAK,SAAS;AAAA,IAC3B,CAAC;AAED,WAAO,KAAK,IAAI,SAAS,QAAQ;AAAA,EACnC;AAAA,EAEA,IAAI,MAAiC;AACnC,QAAI,CAAC,KAAM,QAAO,KAAK;AACvB,QAAI,MAAM,QAAQ,IAAI,GAAG;AACvB,eAAS,WAAW,MAAM;AACxB,YAAI,WAAW,CAAC,QAAQ,IAAK;AAC7B,aAAK,MAAM,IAAI,QAAQ,KAAK,OAAO;AAAA,MACrC;AAAA,IACF,OAAO;AACL,UAAI,QAAQ,CAAC,KAAK,IAAK,QAAO,KAAK;AACnC,WAAK,MAAM,IAAI,KAAK,KAAK,IAAI;AAAA,IAC/B;AACA,WAAO,KAAK;AAAA,EACd;AACF;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/managers/minesgame/MinesGameManager.ts"],"sourcesContent":["import { REST, Routes } from \"../../rest\";\r\nimport { Collection, MinesGame } from \"../../structures\";\r\nimport { APIMinesGame, Optional } from \"../../types\";\r\n\r\ninterface FetchOptions {\r\n cache?: boolean;\r\n gameId?: string;\r\n}\r\nexport class MinesGameManager {\r\n cache: Collection<string, MinesGame>;\r\n\r\n readonly rest: REST;\r\n constructor(rest: REST) {\r\n this.cache = new Collection<string, MinesGame>(\"minesgames\");\r\n this.rest = rest;\r\n }\r\n\r\n async create(data: Optional<APIMinesGame>) {\r\n const url = \"/minesgames\";\r\n const response = await this.rest.request<APIMinesGame[], {}>({\r\n method: \"POST\",\r\n url: url,\r\n payload: data,\r\n });\r\n return this.set(response) as MinesGame;\r\n }\r\n async delete(gameId: string) {\r\n const url = `/minesgames/${gameId}`;\r\n const response = await this.rest.request<unknown, {}>({\r\n method: \"DELETE\",\r\n url: url,\r\n });\r\n this.cache.delete(gameId);\r\n return response;\r\n }\r\n async fetch(options?: FetchOptions) {\r\n if (options && options.cache) return this.cache;\r\n if (options && options.gameId) {\r\n const url = `/minesgames/${options.gameId}`;\r\n const response = await this.rest.request<APIMinesGame, {}>({\r\n method: \"GET\",\r\n url: url,\r\n });\r\n const game = new MinesGame(response, this);\r\n this.set(game);\r\n return game as MinesGame;\r\n }\r\n\r\n const url = \"/minesgames\";\r\n const response = await this.rest.request<APIMinesGame[], {}>({\r\n method: \"GET\",\r\n url: url,\r\n });\r\n return this.set(response);\r\n }\r\n set(data: APIMinesGame | APIMinesGame[]) {\r\n if (!data) return this.cache;\r\n if (Array.isArray(data)) {\r\n for (let _game of data) {\r\n const game = new MinesGame(_game, this);\r\n this.cache.set(game._id, game);\r\n }\r\n return this.cache;\r\n } else {\r\n const game = new MinesGame(data, this);\r\n this.cache.set(game._id, game);\r\n return game;\r\n }\r\n }\r\n}\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,wBAAsC;AAO/B,MAAM,iBAAiB;AAAA,EAI5B,YAAY,MAAY;AAHxB;AAEA,wBAAS;AAEP,SAAK,QAAQ,IAAI,6BAA8B,YAAY;AAC3D,SAAK,OAAO;AAAA,EACd;AAAA,EAEA,MAAM,OAAO,MAA8B;AACzC,UAAM,MAAM;AACZ,UAAM,WAAW,MAAM,KAAK,KAAK,QAA4B;AAAA,MAC3D,QAAQ;AAAA,MACR;AAAA,MACA,SAAS;AAAA,IACX,CAAC;AACD,WAAO,KAAK,IAAI,QAAQ;AAAA,EAC1B;AAAA,EACA,MAAM,OAAO,QAAgB;AAC3B,UAAM,MAAM,eAAe,MAAM;AACjC,UAAM,WAAW,MAAM,KAAK,KAAK,QAAqB;AAAA,MACpD,QAAQ;AAAA,MACR;AAAA,IACF,CAAC;AACD,SAAK,MAAM,OAAO,MAAM;AACxB,WAAO;AAAA,EACT;AAAA,EACA,MAAM,MAAM,SAAwB;AAClC,QAAI,WAAW,QAAQ,MAAO,QAAO,KAAK;AAC1C,QAAI,WAAW,QAAQ,QAAQ;AAC7B,YAAMA,OAAM,eAAe,QAAQ,MAAM;AACzC,YAAMC,YAAW,MAAM,KAAK,KAAK,QAA0B;AAAA,QACzD,QAAQ;AAAA,QACR,KAAKD;AAAA,MACP,CAAC;AACD,YAAM,OAAO,IAAI,4BAAUC,WAAU,IAAI;AACzC,WAAK,IAAI,IAAI;AACb,aAAO;AAAA,IACT;AAEA,UAAM,MAAM;AACZ,UAAM,WAAW,MAAM,KAAK,KAAK,QAA4B;AAAA,MAC3D,QAAQ;AAAA,MACR;AAAA,IACF,CAAC;AACD,WAAO,KAAK,IAAI,QAAQ;AAAA,EAC1B;AAAA,EACA,IAAI,MAAqC;AACvC,QAAI,CAAC,KAAM,QAAO,KAAK;AACvB,QAAI,MAAM,QAAQ,IAAI,GAAG;AACvB,eAAS,SAAS,MAAM;AACtB,cAAM,OAAO,IAAI,4BAAU,OAAO,IAAI;AACtC,aAAK,MAAM,IAAI,KAAK,KAAK,IAAI;AAAA,MAC/B;AACA,aAAO,KAAK;AAAA,IACd,OAAO;AACL,YAAM,OAAO,IAAI,4BAAU,MAAM,IAAI;AACrC,WAAK,MAAM,IAAI,KAAK,KAAK,IAAI;AAC7B,aAAO;AAAA,IACT;AAAA,EACF;AACF;","names":["url","response"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/managers/permission/GuildPermissionManager.ts"],"sourcesContent":["import { Routes } from \"../../rest/Routes\";\r\nimport { Guild } from \"../../structures/guild/Guild\";\r\nimport { APIGuild, APIGuildPermissions, GuildPermissionsTypes } from \"../../types\";\r\nimport { BaseManager } from \"../base\";\r\n\r\nexport class GuildPermissionManager extends BaseManager<APIGuildPermissions> {\r\n constructor(guild: Guild) {\r\n super(guild);\r\n\r\n this.guild = guild;\r\n this.rest = guild.rest;\r\n this.base_url = Routes.guilds.resource(guild.id, \"permissions\");\r\n }\r\n\r\n async setRoleIds(type: GuildPermissionsTypes, ...ids: string[]) {\r\n const _ids = [...new Set([...ids])];\r\n\r\n const perms = [...this.guild.permissions];\r\n let permsIndex = this.guild.permissions.findIndex((p) => p.type === type);\r\n\r\n if (permsIndex === -1) perms.push({ type, ids: _ids });\r\n else perms[permsIndex] = { type, ids: _ids };\r\n\r\n const payload = { set: perms };\r\n\r\n const response = await this.rest.request<APIGuild, typeof payload>({\r\n method: \"PATCH\",\r\n url: this.base_url,\r\n payload,\r\n });\r\n\r\n this.guild.permissions = response.permissions;\r\n this.rest.guilds.cache.set(this.guild.id, this.guild);\r\n\r\n return response;\r\n }\r\n async addRole(type: GuildPermissionsTypes, ...ids: string[]) {\r\n const perm = this.guild.permissions.find((p) => p.type === type) || { ids: [], type };\r\n\r\n const _ids = [...new Set([...perm.ids, ...ids])];\r\n\r\n const perms = [...this.guild.permissions];\r\n let permsIndex = this.guild.permissions.findIndex((p) => p.type === type);\r\n\r\n if (permsIndex === -1) perms.push({ type, ids: _ids });\r\n else perms[permsIndex] = { type, ids: _ids };\r\n\r\n const payload = { set: perms };\r\n\r\n const response = await this.rest.request<APIGuild, typeof payload>({\r\n method: \"PATCH\",\r\n url: this.base_url,\r\n payload,\r\n });\r\n\r\n this.guild.permissions = response.permissions;\r\n this.rest.guilds.cache.set(this.guild.id, this.guild);\r\n\r\n return response;\r\n }\r\n async removeRole(type: GuildPermissionsTypes, ...ids: string[]) {\r\n const perm = this.guild.permissions.find((p) => p.type === type) || { ids: [], type };\r\n\r\n // Remove matching ids\r\n const _ids = [...new Set([...perm.ids.filter((i) => !ids.includes(i))])];\r\n\r\n const perms = [...this.guild.permissions];\r\n let permsIndex = this.guild.permissions.findIndex((p) => p.type === type);\r\n\r\n if (permsIndex === -1) {\r\n // no existing permission, just push empty version\r\n perms.push({ type, ids: _ids });\r\n } else {\r\n perms[permsIndex] = { type, ids: _ids };\r\n }\r\n\r\n const payload = { set: perms };\r\n\r\n const response = await this.rest.request<APIGuild, typeof payload>({\r\n method: \"PATCH\",\r\n url: this.base_url,\r\n payload,\r\n });\r\n\r\n this.guild.permissions = response.permissions;\r\n this.rest.guilds.cache.set(this.guild.id, this.guild);\r\n\r\n return response;\r\n }\r\n}\r\n"],"mappings":"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","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/managers/player/PlayerManager.ts"],"sourcesContent":["import { REST } from \"../../rest\";\r\nimport { Guild } from \"../../structures/guild/Guild\";\r\nimport { Collection } from \"../../structures/Collection\";\r\nimport { APIPlayer } from \"../../types\";\r\n\r\nexport type PlayerOption = APIPlayer[] | APIPlayer;\r\nexport type Structure = { guild: Guild; rest: REST };\r\nexport class PlayerManager extends Collection<string, APIPlayer> {\r\n base_url: string;\r\n readonly rest: REST;\r\n readonly guild: Guild;\r\n\r\n constructor(structure: Structure, base_url: string) {\r\n super(\"players\");\r\n this.base_url = base_url;\r\n this.guild = structure.guild;\r\n this.rest = structure.rest;\r\n }\r\n _set(data: PlayerOption): this {\r\n this.clear();\r\n\r\n if (Array.isArray(data)) {\r\n for (let p of data) {\r\n if (!p.id) continue;\r\n this.set(p.id, {\r\n id: p.id,\r\n createdAt: p.createdAt ? new Date(p.createdAt) : new Date(),\r\n updateAt: p.updateAt ? new Date(p.updateAt) : new Date(),\r\n });\r\n }\r\n } else {\r\n if (!data.id) return;\r\n this.set(data.id, {\r\n id: data.id,\r\n createdAt: data.createdAt ? new Date(data.createdAt) : new Date(),\r\n updateAt: data.updateAt ? new Date(data.updateAt) : new Date(),\r\n });\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Adds a player or an array of players to the structure.\r\n * @param player A player or an array of players to be added\r\n * @returns returns a collection of players\r\n */\r\n async add(player: PlayerOption): Promise<this> {\r\n let players: APIPlayer[] = [];\r\n if (Array.isArray(player)) {\r\n for (let p of player) this.has(p.id) ? null : players.push(p);\r\n } else this.has(player.id) ? null : players.push(player);\r\n\r\n const payload = { set: players };\r\n const response = await this.rest.request<{ players: APIPlayer[] }, typeof payload>({\r\n method: \"PATCH\",\r\n payload,\r\n url: this.base_url,\r\n });\r\n\r\n return this._set(response.players);\r\n }\r\n\r\n /**\r\n * Remover a player or an array of players.\r\n * @param player The player or an array of players to be removed\r\n * @returns Player manager\r\n */\r\n async remove(player: PlayerOption): Promise<this> {\r\n const ids = new Set(Array.isArray(player) ? player.map((p) => p.id) : [player.id]);\r\n const players = this.toArray().filter((p) => !ids.has(p.id));\r\n\r\n const payload = { set: players };\r\n const response = await this.rest.request<{ players: APIPlayer[] }, typeof payload>({\r\n method: \"PATCH\",\r\n payload,\r\n url: this.base_url,\r\n });\r\n\r\n return this._set(response.players);\r\n }\r\n}\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,wBAA2B;AAKpB,MAAM,sBAAsB,6BAA8B;AAAA,EAK/D,YAAY,WAAsB,UAAkB;AAClD,UAAM,SAAS;AALjB;AACA,wBAAS;AACT,wBAAS;AAIP,SAAK,WAAW;AAChB,SAAK,QAAQ,UAAU;AACvB,SAAK,OAAO,UAAU;AAAA,EACxB;AAAA,EACA,KAAK,MAA0B;AAC7B,SAAK,MAAM;AAEX,QAAI,MAAM,QAAQ,IAAI,GAAG;AACvB,eAAS,KAAK,MAAM;AAClB,YAAI,CAAC,EAAE,GAAI;AACX,aAAK,IAAI,EAAE,IAAI;AAAA,UACb,IAAI,EAAE;AAAA,UACN,WAAW,EAAE,YAAY,IAAI,KAAK,EAAE,SAAS,IAAI,oBAAI,KAAK;AAAA,UAC1D,UAAU,EAAE,WAAW,IAAI,KAAK,EAAE,QAAQ,IAAI,oBAAI,KAAK;AAAA,QACzD,CAAC;AAAA,MACH;AAAA,IACF,OAAO;AACL,UAAI,CAAC,KAAK,GAAI;AACd,WAAK,IAAI,KAAK,IAAI;AAAA,QAChB,IAAI,KAAK;AAAA,QACT,WAAW,KAAK,YAAY,IAAI,KAAK,KAAK,SAAS,IAAI,oBAAI,KAAK;AAAA,QAChE,UAAU,KAAK,WAAW,IAAI,KAAK,KAAK,QAAQ,IAAI,oBAAI,KAAK;AAAA,MAC/D,CAAC;AAAA,IACH;AACA,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAM,IAAI,QAAqC;AAC7C,QAAI,UAAuB,CAAC;AAC5B,QAAI,MAAM,QAAQ,MAAM,GAAG;AACzB,eAAS,KAAK,OAAQ,MAAK,IAAI,EAAE,EAAE,IAAI,OAAO,QAAQ,KAAK,CAAC;AAAA,IAC9D,MAAO,MAAK,IAAI,OAAO,EAAE,IAAI,OAAO,QAAQ,KAAK,MAAM;AAEvD,UAAM,UAAU,EAAE,KAAK,QAAQ;AAC/B,UAAM,WAAW,MAAM,KAAK,KAAK,QAAkD;AAAA,MACjF,QAAQ;AAAA,MACR;AAAA,MACA,KAAK,KAAK;AAAA,IACZ,CAAC;AAED,WAAO,KAAK,KAAK,SAAS,OAAO;AAAA,EACnC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAM,OAAO,QAAqC;AAChD,UAAM,MAAM,IAAI,IAAI,MAAM,QAAQ,MAAM,IAAI,OAAO,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;AACjF,UAAM,UAAU,KAAK,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC;AAE3D,UAAM,UAAU,EAAE,KAAK,QAAQ;AAC/B,UAAM,WAAW,MAAM,KAAK,KAAK,QAAkD;AAAA,MACjF,QAAQ;AAAA,MACR;AAAA,MACA,KAAK,KAAK;AAAA,IACZ,CAAC;AAED,WAAO,KAAK,KAAK,SAAS,OAAO;AAAA,EACnC;AACF;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/managers/product/ProductManager.ts"],"sourcesContent":["import { Routes } from \"../../rest\";\r\nimport { Collection, Product, Shop } from \"../../structures\";\r\nimport { APIProduct, Optional } from \"../../types\";\r\nimport { randomKeyGenerator } from \"../../utils/randomKeyGenerator\";\r\nimport { BaseManager } from \"../base\";\r\n\r\ntype FetchOptions = {\r\n cache?: boolean;\r\n productId?: string;\r\n};\r\ntype ReturnFetchOptions<T extends FetchOptions> = T[\"cache\"] extends true\r\n ? Collection<string, Product>\r\n : T[\"productId\"] extends string\r\n ? Product\r\n : Collection<string, Product>;\r\n\r\nexport class ProductManager extends BaseManager<Product> {\r\n shop: Shop;\r\n\r\n constructor(shop: Shop) {\r\n super(shop.guild);\r\n\r\n this.guild = shop.guild;\r\n this.rest = shop.rest;\r\n\r\n this.shop = shop;\r\n this.base_url = Routes.guilds.shop.get(shop.guild.id, shop._id);\r\n this.cache = new Collection<string, Product>();\r\n this.rest = shop.rest;\r\n }\r\n\r\n async fetch<T extends FetchOptions>(options?: T): Promise<ReturnFetchOptions<T>> {\r\n if (options && options.cache) return this.cache as ReturnFetchOptions<T>;\r\n if (options && options.productId) {\r\n const url = Routes.guilds.shop.get(this.guild.id, options.productId);\r\n const response = await this.rest.request<APIProduct, {}>({\r\n method: \"get\",\r\n url: url,\r\n });\r\n return this.set(response) as ReturnFetchOptions<T>;\r\n }\r\n const url = Routes.guilds.shop.getAll(this.guild.id);\r\n const response = await this.rest.request<APIProduct[], {}>({\r\n method: \"get\",\r\n url: url,\r\n });\r\n if (!response) return this.cache as ReturnFetchOptions<T>;\r\n return this.set(response) as ReturnFetchOptions<T>;\r\n }\r\n async create(data: Optional<APIProduct>) {\r\n const pData: Optional<APIProduct> = {\r\n ...data,\r\n _id: randomKeyGenerator(24, \"hex\").toLowerCase(),\r\n };\r\n this.set(pData as APIProduct);\r\n const response = await this.shop.update({ products: this.toJSON() });\r\n return this.set(pData as APIProduct) as Product;\r\n }\r\n async delete(id: string) {\r\n this.cache.delete(id);\r\n const response = await this.shop.update({ products: this.toJSON() });\r\n return response;\r\n }\r\n set(data: APIProduct | APIProduct[]) {\r\n if (!data) return this.cache;\r\n if (Array.isArray(data)) {\r\n for (let _p of data) {\r\n if (!_p._id) continue;\r\n\r\n const shop = new Product(_p, this); //\r\n this.cache.set(shop._id, shop);\r\n }\r\n return this.cache;\r\n } else {\r\n if (!data._id) return this.cache;\r\n if (data instanceof Product) {\r\n this.cache.set(data._id, data);\r\n return data;\r\n }\r\n\r\n const product = new Product(data, this);\r\n this.cache.set(product._id, product);\r\n return product;\r\n }\r\n }\r\n\r\n override toJSON(): APIProduct[] {\r\n return this.cache.map((p) => p.toJSON());\r\n }\r\n}\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAuB;AACvB,wBAA0C;AAE1C,gCAAmC;AACnC,kBAA4B;AAYrB,MAAM,uBAAuB,wBAAqB;AAAA,EAGvD,YAAY,MAAY;AACtB,UAAM,KAAK,KAAK;AAHlB;AAKE,SAAK,QAAQ,KAAK;AAClB,SAAK,OAAO,KAAK;AAEjB,SAAK,OAAO;AACZ,SAAK,WAAW,mBAAO,OAAO,KAAK,IAAI,KAAK,MAAM,IAAI,KAAK,GAAG;AAC9D,SAAK,QAAQ,IAAI,6BAA4B;AAC7C,SAAK,OAAO,KAAK;AAAA,EACnB;AAAA,EAEA,MAAM,MAA8B,SAA6C;AAC/E,QAAI,WAAW,QAAQ,MAAO,QAAO,KAAK;AAC1C,QAAI,WAAW,QAAQ,WAAW;AAChC,YAAMA,OAAM,mBAAO,OAAO,KAAK,IAAI,KAAK,MAAM,IAAI,QAAQ,SAAS;AACnE,YAAMC,YAAW,MAAM,KAAK,KAAK,QAAwB;AAAA,QACvD,QAAQ;AAAA,QACR,KAAKD;AAAA,MACP,CAAC;AACD,aAAO,KAAK,IAAIC,SAAQ;AAAA,IAC1B;AACA,UAAM,MAAM,mBAAO,OAAO,KAAK,OAAO,KAAK,MAAM,EAAE;AACnD,UAAM,WAAW,MAAM,KAAK,KAAK,QAA0B;AAAA,MACzD,QAAQ;AAAA,MACR;AAAA,IACF,CAAC;AACD,QAAI,CAAC,SAAU,QAAO,KAAK;AAC3B,WAAO,KAAK,IAAI,QAAQ;AAAA,EAC1B;AAAA,EACA,MAAM,OAAO,MAA4B;AACvC,UAAM,QAA8B;AAAA,MAClC,GAAG;AAAA,MACH,SAAK,8CAAmB,IAAI,KAAK,EAAE,YAAY;AAAA,IACjD;AACA,SAAK,IAAI,KAAmB;AAC5B,UAAM,WAAW,MAAM,KAAK,KAAK,OAAO,EAAE,UAAU,KAAK,OAAO,EAAE,CAAC;AACnE,WAAO,KAAK,IAAI,KAAmB;AAAA,EACrC;AAAA,EACA,MAAM,OAAO,IAAY;AACvB,SAAK,MAAM,OAAO,EAAE;AACpB,UAAM,WAAW,MAAM,KAAK,KAAK,OAAO,EAAE,UAAU,KAAK,OAAO,EAAE,CAAC;AACnE,WAAO;AAAA,EACT;AAAA,EACA,IAAI,MAAiC;AACnC,QAAI,CAAC,KAAM,QAAO,KAAK;AACvB,QAAI,MAAM,QAAQ,IAAI,GAAG;AACvB,eAAS,MAAM,MAAM;AACnB,YAAI,CAAC,GAAG,IAAK;AAEb,cAAM,OAAO,IAAI,0BAAQ,IAAI,IAAI;AACjC,aAAK,MAAM,IAAI,KAAK,KAAK,IAAI;AAAA,MAC/B;AACA,aAAO,KAAK;AAAA,IACd,OAAO;AACL,UAAI,CAAC,KAAK,IAAK,QAAO,KAAK;AAC3B,UAAI,gBAAgB,2BAAS;AAC3B,aAAK,MAAM,IAAI,KAAK,KAAK,IAAI;AAC7B,eAAO;AAAA,MACT;AAEA,YAAM,UAAU,IAAI,0BAAQ,MAAM,IAAI;AACtC,WAAK,MAAM,IAAI,QAAQ,KAAK,OAAO;AACnC,aAAO;AAAA,IACT;AAAA,EACF;AAAA,EAES,SAAuB;AAC9B,WAAO,KAAK,MAAM,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC;AAAA,EACzC;AACF;","names":["url","response"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/managers/shop/ShopManager.ts"],"sourcesContent":["import { Routes } from \"../../rest\";\r\nimport { Collection, Guild, Shop } from \"../../structures\";\r\nimport { APIGuildShop, Optional } from \"../../types\";\r\nimport { BaseManager } from \"../base\";\r\ntype FetchOptions = {\r\n cache?: boolean;\r\n shopId?: string;\r\n};\r\ntype ReturnFetchOptions<T extends FetchOptions> = T[\"cache\"] extends true\r\n ? Collection<string, Shop>\r\n : T[\"shopId\"] extends string\r\n ? Shop\r\n : Collection<string, Shop>;\r\nexport class ShopManager extends BaseManager<Shop> {\r\n constructor(guild: Guild) {\r\n super(guild);\r\n this.guild = guild;\r\n this.rest = guild.rest;\r\n\r\n this.base_url = Routes.guilds.shop.getAll(guild.id);\r\n this.cache = new Collection<string, Shop>(\"shops\");\r\n }\r\n async fetch<T extends FetchOptions>(options?: T): Promise<ReturnFetchOptions<T>> {\r\n if (options && options.cache) return this.cache as ReturnFetchOptions<T>;\r\n if (options && options.shopId) {\r\n const url = Routes.guilds.shop.get(this.guild.id, options.shopId);\r\n const response = await this.rest.request<APIGuildShop, {}>({\r\n method: \"get\",\r\n url: url,\r\n });\r\n return this.set(response) as ReturnFetchOptions<T>;\r\n }\r\n const url = Routes.guilds.shop.getAll(this.guild.id);\r\n const response = await this.rest.request<APIGuildShop[], {}>({\r\n method: \"get\",\r\n url: url,\r\n });\r\n if (!response) return this.cache as ReturnFetchOptions<T>;\r\n return this.set(response) as ReturnFetchOptions<T>;\r\n }\r\n\r\n async create(data: Optional<APIGuildShop>) {\r\n const url = Routes.guilds.shop.getAll(this.guild.id);\r\n const response = await this.rest.request<APIGuildShop, typeof data>({\r\n method: \"post\",\r\n url: url,\r\n payload: data,\r\n });\r\n return this.set(response) as Shop;\r\n }\r\n async delete(id: string) {\r\n const url = Routes.guilds.shop.delete(this.guild.id, id);\r\n await this.rest.request<APIGuildShop, {}>({\r\n method: \"delete\",\r\n url: url,\r\n });\r\n this.cache.delete(id);\r\n\r\n return this.cache;\r\n }\r\n set(data: APIGuildShop | APIGuildShop[] | Shop) {\r\n if (!data) return this.cache;\r\n if (Array.isArray(data)) {\r\n for (let _shop of data) {\r\n if (!_shop._id) continue;\r\n\r\n const shop = new Shop(_shop, this);\r\n this.cache.set(shop._id, shop);\r\n }\r\n return this.cache;\r\n } else {\r\n if (!data._id) return this.cache;\r\n if (data instanceof Shop) {\r\n this.cache.set(data._id, data);\r\n return data;\r\n }\r\n\r\n const shop = new Shop(data, this);\r\n this.cache.set(shop._id, shop);\r\n return shop;\r\n }\r\n }\r\n\r\n toJSON() {\r\n return this.cache.toArray();\r\n }\r\n}\r\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAuB;AACvB,wBAAwC;AAExC,kBAA4B;AAUrB,MAAM,oBAAoB,wBAAkB;AAAA,EACjD,YAAY,OAAc;AACxB,UAAM,KAAK;AACX,SAAK,QAAQ;AACb,SAAK,OAAO,MAAM;AAElB,SAAK,WAAW,mBAAO,OAAO,KAAK,OAAO,MAAM,EAAE;AAClD,SAAK,QAAQ,IAAI,6BAAyB,OAAO;AAAA,EACnD;AAAA,EACA,MAAM,MAA8B,SAA6C;AAC/E,QAAI,WAAW,QAAQ,MAAO,QAAO,KAAK;AAC1C,QAAI,WAAW,QAAQ,QAAQ;AAC7B,YAAMA,OAAM,mBAAO,OAAO,KAAK,IAAI,KAAK,MAAM,IAAI,QAAQ,MAAM;AAChE,YAAMC,YAAW,MAAM,KAAK,KAAK,QAA0B;AAAA,QACzD,QAAQ;AAAA,QACR,KAAKD;AAAA,MACP,CAAC;AACD,aAAO,KAAK,IAAIC,SAAQ;AAAA,IAC1B;AACA,UAAM,MAAM,mBAAO,OAAO,KAAK,OAAO,KAAK,MAAM,EAAE;AACnD,UAAM,WAAW,MAAM,KAAK,KAAK,QAA4B;AAAA,MAC3D,QAAQ;AAAA,MACR;AAAA,IACF,CAAC;AACD,QAAI,CAAC,SAAU,QAAO,KAAK;AAC3B,WAAO,KAAK,IAAI,QAAQ;AAAA,EAC1B;AAAA,EAEA,MAAM,OAAO,MAA8B;AACzC,UAAM,MAAM,mBAAO,OAAO,KAAK,OAAO,KAAK,MAAM,EAAE;AACnD,UAAM,WAAW,MAAM,KAAK,KAAK,QAAmC;AAAA,MAClE,QAAQ;AAAA,MACR;AAAA,MACA,SAAS;AAAA,IACX,CAAC;AACD,WAAO,KAAK,IAAI,QAAQ;AAAA,EAC1B;AAAA,EACA,MAAM,OAAO,IAAY;AACvB,UAAM,MAAM,mBAAO,OAAO,KAAK,OAAO,KAAK,MAAM,IAAI,EAAE;AACvD,UAAM,KAAK,KAAK,QAA0B;AAAA,MACxC,QAAQ;AAAA,MACR;AAAA,IACF,CAAC;AACD,SAAK,MAAM,OAAO,EAAE;AAEpB,WAAO,KAAK;AAAA,EACd;AAAA,EACA,IAAI,MAA4C;AAC9C,QAAI,CAAC,KAAM,QAAO,KAAK;AACvB,QAAI,MAAM,QAAQ,IAAI,GAAG;AACvB,eAAS,SAAS,MAAM;AACtB,YAAI,CAAC,MAAM,IAAK;AAEhB,cAAM,OAAO,IAAI,uBAAK,OAAO,IAAI;AACjC,aAAK,MAAM,IAAI,KAAK,KAAK,IAAI;AAAA,MAC/B;AACA,aAAO,KAAK;AAAA,IACd,OAAO;AACL,UAAI,CAAC,KAAK,IAAK,QAAO,KAAK;AAC3B,UAAI,gBAAgB,wBAAM;AACxB,aAAK,MAAM,IAAI,KAAK,KAAK,IAAI;AAC7B,eAAO;AAAA,MACT;AAEA,YAAM,OAAO,IAAI,uBAAK,MAAM,IAAI;AAChC,WAAK,MAAM,IAAI,KAAK,KAAK,IAAI;AAC7B,aAAO;AAAA,IACT;AAAA,EACF;AAAA,EAEA,SAAS;AACP,WAAO,KAAK,MAAM,QAAQ;AAAA,EAC5B;AACF;","names":["url","response"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/managers/ticket/TicketManager.ts"],"sourcesContent":["import { REST, Routes } from \"../../rest\";\r\nimport { Guild, GuildTicket } from \"../../structures\";\r\nimport { Collection } from \"../../structures/Collection\";\r\nimport { APIGuild, APIGuildTicket, APITicketCategory, Optional } from \"../../types\";\r\n\r\ntype FecthOptions = {\r\n ticketId?: string;\r\n cache?: boolean;\r\n};\r\n\r\ntype DeleteOptions = {\r\n ticketId?: string;\r\n};\r\nexport class GuildTicketManager {\r\n cache: Collection<string, GuildTicket>;\r\n readonly guild: Guild;\r\n readonly rest: REST;\r\n\r\n constructor(guild: Guild) {\r\n this.guild = guild;\r\n this.rest = guild.rest;\r\n\r\n this.cache = new Collection<string, GuildTicket>(\"tickets\");\r\n }\r\n async createTicketCategory(data: Optional<APITicketCategory>) {\r\n const categories = this.guild.tickets_configuration.categories;\r\n let hasCategory = categories.find((c) => c.type === data?.type);\r\n if (hasCategory) {\r\n hasCategory = data as APITicketCategory;\r\n const index = categories.findIndex((c) => c.type === data?.type);\r\n categories[index] = hasCategory;\r\n } else {\r\n categories.push(data as APITicketCategory);\r\n }\r\n\r\n return this.guild.update({\r\n tickets_configuration: {\r\n categories,\r\n creationCategory: this.guild.tickets_configuration.creationCategory,\r\n deletionCategory: this.guild.tickets_configuration.deletionCategory,\r\n rating_channel_id: this.guild.tickets_configuration.rating_channel_id,\r\n },\r\n });\r\n }\r\n async deleteTicketCategory(data: Optional<APITicketCategory>) {\r\n let categories = this.guild.tickets_configuration.categories;\r\n let categoryIndex = categories.findIndex((c) => c.type === data?.type);\r\n if (categoryIndex === -1) return this.guild;\r\n\r\n categories = categories.filter((c) => c.type !== data.type);\r\n\r\n const payload = { tickets_configuration: { categories } };\r\n const url = Routes.guilds.get(this.guild.id);\r\n const response = await this.rest.request<APIGuild, typeof payload>({\r\n method: \"PATCH\",\r\n url: url,\r\n payload,\r\n });\r\n\r\n return this.guild.update({\r\n tickets_configuration: {\r\n categories,\r\n creationCategory: this.guild.tickets_configuration.creationCategory,\r\n deletionCategory: this.guild.tickets_configuration.deletionCategory,\r\n rating_channel_id: this.guild.tickets_configuration.rating_channel_id,\r\n },\r\n });\r\n }\r\n async fetch(options?: FecthOptions) {\r\n if (options && options.cache) return this.cache;\r\n if (options && options.ticketId) {\r\n const url = Routes.guilds.tickets.get(this.guild.id, options.ticketId);\r\n const response = await this.rest.request<APIGuildTicket, {}>({\r\n method: \"GET\",\r\n url: url,\r\n });\r\n\r\n return this.set(response) as GuildTicket;\r\n }\r\n const url = Routes.guilds.tickets.getAll(this.guild.id);\r\n const response = await this.rest.request<APIGuildTicket[], {}>({\r\n method: \"GET\",\r\n url: url,\r\n });\r\n\r\n return this.set(response) as Collection<string, GuildTicket>;\r\n }\r\n async create(data: Optional<APIGuildTicket>): Promise<GuildTicket> {\r\n const url = Routes.guilds.tickets.create(this.guild.id);\r\n const response = await this.rest.request<APIGuildTicket[], {}>({\r\n method: \"POST\",\r\n url: url,\r\n payload: data,\r\n });\r\n\r\n const ticket = this.set(response) as GuildTicket;\r\n this.rest.emit(\"ticketCreate\", ticket);\r\n return ticket;\r\n }\r\n async delete(options?: DeleteOptions) {\r\n if (options && options.ticketId) {\r\n const url = Routes.guilds.tickets.delete(this.guild.id, options.ticketId);\r\n await this.rest.request({\r\n method: \"DELETE\",\r\n url: url,\r\n });\r\n\r\n this.rest.emit(\"ticketDelete\", this.cache.get(options.ticketId));\r\n this.cache.delete(options.ticketId);\r\n return true;\r\n }\r\n const url = Routes.guilds.tickets.deleteAll(this.guild.id);\r\n await this.rest.request({\r\n method: \"DELETE\",\r\n url: url,\r\n });\r\n this.rest.emit(\"ticketsDelete\", this.cache);\r\n this.cache.clear();\r\n return true;\r\n }\r\n set(data: APIGuildTicket | GuildTicket | APIGuildTicket[]) {\r\n if (!data) return this.cache;\r\n if (Array.isArray(data)) {\r\n for (let _ticket of data) {\r\n if (!_ticket._id) return;\r\n\r\n const ticket = new GuildTicket(_ticket, this);\r\n this.cache.set(ticket._id, ticket);\r\n this.rest.tickets.set(ticket._id, ticket);\r\n }\r\n return this.cache;\r\n } else {\r\n if (!data._id) return;\r\n if (data instanceof GuildTicket) {\r\n this.cache.set(data._id, data);\r\n return data;\r\n }\r\n const ticket = new GuildTicket(data, this);\r\n this.cache.set(ticket._id, ticket);\r\n this.rest.tickets.set(ticket._id, ticket);\r\n return ticket;\r\n }\r\n }\r\n}\r\n"],"mappings":"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","names":["url","response"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/managers/ticketpanel/TicketPanelManager.ts"],"sourcesContent":["import { Routes } from \"../../rest\";\r\nimport { Collection, Guild } from \"../../structures\";\r\nimport { TicketPanel } from \"../../structures/ticketpanel/TicketPanel\";\r\nimport { APITicketPanel, Optional } from \"../../types\";\r\nimport { BaseManager } from \"../base\";\r\n\r\nexport type FetchReturn<T> = T extends null ? Collection<string, TicketPanel> : TicketPanel;\r\nexport class TicketPanelManager extends BaseManager<TicketPanel> {\r\n constructor(guild: Guild) {\r\n super(guild);\r\n\r\n this.base_url = Routes.fields(\"/guilds\", guild.id, \"ticket_panels\");\r\n this.cache = new Collection<string, TicketPanel>();\r\n this.guild = guild;\r\n this.rest = guild.rest;\r\n }\r\n async create(data: Optional<APITicketPanel>) {\r\n const url = this.base_url;\r\n const response = await this.rest.request<APITicketPanel, {}>({ method: \"post\", url, payload: data });\r\n\r\n return this.set(response) as TicketPanel;\r\n }\r\n\r\n async fetch<T extends string>(id?: T): Promise<FetchReturn<T>> {\r\n const url = id ? this.base_url + `/${id}` : this.base_url;\r\n const response = await this.rest.request<APITicketPanel, {}>({\r\n url,\r\n method: \"get\",\r\n });\r\n\r\n if (!id) this.cache.clear();\r\n return this.set(response) as FetchReturn<T>;\r\n }\r\n\r\n async delete(id?: string) {\r\n const url = id ? this.base_url + `/${id}` : this.base_url;\r\n const response = await this.rest.request<boolean, {}>({\r\n url,\r\n method: \"delete\",\r\n });\r\n\r\n if (id) this.cache.delete(id);\r\n else this.cache.clear();\r\n\r\n return true;\r\n }\r\n\r\n set(data: APITicketPanel | APITicketPanel[]) {\r\n if (Array.isArray(data)) {\r\n for (let _t of data) {\r\n if (!_t._id) continue;\r\n if (_t instanceof TicketPanel) continue;\r\n\r\n this.cache.set(_t._id, new TicketPanel(_t, this));\r\n }\r\n } else {\r\n if (!data._id) return this.cache;\r\n const panel = new TicketPanel(data, this);\r\n this.cache.set(panel._id, panel);\r\n return panel;\r\n }\r\n }\r\n toJSON(): APITicketPanel[] {\r\n return this.cache.map((a) => a.toJSON());\r\n }\r\n}\r\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAuB;AACvB,wBAAkC;AAClC,yBAA4B;AAE5B,kBAA4B;AAGrB,MAAM,2BAA2B,wBAAyB;AAAA,EAC/D,YAAY,OAAc;AACxB,UAAM,KAAK;AAEX,SAAK,WAAW,mBAAO,OAAO,WAAW,MAAM,IAAI,eAAe;AAClE,SAAK,QAAQ,IAAI,6BAAgC;AACjD,SAAK,QAAQ;AACb,SAAK,OAAO,MAAM;AAAA,EACpB;AAAA,EACA,MAAM,OAAO,MAAgC;AAC3C,UAAM,MAAM,KAAK;AACjB,UAAM,WAAW,MAAM,KAAK,KAAK,QAA4B,EAAE,QAAQ,QAAQ,KAAK,SAAS,KAAK,CAAC;AAEnG,WAAO,KAAK,IAAI,QAAQ;AAAA,EAC1B;AAAA,EAEA,MAAM,MAAwB,IAAiC;AAC7D,UAAM,MAAM,KAAK,KAAK,WAAW,IAAI,EAAE,KAAK,KAAK;AACjD,UAAM,WAAW,MAAM,KAAK,KAAK,QAA4B;AAAA,MAC3D;AAAA,MACA,QAAQ;AAAA,IACV,CAAC;AAED,QAAI,CAAC,GAAI,MAAK,MAAM,MAAM;AAC1B,WAAO,KAAK,IAAI,QAAQ;AAAA,EAC1B;AAAA,EAEA,MAAM,OAAO,IAAa;AACxB,UAAM,MAAM,KAAK,KAAK,WAAW,IAAI,EAAE,KAAK,KAAK;AACjD,UAAM,WAAW,MAAM,KAAK,KAAK,QAAqB;AAAA,MACpD;AAAA,MACA,QAAQ;AAAA,IACV,CAAC;AAED,QAAI,GAAI,MAAK,MAAM,OAAO,EAAE;AAAA,QACvB,MAAK,MAAM,MAAM;AAEtB,WAAO;AAAA,EACT;AAAA,EAEA,IAAI,MAAyC;AAC3C,QAAI,MAAM,QAAQ,IAAI,GAAG;AACvB,eAAS,MAAM,MAAM;AACnB,YAAI,CAAC,GAAG,IAAK;AACb,YAAI,cAAc,+BAAa;AAE/B,aAAK,MAAM,IAAI,GAAG,KAAK,IAAI,+BAAY,IAAI,IAAI,CAAC;AAAA,MAClD;AAAA,IACF,OAAO;AACL,UAAI,CAAC,KAAK,IAAK,QAAO,KAAK;AAC3B,YAAM,QAAQ,IAAI,+BAAY,MAAM,IAAI;AACxC,WAAK,MAAM,IAAI,MAAM,KAAK,KAAK;AAC/B,aAAO;AAAA,IACT;AAAA,EACF;AAAA,EACA,SAA2B;AACzB,WAAO,KAAK,MAAM,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC;AAAA,EACzC;AACF;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/managers/tournament/TournamentManager.ts"],"sourcesContent":["import { Routes } from \"../../rest\";\r\nimport { Collection, Guild } from \"../../structures\";\r\nimport { Tournament } from \"../../structures/tournament/Tournament\";\r\nimport { Optional } from \"../../types\";\r\nimport { APITournament } from \"../../types/api/APITournament\";\r\nimport { BaseManager } from \"../base\";\r\ninterface FetchOptions {\r\n cache?: boolean;\r\n tournamentId?: string;\r\n}\r\ntype ReturnFetchOptions<T extends FetchOptions> = T[\"cache\"] extends true\r\n ? Collection<string, Tournament>\r\n : T[\"tournamentId\"] extends string\r\n ? Tournament\r\n : Collection<string, Tournament>;\r\n\r\nexport class TournamentManager extends BaseManager<Tournament> {\r\n constructor(guild: Guild) {\r\n super(guild);\r\n\r\n this.guild = guild;\r\n this.rest = guild.rest;\r\n this.base_url = Routes.fields(Routes.guilds.get(guild.id), \"tournaments\");\r\n this.cache = new Collection<string, Tournament>();\r\n }\r\n async fetch<T extends FetchOptions>(options?: T): Promise<ReturnFetchOptions<T>> {\r\n if (options && options.cache) return this.cache as ReturnFetchOptions<T>;\r\n if (options && options.tournamentId) {\r\n const response = await this.rest.request<APITournament, {}>({\r\n method: \"GET\",\r\n url: Routes.fields(this.base_url, options.tournamentId),\r\n });\r\n const tournament = new Tournament(response, this);\r\n this._add(tournament);\r\n return tournament as ReturnFetchOptions<T>;\r\n }\r\n\r\n const response = await this.rest.request<APITournament[], {}>({\r\n method: \"GET\",\r\n url: this.base_url,\r\n });\r\n return this.set(response) as ReturnFetchOptions<T>;\r\n }\r\n set(data: APITournament | APITournament[]) {\r\n this.cache.clear();\r\n\r\n if (Array.isArray(data)) {\r\n for (let _m of data) {\r\n if (!_m._id) continue;\r\n if (_m instanceof Tournament) this.cache.set(_m._id, _m);\r\n else this.cache.set(_m._id, new Tournament(_m, this));\r\n }\r\n } else {\r\n if (!data._id) return this.cache;\r\n if (data instanceof Tournament) this.cache.set(data._id, data);\r\n else this.cache.set(data._id, new Tournament(data, this));\r\n }\r\n\r\n return this.cache;\r\n }\r\n _add(data: APITournament | APITournament[]) {\r\n if (Array.isArray(data)) {\r\n for (let _m of data) {\r\n if (!_m._id) continue;\r\n if (_m instanceof Tournament) this.cache.set(_m._id, _m);\r\n else this.cache.set(_m._id, new Tournament(_m, this));\r\n\r\n return this.cache;\r\n }\r\n } else {\r\n if (!data._id) return this.cache;\r\n if (data instanceof Tournament) {\r\n this.cache.set(data._id, data);\r\n return data;\r\n } else {\r\n const _t = new Tournament(data, this);\r\n this.cache.set(data._id, _t);\r\n return _t;\r\n }\r\n }\r\n }\r\n\r\n async create(data: Optional<APITournament>): Promise<Tournament> {\r\n if (!data.type) throw new Error(`Missing message's type.`);\r\n if (!data.max_teams) throw new Error(`Missing message's max teams.`);\r\n\r\n const url = Routes.fields(Routes.guilds.get(this.guild.id), \"tournaments\");\r\n const response = await this.rest.request<APITournament, typeof data>({ url: url, method: \"POST\", payload: data });\r\n return this._add(response) as Tournament;\r\n }\r\n}\r\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAuB;AACvB,wBAAkC;AAClC,wBAA2B;AAG3B,kBAA4B;AAWrB,MAAM,0BAA0B,wBAAwB;AAAA,EAC7D,YAAY,OAAc;AACxB,UAAM,KAAK;AAEX,SAAK,QAAQ;AACb,SAAK,OAAO,MAAM;AAClB,SAAK,WAAW,mBAAO,OAAO,mBAAO,OAAO,IAAI,MAAM,EAAE,GAAG,aAAa;AACxE,SAAK,QAAQ,IAAI,6BAA+B;AAAA,EAClD;AAAA,EACA,MAAM,MAA8B,SAA6C;AAC/E,QAAI,WAAW,QAAQ,MAAO,QAAO,KAAK;AAC1C,QAAI,WAAW,QAAQ,cAAc;AACnC,YAAMA,YAAW,MAAM,KAAK,KAAK,QAA2B;AAAA,QAC1D,QAAQ;AAAA,QACR,KAAK,mBAAO,OAAO,KAAK,UAAU,QAAQ,YAAY;AAAA,MACxD,CAAC;AACD,YAAM,aAAa,IAAI,6BAAWA,WAAU,IAAI;AAChD,WAAK,KAAK,UAAU;AACpB,aAAO;AAAA,IACT;AAEA,UAAM,WAAW,MAAM,KAAK,KAAK,QAA6B;AAAA,MAC5D,QAAQ;AAAA,MACR,KAAK,KAAK;AAAA,IACZ,CAAC;AACD,WAAO,KAAK,IAAI,QAAQ;AAAA,EAC1B;AAAA,EACA,IAAI,MAAuC;AACzC,SAAK,MAAM,MAAM;AAEjB,QAAI,MAAM,QAAQ,IAAI,GAAG;AACvB,eAAS,MAAM,MAAM;AACnB,YAAI,CAAC,GAAG,IAAK;AACb,YAAI,cAAc,6BAAY,MAAK,MAAM,IAAI,GAAG,KAAK,EAAE;AAAA,YAClD,MAAK,MAAM,IAAI,GAAG,KAAK,IAAI,6BAAW,IAAI,IAAI,CAAC;AAAA,MACtD;AAAA,IACF,OAAO;AACL,UAAI,CAAC,KAAK,IAAK,QAAO,KAAK;AAC3B,UAAI,gBAAgB,6BAAY,MAAK,MAAM,IAAI,KAAK,KAAK,IAAI;AAAA,UACxD,MAAK,MAAM,IAAI,KAAK,KAAK,IAAI,6BAAW,MAAM,IAAI,CAAC;AAAA,IAC1D;AAEA,WAAO,KAAK;AAAA,EACd;AAAA,EACA,KAAK,MAAuC;AAC1C,QAAI,MAAM,QAAQ,IAAI,GAAG;AACvB,eAAS,MAAM,MAAM;AACnB,YAAI,CAAC,GAAG,IAAK;AACb,YAAI,cAAc,6BAAY,MAAK,MAAM,IAAI,GAAG,KAAK,EAAE;AAAA,YAClD,MAAK,MAAM,IAAI,GAAG,KAAK,IAAI,6BAAW,IAAI,IAAI,CAAC;AAEpD,eAAO,KAAK;AAAA,MACd;AAAA,IACF,OAAO;AACL,UAAI,CAAC,KAAK,IAAK,QAAO,KAAK;AAC3B,UAAI,gBAAgB,8BAAY;AAC9B,aAAK,MAAM,IAAI,KAAK,KAAK,IAAI;AAC7B,eAAO;AAAA,MACT,OAAO;AACL,cAAM,KAAK,IAAI,6BAAW,MAAM,IAAI;AACpC,aAAK,MAAM,IAAI,KAAK,KAAK,EAAE;AAC3B,eAAO;AAAA,MACT;AAAA,IACF;AAAA,EACF;AAAA,EAEA,MAAM,OAAO,MAAoD;AAC/D,QAAI,CAAC,KAAK,KAAM,OAAM,IAAI,MAAM,yBAAyB;AACzD,QAAI,CAAC,KAAK,UAAW,OAAM,IAAI,MAAM,8BAA8B;AAEnE,UAAM,MAAM,mBAAO,OAAO,mBAAO,OAAO,IAAI,KAAK,MAAM,EAAE,GAAG,aAAa;AACzE,UAAM,WAAW,MAAM,KAAK,KAAK,QAAoC,EAAE,KAAU,QAAQ,QAAQ,SAAS,KAAK,CAAC;AAChH,WAAO,KAAK,KAAK,QAAQ;AAAA,EAC3B;AACF;","names":["response"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/managers/user/GuildUserManager.ts"],"sourcesContent":["import { Routes } from \"../../rest/Routes\";\r\nimport { Collection } from \"../../structures/Collection\";\r\nimport { Guild } from \"../../structures/guild/Guild\";\r\nimport { GuildUser } from \"../../structures/user/GuildUser\";\r\nimport { APIGuildUser, Optional } from \"../../types\";\r\nimport { BaseManager } from \"../base\";\r\n\r\ntype FetchOptions = {\r\n userId?: string;\r\n cache?: boolean;\r\n};\r\ntype ReturnFetchOptions<T extends FetchOptions> = T[\"cache\"] extends true\r\n ? Collection<string, GuildUser>\r\n : T[\"userId\"] extends string\r\n ? GuildUser\r\n : Collection<string, GuildUser>;\r\n\r\nexport class GuildUserManager extends BaseManager<GuildUser> {\r\n constructor(guild: Guild) {\r\n super(guild);\r\n\r\n this.guild = guild;\r\n this.rest = guild.rest;\r\n this.base_url = Routes.guilds.users.getAll(guild.id);\r\n this.cache = new Collection<string, GuildUser>(\"users\");\r\n }\r\n\r\n async fetch<T extends FetchOptions>(options?: T): Promise<ReturnFetchOptions<T>> {\r\n if (options && options.cache) return this.cache as ReturnFetchOptions<T>;\r\n if (options && options.userId) {\r\n const url = Routes.fields(this.base_url, options.userId);\r\n const response = await this.rest.request<APIGuildUser, {}>({\r\n method: \"GET\",\r\n url: url,\r\n });\r\n const user = new GuildUser(response, this);\r\n this.set(user);\r\n return user as GuildUser as ReturnFetchOptions<T>;\r\n }\r\n const url = this.base_url;\r\n const response = await this.rest.request<APIGuildUser[], {}>({\r\n method: \"GET\",\r\n url: url,\r\n });\r\n this.cache.clear();\r\n for (let userData of response) {\r\n const user = new GuildUser(userData, this);\r\n this.set(user);\r\n }\r\n return this.cache as ReturnFetchOptions<T>;\r\n }\r\n async updateMany(...users: Optional<APIGuildUser>[]): Promise<Collection<string, GuildUser>> {\r\n const url = this.base_url;\r\n const response = await this.rest.request<APIGuildUser[], { users: Optional<APIGuildUser>[] }>({\r\n method: \"PATCH\",\r\n url: url,\r\n payload: { users },\r\n });\r\n\r\n for (const userData of response) {\r\n const user = new GuildUser(userData, this);\r\n this.set(user);\r\n }\r\n\r\n return this.cache;\r\n }\r\n\r\n async deleteAll() {\r\n const url = this.base_url;\r\n await this.rest.request<boolean, {}>({\r\n method: \"DELETE\",\r\n url: url,\r\n });\r\n\r\n this.cache.clear();\r\n }\r\n async resetAll() {\r\n const url = this.base_url;\r\n const response = await this.rest.request<APIGuildUser[], {}>({\r\n method: \"put\",\r\n url: url,\r\n });\r\n\r\n this.cache.clear();\r\n this.set(response);\r\n return this.cache;\r\n }\r\n\r\n set(data: APIGuildUser | APIGuildUser[]) {\r\n if (!data) return this.cache;\r\n if (Array.isArray(data)) {\r\n for (let _user of data) {\r\n if (!_user.id) return;\r\n const user = new GuildUser(_user, this);\r\n this.cache.set(user.id, user);\r\n this.rest.users.set(user.id, user);\r\n }\r\n return this.cache;\r\n } else {\r\n if (!data.id) return;\r\n const user = new GuildUser(data, this);\r\n this.cache.set(user.id, user);\r\n this.rest.users.set(user.id, user);\r\n return user;\r\n }\r\n }\r\n}\r\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAuB;AACvB,wBAA2B;AAE3B,uBAA0B;AAE1B,kBAA4B;AAYrB,MAAM,yBAAyB,wBAAuB;AAAA,EAC3D,YAAY,OAAc;AACxB,UAAM,KAAK;AAEX,SAAK,QAAQ;AACb,SAAK,OAAO,MAAM;AAClB,SAAK,WAAW,qBAAO,OAAO,MAAM,OAAO,MAAM,EAAE;AACnD,SAAK,QAAQ,IAAI,6BAA8B,OAAO;AAAA,EACxD;AAAA,EAEA,MAAM,MAA8B,SAA6C;AAC/E,QAAI,WAAW,QAAQ,MAAO,QAAO,KAAK;AAC1C,QAAI,WAAW,QAAQ,QAAQ;AAC7B,YAAMA,OAAM,qBAAO,OAAO,KAAK,UAAU,QAAQ,MAAM;AACvD,YAAMC,YAAW,MAAM,KAAK,KAAK,QAA0B;AAAA,QACzD,QAAQ;AAAA,QACR,KAAKD;AAAA,MACP,CAAC;AACD,YAAM,OAAO,IAAI,2BAAUC,WAAU,IAAI;AACzC,WAAK,IAAI,IAAI;AACb,aAAO;AAAA,IACT;AACA,UAAM,MAAM,KAAK;AACjB,UAAM,WAAW,MAAM,KAAK,KAAK,QAA4B;AAAA,MAC3D,QAAQ;AAAA,MACR;AAAA,IACF,CAAC;AACD,SAAK,MAAM,MAAM;AACjB,aAAS,YAAY,UAAU;AAC7B,YAAM,OAAO,IAAI,2BAAU,UAAU,IAAI;AACzC,WAAK,IAAI,IAAI;AAAA,IACf;AACA,WAAO,KAAK;AAAA,EACd;AAAA,EACA,MAAM,cAAc,OAAyE;AAC3F,UAAM,MAAM,KAAK;AACjB,UAAM,WAAW,MAAM,KAAK,KAAK,QAA6D;AAAA,MAC5F,QAAQ;AAAA,MACR;AAAA,MACA,SAAS,EAAE,MAAM;AAAA,IACnB,CAAC;AAED,eAAW,YAAY,UAAU;AAC/B,YAAM,OAAO,IAAI,2BAAU,UAAU,IAAI;AACzC,WAAK,IAAI,IAAI;AAAA,IACf;AAEA,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,MAAM,YAAY;AAChB,UAAM,MAAM,KAAK;AACjB,UAAM,KAAK,KAAK,QAAqB;AAAA,MACnC,QAAQ;AAAA,MACR;AAAA,IACF,CAAC;AAED,SAAK,MAAM,MAAM;AAAA,EACnB;AAAA,EACA,MAAM,WAAW;AACf,UAAM,MAAM,KAAK;AACjB,UAAM,WAAW,MAAM,KAAK,KAAK,QAA4B;AAAA,MAC3D,QAAQ;AAAA,MACR;AAAA,IACF,CAAC;AAED,SAAK,MAAM,MAAM;AACjB,SAAK,IAAI,QAAQ;AACjB,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,IAAI,MAAqC;AACvC,QAAI,CAAC,KAAM,QAAO,KAAK;AACvB,QAAI,MAAM,QAAQ,IAAI,GAAG;AACvB,eAAS,SAAS,MAAM;AACtB,YAAI,CAAC,MAAM,GAAI;AACf,cAAM,OAAO,IAAI,2BAAU,OAAO,IAAI;AACtC,aAAK,MAAM,IAAI,KAAK,IAAI,IAAI;AAC5B,aAAK,KAAK,MAAM,IAAI,KAAK,IAAI,IAAI;AAAA,MACnC;AACA,aAAO,KAAK;AAAA,IACd,OAAO;AACL,UAAI,CAAC,KAAK,GAAI;AACd,YAAM,OAAO,IAAI,2BAAU,MAAM,IAAI;AACrC,WAAK,MAAM,IAAI,KAAK,IAAI,IAAI;AAC5B,WAAK,KAAK,MAAM,IAAI,KAAK,IAAI,IAAI;AACjC,aAAO;AAAA,IACT;AAAA,EACF;AACF;","names":["url","response"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/managers/vipmember/VipMemberManager.ts"],"sourcesContent":["import { REST } from \"../../rest/REST\";\r\nimport { Routes } from \"../../rest/Routes\";\r\nimport { VipMember } from \"../../structures/vipmember/VipMember\";\r\nimport { Collection } from \"../../structures/Collection\";\r\nimport { Guild } from \"../../structures/guild/Guild\";\r\nimport { APIVipMember } from \"../../types/api/APIVipMember\";\r\nimport { Assertion } from \"../../utils/Assertion\";\r\nimport { Optional } from \"../../types\";\r\nimport { BaseManager } from \"../base\";\r\n\r\ntype FecthOptions = {\r\n cache?: boolean;\r\n memberId?: string;\r\n};\r\n\r\nexport class VipMemberManager extends BaseManager<VipMember> {\r\n /**\r\n * Manage vipmembers with the given client\r\n * @param vipmembers An array of vipmembers\r\n * @param rest The rest client\r\n */\r\n constructor(guild: Guild) {\r\n super(guild);\r\n\r\n this.guild = guild;\r\n this.rest = guild.rest;\r\n this.base_url = Routes.fields(\"guilds\", guild.id, \"vipmembers\");\r\n this.cache = new Collection<string, VipMember>(\"vipmembers\");\r\n }\r\n async create(data: Optional<APIVipMember>) {\r\n const url = Routes.vipmembers.create(this.guild.id);\r\n const payload = { ...data };\r\n const response = await this.rest.request<APIVipMember, typeof payload>({\r\n method: \"post\",\r\n url: url,\r\n payload,\r\n });\r\n\r\n const member = new VipMember(response, this);\r\n this.cache.set(member?.id, member);\r\n return member;\r\n }\r\n /**\r\n * Fetch a member\r\n * @param id Id of the member to fetch\r\n * @returns VipMember\r\n */\r\n async fetch(options?: FecthOptions): Promise<Collection<string, VipMember> | VipMember> {\r\n if (options && options.cache) return this.cache;\r\n if (options && options.memberId) {\r\n const url = Routes.vipmembers.get(this.guild.id, options.memberId);\r\n const payload = { guild_id: this.guild.id };\r\n const response = await this.rest.request<APIVipMember, typeof payload>({\r\n method: \"get\",\r\n url: url,\r\n payload,\r\n });\r\n if (!response) return this.cache.get(options.memberId);\r\n\r\n const member = new VipMember(response, this);\r\n this.cache.set(member?.id, member);\r\n\r\n return member;\r\n }\r\n const url = Routes.vipmembers.getAll(this.guild.id);\r\n const response = await this.rest.request<APIVipMember[], {}>({\r\n method: \"get\",\r\n url: url,\r\n });\r\n if (Array.isArray(response) && response.length === 0) {\r\n this.cache.clear();\r\n return this.cache;\r\n }\r\n\r\n this.setAll(response);\r\n return this.cache;\r\n }\r\n\r\n async updateMember(id: string, data: Optional<APIVipMember>) {\r\n const url = Routes.vipmembers.update(this.guild.id, id);\r\n const payload = { ...data, guild_id: this.guild.id };\r\n const response = await this.rest.request<APIVipMember, typeof payload>({\r\n method: \"patch\",\r\n url: url,\r\n payload,\r\n });\r\n const member = this.set(response);\r\n return member;\r\n }\r\n set(data: APIVipMember): VipMember {\r\n if (!data?.id) return;\r\n const member = new VipMember(data, this);\r\n this.cache.set(member.id, member);\r\n return member;\r\n }\r\n setAll(data: APIVipMember[]): Collection<string, VipMember> {\r\n if (!data) return this.cache;\r\n for (let member of data) this.set(member);\r\n return this.cache;\r\n }\r\n async resetAll() {\r\n const url = Routes.vipmembers.getAll(this.guild.id);\r\n const response = await this.rest.request<APIVipMember[], {}>({\r\n method: \"PUT\",\r\n url: url,\r\n });\r\n this.setAll(response);\r\n return this.cache;\r\n }\r\n async delete(id: string) {\r\n Assertion.assertString(id);\r\n Assertion.assertString(this.guild.id);\r\n\r\n const url = Routes.vipmembers.delete(id, this.guild.id);\r\n await this.rest.request<boolean, {}>({\r\n method: \"DELETE\",\r\n url: url,\r\n });\r\n\r\n this.cache.delete(id);\r\n return this.cache;\r\n }\r\n async deleteAll() {\r\n Assertion.assertString(this.guild.id);\r\n const url = Routes.vipmembers.deleteAll(this.guild.id);\r\n const value = await this.rest.request<boolean, {}>({\r\n method: \"DELETE\",\r\n url: url,\r\n });\r\n this.cache.clear();\r\n return value;\r\n }\r\n}\r\n"],"mappings":"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","names":["url","response"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/rest/APIEndpoints.ts"],"sourcesContent":["class Guild {\r\n id: string;\r\n tickets: [];\r\n}\r\n\r\nexport const APIEndpoints = {\r\n \"guilds/get\": {\r\n response: Guild,\r\n },\r\n} as const;\r\nexport type APIEndpoint = keyof typeof APIEndpoints;\r\n\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAAM,MAAM;AAAA,EAAZ;AACE;AACA;AAAA;AACF;AAEO,MAAM,eAAe;AAAA,EAC1B,cAAc;AAAA,IACZ,UAAU;AAAA,EACZ;AACF;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/rest/REST.ts"],"sourcesContent":["import env from \"dotenv\";\r\nenv.config();\r\n\r\nimport EventEmitter from \"events\";\r\nimport { Assertion } from \"../utils/Assertion\";\r\nimport { request, Headers } from \"undici\";\r\nimport { Routes } from \"./Routes\";\r\n\r\nimport { GuildManager } from \"../managers/guild/GuildManager\";\r\nimport { Collection } from \"../structures/Collection\";\r\nimport { GuildMatch } from \"../structures/match/GuildMatch\";\r\nimport { GuildUser } from \"../structures/user/GuildUser\";\r\nimport { RestEvents, RequestOptions } from \"../types/RestTypes\";\r\nimport { MinesGameManager } from \"../managers\";\r\nimport { StatusResponse } from \"../types\";\r\nimport { GuildBetUser } from \"../structures/betuser/GuildBetUser\";\r\nimport { GuildBet, GuildTicket, VipMember } from \"../structures\";\r\nimport { GuildMediator } from \"../structures/mediator/GuildMediator\";\r\n\r\nconst Reset = \"\\x1b[0m\";\r\nconst FgGreen = \"\\x1b[32m\";\r\nconst FgRed = \"\\x1b[31m\";\r\nconst FgBlue = \"\\x1b[34m\";\r\nconst FgCyan = \"\\x1b[36m\";\r\n\r\ninterface ClientOptions {\r\n clientKey: string;\r\n guildId: string;\r\n authKey: string;\r\n}\r\n/**\r\n * The main class of this package\r\n */\r\nexport class REST extends EventEmitter {\r\n /**\r\n * The unique key for client\r\n */\r\n clientKey: string;\r\n authKey: string;\r\n guildId: string;\r\n\r\n /** The guild manager */\r\n guilds: GuildManager;\r\n minesGames: MinesGameManager;\r\n users: Collection<string, GuildUser>;\r\n betusers: Collection<string, GuildBetUser>;\r\n matches: Collection<string, GuildMatch>;\r\n bets: Collection<string, GuildBet>;\r\n tickets: Collection<string, GuildTicket>;\r\n vipmembers: Collection<string, VipMember>;\r\n mediators: Collection<string, GuildMediator>;\r\n\r\n /**\r\n *\r\n * @param key The unique key for he client\r\n */\r\n constructor(options: ClientOptions) {\r\n super({ captureRejections: true });\r\n\r\n this.clientKey = options.clientKey ?? \"\";\r\n this.authKey = options.authKey ?? \"\";\r\n this.guildId = options.guildId ?? \"\";\r\n\r\n this.guilds = new GuildManager(this);\r\n this.minesGames = new MinesGameManager(this);\r\n\r\n this.users = new Collection(\"rest:users\");\r\n this.matches = new Collection(\"rest:matches\");\r\n this.bets = new Collection(\"rest:bets\");\r\n this.betusers = new Collection(\"rest:betusers\");\r\n this.tickets = new Collection(\"rest:tickets\");\r\n this.vipmembers = new Collection(\"rest:vipmembers\");\r\n this.mediators = new Collection(\"rest:mediators\");\r\n\r\n this.setMaxListeners(999);\r\n }\r\n\r\n /** Initialize the caching sistem */\r\n async init() {\r\n if (!this.clientKey || !this.authKey || !this.guildId)\r\n throw new Error(\"Client key, auth key, and guildId is necessary\");\r\n await Promise.all([this.guilds.fetch({ guildId: this.guildId }), this.minesGames.fetch()]);\r\n return this;\r\n }\r\n\r\n formatUrl(url: string) {\r\n return (url.endsWith(\"/\") ? url.slice(0, url.length - 1) : url) ?? \"/status\";\r\n }\r\n /**\r\n * Request Data from a certain url\r\n * @param options\r\n * @returns\r\n */\r\n async request<Expecting, Payload extends object>(options: RequestOptions<Payload>) {\r\n let { method, url, payload } = options;\r\n Assertion.assertString(method);\r\n Assertion.assertString(this.clientKey);\r\n Assertion.assertString(url);\r\n\r\n url = this.formatUrl(Routes.base + url);\r\n\r\n const headers = new Headers();\r\n headers.append(\"authorization\", this.authKey);\r\n headers.append(\"client_key\", this.clientKey);\r\n headers.append(\"Content-Type\", \"application/json\");\r\n\r\n const before = Date.now();\r\n this.emit(\"debug\", [`[Request] ${FgBlue}${method} ${FgCyan}${url}`, Reset].join(\"\\n\"));\r\n const body = { ...payload };\r\n\r\n if (\"cache\" in body) delete body.cache;\r\n if (\"rest\" in body) delete body.rest;\r\n if (\"guilds\" in body) delete body.guilds;\r\n\r\n const res = await request(url, {\r\n method: method.toUpperCase(),\r\n headers,\r\n body: JSON.stringify(body),\r\n });\r\n const responseBody = await res.body.json();\r\n const { data, message } = responseBody as Record<string, unknown>;\r\n const now = new Date().getTime();\r\n\r\n if (!data || res.body.errored) {\r\n if (message) this.emit(\"debug\", `${FgRed}${message}${Reset}`);\r\n this.emit(\"debug\", `[No data]${FgGreen} ${(now - before) / 1000}${Reset}`);\r\n return \"No data available.\" as Expecting;\r\n }\r\n\r\n if (message) this.emit(\"debug\", `${FgRed}${message}${Reset}`);\r\n this.emit(\"debug\", `[Request]${FgGreen} ${(now - before) / 1000}s done.${Reset}`);\r\n\r\n return data as Expecting;\r\n }\r\n async getStatus() {\r\n return await this.request<StatusResponse, {}>({ method: \"GET\", url: \"/status\" });\r\n }\r\n override emit<K extends keyof RestEvents>(\r\n event: K,\r\n ...args: RestEvents[K] // tuple type is spread automatically\r\n ): boolean {\r\n return super.emit(event, ...args);\r\n }\r\n\r\n override on<K extends keyof RestEvents>(event: K, listener: (...args: RestEvents[K]) => void): this {\r\n return super.on(event, listener);\r\n }\r\n\r\n override once<K extends keyof RestEvents>(event: K, listener: (...args: RestEvents[K]) => void): this {\r\n return super.once(event, listener);\r\n }\r\n}\r\n"],"mappings":"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","names":["env","EventEmitter"]}