@discordeno/utils 19.0.0-next.523ffe3 → 19.0.0-next.53d2bb6

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 (100) hide show
  1. package/README.md +6 -10
  2. package/dist/cjs/Collection.cjs +123 -0
  3. package/dist/cjs/base64.cjs +276 -0
  4. package/dist/cjs/bucket.cjs +95 -0
  5. package/dist/cjs/builders/embeds.cjs +292 -0
  6. package/dist/cjs/builders.cjs +27 -0
  7. package/dist/cjs/casing.cjs +75 -0
  8. package/dist/cjs/colors.cjs +456 -0
  9. package/dist/cjs/hash.cjs +37 -0
  10. package/dist/cjs/images.cjs +61 -0
  11. package/dist/cjs/index.cjs +35 -0
  12. package/dist/cjs/logger.cjs +157 -0
  13. package/dist/cjs/oauth2.cjs +26 -0
  14. package/dist/cjs/permissions.cjs +35 -0
  15. package/dist/cjs/reactions.cjs +21 -0
  16. package/dist/cjs/token.cjs +39 -0
  17. package/dist/cjs/typeguards.cjs +45 -0
  18. package/dist/cjs/urlToBase64.cjs +19 -0
  19. package/dist/cjs/utils.cjs +30 -0
  20. package/dist/esm/Collection.js +113 -0
  21. package/dist/esm/base64.js +262 -0
  22. package/dist/esm/bucket.js +80 -0
  23. package/dist/esm/builders/embeds.js +295 -0
  24. package/dist/esm/builders.js +5 -0
  25. package/dist/esm/casing.js +51 -0
  26. package/dist/esm/colors.js +467 -0
  27. package/dist/esm/hash.js +19 -0
  28. package/dist/esm/images.js +66 -0
  29. package/dist/esm/index.js +18 -0
  30. package/dist/esm/logger.js +130 -0
  31. package/dist/esm/oauth2.js +16 -0
  32. package/dist/esm/permissions.js +17 -0
  33. package/dist/esm/reactions.js +11 -0
  34. package/dist/esm/token.js +21 -0
  35. package/dist/esm/typeguards.js +18 -0
  36. package/dist/esm/urlToBase64.js +9 -0
  37. package/dist/esm/utils.js +15 -0
  38. package/dist/{Collection.d.ts → types/Collection.d.ts} +2 -2
  39. package/dist/types/Collection.d.ts.map +1 -0
  40. package/dist/types/base64.d.ts.map +1 -0
  41. package/dist/types/bucket.d.ts +43 -0
  42. package/dist/types/bucket.d.ts.map +1 -0
  43. package/dist/types/builders/embeds.d.ts +146 -0
  44. package/dist/types/builders/embeds.d.ts.map +1 -0
  45. package/dist/types/builders.d.ts +4 -0
  46. package/dist/types/builders.d.ts.map +1 -0
  47. package/dist/types/casing.d.ts +6 -0
  48. package/dist/types/casing.d.ts.map +1 -0
  49. package/dist/types/colors.d.ts +275 -0
  50. package/dist/types/colors.d.ts.map +1 -0
  51. package/dist/types/hash.d.ts.map +1 -0
  52. package/dist/types/images.d.ts +68 -0
  53. package/dist/types/images.d.ts.map +1 -0
  54. package/dist/{index.d.ts → types/index.d.ts} +7 -1
  55. package/dist/types/index.d.ts.map +1 -0
  56. package/dist/types/logger.d.ts +36 -0
  57. package/dist/types/logger.d.ts.map +1 -0
  58. package/dist/types/oauth2.d.ts +58 -0
  59. package/dist/types/oauth2.d.ts.map +1 -0
  60. package/dist/types/permissions.d.ts.map +1 -0
  61. package/dist/types/reactions.d.ts +3 -0
  62. package/dist/types/reactions.d.ts.map +1 -0
  63. package/dist/{token.d.ts → types/token.d.ts} +1 -1
  64. package/dist/types/token.d.ts.map +1 -0
  65. package/dist/types/typeguards.d.ts +7 -0
  66. package/dist/types/typeguards.d.ts.map +1 -0
  67. package/dist/types/urlToBase64.d.ts.map +1 -0
  68. package/dist/types/utils.d.ts +5 -0
  69. package/dist/types/utils.d.ts.map +1 -0
  70. package/package.json +24 -18
  71. package/dist/Collection.d.ts.map +0 -1
  72. package/dist/Collection.js +0 -2
  73. package/dist/base64.d.ts.map +0 -1
  74. package/dist/base64.js +0 -2
  75. package/dist/bucket.d.ts +0 -49
  76. package/dist/bucket.d.ts.map +0 -1
  77. package/dist/bucket.js +0 -2
  78. package/dist/casing.d.ts +0 -4
  79. package/dist/casing.d.ts.map +0 -1
  80. package/dist/casing.js +0 -2
  81. package/dist/hash.d.ts.map +0 -1
  82. package/dist/hash.js +0 -2
  83. package/dist/images.d.ts +0 -23
  84. package/dist/images.d.ts.map +0 -1
  85. package/dist/images.js +0 -2
  86. package/dist/index.d.ts.map +0 -1
  87. package/dist/index.js +0 -2
  88. package/dist/permissions.d.ts.map +0 -1
  89. package/dist/permissions.js +0 -2
  90. package/dist/token.d.ts.map +0 -1
  91. package/dist/token.js +0 -2
  92. package/dist/urlToBase64.d.ts.map +0 -1
  93. package/dist/urlToBase64.js +0 -2
  94. package/dist/utils.d.ts +0 -6
  95. package/dist/utils.d.ts.map +0 -1
  96. package/dist/utils.js +0 -2
  97. /package/dist/{base64.d.ts → types/base64.d.ts} +0 -0
  98. /package/dist/{hash.d.ts → types/hash.d.ts} +0 -0
  99. /package/dist/{permissions.d.ts → types/permissions.d.ts} +0 -0
  100. /package/dist/{urlToBase64.d.ts → types/urlToBase64.d.ts} +0 -0
