@discordeno/rest 19.0.0-next.17df478 → 19.0.0-next.1bbee2f
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/dist/queue.js +2 -2
- package/package.json +3 -3
package/dist/queue.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{delay as i}from"@discordeno/utils";export class Queue{remaining=1;max=1;interval=0;waiting=[];pending=[];processing=!1;processingPending=!1;firstRequest=!1;frozenAt=0;constructor(i,t){this.rest=i,this.url=t.url,t?.interval&&(this.interval=t.interval),t?.max&&(this.max=t.max),t?.remaining&&(this.remaining=t.remaining),t?.timeoutId&&(this.timeoutId=t.timeoutId)}isRequestAllowed(){return this.remaining>0}async waitUntilRequestAvailable(){return await new Promise(async i=>{this.isRequestAllowed()?i():(this.waiting.push(i),await this.processWaiting())})}async processWaiting(){if(!this.processing){for(this.processing=!0;this.waiting.length>0;)this.isRequestAllowed()?this.waiting.shift()?.():await i(1e3);this.processing=!1}}async processPending(){if(!this.processingPending){for(this.processingPending=!0;this.pending.length>0;){if(!this.firstRequest&&!this.isRequestAllowed()){let t=Date.now(),e=this.frozenAt+this.interval;await i(e>t?e-t:1e3);continue}let s=this.pending[0];if(s){let n=this.rest.simplifyUrl(s.url,s.method),a=this.rest.checkRateLimits(n);a&&await i(a);let r=!!s.bucketId&&this.rest.checkRateLimits(s.bucketId);r&&await i(r),this.firstRequest=!1,this.remaining--,this.timeoutId&&0===this.remaining&&0!==this.interval&&(this.timeoutId=setTimeout(()=>{this.remaining=this.max,this.timeoutId=void 0},this.interval)),this.pending.shift(),await this.rest.invalidBucket.waitUntilRequestAvailable(),await this.rest.sendRequest(s).catch(()=>null)}}this.processingPending=!1,this.cleanup()}}handleCompletedRequest(i){if(0===i.max){this.remaining++;return}this.frozenAt||(this.frozenAt=Date.now()),void 0!==i.interval&&(this.interval=i.interval),void 0!==i.remaining&&(this.remaining=i.remaining),this.remaining<=1&&(this.timeoutId=setTimeout(()=>{this.remaining=this.max,this.timeoutId=void 0},i.interval))}async makeRequest(i){await this.waitUntilRequestAvailable(),this.pending.push(i),this.processPending()}cleanup(){if(!this.isQueueClearable()){this.processPending();return}setTimeout(()=>{if(!this.isQueueClearable()){this.processPending();return}this.rest.queues.delete(this.url)},6e4)}isQueueClearable(){return!this.firstRequest&&!(this.waiting.length>0)&&!(this.pending.length>0)&&0!==this.interval&&!this.processing&&!this.processingPending}}
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9xdWV1ZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBkZWxheSB9IGZyb20gJ0BkaXNjb3JkZW5vL3V0aWxzJ1xuaW1wb3J0IHR5cGUgeyBSZXN0TWFuYWdlciwgU2VuZFJlcXVlc3RPcHRpb25zIH0gZnJvbSAnLi9tYW5hZ2VyJ1xuXG5leHBvcnQgY2xhc3MgUXVldWUge1xuICAvKiogVGhlIHJlc3QgbWFuYWdlciAqL1xuICByZXN0OiBSZXN0TWFuYWdlclxuICAvKiogQW1vdW50IG9mIHJlcXVlc3RzIHRoYXQgaGF2ZSBhcmUgcmVtYWluaW5nLiBEZWZhdWx0cyB0byAxLiAqL1xuICByZW1haW5pbmc6IG51bWJlciA9IDFcbiAgLyoqIE1heCByZXF1ZXN0cyBmb3IgdGhpcyB0aGlzLiBEZWZhdWx0cyB0byAxLiAqL1xuICBtYXg6IG51bWJlciA9IDFcbiAgLyoqIFRoZSB0aW1lIHRoYXQgZGlzY29yZCBhbGxvd3MgdG8gbWFrZSB0aGUgbWF4IG51bWJlciBvZiByZXF1ZXN0cy4gRGVmYXVsdHMgdG8gMCAqL1xuICBpbnRlcnZhbDogbnVtYmVyID0gMFxuICAvKiogdGltZXIgdG8gcmVzZXQgdG8gMCAqL1xuICB0aW1lb3V0SWQ6IE5vZGVKUy5UaW1lb3V0IHwgdW5kZWZpbmVkXG4gIC8qKiBUaGUgcmVxdWVzdHMgdGhhdCBhcmUgY3VycmVudGx5IHBlbmRpbmcuICovXG4gIHdhaXRpbmc6IEFycmF5PCh2YWx1ZTogdm9pZCB8IFByb21pc2VMaWtlPHZvaWQ+KSA9PiB2b2lkPiA9IFtdXG4gIC8qKiBUaGUgcmVxdWVzdHMgdGhhdCBhcmUgY3VycmVudGx5IHBlbmRpbmcuICovXG4gIHBlbmRpbmc6IFNlbmRSZXF1ZXN0T3B0aW9uc1tdID0gW11cbiAgLyoqIFdoZXRoZXIgb3Igbm90IHRoZSB3YWl0aW5nIHF1ZXVlIGlzIGFscmVhZHkgcHJvY2Vzc2luZy4gKi9cbiAgcHJvY2Vzc2luZzogYm9vbGVhbiA9IGZhbHNlXG4gIC8qKiBXaGV0aGVyIG9yIG5vdCB0aGUgcGVuZGluZyBxdWV1ZSBpcyBhbHJlYWR5IHByb2Nlc3NpbmcuICovXG4gIHByb2Nlc3NpbmdQZW5kaW5nOiBib29sZWFuID0gZmFsc2VcbiAgLyoqIFdoZXRoZXIgdGhlIGZpcnN0IHJlcXVlc3QgaXMgcGVuZGluZy4gKi9cbiAgZmlyc3RSZXF1ZXN0OiBib29sZWFuID0gZmFsc2VcbiAgLyoqIFRoZSB1cmwgdGhhdCBhbGwgdGhlIHJlcXVlc3RzIGluIHRoaXMgcXVldWUgYXJlIHNlbnQgdG8uICovXG4gIHVybDogc3RyaW5nXG4gIC8qKiBXaGVuIHJlcXVlc3RzIHN0YXJ0ZWQgYmVpbmcgbWFkZSB0byBkZXRlcm1pbmUgd2hlbiB0aGUgaW50ZXJ2YWwgd2lsbCByZXNldCBpdC4gKi9cbiAgZnJvemVuQXQ6IG51bWJlciA9IDBcblxuICBjb25zdHJ1Y3RvciAocmVzdDogUmVzdE1hbmFnZXIsIG9wdGlvbnM6IFF1ZXVlT3B0aW9ucykge1xuICAgIHRoaXMucmVzdCA9IHJlc3RcbiAgICB0aGlzLnVybCA9IG9wdGlvbnMudXJsXG5cbiAgICBpZiAob3B0aW9ucz8uaW50ZXJ2YWwpIHRoaXMuaW50ZXJ2YWwgPSBvcHRpb25zLmludGVydmFsXG4gICAgaWYgKG9wdGlvbnM/Lm1heCkgdGhpcy5tYXggPSBvcHRpb25zLm1heFxuICAgIGlmIChvcHRpb25zPy5yZW1haW5pbmcpIHRoaXMucmVtYWluaW5nID0gb3B0aW9ucy5yZW1haW5pbmdcbiAgICBpZiAob3B0aW9ucz8udGltZW91dElkKSB0aGlzLnRpbWVvdXRJZCA9IG9wdGlvbnMudGltZW91dElkXG4gIH1cblxuICAvKiogQ2hlY2sgaWYgdGhlcmUgaXMgYW55IHJlbWFpbmluZyByZXF1ZXN0cyB0aGF0IGFyZSBhbGxvd2VkLiAqL1xuICBpc1JlcXVlc3RBbGxvd2VkICgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5yZW1haW5pbmcgPiAwXG4gIH1cblxuICAvKiogUGF1c2VzIHRoZSBleGVjdXRpb24gdW50aWwgYSByZXF1ZXN0IGlzIGFsbG93ZWQgdG8gYmUgbWFkZS4gKi9cbiAgYXN5bmMgd2FpdFVudGlsUmVxdWVzdEF2YWlsYWJsZSAoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWFzeW5jLXByb21pc2UtZXhlY3V0b3JcbiAgICByZXR1cm4gYXdhaXQgbmV3IFByb21pc2UoYXN5bmMgKHJlc29sdmUpID0+IHtcbiAgICAgIC8vIElmIHdoYXRldmVyIGFtb3VudCBvZiByZXF1ZXN0cyBpcyBsZWZ0IGlzIG1vcmUgdGhhbiB0aGUgc2FmZXR5IG1hcmdpbiwgYWxsb3cgdGhlIHJlcXVlc3RcbiAgICAgIGlmICh0aGlzLmlzUmVxdWVzdEFsbG93ZWQoKSkge1xuICAgICAgICAvLyB0aGlzLnJlbWFpbmluZysrO1xuICAgICAgICByZXNvbHZlKClcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMud2FpdGluZy5wdXNoKHJlc29sdmUpXG4gICAgICAgIGF3YWl0IHRoaXMucHJvY2Vzc1dhaXRpbmcoKVxuICAgICAgfVxuICAgIH0pXG4gIH1cblxuICAvKiogUHJvY2VzcyB0aGUgcXVldWUgb2YgcmVxdWVzdHMgd2FpdGluZyB0byBiZSBoYW5kbGVkLiAqL1xuICBhc3luYyBwcm9jZXNzV2FpdGluZyAoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgLy8gSWYgYWxyZWFkeSBwcm9jZXNzaW5nLCB0aGF0IGxvb3Agd2lsbCBoYW5kbGUgYWxsIHdhaXRpbmcgcmVxdWVzdHMuXG4gICAgaWYgKHRoaXMucHJvY2Vzc2luZykgcmV0dXJuXG4gICAgLy8gTWFyayBhcyBwcm9jZXNzaW5nIHNvIG90aGVyIGxvb3BzIGRvbid0IHN0YXJ0XG4gICAgdGhpcy5wcm9jZXNzaW5nID0gdHJ1ZVxuXG4gICAgd2hpbGUgKHRoaXMud2FpdGluZy5sZW5ndGggPiAwKSB7XG4gICAgICBpZiAodGhpcy5pc1JlcXVlc3RBbGxvd2VkKCkpIHtcbiAgICAgICAgLy8gUmVzb2x2ZSB0aGUgbmV4dCBpdGVtIGluIHRoZSBxdWV1ZVxuICAgICAgICB0aGlzLndhaXRpbmcuc2hpZnQoKT8uKClcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGF3YWl0IGRlbGF5KDEwMDApXG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTWFyayBhcyBmYWxzZSBzbyBuZXh0IHBlbmRpbmcgcmVxdWVzdCBjYW4gYmUgdHJpZ2dlcmVkIGJ5IG5ldyBsb29wLlxuICAgIHRoaXMucHJvY2Vzc2luZyA9IGZhbHNlXG4gIH1cblxuICAvKiogUHJvY2VzcyB0aGUgcXVldWUgb2YgYWxsIHJlcXVlc3RzIHBlbmRpbmcgdG8gYmUgc2VudC4gKi9cbiAgYXN5bmMgcHJvY2Vzc1BlbmRpbmcgKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIC8vIElmIGFscmVhZHkgcHJvY2Vzc2luZywgdGhhdCBsb29wIHdpbGwgaGFuZGxlIGFsbCBwZW5kaW5nIHJlcXVlc3RzLlxuICAgIGlmICh0aGlzLnByb2Nlc3NpbmdQZW5kaW5nKSByZXR1cm5cblxuICAgIC8vIE1hcmsgYXMgcHJvY2Vzc2luZyBzbyBvdGhlciBsb29wcyBkb24ndCBzdGFydFxuICAgIHRoaXMucHJvY2Vzc2luZ1BlbmRpbmcgPSB0cnVlXG5cbiAgICB3aGlsZSAodGhpcy5wZW5kaW5nLmxlbmd0aCA+IDApIHtcbiAgICAgIGlmICghdGhpcy5maXJzdFJlcXVlc3QgJiYgIXRoaXMuaXNSZXF1ZXN0QWxsb3dlZCgpKSB7XG4gICAgICAgIGNvbnN0IG5vdyA9IERhdGUubm93KClcbiAgICAgICAgY29uc3QgZnV0dXJlID0gdGhpcy5mcm96ZW5BdCArIHRoaXMuaW50ZXJ2YWxcbiAgICAgICAgYXdhaXQgZGVsYXkoZnV0dXJlID4gbm93ID8gZnV0dXJlIC0gbm93IDogMTAwMClcbiAgICAgICAgY29udGludWVcbiAgICAgIH1cblxuICAgICAgY29uc3QgcmVxdWVzdCA9IHRoaXMucGVuZGluZ1swXVxuICAgICAgaWYgKHJlcXVlc3QpIHtcbiAgICAgICAgY29uc3QgYmFzaWNVUkwgPSB0aGlzLnJlc3Quc2ltcGxpZnlVcmwoXG4gICAgICAgICAgcmVxdWVzdC51cmwsXG4gICAgICAgICAgcmVxdWVzdC5tZXRob2RcbiAgICAgICAgKVxuXG4gICAgICAgIC8vIElGIFRISVMgVVJMIElTIFNUSUxMIFJBVEUgTElNSVRFRCwgVFJZIEFHQUlOXG4gICAgICAgIC8vIElmIHRoaXMgdXJsIGlzIHN0aWxsIHJhdGUgbGltaXRlZCwgdHJ5IGFnYWluXG4gICAgICAgIGNvbnN0IHVybFJlc2V0SW4gPSB0aGlzLnJlc3QuY2hlY2tSYXRlTGltaXRzKGJhc2ljVVJMKVxuICAgICAgICBpZiAodXJsUmVzZXRJbikgYXdhaXQgZGVsYXkodXJsUmVzZXRJbilcblxuICAgICAgICAvLyBJRiBBIEJVQ0tFVCBFWElTVFMsIENIRUNLIFRIRSBCVUNLRVQnUyBSQVRFIExJTUlUU1xuICAgICAgICBjb25zdCBidWNrZXRSZXNldEluID1cbiAgICAgICAgICAgIHJlcXVlc3QuYnVja2V0SWRcbiAgICAgICAgICAgICAgPyB0aGlzLnJlc3QuY2hlY2tSYXRlTGltaXRzKHJlcXVlc3QuYnVja2V0SWQpXG4gICAgICAgICAgICAgIDogZmFsc2VcbiAgICAgICAgaWYgKGJ1Y2tldFJlc2V0SW4pIGF3YWl0IGRlbGF5KGJ1Y2tldFJlc2V0SW4pXG5cbiAgICAgICAgdGhpcy5maXJzdFJlcXVlc3QgPSBmYWxzZVxuICAgICAgICB0aGlzLnJlbWFpbmluZy0tXG5cbiAgICAgICAgaWYgKHRoaXMudGltZW91dElkICYmIHRoaXMucmVtYWluaW5nID09PSAwICYmIHRoaXMuaW50ZXJ2YWwgIT09IDApIHtcbiAgICAgICAgICB0aGlzLnRpbWVvdXRJZCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5yZW1haW5pbmcgPSB0aGlzLm1heFxuICAgICAgICAgICAgdGhpcy50aW1lb3V0SWQgPSB1bmRlZmluZWRcbiAgICAgICAgICB9LCB0aGlzLmludGVydmFsKVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gUmVtb3ZlIGZyb20gcXVldWUsIHdlIGFyZSBleGVjdXRpbmcgaXQuXG4gICAgICAgIHRoaXMucGVuZGluZy5zaGlmdCgpXG4gICAgICAgIC8vIENoZWNrIGlmIHRoaXMgcmVxdWVzdCBpcyBhYmxlIHRvIGJlIG1hZGUgZ2xvYmFsbHlcbiAgICAgICAgYXdhaXQgdGhpcy5yZXN0LmludmFsaWRCdWNrZXQud2FpdFVudGlsUmVxdWVzdEF2YWlsYWJsZSgpXG5cbiAgICAgICAgYXdhaXQgdGhpcy5yZXN0LnNlbmRSZXF1ZXN0KHJlcXVlc3QpXG4gICAgICAgICAgLy8gU2hvdWxkIGJlIGhhbmRsZWQgaW4gc2VuZFJlcXVlc3QsIHRoaXMgY2F0Y2gganVzdCBwcmV2ZW50cyBib3RzIGZyb20gZHlpbmdcbiAgICAgICAgICAuY2F0Y2goKCkgPT4gbnVsbClcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBNYXJrIGFzIGZhbHNlIHNvIG5leHQgcGVuZGluZyByZXF1ZXN0IGNhbiBiZSB0cmlnZ2VyZWQgYnkgbmV3IGxvb3AuXG4gICAgdGhpcy5wcm9jZXNzaW5nUGVuZGluZyA9IGZhbHNlXG4gICAgdGhpcy5jbGVhbnVwKClcbiAgfVxuXG4gIGhhbmRsZUNvbXBsZXRlZFJlcXVlc3QgKGhlYWRlcnM6IHsgbWF4PzogbnVtYmVyLCBpbnRlcnZhbD86IG51bWJlciwgcmVtYWluaW5nPzogbnVtYmVyIH0pOiB2b2lkIHtcbiAgICBpZiAoaGVhZGVycy5tYXggPT09IDApIHtcbiAgICAgIHRoaXMucmVtYWluaW5nKytcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGlmICghdGhpcy5mcm96ZW5BdCkgdGhpcy5mcm96ZW5BdCA9IERhdGUubm93KClcbiAgICBpZiAoaGVhZGVycy5pbnRlcnZhbCAhPT0gdW5kZWZpbmVkKSB0aGlzLmludGVydmFsID0gaGVhZGVycy5pbnRlcnZhbFxuICAgIGlmIChoZWFkZXJzLnJlbWFpbmluZyAhPT0gdW5kZWZpbmVkKSB0aGlzLnJlbWFpbmluZyA9IGhlYWRlcnMucmVtYWluaW5nXG5cbiAgICBpZiAodGhpcy5yZW1haW5pbmcgPD0gMSkge1xuICAgICAgdGhpcy50aW1lb3V0SWQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5yZW1haW5pbmcgPSB0aGlzLm1heFxuICAgICAgICB0aGlzLnRpbWVvdXRJZCA9IHVuZGVmaW5lZFxuICAgICAgfSwgaGVhZGVycy5pbnRlcnZhbClcbiAgICB9XG4gIH1cblxuICBhc3luYyBtYWtlUmVxdWVzdCAob3B0aW9uczogU2VuZFJlcXVlc3RPcHRpb25zKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy53YWl0VW50aWxSZXF1ZXN0QXZhaWxhYmxlKClcbiAgICB0aGlzLnBlbmRpbmcucHVzaChvcHRpb25zKVxuICAgIHRoaXMucHJvY2Vzc1BlbmRpbmcoKVxuICB9XG5cbiAgLyoqIENsZWFucyB1cCB0aGUgcXVldWUgYnkgY2hlY2tpbmcgaWYgdGhlcmUgaXMgbm90aGluZyBsZWZ0IGFuZCByZW1vdmluZyBpdC4gKi9cbiAgY2xlYW51cCAoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmlzUXVldWVDbGVhcmFibGUoKSkge1xuICAgICAgdGhpcy5wcm9jZXNzUGVuZGluZygpXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICAvLyBEZWxldGUgaW4gYSBtaW51dGUgZ2l2aW5nIGEgYml0IG9mIHRpbWUgdG8gYWxsb3cgbmV3IHJlcXVlc3RzIHRoYXQgbWF5IHJldXNlIHRoaXMgcXVldWVcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICghdGhpcy5pc1F1ZXVlQ2xlYXJhYmxlKCkpIHtcbiAgICAgICAgdGhpcy5wcm9jZXNzUGVuZGluZygpXG4gICAgICAgIHJldHVyblxuICAgICAgfVxuICAgICAgLy8gTm8gcmVxdWVzdHMgaGF2ZSBiZWVuIHJlcXVlc3RlZCBmb3IgdGhpcyBxdWV1ZSBzbyB3ZSBudWtlIHRoaXMgcXVldWVcbiAgICAgIHRoaXMucmVzdC5xdWV1ZXMuZGVsZXRlKHRoaXMudXJsKVxuICAgIH0sIDYwMDAwKVxuICB9XG5cbiAgaXNRdWV1ZUNsZWFyYWJsZSAoKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMuZmlyc3RSZXF1ZXN0KSByZXR1cm4gZmFsc2VcbiAgICBpZiAodGhpcy53YWl0aW5nLmxlbmd0aCA+IDApIHJldHVybiBmYWxzZVxuICAgIGlmICh0aGlzLnBlbmRpbmcubGVuZ3RoID4gMCkgcmV0dXJuIGZhbHNlXG4gICAgaWYgKHRoaXMuaW50ZXJ2YWwgPT09IDApIHJldHVybiBmYWxzZVxuICAgIGlmICh0aGlzLnByb2Nlc3NpbmcpIHJldHVybiBmYWxzZVxuICAgIGlmICh0aGlzLnByb2Nlc3NpbmdQZW5kaW5nKSByZXR1cm4gZmFsc2VcblxuICAgIHJldHVybiB0cnVlXG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBRdWV1ZU9wdGlvbnMge1xuICAvKiogSG93IG1hbnkgcmVxdWVzdHMgYXJlIHJlbWFpbmluZy4gRGVmYXVsdHMgdG8gMSAqL1xuICByZW1haW5pbmc/OiBudW1iZXJcbiAgLyoqIE1heCBudW1iZXIgb2YgcmVxdWVzdHMgYWxsb3dlZCBpbiB0aGlzIHRoaXMuIERlZmF1bHRzIHRvIDEuICovXG4gIG1heD86IG51bWJlclxuICAvKiogVGhlIHRpbWUgaW4gbWlsbGlzZWNvbmRzIHRoYXQgZGlzY29yZCBhbGxvd3MgdG8gbWFrZSB0aGUgbWF4IG51bWJlciBvZiBpbnZhbGlkIHJlcXVlc3RzLiBEZWZhdWx0cyB0byAwICovXG4gIGludGVydmFsPzogbnVtYmVyXG4gIC8qKiB0aW1lciB0byByZXNldCB0byAwICovXG4gIHRpbWVvdXRJZD86IE5vZGVKUy5UaW1lb3V0XG4gIC8qKiBUaGUgdXJsIHRoaXMgcXVldWUgd2lsbCBiZSBoYW5kbGluZy4gKi9cbiAgdXJsOiBzdHJpbmdcbn1cbiJdLCJuYW1lcyI6WyJkZWxheSIsIlF1ZXVlIiwicmVtYWluaW5nIiwibWF4IiwiaW50ZXJ2YWwiLCJ3YWl0aW5nIiwicGVuZGluZyIsInByb2Nlc3NpbmciLCJwcm9jZXNzaW5nUGVuZGluZyIsImZpcnN0UmVxdWVzdCIsImZyb3plbkF0IiwiY29uc3RydWN0b3IiLCJyZXN0Iiwib3B0aW9ucyIsInVybCIsInRpbWVvdXRJZCIsImlzUmVxdWVzdEFsbG93ZWQiLCJ3YWl0VW50aWxSZXF1ZXN0QXZhaWxhYmxlIiwiUHJvbWlzZSIsInJlc29sdmUiLCJwdXNoIiwicHJvY2Vzc1dhaXRpbmciLCJsZW5ndGgiLCJzaGlmdCIsInByb2Nlc3NQZW5kaW5nIiwibm93IiwiRGF0ZSIsImZ1dHVyZSIsInJlcXVlc3QiLCJiYXNpY1VSTCIsInNpbXBsaWZ5VXJsIiwibWV0aG9kIiwidXJsUmVzZXRJbiIsImNoZWNrUmF0ZUxpbWl0cyIsImJ1Y2tldFJlc2V0SW4iLCJidWNrZXRJZCIsInNldFRpbWVvdXQiLCJ1bmRlZmluZWQiLCJpbnZhbGlkQnVja2V0Iiwic2VuZFJlcXVlc3QiLCJjYXRjaCIsImNsZWFudXAiLCJoYW5kbGVDb21wbGV0ZWRSZXF1ZXN0IiwiaGVhZGVycyIsIm1ha2VSZXF1ZXN0IiwiaXNRdWV1ZUNsZWFyYWJsZSIsInF1ZXVlcyIsImRlbGV0ZSJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBU0EsU0FBQUEsQ0FBSyxLQUFRLG1CQUFtQixBQUd6QyxRQUFPLE1BQU1DLE1BSVhDLFVBQW9CLENBQUMsQUFFckJDLENBQUFBLElBQWMsQ0FBQyxBQUVmQyxDQUFBQSxTQUFtQixDQUFDLEFBSXBCQyxDQUFBQSxRQUE0RCxFQUFFLEFBRTlEQyxDQUFBQSxRQUFnQyxFQUFFLEFBRWxDQyxDQUFBQSxXQUFzQixDQUFBLENBQUssQUFFM0JDLENBQUFBLGtCQUE2QixDQUFBLENBQUssQUFFbENDLENBQUFBLGFBQXdCLENBQUEsQ0FBSyxBQUk3QkMsQ0FBQUEsU0FBbUIsQ0FBQyxBQUVwQkMsYUFBYUMsQ0FBaUIsQ0FBRUMsQ0FBcUIsQ0FBRSxDQUNyRCxJQUFJLENBQUNELElBQUksQ0FBR0EsRUFDWixJQUFJLENBQUNFLEdBQUcsQ0FBR0QsRUFBUUMsR0FB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
|
|
1
|
+
import{delay as i}from"@discordeno/utils";export class Queue{remaining=1;max=1;interval=0;waiting=[];pending=[];processing=!1;processingPending=!1;firstRequest=!1;frozenAt=0;constructor(i,t){this.rest=i,this.url=t.url,t?.interval&&(this.interval=t.interval),t?.max&&(this.max=t.max),t?.remaining&&(this.remaining=t.remaining),t?.timeoutId&&(this.timeoutId=t.timeoutId)}isRequestAllowed(){return this.remaining>0}async waitUntilRequestAvailable(){return await new Promise(async i=>{this.isRequestAllowed()?i():(this.waiting.push(i),await this.processWaiting())})}async processWaiting(){if(!this.processing){for(this.processing=!0;this.waiting.length>0;)this.isRequestAllowed()?this.waiting.shift()?.():await i(1e3);this.processing=!1}}async processPending(){if(!this.processingPending&&this.pending.length){for(this.processingPending=!0;this.pending.length>0;){if(!this.firstRequest&&!this.isRequestAllowed()){let t=Date.now(),e=this.frozenAt+this.interval;await i(e>t?e-t:1e3);continue}let s=this.pending[0];if(s){let n=this.rest.simplifyUrl(s.url,s.method),a=this.rest.checkRateLimits(n);a&&await i(a);let r=!!s.bucketId&&this.rest.checkRateLimits(s.bucketId);r&&await i(r),this.firstRequest=!1,this.remaining--,this.timeoutId&&0===this.remaining&&0!==this.interval&&(this.timeoutId=setTimeout(()=>{this.remaining=this.max,this.timeoutId=void 0},this.interval)),this.pending.shift(),await this.rest.invalidBucket.waitUntilRequestAvailable(),await this.rest.sendRequest(s).catch(()=>null)}}this.processingPending=!1,this.cleanup()}}handleCompletedRequest(i){if(0===i.max){this.remaining++;return}this.frozenAt||(this.frozenAt=Date.now()),void 0!==i.interval&&(this.interval=i.interval),void 0!==i.remaining&&(this.remaining=i.remaining),this.remaining<=1&&(this.timeoutId=setTimeout(()=>{this.remaining=this.max,this.timeoutId=void 0},i.interval))}async makeRequest(i){await this.waitUntilRequestAvailable(),this.pending.push(i),this.processPending()}cleanup(){if(!this.isQueueClearable()){this.processPending();return}setTimeout(()=>{if(!this.isQueueClearable()){this.processPending();return}this.rest.queues.delete(this.url)},6e4)}isQueueClearable(){return!this.firstRequest&&!(this.waiting.length>0)&&!(this.pending.length>0)&&0!==this.interval&&!this.processing&&!this.processingPending}}
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9xdWV1ZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBkZWxheSB9IGZyb20gJ0BkaXNjb3JkZW5vL3V0aWxzJ1xuaW1wb3J0IHR5cGUgeyBSZXN0TWFuYWdlciwgU2VuZFJlcXVlc3RPcHRpb25zIH0gZnJvbSAnLi9tYW5hZ2VyJ1xuXG5leHBvcnQgY2xhc3MgUXVldWUge1xuICAvKiogVGhlIHJlc3QgbWFuYWdlciAqL1xuICByZXN0OiBSZXN0TWFuYWdlclxuICAvKiogQW1vdW50IG9mIHJlcXVlc3RzIHRoYXQgaGF2ZSBhcmUgcmVtYWluaW5nLiBEZWZhdWx0cyB0byAxLiAqL1xuICByZW1haW5pbmc6IG51bWJlciA9IDFcbiAgLyoqIE1heCByZXF1ZXN0cyBmb3IgdGhpcyB0aGlzLiBEZWZhdWx0cyB0byAxLiAqL1xuICBtYXg6IG51bWJlciA9IDFcbiAgLyoqIFRoZSB0aW1lIHRoYXQgZGlzY29yZCBhbGxvd3MgdG8gbWFrZSB0aGUgbWF4IG51bWJlciBvZiByZXF1ZXN0cy4gRGVmYXVsdHMgdG8gMCAqL1xuICBpbnRlcnZhbDogbnVtYmVyID0gMFxuICAvKiogdGltZXIgdG8gcmVzZXQgdG8gMCAqL1xuICB0aW1lb3V0SWQ6IE5vZGVKUy5UaW1lb3V0IHwgdW5kZWZpbmVkXG4gIC8qKiBUaGUgcmVxdWVzdHMgdGhhdCBhcmUgY3VycmVudGx5IHBlbmRpbmcuICovXG4gIHdhaXRpbmc6IEFycmF5PCh2YWx1ZTogdm9pZCB8IFByb21pc2VMaWtlPHZvaWQ+KSA9PiB2b2lkPiA9IFtdXG4gIC8qKiBUaGUgcmVxdWVzdHMgdGhhdCBhcmUgY3VycmVudGx5IHBlbmRpbmcuICovXG4gIHBlbmRpbmc6IFNlbmRSZXF1ZXN0T3B0aW9uc1tdID0gW11cbiAgLyoqIFdoZXRoZXIgb3Igbm90IHRoZSB3YWl0aW5nIHF1ZXVlIGlzIGFscmVhZHkgcHJvY2Vzc2luZy4gKi9cbiAgcHJvY2Vzc2luZzogYm9vbGVhbiA9IGZhbHNlXG4gIC8qKiBXaGV0aGVyIG9yIG5vdCB0aGUgcGVuZGluZyBxdWV1ZSBpcyBhbHJlYWR5IHByb2Nlc3NpbmcuICovXG4gIHByb2Nlc3NpbmdQZW5kaW5nOiBib29sZWFuID0gZmFsc2VcbiAgLyoqIFdoZXRoZXIgdGhlIGZpcnN0IHJlcXVlc3QgaXMgcGVuZGluZy4gKi9cbiAgZmlyc3RSZXF1ZXN0OiBib29sZWFuID0gZmFsc2VcbiAgLyoqIFRoZSB1cmwgdGhhdCBhbGwgdGhlIHJlcXVlc3RzIGluIHRoaXMgcXVldWUgYXJlIHNlbnQgdG8uICovXG4gIHVybDogc3RyaW5nXG4gIC8qKiBXaGVuIHJlcXVlc3RzIHN0YXJ0ZWQgYmVpbmcgbWFkZSB0byBkZXRlcm1pbmUgd2hlbiB0aGUgaW50ZXJ2YWwgd2lsbCByZXNldCBpdC4gKi9cbiAgZnJvemVuQXQ6IG51bWJlciA9IDBcblxuICBjb25zdHJ1Y3RvciAocmVzdDogUmVzdE1hbmFnZXIsIG9wdGlvbnM6IFF1ZXVlT3B0aW9ucykge1xuICAgIHRoaXMucmVzdCA9IHJlc3RcbiAgICB0aGlzLnVybCA9IG9wdGlvbnMudXJsXG5cbiAgICBpZiAob3B0aW9ucz8uaW50ZXJ2YWwpIHRoaXMuaW50ZXJ2YWwgPSBvcHRpb25zLmludGVydmFsXG4gICAgaWYgKG9wdGlvbnM/Lm1heCkgdGhpcy5tYXggPSBvcHRpb25zLm1heFxuICAgIGlmIChvcHRpb25zPy5yZW1haW5pbmcpIHRoaXMucmVtYWluaW5nID0gb3B0aW9ucy5yZW1haW5pbmdcbiAgICBpZiAob3B0aW9ucz8udGltZW91dElkKSB0aGlzLnRpbWVvdXRJZCA9IG9wdGlvbnMudGltZW91dElkXG4gIH1cblxuICAvKiogQ2hlY2sgaWYgdGhlcmUgaXMgYW55IHJlbWFpbmluZyByZXF1ZXN0cyB0aGF0IGFyZSBhbGxvd2VkLiAqL1xuICBpc1JlcXVlc3RBbGxvd2VkICgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5yZW1haW5pbmcgPiAwXG4gIH1cblxuICAvKiogUGF1c2VzIHRoZSBleGVjdXRpb24gdW50aWwgYSByZXF1ZXN0IGlzIGFsbG93ZWQgdG8gYmUgbWFkZS4gKi9cbiAgYXN5bmMgd2FpdFVudGlsUmVxdWVzdEF2YWlsYWJsZSAoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWFzeW5jLXByb21pc2UtZXhlY3V0b3JcbiAgICByZXR1cm4gYXdhaXQgbmV3IFByb21pc2UoYXN5bmMgKHJlc29sdmUpID0+IHtcbiAgICAgIC8vIElmIHdoYXRldmVyIGFtb3VudCBvZiByZXF1ZXN0cyBpcyBsZWZ0IGlzIG1vcmUgdGhhbiB0aGUgc2FmZXR5IG1hcmdpbiwgYWxsb3cgdGhlIHJlcXVlc3RcbiAgICAgIGlmICh0aGlzLmlzUmVxdWVzdEFsbG93ZWQoKSkge1xuICAgICAgICAvLyB0aGlzLnJlbWFpbmluZysrO1xuICAgICAgICByZXNvbHZlKClcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMud2FpdGluZy5wdXNoKHJlc29sdmUpXG4gICAgICAgIGF3YWl0IHRoaXMucHJvY2Vzc1dhaXRpbmcoKVxuICAgICAgfVxuICAgIH0pXG4gIH1cblxuICAvKiogUHJvY2VzcyB0aGUgcXVldWUgb2YgcmVxdWVzdHMgd2FpdGluZyB0byBiZSBoYW5kbGVkLiAqL1xuICBhc3luYyBwcm9jZXNzV2FpdGluZyAoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgLy8gSWYgYWxyZWFkeSBwcm9jZXNzaW5nLCB0aGF0IGxvb3Agd2lsbCBoYW5kbGUgYWxsIHdhaXRpbmcgcmVxdWVzdHMuXG4gICAgaWYgKHRoaXMucHJvY2Vzc2luZykgcmV0dXJuXG4gICAgLy8gTWFyayBhcyBwcm9jZXNzaW5nIHNvIG90aGVyIGxvb3BzIGRvbid0IHN0YXJ0XG4gICAgdGhpcy5wcm9jZXNzaW5nID0gdHJ1ZVxuXG4gICAgd2hpbGUgKHRoaXMud2FpdGluZy5sZW5ndGggPiAwKSB7XG4gICAgICBpZiAodGhpcy5pc1JlcXVlc3RBbGxvd2VkKCkpIHtcbiAgICAgICAgLy8gUmVzb2x2ZSB0aGUgbmV4dCBpdGVtIGluIHRoZSBxdWV1ZVxuICAgICAgICB0aGlzLndhaXRpbmcuc2hpZnQoKT8uKClcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGF3YWl0IGRlbGF5KDEwMDApXG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTWFyayBhcyBmYWxzZSBzbyBuZXh0IHBlbmRpbmcgcmVxdWVzdCBjYW4gYmUgdHJpZ2dlcmVkIGJ5IG5ldyBsb29wLlxuICAgIHRoaXMucHJvY2Vzc2luZyA9IGZhbHNlXG4gIH1cblxuICAvKiogUHJvY2VzcyB0aGUgcXVldWUgb2YgYWxsIHJlcXVlc3RzIHBlbmRpbmcgdG8gYmUgc2VudC4gKi9cbiAgYXN5bmMgcHJvY2Vzc1BlbmRpbmcgKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIC8vIElmIGFscmVhZHkgcHJvY2Vzc2luZywgdGhhdCBsb29wIHdpbGwgaGFuZGxlIGFsbCBwZW5kaW5nIHJlcXVlc3RzLlxuICAgIGlmICh0aGlzLnByb2Nlc3NpbmdQZW5kaW5nIHx8ICF0aGlzLnBlbmRpbmcubGVuZ3RoKSByZXR1cm5cblxuICAgIC8vIE1hcmsgYXMgcHJvY2Vzc2luZyBzbyBvdGhlciBsb29wcyBkb24ndCBzdGFydFxuICAgIHRoaXMucHJvY2Vzc2luZ1BlbmRpbmcgPSB0cnVlXG5cbiAgICB3aGlsZSAodGhpcy5wZW5kaW5nLmxlbmd0aCA+IDApIHtcbiAgICAgIGlmICghdGhpcy5maXJzdFJlcXVlc3QgJiYgIXRoaXMuaXNSZXF1ZXN0QWxsb3dlZCgpKSB7XG4gICAgICAgIGNvbnN0IG5vdyA9IERhdGUubm93KClcbiAgICAgICAgY29uc3QgZnV0dXJlID0gdGhpcy5mcm96ZW5BdCArIHRoaXMuaW50ZXJ2YWxcbiAgICAgICAgYXdhaXQgZGVsYXkoZnV0dXJlID4gbm93ID8gZnV0dXJlIC0gbm93IDogMTAwMClcbiAgICAgICAgY29udGludWVcbiAgICAgIH1cblxuICAgICAgY29uc3QgcmVxdWVzdCA9IHRoaXMucGVuZGluZ1swXVxuICAgICAgaWYgKHJlcXVlc3QpIHtcbiAgICAgICAgY29uc3QgYmFzaWNVUkwgPSB0aGlzLnJlc3Quc2ltcGxpZnlVcmwoXG4gICAgICAgICAgcmVxdWVzdC51cmwsXG4gICAgICAgICAgcmVxdWVzdC5tZXRob2RcbiAgICAgICAgKVxuXG4gICAgICAgIC8vIElGIFRISVMgVVJMIElTIFNUSUxMIFJBVEUgTElNSVRFRCwgVFJZIEFHQUlOXG4gICAgICAgIC8vIElmIHRoaXMgdXJsIGlzIHN0aWxsIHJhdGUgbGltaXRlZCwgdHJ5IGFnYWluXG4gICAgICAgIGNvbnN0IHVybFJlc2V0SW4gPSB0aGlzLnJlc3QuY2hlY2tSYXRlTGltaXRzKGJhc2ljVVJMKVxuICAgICAgICBpZiAodXJsUmVzZXRJbikgYXdhaXQgZGVsYXkodXJsUmVzZXRJbilcblxuICAgICAgICAvLyBJRiBBIEJVQ0tFVCBFWElTVFMsIENIRUNLIFRIRSBCVUNLRVQnUyBSQVRFIExJTUlUU1xuICAgICAgICBjb25zdCBidWNrZXRSZXNldEluID1cbiAgICAgICAgICAgIHJlcXVlc3QuYnVja2V0SWRcbiAgICAgICAgICAgICAgPyB0aGlzLnJlc3QuY2hlY2tSYXRlTGltaXRzKHJlcXVlc3QuYnVja2V0SWQpXG4gICAgICAgICAgICAgIDogZmFsc2VcbiAgICAgICAgaWYgKGJ1Y2tldFJlc2V0SW4pIGF3YWl0IGRlbGF5KGJ1Y2tldFJlc2V0SW4pXG5cbiAgICAgICAgdGhpcy5maXJzdFJlcXVlc3QgPSBmYWxzZVxuICAgICAgICB0aGlzLnJlbWFpbmluZy0tXG5cbiAgICAgICAgaWYgKHRoaXMudGltZW91dElkICYmIHRoaXMucmVtYWluaW5nID09PSAwICYmIHRoaXMuaW50ZXJ2YWwgIT09IDApIHtcbiAgICAgICAgICB0aGlzLnRpbWVvdXRJZCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5yZW1haW5pbmcgPSB0aGlzLm1heFxuICAgICAgICAgICAgdGhpcy50aW1lb3V0SWQgPSB1bmRlZmluZWRcbiAgICAgICAgICB9LCB0aGlzLmludGVydmFsKVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gUmVtb3ZlIGZyb20gcXVldWUsIHdlIGFyZSBleGVjdXRpbmcgaXQuXG4gICAgICAgIHRoaXMucGVuZGluZy5zaGlmdCgpXG4gICAgICAgIC8vIENoZWNrIGlmIHRoaXMgcmVxdWVzdCBpcyBhYmxlIHRvIGJlIG1hZGUgZ2xvYmFsbHlcbiAgICAgICAgYXdhaXQgdGhpcy5yZXN0LmludmFsaWRCdWNrZXQud2FpdFVudGlsUmVxdWVzdEF2YWlsYWJsZSgpXG5cbiAgICAgICAgYXdhaXQgdGhpcy5yZXN0LnNlbmRSZXF1ZXN0KHJlcXVlc3QpXG4gICAgICAgICAgLy8gU2hvdWxkIGJlIGhhbmRsZWQgaW4gc2VuZFJlcXVlc3QsIHRoaXMgY2F0Y2gganVzdCBwcmV2ZW50cyBib3RzIGZyb20gZHlpbmdcbiAgICAgICAgICAuY2F0Y2goKCkgPT4gbnVsbClcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBNYXJrIGFzIGZhbHNlIHNvIG5leHQgcGVuZGluZyByZXF1ZXN0IGNhbiBiZSB0cmlnZ2VyZWQgYnkgbmV3IGxvb3AuXG4gICAgdGhpcy5wcm9jZXNzaW5nUGVuZGluZyA9IGZhbHNlXG4gICAgdGhpcy5jbGVhbnVwKClcbiAgfVxuXG4gIGhhbmRsZUNvbXBsZXRlZFJlcXVlc3QgKGhlYWRlcnM6IHsgbWF4PzogbnVtYmVyLCBpbnRlcnZhbD86IG51bWJlciwgcmVtYWluaW5nPzogbnVtYmVyIH0pOiB2b2lkIHtcbiAgICBpZiAoaGVhZGVycy5tYXggPT09IDApIHtcbiAgICAgIHRoaXMucmVtYWluaW5nKytcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGlmICghdGhpcy5mcm96ZW5BdCkgdGhpcy5mcm96ZW5BdCA9IERhdGUubm93KClcbiAgICBpZiAoaGVhZGVycy5pbnRlcnZhbCAhPT0gdW5kZWZpbmVkKSB0aGlzLmludGVydmFsID0gaGVhZGVycy5pbnRlcnZhbFxuICAgIGlmIChoZWFkZXJzLnJlbWFpbmluZyAhPT0gdW5kZWZpbmVkKSB0aGlzLnJlbWFpbmluZyA9IGhlYWRlcnMucmVtYWluaW5nXG5cbiAgICBpZiAodGhpcy5yZW1haW5pbmcgPD0gMSkge1xuICAgICAgdGhpcy50aW1lb3V0SWQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5yZW1haW5pbmcgPSB0aGlzLm1heFxuICAgICAgICB0aGlzLnRpbWVvdXRJZCA9IHVuZGVmaW5lZFxuICAgICAgfSwgaGVhZGVycy5pbnRlcnZhbClcbiAgICB9XG4gIH1cblxuICBhc3luYyBtYWtlUmVxdWVzdCAob3B0aW9uczogU2VuZFJlcXVlc3RPcHRpb25zKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy53YWl0VW50aWxSZXF1ZXN0QXZhaWxhYmxlKClcbiAgICB0aGlzLnBlbmRpbmcucHVzaChvcHRpb25zKVxuICAgIHRoaXMucHJvY2Vzc1BlbmRpbmcoKVxuICB9XG5cbiAgLyoqIENsZWFucyB1cCB0aGUgcXVldWUgYnkgY2hlY2tpbmcgaWYgdGhlcmUgaXMgbm90aGluZyBsZWZ0IGFuZCByZW1vdmluZyBpdC4gKi9cbiAgY2xlYW51cCAoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmlzUXVldWVDbGVhcmFibGUoKSkge1xuICAgICAgdGhpcy5wcm9jZXNzUGVuZGluZygpXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICAvLyBEZWxldGUgaW4gYSBtaW51dGUgZ2l2aW5nIGEgYml0IG9mIHRpbWUgdG8gYWxsb3cgbmV3IHJlcXVlc3RzIHRoYXQgbWF5IHJldXNlIHRoaXMgcXVldWVcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICghdGhpcy5pc1F1ZXVlQ2xlYXJhYmxlKCkpIHtcbiAgICAgICAgdGhpcy5wcm9jZXNzUGVuZGluZygpXG4gICAgICAgIHJldHVyblxuICAgICAgfVxuICAgICAgLy8gTm8gcmVxdWVzdHMgaGF2ZSBiZWVuIHJlcXVlc3RlZCBmb3IgdGhpcyBxdWV1ZSBzbyB3ZSBudWtlIHRoaXMgcXVldWVcbiAgICAgIHRoaXMucmVzdC5xdWV1ZXMuZGVsZXRlKHRoaXMudXJsKVxuICAgIH0sIDYwMDAwKVxuICB9XG5cbiAgaXNRdWV1ZUNsZWFyYWJsZSAoKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMuZmlyc3RSZXF1ZXN0KSByZXR1cm4gZmFsc2VcbiAgICBpZiAodGhpcy53YWl0aW5nLmxlbmd0aCA+IDApIHJldHVybiBmYWxzZVxuICAgIGlmICh0aGlzLnBlbmRpbmcubGVuZ3RoID4gMCkgcmV0dXJuIGZhbHNlXG4gICAgaWYgKHRoaXMuaW50ZXJ2YWwgPT09IDApIHJldHVybiBmYWxzZVxuICAgIGlmICh0aGlzLnByb2Nlc3NpbmcpIHJldHVybiBmYWxzZVxuICAgIGlmICh0aGlzLnByb2Nlc3NpbmdQZW5kaW5nKSByZXR1cm4gZmFsc2VcblxuICAgIHJldHVybiB0cnVlXG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBRdWV1ZU9wdGlvbnMge1xuICAvKiogSG93IG1hbnkgcmVxdWVzdHMgYXJlIHJlbWFpbmluZy4gRGVmYXVsdHMgdG8gMSAqL1xuICByZW1haW5pbmc/OiBudW1iZXJcbiAgLyoqIE1heCBudW1iZXIgb2YgcmVxdWVzdHMgYWxsb3dlZCBpbiB0aGlzIHRoaXMuIERlZmF1bHRzIHRvIDEuICovXG4gIG1heD86IG51bWJlclxuICAvKiogVGhlIHRpbWUgaW4gbWlsbGlzZWNvbmRzIHRoYXQgZGlzY29yZCBhbGxvd3MgdG8gbWFrZSB0aGUgbWF4IG51bWJlciBvZiBpbnZhbGlkIHJlcXVlc3RzLiBEZWZhdWx0cyB0byAwICovXG4gIGludGVydmFsPzogbnVtYmVyXG4gIC8qKiB0aW1lciB0byByZXNldCB0byAwICovXG4gIHRpbWVvdXRJZD86IE5vZGVKUy5UaW1lb3V0XG4gIC8qKiBUaGUgdXJsIHRoaXMgcXVldWUgd2lsbCBiZSBoYW5kbGluZy4gKi9cbiAgdXJsOiBzdHJpbmdcbn1cbiJdLCJuYW1lcyI6WyJkZWxheSIsIlF1ZXVlIiwicmVtYWluaW5nIiwibWF4IiwiaW50ZXJ2YWwiLCJ3YWl0aW5nIiwicGVuZGluZyIsInByb2Nlc3NpbmciLCJwcm9jZXNzaW5nUGVuZGluZyIsImZpcnN0UmVxdWVzdCIsImZyb3plbkF0IiwiY29uc3RydWN0b3IiLCJyZXN0Iiwib3B0aW9ucyIsInVybCIsInRpbWVvdXRJZCIsImlzUmVxdWVzdEFsbG93ZWQiLCJ3YWl0VW50aWxSZXF1ZXN0QXZhaWxhYmxlIiwiUHJvbWlzZSIsInJlc29sdmUiLCJwdXNoIiwicHJvY2Vzc1dhaXRpbmciLCJsZW5ndGgiLCJzaGlmdCIsInByb2Nlc3NQZW5kaW5nIiwibm93IiwiRGF0ZSIsImZ1dHVyZSIsInJlcXVlc3QiLCJiYXNpY1VSTCIsInNpbXBsaWZ5VXJsIiwibWV0aG9kIiwidXJsUmVzZXRJbiIsImNoZWNrUmF0ZUxpbWl0cyIsImJ1Y2tldFJlc2V0SW4iLCJidWNrZXRJZCIsInNldFRpbWVvdXQiLCJ1bmRlZmluZWQiLCJpbnZhbGlkQnVja2V0Iiwic2VuZFJlcXVlc3QiLCJjYXRjaCIsImNsZWFudXAiLCJoYW5kbGVDb21wbGV0ZWRSZXF1ZXN0IiwiaGVhZGVycyIsIm1ha2VSZXF1ZXN0IiwiaXNRdWV1ZUNsZWFyYWJsZSIsInF1ZXVlcyIsImRlbGV0ZSJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBU0EsU0FBQUEsQ0FBSyxLQUFRLG1CQUFtQixBQUd6QyxRQUFPLE1BQU1DLE1BSVhDLFVBQW9CLENBQUMsQUFFckJDLENBQUFBLElBQWMsQ0FBQyxBQUVmQyxDQUFBQSxTQUFtQixDQUFDLEFBSXBCQyxDQUFBQSxRQUE0RCxFQUFFLEFBRTlEQyxDQUFBQSxRQUFnQyxFQUFFLEFBRWxDQyxDQUFBQSxXQUFzQixDQUFBLENBQUssQUFFM0JDLENBQUFBLGtCQUE2QixDQUFBLENBQUssQUFFbENDLENBQUFBLGFBQXdCLENBQUEsQ0FBSyxBQUk3QkMsQ0FBQUEsU0FBbUIsQ0FBQyxBQUVwQkMsYUFBYUMsQ0FBaUIsQ0FBRUMsQ0FBcUIsQ0FBRSxDQUNyRCxJQUFJLENBQUNELElBQUksQ0FBR0EsRUFDWixJQUFJLENB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
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@discordeno/rest",
|
|
3
|
-
"version": "19.0.0-next.
|
|
3
|
+
"version": "19.0.0-next.1bbee2f",
|
|
4
4
|
"main": "./dist/index.js",
|
|
5
5
|
"types": "./dist/index.d.ts",
|
|
6
6
|
"type": "module",
|
|
@@ -24,8 +24,8 @@
|
|
|
24
24
|
"test:test-type": "tsc --project tsconfig.test.json"
|
|
25
25
|
},
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"@discordeno/types": "19.0.0-next.
|
|
28
|
-
"@discordeno/utils": "19.0.0-next.
|
|
27
|
+
"@discordeno/types": "19.0.0-next.1bbee2f",
|
|
28
|
+
"@discordeno/utils": "19.0.0-next.1bbee2f",
|
|
29
29
|
"dotenv": "^16.0.3"
|
|
30
30
|
},
|
|
31
31
|
"devDependencies": {
|