api-def 0.6.0-alpha8 → 0.6.0-alpha9
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/CHANGELOG.md +1 -0
- package/cjs/ApiTypes.d.ts +2 -1
- package/cjs/ApiUtils.js +2 -1
- package/cjs/Requester.js +1 -0
- package/cjs/backend/AxiosRequestBackend.js +1 -0
- package/cjs/backend/FetchRequestBackend.js +9 -5
- package/esm/ApiTypes.d.ts +2 -1
- package/esm/ApiUtils.js +2 -1
- package/esm/Requester.js +1 -0
- package/esm/backend/AxiosRequestBackend.js +1 -0
- package/esm/backend/FetchRequestBackend.js +9 -5
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
package/cjs/ApiTypes.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ import { CacheSource, EventResultType, RequestEvent, RequestMethod, ResponseType
|
|
|
4
4
|
export declare type AcceptableStatus = number | [min: number, max: number];
|
|
5
5
|
export declare type Headers = Record<string, string | number | boolean | null | undefined>;
|
|
6
6
|
export declare type Params = string;
|
|
7
|
-
export declare type Query = Record<string,
|
|
7
|
+
export declare type Query = Record<string, any>;
|
|
8
8
|
export declare type Body = string | number | Record<string, any>;
|
|
9
9
|
export interface ApiResponse<T = any> {
|
|
10
10
|
status: number;
|
|
@@ -17,6 +17,7 @@ export interface BaseRequestConfig {
|
|
|
17
17
|
retry?: number | false;
|
|
18
18
|
headers?: Readonly<Headers>;
|
|
19
19
|
acceptableStatus?: AcceptableStatus[];
|
|
20
|
+
queryParser?: (query: any) => string;
|
|
20
21
|
}
|
|
21
22
|
export declare type RequestConfig<P extends Params | undefined = Params | undefined, Q extends Query | undefined = Query | undefined, B extends Body | undefined = Body | undefined> = (P extends undefined ? {
|
|
22
23
|
params?: never;
|
package/cjs/ApiUtils.js
CHANGED
|
@@ -23,7 +23,8 @@ var parseResponseDataToObject = function (response) {
|
|
|
23
23
|
response.data = JSON.parse(decodedData);
|
|
24
24
|
}
|
|
25
25
|
catch (e) {
|
|
26
|
-
|
|
26
|
+
// eslint-disable-next-line
|
|
27
|
+
console.warn("[api-def] Couldn't parse array buffer content to JSON response", e);
|
|
27
28
|
}
|
|
28
29
|
}
|
|
29
30
|
}
|
package/cjs/Requester.js
CHANGED
|
@@ -118,6 +118,7 @@ var makeRequest = function (context) { return __awaiter(void 0, void 0, void 0,
|
|
|
118
118
|
if (process.env.NODE_ENV === "development") {
|
|
119
119
|
if (Api.isRequestBackendDefault() && !defaultBackendMessageShown) {
|
|
120
120
|
defaultBackendMessageShown = true;
|
|
121
|
+
// eslint-disable-next-line
|
|
121
122
|
console.warn("[api-def] Using default fetch backend, you can use a different one with 'setRequestBackend()' (dev only message)");
|
|
122
123
|
}
|
|
123
124
|
}
|
|
@@ -158,10 +158,15 @@ var FetchRequestBackend = /** @class */ (function () {
|
|
|
158
158
|
}
|
|
159
159
|
var url = new URL(path, origin);
|
|
160
160
|
if (computedConfig.query) {
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
161
|
+
if (context.computedConfig.queryParser) {
|
|
162
|
+
url.search = context.computedConfig.queryParser(computedConfig.query);
|
|
163
|
+
}
|
|
164
|
+
else {
|
|
165
|
+
var queryKeys = Object.keys(computedConfig.query);
|
|
166
|
+
for (var i = 0; i < queryKeys.length; i++) {
|
|
167
|
+
var key = queryKeys[i];
|
|
168
|
+
url.searchParams.append(key, ((_a = computedConfig.query[key]) === null || _a === void 0 ? void 0 : _a.toString()) || "");
|
|
169
|
+
}
|
|
165
170
|
}
|
|
166
171
|
}
|
|
167
172
|
// abort controller is a newer feature than fetch
|
|
@@ -204,7 +209,6 @@ var FetchRequestBackend = /** @class */ (function () {
|
|
|
204
209
|
canceler: abortSignal
|
|
205
210
|
? function () { return !responded && abortController.abort(); }
|
|
206
211
|
: function () {
|
|
207
|
-
console.warn("Request aborted");
|
|
208
212
|
softAbort = true;
|
|
209
213
|
},
|
|
210
214
|
};
|
package/esm/ApiTypes.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ import { CacheSource, EventResultType, RequestEvent, RequestMethod, ResponseType
|
|
|
4
4
|
export declare type AcceptableStatus = number | [min: number, max: number];
|
|
5
5
|
export declare type Headers = Record<string, string | number | boolean | null | undefined>;
|
|
6
6
|
export declare type Params = string;
|
|
7
|
-
export declare type Query = Record<string,
|
|
7
|
+
export declare type Query = Record<string, any>;
|
|
8
8
|
export declare type Body = string | number | Record<string, any>;
|
|
9
9
|
export interface ApiResponse<T = any> {
|
|
10
10
|
status: number;
|
|
@@ -17,6 +17,7 @@ export interface BaseRequestConfig {
|
|
|
17
17
|
retry?: number | false;
|
|
18
18
|
headers?: Readonly<Headers>;
|
|
19
19
|
acceptableStatus?: AcceptableStatus[];
|
|
20
|
+
queryParser?: (query: any) => string;
|
|
20
21
|
}
|
|
21
22
|
export declare type RequestConfig<P extends Params | undefined = Params | undefined, Q extends Query | undefined = Query | undefined, B extends Body | undefined = Body | undefined> = (P extends undefined ? {
|
|
22
23
|
params?: never;
|
package/esm/ApiUtils.js
CHANGED
|
@@ -18,7 +18,8 @@ export var parseResponseDataToObject = function (response) {
|
|
|
18
18
|
response.data = JSON.parse(decodedData);
|
|
19
19
|
}
|
|
20
20
|
catch (e) {
|
|
21
|
-
|
|
21
|
+
// eslint-disable-next-line
|
|
22
|
+
console.warn("[api-def] Couldn't parse array buffer content to JSON response", e);
|
|
22
23
|
}
|
|
23
24
|
}
|
|
24
25
|
}
|
package/esm/Requester.js
CHANGED
|
@@ -114,6 +114,7 @@ var makeRequest = function (context) { return __awaiter(void 0, void 0, void 0,
|
|
|
114
114
|
if (process.env.NODE_ENV === "development") {
|
|
115
115
|
if (Api.isRequestBackendDefault() && !defaultBackendMessageShown) {
|
|
116
116
|
defaultBackendMessageShown = true;
|
|
117
|
+
// eslint-disable-next-line
|
|
117
118
|
console.warn("[api-def] Using default fetch backend, you can use a different one with 'setRequestBackend()' (dev only message)");
|
|
118
119
|
}
|
|
119
120
|
}
|
|
@@ -156,10 +156,15 @@ var FetchRequestBackend = /** @class */ (function () {
|
|
|
156
156
|
}
|
|
157
157
|
var url = new URL(path, origin);
|
|
158
158
|
if (computedConfig.query) {
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
159
|
+
if (context.computedConfig.queryParser) {
|
|
160
|
+
url.search = context.computedConfig.queryParser(computedConfig.query);
|
|
161
|
+
}
|
|
162
|
+
else {
|
|
163
|
+
var queryKeys = Object.keys(computedConfig.query);
|
|
164
|
+
for (var i = 0; i < queryKeys.length; i++) {
|
|
165
|
+
var key = queryKeys[i];
|
|
166
|
+
url.searchParams.append(key, ((_a = computedConfig.query[key]) === null || _a === void 0 ? void 0 : _a.toString()) || "");
|
|
167
|
+
}
|
|
163
168
|
}
|
|
164
169
|
}
|
|
165
170
|
// abort controller is a newer feature than fetch
|
|
@@ -202,7 +207,6 @@ var FetchRequestBackend = /** @class */ (function () {
|
|
|
202
207
|
canceler: abortSignal
|
|
203
208
|
? function () { return !responded && abortController.abort(); }
|
|
204
209
|
: function () {
|
|
205
|
-
console.warn("Request aborted");
|
|
206
210
|
softAbort = true;
|
|
207
211
|
},
|
|
208
212
|
};
|