@nestia/fetcher 2.1.8 → 2.2.0-dev.20231008
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.
|
@@ -120,9 +120,9 @@ var FetcherBase;
|
|
|
120
120
|
return function (props) {
|
|
121
121
|
return function (connection, route, input, stringify) { return __awaiter(_this, void 0, void 0, function () {
|
|
122
122
|
var headers, init, path, url, response, result, _a, type, text, _b, _c, _d;
|
|
123
|
-
var _e, _f, _g, _h, _j;
|
|
124
|
-
return __generator(this, function (
|
|
125
|
-
switch (
|
|
123
|
+
var _e, _f, _g, _h, _j, _k;
|
|
124
|
+
return __generator(this, function (_l) {
|
|
125
|
+
switch (_l.label) {
|
|
126
126
|
case 0:
|
|
127
127
|
headers = __assign({}, ((_e = connection.headers) !== null && _e !== void 0 ? _e : {}));
|
|
128
128
|
if (input !== undefined) {
|
|
@@ -169,18 +169,20 @@ var FetcherBase;
|
|
|
169
169
|
if (input !== undefined)
|
|
170
170
|
init.body = props.encode(
|
|
171
171
|
// BODY TRANSFORM
|
|
172
|
-
((_h = route.request) === null || _h === void 0 ? void 0 : _h.type)
|
|
173
|
-
? (
|
|
174
|
-
:
|
|
172
|
+
((_h = route.request) === null || _h === void 0 ? void 0 : _h.type) === "application/x-www-form-urlencoded"
|
|
173
|
+
? request_query_body(input)
|
|
174
|
+
: ((_j = route.request) === null || _j === void 0 ? void 0 : _j.type) !== "text/plain"
|
|
175
|
+
? (stringify !== null && stringify !== void 0 ? stringify : JSON.stringify)(input)
|
|
176
|
+
: input, headers);
|
|
175
177
|
path = connection.host[connection.host.length - 1] !== "/" &&
|
|
176
178
|
route.path[0] !== "/"
|
|
177
179
|
? "/".concat(route.path)
|
|
178
180
|
: route.path;
|
|
179
181
|
url = new URL("".concat(connection.host).concat(path));
|
|
180
182
|
return [4 /*yield*/, polyfill.get()];
|
|
181
|
-
case 1: return [4 /*yield*/, (
|
|
183
|
+
case 1: return [4 /*yield*/, (_l.sent())(url.href, init)];
|
|
182
184
|
case 2:
|
|
183
|
-
response =
|
|
185
|
+
response = _l.sent();
|
|
184
186
|
result = {
|
|
185
187
|
success: response.status === 200 ||
|
|
186
188
|
response.status === 201 ||
|
|
@@ -195,7 +197,7 @@ var FetcherBase;
|
|
|
195
197
|
return [4 /*yield*/, response.text()];
|
|
196
198
|
case 3:
|
|
197
199
|
// WHEN FAILED
|
|
198
|
-
_a.data =
|
|
200
|
+
_a.data = _l.sent();
|
|
199
201
|
type = response.headers.get("content-type");
|
|
200
202
|
if (method !== "fetch" &&
|
|
201
203
|
type &&
|
|
@@ -203,17 +205,17 @@ var FetcherBase;
|
|
|
203
205
|
try {
|
|
204
206
|
result.data = JSON.parse(result.data);
|
|
205
207
|
}
|
|
206
|
-
catch (
|
|
208
|
+
catch (_m) { }
|
|
207
209
|
return [3 /*break*/, 9];
|
|
208
210
|
case 4:
|
|
209
211
|
if (!(route.method === "HEAD")) return [3 /*break*/, 5];
|
|
210
212
|
result.data = undefined;
|
|
211
213
|
return [3 /*break*/, 9];
|
|
212
214
|
case 5:
|
|
213
|
-
if (!(((
|
|
215
|
+
if (!(((_k = route.response) === null || _k === void 0 ? void 0 : _k.type) === "application/json")) return [3 /*break*/, 7];
|
|
214
216
|
return [4 /*yield*/, response.text()];
|
|
215
217
|
case 6:
|
|
216
|
-
text =
|
|
218
|
+
text = _l.sent();
|
|
217
219
|
result.data = text.length ? JSON.parse(text) : undefined;
|
|
218
220
|
return [3 /*break*/, 9];
|
|
219
221
|
case 7:
|
|
@@ -221,8 +223,8 @@ var FetcherBase;
|
|
|
221
223
|
_d = (_c = props).decode;
|
|
222
224
|
return [4 /*yield*/, response.text()];
|
|
223
225
|
case 8:
|
|
224
|
-
_b.data = _d.apply(_c, [
|
|
225
|
-
|
|
226
|
+
_b.data = _d.apply(_c, [_l.sent(), result.headers]);
|
|
227
|
+
_l.label = 9;
|
|
226
228
|
case 9: return [2 /*return*/, result];
|
|
227
229
|
}
|
|
228
230
|
});
|
|
@@ -261,6 +263,32 @@ var polyfill = new Singleton_1.Singleton(function () { return __awaiter(void 0,
|
|
|
261
263
|
}
|
|
262
264
|
});
|
|
263
265
|
}); });
|
|
266
|
+
var request_query_body = function (input) {
|
|
267
|
+
var e_3, _a;
|
|
268
|
+
var q = new URLSearchParams();
|
|
269
|
+
var _loop_1 = function (key, value) {
|
|
270
|
+
if (value === undefined)
|
|
271
|
+
return "continue";
|
|
272
|
+
else if (Array.isArray(value))
|
|
273
|
+
value.forEach(function (elem) { return q.append(key, String(elem)); });
|
|
274
|
+
else
|
|
275
|
+
q.set(key, String(value));
|
|
276
|
+
};
|
|
277
|
+
try {
|
|
278
|
+
for (var _b = __values(Object.entries(input)), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
279
|
+
var _d = __read(_c.value, 2), key = _d[0], value = _d[1];
|
|
280
|
+
_loop_1(key, value);
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
catch (e_3_1) { e_3 = { error: e_3_1 }; }
|
|
284
|
+
finally {
|
|
285
|
+
try {
|
|
286
|
+
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
287
|
+
}
|
|
288
|
+
finally { if (e_3) throw e_3.error; }
|
|
289
|
+
}
|
|
290
|
+
return q;
|
|
291
|
+
};
|
|
264
292
|
/**
|
|
265
293
|
* @internal
|
|
266
294
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FetcherBase.js","sourceRoot":"","sources":["../../src/internal/FetcherBase.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oDAA8B;AAI9B,yCAAwC;AACxC,0CAAyC;AAGzC,IAAiB,WAAW,
|
|
1
|
+
{"version":3,"file":"FetcherBase.js","sourceRoot":"","sources":["../../src/internal/FetcherBase.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oDAA8B;AAI9B,yCAAwC;AACxC,0CAAyC;AAGzC,IAAiB,WAAW,CAkK3B;AAlKD,WAAiB,WAAW;;IAaX,iBAAK,GACd,UAAC,KAAa;QACd,OAAA,UACI,UAAuB,EACvB,KAEC,EACD,KAAa,EACb,SAAoC;;;;4BAErB,qBAAM,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAC3C,UAAU,EACV,KAAK,EACL,KAAK,EACL,SAAS,CACZ,EAAA;;wBALK,MAAM,GAAG,SAKd;wBACD,IAAK,MAAc,CAAC,OAAO,KAAK,KAAK;4BACjC,MAAM,IAAI,qBAAS,CACf,KAAK,CAAC,MAAM,EACZ,KAAK,CAAC,IAAI,EACV,MAAM,CAAC,MAAuB,EAC9B,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,IAAc,CACxB,CAAC;wBACN,sBAAO,MAAM,CAAC,IAAyB,EAAC;;;aAC3C;IAvBD,CAuBC,CAAC;IAEO,qBAAS,GAClB,UAAC,KAAa;QACd,OAAA,UACI,UAAuB,EACvB,KAEC,EACD,KAAa,EACb,SAAoC;YAEpC,sBAAA,UAAU,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,EAAA;iBAAA;IARvE,CAQuE,CAAC;IAE5E;;OAEG;IACH,IAAM,UAAU,GACZ,UAAC,MAAc;QACf,OAAA,UAAC,KAAa;YACd,OAAA,UACI,UAAuB,EACvB,KAEC,EACD,KAAa,EACb,SAAoC;;;;;;4BAM9B,OAAO,gBAEF,CAAC,MAAA,UAAU,CAAC,OAAO,mCAAI,EAAE,CAAC,CAChC,CAAC;4BACN,IAAI,KAAK,KAAK,SAAS,EAAE;gCACrB,IAAI,CAAA,MAAA,KAAK,CAAC,OAAO,0CAAE,IAAI,MAAK,SAAS;oCACjC,MAAM,IAAI,KAAK,CACX,mBAAY,KAAK,CAAC,SAAS,gDAA6C,CAC3E,CAAC;gCACN,OAAO,CAAC,cAAc,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;6BAChD;4BAGK,IAAI,yBACH,CAAC,MAAA,UAAU,CAAC,OAAO,mCAAI,EAAE,CAAC,KAC7B,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,OAAO,EAAE,CAAC;;oCACN,IAAM,MAAM,GAAuB,EAAE,CAAC;;wCACtC,KAA2B,IAAA,KAAA,SAAA,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA,gBAAA;4CAAvC,IAAA,KAAA,mBAAY,EAAX,GAAG,QAAA,EAAE,KAAK,QAAA;4CAClB,IAAI,KAAK,KAAK,SAAS;gDAAE,SAAS;iDAC7B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;;oDACzB,KAAgB,IAAA,yBAAA,SAAA,KAAK,CAAA,CAAA,4BAAA;wDAAhB,IAAM,CAAC,kBAAA;wDACR,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;qDAAA;;;;;;;;;;gDACjC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;yCAAA;;;;;;;;;oCAC3C,OAAO,MAAM,CAAC;gCAClB,CAAC,CAAC,EAAE,GACP,CAAC;4BAEF,sBAAsB;4BACtB,IAAI,KAAK,KAAK,SAAS;gCACnB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM;gCACpB,iBAAiB;gCACjB,CAAA,MAAA,KAAK,CAAC,OAAO,0CAAE,IAAI,MAAK,mCAAmC;oCACvD,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC;oCAC3B,CAAC,CAAC,CAAA,MAAA,KAAK,CAAC,OAAO,0CAAE,IAAI,MAAK,YAAY;wCACtC,CAAC,CAAC,CAAC,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC;wCACtC,CAAC,CAAC,KAAK,EACX,OAAO,CACV,CAAC;4BAMA,IAAI,GACN,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,GAAG;gCACnD,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG;gCACjB,CAAC,CAAC,WAAI,KAAK,CAAC,IAAI,CAAE;gCAClB,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;4BACf,GAAG,GAAQ,IAAI,GAAG,CAAC,UAAG,UAAU,CAAC,IAAI,SAAG,IAAI,CAAE,CAAC,CAAC;4BAIlD,qBAAM,QAAQ,CAAC,GAAG,EAAE,EAAA;gCADG,qBAAM,CAC7B,SAAoB,CACvB,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,EAAA;;4BAFX,QAAQ,GAAa,SAEV;4BAGX,MAAM,GAA2B;gCACnC,OAAO,EACH,QAAQ,CAAC,MAAM,KAAK,GAAG;oCACvB,QAAQ,CAAC,MAAM,KAAK,GAAG;oCACvB,QAAQ,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM;gCACnC,MAAM,EAAE,QAAQ,CAAC,MAAM;gCACvB,OAAO,EAAE,0BAA0B,CAAC,QAAQ,CAAC,OAAO,CAAC;gCACrD,IAAI,EAAE,SAAU;6BACZ,CAAC;iCACL,CAAC,MAAc,CAAC,OAAO,KAAK,KAAK,CAAA,EAAjC,wBAAiC;4BACjC,cAAc;4BACd,KAAA,MAAM,CAAA;4BAAQ,qBAAM,QAAQ,CAAC,IAAI,EAAE,EAAA;;4BADnC,cAAc;4BACd,GAAO,IAAI,GAAG,SAAqB,CAAC;4BAC9B,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;4BAClD,IACI,MAAM,KAAK,OAAO;gCAClB,IAAI;gCACJ,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;gCAEvC,IAAI;oCACA,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;iCACzC;gCAAC,WAAM,GAAE;;;iCAGV,CAAA,KAAK,CAAC,MAAM,KAAK,MAAM,CAAA,EAAvB,wBAAuB;4BAAE,MAAM,CAAC,IAAI,GAAG,SAAU,CAAC;;;iCAC7C,CAAA,CAAA,MAAA,KAAK,CAAC,QAAQ,0CAAE,IAAI,MAAK,kBAAkB,CAAA,EAA3C,wBAA2C;4BAC3B,qBAAM,QAAQ,CAAC,IAAI,EAAE,EAAA;;4BAApC,IAAI,GAAW,SAAqB;4BAC1C,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;;;4BAEzD,KAAA,MAAM,CAAA;4BAAQ,KAAA,CAAA,KAAA,KAAK,CAAA,CAAC,MAAM,CAAA;4BACtB,qBAAM,QAAQ,CAAC,IAAI,EAAE,EAAA;;4BADzB,GAAO,IAAI,GAAG,cACV,SAAqB,EACrB,MAAM,CAAC,OAAO,EACjB,CAAC;;gCAEV,sBAAO,MAAM,EAAC;;;iBACjB;QAvGD,CAuGC;IAxGD,CAwGC,CAAC;AACV,CAAC,EAlKgB,WAAW,2BAAX,WAAW,QAkK3B;AAED;;GAEG;AACH,IAAM,QAAQ,GAAG,IAAI,qBAAS,CAAC;;;;;;qBAEvB,CAAA,OAAO,MAAM,KAAK,QAAQ;oBAC1B,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ;oBAClC,OAAO,MAAM,CAAC,OAAO,CAAC,QAAQ,KAAK,QAAQ;oBAC3C,OAAO,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,SAAS,CAAA,EAHjD,wBAGiD;qBAE7C,CAAA,MAAM,CAAC,KAAK,KAAK,SAAS,CAAA,EAA1B,wBAA0B;4BAC1B,MAAM,CAAC,KAAK;;;;gBAAZ,KAAA,MAAM,CAAA;gBAAa,qBAAM,IAAA,iBAAO,EAAC,YAAY,CAAC,EAAA;;yBAAvC,KAAK,GAAM,CAAC,SAA2B,CAAS,CAAC,OAAO;;;gBAA/D,GAAgE;;oBACpE,sBAAQ,MAAc,CAAC,KAAK,EAAC;oBAEjC,sBAAO,MAAM,CAAC,KAAK,EAAC;;;KACvB,CAAC,CAAC;AAEH,IAAM,kBAAkB,GAAG,UAAC,KAAU;;IAClC,IAAM,CAAC,GAAoB,IAAI,eAAe,EAAE,CAAC;4BACrC,GAAG,EAAE,KAAK;QAClB,IAAI,KAAK,KAAK,SAAS;;aAClB,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YACzB,KAAK,CAAC,OAAO,CAAC,UAAC,IAAI,IAAK,OAAA,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,EAA3B,CAA2B,CAAC,CAAC;;YACpD,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;;;QAJnC,KAA2B,IAAA,KAAA,SAAA,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA,gBAAA;YAArC,IAAA,KAAA,mBAAY,EAAX,GAAG,QAAA,EAAE,KAAK,QAAA;oBAAV,GAAG,EAAE,KAAK;SAIa;;;;;;;;;IACnC,OAAO,CAAC,CAAC;AACb,CAAC,CAAC;AAEF;;GAEG;AACH,IAAM,0BAA0B,GAAG,UAC/B,OAAgB;IAEhB,IAAM,MAAM,GAAsC,EAAE,CAAC;IACrD,OAAO,CAAC,OAAO,CAAC,UAAC,KAAK,EAAE,GAAG;;;QACvB,IAAI,GAAG,KAAK,YAAY,EAAE;YACtB,MAAA,MAAM,CAAC,GAAG,qCAAV,MAAM,CAAC,GAAG,IAAM,EAAE,EAAC;YACnB,CAAA,KAAC,MAAM,CAAC,GAAG,CAAc,CAAA,CAAC,IAAI,oCACvB,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,UAAC,GAAG,IAAK,OAAA,GAAG,CAAC,IAAI,EAAE,EAAV,CAAU,CAAC,WAC9C;SACL;;YAAM,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAC/B,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAClB,CAAC,CAAC"}
|
|
@@ -22,7 +22,7 @@ export interface IFetchRoute<Method extends "HEAD" | "GET" | "POST" | "PUT" | "P
|
|
|
22
22
|
}
|
|
23
23
|
export declare namespace IRoute {
|
|
24
24
|
interface IBody {
|
|
25
|
-
type: "application/json" | "text/plain";
|
|
25
|
+
type: "application/json" | "application/x-www-form-urlencoded" | "text/plain";
|
|
26
26
|
encrypted?: boolean;
|
|
27
27
|
}
|
|
28
28
|
}
|
package/package.json
CHANGED
|
@@ -108,7 +108,9 @@ export namespace FetcherBase {
|
|
|
108
108
|
if (input !== undefined)
|
|
109
109
|
init.body = props.encode(
|
|
110
110
|
// BODY TRANSFORM
|
|
111
|
-
route.request?.type
|
|
111
|
+
route.request?.type === "application/x-www-form-urlencoded"
|
|
112
|
+
? request_query_body(input)
|
|
113
|
+
: route.request?.type !== "text/plain"
|
|
112
114
|
? (stringify ?? JSON.stringify)(input)
|
|
113
115
|
: input,
|
|
114
116
|
headers,
|
|
@@ -185,6 +187,16 @@ const polyfill = new Singleton(async (): Promise<typeof fetch> => {
|
|
|
185
187
|
return window.fetch;
|
|
186
188
|
});
|
|
187
189
|
|
|
190
|
+
const request_query_body = (input: any): URLSearchParams => {
|
|
191
|
+
const q: URLSearchParams = new URLSearchParams();
|
|
192
|
+
for (const [key, value] of Object.entries(input))
|
|
193
|
+
if (value === undefined) continue;
|
|
194
|
+
else if (Array.isArray(value))
|
|
195
|
+
value.forEach((elem) => q.append(key, String(elem)));
|
|
196
|
+
else q.set(key, String(value));
|
|
197
|
+
return q;
|
|
198
|
+
};
|
|
199
|
+
|
|
188
200
|
/**
|
|
189
201
|
* @internal
|
|
190
202
|
*/
|
|
@@ -30,7 +30,10 @@ export interface IFetchRoute<
|
|
|
30
30
|
}
|
|
31
31
|
export namespace IRoute {
|
|
32
32
|
export interface IBody {
|
|
33
|
-
type:
|
|
33
|
+
type:
|
|
34
|
+
| "application/json"
|
|
35
|
+
| "application/x-www-form-urlencoded"
|
|
36
|
+
| "text/plain";
|
|
34
37
|
encrypted?: boolean;
|
|
35
38
|
}
|
|
36
39
|
}
|