@clickup/rest-client 2.10.294 → 2.11.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 (120) hide show
  1. package/.eslintrc.base.js +12 -2
  2. package/.eslintrc.js +4 -4
  3. package/.github/workflows/ci.yml +26 -0
  4. package/.github/workflows/semgrep.yml +36 -0
  5. package/.prettierrc +8 -0
  6. package/.vscode/extensions.json +8 -0
  7. package/.vscode/tasks.json +20 -0
  8. package/README.md +2 -0
  9. package/dist/.eslintcache +1 -1
  10. package/dist/RestClient.js +2 -2
  11. package/dist/RestClient.js.map +1 -1
  12. package/dist/RestOptions.d.ts +3 -0
  13. package/dist/RestOptions.d.ts.map +1 -1
  14. package/dist/RestOptions.js +1 -0
  15. package/dist/RestOptions.js.map +1 -1
  16. package/dist/RestRequest.d.ts.map +1 -1
  17. package/dist/RestRequest.js +1 -0
  18. package/dist/RestRequest.js.map +1 -1
  19. package/dist/errors/RestRateLimitError.d.ts.map +1 -1
  20. package/dist/errors/RestRateLimitError.js.map +1 -1
  21. package/dist/errors/RestRetriableError.d.ts.map +1 -1
  22. package/dist/errors/RestRetriableError.js.map +1 -1
  23. package/dist/errors/RestTokenInvalidError.d.ts.map +1 -1
  24. package/dist/errors/RestTokenInvalidError.js.map +1 -1
  25. package/dist/index.d.ts +2 -5
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/index.js +1 -5
  28. package/dist/index.js.map +1 -1
  29. package/dist/internal/RestFetchReader.d.ts +4 -2
  30. package/dist/internal/RestFetchReader.d.ts.map +1 -1
  31. package/dist/internal/RestFetchReader.js +4 -4
  32. package/dist/internal/RestFetchReader.js.map +1 -1
  33. package/dist/internal/ellipsis.d.ts +6 -0
  34. package/dist/internal/ellipsis.d.ts.map +1 -0
  35. package/dist/internal/ellipsis.js +17 -0
  36. package/dist/internal/ellipsis.js.map +1 -0
  37. package/dist/internal/inferResBodyEncoding.js.map +1 -1
  38. package/dist/internal/inspectPossibleJSON.js +5 -8
  39. package/dist/internal/inspectPossibleJSON.js.map +1 -1
  40. package/dist/internal/throwIfErrorResponse.js +1 -1
  41. package/dist/internal/throwIfErrorResponse.js.map +1 -1
  42. package/dist/middlewares/paceRequests.d.ts +21 -2
  43. package/dist/middlewares/paceRequests.d.ts.map +1 -1
  44. package/dist/middlewares/paceRequests.js +3 -2
  45. package/dist/middlewares/paceRequests.js.map +1 -1
  46. package/docs/README.md +2 -0
  47. package/docs/classes/RestClient.md +32 -28
  48. package/docs/classes/RestContentSizeOverLimitError.md +5 -1
  49. package/docs/classes/RestError.md +5 -1
  50. package/docs/classes/RestRateLimitError.md +6 -2
  51. package/docs/classes/RestRequest.md +22 -18
  52. package/docs/classes/RestResponse.md +7 -3
  53. package/docs/classes/RestResponseError.md +5 -1
  54. package/docs/classes/RestRetriableError.md +6 -2
  55. package/docs/classes/RestStream.md +12 -8
  56. package/docs/classes/RestTimeoutError.md +5 -1
  57. package/docs/classes/RestTokenInvalidError.md +6 -2
  58. package/docs/interfaces/Middleware.md +4 -4
  59. package/docs/interfaces/Pacer.md +7 -12
  60. package/docs/interfaces/PacerOutcome.md +25 -0
  61. package/docs/interfaces/RestLogEvent.md +1 -1
  62. package/docs/interfaces/RestOptions.md +42 -30
  63. package/docs/interfaces/TokenGetter.md +3 -3
  64. package/docs/modules.md +8 -11
  65. package/internal/clean.sh +4 -0
  66. package/internal/deploy.sh +7 -0
  67. package/internal/docs.sh +6 -0
  68. package/internal/lint.sh +4 -0
  69. package/jest.config.base.js +13 -0
  70. package/jest.config.js +1 -10
  71. package/package.json +10 -6
  72. package/src/RestClient.ts +21 -21
  73. package/src/RestOptions.ts +6 -3
  74. package/src/RestRequest.ts +12 -11
  75. package/src/RestResponse.ts +1 -1
  76. package/src/RestStream.ts +1 -1
  77. package/src/__tests__/RestClient.test.ts +53 -0
  78. package/src/__tests__/RestFetchReader.test.ts +150 -0
  79. package/src/__tests__/RestRequest.test.ts +262 -0
  80. package/src/__tests__/RestStream.test.ts +63 -0
  81. package/src/__tests__/helpers.ts +173 -0
  82. package/src/errors/RestRateLimitError.ts +5 -1
  83. package/src/errors/RestResponseError.ts +3 -3
  84. package/src/errors/RestRetriableError.ts +5 -1
  85. package/src/errors/RestTokenInvalidError.ts +4 -1
  86. package/src/helpers/depaginate.ts +3 -3
  87. package/src/index.ts +2 -7
  88. package/src/internal/RestFetchReader.ts +6 -3
  89. package/src/internal/RestRangeUploader.ts +2 -2
  90. package/src/internal/calcRetryDelay.ts +2 -2
  91. package/src/internal/ellipsis.ts +16 -0
  92. package/src/internal/inferResBodyEncoding.ts +13 -13
  93. package/src/internal/inspectPossibleJSON.ts +6 -10
  94. package/src/internal/substituteParams.ts +1 -1
  95. package/src/internal/throwIfErrorResponse.ts +8 -8
  96. package/src/middlewares/paceRequests.ts +28 -3
  97. package/tsconfig.base.json +31 -0
  98. package/tsconfig.json +1 -32
  99. package/typedoc.config.js +20 -0
  100. package/dist/pacers/Pacer.d.ts +0 -21
  101. package/dist/pacers/Pacer.d.ts.map +0 -1
  102. package/dist/pacers/Pacer.js +0 -3
  103. package/dist/pacers/Pacer.js.map +0 -1
  104. package/dist/pacers/PacerComposite.d.ts +0 -14
  105. package/dist/pacers/PacerComposite.d.ts.map +0 -1
  106. package/dist/pacers/PacerComposite.js +0 -32
  107. package/dist/pacers/PacerComposite.js.map +0 -1
  108. package/dist/pacers/PacerQPS.d.ts +0 -53
  109. package/dist/pacers/PacerQPS.d.ts.map +0 -1
  110. package/dist/pacers/PacerQPS.js +0 -105
  111. package/dist/pacers/PacerQPS.js.map +0 -1
  112. package/docs/classes/PacerComposite.md +0 -62
  113. package/docs/classes/PacerQPS.md +0 -75
  114. package/docs/interfaces/PacerDelay.md +0 -25
  115. package/docs/interfaces/PacerQPSBackend.md +0 -44
  116. package/docs/interfaces/PacerQPSOptions.md +0 -40
  117. package/src/pacers/Pacer.ts +0 -22
  118. package/src/pacers/PacerComposite.ts +0 -29
  119. package/src/pacers/PacerQPS.ts +0 -147
  120. package/typedoc.json +0 -22
