@discordeno/rest 18.0.0-next.1381838

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 (56) hide show
  1. package/README.md +16 -0
  2. package/dist/checkRateLimits.d.ts +4 -0
  3. package/dist/checkRateLimits.d.ts.map +1 -0
  4. package/dist/checkRateLimits.js +2 -0
  5. package/dist/cleanupQueues.d.ts +7 -0
  6. package/dist/cleanupQueues.d.ts.map +1 -0
  7. package/dist/cleanupQueues.js +2 -0
  8. package/dist/convertRestError.d.ts +3 -0
  9. package/dist/convertRestError.d.ts.map +1 -0
  10. package/dist/convertRestError.js +3 -0
  11. package/dist/createInvalidRequestBucket.d.ts +60 -0
  12. package/dist/createInvalidRequestBucket.d.ts.map +1 -0
  13. package/dist/createInvalidRequestBucket.js +2 -0
  14. package/dist/createQueueBucket.d.ts +61 -0
  15. package/dist/createQueueBucket.d.ts.map +1 -0
  16. package/dist/createQueueBucket.js +2 -0
  17. package/dist/createRequestBody.d.ts +16 -0
  18. package/dist/createRequestBody.d.ts.map +1 -0
  19. package/dist/createRequestBody.js +2 -0
  20. package/dist/index.d.ts +17 -0
  21. package/dist/index.d.ts.map +1 -0
  22. package/dist/index.js +2 -0
  23. package/dist/processGlobalQueue.d.ts +9 -0
  24. package/dist/processGlobalQueue.d.ts.map +1 -0
  25. package/dist/processGlobalQueue.js +2 -0
  26. package/dist/processQueue.d.ts +4 -0
  27. package/dist/processQueue.d.ts.map +1 -0
  28. package/dist/processQueue.js +2 -0
  29. package/dist/processRateLimitedPaths.d.ts +4 -0
  30. package/dist/processRateLimitedPaths.d.ts.map +1 -0
  31. package/dist/processRateLimitedPaths.js +2 -0
  32. package/dist/processRequest.d.ts +5 -0
  33. package/dist/processRequest.d.ts.map +1 -0
  34. package/dist/processRequest.js +2 -0
  35. package/dist/processRequestHeaders.d.ts +4 -0
  36. package/dist/processRequestHeaders.d.ts.map +1 -0
  37. package/dist/processRequestHeaders.js +2 -0
  38. package/dist/rest.d.ts +27 -0
  39. package/dist/rest.d.ts.map +1 -0
  40. package/dist/rest.js +2 -0
  41. package/dist/restManager.d.ts +73 -0
  42. package/dist/restManager.d.ts.map +1 -0
  43. package/dist/restManager.js +2 -0
  44. package/dist/runMethod.d.ts +8 -0
  45. package/dist/runMethod.d.ts.map +1 -0
  46. package/dist/runMethod.js +2 -0
  47. package/dist/runProxyMethod.d.ts +7 -0
  48. package/dist/runProxyMethod.d.ts.map +1 -0
  49. package/dist/runProxyMethod.js +2 -0
  50. package/dist/sendRequest.d.ts +17 -0
  51. package/dist/sendRequest.d.ts.map +1 -0
  52. package/dist/sendRequest.js +4 -0
  53. package/dist/simplifyUrl.d.ts +7 -0
  54. package/dist/simplifyUrl.d.ts.map +1 -0
  55. package/dist/simplifyUrl.js +2 -0
  56. package/package.json +43 -0
