@datocms/rest-client-utils 5.0.0 → 5.1.1

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 (41) hide show
  1. package/dist/cjs/__tests__/buildNormalizedParams.test.js +91 -53
  2. package/dist/cjs/__tests__/buildNormalizedParams.test.js.map +1 -1
  3. package/dist/cjs/buildNormalizedParams.js +15 -30
  4. package/dist/cjs/buildNormalizedParams.js.map +1 -1
  5. package/dist/cjs/deserialize.js +7 -22
  6. package/dist/cjs/deserialize.js.map +1 -1
  7. package/dist/cjs/errors.js +45 -77
  8. package/dist/cjs/errors.js.map +1 -1
  9. package/dist/cjs/makeCancelablePromise.js +9 -28
  10. package/dist/cjs/makeCancelablePromise.js.map +1 -1
  11. package/dist/cjs/pollJobResult.js +17 -57
  12. package/dist/cjs/pollJobResult.js.map +1 -1
  13. package/dist/cjs/rawPageIterator.js +25 -91
  14. package/dist/cjs/rawPageIterator.js.map +1 -1
  15. package/dist/cjs/request.js +133 -200
  16. package/dist/cjs/request.js.map +1 -1
  17. package/dist/cjs/serialize.js +17 -40
  18. package/dist/cjs/serialize.js.map +1 -1
  19. package/dist/cjs/wait.js +1 -1
  20. package/dist/cjs/wait.js.map +1 -1
  21. package/dist/esm/__tests__/buildNormalizedParams.test.js +90 -52
  22. package/dist/esm/__tests__/buildNormalizedParams.test.js.map +1 -1
  23. package/dist/esm/buildNormalizedParams.js +15 -30
  24. package/dist/esm/buildNormalizedParams.js.map +1 -1
  25. package/dist/esm/deserialize.js +7 -22
  26. package/dist/esm/deserialize.js.map +1 -1
  27. package/dist/esm/errors.js +45 -79
  28. package/dist/esm/errors.js.map +1 -1
  29. package/dist/esm/makeCancelablePromise.js +9 -29
  30. package/dist/esm/makeCancelablePromise.js.map +1 -1
  31. package/dist/esm/pollJobResult.js +15 -55
  32. package/dist/esm/pollJobResult.js.map +1 -1
  33. package/dist/esm/rawPageIterator.js +24 -90
  34. package/dist/esm/rawPageIterator.js.map +1 -1
  35. package/dist/esm/request.js +129 -196
  36. package/dist/esm/request.js.map +1 -1
  37. package/dist/esm/serialize.js +17 -40
  38. package/dist/esm/serialize.js.map +1 -1
  39. package/dist/esm/wait.js +1 -1
  40. package/dist/esm/wait.js.map +1 -1
  41. package/package.json +2 -2
@@ -1,31 +1,4 @@
1
1
  "use strict";
2
- var __generator = (this && this.__generator) || function (thisArg, body) {
3
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
4
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
5
- function verb(n) { return function (v) { return step([n, v]); }; }
6
- function step(op) {
7
- if (f) throw new TypeError("Generator is already executing.");
8
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
9
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
10
- if (y = 0, t) op = [op[0] & 2, t.value];
11
- switch (op[0]) {
12
- case 0: case 1: t = op; break;
13
- case 4: _.label++; return { value: op[1], done: false };
14
- case 5: _.label++; y = op[1]; op = [0]; continue;
15
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
16
- default:
17
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
18
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
19
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
20
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
21
- if (t[2]) _.ops.pop();
22
- _.trys.pop(); continue;
23
- }
24
- op = body.call(thisArg, _);
25
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
26
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
27
- }
28
- };
29
2
  var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }
30
3
  var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {
31
4
  if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
@@ -40,72 +13,33 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar
40
13
  };
41
14
  Object.defineProperty(exports, "__esModule", { value: true });
42
15
  exports.warnOnPageQueryParam = exports.rawPageIterator = void 0;
