@discordeno/utils 19.0.0-next.b2f65c2 → 19.0.0-next.b567c13

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 (122) hide show
  1. package/dist/cjs/Collection.cjs +121 -0
  2. package/dist/cjs/base64.cjs +272 -0
  3. package/dist/cjs/bucket.cjs +93 -0
  4. package/dist/cjs/builders/embeds.cjs +290 -0
  5. package/dist/cjs/builders.cjs +23 -0
  6. package/dist/cjs/casing.cjs +67 -0
  7. package/dist/cjs/colors.cjs +360 -0
  8. package/dist/cjs/hash.cjs +33 -0
  9. package/dist/cjs/images.cjs +47 -0
  10. package/dist/cjs/index.cjs +33 -0
  11. package/dist/cjs/logger.cjs +147 -0
  12. package/dist/cjs/oauth2.cjs +24 -0
  13. package/dist/cjs/permissions.cjs +31 -0
  14. package/dist/cjs/reactions.cjs +19 -0
  15. package/dist/cjs/token.cjs +35 -0
  16. package/dist/cjs/typeguards.cjs +35 -0
  17. package/dist/cjs/urlToBase64.cjs +17 -0
  18. package/dist/cjs/utils.cjs +26 -0
  19. package/dist/esm/Collection.js +113 -0
  20. package/dist/esm/base64.js +262 -0
  21. package/dist/esm/bucket.js +80 -0
  22. package/dist/esm/builders/embeds.js +295 -0
  23. package/dist/esm/builders.js +5 -0
  24. package/dist/esm/casing.js +51 -0
  25. package/dist/esm/colors.js +467 -0
  26. package/dist/esm/hash.js +19 -0
  27. package/dist/esm/images.js +66 -0
  28. package/dist/esm/index.js +18 -0
  29. package/dist/esm/logger.js +130 -0
  30. package/dist/esm/oauth2.js +16 -0
  31. package/dist/esm/permissions.js +17 -0
  32. package/dist/esm/reactions.js +11 -0
  33. package/dist/esm/token.js +21 -0
  34. package/dist/esm/typeguards.js +18 -0
  35. package/dist/esm/urlToBase64.js +9 -0
  36. package/dist/esm/utils.js +15 -0
  37. package/dist/types/Collection.d.ts.map +1 -0
  38. package/dist/types/base64.d.ts.map +1 -0
  39. package/dist/{bucket.d.ts → types/bucket.d.ts} +1 -1
  40. package/dist/types/bucket.d.ts.map +1 -0
  41. package/dist/types/builders/embeds.d.ts +146 -0
  42. package/dist/types/builders/embeds.d.ts.map +1 -0
  43. package/dist/types/builders.d.ts +4 -0
  44. package/dist/types/builders.d.ts.map +1 -0
  45. package/dist/types/casing.d.ts.map +1 -0
  46. package/dist/types/colors.d.ts.map +1 -0
  47. package/dist/types/hash.d.ts.map +1 -0
  48. package/dist/types/images.d.ts.map +1 -0
  49. package/dist/{index.d.ts → types/index.d.ts} +3 -1
  50. package/dist/types/index.d.ts.map +1 -0
  51. package/dist/types/logger.d.ts.map +1 -0
  52. package/dist/types/oauth2.d.ts +58 -0
  53. package/dist/types/oauth2.d.ts.map +1 -0
  54. package/dist/types/permissions.d.ts.map +1 -0
  55. package/dist/types/reactions.d.ts.map +1 -0
  56. package/dist/{token.d.ts → types/token.d.ts} +1 -1
  57. package/dist/types/token.d.ts.map +1 -0
  58. package/dist/{typeguards.d.ts → types/typeguards.d.ts} +2 -1
  59. package/dist/types/typeguards.d.ts.map +1 -0
  60. package/dist/types/urlToBase64.d.ts.map +1 -0
  61. package/dist/types/utils.d.ts.map +1 -0
  62. package/package.json +12 -6
  63. package/dist/Collection.d.ts.map +0 -1
  64. package/dist/Collection.js +0 -113
  65. package/dist/Collection.js.map +0 -1
  66. package/dist/base64.d.ts.map +0 -1
  67. package/dist/base64.js +0 -262
  68. package/dist/base64.js.map +0 -1
  69. package/dist/bucket.d.ts.map +0 -1
  70. package/dist/bucket.js +0 -76
  71. package/dist/bucket.js.map +0 -1
  72. package/dist/casing.d.ts.map +0 -1
  73. package/dist/casing.js +0 -51
  74. package/dist/casing.js.map +0 -1
  75. package/dist/colors.d.ts.map +0 -1
  76. package/dist/colors.js +0 -467
  77. package/dist/colors.js.map +0 -1
  78. package/dist/hash.d.ts.map +0 -1
  79. package/dist/hash.js +0 -19
  80. package/dist/hash.js.map +0 -1
  81. package/dist/images.d.ts.map +0 -1
  82. package/dist/images.js +0 -66
  83. package/dist/images.js.map +0 -1
  84. package/dist/index.d.ts.map +0 -1
  85. package/dist/index.js +0 -16
  86. package/dist/index.js.map +0 -1
  87. package/dist/interactions.d.ts +0 -3
  88. package/dist/interactions.d.ts.map +0 -1
  89. package/dist/interactions.js +0 -41
  90. package/dist/interactions.js.map +0 -1
  91. package/dist/logger.d.ts.map +0 -1
  92. package/dist/logger.js +0 -130
  93. package/dist/logger.js.map +0 -1
  94. package/dist/permissions.d.ts.map +0 -1
  95. package/dist/permissions.js +0 -17
  96. package/dist/permissions.js.map +0 -1
  97. package/dist/reactions.d.ts.map +0 -1
  98. package/dist/reactions.js +0 -11
  99. package/dist/reactions.js.map +0 -1
  100. package/dist/token.d.ts.map +0 -1
  101. package/dist/token.js +0 -16
  102. package/dist/token.js.map +0 -1
  103. package/dist/typeguards.d.ts.map +0 -1
  104. package/dist/typeguards.js +0 -15
  105. package/dist/typeguards.js.map +0 -1
  106. package/dist/urlToBase64.d.ts.map +0 -1
  107. package/dist/urlToBase64.js +0 -9
  108. package/dist/urlToBase64.js.map +0 -1
  109. package/dist/utils.d.ts.map +0 -1
  110. package/dist/utils.js +0 -15
  111. package/dist/utils.js.map +0 -1
  112. /package/dist/{Collection.d.ts → types/Collection.d.ts} +0 -0
  113. /package/dist/{base64.d.ts → types/base64.d.ts} +0 -0
  114. /package/dist/{casing.d.ts → types/casing.d.ts} +0 -0
  115. /package/dist/{colors.d.ts → types/colors.d.ts} +0 -0
  116. /package/dist/{hash.d.ts → types/hash.d.ts} +0 -0
  117. /package/dist/{images.d.ts → types/images.d.ts} +0 -0
  118. /package/dist/{logger.d.ts → types/logger.d.ts} +0 -0
  119. /package/dist/{permissions.d.ts → types/permissions.d.ts} +0 -0
  120. /package/dist/{reactions.d.ts → types/reactions.d.ts} +0 -0
  121. /package/dist/{urlToBase64.d.ts → types/urlToBase64.d.ts} +0 -0
  122. /package/dist/{utils.d.ts → types/utils.d.ts} +0 -0