@@ -140,7 +140,7 @@ class RestFetchReader {
140
140
  * this method multiple times and to not start a new iteration over and over.
141
141
  */
142
142
  async *[_a = Symbol.asyncIterator]() {
143
- var _b, _c, _d, _e;
143
+ var _b, _c, _d, _e, _f;
144
144
  const { timeoutMs, onTimeout, onAfterRead } = this._options;
145
145
  // Some of react-client users are still on v14 node.
146
146
  const controller = typeof AbortController === "undefined"
@@ -165,10 +165,10 @@ class RestFetchReader {
165
165
  // how Node streams and setEncoding() handle decoding when the returned
166
166
  // chunks cross the boundaries of multi-byte characters (TL;DR: it works
167
167
  // fine, that's why we work with string and not Buffer here).
168
- res.body.setEncoding((0, inferResBodyEncoding_1.default)(res));
169
- await ((_c = (_b = this._options).heartbeat) === null || _c === void 0 ? void 0 : _c.call(_b));
168
+ res.body.setEncoding((_b = this._options.responseEncoding) !== null && _b !== void 0 ? _b : (0, inferResBodyEncoding_1.default)(res));
169
+ await ((_d = (_c = this._options).heartbeat) === null || _d === void 0 ? void 0 : _d.call(_c));
170
170
  for await (const chunk of res.body) {
171
- await ((_e = (_d = this._options).heartbeat) === null || _e === void 0 ? void 0 : _e.call(_d));
171
+ await ((_f = (_e = this._options).heartbeat) === null || _f === void 0 ? void 0 : _f.call(_e));
172
172
  this._charsRead += chunk.length;
173
173
  yield chunk;
174
174
  onAfterRead === null || onAfterRead === void 0 ? void 0 : onAfterRead(this);
@@ -1 +1 @@
1
- {"version":3,"file":"RestFetchReader.js","sourceRoot":"","sources":["../../src/internal/RestFetchReader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RestFetchReader.js","sourceRoot":"","sources":["../../src/internal/RestFetchReader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * The fastest possible version of truncation. Lodash'es truncate() messes up
3
+ * with unicode a lot, so for e.g. logging purposes, it's super-slow.
4
+ */
5
+ export default function ellipsis(string: any, length: number): any;
6
+ //# sourceMappingURL=ellipsis.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ellipsis.d.ts","sourceRoot":"","sources":["../../src/internal/ellipsis.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,OAS3D"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const ELLIPSIS = "…";
4
+ /**
5
+ * The fastest possible version of truncation. Lodash'es truncate() messes up
6
+ * with unicode a lot, so for e.g. logging purposes, it's super-slow.
7
+ */
8
+ function ellipsis(string, length) {
9
+ string = ("" + string).trimEnd();
10
+ length = Math.max(length, ELLIPSIS.length);
11
+ if (string.length <= length) {
12
+ return string;
13
+ }
14
+ return string.substring(0, length - ELLIPSIS.length) + ELLIPSIS;
15
+ }
16
+ exports.default = ellipsis;
17
+ //# sourceMappingURL=ellipsis.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ellipsis.js","sourceRoot":"","sources":["../../src/internal/ellipsis.ts"],"names":[],"mappings":";;AAAA,MAAM,QAAQ,GAAG,GAAG,CAAC;AAErB;;;GAGG;AACH,SAAwB,QAAQ,CAAC,MAAW,EAAE,MAAc;IAC1D,MAAM,GAAG,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC;IACjC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAE3C,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,EAAE,CAAC;QAC5B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC;AAClE,CAAC;AATD,2BASC"}
@@ -1 +1 @@
1
- {"version":3,"file":"inferResBodyEncoding.js","sourceRoot":"","sources":["../../src/internal/inferResBodyEncoding.ts"],"names":[],"mappings":";;AAEA,MAAM,UAAU,GACd,kEAAkE,CAAC;AACrE,MAAM,gBAAgB,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AAEhF;;;GAGG;AACH,SAAwB,oBAAoB,CAAC,GAAa;;IACxD,MAAM,WAAW,GAAG,MAAA,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,0CAAE,WAAW,EAAE,CAAC;IACnE,MAAM,OAAO,GAAG,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,KAAK,CAAC,UAAU,CAAC;QAC5C,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE;QACzB,CAAC,CAAC,SAAS,CAAC;IACd,OAAO,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,UAAU,CAAC,0BAA0B,CAAC;QACxD,CAAC,CAAC,8BAA8B;YAC9B,QAAQ;QACV,CAAC,CAAC,OAAO,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC;YAChD,CAAC,CAAC,kEAAkE;gBAClE,QAAQ;YACV,CAAC,CAAC,OAAO,IAAI,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAC/C,CAAC,CAAC,+DAA+D;oBAC/D,oBAAoB;oBACnB,OAA0B;gBAC7B,CAAC,CAAC,kEAAkE;oBAClE,0EAA0E;oBAC1E,yEAAyE;oBACzE,oEAAoE;oBACpE,sEAAsE;oBACtE,+DAA+D;oBAC/D,OAAO,CAAC;AACd,CAAC;AAtBD,uCAsBC"}
1
+ {"version":3,"file":"inferResBodyEncoding.js","sourceRoot":"","sources":["../../src/internal/inferResBodyEncoding.ts"],"names":[],"mappings":";;AAEA,MAAM,UAAU,GACd,kEAAkE,CAAC;AACrE,MAAM,gBAAgB,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AAEhF;;;GAGG;AACH,SAAwB,oBAAoB,CAAC,GAAa;;IACxD,MAAM,WAAW,GAAG,MAAA,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,0CAAE,WAAW,EAAE,CAAC;IACnE,MAAM,OAAO,GAAG,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,KAAK,CAAC,UAAU,CAAC;QAC5C,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE;QACzB,CAAC,CAAC,SAAS,CAAC;IACd,OAAO,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,UAAU,CAAC,0BAA0B,CAAC;QACxD,CAAC,CAAC,8BAA8B;YAC9B,QAAQ;QACV,CAAC,CAAC,OAAO,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC;YAC9C,CAAC,CAAC,kEAAkE;gBAClE,QAAQ;YACV,CAAC,CAAC,OAAO,IAAI,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAC7C,CAAC,CAAC,+DAA+D;oBAC/D,oBAAoB;oBACnB,OAA0B;gBAC7B,CAAC,CAAC,kEAAkE;oBAClE,0EAA0E;oBAC1E,yEAAyE;oBACzE,oEAAoE;oBACpE,sEAAsE;oBACtE,+DAA+D;oBAC/D,OAAO,CAAC;AAClB,CAAC;AAtBD,uCAsBC"}
@@ -5,19 +5,19 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const util_1 = require("util");
7
7
  const sortBy_1 = __importDefault(require("lodash/sortBy"));
8
- const truncate_1 = __importDefault(require("lodash/truncate"));
8
+ const ellipsis_1 = __importDefault(require("./ellipsis"));
9
9
  function inspectPossibleJSON(headers, text, maxOutputLen) {
10
10
  const MAX_LEN_TO_TRY_PARSE = 1024 * 1024;
11
11
  if (typeof text === "string" && text.length > MAX_LEN_TO_TRY_PARSE) {
12
12
  // Don't even try to JSON-parse if the text is too long.
13
- return ellipsis(text, maxOutputLen);
13
+ return (0, ellipsis_1.default)(text, maxOutputLen);
14
14
  }
15
15
  if (text instanceof Buffer) {
16
16
  return `<Buffer: ${text.length} bytes>`;
17
17
  }
18
18
  if (!text || typeof text === "string") {
19
19
  if (!(headers.get("content-type") || "").match(/json/)) {
20
- return ellipsis(text, maxOutputLen);
20
+ return (0, ellipsis_1.default)(text, maxOutputLen);
21
21
  }
22
22
  try {
23
23
  const json = JSON.parse(text);
@@ -27,10 +27,10 @@ function inspectPossibleJSON(headers, text, maxOutputLen) {
27
27
  // all, but it's hard to reorder at any other layer of abstraction.
28
28
  reorderObjectProps(json, (k) => k === "error" || k === "errors" ? "" : k);
29
29
  }
30
- return ellipsis((0, util_1.inspect)(json, { depth: 20, compact: true }), maxOutputLen);
30
+ return (0, ellipsis_1.default)((0, util_1.inspect)(json, { depth: 20, compact: true }), maxOutputLen);
31
31
  }
32
32
  catch (e) {
33
- return ellipsis(text, maxOutputLen);
33
+ return (0, ellipsis_1.default)(text, maxOutputLen);
34
34
  }
35
35
  }
36
36
  return "<Stream>";
@@ -47,7 +47,4 @@ function reorderObjectProps(obj, ranker) {
47
47
  }
48
48
  Object.assign(obj, Object.fromEntries((0, sortBy_1.default)(entries, ([k, v]) => ranker(k, v))));
49
49
  }
50
- function ellipsis(text, length) {
51
- return (0, truncate_1.default)("" + text, { length }).trimEnd();
52
- }
53
50
  //# sourceMappingURL=inspectPossibleJSON.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"inspectPossibleJSON.js","sourceRoot":"","sources":["../../src/internal/inspectPossibleJSON.ts"],"names":[],"mappings":";;;;;AAAA,+BAA+B;AAC/B,2DAAmC;AACnC,+DAAuC;AAEvC,SAAwB,mBAAmB,CACzC,OAA6C,EAC7C,IAA6C,EAC7C,YAAoB;IAEpB,MAAM,oBAAoB,GAAG,IAAI,GAAG,IAAI,CAAC;IAEzC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,GAAG,oBAAoB,EAAE,CAAC;QACnE,wDAAwD;QACxD,OAAO,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,IAAI,YAAY,MAAM,EAAE,CAAC;QAC3B,OAAO,YAAY,IAAI,CAAC,MAAM,SAAS,CAAC;IAC1C,CAAC;IAED,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtC,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YACvD,OAAO,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QACtC,CAAC;QAED,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAE9B,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,YAAY,KAAK,CAAC,EAAE,CAAC;gBACjE,qEAAqE;gBACrE,uEAAuE;gBACvE,mEAAmE;gBACnE,kBAAkB,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAC7B,CAAC,KAAK,OAAO,IAAI,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CACzC,CAAC;YACJ,CAAC;YAED,OAAO,QAAQ,CACb,IAAA,cAAO,EAAC,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAC3C,YAAY,CACb,CAAC;QACJ,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,OAAO,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AA3CD,sCA2CC;AAED;;;GAGG;AACH,SAAS,kBAAkB,CACzB,GAAwB,EACxB,MAA8C;IAE9C,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACpC,KAAK,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;QACpB,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,MAAM,CACX,GAAG,EACH,MAAM,CAAC,WAAW,CAAC,IAAA,gBAAM,EAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAC9D,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,IAAS,EAAE,MAAc;IACzC,OAAO,IAAA,kBAAQ,EAAC,EAAE,GAAG,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;AACnD,CAAC"}
1
+ {"version":3,"file":"inspectPossibleJSON.js","sourceRoot":"","sources":["../../src/internal/inspectPossibleJSON.ts"],"names":[],"mappings":";;;;;AAAA,+BAA+B;AAC/B,2DAAmC;AACnC,0DAAkC;AAElC,SAAwB,mBAAmB,CACzC,OAA6C,EAC7C,IAA6C,EAC7C,YAAoB;IAEpB,MAAM,oBAAoB,GAAG,IAAI,GAAG,IAAI,CAAC;IAEzC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,GAAG,oBAAoB,EAAE,CAAC;QACnE,wDAAwD;QACxD,OAAO,IAAA,kBAAQ,EAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,IAAI,YAAY,MAAM,EAAE,CAAC;QAC3B,OAAO,YAAY,IAAI,CAAC,MAAM,SAAS,CAAC;IAC1C,CAAC;IAED,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtC,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YACvD,OAAO,IAAA,kBAAQ,EAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QACtC,CAAC;QAED,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAE9B,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,YAAY,KAAK,CAAC,EAAE,CAAC;gBACjE,qEAAqE;gBACrE,uEAAuE;gBACvE,mEAAmE;gBACnE,kBAAkB,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAC7B,CAAC,KAAK,OAAO,IAAI,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CACzC,CAAC;YACJ,CAAC;YAED,OAAO,IAAA,kBAAQ,EACb,IAAA,cAAO,EAAC,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAC3C,YAAY,CACb,CAAC;QACJ,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,OAAO,IAAA,kBAAQ,EAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AA3CD,sCA2CC;AAED;;;GAGG;AACH,SAAS,kBAAkB,CACzB,GAAwB,EACxB,MAA8C;IAE9C,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACpC,KAAK,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;QACpB,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,MAAM,CACX,GAAG,EACH,MAAM,CAAC,WAAW,CAAC,IAAA,gBAAM,EAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAC9D,CAAC;AACJ,CAAC"}
@@ -27,7 +27,7 @@ function throwIfErrorResponse(options, res) {
27
27
  case "BEST_EFFORT":
28
28
  if (res.status === STATUS_TOO_MANY_REQUESTS) {
29
29
  const retryAfterHeader = res.headers.get("Retry-After") || "0";
30
- throw new RestRateLimitError_1.default(`Rate limited by HTTP status ${STATUS_TOO_MANY_REQUESTS}`, parseInt(retryAfterHeader) || 0, res);
30
+ throw new RestRateLimitError_1.default(`Rate limited by HTTP status ${STATUS_TOO_MANY_REQUESTS}`, 1000 * parseInt(retryAfterHeader) || 0, res);
31
31
  }
32
32
  break;
33
33
  case "SOMETHING_ELSE":
@@ -1 +1 @@
1
- {"version":3,"file":"throwIfErrorResponse.js","sourceRoot":"","sources":["../../src/internal/throwIfErrorResponse.ts"],"names":[],"mappings":";;;;;AAAA,sFAA8D;AAC9D,oFAA4D;AAC5D,sFAA8D;AAC9D,4FAAoE;AAIpE,MAAM,wBAAwB,GAAG,GAAG,CAAC;AAErC;;;;;;GAMG;AACH,SAAwB,oBAAoB,CAC1C,OAAoB,EACpB,GAAiB;IAEjB,MAAM,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;IACzD,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;QACpC,OAAO;IACT,CAAC;IAED,MAAM,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACvD,QAAQ,gBAAgB,EAAE,CAAC;QACzB,KAAK,YAAY;YACf,MAAM,IAAI,4BAAkB,CAC1B,+BAA+B,gBAAgB,EAAE,EACjD,CAAC,EACD,GAAG,CACJ,CAAC;QACJ,KAAK,aAAa;YAChB,IAAI,GAAG,CAAC,MAAM,KAAK,wBAAwB,EAAE,CAAC;gBAC5C,MAAM,gBAAgB,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC;gBAC/D,MAAM,IAAI,4BAAkB,CAC1B,+BAA+B,wBAAwB,EAAE,EACzD,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAC/B,GAAG,CACJ,CAAC;YACJ,CAAC;YAED,MAAM;QACR,KAAK,gBAAgB;YACnB,MAAM;QACR;YACE,MAAM,IAAI,4BAAkB,CAC1B,2CAA2C,gBAAgB,KAAK,EAChE,gBAAgB,EAChB,GAAG,CACJ,CAAC;IACN,CAAC;IAED,MAAM,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAC7D,IAAI,mBAAmB,EAAE,CAAC;QACxB,MAAM,IAAI,+BAAqB,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC;IAC5D,CAAC;IAED,MAAM,YAAY,GAAG,OAAO,CAAC,gBAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACzD,QAAQ,YAAY,EAAE,CAAC;QACrB,KAAK,OAAO;YACV,MAAM,IAAI,4BAAkB,CAC1B,+BAA+B,YAAY,EAAE,EAC7C,CAAC,EACD,GAAG,CACJ,CAAC;QACJ,KAAK,aAAa,CAAC;QACnB,KAAK,aAAa;YAChB,MAAM;QACR;YACE,MAAM,IAAI,4BAAkB,CAC1B,4CAA4C,YAAY,KAAK,EAC7D,YAAY,EACZ,GAAG,CACJ,CAAC;IACN,CAAC;IAED,IAAI,iBAAiB,KAAK,OAAO,EAAE,CAAC;QAClC,MAAM,IAAI,2BAAiB,CACzB,gCAAgC,iBAAiB,EAAE,EACnD,GAAG,CACJ,CAAC;IACJ,CAAC;IAED,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;QACtB,MAAM,IAAI,2BAAiB,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IACvC,CAAC;AACH,CAAC;AAxED,uCAwEC"}
1
+ {"version":3,"file":"throwIfErrorResponse.js","sourceRoot":"","sources":["../../src/internal/throwIfErrorResponse.ts"],"names":[],"mappings":";;;;;AAAA,sFAA8D;AAC9D,oFAA4D;AAC5D,sFAA8D;AAC9D,4FAAoE;AAIpE,MAAM,wBAAwB,GAAG,GAAG,CAAC;AAErC;;;;;;GAMG;AACH,SAAwB,oBAAoB,CAC1C,OAAoB,EACpB,GAAiB;IAEjB,MAAM,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;IACzD,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;QACpC,OAAO;IACT,CAAC;IAED,MAAM,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACvD,QAAQ,gBAAgB,EAAE,CAAC;QACzB,KAAK,YAAY;YACf,MAAM,IAAI,4BAAkB,CAC1B,+BAA+B,gBAAgB,EAAE,EACjD,CAAC,EACD,GAAG,CACJ,CAAC;QACJ,KAAK,aAAa;YAChB,IAAI,GAAG,CAAC,MAAM,KAAK,wBAAwB,EAAE,CAAC;gBAC5C,MAAM,gBAAgB,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC;gBAC/D,MAAM,IAAI,4BAAkB,CAC1B,+BAA+B,wBAAwB,EAAE,EACzD,IAAI,GAAG,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,EACtC,GAAG,CACJ,CAAC;YACJ,CAAC;YAED,MAAM;QACR,KAAK,gBAAgB;YACnB,MAAM;QACR;YACE,MAAM,IAAI,4BAAkB,CAC1B,2CAA2C,gBAAgB,KAAK,EAChE,gBAAgB,EAChB,GAAG,CACJ,CAAC;IACN,CAAC;IAED,MAAM,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAC7D,IAAI,mBAAmB,EAAE,CAAC;QACxB,MAAM,IAAI,+BAAqB,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC;IAC5D,CAAC;IAED,MAAM,YAAY,GAAG,OAAO,CAAC,gBAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACzD,QAAQ,YAAY,EAAE,CAAC;QACrB,KAAK,OAAO;YACV,MAAM,IAAI,4BAAkB,CAC1B,+BAA+B,YAAY,EAAE,EAC7C,CAAC,EACD,GAAG,CACJ,CAAC;QACJ,KAAK,aAAa,CAAC;QACnB,KAAK,aAAa;YAChB,MAAM;QACR;YACE,MAAM,IAAI,4BAAkB,CAC1B,4CAA4C,YAAY,KAAK,EAC7D,YAAY,EACZ,GAAG,CACJ,CAAC;IACN,CAAC;IAED,IAAI,iBAAiB,KAAK,OAAO,EAAE,CAAC;QAClC,MAAM,IAAI,2BAAiB,CACzB,gCAAgC,iBAAiB,EAAE,EACnD,GAAG,CACJ,CAAC;IACJ,CAAC;IAED,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;QACtB,MAAM,IAAI,2BAAiB,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IACvC,CAAC;AACH,CAAC;AAxED,uCAwEC"}
@@ -1,9 +1,28 @@
1
- import type Pacer from "../pacers/Pacer";
2
1
  import type { Middleware } from "../RestOptions";
3
2
  import type RestRequest from "../RestRequest";
3
+ /**
4
+ * Pacer is a class which allows to pace requests on some resource identified by
5
+ * the instance of this class.
6
+ */
7
+ export interface Pacer {
8
+ /** Human readable name of the pacer, used when composing multiple pacers. */
9
+ readonly key: string;
10
+ /**
11
+ * Signals that we're about to send a request. Returns the delay we need to
12
+ * wait for before actually sending.
13
+ */
14
+ pace(): Promise<PacerOutcome>;
15
+ }
16
+ /**
17
+ * A result of some Pacer work.
18
+ */
19
+ export interface PacerOutcome {
20
+ delayMs: number;
21
+ reason: string;
22
+ }
4
23
  /**
5
24
  * Rest Client middleware that adds some delay between requests using one of
6
25
  * Pacer implementations.
7
26
  */
8
- export default function paceRequests(pacer: Pacer | ((req: RestRequest) => Promise<Pacer | null>) | null): Middleware;
27
+ export default function paceRequests(pacer: Pacer | ((req: RestRequest) => Promise<Pacer | null>) | null, delayMetric?: (delay: number, reason: string) => void): Middleware;
9
28
  //# sourceMappingURL=paceRequests.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"paceRequests.d.ts","sourceRoot":"","sources":["../../src/middlewares/paceRequests.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,iBAAiB,CAAC;AACzC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,WAAW,MAAM,gBAAgB,CAAC;AAI9C;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,YAAY,CAClC,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC,GAAG,EAAE,WAAW,KAAK,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,GAClE,UAAU,CA6BZ"}
1
+ {"version":3,"file":"paceRequests.d.ts","sourceRoot":"","sources":["../../src/middlewares/paceRequests.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,WAAW,MAAM,gBAAgB,CAAC;AAI9C;;;GAGG;AACH,MAAM,WAAW,KAAK;IACpB,6EAA6E;IAC7E,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,IAAI,IAAI,OAAO,CAAC,YAAY,CAAC,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,YAAY,CAClC,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC,GAAG,EAAE,WAAW,KAAK,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,EACnE,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,GACpD,UAAU,CA+BZ"}
@@ -5,14 +5,15 @@ const MIN_LOG_DELAY_MS = 10;
5
5
  * Rest Client middleware that adds some delay between requests using one of
6
6
  * Pacer implementations.
7
7
  */
8
- function paceRequests(pacer) {
8
+ function paceRequests(pacer, delayMetric) {
9
9
  return async (req, next) => {
10
10
  if (typeof pacer === "function") {
11
11
  pacer = await pacer(req);
12
12
  }
13
13
  if (pacer) {
14
- const { delayMs, reason } = await pacer.touch();
14
+ const { delayMs, reason } = await pacer.pace();
15
15
  if (delayMs > 0) {
16
+ delayMetric === null || delayMetric === void 0 ? void 0 : delayMetric(delayMs, reason);
16
17
  await req.options.heartbeater.delay(delayMs);
17
18
  }
18
19
  if (delayMs > MIN_LOG_DELAY_MS) {
@@ -1 +1 @@
1
- {"version":3,"file":"paceRequests.js","sourceRoot":"","sources":["../../src/middlewares/paceRequests.ts"],"names":[],"mappings":";;AAIA,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAE5B;;;GAGG;AACH,SAAwB,YAAY,CAClC,KAAmE;IAEnE,OAAO,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QACzB,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;YAChC,KAAK,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC;QAED,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;YAChD,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;gBAChB,MAAM,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC/C,CAAC;YAED,IAAI,OAAO,GAAG,gBAAgB,EAAE,CAAC;gBAC/B,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC;oBACjB,OAAO,EAAE,CAAC;oBACV,GAAG;oBACH,GAAG,EAAE,eAAe;oBACpB,SAAS,EAAE,IAAI;oBACf,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;oBACrB,OAAO,EAAE,OAAO;oBAChB,cAAc,EAAE,IAAI;oBACpB,qBAAqB,EAAE,KAAK;oBAC5B,OAAO,EAAE,MAAM;iBAChB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC,CAAC;AACJ,CAAC;AA/BD,+BA+BC"}
1
+ {"version":3,"file":"paceRequests.js","sourceRoot":"","sources":["../../src/middlewares/paceRequests.ts"],"names":[],"mappings":";;AAGA,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAyB5B;;;GAGG;AACH,SAAwB,YAAY,CAClC,KAAmE,EACnE,WAAqD;IAErD,OAAO,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QACzB,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;YAChC,KAAK,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC;QAED,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;YAE/C,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;gBAChB,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAG,OAAO,EAAE,MAAM,CAAC,CAAC;gBAC/B,MAAM,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC/C,CAAC;YAED,IAAI,OAAO,GAAG,gBAAgB,EAAE,CAAC;gBAC/B,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC;oBACjB,OAAO,EAAE,CAAC;oBACV,GAAG;oBACH,GAAG,EAAE,eAAe;oBACpB,SAAS,EAAE,IAAI;oBACf,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;oBACrB,OAAO,EAAE,OAAO;oBAChB,cAAc,EAAE,IAAI;oBACpB,qBAAqB,EAAE,KAAK;oBAC5B,OAAO,EAAE,MAAM;iBAChB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC,CAAC;AACJ,CAAC;AAlCD,+BAkCC"}
package/docs/README.md CHANGED
@@ -4,6 +4,8 @@
4
4
 
5
5
  See also [Full API documentation](https://github.com/clickup/rest-client/blob/master/docs/modules.md).
6
6
 
7
+ ![CI run](https://github.com/clickup/rest-client/actions/workflows/ci.yml/badge.svg?branch=main)
8
+
7
9
  ## Examples
8
10
 
9
11
  In the example below we use
@@ -11,13 +11,17 @@ RestClient is an immutable object which allows to:
11
11
 
12
12
  ### constructor
13
13
 
14
- • **new RestClient**(`options?`)
14
+ • **new RestClient**(`options?`): [`RestClient`](RestClient.md)
15
15
 
16
16
  #### Parameters
17
17
 
18
18
  | Name | Type |
19
19
  | :------ | :------ |
20
- | `options` | `Partial`<[`RestOptions`](../interfaces/RestOptions.md)\> |
20
+ | `options` | `Partial`\<[`RestOptions`](../interfaces/RestOptions.md)\> |
21
+
22
+ #### Returns
23
+
24
+ [`RestClient`](RestClient.md)
21
25
 
22
26
  #### Defined in
23
27
 
@@ -35,7 +39,7 @@ Returns a new RestClient with some options updated with the passed ones.
35
39
 
36
40
  | Name | Type |
37
41
  | :------ | :------ |
38
- | `options` | `Partial`<[`RestOptions`](../interfaces/RestOptions.md)\> |
42
+ | `options` | `Partial`\<[`RestOptions`](../interfaces/RestOptions.md)\> |
39
43
 
40
44
  #### Returns
41
45
 
@@ -86,7 +90,7 @@ appears here which we must protect against in the code below.
86
90
 
87
91
  | Name | Type |
88
92
  | :------ | :------ |
89
- | `base` | `string` \| () => `Promise`<`string`\> |
93
+ | `base` | `string` \| () => `Promise`\<`string`\> |
90
94
 
91
95
  #### Returns
92
96
 
@@ -109,7 +113,7 @@ Returns a new RestClient with a custom header.
109
113
  | Name | Type |
110
114
  | :------ | :------ |
111
115
  | `name` | `string` |
112
- | `value` | `string` \| () => `Promise`<`string`\> |
116
+ | `value` | `string` \| () => `Promise`\<`string`\> |
113
117
 
114
118
  #### Returns
115
119
 
@@ -152,7 +156,7 @@ logic, e.g.:
152
156
 
153
157
  | Name | Type | Default value |
154
158
  | :------ | :------ | :------ |
155
- | `token` | [`TokenGetter`](../interfaces/TokenGetter.md)<`string`\> | `undefined` |
159
+ | `token` | [`TokenGetter`](../interfaces/TokenGetter.md)\<`string`\> | `undefined` |
156
160
  | `bearerPrefix` | `string` | `"Bearer "` |
157
161
 
158
162
  #### Returns
@@ -186,7 +190,7 @@ of arbitrary requests, it can only send its own requests.
186
190
  | `consumer` | `Object` |
187
191
  | `consumer.consumerKey` | `string` |
188
192
  | `consumer.consumerSecret` | `string` |
189
- | `token` | [`TokenGetter`](../interfaces/TokenGetter.md)<{ `token`: `string` ; `tokenSecret`: `string` }\> |
193
+ | `token` | [`TokenGetter`](../interfaces/TokenGetter.md)\<\{ `token`: `string` ; `tokenSecret`: `string` }\> |
190
194
 
191
195
  #### Returns
192
196
 
@@ -208,7 +212,7 @@ Returns a new RestClient with basic authorization workflow.
208
212
 
209
213
  | Name | Type |
210
214
  | :------ | :------ |
211
- | `token` | [`TokenGetter`](../interfaces/TokenGetter.md)<{ `name`: `string` ; `password`: `string` }\> |
215
+ | `token` | [`TokenGetter`](../interfaces/TokenGetter.md)\<\{ `name`: `string` ; `password`: `string` }\> |
212
216
 
213
217
  #### Returns
214
218
 
@@ -222,7 +226,7 @@ ___
222
226
 
223
227
  ### get
224
228
 
225
- ▸ **get**(`path`, `args?`, `accept?`): [`RestRequest`](RestRequest.md)<`any`\>
229
+ ▸ **get**(`path`, `args?`, `accept?`): [`RestRequest`](RestRequest.md)\<`any`\>
226
230
 
227
231
  Sends a plain GET request without body.
228
232
 
@@ -233,12 +237,12 @@ NOTE, all args will be passed through `encodeURIComponent`.
233
237
  | Name | Type | Default value |
234
238
  | :------ | :------ | :------ |
235
239
  | `path` | `string` | `undefined` |
236
- | `args` | `Partial`<`Record`<`string`, `string` \| `number` \| `string`[]\>\> | `{}` |
240
+ | `args` | `Partial`\<`Record`\<`string`, `string` \| `number` \| `string`[]\>\> | `{}` |
237
241
  | `accept` | `string` | `"application/json"` |
238
242
 
239
243
  #### Returns
240
244
 
241
- [`RestRequest`](RestRequest.md)<`any`\>
245
+ [`RestRequest`](RestRequest.md)\<`any`\>
242
246
 
243
247
  #### Defined in
244
248
 
@@ -248,7 +252,7 @@ ___
248
252
 
249
253
  ### writeRaw
250
254
 
251
- ▸ **writeRaw**(`path`, `body`, `contentType`, `method?`, `accept?`): [`RestRequest`](RestRequest.md)<`any`\>
255
+ ▸ **writeRaw**(`path`, `body`, `contentType`, `method?`, `accept?`): [`RestRequest`](RestRequest.md)\<`any`\>
252
256
 
253
257
  Writes some raw string, buffer or a stream.
254
258
 
@@ -264,7 +268,7 @@ Writes some raw string, buffer or a stream.
264
268
 
265
269
  #### Returns
266
270
 
267
- [`RestRequest`](RestRequest.md)<`any`\>
271
+ [`RestRequest`](RestRequest.md)\<`any`\>
268
272
 
269
273
  #### Defined in
270
274
 
@@ -274,7 +278,7 @@ ___
274
278
 
275
279
  ### writeJson
276
280
 
277
- ▸ **writeJson**(`path`, `body`, `method?`, `accept?`): [`RestRequest`](RestRequest.md)<`any`\>
281
+ ▸ **writeJson**(`path`, `body`, `method?`, `accept?`): [`RestRequest`](RestRequest.md)\<`any`\>
278
282
 
279
283
  A shortcut method to write JSON body.
280
284
 
@@ -289,7 +293,7 @@ A shortcut method to write JSON body.
289
293
 
290
294
  #### Returns
291
295
 
292
- [`RestRequest`](RestRequest.md)<`any`\>
296
+ [`RestRequest`](RestRequest.md)\<`any`\>
293
297
 
294
298
  #### Defined in
295
299
 
@@ -299,7 +303,7 @@ ___
299
303
 
300
304
  ### writeForm
301
305
 
302
- ▸ **writeForm**(`path`, `body`, `method?`, `accept?`): [`RestRequest`](RestRequest.md)<`any`\>
306
+ ▸ **writeForm**(`path`, `body`, `method?`, `accept?`): [`RestRequest`](RestRequest.md)\<`any`\>
303
307
 
304
308
  A shortcut method to write "application/x-www-form-urlencoded" data.
305
309
 
@@ -308,13 +312,13 @@ A shortcut method to write "application/x-www-form-urlencoded" data.
308
312
  | Name | Type | Default value |
309
313
  | :------ | :------ | :------ |
310
314
  | `path` | `string` | `undefined` |
311
- | `body` | `string` \| `Partial`<`Record`<`string`, `string`\>\> | `undefined` |
315
+ | `body` | `string` \| `Partial`\<`Record`\<`string`, `string`\>\> | `undefined` |
312
316
  | `method` | ``"POST"`` \| ``"PUT"`` \| ``"PATCH"`` | `"POST"` |
313
317
  | `accept` | `string` | `"application/json"` |
314
318
 
315
319
  #### Returns
316
320
 
317
- [`RestRequest`](RestRequest.md)<`any`\>
321
+ [`RestRequest`](RestRequest.md)\<`any`\>
318
322
 
319
323
  #### Defined in
320
324
 
@@ -324,7 +328,7 @@ ___
324
328
 
325
329
  ### writeDelete
326
330
 
327
- ▸ **writeDelete**(`path`, `args?`, `accept?`): [`RestRequest`](RestRequest.md)<`any`\>
331
+ ▸ **writeDelete**(`path`, `args?`, `accept?`): [`RestRequest`](RestRequest.md)\<`any`\>
328
332
 
329
333
  A shortcut method to write DELETE request.
330
334
 
@@ -333,12 +337,12 @@ A shortcut method to write DELETE request.
333
337
  | Name | Type | Default value |
334
338
  | :------ | :------ | :------ |
335
339
  | `path` | `string` | `undefined` |
336
- | `args` | `Partial`<`Record`<`string`, `string`\>\> | `{}` |
340
+ | `args` | `Partial`\<`Record`\<`string`, `string`\>\> | `{}` |
337
341
  | `accept` | `string` | `"application/json"` |
338
342
 
339
343
  #### Returns
340
344
 
341
- [`RestRequest`](RestRequest.md)<`any`\>
345
+ [`RestRequest`](RestRequest.md)\<`any`\>
342
346
 
343
347
  #### Defined in
344
348
 
@@ -348,7 +352,7 @@ ___
348
352
 
349
353
  ### writeGraphQLX
350
354
 
351
- ▸ **writeGraphQLX**(`query`, `variables?`): [`RestRequest`](RestRequest.md)<`any`\>
355
+ ▸ **writeGraphQLX**(`query`, `variables?`): [`RestRequest`](RestRequest.md)\<`any`\>
352
356
 
353
357
  Returns a RestRequest prepared for sending GraphQL operation.
354
358
  - Expects the response to contain no errors; throws otherwise.
@@ -365,7 +369,7 @@ Returns a RestRequest prepared for sending GraphQL operation.
365
369
 
366
370
  #### Returns
367
371
 
368
- [`RestRequest`](RestRequest.md)<`any`\>
372
+ [`RestRequest`](RestRequest.md)\<`any`\>
369
373
 
370
374
  #### Defined in
371
375
 
@@ -375,7 +379,7 @@ ___
375
379
 
376
380
  ### writeGraphQLNullable
377
381
 
378
- ▸ **writeGraphQLNullable**(`query`, `variables?`): [`RestRequest`](RestRequest.md)<`undefined` \| ``null`` \| { `data?`: `any` ; `error?`: `any` ; `errors?`: `any`[] }\>
382
+ ▸ **writeGraphQLNullable**(`query`, `variables?`): [`RestRequest`](RestRequest.md)\<`undefined` \| ``null`` \| \{ `data?`: `any` ; `error?`: `any` ; `errors?`: `any`[] }\>
379
383
 
380
384
  Same as writeGraphQLX(), but doesn't throw if GraphQL response contains
381
385
  non-empty `error` or `errors` fields and instead returns the full response.
@@ -390,7 +394,7 @@ I.e. allows the caller to process these errors.
390
394
 
391
395
  #### Returns
392
396
 
393
- [`RestRequest`](RestRequest.md)<`undefined` \| ``null`` \| { `data?`: `any` ; `error?`: `any` ; `errors?`: `any`[] }\>
397
+ [`RestRequest`](RestRequest.md)\<`undefined` \| ``null`` \| \{ `data?`: `any` ; `error?`: `any` ; `errors?`: `any`[] }\>
394
398
 
395
399
  #### Defined in
396
400
 
@@ -400,7 +404,7 @@ ___
400
404
 
401
405
  ### rangeUpload
402
406
 
403
- ▸ **rangeUpload**(`path`, `mimeType`, `stream`, `method?`, `chunkSize`): `Promise`<``null`` \| `string`\>
407
+ ▸ **rangeUpload**(`path`, `mimeType`, `stream`, `method?`, `chunkSize`): `Promise`\<``null`` \| `string`\>
404
408
 
405
409
  Performs a series of Content-Range requests with content from a sequence of
406
410
  Buffers.
@@ -411,13 +415,13 @@ Buffers.
411
415
  | :------ | :------ | :------ |
412
416
  | `path` | `string` | `undefined` |
413
417
  | `mimeType` | `string` | `undefined` |
414
- | `stream` | `AsyncIterable`<`Buffer`\> | `undefined` |
418
+ | `stream` | `AsyncIterable`\<`Buffer`\> | `undefined` |
415
419
  | `method` | ``"POST"`` \| ``"PUT"`` | `"POST"` |
416
420
  | `chunkSize` | `number` | `undefined` |
417
421
 
418
422
  #### Returns
419
423
 
420
- `Promise`<``null`` \| `string`\>
424
+ `Promise`\<``null`` \| `string`\>
421
425
 
422
426
  #### Defined in
423
427
 
@@ -12,7 +12,7 @@
12
12
 
13
13
  ### constructor
14
14
 
15
- • **new RestContentSizeOverLimitError**(`message`, `res`)
15
+ • **new RestContentSizeOverLimitError**(`message`, `res`): [`RestContentSizeOverLimitError`](RestContentSizeOverLimitError.md)
16
16
 
17
17
  #### Parameters
18
18
 
@@ -21,6 +21,10 @@
21
21
  | `message` | `string` |
22
22
  | `res` | [`RestResponse`](RestResponse.md) |
23
23
 
24
+ #### Returns
25
+
26
+ [`RestContentSizeOverLimitError`](RestContentSizeOverLimitError.md)
27
+
24
28
  #### Inherited from
25
29
 
26
30
  [RestResponseError](RestResponseError.md).[constructor](RestResponseError.md#constructor)
@@ -14,7 +14,7 @@
14
14
 
15
15
  ### constructor
16
16
 
17
- • **new RestError**(`message`)
17
+ • **new RestError**(`message`): [`RestError`](RestError.md)
18
18
 
19
19
  #### Parameters
20
20
 
@@ -22,6 +22,10 @@
22
22
  | :------ | :------ |
23
23
  | `message` | `string` |
24
24
 
25
+ #### Returns
26
+
27
+ [`RestError`](RestError.md)
28
+
25
29
  #### Overrides
26
30
 
27
31
  Error.constructor
@@ -12,7 +12,7 @@
12
12
 
13
13
  ### constructor
14
14
 
15
- • **new RestRateLimitError**(`message`, `delayMs`, `res`)
15
+ • **new RestRateLimitError**(`message`, `delayMs`, `res`): [`RestRateLimitError`](RestRateLimitError.md)
16
16
 
17
17
  #### Parameters
18
18
 
@@ -22,6 +22,10 @@
22
22
  | `delayMs` | `number` |
23
23
  | `res` | [`RestResponse`](RestResponse.md) |
24
24
 
25
+ #### Returns
26
+
27
+ [`RestRateLimitError`](RestRateLimitError.md)
28
+
25
29
  #### Overrides
26
30
 
27
31
  [RestResponseError](RestResponseError.md).[constructor](RestResponseError.md#constructor)
@@ -38,7 +42,7 @@
38
42
 
39
43
  #### Defined in
40
44
 
41
- [src/errors/RestRateLimitError.ts:5](https://github.com/clickup/rest-client/blob/master/src/errors/RestRateLimitError.ts#L5)
45
+ [src/errors/RestRateLimitError.ts:7](https://github.com/clickup/rest-client/blob/master/src/errors/RestRateLimitError.ts#L7)
42
46
 
43
47
  ___
44
48