@discordjs/rest 0.6.0 → 1.0.1-dev.1658331002-a05386a.0

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 (67) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +15 -12
  3. package/dist/index.cjs +31 -0
  4. package/dist/index.cjs.map +1 -0
  5. package/dist/index.d.ts +9 -827
  6. package/dist/index.d.ts.map +1 -0
  7. package/dist/index.mjs +9 -985
  8. package/dist/index.mjs.map +1 -1
  9. package/dist/lib/CDN.cjs +87 -0
  10. package/dist/lib/CDN.cjs.map +1 -0
  11. package/dist/lib/CDN.d.ts +199 -0
  12. package/dist/lib/CDN.d.ts.map +1 -0
  13. package/dist/lib/CDN.mjs +83 -0
  14. package/dist/lib/CDN.mjs.map +1 -0
  15. package/dist/lib/REST.cjs +61 -0
  16. package/dist/lib/REST.cjs.map +1 -0
  17. package/dist/lib/REST.d.ts +279 -0
  18. package/dist/lib/REST.d.ts.map +1 -0
  19. package/dist/lib/REST.mjs +57 -0
  20. package/dist/lib/REST.mjs.map +1 -0
  21. package/dist/lib/RequestManager.cjs +223 -0
  22. package/dist/lib/RequestManager.cjs.map +1 -0
  23. package/dist/lib/RequestManager.d.ts +232 -0
  24. package/dist/lib/RequestManager.d.ts.map +1 -0
  25. package/dist/lib/RequestManager.mjs +218 -0
  26. package/dist/lib/RequestManager.mjs.map +1 -0
  27. package/dist/lib/errors/DiscordAPIError.cjs +55 -0
  28. package/dist/lib/errors/DiscordAPIError.cjs.map +1 -0
  29. package/dist/lib/errors/DiscordAPIError.d.ts +53 -0
  30. package/dist/lib/errors/DiscordAPIError.d.ts.map +1 -0
  31. package/dist/lib/errors/DiscordAPIError.mjs +51 -0
  32. package/dist/lib/errors/DiscordAPIError.mjs.map +1 -0
  33. package/dist/lib/errors/HTTPError.cjs +17 -0
  34. package/dist/lib/errors/HTTPError.cjs.map +1 -0
  35. package/dist/lib/errors/HTTPError.d.ts +21 -0
  36. package/dist/lib/errors/HTTPError.d.ts.map +1 -0
  37. package/dist/lib/errors/HTTPError.mjs +13 -0
  38. package/dist/lib/errors/HTTPError.mjs.map +1 -0
  39. package/dist/lib/errors/RateLimitError.cjs +23 -0
  40. package/dist/lib/errors/RateLimitError.cjs.map +1 -0
  41. package/dist/lib/errors/RateLimitError.d.ts +17 -0
  42. package/dist/lib/errors/RateLimitError.d.ts.map +1 -0
  43. package/dist/lib/errors/RateLimitError.mjs +19 -0
  44. package/dist/lib/errors/RateLimitError.mjs.map +1 -0
  45. package/dist/lib/handlers/IHandler.d.ts +9 -0
  46. package/dist/lib/handlers/IHandler.d.ts.map +1 -0
  47. package/dist/lib/handlers/SequentialHandler.cjs +299 -0
  48. package/dist/lib/handlers/SequentialHandler.cjs.map +1 -0
  49. package/dist/lib/handlers/SequentialHandler.d.ts +88 -0
  50. package/dist/lib/handlers/SequentialHandler.d.ts.map +1 -0
  51. package/dist/lib/handlers/SequentialHandler.mjs +295 -0
  52. package/dist/lib/handlers/SequentialHandler.mjs.map +1 -0
  53. package/dist/lib/utils/constants.cjs +49 -0
  54. package/dist/lib/utils/constants.cjs.map +1 -0
  55. package/dist/lib/utils/constants.d.ts +21 -0
  56. package/dist/lib/utils/constants.d.ts.map +1 -0
  57. package/dist/lib/utils/constants.mjs +49 -0
  58. package/dist/lib/utils/constants.mjs.map +1 -0
  59. package/dist/lib/utils/utils.cjs +111 -0
  60. package/dist/lib/utils/utils.cjs.map +1 -0
  61. package/dist/lib/utils/utils.d.ts +32 -0
  62. package/dist/lib/utils/utils.d.ts.map +1 -0
  63. package/dist/lib/utils/utils.mjs +103 -0
  64. package/dist/lib/utils/utils.mjs.map +1 -0
  65. package/package.json +13 -10
  66. package/dist/index.js +0 -1026
  67. package/dist/index.js.map +0 -1