package/README.md ADDED
@@ -0,0 +1,16 @@
1
+ # Discordeno Rest
2
+
3
+ A standalone and server-less REST module with functionality of REST, independently.
4
+
5
+ - Easily host on any serverless infrastructure.
6
+ - Easy to use and setup with Cloudflare Workers (FREE for 100K requests per day!)
7
+ - Freedom from global rate limit errors
8
+ - As your bot grows, you want to handle global rate limits better. Shards don't communicate fast enough to truly
9
+ handle it properly so this allows 1 rest handler across the entire bot.
10
+ - In fact, you can host multiple instances of your bot and all connect to the same rest server.
11
+ - REST does not rest!
12
+ - Separate rest means if your bot for whatever reason crashes, your requests that are queued will still keep going and
13
+ will not be lost.
14
+ - Seamless updates! When you want to update and reboot the bot, you could potentially lose tons of messages or
15
+ responses that are in queue. Using this you could restart your bot without ever worrying about losing any responses.
16
+ - Scalability! Scalability! Scalability!
@@ -0,0 +1,4 @@
1
+ import { RestManager } from './restManager.js';
2
+ /** Check the rate limits for a url or a bucket. */
3
+ export declare function checkRateLimits(rest: RestManager, url: string): number | false;
4
+ //# sourceMappingURL=checkRateLimits.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkRateLimits.d.ts","sourceRoot":"","sources":["../src/checkRateLimits.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAE9C,mDAAmD;AACnD,wBAAgB,eAAe,CAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,CAa/E"}
@@ -0,0 +1,2 @@
1
+ export function checkRateLimits(e,t){let i=e.rateLimitedPaths.get(t),a=e.rateLimitedPaths.get("global"),m=Date.now();return void 0!==i&&m<i.resetTimestamp?i.resetTimestamp-m:void 0!==a&&m<a.resetTimestamp&&a.resetTimestamp-m}
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jaGVja1JhdGVMaW1pdHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVzdE1hbmFnZXIgfSBmcm9tICcuL3Jlc3RNYW5hZ2VyLmpzJ1xuXG4vKiogQ2hlY2sgdGhlIHJhdGUgbGltaXRzIGZvciBhIHVybCBvciBhIGJ1Y2tldC4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjaGVja1JhdGVMaW1pdHMgKHJlc3Q6IFJlc3RNYW5hZ2VyLCB1cmw6IHN0cmluZyk6IG51bWJlciB8IGZhbHNlIHtcbiAgY29uc3QgcmF0ZWxpbWl0ZWQgPSByZXN0LnJhdGVMaW1pdGVkUGF0aHMuZ2V0KHVybClcbiAgY29uc3QgZ2xvYmFsID0gcmVzdC5yYXRlTGltaXRlZFBhdGhzLmdldCgnZ2xvYmFsJylcbiAgY29uc3Qgbm93ID0gRGF0ZS5ub3coKVxuXG4gIGlmIChyYXRlbGltaXRlZCAhPT0gdW5kZWZpbmVkICYmIG5vdyA8IHJhdGVsaW1pdGVkLnJlc2V0VGltZXN0YW1wKSB7XG4gICAgcmV0dXJuIHJhdGVsaW1pdGVkLnJlc2V0VGltZXN0YW1wIC0gbm93XG4gIH1cbiAgaWYgKGdsb2JhbCAhPT0gdW5kZWZpbmVkICYmIG5vdyA8IGdsb2JhbC5yZXNldFRpbWVzdGFtcCkge1xuICAgIHJldHVybiBnbG9iYWwucmVzZXRUaW1lc3RhbXAgLSBub3dcbiAgfVxuXG4gIHJldHVybiBmYWxzZVxufVxuIl0sIm5hbWVzIjpbImNoZWNrUmF0ZUxpbWl0cyIsInJlc3QiLCJ1cmwiLCJyYXRlbGltaXRlZCIsInJhdGVMaW1pdGVkUGF0aHMiLCJnZXQiLCJnbG9iYWwiLCJub3ciLCJEYXRlIiwidW5kZWZpbmVkIiwicmVzZXRUaW1lc3RhbXAiXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sU0FBU0EsZ0JBQWlCQyxDQUFpQixDQUFFQyxDQUFXLENBQWtCLENBQy9FLElBQU1DLEVBQWNGLEVBQUtHLGdCQUFnQixDQUFDQyxHQUFHLENBQUNILEdBQ3hDSSxFQUFTTCxFQUFLRyxnQkFBZ0IsQ0FBQ0MsR0FBRyxDQUFDLFVBQ25DRSxFQUFNQyxLQUFLRCxHQUFHLFVBRXBCLEFBQUlKLEFBQWdCTSxLQUFBQSxJQUFoQk4sR0FBNkJJLEVBQU1KLEVBQVlPLGNBQWMsQ0FDeERQLEVBQVlPLGNBQWMsQ0FBR0gsRUFFdkJFLEtBQUFBLElBQVhILEdBQXdCQyxFQUFNRCxFQUFPSSxjQUFjLEVBQzlDSixFQUFPSSxjQUFjLENBQUdILENBRmhDLEFBTUgsQ0FBQyJ9
@@ -0,0 +1,7 @@
1
+ import { QueueBucket } from './createQueueBucket.js';
2
+ import { RestManager } from './restManager.js';
3
+ /** Cleans up the queues by checking if there is nothing left and removing it. */
4
+ export declare function cleanupQueues(rest: RestManager): void;
5
+ export declare function clearQueue(rest: RestManager, key: string, queue: QueueBucket): void;
6
+ export declare function isQueueClearable(queue: QueueBucket): boolean;
7
+ //# sourceMappingURL=cleanupQueues.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cleanupQueues.d.ts","sourceRoot":"","sources":["../src/cleanupQueues.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAE9C,iFAAiF;AACjF,wBAAgB,aAAa,CAAE,IAAI,EAAE,WAAW,GAAG,IAAI,CAatD;AAED,wBAAgB,UAAU,CAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,IAAI,CAIpF;AAED,wBAAgB,gBAAgB,CAAE,KAAK,EAAE,WAAW,GAAG,OAAO,CAS7D"}
@@ -0,0 +1,2 @@
1
+ export function cleanupQueues(e){for(let[u,t]of e.pathQueues)isQueueClearable(t)&&setTimeout(()=>{clearQueue(e,u,t)},5e3);0===e.pathQueues.size&&(e.processingQueue=!1)}export function clearQueue(e,u,t){isQueueClearable(t)&&e.pathQueues.delete(u)}export function isQueueClearable(e){return!e.firstRequest&&!(e.waiting.length>0)&&!(e.pending.length>0)&&0!==e.interval&&!e.processing&&!e.processingPending}
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jbGVhbnVwUXVldWVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFF1ZXVlQnVja2V0IH0gZnJvbSAnLi9jcmVhdGVRdWV1ZUJ1Y2tldC5qcydcbmltcG9ydCB7IFJlc3RNYW5hZ2VyIH0gZnJvbSAnLi9yZXN0TWFuYWdlci5qcydcblxuLyoqIENsZWFucyB1cCB0aGUgcXVldWVzIGJ5IGNoZWNraW5nIGlmIHRoZXJlIGlzIG5vdGhpbmcgbGVmdCBhbmQgcmVtb3ZpbmcgaXQuICovXG5leHBvcnQgZnVuY3Rpb24gY2xlYW51cFF1ZXVlcyAocmVzdDogUmVzdE1hbmFnZXIpOiB2b2lkIHtcbiAgZm9yIChjb25zdCBba2V5LCBxdWV1ZV0gb2YgcmVzdC5wYXRoUXVldWVzKSB7XG4gICAgLy8gcmVzdC5kZWJ1ZyhgW1JFU1QgLSBjbGVhbnVwUXVldWVzXSBSdW5uaW5nIGZvciBvZiBsb29wLiAke2tleX1gKTtcbiAgICBpZiAoIWlzUXVldWVDbGVhcmFibGUocXVldWUpKSBjb250aW51ZVxuXG4gICAgLy8gUkVNT1ZFIElUIEZST00gQ0FDSEVcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGNsZWFyUXVldWUocmVzdCwga2V5LCBxdWV1ZSlcbiAgICB9LCA1MDAwKVxuICB9XG5cbiAgLy8gTk8gUVVFVUUgTEVGVCwgRElTQUJMRSBUSEUgUVVFVUVcbiAgaWYgKHJlc3QucGF0aFF1ZXVlcy5zaXplID09PSAwKSByZXN0LnByb2Nlc3NpbmdRdWV1ZSA9IGZhbHNlXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjbGVhclF1ZXVlIChyZXN0OiBSZXN0TWFuYWdlciwga2V5OiBzdHJpbmcsIHF1ZXVlOiBRdWV1ZUJ1Y2tldCk6IHZvaWQge1xuICBpZiAoIWlzUXVldWVDbGVhcmFibGUocXVldWUpKSByZXR1cm5cblxuICByZXN0LnBhdGhRdWV1ZXMuZGVsZXRlKGtleSlcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzUXVldWVDbGVhcmFibGUgKHF1ZXVlOiBRdWV1ZUJ1Y2tldCk6IGJvb2xlYW4ge1xuICBpZiAocXVldWUuZmlyc3RSZXF1ZXN0KSByZXR1cm4gZmFsc2VcbiAgaWYgKHF1ZXVlLndhaXRpbmcubGVuZ3RoID4gMCkgcmV0dXJuIGZhbHNlXG4gIGlmIChxdWV1ZS5wZW5kaW5nLmxlbmd0aCA+IDApIHJldHVybiBmYWxzZVxuICBpZiAocXVldWUuaW50ZXJ2YWwgPT09IDApIHJldHVybiBmYWxzZVxuICBpZiAocXVldWUucHJvY2Vzc2luZykgcmV0dXJuIGZhbHNlXG4gIGlmIChxdWV1ZS5wcm9jZXNzaW5nUGVuZGluZykgcmV0dXJuIGZhbHNlXG5cbiAgcmV0dXJuIHRydWVcbn1cbiJdLCJuYW1lcyI6WyJjbGVhbnVwUXVldWVzIiwicmVzdCIsImtleSIsInF1ZXVlIiwicGF0aFF1ZXVlcyIsImlzUXVldWVDbGVhcmFibGUiLCJzZXRUaW1lb3V0IiwiY2xlYXJRdWV1ZSIsInNpemUiLCJwcm9jZXNzaW5nUXVldWUiLCJkZWxldGUiLCJmaXJzdFJlcXVlc3QiLCJ3YWl0aW5nIiwibGVuZ3RoIiwicGVuZGluZyIsImludGVydmFsIiwicHJvY2Vzc2luZyIsInByb2Nlc3NpbmdQZW5kaW5nIl0sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLFNBQVNBLGNBQWVDLENBQWlCLENBQVEsQ0FDdEQsSUFBSyxHQUFNLENBQUNDLEVBQUtDLEVBQU0sR0FBSUYsRUFBS0csVUFBVSxDQUVuQ0MsaUJBQWlCRixJQUd0QkcsV0FBVyxJQUFNLENBQ2ZDLFdBQVdOLEVBQU1DLEVBQUtDLEVBQ3hCLEVBQUcsS0FJd0IsSUFBekJGLEVBQUtHLFVBQVUsQ0FBQ0ksSUFBSSxFQUFRUCxDQUFBQSxFQUFLUSxlQUFlLENBQUcsQ0FBQSxDQUFJLENBQzdELENBQUMsQUFFRCxPQUFPLFNBQVNGLFdBQVlOLENBQWlCLENBQUVDLENBQVcsQ0FBRUMsQ0FBa0IsQ0FBUSxDQUMvRUUsaUJBQWlCRixJQUV0QkYsRUFBS0csVUFBVSxDQUFDTSxNQUFNLENBQUNSLEVBQ3pCLENBQUMsQUFFRCxPQUFPLFNBQVNHLGlCQUFrQkYsQ0FBa0IsQ0FBVyxRQUN6REEsRUFBTVEsWUFBWSxHQUNsQlIsQ0FBQUEsRUFBTVMsT0FBTyxDQUFDQyxNQUFNLENBQUcsQ0FBQSxJQUN2QlYsQ0FBQUEsRUFBTVcsT0FBTyxDQUFDRCxNQUFNLENBQUcsQ0FBQSxHQUN2QlYsQUFBbUIsSUFBbkJBLEVBQU1ZLFFBQVEsR0FDZFosRUFBTWEsVUFBVSxHQUNoQmIsRUFBTWMsaUJBQWlCLEFBRzdCLENBQUMifQ==
@@ -0,0 +1,3 @@
1
+ import { RestRequestRejection } from './rest.js';
2
+ export declare function convertRestError(errorStack: Error, data: RestRequestRejection): Error;
3
+ //# sourceMappingURL=convertRestError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"convertRestError.d.ts","sourceRoot":"","sources":["../src/convertRestError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AAEhD,wBAAgB,gBAAgB,CAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,oBAAoB,GAAG,KAAK,CAGtF"}
@@ -0,0 +1,3 @@
1
+ export function convertRestError(r,e){return r.message=`[${e.status}] ${e.error}
2
+ ${e.body??""}`,r}
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb252ZXJ0UmVzdEVycm9yLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlc3RSZXF1ZXN0UmVqZWN0aW9uIH0gZnJvbSAnLi9yZXN0LmpzJ1xuXG5leHBvcnQgZnVuY3Rpb24gY29udmVydFJlc3RFcnJvciAoZXJyb3JTdGFjazogRXJyb3IsIGRhdGE6IFJlc3RSZXF1ZXN0UmVqZWN0aW9uKTogRXJyb3Ige1xuICBlcnJvclN0YWNrLm1lc3NhZ2UgPSBgWyR7ZGF0YS5zdGF0dXN9XSAke2RhdGEuZXJyb3J9XFxuJHtkYXRhLmJvZHkgPz8gJyd9YFxuICByZXR1cm4gZXJyb3JTdGFja1xufVxuIl0sIm5hbWVzIjpbImNvbnZlcnRSZXN0RXJyb3IiLCJlcnJvclN0YWNrIiwiZGF0YSIsIm1lc3NhZ2UiLCJzdGF0dXMiLCJlcnJvciIsImJvZHkiXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sU0FBU0EsaUJBQWtCQyxDQUFpQixDQUFFQyxDQUEwQixDQUFTLENBRXRGLE9BREFELEVBQVdFLE9BQU8sQ0FBRyxDQUFDLENBQUMsRUFBRUQsRUFBS0UsTUFBTSxDQUFDLEVBQUUsRUFBRUYsRUFBS0csS0FBSyxDQUFDO0FBQUUsRUFBRUgsRUFBS0ksSUFBSSxFQUFJLEdBQUcsQ0FBQyxDQUNsRUwsQ0FDVCxDQUFDIn0=
@@ -0,0 +1,60 @@
1
+ /// <reference types="node" />
2
+ /**
3
+ * A invalid request bucket is used in a similar manner as a leaky bucket but a invalid request bucket can be refilled as needed.
4
+ * It's purpose is to make sure the bot does not hit the limit to getting a 1 hr ban.
5
+ *
6
+ * @param options The options used to configure this bucket.
7
+ * @returns RefillingBucket
8
+ */
9
+ export declare function createInvalidRequestBucket(options: InvalidRequestBucketOptions): InvalidRequestBucket;
10
+ export interface InvalidRequestBucketOptions {
11
+ /** current invalid amount */
12
+ current?: number;
13
+ /** max invalid requests allowed until ban. Defaults to 10,000 */
14
+ max?: number;
15
+ /** The time that discord allows to make the max number of invalid requests. Defaults to 10 minutes */
16
+ interval?: number;
17
+ /** timer to reset to 0 */
18
+ timeoutId?: NodeJS.Timeout;
19
+ /** how safe to be from max. Defaults to 1 */
20
+ safety?: number;
21
+ /** when first request in this period was made */
22
+ frozenAt?: number;
23
+ /** The request statuses that count as an invalid request. */
24
+ errorStatuses?: number[];
25
+ /** The amount of requests that were requested from this bucket. */
26
+ requested?: number;
27
+ }
28
+ export interface InvalidRequestBucket {
29
+ /** current invalid amount */
30
+ current: number;
31
+ /** max invalid requests allowed until ban. Defaults to 10,000 */
32
+ max: number;
33
+ /** The time that discord allows to make the max number of invalid requests. Defaults to 10 minutes */
34
+ interval: number;
35
+ /** timer to reset to 0 */
36
+ timeoutId: NodeJS.Timeout | undefined;
37
+ /** how safe to be from max. Defaults to 1 */
38
+ safety: number;
39
+ /** when first request in this period was made */
40
+ frozenAt: number;
41
+ /** The request statuses that count as an invalid request. */
42
+ errorStatuses: number[];
43
+ /** The amount of requests that were requested from this bucket. */
44
+ requested: number;
45
+ /** The requests that are currently pending. */
46
+ waiting: Array<(value: void | PromiseLike<void>) => void>;
47
+ /** Whether or not the waiting queue is already processing. */
48
+ processing: boolean;
49
+ /** Gives the number of requests that are currently allowed. */
50
+ requestsAllowed: () => number;
51
+ /** Checks if a request is allowed at this time. */
52
+ isRequestAllowed: () => boolean;
53
+ /** Waits until a request is available */
54
+ waitUntilRequestAvailable: () => Promise<void>;
55
+ /** Begins processing the waiting queue of requests. */
56
+ processWaiting: () => Promise<void>;
57
+ /** Handler for whenever a request is validated. This should update the requested values or trigger any other necessary stuff. */
58
+ handleCompletedRequest: (code: number, sharedScope: boolean) => void;
59
+ }
60
+ //# sourceMappingURL=createInvalidRequestBucket.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createInvalidRequestBucket.d.ts","sourceRoot":"","sources":["../src/createInvalidRequestBucket.ts"],"names":[],"mappings":";AAEA;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CAAE,OAAO,EAAE,2BAA2B,GAAG,oBAAoB,CAsFtG;AAED,MAAM,WAAW,2BAA2B;IAC1C,6BAA6B;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,iEAAiE;IACjE,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,sGAAsG;IACtG,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,0BAA0B;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC,OAAO,CAAA;IAC1B,6CAA6C;IAC7C,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,iDAAiD;IACjD,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,6DAA6D;IAC7D,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;IACxB,mEAAmE;IACnE,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC,6BAA6B;IAC7B,OAAO,EAAE,MAAM,CAAA;IACf,iEAAiE;IACjE,GAAG,EAAE,MAAM,CAAA;IACX,sGAAsG;IACtG,QAAQ,EAAE,MAAM,CAAA;IAChB,0BAA0B;IAC1B,SAAS,EAAE,MAAM,CAAC,OAAO,GAAG,SAAS,CAAA;IACrC,6CAA6C;IAC7C,MAAM,EAAE,MAAM,CAAA;IACd,iDAAiD;IACjD,QAAQ,EAAE,MAAM,CAAA;IAChB,6DAA6D;IAC7D,aAAa,EAAE,MAAM,EAAE,CAAA;IACvB,mEAAmE;IACnE,SAAS,EAAE,MAAM,CAAA;IACjB,+CAA+C;IAC/C,OAAO,EAAE,KAAK,CAAC,CAAC,KAAK,EAAE,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAA;IACzD,8DAA8D;IAC9D,UAAU,EAAE,OAAO,CAAA;IAEnB,+DAA+D;IAC/D,eAAe,EAAE,MAAM,MAAM,CAAA;IAC7B,mDAAmD;IACnD,gBAAgB,EAAE,MAAM,OAAO,CAAA;IAC/B,yCAAyC;IACzC,yBAAyB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAC9C,uDAAuD;IACvD,cAAc,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IACnC,iIAAiI;IACjI,sBAAsB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,KAAK,IAAI,CAAA;CACrE"}
@@ -0,0 +1,2 @@
1
+ import{delay as e}from"@discordeno/utils";export function createInvalidRequestBucket(t){let r={current:t.current??0,max:t.max??1e4,interval:t.interval??6e5,timeoutId:t.timeoutId,safety:t.safety??1,frozenAt:t.frozenAt??0,errorStatuses:t.errorStatuses??[401,403,429],requested:t.requested??0,processing:!1,waiting:[],requestsAllowed:function(){return r.max-r.current-r.requested-r.safety},isRequestAllowed:function(){return r.requestsAllowed()>0},waitUntilRequestAvailable:async function(){return await new Promise(e=>{(async()=>{r.isRequestAllowed()?(r.requested++,e()):(r.waiting.push(e),await r.processWaiting())})()})},processWaiting:async function(){if(!r.processing){for(r.processing=!0;r.waiting.length>0;)r.isRequestAllowed()?(r.requested++,r.waiting.shift()?.()):await e(1e3);r.processing=!1}},handleCompletedRequest:function(e,t){r.requested--,r.errorStatuses.includes(e)&&(429===e&&t||(0===r.frozenAt&&(r.frozenAt=Date.now()),r.current++,void 0!==r.timeoutId&&(r.timeoutId=setTimeout(()=>{r.frozenAt=0,r.current=0,r.timeoutId=void 0},r.frozenAt+r.interval))))}};return r}
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jcmVhdGVJbnZhbGlkUmVxdWVzdEJ1Y2tldC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBkZWxheSB9IGZyb20gJ0BkaXNjb3JkZW5vL3V0aWxzJ1xuXG4vKipcbiAqIEEgaW52YWxpZCByZXF1ZXN0IGJ1Y2tldCBpcyB1c2VkIGluIGEgc2ltaWxhciBtYW5uZXIgYXMgYSBsZWFreSBidWNrZXQgYnV0IGEgaW52YWxpZCByZXF1ZXN0IGJ1Y2tldCBjYW4gYmUgcmVmaWxsZWQgYXMgbmVlZGVkLlxuICogSXQncyBwdXJwb3NlIGlzIHRvIG1ha2Ugc3VyZSB0aGUgYm90IGRvZXMgbm90IGhpdCB0aGUgbGltaXQgdG8gZ2V0dGluZyBhIDEgaHIgYmFuLlxuICpcbiAqIEBwYXJhbSBvcHRpb25zIFRoZSBvcHRpb25zIHVzZWQgdG8gY29uZmlndXJlIHRoaXMgYnVja2V0LlxuICogQHJldHVybnMgUmVmaWxsaW5nQnVja2V0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVJbnZhbGlkUmVxdWVzdEJ1Y2tldCAob3B0aW9uczogSW52YWxpZFJlcXVlc3RCdWNrZXRPcHRpb25zKTogSW52YWxpZFJlcXVlc3RCdWNrZXQge1xuICBjb25zdCBidWNrZXQ6IEludmFsaWRSZXF1ZXN0QnVja2V0ID0ge1xuICAgIGN1cnJlbnQ6IG9wdGlvbnMuY3VycmVudCA/PyAwLFxuICAgIG1heDogb3B0aW9ucy5tYXggPz8gMTAwMDAsXG4gICAgaW50ZXJ2YWw6IG9wdGlvbnMuaW50ZXJ2YWwgPz8gNjAwMDAwLFxuICAgIHRpbWVvdXRJZDogb3B0aW9ucy50aW1lb3V0SWQsXG4gICAgc2FmZXR5OiBvcHRpb25zLnNhZmV0eSA/PyAxLFxuICAgIGZyb3plbkF0OiBvcHRpb25zLmZyb3plbkF0ID8/IDAsXG4gICAgZXJyb3JTdGF0dXNlczogb3B0aW9ucy5lcnJvclN0YXR1c2VzID8/IFs0MDEsIDQwMywgNDI5XSxcbiAgICByZXF1ZXN0ZWQ6IG9wdGlvbnMucmVxdWVzdGVkID8/IDAsXG4gICAgcHJvY2Vzc2luZzogZmFsc2UsXG5cbiAgICB3YWl0aW5nOiBbXSxcblxuICAgIHJlcXVlc3RzQWxsb3dlZDogZnVuY3Rpb24gKCkge1xuICAgICAgcmV0dXJuIGJ1Y2tldC5tYXggLSBidWNrZXQuY3VycmVudCAtIGJ1Y2tldC5yZXF1ZXN0ZWQgLSBidWNrZXQuc2FmZXR5XG4gICAgfSxcblxuICAgIGlzUmVxdWVzdEFsbG93ZWQ6IGZ1bmN0aW9uICgpIHtcbiAgICAgIHJldHVybiBidWNrZXQucmVxdWVzdHNBbGxvd2VkKCkgPiAwXG4gICAgfSxcblxuICAgIHdhaXRVbnRpbFJlcXVlc3RBdmFpbGFibGU6IGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIHJldHVybiBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgICAgICB2b2lkIChhc3luYyAoKSA9PiB7XG4gICAgICAgICAgLy8gSWYgd2hhdGV2ZXIgYW1vdW50IG9mIHJlcXVlc3RzIGlzIGxlZnQgaXMgbW9yZSB0aGFuIHRoZSBzYWZldHkgbWFyZ2luLCBhbGxvdyB0aGUgcmVxdWVzdFxuICAgICAgICAgIGlmIChidWNrZXQuaXNSZXF1ZXN0QWxsb3dlZCgpKSB7XG4gICAgICAgICAgICBidWNrZXQucmVxdWVzdGVkKytcbiAgICAgICAgICAgIHJlc29sdmUoKVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBidWNrZXQud2FpdGluZy5wdXNoKHJlc29sdmUpXG4gICAgICAgICAgICBhd2FpdCBidWNrZXQucHJvY2Vzc1dhaXRpbmcoKVxuICAgICAgICAgIH1cbiAgICAgICAgfSkoKVxuICAgICAgfSlcbiAgICB9LFxuXG4gICAgcHJvY2Vzc1dhaXRpbmc6IGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIC8vIElmIGFscmVhZHkgcHJvY2Vzc2luZywgdGhhdCBsb29wIHdpbGwgaGFuZGxlIGFsbCB3YWl0aW5nIHJlcXVlc3RzLlxuICAgICAgaWYgKGJ1Y2tldC5wcm9jZXNzaW5nKSB7XG4gICAgICAgIHJldHVyblxuICAgICAgfVxuXG4gICAgICAvLyBNYXJrIGFzIHByb2Nlc3Npbmcgc28gb3RoZXIgbG9vcHMgZG9uJ3Qgc3RhcnRcbiAgICAgIGJ1Y2tldC5wcm9jZXNzaW5nID0gdHJ1ZVxuXG4gICAgICB3aGlsZSAoYnVja2V0LndhaXRpbmcubGVuZ3RoID4gMCkge1xuICAgICAgICBpZiAoYnVja2V0LmlzUmVxdWVzdEFsbG93ZWQoKSkge1xuICAgICAgICAgIGJ1Y2tldC5yZXF1ZXN0ZWQrK1xuICAgICAgICAgIC8vIFJlc29sdmUgdGhlIG5leHQgaXRlbSBpbiB0aGUgcXVldWVcbiAgICAgICAgICBidWNrZXQud2FpdGluZy5zaGlmdCgpPy4oKVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGF3YWl0IGRlbGF5KDEwMDApXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gTWFyayBhcyBmYWxzZSBzbyBuZXh0IHBlbmRpbmcgcmVxdWVzdCBjYW4gYmUgdHJpZ2dlcmVkIGJ5IG5ldyBsb29wLlxuICAgICAgYnVja2V0LnByb2Nlc3NpbmcgPSBmYWxzZVxuICAgIH0sXG5cbiAgICBoYW5kbGVDb21wbGV0ZWRSZXF1ZXN0OiBmdW5jdGlvbiAoY29kZSwgc2hhcmVkU2NvcGUpIHtcbiAgICAgIC8vIFNpbmNlIHJlcXVlc3QgaXMgY29tcGxldGUsIHdlIGNhbiByZW1vdmUgb25lIGZyb20gcmVxdWVzdGVkLlxuICAgICAgYnVja2V0LnJlcXVlc3RlZC0tXG4gICAgICAvLyBTaW5jZSBpdCBpcyBhcyBhIHZhbGlkIHJlcXVlc3QsIHdlIGRvbid0IG5lZWQgdG8gZG8gYW55dGhpbmdcbiAgICAgIGlmICghYnVja2V0LmVycm9yU3RhdHVzZXMuaW5jbHVkZXMoY29kZSkpIHJldHVyblxuICAgICAgLy8gU2hhcmVkIHNjb3BlIGlzIG5vdCBjb25zaWRlcmVkIGludmFsaWRcbiAgICAgIGlmIChjb2RlID09PSA0MjkgJiYgc2hhcmVkU2NvcGUpIHJldHVyblxuXG4gICAgICAvLyBJTlZBTElEIFJFUVVFU1QgV0FTIE1BREVcblxuICAgICAgLy8gSWYgaXQgd2FzIG5vdCBmcm96ZW4gYmVmb3JlLCBtYXJrIGl0IGZyb3plblxuICAgICAgaWYgKGJ1Y2tldC5mcm96ZW5BdCA9PT0gMCkgYnVja2V0LmZyb3plbkF0ID0gRGF0ZS5ub3coKVxuICAgICAgLy8gTWFyayBhIHJlcXVlc3QgaGFzIGJlZW4gaW52YWxpZFxuICAgICAgYnVja2V0LmN1cnJlbnQrK1xuICAgICAgLy8gSWYgYSB0aW1lb3V0IHdhcyBub3Qgc3RhcnRlZCwgc3RhcnQgYSB0aW1lb3V0IHRvIHJlc2V0IHRoaXMgYnVja2V0XG4gICAgICBpZiAoYnVja2V0LnRpbWVvdXRJZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGJ1Y2tldC50aW1lb3V0SWQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICBidWNrZXQuZnJvemVuQXQgPSAwXG4gICAgICAgICAgYnVja2V0LmN1cnJlbnQgPSAwXG4gICAgICAgICAgYnVja2V0LnRpbWVvdXRJZCA9IHVuZGVmaW5lZFxuICAgICAgICB9LCBidWNrZXQuZnJvemVuQXQgKyBidWNrZXQuaW50ZXJ2YWwpXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGJ1Y2tldFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEludmFsaWRSZXF1ZXN0QnVja2V0T3B0aW9ucyB7XG4gIC8qKiBjdXJyZW50IGludmFsaWQgYW1vdW50ICovXG4gIGN1cnJlbnQ/OiBudW1iZXJcbiAgLyoqIG1heCBpbnZhbGlkIHJlcXVlc3RzIGFsbG93ZWQgdW50aWwgYmFuLiBEZWZhdWx0cyB0byAxMCwwMDAgKi9cbiAgbWF4PzogbnVtYmVyXG4gIC8qKiBUaGUgdGltZSB0aGF0IGRpc2NvcmQgYWxsb3dzIHRvIG1ha2UgdGhlIG1heCBudW1iZXIgb2YgaW52YWxpZCByZXF1ZXN0cy4gRGVmYXVsdHMgdG8gMTAgbWludXRlcyAqL1xuICBpbnRlcnZhbD86IG51bWJlclxuICAvKiogdGltZXIgdG8gcmVzZXQgdG8gMCAqL1xuICB0aW1lb3V0SWQ/OiBOb2RlSlMuVGltZW91dFxuICAvKiogaG93IHNhZmUgdG8gYmUgZnJvbSBtYXguIERlZmF1bHRzIHRvIDEgKi9cbiAgc2FmZXR5PzogbnVtYmVyXG4gIC8qKiB3aGVuIGZpcnN0IHJlcXVlc3QgaW4gdGhpcyBwZXJpb2Qgd2FzIG1hZGUgKi9cbiAgZnJvemVuQXQ/OiBudW1iZXJcbiAgLyoqIFRoZSByZXF1ZXN0IHN0YXR1c2VzIHRoYXQgY291bnQgYXMgYW4gaW52YWxpZCByZXF1ZXN0LiAqL1xuICBlcnJvclN0YXR1c2VzPzogbnVtYmVyW11cbiAgLyoqIFRoZSBhbW91bnQgb2YgcmVxdWVzdHMgdGhhdCB3ZXJlIHJlcXVlc3RlZCBmcm9tIHRoaXMgYnVja2V0LiAqL1xuICByZXF1ZXN0ZWQ/OiBudW1iZXJcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbnZhbGlkUmVxdWVzdEJ1Y2tldCB7XG4gIC8qKiBjdXJyZW50IGludmFsaWQgYW1vdW50ICovXG4gIGN1cnJlbnQ6IG51bWJlclxuICAvKiogbWF4IGludmFsaWQgcmVxdWVzdHMgYWxsb3dlZCB1bnRpbCBiYW4uIERlZmF1bHRzIHRvIDEwLDAwMCAqL1xuICBtYXg6IG51bWJlclxuICAvKiogVGhlIHRpbWUgdGhhdCBkaXNjb3JkIGFsbG93cyB0byBtYWtlIHRoZSBtYXggbnVtYmVyIG9mIGludmFsaWQgcmVxdWVzdHMuIERlZmF1bHRzIHRvIDEwIG1pbnV0ZXMgKi9cbiAgaW50ZXJ2YWw6IG51bWJlclxuICAvKiogdGltZXIgdG8gcmVzZXQgdG8gMCAqL1xuICB0aW1lb3V0SWQ6IE5vZGVKUy5UaW1lb3V0IHwgdW5kZWZpbmVkXG4gIC8qKiBob3cgc2FmZSB0byBiZSBmcm9tIG1heC4gRGVmYXVsdHMgdG8gMSAqL1xuICBzYWZldHk6IG51bWJlclxuICAvKiogd2hlbiBmaXJzdCByZXF1ZXN0IGluIHRoaXMgcGVyaW9kIHdhcyBtYWRlICovXG4gIGZyb3plbkF0OiBudW1iZXJcbiAgLyoqIFRoZSByZXF1ZXN0IHN0YXR1c2VzIHRoYXQgY291bnQgYXMgYW4gaW52YWxpZCByZXF1ZXN0LiAqL1xuICBlcnJvclN0YXR1c2VzOiBudW1iZXJbXVxuICAvKiogVGhlIGFtb3VudCBvZiByZXF1ZXN0cyB0aGF0IHdlcmUgcmVxdWVzdGVkIGZyb20gdGhpcyBidWNrZXQuICovXG4gIHJlcXVlc3RlZDogbnVtYmVyXG4gIC8qKiBUaGUgcmVxdWVzdHMgdGhhdCBhcmUgY3VycmVudGx5IHBlbmRpbmcuICovXG4gIHdhaXRpbmc6IEFycmF5PCh2YWx1ZTogdm9pZCB8IFByb21pc2VMaWtlPHZvaWQ+KSA9PiB2b2lkPlxuICAvKiogV2hldGhlciBvciBub3QgdGhlIHdhaXRpbmcgcXVldWUgaXMgYWxyZWFkeSBwcm9jZXNzaW5nLiAqL1xuICBwcm9jZXNzaW5nOiBib29sZWFuXG5cbiAgLyoqIEdpdmVzIHRoZSBudW1iZXIgb2YgcmVxdWVzdHMgdGhhdCBhcmUgY3VycmVudGx5IGFsbG93ZWQuICovXG4gIHJlcXVlc3RzQWxsb3dlZDogKCkgPT4gbnVtYmVyXG4gIC8qKiBDaGVja3MgaWYgYSByZXF1ZXN0IGlzIGFsbG93ZWQgYXQgdGhpcyB0aW1lLiAqL1xuICBpc1JlcXVlc3RBbGxvd2VkOiAoKSA9PiBib29sZWFuXG4gIC8qKiBXYWl0cyB1bnRpbCBhIHJlcXVlc3QgaXMgYXZhaWxhYmxlICovXG4gIHdhaXRVbnRpbFJlcXVlc3RBdmFpbGFibGU6ICgpID0+IFByb21pc2U8dm9pZD5cbiAgLyoqIEJlZ2lucyBwcm9jZXNzaW5nIHRoZSB3YWl0aW5nIHF1ZXVlIG9mIHJlcXVlc3RzLiAqL1xuICBwcm9jZXNzV2FpdGluZzogKCkgPT4gUHJvbWlzZTx2b2lkPlxuICAvKiogSGFuZGxlciBmb3Igd2hlbmV2ZXIgYSByZXF1ZXN0IGlzIHZhbGlkYXRlZC4gVGhpcyBzaG91bGQgdXBkYXRlIHRoZSByZXF1ZXN0ZWQgdmFsdWVzIG9yIHRyaWdnZXIgYW55IG90aGVyIG5lY2Vzc2FyeSBzdHVmZi4gKi9cbiAgaGFuZGxlQ29tcGxldGVkUmVxdWVzdDogKGNvZGU6IG51bWJlciwgc2hhcmVkU2NvcGU6IGJvb2xlYW4pID0+IHZvaWRcbn1cbiJdLCJuYW1lcyI6WyJkZWxheSIsImNyZWF0ZUludmFsaWRSZXF1ZXN0QnVja2V0Iiwib3B0aW9ucyIsImJ1Y2tldCIsImN1cnJlbnQiLCJtYXgiLCJpbnRlcnZhbCIsInRpbWVvdXRJZCIsInNhZmV0eSIsImZyb3plbkF0IiwiZXJyb3JTdGF0dXNlcyIsInJlcXVlc3RlZCIsInByb2Nlc3NpbmciLCJ3YWl0aW5nIiwicmVxdWVzdHNBbGxvd2VkIiwiaXNSZXF1ZXN0QWxsb3dlZCIsIndhaXRVbnRpbFJlcXVlc3RBdmFpbGFibGUiLCJQcm9taXNlIiwicmVzb2x2ZSIsInB1c2giLCJwcm9jZXNzV2FpdGluZyIsImxlbmd0aCIsInNoaWZ0IiwiaGFuZGxlQ29tcGxldGVkUmVxdWVzdCIsImNvZGUiLCJzaGFyZWRTY29wZSIsImluY2x1ZGVzIiwiRGF0ZSIsIm5vdyIsInVuZGVmaW5lZCIsInNldFRpbWVvdXQiXSwibWFwcGluZ3MiOiJBQUFBLE9BQVNBLFNBQUFBLENBQUssS0FBUSxtQkFBbUIsQUFTekMsUUFBTyxTQUFTQywyQkFBNEJDLENBQW9DLENBQXdCLENBQ3RHLElBQU1DLEVBQStCLENBQ25DQyxRQUFTRixFQUFRRSxPQUFPLEVBQUksRUFDNUJDLElBQUtILEVBQVFHLEdBQUcsRUFBSSxJQUNwQkMsU0FBVUosRUFBUUksUUFBUSxFQUFJLElBQzlCQyxVQUFXTCxFQUFRSyxTQUFTLENBQzVCQyxPQUFRTixFQUFRTSxNQUFNLEVBQUksRUFDMUJDLFNBQVVQLEVBQVFPLFFBQVEsRUFBSSxFQUM5QkMsY0FBZVIsRUFBUVEsYUFBYSxFQUFJLENBQUMsSUFBSyxJQUFLLElBQUksQ0FDdkRDLFVBQVdULEVBQVFTLFNBQVMsRUFBSSxFQUNoQ0MsV0FBWSxDQUFBLEVBRVpDLFFBQVMsRUFBRSxDQUVYQyxnQkFBaUIsVUFBWSxDQUMzQixPQUFPWCxFQUFPRSxHQUFHLENBQUdGLEVBQU9DLE9BQU8sQ0FBR0QsRUFBT1EsU0FBUyxDQUFHUixFQUFPSyxNQUFNLEFBQ3ZFLEVBRUFPLGlCQUFrQixVQUFZLENBQzVCLE9BQU9aLEVBQU9XLGVBQWUsR0FBSyxDQUNwQyxFQUVBRSwwQkFBMkIsZ0JBQWtCLENBQzNDLE9BQU8sTUFBTSxJQUFJQyxRQUFRLEFBQUNDLEdBQVksQ0FDL0IsQUFBQyxDQUFBLFNBQVksQ0FFWmYsRUFBT1ksZ0JBQWdCLElBQ3pCWixFQUFPUSxTQUFTLEdBQ2hCTyxNQUVBZixFQUFPVSxPQUFPLENBQUNNLElBQUksQ0FBQ0QsR0FDcEIsTUFBTWYsRUFBT2lCLGNBQWMsR0FFL0IsQ0FBQSxHQUNGLEVBQ0YsRUFFQUEsZUFBZ0IsZ0JBQWtCLENBRWhDLElBQUlqQixFQUFPUyxVQUFVLEVBT3JCLElBRkFULEVBQU9TLFVBQVUsQ0FBRyxDQUFBLEVBRWJULEVBQU9VLE9BQU8sQ0FBQ1EsTUFBTSxDQUFHLEdBQ3pCbEIsRUFBT1ksZ0JBQWdCLElBQ3pCWixFQUFPUSxTQUFTLEdBRWhCUixFQUFPVSxPQUFPLENBQUNTLEtBQUssUUFFcEIsTUFBTXRCLEVBQU0sSUFLaEJHLENBQUFBLEVBQU9TLFVBQVUsQ0FBRyxDQUFBLEVBaEJuQixBQWlCSCxFQUVBVyx1QkFBd0IsU0FBVUMsQ0FBSSxDQUFFQyxDQUFXLENBQUUsQ0FFbkR0QixFQUFPUSxTQUFTLEdBRVhSLEVBQU9PLGFBQWEsQ0FBQ2dCLFFBQVEsQ0FBQ0YsS0FFdEIsTUFBVEEsR0FBZ0JDLElBS0ksSUFBcEJ0QixFQUFPTSxRQUFRLEVBQVFOLENBQUFBLEVBQU9NLFFBQVEsQ0FBR2tCLEtBQUtDLEdBQUcsRUFBQyxFQUV0RHpCLEVBQU9DLE9BQU8sR0FFV3lCLEtBQUFBLElBQXJCMUIsRUFBT0ksU0FBUyxFQUNsQkosQ0FBQUEsRUFBT0ksU0FBUyxDQUFHdUIsV0FBVyxJQUFNLENBQ2xDM0IsRUFBT00sUUFBUSxDQUFHLEVBQ2xCTixFQUFPQyxPQUFPLENBQUcsRUFDakJELEVBQU9JLFNBQVMsQ0FBR3NCLEtBQUFBLENBQ3JCLEVBQUcxQixFQUFPTSxRQUFRLENBQUdOLEVBQU9HLFFBQVEsQ0FBQSxHQUV4QyxDQUNGLEVBRUEsT0FBT0gsQ0FDVCxDQUFDIn0=
@@ -0,0 +1,61 @@
1
+ /// <reference types="node" />
2
+ import { RestPayload, RestRequest } from './rest.js';
3
+ import { RestManager } from './restManager.js';
4
+ /**
5
+ * A queue bucket is used in a similar manner as a leaky bucket.
6
+ *
7
+ * @param options The options used to configure this bucket.
8
+ * @returns RefillingBucket
9
+ */
10
+ export declare function createQueueBucket(rest: RestManager, options: QueueBucketOptions): QueueBucket;
11
+ export interface QueueBucketOptions {
12
+ /** How many requests are remaining. Defaults to 1 */
13
+ remaining?: number;
14
+ /** Max number of requests allowed in this bucket. Defaults to 1. */
15
+ max?: number;
16
+ /** The time in milliseconds that discord allows to make the max number of invalid requests. Defaults to 0 */
17
+ interval?: number;
18
+ /** timer to reset to 0 */
19
+ timeoutId?: NodeJS.Timeout;
20
+ }
21
+ export interface QueueBucket {
22
+ /** Amount of requests that have are remaining. Defaults to 1. */
23
+ remaining: number;
24
+ /** Max requests for this bucket. Defaults to 1. */
25
+ max: number;
26
+ /** The time that discord allows to make the max number of requests. Defaults to 0 */
27
+ interval: number;
28
+ /** timer to reset to 0 */
29
+ timeoutId: NodeJS.Timeout | undefined;
30
+ /** The requests that are currently pending. */
31
+ waiting: Array<(value: void | PromiseLike<void>) => void>;
32
+ /** The requests that are currently pending. */
33
+ pending: BucketRequest[];
34
+ /** Whether or not the waiting queue is already processing. */
35
+ processing: boolean;
36
+ /** Whether or not the pending queue is already processing. */
37
+ processingPending: boolean;
38
+ /** Whether the first request is pending. */
39
+ firstRequest: boolean;
40
+ /** Checks if a request is allowed at this time. */
41
+ isRequestAllowed: () => boolean;
42
+ /** Waits until a request is available */
43
+ waitUntilRequestAvailable: () => Promise<void>;
44
+ /** Begins processing the waiting queue of requests. */
45
+ processWaiting: () => Promise<void>;
46
+ /** Begins processing the pending queue of requests. */
47
+ processPending: () => Promise<void>;
48
+ /** Handler for whenever a request is validated. This should update the requested values or trigger any other necessary stuff. */
49
+ handleCompletedRequest: (headers: {
50
+ remaining: number;
51
+ interval: number;
52
+ max: number;
53
+ }) => void;
54
+ /** Adds a request to the queue. */
55
+ makeRequest: (options: BucketRequest) => Promise<void>;
56
+ }
57
+ export interface BucketRequest {
58
+ request: RestRequest;
59
+ payload: RestPayload;
60
+ }
61
+ //# sourceMappingURL=createQueueBucket.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createQueueBucket.d.ts","sourceRoot":"","sources":["../src/createQueueBucket.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAE9C;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,kBAAkB,GAAG,WAAW,CA0I9F;AAED,MAAM,WAAW,kBAAkB;IACjC,qDAAqD;IACrD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,oEAAoE;IACpE,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,6GAA6G;IAC7G,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,0BAA0B;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC,OAAO,CAAA;CAC3B;AAED,MAAM,WAAW,WAAW;IAC1B,iEAAiE;IACjE,SAAS,EAAE,MAAM,CAAA;IACjB,mDAAmD;IACnD,GAAG,EAAE,MAAM,CAAA;IACX,qFAAqF;IACrF,QAAQ,EAAE,MAAM,CAAA;IAChB,0BAA0B;IAC1B,SAAS,EAAE,MAAM,CAAC,OAAO,GAAG,SAAS,CAAA;IACrC,+CAA+C;IAC/C,OAAO,EAAE,KAAK,CAAC,CAAC,KAAK,EAAE,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAA;IACzD,+CAA+C;IAC/C,OAAO,EAAE,aAAa,EAAE,CAAA;IACxB,8DAA8D;IAC9D,UAAU,EAAE,OAAO,CAAA;IACnB,8DAA8D;IAC9D,iBAAiB,EAAE,OAAO,CAAA;IAC1B,4CAA4C;IAC5C,YAAY,EAAE,OAAO,CAAA;IAErB,mDAAmD;IACnD,gBAAgB,EAAE,MAAM,OAAO,CAAA;IAC/B,yCAAyC;IACzC,yBAAyB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAC9C,uDAAuD;IACvD,cAAc,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IACnC,uDAAuD;IACvD,cAAc,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IACnC,iIAAiI;IACjI,sBAAsB,EAAE,CAAC,OAAO,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;IAC/F,mCAAmC;IACnC,WAAW,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CACvD;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,WAAW,CAAA;IACpB,OAAO,EAAE,WAAW,CAAA;CACrB"}
@@ -0,0 +1,2 @@
1
+ import{delay as e}from"@discordeno/utils";export function createQueueBucket(i,n){let t={remaining:n.remaining??1,max:n.max??1,interval:n.interval??0,timeoutId:n.timeoutId,processing:!1,processingPending:!1,firstRequest:!0,waiting:[],pending:[],isRequestAllowed:function(){return t.remaining>0},waitUntilRequestAvailable:async function(){return await new Promise(e=>{(async()=>{t.isRequestAllowed()?e():(t.waiting.push(e),await t.processWaiting())})()})},processWaiting:async function(){if(!t.processing){for(t.processing=!0;t.waiting.length>0;)t.isRequestAllowed()?t.waiting.shift()?.():await e(1e3);t.processing=!1}},processPending:async function(){if(!t.processingPending){for(t.processingPending=!0;t.pending.length>0;)if(t.firstRequest||t.isRequestAllowed()){if(t.pending.length>0){let n=t.pending[0],s=i.simplifyUrl(n.request.url,n.request.method),a=i.checkRateLimits(i,s);if(!1!==a){setTimeout(()=>{t.processPending()},a);break}let r=void 0!==n.payload.bucketId&&i.checkRateLimits(i,n.payload.bucketId);if(!1!==r){setTimeout(()=>{t.processPending()},r);break}t.firstRequest=!1,t.remaining--,void 0===t.timeoutId&&0===t.remaining&&0!==t.interval&&(t.timeoutId=setTimeout(()=>{t.remaining=t.max,t.timeoutId=void 0},t.interval)),t.pending.shift(),i.processGlobalQueue(i,{...n,urlToUse:n.request.url,basicURL:s})}}else await e(1e3);t.processingPending=!1,i.cleanupQueues(i)}},handleCompletedRequest:function(e){t.max=e.max,t.interval=e.interval,t.remaining=e.remaining,t.remaining<=1&&(t.timeoutId=setTimeout(()=>{t.remaining=t.max,t.timeoutId=void 0},e.interval))},makeRequest:async function(e){await t.waitUntilRequestAvailable(),t.pending.push(e),t.processPending()}};return t}
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jcmVhdGVRdWV1ZUJ1Y2tldC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBkZWxheSB9IGZyb20gJ0BkaXNjb3JkZW5vL3V0aWxzJ1xuaW1wb3J0IHsgUmVzdFBheWxvYWQsIFJlc3RSZXF1ZXN0IH0gZnJvbSAnLi9yZXN0LmpzJ1xuaW1wb3J0IHsgUmVzdE1hbmFnZXIgfSBmcm9tICcuL3Jlc3RNYW5hZ2VyLmpzJ1xuXG4vKipcbiAqIEEgcXVldWUgYnVja2V0IGlzIHVzZWQgaW4gYSBzaW1pbGFyIG1hbm5lciBhcyBhIGxlYWt5IGJ1Y2tldC5cbiAqXG4gKiBAcGFyYW0gb3B0aW9ucyBUaGUgb3B0aW9ucyB1c2VkIHRvIGNvbmZpZ3VyZSB0aGlzIGJ1Y2tldC5cbiAqIEByZXR1cm5zIFJlZmlsbGluZ0J1Y2tldFxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlUXVldWVCdWNrZXQgKHJlc3Q6IFJlc3RNYW5hZ2VyLCBvcHRpb25zOiBRdWV1ZUJ1Y2tldE9wdGlvbnMpOiBRdWV1ZUJ1Y2tldCB7XG4gIGNvbnN0IGJ1Y2tldDogUXVldWVCdWNrZXQgPSB7XG4gICAgcmVtYWluaW5nOiBvcHRpb25zLnJlbWFpbmluZyA/PyAxLFxuICAgIG1heDogb3B0aW9ucy5tYXggPz8gMSxcbiAgICBpbnRlcnZhbDogb3B0aW9ucy5pbnRlcnZhbCA/PyAwLFxuICAgIHRpbWVvdXRJZDogb3B0aW9ucy50aW1lb3V0SWQsXG4gICAgcHJvY2Vzc2luZzogZmFsc2UsXG4gICAgcHJvY2Vzc2luZ1BlbmRpbmc6IGZhbHNlLFxuICAgIGZpcnN0UmVxdWVzdDogdHJ1ZSxcblxuICAgIHdhaXRpbmc6IFtdLFxuICAgIHBlbmRpbmc6IFtdLFxuXG4gICAgaXNSZXF1ZXN0QWxsb3dlZDogZnVuY3Rpb24gKCkge1xuICAgICAgcmV0dXJuIGJ1Y2tldC5yZW1haW5pbmcgPiAwXG4gICAgfSxcblxuICAgIHdhaXRVbnRpbFJlcXVlc3RBdmFpbGFibGU6IGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIHJldHVybiBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgICAgICB2b2lkIChhc3luYyAoKSA9PiB7XG4gICAgICAgICAgLy8gSWYgd2hhdGV2ZXIgYW1vdW50IG9mIHJlcXVlc3RzIGlzIGxlZnQgaXMgbW9yZSB0aGFuIHRoZSBzYWZldHkgbWFyZ2luLCBhbGxvdyB0aGUgcmVxdWVzdFxuICAgICAgICAgIGlmIChidWNrZXQuaXNSZXF1ZXN0QWxsb3dlZCgpKSB7XG4gICAgICAgICAgICAvLyBidWNrZXQucmVtYWluaW5nKys7XG4gICAgICAgICAgICByZXNvbHZlKClcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgYnVja2V0LndhaXRpbmcucHVzaChyZXNvbHZlKVxuICAgICAgICAgICAgYXdhaXQgYnVja2V0LnByb2Nlc3NXYWl0aW5nKClcbiAgICAgICAgICB9XG4gICAgICAgIH0pKClcbiAgICAgIH0pXG4gICAgfSxcblxuICAgIHByb2Nlc3NXYWl0aW5nOiBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICAvLyBJZiBhbHJlYWR5IHByb2Nlc3NpbmcsIHRoYXQgbG9vcCB3aWxsIGhhbmRsZSBhbGwgd2FpdGluZyByZXF1ZXN0cy5cbiAgICAgIGlmIChidWNrZXQucHJvY2Vzc2luZykge1xuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgLy8gTWFyayBhcyBwcm9jZXNzaW5nIHNvIG90aGVyIGxvb3BzIGRvbid0IHN0YXJ0XG4gICAgICBidWNrZXQucHJvY2Vzc2luZyA9IHRydWVcblxuICAgICAgd2hpbGUgKGJ1Y2tldC53YWl0aW5nLmxlbmd0aCA+IDApIHtcbiAgICAgICAgaWYgKGJ1Y2tldC5pc1JlcXVlc3RBbGxvd2VkKCkpIHtcbiAgICAgICAgICAvLyBSZXNvbHZlIHRoZSBuZXh0IGl0ZW0gaW4gdGhlIHF1ZXVlXG4gICAgICAgICAgYnVja2V0LndhaXRpbmcuc2hpZnQoKT8uKClcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBhd2FpdCBkZWxheSgxMDAwKVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIE1hcmsgYXMgZmFsc2Ugc28gbmV4dCBwZW5kaW5nIHJlcXVlc3QgY2FuIGJlIHRyaWdnZXJlZCBieSBuZXcgbG9vcC5cbiAgICAgIGJ1Y2tldC5wcm9jZXNzaW5nID0gZmFsc2VcbiAgICB9LFxuXG4gICAgcHJvY2Vzc1BlbmRpbmc6IGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIC8vIElmIGFscmVhZHkgcHJvY2Vzc2luZywgdGhhdCBsb29wIHdpbGwgaGFuZGxlIGFsbCBwZW5kaW5nIHJlcXVlc3RzLlxuICAgICAgaWYgKGJ1Y2tldC5wcm9jZXNzaW5nUGVuZGluZykge1xuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgLy8gTWFyayBhcyBwcm9jZXNzaW5nIHNvIG90aGVyIGxvb3BzIGRvbid0IHN0YXJ0XG4gICAgICBidWNrZXQucHJvY2Vzc2luZ1BlbmRpbmcgPSB0cnVlXG5cbiAgICAgIHdoaWxlIChidWNrZXQucGVuZGluZy5sZW5ndGggPiAwKSB7XG4gICAgICAgIGlmIChidWNrZXQuZmlyc3RSZXF1ZXN0IHx8IGJ1Y2tldC5pc1JlcXVlc3RBbGxvd2VkKCkpIHtcbiAgICAgICAgICBpZiAoYnVja2V0LnBlbmRpbmcubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgY29uc3QgcXVldWVkUmVxdWVzdCA9IGJ1Y2tldC5wZW5kaW5nWzBdXG4gICAgICAgICAgICBjb25zdCBiYXNpY1VSTCA9IHJlc3Quc2ltcGxpZnlVcmwocXVldWVkUmVxdWVzdC5yZXF1ZXN0LnVybCwgcXVldWVkUmVxdWVzdC5yZXF1ZXN0Lm1ldGhvZClcblxuICAgICAgICAgICAgLy8gSUYgVEhJUyBVUkwgSVMgU1RJTEwgUkFURSBMSU1JVEVELCBUUlkgQUdBSU5cbiAgICAgICAgICAgIGNvbnN0IHVybFJlc2V0SW4gPSByZXN0LmNoZWNrUmF0ZUxpbWl0cyhyZXN0LCBiYXNpY1VSTClcbiAgICAgICAgICAgIGlmICh1cmxSZXNldEluICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICB2b2lkIGJ1Y2tldC5wcm9jZXNzUGVuZGluZygpXG4gICAgICAgICAgICAgIH0sIHVybFJlc2V0SW4pXG4gICAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIElGIEEgQlVDS0VUIEVYSVNUUywgQ0hFQ0sgVEhFIEJVQ0tFVCdTIFJBVEUgTElNSVRTXG4gICAgICAgICAgICBjb25zdCBidWNrZXRSZXNldEluID0gcXVldWVkUmVxdWVzdC5wYXlsb2FkLmJ1Y2tldElkICE9PSB1bmRlZmluZWRcbiAgICAgICAgICAgICAgPyByZXN0LmNoZWNrUmF0ZUxpbWl0cyhyZXN0LCBxdWV1ZWRSZXF1ZXN0LnBheWxvYWQuYnVja2V0SWQpXG4gICAgICAgICAgICAgIDogZmFsc2VcbiAgICAgICAgICAgIGlmIChidWNrZXRSZXNldEluICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICB2b2lkIGJ1Y2tldC5wcm9jZXNzUGVuZGluZygpXG4gICAgICAgICAgICAgIH0sIGJ1Y2tldFJlc2V0SW4pXG4gICAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGJ1Y2tldC5maXJzdFJlcXVlc3QgPSBmYWxzZVxuICAgICAgICAgICAgYnVja2V0LnJlbWFpbmluZy0tXG5cbiAgICAgICAgICAgIGlmIChidWNrZXQudGltZW91dElkID09PSB1bmRlZmluZWQgJiYgYnVja2V0LnJlbWFpbmluZyA9PT0gMCAmJiBidWNrZXQuaW50ZXJ2YWwgIT09IDApIHtcbiAgICAgICAgICAgICAgYnVja2V0LnRpbWVvdXRJZCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGJ1Y2tldC5yZW1haW5pbmcgPSBidWNrZXQubWF4XG4gICAgICAgICAgICAgICAgYnVja2V0LnRpbWVvdXRJZCA9IHVuZGVmaW5lZFxuICAgICAgICAgICAgICB9LCBidWNrZXQuaW50ZXJ2YWwpXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIFJlbW92ZSBmcm9tIHF1ZXVlLCB3ZSBhcmUgZXhlY3V0aW5nIGl0LlxuICAgICAgICAgICAgYnVja2V0LnBlbmRpbmcuc2hpZnQoKVxuICAgICAgICAgICAgdm9pZCByZXN0LnByb2Nlc3NHbG9iYWxRdWV1ZShyZXN0LCB7XG4gICAgICAgICAgICAgIC4uLnF1ZXVlZFJlcXVlc3QsXG4gICAgICAgICAgICAgIHVybFRvVXNlOiBxdWV1ZWRSZXF1ZXN0LnJlcXVlc3QudXJsLFxuICAgICAgICAgICAgICBiYXNpY1VSTFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgYXdhaXQgZGVsYXkoMTAwMClcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBNYXJrIGFzIGZhbHNlIHNvIG5leHQgcGVuZGluZyByZXF1ZXN0IGNhbiBiZSB0cmlnZ2VyZWQgYnkgbmV3IGxvb3AuXG4gICAgICBidWNrZXQucHJvY2Vzc2luZ1BlbmRpbmcgPSBmYWxzZVxuICAgICAgcmVzdC5jbGVhbnVwUXVldWVzKHJlc3QpXG4gICAgfSxcblxuICAgIGhhbmRsZUNvbXBsZXRlZFJlcXVlc3Q6IGZ1bmN0aW9uIChoZWFkZXJzKSB7XG4gICAgICBidWNrZXQubWF4ID0gaGVhZGVycy5tYXhcbiAgICAgIGJ1Y2tldC5pbnRlcnZhbCA9IGhlYWRlcnMuaW50ZXJ2YWxcbiAgICAgIGJ1Y2tldC5yZW1haW5pbmcgPSBoZWFkZXJzLnJlbWFpbmluZ1xuXG4gICAgICBpZiAoYnVja2V0LnJlbWFpbmluZyA8PSAxKSB7XG4gICAgICAgIGJ1Y2tldC50aW1lb3V0SWQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICBidWNrZXQucmVtYWluaW5nID0gYnVja2V0Lm1heFxuICAgICAgICAgIGJ1Y2tldC50aW1lb3V0SWQgPSB1bmRlZmluZWRcbiAgICAgICAgfSwgaGVhZGVycy5pbnRlcnZhbClcbiAgICAgIH1cbiAgICB9LFxuXG4gICAgbWFrZVJlcXVlc3Q6IGFzeW5jIGZ1bmN0aW9uIChvcHRpb25zOiBCdWNrZXRSZXF1ZXN0KSB7XG4gICAgICBhd2FpdCBidWNrZXQud2FpdFVudGlsUmVxdWVzdEF2YWlsYWJsZSgpXG4gICAgICBidWNrZXQucGVuZGluZy5wdXNoKG9wdGlvbnMpXG4gICAgICB2b2lkIGJ1Y2tldC5wcm9jZXNzUGVuZGluZygpXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGJ1Y2tldFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFF1ZXVlQnVja2V0T3B0aW9ucyB7XG4gIC8qKiBIb3cgbWFueSByZXF1ZXN0cyBhcmUgcmVtYWluaW5nLiBEZWZhdWx0cyB0byAxICovXG4gIHJlbWFpbmluZz86IG51bWJlclxuICAvKiogTWF4IG51bWJlciBvZiByZXF1ZXN0cyBhbGxvd2VkIGluIHRoaXMgYnVja2V0LiBEZWZhdWx0cyB0byAxLiAqL1xuICBtYXg/OiBudW1iZXJcbiAgLyoqIFRoZSB0aW1lIGluIG1pbGxpc2Vjb25kcyB0aGF0IGRpc2NvcmQgYWxsb3dzIHRvIG1ha2UgdGhlIG1heCBudW1iZXIgb2YgaW52YWxpZCByZXF1ZXN0cy4gRGVmYXVsdHMgdG8gMCAqL1xuICBpbnRlcnZhbD86IG51bWJlclxuICAvKiogdGltZXIgdG8gcmVzZXQgdG8gMCAqL1xuICB0aW1lb3V0SWQ/OiBOb2RlSlMuVGltZW91dFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFF1ZXVlQnVja2V0IHtcbiAgLyoqIEFtb3VudCBvZiByZXF1ZXN0cyB0aGF0IGhhdmUgYXJlIHJlbWFpbmluZy4gRGVmYXVsdHMgdG8gMS4gKi9cbiAgcmVtYWluaW5nOiBudW1iZXJcbiAgLyoqIE1heCByZXF1ZXN0cyBmb3IgdGhpcyBidWNrZXQuIERlZmF1bHRzIHRvIDEuICovXG4gIG1heDogbnVtYmVyXG4gIC8qKiBUaGUgdGltZSB0aGF0IGRpc2NvcmQgYWxsb3dzIHRvIG1ha2UgdGhlIG1heCBudW1iZXIgb2YgcmVxdWVzdHMuIERlZmF1bHRzIHRvIDAgKi9cbiAgaW50ZXJ2YWw6IG51bWJlclxuICAvKiogdGltZXIgdG8gcmVzZXQgdG8gMCAqL1xuICB0aW1lb3V0SWQ6IE5vZGVKUy5UaW1lb3V0IHwgdW5kZWZpbmVkXG4gIC8qKiBUaGUgcmVxdWVzdHMgdGhhdCBhcmUgY3VycmVudGx5IHBlbmRpbmcuICovXG4gIHdhaXRpbmc6IEFycmF5PCh2YWx1ZTogdm9pZCB8IFByb21pc2VMaWtlPHZvaWQ+KSA9PiB2b2lkPlxuICAvKiogVGhlIHJlcXVlc3RzIHRoYXQgYXJlIGN1cnJlbnRseSBwZW5kaW5nLiAqL1xuICBwZW5kaW5nOiBCdWNrZXRSZXF1ZXN0W11cbiAgLyoqIFdoZXRoZXIgb3Igbm90IHRoZSB3YWl0aW5nIHF1ZXVlIGlzIGFscmVhZHkgcHJvY2Vzc2luZy4gKi9cbiAgcHJvY2Vzc2luZzogYm9vbGVhblxuICAvKiogV2hldGhlciBvciBub3QgdGhlIHBlbmRpbmcgcXVldWUgaXMgYWxyZWFkeSBwcm9jZXNzaW5nLiAqL1xuICBwcm9jZXNzaW5nUGVuZGluZzogYm9vbGVhblxuICAvKiogV2hldGhlciB0aGUgZmlyc3QgcmVxdWVzdCBpcyBwZW5kaW5nLiAqL1xuICBmaXJzdFJlcXVlc3Q6IGJvb2xlYW5cblxuICAvKiogQ2hlY2tzIGlmIGEgcmVxdWVzdCBpcyBhbGxvd2VkIGF0IHRoaXMgdGltZS4gKi9cbiAgaXNSZXF1ZXN0QWxsb3dlZDogKCkgPT4gYm9vbGVhblxuICAvKiogV2FpdHMgdW50aWwgYSByZXF1ZXN0IGlzIGF2YWlsYWJsZSAqL1xuICB3YWl0VW50aWxSZXF1ZXN0QXZhaWxhYmxlOiAoKSA9PiBQcm9taXNlPHZvaWQ+XG4gIC8qKiBCZWdpbnMgcHJvY2Vzc2luZyB0aGUgd2FpdGluZyBxdWV1ZSBvZiByZXF1ZXN0cy4gKi9cbiAgcHJvY2Vzc1dhaXRpbmc6ICgpID0+IFByb21pc2U8dm9pZD5cbiAgLyoqIEJlZ2lucyBwcm9jZXNzaW5nIHRoZSBwZW5kaW5nIHF1ZXVlIG9mIHJlcXVlc3RzLiAqL1xuICBwcm9jZXNzUGVuZGluZzogKCkgPT4gUHJvbWlzZTx2b2lkPlxuICAvKiogSGFuZGxlciBmb3Igd2hlbmV2ZXIgYSByZXF1ZXN0IGlzIHZhbGlkYXRlZC4gVGhpcyBzaG91bGQgdXBkYXRlIHRoZSByZXF1ZXN0ZWQgdmFsdWVzIG9yIHRyaWdnZXIgYW55IG90aGVyIG5lY2Vzc2FyeSBzdHVmZi4gKi9cbiAgaGFuZGxlQ29tcGxldGVkUmVxdWVzdDogKGhlYWRlcnM6IHsgcmVtYWluaW5nOiBudW1iZXIsIGludGVydmFsOiBudW1iZXIsIG1heDogbnVtYmVyIH0pID0+IHZvaWRcbiAgLyoqIEFkZHMgYSByZXF1ZXN0IHRvIHRoZSBxdWV1ZS4gKi9cbiAgbWFrZVJlcXVlc3Q6IChvcHRpb25zOiBCdWNrZXRSZXF1ZXN0KSA9PiBQcm9taXNlPHZvaWQ+XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnVja2V0UmVxdWVzdCB7XG4gIHJlcXVlc3Q6IFJlc3RSZXF1ZXN0XG4gIHBheWxvYWQ6IFJlc3RQYXlsb2FkXG59XG4iXSwibmFtZXMiOlsiZGVsYXkiLCJjcmVhdGVRdWV1ZUJ1Y2tldCIsInJlc3QiLCJvcHRpb25zIiwiYnVja2V0IiwicmVtYWluaW5nIiwibWF4IiwiaW50ZXJ2YWwiLCJ0aW1lb3V0SWQiLCJwcm9jZXNzaW5nIiwicHJvY2Vzc2luZ1BlbmRpbmciLCJmaXJzdFJlcXVlc3QiLCJ3YWl0aW5nIiwicGVuZGluZyIsImlzUmVxdWVzdEFsbG93ZWQiLCJ3YWl0VW50aWxSZXF1ZXN0QXZhaWxhYmxlIiwiUHJvbWlzZSIsInJlc29sdmUiLCJwdXNoIiwicHJvY2Vzc1dhaXRpbmciLCJsZW5ndGgiLCJzaGlmdCIsInByb2Nlc3NQZW5kaW5nIiwicXVldWVkUmVxdWVzdCIsImJhc2ljVVJMIiwic2ltcGxpZnlVcmwiLCJyZXF1ZXN0IiwidXJsIiwibWV0aG9kIiwidXJsUmVzZXRJbiIsImNoZWNrUmF0ZUxpbWl0cyIsInNldFRpbWVvdXQiLCJidWNrZXRSZXNldEluIiwidW5kZWZpbmVkIiwicGF5bG9hZCIsImJ1Y2tldElkIiwicHJvY2Vzc0dsb2JhbFF1ZXVlIiwidXJsVG9Vc2UiLCJjbGVhbnVwUXVldWVzIiwiaGFuZGxlQ29tcGxldGVkUmVxdWVzdCIsImhlYWRlcnMiLCJtYWtlUmVxdWVzdCJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBU0EsU0FBQUEsQ0FBSyxLQUFRLG1CQUFtQixBQVV6QyxRQUFPLFNBQVNDLGtCQUFtQkMsQ0FBaUIsQ0FBRUMsQ0FBMkIsQ0FBZSxDQUM5RixJQUFNQyxFQUFzQixDQUMxQkMsVUFBV0YsRUFBUUUsU0FBUyxFQUFJLEVBQ2hDQyxJQUFLSCxFQUFRRyxHQUFHLEVBQUksRUFDcEJDLFNBQVVKLEVBQVFJLFFBQVEsRUFBSSxFQUM5QkMsVUFBV0wsRUFBUUssU0FBUyxDQUM1QkMsV0FBWSxDQUFBLEVBQ1pDLGtCQUFtQixDQUFBLEVBQ25CQyxhQUFjLENBQUEsRUFFZEMsUUFBUyxFQUFFLENBQ1hDLFFBQVMsRUFBRSxDQUVYQyxpQkFBa0IsVUFBWSxDQUM1QixPQUFPVixFQUFPQyxTQUFTLENBQUcsQ0FDNUIsRUFFQVUsMEJBQTJCLGdCQUFrQixDQUMzQyxPQUFPLE1BQU0sSUFBSUMsUUFBUSxBQUFDQyxHQUFZLENBQy9CLEFBQUMsQ0FBQSxTQUFZLENBRVpiLEVBQU9VLGdCQUFnQixHQUV6QkcsS0FFQWIsRUFBT1EsT0FBTyxDQUFDTSxJQUFJLENBQUNELEdBQ3BCLE1BQU1iLEVBQU9lLGNBQWMsR0FFL0IsQ0FBQSxHQUNGLEVBQ0YsRUFFQUEsZUFBZ0IsZ0JBQWtCLENBRWhDLElBQUlmLEVBQU9LLFVBQVUsRUFPckIsSUFGQUwsRUFBT0ssVUFBVSxDQUFHLENBQUEsRUFFYkwsRUFBT1EsT0FBTyxDQUFDUSxNQUFNLENBQUcsR0FDekJoQixFQUFPVSxnQkFBZ0IsR0FFekJWLEVBQU9RLE9BQU8sQ0FBQ1MsS0FBSyxPQUVwQixNQUFNckIsRUFBTSxJQUtoQkksQ0FBQUEsRUFBT0ssVUFBVSxDQUFHLENBQUEsRUFmbkIsQUFnQkgsRUFFQWEsZUFBZ0IsZ0JBQWtCLENBRWhDLElBQUlsQixFQUFPTSxpQkFBaUIsRUFPNUIsSUFGQU4sRUFBT00saUJBQWlCLENBQUcsQ0FBQSxFQUVwQk4sRUFBT1MsT0FBTyxDQUFDTyxNQUFNLENBQUcsR0FDN0IsR0FBSWhCLEVBQU9PLFlBQVksRUFBSVAsRUFBT1UsZ0JBQWdCLEdBQ2hELENBQUEsR0FBSVYsRUFBT1MsT0FBTyxDQUFDTyxNQUFNLENBQUcsRUFBRyxDQUM3QixJQUFNRyxFQUFnQm5CLEVBQU9TLE9BQU8sQ0FBQyxFQUFFLENBQ2pDVyxFQUFXdEIsRUFBS3VCLFdBQVcsQ0FBQ0YsRUFBY0csT0FBTyxDQUFDQyxHQUFHLENBQUVKLEVBQWNHLE9BQU8sQ0FBQ0UsTUFBTSxFQUduRkMsRUFBYTNCLEVBQUs0QixlQUFlLENBQUM1QixFQUFNc0IsR0FDOUMsR0FBSUssQUFBZSxDQUFBLElBQWZBLEVBQXNCLENBQ3hCRSxXQUFXLElBQU0sQ0FDVjNCLEVBQU9rQixjQUFjLEVBQzVCLEVBQUdPLEdBQ0gsS0FBSyxBQUNQLENBQUMsQUFHRCxJQUFNRyxFQUFnQlQsQUFBbUNVLEtBQUFBLElBQW5DVixFQUFjVyxPQUFPLENBQUNDLFFBQVEsRUFDaERqQyxFQUFLNEIsZUFBZSxDQUFDNUIsRUFBTXFCLEVBQWNXLE9BQU8sQ0FBQ0MsUUFBUSxFQUU3RCxHQUFJSCxBQUFrQixDQUFBLElBQWxCQSxFQUF5QixDQUMzQkQsV0FBVyxJQUFNLENBQ1YzQixFQUFPa0IsY0FBYyxFQUM1QixFQUFHVSxHQUNILEtBQUssQUFDUCxDQUFDLEFBRUQ1QixFQUFPTyxZQUFZLENBQUcsQ0FBQSxFQUN0QlAsRUFBT0MsU0FBUyxHQUVTNEIsS0FBQUEsSUFBckI3QixFQUFPSSxTQUFTLEVBQWtCSixBQUFxQixJQUFyQkEsRUFBT0MsU0FBUyxFQUFVRCxBQUFvQixJQUFwQkEsRUFBT0csUUFBUSxFQUM3RUgsQ0FBQUEsRUFBT0ksU0FBUyxDQUFHdUIsV0FBVyxJQUFNLENBQ2xDM0IsRUFBT0MsU0FBUyxDQUFHRCxFQUFPRSxHQUFHLENBQzdCRixFQUFPSSxTQUFTLENBQUd5QixLQUFBQSxDQUNyQixFQUFHN0IsRUFBT0csUUFBUSxDQUFBLEVBSXBCSCxFQUFPUyxPQUFPLENBQUNRLEtBQUssR0FDZm5CLEVBQUtrQyxrQkFBa0IsQ0FBQ2xDLEVBQU0sQ0FDakMsR0FBR3FCLENBQWEsQ0FDaEJjLFNBQVVkLEVBQWNHLE9BQU8sQ0FBQ0MsR0FBRyxDQUNuQ0gsU0FBQUEsQ0FDRixFQUNGLENBQUMsQUFBRCxNQUVBLE1BQU14QixFQUFNLElBQ2IsQUFJSEksQ0FBQUEsRUFBT00saUJBQWlCLENBQUcsQ0FBQSxFQUMzQlIsRUFBS29DLGFBQWEsQ0FBQ3BDLEdBeERsQixBQXlESCxFQUVBcUMsdUJBQXdCLFNBQVVDLENBQU8sQ0FBRSxDQUN6Q3BDLEVBQU9FLEdBQUcsQ0FBR2tDLEVBQVFsQyxHQUFHLENBQ3hCRixFQUFPRyxRQUFRLENBQUdpQyxFQUFRakMsUUFBUSxDQUNsQ0gsRUFBT0MsU0FBUyxDQUFHbUMsRUFBUW5DLFNBQVMsQ0FFaENELEVBQU9DLFNBQVMsRUFBSSxHQUN0QkQsQ0FBQUEsRUFBT0ksU0FBUyxDQUFHdUIsV0FBVyxJQUFNLENBQ2xDM0IsRUFBT0MsU0FBUyxDQUFHRCxFQUFPRSxHQUFHLENBQzdCRixFQUFPSSxTQUFTLENBQUd5QixLQUFBQSxDQUNyQixFQUFHTyxFQUFRakMsUUFBUSxDQUFBLENBRXZCLEVBRUFrQyxZQUFhLGVBQWdCdEMsQ0FBc0IsQ0FBRSxDQUNuRCxNQUFNQyxFQUFPVyx5QkFBeUIsR0FDdENYLEVBQU9TLE9BQU8sQ0FBQ0ssSUFBSSxDQUFDZixHQUNmQyxFQUFPa0IsY0FBYyxFQUM1QixDQUNGLEVBRUEsT0FBT2xCLENBQ1QsQ0FBQyJ9
@@ -0,0 +1,16 @@
1
+ import { RequestMethod } from './rest.js';
2
+ import { RestManager } from './restManager.js';
3
+ /** Creates the request body and headers that are necessary to send a request. Will handle different types of methods and everything necessary for discord. */
4
+ export declare function createRequestBody(rest: RestManager, options: CreateRequestBodyOptions): {
5
+ headers: Record<string, string>;
6
+ body: string | FormData;
7
+ method: RequestMethod;
8
+ };
9
+ export interface CreateRequestBodyOptions {
10
+ headers?: Record<string, string>;
11
+ method: RequestMethod;
12
+ body?: Record<string, unknown>;
13
+ unauthorized?: boolean;
14
+ url?: string;
15
+ }
16
+ //# sourceMappingURL=createRequestBody.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createRequestBody.d.ts","sourceRoot":"","sources":["../src/createRequestBody.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAE9C,8JAA8J;AAC9J,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,wBAAwB,GAChC;IACC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC/B,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAA;IACvB,MAAM,EAAE,aAAa,CAAA;CACtB,CAoEF;AAED,MAAM,WAAW,wBAAwB;IACvC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC,MAAM,EAAE,aAAa,CAAA;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC9B,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,GAAG,CAAC,EAAE,MAAM,CAAA;CACb"}
@@ -0,0 +1,2 @@
1
+ import{decode as e,USER_AGENT as o}from"@discordeno/utils";export function createRequestBody(e,n){let i={"user-agent":o};if(void 0===n.unauthorized&&(i.authorization=`Bot ${e.token}`),void 0!==n.headers)for(let d in n.headers)i[d.toLowerCase()]=n.headers[d];if("GET"===n.method&&(n.body=void 0),n.body?.reason!==void 0&&(i["X-Audit-Log-Reason"]=encodeURIComponent(n.body.reason),n.body.reason=void 0),n.body?.file!==void 0){let r=function(e){if(!e)return[];let o=Array.isArray(e)?e:[e];return o.filter(t)}(n.body.file),a=new FormData;if((n.url??"").endsWith("/stickers")&&"POST"===n.method)a.append("file",r[0].blob,r[0].name),a.append("name",n.body.name),a.append("description",n.body.description),a.append("tags",n.body.tags);else{for(let s=0;s<r.length;s++)a.append(`file${s}`,r[s].blob,r[s].name);a.append("payload_json",JSON.stringify({...n.body,file:void 0}))}n.body.file=a}else void 0===n.body||["GET","DELETE"].includes(n.method)||(i["Content-Type"]="application/json");return{headers:i,body:n.body?.file??JSON.stringify(n.body),method:n.method}}function t(o){if(!o||"object"!=typeof o)return!1;let t=o;if("string"!=typeof t.name)return!1;switch(typeof t.blob){case"string":{let n=t.blob.match(/^data:(?<mimeType>[a-zA-Z0-9/]*);base64,(?<content>.*)$/);if(n?.groups===void 0)return!1;let{mimeType:i,content:d}=n.groups;return t.blob=new Blob([e(d)],{type:i}),!0}case"object":return t.blob instanceof Blob;default:return!1}}
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jcmVhdGVSZXF1ZXN0Qm9keS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGaWxlQ29udGVudCB9IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJ1xuaW1wb3J0IHsgZGVjb2RlLCBVU0VSX0FHRU5UIH0gZnJvbSAnQGRpc2NvcmRlbm8vdXRpbHMnXG5pbXBvcnQgeyBSZXF1ZXN0TWV0aG9kIH0gZnJvbSAnLi9yZXN0LmpzJ1xuaW1wb3J0IHsgUmVzdE1hbmFnZXIgfSBmcm9tICcuL3Jlc3RNYW5hZ2VyLmpzJ1xuXG4vKiogQ3JlYXRlcyB0aGUgcmVxdWVzdCBib2R5IGFuZCBoZWFkZXJzIHRoYXQgYXJlIG5lY2Vzc2FyeSB0byBzZW5kIGEgcmVxdWVzdC4gV2lsbCBoYW5kbGUgZGlmZmVyZW50IHR5cGVzIG9mIG1ldGhvZHMgYW5kIGV2ZXJ5dGhpbmcgbmVjZXNzYXJ5IGZvciBkaXNjb3JkLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVJlcXVlc3RCb2R5IChcbiAgcmVzdDogUmVzdE1hbmFnZXIsXG4gIG9wdGlvbnM6IENyZWF0ZVJlcXVlc3RCb2R5T3B0aW9uc1xuKToge1xuICAgIGhlYWRlcnM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz5cbiAgICBib2R5OiBzdHJpbmcgfCBGb3JtRGF0YVxuICAgIG1ldGhvZDogUmVxdWVzdE1ldGhvZFxuICB9IHtcbiAgY29uc3QgaGVhZGVyczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgICAndXNlci1hZ2VudCc6IFVTRVJfQUdFTlRcbiAgfVxuXG4gIGlmIChvcHRpb25zLnVuYXV0aG9yaXplZCA9PT0gdW5kZWZpbmVkKSB7IGhlYWRlcnMuYXV0aG9yaXphdGlvbiA9IGBCb3QgJHtyZXN0LnRva2VufWAgfVxuXG4gIC8vIFNPTUVUSU1FUyBTUEVDSUFMIEhFQURFUlMgKEUuRy4gQ1VTVE9NIEFVVEhPUklaQVRJT04pIE5FRUQgVE8gQkUgVVNFRFxuICBpZiAob3B0aW9ucy5oZWFkZXJzICE9PSB1bmRlZmluZWQpIHtcbiAgICBmb3IgKGNvbnN0IGtleSBpbiBvcHRpb25zLmhlYWRlcnMpIHtcbiAgICAgIGhlYWRlcnNba2V5LnRvTG93ZXJDYXNlKCldID0gb3B0aW9ucy5oZWFkZXJzW2tleV1cbiAgICB9XG4gIH1cblxuICAvLyBHRVQgTUVUSE9EUyBTSE9VTEQgTk9UIEhBVkUgQSBCT0RZXG4gIGlmIChvcHRpb25zLm1ldGhvZCA9PT0gJ0dFVCcpIHtcbiAgICBvcHRpb25zLmJvZHkgPSB1bmRlZmluZWRcbiAgfVxuXG4gIC8vIElGIEEgUkVBU09OIElTIFBST1ZJREVEIEVOQ09ERSBJVCBJTiBIRUFERVJTXG4gIGlmIChvcHRpb25zLmJvZHk/LnJlYXNvbiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgaGVhZGVyc1snWC1BdWRpdC1Mb2ctUmVhc29uJ10gPSBlbmNvZGVVUklDb21wb25lbnQoXG4gICAgICBvcHRpb25zLmJvZHkucmVhc29uIGFzIHN0cmluZ1xuICAgIClcbiAgICBvcHRpb25zLmJvZHkucmVhc29uID0gdW5kZWZpbmVkXG4gIH1cblxuICAvLyBJRiBBIEZJTEUvQVRUQUNITUVOVCBJUyBQUkVTRU5UIFdFIE5FRUQgU1BFQ0lBTCBIQU5ETElOR1xuICBpZiAob3B0aW9ucy5ib2R5Py5maWxlICE9PSB1bmRlZmluZWQpIHtcbiAgICBjb25zdCBmaWxlcyA9IGZpbmRGaWxlcyhvcHRpb25zLmJvZHkuZmlsZSlcblxuICAgIGNvbnN0IGZvcm0gPSBuZXcgRm9ybURhdGEoKVxuXG4gICAgLy8gV0hFTiBDUkVBVElORyBBIFNUSUNLRVIsIERJU0NPUkQgV0FOVFMgRk9STSBEQVRBIE9OTFlcbiAgICBpZiAoXG4gICAgICAob3B0aW9ucy51cmwgPz8gJycpLmVuZHNXaXRoKCcvc3RpY2tlcnMnKSAmJlxuICAgICAgb3B0aW9ucy5tZXRob2QgPT09ICdQT1NUJ1xuICAgICkge1xuICAgICAgZm9ybS5hcHBlbmQoJ2ZpbGUnLCBmaWxlc1swXS5ibG9iLCBmaWxlc1swXS5uYW1lKVxuICAgICAgZm9ybS5hcHBlbmQoJ25hbWUnLCBvcHRpb25zLmJvZHkubmFtZSBhcyBzdHJpbmcpXG4gICAgICBmb3JtLmFwcGVuZCgnZGVzY3JpcHRpb24nLCBvcHRpb25zLmJvZHkuZGVzY3JpcHRpb24gYXMgc3RyaW5nKVxuICAgICAgZm9ybS5hcHBlbmQoJ3RhZ3MnLCBvcHRpb25zLmJvZHkudGFncyBhcyBzdHJpbmcpXG4gICAgfSBlbHNlIHtcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZmlsZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgZm9ybS5hcHBlbmQoYGZpbGUke2l9YCwgZmlsZXNbaV0uYmxvYiwgZmlsZXNbaV0ubmFtZSlcbiAgICAgIH1cblxuICAgICAgZm9ybS5hcHBlbmQoXG4gICAgICAgICdwYXlsb2FkX2pzb24nLFxuICAgICAgICBKU09OLnN0cmluZ2lmeSh7IC4uLm9wdGlvbnMuYm9keSwgZmlsZTogdW5kZWZpbmVkIH0pXG4gICAgICApXG4gICAgfVxuXG4gICAgb3B0aW9ucy5ib2R5LmZpbGUgPSBmb3JtXG4gIH0gZWxzZSBpZiAoXG4gICAgb3B0aW9ucy5ib2R5ICE9PSB1bmRlZmluZWQgJiZcbiAgICAhWydHRVQnLCAnREVMRVRFJ10uaW5jbHVkZXMob3B0aW9ucy5tZXRob2QpXG4gICkge1xuICAgIGhlYWRlcnNbJ0NvbnRlbnQtVHlwZSddID0gJ2FwcGxpY2F0aW9uL2pzb24nXG4gIH1cblxuICByZXR1cm4ge1xuICAgIGhlYWRlcnMsXG4gICAgYm9keTogKG9wdGlvbnMuYm9keT8uZmlsZSA/PyBKU09OLnN0cmluZ2lmeShvcHRpb25zLmJvZHkpKSBhc1xuICAgICAgfCBGb3JtRGF0YVxuICAgICAgfCBzdHJpbmcsXG4gICAgbWV0aG9kOiBvcHRpb25zLm1ldGhvZFxuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlUmVxdWVzdEJvZHlPcHRpb25zIHtcbiAgaGVhZGVycz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz5cbiAgbWV0aG9kOiBSZXF1ZXN0TWV0aG9kXG4gIGJvZHk/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuICB1bmF1dGhvcml6ZWQ/OiBib29sZWFuXG4gIHVybD86IHN0cmluZ1xufVxuXG5mdW5jdGlvbiBmaW5kRmlsZXMgKGZpbGU6IHVua25vd24pOiBGaWxlQ29udGVudFtdIHtcbiAgaWYgKCFmaWxlKSB7XG4gICAgcmV0dXJuIFtdXG4gIH1cblxuICBjb25zdCBmaWxlczogdW5rbm93bltdID0gQXJyYXkuaXNBcnJheShmaWxlKSA/IGZpbGUgOiBbZmlsZV1cbiAgcmV0dXJuIGZpbGVzLmZpbHRlcihjb2VyY2VUb0ZpbGVDb250ZW50KVxufVxuXG5mdW5jdGlvbiBjb2VyY2VUb0ZpbGVDb250ZW50ICh2YWx1ZTogdW5rbm93bik6IHZhbHVlIGlzIEZpbGVDb250ZW50IHtcbiAgaWYgKCF2YWx1ZSB8fCB0eXBlb2YgdmFsdWUgIT09ICdvYmplY3QnKSB7XG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cblxuICBjb25zdCBmaWxlID0gdmFsdWUgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbiAgaWYgKHR5cGVvZiBmaWxlLm5hbWUgIT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cblxuICBzd2l0Y2ggKHR5cGVvZiBmaWxlLmJsb2IpIHtcbiAgICBjYXNlICdzdHJpbmcnOiB7XG4gICAgICBjb25zdCBtYXRjaCA9IGZpbGUuYmxvYi5tYXRjaChcbiAgICAgICAgL15kYXRhOig/PG1pbWVUeXBlPlthLXpBLVowLTkvXSopO2Jhc2U2NCwoPzxjb250ZW50Pi4qKSQvXG4gICAgICApXG4gICAgICBpZiAobWF0Y2g/Lmdyb3VwcyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHJldHVybiBmYWxzZVxuICAgICAgfVxuICAgICAgY29uc3QgeyBtaW1lVHlwZSwgY29udGVudCB9ID0gbWF0Y2guZ3JvdXBzXG4gICAgICBmaWxlLmJsb2IgPSBuZXcgQmxvYihbZGVjb2RlKGNvbnRlbnQpXSwgeyB0eXBlOiBtaW1lVHlwZSB9KVxuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG4gICAgY2FzZSAnb2JqZWN0JzpcbiAgICAgIHJldHVybiBmaWxlLmJsb2IgaW5zdGFuY2VvZiBCbG9iXG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBmYWxzZVxuICB9XG59XG4iXSwibmFtZXMiOlsiZGVjb2RlIiwiVVNFUl9BR0VOVCIsImNyZWF0ZVJlcXVlc3RCb2R5IiwicmVzdCIsIm9wdGlvbnMiLCJoZWFkZXJzIiwidW5kZWZpbmVkIiwidW5hdXRob3JpemVkIiwiYXV0aG9yaXphdGlvbiIsInRva2VuIiwia2V5IiwidG9Mb3dlckNhc2UiLCJtZXRob2QiLCJib2R5IiwicmVhc29uIiwiZW5jb2RlVVJJQ29tcG9uZW50IiwiZmlsZSIsImZpbGVzIiwiZmluZEZpbGVzIiwiQXJyYXkiLCJpc0FycmF5IiwiZmlsdGVyIiwiY29lcmNlVG9GaWxlQ29udGVudCIsImZvcm0iLCJGb3JtRGF0YSIsInVybCIsImVuZHNXaXRoIiwiYXBwZW5kIiwiYmxvYiIsIm5hbWUiLCJkZXNjcmlwdGlvbiIsInRhZ3MiLCJpIiwibGVuZ3RoIiwiSlNPTiIsInN0cmluZ2lmeSIsImluY2x1ZGVzIiwidmFsdWUiLCJtYXRjaCIsImdyb3VwcyIsIm1pbWVUeXBlIiwiY29udGVudCIsIkJsb2IiLCJ0eXBlIl0sIm1hcHBpbmdzIjoiQUFDQSxPQUFTQSxVQUFBQSxDQUFNLENBQUVDLGNBQUFBLENBQVUsS0FBUSxtQkFBbUIsQUFLdEQsUUFBTyxTQUFTQyxrQkFDZEMsQ0FBaUIsQ0FDakJDLENBQWlDLENBSy9CLENBQ0YsSUFBTUMsRUFBa0MsQ0FDdEMsYUFBY0osQ0FDaEIsRUFLQSxHQUg2QkssS0FBQUEsSUFBekJGLEVBQVFHLFlBQVksRUFBa0JGLENBQUFBLEVBQVFHLGFBQWEsQ0FBRyxDQUFDLElBQUksRUFBRUwsRUFBS00sS0FBSyxDQUFDLENBQUMsQUFBRCxFQUdoRkwsQUFBb0JFLEtBQUFBLElBQXBCRixFQUFRQyxPQUFPLENBQ2pCLElBQUss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
@@ -0,0 +1,17 @@
1
+ export * from '@discordeno/types';
2
+ export * from '@discordeno/utils';
3
+ export * from './checkRateLimits.js';
4
+ export * from './cleanupQueues.js';
5
+ export * from './convertRestError.js';
6
+ export * from './createRequestBody.js';
7
+ export * from './processGlobalQueue.js';
8
+ export * from './processQueue.js';
9
+ export * from './processRateLimitedPaths.js';
10
+ export * from './processRequest.js';
11
+ export * from './processRequestHeaders.js';
12
+ export * from './rest.js';
13
+ export * from './restManager.js';
14
+ export * from './runMethod.js';
15
+ export * from './sendRequest.js';
16
+ export * from './simplifyUrl.js';
17
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA;AACjC,cAAc,sBAAsB,CAAA;AACpC,cAAc,oBAAoB,CAAA;AAClC,cAAc,uBAAuB,CAAA;AACrC,cAAc,wBAAwB,CAAA;AACtC,cAAc,yBAAyB,CAAA;AACvC,cAAc,mBAAmB,CAAA;AACjC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,qBAAqB,CAAA;AACnC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,WAAW,CAAA;AACzB,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA"}
package/dist/index.js ADDED
@@ -0,0 +1,2 @@
1
+ export*from"@discordeno/types";export*from"@discordeno/utils";export*from"./checkRateLimits.js";export*from"./cleanupQueues.js";export*from"./convertRestError.js";export*from"./createRequestBody.js";export*from"./processGlobalQueue.js";export*from"./processQueue.js";export*from"./processRateLimitedPaths.js";export*from"./processRequest.js";export*from"./processRequestHeaders.js";export*from"./rest.js";export*from"./restManager.js";export*from"./runMethod.js";export*from"./sendRequest.js";export*from"./simplifyUrl.js";
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICdAZGlzY29yZGVuby90eXBlcydcbmV4cG9ydCAqIGZyb20gJ0BkaXNjb3JkZW5vL3V0aWxzJ1xuZXhwb3J0ICogZnJvbSAnLi9jaGVja1JhdGVMaW1pdHMuanMnXG5leHBvcnQgKiBmcm9tICcuL2NsZWFudXBRdWV1ZXMuanMnXG5leHBvcnQgKiBmcm9tICcuL2NvbnZlcnRSZXN0RXJyb3IuanMnXG5leHBvcnQgKiBmcm9tICcuL2NyZWF0ZVJlcXVlc3RCb2R5LmpzJ1xuZXhwb3J0ICogZnJvbSAnLi9wcm9jZXNzR2xvYmFsUXVldWUuanMnXG5leHBvcnQgKiBmcm9tICcuL3Byb2Nlc3NRdWV1ZS5qcydcbmV4cG9ydCAqIGZyb20gJy4vcHJvY2Vzc1JhdGVMaW1pdGVkUGF0aHMuanMnXG5leHBvcnQgKiBmcm9tICcuL3Byb2Nlc3NSZXF1ZXN0LmpzJ1xuZXhwb3J0ICogZnJvbSAnLi9wcm9jZXNzUmVxdWVzdEhlYWRlcnMuanMnXG5leHBvcnQgKiBmcm9tICcuL3Jlc3QuanMnXG5leHBvcnQgKiBmcm9tICcuL3Jlc3RNYW5hZ2VyLmpzJ1xuZXhwb3J0ICogZnJvbSAnLi9ydW5NZXRob2QuanMnXG5leHBvcnQgKiBmcm9tICcuL3NlbmRSZXF1ZXN0LmpzJ1xuZXhwb3J0ICogZnJvbSAnLi9zaW1wbGlmeVVybC5qcydcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxXQUFjLG1CQUFtQixBQUNqQyxZQUFjLG1CQUFtQixBQUNqQyxZQUFjLHNCQUFzQixBQUNwQyxZQUFjLG9CQUFvQixBQUNsQyxZQUFjLHVCQUF1QixBQUNyQyxZQUFjLHdCQUF3QixBQUN0QyxZQUFjLHlCQUF5QixBQUN2QyxZQUFjLG1CQUFtQixBQUNqQyxZQUFjLDhCQUE4QixBQUM1QyxZQUFjLHFCQUFxQixBQUNuQyxZQUFjLDRCQUE0QixBQUMxQyxZQUFjLFdBQVcsQUFDekIsWUFBYyxrQkFBa0IsQUFDaEMsWUFBYyxnQkFBZ0IsQUFDOUIsWUFBYyxrQkFBa0IsQUFDaEMsWUFBYyxrQkFBa0IifQ==
@@ -0,0 +1,9 @@
1
+ import { RestPayload, RestRequest } from './rest.js';
2
+ import { RestManager } from './restManager.js';
3
+ export declare function processGlobalQueue(rest: RestManager, request: {
4
+ request: RestRequest;
5
+ payload: RestPayload;
6
+ basicURL: string;
7
+ urlToUse: string;
8
+ }): Promise<void>;
9
+ //# sourceMappingURL=processGlobalQueue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processGlobalQueue.d.ts","sourceRoot":"","sources":["../src/processGlobalQueue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAE9C,wBAAsB,kBAAkB,CAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE;IACpE,OAAO,EAAE,WAAW,CAAA;IACpB,OAAO,EAAE,WAAW,CAAA;IACpB,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;CACjB,GAAG,OAAO,CAAC,IAAI,CAAC,CAyBhB"}
@@ -0,0 +1,2 @@
1
+ export async function processGlobalQueue(e,t){await e.invalidBucket.waitUntilRequestAvailable(),await e.sendRequest(e,{url:t.urlToUse,method:t.request.method,bucketId:t.payload.bucketId,reject:t.request.reject,respond:t.request.respond,retryRequest:function(){e.processGlobalQueue(e,t)},retryCount:t.payload.retryCount??0,payload:e.createRequestBody(e,{method:t.request.method,body:t.payload.body,url:t.urlToUse})}).catch(()=>null)}
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9wcm9jZXNzR2xvYmFsUXVldWUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVzdFBheWxvYWQsIFJlc3RSZXF1ZXN0IH0gZnJvbSAnLi9yZXN0LmpzJ1xuaW1wb3J0IHsgUmVzdE1hbmFnZXIgfSBmcm9tICcuL3Jlc3RNYW5hZ2VyLmpzJ1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcHJvY2Vzc0dsb2JhbFF1ZXVlIChyZXN0OiBSZXN0TWFuYWdlciwgcmVxdWVzdDoge1xuICByZXF1ZXN0OiBSZXN0UmVxdWVzdFxuICBwYXlsb2FkOiBSZXN0UGF5bG9hZFxuICBiYXNpY1VSTDogc3RyaW5nXG4gIHVybFRvVXNlOiBzdHJpbmdcbn0pOiBQcm9taXNlPHZvaWQ+IHtcbiAgLy8gQ2hlY2sgaWYgdGhpcyByZXF1ZXN0IGlzIGFibGUgdG8gYmUgbWFkZSBnbG9iYWxseVxuICBhd2FpdCByZXN0LmludmFsaWRCdWNrZXQud2FpdFVudGlsUmVxdWVzdEF2YWlsYWJsZSgpXG5cbiAgLy8gQ2hlY2sgaWYgdGhpcyByZXF1ZXN0IGlzIGFibGUgdG8gYmUgbWFkZSBmb3IgaXQncyBzcGVjaWZpYyBidWNrZXRcbiAgLy8gYXdhaXQgcmVzdC5idWNrZXRzLmdldCgpXG5cbiAgYXdhaXQgcmVzdC5zZW5kUmVxdWVzdChyZXN0LCB7XG4gICAgdXJsOiByZXF1ZXN0LnVybFRvVXNlLFxuICAgIG1ldGhvZDogcmVxdWVzdC5yZXF1ZXN0Lm1ldGhvZCxcbiAgICBidWNrZXRJZDogcmVxdWVzdC5wYXlsb2FkLmJ1Y2tldElkLFxuICAgIHJlamVjdDogcmVxdWVzdC5yZXF1ZXN0LnJlamVjdCxcbiAgICByZXNwb25kOiByZXF1ZXN0LnJlcXVlc3QucmVzcG9uZCxcbiAgICByZXRyeVJlcXVlc3Q6IGZ1bmN0aW9uICgpIHtcbiAgICAgIHZvaWQgcmVzdC5wcm9jZXNzR2xvYmFsUXVldWUocmVzdCwgcmVxdWVzdClcbiAgICB9LFxuICAgIHJldHJ5Q291bnQ6IHJlcXVlc3QucGF5bG9hZC5yZXRyeUNvdW50ID8/IDAsXG4gICAgcGF5bG9hZDogcmVzdC5jcmVhdGVSZXF1ZXN0Qm9keShyZXN0LCB7XG4gICAgICBtZXRob2Q6IHJlcXVlc3QucmVxdWVzdC5tZXRob2QsXG4gICAgICBib2R5OiByZXF1ZXN0LnBheWxvYWQuYm9keSxcbiAgICAgIHVybDogcmVxdWVzdC51cmxUb1VzZVxuICAgIH0pXG4gIH0pXG4gICAgLy8gU2hvdWxkIGJlIGhhbmRsZWQgaW4gc2VuZFJlcXVlc3QsIHRoaXMgY2F0Y2gganVzdCBwcmV2ZW50cyBib3RzIGZyb20gZHlpbmdcbiAgICAuY2F0Y2goKCkgPT4gbnVsbClcbn1cbiJdLCJuYW1lcyI6WyJwcm9jZXNzR2xvYmFsUXVldWUiLCJyZXN0IiwicmVxdWVzdCIsImludmFsaWRCdWNrZXQiLCJ3YWl0VW50aWxSZXF1ZXN0QXZhaWxhYmxlIiwic2VuZFJlcXVlc3QiLCJ1cmwiLCJ1cmxUb1VzZSIsIm1ldGhvZCIsImJ1Y2tldElkIiwicGF5bG9hZCIsInJlamVjdCIsInJlc3BvbmQiLCJyZXRyeVJlcXVlc3QiLCJyZXRyeUNvdW50IiwiY3JlYXRlUmVxdWVzdEJvZHkiLCJib2R5IiwiY2F0Y2giXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sZUFBZUEsbUJBQW9CQyxDQUFpQixDQUFFQyxDQUs1RCxDQUFpQixDQUVoQixNQUFNRCxFQUFLRSxhQUFhLENBQUNDLHlCQUF5QixHQUtsRCxNQUFNSCxFQUFLSSxXQUFXLENBQUNKLEVBQU0sQ0FDM0JLLElBQUtKLEVBQVFLLFFBQVEsQ0FDckJDLE9BQVFOLEVBQVFBLE9BQU8sQ0FBQ00sTUFBTSxDQUM5QkMsU0FBVVAsRUFBUVEsT0FBTyxDQUFDRCxRQUFRLENBQ2xDRSxPQUFRVCxFQUFRQSxPQUFPLENBQUNTLE1BQU0sQ0FDOUJDLFFBQVNWLEVBQVFBLE9BQU8sQ0FBQ1UsT0FBTyxDQUNoQ0MsYUFBYyxVQUFZLENBQ25CWixFQUFLRCxrQkFBa0IsQ0FBQ0MsRUFBTUMsRUFDckMsRUFDQVksV0FBWVosRUFBUVEsT0FBTyxDQUFDSSxVQUFVLEVBQUksRUFDMUNKLFFBQVNULEVBQUtjLGlCQUFpQixDQUFDZCxFQUFNLENBQ3BDTyxPQUFRTixFQUFRQSxPQUFPLENBQUNNLE1BQU0sQ0FDOUJRLEtBQU1kLEVBQVFRLE9BQU8sQ0FBQ00sSUFBSSxDQUMxQlYsSUFBS0osRUFBUUssUUFBUSxBQUN2QixFQUNGLEdBRUdVLEtBQUssQ0FBQyxJQUFNLElBQUksQ0FDckIsQ0FBQyJ9
@@ -0,0 +1,4 @@
1
+ import { RestManager } from './restManager.js';
2
+ /** Processes the queue by looping over each path separately until the queues are empty. */
3
+ export declare function processQueue(rest: RestManager, id: string): void;
4
+ //# sourceMappingURL=processQueue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processQueue.d.ts","sourceRoot":"","sources":["../src/processQueue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAE9C,2FAA2F;AAC3F,wBAAgB,YAAY,CAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI,CA8DjE"}
@@ -0,0 +1,2 @@
1
+ export function processQueue(e,o){}
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9wcm9jZXNzUXVldWUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVzdE1hbmFnZXIgfSBmcm9tICcuL3Jlc3RNYW5hZ2VyLmpzJ1xuXG4vKiogUHJvY2Vzc2VzIHRoZSBxdWV1ZSBieSBsb29waW5nIG92ZXIgZWFjaCBwYXRoIHNlcGFyYXRlbHkgdW50aWwgdGhlIHF1ZXVlcyBhcmUgZW1wdHkuICovXG5leHBvcnQgZnVuY3Rpb24gcHJvY2Vzc1F1ZXVlIChyZXN0OiBSZXN0TWFuYWdlciwgaWQ6IHN0cmluZyk6IHZvaWQge1xuICAvLyBjb25zdCBxdWV1ZSA9IHJlc3QucGF0aFF1ZXVlcy5nZXQoaWQpO1xuICAvLyBpZiAoIXF1ZXVlKSByZXR1cm47XG5cbiAgLy8gd2hpbGUgKHF1ZXVlLnJlcXVlc3RzLmxlbmd0aCkge1xuICAvLyAgIHJlc3QuZGVidWcoYFtSRVNUIC0gcHJvY2Vzc1F1ZXVlXSBSdW5uaW5nIHdoaWxlIGxvb3AuYCk7XG4gIC8vICAgaWYgKHJlc3QuZ2xvYmFsbHlSYXRlTGltaXRlZCkge1xuICAvLyAgICAgcmVzdC5kZWJ1ZyhgW1JFU1QgLSBwcm9jZXNzUXVldWVdIEdsb2JhbGx5IHJhdGUgbGltaXRlZC5gKTtcbiAgLy8gICAgIGNvbnRpbnVlO1xuICAvLyAgIH1cblxuICAvLyAgIC8vIFNFTEVDVCBUSEUgRklSU1QgSVRFTSBGUk9NIFRISVMgUVVFVUVcbiAgLy8gICBjb25zdCBxdWV1ZWRSZXF1ZXN0ID0gcXVldWUucmVxdWVzdHNbMF07XG4gIC8vICAgLy8gSUYgVEhJUyBET0VTTidUIEhBVkUgQU5ZIElURU1TIEpVU1QgQ0FOQ0VMLCBUSEUgQ0xFQU5FUiBXSUxMIFJFTU9WRSBJVC5cbiAgLy8gICBpZiAoIXF1ZXVlZFJlcXVlc3QpIGJyZWFrO1xuXG4gIC8vICAgY29uc3QgYmFzaWNVUkwgPSByZXN0LnNpbXBsaWZ5VXJsKHF1ZXVlZFJlcXVlc3QucmVxdWVzdC51cmwsIHF1ZXVlZFJlcXVlc3QucmVxdWVzdC5tZXRob2QpO1xuXG4gIC8vICAgLy8gSUYgVEhJUyBVUkwgSVMgU1RJTEwgUkFURSBMSU1JVEVELCBUUlkgQUdBSU5cbiAgLy8gICBjb25zdCB1cmxSZXNldEluID0gcmVzdC5jaGVja1JhdGVMaW1pdHMocmVzdCwgYmFzaWNVUkwpO1xuICAvLyAgIGlmICh1cmxSZXNldEluKSB7XG4gIC8vICAgICAvLyBPTkxZIEFERCBUSU1FT1VUIElGIEFOT1RIRVIgUVVFVUUgSVMgTk9UIFBFTkRJTkdcbiAgLy8gICAgIGlmICghcXVldWUuaXNXYWl0aW5nKSB7XG4gIC8vICAgICAgIHF1ZXVlLmlzV2FpdGluZyA9IHRydWU7XG5cbiAgLy8gICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gIC8vICAgICAgICAgcXVldWUuaXNXYWl0aW5nID0gZmFsc2U7XG5cbiAgLy8gICAgICAgICByZXN0LmRlYnVnKGBbUkVTVCAtIHByb2Nlc3NRdWV1ZV0gcmF0ZSBsaW1pdGVkLCBydW5uaW5nIHNldFRpbWVvdXQuYCk7XG4gIC8vICAgICAgICAgcmVzdC5wcm9jZXNzUXVldWUocmVzdCwgaWQpO1xuICAvLyAgICAgICB9LCB1cmxSZXNldEluKTtcbiAgLy8gICAgIH1cblxuICAvLyAgICAgLy8gQlJFQUsgV0hJTEUgTE9PUFxuICAvLyAgICAgYnJlYWs7XG4gIC8vICAgfVxuXG4gIC8vICAgLy8gSUYgQSBCVUNLRVQgRVhJU1RTLCBDSEVDSyBUSEUgQlVDS0VUJ1MgUkFURSBMSU1JVFNcbiAgLy8gICBjb25zdCBidWNrZXRSZXNldEluID0gcXVldWVkUmVxdWVzdC5wYXlsb2FkLmJ1Y2tldElkXG4gIC8vICAgICA/IHJlc3QuY2hlY2tSYXRlTGltaXRzKHJlc3QsIHF1ZXVlZFJlcXVlc3QucGF5bG9hZC5idWNrZXRJZClcbiAgLy8gICAgIDogZmFsc2U7XG4gIC8vICAgLy8gVEhJUyBCVUNLRVQgSVMgU1RJTEwgUkFURSBMSU1JVEVELCBSRS1BREQgVE8gUVVFVUVcbiAgLy8gICBpZiAoYnVja2V0UmVzZXRJbikgY29udGludWU7XG4gIC8vICAgLy8gRVhFQ1VURSBUSEUgUkVRVUVTVFxuXG4gIC8vICAgLy8gQ1VTVE9NIEhBTkRMRVIgRk9SIFVTRVIgVE8gTE9HIE9SIFdIQVRFVkVSIFdIRU5FVkVSIEEgRkVUQ0ggSVMgTUFERVxuICAvLyAgIHJlc3QuZGVidWcoYFtSRVNUIC0gQWRkIFRvIEdsb2JhbCBRdWV1ZV0gJHtKU09OLnN0cmluZ2lmeShxdWV1ZWRSZXF1ZXN0LnBheWxvYWQpfWApO1xuICAvLyAgIC8vIHJlc3QuZ2xvYmFsUXVldWUucHVzaCh7XG4gIC8vICAgLy8gICAuLi5xdWV1ZWRSZXF1ZXN0LFxuICAvLyAgIC8vICAgdXJsVG9Vc2U6IHF1ZXVlZFJlcXVlc3QucmVxdWVzdC51cmwsXG4gIC8vICAgLy8gICBiYXNpY1VSTCxcbiAgLy8gICAvLyB9KTtcbiAgLy8gICByZXN0LnByb2Nlc3NHbG9iYWxRdWV1ZShyZXN0LCB7XG4gIC8vICAgICAuLi5xdWV1ZWRSZXF1ZXN0LFxuICAvLyAgICAgdXJsVG9Vc2U6IHF1ZXVlZFJlcXVlc3QucmVxdWVzdC51cmwsXG4gIC8vICAgICBiYXNpY1VSTCxcbiAgLy8gICB9KTtcbiAgLy8gICBxdWV1ZS5yZXF1ZXN0cy5zaGlmdCgpO1xuICAvLyB9XG5cbiAgLy8gLy8gT05DRSBRVUVVRSBJUyBET05FLCBXRSBDQU4gVFJZIENMRUFOSU5HIFVQXG4gIC8vIHJlc3QuY2xlYW51cFF1ZXVlcyhyZXN0KTtcbn1cbiJdLCJuYW1lcyI6WyJwcm9jZXNzUXVldWUiLCJyZXN0IiwiaWQiXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sU0FBU0EsYUFBY0MsQ0FBaUIsQ0FBRUMsQ0FBVSxDQUFRLENBOERuRSxDQUFDIn0=
@@ -0,0 +1,4 @@
1
+ import { RestManager } from './restManager.js';
2
+ /** This will create a infinite loop running in 1 seconds using tail recursion to keep rate limits clean. When a rate limit resets, this will remove it so the queue can proceed. */
3
+ export declare function processRateLimitedPaths(rest: RestManager): void;
4
+ //# sourceMappingURL=processRateLimitedPaths.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processRateLimitedPaths.d.ts","sourceRoot":"","sources":["../src/processRateLimitedPaths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAE9C,oLAAoL;AACpL,wBAAgB,uBAAuB,CAAE,IAAI,EAAE,WAAW,GAAG,IAAI,CAyBhE"}
@@ -0,0 +1,2 @@
1
+ export function processRateLimitedPaths(e){let t=Date.now();for(let[i,s]of e.rateLimitedPaths.entries())e.debug(`[REST - processRateLimitedPaths] Running for of loop. ${s.resetTimestamp-t}`),s.resetTimestamp>t||(e.rateLimitedPaths.delete(i),"global"!==i||(e.globallyRateLimited=!1));0===e.rateLimitedPaths.size?e.processingRateLimitedPaths=!1:(e.processingRateLimitedPaths=!0,setTimeout(()=>{e.debug("[REST - processRateLimitedPaths] Running setTimeout."),e.processRateLimitedPaths(e)},1e3))}
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9wcm9jZXNzUmF0ZUxpbWl0ZWRQYXRocy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZXN0TWFuYWdlciB9IGZyb20gJy4vcmVzdE1hbmFnZXIuanMnXG5cbi8qKiBUaGlzIHdpbGwgY3JlYXRlIGEgaW5maW5pdGUgbG9vcCBydW5uaW5nIGluIDEgc2Vjb25kcyB1c2luZyB0YWlsIHJlY3Vyc2lvbiB0byBrZWVwIHJhdGUgbGltaXRzIGNsZWFuLiBXaGVuIGEgcmF0ZSBsaW1pdCByZXNldHMsIHRoaXMgd2lsbCByZW1vdmUgaXQgc28gdGhlIHF1ZXVlIGNhbiBwcm9jZWVkLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHByb2Nlc3NSYXRlTGltaXRlZFBhdGhzIChyZXN0OiBSZXN0TWFuYWdlcik6IHZvaWQge1xuICBjb25zdCBub3cgPSBEYXRlLm5vdygpXG5cbiAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgcmVzdC5yYXRlTGltaXRlZFBhdGhzLmVudHJpZXMoKSkge1xuICAgIHJlc3QuZGVidWcoYFtSRVNUIC0gcHJvY2Vzc1JhdGVMaW1pdGVkUGF0aHNdIFJ1bm5pbmcgZm9yIG9mIGxvb3AuICR7dmFsdWUucmVzZXRUaW1lc3RhbXAgLSBub3d9YClcbiAgICAvLyBJRiBUSEUgVElNRSBIQVMgTk9UIFJFQUNIRUQgQ0FOQ0VMXG4gICAgaWYgKHZhbHVlLnJlc2V0VGltZXN0YW1wID4gbm93KSBjb250aW51ZVxuXG4gICAgLy8gUkFURSBMSU1JVCBJUyBPVkVSLCBERUxFVEUgVEhFIFJBVEUgTElNSVRFUlxuICAgIHJlc3QucmF0ZUxpbWl0ZWRQYXRocy5kZWxldGUoa2V5KVxuICAgIC8vIElGIElUIFdBUyBHTE9CQUwgQUxTTyBNQVJLIFRIRSBHTE9CQUwgVkFMVUUgQVMgRkFMU0VcbiAgICBpZiAoa2V5ID09PSAnZ2xvYmFsJykgcmVzdC5nbG9iYWxseVJhdGVMaW1pdGVkID0gZmFsc2VcbiAgfVxuXG4gIC8vIEFMTCBQQVRIUyBBUkUgQ0xFQVJFRCBDQU4gQ0FOQ0VMIE9VVCFcbiAgaWYgKHJlc3QucmF0ZUxpbWl0ZWRQYXRocy5zaXplID09PSAwKSB7XG4gICAgcmVzdC5wcm9jZXNzaW5nUmF0ZUxpbWl0ZWRQYXRocyA9IGZhbHNlXG4gIH0gZWxzZSB7XG4gICAgcmVzdC5wcm9jZXNzaW5nUmF0ZUxpbWl0ZWRQYXRocyA9IHRydWVcbiAgICAvLyBSRUNIRUNLIElOIDEgU0VDT05EXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICByZXN0LmRlYnVnKCdbUkVTVCAtIHByb2Nlc3NSYXRlTGltaXRlZFBhdGhzXSBSdW5uaW5nIHNldFRpbWVvdXQuJylcbiAgICAgIHJlc3QucHJvY2Vzc1JhdGVMaW1pdGVkUGF0aHMocmVzdClcbiAgICB9LCAxMDAwKVxuICB9XG59XG4iXSwibmFtZXMiOlsicHJvY2Vzc1JhdGVMaW1pdGVkUGF0aHMiLCJyZXN0Iiwibm93IiwiRGF0ZSIsImtleSIsInZhbHVlIiwicmF0ZUxpbWl0ZWRQYXRocyIsImVudHJpZXMiLCJkZWJ1ZyIsInJlc2V0VGltZXN0YW1wIiwiZGVsZXRlIiwiZ2xvYmFsbHlSYXRlTGltaXRlZCIsInNpemUiLCJwcm9jZXNzaW5nUmF0ZUxpbWl0ZWRQYXRocyIsInNldFRpbWVvdXQiXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sU0FBU0Esd0JBQXlCQyxDQUFpQixDQUFRLENBQ2hFLElBQU1DLEVBQU1DLEtBQUtELEdBQUcsR0FFcEIsSUFBSyxHQUFNLENBQUNFLEVBQUtDLEVBQU0sR0FBSUosRUFBS0ssZ0JBQWdCLENBQUNDLE9BQU8sR0FDdEROLEVBQUtPLEtBQUssQ0FBQyxDQUFDLHNEQUFzRCxFQUFFSCxFQUFNSSxjQUFjLENBQUdQLEVBQUksQ0FBQyxFQUU1RkcsRUFBTUksY0FBYyxDQUFHUCxJQUczQkQsRUFBS0ssZ0JBQWdCLENBQUNJLE1BQU0sQ0FBQ04sR0FFakIsV0FBUkEsR0FBa0JILENBQUFBLEVBQUtVLG1CQUFtQixDQUFHLENBQUEsQ0FBSSxFQUluRFYsQ0FBK0IsSUFBL0JBLEVBQUtLLGdCQUFnQixDQUFDTSxJQUFJLENBQzVCWCxFQUFLWSwwQkFBMEIsQ0FBRyxDQUFBLEdBRWxDWixFQUFLWSwwQkFBMEIsQ0FBRyxDQUFBLEVBRWxDQyxXQUFXLElBQU0sQ0FDZmIsRUFBS08sS0FBSyxDQUFDLHdEQUNYUCxFQUFLRCx1QkFBdUIsQ0FBQ0MsRUFDL0IsRUFBRyxLQUVQLENBQUMifQ==
@@ -0,0 +1,5 @@
1
+ import { RestPayload, RestRequest } from './rest.js';
2
+ import { RestManager } from './restManager.js';
3
+ /** Processes a request and assigns it to a queue or creates a queue if none exists for it. */
4
+ export declare function processRequest(rest: RestManager, request: RestRequest, payload: RestPayload): void;
5
+ //# sourceMappingURL=processRequest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processRequest.d.ts","sourceRoot":"","sources":["../src/processRequest.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAE9C,8FAA8F;AAC9F,wBAAgB,cAAc,CAC5B,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,WAAW,GACnB,IAAI,CA4BN"}
@@ -0,0 +1,2 @@
1
+ import{BASE_URL as e}from"@discordeno/utils";import{createQueueBucket as t}from"./createQueueBucket.js";export function processRequest(s,i,u){let r=i.url.substring(i.url.indexOf("api/")),o=r.split("/");o.shift(),o[0]?.startsWith("v")&&o.shift(),i.url=`${e}/v${s.version}/${o.join("/")}`,o.shift();let l=s.simplifyUrl(i.url,i.method),f=s.pathQueues.get(l);if(void 0!==f)f.makeRequest({request:i,payload:u});else{let p=t(s,{});p.makeRequest({request:i,payload:u}),s.pathQueues.set(l,p)}}
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9wcm9jZXNzUmVxdWVzdC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCQVNFX1VSTCB9IGZyb20gJ0BkaXNjb3JkZW5vL3V0aWxzJ1xuaW1wb3J0IHsgY3JlYXRlUXVldWVCdWNrZXQgfSBmcm9tICcuL2NyZWF0ZVF1ZXVlQnVja2V0LmpzJ1xuaW1wb3J0IHsgUmVzdFBheWxvYWQsIFJlc3RSZXF1ZXN0IH0gZnJvbSAnLi9yZXN0LmpzJ1xuaW1wb3J0IHsgUmVzdE1hbmFnZXIgfSBmcm9tICcuL3Jlc3RNYW5hZ2VyLmpzJ1xuXG4vKiogUHJvY2Vzc2VzIGEgcmVxdWVzdCBhbmQgYXNzaWducyBpdCB0byBhIHF1ZXVlIG9yIGNyZWF0ZXMgYSBxdWV1ZSBpZiBub25lIGV4aXN0cyBmb3IgaXQuICovXG5leHBvcnQgZnVuY3Rpb24gcHJvY2Vzc1JlcXVlc3QgKFxuICByZXN0OiBSZXN0TWFuYWdlcixcbiAgcmVxdWVzdDogUmVzdFJlcXVlc3QsXG4gIHBheWxvYWQ6IFJlc3RQYXlsb2FkXG4pOiB2b2lkIHtcbiAgY29uc3Qgcm91dGUgPSByZXF1ZXN0LnVybC5zdWJzdHJpbmcocmVxdWVzdC51cmwuaW5kZXhPZignYXBpLycpKVxuICBjb25zdCBwYXJ0cyA9IHJvdXRlLnNwbGl0KCcvJylcbiAgLy8gUkVNT1ZFIFRIRSBBUElcbiAgcGFydHMuc2hpZnQoKVxuICAvLyBSRU1PVkVTIFRIRSBWRVJTSU9OIE5VTUJFUlxuICBpZiAocGFydHNbMF0/LnN0YXJ0c1dpdGgoJ3YnKSkgcGFydHMuc2hpZnQoKVxuICAvLyBTRVQgVEhFIE5FVyBSRVFVRVNUIFVSTFxuICByZXF1ZXN0LnVybCA9IGAke0JBU0VfVVJMfS92JHtyZXN0LnZlcnNpb259LyR7cGFydHMuam9pbignLycpfWBcbiAgLy8gUkVNT1ZFIFRIRSBNQUpPUiBQQVJBTVxuICBwYXJ0cy5zaGlmdCgpXG5cbiAgY29uc3QgdXJsID0gcmVzdC5zaW1wbGlmeVVybChyZXF1ZXN0LnVybCwgcmVxdWVzdC5tZXRob2QpXG5cbiAgY29uc3QgcXVldWUgPSByZXN0LnBhdGhRdWV1ZXMuZ2V0KHVybClcbiAgaWYgKHF1ZXVlICE9PSB1bmRlZmluZWQpIHtcbiAgICB2b2lkIHF1ZXVlLm1ha2VSZXF1ZXN0KHsgcmVxdWVzdCwgcGF5bG9hZCB9KVxuICB9IGVsc2Uge1xuICAgIC8vIENSRUFURVMgQSBORVcgUVVFVUVcbiAgICBjb25zdCBidWNrZXRRdWV1ZSA9IGNyZWF0ZVF1ZXVlQnVja2V0KHJlc3QsIHt9KVxuICAgIC8vIEFkZCByZXF1ZXN0IHRvIHF1ZXVlXG4gICAgdm9pZCBidWNrZXRRdWV1ZS5tYWtlUmVxdWVzdCh7XG4gICAgICByZXF1ZXN0LFxuICAgICAgcGF5bG9hZFxuICAgIH0pXG4gICAgLy8gU2F2ZSBxdWV1ZVxuICAgIHJlc3QucGF0aFF1ZXVlcy5zZXQodXJsLCBidWNrZXRRdWV1ZSlcbiAgfVxufVxuIl0sIm5hbWVzIjpbIkJBU0VfVVJMIiwiY3JlYXRlUXVldWVCdWNrZXQiLCJwcm9jZXNzUmVxdWVzdCIsInJlc3QiLCJyZXF1ZXN0IiwicGF5bG9hZCIsInJvdXRlIiwidXJsIiwic3Vic3RyaW5nIiwiaW5kZXhPZiIsInBhcnRzIiwic3BsaXQiLCJzaGlmdCIsInN0YXJ0c1dpdGgiLCJ2ZXJzaW9uIiwiam9pbiIsInNpbXBsaWZ5VXJsIiwibWV0aG9kIiwicXVldWUiLCJwYXRoUXVldWVzIiwiZ2V0IiwidW5kZWZpbmVkIiwibWFrZVJlcXVlc3QiLCJidWNrZXRRdWV1ZSIsInNldCJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBU0EsWUFBQUEsQ0FBUSxLQUFRLG1CQUFtQixBQUM1QyxRQUFTQyxxQkFBQUEsQ0FBaUIsS0FBUSx3QkFBd0IsQUFLMUQsUUFBTyxTQUFTQyxlQUNkQyxDQUFpQixDQUNqQkMsQ0FBb0IsQ0FDcEJDLENBQW9CLENBQ2QsQ0FDTixJQUFNQyxFQUFRRixFQUFRRyxHQUFHLENBQUNDLFNBQVMsQ0FBQ0osRUFBUUcsR0FBRyxDQUFDRSxPQUFPLENBQUMsU0FDbERDLEVBQVFKLEVBQU1LLEtBQUssQ0FBQyxLQUUxQkQsRUFBTUUsS0FBSyxHQUVQRixDQUFLLENBQUMsRUFBRSxFQUFFRyxXQUFXLE1BQU1ILEVBQU1FLEtBQUssR0FFMUNSLEVBQVFHLEdBQUcsQ0FBRyxDQUFDLEVBQUVQLEVBQVMsRUFBRSxFQUFFRyxFQUFLVyxPQUFPLENBQUMsQ0FBQyxFQUFFSixFQUFNSyxJQUFJLENBQUMsS0FBSyxDQUFDLENBRS9ETCxFQUFNRSxLQUFLLEdBRVgsSUFBTUwsRUFBTUosRUFBS2EsV0FBVyxDQUFDWixFQUFRRyxHQUFHLENBQUVILEVBQVFhLE1BQU0sRUFFbERDLEVBQVFmLEVBQUtnQixVQUFVLENBQUNDLEdBQUcsQ0FBQ2IsR0FDbEMsR0FBSVcsQUFBVUcsS0FBQUEsSUFBVkgsRUFDR0EsRUFBTUksV0FBVyxDQUFDLENBQUVsQixRQUFBQSxFQUFTQyxRQUFBQSxDQUFRLE9BQ3JDLENBRUwsSUFBTWtCLEVBQWN0QixFQUFrQkUsRUFBTSxDQUFDLEdBRXhDb0IsRUFBWUQsV0FBVyxDQUFDLENBQzNCbEIsUUFBQUEsRUFDQUMsUUFBQUEsQ0FDRixHQUVBRixFQUFLZ0IsVUFBVSxDQUFDSyxHQUFHLENBQUNqQixFQUFLZ0IsRUFDM0IsQ0FBQyxBQUNILENBQUMifQ==
@@ -0,0 +1,4 @@
1
+ import { RestManager } from './restManager.js';
2
+ /** Processes the rate limit headers and determines if it needs to be rate limited and returns the bucket id if available */
3
+ export declare function processRequestHeaders(rest: RestManager, url: string, headers: Headers): string | undefined;
4
+ //# sourceMappingURL=processRequestHeaders.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processRequestHeaders.d.ts","sourceRoot":"","sources":["../src/processRequestHeaders.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAE9C,4HAA4H;AAC5H,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,WAAW,EACjB,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,OAAO,GACf,MAAM,GAAG,SAAS,CAuEpB"}
@@ -0,0 +1,2 @@
1
+ export function processRequestHeaders(e,t,i){let a=!1,r=i.get("x-ratelimit-remaining"),m=i.get("x-ratelimit-reset-after"),l=Date.now()+1e3*Number(m),s=i.get("x-ratelimit-global"),o=i.get("x-ratelimit-bucket")??void 0;if(e.pathQueues.get(t)?.handleCompletedRequest({remaining:Number(r),interval:1e3*Number(m),max:Number(i.get("x-ratelimit-limit"))}),"0"===r&&(a=!0,e.rateLimitedPaths.set(t,{url:t,resetTimestamp:l,bucketId:o}),o&&e.rateLimitedPaths.set(o,{url:t,resetTimestamp:l,bucketId:o})),s){let g=i.get("retry-after"),u=Date.now()+1e3*Number(g);e.debug(`[REST = Globally Rate Limited] URL: ${t} | Global Rest: ${u}`),e.globallyRateLimited=!0,a=!0,setTimeout(()=>{e.globallyRateLimited=!1},u),e.rateLimitedPaths.set("global",{url:"global",resetTimestamp:u,bucketId:o}),o&&e.rateLimitedPaths.set(o,{url:"global",resetTimestamp:u,bucketId:o})}return a&&!e.processingRateLimitedPaths&&e.processRateLimitedPaths(e),a?o:void 0}
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9wcm9jZXNzUmVxdWVzdEhlYWRlcnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVzdE1hbmFnZXIgfSBmcm9tICcuL3Jlc3RNYW5hZ2VyLmpzJ1xuXG4vKiogUHJvY2Vzc2VzIHRoZSByYXRlIGxpbWl0IGhlYWRlcnMgYW5kIGRldGVybWluZXMgaWYgaXQgbmVlZHMgdG8gYmUgcmF0ZSBsaW1pdGVkIGFuZCByZXR1cm5zIHRoZSBidWNrZXQgaWQgaWYgYXZhaWxhYmxlICovXG5leHBvcnQgZnVuY3Rpb24gcHJvY2Vzc1JlcXVlc3RIZWFkZXJzIChcbiAgcmVzdDogUmVzdE1hbmFnZXIsXG4gIHVybDogc3RyaW5nLFxuICBoZWFkZXJzOiBIZWFkZXJzXG4pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICBsZXQgcmF0ZUxpbWl0ZWQgPSBmYWxzZVxuXG4gIC8vIEdFVCBBTEwgTkVDRVNTQVJZIEhFQURFUlNcbiAgY29uc3QgcmVtYWluaW5nID0gaGVhZGVycy5nZXQoJ3gtcmF0ZWxpbWl0LXJlbWFpbmluZycpXG4gIGNvbnN0IHJldHJ5QWZ0ZXIgPSBoZWFkZXJzLmdldCgneC1yYXRlbGltaXQtcmVzZXQtYWZ0ZXInKVxuICBjb25zdCByZXNldCA9IERhdGUubm93KCkgKyBOdW1iZXIocmV0cnlBZnRlcikgKiAxMDAwXG4gIGNvbnN0IGdsb2JhbCA9IGhlYWRlcnMuZ2V0KCd4LXJhdGVsaW1pdC1nbG9iYWwnKVxuICAvLyB1bmRlZmluZWQgb3ZlcnJpZGUgbnVsbCBuZWVkZWQgZm9yIHR5cGluZ3NcbiAgY29uc3QgYnVja2V0SWQgPSBoZWFkZXJzLmdldCgneC1yYXRlbGltaXQtYnVja2V0JykgPz8gdW5kZWZpbmVkXG5cbiAgcmVzdC5wYXRoUXVldWVzLmdldCh1cmwpPy5oYW5kbGVDb21wbGV0ZWRSZXF1ZXN0KHtcbiAgICByZW1haW5pbmc6IE51bWJlcihyZW1haW5pbmcpLFxuICAgIGludGVydmFsOiBOdW1iZXIocmV0cnlBZnRlcikgKiAxMDAwLFxuICAgIG1heDogTnVtYmVyKGhlYWRlcnMuZ2V0KCd4LXJhdGVsaW1pdC1saW1pdCcpKVxuICB9KVxuXG4gIC8vIElGIFRIRVJFIElTIE5PIFJFTUFJTklORyBSQVRFIExJTUlULCBNQVJLIElUIEFTIFJBVEUgTElNSVRFRFxuICBpZiAocmVtYWluaW5nID09PSAnMCcpIHtcbiAgICByYXRlTGltaXRlZCA9IHRydWVcblxuICAgIC8vIFNBVkUgVEhFIFVSTCBBUyBMSU1JVEVELCBJTVBPUlRBTlQgRk9SIE5FVyBSRVFVRVNUUyBCWSBVU0VSIFdJVEhPVVQgQlVDS0VUXG4gICAgcmVzdC5yYXRlTGltaXRlZFBhdGhzLnNldCh1cmwsIHtcbiAgICAgIHVybCxcbiAgICAgIHJlc2V0VGltZXN0YW1wOiByZXNldCxcbiAgICAgIGJ1Y2tldElkXG4gICAgfSlcblxuICAgIC8vIFNBVkUgVEhFIEJVQ0tFVCBBUyBMSU1JVEVEIFNJTkNFIERJRkZFUkVOVCBVUkxTIE1BWSBTSEFSRSBBIEJVQ0tFVFxuICAgIGlmIChidWNrZXRJZCkge1xuICAgICAgcmVzdC5yYXRlTGltaXRlZFBhdGhzLnNldChidWNrZXRJZCwge1xuICAgICAgICB1cmwsXG4gICAgICAgIHJlc2V0VGltZXN0YW1wOiByZXNldCxcbiAgICAgICAgYnVja2V0SWRcbiAgICAgIH0pXG4gICAgfVxuICB9XG5cbiAgLy8gSUYgVEhFUkUgSVMgTk8gUkVNQUlOSU5HIEdMT0JBTCBMSU1JVCwgTUFSSyBJVCBSQVRFIExJTUlURUQgR0xPQkFMTFlcbiAgaWYgKGdsb2JhbCkge1xuICAgIGNvbnN0IHJldHJ5QWZ0ZXIgPSBoZWFkZXJzLmdldCgncmV0cnktYWZ0ZXInKVxuICAgIGNvbnN0IGdsb2JhbFJlc2V0ID0gRGF0ZS5ub3coKSArIE51bWJlcihyZXRyeUFmdGVyKSAqIDEwMDBcbiAgICByZXN0LmRlYnVnKFxuICAgICAgYFtSRVNUID0gR2xvYmFsbHkgUmF0ZSBMaW1pdGVkXSBVUkw6ICR7dXJsfSB8IEdsb2JhbCBSZXN0OiAke2dsb2JhbFJlc2V0fWBcbiAgICApXG4gICAgcmVzdC5nbG9iYWxseVJhdGVMaW1pdGVkID0gdHJ1ZVxuICAgIHJhdGVMaW1pdGVkID0gdHJ1ZVxuXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICByZXN0Lmdsb2JhbGx5UmF0ZUxpbWl0ZWQgPSBmYWxzZVxuICAgIH0sIGdsb2JhbFJlc2V0KVxuXG4gICAgcmVzdC5yYXRlTGltaXRlZFBhdGhzLnNldCgnZ2xvYmFsJywge1xuICAgICAgdXJsOiAnZ2xvYmFsJyxcbiAgICAgIHJlc2V0VGltZXN0YW1wOiBnbG9iYWxSZXNldCxcbiAgICAgIGJ1Y2tldElkXG4gICAgfSlcblxuICAgIGlmIChidWNrZXRJZCkge1xuICAgICAgcmVzdC5yYXRlTGltaXRlZFBhdGhzLnNldChidWNrZXRJZCwge1xuICAgICAgICB1cmw6ICdnbG9iYWwnLFxuICAgICAgICByZXNldFRpbWVzdGFtcDogZ2xvYmFsUmVzZXQsXG4gICAgICAgIGJ1Y2tldElkXG4gICAgICB9KVxuICAgIH1cbiAgfVxuXG4gIGlmIChyYXRlTGltaXRlZCAmJiAhcmVzdC5wcm9jZXNzaW5nUmF0ZUxpbWl0ZWRQYXRocykge1xuICAgIHJlc3QucHJvY2Vzc1JhdGVMaW1pdGVkUGF0aHMocmVzdClcbiAgfVxuICByZXR1cm4gcmF0ZUxpbWl0ZWQgPyBidWNrZXRJZCA6IHVuZGVmaW5lZFxufVxuIl0sIm5hbWVzIjpbInByb2Nlc3NSZXF1ZXN0SGVhZGVycyIsInJlc3QiLCJ1cmwiLCJoZWFkZXJzIiwicmF0ZUxpbWl0ZWQiLCJyZW1haW5pbmciLCJnZXQiLCJyZXRyeUFmdGVyIiwicmVzZXQiLCJEYXRlIiwibm93IiwiTnVtYmVyIiwiZ2xvYmFsIiwiYnVja2V0SWQiLCJ1bmRlZmluZWQiLCJwYXRoUXVldWVzIiwiaGFuZGxlQ29tcGxldGVkUmVxdWVzdCIsImludGVydmFsIiwibWF4IiwicmF0ZUxpbWl0ZWRQYXRocyIsInNldCIsInJlc2V0VGltZXN0YW1wIiwiZ2xvYmFsUmVzZXQiLCJkZWJ1ZyIsImdsb2JhbGx5UmF0ZUxpbWl0ZWQiLCJzZXRUaW1lb3V0IiwicHJvY2Vzc2luZ1JhdGVMaW1pdGVkUGF0aHMiLCJwcm9jZXNzUmF0ZUxpbWl0ZWRQYXRocyJdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxTQUFTQSxzQkFDZEMsQ0FBaUIsQ0FDakJDLENBQVcsQ0FDWEMsQ0FBZ0IsQ0FDSSxDQUNwQixJQUFJQyxFQUFjLENBQUEsRUFHWkMsRUFBWUYsRUFBUUcsR0FBRyxDQUFDLHlCQUN4QkMsRUFBYUosRUFBUUcsR0FBRyxDQUFDLDJCQUN6QkUsRUFBUUMsS0FBS0MsR0FBRyxHQUFLQyxBQUFxQixJQUFyQkEsT0FBT0osR0FDNUJLLEVBQVNULEVBQVFHLEdBQUcsQ0FBQyxzQkFFckJPLEVBQVdWLEVBQVFHLEdBQUcsQ0FBQyx1QkFBeUJRLEtBQUFBLEVBOEJ0RCxHQTVCQWIsRUFBS2MsVUFBVSxDQUFDVCxHQUFHLENBQUNKLElBQU1jLHVCQUF1QixDQUMvQ1gsVUFBV00sT0FBT04sR0FDbEJZLFNBQVVOLEFBQXFCLElBQXJCQSxPQUFPSixHQUNqQlcsSUFBS1AsT0FBT1IsRUFBUUcsR0FBRyxDQUFDLHFCQUMxQixHQUdrQixNQUFkRCxJQUNGRCxFQUFjLENBQUEsRUFHZEgsRUFBS2tCLGdCQUFnQixDQUFDQyxHQUFHLENBQUNsQixFQUFLLENBQzdCQSxJQUFBQSxFQUNBbUIsZUFBZ0JiLEVBQ2hCSyxTQUFBQSxDQUNGLEdBR0lBLEdBQ0ZaLEVBQUtrQixnQkFBZ0IsQ0FBQ0MsR0FBRyxDQUFDUCxFQUFVLENBQ2xDWCxJQUFBQSxFQUNBbUIsZUFBZ0JiLEVBQ2hCSyxTQUFBQSxDQUNGLElBS0FELEVBQVEsQ0FDVixJQUFNTCxFQUFhSixFQUFRRyxHQUFHLENBQUMsZUFDekJnQixFQUFjYixLQUFLQyxHQUFHLEdBQUtDLEFBQXFCLElBQXJCQSxPQUFPSixHQUN4Q04sRUFBS3NCLEtBQUssQ0FDUixDQUFDLG9DQUFvQyxFQUFFckIsRUFBSSxnQkFBZ0IsRUFBRW9CLEVBQVksQ0FBQyxFQUU1RXJCLEVBQUt1QixtQkFBbUIsQ0FBRyxDQUFBLEVBQzNCcEIsRUFBYyxDQUFBLEVBRWRxQixXQUFXLElBQU0sQ0FDZnhCLEVBQUt1QixtQkFBbUIsQ0FBRyxDQUFBLENBQzdCLEVBQUdGLEdBRUhyQixFQUFLa0IsZ0JBQWdCLENBQUNDLEdBQUcsQ0FBQyxTQUFVLENBQ2xDbEIsSUFBSyxTQUNMbUIsZUFBZ0JDLEVBQ2hCVCxTQUFBQSxDQUNGLEdBRUlBLEdBQ0ZaLEVBQUtrQixnQkFBZ0IsQ0FBQ0MsR0FBRyxDQUFDUCxFQUFVLENBQ2xDWCxJQUFLLFNBQ0xtQixlQUFnQkMsRUFDaEJULFNBQUFBLENBQ0YsRUFFSixDQUFDLEFBS0QsT0FISVQsR0FBZSxDQUFDSCxFQUFLeUIsMEJBQTBCLEVBQ2pEekIsRUFBSzBCLHVCQUF1QixDQUFDMUIsR0FFeEJHLEVBQWNTLEVBQVdDLEtBQUFBLENBQVMsQUFDM0MsQ0FBQyJ9
package/dist/rest.d.ts ADDED
@@ -0,0 +1,27 @@
1
+ export interface RestRequest {
2
+ url: string;
3
+ method: RequestMethod;
4
+ respond: (payload: RestRequestResponse) => unknown;
5
+ reject: (payload: RestRequestRejection) => unknown;
6
+ }
7
+ export interface RestRequestResponse {
8
+ ok: boolean;
9
+ status: number;
10
+ body?: string;
11
+ }
12
+ export interface RestRequestRejection extends RestRequestResponse {
13
+ error: string;
14
+ }
15
+ export interface RestPayload {
16
+ bucketId?: string;
17
+ body?: Record<string, unknown>;
18
+ retryCount: number;
19
+ headers?: Record<string, string>;
20
+ }
21
+ export interface RestRateLimitedPath {
22
+ url: string;
23
+ resetTimestamp: number;
24
+ bucketId?: string;
25
+ }
26
+ export type RequestMethod = 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH';
27
+ //# sourceMappingURL=rest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rest.d.ts","sourceRoot":"","sources":["../src/rest.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,aAAa,CAAA;IACrB,OAAO,EAAE,CAAC,OAAO,EAAE,mBAAmB,KAAK,OAAO,CAAA;IAClD,MAAM,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,OAAO,CAAA;CACnD;AAED,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,OAAO,CAAA;IACX,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,oBAAqB,SAAQ,mBAAmB;IAC/D,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC9B,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACjC;AAED,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,MAAM,CAAA;IACX,cAAc,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,CAAA"}
package/dist/rest.js ADDED
@@ -0,0 +1,2 @@
1
+ export{};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9yZXN0LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgUmVzdFJlcXVlc3Qge1xuICB1cmw6IHN0cmluZ1xuICBtZXRob2Q6IFJlcXVlc3RNZXRob2RcbiAgcmVzcG9uZDogKHBheWxvYWQ6IFJlc3RSZXF1ZXN0UmVzcG9uc2UpID0+IHVua25vd25cbiAgcmVqZWN0OiAocGF5bG9hZDogUmVzdFJlcXVlc3RSZWplY3Rpb24pID0+IHVua25vd25cbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZXN0UmVxdWVzdFJlc3BvbnNlIHtcbiAgb2s6IGJvb2xlYW5cbiAgc3RhdHVzOiBudW1iZXJcbiAgYm9keT86IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlc3RSZXF1ZXN0UmVqZWN0aW9uIGV4dGVuZHMgUmVzdFJlcXVlc3RSZXNwb25zZSB7XG4gIGVycm9yOiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZXN0UGF5bG9hZCB7XG4gIGJ1Y2tldElkPzogc3RyaW5nXG4gIGJvZHk/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuICByZXRyeUNvdW50OiBudW1iZXJcbiAgaGVhZGVycz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZXN0UmF0ZUxpbWl0ZWRQYXRoIHtcbiAgdXJsOiBzdHJpbmdcbiAgcmVzZXRUaW1lc3RhbXA6IG51bWJlclxuICBidWNrZXRJZD86IHN0cmluZ1xufVxuXG5leHBvcnQgdHlwZSBSZXF1ZXN0TWV0aG9kID0gJ0dFVCcgfCAnUE9TVCcgfCAnUFVUJyB8ICdERUxFVEUnIHwgJ1BBVENIJ1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBIn0=
@@ -0,0 +1,73 @@
1
+ import { checkRateLimits } from './checkRateLimits.js';
2
+ import { cleanupQueues } from './cleanupQueues.js';
3
+ import { convertRestError } from './convertRestError.js';
4
+ import { QueueBucket } from './createQueueBucket.js';
5
+ import { createRequestBody } from './createRequestBody.js';
6
+ import { processGlobalQueue } from './processGlobalQueue.js';
7
+ import { processQueue } from './processQueue.js';
8
+ import { processRateLimitedPaths } from './processRateLimitedPaths.js';
9
+ import { processRequest } from './processRequest.js';
10
+ import { processRequestHeaders } from './processRequestHeaders.js';
11
+ import { RestPayload, RestRateLimitedPath, RestRequest } from './rest.js';
12
+ import { runMethod } from './runMethod.js';
13
+ import { RestSendRequestOptions, sendRequest } from './sendRequest.js';
14
+ import { simplifyUrl } from './simplifyUrl.js';
15
+ export declare function createRestManager(options: CreateRestManagerOptions): {
16
+ invalidBucket: import("./createInvalidRequestBucket.js").InvalidRequestBucket;
17
+ version: number;
18
+ token: string;
19
+ maxRetryCount: number;
20
+ secretKey: string;
21
+ customUrl: string;
22
+ pathQueues: Map<string, QueueBucket>;
23
+ processingQueue: boolean;
24
+ processingRateLimitedPaths: boolean;
25
+ globallyRateLimited: boolean;
26
+ globalQueue: {
27
+ request: RestRequest;
28
+ payload: RestPayload;
29
+ basicURL: string;
30
+ urlToUse: string;
31
+ }[];
32
+ globalQueueProcessing: boolean;
33
+ rateLimitedPaths: Map<string, RestRateLimitedPath>;
34
+ debug: (text: string) => unknown;
35
+ checkRateLimits: typeof checkRateLimits;
36
+ cleanupQueues: typeof cleanupQueues;
37
+ processQueue: typeof processQueue;
38
+ processRateLimitedPaths: typeof processRateLimitedPaths;
39
+ processRequestHeaders: typeof processRequestHeaders;
40
+ processRequest: typeof processRequest;
41
+ createRequestBody: typeof createRequestBody;
42
+ runMethod: typeof runMethod;
43
+ simplifyUrl: typeof simplifyUrl;
44
+ processGlobalQueue: typeof processGlobalQueue;
45
+ convertRestError: typeof convertRestError;
46
+ sendRequest: typeof sendRequest;
47
+ fetching: (options: RestSendRequestOptions) => void;
48
+ fetched: (options: RestSendRequestOptions, response: Response) => void;
49
+ };
50
+ export interface CreateRestManagerOptions {
51
+ token: string;
52
+ customUrl?: string;
53
+ maxRetryCount?: number;
54
+ version?: number;
55
+ secretKey?: string;
56
+ debug?: (text: string) => unknown;
57
+ checkRateLimits?: typeof checkRateLimits;
58
+ cleanupQueues?: typeof cleanupQueues;
59
+ processQueue?: typeof processQueue;
60
+ processRateLimitedPaths?: typeof processRateLimitedPaths;
61
+ processRequestHeaders?: typeof processRequestHeaders;
62
+ processRequest?: typeof processRequest;
63
+ createRequestBody?: typeof createRequestBody;
64
+ runMethod?: typeof runMethod;
65
+ simplifyUrl?: typeof simplifyUrl;
66
+ processGlobalQueue?: typeof processGlobalQueue;
67
+ convertRestError?: typeof convertRestError;
68
+ sendRequest?: typeof sendRequest;
69
+ fetching?: (options: RestSendRequestOptions) => void;
70
+ fetched?: (options: RestSendRequestOptions, response: Response) => void;
71
+ }
72
+ export type RestManager = ReturnType<typeof createRestManager>;
73
+ //# sourceMappingURL=restManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"restManager.d.ts","sourceRoot":"","sources":["../src/restManager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAExD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAA;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAClE,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AACzE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EAAE,sBAAsB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAG9C,wBAAgB,iBAAiB,CAAE,OAAO,EAAE,wBAAwB;;;;;;;;;;;;iBAmBrD,WAAW;iBACX,WAAW;kBACV,MAAM;kBACN,MAAM;;;;;;;;;;;;;;;;;;;EAqCrB;AAED,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAA;IACjC,eAAe,CAAC,EAAE,OAAO,eAAe,CAAA;IACxC,aAAa,CAAC,EAAE,OAAO,aAAa,CAAA;IACpC,YAAY,CAAC,EAAE,OAAO,YAAY,CAAA;IAClC,uBAAuB,CAAC,EAAE,OAAO,uBAAuB,CAAA;IACxD,qBAAqB,CAAC,EAAE,OAAO,qBAAqB,CAAA;IACpD,cAAc,CAAC,EAAE,OAAO,cAAc,CAAA;IACtC,iBAAiB,CAAC,EAAE,OAAO,iBAAiB,CAAA;IAC5C,SAAS,CAAC,EAAE,OAAO,SAAS,CAAA;IAC5B,WAAW,CAAC,EAAE,OAAO,WAAW,CAAA;IAChC,kBAAkB,CAAC,EAAE,OAAO,kBAAkB,CAAA;IAC9C,gBAAgB,CAAC,EAAE,OAAO,gBAAgB,CAAA;IAC1C,WAAW,CAAC,EAAE,OAAO,WAAW,CAAA;IAChC,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,sBAAsB,KAAK,IAAI,CAAA;IACpD,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,sBAAsB,EAAE,QAAQ,EAAE,QAAQ,KAAK,IAAI,CAAA;CACxE;AAED,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ import{API_VERSION as e,baseEndpoints as s,removeTokenPrefix as t}from"@discordeno/utils";import{checkRateLimits as r}from"./checkRateLimits.js";import{cleanupQueues as o}from"./cleanupQueues.js";import{convertRestError as u}from"./convertRestError.js";import{createInvalidRequestBucket as i}from"./createInvalidRequestBucket.js";import{createRequestBody as c}from"./createRequestBody.js";import{processGlobalQueue as m}from"./processGlobalQueue.js";import{processQueue as a}from"./processQueue.js";import{processRateLimitedPaths as n}from"./processRateLimitedPaths.js";import{processRequest as p}from"./processRequest.js";import{processRequestHeaders as l}from"./processRequestHeaders.js";import{runMethod as d}from"./runMethod.js";import{sendRequest as R}from"./sendRequest.js";import{simplifyUrl as f}from"./simplifyUrl.js";export function createRestManager(h){let g=h.version??e;void 0!==h.customUrl&&(s.BASE_URL=`${h.customUrl}/v${g}`);let j={invalidBucket:i({}),version:g,token:t(h.token),maxRetryCount:h.maxRetryCount??10,secretKey:h.secretKey??"discordeno_best_lib_ever",customUrl:h.customUrl??"",pathQueues:new Map,processingQueue:!1,processingRateLimitedPaths:!1,globallyRateLimited:!1,globalQueue:[],globalQueueProcessing:!1,rateLimitedPaths:new Map,debug:h.debug??function(e){},checkRateLimits:h.checkRateLimits??r,cleanupQueues:h.cleanupQueues??o,processQueue:h.processQueue??a,processRateLimitedPaths:h.processRateLimitedPaths??n,processRequestHeaders:h.processRequestHeaders??l,processRequest:h.processRequest??p,createRequestBody:h.createRequestBody??c,runMethod:h.runMethod??d,simplifyUrl:h.simplifyUrl??f,processGlobalQueue:h.processGlobalQueue??m,convertRestError:h.convertRestError??u,sendRequest:h.sendRequest??R,fetching:h.fetching??function(e){h.debug?.(`[REST - fetching] URL: ${e.url} | ${JSON.stringify(e)}`)},fetched:h.fetched??function(e,s){h.debug?.(`[REST - fetched] URL: ${e.url} | Status: ${s.status} ${JSON.stringify(e)}`)}};return j}
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9yZXN0TWFuYWdlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBUElfVkVSU0lPTiwgYmFzZUVuZHBvaW50cywgcmVtb3ZlVG9rZW5QcmVmaXggfSBmcm9tICdAZGlzY29yZGVuby91dGlscydcbmltcG9ydCB7IGNoZWNrUmF0ZUxpbWl0cyB9IGZyb20gJy4vY2hlY2tSYXRlTGltaXRzLmpzJ1xuaW1wb3J0IHsgY2xlYW51cFF1ZXVlcyB9IGZyb20gJy4vY2xlYW51cFF1ZXVlcy5qcydcbmltcG9ydCB7IGNvbnZlcnRSZXN0RXJyb3IgfSBmcm9tICcuL2NvbnZlcnRSZXN0RXJyb3IuanMnXG5pbXBvcnQgeyBjcmVhdGVJbnZhbGlkUmVxdWVzdEJ1Y2tldCB9IGZyb20gJy4vY3JlYXRlSW52YWxpZFJlcXVlc3RCdWNrZXQuanMnXG5pbXBvcnQgeyBRdWV1ZUJ1Y2tldCB9IGZyb20gJy4vY3JlYXRlUXVldWVCdWNrZXQuanMnXG5pbXBvcnQgeyBjcmVhdGVSZXF1ZXN0Qm9keSB9IGZyb20gJy4vY3JlYXRlUmVxdWVzdEJvZHkuanMnXG5pbXBvcnQgeyBwcm9jZXNzR2xvYmFsUXVldWUgfSBmcm9tICcuL3Byb2Nlc3NHbG9iYWxRdWV1ZS5qcydcbmltcG9ydCB7IHByb2Nlc3NRdWV1ZSB9IGZyb20gJy4vcHJvY2Vzc1F1ZXVlLmpzJ1xuaW1wb3J0IHsgcHJvY2Vzc1JhdGVMaW1pdGVkUGF0aHMgfSBmcm9tICcuL3Byb2Nlc3NSYXRlTGltaXRlZFBhdGhzLmpzJ1xuaW1wb3J0IHsgcHJvY2Vzc1JlcXVlc3QgfSBmcm9tICcuL3Byb2Nlc3NSZXF1ZXN0LmpzJ1xuaW1wb3J0IHsgcHJvY2Vzc1JlcXVlc3RIZWFkZXJzIH0gZnJvbSAnLi9wcm9jZXNzUmVxdWVzdEhlYWRlcnMuanMnXG5pbXBvcnQgeyBSZXN0UGF5bG9hZCwgUmVzdFJhdGVMaW1pdGVkUGF0aCwgUmVzdFJlcXVlc3QgfSBmcm9tICcuL3Jlc3QuanMnXG5pbXBvcnQgeyBydW5NZXRob2QgfSBmcm9tICcuL3J1bk1ldGhvZC5qcydcbmltcG9ydCB7IFJlc3RTZW5kUmVxdWVzdE9wdGlvbnMsIHNlbmRSZXF1ZXN0IH0gZnJvbSAnLi9zZW5kUmVxdWVzdC5qcydcbmltcG9ydCB7IHNpbXBsaWZ5VXJsIH0gZnJvbSAnLi9zaW1wbGlmeVVybC5qcydcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9leHBsaWNpdC1mdW5jdGlvbi1yZXR1cm4tdHlwZVxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVJlc3RNYW5hZ2VyIChvcHRpb25zOiBDcmVhdGVSZXN0TWFuYWdlck9wdGlvbnMpIHtcbiAgY29uc3QgdmVyc2lvbiA9IG9wdGlvbnMudmVyc2lvbiA/PyBBUElfVkVSU0lPTlxuXG4gIGlmIChvcHRpb25zLmN1c3RvbVVybCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgYmFzZUVuZHBvaW50cy5CQVNFX1VSTCA9IGAke29wdGlvbnMuY3VzdG9tVXJsfS92JHt2ZXJzaW9ufWBcbiAgfVxuXG4gIGNvbnN0IHJlc3QgPSB7XG4gICAgaW52YWxpZEJ1Y2tldDogY3JlYXRlSW52YWxpZFJlcXVlc3RCdWNrZXQoe30pLFxuICAgIHZlcnNpb24sXG4gICAgdG9rZW46IHJlbW92ZVRva2VuUHJlZml4KG9wdGlvbnMudG9rZW4pLFxuICAgIG1heFJldHJ5Q291bnQ6IG9wdGlvbnMubWF4UmV0cnlDb3VudCA/PyAxMCxcbiAgICBzZWNyZXRLZXk6IG9wdGlvbnMuc2VjcmV0S2V5ID8/ICdkaXNjb3JkZW5vX2Jlc3RfbGliX2V2ZXInLFxuICAgIGN1c3RvbVVybDogb3B0aW9ucy5jdXN0b21VcmwgPz8gJycsXG4gICAgcGF0aFF1ZXVlczogbmV3IE1hcDxzdHJpbmcsIFF1ZXVlQnVja2V0PigpLFxuICAgIHByb2Nlc3NpbmdRdWV1ZTogZmFsc2UsXG4gICAgcHJvY2Vzc2luZ1JhdGVMaW1pdGVkUGF0aHM6IGZhbHNlLFxuICAgIGdsb2JhbGx5UmF0ZUxpbWl0ZWQ6IGZhbHNlLFxuICAgIGdsb2JhbFF1ZXVlOiBbXSBhcyBBcnJheTx7XG4gICAgICByZXF1ZXN0OiBSZXN0UmVxdWVzdFxuICAgICAgcGF5bG9hZDogUmVzdFBheWxvYWRcbiAgICAgIGJhc2ljVVJMOiBzdHJpbmdcbiAgICAgIHVybFRvVXNlOiBzdHJpbmdcbiAgICB9PixcbiAgICBnbG9iYWxRdWV1ZVByb2Nlc3Npbmc6IGZhbHNlLFxuICAgIHJhdGVMaW1pdGVkUGF0aHM6IG5ldyBNYXA8c3RyaW5nLCBSZXN0UmF0ZUxpbWl0ZWRQYXRoPigpLFxuXG4gICAgZGVidWc6IG9wdGlvbnMuZGVidWcgPz8gZnVuY3Rpb24gKF90ZXh0OiBzdHJpbmcpIHsgfSxcbiAgICBjaGVja1JhdGVMaW1pdHM6IG9wdGlvbnMuY2hlY2tSYXRlTGltaXRzID8/IGNoZWNrUmF0ZUxpbWl0cyxcbiAgICBjbGVhbnVwUXVldWVzOiBvcHRpb25zLmNsZWFudXBRdWV1ZXMgPz8gY2xlYW51cFF1ZXVlcyxcbiAgICBwcm9jZXNzUXVldWU6IG9wdGlvbnMucHJvY2Vzc1F1ZXVlID8/IHByb2Nlc3NRdWV1ZSxcbiAgICBwcm9jZXNzUmF0ZUxpbWl0ZWRQYXRoczogb3B0aW9ucy5wcm9jZXNzUmF0ZUxpbWl0ZWRQYXRocyA/P1xuICAgICAgcHJvY2Vzc1JhdGVMaW1pdGVkUGF0aHMsXG4gICAgcHJvY2Vzc1JlcXVlc3RIZWFkZXJzOiBvcHRpb25zLnByb2Nlc3NSZXF1ZXN0SGVhZGVycyA/P1xuICAgICAgcHJvY2Vzc1JlcXVlc3RIZWFkZXJzLFxuICAgIHByb2Nlc3NSZXF1ZXN0OiBvcHRpb25zLnByb2Nlc3NSZXF1ZXN0ID8/IHByb2Nlc3NSZXF1ZXN0LFxuICAgIGNyZWF0ZVJlcXVlc3RCb2R5OiBvcHRpb25zLmNyZWF0ZVJlcXVlc3RCb2R5ID8/IGNyZWF0ZVJlcXVlc3RCb2R5LFxuICAgIHJ1bk1ldGhvZDogb3B0aW9ucy5ydW5NZXRob2QgPz8gcnVuTWV0aG9kLFxuICAgIHNpbXBsaWZ5VXJsOiBvcHRpb25zLnNpbXBsaWZ5VXJsID8/IHNpbXBsaWZ5VXJsLFxuICAgIHByb2Nlc3NHbG9iYWxRdWV1ZTogb3B0aW9ucy5wcm9jZXNzR2xvYmFsUXVldWUgPz8gcHJvY2Vzc0dsb2JhbFF1ZXVlLFxuICAgIGNvbnZlcnRSZXN0RXJyb3I6IG9wdGlvbnMuY29udmVydFJlc3RFcnJvciA/PyBjb252ZXJ0UmVzdEVycm9yLFxuICAgIHNlbmRSZXF1ZXN0OiBvcHRpb25zLnNlbmRSZXF1ZXN0ID8/IHNlbmRSZXF1ZXN0LFxuXG4gICAgZmV0Y2hpbmc6IG9wdGlvbnMuZmV0Y2hpbmcgPz8gZnVuY3Rpb24gKG9wdHM6IFJlc3RTZW5kUmVxdWVzdE9wdGlvbnMpIHtcbiAgICAgIG9wdGlvbnMuZGVidWc/LihcbiAgICAgICAgYFtSRVNUIC0gZmV0Y2hpbmddIFVSTDogJHtvcHRzLnVybH0gfCAke0pTT04uc3RyaW5naWZ5KG9wdHMpfWBcbiAgICAgIClcbiAgICB9LFxuICAgIGZldGNoZWQ6IG9wdGlvbnMuZmV0Y2hlZCA/PyBmdW5jdGlvbiAoXG4gICAgICBvcHRzOiBSZXN0U2VuZFJlcXVlc3RPcHRpb25zLFxuICAgICAgcmVzcG9uc2U6IFJlc3BvbnNlXG4gICAgKSB7XG4gICAgICBvcHRpb25zLmRlYnVnPy4oXG4gICAgICAgIGBbUkVTVCAtIGZldGNoZWRdIFVSTDogJHtvcHRzLnVybH0gfCBTdGF0dXM6ICR7cmVzcG9uc2Uuc3RhdHVzfSAke0pTT04uc3RyaW5naWZ5KG9wdHMpfWBcbiAgICAgIClcbiAgICB9XG4gIH1cblxuICByZXR1cm4gcmVzdFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIENyZWF0ZVJlc3RNYW5hZ2VyT3B0aW9ucyB7XG4gIHRva2VuOiBzdHJpbmdcbiAgY3VzdG9tVXJsPzogc3RyaW5nXG4gIG1heFJldHJ5Q291bnQ/OiBudW1iZXJcbiAgdmVyc2lvbj86IG51bWJlclxuICBzZWNyZXRLZXk/OiBzdHJpbmdcbiAgZGVidWc/OiAodGV4dDogc3RyaW5nKSA9PiB1bmtub3duXG4gIGNoZWNrUmF0ZUxpbWl0cz86IHR5cGVvZiBjaGVja1JhdGVMaW1pdHNcbiAgY2xlYW51cFF1ZXVlcz86IHR5cGVvZiBjbGVhbnVwUXVldWVzXG4gIHByb2Nlc3NRdWV1ZT86IHR5cGVvZiBwcm9jZXNzUXVldWVcbiAgcHJvY2Vzc1JhdGVMaW1pdGVkUGF0aHM/OiB0eXBlb2YgcHJvY2Vzc1JhdGVMaW1pdGVkUGF0aHNcbiAgcHJvY2Vzc1JlcXVlc3RIZWFkZXJzPzogdHlwZW9mIHByb2Nlc3NSZXF1ZXN0SGVhZGVyc1xuICBwcm9jZXNzUmVxdWVzdD86IHR5cGVvZiBwcm9jZXNzUmVxdWVzdFxuICBjcmVhdGVSZXF1ZXN0Qm9keT86IHR5cGVvZiBjcmVhdGVSZXF1ZXN0Qm9keVxuICBydW5NZXRob2Q/OiB0eXBlb2YgcnVuTWV0aG9kXG4gIHNpbXBsaWZ5VXJsPzogdHlwZW9mIHNpbXBsaWZ5VXJsXG4gIHByb2Nlc3NHbG9iYWxRdWV1ZT86IHR5cGVvZiBwcm9jZXNzR2xvYmFsUXVldWVcbiAgY29udmVydFJlc3RFcnJvcj86IHR5cGVvZiBjb252ZXJ0UmVzdEVycm9yXG4gIHNlbmRSZXF1ZXN0PzogdHlwZW9mIHNlbmRSZXF1ZXN0XG4gIGZldGNoaW5nPzogKG9wdGlvbnM6IFJlc3RTZW5kUmVxdWVzdE9wdGlvbnMpID0+IHZvaWRcbiAgZmV0Y2hlZD86IChvcHRpb25zOiBSZXN0U2VuZFJlcXVlc3RPcHRpb25zLCByZXNwb25zZTogUmVzcG9uc2UpID0+IHZvaWRcbn1cblxuZXhwb3J0IHR5cGUgUmVzdE1hbmFnZXIgPSBSZXR1cm5UeXBlPHR5cGVvZiBjcmVhdGVSZXN0TWFuYWdlcj5cbiJdLCJuYW1lcyI6WyJBUElfVkVSU0lPTiIsImJhc2VFbmRwb2ludHMiLCJyZW1vdmVUb2tlblByZWZpeCIsImNoZWNrUmF0ZUxpbWl0cyIsImNsZWFudXBRdWV1ZXMiLCJjb252ZXJ0UmVzdEVycm9yIiwiY3JlYXRlSW52YWxpZFJlcXVlc3RCdWNrZXQiLCJjcmVhdGVSZXF1ZXN0Qm9keSIsInByb2Nlc3NHbG9iYWxRdWV1ZSIsInByb2Nlc3NRdWV1ZSIsInByb2Nlc3NSYXRlTGltaXRlZFBhdGhzIiwicHJvY2Vzc1JlcXVlc3QiLCJwcm9jZXNzUmVxdWVzdEhlYWRlcnMiLCJydW5NZXRob2QiLCJzZW5kUmVxdWVzdCIsInNpbXBsaWZ5VXJsIiwiY3JlYXRlUmVzdE1hbmFnZXIiLCJvcHRpb25zIiwidmVyc2lvbiIsInVuZGVmaW5lZCIsImN1c3RvbVVybCIsIkJBU0VfVVJMIiwicmVzdCIsImludmFsaWRCdWNrZXQiLCJ0b2tlbiIsIm1heFJldHJ5Q291bnQiLCJzZWNyZXRLZXkiLCJwYXRoUXVldWVzIiwiTWFwIiwicHJvY2Vzc2luZ1F1ZXVlIiwicHJvY2Vzc2luZ1JhdGVMaW1pdGVkUGF0aHMiLCJnbG9iYWxseVJhdGVMaW1pdGVkIiwiZ2xvYmFsUXVldWUiLCJnbG9iYWxRdWV1ZVByb2Nlc3NpbmciLCJyYXRlTGltaXRlZFBhdGhzIiwiZGVidWciLCJfdGV4dCIsImZldGNoaW5nIiwib3B0cyIsInVybCIsIkpTT04iLCJzdHJpbmdpZnkiLCJmZXRjaGVkIiwicmVzcG9uc2UiLCJzdGF0dXMiXSwibWFwcGluZ3MiOiJBQUFBLE9BQVNBLGVBQUFBLENBQVcsQ0FBRUMsaUJBQUFBLENBQWEsQ0FBRUMscUJBQUFBLENBQWlCLEtBQVEsbUJBQW1CLEFBQ2pGLFFBQVNDLG1CQUFBQSxDQUFlLEtBQVEsc0JBQXNCLEFBQ3RELFFBQVNDLGlCQUFBQSxDQUFhLEtBQVEsb0JBQW9CLEFBQ2xELFFBQVNDLG9CQUFBQSxDQUFnQixLQUFRLHVCQUF1QixBQUN4RCxRQUFTQyw4QkFBQUEsQ0FBMEIsS0FBUSxpQ0FBaUMsQUFFNUUsUUFBU0MscUJBQUFBLENBQWlCLEtBQVEsd0JBQXdCLEFBQzFELFFBQVNDLHNCQUFBQSxDQUFrQixLQUFRLHlCQUF5QixBQUM1RCxRQUFTQyxnQkFBQUEsQ0FBWSxLQUFRLG1CQUFtQixBQUNoRCxRQUFTQywyQkFBQUEsQ0FBdUIsS0FBUSw4QkFBOEIsQUFDdEUsUUFBU0Msa0JBQUFBLENBQWMsS0FBUSxxQkFBcUIsQUFDcEQsUUFBU0MseUJBQUFBLENBQXFCLEtBQVEsNEJBQTRCLEFBRWxFLFFBQVNDLGFBQUFBLENBQVMsS0FBUSxnQkFBZ0IsQUFDMUMsUUFBaUNDLGVBQUFBLENBQVcsS0FBUSxrQkFBa0IsQUFDdEUsUUFBU0MsZUFBQUEsQ0FBVyxLQUFRLGtCQUFrQixBQUc5QyxRQUFPLFNBQVNDLGtCQUFtQkMsQ0FBaUMsQ0FBRSxDQUNwRSxJQUFNQyxFQUFVRCxFQUFRQyxPQUFPLEVBQUlsQixDQUVUbUIsTUFBQUEsSUFBdEJGLEVBQVFHLFNBQVMsRUFDbkJuQixDQUFBQSxFQUFjb0IsUUFBUSxDQUFHLENBQUMsRUFBRUosRUFBUUcsU0FBUyxDQUFDLEVBQUUsRUFBRUYsRUFBUSxDQUFDLEFBQUQsRUFHNUQsSUFBTUksRUFBTyxDQUNYQyxjQUFlakIsRUFBMkIsQ0FBQyxHQUMzQ1ksUUFBQUEsRUFDQU0sTUFBT3RCLEVBQWtCZSxFQUFRTyxLQUFLLEVBQ3RDQyxjQUFlUixFQUFRUSxhQUFhLEVBQUksR0FDeENDLFVBQVdULEVBQVFTLFNBQVMsRUFBSSwyQkFDaENOLFVBQVdILEVBQVFHLFNBQVMsRUFBSSxHQUNoQ08sV0FBWSxJQUFJQyxJQUNoQkMsZ0JBQWlCLENBQUEsRUFDakJDLDJCQUE0QixDQUFBLEVBQzVCQyxvQkFBcUIsQ0FBQSxFQUNyQkMsWUFBYSxFQUFFLENBTWZDLHNCQUF1QixDQUFBLEVBQ3ZCQyxpQkFBa0IsSUFBSU4sSUFFdEJPLE1BQU9sQixFQUFRa0IsS0FBSyxFQUFJLFNBQVVDLENBQWEsQ0FBRSxDQUFFLEVBQ25EakMsZ0JBQWlCYyxFQUFRZCxlQUFlLEVBQUlBLEVBQzVDQyxjQUFlYSxFQUFRYixhQUFhLEVBQUlBLEVBQ3hDSyxhQUFjUSxFQUFRUixZQUFZLEVBQUlBLEVBQ3RDQyx3QkFBeUJPLEVBQVFQLHVCQUF1QixFQUN0REEsRUFDRkUsc0JBQXVCSyxFQUFRTCxxQkFBcUIsRUFDbERBLEVBQ0ZELGVBQWdCTSxFQUFRTixjQUFjLEVBQUlBLEVBQzFDSixrQkFBbUJVLEVBQVFWLGlCQUFpQixFQUFJQSxFQUNoRE0sVUFBV0ksRUFBUUosU0FBUyxFQUFJQSxFQUNoQ0UsWUFBYUUsRUFBUUYsV0FBVyxFQUFJQSxFQUNwQ1AsbUJBQW9CUyxFQUFRVCxrQkFBa0IsRUFBSUEsRUFDbERILGlCQUFrQlksRUFBUVosZ0JBQWdCLEVBQUlBLEVBQzlDUyxZQUFhRyxFQUFRSCxXQUFXLEVBQUlBLEVBRXBDdUIsU0FBVXBCLEVBQVFvQixRQUFRLEVBQUksU0FBVUMsQ0FBNEIsQ0FBRSxDQUNwRXJCLEVBQVFrQixLQUFLLEdBQ1gsQ0FBQyx1QkFBdUIsRUFBRUcsRUFBS0MsR0FBRyxDQUFDLEdBQUcsRUFBRUMsS0FBS0MsU0FBUyxDQUFDSCxHQUFNLENBQUMsQ0FFbEUsRUFDQUksUUFBU3pCLEVBQVF5QixPQUFPLEVBQUksU0FDMUJKLENBQTRCLENBQzVCSyxDQUFrQixDQUNsQixDQUNBMUIsRUFBUWtCLEtBQUssR0FDWCxDQUFDLHNCQUFzQixFQUFFRyxFQUFLQyxHQUFHLENBQUMsV0FBVyxFQUFFSSxFQUFTQyxNQUFNLENBQUMsQ0FBQyxFQUFFSixLQUFLQyxTQUFTLENBQUNILEdBQU0sQ0FBQyxDQUU1RixDQUNGLEVBRUEsT0FBT2hCLENBQ1QsQ0FBQyJ9
@@ -0,0 +1,8 @@
1
+ import { RequestMethod } from './rest.js';
2
+ import { RestManager } from './restManager.js';
3
+ export declare function runMethod<T = any>(rest: RestManager, method: RequestMethod, route: string, body?: any, options?: {
4
+ retryCount?: number;
5
+ bucketId?: string;
6
+ headers?: Record<string, string>;
7
+ }): Promise<T>;
8
+ //# sourceMappingURL=runMethod.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runMethod.d.ts","sourceRoot":"","sources":["../src/runMethod.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,aAAa,EAGd,MAAM,WAAW,CAAA;AAClB,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAE9C,wBAAsB,SAAS,CAAC,CAAC,GAAG,GAAG,EACrC,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,MAAM,EACb,IAAI,CAAC,EAAE,GAAG,EACV,OAAO,CAAC,EAAE;IACR,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACjC,GACA,OAAO,CAAC,CAAC,CAAC,CAiFZ"}
@@ -0,0 +1,2 @@
1
+ import{API_VERSION as t,baseEndpoints as e,BASE_URL as r,encode as o}from"@discordeno/utils";export async function runMethod(a,i,s,n,u){a.debug(`[REST - RequestCreate] Method: ${i} | URL: ${s} | Retry Count: ${u?.retryCount??0} | Bucket ID: ${u?.bucketId??"N/A"} | Body: ${JSON.stringify(n)}`);let c=Error("Location:");if(Error.captureStackTrace(c),!e.BASE_URL.startsWith(r)&&"/"===s[0]){n?.file&&(Array.isArray(n.file)||(n.file=[n.file]),n.file=await Promise.all(n.file.map(async t=>{let e=o(await t.blob.arrayBuffer());return{name:t.name,blob:`data:${t.blob.type};base64,${e}`}})));let d={Authorization:a.secretKey};void 0!==n&&(d["Content-Type"]="application/json");let l=await fetch(`${e.BASE_URL}${s}`,{body:n?JSON.stringify(n):void 0,headers:d,method:i});if(!l.ok){let y=await l.json().catch(()=>{});if(!y?.body)throw Error(`Error: ${y.message??l.statusText}`);throw a.convertRestError(c,y)}return 204!==l.status?await l.json():void 0}return await new Promise((e,o)=>{a.processRequest(a,{url:"/"===s[0]?`${r}/v${t}${s}`:s,method:i,reject:t=>{let e=a.convertRestError(c,t);o(e)},respond:t=>e(204!==t.status?JSON.parse(t.body??"{}"):void 0)},{bucketId:u?.bucketId,body:n,retryCount:u?.retryCount??0,headers:u?.headers})})}
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9ydW5NZXRob2QudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmlsZUNvbnRlbnQgfSBmcm9tICdAZGlzY29yZGVuby90eXBlcydcbmltcG9ydCB7XG4gIEFQSV9WRVJTSU9OLFxuICBiYXNlRW5kcG9pbnRzLFxuICBCQVNFX1VSTCxcbiAgZW5jb2RlXG59IGZyb20gJ0BkaXNjb3JkZW5vL3V0aWxzJ1xuaW1wb3J0IHtcbiAgUmVxdWVzdE1ldGhvZCxcbiAgUmVzdFJlcXVlc3RSZWplY3Rpb24sXG4gIFJlc3RSZXF1ZXN0UmVzcG9uc2Vcbn0gZnJvbSAnLi9yZXN0LmpzJ1xuaW1wb3J0IHsgUmVzdE1hbmFnZXIgfSBmcm9tICcuL3Jlc3RNYW5hZ2VyLmpzJ1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcnVuTWV0aG9kPFQgPSBhbnk+IChcbiAgcmVzdDogUmVzdE1hbmFnZXIsXG4gIG1ldGhvZDogUmVxdWVzdE1ldGhvZCxcbiAgcm91dGU6IHN0cmluZyxcbiAgYm9keT86IGFueSxcbiAgb3B0aW9ucz86IHtcbiAgICByZXRyeUNvdW50PzogbnVtYmVyXG4gICAgYnVja2V0SWQ/OiBzdHJpbmdcbiAgICBoZWFkZXJzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPlxuICB9XG4pOiBQcm9taXNlPFQ+IHtcbiAgcmVzdC5kZWJ1ZyhcbiAgICBgW1JFU1QgLSBSZXF1ZXN0Q3JlYXRlXSBNZXRob2Q6ICR7bWV0aG9kfSB8IFVSTDogJHtyb3V0ZX0gfCBSZXRyeSBDb3VudDogJHtcbiAgICAgIG9wdGlvbnM/LnJldHJ5Q291bnQgPz8gMFxuICAgIH0gfCBCdWNrZXQgSUQ6ICR7b3B0aW9ucz8uYnVja2V0SWQgPz8gJ04vQSd9IHwgQm9keTogJHtKU09OLnN0cmluZ2lmeShcbiAgICAgIGJvZHlcbiAgICApfWBcbiAgKVxuXG4gIGNvbnN0IGVycm9yU3RhY2sgPSBuZXcgRXJyb3IoJ0xvY2F0aW9uOicpXG4gIEVycm9yLmNhcHR1cmVTdGFja1RyYWNlKGVycm9yU3RhY2spXG5cbiAgLy8gRm9yIHByb3hpZXMgd2UgZG9uJ3QgbmVlZCB0byBkbyBhbnkgb2YgdGhlIGxlZ3dvcmsgc28gd2UganVzdCBmb3J3YXJkIHRoZSByZXF1ZXN0XG4gIGlmICghYmFzZUVuZHBvaW50cy5CQVNFX1VSTC5zdGFydHNXaXRoKEJBU0VfVVJMKSAmJiByb3V0ZVswXSA9PT0gJy8nKSB7XG4gICAgLy8gU3BlY2lhbCBoYW5kbGluZyBmb3Igc2VuZGluZyBibG9icyBhY3Jvc3MgaHR0cCB0byBwcm94eVxuICAgIGlmIChib2R5Py5maWxlKSB7XG4gICAgICBpZiAoIUFycmF5LmlzQXJyYXkoYm9keS5maWxlKSkge1xuICAgICAgICBib2R5LmZpbGUgPSBbYm9keS5maWxlXVxuICAgICAgfVxuICAgICAgLy8gY29udmVydCBibG9icyB0byBzdHJpbmcgYmVmb3JlIHNlbmRpbmcgdG8gcHJveHlcbiAgICAgIGJvZHkuZmlsZSA9IGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgICBib2R5LmZpbGUubWFwKGFzeW5jIChmOiBGaWxlQ29udGVudCkgPT4ge1xuICAgICAgICAgIGNvbnN0IHVybCA9IGVuY29kZShhd2FpdCBmLmJsb2IuYXJyYXlCdWZmZXIoKSlcblxuICAgICAgICAgIHJldHVybiB7IG5hbWU6IGYubmFtZSwgYmxvYjogYGRhdGE6JHtmLmJsb2IudHlwZX07YmFzZTY0LCR7dXJsfWAgfVxuICAgICAgICB9KVxuICAgICAgKVxuICAgIH1cblxuICAgIGNvbnN0IGhlYWRlcnM6IEhlYWRlcnNJbml0ID0ge1xuICAgICAgQXV0aG9yaXphdGlvbjogcmVzdC5zZWNyZXRLZXlcbiAgICB9XG4gICAgaWYgKGJvZHkgIT09IHVuZGVmaW5lZCkge1xuICAgICAgaGVhZGVyc1snQ29udGVudC1UeXBlJ10gPSAnYXBwbGljYXRpb24vanNvbidcbiAgICB9XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgZmV0Y2goYCR7YmFzZUVuZHBvaW50cy5CQVNFX1VSTH0ke3JvdXRlfWAsIHtcbiAgICAgIGJvZHk6IGJvZHkgPyBKU09OLnN0cmluZ2lmeShib2R5KSA6IHVuZGVmaW5lZCxcbiAgICAgIGhlYWRlcnMsXG4gICAgICBtZXRob2RcbiAgICB9KVxuXG4gICAgaWYgKCFyZXN1bHQub2spIHtcbiAgICAgIGNvbnN0IGVycjogUmVzdFJlcXVlc3RSZWplY3Rpb24gPSBhd2FpdCByZXN1bHQuanNvbigpLmNhdGNoKCgpID0+IHt9KVxuICAgICAgLy8gTGVnYWN5IEhhbmRsaW5nIHRvIG5vdCBicmVhayBvbGQgY29kZSBvciB3aGVuIGJvZHkgaXMgbWlzc2luZ1xuICAgICAgaWYgKCFlcnI/LmJvZHkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIGBFcnJvcjogJHsoZXJyIGFzIHVua25vd24gYXMgRXJyb3IpLm1lc3NhZ2UgPz8gcmVzdWx0LnN0YXR1c1RleHR9YFxuICAgICAgICApXG4gICAgICB9XG4gICAgICB0aHJvdyByZXN0LmNvbnZlcnRSZXN0RXJyb3IoZXJyb3JTdGFjaywgZXJyKVxuICAgIH1cblxuICAgIHJldHVybiByZXN1bHQuc3RhdHVzICE9PSAyMDQgPyBhd2FpdCByZXN1bHQuanNvbigpIDogdW5kZWZpbmVkXG4gIH1cblxuICAvLyBObyBwcm94eSBzbyB3ZSBuZWVkIHRvIGhhbmRsZSBhbGwgcmF0ZSBsaW1pdGluZyBhbmQgc3VjaFxuICByZXR1cm4gYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIHJlc3QucHJvY2Vzc1JlcXVlc3QoXG4gICAgICByZXN0LFxuICAgICAge1xuICAgICAgICB1cmw6IHJvdXRlWzBdID09PSAnLycgPyBgJHtCQVNFX1VSTH0vdiR7QVBJX1ZFUlNJT059JHtyb3V0ZX1gIDogcm91dGUsXG4gICAgICAgIG1ldGhvZCxcbiAgICAgICAgcmVqZWN0OiAoZGF0YTogUmVzdFJlcXVlc3RSZWplY3Rpb24pID0+IHtcbiAgICAgICAgICBjb25zdCByZXN0RXJyb3IgPSByZXN0LmNvbnZlcnRSZXN0RXJyb3IoZXJyb3JTdGFjaywgZGF0YSlcbiAgICAgICAgICByZWplY3QocmVzdEVycm9yKVxuICAgICAgICB9LFxuICAgICAgICByZXNwb25kOiAoZGF0YTogUmVzdFJlcXVlc3RSZXNwb25zZSkgPT5cbiAgICAgICAgICByZXNvbHZlKFxuICAgICAgICAgICAgZGF0YS5zdGF0dXMgIT09IDIwNFxuICAgICAgICAgICAgICA/IEpTT04ucGFyc2UoZGF0YS5ib2R5ID8/ICd7fScpXG4gICAgICAgICAgICAgIDogKHVuZGVmaW5lZCBhcyB1bmtub3duIGFzIFQpXG4gICAgICAgICAgKVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgYnVja2V0SWQ6IG9wdGlvbnM/LmJ1Y2tldElkLFxuICAgICAgICBib2R5OiBib2R5IGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+IHwgdW5kZWZpbmVkLFxuICAgICAgICByZXRyeUNvdW50OiBvcHRpb25zPy5yZXRyeUNvdW50ID8/IDAsXG4gICAgICAgIGhlYWRlcnM6IG9wdGlvbnM/LmhlYWRlcnNcbiAgICAgIH1cbiAgICApXG4gIH0pXG59XG4iXSwibmFtZXMiOlsiQVBJX1ZFUlNJT04iLCJiYXNlRW5kcG9pbnRzIiwiQkFTRV9VUkwiLCJlbmNvZGUiLCJydW5NZXRob2QiLCJyZXN0IiwibWV0aG9kIiwicm91dGUiLCJib2R5Iiwib3B0aW9ucyIsImRlYnVnIiwicmV0cnlDb3VudCIsImJ1Y2tldElkIiwiSlNPTiIsInN0cmluZ2lmeSIsImVycm9yU3RhY2siLCJFcnJvciIsImNhcHR1cmVTdGFja1RyYWNlIiwic3RhcnRzV2l0aCIsImZpbGUiLCJBcnJheSIsImlzQXJyYXkiLCJQcm9taXNlIiwiYWxsIiwibWFwIiwiZiIsInVybCIsImJsb2IiLCJhcnJheUJ1ZmZlciIsIm5hbWUiLCJ0eXBlIiwiaGVhZGVycyIsIkF1dGhvcml6YXRpb24iLCJzZWNyZXRLZXkiLCJ1bmRlZmluZWQiLCJyZXN1bHQiLCJmZXRjaCIsIm9rIiwiZXJyIiwianNvbiIsImNhdGNoIiwibWVzc2FnZSIsInN0YXR1c1RleHQiLCJjb252ZXJ0UmVzdEVycm9yIiwic3RhdHVzIiwicmVzb2x2ZSIsInJlamVjdCIsInByb2Nlc3NSZXF1ZXN0IiwiZGF0YSIsInJlc3RFcnJvciIsInJlc3BvbmQiLCJwYXJzZSJdLCJtYXBwaW5ncyI6IkFBQ0EsT0FDRUEsZUFBQUEsQ0FBVyxDQUNYQyxpQkFBQUEsQ0FBYSxDQUNiQyxZQUFBQSxDQUFRLENBQ1JDLFVBQUFBLENBQU0sS0FDRCxtQkFBbUIsQUFRMUIsUUFBTyxlQUFlQyxVQUNwQkMsQ0FBaUIsQ0FDakJDLENBQXFCLENBQ3JCQyxDQUFhLENBQ2JDLENBQVUsQ0FDVkMsQ0FJQyxDQUNXLENBQ1pKLEVBQUtLLEtBQUssQ0FDUixDQUFDLCtCQUErQixFQUFFSixFQUFPLFFBQVEsRUFBRUMsRUFBTSxnQkFBZ0IsRUFDdkVFLEdBQVNFLFlBQWMsRUFDeEIsY0FBYyxFQUFFRixHQUFTRyxVQUFZLE1BQU0sU0FBUyxFQUFFQyxLQUFLQyxTQUFTLENBQ25FTixHQUNBLENBQUMsRUFHTCxJQUFNTyxFQUFhLEFBQUlDLE1BQU0sYUFJN0IsR0FIQUEsTUFBTUMsaUJBQWlCLENBQUNGLEdBR3BCLENBQUNkLEVBQWNDLFFBQVEsQ0FBQ2dCLFVBQVUsQ0FBQ2hCLElBQWFLLEFBQWEsTUFBYkEsQ0FBSyxDQUFDLEVBQUUsQ0FBVSxDQUVoRUMsR0FBTVcsT0FDSEMsTUFBTUMsT0FBTyxDQUFDYixFQUFLVyxJQUFJLEdBQzFCWCxDQUFBQSxFQUFLVyxJQUFJLENBQUcsQ0FBQ1gsRUFBS1csSUFBSSxDQUFDLEFBQUQsRUFHeEJYLEVBQUtXLElBQUksQ0FBRyxNQUFNRyxRQUFRQyxHQUFHLENBQzNCZixFQUFLVyxJQUFJLENBQUNLLEdBQUcsQ0FBQyxNQUFPQyxHQUFtQixDQUN0QyxJQUFNQyxFQUFNdkIsRUFBTyxNQUFNc0IsRUFBRUUsSUFBSSxDQUFDQyxXQUFXLElBRTNDLE1BQU8sQ0FBRUMsS0FBTUosRUFBRUksSUFBSSxDQUFFRixLQUFNLENBQUMsS0FBSyxFQUFFRixFQUFFRSxJQUFJLENBQUNHLElBQUksQ0FBQyxRQUFRLEVBQUVKLEVBQUksQ0FBQyxBQUFDLENBQ25FLEtBSUosSUFBTUssRUFBdUIsQ0FDM0JDLGNBQWUzQixFQUFLNEIsU0FBUyxBQUMvQixDQUNhQyxNQUFBQSxJQUFUMUIsR0FDRnVCLENBQUFBLENBQU8sQ0FBQyxlQUFlLENBQUcsa0JBQWlCLEVBRTdDLElBQU1JLEVBQVMsTUFBTUMsTUFBTSxDQUFDLEVBQUVuQyxFQUFjQyxRQUFRLENBQUMsRUFBRUssRUFBTSxDQUFDLENBQUUsQ0FDOURDLEtBQU1BLEVBQU9LLEtBQUtDLFNBQVMsQ0FBQ04sR0FBUTBCLEtBQUFBLENBQVMsQ0FDN0NILFFBQUFBLEVBQ0F6QixPQUFBQSxDQUNGLEdBRUEsR0FBSSxDQUFDNkIsRUFBT0UsRUFBRSxDQUFFLENBQ2QsSUFBTUMsRUFBNEIsTUFBTUgsRUFBT0ksSUFBSSxHQUFHQyxLQUFLLENBQUMsSUFBTSxDQUFDLEdBRW5FLEdBQUksQ0FBQ0YsR0FBSzlCLEtBQ1IsTUFBTSxBQUFJUSxNQUNSLENBQUMsT0FBTyxFQUFFLEFBQUNzQixFQUF5QkcsT0FBTyxFQUFJTixFQUFPTyxVQUFVLENBQUMsQ0FBQyxDQUNuRSxBQUNGLEFBQ0QsT0FBTXJDLEVBQUtzQyxnQkFBZ0IsQ0FBQzVCLEVBQVl1QixFQUFJLEFBQzlDLENBQUMsQUFFRCxPQUFPSCxBQUFrQixNQUFsQkEsRUFBT1MsTUFBTSxDQUFXLE1BQU1ULEVBQU9JLElBQUksR0FBS0wsS0FBQUEsQ0FBUyxBQUNoRSxDQUFDLEFBR0QsT0FBTyxNQUFNLElBQUlaLFFBQVEsQ0FBQ3VCLEVBQVNDLElBQVcsQ0FDNUN6QyxFQUFLMEMsY0FBYyxDQUNqQjFDLEVBQ0EsQ0FDRXFCLElBQUtuQixBQUFhLE1BQWJBLENBQUssQ0FBQyxFQUFFLENBQVcsQ0FBQyxFQUFFTCxFQUFTLEVBQUUsRUFBRUYsRUFBWSxFQUFFTyxFQUFNLENBQUMsQ0FBR0EsQ0FBSyxDQUNyRUQsT0FBQUEsRUFDQXdDLE9BQVEsQUFBQ0UsR0FBK0IsQ0FDdEMsSUFBTUMsRUFBWTVDLEVBQUtzQyxnQkFBZ0IsQ0FBQzVCLEVBQVlpQyxHQUNwREYsRUFBT0csRUFDVCxFQUNBQyxRQUFTLEFBQUNGLEdBQ1JILEVBQ0VHLEFBQWdCLE1BQWhCQSxFQUFLSixNQUFNLENBQ1AvQixLQUFLc0MsS0FBSyxDQUFDSCxFQUFLeEMsSUFBSSxFQUFJLE1BQ3ZCMEIsS0FBQUEsQ0FBMEIsQ0FFckMsRUFDQSxDQUNFdEIsU0FBVUgsR0FBU0csU0FDbkJKLEtBQU1BLEVBQ05HLFdBQVlGLEdBQVNFLFlBQWMsRUFDbkNvQixRQUFTdEIsR0FBU3NCLE9BQ3BCLEVBRUosRUFDRixDQUFDIn0=
@@ -0,0 +1,7 @@
1
+ import { RestRequestRejection, RestRequestResponse } from './rest.js';
2
+ import { RestManager } from './restManager.js';
3
+ export type ProxyMethodResponse<T> = Omit<RestRequestResponse | RestRequestRejection, 'body'> & {
4
+ body?: T;
5
+ };
6
+ export declare function runProxyMethod<T = any>(rest: RestManager, method: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH', url: string, body?: unknown, retryCount?: number, bucketId?: string): Promise<ProxyMethodResponse<T>>;
7
+ //# sourceMappingURL=runProxyMethod.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runProxyMethod.d.ts","sourceRoot":"","sources":["../src/runProxyMethod.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAA;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAE9C,MAAM,MAAM,mBAAmB,CAAC,CAAC,IAAI,IAAI,CACzC,mBAAmB,GAAG,oBAAoB,EAC1C,MAAM,CACL,GAAG;IAAE,IAAI,CAAC,EAAE,CAAC,CAAA;CAAE,CAAA;AAIhB,wBAAsB,cAAc,CAAC,CAAC,GAAG,GAAG,EAC1C,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,EACnD,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE,OAAO,EACd,UAAU,SAAI,EACd,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CA2CjC"}
@@ -0,0 +1,2 @@
1
+ export async function runProxyMethod(e,t,o,r,s=0,d){return e.debug(`[REST - RequestCreate] Method: ${t} | URL: ${o} | Retry Count: ${s} | Bucket ID: ${d??"N/A"} | Body: ${JSON.stringify(r)}`),await new Promise((u,y)=>{e.processRequest(e,{url:o,method:t,reject:e=>{let{body:t,...o}=e;y({body:204!==e.status?JSON.parse(t??"{}"):void 0,...o})},respond:e=>{let{body:t,...o}=e;u({body:204!==e.status?JSON.parse(t??"{}"):void 0,...o})}},{bucketId:d,body:r,retryCount:s})})}
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9ydW5Qcm94eU1ldGhvZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZXN0UmVxdWVzdFJlamVjdGlvbiwgUmVzdFJlcXVlc3RSZXNwb25zZSB9IGZyb20gJy4vcmVzdC5qcydcbmltcG9ydCB7IFJlc3RNYW5hZ2VyIH0gZnJvbSAnLi9yZXN0TWFuYWdlci5qcydcblxuZXhwb3J0IHR5cGUgUHJveHlNZXRob2RSZXNwb25zZTxUPiA9IE9taXQ8XG5SZXN0UmVxdWVzdFJlc3BvbnNlIHwgUmVzdFJlcXVlc3RSZWplY3Rpb24sXG4nYm9keSdcbj4gJiB7IGJvZHk/OiBUIH1cblxuLy8gTGVmdCBvdXQgcHJveHkgcmVxdWVzdCwgYmVjYXVzZSBpdCdzIG5vdCBuZWVkZWQgaGVyZVxuLy8gdGhpcyBmaWxlIGNvdWxkIGFsc28gYmUgbW92ZWQgdG8gYSBwbHVnaW4uXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcnVuUHJveHlNZXRob2Q8VCA9IGFueT4gKFxuICByZXN0OiBSZXN0TWFuYWdlcixcbiAgbWV0aG9kOiAnR0VUJyB8ICdQT1NUJyB8ICdQVVQnIHwgJ0RFTEVURScgfCAnUEFUQ0gnLFxuICB1cmw6IHN0cmluZyxcbiAgYm9keT86IHVua25vd24sXG4gIHJldHJ5Q291bnQgPSAwLFxuICBidWNrZXRJZD86IHN0cmluZ1xuKTogUHJvbWlzZTxQcm94eU1ldGhvZFJlc3BvbnNlPFQ+PiB7XG4gIHJlc3QuZGVidWcoXG4gICAgYFtSRVNUIC0gUmVxdWVzdENyZWF0ZV0gTWV0aG9kOiAke21ldGhvZH0gfCBVUkw6ICR7dXJsfSB8IFJldHJ5IENvdW50OiAke3JldHJ5Q291bnR9IHwgQnVja2V0IElEOiAke1xuICAgICAgYnVja2V0SWQgPz8gJ04vQSdcbiAgICB9IHwgQm9keTogJHtKU09OLnN0cmluZ2lmeShib2R5KX1gXG4gIClcblxuICAvLyBObyBwcm94eSBzbyB3ZSBuZWVkIHRvIGhhbmRsZSBhbGwgcmF0ZSBsaW1pdGluZyBhbmQgc3VjaFxuICByZXR1cm4gYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIHJlc3QucHJvY2Vzc1JlcXVlc3QoXG4gICAgICByZXN0LFxuICAgICAge1xuICAgICAgICB1cmwsXG4gICAgICAgIG1ldGhvZCxcbiAgICAgICAgcmVqZWN0OiAoZGF0YTogUmVzdFJlcXVlc3RSZWplY3Rpb24pID0+IHtcbiAgICAgICAgICBjb25zdCB7IGJvZHk6IGIsIC4uLnIgfSA9IGRhdGFcbiAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJlZmVyLXByb21pc2UtcmVqZWN0LWVycm9yc1xuICAgICAgICAgIHJlamVjdCh7XG4gICAgICAgICAgICBib2R5OlxuICAgICAgICAgICAgICBkYXRhLnN0YXR1cyAhPT0gMjA0XG4gICAgICAgICAgICAgICAgPyBKU09OLnBhcnNlKGIgPz8gJ3t9JylcbiAgICAgICAgICAgICAgICA6ICh1bmRlZmluZWQgYXMgdW5rbm93biBhcyBUKSxcbiAgICAgICAgICAgIC4uLnJcbiAgICAgICAgICB9KVxuICAgICAgICB9LFxuICAgICAgICByZXNwb25kOiAoZGF0YTogUmVzdFJlcXVlc3RSZXNwb25zZSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHsgYm9keTogYiwgLi4uciB9ID0gZGF0YVxuICAgICAgICAgIHJlc29sdmUoe1xuICAgICAgICAgICAgYm9keTpcbiAgICAgICAgICAgICAgZGF0YS5zdGF0dXMgIT09IDIwNFxuICAgICAgICAgICAgICAgID8gSlNPTi5wYXJzZShiID8/ICd7fScpXG4gICAgICAgICAgICAgICAgOiAodW5kZWZpbmVkIGFzIHVua25vd24gYXMgVCksXG4gICAgICAgICAgICAuLi5yXG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgYnVja2V0SWQsXG4gICAgICAgIGJvZHk6IGJvZHkgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gfCB1bmRlZmluZWQsXG4gICAgICAgIHJldHJ5Q291bnRcbiAgICAgIH1cbiAgICApXG4gIH0pXG59XG4iXSwibmFtZXMiOlsicnVuUHJveHlNZXRob2QiLCJyZXN0IiwibWV0aG9kIiwidXJsIiwiYm9keSIsInJldHJ5Q291bnQiLCJidWNrZXRJZCIsImRlYnVnIiwiSlNPTiIsInN0cmluZ2lmeSIsIlByb21pc2UiLCJyZXNvbHZlIiwicmVqZWN0IiwicHJvY2Vzc1JlcXVlc3QiLCJkYXRhIiwiYiIsInIiLCJzdGF0dXMiLCJwYXJzZSIsInVuZGVmaW5lZCIsInJlc3BvbmQiXSwibWFwcGluZ3MiOiJBQVVBLE9BQU8sZUFBZUEsZUFDcEJDLENBQWlCLENBQ2pCQyxDQUFtRCxDQUNuREMsQ0FBVyxDQUNYQyxDQUFjLENBQ2RDLEVBQWEsQ0FBQyxDQUNkQyxDQUFpQixDQUNnQixDQVFqQyxPQVBBTCxFQUFLTSxLQUFLLENBQ1IsQ0FBQywrQkFBK0IsRUFBRUwsRUFBTyxRQUFRLEVBQUVDLEVBQUksZ0JBQWdCLEVBQUVFLEVBQVcsY0FBYyxFQUNoR0MsR0FBWSxNQUNiLFNBQVMsRUFBRUUsS0FBS0MsU0FBUyxDQUFDTCxHQUFNLENBQUMsRUFJN0IsTUFBTSxJQUFJTSxRQUFRLENBQUNDLEVBQVNDLElBQVcsQ0FDNUNYLEVBQUtZLGNBQWMsQ0FDakJaLEVBQ0EsQ0FDRUUsSUFBQUEsRUFDQUQsT0FBQUEsRUFDQVUsT0FBUSxBQUFDRSxHQUErQixDQUN0QyxHQUFNLENBQUVWLEtBQU1XLENBQUMsQ0FBRSxHQUFHQyxFQUFHLENBQUdGLEVBRTFCRixFQUFPLENBQ0xSLEtBQ0VVLEFBQWdCLE1BQWhCQSxFQUFLRyxNQUFNLENBQ1BULEtBQUtVLEtBQUssQ0FBQ0gsR0FBSyxNQUNmSSxLQUFBQSxDQUEwQixDQUNqQyxHQUFHSCxDQUFDLEFBQ04sRUFDRixFQUNBSSxRQUFTLEFBQUNOLEdBQThCLENBQ3RDLEdBQU0sQ0FBRVYsS0FBTVcsQ0FBQyxDQUFFLEdBQUdDLEVBQUcsQ0FBR0YsRUFDMUJILEVBQVEsQ0FDTlAsS0FDRVUsQUFBZ0IsTUFBaEJBLEVBQUtHLE1BQU0sQ0FDUFQsS0FBS1UsS0FBSyxDQUFDSCxHQUFLLE1BQ2ZJLEtBQUFBLENBQTBCLENBQ2pDLEdBQUdILENBQUMsQUFDTixFQUNGLENBQ0YsRUFDQSxDQUNFVixTQUFBQSxFQUNBRixLQUFNQSxFQUNOQyxXQUFBQSxDQUNGLEVBRUosRUFDRixDQUFDIn0=
@@ -0,0 +1,17 @@
1
+ import { RequestMethod } from './rest.js';
2
+ import { RestManager } from './restManager.js';
3
+ export interface RestSendRequestOptions {
4
+ url: string;
5
+ method: RequestMethod;
6
+ bucketId?: string;
7
+ reject?: Function;
8
+ respond?: Function;
9
+ retryRequest?: Function;
10
+ retryCount?: number;
11
+ payload?: {
12
+ headers: Record<string, string>;
13
+ body: string | FormData;
14
+ };
15
+ }
16
+ export declare function sendRequest<T>(rest: RestManager, options: RestSendRequestOptions): Promise<T>;
17
+ //# sourceMappingURL=sendRequest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sendRequest.d.ts","sourceRoot":"","sources":["../src/sendRequest.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAE9C,MAAM,WAAW,sBAAsB;IACrC,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,aAAa,CAAA;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,QAAQ,CAAA;IACjB,OAAO,CAAC,EAAE,QAAQ,CAAA;IAClB,YAAY,CAAC,EAAE,QAAQ,CAAA;IACvB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,OAAO,CAAC,EAAE;QACR,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAC/B,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAA;KACxB,CAAA;CACF;AAED,wBAAsB,WAAW,CAAC,CAAC,EACjC,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,CAAC,CAAC,CAgJZ"}
@@ -0,0 +1,4 @@
1
+ import{HTTPResponseCodes as e}from"@discordeno/types";import{BASE_URL as t,delay as r}from"@discordeno/utils";export async function sendRequest(s,a){try{s.fetching(a);let o=await fetch(a.url.startsWith(t)?a.url:`${t}/v${s.version}/${a.url}`,{method:a.method,headers:a.payload?.headers,body:a.payload?.body});s.fetched(a,o);let i=s.processRequestHeaders(s,s.simplifyUrl(a.url,a.method),o.headers);if(void 0!==i&&(a.bucketId=i),o.status<200||o.status>=400){s.debug(`[REST - httpError] Payload: ${JSON.stringify(a)} | Response: ${JSON.stringify(o)}`);let d="REQUEST_UNKNOWN_ERROR";switch(o.status){case e.BadRequest:d="The options was improperly formatted, or the server couldn't understand it.";break;case e.Unauthorized:d="The Authorization header was missing or invalid.";break;case e.Forbidden:d="The Authorization token you passed did not have permission to the resource.";break;case e.NotFound:d="The resource at the location specified doesn't exist.";break;case e.MethodNotAllowed:d="The HTTP method used is not valid for the location specified.";break;case e.GatewayUnavailable:d="There was not a gateway available to process your options. Wait a bit and retry."}if(429!==o.status){s.invalidBucket.handleCompletedRequest(o.status,!1);let n=JSON.stringify(await o.json());return a.reject?.({ok:!1,status:o.status,error:d,body:n})}{let u=await o.json();if(!(void 0!==a.retryCount&&a.retryCount++>=s.maxRetryCount))return s.invalidBucket.handleCompletedRequest(o.status,"shared"===o.headers.get("X-RateLimit-Scope")),await r(1e3*u.retry_after),a.retryRequest?.();s.debug(`[REST - RetriesMaxed] ${JSON.stringify(a)}`),a.reject?.({ok:!1,status:o.status,error:"The options was rate limited and it maxed out the retries limit."});return}}if(204===o.status){s.debug(`[REST - FetchSuccess] URL: ${a.url} | ${JSON.stringify(a)}`),a.respond?.({ok:!0,status:204});return}{let h=JSON.stringify(await o.json());return s.debug(`[REST - fetchSuccess] ${JSON.stringify(a)}`),a.respond?.({ok:!0,status:200,body:h}),JSON.parse(h)}}catch(c){let l=c.toString?.();throw s.debug(`[REST - fetchFailed] Payload: ${JSON.stringify(a)} | Error: ${l}`),a.reject?.({ok:!1,status:599,error:`Internal Proxy Error
2
+ ${l}`}),Error(`Something went wrong in sendRequest
3
+ ${l}`)}}
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9zZW5kUmVxdWVzdC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIVFRQUmVzcG9uc2VDb2RlcyB9IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJ1xuaW1wb3J0IHsgQkFTRV9VUkwsIGRlbGF5IH0gZnJvbSAnQGRpc2NvcmRlbm8vdXRpbHMnXG5pbXBvcnQgeyBSZXF1ZXN0TWV0aG9kIH0gZnJvbSAnLi9yZXN0LmpzJ1xuaW1wb3J0IHsgUmVzdE1hbmFnZXIgfSBmcm9tICcuL3Jlc3RNYW5hZ2VyLmpzJ1xuXG5leHBvcnQgaW50ZXJmYWNlIFJlc3RTZW5kUmVxdWVzdE9wdGlvbnMge1xuICB1cmw6IHN0cmluZ1xuICBtZXRob2Q6IFJlcXVlc3RNZXRob2RcbiAgYnVja2V0SWQ/OiBzdHJpbmdcbiAgcmVqZWN0PzogRnVuY3Rpb25cbiAgcmVzcG9uZD86IEZ1bmN0aW9uXG4gIHJldHJ5UmVxdWVzdD86IEZ1bmN0aW9uXG4gIHJldHJ5Q291bnQ/OiBudW1iZXJcbiAgcGF5bG9hZD86IHtcbiAgICBoZWFkZXJzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+XG4gICAgYm9keTogc3RyaW5nIHwgRm9ybURhdGFcbiAgfVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc2VuZFJlcXVlc3Q8VD4gKFxuICByZXN0OiBSZXN0TWFuYWdlcixcbiAgb3B0aW9uczogUmVzdFNlbmRSZXF1ZXN0T3B0aW9uc1xuKTogUHJvbWlzZTxUPiB7XG4gIHRyeSB7XG4gICAgLy8gQ1VTVE9NIEhBTkRMRVIgRk9SIFVTRVIgVE8gTE9HIE9SIFdIQVRFVkVSIFdIRU5FVkVSIEEgRkVUQ0ggSVMgTUFERVxuICAgIHJlc3QuZmV0Y2hpbmcob3B0aW9ucylcblxuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2goXG4gICAgICBvcHRpb25zLnVybC5zdGFydHNXaXRoKEJBU0VfVVJMKVxuICAgICAgICA/IG9wdGlvbnMudXJsXG4gICAgICAgIDogYCR7QkFTRV9VUkx9L3Yke3Jlc3QudmVyc2lvbn0vJHtvcHRpb25zLnVybH1gLFxuICAgICAge1xuICAgICAgICBtZXRob2Q6IG9wdGlvbnMubWV0aG9kLFxuICAgICAgICBoZWFkZXJzOiBvcHRpb25zLnBheWxvYWQ/LmhlYWRlcnMsXG4gICAgICAgIGJvZHk6IG9wdGlvbnMucGF5bG9hZD8uYm9keVxuICAgICAgfVxuICAgIClcbiAgICByZXN0LmZldGNoZWQob3B0aW9ucywgcmVzcG9uc2UpXG5cbiAgICBjb25zdCBidWNrZXRJZEZyb21IZWFkZXJzID0gcmVzdC5wcm9jZXNzUmVxdWVzdEhlYWRlcnMoXG4gICAgICByZXN0LFxuICAgICAgcmVzdC5zaW1wbGlmeVVybChvcHRpb25zLnVybCwgb3B0aW9ucy5tZXRob2QpLFxuICAgICAgcmVzcG9uc2UuaGVhZGVyc1xuICAgIClcbiAgICAvLyBTRVQgVEhFIEJVQ0tFVCBJZCBJRiBJVCBXQVMgUFJFU0VOVFxuICAgIGlmIChidWNrZXRJZEZyb21IZWFkZXJzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIG9wdGlvbnMuYnVja2V0SWQgPSBidWNrZXRJZEZyb21IZWFkZXJzXG4gICAgfVxuXG4gICAgaWYgKHJlc3BvbnNlLnN0YXR1cyA8IDIwMCB8fCByZXNwb25zZS5zdGF0dXMgPj0gNDAwKSB7XG4gICAgICByZXN0LmRlYnVnKFxuICAgICAgICBgW1JFU1QgLSBodHRwRXJyb3JdIFBheWxvYWQ6ICR7SlNPTi5zdHJpbmdpZnkoXG4gICAgICAgICAgb3B0aW9uc1xuICAgICAgICApfSB8IFJlc3BvbnNlOiAke0pTT04uc3RyaW5naWZ5KHJlc3BvbnNlKX1gXG4gICAgICApXG5cbiAgICAgIGxldCBlcnJvciA9ICdSRVFVRVNUX1VOS05PV05fRVJST1InXG4gICAgICBzd2l0Y2ggKHJlc3BvbnNlLnN0YXR1cykge1xuICAgICAgICBjYXNlIEhUVFBSZXNwb25zZUNvZGVzLkJhZFJlcXVlc3Q6XG4gICAgICAgICAgZXJyb3IgPVxuICAgICAgICAgICAgXCJUaGUgb3B0aW9ucyB3YXMgaW1wcm9wZXJseSBmb3JtYXR0ZWQsIG9yIHRoZSBzZXJ2ZXIgY291bGRuJ3QgdW5kZXJzdGFuZCBpdC5cIlxuICAgICAgICAgIGJyZWFrXG4gICAgICAgIGNhc2UgSFRUUFJlc3BvbnNlQ29kZXMuVW5hdXRob3JpemVkOlxuICAgICAgICAgIGVycm9yID0gJ1RoZSBBdXRob3JpemF0aW9uIGhlYWRlciB3YXMgbWlzc2luZyBvciBpbnZhbGlkLidcbiAgICAgICAgICBicmVha1xuICAgICAgICBjYXNlIEhUVFBSZXNwb25zZUNvZGVzLkZvcmJpZGRlbjpcbiAgICAgICAgICBlcnJvciA9XG4gICAgICAgICAgICAnVGhlIEF1dGhvcml6YXRpb24gdG9rZW4geW91IHBhc3NlZCBkaWQgbm90IGhhdmUgcGVybWlzc2lvbiB0byB0aGUgcmVzb3VyY2UuJ1xuICAgICAgICAgIGJyZWFrXG4gICAgICAgIGNhc2UgSFRUUFJlc3BvbnNlQ29kZXMuTm90Rm91bmQ6XG4gICAgICAgICAgZXJyb3IgPSBcIlRoZSByZXNvdXJjZSBhdCB0aGUgbG9jYXRpb24gc3BlY2lmaWVkIGRvZXNuJ3QgZXhpc3QuXCJcbiAgICAgICAgICBicmVha1xuICAgICAgICBjYXNlIEhUVFBSZXNwb25zZUNvZGVzLk1ldGhvZE5vdEFsbG93ZWQ6XG4gICAgICAgICAgZXJyb3IgPVxuICAgICAgICAgICAgJ1RoZSBIVFRQIG1ldGhvZCB1c2VkIGlzIG5vdCB2YWxpZCBmb3IgdGhlIGxvY2F0aW9uIHNwZWNpZmllZC4nXG4gICAgICAgICAgYnJlYWtcbiAgICAgICAgY2FzZSBIVFRQUmVzcG9uc2VDb2Rlcy5HYXRld2F5VW5hdmFpbGFibGU6XG4gICAgICAgICAgZXJyb3IgPVxuICAgICAgICAgICAgJ1RoZXJlIHdhcyBub3QgYSBnYXRld2F5IGF2YWlsYWJsZSB0byBwcm9jZXNzIHlvdXIgb3B0aW9ucy4gV2FpdCBhIGJpdCBhbmQgcmV0cnkuJ1xuICAgICAgICAgIGJyZWFrXG4gICAgICB9XG5cbiAgICAgIC8vIElmIE5PVCByYXRlIGxpbWl0ZWQgcmVtb3ZlIGZyb20gcXVldWVcbiAgICAgIGlmIChyZXNwb25zZS5zdGF0dXMgIT09IDQyOSkge1xuICAgICAgICByZXN0LmludmFsaWRCdWNrZXQuaGFuZGxlQ29tcGxldGVkUmVxdWVzdChyZXNwb25zZS5zdGF0dXMsIGZhbHNlKVxuXG4gICAgICAgIC8vIG5lZWQgcmV2aXNlLCBvbGQgY29kZTogY29uc3QgYm9keSA9IHJlc3BvbnNlLnR5cGUgPyBKU09OLnN0cmluZ2lmeShhd2FpdCByZXNwb25zZS5qc29uKCkpIDogdW5kZWZpbmVkXG4gICAgICAgIGNvbnN0IGJvZHkgPSBKU09OLnN0cmluZ2lmeShhd2FpdCByZXNwb25zZS5qc29uKCkpXG4gICAgICAgIHJldHVybiBvcHRpb25zLnJlamVjdD8uKHtcbiAgICAgICAgICBvazogZmFsc2UsXG4gICAgICAgICAgc3RhdHVzOiByZXNwb25zZS5zdGF0dXMsXG4gICAgICAgICAgZXJyb3IsXG4gICAgICAgICAgYm9keVxuICAgICAgICB9KVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QganNvbiA9IGF3YWl0IHJlc3BvbnNlLmpzb24oKVxuXG4gICAgICAgIC8vIFRPTyBNQU5ZIEFUVEVNUFRTLCBHRVQgUklEIE9GIFJFUVVFU1QgRlJPTSBRVUVVRS5cbiAgICAgICAgaWYgKFxuICAgICAgICAgIG9wdGlvbnMucmV0cnlDb3VudCAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgICAgb3B0aW9ucy5yZXRyeUNvdW50KysgPj0gcmVzdC5tYXhSZXRyeUNvdW50XG4gICAgICAgICkge1xuICAgICAgICAgIHJlc3QuZGVidWcoYFtSRVNUIC0gUmV0cmllc01heGVkXSAke0pTT04uc3RyaW5naWZ5KG9wdGlvbnMpfWApXG4gICAgICAgICAgLy8gUkVNT1ZFIElURU0gRlJPTSBRVUVVRSBUTyBQUkVWRU5UIFJFVFJZXG4gICAgICAgICAgb3B0aW9ucy5yZWplY3Q/Lih7XG4gICAgICAgICAgICBvazogZmFsc2UsXG4gICAgICAgICAgICBzdGF0dXM6IHJlc3BvbnNlLnN0YXR1cyxcbiAgICAgICAgICAgIGVycm9yOlxuICAgICAgICAgICAgICAnVGhlIG9wdGlvbnMgd2FzIHJhdGUgbGltaXRlZCBhbmQgaXQgbWF4ZWQgb3V0IHRoZSByZXRyaWVzIGxpbWl0LidcbiAgICAgICAgICB9KVxuXG4gICAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciBDb2RlIHNob3VsZCBuZXZlciByZWFjaCBoZXJlXG4gICAgICAgICAgcmV0dXJuXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gUkFURSBMSU1JVEVELCBBREQgQkFDSyBUTyBRVUVVRVxuXG4gICAgICAgICAgcmVzdC5pbnZhbGlkQnVja2V0LmhhbmRsZUNvbXBsZXRlZFJlcXVlc3QoXG4gICAgICAgICAgICByZXNwb25zZS5zdGF0dXMsXG4gICAgICAgICAgICByZXNwb25zZS5oZWFkZXJzLmdldCgnWC1SYXRlTGltaXQtU2NvcGUnKSA9PT0gJ3NoYXJlZCdcbiAgICAgICAgICApXG4gICAgICAgICAgYXdhaXQgZGVsYXkoanNvbi5yZXRyeV9hZnRlciAqIDEwMDApXG4gICAgICAgICAgcmV0dXJuIG9wdGlvbnMucmV0cnlSZXF1ZXN0Py4oKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU09NRVRJTUVTIERJU0NPUkQgUkVUVVJOUyBBTiBFTVBUWSAyMDQgUkVTUE9OU0UgVEhBVCBDQU4nVCBCRSBNQURFIFRPIEpTT05cbiAgICBpZiAocmVzcG9uc2Uuc3RhdHVzID09PSAyMDQpIHtcbiAgICAgIHJlc3QuZGVidWcoXG4gICAgICAgIGBbUkVTVCAtIEZldGNoU3VjY2Vzc10gVVJMOiAke29wdGlvbnMudXJsfSB8ICR7SlNPTi5zdHJpbmdpZnkob3B0aW9ucyl9YFxuICAgICAgKVxuICAgICAgb3B0aW9ucy5yZXNwb25kPy4oe1xuICAgICAgICBvazogdHJ1ZSxcbiAgICAgICAgc3RhdHVzOiAyMDRcbiAgICAgIH0pXG4gICAgICAvLyBAdHMtZXhwZWN0LWVycm9yIDIwNCB3aWxsIGJlIHZvaWRcbiAgICAgIHJldHVyblxuICAgIH0gZWxzZSB7XG4gICAgICAvLyBDT05WRVJUIFRIRSBSRVNQT05TRSBUTyBKU09OXG4gICAgICBjb25zdCBqc29uID0gSlNPTi5zdHJpbmdpZnkoYXdhaXQgcmVzcG9uc2UuanNvbigpKVxuXG4gICAgICByZXN0LmRlYnVnKGBbUkVTVCAtIGZldGNoU3VjY2Vzc10gJHtKU09OLnN0cmluZ2lmeShvcHRpb25zKX1gKVxuICAgICAgb3B0aW9ucy5yZXNwb25kPy4oe1xuICAgICAgICBvazogdHJ1ZSxcbiAgICAgICAgc3RhdHVzOiAyMDAsXG4gICAgICAgIGJvZHk6IGpzb25cbiAgICAgIH0pXG5cbiAgICAgIHJldHVybiBKU09OLnBhcnNlKGpzb24pXG4gICAgfVxuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGNvbnN0IHN0cmluZ2lmaWVkRXJyb3IgPSAoZXJyb3IgYXMgRXJyb3IpLnRvU3RyaW5nPy4oKVxuICAgIC8vIFNPTUVUSElORyBXRU5UIFdST05HLCBMT0cgQU5EIFJFU1BPTkQgV0lUSCBFUlJPUlxuICAgIHJlc3QuZGVidWcoXG4gICAgICBgW1JFU1QgLSBmZXRjaEZhaWxlZF0gUGF5bG9hZDogJHtKU09OLnN0cmluZ2lmeShcbiAgICAgICAgb3B0aW9uc1xuICAgICAgKX0gfCBFcnJvcjogJHtzdHJpbmdpZmllZEVycm9yfWBcbiAgICApXG4gICAgb3B0aW9ucy5yZWplY3Q/Lih7XG4gICAgICBvazogZmFsc2UsXG4gICAgICBzdGF0dXM6IDU5OSxcbiAgICAgIGVycm9yOiBgSW50ZXJuYWwgUHJveHkgRXJyb3JcXG4ke3N0cmluZ2lmaWVkRXJyb3J9YFxuICAgIH0pXG5cbiAgICB0aHJvdyBuZXcgRXJyb3IoYFNvbWV0aGluZyB3ZW50IHdyb25nIGluIHNlbmRSZXF1ZXN0XFxuJHtzdHJpbmdpZmllZEVycm9yfWApXG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJIVFRQUmVzcG9uc2VDb2RlcyIsIkJBU0VfVVJMIiwiZGVsYXkiLCJzZW5kUmVxdWVzdCIsInJlc3QiLCJvcHRpb25zIiwiZmV0Y2hpbmciLCJyZXNwb25zZSIsImZldGNoIiwidXJsIiwic3RhcnRzV2l0aCIsInZlcnNpb24iLCJtZXRob2QiLCJoZWFkZXJzIiwicGF5bG9hZCIsImJvZHkiLCJmZXRjaGVkIiwiYnVja2V0SWRGcm9tSGVhZGVycyIsInByb2Nlc3NSZXF1ZXN0SGVhZGVycyIsInNpbXBsaWZ5VXJsIiwidW5kZWZpbmVkIiwiYnVja2V0SWQiLCJzdGF0dXMiLCJkZWJ1ZyIsIkpTT04iLCJzdHJpbmdpZnkiLCJlcnJvciIsIkJhZFJlcXVlc3QiLCJVbmF1dGhvcml6ZWQiLCJGb3JiaWRkZW4iLCJOb3RGb3VuZCIsIk1ldGhvZE5vdEFsbG93ZWQiLCJHYXRld2F5VW5hdmFpbGFibGUiLCJpbnZhbGlkQnVja2V0IiwiaGFuZGxlQ29tcGxldGVkUmVxdWVzdCIsImpzb24iLCJyZWplY3QiLCJvayIsInJldHJ5Q291bnQiLCJtYXhSZXRyeUNvdW50IiwiZ2V0IiwicmV0cnlfYWZ0ZXIiLCJyZXRyeVJlcXVlc3QiLCJyZXNwb25kIiwicGFyc2UiLCJzdHJpbmdpZmllZEVycm9yIiwidG9TdHJpbmciLCJFcnJvciJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBU0EscUJBQUFBLENBQWlCLEtBQVEsbUJBQW1CLEFBQ3JELFFBQVNDLFlBQUFBLENBQVEsQ0FBRUMsU0FBQUEsQ0FBSyxLQUFRLG1CQUFtQixBQWtCbkQsUUFBTyxlQUFlQyxZQUNwQkMsQ0FBaUIsQ0FDakJDLENBQStCLENBQ25CLENBQ1osR0FBSSxDQUVGRCxFQUFLRSxRQUFRLENBQUNELEdBRWQsSUFBTUUsRUFBVyxNQUFNQyxNQUNyQkgsRUFBUUksR0FBRyxDQUFDQyxVQUFVLENBQUNULEdBQ25CSSxFQUFRSSxHQUFHLENBQ1gsQ0FBQyxFQUFFUixFQUFTLEVBQUUsRUFBRUcsRUFBS08sT0FBTyxDQUFDLENBQUMsRUFBRU4sRUFBUUksR0FBRyxDQUFDLENBQUMsQ0FDakQsQ0FD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
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Credits: github.com/abalabahaha/eris lib/rest/RequestHandler.js#L397
3
+ * Modified for our use-case
4
+ */
5
+ /** Split a url to separate rate limit buckets based on major/minor parameters. */
6
+ export declare function simplifyUrl(url: string, method: string): string;
7
+ //# sourceMappingURL=simplifyUrl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"simplifyUrl.d.ts","sourceRoot":"","sources":["../src/simplifyUrl.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,kFAAkF;AAClF,wBAAgB,WAAW,CAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAkBhE"}
@@ -0,0 +1,2 @@
1
+ export function simplifyUrl(e,s){let r=e.replace(/\/([a-z-]+)\/(?:[0-9]{17,19})/g,function(e,s){return["channels","guilds"].includes(s)?e:`/${s}/skillzPrefersID`}).replace(/\/reactions\/[^/]+/g,"/reactions/skillzPrefersID");return r.includes("/reactions")&&(r=r.substring(0,r.indexOf("/reactions")+10)),"DELETE"===s&&r.endsWith("/messages/skillzPrefersID")&&(r=s+r),r}
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9zaW1wbGlmeVVybC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENyZWRpdHM6IGdpdGh1Yi5jb20vYWJhbGFiYWhhaGEvZXJpcyBsaWIvcmVzdC9SZXF1ZXN0SGFuZGxlci5qcyNMMzk3XG4gKiBNb2RpZmllZCBmb3Igb3VyIHVzZS1jYXNlXG4gKi9cblxuLyoqIFNwbGl0IGEgdXJsIHRvIHNlcGFyYXRlIHJhdGUgbGltaXQgYnVja2V0cyBiYXNlZCBvbiBtYWpvci9taW5vciBwYXJhbWV0ZXJzLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNpbXBsaWZ5VXJsICh1cmw6IHN0cmluZywgbWV0aG9kOiBzdHJpbmcpOiBzdHJpbmcge1xuICBsZXQgcm91dGUgPSB1cmxcbiAgICAucmVwbGFjZSgvXFwvKFthLXotXSspXFwvKD86WzAtOV17MTcsMTl9KS9nLCBmdW5jdGlvbiAobWF0Y2gsIHA6IHN0cmluZykge1xuICAgICAgcmV0dXJuIFsnY2hhbm5lbHMnLCAnZ3VpbGRzJ10uaW5jbHVkZXMocCkgPyBtYXRjaCA6IGAvJHtwfS9za2lsbHpQcmVmZXJzSURgXG4gICAgfSlcbiAgICAucmVwbGFjZSgvXFwvcmVhY3Rpb25zXFwvW14vXSsvZywgJy9yZWFjdGlvbnMvc2tpbGx6UHJlZmVyc0lEJylcblxuICAvLyBHRU5FUkFMIC9yZWFjdGlvbnMgYW5kIC9yZWFjdGlvbnMvZW1vamkvQG1lIHNoYXJlIHRoZSBidWNrZXRzXG4gIGlmIChyb3V0ZS5pbmNsdWRlcygnL3JlYWN0aW9ucycpKSB7XG4gICAgcm91dGUgPSByb3V0ZS5zdWJzdHJpbmcoMCwgcm91dGUuaW5kZXhPZignL3JlYWN0aW9ucycpICsgJy9yZWFjdGlvbnMnLmxlbmd0aClcbiAgfVxuXG4gIC8vIERlbGV0ZSBNZXNzYWdlIGVuZHBvaW50IGhhcyBpdHMgb3duIHJhdGUgbGltaXRcbiAgaWYgKG1ldGhvZCA9PT0gJ0RFTEVURScgJiYgcm91dGUuZW5kc1dpdGgoJy9tZXNzYWdlcy9za2lsbHpQcmVmZXJzSUQnKSkge1xuICAgIHJvdXRlID0gbWV0aG9kICsgcm91dGVcbiAgfVxuXG4gIHJldHVybiByb3V0ZVxufVxuIl0sIm5hbWVzIjpbInNpbXBsaWZ5VXJsIiwidXJsIiwibWV0aG9kIiwicm91dGUiLCJyZXBsYWNlIiwibWF0Y2giLCJwIiwiaW5jbHVkZXMiLCJzdWJzdHJpbmciLCJpbmRleE9mIiwiZW5kc1dpdGgiXSwibWFwcGluZ3MiOiJBQU1BLE9BQU8sU0FBU0EsWUFBYUMsQ0FBVyxDQUFFQyxDQUFjLENBQVUsQ0FDaEUsSUFBSUMsRUFBUUYsRUFDVEcsT0FBTyxDQUFDLGlDQUFrQyxTQUFVQyxDQUFLLENBQUVDLENBQVMsQ0FBRSxDQUNyRSxNQUFPLENBQUMsV0FBWSxTQUFTLENBQUNDLFFBQVEsQ0FBQ0QsR0FBS0QsRUFBUSxDQUFDLENBQUMsRUFBRUMsRUFBRSxnQkFBZ0IsQ0FBQyxBQUM3RSxHQUNDRixPQUFPLENBQUMsc0JBQXVCLDhCQVlsQyxPQVRJRCxFQUFNSSxRQUFRLENBQUMsZUFDakJKLENBQUFBLEVBQVFBLEVBQU1LLFNBQVMsQ0FBQyxFQUFHTCxFQUFNTSxPQUFPLENBQUMsY0FBZ0IsR0FBbUIsRUFJL0QsV0FBWFAsR0FBdUJDLEVBQU1PLFFBQVEsQ0FBQyw4QkFDeENQLENBQUFBLEVBQVFELEVBQVNDLENBQUksRUFHaEJBLENBQ1QsQ0FBQyJ9
package/package.json ADDED
@@ -0,0 +1,43 @@
1
+ {
2
+ "name": "@discordeno/rest",
3
+ "version": "18.0.0-next.1381838",
4
+ "main": "./dist/index.js",
5
+ "types": "./dist/index.d.ts",
6
+ "type": "module",
7
+ "license": "Apache-2.0",
8
+ "repository": {
9
+ "type": "git",
10
+ "url": "https://github.com/discordeno/discordeno.git"
11
+ },
12
+ "scripts": {
13
+ "build": "swc src --out-dir dist",
14
+ "build:type": "tsc --declaration --emitDeclarationOnly --declarationDir dist",
15
+ "release-build": "yarn build && yarn build:type",
16
+ "fmt": "eslint --fix \"src/**/*.ts*\"",
17
+ "lint": "eslint \"src/**/*.ts*\"",
18
+ "test:unit": "c8 mocha --no-warnings 'tests/**/*.spec.ts'",
19
+ "test:unit:watch": "mocha --no-warnings --watch --parallel 'tests/**/*.spec.ts'",
20
+ "test:type": "tsc --noEmit",
21
+ "test:test-type": "tsc --project tsconfig.test.json"
22
+ },
23
+ "dependencies": {
24
+ "@discordeno/utils": "18.0.0-alpha.1"
25
+ },
26
+ "devDependencies": {
27
+ "@discordeno/types": "18.0.0-alpha.1",
28
+ "@swc/cli": "^0.1.57",
29
+ "@swc/core": "^1.3.21",
30
+ "@types/chai": "^4",
31
+ "@types/mocha": "^10",
32
+ "@types/node": "^18.11.9",
33
+ "@types/sinon": "^10.0.13",
34
+ "c8": "^7.12.0",
35
+ "chai": "^4.3.7",
36
+ "eslint": "^8.0.1",
37
+ "eslint-config-discordeno": "*",
38
+ "mocha": "^10.1.0",
39
+ "sinon": "^15.0.0",
40
+ "tsconfig": "*",
41
+ "typescript": "^4.9.3"
42
+ }
43
+ }