api-def 0.9.1 → 0.9.3
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/README.md +1 -1
- package/cjs/Api.d.ts +35 -35
- package/cjs/Api.js +140 -144
- package/cjs/ApiConstants.d.ts +58 -58
- package/cjs/ApiConstants.js +55 -55
- package/cjs/ApiTypes.d.ts +103 -103
- package/cjs/ApiTypes.js +4 -4
- package/cjs/ApiUtils.d.ts +6 -6
- package/cjs/ApiUtils.js +51 -53
- package/cjs/Endpoint.d.ts +52 -52
- package/cjs/Endpoint.js +104 -108
- package/cjs/EndpointBuilder.d.ts +14 -14
- package/cjs/EndpointBuilder.js +46 -46
- package/cjs/MockingTypes.d.ts +30 -30
- package/cjs/MockingTypes.js +2 -2
- package/cjs/QueryHandling.d.ts +3 -3
- package/cjs/QueryHandling.js +24 -24
- package/cjs/RequestConfig.d.ts +2 -2
- package/cjs/RequestConfig.js +74 -74
- package/cjs/RequestContext.d.ts +48 -48
- package/cjs/RequestContext.js +235 -238
- package/cjs/RequestError.d.ts +30 -30
- package/cjs/RequestError.js +47 -47
- package/cjs/Requester.d.ts +3 -3
- package/cjs/Requester.js +335 -336
- package/cjs/TextDecoding.d.ts +1 -1
- package/cjs/TextDecoding.js +152 -139
- package/cjs/UtilTypes.d.ts +5 -5
- package/cjs/UtilTypes.js +2 -2
- package/cjs/Utils.d.ts +15 -15
- package/cjs/Utils.js +79 -77
- package/cjs/Validation.d.ts +8 -8
- package/cjs/Validation.js +2 -2
- package/cjs/backend/AxiosRequestBackend.d.ts +13 -13
- package/cjs/backend/AxiosRequestBackend.js +99 -99
- package/cjs/backend/FetchRequestBackend.d.ts +15 -15
- package/cjs/backend/FetchRequestBackend.js +203 -202
- package/cjs/backend/MockRequestBackend.d.ts +11 -11
- package/cjs/backend/MockRequestBackend.js +164 -164
- package/cjs/backend/RequestBackend.d.ts +19 -19
- package/cjs/backend/RequestBackend.js +2 -2
- package/cjs/cache/CacheBackend.d.ts +6 -6
- package/cjs/cache/CacheBackend.js +2 -2
- package/cjs/cache/Caching.d.ts +10 -10
- package/cjs/cache/Caching.js +88 -88
- package/cjs/cache/LocalForageCacheBackend.d.ts +9 -9
- package/cjs/cache/LocalForageCacheBackend.js +24 -24
- package/cjs/cache/LocalStorageCacheBackend.d.ts +7 -7
- package/cjs/cache/LocalStorageCacheBackend.js +77 -77
- package/cjs/index.d.ts +13 -13
- package/cjs/index.js +41 -41
- package/cjs/middleware/CacheMiddleware.d.ts +7 -7
- package/cjs/middleware/CacheMiddleware.js +107 -107
- package/cjs/middleware/LoggingMiddleware.d.ts +6 -6
- package/cjs/middleware/LoggingMiddleware.js +82 -88
- package/cjs/util/retry/index.d.ts +3 -3
- package/cjs/util/retry/index.js +52 -52
- package/cjs/util/retry/lib/retry.d.ts +3 -3
- package/cjs/util/retry/lib/retry.js +50 -54
- package/cjs/util/retry/lib/retryOperation.d.ts +27 -27
- package/cjs/util/retry/lib/retryOperation.js +130 -134
- package/esm/Api.d.ts +35 -35
- package/esm/Api.js +92 -98
- package/esm/ApiConstants.d.ts +58 -58
- package/esm/ApiConstants.js +52 -52
- package/esm/ApiTypes.d.ts +103 -103
- package/esm/ApiTypes.js +1 -1
- package/esm/ApiUtils.d.ts +6 -6
- package/esm/ApiUtils.js +43 -45
- package/esm/Endpoint.d.ts +52 -52
- package/esm/Endpoint.js +66 -70
- package/esm/EndpointBuilder.d.ts +14 -14
- package/esm/EndpointBuilder.js +31 -31
- package/esm/MockingTypes.d.ts +30 -30
- package/esm/MockingTypes.js +1 -1
- package/esm/QueryHandling.d.ts +3 -3
- package/esm/QueryHandling.js +19 -19
- package/esm/RequestConfig.d.ts +2 -2
- package/esm/RequestConfig.js +56 -56
- package/esm/RequestContext.d.ts +48 -48
- package/esm/RequestContext.js +167 -170
- package/esm/RequestError.d.ts +30 -30
- package/esm/RequestError.js +42 -42
- package/esm/Requester.d.ts +3 -3
- package/esm/Requester.js +252 -253
- package/esm/TextDecoding.d.ts +1 -1
- package/esm/TextDecoding.js +148 -135
- package/esm/UtilTypes.d.ts +5 -5
- package/esm/UtilTypes.js +1 -1
- package/esm/Utils.d.ts +15 -15
- package/esm/Utils.js +66 -68
- package/esm/Validation.d.ts +8 -8
- package/esm/Validation.js +1 -1
- package/esm/backend/AxiosRequestBackend.d.ts +13 -13
- package/esm/backend/AxiosRequestBackend.js +62 -62
- package/esm/backend/FetchRequestBackend.d.ts +15 -15
- package/esm/backend/FetchRequestBackend.js +136 -136
- package/esm/backend/MockRequestBackend.d.ts +11 -11
- package/esm/backend/MockRequestBackend.js +116 -116
- package/esm/backend/RequestBackend.d.ts +19 -19
- package/esm/backend/RequestBackend.js +1 -1
- package/esm/cache/CacheBackend.d.ts +6 -6
- package/esm/cache/CacheBackend.js +1 -1
- package/esm/cache/Caching.d.ts +10 -10
- package/esm/cache/Caching.js +39 -39
- package/esm/cache/LocalForageCacheBackend.d.ts +9 -9
- package/esm/cache/LocalForageCacheBackend.js +20 -20
- package/esm/cache/LocalStorageCacheBackend.d.ts +7 -7
- package/esm/cache/LocalStorageCacheBackend.js +32 -32
- package/esm/index.d.ts +13 -13
- package/esm/index.js +14 -15
- package/esm/middleware/CacheMiddleware.d.ts +7 -7
- package/esm/middleware/CacheMiddleware.js +58 -58
- package/esm/middleware/LoggingMiddleware.d.ts +6 -6
- package/esm/middleware/LoggingMiddleware.js +77 -83
- package/esm/util/retry/index.d.ts +3 -3
- package/esm/util/retry/index.js +50 -50
- package/esm/util/retry/lib/retry.d.ts +3 -3
- package/esm/util/retry/lib/retry.js +35 -39
- package/esm/util/retry/lib/retryOperation.d.ts +27 -27
- package/esm/util/retry/lib/retryOperation.js +126 -132
- package/package.json +19 -34
|
@@ -1,202 +1,203 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __extends = (this && this.__extends) || (function () {
|
|
3
|
-
var extendStatics = function (d, b) {
|
|
4
|
-
extendStatics = Object.setPrototypeOf ||
|
|
5
|
-
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
-
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
-
return extendStatics(d, b);
|
|
8
|
-
};
|
|
9
|
-
return function (d, b) {
|
|
10
|
-
if (typeof b !== "function" && b !== null)
|
|
11
|
-
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
-
extendStatics(d, b);
|
|
13
|
-
function __() { this.constructor = d; }
|
|
14
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
-
};
|
|
16
|
-
})();
|
|
17
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
18
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
19
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
20
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
21
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
22
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
23
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
24
|
-
});
|
|
25
|
-
};
|
|
26
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
27
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
28
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
29
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
30
|
-
function step(op) {
|
|
31
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
32
|
-
while (_) try {
|
|
33
|
-
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;
|
|
34
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
35
|
-
switch (op[0]) {
|
|
36
|
-
case 0: case 1: t = op; break;
|
|
37
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
38
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
39
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
40
|
-
default:
|
|
41
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
42
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
43
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
44
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
45
|
-
if (t[2]) _.ops.pop();
|
|
46
|
-
_.trys.pop(); continue;
|
|
47
|
-
}
|
|
48
|
-
op = body.call(thisArg, _);
|
|
49
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
50
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
51
|
-
}
|
|
52
|
-
};
|
|
53
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
54
|
-
var
|
|
55
|
-
var
|
|
56
|
-
var
|
|
57
|
-
var
|
|
58
|
-
var FetchError = /** @class */ (function (_super) {
|
|
59
|
-
__extends(FetchError, _super);
|
|
60
|
-
function FetchError() {
|
|
61
|
-
return _super !== null && _super.apply(this, arguments) || this;
|
|
62
|
-
}
|
|
63
|
-
return FetchError;
|
|
64
|
-
}(Error));
|
|
65
|
-
var FetchRequestBackend = /** @class */ (function () {
|
|
66
|
-
function FetchRequestBackend(fetchLibrary) {
|
|
67
|
-
this.fetch = (0, Utils_1.getGlobalFetch)();
|
|
68
|
-
this.id = "fetch";
|
|
69
|
-
if (fetchLibrary !== undefined) {
|
|
70
|
-
this.fetch = fetchLibrary;
|
|
71
|
-
// otherwise window throws illegal invocation
|
|
72
|
-
if (fetchLibrary === (0, Utils_1.getGlobalFetch)()) {
|
|
73
|
-
this.fetch = fetchLibrary.bind((0, Utils_1.getGlobal)());
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
FetchRequestBackend.prototype.extractResponseFromError = function (error) {
|
|
78
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
79
|
-
var fetchError;
|
|
80
|
-
return __generator(this, function (_a) {
|
|
81
|
-
if ("response" in error) {
|
|
82
|
-
fetchError = error;
|
|
83
|
-
return [2 /*return*/, fetchError.response ? fetchError.response : null];
|
|
84
|
-
}
|
|
85
|
-
return [2 /*return*/, undefined];
|
|
86
|
-
});
|
|
87
|
-
});
|
|
88
|
-
};
|
|
89
|
-
FetchRequestBackend.prototype.convertResponse = function (context, response) {
|
|
90
|
-
var _a;
|
|
91
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
92
|
-
var status, headers, processedHeaders, convertedResponse, responseType, text, data, error_1;
|
|
93
|
-
return __generator(this, function (_b) {
|
|
94
|
-
switch (_b.label) {
|
|
95
|
-
case 0:
|
|
96
|
-
status = response.status, headers = response.headers;
|
|
97
|
-
processedHeaders = {};
|
|
98
|
-
headers.forEach(function (value, key) {
|
|
99
|
-
processedHeaders[key] = value;
|
|
100
|
-
});
|
|
101
|
-
convertedResponse = {
|
|
102
|
-
__lowercaseHeaders: processedHeaders,
|
|
103
|
-
method: context.method,
|
|
104
|
-
url: response.url,
|
|
105
|
-
data: undefined,
|
|
106
|
-
status: status,
|
|
107
|
-
headers: processedHeaders,
|
|
108
|
-
};
|
|
109
|
-
responseType = (_a = context.responseType) !== null && _a !== void 0 ? _a : (0, ApiUtils_1.inferResponseType)(response.headers.get("Content-Type"));
|
|
110
|
-
_b.label = 1;
|
|
111
|
-
case 1:
|
|
112
|
-
_b.trys.push([1,
|
|
113
|
-
if (!(responseType === "arraybuffer")) return [3 /*break*/, 3];
|
|
114
|
-
return [4 /*yield*/, response.arrayBuffer()];
|
|
115
|
-
case 2:
|
|
116
|
-
data = _b.sent();
|
|
117
|
-
return [3 /*break*/,
|
|
118
|
-
case 3:
|
|
119
|
-
if (!(responseType === "json")) return [3 /*break*/, 5];
|
|
120
|
-
return [4 /*yield*/, response.text()];
|
|
121
|
-
case 4:
|
|
122
|
-
text = _b.sent();
|
|
123
|
-
data = JSON.parse(text);
|
|
124
|
-
return [3 /*break*/,
|
|
125
|
-
case 5:
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
case 7:
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
var
|
|
154
|
-
var
|
|
155
|
-
var
|
|
156
|
-
var
|
|
157
|
-
var
|
|
158
|
-
var
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
var
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
error
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __extends = (this && this.__extends) || (function () {
|
|
3
|
+
var extendStatics = function (d, b) {
|
|
4
|
+
extendStatics = Object.setPrototypeOf ||
|
|
5
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
+
return extendStatics(d, b);
|
|
8
|
+
};
|
|
9
|
+
return function (d, b) {
|
|
10
|
+
if (typeof b !== "function" && b !== null)
|
|
11
|
+
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
+
extendStatics(d, b);
|
|
13
|
+
function __() { this.constructor = d; }
|
|
14
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
+
};
|
|
16
|
+
})();
|
|
17
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
18
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
19
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
20
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
21
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
22
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
23
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
24
|
+
});
|
|
25
|
+
};
|
|
26
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
27
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
28
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
29
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
30
|
+
function step(op) {
|
|
31
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
32
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
33
|
+
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;
|
|
34
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
35
|
+
switch (op[0]) {
|
|
36
|
+
case 0: case 1: t = op; break;
|
|
37
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
38
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
39
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
40
|
+
default:
|
|
41
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
42
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
43
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
44
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
45
|
+
if (t[2]) _.ops.pop();
|
|
46
|
+
_.trys.pop(); continue;
|
|
47
|
+
}
|
|
48
|
+
op = body.call(thisArg, _);
|
|
49
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
50
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
54
|
+
var ApiUtils_1 = require("../ApiUtils");
|
|
55
|
+
var RequestError_1 = require("../RequestError");
|
|
56
|
+
var Utils = require("../Utils");
|
|
57
|
+
var Utils_1 = require("../Utils");
|
|
58
|
+
var FetchError = /** @class */ (function (_super) {
|
|
59
|
+
__extends(FetchError, _super);
|
|
60
|
+
function FetchError() {
|
|
61
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
|
62
|
+
}
|
|
63
|
+
return FetchError;
|
|
64
|
+
}(Error));
|
|
65
|
+
var FetchRequestBackend = /** @class */ (function () {
|
|
66
|
+
function FetchRequestBackend(fetchLibrary) {
|
|
67
|
+
this.fetch = (0, Utils_1.getGlobalFetch)();
|
|
68
|
+
this.id = "fetch";
|
|
69
|
+
if (fetchLibrary !== undefined) {
|
|
70
|
+
this.fetch = fetchLibrary;
|
|
71
|
+
// otherwise window throws illegal invocation
|
|
72
|
+
if (fetchLibrary === (0, Utils_1.getGlobalFetch)()) {
|
|
73
|
+
this.fetch = fetchLibrary.bind((0, Utils_1.getGlobal)());
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
FetchRequestBackend.prototype.extractResponseFromError = function (error) {
|
|
78
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
79
|
+
var fetchError;
|
|
80
|
+
return __generator(this, function (_a) {
|
|
81
|
+
if ("response" in error) {
|
|
82
|
+
fetchError = error;
|
|
83
|
+
return [2 /*return*/, fetchError.response ? fetchError.response : null];
|
|
84
|
+
}
|
|
85
|
+
return [2 /*return*/, undefined];
|
|
86
|
+
});
|
|
87
|
+
});
|
|
88
|
+
};
|
|
89
|
+
FetchRequestBackend.prototype.convertResponse = function (context, response) {
|
|
90
|
+
var _a;
|
|
91
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
92
|
+
var status, headers, processedHeaders, convertedResponse, responseType, text, data, error_1;
|
|
93
|
+
return __generator(this, function (_b) {
|
|
94
|
+
switch (_b.label) {
|
|
95
|
+
case 0:
|
|
96
|
+
status = response.status, headers = response.headers;
|
|
97
|
+
processedHeaders = {};
|
|
98
|
+
headers.forEach(function (value, key) {
|
|
99
|
+
processedHeaders[key] = value;
|
|
100
|
+
});
|
|
101
|
+
convertedResponse = {
|
|
102
|
+
__lowercaseHeaders: processedHeaders,
|
|
103
|
+
method: context.method,
|
|
104
|
+
url: response.url,
|
|
105
|
+
data: undefined,
|
|
106
|
+
status: status,
|
|
107
|
+
headers: processedHeaders,
|
|
108
|
+
};
|
|
109
|
+
responseType = (_a = context.responseType) !== null && _a !== void 0 ? _a : (0, ApiUtils_1.inferResponseType)(response.headers.get("Content-Type"));
|
|
110
|
+
_b.label = 1;
|
|
111
|
+
case 1:
|
|
112
|
+
_b.trys.push([1, 8, , 9]);
|
|
113
|
+
if (!(responseType === "arraybuffer")) return [3 /*break*/, 3];
|
|
114
|
+
return [4 /*yield*/, response.arrayBuffer()];
|
|
115
|
+
case 2:
|
|
116
|
+
data = _b.sent();
|
|
117
|
+
return [3 /*break*/, 7];
|
|
118
|
+
case 3:
|
|
119
|
+
if (!(responseType === "json")) return [3 /*break*/, 5];
|
|
120
|
+
return [4 /*yield*/, response.text()];
|
|
121
|
+
case 4:
|
|
122
|
+
text = _b.sent();
|
|
123
|
+
data = JSON.parse(text);
|
|
124
|
+
return [3 /*break*/, 7];
|
|
125
|
+
case 5: return [4 /*yield*/, response.text()];
|
|
126
|
+
case 6:
|
|
127
|
+
data = _b.sent();
|
|
128
|
+
_b.label = 7;
|
|
129
|
+
case 7: return [3 /*break*/, 9];
|
|
130
|
+
case 8:
|
|
131
|
+
error_1 = _b.sent();
|
|
132
|
+
throw (0, RequestError_1.convertToRequestError)({
|
|
133
|
+
error: Object.assign(new Error("[api-def] Failed to parse response as '".concat(responseType, "'").concat(text ? ", got: ".concat(text) : "")), {
|
|
134
|
+
cause: error_1,
|
|
135
|
+
}),
|
|
136
|
+
code: RequestError_1.RequestErrorCode.REQUEST_MISMATCH_RESPONSE_TYPE,
|
|
137
|
+
context: context,
|
|
138
|
+
response: convertedResponse,
|
|
139
|
+
});
|
|
140
|
+
case 9:
|
|
141
|
+
convertedResponse.data = data;
|
|
142
|
+
return [2 /*return*/, convertedResponse];
|
|
143
|
+
}
|
|
144
|
+
});
|
|
145
|
+
});
|
|
146
|
+
};
|
|
147
|
+
FetchRequestBackend.prototype.makeRequest = function (context) {
|
|
148
|
+
if (!this.fetch) {
|
|
149
|
+
throw new Error("[api-def] No fetch impl was provided to FetchRequestBackend");
|
|
150
|
+
}
|
|
151
|
+
var computedConfig = context.computedConfig;
|
|
152
|
+
// abort controller is a newer feature than fetch
|
|
153
|
+
var abortController = AbortController && new AbortController();
|
|
154
|
+
var abortSignal = abortController ? abortController.signal : undefined;
|
|
155
|
+
var softAbort = false;
|
|
156
|
+
var responded = false;
|
|
157
|
+
var body = context.getParsedBody();
|
|
158
|
+
var bodyJsonify = body !== null && typeof body === "object";
|
|
159
|
+
var headers = Utils.assign({
|
|
160
|
+
// logic from axios
|
|
161
|
+
"Content-Type": bodyJsonify ? "application/json;charset=utf-8" : "application/x-www-form-urlencoded",
|
|
162
|
+
}, computedConfig.headers);
|
|
163
|
+
var parsedHeaders = Object.keys(headers).reduce(function (parsedHeaders, key) {
|
|
164
|
+
var value = headers[key];
|
|
165
|
+
if (value !== undefined) {
|
|
166
|
+
parsedHeaders[key] = value;
|
|
167
|
+
}
|
|
168
|
+
return parsedHeaders;
|
|
169
|
+
}, {});
|
|
170
|
+
var url = context.requestUrl;
|
|
171
|
+
var promise = this.fetch(url.href, {
|
|
172
|
+
method: context.method.toUpperCase(),
|
|
173
|
+
body: bodyJsonify ? JSON.stringify(body) : body,
|
|
174
|
+
headers: parsedHeaders,
|
|
175
|
+
mode: "cors",
|
|
176
|
+
signal: abortSignal,
|
|
177
|
+
}).then(function (response) {
|
|
178
|
+
responded = true;
|
|
179
|
+
if (!response.ok) {
|
|
180
|
+
var error = new FetchError("Fetch failed");
|
|
181
|
+
error.response = response;
|
|
182
|
+
throw error;
|
|
183
|
+
}
|
|
184
|
+
if (softAbort) {
|
|
185
|
+
throw new Error("[api-def] Request was aborted");
|
|
186
|
+
}
|
|
187
|
+
return response;
|
|
188
|
+
});
|
|
189
|
+
return {
|
|
190
|
+
promise: promise,
|
|
191
|
+
canceler: abortSignal
|
|
192
|
+
? function () { return !responded && abortController.abort(); }
|
|
193
|
+
: function () {
|
|
194
|
+
softAbort = true;
|
|
195
|
+
},
|
|
196
|
+
};
|
|
197
|
+
};
|
|
198
|
+
FetchRequestBackend.prototype.getErrorInfo = function (error, response) {
|
|
199
|
+
return undefined;
|
|
200
|
+
};
|
|
201
|
+
return FetchRequestBackend;
|
|
202
|
+
}());
|
|
203
|
+
exports.default = FetchRequestBackend;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
export default class MockRequestBackend implements RequestBackend<ApiResponse> {
|
|
5
|
-
readonly id = "mock";
|
|
6
|
-
convertResponse<T>(context: RequestContext, response: ApiResponse, error?: boolean): Promise<ApiResponse<T>>;
|
|
7
|
-
extractResponseFromError(error: Error): Promise<ApiResponse | null | undefined>;
|
|
8
|
-
private runRequest;
|
|
9
|
-
makeRequest(context: RequestContext): RequestOperation<ApiResponse>;
|
|
10
|
-
getErrorInfo(error: Error, response: ApiResponse | undefined | null): RequestBackendErrorInfo | undefined;
|
|
11
|
-
}
|
|
1
|
+
import { ApiResponse } from "../ApiTypes";
|
|
2
|
+
import RequestContext from "../RequestContext";
|
|
3
|
+
import RequestBackend, { RequestBackendErrorInfo, RequestOperation } from "./RequestBackend";
|
|
4
|
+
export default class MockRequestBackend implements RequestBackend<ApiResponse> {
|
|
5
|
+
readonly id = "mock";
|
|
6
|
+
convertResponse<T>(context: RequestContext, response: ApiResponse, error?: boolean): Promise<ApiResponse<T>>;
|
|
7
|
+
extractResponseFromError(error: Error): Promise<ApiResponse | null | undefined>;
|
|
8
|
+
private runRequest;
|
|
9
|
+
makeRequest(context: RequestContext): RequestOperation<ApiResponse>;
|
|
10
|
+
getErrorInfo(error: Error, response: ApiResponse | undefined | null): RequestBackendErrorInfo | undefined;
|
|
11
|
+
}
|