@@ -0,0 +1,130 @@
1
+ /* eslint-disable @typescript-eslint/no-confusing-void-expression */ /* eslint-disable @typescript-eslint/explicit-function-return-type */ import { bgBrightMagenta, black, bold, cyan, gray, italic, red, yellow } from './colors.js';
2
+ export var LogLevels;
3
+ (function(LogLevels) {
4
+ LogLevels[LogLevels["Debug"] = 0] = "Debug";
5
+ LogLevels[LogLevels["Info"] = 1] = "Info";
6
+ LogLevels[LogLevels["Warn"] = 2] = "Warn";
7
+ LogLevels[LogLevels["Error"] = 3] = "Error";
8
+ LogLevels[LogLevels["Fatal"] = 4] = "Fatal";
9
+ })(LogLevels || (LogLevels = {}));
10
+ export var LogDepth;
11
+ (function(LogDepth) {
12
+ LogDepth[LogDepth["Minimal"] = 0] = "Minimal";
13
+ LogDepth[LogDepth["Full"] = 1] = "Full";
14
+ })(LogDepth || (LogDepth = {}));
15
+ const prefixes = new Map([
16
+ [
17
+ 0,
18
+ 'DEBUG'
19
+ ],
20
+ [
21
+ 1,
22
+ 'INFO'
23
+ ],
24
+ [
25
+ 2,
26
+ 'WARN'
27
+ ],
28
+ [
29
+ 3,
30
+ 'ERROR'
31
+ ],
32
+ [
33
+ 4,
34
+ 'FATAL'
35
+ ]
36
+ ]);
37
+ const noColor = (msg)=>msg;
38
+ const colorFunctions = new Map([
39
+ [
40
+ 0,
41
+ gray
42
+ ],
43
+ [
44
+ 1,
45
+ cyan
46
+ ],
47
+ [
48
+ 2,
49
+ yellow
50
+ ],
51
+ [
52
+ 3,
53
+ (str)=>red(str)
54
+ ],
55
+ [
56
+ 4,
57
+ (str)=>red(bold(italic(str)))
58
+ ]
59
+ ]);
60
+ export function createLogger({ logLevel =1 , name } = {}) {
61
+ let depth = 0;
62
+ function log(level, ...args) {
63
+ if (level < logLevel) return;
64
+ let color = colorFunctions.get(level);
65
+ if (!color) color = noColor;
66
+ const date = new Date();
67
+ const log1 = [
68
+ bgBrightMagenta(black(`[${date.toLocaleDateString()} ${date.toLocaleTimeString()}]`)),
69
+ color(prefixes.get(level) ?? 'DEBUG'),
70
+ name ? `${name} >` : '>',
71
+ ...args
72
+ ];
73
+ switch(level){
74
+ case 0:
75
+ return console.debug(...log1);
76
+ case 1:
77
+ return console.info(...log1);
78
+ case 2:
79
+ return console.warn(...log1);
80
+ case 3:
81
+ return console.error(...log1);
82
+ case 4:
83
+ return console.error(...log1);
84
+ default:
85
+ return console.log(...log1);
86
+ }
87
+ }
88
+ function setLevel(level) {
89
+ logLevel = level;
90
+ }
91
+ function setDepth(level) {
92
+ depth = level;
93
+ }
94
+ function debug(...args) {
95
+ if (0 === depth) log(0, args[0]);
96
+ else log(0, ...args);
97
+ }
98
+ function info(...args) {
99
+ if (0 === depth) log(1, args[0]);
100
+ else log(1, ...args);
101
+ }
102
+ function warn(...args) {
103
+ if (0 === depth) log(2, args[0]);
104
+ else log(2, ...args);
105
+ }
106
+ function error(...args) {
107
+ if (0 === depth) log(3, args[0]);
108
+ else log(3, ...args);
109
+ }
110
+ function fatal(...args) {
111
+ if (0 === depth) log(4, args[0]);
112
+ else log(4, ...args);
113
+ }
114
+ return {
115
+ log,
116
+ setDepth,
117
+ setLevel,
118
+ debug,
119
+ info,
120
+ warn,
121
+ error,
122
+ fatal
123
+ };
124
+ }
125
+ export const logger = createLogger({
126
+ name: 'Discordeno'
127
+ });
128
+ export default logger;
129
+
130
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sb2dnZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWNvbmZ1c2luZy12b2lkLWV4cHJlc3Npb24gKi9cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9leHBsaWNpdC1mdW5jdGlvbi1yZXR1cm4tdHlwZSAqL1xuaW1wb3J0IHsgYmdCcmlnaHRNYWdlbnRhLCBibGFjaywgYm9sZCwgY3lhbiwgZ3JheSwgaXRhbGljLCByZWQsIHllbGxvdyB9IGZyb20gJy4vY29sb3JzLmpzJ1xuXG5leHBvcnQgZW51bSBMb2dMZXZlbHMge1xuICBEZWJ1ZyxcbiAgSW5mbyxcbiAgV2FybixcbiAgRXJyb3IsXG4gIEZhdGFsLFxufVxuXG5leHBvcnQgZW51bSBMb2dEZXB0aCB7XG4gIE1pbmltYWwsXG4gIEZ1bGwsXG59XG5cbmNvbnN0IHByZWZpeGVzID0gbmV3IE1hcDxMb2dMZXZlbHMsIHN0cmluZz4oW1xuICBbTG9nTGV2ZWxzLkRlYnVnLCAnREVCVUcnXSxcbiAgW0xvZ0xldmVscy5JbmZvLCAnSU5GTyddLFxuICBbTG9nTGV2ZWxzLldhcm4sICdXQVJOJ10sXG4gIFtMb2dMZXZlbHMuRXJyb3IsICdFUlJPUiddLFxuICBbTG9nTGV2ZWxzLkZhdGFsLCAnRkFUQUwnXSxcbl0pXG5cbmNvbnN0IG5vQ29sb3I6IChzdHI6IHN0cmluZykgPT4gc3RyaW5nID0gKG1zZykgPT4gbXNnXG5jb25zdCBjb2xvckZ1bmN0aW9ucyA9IG5ldyBNYXA8TG9nTGV2ZWxzLCAoc3RyOiBzdHJpbmcpID0+IHN0cmluZz4oW1xuICBbTG9nTGV2ZWxzLkRlYnVnLCBncmF5XSxcbiAgW0xvZ0xldmVscy5JbmZvLCBjeWFuXSxcbiAgW0xvZ0xldmVscy5XYXJuLCB5ZWxsb3ddLFxuICBbTG9nTGV2ZWxzLkVycm9yLCAoc3RyOiBzdHJpbmcpID0+IHJlZChzdHIpXSxcbiAgW0xvZ0xldmVscy5GYXRhbCwgKHN0cjogc3RyaW5nKSA9PiByZWQoYm9sZChpdGFsaWMoc3RyKSkpXSxcbl0pXG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVMb2dnZXIoe1xuICBsb2dMZXZlbCA9IExvZ0xldmVscy5JbmZvLFxuICBuYW1lLFxufToge1xuICBsb2dMZXZlbD86IExvZ0xldmVsc1xuICBuYW1lPzogc3RyaW5nXG59ID0ge30pIHtcbiAgbGV0IGRlcHRoID0gTG9nRGVwdGguTWluaW1hbFxuXG4gIGZ1bmN0aW9uIGxvZyhsZXZlbDogTG9nTGV2ZWxzLCAuLi5hcmdzOiBhbnlbXSkge1xuICAgIGlmIChsZXZlbCA8IGxvZ0xldmVsKSByZXR1cm5cblxuICAgIGxldCBjb2xvciA9IGNvbG9yRnVuY3Rpb25zLmdldChsZXZlbClcbiAgICBpZiAoIWNvbG9yKSBjb2xvciA9IG5vQ29sb3JcblxuICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSgpXG4gICAgY29uc3QgbG9nID0gW1xuICAgICAgYmdCcmlnaHRNYWdlbnRhKGJsYWNrKGBbJHtkYXRlLnRvTG9jYWxlRGF0ZVN0cmluZygpfSAke2RhdGUudG9Mb2NhbGVUaW1lU3RyaW5nKCl9XWApKSxcbiAgICAgIGNvbG9yKHByZWZpeGVzLmdldChsZXZlbCkgPz8gJ0RFQlVHJyksXG4gICAgICBuYW1lID8gYCR7bmFtZX0gPmAgOiAnPicsXG4gICAgICAuLi5hcmdzLFxuICAgIF1cblxuICAgIHN3aXRjaCAobGV2ZWwpIHtcbiAgICAgIGNhc2UgTG9nTGV2ZWxzLkRlYnVnOlxuICAgICAgICByZXR1cm4gY29uc29sZS5kZWJ1ZyguLi5sb2cpXG4gICAgICBjYXNlIExvZ0xldmVscy5JbmZvOlxuICAgICAgICByZXR1cm4gY29uc29sZS5pbmZvKC4uLmxvZylcbiAgICAgIGNhc2UgTG9nTGV2ZWxzLldhcm46XG4gICAgICAgIHJldHVybiBjb25zb2xlLndhcm4oLi4ubG9nKVxuICAgICAgY2FzZSBMb2dMZXZlbHMuRXJyb3I6XG4gICAgICAgIHJldHVybiBjb25zb2xlLmVycm9yKC4uLmxvZylcbiAgICAgIGNhc2UgTG9nTGV2ZWxzLkZhdGFsOlxuICAgICAgICByZXR1cm4gY29uc29sZS5lcnJvciguLi5sb2cpXG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gY29uc29sZS5sb2coLi4ubG9nKVxuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIHNldExldmVsKGxldmVsOiBMb2dMZXZlbHMpIHtcbiAgICBsb2dMZXZlbCA9IGxldmVsXG4gIH1cblxuICBmdW5jdGlvbiBzZXREZXB0aChsZXZlbDogTG9nRGVwdGgpIHtcbiAgICBkZXB0aCA9IGxldmVsXG4gIH1cblxuICBmdW5jdGlvbiBkZWJ1ZyguLi5hcmdzOiBhbnlbXSkge1xuICAgIGlmIChMb2dEZXB0aC5NaW5pbWFsID09PSBkZXB0aCkgbG9nKExvZ0xldmVscy5EZWJ1ZywgYXJnc1swXSlcbiAgICBlbHNlIGxvZyhMb2dMZXZlbHMuRGVidWcsIC4uLmFyZ3MpXG4gIH1cblxuICBmdW5jdGlvbiBpbmZvKC4uLmFyZ3M6IGFueVtdKSB7XG4gICAgaWYgKExvZ0RlcHRoLk1pbmltYWwgPT09IGRlcHRoKSBsb2coTG9nTGV2ZWxzLkluZm8sIGFyZ3NbMF0pXG4gICAgZWxzZSBsb2coTG9nTGV2ZWxzLkluZm8sIC4uLmFyZ3MpXG4gIH1cblxuICBmdW5jdGlvbiB3YXJuKC4uLmFyZ3M6IGFueVtdKSB7XG4gICAgaWYgKExvZ0RlcHRoLk1pbmltYWwgPT09IGRlcHRoKSBsb2coTG9nTGV2ZWxzLldhcm4sIGFyZ3NbMF0pXG4gICAgZWxzZSBsb2coTG9nTGV2ZWxzLldhcm4sIC4uLmFyZ3MpXG4gIH1cblxuICBmdW5jdGlvbiBlcnJvciguLi5hcmdzOiBhbnlbXSkge1xuICAgIGlmIChMb2dEZXB0aC5NaW5pbWFsID09PSBkZXB0aCkgbG9nKExvZ0xldmVscy5FcnJvciwgYXJnc1swXSlcbiAgICBlbHNlIGxvZyhMb2dMZXZlbHMuRXJyb3IsIC4uLmFyZ3MpXG4gIH1cblxuICBmdW5jdGlvbiBmYXRhbCguLi5hcmdzOiBhbnlbXSkge1xuICAgIGlmIChMb2dEZXB0aC5NaW5pbWFsID09PSBkZXB0aCkgbG9nKExvZ0xldmVscy5GYXRhbCwgYXJnc1swXSlcbiAgICBlbHNlIGxvZyhMb2dMZXZlbHMuRmF0YWwsIC4uLmFyZ3MpXG4gIH1cblxuICByZXR1cm4ge1xuICAgIGxvZyxcbiAgICBzZXREZXB0aCxcbiAgICBzZXRMZXZlbCxcbiAgICBkZWJ1ZyxcbiAgICBpbmZvLFxuICAgIHdhcm4sXG4gICAgZXJyb3IsXG4gICAgZmF0YWwsXG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IGxvZ2dlciA9IGNyZWF0ZUxvZ2dlcih7IG5hbWU6ICdEaXNjb3JkZW5vJyB9KVxuZXhwb3J0IGRlZmF1bHQgbG9nZ2VyXG4iXSwibmFtZXMiOlsiYmdCcmlnaHRNYWdlbnRhIiwiYmxhY2siLCJib2xkIiwiY3lhbiIsImdyYXkiLCJpdGFsaWMiLCJyZWQiLCJ5ZWxsb3ciLCJMb2dMZXZlbHMiLCJEZWJ1ZyIsIkluZm8iLCJXYXJuIiwiRXJyb3IiLCJGYXRhbCIsIkxvZ0RlcHRoIiwiTWluaW1hbCIsIkZ1bGwiLCJwcmVmaXhlcyIsIk1hcCIsIm5vQ29sb3IiLCJtc2ciLCJjb2xvckZ1bmN0aW9ucyIsInN0ciIsImNyZWF0ZUxvZ2dlciIsImxvZ0xldmVsIiwibmFtZSIsImRlcHRoIiwibG9nIiwibGV2ZWwiLCJhcmdzIiwiY29sb3IiLCJnZXQiLCJkYXRlIiwiRGF0ZSIsInRvTG9jYWxlRGF0ZVN0cmluZyIsInRvTG9jYWxlVGltZVN0cmluZyIsImNvbnNvbGUiLCJkZWJ1ZyIsImluZm8iLCJ3YXJuIiwiZXJyb3IiLCJzZXRMZXZlbCIsInNldERlcHRoIiwiZmF0YWwiLCJsb2dnZXIiXSwibWFwcGluZ3MiOiJBQUFBLGtFQUFrRSxHQUNsRSxtRUFBbUUsR0FDbkUsU0FBU0EsZUFBZSxFQUFFQyxLQUFLLEVBQUVDLElBQUksRUFBRUMsSUFBSSxFQUFFQyxJQUFJLEVBQUVDLE1BQU0sRUFBRUMsR0FBRyxFQUFFQyxNQUFNLFFBQVEsY0FBYTtXQUVwRjtVQUFLQyxTQUFTO0lBQVRBLFVBQUFBLFVBQ1ZDLFdBQUFBLEtBQUFBO0lBRFVELFVBQUFBLFVBRVZFLFVBQUFBLEtBQUFBO0lBRlVGLFVBQUFBLFVBR1ZHLFVBQUFBLEtBQUFBO0lBSFVILFVBQUFBLFVBSVZJLFdBQUFBLEtBQUFBO0lBSlVKLFVBQUFBLFVBS1ZLLFdBQUFBLEtBQUFBO0dBTFVMLGNBQUFBO1dBUUw7VUFBS00sUUFBUTtJQUFSQSxTQUFBQSxTQUNWQyxhQUFBQSxLQUFBQTtJQURVRCxTQUFBQSxTQUVWRSxVQUFBQSxLQUFBQTtHQUZVRixhQUFBQTtBQUtaLE1BQU1HLFdBQVcsSUFBSUMsSUFBdUI7SUFDMUM7UUFiQVQ7UUFha0I7S0FBUTtJQUMxQjtRQWJBQztRQWFpQjtLQUFPO0lBQ3hCO1FBYkFDO1FBYWlCO0tBQU87SUFDeEI7UUFiQUM7UUFha0I7S0FBUTtJQUMxQjtRQWJBQztRQWFrQjtLQUFRO0NBQzNCO0FBRUQsTUFBTU0sVUFBbUMsQ0FBQ0MsTUFBUUE7QUFDbEQsTUFBTUMsaUJBQWlCLElBQUlILElBQXdDO0lBQ2pFO1FBdEJBVDtRQXNCa0JMO0tBQUs7SUFDdkI7UUF0QkFNO1FBc0JpQlA7S0FBSztJQUN0QjtRQXRCQVE7UUFzQmlCSjtLQUFPO0lBQ3hCO1FBdEJBSztRQXNCa0IsQ0FBQ1UsTUFBZ0JoQixJQUFJZ0I7S0FBSztJQUM1QztRQXRCQVQ7UUFzQmtCLENBQUNTLE1BQWdCaEIsSUFBSUosS0FBS0csT0FBT2lCO0tBQU87Q0FDM0Q7QUFFRCxPQUFPLFNBQVNDLGFBQWEsRUFDM0JDLFVBN0JBZCxFQTZCeUIsRUFDekJlLEtBQUksRUFJTCxHQUFHLENBQUMsQ0FBQyxFQUFFO0lBQ04sSUFBSUMsUUE1QkpYO0lBOEJBLFNBQVNZLElBQUlDLEtBQWdCLEVBQUUsR0FBR0MsSUFBVyxFQUFFO1FBQzdDLElBQUlELFFBQVFKLFVBQVU7UUFFdEIsSUFBSU0sUUFBUVQsZUFBZVUsR0FBRyxDQUFDSDtRQUMvQixJQUFJLENBQUNFLE9BQU9BLFFBQVFYO1FBRXBCLE1BQU1hLE9BQU8sSUFBSUM7UUFDakIsTUFBTU4sT0FBTTtZQUNWM0IsZ0JBQWdCQyxNQUFNLENBQUMsQ0FBQyxFQUFFK0IsS0FBS0Usa0JBQWtCLEdBQUcsQ0FBQyxFQUFFRixLQUFLRyxrQkFBa0IsR0FBRyxDQUFDLENBQUM7WUFDbkZMLE1BQU1iLFNBQVNjLEdBQUcsQ0FBQ0gsVUFBVTtZQUM3QkgsT0FBTyxDQUFDLEVBQUVBLEtBQUssRUFBRSxDQUFDLEdBQUcsR0FBRztlQUNyQkk7U0FDSjtRQUVELE9BQVFEO1lBQ04sS0FyREpuQjtnQkFzRE0sT0FBTzJCLFFBQVFDLEtBQUssSUFBSVY7WUFDMUIsS0F0REpqQjtnQkF1RE0sT0FBTzBCLFFBQVFFLElBQUksSUFBSVg7WUFDekIsS0F2REpoQjtnQkF3RE0sT0FBT3lCLFFBQVFHLElBQUksSUFBSVo7WUFDekIsS0F4REpmO2dCQXlETSxPQUFPd0IsUUFBUUksS0FBSyxJQUFJYjtZQUMxQixLQXpESmQ7Z0JBMERNLE9BQU91QixRQUFRSSxLQUFLLElBQUliO1lBQzFCO2dCQUNFLE9BQU9TLFFBQVFULEdBQUcsSUFBSUE7UUFDMUI7SUFDRjtJQUVBLFNBQVNjLFNBQVNiLEtBQWdCLEVBQUU7UUFDbENKLFdBQVdJO0lBQ2I7SUFFQSxTQUFTYyxTQUFTZCxLQUFlLEVBQUU7UUFDakNGLFFBQVFFO0lBQ1Y7SUFFQSxTQUFTUyxNQUFNLEdBQUdSLElBQVcsRUFBRTtRQUM3QixJQUFJZixBQXJFTkMsTUFxRTJCVyxPQUFPQyxJQTdFbENsQixHQTZFdURvQixJQUFJLENBQUMsRUFBRTthQUN2REYsSUE5RVBsQixNQThFK0JvQjtJQUMvQjtJQUVBLFNBQVNTLEtBQUssR0FBR1QsSUFBVyxFQUFFO1FBQzVCLElBQUlmLEFBMUVOQyxNQTBFMkJXLE9BQU9DLElBakZsQ2pCLEdBaUZzRG1CLElBQUksQ0FBQyxFQUFFO2FBQ3RERixJQWxGUGpCLE1Ba0Y4Qm1CO0lBQzlCO0lBRUEsU0FBU1UsS0FBSyxHQUFHVixJQUFXLEVBQUU7UUFDNUIsSUFBSWYsQUEvRU5DLE1BK0UyQlcsT0FBT0MsSUFyRmxDaEIsR0FxRnNEa0IsSUFBSSxDQUFDLEVBQUU7YUFDdERGLElBdEZQaEIsTUFzRjhCa0I7SUFDOUI7SUFFQSxTQUFTVyxNQUFNLEdBQUdYLElBQVcsRUFBRTtRQUM3QixJQUFJZixBQXBGTkMsTUFvRjJCVyxPQUFPQyxJQXpGbENmLEdBeUZ1RGlCLElBQUksQ0FBQyxFQUFFO2FBQ3ZERixJQTFGUGYsTUEwRitCaUI7SUFDL0I7SUFFQSxTQUFTYyxNQUFNLEdBQUdkLElBQVcsRUFBRTtRQUM3QixJQUFJZixBQXpGTkMsTUF5RjJCVyxPQUFPQyxJQTdGbENkLEdBNkZ1RGdCLElBQUksQ0FBQyxFQUFFO2FBQ3ZERixJQTlGUGQsTUE4RitCZ0I7SUFDL0I7SUFFQSxPQUFPO1FBQ0xGO1FBQ0FlO1FBQ0FEO1FBQ0FKO1FBQ0FDO1FBQ0FDO1FBQ0FDO1FBQ0FHO0lBQ0Y7QUFDRixDQUFDO0FBRUQsT0FBTyxNQUFNQyxTQUFTckIsYUFBYTtJQUFFRSxNQUFNO0FBQWEsR0FBRTtBQUMxRCxlQUFlbUIsT0FBTSJ9
@@ -0,0 +1,16 @@
1
+ import { calculateBits } from './permissions.js';
2
+ export function createOAuth2Link(options) {
3
+ const joinedScopeString = options.scope.join(' ');
4
+ let url = `https://discord.com/oauth2/authorize?client_id=${options.clientId}&scope=${joinedScopeString}`;
5
+ if (options.responseType) url += `&response_type=${options.responseType}`;
6
+ if (options.state) url += `&state=${encodeURIComponent(options.state)}`;
7
+ if (options.redirectUri) url += `&redirect_uri=${encodeURIComponent(options.redirectUri)}`;
8
+ if (options.prompt) url += `&prompt=${options.prompt}`;
9
+ if (options.permissions) url += `&permissions=${Array.isArray(options.permissions) ? calculateBits(options.permissions) : options.permissions}`;
10
+ if (options.guildId) url += `&guild_id=${options.guildId}`;
11
+ // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
12
+ if (options.disableGuildSelect !== undefined) url += `&disable_guild_select=${options.disableGuildSelect}`;
13
+ return url;
14
+ }
15
+
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9vYXV0aDIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBCaWdTdHJpbmcsIE9BdXRoMlNjb3BlLCBQZXJtaXNzaW9uU3RyaW5ncyB9IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJ1xuaW1wb3J0IHsgY2FsY3VsYXRlQml0cyB9IGZyb20gJy4vcGVybWlzc2lvbnMuanMnXG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVPQXV0aDJMaW5rKG9wdGlvbnM6IENyZWF0ZU9BdXRoMkxpbmtPcHRpb25zKTogc3RyaW5nIHtcbiAgY29uc3Qgam9pbmVkU2NvcGVTdHJpbmcgPSBvcHRpb25zLnNjb3BlLmpvaW4oJyAnKVxuXG4gIGxldCB1cmwgPSBgaHR0cHM6Ly9kaXNjb3JkLmNvbS9vYXV0aDIvYXV0aG9yaXplP2NsaWVudF9pZD0ke29wdGlvbnMuY2xpZW50SWR9JnNjb3BlPSR7am9pbmVkU2NvcGVTdHJpbmd9YFxuXG4gIGlmIChvcHRpb25zLnJlc3BvbnNlVHlwZSkgdXJsICs9IGAmcmVzcG9uc2VfdHlwZT0ke29wdGlvbnMucmVzcG9uc2VUeXBlfWBcbiAgaWYgKG9wdGlvbnMuc3RhdGUpIHVybCArPSBgJnN0YXRlPSR7ZW5jb2RlVVJJQ29tcG9uZW50KG9wdGlvbnMuc3RhdGUpfWBcbiAgaWYgKG9wdGlvbnMucmVkaXJlY3RVcmkpIHVybCArPSBgJnJlZGlyZWN0X3VyaT0ke2VuY29kZVVSSUNvbXBvbmVudChvcHRpb25zLnJlZGlyZWN0VXJpKX1gXG4gIGlmIChvcHRpb25zLnByb21wdCkgdXJsICs9IGAmcHJvbXB0PSR7b3B0aW9ucy5wcm9tcHR9YFxuICBpZiAob3B0aW9ucy5wZXJtaXNzaW9ucykgdXJsICs9IGAmcGVybWlzc2lvbnM9JHtBcnJheS5pc0FycmF5KG9wdGlvbnMucGVybWlzc2lvbnMpID8gY2FsY3VsYXRlQml0cyhvcHRpb25zLnBlcm1pc3Npb25zKSA6IG9wdGlvbnMucGVybWlzc2lvbnN9YFxuICBpZiAob3B0aW9ucy5ndWlsZElkKSB1cmwgKz0gYCZndWlsZF9pZD0ke29wdGlvbnMuZ3VpbGRJZH1gXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvcmVzdHJpY3QtdGVtcGxhdGUtZXhwcmVzc2lvbnNcbiAgaWYgKG9wdGlvbnMuZGlzYWJsZUd1aWxkU2VsZWN0ICE9PSB1bmRlZmluZWQpIHVybCArPSBgJmRpc2FibGVfZ3VpbGRfc2VsZWN0PSR7b3B0aW9ucy5kaXNhYmxlR3VpbGRTZWxlY3R9YFxuXG4gIHJldHVybiB1cmxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDcmVhdGVPQXV0aDJMaW5rT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgdHlwZSBvZiByZXNwb25zZVxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBTaG91bGQgYmUgZGVmaW5lZCBvbmx5IGlmIHVzaW5nIGVpdGhlciBPQXV0aDIgYXV0aG9yaXphdGlvbiwgaW1wbGljaXQgb3Igbm90LCBvciBbYWR2YW5jZWQgYm90IGF1dGhvcml6YXRpb25dKGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9vYXV0aDIjYWR2YW5jZWQtYm90LWF1dGhvcml6YXRpb24pXG4gICAqL1xuICByZXNwb25zZVR5cGU/OiAnY29kZScgfCAndG9rZW4nXG4gIC8qKiBUaGUgaWQgb2YgdGhlIGFwcGxpY2F0aW9uICovXG4gIGNsaWVudElkOiBCaWdTdHJpbmdcbiAgLyoqIFRoZSBzY29wZXMgZm9yIHRoZSBhcHBsaWNhdGlvbiAqL1xuICBzY29wZTogT0F1dGgyU2NvcGVbXVxuICAvKipcbiAgICogVGhlIG9wdGlvbmFsIHN0YXRlIGZvciBzZWN1cml0eVxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9vYXV0aDIjc3RhdGUtYW5kLXNlY3VyaXR5XG4gICAqL1xuICBzdGF0ZT86IHN0cmluZ1xuICAvKipcbiAgICogVGhlIHJlZGlyZWN0IHVyaSBmb3IgYWZ0ZXIgdGhlIGF1dGhlbnRpY2F0aW9uXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIFNob3VsZCBiZSBkZWZpbmVkIG9ubHkgaWYgdXNpbmcgZWl0aGVyIE9BdXRoMiBhdXRob3JpemF0aW9uLCBpbXBsaWNpdCBvciBub3QsIG9yIFthZHZhbmNlZCBib3QgYXV0aG9yaXphdGlvbl0oaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL29hdXRoMiNhZHZhbmNlZC1ib3QtYXV0aG9yaXphdGlvbilcbiAgICovXG4gIHJlZGlyZWN0VXJpPzogc3RyaW5nXG4gIC8qKlxuICAgKiBUaGUgdHlwZSBvZiBwcm9tcHQgdG8gZ2l2ZSB0byB0aGUgdXNlclxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBJZiBzZXQgdG8gYG5vbmVgLCBpdCB3aWxsIHNraXAgdGhlIGF1dGhvcml6YXRpb24gc2NyZWVuIGFuZCByZWRpcmVjdCB0aGVtIGJhY2sgdG8geW91ciByZWRpcmVjdCBVUkkgd2l0aG91dCByZXF1ZXN0aW5nIHRoZWlyIGF1dGhvcml6YXRpb24uXG4gICAqIEZvciBwYXNzdGhyb3VnaCBzY29wZXMsIGxpa2UgYm90IGFuZCB3ZWJob29rLmluY29taW5nLCBhdXRob3JpemF0aW9uIGlzIGFsd2F5cyByZXF1aXJlZC5cbiAgICovXG4gIHByb21wdD86ICdjb25zZW50JyB8ICdub25lJ1xuICAvKipcbiAgICogVGhlIHBlcm1pc3Npb25zIG9mIHRoZSBpbnZpdGVkIGJvdFxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBTaG91bGQgYmUgZGVmaW5lZCBvbmx5IGluIGEgW2JvdCBhdXRob3JpemF0aW9uIGZsb3ddKGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9vYXV0aDIjYm90LWF1dGhvcml6YXRpb24tZmxvdykgb3Igd2l0aCBbYWR2YW5jZWQgYm90IGF1dGhvcml6YXRpb25dKGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9vYXV0aDIjYWR2YW5jZWQtYm90LWF1dGhvcml6YXRpb24pXG4gICAqL1xuICBwZXJtaXNzaW9ucz86IEJpZ1N0cmluZyB8IFBlcm1pc3Npb25TdHJpbmdzW11cbiAgLyoqXG4gICAqIFByZS1maWxscyB0aGUgZHJvcGRvd24gcGlja2VyIHdpdGggYSBndWlsZCBmb3IgdGhlIHVzZXJcbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogU2hvdWxkIGJlIGRlZmluZWQgb25seSBpbiBhIFtib3QgYXV0aG9yaXphdGlvbiBmbG93XShodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3Mvb2F1dGgyI2JvdC1hdXRob3JpemF0aW9uLWZsb3cpIG9yIHdpdGggW2FkdmFuY2VkIGJvdCBhdXRob3JpemF0aW9uXShodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3Mvb2F1dGgyI2FkdmFuY2VkLWJvdC1hdXRob3JpemF0aW9uKSBvciB3aXRoIHRoZSBgd2ViaG9vay5pbmNvbWluZ2Agc2NvcGVcbiAgICovXG4gIGd1aWxkSWQ/OiBCaWdTdHJpbmdcbiAgLyoqXG4gICAqIERpc2FsbG93cyB0aGUgdXNlciBmcm9tIGNoYW5naW5nIHRoZSBndWlsZCBkcm9wZG93biBpZiBzZXQgdG8gdHJ1ZVxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBTaG91bGQgYmUgZGVmaW5lZCBvbmx5IGluIGEgW2JvdCBhdXRob3JpemF0aW9uIGZsb3ddKGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9vYXV0aDIjYm90LWF1dGhvcml6YXRpb24tZmxvdyksIHdpdGggW2FkdmFuY2VkIGJvdCBhdXRob3JpemF0aW9uXShodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3Mvb2F1dGgyI2FkdmFuY2VkLWJvdC1hdXRob3JpemF0aW9uKSBvciB3aXRoIHRoZSBgd2ViaG9vay5pbmNvbWluZ2Agc2NvcGVcbiAgICovXG4gIGRpc2FibGVHdWlsZFNlbGVjdD86IGJvb2xlYW5cbn1cbiJdLCJuYW1lcyI6WyJjYWxjdWxhdGVCaXRzIiwiY3JlYXRlT0F1dGgyTGluayIsIm9wdGlvbnMiLCJqb2luZWRTY29wZVN0cmluZyIsInNjb3BlIiwiam9pbiIsInVybCIsImNsaWVudElkIiwicmVzcG9uc2VUeXBlIiwic3RhdGUiLCJlbmNvZGVVUklDb21wb25lbnQiLCJyZWRpcmVjdFVyaSIsInByb21wdCIsInBlcm1pc3Npb25zIiwiQXJyYXkiLCJpc0FycmF5IiwiZ3VpbGRJZCIsImRpc2FibGVHdWlsZFNlbGVjdCIsInVuZGVmaW5lZCJdLCJtYXBwaW5ncyI6IkFBQ0EsU0FBU0EsYUFBYSxRQUFRLG1CQUFrQjtBQUVoRCxPQUFPLFNBQVNDLGlCQUFpQkMsT0FBZ0MsRUFBVTtJQUN6RSxNQUFNQyxvQkFBb0JELFFBQVFFLEtBQUssQ0FBQ0MsSUFBSSxDQUFDO0lBRTdDLElBQUlDLE1BQU0sQ0FBQywrQ0FBK0MsRUFBRUosUUFBUUssUUFBUSxDQUFDLE9BQU8sRUFBRUosa0JBQWtCLENBQUM7SUFFekcsSUFBSUQsUUFBUU0sWUFBWSxFQUFFRixPQUFPLENBQUMsZUFBZSxFQUFFSixRQUFRTSxZQUFZLENBQUMsQ0FBQztJQUN6RSxJQUFJTixRQUFRTyxLQUFLLEVBQUVILE9BQU8sQ0FBQyxPQUFPLEVBQUVJLG1CQUFtQlIsUUFBUU8sS0FBSyxFQUFFLENBQUM7SUFDdkUsSUFBSVAsUUFBUVMsV0FBVyxFQUFFTCxPQUFPLENBQUMsY0FBYyxFQUFFSSxtQkFBbUJSLFFBQVFTLFdBQVcsRUFBRSxDQUFDO0lBQzFGLElBQUlULFFBQVFVLE1BQU0sRUFBRU4sT0FBTyxDQUFDLFFBQVEsRUFBRUosUUFBUVUsTUFBTSxDQUFDLENBQUM7SUFDdEQsSUFBSVYsUUFBUVcsV0FBVyxFQUFFUCxPQUFPLENBQUMsYUFBYSxFQUFFUSxNQUFNQyxPQUFPLENBQUNiLFFBQVFXLFdBQVcsSUFBSWIsY0FBY0UsUUFBUVcsV0FBVyxJQUFJWCxRQUFRVyxXQUFXLENBQUMsQ0FBQztJQUMvSSxJQUFJWCxRQUFRYyxPQUFPLEVBQUVWLE9BQU8sQ0FBQyxVQUFVLEVBQUVKLFFBQVFjLE9BQU8sQ0FBQyxDQUFDO0lBQzFELDRFQUE0RTtJQUM1RSxJQUFJZCxRQUFRZSxrQkFBa0IsS0FBS0MsV0FBV1osT0FBTyxDQUFDLHNCQUFzQixFQUFFSixRQUFRZSxrQkFBa0IsQ0FBQyxDQUFDO0lBRTFHLE9BQU9YO0FBQ1QsQ0FBQyJ9
@@ -0,0 +1,17 @@
1
+ import { BitwisePermissionFlags } from '@discordeno/types';
2
+ /** This function converts a bitwise string to permission strings */ export function calculatePermissions(permissionBits) {
3
+ return Object.keys(BitwisePermissionFlags).filter((permission)=>{
4
+ // Since Object.keys() not only returns the permission names but also the bit values we need to return false if it is a Number
5
+ if (Number(permission)) return false;
6
+ // Check if permissionBits has this permission
7
+ return permissionBits & BigInt(BitwisePermissionFlags[permission]);
8
+ });
9
+ }
10
+ /** This function converts an array of permissions into the bitwise string. */ export function calculateBits(permissions) {
11
+ return permissions.reduce((bits, perm)=>{
12
+ bits |= BigInt(BitwisePermissionFlags[perm]);
13
+ return bits;
14
+ }, 0n).toString();
15
+ }
16
+
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wZXJtaXNzaW9ucy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFBlcm1pc3Npb25TdHJpbmdzIH0gZnJvbSAnQGRpc2NvcmRlbm8vdHlwZXMnXG5pbXBvcnQgeyBCaXR3aXNlUGVybWlzc2lvbkZsYWdzIH0gZnJvbSAnQGRpc2NvcmRlbm8vdHlwZXMnXG5cbi8qKiBUaGlzIGZ1bmN0aW9uIGNvbnZlcnRzIGEgYml0d2lzZSBzdHJpbmcgdG8gcGVybWlzc2lvbiBzdHJpbmdzICovXG5leHBvcnQgZnVuY3Rpb24gY2FsY3VsYXRlUGVybWlzc2lvbnMocGVybWlzc2lvbkJpdHM6IGJpZ2ludCk6IFBlcm1pc3Npb25TdHJpbmdzW10ge1xuICByZXR1cm4gT2JqZWN0LmtleXMoQml0d2lzZVBlcm1pc3Npb25GbGFncykuZmlsdGVyKChwZXJtaXNzaW9uKSA9PiB7XG4gICAgLy8gU2luY2UgT2JqZWN0LmtleXMoKSBub3Qgb25seSByZXR1cm5zIHRoZSBwZXJtaXNzaW9uIG5hbWVzIGJ1dCBhbHNvIHRoZSBiaXQgdmFsdWVzIHdlIG5lZWQgdG8gcmV0dXJuIGZhbHNlIGlmIGl0IGlzIGEgTnVtYmVyXG4gICAgaWYgKE51bWJlcihwZXJtaXNzaW9uKSkgcmV0dXJuIGZhbHNlXG4gICAgLy8gQ2hlY2sgaWYgcGVybWlzc2lvbkJpdHMgaGFzIHRoaXMgcGVybWlzc2lvblxuICAgIHJldHVybiBwZXJtaXNzaW9uQml0cyAmIEJpZ0ludChCaXR3aXNlUGVybWlzc2lvbkZsYWdzW3Blcm1pc3Npb24gYXMgUGVybWlzc2lvblN0cmluZ3NdKVxuICB9KSBhcyBQZXJtaXNzaW9uU3RyaW5nc1tdXG59XG5cbi8qKiBUaGlzIGZ1bmN0aW9uIGNvbnZlcnRzIGFuIGFycmF5IG9mIHBlcm1pc3Npb25zIGludG8gdGhlIGJpdHdpc2Ugc3RyaW5nLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNhbGN1bGF0ZUJpdHMocGVybWlzc2lvbnM6IFBlcm1pc3Npb25TdHJpbmdzW10pOiBzdHJpbmcge1xuICByZXR1cm4gcGVybWlzc2lvbnNcbiAgICAucmVkdWNlKChiaXRzLCBwZXJtKSA9PiB7XG4gICAgICBiaXRzIHw9IEJpZ0ludChCaXR3aXNlUGVybWlzc2lvbkZsYWdzW3Blcm1dKVxuICAgICAgcmV0dXJuIGJpdHNcbiAgICB9LCAwbilcbiAgICAudG9TdHJpbmcoKVxufVxuIl0sIm5hbWVzIjpbIkJpdHdpc2VQZXJtaXNzaW9uRmxhZ3MiLCJjYWxjdWxhdGVQZXJtaXNzaW9ucyIsInBlcm1pc3Npb25CaXRzIiwiT2JqZWN0Iiwia2V5cyIsImZpbHRlciIsInBlcm1pc3Npb24iLCJOdW1iZXIiLCJCaWdJbnQiLCJjYWxjdWxhdGVCaXRzIiwicGVybWlzc2lvbnMiLCJyZWR1Y2UiLCJiaXRzIiwicGVybSIsInRvU3RyaW5nIl0sIm1hcHBpbmdzIjoiQUFDQSxTQUFTQSxzQkFBc0IsUUFBUSxvQkFBbUI7QUFFMUQsa0VBQWtFLEdBQ2xFLE9BQU8sU0FBU0MscUJBQXFCQyxjQUFzQixFQUF1QjtJQUNoRixPQUFPQyxPQUFPQyxJQUFJLENBQUNKLHdCQUF3QkssTUFBTSxDQUFDLENBQUNDLGFBQWU7UUFDaEUsOEhBQThIO1FBQzlILElBQUlDLE9BQU9ELGFBQWEsT0FBTyxLQUFLO1FBQ3BDLDhDQUE4QztRQUM5QyxPQUFPSixpQkFBaUJNLE9BQU9SLHNCQUFzQixDQUFDTSxXQUFnQztJQUN4RjtBQUNGLENBQUM7QUFFRCw0RUFBNEUsR0FDNUUsT0FBTyxTQUFTRyxjQUFjQyxXQUFnQyxFQUFVO0lBQ3RFLE9BQU9BLFlBQ0pDLE1BQU0sQ0FBQyxDQUFDQyxNQUFNQyxPQUFTO1FBQ3RCRCxRQUFRSixPQUFPUixzQkFBc0IsQ0FBQ2EsS0FBSztRQUMzQyxPQUFPRDtJQUNULEdBQUcsRUFBRSxFQUNKRSxRQUFRO0FBQ2IsQ0FBQyJ9
@@ -0,0 +1,11 @@
1
+ /** Converts an reaction emoji unicode string to the discord required form of name:id */ export function processReactionString(reaction) {
2
+ if (reaction.startsWith('<:')) {
3
+ return reaction.substring(2, reaction.length - 1);
4
+ }
5
+ if (reaction.startsWith('<a:')) {
6
+ return reaction.substring(3, reaction.length - 1);
7
+ }
8
+ return reaction;
9
+ }
10
+
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9yZWFjdGlvbnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIENvbnZlcnRzIGFuIHJlYWN0aW9uIGVtb2ppIHVuaWNvZGUgc3RyaW5nIHRvIHRoZSBkaXNjb3JkIHJlcXVpcmVkIGZvcm0gb2YgbmFtZTppZCAqL1xuZXhwb3J0IGZ1bmN0aW9uIHByb2Nlc3NSZWFjdGlvblN0cmluZyhyZWFjdGlvbjogc3RyaW5nKTogc3RyaW5nIHtcbiAgaWYgKHJlYWN0aW9uLnN0YXJ0c1dpdGgoJzw6JykpIHtcbiAgICByZXR1cm4gcmVhY3Rpb24uc3Vic3RyaW5nKDIsIHJlYWN0aW9uLmxlbmd0aCAtIDEpXG4gIH1cblxuICBpZiAocmVhY3Rpb24uc3RhcnRzV2l0aCgnPGE6JykpIHtcbiAgICByZXR1cm4gcmVhY3Rpb24uc3Vic3RyaW5nKDMsIHJlYWN0aW9uLmxlbmd0aCAtIDEpXG4gIH1cblxuICByZXR1cm4gcmVhY3Rpb25cbn1cbiJdLCJuYW1lcyI6WyJwcm9jZXNzUmVhY3Rpb25TdHJpbmciLCJyZWFjdGlvbiIsInN0YXJ0c1dpdGgiLCJzdWJzdHJpbmciLCJsZW5ndGgiXSwibWFwcGluZ3MiOiJBQUFBLHNGQUFzRixHQUN0RixPQUFPLFNBQVNBLHNCQUFzQkMsUUFBZ0IsRUFBVTtJQUM5RCxJQUFJQSxTQUFTQyxVQUFVLENBQUMsT0FBTztRQUM3QixPQUFPRCxTQUFTRSxTQUFTLENBQUMsR0FBR0YsU0FBU0csTUFBTSxHQUFHO0lBQ2pELENBQUM7SUFFRCxJQUFJSCxTQUFTQyxVQUFVLENBQUMsUUFBUTtRQUM5QixPQUFPRCxTQUFTRSxTQUFTLENBQUMsR0FBR0YsU0FBU0csTUFBTSxHQUFHO0lBQ2pELENBQUM7SUFFRCxPQUFPSDtBQUNULENBQUMifQ==
@@ -0,0 +1,21 @@
1
+ import { Buffer } from 'node:buffer';
2
+ const validTokenPrefixes = [
3
+ 'Bot',
4
+ 'Bearer'
5
+ ];
6
+ /** Removes the Bot/Bearer before the token. */ export function removeTokenPrefix(token, type = 'REST') {
7
+ // If no token is provided, throw an error
8
+ if (token === undefined) {
9
+ throw new Error(`The ${type} was not given a token. Please provide a token and try again.`);
10
+ }
11
+ const splittedToken = token.split(' ');
12
+ // If the token does not have a prefix just return token
13
+ if (splittedToken.length < 2 || !validTokenPrefixes.includes(splittedToken[0])) return token;
14
+ // Remove the prefix and return only the token.
15
+ return splittedToken.splice(1).join(' ');
16
+ }
17
+ /** Get the bot id from the bot token. WARNING: Discord staff has mentioned this may not be stable forever. Use at your own risk. However, note for over 5 years this has never broken. */ export function getBotIdFromToken(token) {
18
+ return BigInt(Buffer.from(token.split('.')[0], 'base64').toString());
19
+ }
20
+
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90b2tlbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCdWZmZXIgfSBmcm9tICdub2RlOmJ1ZmZlcidcblxuY29uc3QgdmFsaWRUb2tlblByZWZpeGVzID0gWydCb3QnLCAnQmVhcmVyJ11cblxuLyoqIFJlbW92ZXMgdGhlIEJvdC9CZWFyZXIgYmVmb3JlIHRoZSB0b2tlbi4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZW1vdmVUb2tlblByZWZpeCh0b2tlbj86IHN0cmluZywgdHlwZTogJ0dBVEVXQVknIHwgJ1JFU1QnID0gJ1JFU1QnKTogc3RyaW5nIHtcbiAgLy8gSWYgbm8gdG9rZW4gaXMgcHJvdmlkZWQsIHRocm93IGFuIGVycm9yXG4gIGlmICh0b2tlbiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBUaGUgJHt0eXBlfSB3YXMgbm90IGdpdmVuIGEgdG9rZW4uIFBsZWFzZSBwcm92aWRlIGEgdG9rZW4gYW5kIHRyeSBhZ2Fpbi5gKVxuICB9XG5cbiAgY29uc3Qgc3BsaXR0ZWRUb2tlbiA9IHRva2VuLnNwbGl0KCcgJylcblxuICAvLyBJZiB0aGUgdG9rZW4gZG9lcyBub3QgaGF2ZSBhIHByZWZpeCBqdXN0IHJldHVybiB0b2tlblxuICBpZiAoc3BsaXR0ZWRUb2tlbi5sZW5ndGggPCAyIHx8ICF2YWxpZFRva2VuUHJlZml4ZXMuaW5jbHVkZXMoc3BsaXR0ZWRUb2tlblswXSkpIHJldHVybiB0b2tlblxuICAvLyBSZW1vdmUgdGhlIHByZWZpeCBhbmQgcmV0dXJuIG9ubHkgdGhlIHRva2VuLlxuICByZXR1cm4gc3BsaXR0ZWRUb2tlbi5zcGxpY2UoMSkuam9pbignICcpXG59XG5cbi8qKiBHZXQgdGhlIGJvdCBpZCBmcm9tIHRoZSBib3QgdG9rZW4uIFdBUk5JTkc6IERpc2NvcmQgc3RhZmYgaGFzIG1lbnRpb25lZCB0aGlzIG1heSBub3QgYmUgc3RhYmxlIGZvcmV2ZXIuIFVzZSBhdCB5b3VyIG93biByaXNrLiBIb3dldmVyLCBub3RlIGZvciBvdmVyIDUgeWVhcnMgdGhpcyBoYXMgbmV2ZXIgYnJva2VuLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEJvdElkRnJvbVRva2VuKHRva2VuOiBzdHJpbmcpOiBiaWdpbnQge1xuICByZXR1cm4gQmlnSW50KEJ1ZmZlci5mcm9tKHRva2VuLnNwbGl0KCcuJylbMF0sICdiYXNlNjQnKS50b1N0cmluZygpKVxufVxuIl0sIm5hbWVzIjpbIkJ1ZmZlciIsInZhbGlkVG9rZW5QcmVmaXhlcyIsInJlbW92ZVRva2VuUHJlZml4IiwidG9rZW4iLCJ0eXBlIiwidW5kZWZpbmVkIiwiRXJyb3IiLCJzcGxpdHRlZFRva2VuIiwic3BsaXQiLCJsZW5ndGgiLCJpbmNsdWRlcyIsInNwbGljZSIsImpvaW4iLCJnZXRCb3RJZEZyb21Ub2tlbiIsIkJpZ0ludCIsImZyb20iLCJ0b1N0cmluZyJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsTUFBTSxRQUFRLGNBQWE7QUFFcEMsTUFBTUMscUJBQXFCO0lBQUM7SUFBTztDQUFTO0FBRTVDLDZDQUE2QyxHQUM3QyxPQUFPLFNBQVNDLGtCQUFrQkMsS0FBYyxFQUFFQyxPQUEyQixNQUFNLEVBQVU7SUFDM0YsMENBQTBDO0lBQzFDLElBQUlELFVBQVVFLFdBQVc7UUFDdkIsTUFBTSxJQUFJQyxNQUFNLENBQUMsSUFBSSxFQUFFRixLQUFLLDZEQUE2RCxDQUFDLEVBQUM7SUFDN0YsQ0FBQztJQUVELE1BQU1HLGdCQUFnQkosTUFBTUssS0FBSyxDQUFDO0lBRWxDLHdEQUF3RDtJQUN4RCxJQUFJRCxjQUFjRSxNQUFNLEdBQUcsS0FBSyxDQUFDUixtQkFBbUJTLFFBQVEsQ0FBQ0gsYUFBYSxDQUFDLEVBQUUsR0FBRyxPQUFPSjtJQUN2RiwrQ0FBK0M7SUFDL0MsT0FBT0ksY0FBY0ksTUFBTSxDQUFDLEdBQUdDLElBQUksQ0FBQztBQUN0QyxDQUFDO0FBRUQsd0xBQXdMLEdBQ3hMLE9BQU8sU0FBU0Msa0JBQWtCVixLQUFhLEVBQVU7SUFDdkQsT0FBT1csT0FBT2QsT0FBT2UsSUFBSSxDQUFDWixNQUFNSyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxVQUFVUSxRQUFRO0FBQ25FLENBQUMifQ==
@@ -0,0 +1,18 @@
1
+ import { hasProperty } from './utils.js';
2
+ export function isGetMessagesAfter(options) {
3
+ return hasProperty(options, 'after');
4
+ }
5
+ export function isGetMessagesBefore(options) {
6
+ return hasProperty(options, 'before');
7
+ }
8
+ export function isGetMessagesAround(options) {
9
+ return hasProperty(options, 'around');
10
+ }
11
+ export function isGetMessagesLimit(options) {
12
+ return hasProperty(options, 'limit');
13
+ }
14
+ export function isInviteWithMetadata(options) {
15
+ return !hasProperty(options, 'channel_id');
16
+ }
17
+
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eXBlZ3VhcmRzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtcbiAgRGlzY29yZEludml0ZUNyZWF0ZSxcbiAgRGlzY29yZEludml0ZU1ldGFkYXRhLFxuICBHZXRNZXNzYWdlc0FmdGVyLFxuICBHZXRNZXNzYWdlc0Fyb3VuZCxcbiAgR2V0TWVzc2FnZXNCZWZvcmUsXG4gIEdldE1lc3NhZ2VzTGltaXQsXG4gIEdldE1lc3NhZ2VzT3B0aW9ucyxcbn0gZnJvbSAnQGRpc2NvcmRlbm8vdHlwZXMnXG5pbXBvcnQgeyBoYXNQcm9wZXJ0eSB9IGZyb20gJy4vdXRpbHMuanMnXG5cbmV4cG9ydCBmdW5jdGlvbiBpc0dldE1lc3NhZ2VzQWZ0ZXIob3B0aW9uczogR2V0TWVzc2FnZXNPcHRpb25zKTogb3B0aW9ucyBpcyBHZXRNZXNzYWdlc0FmdGVyIHtcbiAgcmV0dXJuIGhhc1Byb3BlcnR5KG9wdGlvbnMsICdhZnRlcicpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0dldE1lc3NhZ2VzQmVmb3JlKG9wdGlvbnM6IEdldE1lc3NhZ2VzT3B0aW9ucyk6IG9wdGlvbnMgaXMgR2V0TWVzc2FnZXNCZWZvcmUge1xuICByZXR1cm4gaGFzUHJvcGVydHkob3B0aW9ucywgJ2JlZm9yZScpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0dldE1lc3NhZ2VzQXJvdW5kKG9wdGlvbnM6IEdldE1lc3NhZ2VzT3B0aW9ucyk6IG9wdGlvbnMgaXMgR2V0TWVzc2FnZXNBcm91bmQge1xuICByZXR1cm4gaGFzUHJvcGVydHkob3B0aW9ucywgJ2Fyb3VuZCcpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0dldE1lc3NhZ2VzTGltaXQob3B0aW9uczogR2V0TWVzc2FnZXNPcHRpb25zKTogb3B0aW9ucyBpcyBHZXRNZXNzYWdlc0xpbWl0IHtcbiAgcmV0dXJuIGhhc1Byb3BlcnR5KG9wdGlvbnMsICdsaW1pdCcpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0ludml0ZVdpdGhNZXRhZGF0YShvcHRpb25zOiBEaXNjb3JkSW52aXRlQ3JlYXRlIHwgRGlzY29yZEludml0ZU1ldGFkYXRhKTogb3B0aW9ucyBpcyBEaXNjb3JkSW52aXRlTWV0YWRhdGEge1xuICByZXR1cm4gIWhhc1Byb3BlcnR5KG9wdGlvbnMsICdjaGFubmVsX2lkJylcbn1cbiJdLCJuYW1lcyI6WyJoYXNQcm9wZXJ0eSIsImlzR2V0TWVzc2FnZXNBZnRlciIsIm9wdGlvbnMiLCJpc0dldE1lc3NhZ2VzQmVmb3JlIiwiaXNHZXRNZXNzYWdlc0Fyb3VuZCIsImlzR2V0TWVzc2FnZXNMaW1pdCIsImlzSW52aXRlV2l0aE1ldGFkYXRhIl0sIm1hcHBpbmdzIjoiQUFTQSxTQUFTQSxXQUFXLFFBQVEsYUFBWTtBQUV4QyxPQUFPLFNBQVNDLG1CQUFtQkMsT0FBMkIsRUFBK0I7SUFDM0YsT0FBT0YsWUFBWUUsU0FBUztBQUM5QixDQUFDO0FBRUQsT0FBTyxTQUFTQyxvQkFBb0JELE9BQTJCLEVBQWdDO0lBQzdGLE9BQU9GLFlBQVlFLFNBQVM7QUFDOUIsQ0FBQztBQUVELE9BQU8sU0FBU0Usb0JBQW9CRixPQUEyQixFQUFnQztJQUM3RixPQUFPRixZQUFZRSxTQUFTO0FBQzlCLENBQUM7QUFFRCxPQUFPLFNBQVNHLG1CQUFtQkgsT0FBMkIsRUFBK0I7SUFDM0YsT0FBT0YsWUFBWUUsU0FBUztBQUM5QixDQUFDO0FBRUQsT0FBTyxTQUFTSSxxQkFBcUJKLE9BQW9ELEVBQW9DO0lBQzNILE9BQU8sQ0FBQ0YsWUFBWUUsU0FBUztBQUMvQixDQUFDIn0=
@@ -0,0 +1,9 @@
1
+ import { encode } from './base64.js';
2
+ /** Converts a url to base 64. Useful for example, uploading/creating server emojis. */ export async function urlToBase64(url) {
3
+ const buffer = await fetch(url).then(async (res)=>await res.arrayBuffer());
4
+ const imageStr = encode(buffer);
5
+ const type = url.substring(url.lastIndexOf('.') + 1);
6
+ return `data:image/${type};base64,${imageStr}`;
7
+ }
8
+
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91cmxUb0Jhc2U2NC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBlbmNvZGUgfSBmcm9tICcuL2Jhc2U2NC5qcydcblxuLyoqIENvbnZlcnRzIGEgdXJsIHRvIGJhc2UgNjQuIFVzZWZ1bCBmb3IgZXhhbXBsZSwgdXBsb2FkaW5nL2NyZWF0aW5nIHNlcnZlciBlbW9qaXMuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gdXJsVG9CYXNlNjQodXJsOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xuICBjb25zdCBidWZmZXIgPSBhd2FpdCBmZXRjaCh1cmwpLnRoZW4oYXN5bmMgKHJlcykgPT4gYXdhaXQgcmVzLmFycmF5QnVmZmVyKCkpXG4gIGNvbnN0IGltYWdlU3RyID0gZW5jb2RlKGJ1ZmZlcilcbiAgY29uc3QgdHlwZSA9IHVybC5zdWJzdHJpbmcodXJsLmxhc3RJbmRleE9mKCcuJykgKyAxKVxuICByZXR1cm4gYGRhdGE6aW1hZ2UvJHt0eXBlfTtiYXNlNjQsJHtpbWFnZVN0cn1gXG59XG4iXSwibmFtZXMiOlsiZW5jb2RlIiwidXJsVG9CYXNlNjQiLCJ1cmwiLCJidWZmZXIiLCJmZXRjaCIsInRoZW4iLCJyZXMiLCJhcnJheUJ1ZmZlciIsImltYWdlU3RyIiwidHlwZSIsInN1YnN0cmluZyIsImxhc3RJbmRleE9mIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxNQUFNLFFBQVEsY0FBYTtBQUVwQyxxRkFBcUYsR0FDckYsT0FBTyxlQUFlQyxZQUFZQyxHQUFXLEVBQW1CO0lBQzlELE1BQU1DLFNBQVMsTUFBTUMsTUFBTUYsS0FBS0csSUFBSSxDQUFDLE9BQU9DLE1BQVEsTUFBTUEsSUFBSUMsV0FBVztJQUN6RSxNQUFNQyxXQUFXUixPQUFPRztJQUN4QixNQUFNTSxPQUFPUCxJQUFJUSxTQUFTLENBQUNSLElBQUlTLFdBQVcsQ0FBQyxPQUFPO0lBQ2xELE9BQU8sQ0FBQyxXQUFXLEVBQUVGLEtBQUssUUFBUSxFQUFFRCxTQUFTLENBQUM7QUFDaEQsQ0FBQyJ9
@@ -0,0 +1,15 @@
1
+ /** Pause the execution for a given amount of milliseconds. */ export async function delay(ms) {
2
+ // eslint-disable-next-line @typescript-eslint/return-await
3
+ return new Promise((resolve)=>setTimeout(()=>{
4
+ resolve();
5
+ }, ms));
6
+ }
7
+ // Typescript is not so good as we developers so we need this little utility function to help it out
8
+ // Taken from https://fettblog.eu/typescript-hasownproperty/
9
+ /** TS save way to check if a property exists in an object */ // eslint-disable-next-line @typescript-eslint/ban-types
10
+ export function hasProperty(obj, prop) {
11
+ // eslint-disable-next-line no-prototype-builtins
12
+ return obj.hasOwnProperty(prop);
13
+ }
14
+
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogUGF1c2UgdGhlIGV4ZWN1dGlvbiBmb3IgYSBnaXZlbiBhbW91bnQgb2YgbWlsbGlzZWNvbmRzLiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGRlbGF5KG1zOiBudW1iZXIpOiBQcm9taXNlPHZvaWQ+IHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9yZXR1cm4tYXdhaXRcbiAgcmV0dXJuIG5ldyBQcm9taXNlKFxuICAgIChyZXNvbHZlKTogTm9kZUpTLlRpbWVvdXQgPT5cbiAgICAgIHNldFRpbWVvdXQoKCk6IHZvaWQgPT4ge1xuICAgICAgICByZXNvbHZlKClcbiAgICAgIH0sIG1zKSxcbiAgKVxufVxuXG4vLyBUeXBlc2NyaXB0IGlzIG5vdCBzbyBnb29kIGFzIHdlIGRldmVsb3BlcnMgc28gd2UgbmVlZCB0aGlzIGxpdHRsZSB1dGlsaXR5IGZ1bmN0aW9uIHRvIGhlbHAgaXQgb3V0XG4vLyBUYWtlbiBmcm9tIGh0dHBzOi8vZmV0dGJsb2cuZXUvdHlwZXNjcmlwdC1oYXNvd25wcm9wZXJ0eS9cbi8qKiBUUyBzYXZlIHdheSB0byBjaGVjayBpZiBhIHByb3BlcnR5IGV4aXN0cyBpbiBhbiBvYmplY3QgKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXR5cGVzXG5leHBvcnQgZnVuY3Rpb24gaGFzUHJvcGVydHk8VCBleHRlbmRzIHt9LCBZIGV4dGVuZHMgUHJvcGVydHlLZXkgPSBzdHJpbmc+KG9iajogVCwgcHJvcDogWSk6IG9iaiBpcyBUICYgUmVjb3JkPFksIHVua25vd24+IHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXByb3RvdHlwZS1idWlsdGluc1xuICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KHByb3ApXG59XG4iXSwibmFtZXMiOlsiZGVsYXkiLCJtcyIsIlByb21pc2UiLCJyZXNvbHZlIiwic2V0VGltZW91dCIsImhhc1Byb3BlcnR5Iiwib2JqIiwicHJvcCIsImhhc093blByb3BlcnR5Il0sIm1hcHBpbmdzIjoiQUFBQSw0REFBNEQsR0FDNUQsT0FBTyxlQUFlQSxNQUFNQyxFQUFVLEVBQWlCO0lBQ3JELDJEQUEyRDtJQUMzRCxPQUFPLElBQUlDLFFBQ1QsQ0FBQ0MsVUFDQ0MsV0FBVyxJQUFZO1lBQ3JCRDtRQUNGLEdBQUdGO0FBRVQsQ0FBQztBQUVELG9HQUFvRztBQUNwRyw0REFBNEQ7QUFDNUQsMkRBQTJELEdBQzNELHdEQUF3RDtBQUN4RCxPQUFPLFNBQVNJLFlBQTBEQyxHQUFNLEVBQUVDLElBQU8sRUFBaUM7SUFDeEgsaURBQWlEO0lBQ2pELE9BQU9ELElBQUlFLGNBQWMsQ0FBQ0Q7QUFDNUIsQ0FBQyJ9
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Collection.d.ts","sourceRoot":"","sources":["../../src/Collection.ts"],"names":[],"mappings":";AACA,MAAM,WAAW,cAAc;CAAG;AAElC,qBAAa,UAAU,CAAC,CAAC,EAAE,CAAC,CAAE,SAAQ,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;IAC7C;;;OAGG;IACH,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,kEAAkE;IAClE,OAAO,EAAE,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC,KAAK,CAAA;KAAE,CAAC,GAAG,SAAS,CAAA;gBAElE,OAAO,CAAC,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC;IAU5G,YAAY,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK;IAgB5D,WAAW,IAAI,IAAI;IAInB,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAMhD,mBAAmB,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,cAAc,KAAK,OAAO,GAAG,IAAI;IAMxF,6EAA6E;IAC7E,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;IAS3B,oEAAoE;IACpE,QAAQ,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;IAIhC,0CAA0C;IAC1C,KAAK,IAAI,CAAC,EAAE;IAIZ,kEAAkE;IAClE,KAAK,IAAI,CAAC,GAAG,SAAS;IAItB,iEAAiE;IACjE,IAAI,IAAI,CAAC,GAAG,SAAS;IAIrB,iEAAiE;IACjE,MAAM,IAAI,CAAC,GAAG,SAAS;IAKvB,kDAAkD;IAClD,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,SAAS;IAQzE,yEAAyE;IACzE,MAAM,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,OAAO,GAAG,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC;IASjE,kGAAkG;IAClG,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;IAS9C,uEAAuE;IACvE,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,OAAO,GAAG,OAAO;IAStD,uEAAuE;IACvE,KAAK,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,OAAO,GAAG,OAAO;IASvD,wFAAwF;IACxF,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC;CAUlF;AAED,MAAM,WAAW,iBAAiB,CAAC,CAAC,EAAE,CAAC;IACrC,uEAAuE;IACvE,OAAO,CAAC,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IACjC,6DAA6D;IAC7D,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,iBAAiB,CAAC,CAAC,EAAE,CAAC;IACrC,0EAA0E;IAC1E,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAA;IACrD,mDAAmD;IACnD,QAAQ,EAAE,MAAM,CAAA;IAChB,4BAA4B;IAC5B,GAAG,CAAC,EAAE,cAAc,CAAA;CACrB"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base64.d.ts","sourceRoot":"","sources":["../../src/base64.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,GAAG,MAAM,CAyBzD;AAED;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAuB/C"}
@@ -9,7 +9,7 @@ export declare class LeakyBucket implements LeakyBucketOptions {
9
9
  queue: Array<(value: void | PromiseLike<void>) => void>;
10
10
  /** Whether or not the queue is already processing. */
11
11
  processing: boolean;
12
- /** The timeout id for the timer to reduce the used amount by the refill amount. */
12
+ /** The timeout id for the timer to reduce the used amount by the refill amount. */
13
13
  timeoutId?: NodeJS.Timeout;
14
14
  /** The timestamp in milliseconds when the next refill is scheduled. */
15
15
  refillsAt?: number;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bucket.d.ts","sourceRoot":"","sources":["../../src/bucket.ts"],"names":[],"mappings":";AAGA,qBAAa,WAAY,YAAW,kBAAkB;IACpD,GAAG,EAAE,MAAM,CAAA;IACX,cAAc,EAAE,MAAM,CAAA;IACtB,YAAY,EAAE,MAAM,CAAA;IAEpB,6DAA6D;IAC7D,IAAI,EAAE,MAAM,CAAI;IAChB,4FAA4F;IAC5F,KAAK,EAAE,KAAK,CAAC,CAAC,KAAK,EAAE,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAK;IAC5D,sDAAsD;IACtD,UAAU,EAAE,OAAO,CAAQ;IAC3B,mFAAmF;IACnF,SAAS,CAAC,EAAE,MAAM,CAAC,OAAO,CAAA;IAC1B,uEAAuE;IACvE,SAAS,CAAC,EAAE,MAAM,CAAA;gBAEN,OAAO,CAAC,EAAE,kBAAkB;IAMxC,gDAAgD;IAChD,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,oCAAoC;IACpC,YAAY,IAAI,IAAI;IAkBpB,kCAAkC;IAC5B,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAmDnC,sEAAsE;IAChE,OAAO,CAAC,YAAY,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;CAWrD;AAED,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB"}
@@ -0,0 +1,146 @@
1
+ import type { DiscordEmbed, DiscordEmbedAuthor, DiscordEmbedField, DiscordEmbedFooter, DiscordEmbedImage, DiscordEmbedThumbnail, DiscordEmbedVideo } from '@discordeno/types';
2
+ /**
3
+ * A builder to help create Discord embeds.
4
+ *
5
+ * @export
6
+ * @class EmbedsBuilder
7
+ * @typedef {EmbedsBuilder}
8
+ * @extends {Array<DiscordEmbed>}
9
+ * @example
10
+ * const embeds = new EmbedBuilder()
11
+ * .setTitle('My Embed')
12
+ * .setDescription('This is my new embed')
13
+ * .newEmbed()
14
+ * .setTitle('My Second Embed')
15
+ */
16
+ export declare class EmbedsBuilder extends Array<DiscordEmbed> {
17
+ #private;
18
+ /**
19
+ * Adds a new field to the embed fields array.
20
+ *
21
+ * @param {string} name - Field name
22
+ * @param {string} value - Field value
23
+ * @param {?boolean} [inline=false] - Field should be inline or not.
24
+ * @returns {EmbedsBuilder}
25
+ */
26
+ addField(name: string, value: string, inline?: boolean): EmbedsBuilder;
27
+ /**
28
+ * Creates a blank embed.
29
+ *
30
+ * @returns {EmbedsBuilder}
31
+ */
32
+ newEmbed(): EmbedsBuilder;
33
+ /**
34
+ * Set the current embed author.
35
+ *
36
+ * @param {string} name - Name of the author
37
+ * @param {?Omit<DiscordEmbedAuthor, 'name'>} [options] - Extra author options
38
+ * @returns {EmbedsBuilder}
39
+ */
40
+ setAuthor(name: string, options?: Omit<DiscordEmbedAuthor, 'name'>): EmbedsBuilder;
41
+ /**
42
+ * Set the color on the side of the current embed.
43
+ *
44
+ * @param {(number | string)} color - The color, in base16 or hex color code
45
+ * @returns {EmbedsBuilder}
46
+ */
47
+ setColor(color: number | string): EmbedsBuilder;
48
+ /**
49
+ * Set the current embed to a different index.
50
+ *
51
+ * WARNING: Only use this method if you know what you're doing. Make sure to set it back to the latest when you're done.
52
+ *
53
+ * @param {?number} [index] - The index of the embed in the EmbedsBuilder array
54
+ * @returns {EmbedsBuilder}
55
+ */
56
+ setCurrentEmbed(index?: number): EmbedsBuilder;
57
+ /**
58
+ * Set the description of the current embed.
59
+ *
60
+ * @param {string} description - Description
61
+ * @returns {EmbedsBuilder}
62
+ */
63
+ setDescription(description: string): EmbedsBuilder;
64
+ /**
65
+ * Overwrite all fields on the current embed.
66
+ *
67
+ * @param {DiscordEmbedField[]} fields
68
+ * @returns {EmbedsBuilder}
69
+ */
70
+ setFields(fields: DiscordEmbedField[]): EmbedsBuilder;
71
+ /**
72
+ * Set the footer in the current embed.
73
+ *
74
+ * @param {string} text - The text to display in the footer
75
+ * @param {?Omit<DiscordEmbedFooter, 'text'>} [options]
76
+ * @returns {EmbedsBuilder}
77
+ */
78
+ setFooter(text: string, options?: Omit<DiscordEmbedFooter, 'text'>): EmbedsBuilder;
79
+ /**
80
+ * Set the image in the current embed.
81
+ *
82
+ * @param {string} url - URL of the image
83
+ * @param {?Omit<DiscordEmbedImage, 'url'>} [options]
84
+ * @returns {EmbedsBuilder}
85
+ */
86
+ setImage(url: string, options?: Omit<DiscordEmbedImage, 'url'>): EmbedsBuilder;
87
+ /**
88
+ * Set the provider of the current embed.
89
+ *
90
+ * @param {string} name
91
+ * @param {?string} [url]
92
+ * @returns {EmbedsBuilder}
93
+ */
94
+ setProvider(name: string, url?: string): EmbedsBuilder;
95
+ /**
96
+ * Set the color of the current embed to a random value.
97
+ *
98
+ * @returns {EmbedsBuilder}
99
+ */
100
+ setRandomColor(): EmbedsBuilder;
101
+ /**
102
+ * Set the title of the current embed.
103
+ *
104
+ * @param {string} title
105
+ * @param {?string} [url]
106
+ * @returns {EmbedsBuilder}
107
+ */
108
+ setTitle(title: string, url?: string): EmbedsBuilder;
109
+ /**
110
+ * Set the timestamp of the current embed.
111
+ *
112
+ * @param {?(string | number | Date)} [timestamp]
113
+ * @returns {EmbedsBuilder}
114
+ */
115
+ setTimestamp(timestamp?: string | number | Date): EmbedsBuilder;
116
+ /**
117
+ * Set the thumbnail of the current embed.
118
+ *
119
+ * @param {string} url - URL of the image
120
+ * @param {?Omit<DiscordEmbedThumbnail, 'url'>} [options]
121
+ * @returns {EmbedsBuilder}
122
+ */
123
+ setThumbnail(url: string, options?: Omit<DiscordEmbedThumbnail, 'url'>): EmbedsBuilder;
124
+ /**
125
+ * Set the URL of the current embed title.
126
+ *
127
+ * @param {string} url
128
+ * @returns {EmbedsBuilder}
129
+ */
130
+ setUrl(url: string): EmbedsBuilder;
131
+ /**
132
+ * Set the video of the current embed.
133
+ *
134
+ * @param {string} url
135
+ * @param {?Omit<DiscordEmbedVideo, 'url'>} [options]
136
+ * @returns {EmbedsBuilder}
137
+ */
138
+ setVideo(url: string, options?: Omit<DiscordEmbedVideo, 'url'>): EmbedsBuilder;
139
+ /**
140
+ * Validate all embeds available against current known Discord limits to help prevent bad requests.
141
+ *
142
+ * @returns {EmbedsBuilder}
143
+ */
144
+ validate(): EmbedsBuilder;
145
+ }
146
+ //# sourceMappingURL=embeds.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embeds.d.ts","sourceRoot":"","sources":["../../../src/builders/embeds.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,qBAAqB,EACrB,iBAAiB,EAClB,MAAM,mBAAmB,CAAA;AAE1B;;;;;;;;;;;;;GAaG;AACH,qBAAa,aAAc,SAAQ,KAAK,CAAC,YAAY,CAAC;;IAGpD;;;;;;;OAOG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,aAAa;IActE;;;;OAIG;IACH,QAAQ,IAAI,aAAa;IAWzB;;;;;;OAMG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,aAAa;IAUlF;;;;;OAKG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,aAAa;IAW/C;;;;;;;OAOG;IACH,eAAe,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,aAAa;IAgB9C;;;;;OAKG;IACH,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,aAAa;IAMlD;;;;;OAKG;IACH,SAAS,CAAC,MAAM,EAAE,iBAAiB,EAAE,GAAG,aAAa;IAMrD;;;;;;OAMG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,aAAa;IAUlF;;;;;;OAMG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,KAAK,CAAC,GAAG,aAAa;IAU9E;;;;;;OAMG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,aAAa;IAStD;;;;OAIG;IACH,cAAc,IAAI,aAAa;IAI/B;;;;;;OAMG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,aAAa;IAUpD;;;;;OAKG;IACH,YAAY,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,aAAa;IAM/D;;;;;;OAMG;IACH,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,qBAAqB,EAAE,KAAK,CAAC,GAAG,aAAa;IAUtF;;;;;OAKG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa;IAMlC;;;;;;OAMG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,KAAK,CAAC,GAAG,aAAa;IAU9E;;;;OAIG;IACH,QAAQ,IAAI,aAAa;CA4F1B"}
@@ -0,0 +1,4 @@
1
+ import { EmbedsBuilder } from './builders/embeds.js';
2
+ export * from './builders/embeds.js';
3
+ export declare const createEmbeds: () => EmbedsBuilder;
4
+ //# sourceMappingURL=builders.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builders.d.ts","sourceRoot":"","sources":["../../src/builders.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAEpD,cAAc,sBAAsB,CAAA;AAEpC,eAAO,MAAM,YAAY,QAAO,aAAoC,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"casing.d.ts","sourceRoot":"","sources":["../../src/casing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAE5D,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAclD;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAcpD;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAepD;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAapD"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"colors.d.ts","sourceRoot":"","sources":["../../src/colors.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hash.d.ts","sourceRoot":"","sources":["../../src/hash.ts"],"names":[],"mappings":"AAAA,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAWrD;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKrD"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"images.d.ts","sourceRoot":"","sources":["../../src/images.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,wBAAwB,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAGpG,gCAAgC;AAChC,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE,SAAe,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,MAAM,CAE/F;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,UAAQ,GAAG,MAAM,CAErE;AAED;;;;;;;GAOG;AACH,wBAAgB,SAAS,CACvB,MAAM,EAAE,SAAS,EACjB,aAAa,EAAE,MAAM,EACrB,OAAO,CAAC,EAAE;IACR,MAAM,EAAE,SAAS,GAAG,SAAS,CAAA;IAC7B,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,MAAM,CAAC,EAAE,WAAW,CAAA;CACrB,GACA,MAAM,CAQR;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE;IACP,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACxB,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,MAAM,CAAC,EAAE,WAAW,CAAA;CACrB,GACA,MAAM,GAAG,SAAS,CAQpB;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,SAAS,EAClB,SAAS,EAAE,SAAS,GAAG,SAAS,EAChC,OAAO,CAAC,EAAE;IACR,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,MAAM,CAAC,EAAE,WAAW,CAAA;CACrB,GACA,MAAM,GAAG,SAAS,CAQpB;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,SAAS,EAClB,SAAS,EAAE,SAAS,GAAG,SAAS,EAChC,OAAO,CAAC,EAAE;IACR,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,MAAM,CAAC,EAAE,WAAW,CAAA;CACrB,GACA,MAAM,GAAG,SAAS,CAQpB;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,wBAAwB,GAAG,MAAM,CAQhG"}
@@ -1,11 +1,13 @@
1
+ export * from './Collection.js';
1
2
  export * from './base64.js';
2
3
  export * from './bucket.js';
4
+ export * from './builders.js';
3
5
  export * from './casing.js';
4
- export * from './Collection.js';
5
6
  export * from './colors.js';
6
7
  export * from './hash.js';
7
8
  export * from './images.js';
8
9
  export * from './logger.js';
10
+ export * from './oauth2.js';
9
11
  export * from './permissions.js';
10
12
  export * from './reactions.js';
11
13
  export * from './token.js';
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA;AAC/B,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,YAAY,CAAA;AAC1B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,kBAAkB,CAAA;AAChC,cAAc,YAAY,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/logger.ts"],"names":[],"mappings":"AAIA,oBAAY,SAAS;IACnB,KAAK,IAAA;IACL,IAAI,IAAA;IACJ,IAAI,IAAA;IACJ,KAAK,IAAA;IACL,KAAK,IAAA;CACN;AAED,oBAAY,QAAQ;IAClB,OAAO,IAAA;IACP,IAAI,IAAA;CACL;AAmBD,wBAAgB,YAAY,CAAC,EAC3B,QAAyB,EACzB,IAAI,GACL,GAAE;IACD,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,IAAI,CAAC,EAAE,MAAM,CAAA;CACT;iBAGgB,SAAS,WAAW,GAAG,EAAE;sBAkCpB,QAAQ;sBAJR,SAAS;qBAQV,GAAG,EAAE;oBAKN,GAAG,EAAE;oBAKL,GAAG,EAAE;qBAKJ,GAAG,EAAE;qBAKL,GAAG,EAAE;EAe9B;AAED,eAAO,MAAM,MAAM;iBA3EG,SAAS,WAAW,GAAG,EAAE;sBAkCpB,QAAQ;sBAJR,SAAS;qBAQV,GAAG,EAAE;oBAKN,GAAG,EAAE;oBAKL,GAAG,EAAE;qBAKJ,GAAG,EAAE;qBAKL,GAAG,EAAE;CAiB2B,CAAA;AAC1D,eAAe,MAAM,CAAA"}
@@ -0,0 +1,58 @@
1
+ import type { BigString, OAuth2Scope, PermissionStrings } from '@discordeno/types';
2
+ export declare function createOAuth2Link(options: CreateOAuth2LinkOptions): string;
3
+ export interface CreateOAuth2LinkOptions {
4
+ /**
5
+ * The type of response
6
+ *
7
+ * @remarks
8
+ * Should be defined only if using either OAuth2 authorization, implicit or not, or [advanced bot authorization](https://discord.com/developers/docs/topics/oauth2#advanced-bot-authorization)
9
+ */
10
+ responseType?: 'code' | 'token';
11
+ /** The id of the application */
12
+ clientId: BigString;
13
+ /** The scopes for the application */
14
+ scope: OAuth2Scope[];
15
+ /**
16
+ * The optional state for security
17
+ *
18
+ * @see https://discord.com/developers/docs/topics/oauth2#state-and-security
19
+ */
20
+ state?: string;
21
+ /**
22
+ * The redirect uri for after the authentication
23
+ *
24
+ * @remarks
25
+ * Should be defined only if using either OAuth2 authorization, implicit or not, or [advanced bot authorization](https://discord.com/developers/docs/topics/oauth2#advanced-bot-authorization)
26
+ */
27
+ redirectUri?: string;
28
+ /**
29
+ * The type of prompt to give to the user
30
+ *
31
+ * @remarks
32
+ * If set to `none`, it will skip the authorization screen and redirect them back to your redirect URI without requesting their authorization.
33
+ * For passthrough scopes, like bot and webhook.incoming, authorization is always required.
34
+ */
35
+ prompt?: 'consent' | 'none';
36
+ /**
37
+ * The permissions of the invited bot
38
+ *
39
+ * @remarks
40
+ * Should be defined only in a [bot authorization flow](https://discord.com/developers/docs/topics/oauth2#bot-authorization-flow) or with [advanced bot authorization](https://discord.com/developers/docs/topics/oauth2#advanced-bot-authorization)
41
+ */
42
+ permissions?: BigString | PermissionStrings[];
43
+ /**
44
+ * Pre-fills the dropdown picker with a guild for the user
45
+ *
46
+ * @remarks
47
+ * Should be defined only in a [bot authorization flow](https://discord.com/developers/docs/topics/oauth2#bot-authorization-flow) or with [advanced bot authorization](https://discord.com/developers/docs/topics/oauth2#advanced-bot-authorization) or with the `webhook.incoming` scope
48
+ */
49
+ guildId?: BigString;
50
+ /**
51
+ * Disallows the user from changing the guild dropdown if set to true
52
+ *
53
+ * @remarks
54
+ * Should be defined only in a [bot authorization flow](https://discord.com/developers/docs/topics/oauth2#bot-authorization-flow), with [advanced bot authorization](https://discord.com/developers/docs/topics/oauth2#advanced-bot-authorization) or with the `webhook.incoming` scope
55
+ */
56
+ disableGuildSelect?: boolean;
57
+ }
58
+ //# sourceMappingURL=oauth2.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oauth2.d.ts","sourceRoot":"","sources":["../../src/oauth2.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAGlF,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,MAAM,CAezE;AAED,MAAM,WAAW,uBAAuB;IACtC;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;IAC/B,gCAAgC;IAChC,QAAQ,EAAE,SAAS,CAAA;IACnB,qCAAqC;IACrC,KAAK,EAAE,WAAW,EAAE,CAAA;IACpB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,SAAS,GAAG,MAAM,CAAA;IAC3B;;;;;OAKG;IACH,WAAW,CAAC,EAAE,SAAS,GAAG,iBAAiB,EAAE,CAAA;IAC7C;;;;;OAKG;IACH,OAAO,CAAC,EAAE,SAAS,CAAA;IACnB;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAC7B"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../../src/permissions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAG1D,oEAAoE;AACpE,wBAAgB,oBAAoB,CAAC,cAAc,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAOhF;AAED,8EAA8E;AAC9E,wBAAgB,aAAa,CAAC,WAAW,EAAE,iBAAiB,EAAE,GAAG,MAAM,CAOtE"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reactions.d.ts","sourceRoot":"","sources":["../../src/reactions.ts"],"names":[],"mappings":"AAAA,wFAAwF;AACxF,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAU9D"}
@@ -1,4 +1,4 @@
1
- /** Removes the Bot before the token. */
1
+ /** Removes the Bot/Bearer before the token. */
2
2
  export declare function removeTokenPrefix(token?: string, type?: 'GATEWAY' | 'REST'): string;
3
3
  /** Get the bot id from the bot token. WARNING: Discord staff has mentioned this may not be stable forever. Use at your own risk. However, note for over 5 years this has never broken. */
4
4
  export declare function getBotIdFromToken(token: string): bigint;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../../src/token.ts"],"names":[],"mappings":"AAIA,+CAA+C;AAC/C,wBAAgB,iBAAiB,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,IAAI,GAAE,SAAS,GAAG,MAAe,GAAG,MAAM,CAY3F;AAED,0LAA0L;AAC1L,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEvD"}
@@ -1,6 +1,7 @@
1
- import type { GetMessagesAfter, GetMessagesAround, GetMessagesBefore, GetMessagesLimit, GetMessagesOptions } from '@discordeno/types';
1
+ import type { DiscordInviteCreate, DiscordInviteMetadata, GetMessagesAfter, GetMessagesAround, GetMessagesBefore, GetMessagesLimit, GetMessagesOptions } from '@discordeno/types';
2
2
  export declare function isGetMessagesAfter(options: GetMessagesOptions): options is GetMessagesAfter;
3
3
  export declare function isGetMessagesBefore(options: GetMessagesOptions): options is GetMessagesBefore;
4
4
  export declare function isGetMessagesAround(options: GetMessagesOptions): options is GetMessagesAround;
5
5
  export declare function isGetMessagesLimit(options: GetMessagesOptions): options is GetMessagesLimit;
6
+ export declare function isInviteWithMetadata(options: DiscordInviteCreate | DiscordInviteMetadata): options is DiscordInviteMetadata;
6
7
  //# sourceMappingURL=typeguards.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typeguards.d.ts","sourceRoot":"","sources":["../../src/typeguards.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,qBAAqB,EACrB,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EACnB,MAAM,mBAAmB,CAAA;AAG1B,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,IAAI,gBAAgB,CAE3F;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,IAAI,iBAAiB,CAE7F;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,IAAI,iBAAiB,CAE7F;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,IAAI,gBAAgB,CAE3F;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,mBAAmB,GAAG,qBAAqB,GAAG,OAAO,IAAI,qBAAqB,CAE3H"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"urlToBase64.d.ts","sourceRoot":"","sources":["../../src/urlToBase64.ts"],"names":[],"mappings":"AAEA,uFAAuF;AACvF,wBAAsB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAK9D"}