@@ -0,0 +1,32 @@
1
+ /// <reference types="node" />
2
+ import { URLSearchParams } from 'node:url';
3
+ import { type Dispatcher, type RequestInit } from 'undici';
4
+ import type { RequestOptions } from '../REST';
5
+ export declare function parseHeader(header: string | string[] | undefined): string | undefined;
6
+ /**
7
+ * Creates and populates an URLSearchParams instance from an object, stripping
8
+ * out null and undefined values, while also coercing non-strings to strings.
9
+ *
10
+ * @param options - The options to use
11
+ *
12
+ * @returns A populated URLSearchParams instance
13
+ */
14
+ export declare function makeURLSearchParams(options?: Record<string, unknown>): URLSearchParams;
15
+ /**
16
+ * Converts the response to usable data
17
+ *
18
+ * @param res - The fetch response
19
+ */
20
+ export declare function parseResponse(res: Dispatcher.ResponseData): Promise<unknown>;
21
+ /**
22
+ * Check whether a request falls under a sublimit
23
+ *
24
+ * @param bucketRoute - The buckets route identifier
25
+ * @param body - The options provided as JSON data
26
+ * @param method - The HTTP method that will be used to make the request
27
+ *
28
+ * @returns Whether the request falls under a sublimit
29
+ */
30
+ export declare function hasSublimit(bucketRoute: string, body?: unknown, method?: string): boolean;
31
+ export declare function resolveBody(body: RequestInit['body']): Promise<RequestOptions['body']>;
32
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/utils.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAG3C,OAAO,EAAY,KAAK,UAAU,EAAE,KAAK,WAAW,EAAE,MAAM,QAAQ,CAAC;AACrE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAG9C,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAQrF;AAuBD;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,mBAUpE;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,UAAU,CAAC,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,CAO5E;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAczF;AAED,wBAAsB,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CA2C5F"}
@@ -0,0 +1,103 @@
1
+ import { Blob } from 'node:buffer';
2
+ import { URLSearchParams } from 'node:url';
3
+ import { types } from 'node:util';
4
+ import { FormData } from 'undici';
5
+ import { RequestMethod } from '../RequestManager.mjs';
6
+
7
+ function parseHeader(header) {
8
+ if (header === void 0) {
9
+ return header;
10
+ } else if (typeof header === "string") {
11
+ return header;
12
+ }
13
+ return header.join(";");
14
+ }
15
+ function serializeSearchParam(value) {
16
+ switch (typeof value) {
17
+ case "string":
18
+ return value;
19
+ case "number":
20
+ case "bigint":
21
+ case "boolean":
22
+ return value.toString();
23
+ case "object":
24
+ if (value === null)
25
+ return null;
26
+ if (value instanceof Date) {
27
+ return Number.isNaN(value.getTime()) ? null : value.toISOString();
28
+ }
29
+ if (typeof value.toString === "function" && value.toString !== Object.prototype.toString)
30
+ return value.toString();
31
+ return null;
32
+ default:
33
+ return null;
34
+ }
35
+ }
36
+ function makeURLSearchParams(options) {
37
+ const params = new URLSearchParams();
38
+ if (!options)
39
+ return params;
40
+ for (const [key, value] of Object.entries(options)) {
41
+ const serialized = serializeSearchParam(value);
42
+ if (serialized !== null)
43
+ params.append(key, serialized);
44
+ }
45
+ return params;
46
+ }
47
+ function parseResponse(res) {
48
+ const header = parseHeader(res.headers["content-type"]);
49
+ if (header?.startsWith("application/json")) {
50
+ return res.body.json();
51
+ }
52
+ return res.body.arrayBuffer();
53
+ }
54
+ function hasSublimit(bucketRoute, body, method) {
55
+ if (bucketRoute === "/channels/:id") {
56
+ if (typeof body !== "object" || body === null)
57
+ return false;
58
+ if (method !== RequestMethod.Patch)
59
+ return false;
60
+ const castedBody = body;
61
+ return ["name", "topic"].some((key) => Reflect.has(castedBody, key));
62
+ }
63
+ return true;
64
+ }
65
+ async function resolveBody(body) {
66
+ if (body == null) {
67
+ return null;
68
+ } else if (typeof body === "string") {
69
+ return body;
70
+ } else if (types.isUint8Array(body)) {
71
+ return body;
72
+ } else if (types.isArrayBuffer(body)) {
73
+ return new Uint8Array(body);
74
+ } else if (body instanceof URLSearchParams) {
75
+ return body.toString();
76
+ } else if (body instanceof DataView) {
77
+ return new Uint8Array(body.buffer);
78
+ } else if (body instanceof Blob) {
79
+ return new Uint8Array(await body.arrayBuffer());
80
+ } else if (body instanceof FormData) {
81
+ return body;
82
+ } else if (body[Symbol.iterator]) {
83
+ const chunks = [...body];
84
+ const length = chunks.reduce((a, b) => a + b.length, 0);
85
+ const uint8 = new Uint8Array(length);
86
+ let lengthUsed = 0;
87
+ return chunks.reduce((a, b) => {
88
+ a.set(b, lengthUsed);
89
+ lengthUsed += b.length;
90
+ return a;
91
+ }, uint8);
92
+ } else if (body[Symbol.asyncIterator]) {
93
+ const chunks = [];
94
+ for await (const chunk of body) {
95
+ chunks.push(chunk);
96
+ }
97
+ return Buffer.concat(chunks);
98
+ }
99
+ throw new TypeError(`Unable to resolve body.`);
100
+ }
101
+
102
+ export { hasSublimit, makeURLSearchParams, parseHeader, parseResponse, resolveBody };
103
+ //# sourceMappingURL=utils.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.mjs","sources":["../../../src/lib/utils/utils.ts"],"sourcesContent":["import { Blob } from 'node:buffer';\nimport { URLSearchParams } from 'node:url';\nimport { types } from 'node:util';\nimport type { RESTPatchAPIChannelJSONBody } from 'discord-api-types/v10';\nimport { FormData, type Dispatcher, type RequestInit } from 'undici';\nimport type { RequestOptions } from '../REST';\nimport { RequestMethod } from '../RequestManager';\n\nexport function parseHeader(header: string | string[] | undefined): string | undefined {\n\tif (header === undefined) {\n\t\treturn header;\n\t} else if (typeof header === 'string') {\n\t\treturn header;\n\t}\n\n\treturn header.join(';');\n}\n\nfunction serializeSearchParam(value: unknown): string | null {\n\tswitch (typeof value) {\n\t\tcase 'string':\n\t\t\treturn value;\n\t\tcase 'number':\n\t\tcase 'bigint':\n\t\tcase 'boolean':\n\t\t\treturn value.toString();\n\t\tcase 'object':\n\t\t\tif (value === null) return null;\n\t\t\tif (value instanceof Date) {\n\t\t\t\treturn Number.isNaN(value.getTime()) ? null : value.toISOString();\n\t\t\t}\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-base-to-string\n\t\t\tif (typeof value.toString === 'function' && value.toString !== Object.prototype.toString) return value.toString();\n\t\t\treturn null;\n\t\tdefault:\n\t\t\treturn null;\n\t}\n}\n\n/**\n * Creates and populates an URLSearchParams instance from an object, stripping\n * out null and undefined values, while also coercing non-strings to strings.\n *\n * @param options - The options to use\n *\n * @returns A populated URLSearchParams instance\n */\nexport function makeURLSearchParams(options?: Record<string, unknown>) {\n\tconst params = new URLSearchParams();\n\tif (!options) return params;\n\n\tfor (const [key, value] of Object.entries(options)) {\n\t\tconst serialized = serializeSearchParam(value);\n\t\tif (serialized !== null) params.append(key, serialized);\n\t}\n\n\treturn params;\n}\n\n/**\n * Converts the response to usable data\n *\n * @param res - The fetch response\n */\nexport function parseResponse(res: Dispatcher.ResponseData): Promise<unknown> {\n\tconst header = parseHeader(res.headers['content-type']);\n\tif (header?.startsWith('application/json')) {\n\t\treturn res.body.json();\n\t}\n\n\treturn res.body.arrayBuffer();\n}\n\n/**\n * Check whether a request falls under a sublimit\n *\n * @param bucketRoute - The buckets route identifier\n * @param body - The options provided as JSON data\n * @param method - The HTTP method that will be used to make the request\n *\n * @returns Whether the request falls under a sublimit\n */\nexport function hasSublimit(bucketRoute: string, body?: unknown, method?: string): boolean {\n\t// TODO: Update for new sublimits\n\t// Currently known sublimits:\n\t// Editing channel `name` or `topic`\n\tif (bucketRoute === '/channels/:id') {\n\t\tif (typeof body !== 'object' || body === null) return false;\n\t\t// This should never be a POST body, but just in case\n\t\tif (method !== RequestMethod.Patch) return false;\n\t\tconst castedBody = body as RESTPatchAPIChannelJSONBody;\n\t\treturn ['name', 'topic'].some((key) => Reflect.has(castedBody, key));\n\t}\n\n\t// If we are checking if a request has a sublimit on a route not checked above, sublimit all requests to avoid a flood of 429s\n\treturn true;\n}\n\nexport async function resolveBody(body: RequestInit['body']): Promise<RequestOptions['body']> {\n\t// eslint-disable-next-line no-eq-null\n\tif (body == null) {\n\t\treturn null;\n\t} else if (typeof body === 'string') {\n\t\treturn body;\n\t} else if (types.isUint8Array(body)) {\n\t\treturn body;\n\t} else if (types.isArrayBuffer(body)) {\n\t\treturn new Uint8Array(body);\n\t} else if (body instanceof URLSearchParams) {\n\t\treturn body.toString();\n\t} else if (body instanceof DataView) {\n\t\treturn new Uint8Array(body.buffer);\n\t} else if (body instanceof Blob) {\n\t\treturn new Uint8Array(await body.arrayBuffer());\n\t} else if (body instanceof FormData) {\n\t\treturn body;\n\t\t// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n\t} else if ((body as Iterable<Uint8Array>)[Symbol.iterator]) {\n\t\tconst chunks = [...(body as Iterable<Uint8Array>)];\n\t\tconst length = chunks.reduce((a, b) => a + b.length, 0);\n\n\t\tconst uint8 = new Uint8Array(length);\n\t\tlet lengthUsed = 0;\n\n\t\treturn chunks.reduce((a, b) => {\n\t\t\ta.set(b, lengthUsed);\n\t\t\tlengthUsed += b.length;\n\t\t\treturn a;\n\t\t}, uint8);\n\t\t// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n\t} else if ((body as AsyncIterable<Uint8Array>)[Symbol.asyncIterator]) {\n\t\tconst chunks: Uint8Array[] = [];\n\n\t\tfor await (const chunk of body as AsyncIterable<Uint8Array>) {\n\t\t\tchunks.push(chunk);\n\t\t}\n\n\t\treturn Buffer.concat(chunks);\n\t}\n\n\tthrow new TypeError(`Unable to resolve body.`);\n}\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,23 +1,24 @@
1
1
  {
2
2
  "name": "@discordjs/rest",
3
- "version": "0.6.0",
3
+ "version": "1.0.1-dev.1658331002-a05386a.0",
4
4
  "description": "The REST API for discord.js",
5
5
  "scripts": {
6
6
  "test": "vitest run",
7
- "build": "tsup",
7
+ "build": "unbuild",
8
8
  "lint": "prettier --check . && eslint src __tests__ --ext mjs,js,ts",
9
9
  "format": "prettier --write . && eslint src __tests__ --ext mjs,js,ts --fix",
10
- "docs": "docgen -i src/index.ts -c docs/index.json -o docs/docs.json --typescript && api-extractor run --local",
10
+ "fmt": "yarn format",
11
+ "docs": "downlevel-dts . docs --to=3.7 && docgen -i src/index.ts -c docs/index.json -o docs/docs.json --typescript && api-extractor run --local",
11
12
  "prepack": "yarn build && yarn lint",
12
13
  "changelog": "git cliff --prepend ./CHANGELOG.md -u -c ./cliff.toml -r ../../ --include-path 'packages/rest/*'",
13
14
  "release": "cliff-jumper"
14
15
  },
15
- "main": "./dist/index.js",
16
+ "main": "./dist/index.cjs",
16
17
  "module": "./dist/index.mjs",
17
18
  "typings": "./dist/index.d.ts",
18
19
  "exports": {
19
20
  "import": "./dist/index.mjs",
20
- "require": "./dist/index.js",
21
+ "require": "./dist/index.cjs",
21
22
  "types": "./dist/index.d.ts"
22
23
  },
23
24
  "directories": {
@@ -51,25 +52,27 @@
51
52
  },
52
53
  "homepage": "https://discord.js.org",
53
54
  "dependencies": {
54
- "@discordjs/collection": "^0.8.0",
55
+ "@discordjs/collection": "^1.0.0",
55
56
  "@sapphire/async-queue": "^1.3.2",
56
57
  "@sapphire/snowflake": "^3.2.2",
57
58
  "discord-api-types": "^0.36.2",
58
59
  "file-type": "^17.1.2",
59
60
  "tslib": "^2.4.0",
60
- "undici": "^5.7.0"
61
+ "undici": "^5.8.0"
61
62
  },
62
63
  "devDependencies": {
63
- "@discordjs/docgen": "^0.12.0-dev",
64
- "@discordjs/scripts": "^0.1.0-dev",
64
+ "@discordjs/docgen": "^0.12.0",
65
65
  "@favware/cliff-jumper": "^1.8.5",
66
66
  "@microsoft/api-extractor": "^7.28.4",
67
67
  "@types/node": "^16.11.45",
68
- "c8": "^7.11.3",
68
+ "c8": "^7.12.0",
69
+ "downlevel-dts": "^0.10.0",
69
70
  "eslint": "^8.20.0",
70
71
  "prettier": "^2.7.1",
72
+ "rollup-plugin-typescript2": "0.32.1",
71
73
  "tsup": "^6.1.3",
72
74
  "typescript": "^4.7.4",
75
+ "unbuild": "^0.7.4",
73
76
  "vitest": "^0.18.1"
74
77
  },
75
78
  "engines": {