@discordeno/utils 19.0.0-next.40c19da → 19.0.0-next.4142946
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.
- package/README.md +7 -144
- package/dist/cjs/Collection.cjs +122 -0
- package/dist/cjs/base64.cjs +276 -0
- package/dist/cjs/bucket.cjs +96 -0
- package/dist/cjs/builders/embeds.cjs +292 -0
- package/dist/cjs/builders.cjs +27 -0
- package/dist/cjs/casing.cjs +75 -0
- package/dist/cjs/colors.cjs +456 -0
- package/dist/cjs/hash.cjs +37 -0
- package/dist/cjs/images.cjs +136 -0
- package/dist/cjs/index.cjs +36 -0
- package/dist/cjs/logger.cjs +157 -0
- package/dist/cjs/oauth2.cjs +26 -0
- package/dist/cjs/permissions.cjs +35 -0
- package/dist/cjs/reactions.cjs +21 -0
- package/dist/cjs/token.cjs +39 -0
- package/dist/cjs/typeguards.cjs +45 -0
- package/dist/cjs/urlToBase64.cjs +19 -0
- package/dist/cjs/urls.cjs +26 -0
- package/dist/cjs/utils.cjs +28 -0
- package/dist/esm/Collection.js +112 -0
- package/dist/esm/base64.js +262 -0
- package/dist/esm/bucket.js +81 -0
- package/dist/esm/builders/embeds.js +295 -0
- package/dist/esm/builders.js +5 -0
- package/dist/esm/casing.js +51 -0
- package/dist/esm/colors.js +467 -0
- package/dist/esm/hash.js +19 -0
- package/dist/esm/images.js +179 -0
- package/dist/esm/index.js +19 -0
- package/dist/esm/logger.js +130 -0
- package/dist/esm/oauth2.js +16 -0
- package/dist/esm/permissions.js +17 -0
- package/dist/esm/reactions.js +11 -0
- package/dist/esm/token.js +21 -0
- package/dist/esm/typeguards.js +18 -0
- package/dist/esm/urlToBase64.js +9 -0
- package/dist/esm/urls.js +8 -0
- package/dist/esm/utils.js +12 -0
- package/dist/{Collection.d.ts → types/Collection.d.ts} +2 -3
- package/dist/types/Collection.d.ts.map +1 -0
- package/dist/types/base64.d.ts.map +1 -0
- package/dist/{bucket.d.ts → types/bucket.d.ts} +11 -2
- package/dist/types/bucket.d.ts.map +1 -0
- package/dist/types/builders/embeds.d.ts +146 -0
- package/dist/types/builders/embeds.d.ts.map +1 -0
- package/dist/types/builders.d.ts +4 -0
- package/dist/types/builders.d.ts.map +1 -0
- package/dist/types/casing.d.ts.map +1 -0
- package/dist/types/colors.d.ts.map +1 -0
- package/dist/types/hash.d.ts.map +1 -0
- package/dist/types/images.d.ts +202 -0
- package/dist/types/images.d.ts.map +1 -0
- package/dist/{index.d.ts → types/index.d.ts} +4 -2
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/logger.d.ts.map +1 -0
- package/dist/types/oauth2.d.ts +69 -0
- package/dist/types/oauth2.d.ts.map +1 -0
- package/dist/types/permissions.d.ts.map +1 -0
- package/dist/types/reactions.d.ts.map +1 -0
- package/dist/{token.d.ts → types/token.d.ts} +1 -1
- package/dist/types/token.d.ts.map +1 -0
- package/dist/{typeguards.d.ts → types/typeguards.d.ts} +2 -1
- package/dist/types/typeguards.d.ts.map +1 -0
- package/dist/types/urlToBase64.d.ts.map +1 -0
- package/dist/types/urls.d.ts +4 -0
- package/dist/types/urls.d.ts.map +1 -0
- package/dist/types/utils.d.ts.map +1 -0
- package/package.json +29 -26
- package/dist/Collection.d.ts.map +0 -1
- package/dist/Collection.js +0 -113
- package/dist/Collection.js.map +0 -1
- package/dist/base64.d.ts.map +0 -1
- package/dist/base64.js +0 -262
- package/dist/base64.js.map +0 -1
- package/dist/bucket.d.ts.map +0 -1
- package/dist/bucket.js +0 -67
- package/dist/bucket.js.map +0 -1
- package/dist/casing.d.ts.map +0 -1
- package/dist/casing.js +0 -51
- package/dist/casing.js.map +0 -1
- package/dist/colors.d.ts.map +0 -1
- package/dist/colors.js +0 -471
- package/dist/colors.js.map +0 -1
- package/dist/files.d.ts +0 -4
- package/dist/files.d.ts.map +0 -1
- package/dist/files.js +0 -41
- package/dist/files.js.map +0 -1
- package/dist/hash.d.ts.map +0 -1
- package/dist/hash.js +0 -19
- package/dist/hash.js.map +0 -1
- package/dist/images.d.ts +0 -68
- package/dist/images.d.ts.map +0 -1
- package/dist/images.js +0 -66
- package/dist/images.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -17
- package/dist/index.js.map +0 -1
- package/dist/logger.d.ts.map +0 -1
- package/dist/logger.js +0 -130
- package/dist/logger.js.map +0 -1
- package/dist/permissions.d.ts.map +0 -1
- package/dist/permissions.js +0 -17
- package/dist/permissions.js.map +0 -1
- package/dist/reactions.d.ts.map +0 -1
- package/dist/reactions.js +0 -11
- package/dist/reactions.js.map +0 -1
- package/dist/token.d.ts.map +0 -1
- package/dist/token.js +0 -16
- package/dist/token.js.map +0 -1
- package/dist/typeguards.d.ts.map +0 -1
- package/dist/typeguards.js +0 -15
- package/dist/typeguards.js.map +0 -1
- package/dist/urlToBase64.d.ts.map +0 -1
- package/dist/urlToBase64.js +0 -10
- package/dist/urlToBase64.js.map +0 -1
- package/dist/utils.d.ts.map +0 -1
- package/dist/utils.js +0 -15
- package/dist/utils.js.map +0 -1
- /package/dist/{base64.d.ts → types/base64.d.ts} +0 -0
- /package/dist/{casing.d.ts → types/casing.d.ts} +0 -0
- /package/dist/{colors.d.ts → types/colors.d.ts} +0 -0
- /package/dist/{hash.d.ts → types/hash.d.ts} +0 -0
- /package/dist/{logger.d.ts → types/logger.d.ts} +0 -0
- /package/dist/{permissions.d.ts → types/permissions.d.ts} +0 -0
- /package/dist/{reactions.d.ts → types/reactions.d.ts} +0 -0
- /package/dist/{urlToBase64.d.ts → types/urlToBase64.d.ts} +0 -0
- /package/dist/{utils.d.ts → types/utils.d.ts} +0 -0
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "LeakyBucket", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return LeakyBucket;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _logger = /*#__PURE__*/ _interop_require_default(require("./logger.cjs"));
|
|
12
|
+
const _utils = require("./utils.cjs");
|
|
13
|
+
function _interop_require_default(obj) {
|
|
14
|
+
return obj && obj.__esModule ? obj : {
|
|
15
|
+
default: obj
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
let LeakyBucket = class LeakyBucket {
|
|
19
|
+
constructor(options){
|
|
20
|
+
/** The amount of requests that have been used up already. */ this.used = 0;
|
|
21
|
+
/** The queue of requests to acquire an available request. Mapped by <shardId, resolve()> */ this.queue = [];
|
|
22
|
+
/** Whether or not the queue is already processing. */ this.processing = false;
|
|
23
|
+
this.max = options?.max ?? 1;
|
|
24
|
+
this.refillAmount = options?.refillAmount ? options.refillAmount > this.max ? this.max : options.refillAmount : 1;
|
|
25
|
+
this.refillInterval = options?.refillInterval ?? 5000;
|
|
26
|
+
this.logger = options?.logger ?? _logger.default;
|
|
27
|
+
}
|
|
28
|
+
/** The amount of requests that still remain. */ get remaining() {
|
|
29
|
+
return this.max < this.used ? 0 : this.max - this.used;
|
|
30
|
+
}
|
|
31
|
+
/** Refills the bucket as needed. */ refillBucket() {
|
|
32
|
+
this.logger.debug(`[LeakyBucket] Timeout for leaky bucket requests executed. Refilling bucket.`);
|
|
33
|
+
// Lower the used amount by the refill amount
|
|
34
|
+
this.used = this.refillAmount > this.used ? 0 : this.used - this.refillAmount;
|
|
35
|
+
// Reset the refillsAt timestamp since it just got refilled
|
|
36
|
+
this.refillsAt = undefined;
|
|
37
|
+
// Reset the timeoutId
|
|
38
|
+
clearTimeout(this.timeoutId);
|
|
39
|
+
this.timeoutId = undefined;
|
|
40
|
+
if (this.used > 0) {
|
|
41
|
+
this.timeoutId = setTimeout(()=>{
|
|
42
|
+
this.refillBucket();
|
|
43
|
+
}, this.refillInterval);
|
|
44
|
+
this.refillsAt = Date.now() + this.refillInterval;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
/** Begin processing the queue. */ async processQueue() {
|
|
48
|
+
this.logger.debug('[LeakyBucket] Processing queue');
|
|
49
|
+
// There is already a queue that is processing
|
|
50
|
+
if (this.processing) return this.logger.debug('[LeakyBucket] Queue is already processing.');
|
|
51
|
+
this.processing = true;
|
|
52
|
+
// Begin going through the queue.
|
|
53
|
+
while(this.queue.length){
|
|
54
|
+
if (this.remaining) {
|
|
55
|
+
this.logger.debug(`[LeakyBucket] Processing queue. Remaining: ${this.remaining} Length: ${this.queue.length}`);
|
|
56
|
+
// Resolves the promise allowing the paused execution of this request to resolve and continue.
|
|
57
|
+
this.queue.shift()?.();
|
|
58
|
+
// A request can be made
|
|
59
|
+
this.used++;
|
|
60
|
+
// Create a new timeout for this request if none exists.
|
|
61
|
+
if (!this.timeoutId) {
|
|
62
|
+
this.logger.debug(`[LeakyBucket] Creating new timeout for leaky bucket requests.`);
|
|
63
|
+
this.timeoutId = setTimeout(()=>{
|
|
64
|
+
this.refillBucket();
|
|
65
|
+
}, this.refillInterval);
|
|
66
|
+
// Set the time for when this refill will occur.
|
|
67
|
+
this.refillsAt = Date.now() + this.refillInterval;
|
|
68
|
+
}
|
|
69
|
+
} else if (this.refillsAt) {
|
|
70
|
+
const now = Date.now();
|
|
71
|
+
// If there is time left until next refill, just delay execution.
|
|
72
|
+
if (this.refillsAt > now) {
|
|
73
|
+
this.logger.debug(`[LeakyBucket] Delaying execution of leaky bucket requests for ${this.refillsAt - now}ms`);
|
|
74
|
+
await (0, _utils.delay)(this.refillsAt - now);
|
|
75
|
+
this.logger.debug(`[LeakyBucket] Resuming execution`);
|
|
76
|
+
} else {
|
|
77
|
+
this.logger.debug(`[LeakyBucket] Delaying execution of leaky bucket requests for 1000ms`);
|
|
78
|
+
await (0, _utils.delay)(1000);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
// Loop has ended mark false so it can restart later when needed
|
|
83
|
+
this.processing = false;
|
|
84
|
+
}
|
|
85
|
+
/** Pauses the execution until the request is available to be made. */ async acquire(highPriority) {
|
|
86
|
+
return await new Promise((resolve)=>{
|
|
87
|
+
// High priority requests get added to the start of the queue
|
|
88
|
+
if (highPriority) this.queue.unshift(resolve);
|
|
89
|
+
else this.queue.push(resolve);
|
|
90
|
+
// Each request should trigger the queue to be processed.
|
|
91
|
+
void this.processQueue();
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
};
|
|
95
|
+
|
|
96
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9idWNrZXQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGxvZ2dlciBmcm9tICcuL2xvZ2dlci5qcydcbmltcG9ydCB7IGRlbGF5IH0gZnJvbSAnLi91dGlscy5qcydcblxuZXhwb3J0IGNsYXNzIExlYWt5QnVja2V0IGltcGxlbWVudHMgTGVha3lCdWNrZXRPcHRpb25zIHtcbiAgbWF4OiBudW1iZXJcbiAgcmVmaWxsSW50ZXJ2YWw6IG51bWJlclxuICByZWZpbGxBbW91bnQ6IG51bWJlclxuXG4gIC8qKiBUaGUgYW1vdW50IG9mIHJlcXVlc3RzIHRoYXQgaGF2ZSBiZWVuIHVzZWQgdXAgYWxyZWFkeS4gKi9cbiAgdXNlZDogbnVtYmVyID0gMFxuICAvKiogVGhlIHF1ZXVlIG9mIHJlcXVlc3RzIHRvIGFjcXVpcmUgYW4gYXZhaWxhYmxlIHJlcXVlc3QuIE1hcHBlZCBieSA8c2hhcmRJZCwgcmVzb2x2ZSgpPiAqL1xuICBxdWV1ZTogQXJyYXk8KHZhbHVlOiB2b2lkIHwgUHJvbWlzZUxpa2U8dm9pZD4pID0+IHZvaWQ+ID0gW11cbiAgLyoqIFdoZXRoZXIgb3Igbm90IHRoZSBxdWV1ZSBpcyBhbHJlYWR5IHByb2Nlc3NpbmcuICovXG4gIHByb2Nlc3Npbmc6IGJvb2xlYW4gPSBmYWxzZVxuICAvKiogVGhlIHRpbWVvdXQgaWQgZm9yIHRoZSB0aW1lciB0byByZWR1Y2UgdGhlIHVzZWQgYW1vdW50IGJ5IHRoZSByZWZpbGwgYW1vdW50LiAqL1xuICB0aW1lb3V0SWQ/OiBOb2RlSlMuVGltZW91dFxuICAvKiogVGhlIHRpbWVzdGFtcCBpbiBtaWxsaXNlY29uZHMgd2hlbiB0aGUgbmV4dCByZWZpbGwgaXMgc2NoZWR1bGVkLiAqL1xuICByZWZpbGxzQXQ/OiBudW1iZXJcbiAgLyoqIExvZ2dlciB1c2VkIGluIHRoZSBsZWFreSBidWNrZXQgKi9cbiAgbG9nZ2VyOiBQaWNrPHR5cGVvZiBsb2dnZXIsICdkZWJ1ZycgfCAnaW5mbycgfCAnd2FybicgfCAnZXJyb3InIHwgJ2ZhdGFsJz5cblxuICBjb25zdHJ1Y3RvcihvcHRpb25zPzogTGVha3lCdWNrZXRPcHRpb25zKSB7XG4gICAgdGhpcy5tYXggPSBvcHRpb25zPy5tYXggPz8gMVxuICAgIHRoaXMucmVmaWxsQW1vdW50ID0gb3B0aW9ucz8ucmVmaWxsQW1vdW50ID8gKG9wdGlvbnMucmVmaWxsQW1vdW50ID4gdGhpcy5tYXggPyB0aGlzLm1heCA6IG9wdGlvbnMucmVmaWxsQW1vdW50KSA6IDFcbiAgICB0aGlzLnJlZmlsbEludGVydmFsID0gb3B0aW9ucz8ucmVmaWxsSW50ZXJ2YWwgPz8gNTAwMFxuICAgIHRoaXMubG9nZ2VyID0gb3B0aW9ucz8ubG9nZ2VyID8/IGxvZ2dlclxuICB9XG5cbiAgLyoqIFRoZSBhbW91bnQgb2YgcmVxdWVzdHMgdGhhdCBzdGlsbCByZW1haW4uICovXG4gIGdldCByZW1haW5pbmcoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5tYXggPCB0aGlzLnVzZWQgPyAwIDogdGhpcy5tYXggLSB0aGlzLnVzZWRcbiAgfVxuXG4gIC8qKiBSZWZpbGxzIHRoZSBidWNrZXQgYXMgbmVlZGVkLiAqL1xuICByZWZpbGxCdWNrZXQoKTogdm9pZCB7XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoYFtMZWFreUJ1Y2tldF0gVGltZW91dCBmb3IgbGVha3kgYnVja2V0IHJlcXVlc3RzIGV4ZWN1dGVkLiBSZWZpbGxpbmcgYnVja2V0LmApXG4gICAgLy8gTG93ZXIgdGhlIHVzZWQgYW1vdW50IGJ5IHRoZSByZWZpbGwgYW1vdW50XG4gICAgdGhpcy51c2VkID0gdGhpcy5yZWZpbGxBbW91bnQgPiB0aGlzLnVzZWQgPyAwIDogdGhpcy51c2VkIC0gdGhpcy5yZWZpbGxBbW91bnRcbiAgICAvLyBSZXNldCB0aGUgcmVmaWxsc0F0IHRpbWVzdGFtcCBzaW5jZSBpdCBqdXN0IGdvdCByZWZpbGxlZFxuICAgIHRoaXMucmVmaWxsc0F0ID0gdW5kZWZpbmVkXG4gICAgLy8gUmVzZXQgdGhlIHRpbWVvdXRJZFxuICAgIGNsZWFyVGltZW91dCh0aGlzLnRpbWVvdXRJZClcbiAgICB0aGlzLnRpbWVvdXRJZCA9IHVuZGVmaW5lZFxuXG4gICAgaWYgKHRoaXMudXNlZCA+IDApIHtcbiAgICAgIHRoaXMudGltZW91dElkID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMucmVmaWxsQnVja2V0KClcbiAgICAgIH0sIHRoaXMucmVmaWxsSW50ZXJ2YWwpXG4gICAgICB0aGlzLnJlZmlsbHNBdCA9IERhdGUubm93KCkgKyB0aGlzLnJlZmlsbEludGVydmFsXG4gICAgfVxuICB9XG5cbiAgLyoqIEJlZ2luIHByb2Nlc3NpbmcgdGhlIHF1ZXVlLiAqL1xuICBhc3luYyBwcm9jZXNzUXVldWUoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ1tMZWFreUJ1Y2tldF0gUHJvY2Vzc2luZyBxdWV1ZScpXG5cbiAgICAvLyBUaGVyZSBpcyBhbHJlYWR5IGEgcXVldWUgdGhhdCBpcyBwcm9jZXNzaW5nXG4gICAgaWYgKHRoaXMucHJvY2Vzc2luZykgcmV0dXJuIHRoaXMubG9nZ2VyLmRlYnVnKCdbTGVha3lCdWNrZXRdIFF1ZXVlIGlzIGFscmVhZHkgcHJvY2Vzc2luZy4nKVxuXG4gICAgdGhpcy5wcm9jZXNzaW5nID0gdHJ1ZVxuXG4gICAgLy8gQmVnaW4gZ29pbmcgdGhyb3VnaCB0aGUgcXVldWUuXG4gICAgd2hpbGUgKHRoaXMucXVldWUubGVuZ3RoKSB7XG4gICAgICBpZiAodGhpcy5yZW1haW5pbmcpIHtcbiAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoYFtMZWFreUJ1Y2tldF0gUHJvY2Vzc2luZyBxdWV1ZS4gUmVtYWluaW5nOiAke3RoaXMucmVtYWluaW5nfSBMZW5ndGg6ICR7dGhpcy5xdWV1ZS5sZW5ndGh9YClcbiAgICAgICAgLy8gUmVzb2x2ZXMgdGhlIHByb21pc2UgYWxsb3dpbmcgdGhlIHBhdXNlZCBleGVjdXRpb24gb2YgdGhpcyByZXF1ZXN0IHRvIHJlc29sdmUgYW5kIGNvbnRpbnVlLlxuICAgICAgICB0aGlzLnF1ZXVlLnNoaWZ0KCk/LigpXG4gICAgICAgIC8vIEEgcmVxdWVzdCBjYW4gYmUgbWFkZVxuICAgICAgICB0aGlzLnVzZWQrK1xuXG4gICAgICAgIC8vIENyZWF0ZSBhIG5ldyB0aW1lb3V0IGZvciB0aGlzIHJlcXVlc3QgaWYgbm9uZSBleGlzdHMuXG4gICAgICAgIGlmICghdGhpcy50aW1lb3V0SWQpIHtcbiAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhgW0xlYWt5QnVja2V0XSBDcmVhdGluZyBuZXcgdGltZW91dCBmb3IgbGVha3kgYnVja2V0IHJlcXVlc3RzLmApXG5cbiAgICAgICAgICB0aGlzLnRpbWVvdXRJZCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5yZWZpbGxCdWNrZXQoKVxuICAgICAgICAgIH0sIHRoaXMucmVmaWxsSW50ZXJ2YWwpXG4gICAgICAgICAgLy8gU2V0IHRoZSB0aW1lIGZvciB3aGVuIHRoaXMgcmVmaWxsIHdpbGwgb2NjdXIuXG4gICAgICAgICAgdGhpcy5yZWZpbGxzQXQgPSBEYXRlLm5vdygpICsgdGhpcy5yZWZpbGxJbnRlcnZhbFxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIENoZWNrIGlmIGEgcmVmaWxsIGlzIHNjaGVkdWxlZCwgc2luY2Ugd2UgaGF2ZSB1c2VkIHVwIGFsbCBhdmFpbGFibGUgcmVxdWVzdHNcbiAgICAgIGVsc2UgaWYgKHRoaXMucmVmaWxsc0F0KSB7XG4gICAgICAgIGNvbnN0IG5vdyA9IERhdGUubm93KClcbiAgICAgICAgLy8gSWYgdGhlcmUgaXMgdGltZSBsZWZ0IHVudGlsIG5leHQgcmVmaWxsLCBqdXN0IGRlbGF5IGV4ZWN1dGlvbi5cbiAgICAgICAgaWYgKHRoaXMucmVmaWxsc0F0ID4gbm93KSB7XG4gICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoYFtMZWFreUJ1Y2tldF0gRGVsYXlpbmcgZXhlY3V0aW9uIG9mIGxlYWt5IGJ1Y2tldCByZXF1ZXN0cyBmb3IgJHt0aGlzLnJlZmlsbHNBdCAtIG5vd31tc2ApXG4gICAgICAgICAgYXdhaXQgZGVsYXkodGhpcy5yZWZpbGxzQXQgLSBub3cpXG4gICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoYFtMZWFreUJ1Y2tldF0gUmVzdW1pbmcgZXhlY3V0aW9uYClcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIElmIHRoZSByZWZpbGxzQXQgaGFzIHBhc3NlZCBidXQgdGhlIHRpbWVvdXQgZGlkbid0IHlldCBleGVjdXRlIGRlbGF5IHRoZSBleGVjdXRpb25cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoYFtMZWFreUJ1Y2tldF0gRGVsYXlpbmcgZXhlY3V0aW9uIG9mIGxlYWt5IGJ1Y2tldCByZXF1ZXN0cyBmb3IgMTAwMG1zYClcbiAgICAgICAgICBhd2FpdCBkZWxheSgxMDAwKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTG9vcCBoYXMgZW5kZWQgbWFyayBmYWxzZSBzbyBpdCBjYW4gcmVzdGFydCBsYXRlciB3aGVuIG5lZWRlZFxuICAgIHRoaXMucHJvY2Vzc2luZyA9IGZhbHNlXG4gIH1cblxuICAvKiogUGF1c2VzIHRoZSBleGVjdXRpb24gdW50aWwgdGhlIHJlcXVlc3QgaXMgYXZhaWxhYmxlIHRvIGJlIG1hZGUuICovXG4gIGFzeW5jIGFjcXVpcmUoaGlnaFByaW9yaXR5PzogYm9vbGVhbik6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgICAgLy8gSGlnaCBwcmlvcml0eSByZXF1ZXN0cyBnZXQgYWRkZWQgdG8gdGhlIHN0YXJ0IG9mIHRoZSBxdWV1ZVxuICAgICAgaWYgKGhpZ2hQcmlvcml0eSkgdGhpcy5xdWV1ZS51bnNoaWZ0KHJlc29sdmUpXG4gICAgICAvLyBBbGwgb3RoZXIgcmVxdWVzdHMgZ2V0IHB1c2hlZCB0byB0aGUgZW5kLlxuICAgICAgZWxzZSB0aGlzLnF1ZXVlLnB1c2gocmVzb2x2ZSlcblxuICAgICAgLy8gRWFjaCByZXF1ZXN0IHNob3VsZCB0cmlnZ2VyIHRoZSBxdWV1ZSB0byBiZSBwcm9jZXNzZWQuXG4gICAgICB2b2lkIHRoaXMucHJvY2Vzc1F1ZXVlKClcbiAgICB9KVxuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGVha3lCdWNrZXRPcHRpb25zIHtcbiAgLyoqXG4gICAqIE1heCByZXF1ZXN0cyBhbGxvd2VkIGF0IG9uY2UuXG4gICAqIEBkZWZhdWx0IDFcbiAgICovXG4gIG1heD86IG51bWJlclxuICAvKipcbiAgICogSW50ZXJ2YWwgaW4gbWlsbGlzZWNvbmRzIGJldHdlZW4gcmVmaWxscy5cbiAgICogQGRlZmF1bHQgNTAwMFxuICAgKi9cbiAgcmVmaWxsSW50ZXJ2YWw/OiBudW1iZXJcbiAgLyoqXG4gICAqIEFtb3VudCBvZiByZXF1ZXN0cyB0byByZWZpbGwgYXQgZWFjaCBpbnRlcnZhbC5cbiAgICogQGRlZmF1bHQgMVxuICAgKi9cbiAgcmVmaWxsQW1vdW50PzogbnVtYmVyXG4gIC8qKlxuICAgKiBUaGUgbG9nZ2VyIHRoYXQgdGhlIGxlYWt5IGJ1Y2tldCB3aWxsIHVzZVxuICAgKiBAZGVmYXVsdCBsb2dnZXIgLy8gVGhlIGxvZ2dlciBleHBvcnRlZCBieSBgQGRpc2NvcmRlbm8vdXRpbHNgXG4gICAqL1xuICBsb2dnZXI/OiBQaWNrPHR5cGVvZiBsb2dnZXIsICdkZWJ1ZycgfCAnaW5mbycgfCAnd2FybicgfCAnZXJyb3InIHwgJ2ZhdGFsJz5cbn1cbiJdLCJuYW1lcyI6WyJMZWFreUJ1Y2tldCIsImNvbnN0cnVjdG9yIiwib3B0aW9ucyIsInVzZWQiLCJxdWV1ZSIsInByb2Nlc3NpbmciLCJtYXgiLCJyZWZpbGxBbW91bnQiLCJyZWZpbGxJbnRlcnZhbCIsImxvZ2dlciIsInJlbWFpbmluZyIsInJlZmlsbEJ1Y2tldCIsImRlYnVnIiwicmVmaWxsc0F0IiwidW5kZWZpbmVkIiwiY2xlYXJUaW1lb3V0IiwidGltZW91dElkIiwic2V0VGltZW91dCIsIkRhdGUiLCJub3ciLCJwcm9jZXNzUXVldWUiLCJsZW5ndGgiLCJzaGlmdCIsImRlbGF5IiwiYWNxdWlyZSIsImhpZ2hQcmlvcml0eSIsIlByb21pc2UiLCJyZXNvbHZlIiwidW5zaGlmdCIsInB1c2giXSwibWFwcGluZ3MiOiI7Ozs7K0JBR2FBOzs7ZUFBQUE7OzsrREFITTt1QkFDRzs7Ozs7O0FBRWYsSUFBQSxBQUFNQSxjQUFOLE1BQU1BO0lBa0JYQyxZQUFZQyxPQUE0QixDQUFFO1FBYjFDLDJEQUEyRCxRQUMzREMsT0FBZTtRQUNmLDBGQUEwRixRQUMxRkMsUUFBMEQsRUFBRTtRQUM1RCxvREFBb0QsUUFDcERDLGFBQXNCO1FBU3BCLElBQUksQ0FBQ0MsR0FBRyxHQUFHSixTQUFTSSxPQUFPO1FBQzNCLElBQUksQ0FBQ0MsWUFBWSxHQUFHTCxTQUFTSyxlQUFnQkwsUUFBUUssWUFBWSxHQUFHLElBQUksQ0FBQ0QsR0FBRyxHQUFHLElBQUksQ0FBQ0EsR0FBRyxHQUFHSixRQUFRSyxZQUFZLEdBQUk7UUFDbEgsSUFBSSxDQUFDQyxjQUFjLEdBQUdOLFNBQVNNLGtCQUFrQjtRQUNqRCxJQUFJLENBQUNDLE1BQU0sR0FBR1AsU0FBU08sVUFBVUEsZUFBTTtJQUN6QztJQUVBLDhDQUE4QyxHQUM5QyxJQUFJQyxZQUFvQjtRQUN0QixPQUFPLElBQUksQ0FBQ0osR0FBRyxHQUFHLElBQUksQ0FBQ0gsSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDRyxHQUFHLEdBQUcsSUFBSSxDQUFDSCxJQUFJO0lBQ3hEO0lBRUEsa0NBQWtDLEdBQ2xDUSxlQUFxQjtRQUNuQixJQUFJLENBQUNGLE1BQU0sQ0FBQ0csS0FBSyxDQUFDLENBQUMsMkVBQTJFLENBQUM7UUFDL0YsNkNBQTZDO1FBQzdDLElBQUksQ0FBQ1QsSUFBSSxHQUFHLElBQUksQ0FBQ0ksWUFBWSxHQUFHLElBQUksQ0FBQ0osSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDQSxJQUFJLEdB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
|
|
@@ -0,0 +1,292 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "EmbedsBuilder", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return EmbedsBuilder;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
let EmbedsBuilder = class EmbedsBuilder extends Array {
|
|
12
|
+
#currentEmbedIndex;
|
|
13
|
+
/**
|
|
14
|
+
* Adds a new field to the embed fields array.
|
|
15
|
+
*
|
|
16
|
+
* @param {string} name - Field name
|
|
17
|
+
* @param {string} value - Field value
|
|
18
|
+
* @param {?boolean} [inline=false] - Field should be inline or not.
|
|
19
|
+
* @returns {EmbedsBuilder}
|
|
20
|
+
*/ addField(name, value, inline) {
|
|
21
|
+
if (this.#currentEmbed.fields === undefined) {
|
|
22
|
+
this.#currentEmbed.fields = [];
|
|
23
|
+
}
|
|
24
|
+
this.#currentEmbed.fields.push({
|
|
25
|
+
name,
|
|
26
|
+
value,
|
|
27
|
+
inline
|
|
28
|
+
});
|
|
29
|
+
return this;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Creates a blank embed.
|
|
33
|
+
*
|
|
34
|
+
* @returns {EmbedsBuilder}
|
|
35
|
+
*/ newEmbed() {
|
|
36
|
+
if (this.length >= 10) {
|
|
37
|
+
throw new Error('Maximum embed count exceeded. You can not have more than 10 embeds.');
|
|
38
|
+
}
|
|
39
|
+
this.push({});
|
|
40
|
+
this.setCurrentEmbed();
|
|
41
|
+
return this;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Set the current embed author.
|
|
45
|
+
*
|
|
46
|
+
* @param {string} name - Name of the author
|
|
47
|
+
* @param {?Omit<DiscordEmbedAuthor, 'name'>} [options] - Extra author options
|
|
48
|
+
* @returns {EmbedsBuilder}
|
|
49
|
+
*/ setAuthor(name, options) {
|
|
50
|
+
this.#currentEmbed.author = {
|
|
51
|
+
...this.#currentEmbed.author,
|
|
52
|
+
...options,
|
|
53
|
+
name
|
|
54
|
+
};
|
|
55
|
+
return this;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Set the color on the side of the current embed.
|
|
59
|
+
*
|
|
60
|
+
* @param {(number | string)} color - The color, in base16 or hex color code
|
|
61
|
+
* @returns {EmbedsBuilder}
|
|
62
|
+
*/ setColor(color) {
|
|
63
|
+
if (typeof color === 'string') {
|
|
64
|
+
const convertedValue = parseInt(color.replace('#', ''), 16);
|
|
65
|
+
color = Number.isNaN(convertedValue) ? 0 : convertedValue;
|
|
66
|
+
}
|
|
67
|
+
this.#currentEmbed.color = color;
|
|
68
|
+
return this;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Set the current embed to a different index.
|
|
72
|
+
*
|
|
73
|
+
* 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.
|
|
74
|
+
*
|
|
75
|
+
* @param {?number} [index] - The index of the embed in the EmbedsBuilder array
|
|
76
|
+
* @returns {EmbedsBuilder}
|
|
77
|
+
*/ setCurrentEmbed(index) {
|
|
78
|
+
if (index === undefined) {
|
|
79
|
+
this.#currentEmbedIndex = this.length - 1;
|
|
80
|
+
return this;
|
|
81
|
+
}
|
|
82
|
+
if (index >= this.length || index < 0) {
|
|
83
|
+
throw new Error('Can not set the current embed to a index out of bounds.');
|
|
84
|
+
}
|
|
85
|
+
this.#currentEmbedIndex = index;
|
|
86
|
+
return this;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Set the description of the current embed.
|
|
90
|
+
*
|
|
91
|
+
* @param {string} description - Description
|
|
92
|
+
* @returns {EmbedsBuilder}
|
|
93
|
+
*/ setDescription(description) {
|
|
94
|
+
this.#currentEmbed.description = description;
|
|
95
|
+
return this;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Overwrite all fields on the current embed.
|
|
99
|
+
*
|
|
100
|
+
* @param {DiscordEmbedField[]} fields
|
|
101
|
+
* @returns {EmbedsBuilder}
|
|
102
|
+
*/ setFields(fields) {
|
|
103
|
+
this.#currentEmbed.fields = fields;
|
|
104
|
+
return this;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Set the footer in the current embed.
|
|
108
|
+
*
|
|
109
|
+
* @param {string} text - The text to display in the footer
|
|
110
|
+
* @param {?Omit<DiscordEmbedFooter, 'text'>} [options]
|
|
111
|
+
* @returns {EmbedsBuilder}
|
|
112
|
+
*/ setFooter(text, options) {
|
|
113
|
+
this.#currentEmbed.footer = {
|
|
114
|
+
...this.#currentEmbed.footer,
|
|
115
|
+
...options,
|
|
116
|
+
text
|
|
117
|
+
};
|
|
118
|
+
return this;
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Set the image in the current embed.
|
|
122
|
+
*
|
|
123
|
+
* @param {string} url - URL of the image
|
|
124
|
+
* @param {?Omit<DiscordEmbedImage, 'url'>} [options]
|
|
125
|
+
* @returns {EmbedsBuilder}
|
|
126
|
+
*/ setImage(url, options) {
|
|
127
|
+
this.#currentEmbed.image = {
|
|
128
|
+
...this.#currentEmbed.image,
|
|
129
|
+
...options,
|
|
130
|
+
url
|
|
131
|
+
};
|
|
132
|
+
return this;
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Set the provider of the current embed.
|
|
136
|
+
*
|
|
137
|
+
* @param {string} name
|
|
138
|
+
* @param {?string} [url]
|
|
139
|
+
* @returns {EmbedsBuilder}
|
|
140
|
+
*/ setProvider(name, url) {
|
|
141
|
+
this.#currentEmbed.provider = {
|
|
142
|
+
name,
|
|
143
|
+
url
|
|
144
|
+
};
|
|
145
|
+
return this;
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Set the color of the current embed to a random value.
|
|
149
|
+
*
|
|
150
|
+
* @returns {EmbedsBuilder}
|
|
151
|
+
*/ setRandomColor() {
|
|
152
|
+
return this.setColor(Math.floor(Math.random() * (0xffffff + 1)));
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Set the title of the current embed.
|
|
156
|
+
*
|
|
157
|
+
* @param {string} title
|
|
158
|
+
* @param {?string} [url]
|
|
159
|
+
* @returns {EmbedsBuilder}
|
|
160
|
+
*/ setTitle(title, url) {
|
|
161
|
+
this.#currentEmbed.title = title;
|
|
162
|
+
if (url) {
|
|
163
|
+
this.setUrl(url);
|
|
164
|
+
}
|
|
165
|
+
return this;
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Set the timestamp of the current embed.
|
|
169
|
+
*
|
|
170
|
+
* @param {?(string | number | Date)} [timestamp]
|
|
171
|
+
* @returns {EmbedsBuilder}
|
|
172
|
+
*/ setTimestamp(timestamp) {
|
|
173
|
+
this.#currentEmbed.timestamp = new Date(timestamp).toISOString();
|
|
174
|
+
return this;
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Set the thumbnail of the current embed.
|
|
178
|
+
*
|
|
179
|
+
* @param {string} url - URL of the image
|
|
180
|
+
* @param {?Omit<DiscordEmbedThumbnail, 'url'>} [options]
|
|
181
|
+
* @returns {EmbedsBuilder}
|
|
182
|
+
*/ setThumbnail(url, options) {
|
|
183
|
+
this.#currentEmbed.thumbnail = {
|
|
184
|
+
...this.#currentEmbed.thumbnail,
|
|
185
|
+
...options,
|
|
186
|
+
url
|
|
187
|
+
};
|
|
188
|
+
return this;
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* Set the URL of the current embed title.
|
|
192
|
+
*
|
|
193
|
+
* @param {string} url
|
|
194
|
+
* @returns {EmbedsBuilder}
|
|
195
|
+
*/ setUrl(url) {
|
|
196
|
+
this.#currentEmbed.url = url;
|
|
197
|
+
return this;
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* Set the video of the current embed.
|
|
201
|
+
*
|
|
202
|
+
* @param {string} url
|
|
203
|
+
* @param {?Omit<DiscordEmbedVideo, 'url'>} [options]
|
|
204
|
+
* @returns {EmbedsBuilder}
|
|
205
|
+
*/ setVideo(url, options) {
|
|
206
|
+
this.#currentEmbed.video = {
|
|
207
|
+
...this.#currentEmbed.video,
|
|
208
|
+
...options,
|
|
209
|
+
url
|
|
210
|
+
};
|
|
211
|
+
return this;
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* Validate all embeds available against current known Discord limits to help prevent bad requests.
|
|
215
|
+
*
|
|
216
|
+
* @returns {EmbedsBuilder}
|
|
217
|
+
*/ validate() {
|
|
218
|
+
let totalCharacters = 0;
|
|
219
|
+
if (this.length > 10) {
|
|
220
|
+
throw new Error('You can not have more than 10 embeds on a single message.');
|
|
221
|
+
}
|
|
222
|
+
this.forEach(({ author, description, fields, footer, title }, index)=>{
|
|
223
|
+
if (title) {
|
|
224
|
+
const trimmedTitle = title.trim();
|
|
225
|
+
if (trimmedTitle.length > 256) {
|
|
226
|
+
throw new Error(`Title of embed ${index} can not be longer than 256 characters.`);
|
|
227
|
+
}
|
|
228
|
+
totalCharacters += trimmedTitle.length;
|
|
229
|
+
}
|
|
230
|
+
if (description) {
|
|
231
|
+
const trimmedDescription = description.trim();
|
|
232
|
+
if (trimmedDescription.length > 4096) {
|
|
233
|
+
throw new Error(`Description of embed ${index} can not be longer than 4096 characters.`);
|
|
234
|
+
}
|
|
235
|
+
totalCharacters += trimmedDescription.length;
|
|
236
|
+
}
|
|
237
|
+
if (fields) {
|
|
238
|
+
if (fields.length > 25) {
|
|
239
|
+
throw new Error(`embed ${index} can not have more than 25 fields.`);
|
|
240
|
+
}
|
|
241
|
+
fields.forEach(({ name, value }, fieldIndex)=>{
|
|
242
|
+
const trimmedName = name.trim();
|
|
243
|
+
const trimmedValue = value.trim();
|
|
244
|
+
if (trimmedName.length > 256) {
|
|
245
|
+
throw new Error(`Name of field ${fieldIndex} on embed ${index} can not be longer than 256 characters.`);
|
|
246
|
+
}
|
|
247
|
+
if (trimmedValue.length > 4096) {
|
|
248
|
+
throw new Error(`Value of field ${fieldIndex} on embed ${index} can not be longer than 1024 characters.`);
|
|
249
|
+
}
|
|
250
|
+
totalCharacters += trimmedName.length;
|
|
251
|
+
totalCharacters += trimmedValue.length;
|
|
252
|
+
});
|
|
253
|
+
}
|
|
254
|
+
if (footer) {
|
|
255
|
+
const trimmedFooterText = footer.text.trim();
|
|
256
|
+
if (trimmedFooterText.length > 2048) {
|
|
257
|
+
throw new Error(`Footer text of embed ${index} can not be longer than 2048 characters.`);
|
|
258
|
+
}
|
|
259
|
+
totalCharacters += trimmedFooterText.length;
|
|
260
|
+
}
|
|
261
|
+
if (author) {
|
|
262
|
+
const trimmedAuthorName = author.name.trim();
|
|
263
|
+
if (trimmedAuthorName.length > 256) {
|
|
264
|
+
throw new Error(`Author name of embed ${index} can not be longer than 256 characters.`);
|
|
265
|
+
}
|
|
266
|
+
totalCharacters += trimmedAuthorName.length;
|
|
267
|
+
}
|
|
268
|
+
});
|
|
269
|
+
if (totalCharacters > 6000) {
|
|
270
|
+
throw new Error('Total character length of all embeds can not exceed 6000 characters.');
|
|
271
|
+
}
|
|
272
|
+
return this;
|
|
273
|
+
}
|
|
274
|
+
/**
|
|
275
|
+
* Returns the current embed.
|
|
276
|
+
*
|
|
277
|
+
* @readonly
|
|
278
|
+
* @type {DiscordEmbed}
|
|
279
|
+
*/ get #currentEmbed() {
|
|
280
|
+
if (this.length === 0) {
|
|
281
|
+
this.newEmbed();
|
|
282
|
+
this.setCurrentEmbed();
|
|
283
|
+
}
|
|
284
|
+
return this[this.#currentEmbedIndex];
|
|
285
|
+
}
|
|
286
|
+
constructor(...args){
|
|
287
|
+
super(...args);
|
|
288
|
+
this.#currentEmbedIndex = 0;
|
|
289
|
+
}
|
|
290
|
+
};
|
|
291
|
+
|
|
292
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9idWlsZGVycy9lbWJlZHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBEaXNjb3JkRW1iZWQsXG4gIERpc2NvcmRFbWJlZEF1dGhvcixcbiAgRGlzY29yZEVtYmVkRmllbGQsXG4gIERpc2NvcmRFbWJlZEZvb3RlcixcbiAgRGlzY29yZEVtYmVkSW1hZ2UsXG4gIERpc2NvcmRFbWJlZFRodW1ibmFpbCxcbiAgRGlzY29yZEVtYmVkVmlkZW8sXG59IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJ1xuXG4vKipcbiAqIEEgYnVpbGRlciB0byBoZWxwIGNyZWF0ZSBEaXNjb3JkIGVtYmVkcy5cbiAqXG4gKiBAZXhwb3J0XG4gKiBAY2xhc3MgRW1iZWRzQnVpbGRlclxuICogQHR5cGVkZWYge0VtYmVkc0J1aWxkZXJ9XG4gKiBAZXh0ZW5kcyB7QXJyYXk8RGlzY29yZEVtYmVkPn1cbiAqIEBleGFtcGxlXG4gKiBjb25zdCBlbWJlZHMgPSBuZXcgRW1iZWRCdWlsZGVyKClcbiAqICAuc2V0VGl0bGUoJ015IEVtYmVkJylcbiAqICAuc2V0RGVzY3JpcHRpb24oJ1RoaXMgaXMgbXkgbmV3IGVtYmVkJylcbiAqICAubmV3RW1iZWQoKVxuICogIC5zZXRUaXRsZSgnTXkgU2Vjb25kIEVtYmVkJylcbiAqL1xuZXhwb3J0IGNsYXNzIEVtYmVkc0J1aWxkZXIgZXh0ZW5kcyBBcnJheTxEaXNjb3JkRW1iZWQ+IHtcbiAgI2N1cnJlbnRFbWJlZEluZGV4OiBudW1iZXIgPSAwXG5cbiAgLyoqXG4gICAqIEFkZHMgYSBuZXcgZmllbGQgdG8gdGhlIGVtYmVkIGZpZWxkcyBhcnJheS5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgLSBGaWVsZCBuYW1lXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB2YWx1ZSAtIEZpZWxkIHZhbHVlXG4gICAqIEBwYXJhbSB7P2Jvb2xlYW59IFtpbmxpbmU9ZmFsc2VdIC0gRmllbGQgc2hvdWxkIGJlIGlubGluZSBvciBub3QuXG4gICAqIEByZXR1cm5zIHtFbWJlZHNCdWlsZGVyfVxuICAgKi9cbiAgYWRkRmllbGQobmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nLCBpbmxpbmU/OiBib29sZWFuKTogdGhpcyB7XG4gICAgaWYgKHRoaXMuI2N1cnJlbnRFbWJlZC5maWVsZHMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy4jY3VycmVudEVtYmVkLmZpZWxkcyA9IFtdXG4gICAgfVxuXG4gICAgdGhpcy4jY3VycmVudEVtYmVkLmZpZWxkcy5wdXNoKHtcbiAgICAgIG5hbWUsXG4gICAgICB2YWx1ZSxcbiAgICAgIGlubGluZSxcbiAgICB9KVxuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgYmxhbmsgZW1iZWQuXG4gICAqXG4gICAqIEByZXR1cm5zIHtFbWJlZHNCdWlsZGVyfVxuICAgKi9cbiAgbmV3RW1iZWQoKTogdGhpcyB7XG4gICAgaWYgKHRoaXMubGVuZ3RoID49IDEwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ01heGltdW0gZW1iZWQgY291bnQgZXhjZWVkZWQuIFlvdSBjYW4gbm90IGhhdmUgbW9yZSB0aGFuIDEwIGVtYmVkcy4nKVxuICAgIH1cblxuICAgIHRoaXMucHVzaCh7fSlcbiAgICB0aGlzLnNldEN1cnJlbnRFbWJlZCgpXG5cbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgY3VycmVudCBlbWJlZCBhdXRob3IuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIC0gTmFtZSBvZiB0aGUgYXV0aG9yXG4gICAqIEBwYXJhbSB7P09taXQ8RGlzY29yZEVtYmVkQXV0aG9yLCAnbmFtZSc+fSBbb3B0aW9uc10gLSBFeHRyYSBhdXRob3Igb3B0aW9uc1xuICAgKiBAcmV0dXJucyB7RW1iZWRzQnVpbGRlcn1cbiAgICovXG4gIHNldEF1dGhvcihuYW1lOiBzdHJpbmcsIG9wdGlvbnM/OiBPbWl0PERpc2NvcmRFbWJlZEF1dGhvciwgJ25hbWUnPik6IHRoaXMge1xuICAgIHRoaXMuI2N1cnJlbnRFbWJlZC5hdXRob3IgPSB7XG4gICAgICAuLi50aGlzLiNjdXJyZW50RW1iZWQuYXV0aG9yLFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIG5hbWUsXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIGNvbG9yIG9uIHRoZSBzaWRlIG9mIHRoZSBjdXJyZW50IGVtYmVkLlxuICAgKlxuICAgKiBAcGFyYW0geyhudW1iZXIgfCBzdHJpbmcpfSBjb2xvciAtIFRoZSBjb2xvciwgaW4gYmFzZTE2IG9yIGhleCBjb2xvciBjb2RlXG4gICAqIEByZXR1cm5zIHtFbWJlZHNCdWlsZGVyfVxuICAgKi9cbiAgc2V0Q29sb3IoY29sb3I6IG51bWJlciB8IHN0cmluZyk6IHRoaXMge1xuICAgIGlmICh0eXBlb2YgY29sb3IgPT09ICdzdHJpbmcnKSB7XG4gICAgICBjb25zdCBjb252ZXJ0ZWRWYWx1ZSA9IHBhcnNlSW50KGNvbG9yLnJlcGxhY2UoJyMnLCAnJyksIDE2KVxuICAgICAgY29sb3IgPSBOdW1iZXIuaXNOYU4oY29udmVydGVkVmFsdWUpID8gMCA6IGNvbnZlcnRlZFZhbHVlXG4gICAgfVxuXG4gICAgdGhpcy4jY3VycmVudEVtYmVkLmNvbG9yID0gY29sb3JcblxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSBjdXJyZW50IGVtYmVkIHRvIGEgZGlmZmVyZW50IGluZGV4LlxuICAgKlxuICAgKiBXQVJOSU5HOiBPbmx5IHVzZSB0aGlzIG1ldGhvZCBpZiB5b3Uga25vdyB3aGF0IHlvdSdyZSBkb2luZy4gTWFrZSBzdXJlIHRvIHNldCBpdCBiYWNrIHRvIHRoZSBsYXRlc3Qgd2hlbiB5b3UncmUgZG9uZS5cbiAgICpcbiAgICogQHBhcmFtIHs/bnVtYmVyfSBbaW5kZXhdIC0gVGhlIGluZGV4IG9mIHRoZSBlbWJlZCBpbiB0aGUgRW1iZWRzQnVpbGRlciBhcnJheVxuICAgKiBAcmV0dXJucyB7RW1iZWRzQnVpbGRlcn1cbiAgICovXG4gIHNldEN1cnJlbnRFbWJlZChpbmRleD86IG51bWJlcik6IHRoaXMge1xuICAgIGlmIChpbmRleCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLiNjdXJyZW50RW1iZWRJbmRleCA9IHRoaXMubGVuZ3RoIC0gMVxuXG4gICAgICByZXR1cm4gdGhpc1xuICAgIH1cblxuICAgIGlmIChpbmRleCA+PSB0aGlzLmxlbmd0aCB8fCBpbmRleCA8IDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQ2FuIG5vdCBzZXQgdGhlIGN1cnJlbnQgZW1iZWQgdG8gYSBpbmRleCBvdXQgb2YgYm91bmRzLicpXG4gICAgfVxuXG4gICAgdGhpcy4jY3VycmVudEVtYmVkSW5kZXggPSBpbmRleFxuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBjdXJyZW50IGVtYmVkLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gZGVzY3JpcHRpb24gLSBEZXNjcmlwdGlvblxuICAgKiBAcmV0dXJucyB7RW1iZWRzQnVpbGRlcn1cbiAgICovXG4gIHNldERlc2NyaXB0aW9uKGRlc2NyaXB0aW9uOiBzdHJpbmcpOiB0aGlzIHtcbiAgICB0aGlzLiNjdXJyZW50RW1iZWQuZGVzY3JpcHRpb24gPSBkZXNjcmlwdGlvblxuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBPdmVyd3JpdGUgYWxsIGZpZWxkcyBvbiB0aGUgY3VycmVudCBlbWJlZC5cbiAgICpcbiAgICogQHBhcmFtIHtEaXNjb3JkRW1iZWRGaWVsZFtdfSBmaWVsZHNcbiAgICogQHJldHVybnMge0VtYmVkc0J1aWxkZXJ9XG4gICAqL1xuICBzZXRGaWVsZHMoZmllbGRzOiBEaXNjb3JkRW1iZWRGaWVsZFtdKTogdGhpcyB7XG4gICAgdGhpcy4jY3VycmVudEVtYmVkLmZpZWxkcyA9IGZpZWxkc1xuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIGZvb3RlciBpbiB0aGUgY3VycmVudCBlbWJlZC5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHRleHQgLSBUaGUgdGV4dCB0byBkaXNwbGF5IGluIHRoZSBmb290ZXJcbiAgICogQHBhcmFtIHs/T21pdDxEaXNjb3JkRW1iZWRGb290ZXIsICd0ZXh0Jz59IFtvcHRpb25zXVxuICAgKiBAcmV0dXJucyB7RW1iZWRzQnVpbGRlcn1cbiAgICovXG4gIHNldEZvb3Rlcih0ZXh0OiBzdHJpbmcsIG9wdGlvbnM/OiBPbWl0PERpc2NvcmRFbWJlZEZvb3RlciwgJ3RleHQnPik6IHRoaXMge1xuICAgIHRoaXMuI2N1cnJlbnRFbWJlZC5mb290ZXIgPSB7XG4gICAgICAuLi50aGlzLiNjdXJyZW50RW1iZWQuZm9vdGVyLFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIHRleHQsXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIGltYWdlIGluIHRoZSBjdXJyZW50IGVtYmVkLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gdXJsIC0gVVJMIG9mIHRoZSBpbWFnZVxuICAgKiBAcGFyYW0gez9PbWl0PERpc2NvcmRFbWJlZEltYWdlLCAndXJsJz59IFtvcHRpb25zXVxuICAgKiBAcmV0dXJucyB7RW1iZWRzQnVpbGRlcn1cbiAgICovXG4gIHNldEltYWdlKHVybDogc3RyaW5nLCBvcHRpb25zPzogT21pdDxEaXNjb3JkRW1iZWRJbWFnZSwgJ3VybCc+KTogdGhpcyB7XG4gICAgdGhpcy4jY3VycmVudEVtYmVkLmltYWdlID0ge1xuICAgICAgLi4udGhpcy4jY3VycmVudEVtYmVkLmltYWdlLFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIHVybCxcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgcHJvdmlkZXIgb2YgdGhlIGN1cnJlbnQgZW1iZWQuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lXG4gICAqIEBwYXJhbSB7P3N0cmluZ30gW3VybF1cbiAgICogQHJldHVybnMge0VtYmVkc0J1aWxkZXJ9XG4gICAqL1xuICBzZXRQcm92aWRlcihuYW1lOiBzdHJpbmcsIHVybD86IHN0cmluZyk6IHRoaXMge1xuICAgIHRoaXMuI2N1cnJlbnRFbWJlZC5wcm92aWRlciA9IHtcbiAgICAgIG5hbWUsXG4gICAgICB1cmwsXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIGNvbG9yIG9mIHRoZSBjdXJyZW50IGVtYmVkIHRvIGEgcmFuZG9tIHZhbHVlLlxuICAgKlxuICAgKiBAcmV0dXJucyB7RW1iZWRzQnVpbGRlcn1cbiAgICovXG4gIHNldFJhbmRvbUNvbG9yKCk6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLnNldENvbG9yKE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqICgweGZmZmZmZiArIDEpKSlcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIHRpdGxlIG9mIHRoZSBjdXJyZW50IGVtYmVkLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gdGl0bGVcbiAgICogQHBhcmFtIHs/c3RyaW5nfSBbdXJsXVxuICAgKiBAcmV0dXJucyB7RW1iZWRzQnVpbGRlcn1cbiAgICovXG4gIHNldFRpdGxlKHRpdGxlOiBzdHJpbmcsIHVybD86IHN0cmluZyk6IHRoaXMge1xuICAgIHRoaXMuI2N1cnJlbnRFbWJlZC50aXRsZSA9IHRpdGxlXG5cbiAgICBpZiAodXJsKSB7XG4gICAgICB0aGlzLnNldFVybCh1cmwpXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIHRpbWVzdGFtcCBvZiB0aGUgY3VycmVudCBlbWJlZC5cbiAgICpcbiAgICogQHBhcmFtIHs/KHN0cmluZyB8IG51bWJlciB8IERhdGUpfSBbdGltZXN0YW1wXVxuICAgKiBAcmV0dXJucyB7RW1iZWRzQnVpbGRlcn1cbiAgICovXG4gIHNldFRpbWVzdGFtcCh0aW1lc3RhbXA/OiBzdHJpbmcgfCBudW1iZXIgfCBEYXRlKTogdGhpcyB7XG4gICAgdGhpcy4jY3VycmVudEVtYmVkLnRpbWVzdGFtcCA9IG5ldyBEYXRlKHRpbWVzdGFtcCEpLnRvSVNPU3RyaW5nKClcblxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSB0aHVtYm5haWwgb2YgdGhlIGN1cnJlbnQgZW1iZWQuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB1cmwgLSBVUkwgb2YgdGhlIGltYWdlXG4gICAqIEBwYXJhbSB7P09taXQ8RGlzY29yZEVtYmVkVGh1bWJuYWlsLCAndXJsJz59IFtvcHRpb25zXVxuICAgKiBAcmV0dXJucyB7RW1iZWRzQnVpbGRlcn1cbiAgICovXG4gIHNldFRodW1ibmFpbCh1cmw6IHN0cmluZywgb3B0aW9ucz86IE9taXQ8RGlzY29yZEVtYmVkVGh1bWJuYWlsLCAndXJsJz4pOiB0aGlzIHtcbiAgICB0aGlzLiNjdXJyZW50RW1iZWQudGh1bWJuYWlsID0ge1xuICAgICAgLi4udGhpcy4jY3VycmVudEVtYmVkLnRodW1ibmFpbCxcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICB1cmwsXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIFVSTCBvZiB0aGUgY3VycmVudCBlbWJlZCB0aXRsZS5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHVybFxuICAgKiBAcmV0dXJucyB7RW1iZWRzQnVpbGRlcn1cbiAgICovXG4gIHNldFVybCh1cmw6IHN0cmluZyk6IHRoaXMge1xuICAgIHRoaXMuI2N1cnJlbnRFbWJlZC51cmwgPSB1cmxcblxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSB2aWRlbyBvZiB0aGUgY3VycmVudCBlbWJlZC5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHVybFxuICAgKiBAcGFyYW0gez9PbWl0PERpc2NvcmRFbWJlZFZpZGVvLCAndXJsJz59IFtvcHRpb25zXVxuICAgKiBAcmV0dXJucyB7RW1iZWRzQnVpbGRlcn1cbiAgICovXG4gIHNldFZpZGVvKHVybDogc3RyaW5nLCBvcHRpb25zPzogT21pdDxEaXNjb3JkRW1iZWRWaWRlbywgJ3VybCc+KTogdGhpcyB7XG4gICAgdGhpcy4jY3VycmVudEVtYmVkLnZpZGVvID0ge1xuICAgICAgLi4udGhpcy4jY3VycmVudEVtYmVkLnZpZGVvLFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIHVybCxcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgLyoqXG4gICAqIFZhbGlkYXRlIGFsbCBlbWJlZHMgYXZhaWxhYmxlIGFnYWluc3QgY3VycmVudCBrbm93biBEaXNjb3JkIGxpbWl0cyB0byBoZWxwIHByZXZlbnQgYmFkIHJlcXVlc3RzLlxuICAgKlxuICAgKiBAcmV0dXJucyB7RW1iZWRzQnVpbGRlcn1cbiAgICovXG4gIHZhbGlkYXRlKCk6IHRoaXMge1xuICAgIGxldCB0b3RhbENoYXJhY3RlcnMgPSAwXG5cbiAgICBpZiAodGhpcy5sZW5ndGggPiAxMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdZb3UgY2FuIG5vdCBoYXZlIG1vcmUgdGhhbiAxMCBlbWJlZHMgb24gYSBzaW5nbGUgbWVzc2FnZS4nKVxuICAgIH1cblxuICAgIHRoaXMuZm9yRWFjaCgoeyBhdXRob3IsIGRlc2NyaXB0aW9uLCBmaWVsZHMsIGZvb3RlciwgdGl0bGUgfSwgaW5kZXgpID0+IHtcbiAgICAgIGlmICh0aXRsZSkge1xuICAgICAgICBjb25zdCB0cmltbWVkVGl0bGUgPSB0aXRsZS50cmltKClcblxuICAgICAgICBpZiAodHJpbW1lZFRpdGxlLmxlbmd0aCA+IDI1Nikge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgVGl0bGUgb2YgZW1iZWQgJHtpbmRleH0gY2FuIG5vdCBiZSBsb25nZXIgdGhhbiAyNTYgY2hhcmFjdGVycy5gKVxuICAgICAgICB9XG5cbiAgICAgICAgdG90YWxDaGFyYWN0ZXJzICs9IHRyaW1tZWRUaXRsZS5sZW5ndGhcbiAgICAgIH1cblxuICAgICAgaWYgKGRlc2NyaXB0aW9uKSB7XG4gICAgICAgIGNvbnN0IHRyaW1tZWREZXNjcmlwdGlvbiA9IGRlc2NyaXB0aW9uLnRyaW0oKVxuXG4gICAgICAgIGlmICh0cmltbWVkRGVzY3JpcHRpb24ubGVuZ3RoID4gNDA5Nikge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgRGVzY3JpcHRpb24gb2YgZW1iZWQgJHtpbmRleH0gY2FuIG5vdCBiZSBsb25nZXIgdGhhbiA0MDk2IGNoYXJhY3RlcnMuYClcbiAgICAgICAgfVxuXG4gICAgICAgIHRvdGFsQ2hhcmFjdGVycyArPSB0cmltbWVkRGVzY3JpcHRpb24ubGVuZ3RoXG4gICAgICB9XG5cbiAgICAgIGlmIChmaWVsZHMpIHtcbiAgICAgICAgaWYgKGZpZWxkcy5sZW5ndGggPiAyNSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgZW1iZWQgJHtpbmRleH0gY2FuIG5vdCBoYXZlIG1vcmUgdGhhbiAyNSBmaWVsZHMuYClcbiAgICAgICAgfVxuXG4gICAgICAgIGZpZWxkcy5mb3JFYWNoKCh7IG5hbWUsIHZhbHVlIH0sIGZpZWxkSW5kZXgpID0+IHtcbiAgICAgICAgICBjb25zdCB0cmltbWVkTmFtZSA9IG5hbWUudHJpbSgpXG4gICAgICAgICAgY29uc3QgdHJpbW1lZFZhbHVlID0gdmFsdWUudHJpbSgpXG5cbiAgICAgICAgICBpZiAodHJpbW1lZE5hbWUubGVuZ3RoID4gMjU2KSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYE5hbWUgb2YgZmllbGQgJHtmaWVsZEluZGV4fSBvbiBlbWJlZCAke2luZGV4fSBjYW4gbm90IGJlIGxvbmdlciB0aGFuIDI1NiBjaGFyYWN0ZXJzLmApXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKHRyaW1tZWRWYWx1ZS5sZW5ndGggPiA0MDk2KSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFZhbHVlIG9mIGZpZWxkICR7ZmllbGRJbmRleH0gb24gZW1iZWQgJHtpbmRleH0gY2FuIG5vdCBiZSBsb25nZXIgdGhhbiAxMDI0IGNoYXJhY3RlcnMuYClcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB0b3RhbENoYXJhY3RlcnMgKz0gdHJpbW1lZE5hbWUubGVuZ3RoXG4gICAgICAgICAgdG90YWxDaGFyYWN0ZXJzICs9IHRyaW1tZWRWYWx1ZS5sZW5ndGhcbiAgICAgICAgfSlcbiAgICAgIH1cblxuICAgICAgaWYgKGZvb3Rlcikge1xuICAgICAgICBjb25zdCB0cmltbWVkRm9vdGVyVGV4dCA9IGZvb3Rlci50ZXh0LnRyaW0oKVxuXG4gICAgICAgIGlmICh0cmltbWVkRm9vdGVyVGV4dC5sZW5ndGggPiAyMDQ4KSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBGb290ZXIgdGV4dCBvZiBlbWJlZCAke2luZGV4fSBjYW4gbm90IGJlIGxvbmdlciB0aGFuIDIwNDggY2hhcmFjdGVycy5gKVxuICAgICAgICB9XG5cbiAgICAgICAgdG90YWxDaGFyYWN0ZXJzICs9IHRyaW1tZWRGb290ZXJUZXh0Lmxlbmd0aFxuICAgICAgfVxuXG4gICAgICBpZiAoYXV0aG9yKSB7XG4gICAgICAgIGNvbnN0IHRyaW1tZWRBdXRob3JOYW1lID0gYXV0aG9yLm5hbWUudHJpbSgpXG5cbiAgICAgICAgaWYgKHRyaW1tZWRBdXRob3JOYW1lLmxlbmd0aCA+IDI1Nikge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgQXV0aG9yIG5hbWUgb2YgZW1iZWQgJHtpbmRleH0gY2FuIG5vdCBiZSBsb25nZXIgdGhhbiAyNTYgY2hhcmFjdGVycy5gKVxuICAgICAgICB9XG5cbiAgICAgICAgdG90YWxDaGFyYWN0ZXJzICs9IHRyaW1tZWRBdXRob3JOYW1lLmxlbmd0aFxuICAgICAgfVxuICAgIH0pXG5cbiAgICBpZiAodG90YWxDaGFyYWN0ZXJzID4gNjAwMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdUb3RhbCBjaGFyYWN0ZXIgbGVuZ3RoIG9mIGFsbCBlbWJlZHMgY2FuIG5vdCBleGNlZWQgNjAwMCBjaGFyYWN0ZXJzLicpXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBjdXJyZW50IGVtYmVkLlxuICAgKlxuICAgKiBAcmVhZG9ubHlcbiAgICogQHR5cGUge0Rpc2NvcmRFbWJlZH1cbiAgICovXG4gIGdldCAjY3VycmVudEVtYmVkKCk6IERpc2NvcmRFbWJlZCB7XG4gICAgaWYgKHRoaXMubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aGlzLm5ld0VtYmVkKClcbiAgICAgIHRoaXMuc2V0Q3VycmVudEVtYmVkKClcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpc1t0aGlzLiNjdXJyZW50RW1iZWRJbmRleF1cbiAgfVxufVxuIl0sIm5hbWVzIjpbIkVtYmVkc0J1aWxkZXIiLCJBcnJheSIsImN1cnJlbnRFbWJlZEluZGV4IiwiYWRkRmllbGQiLCJuYW1lIiwidmFsdWUiLCJpbmxpbmUiLCJjdXJyZW50RW1iZWQiLCJmaWVsZHMiLCJ1bmRlZmluZWQiLCJwdXNoIiwibmV3RW1iZWQiLCJsZW5ndGgiLCJFcnJvciIsInNldEN1cnJlbnRFbWJlZCIsInNldEF1dGhvciIsIm9wdGlvbnMiLCJhdXRob3IiLCJzZXRDb2xvciIsImNvbG9yIiwiY29udmVydGVkVmFsdWUiLCJwYXJzZUludCIsInJlcGxhY2UiLCJOdW1iZXIiLCJpc05hTiIsImluZGV4Iiwic2V0RGVzY3JpcHRpb24iLCJkZXNjcmlwdGlvbiIsInNldEZpZWxkcyIsInNldEZvb3RlciIsInRleHQiLCJmb290ZXIiLCJzZXRJbWFnZSIsInVybCIsImltYWdlIiwic2V0UHJvdmlkZXIiLCJwcm92aWRlciIsInNldFJhbmRvbUNvbG9yIiwiTWF0aCIsImZsb29yIiwicmFuZG9tIiwic2V0VGl0bGUiLCJ0aXRsZSIsInNldFVybCIsInNldFRpbWVzdGFtcCIsInRpbWVzdGFtcCIsIkRhdGUiLCJ0b0lTT1N0cmluZyIsInNldFRodW1ibmFpbCIsInRodW1ibmFpbCIsInNldFZpZGVvIiwidmlkZW8iLCJ2YWxpZGF0ZSIsInRvdGFsQ2hhcmFjdGVycyIsImZvckVhY2giLCJ0cmltbWVkVGl0bGUiLCJ0cmltIiwidHJpbW1lZERlc2NyaXB0aW9uIiwiZmllbGRJbmRleCIsInRyaW1tZWROYW1lIiwidHJpbW1lZFZhbHVlIiwidHJpbW1lZEZvb3RlclRleHQiLCJ0cmltbWVkQXV0aG9yTmFtZSJdLCJtYXBwaW5ncyI6Ijs7OzsrQkF3QmFBOzs7ZUFBQUE7OztBQUFOLElBQUEsQUFBTUEsZ0JBQU4sTUFBTUEsc0JBQXNCQztJQUNqQyxDQUFDQyxpQkFBaUIsQ0FBWTtJQUU5Qjs7Ozs7OztHQU9DLEdBQ0RDLFNBQVNDLElBQVksRUFBRUMsS0FBYSxFQUFFQyxNQUFnQixFQUFRO1FBQzVELElBQUksSUFBSSxDQUFDLENBQUNDLFlBQVksQ0FBQ0MsTUFBTSxLQUFLQyxXQUFXO1lBQzNDLElBQUksQ0FBQyxDQUFDRixZQUFZLENBQUNDLE1BQU0sR0FBRyxFQUFFO1FBQ2hDO1FBRUEsSUFBSSxDQUFDLENBQUNELFlBQVksQ0FBQ0MsTUFBTSxDQUFDRSxJQUFJLENBQUM7WUFDN0JOO1lBQ0FDO1lBQ0FDO1FBQ0Y7UUFFQSxPQUFPLElBQUk7SUFDYjtJQUVBOzs7O0dBSUMsR0FDREssV0FBaUI7UUFDZixJQUFJLElBQUksQ0FBQ0MsTUFBTSxJQUFJLElBQUk7WUFDckIsTUFBTSxJQUFJQyxNQUFNO1FBQ2xCO1FBRUEsSUFBSSxDQUFDSCxJQUFJLENBQUMsQ0FBQztRQUNYLElBQUksQ0FBQ0ksZUFBZTtRQUVwQixPQUFPLElBQUk7SUFDYjtJQUVBOzs7Ozs7R0FNQyxHQUNEQyxVQUFVWCxJQUFZLEVBQUVZLE9BQTBDLEVBQVE7UUFDeEUsSUFBSSxDQUFDLENBQUNULFlBQVks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
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "createEmbeds", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return createEmbeds;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _embeds = _export_star(require("./builders/embeds.cjs"), exports);
|
|
12
|
+
function _export_star(from, to) {
|
|
13
|
+
Object.keys(from).forEach(function(k) {
|
|
14
|
+
if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) {
|
|
15
|
+
Object.defineProperty(to, k, {
|
|
16
|
+
enumerable: true,
|
|
17
|
+
get: function() {
|
|
18
|
+
return from[k];
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
return from;
|
|
24
|
+
}
|
|
25
|
+
const createEmbeds = ()=>new _embeds.EmbedsBuilder();
|
|
26
|
+
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9idWlsZGVycy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbWJlZHNCdWlsZGVyIH0gZnJvbSAnLi9idWlsZGVycy9lbWJlZHMuanMnXG5cbmV4cG9ydCAqIGZyb20gJy4vYnVpbGRlcnMvZW1iZWRzLmpzJ1xuXG5leHBvcnQgY29uc3QgY3JlYXRlRW1iZWRzID0gKCk6IEVtYmVkc0J1aWxkZXIgPT4gbmV3IEVtYmVkc0J1aWxkZXIoKVxuIl0sIm5hbWVzIjpbImNyZWF0ZUVtYmVkcyIsIkVtYmVkc0J1aWxkZXIiXSwibWFwcGluZ3MiOiI7Ozs7K0JBSWFBOzs7ZUFBQUE7OztxQ0FKaUI7Ozs7Ozs7Ozs7Ozs7O0FBSXZCLE1BQU1BLGVBQWUsSUFBcUIsSUFBSUMscUJBQWEifQ==
|
|
@@ -0,0 +1,75 @@
|
|
|
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
|
+
camelToSnakeCase: function() {
|
|
13
|
+
return camelToSnakeCase;
|
|
14
|
+
},
|
|
15
|
+
camelize: function() {
|
|
16
|
+
return camelize;
|
|
17
|
+
},
|
|
18
|
+
snakeToCamelCase: function() {
|
|
19
|
+
return snakeToCamelCase;
|
|
20
|
+
},
|
|
21
|
+
snakelize: function() {
|
|
22
|
+
return snakelize;
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
function camelize(object) {
|
|
26
|
+
if (Array.isArray(object)) {
|
|
27
|
+
return object.map((element)=>camelize(element));
|
|
28
|
+
}
|
|
29
|
+
if (typeof object === 'object' && object !== null) {
|
|
30
|
+
const obj = {};
|
|
31
|
+
Object.keys(object).forEach((key)=>{
|
|
32
|
+
obj[snakeToCamelCase(key)] = camelize(object[key]);
|
|
33
|
+
});
|
|
34
|
+
return obj;
|
|
35
|
+
}
|
|
36
|
+
return object;
|
|
37
|
+
}
|
|
38
|
+
function snakelize(object) {
|
|
39
|
+
if (Array.isArray(object)) {
|
|
40
|
+
return object.map((element)=>snakelize(element));
|
|
41
|
+
}
|
|
42
|
+
if (typeof object === 'object' && object !== null) {
|
|
43
|
+
const obj = {};
|
|
44
|
+
Object.keys(object).forEach((key)=>{
|
|
45
|
+
obj[camelToSnakeCase(key)] = snakelize(object[key]);
|
|
46
|
+
});
|
|
47
|
+
return obj;
|
|
48
|
+
}
|
|
49
|
+
return object;
|
|
50
|
+
}
|
|
51
|
+
function snakeToCamelCase(str) {
|
|
52
|
+
if (!str.includes('_')) return str;
|
|
53
|
+
let result = '';
|
|
54
|
+
for(let i = 0, len = str.length; i < len; ++i){
|
|
55
|
+
if (str[i] === '_') {
|
|
56
|
+
result += str[++i].toUpperCase();
|
|
57
|
+
continue;
|
|
58
|
+
}
|
|
59
|
+
result += str[i];
|
|
60
|
+
}
|
|
61
|
+
return result;
|
|
62
|
+
}
|
|
63
|
+
function camelToSnakeCase(str) {
|
|
64
|
+
let result = '';
|
|
65
|
+
for(let i = 0, len = str.length; i < len; ++i){
|
|
66
|
+
if (str[i] >= 'A' && str[i] <= 'Z') {
|
|
67
|
+
result += `_${str[i].toLowerCase()}`;
|
|
68
|
+
continue;
|
|
69
|
+
}
|
|
70
|
+
result += str[i];
|
|
71
|
+
}
|
|
72
|
+
return result;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jYXNpbmcudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDYW1lbGl6ZSwgU25ha2VsaXplIH0gZnJvbSAnQGRpc2NvcmRlbm8vdHlwZXMnXG5cbmV4cG9ydCBmdW5jdGlvbiBjYW1lbGl6ZTxUPihvYmplY3Q6IFQpOiBDYW1lbGl6ZTxUPiB7XG4gIGlmIChBcnJheS5pc0FycmF5KG9iamVjdCkpIHtcbiAgICByZXR1cm4gb2JqZWN0Lm1hcCgoZWxlbWVudCkgPT4gY2FtZWxpemUoZWxlbWVudCkpIGFzIENhbWVsaXplPFQ+XG4gIH1cblxuICBpZiAodHlwZW9mIG9iamVjdCA9PT0gJ29iamVjdCcgJiYgb2JqZWN0ICE9PSBudWxsKSB7XG4gICAgY29uc3Qgb2JqID0ge30gYXMgQ2FtZWxpemU8VD5cbiAgICA7KE9iamVjdC5rZXlzKG9iamVjdCkgYXMgQXJyYXk8a2V5b2YgVD4pLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciBqcyBoYWNrXG4gICAgICA7KG9ialtzbmFrZVRvQ2FtZWxDYXNlKGtleSldIGFzIENhbWVsaXplPChUICYgb2JqZWN0KVtrZXlvZiBUXT4pID0gY2FtZWxpemUob2JqZWN0W2tleV0pXG4gICAgfSlcbiAgICByZXR1cm4gb2JqXG4gIH1cbiAgcmV0dXJuIG9iamVjdCBhcyBDYW1lbGl6ZTxUPlxufVxuXG5leHBvcnQgZnVuY3Rpb24gc25ha2VsaXplPFQ+KG9iamVjdDogVCk6IFNuYWtlbGl6ZTxUPiB7XG4gIGlmIChBcnJheS5pc0FycmF5KG9iamVjdCkpIHtcbiAgICByZXR1cm4gb2JqZWN0Lm1hcCgoZWxlbWVudCkgPT4gc25ha2VsaXplKGVsZW1lbnQpKSBhcyBTbmFrZWxpemU8VD5cbiAgfVxuXG4gIGlmICh0eXBlb2Ygb2JqZWN0ID09PSAnb2JqZWN0JyAmJiBvYmplY3QgIT09IG51bGwpIHtcbiAgICBjb25zdCBvYmogPSB7fSBhcyBTbmFrZWxpemU8VD5cbiAgICA7KE9iamVjdC5rZXlzKG9iamVjdCkgYXMgQXJyYXk8a2V5b2YgVD4pLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciBqcyBoYWNrXG4gICAgICA7KG9ialtjYW1lbFRvU25ha2VDYXNlKGtleSldIGFzIFNuYWtlbGl6ZTwoVCAmIG9iamVjdClba2V5b2YgVF0+KSA9IHNuYWtlbGl6ZShvYmplY3Rba2V5XSlcbiAgICB9KVxuICAgIHJldHVybiBvYmpcbiAgfVxuICByZXR1cm4gb2JqZWN0IGFzIFNuYWtlbGl6ZTxUPlxufVxuXG5leHBvcnQgZnVuY3Rpb24gc25ha2VUb0NhbWVsQ2FzZShzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gIGlmICghc3RyLmluY2x1ZGVzKCdfJykpIHJldHVybiBzdHJcblxuICBsZXQgcmVzdWx0ID0gJydcbiAgZm9yIChsZXQgaSA9IDAsIGxlbiA9IHN0ci5sZW5ndGg7IGkgPCBsZW47ICsraSkge1xuICAgIGlmIChzdHJbaV0gPT09ICdfJykge1xuICAgICAgcmVzdWx0ICs9IHN0clsrK2ldLnRvVXBwZXJDYXNlKClcblxuICAgICAgY29udGludWVcbiAgICB9XG5cbiAgICByZXN1bHQgKz0gc3RyW2ldXG4gIH1cblxuICByZXR1cm4gcmVzdWx0XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjYW1lbFRvU25ha2VDYXNlKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcbiAgbGV0IHJlc3VsdCA9ICcnXG4gIGZvciAobGV0IGkgPSAwLCBsZW4gPSBzdHIubGVuZ3RoOyBpIDwgbGVuOyArK2kpIHtcbiAgICBpZiAoc3RyW2ldID49ICdBJyAmJiBzdHJbaV0gPD0gJ1onKSB7XG4gICAgICByZXN1bHQgKz0gYF8ke3N0cltpXS50b0xvd2VyQ2FzZSgpfWBcblxuICAgICAgY29udGludWVcbiAgICB9XG5cbiAgICByZXN1bHQgKz0gc3RyW2ldXG4gIH1cblxuICByZXR1cm4gcmVzdWx0XG59XG4iXSwibmFtZXMiOlsiY2FtZWxUb1NuYWtlQ2FzZSIsImNhbWVsaXplIiwic25ha2VUb0NhbWVsQ2FzZSIsInNuYWtlbGl6ZSIsIm9iamVjdCIsIkFycmF5IiwiaXNBcnJheSIsIm1hcCIsImVsZW1lbnQiLCJvYmoiLCJPYmplY3QiLCJrZXlzIiwiZm9yRWFjaCIsImtleSIsInN0ciIsImluY2x1ZGVzIiwicmVzdWx0IiwiaSIsImxlbiIsImxlbmd0aCIsInRvVXBwZXJDYXNlIiwidG9Mb3dlckNhc2UiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0lBbURnQkEsZ0JBQWdCO2VBQWhCQTs7SUFqREFDLFFBQVE7ZUFBUkE7O0lBZ0NBQyxnQkFBZ0I7ZUFBaEJBOztJQWhCQUMsU0FBUztlQUFUQTs7O0FBaEJULFNBQVNGLFNBQVlHLE1BQVM7SUFDbkMsSUFBSUMsTUFBTUMsT0FBTyxDQUFDRixTQUFTO1FBQ3pCLE9BQU9BLE9BQU9HLEdBQUcsQ0FBQyxDQUFDQyxVQUFZUCxTQUFTTztJQUMxQztJQUVBLElBQUksT0FBT0osV0FBVyxZQUFZQSxXQUFXLE1BQU07UUFDakQsTUFBTUssTUFBTSxDQUFDO1FBQ1hDLE9BQU9DLElBQUksQ0FBQ1AsUUFBMkJRLE9BQU8sQ0FBQyxDQUFDQztZQUU5Q0osR0FBRyxDQUFDUCxpQkFBaUJXLEtBQUssR0FBdUNaLFNBQVNHLE1BQU0sQ0FBQ1MsSUFBSTtRQUN6RjtRQUNBLE9BQU9KO0lBQ1Q7SUFDQSxPQUFPTDtBQUNUO0FBRU8sU0FBU0QsVUFBYUMsTUFBUztJQUNwQyxJQUFJQyxNQUFNQyxPQUFPLENBQUNGLFNBQVM7UUFDekIsT0FBT0EsT0FBT0csR0FBRyxDQUFDLENBQUNDLFVBQVlMLFVBQVVLO0lBQzNDO0lBRUEsSUFBSSxPQUFPSixXQUFXLFlBQVlBLFdBQVcsTUFBTTtRQUNqRCxNQUFNSyxNQUFNLENBQUM7UUFDWEMsT0FBT0MsSUFBSSxDQUFDUCxRQUEyQlEsT0FBTyxDQUFDLENBQUNDO1lBRTlDSixHQUFHLENBQUNULGlCQUFpQmEsS0FBSyxHQUF3Q1YsVUFBVUMsTUFBTSxDQUFDUyxJQUFJO1FBQzNGO1FBQ0EsT0FBT0o7SUFDVDtJQUNBLE9BQU9MO0FBQ1Q7QUFFTyxTQUFTRixpQkFBaUJZLEdBQVc7SUFDMUMsSUFBSSxDQUFDQSxJQUFJQyxRQUFRLENBQUMsTUFBTSxPQUFPRDtJQUUvQixJQUFJRSxTQUFTO0lBQ2IsSUFBSyxJQUFJQyxJQUFJLEdBQUdDLE1BQU1KLElBQUlLLE1BQU0sRUFBRUYsSUFBSUMsS0FBSyxFQUFFRCxFQUFHO1FBQzlDLElBQUlILEdBQUcsQ0FBQ0csRUFBRSxLQUFLLEtBQUs7WUFDbEJELFVBQVVGLEdBQUcsQ0FBQyxFQUFFRyxFQUFFLENBQUNHLFdBQVc7WUFFOUI7UUFDRjtRQUVBSixVQUFVRixHQUFHLENBQUNHLEVBQUU7SUFDbEI7SUFFQSxPQUFPRDtBQUNUO0FBRU8sU0FBU2hCLGlCQUFpQmMsR0FBVztJQUMxQyxJQUFJRSxTQUFTO0lBQ2IsSUFBSyxJQUFJQyxJQUFJLEdBQUdDLE1BQU1KLElBQUlLLE1BQU0sRUFBRUYsSUFBSUMsS0FBSyxFQUFFRCxFQUFHO1FBQzlDLElBQUlILEdBQUcsQ0FBQ0csRUFBRSxJQUFJLE9BQU9ILEdBQUcsQ0FBQ0csRUFBRSxJQUFJLEtBQUs7WUFDbENELFVBQVUsQ0FBQyxDQUFDLEVBQUVGLEdBQUcsQ0FBQ0csRUFBRSxDQUFDSSxXQUFXLEdBQUcsQ0FBQztZQUVwQztRQUNGO1FBRUFMLFVBQVVGLEdBQUcsQ0FBQ0csRUFBRTtJQUNsQjtJQUVBLE9BQU9EO0FBQ1QifQ==
|