@datocms/rest-client-utils 0.1.5 → 1.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.
@@ -9,22 +9,6 @@ var __assign = (this && this.__assign) || function () {
9
9
  };
10
10
  return __assign.apply(this, arguments);
11
11
  };
12
- var __read = (this && this.__read) || function (o, n) {
13
- var m = typeof Symbol === "function" && o[Symbol.iterator];
14
- if (!m) return o;
15
- var i = m.call(o), r, ar = [], e;
16
- try {
17
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
18
- }
19
- catch (error) { e = { error: error }; }
20
- finally {
21
- try {
22
- if (r && !r.done && (m = i["return"])) m.call(i);
23
- }
24
- finally { if (e) throw e.error; }
25
- }
26
- return ar;
27
- };
28
12
  function hasData(thing) {
29
13
  return typeof thing === 'object' && !!thing && 'data' in thing;
30
14
  }
@@ -32,7 +16,7 @@ export function deserializeJsonEntity(_a) {
32
16
  var id = _a.id, type = _a.type, attributes = _a.attributes, relationships = _a.relationships, meta = _a.meta;
33
17
  return __assign(__assign(__assign(__assign(__assign({}, (id ? { id: id } : {})), (type ? { type: type } : {})), (attributes || {})), (relationships
34
18
  ? Object.fromEntries(Object.entries(relationships).map(function (_a) {
35
- var _b = __read(_a, 2), rel = _b[0], value = _b[1];
19
+ var rel = _a[0], value = _a[1];
36
20
  return [
37
21
  rel,
38
22
  value === null || value === void 0 ? void 0 : value.data,
@@ -1 +1 @@
1
- {"version":3,"file":"deserialize.js","sourceRoot":"","sources":["../../src/deserialize.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAcA,SAAS,OAAO,CAAC,KAAc;IAC7B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,IAAI,MAAM,IAAI,KAAK,CAAC;AACjE,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAI,EAMzB;QALd,EAAE,QAAA,EACF,IAAI,UAAA,EACJ,UAAU,gBAAA,EACV,aAAa,mBAAA,EACb,IAAI,UAAA;IAEJ,OAAO,iDACF,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,IAAA,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAClB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,MAAA,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GACtB,CAAC,UAAU,IAAI,EAAE,CAAC,GAClB,CAAC,aAAa;QACf,CAAC,CAAC,MAAM,CAAC,WAAW,CAChB,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,UAAC,EAAY;gBAAZ,KAAA,aAAY,EAAX,GAAG,QAAA,EAAE,KAAK,QAAA;YAAM,OAAA;gBAClD,GAAG;gBACH,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI;aACZ;QAHmD,CAGnD,CAAC,CACH;QACH,CAAC,CAAC,EAAE,CAAC,GACJ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,MAAA,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CACrB,CAAC;AACT,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAI,IAAa;IACtD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QAClB,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;KAClC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QAC5B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,qBAAqB,CAAiB,CAAC;KAC7D;IAED,OAAO,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAiB,CAAC;AAC1D,CAAC"}
1
+ {"version":3,"file":"deserialize.js","sourceRoot":"","sources":["../../src/deserialize.ts"],"names":[],"mappings":";;;;;;;;;;;AAcA,SAAS,OAAO,CAAC,KAAc;IAC7B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,IAAI,MAAM,IAAI,KAAK,CAAC;AACjE,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAI,EAMzB;QALd,EAAE,QAAA,EACF,IAAI,UAAA,EACJ,UAAU,gBAAA,EACV,aAAa,mBAAA,EACb,IAAI,UAAA;IAEJ,OAAO,iDACF,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,IAAA,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAClB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,MAAA,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GACtB,CAAC,UAAU,IAAI,EAAE,CAAC,GAClB,CAAC,aAAa;QACf,CAAC,CAAC,MAAM,CAAC,WAAW,CAChB,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,UAAC,EAAY;gBAAX,GAAG,QAAA,EAAE,KAAK,QAAA;YAAM,OAAA;gBAClD,GAAG;gBACH,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI;aACZ;QAHmD,CAGnD,CAAC,CACH;QACH,CAAC,CAAC,EAAE,CAAC,GACJ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,MAAA,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CACrB,CAAC;AACT,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAI,IAAa;IACtD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QAClB,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;KAClC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QAC5B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,qBAAqB,CAAiB,CAAC;KAC7D;IAED,OAAO,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAiB,CAAC;AAC1D,CAAC"}
@@ -37,24 +37,12 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar
37
37
  function reject(value) { resume("throw", value); }
38
38
  function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
39
39
  };
40
- var __values = (this && this.__values) || function(o) {
41
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
42
- if (m) return m.call(o);
43
- if (o && typeof o.length === "number") return {
44
- next: function () {
45
- if (o && i >= o.length) o = void 0;
46
- return { value: o && o[i++], done: !o };
47
- }
48
- };
49
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
50
- };
51
40
  import { Scheduler } from 'async-scheduler';
52
41
  export function rawPageIterator(pagination, callPerformer, iteratorOptions) {
53
42
  return __asyncGenerator(this, arguments, function rawPageIterator_1() {
54
- var perPage, concurrency, firstResponse, _a, _b, item, e_1_1, totalCount, limiter, promises, _loop_1, offset, response, _c, _d, item, e_2_1;
55
- var e_1, _e, e_2, _f;
56
- return __generator(this, function (_g) {
57
- switch (_g.label) {
43
+ var perPage, concurrency, firstResponse, _i, _a, item, totalCount, limiter, promises, _loop_1, offset, response, _b, _c, item;
44
+ return __generator(this, function (_d) {
45
+ switch (_d.label) {
58
46
  case 0:
59
47
  perPage = (iteratorOptions === null || iteratorOptions === void 0 ? void 0 : iteratorOptions.perPage) || pagination.defaultLimit;
60
48
  if (perPage > pagination.maxLimit) {
@@ -66,35 +54,21 @@ export function rawPageIterator(pagination, callPerformer, iteratorOptions) {
66
54
  }
67
55
  return [4 /*yield*/, __await(callPerformer({ limit: perPage, offset: 0 }))];
68
56
  case 1:
69
- firstResponse = _g.sent();
70
- _g.label = 2;
57
+ firstResponse = _d.sent();
58
+ _i = 0, _a = firstResponse.data;
59
+ _d.label = 2;
71
60
  case 2:
72
- _g.trys.push([2, 8, 9, 10]);
73
- _a = __values(firstResponse.data), _b = _a.next();
74
- _g.label = 3;
75
- case 3:
76
- if (!!_b.done) return [3 /*break*/, 7];
77
- item = _b.value;
61
+ if (!(_i < _a.length)) return [3 /*break*/, 6];
62
+ item = _a[_i];
78
63
  return [4 /*yield*/, __await(item)];
79
- case 4: return [4 /*yield*/, _g.sent()];
64
+ case 3: return [4 /*yield*/, _d.sent()];
65
+ case 4:
66
+ _d.sent();
67
+ _d.label = 5;
80
68
  case 5:
81
- _g.sent();
82
- _g.label = 6;
69
+ _i++;
70
+ return [3 /*break*/, 2];
83
71
  case 6:
84
- _b = _a.next();
85
- return [3 /*break*/, 3];
86
- case 7: return [3 /*break*/, 10];
87
- case 8:
88
- e_1_1 = _g.sent();
89
- e_1 = { error: e_1_1 };
90
- return [3 /*break*/, 10];
91
- case 9:
92
- try {
93
- if (_b && !_b.done && (_e = _a.return)) _e.call(_a);
94
- }
95
- finally { if (e_1) throw e_1.error; }
96
- return [7 /*endfinally*/];
97
- case 10:
98
72
  totalCount = firstResponse.meta.total_count;
99
73
  limiter = new Scheduler(concurrency);
100
74
  promises = [];
@@ -106,41 +80,27 @@ export function rawPageIterator(pagination, callPerformer, iteratorOptions) {
106
80
  for (offset = perPage; offset < totalCount; offset += perPage) {
107
81
  _loop_1(offset);
108
82
  }
109
- _g.label = 11;
110
- case 11:
111
- if (!(promises.length > 0)) return [3 /*break*/, 22];
83
+ _d.label = 7;
84
+ case 7:
85
+ if (!(promises.length > 0)) return [3 /*break*/, 14];
112
86
  return [4 /*yield*/, __await(promises.shift())];
113
- case 12:
114
- response = _g.sent();
115
- _g.label = 13;
116
- case 13:
117
- _g.trys.push([13, 19, 20, 21]);
118
- _c = (e_2 = void 0, __values(response.data)), _d = _c.next();
119
- _g.label = 14;
120
- case 14:
121
- if (!!_d.done) return [3 /*break*/, 18];
122
- item = _d.value;
87
+ case 8:
88
+ response = _d.sent();
89
+ _b = 0, _c = response.data;
90
+ _d.label = 9;
91
+ case 9:
92
+ if (!(_b < _c.length)) return [3 /*break*/, 13];
93
+ item = _c[_b];
123
94
  return [4 /*yield*/, __await(item)];
124
- case 15: return [4 /*yield*/, _g.sent()];
125
- case 16:
126
- _g.sent();
127
- _g.label = 17;
128
- case 17:
129
- _d = _c.next();
130
- return [3 /*break*/, 14];
131
- case 18: return [3 /*break*/, 21];
132
- case 19:
133
- e_2_1 = _g.sent();
134
- e_2 = { error: e_2_1 };
135
- return [3 /*break*/, 21];
136
- case 20:
137
- try {
138
- if (_d && !_d.done && (_f = _c.return)) _f.call(_c);
139
- }
140
- finally { if (e_2) throw e_2.error; }
141
- return [7 /*endfinally*/];
142
- case 21: return [3 /*break*/, 11];
143
- case 22: return [2 /*return*/];
95
+ case 10: return [4 /*yield*/, _d.sent()];
96
+ case 11:
97
+ _d.sent();
98
+ _d.label = 12;
99
+ case 12:
100
+ _b++;
101
+ return [3 /*break*/, 9];
102
+ case 13: return [3 /*break*/, 7];
103
+ case 14: return [2 /*return*/];
144
104
  }
145
105
  });
146
106
  });
@@ -1 +1 @@
1
- {"version":3,"file":"rawPageIterator.js","sourceRoot":"","sources":["../../src/rawPageIterator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAiB5C,MAAM,UAAiB,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;;;;oBAErD,KAAA,SAAA,aAAa,CAAC,IAAI,CAAA;;;;oBAA1B,IAAI;iDACP,IAAI;wBAAV,gCAAU;;oBAAV,SAAU,CAAC;;;;;;;;;;;;;;;;;oBAGP,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC;oBAE5C,OAAO,GAAG,IAAI,SAAS,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;oBAEP,6BAAM,QAAQ,CAAC,KAAK,EAAG,GAAA;;oBAAlC,QAAQ,GAAG,SAAuB;;;;oBACrB,oBAAA,SAAA,QAAQ,CAAC,IAAI,CAAA,CAAA;;;;oBAArB,IAAI;iDACP,IAAI;yBAAV,gCAAU;;oBAAV,SAAU,CAAC;;;;;;;;;;;;;;;;;;;;;CAGhB"}
1
+ {"version":3,"file":"rawPageIterator.js","sourceRoot":"","sources":["../../src/rawPageIterator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAiB5C,MAAM,UAAiB,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,SAAS,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;oBAEP,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"}
@@ -45,36 +45,10 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
45
45
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
46
46
  }
47
47
  };
48
- var __values = (this && this.__values) || function(o) {
49
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
50
- if (m) return m.call(o);
51
- if (o && typeof o.length === "number") return {
52
- next: function () {
53
- if (o && i >= o.length) o = void 0;
54
- return { value: o && o[i++], done: !o };
55
- }
56
- };
57
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
58
- };
59
- var __read = (this && this.__read) || function (o, n) {
60
- var m = typeof Symbol === "function" && o[Symbol.iterator];
61
- if (!m) return o;
62
- var i = m.call(o), r, ar = [], e;
63
- try {
64
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
65
- }
66
- catch (error) { e = { error: error }; }
67
- finally {
68
- try {
69
- if (r && !r.done && (m = i["return"])) m.call(i);
70
- }
71
- finally { if (e) throw e.error; }
72
- }
73
- return ar;
74
- };
75
48
  import qs from 'qs';
76
49
  import fetch from 'cross-fetch';
77
50
  import { ApiError } from './ApiError';
51
+ import { wait } from './wait';
78
52
  export var LogLevel;
79
53
  (function (LogLevel) {
80
54
  /** No logging */
@@ -127,21 +101,15 @@ function buildApiErrorInitObjectFromJobResult(method, url, requestHeaders, reque
127
101
  preCallStack: preCallStack,
128
102
  };
129
103
  }
130
- function wait(time) {
131
- return new Promise(function (resolve) {
132
- setTimeout(resolve, time);
133
- });
134
- }
135
104
  function isErrorWithCode(error) {
136
105
  return typeof error === 'object' && !!error && 'code' in error;
137
106
  }
138
107
  var requestCount = 1;
139
108
  export function request(options) {
140
109
  return __awaiter(this, void 0, void 0, function () {
141
- var requestId, preCallStack, userAgent, retryCount, logLevel, autoRetry, log, headers, baseUrl, body, queryString, url, _a, _b, _c, key, value, response_1, waitTimeInSecs, responseBody, _d, jobResult, error, error_1;
142
- var e_1, _e;
143
- return __generator(this, function (_f) {
144
- switch (_f.label) {
110
+ var requestId, preCallStack, userAgent, retryCount, logLevel, autoRetry, log, headers, baseUrl, body, queryString, url, _i, _a, _b, key, value, response_1, responseContentType, invalidContentType, waitTimeInSecs, responseBody, _c, jobResult, error, error_1;
111
+ return __generator(this, function (_d) {
112
+ switch (_d.label) {
145
113
  case 0:
146
114
  requestId = requestCount;
147
115
  requestCount += 1;
@@ -161,36 +129,29 @@ export function request(options) {
161
129
  if (logLevel >= LogLevel.BASIC) {
162
130
  log("[".concat(requestId, "] ").concat(options.method, " ").concat(url));
163
131
  if (logLevel >= LogLevel.BODY_AND_HEADERS) {
164
- try {
165
- for (_a = __values(Object.entries(headers || {})), _b = _a.next(); !_b.done; _b = _a.next()) {
166
- _c = __read(_b.value, 2), key = _c[0], value = _c[1];
167
- log("[".concat(requestId, "] ").concat(key, ": ").concat(value));
168
- }
169
- }
170
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
171
- finally {
172
- try {
173
- if (_b && !_b.done && (_e = _a.return)) _e.call(_a);
174
- }
175
- finally { if (e_1) throw e_1.error; }
132
+ for (_i = 0, _a = Object.entries(headers || {}); _i < _a.length; _i++) {
133
+ _b = _a[_i], key = _b[0], value = _b[1];
134
+ log("[".concat(requestId, "] ").concat(key, ": ").concat(value));
176
135
  }
177
136
  }
178
137
  if (logLevel >= LogLevel.BODY && body) {
179
138
  log("[".concat(requestId, "] ").concat(body));
180
139
  }
181
140
  }
182
- _f.label = 1;
141
+ _d.label = 1;
183
142
  case 1:
184
- _f.trys.push([1, 12, , 15]);
143
+ _d.trys.push([1, 12, , 15]);
185
144
  return [4 /*yield*/, fetch(url, {
186
145
  method: options.method,
187
146
  headers: headers,
188
147
  body: body,
189
148
  })];
190
149
  case 2:
191
- response_1 = _f.sent();
192
- if (!(response_1.status === 429)) return [3 /*break*/, 4];
193
- if (!autoRetry) {
150
+ response_1 = _d.sent();
151
+ responseContentType = response_1.headers.get('Content-Type');
152
+ invalidContentType = responseContentType && !responseContentType.includes('application/json');
153
+ if (!(response_1.status === 429 || invalidContentType)) return [3 /*break*/, 4];
154
+ if (!autoRetry || (invalidContentType && options.method !== 'GET')) {
194
155
  throw new ApiError(buildApiErrorInitObject(options.method, url, headers, options.body, response_1, undefined, preCallStack));
195
156
  }
196
157
  waitTimeInSecs = response_1.headers.has('X-RateLimit-Reset')
@@ -198,18 +159,22 @@ export function request(options) {
198
159
  parseInt(response_1.headers.get('X-RateLimit-Reset'), 10)
199
160
  : retryCount;
200
161
  if (logLevel >= LogLevel.BASIC) {
201
- log("[".concat(requestId, "] Rate limit exceeded, waiting ").concat(waitTimeInSecs, " seconds..."));
162
+ if (response_1.status === 429) {
163
+ log("[".concat(requestId, "] Rate limit exceeded, wait ").concat(waitTimeInSecs, " seconds then retry..."));
164
+ }
165
+ else {
166
+ log("[".concat(requestId, "] Invalid response content type \"").concat(responseContentType, "\" (status ").concat(response_1.status, "). Wait ").concat(waitTimeInSecs, " seconds then retry..."));
167
+ }
202
168
  }
203
169
  return [4 /*yield*/, wait(waitTimeInSecs * 1000)];
204
170
  case 3:
205
- _f.sent();
171
+ _d.sent();
206
172
  return [2 /*return*/, request(__assign(__assign({}, options), { retryCount: retryCount + 1 }))];
207
173
  case 4:
208
174
  if (logLevel >= LogLevel.BASIC) {
209
175
  log("[".concat(requestId, "] Status: ").concat(response_1.status, " (").concat(response_1.statusText, ")"));
210
176
  if (logLevel >= LogLevel.BODY_AND_HEADERS) {
211
177
  [
212
- 'content-type',
213
178
  'x-api-version',
214
179
  'x-environment',
215
180
  'x-queue-time',
@@ -224,26 +189,26 @@ export function request(options) {
224
189
  }
225
190
  }
226
191
  if (!(response_1.status === 204)) return [3 /*break*/, 5];
227
- _d = undefined;
192
+ _c = undefined;
228
193
  return [3 /*break*/, 7];
229
194
  case 5: return [4 /*yield*/, response_1.json()];
230
195
  case 6:
231
- _d = _f.sent();
232
- _f.label = 7;
196
+ _c = _d.sent();
197
+ _d.label = 7;
233
198
  case 7:
234
- responseBody = _d;
199
+ responseBody = _c;
235
200
  if (logLevel >= LogLevel.BODY && responseBody) {
236
201
  log("[".concat(requestId, "] ").concat(JSON.stringify(responseBody, null, 2)));
237
202
  }
238
203
  if (!(response_1.status === 202)) return [3 /*break*/, 9];
239
204
  return [4 /*yield*/, options.fetchJobResult(responseBody.data.id)];
240
205
  case 8:
241
- jobResult = _f.sent();
206
+ jobResult = _d.sent();
242
207
  if (jobResult.status < 200 || jobResult.status >= 300) {
243
208
  throw new ApiError(buildApiErrorInitObjectFromJobResult(options.method, url, headers, options.body, jobResult.status, jobResult.payload, preCallStack));
244
209
  }
245
210
  responseBody = jobResult.payload;
246
- _f.label = 9;
211
+ _d.label = 9;
247
212
  case 9:
248
213
  if (response_1.status >= 200 && response_1.status < 300) {
249
214
  return [2 /*return*/, responseBody];
@@ -251,22 +216,22 @@ export function request(options) {
251
216
  error = new ApiError(buildApiErrorInitObject(options.method, url, headers, options.body, response_1, responseBody, preCallStack));
252
217
  if (!(autoRetry && error.findError('BATCH_DATA_VALIDATION_IN_PROGRESS'))) return [3 /*break*/, 11];
253
218
  if (logLevel >= LogLevel.BASIC) {
254
- log("[".concat(requestId, "] Data validation in progress, waiting ").concat(retryCount, " seconds..."));
219
+ log("[".concat(requestId, "] Data validation in progress, wait ").concat(retryCount, " seconds then retry..."));
255
220
  }
256
221
  return [4 /*yield*/, wait(retryCount * 1000)];
257
222
  case 10:
258
- _f.sent();
223
+ _d.sent();
259
224
  return [2 /*return*/, request(__assign(__assign({}, options), { retryCount: retryCount + 1 }))];
260
225
  case 11: throw error;
261
226
  case 12:
262
- error_1 = _f.sent();
227
+ error_1 = _d.sent();
263
228
  if (!(isErrorWithCode(error_1) && error_1.code.includes('ETIMEDOUT'))) return [3 /*break*/, 14];
264
229
  if (logLevel >= LogLevel.BASIC) {
265
- log("[".concat(requestId, "] Error ").concat(error_1.code, ", waiting ").concat(retryCount, " seconds..."));
230
+ log("[".concat(requestId, "] Error ").concat(error_1.code, ", wait ").concat(retryCount, " seconds then retry..."));
266
231
  }
267
232
  return [4 /*yield*/, wait(retryCount * 1000)];
268
233
  case 13:
269
- _f.sent();
234
+ _d.sent();
270
235
  return [2 /*return*/, request(__assign(__assign({}, options), { retryCount: retryCount + 1 }))];
271
236
  case 14: throw error_1;
272
237
  case 15: return [2 /*return*/];
@@ -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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"}
@@ -20,22 +20,6 @@ var __rest = (this && this.__rest) || function (s, e) {
20
20
  }
21
21
  return t;
22
22
  };
23
- var __read = (this && this.__read) || function (o, n) {
24
- var m = typeof Symbol === "function" && o[Symbol.iterator];
25
- if (!m) return o;
26
- var i = m.call(o), r, ar = [], e;
27
- try {
28
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
29
- }
30
- catch (error) { e = { error: error }; }
31
- finally {
32
- try {
33
- if (r && !r.done && (m = i["return"])) m.call(i);
34
- }
35
- finally { if (e) throw e.error; }
36
- }
37
- return ar;
38
- };
39
23
  function isRel(object) {
40
24
  return (typeof object === 'object' && !!object && 'id' in object && 'type' in object);
41
25
  }
@@ -52,7 +36,7 @@ export function serializeRequestBody(body, options) {
52
36
  var relationships = {};
53
37
  if (options.attributes === '*') {
54
38
  Object.entries(otherProperties).forEach(function (_a) {
55
- var _b = __read(_a, 2), key = _b[0], value = _b[1];
39
+ var key = _a[0], value = _a[1];
56
40
  if (options.relationships.includes(key)) {
57
41
  if (isRel(value)) {
58
42
  var id_1 = value.id, type_1 = value.type;
@@ -79,7 +63,7 @@ export function serializeRequestBody(body, options) {
79
63
  }
80
64
  else if (options.relationships === '*') {
81
65
  Object.entries(otherProperties).forEach(function (_a) {
82
- var _b = __read(_a, 2), key = _b[0], value = _b[1];
66
+ var key = _a[0], value = _a[1];
83
67
  if (options.attributes.includes(key)) {
84
68
  attributes[key] = value;
85
69
  }
@@ -106,7 +90,7 @@ export function serializeRequestBody(body, options) {
106
90
  }
107
91
  else {
108
92
  Object.entries(otherProperties).forEach(function (_a) {
109
- var _b = __read(_a, 2), key = _b[0], value = _b[1];
93
+ var key = _a[0], value = _a[1];
110
94
  if (options.attributes.includes(key)) {
111
95
  attributes[key] = value;
112
96
  }
@@ -1 +1 @@
1
- {"version":3,"file":"serialize.js","sourceRoot":"","sources":["../../src/serialize.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serialize.js","sourceRoot":"","sources":["../../src/serialize.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- export declare function wait(time: any): Promise<unknown>;
1
+ export declare function wait(time: number): Promise<unknown>;
@@ -1 +1 @@
1
- {"version":3,"file":"wait.js","sourceRoot":"","sources":["../../src/wait.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,IAAI,CAAC,IAAI;IACvB,OAAO,IAAI,OAAO,CAAC,UAAC,OAAO;QACzB,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"wait.js","sourceRoot":"","sources":["../../src/wait.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,IAAI,CAAC,IAAY;IAC/B,OAAO,IAAI,OAAO,CAAC,UAAC,OAAO;QACzB,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- export declare function wait(time: any): Promise<unknown>;
1
+ export declare function wait(time: number): Promise<unknown>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@datocms/rest-client-utils",
3
- "version": "0.1.5",
3
+ "version": "1.1.1",
4
4
  "description": "Utilities for DatoCMS REST API clients",
5
5
  "keywords": [
6
6
  "datocms",
@@ -40,5 +40,8 @@
40
40
  "cross-fetch": "^3.1.5",
41
41
  "qs": "^6.10.3"
42
42
  },
43
- "gitHead": "dc93ff1a234e3e95a1db409b44c3fe538afd8a1e"
43
+ "gitHead": "d3b88053a1500682a3d679622975b3da7fe6aff5",
44
+ "devDependencies": {
45
+ "@types/qs": "^6.9.7"
46
+ }
44
47
  }
package/src/ApiError.ts CHANGED
@@ -43,7 +43,7 @@ function isErrorBody(body: unknown): body is ErrorBody {
43
43
  return true;
44
44
  }
45
45
 
46
- const humanMessageForCode = {
46
+ const humanMessageForCode: Record<string, string | undefined> = {
47
47
  BATCH_DATA_VALIDATION_IN_PROGRESS: `The schema of this model changed, we're re-running validations over every record in background. Please retry with this operation in a few seconds!`,
48
48
  INSUFFICIENT_PERMISSIONS: `Your role does not permit this action`,
49
49
  MAINTENANCE_MODE: `The project is currently in maintenance mode!`,
@@ -65,7 +65,7 @@ const humanMessageForCode = {
65
65
  UPLOAD_NOT_PASSING_FIELD_VALIDATIONS: `Couldn't update this asset since some records are failing to pass the validations!`,
66
66
  };
67
67
 
68
- const humanMessageForPlanUpgradeLimit = {
68
+ const humanMessageForPlanUpgradeLimit: Record<string, string | undefined> = {
69
69
  build_triggers: `You've reached the maximum number of build triggers your plan allows`,
70
70
  sandbox_environments: `You've reached the maximum number of environments your plan allows`,
71
71
  item_types: `You've reached the maximum number of models your plan allows to create`,
package/src/request.ts CHANGED
@@ -2,6 +2,7 @@ import qs from 'qs';
2
2
  import fetch from 'cross-fetch';
3
3
  import { ApiError, ApiErrorInitObject } from './ApiError';
4
4
  import { JobResult } from './internalTypes';
5
+ import { wait } from './wait';
5
6
 
6
7
  export enum LogLevel {
7
8
  /** No logging */
@@ -32,7 +33,7 @@ type RequestOptions = {
32
33
  };
33
34
 
34
35
  function headersToObject(headers: Headers): Record<string, string> {
35
- const result = {};
36
+ const result: Record<string, string> = {};
36
37
 
37
38
  headers.forEach((value, key) => {
38
39
  result[key] = value;
@@ -93,12 +94,6 @@ function buildApiErrorInitObjectFromJobResult(
93
94
  };
94
95
  }
95
96
 
96
- function wait(time) {
97
- return new Promise((resolve) => {
98
- setTimeout(resolve, time);
99
- });
100
- }
101
-
102
97
  function isErrorWithCode(error: unknown): error is { code: string } {
103
98
  return typeof error === 'object' && !!error && 'code' in error;
104
99
  }
@@ -153,8 +148,12 @@ export async function request<T>(options: RequestOptions): Promise<T> {
153
148
  body,
154
149
  });
155
150
 
156
- if (response.status === 429) {
157
- if (!autoRetry) {
151
+ const responseContentType = response.headers.get('Content-Type');
152
+ const invalidContentType =
153
+ responseContentType && !responseContentType.includes('application/json');
154
+
155
+ if (response.status === 429 || invalidContentType) {
156
+ if (!autoRetry || (invalidContentType && options.method !== 'GET')) {
158
157
  throw new ApiError(
159
158
  buildApiErrorInitObject(
160
159
  options.method,
@@ -174,9 +173,15 @@ export async function request<T>(options: RequestOptions): Promise<T> {
174
173
  : retryCount;
175
174
 
176
175
  if (logLevel >= LogLevel.BASIC) {
177
- log(
178
- `[${requestId}] Rate limit exceeded, waiting ${waitTimeInSecs} seconds...`,
179
- );
176
+ if (response.status === 429) {
177
+ log(
178
+ `[${requestId}] Rate limit exceeded, wait ${waitTimeInSecs} seconds then retry...`,
179
+ );
180
+ } else {
181
+ log(
182
+ `[${requestId}] Invalid response content type "${responseContentType}" (status ${response.status}). Wait ${waitTimeInSecs} seconds then retry...`,
183
+ );
184
+ }
180
185
  }
181
186
 
182
187
  await wait(waitTimeInSecs * 1000);
@@ -188,7 +193,6 @@ export async function request<T>(options: RequestOptions): Promise<T> {
188
193
  log(`[${requestId}] Status: ${response.status} (${response.statusText})`);
189
194
  if (logLevel >= LogLevel.BODY_AND_HEADERS) {
190
195
  [
191
- 'content-type',
192
196
  'x-api-version',
193
197
  'x-environment',
194
198
  'x-queue-time',
@@ -249,7 +253,7 @@ export async function request<T>(options: RequestOptions): Promise<T> {
249
253
  if (autoRetry && error.findError('BATCH_DATA_VALIDATION_IN_PROGRESS')) {
250
254
  if (logLevel >= LogLevel.BASIC) {
251
255
  log(
252
- `[${requestId}] Data validation in progress, waiting ${retryCount} seconds...`,
256
+ `[${requestId}] Data validation in progress, wait ${retryCount} seconds then retry...`,
253
257
  );
254
258
  }
255
259
 
@@ -263,7 +267,7 @@ export async function request<T>(options: RequestOptions): Promise<T> {
263
267
  if (isErrorWithCode(error) && error.code.includes('ETIMEDOUT')) {
264
268
  if (logLevel >= LogLevel.BASIC) {
265
269
  log(
266
- `[${requestId}] Error ${error.code}, waiting ${retryCount} seconds...`,
270
+ `[${requestId}] Error ${error.code}, wait ${retryCount} seconds then retry...`,
267
271
  );
268
272
  }
269
273
 
package/src/serialize.ts CHANGED
@@ -41,8 +41,8 @@ export function serializeRequestBody<T>(body: unknown, options: Options): T {
41
41
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
42
42
  const { id, type, meta, ...otherProperties } = body as any;
43
43
 
44
- const attributes = {};
45
- const relationships = {};
44
+ const attributes: Record<string, unknown> = {};
45
+ const relationships: Record<string, unknown> = {};
46
46
 
47
47
  if (options.attributes === '*') {
48
48
  Object.entries(otherProperties).forEach(([key, value]) => {