@@ -0,0 +1,157 @@
1
+ /* eslint-disable @typescript-eslint/no-confusing-void-expression */ /* eslint-disable @typescript-eslint/explicit-function-return-type */ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: all[name]
9
+ });
10
+ }
11
+ _export(exports, {
12
+ LogDepth: function() {
13
+ return LogDepth;
14
+ },
15
+ LogLevels: function() {
16
+ return LogLevels;
17
+ },
18
+ createLogger: function() {
19
+ return createLogger;
20
+ },
21
+ default: function() {
22
+ return _default;
23
+ },
24
+ logger: function() {
25
+ return logger;
26
+ }
27
+ });
28
+ const _colors = require("./colors.cjs");
29
+ var LogLevels;
30
+ (function(LogLevels) {
31
+ LogLevels[LogLevels["Debug"] = 0] = "Debug";
32
+ LogLevels[LogLevels["Info"] = 1] = "Info";
33
+ LogLevels[LogLevels["Warn"] = 2] = "Warn";
34
+ LogLevels[LogLevels["Error"] = 3] = "Error";
35
+ LogLevels[LogLevels["Fatal"] = 4] = "Fatal";
36
+ })(LogLevels || (LogLevels = {}));
37
+ var LogDepth;
38
+ (function(LogDepth) {
39
+ LogDepth[LogDepth["Minimal"] = 0] = "Minimal";
40
+ LogDepth[LogDepth["Full"] = 1] = "Full";
41
+ })(LogDepth || (LogDepth = {}));
42
+ const prefixes = new Map([
43
+ [
44
+ 0,
45
+ 'DEBUG'
46
+ ],
47
+ [
48
+ 1,
49
+ 'INFO'
50
+ ],
51
+ [
52
+ 2,
53
+ 'WARN'
54
+ ],
55
+ [
56
+ 3,
57
+ 'ERROR'
58
+ ],
59
+ [
60
+ 4,
61
+ 'FATAL'
62
+ ]
63
+ ]);
64
+ const noColor = (msg)=>msg;
65
+ const colorFunctions = new Map([
66
+ [
67
+ 0,
68
+ _colors.gray
69
+ ],
70
+ [
71
+ 1,
72
+ _colors.cyan
73
+ ],
74
+ [
75
+ 2,
76
+ _colors.yellow
77
+ ],
78
+ [
79
+ 3,
80
+ (str)=>(0, _colors.red)(str)
81
+ ],
82
+ [
83
+ 4,
84
+ (str)=>(0, _colors.red)((0, _colors.bold)((0, _colors.italic)(str)))
85
+ ]
86
+ ]);
87
+ function createLogger({ logLevel = 1, name } = {}) {
88
+ let depth = 0;
89
+ function log(level, ...args) {
90
+ if (level < logLevel) return;
91
+ let color = colorFunctions.get(level);
92
+ if (!color) color = noColor;
93
+ const date = new Date();
94
+ const log1 = [
95
+ (0, _colors.bgBrightMagenta)((0, _colors.black)(`[${date.toLocaleDateString()} ${date.toLocaleTimeString()}]`)),
96
+ color(prefixes.get(level) ?? 'DEBUG'),
97
+ name ? `${name} >` : '>',
98
+ ...args
99
+ ];
100
+ switch(level){
101
+ case 0:
102
+ return console.debug(...log1);
103
+ case 1:
104
+ return console.info(...log1);
105
+ case 2:
106
+ return console.warn(...log1);
107
+ case 3:
108
+ return console.error(...log1);
109
+ case 4:
110
+ return console.error(...log1);
111
+ default:
112
+ return console.log(...log1);
113
+ }
114
+ }
115
+ function setLevel(level) {
116
+ logLevel = level;
117
+ }
118
+ function setDepth(level) {
119
+ depth = level;
120
+ }
121
+ function debug(...args) {
122
+ if (0 === depth) log(0, args[0]);
123
+ else log(0, ...args);
124
+ }
125
+ function info(...args) {
126
+ if (0 === depth) log(1, args[0]);
127
+ else log(1, ...args);
128
+ }
129
+ function warn(...args) {
130
+ if (0 === depth) log(2, args[0]);
131
+ else log(2, ...args);
132
+ }
133
+ function error(...args) {
134
+ if (0 === depth) log(3, args[0]);
135
+ else log(3, ...args);
136
+ }
137
+ function fatal(...args) {
138
+ if (0 === depth) log(4, args[0]);
139
+ else log(4, ...args);
140
+ }
141
+ return {
142
+ log,
143
+ setDepth,
144
+ setLevel,
145
+ debug,
146
+ info,
147
+ warn,
148
+ error,
149
+ fatal
150
+ };
151
+ }
152
+ const logger = createLogger({
153
+ name: 'Discordeno'
154
+ });
155
+ const _default = logger;
156
+
157
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sb2dnZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWNvbmZ1c2luZy12b2lkLWV4cHJlc3Npb24gKi9cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9leHBsaWNpdC1mdW5jdGlvbi1yZXR1cm4tdHlwZSAqL1xuaW1wb3J0IHsgYmdCcmlnaHRNYWdlbnRhLCBibGFjaywgYm9sZCwgY3lhbiwgZ3JheSwgaXRhbGljLCByZWQsIHllbGxvdyB9IGZyb20gJy4vY29sb3JzLmpzJ1xuXG5leHBvcnQgZW51bSBMb2dMZXZlbHMge1xuICBEZWJ1ZyxcbiAgSW5mbyxcbiAgV2FybixcbiAgRXJyb3IsXG4gIEZhdGFsLFxufVxuXG5leHBvcnQgZW51bSBMb2dEZXB0aCB7XG4gIE1pbmltYWwsXG4gIEZ1bGwsXG59XG5cbmNvbnN0IHByZWZpeGVzID0gbmV3IE1hcDxMb2dMZXZlbHMsIHN0cmluZz4oW1xuICBbTG9nTGV2ZWxzLkRlYnVnLCAnREVCVUcnXSxcbiAgW0xvZ0xldmVscy5JbmZvLCAnSU5GTyddLFxuICBbTG9nTGV2ZWxzLldhcm4sICdXQVJOJ10sXG4gIFtMb2dMZXZlbHMuRXJyb3IsICdFUlJPUiddLFxuICBbTG9nTGV2ZWxzLkZhdGFsLCAnRkFUQUwnXSxcbl0pXG5cbmNvbnN0IG5vQ29sb3I6IChzdHI6IHN0cmluZykgPT4gc3RyaW5nID0gKG1zZykgPT4gbXNnXG5jb25zdCBjb2xvckZ1bmN0aW9ucyA9IG5ldyBNYXA8TG9nTGV2ZWxzLCAoc3RyOiBzdHJpbmcpID0+IHN0cmluZz4oW1xuICBbTG9nTGV2ZWxzLkRlYnVnLCBncmF5XSxcbiAgW0xvZ0xldmVscy5JbmZvLCBjeWFuXSxcbiAgW0xvZ0xldmVscy5XYXJuLCB5ZWxsb3ddLFxuICBbTG9nTGV2ZWxzLkVycm9yLCAoc3RyOiBzdHJpbmcpID0+IHJlZChzdHIpXSxcbiAgW0xvZ0xldmVscy5GYXRhbCwgKHN0cjogc3RyaW5nKSA9PiByZWQoYm9sZChpdGFsaWMoc3RyKSkpXSxcbl0pXG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVMb2dnZXIoe1xuICBsb2dMZXZlbCA9IExvZ0xldmVscy5JbmZvLFxuICBuYW1lLFxufToge1xuICBsb2dMZXZlbD86IExvZ0xldmVsc1xuICBuYW1lPzogc3RyaW5nXG59ID0ge30pIHtcbiAgbGV0IGRlcHRoID0gTG9nRGVwdGguTWluaW1hbFxuXG4gIGZ1bmN0aW9uIGxvZyhsZXZlbDogTG9nTGV2ZWxzLCAuLi5hcmdzOiBhbnlbXSkge1xuICAgIGlmIChsZXZlbCA8IGxvZ0xldmVsKSByZXR1cm5cblxuICAgIGxldCBjb2xvciA9IGNvbG9yRnVuY3Rpb25zLmdldChsZXZlbClcbiAgICBpZiAoIWNvbG9yKSBjb2xvciA9IG5vQ29sb3JcblxuICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSgpXG4gICAgY29uc3QgbG9nID0gW1xuICAgICAgYmdCcmlnaHRNYWdlbnRhKGJsYWNrKGBbJHtkYXRlLnRvTG9jYWxlRGF0ZVN0cmluZygpfSAke2RhdGUudG9Mb2NhbGVUaW1lU3RyaW5nKCl9XWApKSxcbiAgICAgIGNvbG9yKHByZWZpeGVzLmdldChsZXZlbCkgPz8gJ0RFQlVHJyksXG4gICAgICBuYW1lID8gYCR7bmFtZX0gPmAgOiAnPicsXG4gICAgICAuLi5hcmdzLFxuICAgIF1cblxuICAgIHN3aXRjaCAobGV2ZWwpIHtcbiAgICAgIGNhc2UgTG9nTGV2ZWxzLkRlYnVnOlxuICAgICAgICByZXR1cm4gY29uc29sZS5kZWJ1ZyguLi5sb2cpXG4gICAgICBjYXNlIExvZ0xldmVscy5JbmZvOlxuICAgICAgICByZXR1cm4gY29uc29sZS5pbmZvKC4uLmxvZylcbiAgICAgIGNhc2UgTG9nTGV2ZWxzLldhcm46XG4gICAgICAgIHJldHVybiBjb25zb2xlLndhcm4oLi4ubG9nKVxuICAgICAgY2FzZSBMb2dMZXZlbHMuRXJyb3I6XG4gICAgICAgIHJldHVybiBjb25zb2xlLmVycm9yKC4uLmxvZylcbiAgICAgIGNhc2UgTG9nTGV2ZWxzLkZhdGFsOlxuICAgICAgICByZXR1cm4gY29uc29sZS5lcnJvciguLi5sb2cpXG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gY29uc29sZS5sb2coLi4ubG9nKVxuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIHNldExldmVsKGxldmVsOiBMb2dMZXZlbHMpIHtcbiAgICBsb2dMZXZlbCA9IGxldmVsXG4gIH1cblxuICBmdW5jdGlvbiBzZXREZXB0aChsZXZlbDogTG9nRGVwdGgpIHtcbiAgICBkZXB0aCA9IGxldmVsXG4gIH1cblxuICBmdW5jdGlvbiBkZWJ1ZyguLi5hcmdzOiBhbnlbXSkge1xuICAgIGlmIChMb2dEZXB0aC5NaW5pbWFsID09PSBkZXB0aCkgbG9nKExvZ0xldmVscy5EZWJ1ZywgYXJnc1swXSlcbiAgICBlbHNlIGxvZyhMb2dMZXZlbHMuRGVidWcsIC4uLmFyZ3MpXG4gIH1cblxuICBmdW5jdGlvbiBpbmZvKC4uLmFyZ3M6IGFueVtdKSB7XG4gICAgaWYgKExvZ0RlcHRoLk1pbmltYWwgPT09IGRlcHRoKSBsb2coTG9nTGV2ZWxzLkluZm8sIGFyZ3NbMF0pXG4gICAgZWxzZSBsb2coTG9nTGV2ZWxzLkluZm8sIC4uLmFyZ3MpXG4gIH1cblxuICBmdW5jdGlvbiB3YXJuKC4uLmFyZ3M6IGFueVtdKSB7XG4gICAgaWYgKExvZ0RlcHRoLk1pbmltYWwgPT09IGRlcHRoKSBsb2coTG9nTGV2ZWxzLldhcm4sIGFyZ3NbMF0pXG4gICAgZWxzZSBsb2coTG9nTGV2ZWxzLldhcm4sIC4uLmFyZ3MpXG4gIH1cblxuICBmdW5jdGlvbiBlcnJvciguLi5hcmdzOiBhbnlbXSkge1xuICAgIGlmIChMb2dEZXB0aC5NaW5pbWFsID09PSBkZXB0aCkgbG9nKExvZ0xldmVscy5FcnJvciwgYXJnc1swXSlcbiAgICBlbHNlIGxvZyhMb2dMZXZlbHMuRXJyb3IsIC4uLmFyZ3MpXG4gIH1cblxuICBmdW5jdGlvbiBmYXRhbCguLi5hcmdzOiBhbnlbXSkge1xuICAgIGlmIChMb2dEZXB0aC5NaW5pbWFsID09PSBkZXB0aCkgbG9nKExvZ0xldmVscy5GYXRhbCwgYXJnc1swXSlcbiAgICBlbHNlIGxvZyhMb2dMZXZlbHMuRmF0YWwsIC4uLmFyZ3MpXG4gIH1cblxuICByZXR1cm4ge1xuICAgIGxvZyxcbiAgICBzZXREZXB0aCxcbiAgICBzZXRMZXZlbCxcbiAgICBkZWJ1ZyxcbiAgICBpbmZvLFxuICAgIHdhcm4sXG4gICAgZXJyb3IsXG4gICAgZmF0YWwsXG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IGxvZ2dlciA9IGNyZWF0ZUxvZ2dlcih7IG5hbWU6ICdEaXNjb3JkZW5vJyB9KVxuZXhwb3J0IGRlZmF1bHQgbG9nZ2VyXG4iXSwibmFtZXMiOlsiY3JlYXRlTG9nZ2VyIiwibG9nZ2VyIiwiTG9nTGV2ZWxzIiwiTG9nRGVwdGgiLCJwcmVmaXhlcyIsIk1hcCIsIm5vQ29sb3IiLCJtc2ciLCJjb2xvckZ1bmN0aW9ucyIsImdyYXkiLCJjeWFuIiwieWVsbG93Iiwic3RyIiwicmVkIiwiYm9sZCIsIml0YWxpYyIsImxvZ0xldmVsIiwibmFtZSIsImRlcHRoIiwibG9nIiwibGV2ZWwiLCJhcmdzIiwiY29sb3IiLCJnZXQiLCJkYXRlIiwiRGF0ZSIsImJnQnJpZ2h0TWFnZW50YSIsImJsYWNrIiwidG9Mb2NhbGVEYXRlU3RyaW5nIiwidG9Mb2NhbGVUaW1lU3RyaW5nIiwiY29uc29sZSIsImRlYnVnIiwiaW5mbyIsIndhcm4iLCJlcnJvciIsInNldExldmVsIiwic2V0RGVwdGgiLCJmYXRhbCJdLCJtYXBwaW5ncyI6IkFBQUEsa0VBQWtFLEdBQ2xFLG1FQUFtRTs7Ozs7Ozs7Ozs7Ozs7Ozs7SUFpQ25EQSxZQUFZO2VBQVpBOztJQXFGaEIsT0FBcUI7ZUFBckI7O0lBRGFDLE1BQU07ZUFBTkE7Ozt3QkFwSGlFOztVQUVsRUM7Ozs7OztHQUFBQSxjQUFBQTs7VUFRQUM7OztHQUFBQSxhQUFBQTtBQUtaLE1BQU1DLFdBQVcsSUFBSUMs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
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "createOAuth2Link", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return createOAuth2Link;
9
+ }
10
+ });
11
+ const _permissions = require("./permissions.cjs");
12
+ function createOAuth2Link(options) {
13
+ const joinedScopeString = options.scope.join(' ');
14
+ let url = `https://discord.com/oauth2/authorize?client_id=${options.clientId}&scope=${joinedScopeString}`;
15
+ if (options.responseType) url += `&response_type=${options.responseType}`;
16
+ if (options.state) url += `&state=${encodeURIComponent(options.state)}`;
17
+ if (options.redirectUri) url += `&redirect_uri=${encodeURIComponent(options.redirectUri)}`;
18
+ if (options.prompt) url += `&prompt=${options.prompt}`;
19
+ if (options.permissions) url += `&permissions=${Array.isArray(options.permissions) ? (0, _permissions.calculateBits)(options.permissions) : options.permissions}`;
20
+ if (options.guildId) url += `&guild_id=${options.guildId}`;
21
+ // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
22
+ if (options.disableGuildSelect !== undefined) url += `&disable_guild_select=${options.disableGuildSelect}`;
23
+ return url;
24
+ }
25
+
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9vYXV0aDIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBCaWdTdHJpbmcsIE9BdXRoMlNjb3BlLCBQZXJtaXNzaW9uU3RyaW5ncyB9IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJ1xuaW1wb3J0IHsgY2FsY3VsYXRlQml0cyB9IGZyb20gJy4vcGVybWlzc2lvbnMuanMnXG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVPQXV0aDJMaW5rKG9wdGlvbnM6IENyZWF0ZU9BdXRoMkxpbmtPcHRpb25zKTogc3RyaW5nIHtcbiAgY29uc3Qgam9pbmVkU2NvcGVTdHJpbmcgPSBvcHRpb25zLnNjb3BlLmpvaW4oJyAnKVxuXG4gIGxldCB1cmwgPSBgaHR0cHM6Ly9kaXNjb3JkLmNvbS9vYXV0aDIvYXV0aG9yaXplP2NsaWVudF9pZD0ke29wdGlvbnMuY2xpZW50SWR9JnNjb3BlPSR7am9pbmVkU2NvcGVTdHJpbmd9YFxuXG4gIGlmIChvcHRpb25zLnJlc3BvbnNlVHlwZSkgdXJsICs9IGAmcmVzcG9uc2VfdHlwZT0ke29wdGlvbnMucmVzcG9uc2VUeXBlfWBcbiAgaWYgKG9wdGlvbnMuc3RhdGUpIHVybCArPSBgJnN0YXRlPSR7ZW5jb2RlVVJJQ29tcG9uZW50KG9wdGlvbnMuc3RhdGUpfWBcbiAgaWYgKG9wdGlvbnMucmVkaXJlY3RVcmkpIHVybCArPSBgJnJlZGlyZWN0X3VyaT0ke2VuY29kZVVSSUNvbXBvbmVudChvcHRpb25zLnJlZGlyZWN0VXJpKX1gXG4gIGlmIChvcHRpb25zLnByb21wdCkgdXJsICs9IGAmcHJvbXB0PSR7b3B0aW9ucy5wcm9tcHR9YFxuICBpZiAob3B0aW9ucy5wZXJtaXNzaW9ucykgdXJsICs9IGAmcGVybWlzc2lvbnM9JHtBcnJheS5pc0FycmF5KG9wdGlvbnMucGVybWlzc2lvbnMpID8gY2FsY3VsYXRlQml0cyhvcHRpb25zLnBlcm1pc3Npb25zKSA6IG9wdGlvbnMucGVybWlzc2lvbnN9YFxuICBpZiAob3B0aW9ucy5ndWlsZElkKSB1cmwgKz0gYCZndWlsZF9pZD0ke29wdGlvbnMuZ3VpbGRJZH1gXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvcmVzdHJpY3QtdGVtcGxhdGUtZXhwcmVzc2lvbnNcbiAgaWYgKG9wdGlvbnMuZGlzYWJsZUd1aWxkU2VsZWN0ICE9PSB1bmRlZmluZWQpIHVybCArPSBgJmRpc2FibGVfZ3VpbGRfc2VsZWN0PSR7b3B0aW9ucy5kaXNhYmxlR3VpbGRTZWxlY3R9YFxuXG4gIHJldHVybiB1cmxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDcmVhdGVPQXV0aDJMaW5rT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgdHlwZSBvZiByZXNwb25zZVxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBTaG91bGQgYmUgZGVmaW5lZCBvbmx5IGlmIHVzaW5nIGVpdGhlciBPQXV0aDIgYXV0aG9yaXphdGlvbiwgaW1wbGljaXQgb3Igbm90LCBvciBbYWR2YW5jZWQgYm90IGF1dGhvcml6YXRpb25dKGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9vYXV0aDIjYWR2YW5jZWQtYm90LWF1dGhvcml6YXRpb24pXG4gICAqL1xuICByZXNwb25zZVR5cGU/OiAnY29kZScgfCAndG9rZW4nXG4gIC8qKiBUaGUgaWQgb2YgdGhlIGFwcGxpY2F0aW9uICovXG4gIGNsaWVudElkOiBCaWdTdHJpbmdcbiAgLyoqIFRoZSBzY29wZXMgZm9yIHRoZSBhcHBsaWNhdGlvbiAqL1xuICBzY29wZTogT0F1dGgyU2NvcGVbXVxuICAvKipcbiAgICogVGhlIG9wdGlvbmFsIHN0YXRlIGZvciBzZWN1cml0eVxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9vYXV0aDIjc3RhdGUtYW5kLXNlY3VyaXR5XG4gICAqL1xuICBzdGF0ZT86IHN0cmluZ1xuICAvKipcbiAgICogVGhlIHJlZGlyZWN0IHVyaSBmb3IgYWZ0ZXIgdGhlIGF1dGhlbnRpY2F0aW9uXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIFNob3VsZCBiZSBkZWZpbmVkIG9ubHkgaWYgdXNpbmcgZWl0aGVyIE9BdXRoMiBhdXRob3JpemF0aW9uLCBpbXBsaWNpdCBvciBub3QsIG9yIFthZHZhbmNlZCBib3QgYXV0aG9yaXphdGlvbl0oaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvdG9waWNzL29hdXRoMiNhZHZhbmNlZC1ib3QtYXV0aG9yaXphdGlvbilcbiAgICovXG4gIHJlZGlyZWN0VXJpPzogc3RyaW5nXG4gIC8qKlxuICAgKiBUaGUgdHlwZSBvZiBwcm9tcHQgdG8gZ2l2ZSB0byB0aGUgdXNlclxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBJZiBzZXQgdG8gYG5vbmVgLCBpdCB3aWxsIHNraXAgdGhlIGF1dGhvcml6YXRpb24gc2NyZWVuIGFuZCByZWRpcmVjdCB0aGVtIGJhY2sgdG8geW91ciByZWRpcmVjdCBVUkkgd2l0aG91dCByZXF1ZXN0aW5nIHRoZWlyIGF1dGhvcml6YXRpb24uXG4gICAqIEZvciBwYXNzdGhyb3VnaCBzY29wZXMsIGxpa2UgYm90IGFuZCB3ZWJob29rLmluY29taW5nLCBhdXRob3JpemF0aW9uIGlzIGFsd2F5cyByZXF1aXJlZC5cbiAgICovXG4gIHByb21wdD86ICdjb25zZW50JyB8ICdub25lJ1xuICAvKipcbiAgICogVGhlIHBlcm1pc3Npb25zIG9mIHRoZSBpbnZpdGVkIGJvdFxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBTaG91bGQgYmUgZGVmaW5lZCBvbmx5IGluIGEgW2JvdCBhdXRob3JpemF0aW9uIGZsb3ddKGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9vYXV0aDIjYm90LWF1dGhvcml6YXRpb24tZmxvdykgb3Igd2l0aCBbYWR2YW5jZWQgYm90IGF1dGhvcml6YXRpb25dKGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9vYXV0aDIjYWR2YW5jZWQtYm90LWF1dGhvcml6YXRpb24pXG4gICAqL1xuICBwZXJtaXNzaW9ucz86IEJpZ1N0cmluZyB8IFBlcm1pc3Npb25TdHJpbmdzW11cbiAgLyoqXG4gICAqIFByZS1maWxscyB0aGUgZHJvcGRvd24gcGlja2VyIHdpdGggYSBndWlsZCBmb3IgdGhlIHVzZXJcbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogU2hvdWxkIGJlIGRlZmluZWQgb25seSBpbiBhIFtib3QgYXV0aG9yaXphdGlvbiBmbG93XShodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3Mvb2F1dGgyI2JvdC1hdXRob3JpemF0aW9uLWZsb3cpIG9yIHdpdGggW2FkdmFuY2VkIGJvdCBhdXRob3JpemF0aW9uXShodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3Mvb2F1dGgyI2FkdmFuY2VkLWJvdC1hdXRob3JpemF0aW9uKSBvciB3aXRoIHRoZSBgd2ViaG9vay5pbmNvbWluZ2Agc2NvcGVcbiAgICovXG4gIGd1aWxkSWQ/OiBCaWdTdHJpbmdcbiAgLyoqXG4gICAqIERpc2FsbG93cyB0aGUgdXNlciBmcm9tIGNoYW5naW5nIHRoZSBndWlsZCBkcm9wZG93biBpZiBzZXQgdG8gdHJ1ZVxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBTaG91bGQgYmUgZGVmaW5lZCBvbmx5IGluIGEgW2JvdCBhdXRob3JpemF0aW9uIGZsb3ddKGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3RvcGljcy9vYXV0aDIjYm90LWF1dGhvcml6YXRpb24tZmxvdyksIHdpdGggW2FkdmFuY2VkIGJvdCBhdXRob3JpemF0aW9uXShodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy90b3BpY3Mvb2F1dGgyI2FkdmFuY2VkLWJvdC1hdXRob3JpemF0aW9uKSBvciB3aXRoIHRoZSBgd2ViaG9vay5pbmNvbWluZ2Agc2NvcGVcbiAgICovXG4gIGRpc2FibGVHdWlsZFNlbGVjdD86IGJvb2xlYW5cbn1cbiJdLCJuYW1lcyI6WyJjcmVhdGVPQXV0aDJMaW5rIiwib3B0aW9ucyIsImpvaW5lZFNjb3BlU3RyaW5nIiwic2NvcGUiLCJqb2luIiwidXJsIiwiY2xpZW50SWQiLCJyZXNwb25zZVR5cGUiLCJzdGF0ZSIsImVuY29kZVVSSUNvbXBvbmVudCIsInJlZGlyZWN0VXJpIiwicHJvbXB0IiwicGVybWlzc2lvbnMiLCJBcnJheSIsImlzQXJyYXkiLCJjYWxjdWxhdGVCaXRzIiwiZ3VpbGRJZCIsImRpc2FibGVHdWlsZFNlbGVjdCIsInVuZGVmaW5lZCJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFHZ0JBOzs7ZUFBQUE7Ozs2QkFGYztBQUV2QixTQUFTQSxpQkFBaUJDLE9BQWdDO0lBQy9ELE1BQU1DLG9CQUFvQkQsUUFBUUUsS0FBSyxDQUFDQyxJQUFJLENBQUM7SUFFN0MsSUFBSUMsTUFBTSxDQUFDLCtDQUErQyxFQUFFSixRQUFRSyxRQUFRLENBQUMsT0FBTyxFQUFFSixrQkFBa0IsQ0FBQztJQUV6RyxJQUFJRCxRQUFRTSxZQUFZLEVBQUVGLE9BQU8sQ0FBQyxlQUFlLEVBQUVKLFFBQVFNLFlBQVksQ0FBQyxDQUFDO0lBQ3pFLElBQUlOLFFBQVFPLEtBQUssRUFBRUgsT0FBTyxDQUFDLE9BQU8sRUFBRUksbUJBQW1CUixRQUFRTyxLQUFLLEVBQUUsQ0FBQztJQUN2RSxJQUFJUCxRQUFRUyxXQUFXLEVBQUVMLE9BQU8sQ0FBQyxjQUFjLEVBQUVJLG1CQUFtQlIsUUFBUVMsV0FBVyxFQUFFLENBQUM7SUFDMUYsSUFBSVQsUUFBUVUsTUFBTSxFQUFFTixPQUFPLENBQUMsUUFBUSxFQUFFSixRQUFRVSxNQUFNLENBQUMsQ0FBQztJQUN0RCxJQUFJVixRQUFRVyxXQUFXLEVBQUVQLE9BQU8sQ0FBQyxhQUFhLEVBQUVRLE1BQU1DLE9BQU8sQ0FBQ2IsUUFBUVcsV0FBVyxJQUFJRyxJQUFBQSwwQkFBYSxFQUFDZCxRQUFRVyxXQUFXLElBQUlYLFFBQVFXLFdBQVcsQ0FBQyxDQUFDO0lBQy9JLElBQUlYLFFBQVFlLE9BQU8sRUFBRVgsT0FBTyxDQUFDLFVBQVUsRUFBRUosUUFBUWUsT0FBTyxDQUFDLENBQUM7SUFDMUQsNEVBQTRFO0lBQzVFLElBQUlmLFFBQVFnQixrQkFBa0IsS0FBS0MsV0FBV2IsT0FBTyxDQUFDLHNCQUFzQixFQUFFSixRQUFRZ0Isa0JBQWtCLENBQUMsQ0FBQztJQUUxRyxPQUFPWjtBQUNUIn0=
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: all[name]
9
+ });
10
+ }
11
+ _export(exports, {
12
+ calculateBits: function() {
13
+ return calculateBits;
14
+ },
15
+ calculatePermissions: function() {
16
+ return calculatePermissions;
17
+ }
18
+ });
19
+ const _types = require("@discordeno/types");
20
+ function calculatePermissions(permissionBits) {
21
+ return Object.keys(_types.BitwisePermissionFlags).filter((permission)=>{
22
+ // Since Object.keys() not only returns the permission names but also the bit values we need to return false if it is a Number
23
+ if (Number(permission)) return false;
24
+ // Check if permissionBits has this permission
25
+ return permissionBits & BigInt(_types.BitwisePermissionFlags[permission]);
26
+ });
27
+ }
28
+ function calculateBits(permissions) {
29
+ return permissions.reduce((bits, perm)=>{
30
+ bits |= BigInt(_types.BitwisePermissionFlags[perm]);
31
+ return bits;
32
+ }, 0n).toString();
33
+ }
34
+
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wZXJtaXNzaW9ucy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFBlcm1pc3Npb25TdHJpbmdzIH0gZnJvbSAnQGRpc2NvcmRlbm8vdHlwZXMnXG5pbXBvcnQgeyBCaXR3aXNlUGVybWlzc2lvbkZsYWdzIH0gZnJvbSAnQGRpc2NvcmRlbm8vdHlwZXMnXG5cbi8qKiBUaGlzIGZ1bmN0aW9uIGNvbnZlcnRzIGEgYml0d2lzZSBzdHJpbmcgdG8gcGVybWlzc2lvbiBzdHJpbmdzICovXG5leHBvcnQgZnVuY3Rpb24gY2FsY3VsYXRlUGVybWlzc2lvbnMocGVybWlzc2lvbkJpdHM6IGJpZ2ludCk6IFBlcm1pc3Npb25TdHJpbmdzW10ge1xuICByZXR1cm4gT2JqZWN0LmtleXMoQml0d2lzZVBlcm1pc3Npb25GbGFncykuZmlsdGVyKChwZXJtaXNzaW9uKSA9PiB7XG4gICAgLy8gU2luY2UgT2JqZWN0LmtleXMoKSBub3Qgb25seSByZXR1cm5zIHRoZSBwZXJtaXNzaW9uIG5hbWVzIGJ1dCBhbHNvIHRoZSBiaXQgdmFsdWVzIHdlIG5lZWQgdG8gcmV0dXJuIGZhbHNlIGlmIGl0IGlzIGEgTnVtYmVyXG4gICAgaWYgKE51bWJlcihwZXJtaXNzaW9uKSkgcmV0dXJuIGZhbHNlXG4gICAgLy8gQ2hlY2sgaWYgcGVybWlzc2lvbkJpdHMgaGFzIHRoaXMgcGVybWlzc2lvblxuICAgIHJldHVybiBwZXJtaXNzaW9uQml0cyAmIEJpZ0ludChCaXR3aXNlUGVybWlzc2lvbkZsYWdzW3Blcm1pc3Npb24gYXMgUGVybWlzc2lvblN0cmluZ3NdKVxuICB9KSBhcyBQZXJtaXNzaW9uU3RyaW5nc1tdXG59XG5cbi8qKiBUaGlzIGZ1bmN0aW9uIGNvbnZlcnRzIGFuIGFycmF5IG9mIHBlcm1pc3Npb25zIGludG8gdGhlIGJpdHdpc2Ugc3RyaW5nLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNhbGN1bGF0ZUJpdHMocGVybWlzc2lvbnM6IFBlcm1pc3Npb25TdHJpbmdzW10pOiBzdHJpbmcge1xuICByZXR1cm4gcGVybWlzc2lvbnNcbiAgICAucmVkdWNlKChiaXRzLCBwZXJtKSA9PiB7XG4gICAgICBiaXRzIHw9IEJpZ0ludChCaXR3aXNlUGVybWlzc2lvbkZsYWdzW3Blcm1dKVxuICAgICAgcmV0dXJuIGJpdHNcbiAgICB9LCAwbilcbiAgICAudG9TdHJpbmcoKVxufVxuIl0sIm5hbWVzIjpbImNhbGN1bGF0ZUJpdHMiLCJjYWxjdWxhdGVQZXJtaXNzaW9ucyIsInBlcm1pc3Npb25CaXRzIiwiT2JqZWN0Iiwia2V5cyIsIkJpdHdpc2VQZXJtaXNzaW9uRmxhZ3MiLCJmaWx0ZXIiLCJwZXJtaXNzaW9uIiwiTnVtYmVyIiwiQmlnSW50IiwicGVybWlzc2lvbnMiLCJyZWR1Y2UiLCJiaXRzIiwicGVybSIsInRvU3RyaW5nIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztJQWNnQkEsYUFBYTtlQUFiQTs7SUFWQUMsb0JBQW9CO2VBQXBCQTs7O3VCQUh1QjtBQUdoQyxTQUFTQSxxQkFBcUJDLGNBQXNCO0lBQ3pELE9BQU9DLE9BQU9DLElBQUksQ0FBQ0MsNkJBQXNCLEVBQUVDLE1BQU0sQ0FBQyxDQUFDQztRQUNqRCw4SEFBOEg7UUFDOUgsSUFBSUMsT0FBT0QsYUFBYSxPQUFPO1FBQy9CLDhDQUE4QztRQUM5QyxPQUFPTCxpQkFBaUJPLE9BQU9KLDZCQUFzQixDQUFDRSxXQUFnQztJQUN4RjtBQUNGO0FBR08sU0FBU1AsY0FBY1UsV0FBZ0M7SUFDNUQsT0FBT0EsWUFDSkMsTUFBTSxDQUFDLENBQUNDLE1BQU1DO1FBQ2JELFFBQVFILE9BQU9KLDZCQUFzQixDQUFDUSxLQUFLO1FBQzNDLE9BQU9EO0lBQ1QsR0FBRyxFQUFFLEVBQ0pFLFFBQVE7QUFDYiJ9
@@ -0,0 +1,21 @@
1
+ /** Converts an reaction emoji unicode string to the discord required form of name:id */ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "processReactionString", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return processReactionString;
9
+ }
10
+ });
11
+ function processReactionString(reaction) {
12
+ if (reaction.startsWith('<:')) {
13
+ return reaction.substring(2, reaction.length - 1);
14
+ }
15
+ if (reaction.startsWith('<a:')) {
16
+ return reaction.substring(3, reaction.length - 1);
17
+ }
18
+ return reaction;
19
+ }
20
+
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9yZWFjdGlvbnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIENvbnZlcnRzIGFuIHJlYWN0aW9uIGVtb2ppIHVuaWNvZGUgc3RyaW5nIHRvIHRoZSBkaXNjb3JkIHJlcXVpcmVkIGZvcm0gb2YgbmFtZTppZCAqL1xuZXhwb3J0IGZ1bmN0aW9uIHByb2Nlc3NSZWFjdGlvblN0cmluZyhyZWFjdGlvbjogc3RyaW5nKTogc3RyaW5nIHtcbiAgaWYgKHJlYWN0aW9uLnN0YXJ0c1dpdGgoJzw6JykpIHtcbiAgICByZXR1cm4gcmVhY3Rpb24uc3Vic3RyaW5nKDIsIHJlYWN0aW9uLmxlbmd0aCAtIDEpXG4gIH1cblxuICBpZiAocmVhY3Rpb24uc3RhcnRzV2l0aCgnPGE6JykpIHtcbiAgICByZXR1cm4gcmVhY3Rpb24uc3Vic3RyaW5nKDMsIHJlYWN0aW9uLmxlbmd0aCAtIDEpXG4gIH1cblxuICByZXR1cm4gcmVhY3Rpb25cbn1cbiJdLCJuYW1lcyI6WyJwcm9jZXNzUmVhY3Rpb25TdHJpbmciLCJyZWFjdGlvbiIsInN0YXJ0c1dpdGgiLCJzdWJzdHJpbmciLCJsZW5ndGgiXSwibWFwcGluZ3MiOiJBQUFBLHNGQUFzRjs7OzsrQkFDdEVBOzs7ZUFBQUE7OztBQUFULFNBQVNBLHNCQUFzQkMsUUFBZ0I7SUFDcEQsSUFBSUEsU0FBU0MsVUFBVSxDQUFDLE9BQU87UUFDN0IsT0FBT0QsU0FBU0UsU0FBUyxDQUFDLEdBQUdGLFNBQVNHLE1BQU0sR0FBRztJQUNqRDtJQUVBLElBQUlILFNBQVNDLFVBQVUsQ0FBQyxRQUFRO1FBQzlCLE9BQU9ELFNBQVNFLFNBQVMsQ0FBQyxHQUFHRixTQUFTRyxNQUFNLEdBQUc7SUFDakQ7SUFFQSxPQUFPSDtBQUNUIn0=
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: all[name]
9
+ });
10
+ }
11
+ _export(exports, {
12
+ getBotIdFromToken: function() {
13
+ return getBotIdFromToken;
14
+ },
15
+ removeTokenPrefix: function() {
16
+ return removeTokenPrefix;
17
+ }
18
+ });
19
+ const _nodebuffer = require("node:buffer");
20
+ const validTokenPrefixes = [
21
+ 'Bot',
22
+ 'Bearer'
23
+ ];
24
+ function removeTokenPrefix(token, type = 'REST') {
25
+ // If no token is provided, throw an error
26
+ if (token === undefined) {
27
+ throw new Error(`The ${type} was not given a token. Please provide a token and try again.`);
28
+ }
29
+ const splittedToken = token.split(' ');
30
+ // If the token does not have a prefix just return token
31
+ if (splittedToken.length < 2 || !validTokenPrefixes.includes(splittedToken[0])) return token;
32
+ // Remove the prefix and return only the token.
33
+ return splittedToken.splice(1).join(' ');
34
+ }
35
+ function getBotIdFromToken(token) {
36
+ return BigInt(_nodebuffer.Buffer.from(token.split('.')[0], 'base64').toString());
37
+ }
38
+
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90b2tlbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCdWZmZXIgfSBmcm9tICdub2RlOmJ1ZmZlcidcblxuY29uc3QgdmFsaWRUb2tlblByZWZpeGVzID0gWydCb3QnLCAnQmVhcmVyJ11cblxuLyoqIFJlbW92ZXMgdGhlIEJvdC9CZWFyZXIgYmVmb3JlIHRoZSB0b2tlbi4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZW1vdmVUb2tlblByZWZpeCh0b2tlbj86IHN0cmluZywgdHlwZTogJ0dBVEVXQVknIHwgJ1JFU1QnID0gJ1JFU1QnKTogc3RyaW5nIHtcbiAgLy8gSWYgbm8gdG9rZW4gaXMgcHJvdmlkZWQsIHRocm93IGFuIGVycm9yXG4gIGlmICh0b2tlbiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBUaGUgJHt0eXBlfSB3YXMgbm90IGdpdmVuIGEgdG9rZW4uIFBsZWFzZSBwcm92aWRlIGEgdG9rZW4gYW5kIHRyeSBhZ2Fpbi5gKVxuICB9XG5cbiAgY29uc3Qgc3BsaXR0ZWRUb2tlbiA9IHRva2VuLnNwbGl0KCcgJylcblxuICAvLyBJZiB0aGUgdG9rZW4gZG9lcyBub3QgaGF2ZSBhIHByZWZpeCBqdXN0IHJldHVybiB0b2tlblxuICBpZiAoc3BsaXR0ZWRUb2tlbi5sZW5ndGggPCAyIHx8ICF2YWxpZFRva2VuUHJlZml4ZXMuaW5jbHVkZXMoc3BsaXR0ZWRUb2tlblswXSkpIHJldHVybiB0b2tlblxuICAvLyBSZW1vdmUgdGhlIHByZWZpeCBhbmQgcmV0dXJuIG9ubHkgdGhlIHRva2VuLlxuICByZXR1cm4gc3BsaXR0ZWRUb2tlbi5zcGxpY2UoMSkuam9pbignICcpXG59XG5cbi8qKiBHZXQgdGhlIGJvdCBpZCBmcm9tIHRoZSBib3QgdG9rZW4uIFdBUk5JTkc6IERpc2NvcmQgc3RhZmYgaGFzIG1lbnRpb25lZCB0aGlzIG1heSBub3QgYmUgc3RhYmxlIGZvcmV2ZXIuIFVzZSBhdCB5b3VyIG93biByaXNrLiBIb3dldmVyLCBub3RlIGZvciBvdmVyIDUgeWVhcnMgdGhpcyBoYXMgbmV2ZXIgYnJva2VuLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEJvdElkRnJvbVRva2VuKHRva2VuOiBzdHJpbmcpOiBiaWdpbnQge1xuICByZXR1cm4gQmlnSW50KEJ1ZmZlci5mcm9tKHRva2VuLnNwbGl0KCcuJylbMF0sICdiYXNlNjQnKS50b1N0cmluZygpKVxufVxuIl0sIm5hbWVzIjpbImdldEJvdElkRnJvbVRva2VuIiwicmVtb3ZlVG9rZW5QcmVmaXgiLCJ2YWxpZFRva2VuUHJlZml4ZXMiLCJ0b2tlbiIsInR5cGUiLCJ1bmRlZmluZWQiLCJFcnJvciIsInNwbGl0dGVkVG9rZW4iLCJzcGxpdCIsImxlbmd0aCIsImluY2x1ZGVzIiwic3BsaWNlIiwiam9pbiIsIkJpZ0ludCIsIkJ1ZmZlciIsImZyb20iLCJ0b1N0cmluZyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7SUFvQmdCQSxpQkFBaUI7ZUFBakJBOztJQWZBQyxpQkFBaUI7ZUFBakJBOzs7NEJBTE87QUFFdkIsTUFBTUMscUJBQXFCO0lBQUM7SUFBTztDQUFTO0FBR3JDLFNBQVNELGtCQUFrQkUsS0FBYyxFQUFFQyxPQUEyQixNQUFNO0lBQ2pGLDBDQUEwQztJQUMxQyxJQUFJRCxVQUFVRSxXQUFXO1FBQ3ZCLE1BQU0sSUFBSUMsTUFBTSxDQUFDLElBQUksRUFBRUYsS0FBSyw2REFBNkQsQ0FBQztJQUM1RjtJQUVBLE1BQU1HLGdCQUFnQkosTUFBTUssS0FBSyxDQUFDO0lBRWxDLHdEQUF3RDtJQUN4RCxJQUFJRCxjQUFjRSxNQUFNLEdBQUcsS0FBSyxDQUFDUCxtQkFBbUJRLFFBQVEsQ0FBQ0gsYUFBYSxDQUFDLEVBQUUsR0FBRyxPQUFPSjtJQUN2RiwrQ0FBK0M7SUFDL0MsT0FBT0ksY0FBY0ksTUFBTSxDQUFDLEdBQUdDLElBQUksQ0FBQztBQUN0QztBQUdPLFNBQVNaLGtCQUFrQkcsS0FBYTtJQUM3QyxPQUFPVSxPQUFPQyxrQkFBTSxDQUFDQyxJQUFJLENBQUNaLE1BQU1LLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLFVBQVVRLFFBQVE7QUFDbkUifQ==
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: all[name]
9
+ });
10
+ }
11
+ _export(exports, {
12
+ isGetMessagesAfter: function() {
13
+ return isGetMessagesAfter;
14
+ },
15
+ isGetMessagesAround: function() {
16
+ return isGetMessagesAround;
17
+ },
18
+ isGetMessagesBefore: function() {
19
+ return isGetMessagesBefore;
20
+ },
21
+ isGetMessagesLimit: function() {
22
+ return isGetMessagesLimit;
23
+ },
24
+ isInviteWithMetadata: function() {
25
+ return isInviteWithMetadata;
26
+ }
27
+ });
28
+ const _utils = require("./utils.cjs");
29
+ function isGetMessagesAfter(options) {
30
+ return (0, _utils.hasProperty)(options, 'after');
31
+ }
32
+ function isGetMessagesBefore(options) {
33
+ return (0, _utils.hasProperty)(options, 'before');
34
+ }
35
+ function isGetMessagesAround(options) {
36
+ return (0, _utils.hasProperty)(options, 'around');
37
+ }
38
+ function isGetMessagesLimit(options) {
39
+ return (0, _utils.hasProperty)(options, 'limit');
40
+ }
41
+ function isInviteWithMetadata(options) {
42
+ return !(0, _utils.hasProperty)(options, 'channel_id');
43
+ }
44
+
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eXBlZ3VhcmRzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtcbiAgRGlzY29yZEludml0ZUNyZWF0ZSxcbiAgRGlzY29yZEludml0ZU1ldGFkYXRhLFxuICBHZXRNZXNzYWdlc0FmdGVyLFxuICBHZXRNZXNzYWdlc0Fyb3VuZCxcbiAgR2V0TWVzc2FnZXNCZWZvcmUsXG4gIEdldE1lc3NhZ2VzTGltaXQsXG4gIEdldE1lc3NhZ2VzT3B0aW9ucyxcbn0gZnJvbSAnQGRpc2NvcmRlbm8vdHlwZXMnXG5pbXBvcnQgeyBoYXNQcm9wZXJ0eSB9IGZyb20gJy4vdXRpbHMuanMnXG5cbmV4cG9ydCBmdW5jdGlvbiBpc0dldE1lc3NhZ2VzQWZ0ZXIob3B0aW9uczogR2V0TWVzc2FnZXNPcHRpb25zKTogb3B0aW9ucyBpcyBHZXRNZXNzYWdlc0FmdGVyIHtcbiAgcmV0dXJuIGhhc1Byb3BlcnR5KG9wdGlvbnMsICdhZnRlcicpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0dldE1lc3NhZ2VzQmVmb3JlKG9wdGlvbnM6IEdldE1lc3NhZ2VzT3B0aW9ucyk6IG9wdGlvbnMgaXMgR2V0TWVzc2FnZXNCZWZvcmUge1xuICByZXR1cm4gaGFzUHJvcGVydHkob3B0aW9ucywgJ2JlZm9yZScpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0dldE1lc3NhZ2VzQXJvdW5kKG9wdGlvbnM6IEdldE1lc3NhZ2VzT3B0aW9ucyk6IG9wdGlvbnMgaXMgR2V0TWVzc2FnZXNBcm91bmQge1xuICByZXR1cm4gaGFzUHJvcGVydHkob3B0aW9ucywgJ2Fyb3VuZCcpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0dldE1lc3NhZ2VzTGltaXQob3B0aW9uczogR2V0TWVzc2FnZXNPcHRpb25zKTogb3B0aW9ucyBpcyBHZXRNZXNzYWdlc0xpbWl0IHtcbiAgcmV0dXJuIGhhc1Byb3BlcnR5KG9wdGlvbnMsICdsaW1pdCcpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0ludml0ZVdpdGhNZXRhZGF0YShvcHRpb25zOiBEaXNjb3JkSW52aXRlQ3JlYXRlIHwgRGlzY29yZEludml0ZU1ldGFkYXRhKTogb3B0aW9ucyBpcyBEaXNjb3JkSW52aXRlTWV0YWRhdGEge1xuICByZXR1cm4gIWhhc1Byb3BlcnR5KG9wdGlvbnMsICdjaGFubmVsX2lkJylcbn1cbiJdLCJuYW1lcyI6WyJpc0dldE1lc3NhZ2VzQWZ0ZXIiLCJpc0dldE1lc3NhZ2VzQXJvdW5kIiwiaXNHZXRNZXNzYWdlc0JlZm9yZSIsImlzR2V0TWVzc2FnZXNMaW1pdCIsImlzSW52aXRlV2l0aE1ldGFkYXRhIiwib3B0aW9ucyIsImhhc1Byb3BlcnR5Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztJQVdnQkEsa0JBQWtCO2VBQWxCQTs7SUFRQUMsbUJBQW1CO2VBQW5CQTs7SUFKQUMsbUJBQW1CO2VBQW5CQTs7SUFRQUMsa0JBQWtCO2VBQWxCQTs7SUFJQUMsb0JBQW9CO2VBQXBCQTs7O3VCQWxCWTtBQUVyQixTQUFTSixtQkFBbUJLLE9BQTJCO0lBQzVELE9BQU9DLElBQUFBLGtCQUFXLEVBQUNELFNBQVM7QUFDOUI7QUFFTyxTQUFTSCxvQkFBb0JHLE9BQTJCO0lBQzdELE9BQU9DLElBQUFBLGtCQUFXLEVBQUNELFNBQVM7QUFDOUI7QUFFTyxTQUFTSixvQkFBb0JJLE9BQTJCO0lBQzdELE9BQU9DLElBQUFBLGtCQUFXLEVBQUNELFNBQVM7QUFDOUI7QUFFTyxTQUFTRixtQkFBbUJFLE9BQTJCO0lBQzVELE9BQU9DLElBQUFBLGtCQUFXLEVBQUNELFNBQVM7QUFDOUI7QUFFTyxTQUFTRCxxQkFBcUJDLE9BQW9EO0lBQ3ZGLE9BQU8sQ0FBQ0MsSUFBQUEsa0JBQVcsRUFBQ0QsU0FBUztBQUMvQiJ9
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "urlToBase64", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return urlToBase64;
9
+ }
10
+ });
11
+ const _base64 = require("./base64.cjs");
12
+ async function urlToBase64(url) {
13
+ const buffer = await fetch(url).then(async (res)=>await res.arrayBuffer());
14
+ const imageStr = (0, _base64.encode)(buffer);
15
+ const type = url.substring(url.lastIndexOf('.') + 1);
16
+ return `data:image/${type};base64,${imageStr}`;
17
+ }
18
+
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91cmxUb0Jhc2U2NC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBlbmNvZGUgfSBmcm9tICcuL2Jhc2U2NC5qcydcblxuLyoqIENvbnZlcnRzIGEgdXJsIHRvIGJhc2UgNjQuIFVzZWZ1bCBmb3IgZXhhbXBsZSwgdXBsb2FkaW5nL2NyZWF0aW5nIHNlcnZlciBlbW9qaXMuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gdXJsVG9CYXNlNjQodXJsOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xuICBjb25zdCBidWZmZXIgPSBhd2FpdCBmZXRjaCh1cmwpLnRoZW4oYXN5bmMgKHJlcykgPT4gYXdhaXQgcmVzLmFycmF5QnVmZmVyKCkpXG4gIGNvbnN0IGltYWdlU3RyID0gZW5jb2RlKGJ1ZmZlcilcbiAgY29uc3QgdHlwZSA9IHVybC5zdWJzdHJpbmcodXJsLmxhc3RJbmRleE9mKCcuJykgKyAxKVxuICByZXR1cm4gYGRhdGE6aW1hZ2UvJHt0eXBlfTtiYXNlNjQsJHtpbWFnZVN0cn1gXG59XG4iXSwibmFtZXMiOlsidXJsVG9CYXNlNjQiLCJ1cmwiLCJidWZmZXIiLCJmZXRjaCIsInRoZW4iLCJyZXMiLCJhcnJheUJ1ZmZlciIsImltYWdlU3RyIiwiZW5jb2RlIiwidHlwZSIsInN1YnN0cmluZyIsImxhc3RJbmRleE9mIl0sIm1hcHBpbmdzIjoiOzs7OytCQUdzQkE7OztlQUFBQTs7O3dCQUhDO0FBR2hCLGVBQWVBLFlBQVlDLEdBQVc7SUFDM0MsTUFBTUMsU0FBUyxNQUFNQyxNQUFNRixLQUFLRyxJQUFJLENBQUMsT0FBT0MsTUFBUSxNQUFNQSxJQUFJQyxXQUFXO0lBQ3pFLE1BQU1DLFdBQVdDLElBQUFBLGNBQU0sRUFBQ047SUFDeEIsTUFBTU8sT0FBT1IsSUFBSVMsU0FBUyxDQUFDVCxJQUFJVSxXQUFXLENBQUMsT0FBTztJQUNsRCxPQUFPLENBQUMsV0FBVyxFQUFFRixLQUFLLFFBQVEsRUFBRUYsU0FBUyxDQUFDO0FBQ2hEIn0=
@@ -0,0 +1,30 @@
1
+ /** Pause the execution for a given amount of milliseconds. */ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: all[name]
9
+ });
10
+ }
11
+ _export(exports, {
12
+ delay: function() {
13
+ return delay;
14
+ },
15
+ hasProperty: function() {
16
+ return hasProperty;
17
+ }
18
+ });
19
+ async function delay(ms) {
20
+ // eslint-disable-next-line @typescript-eslint/return-await
21
+ return new Promise((resolve)=>setTimeout(()=>{
22
+ resolve();
23
+ }, ms));
24
+ }
25
+ function hasProperty(obj, prop) {
26
+ // eslint-disable-next-line no-prototype-builtins
27
+ return obj.hasOwnProperty(prop);
28
+ }
29
+
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogUGF1c2UgdGhlIGV4ZWN1dGlvbiBmb3IgYSBnaXZlbiBhbW91bnQgb2YgbWlsbGlzZWNvbmRzLiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGRlbGF5KG1zOiBudW1iZXIpOiBQcm9taXNlPHZvaWQ+IHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9yZXR1cm4tYXdhaXRcbiAgcmV0dXJuIG5ldyBQcm9taXNlKFxuICAgIChyZXNvbHZlKTogTm9kZUpTLlRpbWVvdXQgPT5cbiAgICAgIHNldFRpbWVvdXQoKCk6IHZvaWQgPT4ge1xuICAgICAgICByZXNvbHZlKClcbiAgICAgIH0sIG1zKSxcbiAgKVxufVxuXG4vLyBUeXBlc2NyaXB0IGlzIG5vdCBzbyBnb29kIGFzIHdlIGRldmVsb3BlcnMgc28gd2UgbmVlZCB0aGlzIGxpdHRsZSB1dGlsaXR5IGZ1bmN0aW9uIHRvIGhlbHAgaXQgb3V0XG4vLyBUYWtlbiBmcm9tIGh0dHBzOi8vZmV0dGJsb2cuZXUvdHlwZXNjcmlwdC1oYXNvd25wcm9wZXJ0eS9cbi8qKiBUUyBzYXZlIHdheSB0byBjaGVjayBpZiBhIHByb3BlcnR5IGV4aXN0cyBpbiBhbiBvYmplY3QgKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXR5cGVzXG5leHBvcnQgZnVuY3Rpb24gaGFzUHJvcGVydHk8VCBleHRlbmRzIHt9LCBZIGV4dGVuZHMgUHJvcGVydHlLZXkgPSBzdHJpbmc+KG9iajogVCwgcHJvcDogWSk6IG9iaiBpcyBUICYgUmVjb3JkPFksIHVua25vd24+IHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXByb3RvdHlwZS1idWlsdGluc1xuICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KHByb3ApXG59XG4iXSwibmFtZXMiOlsiZGVsYXkiLCJoYXNQcm9wZXJ0eSIsIm1zIiwiUHJvbWlzZSIsInJlc29sdmUiLCJzZXRUaW1lb3V0Iiwib2JqIiwicHJvcCIsImhhc093blByb3BlcnR5Il0sIm1hcHBpbmdzIjoiQUFBQSw0REFBNEQ7Ozs7Ozs7Ozs7O0lBQ3RDQSxLQUFLO2VBQUxBOztJQWNOQyxXQUFXO2VBQVhBOzs7QUFkVCxlQUFlRCxNQUFNRSxFQUFVO0lBQ3BDLDJEQUEyRDtJQUMzRCxPQUFPLElBQUlDLFFBQ1QsQ0FBQ0MsVUFDQ0MsV0FBVztZQUNURDtRQUNGLEdBQUdGO0FBRVQ7QUFNTyxTQUFTRCxZQUEwREssR0FBTSxFQUFFQyxJQUFPO0lBQ3ZGLGlEQUFpRDtJQUNqRCxPQUFPRCxJQUFJRSxjQUFjLENBQUNEO0FBQzVCIn0=
@@ -0,0 +1,113 @@
1
+ // eslint-disable-next-line @typescript-eslint/no-empty-interface
2
+ export class Collection extends Map {
3
+ constructor(entries, options){
4
+ super(entries ?? []);
5
+ this.maxSize = options?.maxSize;
6
+ if (!options?.sweeper) return;
7
+ this.startSweeper(options.sweeper);
8
+ }
9
+ startSweeper(options) {
10
+ if (this.sweeper?.intervalId) clearInterval(this.sweeper.intervalId);
11
+ this.sweeper = options;
12
+ this.sweeper.intervalId = setInterval(()=>{
13
+ this.forEach((value, key)=>{
14
+ if (!this.sweeper?.filter(value, key, options.bot)) return;
15
+ this.delete(key);
16
+ return key;
17
+ });
18
+ }, options.interval);
19
+ return this.sweeper.intervalId;
20
+ }
21
+ stopSweeper() {
22
+ return clearInterval(this.sweeper?.intervalId);
23
+ }
24
+ changeSweeperInterval(newInterval) {
25
+ if (this.sweeper == null) return;
26
+ this.startSweeper({
27
+ filter: this.sweeper.filter,
28
+ interval: newInterval
29
+ });
30
+ }
31
+ changeSweeperFilter(newFilter) {
32
+ if (this.sweeper == null) return;
33
+ this.startSweeper({
34
+ filter: newFilter,
35
+ interval: this.sweeper.interval
36
+ });
37
+ }
38
+ /** Add an item to the collection. Makes sure not to go above the maxSize. */ set(key, value) {
39
+ // When this collection is maxSized make sure we can add first
40
+ if ((this.maxSize !== undefined || this.maxSize === 0) && this.size >= this.maxSize) {
41
+ return this;
42
+ }
43
+ return super.set(key, value);
44
+ }
45
+ /** Add an item to the collection, no matter what the maxSize is. */ forceSet(key, value) {
46
+ return super.set(key, value);
47
+ }
48
+ /** Convert the collection to an array. */ array() {
49
+ return [
50
+ ...this.values()
51
+ ];
52
+ }
53
+ /** Retrieve the value of the first element in this collection. */ first() {
54
+ return this.values().next().value;
55
+ }
56
+ /** Retrieve the value of the last element in this collection. */ last() {
57
+ return [
58
+ ...this.values()
59
+ ][this.size - 1];
60
+ }
61
+ /** Retrieve the value of a random element in this collection. */ random() {
62
+ const array = [
63
+ ...this.values()
64
+ ];
65
+ return array[Math.floor(Math.random() * array.length)];
66
+ }
67
+ /** Find a specific element in this collection. */ find(callback) {
68
+ for (const key of this.keys()){
69
+ const value = this.get(key);
70
+ if (callback(value, key)) return value;
71
+ }
72
+ // If nothing matched
73
+ }
74
+ /** Find all elements in this collection that match the given pattern. */ filter(callback) {
75
+ const relevant = new Collection();
76
+ this.forEach((value, key)=>{
77
+ if (callback(value, key)) relevant.set(key, value);
78
+ });
79
+ return relevant;
80
+ }
81
+ /** Converts the collection into an array by running a callback on all items in the collection. */ map(callback) {
82
+ const results = [];
83
+ for (const key of this.keys()){
84
+ const value = this.get(key);
85
+ results.push(callback(value, key));
86
+ }
87
+ return results;
88
+ }
89
+ /** Check if one of the items in the collection matches the pattern. */ some(callback) {
90
+ for (const key of this.keys()){
91
+ const value = this.get(key);
92
+ if (callback(value, key)) return true;
93
+ }
94
+ return false;
95
+ }
96
+ /** Check if all of the items in the collection matches the pattern. */ every(callback) {
97
+ for (const key of this.keys()){
98
+ const value = this.get(key);
99
+ if (!callback(value, key)) return false;
100
+ }
101
+ return true;
102
+ }
103
+ /** Runs a callback on all items in the collection, merging them into a single value. */ reduce(callback, initialValue) {
104
+ let accumulator = initialValue;
105
+ for (const key of this.keys()){
106
+ const value = this.get(key);
107
+ accumulator = callback(accumulator, value, key);
108
+ }
109
+ return accumulator;
110
+ }
111
+ }
112
+
113
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9Db2xsZWN0aW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktaW50ZXJmYWNlXG5leHBvcnQgaW50ZXJmYWNlIFBsYWNlSG9sZGVyQm90IHt9XG5cbmV4cG9ydCBjbGFzcyBDb2xsZWN0aW9uPEssIFY+IGV4dGVuZHMgTWFwPEssIFY+IHtcbiAgLyoqXG4gICAqIFRoZSBtYXhpbXVtIGFtb3VudCBvZiBpdGVtcyBhbGxvd2VkIGluIHRoaXMgY29sbGVjdGlvbi4gVG8gZGlzYWJsZSBjYWNoZSwgc2V0IGl0IDAsIHNldCB0byB1bmRlZmluZWQgdG8gbWFrZSBpdCBpbmZpbml0ZS5cbiAgICogQGRlZmF1bHQgdW5kZWZpbmVkXG4gICAqL1xuICBtYXhTaXplOiBudW1iZXIgfCB1bmRlZmluZWRcbiAgLyoqIEhhbmRsZXIgdG8gcmVtb3ZlIGl0ZW1zIGZyb20gdGhlIGNvbGxlY3Rpb24gZXZlcnkgc28gb2Z0ZW4uICovXG4gIHN3ZWVwZXI6IChDb2xsZWN0aW9uU3dlZXBlcjxLLCBWPiAmIHsgaW50ZXJ2YWxJZD86IE5vZGVKUy5UaW1lb3V0IH0pIHwgdW5kZWZpbmVkXG5cbiAgY29uc3RydWN0b3IoZW50cmllcz86IChSZWFkb25seUFycmF5PHJlYWRvbmx5IFtLLCBWXT4gfCBudWxsKSB8IE1hcDxLLCBWPiwgb3B0aW9ucz86IENvbGxlY3Rpb25PcHRpb25zPEssIFY+KSB7XG4gICAgc3VwZXIoZW50cmllcyA/PyBbXSlcblxuICAgIHRoaXMubWF4U2l6ZSA9IG9wdGlvbnM/Lm1heFNpemVcblxuICAgIGlmICghb3B0aW9ucz8uc3dlZXBlcikgcmV0dXJuXG5cbiAgICB0aGlzLnN0YXJ0U3dlZXBlcihvcHRpb25zLnN3ZWVwZXIpXG4gIH1cblxuICBzdGFydFN3ZWVwZXIob3B0aW9uczogQ29sbGVjdGlvblN3ZWVwZXI8SywgVj4pOiBOb2RlSlMuVGltZW91dCB7XG4gICAgaWYgKHRoaXMuc3dlZXBlcj8uaW50ZXJ2YWxJZCkgY2xlYXJJbnRlcnZhbCh0aGlzLnN3ZWVwZXIuaW50ZXJ2YWxJZClcblxuICAgIHRoaXMuc3dlZXBlciA9IG9wdGlvbnNcbiAgICB0aGlzLnN3ZWVwZXIuaW50ZXJ2YWxJZCA9IHNldEludGVydmFsKCgpID0+IHtcbiAgICAgIHRoaXMuZm9yRWFjaCgodmFsdWUsIGtleSkgPT4ge1xuICAgICAgICBpZiAoIXRoaXMuc3dlZXBlcj8uZmlsdGVyKHZhbHVlLCBrZXksIG9wdGlvbnMuYm90KSkgcmV0dXJuXG5cbiAgICAgICAgdGhpcy5kZWxldGUoa2V5KVxuICAgICAgICByZXR1cm4ga2V5XG4gICAgICB9KVxuICAgIH0sIG9wdGlvbnMuaW50ZXJ2YWwpXG5cbiAgICByZXR1cm4gdGhpcy5zd2VlcGVyLmludGVydmFsSWRcbiAgfVxuXG4gIHN0b3BTd2VlcGVyKCk6IHZvaWQge1xuICAgIHJldHVybiBjbGVhckludGVydmFsKHRoaXMuc3dlZXBlcj8uaW50ZXJ2YWxJZClcbiAgfVxuXG4gIGNoYW5nZVN3ZWVwZXJJbnRlcnZhbChuZXdJbnRlcnZhbDogbnVtYmVyKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3dlZXBlciA9PSBudWxsKSByZXR1cm5cblxuICAgIHRoaXMuc3RhcnRTd2VlcGVyKHsgZmlsdGVyOiB0aGlzLnN3ZWVwZXIuZmlsdGVyLCBpbnRlcnZhbDogbmV3SW50ZXJ2YWwgfSlcbiAgfVxuXG4gIGNoYW5nZVN3ZWVwZXJGaWx0ZXIobmV3RmlsdGVyOiAodmFsdWU6IFYsIGtleTogSywgYm90OiBQbGFjZUhvbGRlckJvdCkgPT4gYm9vbGVhbik6IHZvaWQge1xuICAgIGlmICh0aGlzLnN3ZWVwZXIgPT0gbnVsbCkgcmV0dXJuXG5cbiAgICB0aGlzLnN0YXJ0U3dlZXBlcih7IGZpbHRlcjogbmV3RmlsdGVyLCBpbnRlcnZhbDogdGhpcy5zd2VlcGVyLmludGVydmFsIH0pXG4gIH1cblxuICAvKiogQWRkIGFuIGl0ZW0gdG8gdGhlIGNvbGxlY3Rpb24uIE1ha2VzIHN1cmUgbm90IHRvIGdvIGFib3ZlIHRoZSBtYXhTaXplLiAqL1xuICBzZXQoa2V5OiBLLCB2YWx1ZTogVik6IHRoaXMge1xuICAgIC8vIFdoZW4gdGhpcyBjb2xsZWN0aW9uIGlzIG1heFNpemVkIG1ha2Ugc3VyZSB3ZSBjYW4gYWRkIGZpcnN0XG4gICAgaWYgKCh0aGlzLm1heFNpemUgIT09IHVuZGVmaW5lZCB8fCB0aGlzLm1heFNpemUgPT09IDApICYmIHRoaXMuc2l6ZSA+PSB0aGlzLm1heFNpemUpIHtcbiAgICAgIHJldHVybiB0aGlzXG4gICAgfVxuXG4gICAgcmV0dXJuIHN1cGVyLnNldChrZXksIHZhbHVlKVxuICB9XG5cbiAgLyoqIEFkZCBhbiBpdGVtIHRvIHRoZSBjb2xsZWN0aW9uLCBubyBtYXR0ZXIgd2hhdCB0aGUgbWF4U2l6ZSBpcy4gKi9cbiAgZm9yY2VTZXQoa2V5OiBLLCB2YWx1ZTogVik6IHRoaXMge1xuICAgIHJldHVybiBzdXBlci5zZXQoa2V5LCB2YWx1ZSlcbiAgfVxuXG4gIC8qKiBDb252ZXJ0IHRoZSBjb2xsZWN0aW9uIHRvIGFuIGFycmF5LiAqL1xuICBhcnJheSgpOiBWW10ge1xuICAgIHJldHVybiBbLi4udGhpcy52YWx1ZXMoKV1cbiAgfVxuXG4gIC8qKiBSZXRyaWV2ZSB0aGUgdmFsdWUgb2YgdGhlIGZpcnN0IGVsZW1lbnQgaW4gdGhpcyBjb2xsZWN0aW9uLiAqL1xuICBmaXJzdCgpOiBWIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZXMoKS5uZXh0KCkudmFsdWVcbiAgfVxuXG4gIC8qKiBSZXRyaWV2ZSB0aGUgdmFsdWUgb2YgdGhlIGxhc3QgZWxlbWVudCBpbiB0aGlzIGNvbGxlY3Rpb24uICovXG4gIGxhc3QoKTogViB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIFsuLi50aGlzLnZhbHVlcygpXVt0aGlzLnNpemUgLSAxXVxuICB9XG5cbiAgLyoqIFJldHJpZXZlIHRoZSB2YWx1ZSBvZiBhIHJhbmRvbSBlbGVtZW50IGluIHRoaXMgY29sbGVjdGlvbi4gKi9cbiAgcmFuZG9tKCk6IFYgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IGFycmF5ID0gWy4uLnRoaXMudmFsdWVzKCldXG4gICAgcmV0dXJuIGFycmF5W01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIGFycmF5Lmxlbmd0aCldXG4gIH1cblxuICAvKiogRmluZCBhIHNwZWNpZmljIGVsZW1lbnQgaW4gdGhpcyBjb2xsZWN0aW9uLiAqL1xuICBmaW5kKGNhbGxiYWNrOiAodmFsdWU6IFYsIGtleTogSykgPT4gYm9vbGVhbik6IE5vbk51bGxhYmxlPFY+IHwgdW5kZWZpbmVkIHtcbiAgICBmb3IgKGNvbnN0IGtleSBvZiB0aGlzLmtleXMoKSkge1xuICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLmdldChrZXkpIVxuICAgICAgaWYgKGNhbGxiYWNrKHZhbHVlLCBrZXkpKSByZXR1cm4gdmFsdWVcbiAgICB9XG4gICAgLy8gSWYgbm90aGluZyBtYXRjaGVkXG4gIH1cblxuICAvKiogRmluZCBhbGwgZWxlbWVudHMgaW4gdGhpcyBjb2xsZWN0aW9uIHRoYXQgbWF0Y2ggdGhlIGdpdmVuIHBhdHRlcm4uICovXG4gIGZpbHRlcihjYWxsYmFjazogKHZhbHVlOiBWLCBrZXk6IEspID0+IGJvb2xlYW4pOiBDb2xsZWN0aW9uPEssIFY+IHtcbiAgICBjb25zdCByZWxldmFudCA9IG5ldyBDb2xsZWN0aW9uPEssIFY+KClcbiAgICB0aGlzLmZvckVhY2goKHZhbHVlLCBrZXkpID0+IHtcbiAgICAgIGlmIChjYWxsYmFjayh2YWx1ZSwga2V5KSkgcmVsZXZhbnQuc2V0KGtleSwgdmFsdWUpXG4gICAgfSlcblxuICAgIHJldHVybiByZWxldmFudFxuICB9XG5cbiAgLyoqIENvbnZlcnRzIHRoZSBjb2xsZWN0aW9uIGludG8gYW4gYXJyYXkgYnkgcnVubmluZyBhIGNhbGxiYWNrIG9uIGFsbCBpdGVtcyBpbiB0aGUgY29sbGVjdGlvbi4gKi9cbiAgbWFwPFQ+KGNhbGxiYWNrOiAodmFsdWU6IFYsIGtleTogSykgPT4gVCk6IFRbXSB7XG4gICAgY29uc3QgcmVzdWx0cyA9IFtdXG4gICAgZm9yIChjb25zdCBrZXkgb2YgdGhpcy5rZXlzKCkpIHtcbiAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5nZXQoa2V5KSFcbiAgICAgIHJlc3VsdHMucHVzaChjYWxsYmFjayh2YWx1ZSwga2V5KSlcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdHNcbiAgfVxuXG4gIC8qKiBDaGVjayBpZiBvbmUgb2YgdGhlIGl0ZW1zIGluIHRoZSBjb2xsZWN0aW9uIG1hdGNoZXMgdGhlIHBhdHRlcm4uICovXG4gIHNvbWUoY2FsbGJhY2s6ICh2YWx1ZTogViwga2V5OiBLKSA9PiBib29sZWFuKTogYm9vbGVhbiB7XG4gICAgZm9yIChjb25zdCBrZXkgb2YgdGhpcy5rZXlzKCkpIHtcbiAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5nZXQoa2V5KSFcbiAgICAgIGlmIChjYWxsYmFjayh2YWx1ZSwga2V5KSkgcmV0dXJuIHRydWVcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuXG4gIC8qKiBDaGVjayBpZiBhbGwgb2YgdGhlIGl0ZW1zIGluIHRoZSBjb2xsZWN0aW9uIG1hdGNoZXMgdGhlIHBhdHRlcm4uICovXG4gIGV2ZXJ5KGNhbGxiYWNrOiAodmFsdWU6IFYsIGtleTogSykgPT4gYm9vbGVhbik6IGJvb2xlYW4ge1xuICAgIGZvciAoY29uc3Qga2V5IG9mIHRoaXMua2V5cygpKSB7XG4gICAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZ2V0KGtleSkhXG4gICAgICBpZiAoIWNhbGxiYWNrKHZhbHVlLCBrZXkpKSByZXR1cm4gZmFsc2VcbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZVxuICB9XG5cbiAgLyoqIFJ1bnMgYSBjYWxsYmFjayBvbiBhbGwgaXRlbXMgaW4gdGhlIGNvbGxlY3Rpb24sIG1lcmdpbmcgdGhlbSBpbnRvIGEgc2luZ2xlIHZhbHVlLiAqL1xuICByZWR1Y2U8VD4oY2FsbGJhY2s6IChhY2N1bXVsYXRvcjogVCwgdmFsdWU6IFYsIGtleTogSykgPT4gVCwgaW5pdGlhbFZhbHVlPzogVCk6IFQge1xuICAgIGxldCBhY2N1bXVsYXRvcjogVCA9IGluaXRpYWxWYWx1ZSFcblxuICAgIGZvciAoY29uc3Qga2V5IG9mIHRoaXMua2V5cygpKSB7XG4gICAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZ2V0KGtleSkhXG4gICAgICBhY2N1bXVsYXRvciA9IGNhbGxiYWNrKGFjY3VtdWxhdG9yLCB2YWx1ZSwga2V5KVxuICAgIH1cblxuICAgIHJldHVybiBhY2N1bXVsYXRvclxuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29sbGVjdGlvbk9wdGlvbnM8SywgVj4ge1xuICAvKiogSGFuZGxlciB0byBjbGVhbiBvdXQgdGhlIGl0ZW1zIGluIHRoZSBjb2xsZWN0aW9uIGV2ZXJ5IHNvIG9mdGVuLiAqL1xuICBzd2VlcGVyPzogQ29sbGVjdGlvblN3ZWVwZXI8SywgVj5cbiAgLyoqIFRoZSBtYXhpbXVtIG51bWJlciBvZiBpdGVtcyBhbGxvd2VkIGluIHRoZSBjb2xsZWN0aW9uLiAqL1xuICBtYXhTaXplPzogbnVtYmVyXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29sbGVjdGlvblN3ZWVwZXI8SywgVj4ge1xuICAvKiogVGhlIGZpbHRlciB0byBkZXRlcm1pbmUgd2hldGhlciBhbiBlbGVtZW50IHNob3VsZCBiZSBkZWxldGVkIG9yIG5vdCAqL1xuICBmaWx0ZXI6ICh2YWx1ZTogViwga2V5OiBLLCAuLi5hcmdzOiBhbnlbXSkgPT4gYm9vbGVhblxuICAvKiogVGhlIGludGVydmFsIGluIHdoaWNoIHRoZSBzd2VlcGVyIHNob3VsZCBydW4gKi9cbiAgaW50ZXJ2YWw6IG51bWJlclxuICAvKiogVGhlIGJvdCBvYmplY3QgaXRzZWxmICovXG4gIGJvdD86IFBsYWNlSG9sZGVyQm90XG59XG4iXSwibmFtZXMiOlsiQ29sbGVjdGlvbiIsIk1hcCIsImNvbnN0cnVjdG9yIiwiZW50cmllcyIsIm9wdGlvbnMiLCJtYXhTaXplIiwic3dlZXBlciIsInN0YXJ0U3dlZXBlciIsImludGVydmFsSWQiLCJjbGVhckludGVydmFsIiwic2V0SW50ZXJ2YWwiLCJmb3JFYWNoIiwidmFsdWUiLCJrZXkiLCJmaWx0ZXIiLCJib3QiLCJkZWxldGUiLCJpbnRlcnZhbCIsInN0b3BTd2VlcGVyIiwiY2hhbmdlU3dlZXBlckludGVydmFsIiwibmV3SW50ZXJ2YWwiLCJjaGFuZ2VTd2VlcGVyRmlsdGVyIiwibmV3RmlsdGVyIiwic2V0IiwidW5kZWZpbmVkIiwic2l6ZSIsImZvcmNlU2V0IiwiYXJyYXkiLCJ2YWx1ZXMiLCJmaXJzdCIsIm5leHQiLCJsYXN0IiwicmFuZG9tIiwiTWF0aCIsImZsb29yIiwibGVuZ3RoIiwiZmluZCIsImNhbGxiYWNrIiwia2V5cyIsImdldCIsInJlbGV2YW50IiwibWFwIiwicmVzdWx0cyIsInB1c2giLCJzb21lIiwiZXZlcnkiLCJyZWR1Y2UiLCJpbml0aWFsVmFsdWUiLCJhY2N1bXVsYXRvciJdLCJtYXBwaW5ncyI6IkFBQUEsaUVBQWlFO0FBR2pFLE9BQU8sTUFBTUEsbUJBQXlCQztJQVNwQ0MsWUFBWUMsT0FBNkQsRUFBRUMsT0FBaUMsQ0FBRTtRQUM1RyxLQUFLLENBQUNELFdBQVcsRUFBRTtRQUVuQixJQUFJLENBQUNFLE9BQU8sR0FBR0QsU0FBU0M7UUFFeEIsSUFBSSxDQUFDRCxTQUFTRSxTQUFTO1FBRXZCLElBQUksQ0FBQ0MsWUFBWSxDQUFDSCxRQUFRRSxPQUFPO0lBQ25DO0lBRUFDLGFBQWFILE9BQWdDLEVBQWtCO1FBQzdELElBQUksSUFBSSxDQUFDRSxPQUFPLEVBQUVFLFlBQVlDLGNBQWMsSUFBSSxDQUFDSCxPQUFPLENBQUNFLFVBQVU7UUFFbkUsSUFBSSxDQUFDRixPQUFPLEdBQUdGO1FBQ2YsSUFBSSxDQUFDRSxPQUFPLENBQUNFLFVBQVUsR0FBR0UsWUFBWTtZQUNwQyxJQUFJLENBQUNDLE9BQU8sQ0FBQyxDQUFDQyxPQUFPQztnQkFD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