43
- var async_scheduler_1 = require("async-scheduler");
16
+ const async_scheduler_1 = require("async-scheduler");
44
17
  function rawPageIterator(pagination, callPerformer, iteratorOptions) {
45
- return __asyncGenerator(this, arguments, function rawPageIterator_1() {
46
- var perPage, concurrency, firstResponse, _i, _a, item, totalCount, limiter, promises, _loop_1, offset, response, _b, _c, item;
47
- return __generator(this, function (_d) {
48
- switch (_d.label) {
49
- case 0:
50
- perPage = (iteratorOptions === null || iteratorOptions === void 0 ? void 0 : iteratorOptions.perPage) || pagination.defaultLimit;
51
- if (perPage > pagination.maxLimit) {
52
- throw new Error("perPage option cannot exceed maximum value of ".concat(pagination.maxLimit));
53
- }
54
- concurrency = (iteratorOptions === null || iteratorOptions === void 0 ? void 0 : iteratorOptions.concurrency) || 1;
55
- if (concurrency > 10) {
56
- throw new Error('concurrency option cannot exceed maximum value of 10');
57
- }
58
- return [4 /*yield*/, __await(callPerformer({ limit: perPage, offset: 0 }))];
59
- case 1:
60
- firstResponse = _d.sent();
61
- _i = 0, _a = firstResponse.data;
62
- _d.label = 2;
63
- case 2:
64
- if (!(_i < _a.length)) return [3 /*break*/, 6];
65
- item = _a[_i];
66
- return [4 /*yield*/, __await(item)];
67
- case 3: return [4 /*yield*/, _d.sent()];
68
- case 4:
69
- _d.sent();
70
- _d.label = 5;
71
- case 5:
72
- _i++;
73
- return [3 /*break*/, 2];
74
- case 6:
75
- totalCount = firstResponse.meta.total_count;
76
- limiter = new async_scheduler_1.Scheduler(concurrency);
77
- promises = [];
78
- _loop_1 = function (offset) {
79
- promises.push(limiter.enqueue(function () {
80
- return callPerformer({ limit: perPage, offset: offset });
81
- }));
82
- };
83
- for (offset = perPage; offset < totalCount; offset += perPage) {
84
- _loop_1(offset);
85
- }
86
- _d.label = 7;
87
- case 7:
88
- if (!(promises.length > 0)) return [3 /*break*/, 14];
89
- return [4 /*yield*/, __await(promises.shift())];
90
- case 8:
91
- response = _d.sent();
92
- _b = 0, _c = response.data;
93
- _d.label = 9;
94
- case 9:
95
- if (!(_b < _c.length)) return [3 /*break*/, 13];
96
- item = _c[_b];
97
- return [4 /*yield*/, __await(item)];
98
- case 10: return [4 /*yield*/, _d.sent()];
99
- case 11:
100
- _d.sent();
101
- _d.label = 12;
102
- case 12:
103
- _b++;
104
- return [3 /*break*/, 9];
105
- case 13: return [3 /*break*/, 7];
106
- case 14: return [2 /*return*/];
18
+ return __asyncGenerator(this, arguments, function* rawPageIterator_1() {
19
+ const perPage = (iteratorOptions === null || iteratorOptions === void 0 ? void 0 : iteratorOptions.perPage) || pagination.defaultLimit;
20
+ if (perPage > pagination.maxLimit) {
21
+ throw new Error(`perPage option cannot exceed maximum value of ${pagination.maxLimit}`);
22
+ }
23
+ const concurrency = (iteratorOptions === null || iteratorOptions === void 0 ? void 0 : iteratorOptions.concurrency) || 1;
24
+ if (concurrency > 10) {
25
+ throw new Error('concurrency option cannot exceed maximum value of 10');
26
+ }
27
+ const firstResponse = yield __await(callPerformer({ limit: perPage, offset: 0 }));
28
+ for (const item of firstResponse.data) {
29
+ yield yield __await(item);
30
+ }
31
+ const totalCount = firstResponse.meta.total_count;
32
+ const limiter = new async_scheduler_1.Scheduler(concurrency);
33
+ const promises = [];
34
+ for (let offset = perPage; offset < totalCount; offset += perPage) {
35
+ promises.push(limiter.enqueue(() => callPerformer({ limit: perPage, offset })));
36
+ }
37
+ while (promises.length > 0) {
38
+ const response = yield __await(promises.shift());
39
+ for (const item of response.data) {
40
+ yield yield __await(item);
107
41
  }
108
- });
42
+ }
109
43
  });
110
44
  }
111
45
  exports.rawPageIterator = rawPageIterator;
@@ -1 +1 @@
1
- {"version":3,"file":"rawPageIterator.js","sourceRoot":"","sources":["../../src/rawPageIterator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mDAA4C;AAiB5C,SAAuB,eAAe,CACpC,UAA6B,EAC7B,aAG6B,EAC7B,eAAiC;;;;;;oBAE3B,OAAO,GAAG,CAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,OAAO,KAAI,UAAU,CAAC,YAAY,CAAC;oBAEpE,IAAI,OAAO,GAAG,UAAU,CAAC,QAAQ,EAAE;wBACjC,MAAM,IAAI,KAAK,CACb,wDAAiD,UAAU,CAAC,QAAQ,CAAE,CACvE,CAAC;qBACH;oBAEK,WAAW,GAAG,CAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,WAAW,KAAI,CAAC,CAAC;oBAEtD,IAAI,WAAW,GAAG,EAAE,EAAE;wBACpB,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;qBACzE;oBAEqB,6BAAM,aAAa,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,GAAA;;oBAAlE,aAAa,GAAG,SAAkD;0BAEnC,EAAlB,KAAA,aAAa,CAAC,IAAI;;;yBAAlB,CAAA,cAAkB,CAAA;oBAA1B,IAAI;iDACP,IAAI;wBAAV,gCAAU;;oBAAV,SAAU,CAAC;;;oBADM,IAAkB,CAAA;;;oBAI/B,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC;oBAE5C,OAAO,GAAG,IAAI,2BAAS,CAAC,WAAW,CAAC,CAAC;oBACrC,QAAQ,GAA8B,EAAE,CAAC;wCAEtC,MAAM;wBACb,QAAQ,CAAC,IAAI,CACX,OAAO,CAAC,OAAO,CAAuB;4BACpC,OAAA,aAAa,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,QAAA,EAAE,CAAC;wBAAzC,CAAyC,CAC1C,CACF,CAAC;;oBALJ,KAAS,MAAM,GAAG,OAAO,EAAE,MAAM,GAAG,UAAU,EAAE,MAAM,IAAI,OAAO;gCAAxD,MAAM;qBAMd;;;yBAEM,CAAA,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAA;oBACP,6BAAM,QAAQ,CAAC,KAAK,EAAG,GAAA;;oBAAlC,QAAQ,GAAG,SAAuB;0BACR,EAAb,KAAA,QAAQ,CAAC,IAAI;;;yBAAb,CAAA,cAAa,CAAA;oBAArB,IAAI;iDACP,IAAI;yBAAV,gCAAU;;oBAAV,SAAU,CAAC;;;oBADM,IAAa,CAAA;;;;;;;CAInC;AA/CD,0CA+CC;AAED,SAAgB,oBAAoB,CAClC,WAAgD;IAEhD,IAAI,WAAW,IAAI,MAAM,IAAI,WAAW,EAAE;QACxC,OAAO,CAAC,IAAI,CACV,kGAAkG,CACnG,CAAC;KACH;AACH,CAAC;AARD,oDAQC"}
1
+ {"version":3,"file":"rawPageIterator.js","sourceRoot":"","sources":["../../src/rawPageIterator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,qDAA4C;AAiB5C,SAAuB,eAAe,CACpC,UAA6B,EAC7B,aAG6B,EAC7B,eAAiC;;QAEjC,MAAM,OAAO,GAAG,CAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,OAAO,KAAI,UAAU,CAAC,YAAY,CAAC;QAEpE,IAAI,OAAO,GAAG,UAAU,CAAC,QAAQ,EAAE;YACjC,MAAM,IAAI,KAAK,CACb,iDAAiD,UAAU,CAAC,QAAQ,EAAE,CACvE,CAAC;SACH;QAED,MAAM,WAAW,GAAG,CAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,WAAW,KAAI,CAAC,CAAC;QAEtD,IAAI,WAAW,GAAG,EAAE,EAAE;YACpB,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;SACzE;QAED,MAAM,aAAa,GAAG,cAAM,aAAa,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAA,CAAC;QAEzE,KAAK,MAAM,IAAI,IAAI,aAAa,CAAC,IAAI,EAAE;YACrC,oBAAM,IAAI,CAAA,CAAC;SACZ;QAED,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC;QAElD,MAAM,OAAO,GAAG,IAAI,2BAAS,CAAC,WAAW,CAAC,CAAC;QAC3C,MAAM,QAAQ,GAA8B,EAAE,CAAC;QAE/C,KAAK,IAAI,MAAM,GAAG,OAAO,EAAE,MAAM,GAAG,UAAU,EAAE,MAAM,IAAI,OAAO,EAAE;YACjE,QAAQ,CAAC,IAAI,CACX,OAAO,CAAC,OAAO,CAAuB,GAAG,EAAE,CACzC,aAAa,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAC1C,CACF,CAAC;SACH;QAED,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;YAC1B,MAAM,QAAQ,GAAG,cAAM,QAAQ,CAAC,KAAK,EAAG,CAAA,CAAC;YACzC,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,IAAI,EAAE;gBAChC,oBAAM,IAAI,CAAA,CAAC;aACZ;SACF;IACH,CAAC;CAAA;AA/CD,0CA+CC;AAED,SAAgB,oBAAoB,CAClC,WAAgD;IAEhD,IAAI,WAAW,IAAI,MAAM,IAAI,WAAW,EAAE;QACxC,OAAO,CAAC,IAAI,CACV,kGAAkG,CACnG,CAAC;KACH;AACH,CAAC;AARD,oDAQC"}
@@ -1,16 +1,5 @@
1
1
  "use strict";
2
2
  /// <reference lib="dom" />
3
- var __assign = (this && this.__assign) || function () {
4
- __assign = Object.assign || function(t) {
5
- for (var s, i = 1, n = arguments.length; i < n; i++) {
6
- s = arguments[i];
7
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
8
- t[p] = s[p];
9
- }
10
- return t;
11
- };
12
- return __assign.apply(this, arguments);
13
- };
14
3
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
15
4
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
16
5
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -20,41 +9,14 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
20
9
  step((generator = generator.apply(thisArg, _arguments || [])).next());
21
10
  });
22
11
  };
23
- var __generator = (this && this.__generator) || function (thisArg, body) {
24
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
25
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
26
- function verb(n) { return function (v) { return step([n, v]); }; }
27
- function step(op) {
28
- if (f) throw new TypeError("Generator is already executing.");
29
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
30
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
31
- if (y = 0, t) op = [op[0] & 2, t.value];
32
- switch (op[0]) {
33
- case 0: case 1: t = op; break;
34
- case 4: _.label++; return { value: op[1], done: false };
35
- case 5: _.label++; y = op[1]; op = [0]; continue;
36
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
37
- default:
38
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
39
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
40
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
41
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
42
- if (t[2]) _.ops.pop();
43
- _.trys.pop(); continue;
44
- }
45
- op = body.call(thisArg, _);
46
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
47
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
48
- }
49
- };
50
12
  Object.defineProperty(exports, "__esModule", { value: true });
51
13
  exports.request = exports.getFetchFn = exports.LogLevel = void 0;
52
- var buildNormalizedParams_1 = require("./buildNormalizedParams");
53
- var errors_1 = require("./errors");
54
- var makeCancelablePromise_1 = require("./makeCancelablePromise");
55
- var wait_1 = require("./wait");
56
- var isBrowser = typeof window !== 'undefined' && typeof window.document !== 'undefined';
57
- var MAX_RETRY_COUNT_ON_TIMEOUT_ERROR = 5;
14
+ const buildNormalizedParams_1 = require("./buildNormalizedParams");
15
+ const errors_1 = require("./errors");
16
+ const makeCancelablePromise_1 = require("./makeCancelablePromise");
17
+ const wait_1 = require("./wait");
18
+ const isBrowser = typeof window !== 'undefined' && typeof window.document !== 'undefined';
19
+ const MAX_RETRY_COUNT_ON_TIMEOUT_ERROR = 5;
58
20
  var LogLevel;
59
21
  (function (LogLevel) {
60
22
  /** No logging */
@@ -67,8 +29,8 @@ var LogLevel;
67
29
  LogLevel[LogLevel["BODY_AND_HEADERS"] = 3] = "BODY_AND_HEADERS";
68
30
  })(LogLevel = exports.LogLevel || (exports.LogLevel = {}));
69
31
  function headersToObject(headers) {
70
- var result = {};
71
- headers.forEach(function (value, key) {
32
+ const result = {};
33
+ headers.forEach((value, key) => {
72
34
  result[key] = value;
73
35
  });
74
36
  return result;
@@ -76,8 +38,8 @@ function headersToObject(headers) {
76
38
  function buildApiErrorInitObject(method, url, requestHeaders, requestBody, response, responseBody, preCallStack) {
77
39
  return {
78
40
  request: {
79
- url: url,
80
- method: method,
41
+ url,
42
+ method,
81
43
  headers: requestHeaders,
82
44
  body: requestBody,
83
45
  },
@@ -87,25 +49,25 @@ function buildApiErrorInitObject(method, url, requestHeaders, requestBody, respo
87
49
  headers: headersToObject(response.headers),
88
50
  body: responseBody,
89
51
  },
90
- preCallStack: preCallStack,
52
+ preCallStack,
91
53
  };
92
54
  }
93
55
  function buildTimeoutErrorInitObject(method, url, requestHeaders, requestBody, preCallStack) {
94
56
  return {
95
57
  request: {
96
- url: url,
97
- method: method,
58
+ url,
59
+ method,
98
60
  headers: requestHeaders,
99
61
  body: requestBody,
100
62
  },
101
- preCallStack: preCallStack,
63
+ preCallStack,
102
64
  };
103
65
  }
104
66
  function buildApiErrorInitObjectFromJobResult(method, url, requestHeaders, requestBody, responseStatus, responseBody, preCallStack) {
105
67
  return {
106
68
  request: {
107
- url: url,
108
- method: method,
69
+ url,
70
+ method,
109
71
  headers: requestHeaders,
110
72
  body: requestBody,
111
73
  },
@@ -115,21 +77,18 @@ function buildApiErrorInitObjectFromJobResult(method, url, requestHeaders, reque
115
77
  headers: {},
116
78
  body: responseBody,
117
79
  },
118
- preCallStack: preCallStack,
80
+ preCallStack,
119
81
  };
120
82
  }
121
83
  function isErrorWithCode(error) {
122
84
  return typeof error === 'object' && !!error && 'code' in error;
123
85
  }
124
86
  function lowercaseKeys(obj) {
125
- return Object.fromEntries(Object.entries(obj).map(function (_a) {
126
- var k = _a[0], v = _a[1];
127
- return [k.toLowerCase(), v];
128
- }));
87
+ return Object.fromEntries(Object.entries(obj).map(([k, v]) => [k.toLowerCase(), v]));
129
88
  }
130
- var requestCount = 1;
89
+ let requestCount = 1;
131
90
  function getFetchFn(customFetchFn) {
132
- var fetchFn = customFetchFn ||
91
+ const fetchFn = customFetchFn ||
133
92
  (typeof fetch === 'undefined' ? undefined : fetch) ||
134
93
  (typeof globalThis === 'undefined' ? undefined : globalThis.fetch);
135
94
  if (typeof fetchFn === 'undefined') {
@@ -140,152 +99,126 @@ function getFetchFn(customFetchFn) {
140
99
  exports.getFetchFn = getFetchFn;
141
100
  function request(options) {
142
101
  var _a;
143
- return __awaiter(this, void 0, void 0, function () {
144
- var requestId, fetchFn, preCallStack, userAgent, retryCount, logLevel, autoRetry, log, headers, baseUrl, body, queryString, url, _i, _b, _c, key, value, requestPromise_1, timeoutId, response, responseContentType, invalidContentType, waitTimeInSecs, _d, _e, key, value, responseBody, _f, jobResult, error, transientErrorCode, error_1;
145
- return __generator(this, function (_g) {
146
- switch (_g.label) {
147
- case 0:
148
- requestId = requestCount;
149
- requestCount += 1;
150
- fetchFn = getFetchFn(options.fetchFn);
151
- preCallStack = options.preCallStack;
152
- userAgent = options.userAgent || '@datocms/rest-client-utils';
153
- retryCount = options.retryCount || 1;
154
- logLevel = options.logLevel || LogLevel.NONE;
155
- autoRetry = 'autoRetry' in options ? options.autoRetry : true;
156
- log = options.logFn || (function () { return true; });
157
- headers = __assign({ 'content-type': 'application/json', accept: 'application/json', authorization: "Bearer ".concat(options.apiToken), 'user-agent': userAgent }, (options.extraHeaders ? lowercaseKeys(options.extraHeaders) : {}));
158
- if (isBrowser) {
159
- // user agent cannot be set on browser
160
- delete headers['user-agent'];
161
- }
162
- baseUrl = options.baseUrl.replace(/\/$/, '');
163
- body = options.body ? JSON.stringify(options.body, null, 2) : undefined;
164
- queryString = options.queryParams && Object.keys(options.queryParams).length > 0
165
- ? "?".concat(new URLSearchParams((0, buildNormalizedParams_1.buildNormalizedParams)(options.queryParams)).toString())
166
- : '';
167
- url = "".concat(baseUrl).concat(options.url).concat(queryString);
168
- if (logLevel >= LogLevel.BASIC) {
169
- log("[".concat(requestId, "] ").concat(options.method, " ").concat(url));
170
- if (logLevel >= LogLevel.BODY_AND_HEADERS) {
171
- for (_i = 0, _b = Object.entries(headers || {}); _i < _b.length; _i++) {
172
- _c = _b[_i], key = _c[0], value = _c[1];
173
- log("[".concat(requestId, "] ").concat(key, ": ").concat(value));
174
- }
175
- }
176
- if (logLevel >= LogLevel.BODY && body) {
177
- log("[".concat(requestId, "] ").concat(body));
178
- }
179
- }
180
- _g.label = 1;
181
- case 1:
182
- _g.trys.push([1, 12, , 16]);
183
- requestPromise_1 = (0, makeCancelablePromise_1.makeCancelablePromise)(fetchFn(url, {
184
- method: options.method,
185
- headers: headers,
186
- body: body,
187
- }));
188
- timeoutId = setTimeout(function () {
189
- requestPromise_1.cancel();
190
- }, options.requestTimeout || 30000);
191
- return [4 /*yield*/, requestPromise_1];
192
- case 2:
193
- response = _g.sent();
194
- clearTimeout(timeoutId);
195
- responseContentType = response.headers.get('Content-Type');
196
- invalidContentType = responseContentType && !responseContentType.includes('application/json');
197
- if (!(response.status === 429 || invalidContentType)) return [3 /*break*/, 4];
198
- if (!autoRetry || (invalidContentType && options.method !== 'GET')) {
199
- throw new errors_1.ApiError(buildApiErrorInitObject(options.method, url, headers, options.body, response, undefined, preCallStack));
102
+ return __awaiter(this, void 0, void 0, function* () {
103
+ const requestId = requestCount;
104
+ requestCount += 1;
105
+ const fetchFn = getFetchFn(options.fetchFn);
106
+ const preCallStack = options.preCallStack;
107
+ const userAgent = options.userAgent || '@datocms/rest-client-utils';
108
+ const retryCount = options.retryCount || 1;
109
+ const logLevel = options.logLevel || LogLevel.NONE;
110
+ const autoRetry = 'autoRetry' in options ? options.autoRetry : true;
111
+ const log = options.logFn || (() => true);
112
+ const headers = Object.assign({ 'content-type': 'application/json', accept: 'application/json', authorization: `Bearer ${options.apiToken}`, 'user-agent': userAgent }, (options.extraHeaders ? lowercaseKeys(options.extraHeaders) : {}));
113
+ if (isBrowser) {
114
+ // user agent cannot be set on browser
115
+ delete headers['user-agent'];
116
+ }
117
+ const baseUrl = options.baseUrl.replace(/\/$/, '');
118
+ const body = options.body ? JSON.stringify(options.body, null, 2) : undefined;
119
+ const queryString = options.queryParams && Object.keys(options.queryParams).length > 0
120
+ ? `?${new URLSearchParams((0, buildNormalizedParams_1.buildNormalizedParams)(options.queryParams)).toString()}`
121
+ : '';
122
+ const url = `${baseUrl}${options.url}${queryString}`;
123
+ if (logLevel >= LogLevel.BASIC) {
124
+ log(`[${requestId}] ${options.method} ${url}`);
125
+ if (logLevel >= LogLevel.BODY_AND_HEADERS) {
126
+ for (const [key, value] of Object.entries(headers || {})) {
127
+ log(`[${requestId}] ${key}: ${value}`);
128
+ }
129
+ }
130
+ if (logLevel >= LogLevel.BODY && body) {
131
+ log(`[${requestId}] ${body}`);
132
+ }
133
+ }
134
+ try {
135
+ const requestPromise = (0, makeCancelablePromise_1.makeCancelablePromise)(fetchFn(url, {
136
+ method: options.method,
137
+ headers,
138
+ body,
139
+ }));
140
+ const timeoutId = setTimeout(() => {
141
+ requestPromise.cancel();
142
+ }, options.requestTimeout || 30000);
143
+ const response = yield requestPromise;
144
+ clearTimeout(timeoutId);
145
+ const responseContentType = response.headers.get('Content-Type');
146
+ const invalidContentType = responseContentType && !responseContentType.includes('application/json');
147
+ if (response.status === 429 || invalidContentType) {
148
+ if (!autoRetry || (invalidContentType && options.method !== 'GET')) {
149
+ throw new errors_1.ApiError(buildApiErrorInitObject(options.method, url, headers, options.body, response, undefined, preCallStack));
150
+ }
151
+ const waitTimeInSecs = response.headers.has('X-RateLimit-Reset')
152
+ ? Number.parseInt(response.headers.get('X-RateLimit-Reset'), 10)
153
+ : retryCount;
154
+ if (logLevel >= LogLevel.BASIC) {
155
+ if (response.status === 429) {
156
+ log(`[${requestId}] Rate limit exceeded, wait ${waitTimeInSecs} seconds then retry...`);
200
157
  }
201
- waitTimeInSecs = response.headers.has('X-RateLimit-Reset')
202
- ? Number.parseInt(response.headers.get('X-RateLimit-Reset'), 10)
203
- : retryCount;
204
- if (logLevel >= LogLevel.BASIC) {
205
- if (response.status === 429) {
206
- log("[".concat(requestId, "] Rate limit exceeded, wait ").concat(waitTimeInSecs, " seconds then retry..."));
207
- }
208
- else {
209
- log("[".concat(requestId, "] Invalid response content type \"").concat(responseContentType, "\" (status ").concat(response.status, "). Wait ").concat(waitTimeInSecs, " seconds then retry..."));
210
- }
158
+ else {
159
+ log(`[${requestId}] Invalid response content type "${responseContentType}" (status ${response.status}). Wait ${waitTimeInSecs} seconds then retry...`);
211
160
  }
212
- return [4 /*yield*/, (0, wait_1.wait)(waitTimeInSecs * 1000)];
213
- case 3:
214
- _g.sent();
215
- return [2 /*return*/, request(__assign(__assign({}, options), { retryCount: retryCount + 1 }))];
216
- case 4:
217
- if (logLevel >= LogLevel.BASIC) {
218
- log("[".concat(requestId, "] Status: ").concat(response.status, " (").concat(response.statusText, ")"));
219
- if (logLevel >= LogLevel.BODY_AND_HEADERS) {
220
- for (_d = 0, _e = [
221
- 'x-api-version',
222
- 'x-environment',
223
- 'x-queue-time',
224
- 'x-ratelimit-remaining',
225
- 'x-request-id',
226
- 'cf-ray',
227
- ]; _d < _e.length; _d++) {
228
- key = _e[_d];
229
- value = response.headers.get(key);
230
- if (value) {
231
- log("[".concat(requestId, "] ").concat(key, ": ").concat(value));
232
- }
233
- }
161
+ }
162
+ yield (0, wait_1.wait)(waitTimeInSecs * 1000);
163
+ return request(Object.assign(Object.assign({}, options), { retryCount: retryCount + 1 }));
164
+ }
165
+ if (logLevel >= LogLevel.BASIC) {
166
+ log(`[${requestId}] Status: ${response.status} (${response.statusText})`);
167
+ if (logLevel >= LogLevel.BODY_AND_HEADERS) {
168
+ for (const key of [
169
+ 'x-api-version',
170
+ 'x-environment',
171
+ 'x-queue-time',
172
+ 'x-ratelimit-remaining',
173
+ 'x-request-id',
174
+ 'cf-ray',
175
+ ]) {
176
+ const value = response.headers.get(key);
177
+ if (value) {
178
+ log(`[${requestId}] ${key}: ${value}`);
234
179
  }
235
180
  }
236
- if (!(response.status === 204)) return [3 /*break*/, 5];
237
- _f = undefined;
238
- return [3 /*break*/, 7];
239
- case 5: return [4 /*yield*/, response.json()];
240
- case 6:
241
- _f = _g.sent();
242
- _g.label = 7;
243
- case 7:
244
- responseBody = _f;
245
- if (logLevel >= LogLevel.BODY && responseBody) {
246
- log("[".concat(requestId, "] ").concat(JSON.stringify(responseBody, null, 2)));
247
- }
248
- if (!(response.status === 202)) return [3 /*break*/, 9];
249
- return [4 /*yield*/, options.fetchJobResult(responseBody.data.id)];
250
- case 8:
251
- jobResult = _g.sent();
252
- if (jobResult.status < 200 || jobResult.status >= 300) {
253
- throw new errors_1.ApiError(buildApiErrorInitObjectFromJobResult(options.method, url, headers, options.body, jobResult.status, jobResult.payload, preCallStack));
254
- }
255
- responseBody = jobResult.payload;
256
- _g.label = 9;
257
- case 9:
258
- if (response.status >= 200 && response.status < 300) {
259
- return [2 /*return*/, responseBody];
260
- }
261
- error = new errors_1.ApiError(buildApiErrorInitObject(options.method, url, headers, options.body, response, responseBody, preCallStack));
262
- transientErrorCode = (_a = error.errors.find(function (e) { return e.attributes.transient; })) === null || _a === void 0 ? void 0 : _a.attributes.code;
263
- if (!(autoRetry && transientErrorCode)) return [3 /*break*/, 11];
264
- if (logLevel >= LogLevel.BASIC) {
265
- log("[".concat(requestId, "] ").concat(transientErrorCode, ", wait ").concat(retryCount, " seconds then retry..."));
266
- }
267
- return [4 /*yield*/, (0, wait_1.wait)(retryCount * 1000)];
268
- case 10:
269
- _g.sent();
270
- return [2 /*return*/, request(__assign(__assign({}, options), { retryCount: retryCount + 1 }))];
271
- case 11: throw error;
272
- case 12:
273
- error_1 = _g.sent();
274
- if (!(error_1 instanceof makeCancelablePromise_1.CanceledPromiseError ||
275
- (isErrorWithCode(error_1) && error_1.code.includes('ETIMEDOUT')))) return [3 /*break*/, 15];
276
- if (!(autoRetry && retryCount < MAX_RETRY_COUNT_ON_TIMEOUT_ERROR)) return [3 /*break*/, 14];
181
+ }
182
+ }
183
+ let responseBody = response.status === 204 ? undefined : yield response.json();
184
+ if (logLevel >= LogLevel.BODY && responseBody) {
185
+ log(`[${requestId}] ${JSON.stringify(responseBody, null, 2)}`);
186
+ }
187
+ if (response.status === 202) {
188
+ const jobResult = yield options.fetchJobResult(responseBody.data.id);
189
+ if (jobResult.status < 200 || jobResult.status >= 300) {
190
+ throw new errors_1.ApiError(buildApiErrorInitObjectFromJobResult(options.method, url, headers, options.body, jobResult.status, jobResult.payload, preCallStack));
191
+ }
192
+ responseBody = jobResult.payload;
193
+ }
194
+ if (response.status >= 200 && response.status < 300) {
195
+ return responseBody;
196
+ }
197
+ const error = new errors_1.ApiError(buildApiErrorInitObject(options.method, url, headers, options.body, response, responseBody, preCallStack));
198
+ const transientErrorCode = (_a = error.errors.find((e) => e.attributes.transient)) === null || _a === void 0 ? void 0 : _a.attributes.code;
199
+ if (autoRetry && transientErrorCode) {
200
+ if (logLevel >= LogLevel.BASIC) {
201
+ log(`[${requestId}] ${transientErrorCode}, wait ${retryCount} seconds then retry...`);
202
+ }
203
+ yield (0, wait_1.wait)(retryCount * 1000);
204
+ return request(Object.assign(Object.assign({}, options), { retryCount: retryCount + 1 }));
205
+ }
206
+ throw error;
207
+ }
208
+ catch (error) {
209
+ if (error instanceof makeCancelablePromise_1.CanceledPromiseError ||
210
+ (isErrorWithCode(error) && error.code.includes('ETIMEDOUT'))) {
211
+ if (autoRetry && retryCount < MAX_RETRY_COUNT_ON_TIMEOUT_ERROR) {
277
212
  if (logLevel >= LogLevel.BASIC) {
278
- log("[".concat(requestId, "] Timeout error, wait ").concat(retryCount, " seconds then retry..."));
213
+ log(`[${requestId}] Timeout error, wait ${retryCount} seconds then retry...`);
279
214
  }
280
- return [4 /*yield*/, (0, wait_1.wait)(retryCount * 1000)];
281
- case 13:
282
- _g.sent();
283
- return [2 /*return*/, request(__assign(__assign({}, options), { retryCount: retryCount + 1 }))];
284
- case 14: throw new errors_1.TimeoutError(buildTimeoutErrorInitObject(options.method, url, headers, options.body, preCallStack));
285
- case 15: throw error_1;
286
- case 16: return [2 /*return*/];
215
+ yield (0, wait_1.wait)(retryCount * 1000);
216
+ return request(Object.assign(Object.assign({}, options), { retryCount: retryCount + 1 }));
217
+ }
218
+ throw new errors_1.TimeoutError(buildTimeoutErrorInitObject(options.method, url, headers, options.body, preCallStack));
287
219
  }
288
- });
220
+ throw error;
221
+ }
289
222
  });
290
223
  }
291
224
  exports.request = request;
@@ -1 +1 @@
1
- {"version":3,"file":"request.js","sourceRoot":"","sources":["../../src/request.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"request.js","sourceRoot":"","sources":["../../src/request.ts"],"names":[],"mappings":"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"}