@clickup/rest-client 2.10.292
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintrc.base.js +412 -0
- package/.eslintrc.js +5 -0
- package/LICENSE +22 -0
- package/README.md +121 -0
- package/dist/RestClient.d.ts +154 -0
- package/dist/RestClient.d.ts.map +1 -0
- package/dist/RestClient.js +361 -0
- package/dist/RestClient.js.map +1 -0
- package/dist/RestOptions.d.ts +143 -0
- package/dist/RestOptions.d.ts.map +1 -0
- package/dist/RestOptions.js +63 -0
- package/dist/RestOptions.js.map +1 -0
- package/dist/RestRequest.d.ts +81 -0
- package/dist/RestRequest.d.ts.map +1 -0
- package/dist/RestRequest.js +367 -0
- package/dist/RestRequest.js.map +1 -0
- package/dist/RestResponse.d.ts +37 -0
- package/dist/RestResponse.d.ts.map +1 -0
- package/dist/RestResponse.js +56 -0
- package/dist/RestResponse.js.map +1 -0
- package/dist/RestStream.d.ts +29 -0
- package/dist/RestStream.d.ts.map +1 -0
- package/dist/RestStream.js +85 -0
- package/dist/RestStream.js.map +1 -0
- package/dist/errors/RestContentSizeOverLimitError.d.ts +4 -0
- package/dist/errors/RestContentSizeOverLimitError.d.ts.map +1 -0
- package/dist/errors/RestContentSizeOverLimitError.js +10 -0
- package/dist/errors/RestContentSizeOverLimitError.js.map +1 -0
- package/dist/errors/RestError.d.ts +4 -0
- package/dist/errors/RestError.d.ts.map +1 -0
- package/dist/errors/RestError.js +10 -0
- package/dist/errors/RestError.js.map +1 -0
- package/dist/errors/RestRateLimitError.d.ts +7 -0
- package/dist/errors/RestRateLimitError.d.ts.map +1 -0
- package/dist/errors/RestRateLimitError.js +14 -0
- package/dist/errors/RestRateLimitError.js.map +1 -0
- package/dist/errors/RestResponseError.d.ts +13 -0
- package/dist/errors/RestResponseError.d.ts.map +1 -0
- package/dist/errors/RestResponseError.js +32 -0
- package/dist/errors/RestResponseError.js.map +1 -0
- package/dist/errors/RestRetriableError.d.ts +7 -0
- package/dist/errors/RestRetriableError.d.ts.map +1 -0
- package/dist/errors/RestRetriableError.js +14 -0
- package/dist/errors/RestRetriableError.js.map +1 -0
- package/dist/errors/RestTimeoutError.d.ts +4 -0
- package/dist/errors/RestTimeoutError.d.ts.map +1 -0
- package/dist/errors/RestTimeoutError.js +10 -0
- package/dist/errors/RestTimeoutError.js.map +1 -0
- package/dist/errors/RestTokenInvalidError.d.ts +7 -0
- package/dist/errors/RestTokenInvalidError.d.ts.map +1 -0
- package/dist/errors/RestTokenInvalidError.js +14 -0
- package/dist/errors/RestTokenInvalidError.js.map +1 -0
- package/dist/helpers/depaginate.d.ts +10 -0
- package/dist/helpers/depaginate.d.ts.map +1 -0
- package/dist/helpers/depaginate.js +32 -0
- package/dist/helpers/depaginate.js.map +1 -0
- package/dist/index.d.ts +20 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +42 -0
- package/dist/index.js.map +1 -0
- package/dist/internal/RestFetchReader.d.ts +72 -0
- package/dist/internal/RestFetchReader.d.ts.map +1 -0
- package/dist/internal/RestFetchReader.js +192 -0
- package/dist/internal/RestFetchReader.js.map +1 -0
- package/dist/internal/RestRangeUploader.d.ts +24 -0
- package/dist/internal/RestRangeUploader.d.ts.map +1 -0
- package/dist/internal/RestRangeUploader.js +54 -0
- package/dist/internal/RestRangeUploader.js.map +1 -0
- package/dist/internal/calcRetryDelay.d.ts +8 -0
- package/dist/internal/calcRetryDelay.d.ts.map +1 -0
- package/dist/internal/calcRetryDelay.js +44 -0
- package/dist/internal/calcRetryDelay.js.map +1 -0
- package/dist/internal/inspectPossibleJSON.d.ts +6 -0
- package/dist/internal/inspectPossibleJSON.d.ts.map +1 -0
- package/dist/internal/inspectPossibleJSON.js +53 -0
- package/dist/internal/inspectPossibleJSON.js.map +1 -0
- package/dist/internal/prependNewlineIfMultiline.d.ts +2 -0
- package/dist/internal/prependNewlineIfMultiline.d.ts.map +1 -0
- package/dist/internal/prependNewlineIfMultiline.js +7 -0
- package/dist/internal/prependNewlineIfMultiline.js.map +1 -0
- package/dist/internal/substituteParams.d.ts +7 -0
- package/dist/internal/substituteParams.d.ts.map +1 -0
- package/dist/internal/substituteParams.js +24 -0
- package/dist/internal/substituteParams.js.map +1 -0
- package/dist/internal/throwIfErrorResponse.d.ts +11 -0
- package/dist/internal/throwIfErrorResponse.d.ts.map +1 -0
- package/dist/internal/throwIfErrorResponse.js +60 -0
- package/dist/internal/throwIfErrorResponse.js.map +1 -0
- package/dist/internal/toFloatMs.d.ts +2 -0
- package/dist/internal/toFloatMs.d.ts.map +1 -0
- package/dist/internal/toFloatMs.js +7 -0
- package/dist/internal/toFloatMs.js.map +1 -0
- package/dist/middlewares/paceRequests.d.ts +9 -0
- package/dist/middlewares/paceRequests.d.ts.map +1 -0
- package/dist/middlewares/paceRequests.js +36 -0
- package/dist/middlewares/paceRequests.js.map +1 -0
- package/dist/pacers/Pacer.d.ts +21 -0
- package/dist/pacers/Pacer.d.ts.map +1 -0
- package/dist/pacers/Pacer.js +3 -0
- package/dist/pacers/Pacer.js.map +1 -0
- package/dist/pacers/PacerComposite.d.ts +14 -0
- package/dist/pacers/PacerComposite.d.ts.map +1 -0
- package/dist/pacers/PacerComposite.js +32 -0
- package/dist/pacers/PacerComposite.js.map +1 -0
- package/dist/pacers/PacerQPS.d.ts +53 -0
- package/dist/pacers/PacerQPS.d.ts.map +1 -0
- package/dist/pacers/PacerQPS.js +105 -0
- package/dist/pacers/PacerQPS.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/docs/.nojekyll +1 -0
- package/docs/README.md +123 -0
- package/docs/classes/PacerComposite.md +62 -0
- package/docs/classes/PacerQPS.md +75 -0
- package/docs/classes/RestClient.md +424 -0
- package/docs/classes/RestContentSizeOverLimitError.md +128 -0
- package/docs/classes/RestError.md +31 -0
- package/docs/classes/RestRateLimitError.md +139 -0
- package/docs/classes/RestRequest.md +257 -0
- package/docs/classes/RestResponse.md +110 -0
- package/docs/classes/RestResponseError.md +110 -0
- package/docs/classes/RestRetriableError.md +139 -0
- package/docs/classes/RestStream.md +92 -0
- package/docs/classes/RestTimeoutError.md +128 -0
- package/docs/classes/RestTokenInvalidError.md +138 -0
- package/docs/interfaces/Middleware.md +27 -0
- package/docs/interfaces/Pacer.md +40 -0
- package/docs/interfaces/PacerDelay.md +25 -0
- package/docs/interfaces/PacerQPSBackend.md +44 -0
- package/docs/interfaces/PacerQPSOptions.md +40 -0
- package/docs/interfaces/RestLogEvent.md +95 -0
- package/docs/interfaces/RestOptions.md +351 -0
- package/docs/interfaces/TokenGetter.md +34 -0
- package/docs/modules.md +87 -0
- package/jest.config.js +8 -0
- package/package.json +42 -0
- package/tsconfig.json +39 -0
- package/typedoc.json +17 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RestRequest.js","sourceRoot":"","sources":["../src/RestRequest.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { Headers } from "node-fetch";
|
|
2
|
+
import type RestRequest from "./RestRequest";
|
|
3
|
+
/**
|
|
4
|
+
* RestResponse is intentionally not aware of the data structure it carries, and
|
|
5
|
+
* it doesn't do any assertions/validations which is the responsibility of
|
|
6
|
+
* RestRequest helper methods.
|
|
7
|
+
*
|
|
8
|
+
* We also use a concept of "body preloading". Sometimes, e.g. on non-successful
|
|
9
|
+
* HTTP status codes, we also need to know the body content (at least its
|
|
10
|
+
* beginning), do double check whether should we retry, throw through or through
|
|
11
|
+
* a user-friendly error. To do this, we need to preload the beginning of the
|
|
12
|
+
* body and make it a part of RestResponse abstraction.
|
|
13
|
+
*/
|
|
14
|
+
export default class RestResponse {
|
|
15
|
+
readonly req: RestRequest;
|
|
16
|
+
readonly status: number;
|
|
17
|
+
readonly headers: Headers;
|
|
18
|
+
readonly text: string;
|
|
19
|
+
readonly textIsPartial: boolean;
|
|
20
|
+
constructor(req: RestRequest, status: number, headers: Headers, text: string, textIsPartial: boolean);
|
|
21
|
+
/**
|
|
22
|
+
* A safe way to treat the response as JSON.
|
|
23
|
+
* - Never throws, i.e. we imply that the caller will verify the structure of
|
|
24
|
+
* the response and do its own errors processing.
|
|
25
|
+
* - It's a getter, so we can use typescript-is'es is<xyz>() type guard, e.g.:
|
|
26
|
+
* `if (is<{ errors: any[] }>(res.json) && res.json.errors.length) { ... }`
|
|
27
|
+
*
|
|
28
|
+
* Notice that there is NO `assert()` abstraction inside RestResponse class.
|
|
29
|
+
* This is because RestClient sometimes substitutes the response with some
|
|
30
|
+
* sub-field (e.g. see writeGraphQLX() method), and we still need to run the
|
|
31
|
+
* assertion in such cases. By not having strong typing here, we intentionally
|
|
32
|
+
* make the use of this method harder, so people will prefer using
|
|
33
|
+
* RestRequest.json() instead.
|
|
34
|
+
*/
|
|
35
|
+
get json(): object | string | number | boolean | null | undefined;
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=RestResponse.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RestResponse.d.ts","sourceRoot":"","sources":["../src/RestResponse.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,KAAK,WAAW,MAAM,eAAe,CAAC;AAE7C;;;;;;;;;;GAUG;AACH,MAAM,CAAC,OAAO,OAAO,YAAY;aAEb,GAAG,EAAE,WAAW;aAChB,MAAM,EAAE,MAAM;aACd,OAAO,EAAE,OAAO;aAChB,IAAI,EAAE,MAAM;aACZ,aAAa,EAAE,OAAO;gBAJtB,GAAG,EAAE,WAAW,EAChB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,OAAO;IAGxC;;;;;;;;;;;;;OAaG;IACH,IACI,IAAI,IAAI,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAMhE;CACF"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
const fast_typescript_memoize_1 = require("fast-typescript-memoize");
|
|
10
|
+
/**
|
|
11
|
+
* RestResponse is intentionally not aware of the data structure it carries, and
|
|
12
|
+
* it doesn't do any assertions/validations which is the responsibility of
|
|
13
|
+
* RestRequest helper methods.
|
|
14
|
+
*
|
|
15
|
+
* We also use a concept of "body preloading". Sometimes, e.g. on non-successful
|
|
16
|
+
* HTTP status codes, we also need to know the body content (at least its
|
|
17
|
+
* beginning), do double check whether should we retry, throw through or through
|
|
18
|
+
* a user-friendly error. To do this, we need to preload the beginning of the
|
|
19
|
+
* body and make it a part of RestResponse abstraction.
|
|
20
|
+
*/
|
|
21
|
+
class RestResponse {
|
|
22
|
+
constructor(req, status, headers, text, textIsPartial) {
|
|
23
|
+
this.req = req;
|
|
24
|
+
this.status = status;
|
|
25
|
+
this.headers = headers;
|
|
26
|
+
this.text = text;
|
|
27
|
+
this.textIsPartial = textIsPartial;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* A safe way to treat the response as JSON.
|
|
31
|
+
* - Never throws, i.e. we imply that the caller will verify the structure of
|
|
32
|
+
* the response and do its own errors processing.
|
|
33
|
+
* - It's a getter, so we can use typescript-is'es is<xyz>() type guard, e.g.:
|
|
34
|
+
* `if (is<{ errors: any[] }>(res.json) && res.json.errors.length) { ... }`
|
|
35
|
+
*
|
|
36
|
+
* Notice that there is NO `assert()` abstraction inside RestResponse class.
|
|
37
|
+
* This is because RestClient sometimes substitutes the response with some
|
|
38
|
+
* sub-field (e.g. see writeGraphQLX() method), and we still need to run the
|
|
39
|
+
* assertion in such cases. By not having strong typing here, we intentionally
|
|
40
|
+
* make the use of this method harder, so people will prefer using
|
|
41
|
+
* RestRequest.json() instead.
|
|
42
|
+
*/
|
|
43
|
+
get json() {
|
|
44
|
+
try {
|
|
45
|
+
return this.text ? JSON.parse(this.text) : undefined;
|
|
46
|
+
}
|
|
47
|
+
catch (e) {
|
|
48
|
+
return undefined;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
exports.default = RestResponse;
|
|
53
|
+
__decorate([
|
|
54
|
+
(0, fast_typescript_memoize_1.Memoize)()
|
|
55
|
+
], RestResponse.prototype, "json", null);
|
|
56
|
+
//# sourceMappingURL=RestResponse.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RestResponse.js","sourceRoot":"","sources":["../src/RestResponse.ts"],"names":[],"mappings":";;;;;;;;AAAA,qEAAkD;AAIlD;;;;;;;;;;GAUG;AACH,MAAqB,YAAY;IAC/B,YACkB,GAAgB,EAChB,MAAc,EACd,OAAgB,EAChB,IAAY,EACZ,aAAsB;QAJtB,QAAG,GAAH,GAAG,CAAa;QAChB,WAAM,GAAN,MAAM,CAAQ;QACd,YAAO,GAAP,OAAO,CAAS;QAChB,SAAI,GAAJ,IAAI,CAAQ;QACZ,kBAAa,GAAb,aAAa,CAAS;IACrC,CAAC;IAEJ;;;;;;;;;;;;;OAaG;IAEH,IAAI,IAAI;QACN,IAAI;YACF,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;SACtD;QAAC,OAAO,CAAM,EAAE;YACf,OAAO,SAAS,CAAC;SAClB;IACH,CAAC;CACF;AA/BD,+BA+BC;AAPC;IADC,IAAA,iCAAO,GAAE;wCAOT"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type RestResponse from "./RestResponse";
|
|
2
|
+
/**
|
|
3
|
+
* Once created, RestStream must be iterated in full, otherwise the connection
|
|
4
|
+
* will remain dangling. Also, this class is where we hide the details of the
|
|
5
|
+
* actual stream reading using AsyncGenerator bridge abstraction.
|
|
6
|
+
*/
|
|
7
|
+
export default class RestStream {
|
|
8
|
+
readonly res: RestResponse;
|
|
9
|
+
private _generator?;
|
|
10
|
+
constructor(res: RestResponse, readerIterable: {
|
|
11
|
+
[Symbol.asyncIterator]: () => AsyncGenerator<string, void>;
|
|
12
|
+
});
|
|
13
|
+
/**
|
|
14
|
+
* Reads the prefix of the stream. Closes the connection after the read is
|
|
15
|
+
* done in all cases, so safe to be used to e.g. receive a trimmed response.
|
|
16
|
+
*/
|
|
17
|
+
consumeReturningPrefix(maxChars: number): Promise<string>;
|
|
18
|
+
/**
|
|
19
|
+
* Closes the connection.
|
|
20
|
+
*/
|
|
21
|
+
close(): Promise<void>;
|
|
22
|
+
/**
|
|
23
|
+
* Allows to iterate over the entire stream of data. You must consume the
|
|
24
|
+
* entire iterable or at least call this.close(), otherwise the connection may
|
|
25
|
+
* remain open.
|
|
26
|
+
*/
|
|
27
|
+
[Symbol.asyncIterator](): AsyncGenerator<string, void, unknown>;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=RestStream.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RestStream.d.ts","sourceRoot":"","sources":["../src/RestStream.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,YAAY,MAAM,gBAAgB,CAAC;AAE/C;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,UAAU;aAIX,GAAG,EAAE,YAAY;IAHnC,OAAO,CAAC,UAAU,CAAC,CAA+B;gBAGhC,GAAG,EAAE,YAAY,EACjC,cAAc,EAAE;QACd,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,MAAM,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;KAC5D;IAKH;;;OAGG;IACG,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAgB/D;;OAEG;IACG,KAAK;IAgBX;;;;OAIG;IAEI,CAAC,MAAM,CAAC,aAAa,CAAC;CAkB9B"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var _a;
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
const fast_typescript_memoize_1 = require("fast-typescript-memoize");
|
|
11
|
+
/**
|
|
12
|
+
* Once created, RestStream must be iterated in full, otherwise the connection
|
|
13
|
+
* will remain dangling. Also, this class is where we hide the details of the
|
|
14
|
+
* actual stream reading using AsyncGenerator bridge abstraction.
|
|
15
|
+
*/
|
|
16
|
+
class RestStream {
|
|
17
|
+
constructor(res, readerIterable) {
|
|
18
|
+
this.res = res;
|
|
19
|
+
this._generator = readerIterable[Symbol.asyncIterator]();
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Reads the prefix of the stream. Closes the connection after the read is
|
|
23
|
+
* done in all cases, so safe to be used to e.g. receive a trimmed response.
|
|
24
|
+
*/
|
|
25
|
+
async consumeReturningPrefix(maxChars) {
|
|
26
|
+
const text = [];
|
|
27
|
+
let length = 0;
|
|
28
|
+
for await (const chunk of this) {
|
|
29
|
+
// According to Google, in v8 string concatenation is as efficient as
|
|
30
|
+
// array or buffer joining.
|
|
31
|
+
text.push(chunk);
|
|
32
|
+
length += chunk.length;
|
|
33
|
+
if (length >= maxChars) {
|
|
34
|
+
break;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
return text.join("").substring(0, maxChars);
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Closes the connection.
|
|
41
|
+
*/
|
|
42
|
+
async close() {
|
|
43
|
+
// First, try to interrupt the active iteration, if any.
|
|
44
|
+
await this[Symbol.asyncIterator]().return();
|
|
45
|
+
// It is possible that this.[Symbol.asyncIterator] has never been iterated
|
|
46
|
+
// before at all, so its `finally` got never executed. This happens when
|
|
47
|
+
// RestFetchReader#preload() consumed some small chunk of data, and then
|
|
48
|
+
// no-one iterated the remaining body in RestStream, they just called
|
|
49
|
+
// close() on it. So we recheck & close the RestFetchReader iterator if it
|
|
50
|
+
// is still there.
|
|
51
|
+
const generator = this._generator;
|
|
52
|
+
if (generator) {
|
|
53
|
+
delete this._generator;
|
|
54
|
+
await generator.return();
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Allows to iterate over the entire stream of data. You must consume the
|
|
59
|
+
* entire iterable or at least call this.close(), otherwise the connection may
|
|
60
|
+
* remain open.
|
|
61
|
+
*/
|
|
62
|
+
async *[_a = Symbol.asyncIterator]() {
|
|
63
|
+
const generator = this._generator;
|
|
64
|
+
if (!generator) {
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
delete this._generator;
|
|
68
|
+
try {
|
|
69
|
+
yield this.res.text;
|
|
70
|
+
for await (const chunk of generator) {
|
|
71
|
+
yield chunk;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
finally {
|
|
75
|
+
// The code enters here if the caller interrupted (returned) the iteration
|
|
76
|
+
// after receiving the 1st textFetched chunk.
|
|
77
|
+
await generator.return();
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
exports.default = RestStream;
|
|
82
|
+
__decorate([
|
|
83
|
+
(0, fast_typescript_memoize_1.Memoize)()
|
|
84
|
+
], RestStream.prototype, _a, null);
|
|
85
|
+
//# sourceMappingURL=RestStream.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RestStream.js","sourceRoot":"","sources":["../src/RestStream.ts"],"names":[],"mappings":";;;;;;;;;AAAA,qEAAkD;AAGlD;;;;GAIG;AACH,MAAqB,UAAU;IAG7B,YACkB,GAAiB,EACjC,cAEC;QAHe,QAAG,GAAH,GAAG,CAAc;QAKjC,IAAI,CAAC,UAAU,GAAG,cAAc,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;IAC3D,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,sBAAsB,CAAC,QAAgB;QAC3C,MAAM,IAAI,GAAa,EAAE,CAAC;QAC1B,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,IAAI,EAAE;YAC9B,qEAAqE;YACrE,2BAA2B;YAC3B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC;YACvB,IAAI,MAAM,IAAI,QAAQ,EAAE;gBACtB,MAAM;aACP;SACF;QAED,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK;QACT,wDAAwD;QACxD,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC;QAC5C,0EAA0E;QAC1E,wEAAwE;QACxE,wEAAwE;QACxE,qEAAqE;QACrE,0EAA0E;QAC1E,kBAAkB;QAClB,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,IAAI,SAAS,EAAE;YACb,OAAO,IAAI,CAAC,UAAU,CAAC;YACvB,MAAM,SAAS,CAAC,MAAM,EAAE,CAAC;SAC1B;IACH,CAAC;IAED;;;;OAIG;IAEI,AAAP,KAAK,CAAC,CAAC,MAAC,MAAM,CAAC,aAAa,CAAC;QAC3B,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,IAAI,CAAC,SAAS,EAAE;YACd,OAAO;SACR;QAED,OAAO,IAAI,CAAC,UAAU,CAAC;QACvB,IAAI;YACF,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;YACpB,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,SAAS,EAAE;gBACnC,MAAM,KAAK,CAAC;aACb;SACF;gBAAS;YACR,0EAA0E;YAC1E,6CAA6C;YAC7C,MAAM,SAAS,CAAC,MAAM,EAAE,CAAC;SAC1B;IACH,CAAC;CACF;AA3ED,6BA2EC;AAlBQ;IADN,IAAA,iCAAO,GAAE;kCAkBT"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RestContentSizeOverLimitError.d.ts","sourceRoot":"","sources":["../../src/errors/RestContentSizeOverLimitError.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,MAAM,qBAAqB,CAAC;AAEpD,MAAM,CAAC,OAAO,OAAO,6BAA8B,SAAQ,iBAAiB;CAAG"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const RestResponseError_1 = __importDefault(require("./RestResponseError"));
|
|
7
|
+
class RestContentSizeOverLimitError extends RestResponseError_1.default {
|
|
8
|
+
}
|
|
9
|
+
exports.default = RestContentSizeOverLimitError;
|
|
10
|
+
//# sourceMappingURL=RestContentSizeOverLimitError.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RestContentSizeOverLimitError.js","sourceRoot":"","sources":["../../src/errors/RestContentSizeOverLimitError.ts"],"names":[],"mappings":";;;;;AAAA,4EAAoD;AAEpD,MAAqB,6BAA8B,SAAQ,2BAAiB;CAAG;AAA/E,gDAA+E"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RestError.d.ts","sourceRoot":"","sources":["../../src/errors/RestError.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,KAAK;gBAC9B,OAAO,EAAE,MAAM;CAI5B"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
class RestError extends Error {
|
|
4
|
+
constructor(message) {
|
|
5
|
+
super(message);
|
|
6
|
+
this.name = this.constructor.name; // https://javascript.info/custom-errors#further-inheritance
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
exports.default = RestError;
|
|
10
|
+
//# sourceMappingURL=RestError.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RestError.js","sourceRoot":"","sources":["../../src/errors/RestError.ts"],"names":[],"mappings":";;AAAA,MAAqB,SAAU,SAAQ,KAAK;IAC1C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,4DAA4D;IACjG,CAAC;CACF;AALD,4BAKC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type RestResponse from "../RestResponse";
|
|
2
|
+
import RestResponseError from "./RestResponseError";
|
|
3
|
+
export default class RestRateLimitError extends RestResponseError {
|
|
4
|
+
delayMs: number;
|
|
5
|
+
constructor(message: string, delayMs: number, res: RestResponse);
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=RestRateLimitError.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RestRateLimitError.d.ts","sourceRoot":"","sources":["../../src/errors/RestRateLimitError.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,iBAAiB,CAAC;AAChD,OAAO,iBAAiB,MAAM,qBAAqB,CAAC;AAEpD,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,iBAAiB;IAC3B,OAAO,EAAE,MAAM;gBAAvC,OAAO,EAAE,MAAM,EAAS,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY;CAGvE"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const RestResponseError_1 = __importDefault(require("./RestResponseError"));
|
|
7
|
+
class RestRateLimitError extends RestResponseError_1.default {
|
|
8
|
+
constructor(message, delayMs, res) {
|
|
9
|
+
super(message, res);
|
|
10
|
+
this.delayMs = delayMs;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
exports.default = RestRateLimitError;
|
|
14
|
+
//# sourceMappingURL=RestRateLimitError.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RestRateLimitError.js","sourceRoot":"","sources":["../../src/errors/RestRateLimitError.ts"],"names":[],"mappings":";;;;;AACA,4EAAoD;AAEpD,MAAqB,kBAAmB,SAAQ,2BAAiB;IAC/D,YAAY,OAAe,EAAS,OAAe,EAAE,GAAiB;QACpE,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QADc,YAAO,GAAP,OAAO,CAAQ;IAEnD,CAAC;CACF;AAJD,qCAIC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type RestResponse from "../RestResponse";
|
|
2
|
+
import RestError from "./RestError";
|
|
3
|
+
export default class RestResponseError extends RestError {
|
|
4
|
+
readonly res: RestResponse;
|
|
5
|
+
readonly method: string;
|
|
6
|
+
readonly host: string;
|
|
7
|
+
readonly pathname: string;
|
|
8
|
+
readonly requestArgs: string;
|
|
9
|
+
readonly requestBody: string;
|
|
10
|
+
readonly responseHeaders: string;
|
|
11
|
+
constructor(message: string, res: RestResponse);
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=RestResponseError.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RestResponseError.d.ts","sourceRoot":"","sources":["../../src/errors/RestResponseError.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,YAAY,MAAM,iBAAiB,CAAC;AAChD,OAAO,SAAS,MAAM,aAAa,CAAC;AAKpC,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,SAAS;IACtD,QAAQ,CAAC,GAAG,EAAG,YAAY,CAAC;IAE5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;gBAErB,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY;CA2B/C"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const inspectPossibleJSON_1 = __importDefault(require("../internal/inspectPossibleJSON"));
|
|
7
|
+
const prependNewlineIfMultiline_1 = __importDefault(require("../internal/prependNewlineIfMultiline"));
|
|
8
|
+
const RestError_1 = __importDefault(require("./RestError"));
|
|
9
|
+
const RESPONSE_MAX_LEN_IN_ERROR = process.env["NODE_ENV"] === "development" ? Number.MAX_SAFE_INTEGER : 2048;
|
|
10
|
+
class RestResponseError extends RestError_1.default {
|
|
11
|
+
constructor(message, res) {
|
|
12
|
+
super(`HTTP ${res.status}: ` +
|
|
13
|
+
(message ? `${message}: ` : "") +
|
|
14
|
+
(0, prependNewlineIfMultiline_1.default)((0, inspectPossibleJSON_1.default)(res.headers, res.text, RESPONSE_MAX_LEN_IN_ERROR)));
|
|
15
|
+
Object.defineProperty(this, "res", { value: res, enumerable: false }); // hidden from inspect()
|
|
16
|
+
const url = new URL(res.req.url);
|
|
17
|
+
const search = (url.search || "").replace(/^\?/, "");
|
|
18
|
+
this.method = res.req.method;
|
|
19
|
+
this.host = res.req.headers.get("host") || url.host;
|
|
20
|
+
this.pathname = url.pathname;
|
|
21
|
+
this.requestArgs = search.replace(/(?<=[&])/g, "\n");
|
|
22
|
+
this.requestBody = (0, inspectPossibleJSON_1.default)(res.headers, res.req.body, RESPONSE_MAX_LEN_IN_ERROR);
|
|
23
|
+
this.responseHeaders = [...res.headers]
|
|
24
|
+
.map(([name, value]) => `${name}: ${value}`)
|
|
25
|
+
.join("\n");
|
|
26
|
+
// Don't expose query string parameters in the message as they may contain
|
|
27
|
+
// sensitive information.
|
|
28
|
+
this.message += `\n ${this.method} ${url.protocol}//${url.host}${url.pathname}`;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
exports.default = RestResponseError;
|
|
32
|
+
//# sourceMappingURL=RestResponseError.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RestResponseError.js","sourceRoot":"","sources":["../../src/errors/RestResponseError.ts"],"names":[],"mappings":";;;;;AAAA,0FAAkE;AAClE,sGAA8E;AAE9E,4DAAoC;AAEpC,MAAM,yBAAyB,GAC7B,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC;AAE7E,MAAqB,iBAAkB,SAAQ,mBAAS;IAUtD,YAAY,OAAe,EAAE,GAAiB;QAC5C,KAAK,CACH,QAAQ,GAAG,CAAC,MAAM,IAAI;YACpB,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/B,IAAA,mCAAyB,EACvB,IAAA,6BAAmB,EAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,EAAE,yBAAyB,CAAC,CACtE,CACJ,CAAC;QACF,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,wBAAwB;QAC/F,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACjC,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACrD,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC;QACpD,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QACrD,IAAI,CAAC,WAAW,GAAG,IAAA,6BAAmB,EACpC,GAAG,CAAC,OAAO,EACX,GAAG,CAAC,GAAG,CAAC,IAAI,EACZ,yBAAyB,CAC1B,CAAC;QACF,IAAI,CAAC,eAAe,GAAG,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC;aACpC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,KAAK,KAAK,EAAE,CAAC;aAC3C,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,0EAA0E;QAC1E,yBAAyB;QACzB,IAAI,CAAC,OAAO,IAAI,OAAO,IAAI,CAAC,MAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;IACnF,CAAC;CACF;AArCD,oCAqCC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type RestResponse from "../RestResponse";
|
|
2
|
+
import RestResponseError from "./RestResponseError";
|
|
3
|
+
export default class RestRetriableError extends RestResponseError {
|
|
4
|
+
delayMs: number;
|
|
5
|
+
constructor(message: string, delayMs: number, res: RestResponse);
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=RestRetriableError.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RestRetriableError.d.ts","sourceRoot":"","sources":["../../src/errors/RestRetriableError.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,iBAAiB,CAAC;AAChD,OAAO,iBAAiB,MAAM,qBAAqB,CAAC;AAEpD,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,iBAAiB;IAC3B,OAAO,EAAE,MAAM;gBAAvC,OAAO,EAAE,MAAM,EAAS,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY;CAGvE"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const RestResponseError_1 = __importDefault(require("./RestResponseError"));
|
|
7
|
+
class RestRetriableError extends RestResponseError_1.default {
|
|
8
|
+
constructor(message, delayMs, res) {
|
|
9
|
+
super(message, res);
|
|
10
|
+
this.delayMs = delayMs;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
exports.default = RestRetriableError;
|
|
14
|
+
//# sourceMappingURL=RestRetriableError.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RestRetriableError.js","sourceRoot":"","sources":["../../src/errors/RestRetriableError.ts"],"names":[],"mappings":";;;;;AACA,4EAAoD;AAEpD,MAAqB,kBAAmB,SAAQ,2BAAiB;IAC/D,YAAY,OAAe,EAAS,OAAe,EAAE,GAAiB;QACpE,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QADc,YAAO,GAAP,OAAO,CAAQ;IAEnD,CAAC;CACF;AAJD,qCAIC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RestTimeoutError.d.ts","sourceRoot":"","sources":["../../src/errors/RestTimeoutError.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,MAAM,qBAAqB,CAAC;AAEpD,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,iBAAiB;CAAG"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const RestResponseError_1 = __importDefault(require("./RestResponseError"));
|
|
7
|
+
class RestTimeoutError extends RestResponseError_1.default {
|
|
8
|
+
}
|
|
9
|
+
exports.default = RestTimeoutError;
|
|
10
|
+
//# sourceMappingURL=RestTimeoutError.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RestTimeoutError.js","sourceRoot":"","sources":["../../src/errors/RestTimeoutError.ts"],"names":[],"mappings":";;;;;AAAA,4EAAoD;AAEpD,MAAqB,gBAAiB,SAAQ,2BAAiB;CAAG;AAAlE,mCAAkE"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type RestResponse from "../RestResponse";
|
|
2
|
+
import RestResponseError from "./RestResponseError";
|
|
3
|
+
export default class RestTokenInvalidError extends RestResponseError {
|
|
4
|
+
readonly humanReason: string;
|
|
5
|
+
constructor(humanReason: string, res: RestResponse);
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=RestTokenInvalidError.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RestTokenInvalidError.d.ts","sourceRoot":"","sources":["../../src/errors/RestTokenInvalidError.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,iBAAiB,CAAC;AAChD,OAAO,iBAAiB,MAAM,qBAAqB,CAAC;AAEpD,MAAM,CAAC,OAAO,OAAO,qBAAsB,SAAQ,iBAAiB;aACtC,WAAW,EAAE,MAAM;gBAAnB,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY;CAGnE"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const RestResponseError_1 = __importDefault(require("./RestResponseError"));
|
|
7
|
+
class RestTokenInvalidError extends RestResponseError_1.default {
|
|
8
|
+
constructor(humanReason, res) {
|
|
9
|
+
super(humanReason, res);
|
|
10
|
+
this.humanReason = humanReason;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
exports.default = RestTokenInvalidError;
|
|
14
|
+
//# sourceMappingURL=RestTokenInvalidError.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RestTokenInvalidError.js","sourceRoot":"","sources":["../../src/errors/RestTokenInvalidError.ts"],"names":[],"mappings":";;;;;AACA,4EAAoD;AAEpD,MAAqB,qBAAsB,SAAQ,2BAAiB;IAClE,YAA4B,WAAmB,EAAE,GAAiB;QAChE,KAAK,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;QADE,gBAAW,GAAX,WAAW,CAAQ;IAE/C,CAAC;CACF;AAJD,wCAIC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Keeps calling a function with an updating cursor, and depaginates all the
|
|
3
|
+
* results until the cursor returned is null or undefined.
|
|
4
|
+
*
|
|
5
|
+
* On each call, the inner function needs to return an array with two elements:
|
|
6
|
+
* 1. Array or results, which could be empty, but not null or undefined.
|
|
7
|
+
* 2. A new cursor.
|
|
8
|
+
*/
|
|
9
|
+
export default function depaginate<TItem, TCursor = string>(readFunc: (cursor: TCursor | undefined) => Promise<[TItem[], TCursor | null | undefined]>): AsyncGenerator<TItem, void, undefined>;
|
|
10
|
+
//# sourceMappingURL=depaginate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"depaginate.d.ts","sourceRoot":"","sources":["../../src/helpers/depaginate.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,wBAA+B,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAC/D,QAAQ,EAAE,CACR,MAAM,EAAE,OAAO,GAAG,SAAS,KACxB,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC,GAClD,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,CAAC,CAwBxC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
/**
|
|
4
|
+
* Keeps calling a function with an updating cursor, and depaginates all the
|
|
5
|
+
* results until the cursor returned is null or undefined.
|
|
6
|
+
*
|
|
7
|
+
* On each call, the inner function needs to return an array with two elements:
|
|
8
|
+
* 1. Array or results, which could be empty, but not null or undefined.
|
|
9
|
+
* 2. A new cursor.
|
|
10
|
+
*/
|
|
11
|
+
async function* depaginate(readFunc) {
|
|
12
|
+
let prevCursor = undefined;
|
|
13
|
+
let cursor = undefined;
|
|
14
|
+
for (;;) {
|
|
15
|
+
let items;
|
|
16
|
+
[items, cursor] = await readFunc(cursor === null ? undefined : cursor);
|
|
17
|
+
yield* items;
|
|
18
|
+
if (cursor === null || cursor === undefined) {
|
|
19
|
+
break;
|
|
20
|
+
}
|
|
21
|
+
if (JSON.stringify(prevCursor) === JSON.stringify(cursor)) {
|
|
22
|
+
throw Error("Depagination got stuck: prevCursor=" +
|
|
23
|
+
JSON.stringify(prevCursor) +
|
|
24
|
+
", cursor=" +
|
|
25
|
+
JSON.stringify(cursor) +
|
|
26
|
+
" (they must differ)");
|
|
27
|
+
}
|
|
28
|
+
prevCursor = cursor;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
exports.default = depaginate;
|
|
32
|
+
//# sourceMappingURL=depaginate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"depaginate.js","sourceRoot":"","sources":["../../src/helpers/depaginate.ts"],"names":[],"mappings":";;AAAA;;;;;;;GAOG;AACY,KAAK,SAAS,CAAC,CAAC,UAAU,CACvC,QAEmD;IAEnD,IAAI,UAAU,GAA+B,SAAS,CAAC;IACvD,IAAI,MAAM,GAA+B,SAAS,CAAC;IACnD,SAAS;QACP,IAAI,KAAc,CAAC;QACnB,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,MAAM,QAAQ,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACvE,KAAK,CAAC,CAAC,KAAK,CAAC;QAEb,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS,EAAE;YAC3C,MAAM;SACP;QAED,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;YACzD,MAAM,KAAK,CACT,qCAAqC;gBACnC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;gBAC1B,WAAW;gBACX,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;gBACtB,qBAAqB,CACxB,CAAC;SACH;QAED,UAAU,GAAG,MAAM,CAAC;KACrB;AACH,CAAC;AA5BD,6BA4BC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Headers } from "node-fetch";
|
|
2
|
+
import RestContentSizeOverLimitError from "./errors/RestContentSizeOverLimitError";
|
|
3
|
+
import RestError from "./errors/RestError";
|
|
4
|
+
import RestRateLimitError from "./errors/RestRateLimitError";
|
|
5
|
+
import RestResponseError from "./errors/RestResponseError";
|
|
6
|
+
import RestRetriableError from "./errors/RestRetriableError";
|
|
7
|
+
import RestTimeoutError from "./errors/RestTimeoutError";
|
|
8
|
+
import RestTokenInvalidError from "./errors/RestTokenInvalidError";
|
|
9
|
+
import depaginate from "./helpers/depaginate";
|
|
10
|
+
import paceRequests from "./middlewares/paceRequests";
|
|
11
|
+
import Pacer from "./pacers/Pacer";
|
|
12
|
+
import PacerComposite from "./pacers/PacerComposite";
|
|
13
|
+
import PacerQPS, { PacerQPSBackend } from "./pacers/PacerQPS";
|
|
14
|
+
import RestClient, { TokenGetter } from "./RestClient";
|
|
15
|
+
import RestOptions, { RestLogEvent, Middleware, Agents, DEFAULT_OPTIONS } from "./RestOptions";
|
|
16
|
+
import RestRequest from "./RestRequest";
|
|
17
|
+
import RestResponse from "./RestResponse";
|
|
18
|
+
import RestStream from "./RestStream";
|
|
19
|
+
export { Agents, DEFAULT_OPTIONS, depaginate, Headers, Middleware, Pacer, PacerComposite, paceRequests, PacerQPS, PacerQPSBackend, RestClient, RestContentSizeOverLimitError, RestError, RestLogEvent, RestOptions, RestRateLimitError, RestRequest, RestResponse, RestResponseError, RestRetriableError, RestStream, RestTimeoutError, RestTokenInvalidError, TokenGetter, };
|
|
20
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,6BAA6B,MAAM,wCAAwC,CAAC;AACnF,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAC3C,OAAO,kBAAkB,MAAM,6BAA6B,CAAC;AAC7D,OAAO,iBAAiB,MAAM,4BAA4B,CAAC;AAC3D,OAAO,kBAAkB,MAAM,6BAA6B,CAAC;AAC7D,OAAO,gBAAgB,MAAM,2BAA2B,CAAC;AACzD,OAAO,qBAAqB,MAAM,gCAAgC,CAAC;AACnE,OAAO,UAAU,MAAM,sBAAsB,CAAC;AAC9C,OAAO,YAAY,MAAM,4BAA4B,CAAC;AACtD,OAAO,KAAK,MAAM,gBAAgB,CAAC;AACnC,OAAO,cAAc,MAAM,yBAAyB,CAAC;AACrD,OAAO,QAAQ,EAAE,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,UAAU,EAAE,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,WAAW,EAAE,EAClB,YAAY,EACZ,UAAU,EACV,MAAM,EACN,eAAe,EAChB,MAAM,eAAe,CAAC;AACvB,OAAO,WAAW,MAAM,eAAe,CAAC;AACxC,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,UAAU,MAAM,cAAc,CAAC;AAEtC,OAAO,EACL,MAAM,EACN,eAAe,EACf,UAAU,EACV,OAAO,EACP,UAAU,EACV,KAAK,EACL,cAAc,EACd,YAAY,EACZ,QAAQ,EACR,eAAe,EACf,UAAU,EACV,6BAA6B,EAC7B,SAAS,EACT,YAAY,EACZ,WAAW,EACX,kBAAkB,EAClB,WAAW,EACX,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EAClB,UAAU,EACV,gBAAgB,EAChB,qBAAqB,EACrB,WAAW,GACZ,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.RestTokenInvalidError = exports.RestTimeoutError = exports.RestStream = exports.RestRetriableError = exports.RestResponseError = exports.RestResponse = exports.RestRequest = exports.RestRateLimitError = exports.RestError = exports.RestContentSizeOverLimitError = exports.RestClient = exports.PacerQPS = exports.paceRequests = exports.PacerComposite = exports.Headers = exports.depaginate = exports.DEFAULT_OPTIONS = exports.Agents = void 0;
|
|
7
|
+
const node_fetch_1 = require("node-fetch");
|
|
8
|
+
Object.defineProperty(exports, "Headers", { enumerable: true, get: function () { return node_fetch_1.Headers; } });
|
|
9
|
+
const RestContentSizeOverLimitError_1 = __importDefault(require("./errors/RestContentSizeOverLimitError"));
|
|
10
|
+
exports.RestContentSizeOverLimitError = RestContentSizeOverLimitError_1.default;
|
|
11
|
+
const RestError_1 = __importDefault(require("./errors/RestError"));
|
|
12
|
+
exports.RestError = RestError_1.default;
|
|
13
|
+
const RestRateLimitError_1 = __importDefault(require("./errors/RestRateLimitError"));
|
|
14
|
+
exports.RestRateLimitError = RestRateLimitError_1.default;
|
|
15
|
+
const RestResponseError_1 = __importDefault(require("./errors/RestResponseError"));
|
|
16
|
+
exports.RestResponseError = RestResponseError_1.default;
|
|
17
|
+
const RestRetriableError_1 = __importDefault(require("./errors/RestRetriableError"));
|
|
18
|
+
exports.RestRetriableError = RestRetriableError_1.default;
|
|
19
|
+
const RestTimeoutError_1 = __importDefault(require("./errors/RestTimeoutError"));
|
|
20
|
+
exports.RestTimeoutError = RestTimeoutError_1.default;
|
|
21
|
+
const RestTokenInvalidError_1 = __importDefault(require("./errors/RestTokenInvalidError"));
|
|
22
|
+
exports.RestTokenInvalidError = RestTokenInvalidError_1.default;
|
|
23
|
+
const depaginate_1 = __importDefault(require("./helpers/depaginate"));
|
|
24
|
+
exports.depaginate = depaginate_1.default;
|
|
25
|
+
const paceRequests_1 = __importDefault(require("./middlewares/paceRequests"));
|
|
26
|
+
exports.paceRequests = paceRequests_1.default;
|
|
27
|
+
const PacerComposite_1 = __importDefault(require("./pacers/PacerComposite"));
|
|
28
|
+
exports.PacerComposite = PacerComposite_1.default;
|
|
29
|
+
const PacerQPS_1 = __importDefault(require("./pacers/PacerQPS"));
|
|
30
|
+
exports.PacerQPS = PacerQPS_1.default;
|
|
31
|
+
const RestClient_1 = __importDefault(require("./RestClient"));
|
|
32
|
+
exports.RestClient = RestClient_1.default;
|
|
33
|
+
const RestOptions_1 = require("./RestOptions");
|
|
34
|
+
Object.defineProperty(exports, "Agents", { enumerable: true, get: function () { return RestOptions_1.Agents; } });
|
|
35
|
+
Object.defineProperty(exports, "DEFAULT_OPTIONS", { enumerable: true, get: function () { return RestOptions_1.DEFAULT_OPTIONS; } });
|
|
36
|
+
const RestRequest_1 = __importDefault(require("./RestRequest"));
|
|
37
|
+
exports.RestRequest = RestRequest_1.default;
|
|
38
|
+
const RestResponse_1 = __importDefault(require("./RestResponse"));
|
|
39
|
+
exports.RestResponse = RestResponse_1.default;
|
|
40
|
+
const RestStream_1 = __importDefault(require("./RestStream"));
|
|
41
|
+
exports.RestStream = RestStream_1.default;
|
|
42
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,2CAAqC;AA4BnC,wFA5BO,oBAAO,OA4BP;AA3BT,2GAAmF;AAmCjF,wCAnCK,uCAA6B,CAmCL;AAlC/B,mEAA2C;AAmCzC,oBAnCK,mBAAS,CAmCL;AAlCX,qFAA6D;AAqC3D,6BArCK,4BAAkB,CAqCL;AApCpB,mFAA2D;AAuCzD,4BAvCK,2BAAiB,CAuCL;AAtCnB,qFAA6D;AAuC3D,6BAvCK,4BAAkB,CAuCL;AAtCpB,iFAAyD;AAwCvD,2BAxCK,0BAAgB,CAwCL;AAvClB,2FAAmE;AAwCjE,gCAxCK,+BAAqB,CAwCL;AAvCvB,sEAA8C;AAmB5C,qBAnBK,oBAAU,CAmBL;AAlBZ,8EAAsD;AAuBpD,uBAvBK,sBAAY,CAuBL;AArBd,6EAAqD;AAoBnD,yBApBK,wBAAc,CAoBL;AAnBhB,iEAA8D;AAqB5D,mBArBK,kBAAQ,CAqBL;AApBV,8DAAuD;AAsBrD,qBAtBK,oBAAU,CAsBL;AArBZ,+CAKuB;AAMrB,uFARA,oBAAM,OAQA;AACN,gGARA,6BAAe,OAQA;AANjB,gEAAwC;AAqBtC,sBArBK,qBAAW,CAqBL;AApBb,kEAA0C;AAqBxC,uBArBK,sBAAY,CAqBL;AApBd,8DAAsC;AAuBpC,qBAvBK,oBAAU,CAuBL"}
|