@modern-js/create-request 2.5.1-alpha.2 → 2.5.1-alpha.4
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/dist/cjs/browser.js +110 -0
- package/dist/cjs/handleRes.js +47 -0
- package/dist/cjs/index.js +29 -0
- package/dist/cjs/node.js +112 -0
- package/dist/cjs/types.js +15 -0
- package/dist/esm/browser.js +264 -0
- package/dist/esm/handleRes.js +187 -0
- package/dist/esm/index.js +36 -0
- package/dist/esm/node.js +147 -0
- package/dist/esm/types.js +1 -0
- package/dist/esm-node/browser.js +80 -0
- package/dist/esm-node/handleRes.js +24 -0
- package/dist/esm-node/index.js +8 -0
- package/dist/esm-node/node.js +82 -0
- package/dist/esm-node/types.js +0 -0
- package/dist/js/modern/browser.js +87 -0
- package/dist/js/modern/handleRes.js +44 -0
- package/dist/js/modern/index.js +8 -0
- package/dist/js/modern/node.js +72 -0
- package/dist/js/modern/types.js +0 -0
- package/dist/js/node/browser.js +117 -0
- package/dist/js/node/handleRes.js +67 -0
- package/dist/js/node/index.js +29 -0
- package/dist/js/node/node.js +102 -0
- package/dist/js/node/types.js +15 -0
- package/dist/js/treeshaking/browser.js +243 -0
- package/dist/js/treeshaking/handleRes.js +187 -0
- package/dist/js/treeshaking/index.js +36 -0
- package/dist/js/treeshaking/node.js +126 -0
- package/dist/js/treeshaking/types.js +1 -0
- package/dist/types/browser.d.ts +3 -0
- package/dist/types/handleRes.d.ts +3 -0
- package/dist/types/index.d.ts +4 -0
- package/dist/types/node.d.ts +4 -0
- package/dist/types/types.d.ts +22 -0
- package/package.json +3 -1
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all)
|
|
9
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
+
};
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from))
|
|
14
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
+
}
|
|
17
|
+
return to;
|
|
18
|
+
};
|
|
19
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
20
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
21
|
+
mod
|
|
22
|
+
));
|
|
23
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
24
|
+
var browser_exports = {};
|
|
25
|
+
__export(browser_exports, {
|
|
26
|
+
configure: () => configure,
|
|
27
|
+
createRequest: () => createRequest
|
|
28
|
+
});
|
|
29
|
+
module.exports = __toCommonJS(browser_exports);
|
|
30
|
+
var import_path_to_regexp = require("path-to-regexp");
|
|
31
|
+
var import_query_string = __toESM(require("query-string"));
|
|
32
|
+
var import_handleRes = require("./handleRes");
|
|
33
|
+
let realRequest;
|
|
34
|
+
let realAllowedHeaders;
|
|
35
|
+
const originFetch = (...params) => fetch(...params).then(import_handleRes.handleRes);
|
|
36
|
+
const configure = (options) => {
|
|
37
|
+
const { request, interceptor, allowedHeaders } = options;
|
|
38
|
+
realRequest = request || originFetch;
|
|
39
|
+
if (interceptor && !request) {
|
|
40
|
+
realRequest = interceptor(fetch);
|
|
41
|
+
}
|
|
42
|
+
if (Array.isArray(allowedHeaders)) {
|
|
43
|
+
realAllowedHeaders = allowedHeaders;
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
const createRequest = (path, method, port, httpMethodDecider = "functionName", fetch2 = originFetch) => {
|
|
47
|
+
const getFinalPath = (0, import_path_to_regexp.compile)(path, { encode: encodeURIComponent });
|
|
48
|
+
const keys = [];
|
|
49
|
+
(0, import_path_to_regexp.pathToRegexp)(path, keys);
|
|
50
|
+
const sender = async (...args) => {
|
|
51
|
+
const fetcher = realRequest || originFetch;
|
|
52
|
+
let body;
|
|
53
|
+
let finalURL;
|
|
54
|
+
let headers;
|
|
55
|
+
if (httpMethodDecider === "functionName") {
|
|
56
|
+
const payload = typeof args[args.length - 1] === "object" ? args[args.length - 1] : {};
|
|
57
|
+
payload.params = payload.params || {};
|
|
58
|
+
const requestParams = args[0];
|
|
59
|
+
if (typeof requestParams === "object" && requestParams.params) {
|
|
60
|
+
const { params } = requestParams;
|
|
61
|
+
keys.forEach((key) => {
|
|
62
|
+
payload.params[key.name] = params[key.name];
|
|
63
|
+
});
|
|
64
|
+
} else {
|
|
65
|
+
keys.forEach((key, index) => {
|
|
66
|
+
payload.params[key.name] = args[index];
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
const finalPath = getFinalPath(payload.params);
|
|
70
|
+
finalURL = payload.query ? `${finalPath}?${import_query_string.default.stringify(payload.query)}` : finalPath;
|
|
71
|
+
headers = payload.headers || {};
|
|
72
|
+
body = payload.data && typeof payload.data === "object" ? JSON.stringify(payload.data) : payload.body;
|
|
73
|
+
if (payload.data) {
|
|
74
|
+
headers["Content-Type"] = "application/json";
|
|
75
|
+
body = typeof payload.data === "object" ? JSON.stringify(payload.data) : payload.body;
|
|
76
|
+
} else if (payload.body) {
|
|
77
|
+
headers["Content-Type"] = "text/plain";
|
|
78
|
+
body = payload.body;
|
|
79
|
+
} else if (payload.formData) {
|
|
80
|
+
body = payload.formData;
|
|
81
|
+
} else if (payload.formUrlencoded) {
|
|
82
|
+
headers["Content-Type"] = "application/x-www-form-urlencoded";
|
|
83
|
+
if (typeof payload.formUrlencoded === "object" && !(payload.formUrlencoded instanceof URLSearchParams)) {
|
|
84
|
+
body = import_query_string.default.stringify(payload.formUrlencoded);
|
|
85
|
+
} else {
|
|
86
|
+
body = payload.formUrlencoded;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
} else {
|
|
90
|
+
finalURL = path;
|
|
91
|
+
body = JSON.stringify({
|
|
92
|
+
args
|
|
93
|
+
});
|
|
94
|
+
headers = {
|
|
95
|
+
["Content-Type"]: "application/json"
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
return fetcher(finalURL, {
|
|
99
|
+
method,
|
|
100
|
+
body,
|
|
101
|
+
headers
|
|
102
|
+
});
|
|
103
|
+
};
|
|
104
|
+
return sender;
|
|
105
|
+
};
|
|
106
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
107
|
+
0 && (module.exports = {
|
|
108
|
+
configure,
|
|
109
|
+
createRequest
|
|
110
|
+
});
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
+
};
|
|
9
|
+
var __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
+
}
|
|
15
|
+
return to;
|
|
16
|
+
};
|
|
17
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
+
var handleRes_exports = {};
|
|
19
|
+
__export(handleRes_exports, {
|
|
20
|
+
handleRes: () => handleRes
|
|
21
|
+
});
|
|
22
|
+
module.exports = __toCommonJS(handleRes_exports);
|
|
23
|
+
const handleRes = async (res) => {
|
|
24
|
+
const contentType = res.headers.get("content-type");
|
|
25
|
+
if (!res.ok) {
|
|
26
|
+
const data = await res.json();
|
|
27
|
+
res.data = data;
|
|
28
|
+
throw res;
|
|
29
|
+
}
|
|
30
|
+
if ((contentType == null ? void 0 : contentType.includes("application/json")) || (contentType == null ? void 0 : contentType.includes("text/json"))) {
|
|
31
|
+
return res.json();
|
|
32
|
+
}
|
|
33
|
+
if ((contentType == null ? void 0 : contentType.includes("text/html")) || (contentType == null ? void 0 : contentType.includes("text/plain"))) {
|
|
34
|
+
return res.text();
|
|
35
|
+
}
|
|
36
|
+
if (((contentType == null ? void 0 : contentType.includes("application/x-www-form-urlencoded")) || (contentType == null ? void 0 : contentType.includes("multipart/form-data"))) && res instanceof Response) {
|
|
37
|
+
return res.formData();
|
|
38
|
+
}
|
|
39
|
+
if (contentType == null ? void 0 : contentType.includes("application/octet-stream")) {
|
|
40
|
+
return res.arrayBuffer();
|
|
41
|
+
}
|
|
42
|
+
return res.text();
|
|
43
|
+
};
|
|
44
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
45
|
+
0 && (module.exports = {
|
|
46
|
+
handleRes
|
|
47
|
+
});
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
+
};
|
|
9
|
+
var __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
+
}
|
|
15
|
+
return to;
|
|
16
|
+
};
|
|
17
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
+
var src_exports = {};
|
|
19
|
+
__export(src_exports, {
|
|
20
|
+
default: () => src_default
|
|
21
|
+
});
|
|
22
|
+
module.exports = __toCommonJS(src_exports);
|
|
23
|
+
var import_utils = require("@modern-js/utils");
|
|
24
|
+
var import_browser = require("./browser");
|
|
25
|
+
var import_node = require("./node");
|
|
26
|
+
const createRequest = (...args) => (0, import_utils.isBrowser)() ? (0, import_browser.createRequest)(...args) : (0, import_node.createRequest)(...args);
|
|
27
|
+
var src_default = createRequest;
|
|
28
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
29
|
+
0 && (module.exports = {});
|
package/dist/cjs/node.js
ADDED
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all)
|
|
9
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
+
};
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from))
|
|
14
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
+
}
|
|
17
|
+
return to;
|
|
18
|
+
};
|
|
19
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
20
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
21
|
+
mod
|
|
22
|
+
));
|
|
23
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
24
|
+
var node_exports = {};
|
|
25
|
+
__export(node_exports, {
|
|
26
|
+
configure: () => configure,
|
|
27
|
+
createRequest: () => createRequest
|
|
28
|
+
});
|
|
29
|
+
module.exports = __toCommonJS(node_exports);
|
|
30
|
+
var import_node_fetch = __toESM(require("node-fetch"));
|
|
31
|
+
var import_path_to_regexp = require("path-to-regexp");
|
|
32
|
+
var import_ssr = require("@modern-js/utils/ssr");
|
|
33
|
+
var import_query_string = __toESM(require("query-string"));
|
|
34
|
+
var import_handleRes = require("./handleRes");
|
|
35
|
+
let realRequest;
|
|
36
|
+
let realAllowedHeaders = [];
|
|
37
|
+
const originFetch = (...params) => (0, import_node_fetch.default)(...params).then(import_handleRes.handleRes);
|
|
38
|
+
const configure = (options) => {
|
|
39
|
+
const { request, interceptor, allowedHeaders } = options;
|
|
40
|
+
realRequest = request || originFetch;
|
|
41
|
+
if (interceptor && !request) {
|
|
42
|
+
realRequest = interceptor(import_node_fetch.default);
|
|
43
|
+
}
|
|
44
|
+
if (Array.isArray(allowedHeaders)) {
|
|
45
|
+
realAllowedHeaders = allowedHeaders;
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
const createRequest = (path, method, port, httpMethodDecider = "functionName", fetch = import_node_fetch.default) => {
|
|
49
|
+
const getFinalPath = (0, import_path_to_regexp.compile)(path, { encode: encodeURIComponent });
|
|
50
|
+
const keys = [];
|
|
51
|
+
(0, import_path_to_regexp.pathToRegexp)(path, keys);
|
|
52
|
+
const sender = (...args) => {
|
|
53
|
+
const webRequestHeaders = (0, import_ssr.useHeaders)();
|
|
54
|
+
let body;
|
|
55
|
+
let headers;
|
|
56
|
+
let url;
|
|
57
|
+
if (httpMethodDecider === "functionName") {
|
|
58
|
+
const payload = typeof args[args.length - 1] === "object" ? args[args.length - 1] : {};
|
|
59
|
+
payload.params = payload.params || {};
|
|
60
|
+
const requestParams = args[0];
|
|
61
|
+
if (typeof requestParams === "object" && requestParams.params) {
|
|
62
|
+
const { params } = requestParams;
|
|
63
|
+
keys.forEach((key) => {
|
|
64
|
+
payload.params[key.name] = params[key.name];
|
|
65
|
+
});
|
|
66
|
+
} else {
|
|
67
|
+
keys.forEach((key, index) => {
|
|
68
|
+
payload.params[key.name] = args[index];
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
const plainPath = getFinalPath(payload.params);
|
|
72
|
+
const finalPath = payload.query ? `${plainPath}?${import_query_string.default.stringify(payload.query)}` : plainPath;
|
|
73
|
+
headers = payload.headers || {};
|
|
74
|
+
for (const key of realAllowedHeaders) {
|
|
75
|
+
if (typeof webRequestHeaders[key] !== "undefined") {
|
|
76
|
+
headers[key] = webRequestHeaders[key];
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
if (payload.data) {
|
|
80
|
+
headers["Content-Type"] = "application/json";
|
|
81
|
+
body = typeof payload.data === "object" ? JSON.stringify(payload.data) : payload.body;
|
|
82
|
+
} else if (payload.body) {
|
|
83
|
+
headers["Content-Type"] = "text/plain";
|
|
84
|
+
body = payload.body;
|
|
85
|
+
} else if (payload.formData) {
|
|
86
|
+
body = payload.formData;
|
|
87
|
+
} else if (payload.formUrlencoded) {
|
|
88
|
+
headers["Content-Type"] = "application/x-www-form-urlencoded";
|
|
89
|
+
if (typeof payload.formUrlencoded === "object") {
|
|
90
|
+
body = import_query_string.default.stringify(payload.formUrlencoded);
|
|
91
|
+
} else {
|
|
92
|
+
body = payload.formUrlencoded;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
url = `http://localhost:${port}${finalPath}`;
|
|
96
|
+
} else {
|
|
97
|
+
url = path;
|
|
98
|
+
body = args;
|
|
99
|
+
headers = {
|
|
100
|
+
["Content-Type"]: "application/json"
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
const fetcher = realRequest || originFetch;
|
|
104
|
+
return fetcher(url, { method, body, headers });
|
|
105
|
+
};
|
|
106
|
+
return sender;
|
|
107
|
+
};
|
|
108
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
109
|
+
0 && (module.exports = {
|
|
110
|
+
configure,
|
|
111
|
+
createRequest
|
|
112
|
+
});
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __copyProps = (to, from, except, desc) => {
|
|
6
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
7
|
+
for (let key of __getOwnPropNames(from))
|
|
8
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
9
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
10
|
+
}
|
|
11
|
+
return to;
|
|
12
|
+
};
|
|
13
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
14
|
+
var types_exports = {};
|
|
15
|
+
module.exports = __toCommonJS(types_exports);
|
|
@@ -0,0 +1,264 @@
|
|
|
1
|
+
function _arrayLikeToArray(arr, len) {
|
|
2
|
+
if (len == null || len > arr.length) len = arr.length;
|
|
3
|
+
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
4
|
+
return arr2;
|
|
5
|
+
}
|
|
6
|
+
function _arrayWithoutHoles(arr) {
|
|
7
|
+
if (Array.isArray(arr)) return _arrayLikeToArray(arr);
|
|
8
|
+
}
|
|
9
|
+
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
|
|
10
|
+
try {
|
|
11
|
+
var info = gen[key](arg);
|
|
12
|
+
var value = info.value;
|
|
13
|
+
} catch (error) {
|
|
14
|
+
reject(error);
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
if (info.done) {
|
|
18
|
+
resolve(value);
|
|
19
|
+
} else {
|
|
20
|
+
Promise.resolve(value).then(_next, _throw);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
function _asyncToGenerator(fn) {
|
|
24
|
+
return function() {
|
|
25
|
+
var self = this, args = arguments;
|
|
26
|
+
return new Promise(function(resolve, reject) {
|
|
27
|
+
var gen = fn.apply(self, args);
|
|
28
|
+
function _next(value) {
|
|
29
|
+
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
|
|
30
|
+
}
|
|
31
|
+
function _throw(err) {
|
|
32
|
+
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
|
|
33
|
+
}
|
|
34
|
+
_next(undefined);
|
|
35
|
+
});
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
function _defineProperty(obj, key, value) {
|
|
39
|
+
if (key in obj) {
|
|
40
|
+
Object.defineProperty(obj, key, {
|
|
41
|
+
value: value,
|
|
42
|
+
enumerable: true,
|
|
43
|
+
configurable: true,
|
|
44
|
+
writable: true
|
|
45
|
+
});
|
|
46
|
+
} else {
|
|
47
|
+
obj[key] = value;
|
|
48
|
+
}
|
|
49
|
+
return obj;
|
|
50
|
+
}
|
|
51
|
+
function _instanceof(left, right) {
|
|
52
|
+
if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
|
|
53
|
+
return !!right[Symbol.hasInstance](left);
|
|
54
|
+
} else {
|
|
55
|
+
return left instanceof right;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
function _iterableToArray(iter) {
|
|
59
|
+
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
|
|
60
|
+
}
|
|
61
|
+
function _nonIterableSpread() {
|
|
62
|
+
throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
63
|
+
}
|
|
64
|
+
function _toConsumableArray(arr) {
|
|
65
|
+
return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
|
|
66
|
+
}
|
|
67
|
+
function _unsupportedIterableToArray(o, minLen) {
|
|
68
|
+
if (!o) return;
|
|
69
|
+
if (typeof o === "string") return _arrayLikeToArray(o, minLen);
|
|
70
|
+
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
71
|
+
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
72
|
+
if (n === "Map" || n === "Set") return Array.from(n);
|
|
73
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
|
|
74
|
+
}
|
|
75
|
+
var __generator = this && this.__generator || function(thisArg, body) {
|
|
76
|
+
var f, y, t, g, _ = {
|
|
77
|
+
label: 0,
|
|
78
|
+
sent: function() {
|
|
79
|
+
if (t[0] & 1) throw t[1];
|
|
80
|
+
return t[1];
|
|
81
|
+
},
|
|
82
|
+
trys: [],
|
|
83
|
+
ops: []
|
|
84
|
+
};
|
|
85
|
+
return(g = {
|
|
86
|
+
next: verb(0),
|
|
87
|
+
"throw": verb(1),
|
|
88
|
+
"return": verb(2)
|
|
89
|
+
}, typeof Symbol === "function" && (g[Symbol.iterator] = function() {
|
|
90
|
+
return this;
|
|
91
|
+
}), g);
|
|
92
|
+
function verb(n) {
|
|
93
|
+
return function(v) {
|
|
94
|
+
return step([
|
|
95
|
+
n,
|
|
96
|
+
v
|
|
97
|
+
]);
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
function step(op) {
|
|
101
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
102
|
+
while(_)try {
|
|
103
|
+
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;
|
|
104
|
+
if (y = 0, t) op = [
|
|
105
|
+
op[0] & 2,
|
|
106
|
+
t.value
|
|
107
|
+
];
|
|
108
|
+
switch(op[0]){
|
|
109
|
+
case 0:
|
|
110
|
+
case 1:
|
|
111
|
+
t = op;
|
|
112
|
+
break;
|
|
113
|
+
case 4:
|
|
114
|
+
_.label++;
|
|
115
|
+
return {
|
|
116
|
+
value: op[1],
|
|
117
|
+
done: false
|
|
118
|
+
};
|
|
119
|
+
case 5:
|
|
120
|
+
_.label++;
|
|
121
|
+
y = op[1];
|
|
122
|
+
op = [
|
|
123
|
+
0
|
|
124
|
+
];
|
|
125
|
+
continue;
|
|
126
|
+
case 7:
|
|
127
|
+
op = _.ops.pop();
|
|
128
|
+
_.trys.pop();
|
|
129
|
+
continue;
|
|
130
|
+
default:
|
|
131
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
|
|
132
|
+
_ = 0;
|
|
133
|
+
continue;
|
|
134
|
+
}
|
|
135
|
+
if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
|
|
136
|
+
_.label = op[1];
|
|
137
|
+
break;
|
|
138
|
+
}
|
|
139
|
+
if (op[0] === 6 && _.label < t[1]) {
|
|
140
|
+
_.label = t[1];
|
|
141
|
+
t = op;
|
|
142
|
+
break;
|
|
143
|
+
}
|
|
144
|
+
if (t && _.label < t[2]) {
|
|
145
|
+
_.label = t[2];
|
|
146
|
+
_.ops.push(op);
|
|
147
|
+
break;
|
|
148
|
+
}
|
|
149
|
+
if (t[2]) _.ops.pop();
|
|
150
|
+
_.trys.pop();
|
|
151
|
+
continue;
|
|
152
|
+
}
|
|
153
|
+
op = body.call(thisArg, _);
|
|
154
|
+
} catch (e) {
|
|
155
|
+
op = [
|
|
156
|
+
6,
|
|
157
|
+
e
|
|
158
|
+
];
|
|
159
|
+
y = 0;
|
|
160
|
+
} finally{
|
|
161
|
+
f = t = 0;
|
|
162
|
+
}
|
|
163
|
+
if (op[0] & 5) throw op[1];
|
|
164
|
+
return {
|
|
165
|
+
value: op[0] ? op[1] : void 0,
|
|
166
|
+
done: true
|
|
167
|
+
};
|
|
168
|
+
}
|
|
169
|
+
};
|
|
170
|
+
import { compile, pathToRegexp } from "path-to-regexp";
|
|
171
|
+
import qs from "query-string";
|
|
172
|
+
import { handleRes } from "./handleRes";
|
|
173
|
+
var realRequest;
|
|
174
|
+
var realAllowedHeaders;
|
|
175
|
+
var originFetch = function() {
|
|
176
|
+
for(var _len = arguments.length, params = new Array(_len), _key = 0; _key < _len; _key++){
|
|
177
|
+
params[_key] = arguments[_key];
|
|
178
|
+
}
|
|
179
|
+
return fetch.apply(void 0, _toConsumableArray(params)).then(handleRes);
|
|
180
|
+
};
|
|
181
|
+
var configure = function(options) {
|
|
182
|
+
var request = options.request, interceptor = options.interceptor, allowedHeaders = options.allowedHeaders;
|
|
183
|
+
realRequest = request || originFetch;
|
|
184
|
+
if (interceptor && !request) {
|
|
185
|
+
realRequest = interceptor(fetch);
|
|
186
|
+
}
|
|
187
|
+
if (Array.isArray(allowedHeaders)) {
|
|
188
|
+
realAllowedHeaders = allowedHeaders;
|
|
189
|
+
}
|
|
190
|
+
};
|
|
191
|
+
var createRequest = function(path, method, port) {
|
|
192
|
+
var httpMethodDecider = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : "functionName", fetch2 = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : originFetch;
|
|
193
|
+
var getFinalPath = compile(path, {
|
|
194
|
+
encode: encodeURIComponent
|
|
195
|
+
});
|
|
196
|
+
var keys = [];
|
|
197
|
+
pathToRegexp(path, keys);
|
|
198
|
+
var sender = function() {
|
|
199
|
+
var _ref = _asyncToGenerator(function() {
|
|
200
|
+
var _len, args, _key, fetcher, body, finalURL, headers, payload, requestParams, params, finalPath;
|
|
201
|
+
var _arguments = arguments;
|
|
202
|
+
return __generator(this, function(_state) {
|
|
203
|
+
for(_len = _arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){
|
|
204
|
+
args[_key] = _arguments[_key];
|
|
205
|
+
}
|
|
206
|
+
fetcher = realRequest || originFetch;
|
|
207
|
+
if (httpMethodDecider === "functionName") {
|
|
208
|
+
payload = typeof args[args.length - 1] === "object" ? args[args.length - 1] : {};
|
|
209
|
+
payload.params = payload.params || {};
|
|
210
|
+
requestParams = args[0];
|
|
211
|
+
if (typeof requestParams === "object" && requestParams.params) {
|
|
212
|
+
params = requestParams.params;
|
|
213
|
+
keys.forEach(function(key) {
|
|
214
|
+
payload.params[key.name] = params[key.name];
|
|
215
|
+
});
|
|
216
|
+
} else {
|
|
217
|
+
keys.forEach(function(key, index) {
|
|
218
|
+
payload.params[key.name] = args[index];
|
|
219
|
+
});
|
|
220
|
+
}
|
|
221
|
+
finalPath = getFinalPath(payload.params);
|
|
222
|
+
finalURL = payload.query ? "".concat(finalPath, "?").concat(qs.stringify(payload.query)) : finalPath;
|
|
223
|
+
headers = payload.headers || {};
|
|
224
|
+
body = payload.data && typeof payload.data === "object" ? JSON.stringify(payload.data) : payload.body;
|
|
225
|
+
if (payload.data) {
|
|
226
|
+
headers["Content-Type"] = "application/json";
|
|
227
|
+
body = typeof payload.data === "object" ? JSON.stringify(payload.data) : payload.body;
|
|
228
|
+
} else if (payload.body) {
|
|
229
|
+
headers["Content-Type"] = "text/plain";
|
|
230
|
+
body = payload.body;
|
|
231
|
+
} else if (payload.formData) {
|
|
232
|
+
body = payload.formData;
|
|
233
|
+
} else if (payload.formUrlencoded) {
|
|
234
|
+
headers["Content-Type"] = "application/x-www-form-urlencoded";
|
|
235
|
+
if (typeof payload.formUrlencoded === "object" && !_instanceof(payload.formUrlencoded, URLSearchParams)) {
|
|
236
|
+
body = qs.stringify(payload.formUrlencoded);
|
|
237
|
+
} else {
|
|
238
|
+
body = payload.formUrlencoded;
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
} else {
|
|
242
|
+
finalURL = path;
|
|
243
|
+
body = JSON.stringify({
|
|
244
|
+
args: args
|
|
245
|
+
});
|
|
246
|
+
headers = _defineProperty({}, "Content-Type", "application/json");
|
|
247
|
+
}
|
|
248
|
+
return [
|
|
249
|
+
2,
|
|
250
|
+
fetcher(finalURL, {
|
|
251
|
+
method: method,
|
|
252
|
+
body: body,
|
|
253
|
+
headers: headers
|
|
254
|
+
})
|
|
255
|
+
];
|
|
256
|
+
});
|
|
257
|
+
});
|
|
258
|
+
return function sender() {
|
|
259
|
+
return _ref.apply(this, arguments);
|
|
260
|
+
};
|
|
261
|
+
}();
|
|
262
|
+
return sender;
|
|
263
|
+
};
|
|
264
|
+
export { configure, createRequest };
|