@modern-js/create-request 2.69.5 → 3.0.0-alpha.0
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 +128 -135
- package/dist/cjs/handleRes.js +44 -46
- package/dist/cjs/node.js +139 -153
- package/dist/cjs/qs.js +36 -27
- package/dist/cjs/types.js +17 -15
- package/dist/cjs/utiles.js +45 -46
- package/dist/esm/browser.mjs +99 -0
- package/dist/esm/handleRes.mjs +15 -0
- package/dist/esm/node.mjs +99 -0
- package/dist/esm/qs.mjs +2 -0
- package/dist/esm/utiles.mjs +15 -0
- package/dist/esm-node/browser.mjs +99 -0
- package/dist/esm-node/handleRes.mjs +15 -0
- package/dist/esm-node/node.mjs +99 -0
- package/dist/esm-node/qs.mjs +2 -0
- package/dist/esm-node/utiles.mjs +15 -0
- package/package.json +37 -21
- package/dist/esm/browser.js +0 -145
- package/dist/esm/handleRes.js +0 -68
- package/dist/esm/node.js +0 -158
- package/dist/esm/qs.js +0 -5
- package/dist/esm/utiles.js +0 -46
- package/dist/esm-node/browser.js +0 -120
- package/dist/esm-node/handleRes.js +0 -27
- package/dist/esm-node/node.js +0 -127
- package/dist/esm-node/qs.js +0 -5
- package/dist/esm-node/utiles.js +0 -26
- /package/dist/esm/{types.js → types.mjs} +0 -0
- /package/dist/esm-node/{types.js → types.mjs} +0 -0
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { storage } from "@modern-js/runtime-utils/node";
|
|
2
|
+
import node_fetch from "node-fetch";
|
|
3
|
+
import { compile, pathToRegexp } from "path-to-regexp";
|
|
4
|
+
import { stringify } from "qs";
|
|
5
|
+
import { handleRes } from "./handleRes";
|
|
6
|
+
import { getUploadPayload } from "./utiles";
|
|
7
|
+
const realRequest = new Map();
|
|
8
|
+
const realAllowedHeaders = new Map();
|
|
9
|
+
const domainMap = new Map();
|
|
10
|
+
const originFetch = (...params)=>{
|
|
11
|
+
const [, init] = params;
|
|
12
|
+
if (init?.method?.toLowerCase() === 'get') init.body = void 0;
|
|
13
|
+
return node_fetch(...params).then(handleRes);
|
|
14
|
+
};
|
|
15
|
+
const configure = (options)=>{
|
|
16
|
+
const { request, interceptor, allowedHeaders, setDomain, requestId = 'default' } = options;
|
|
17
|
+
let configuredRequest = request || originFetch;
|
|
18
|
+
if (interceptor && !request) configuredRequest = interceptor(node_fetch);
|
|
19
|
+
if (Array.isArray(allowedHeaders)) realAllowedHeaders.set(requestId, allowedHeaders);
|
|
20
|
+
if (setDomain) domainMap.set(requestId, setDomain({
|
|
21
|
+
target: 'server'
|
|
22
|
+
}));
|
|
23
|
+
realRequest.set(requestId, configuredRequest);
|
|
24
|
+
};
|
|
25
|
+
const createRequest = ({ path, method, port, httpMethodDecider = 'functionName', fetch = originFetch, requestId = 'default' })=>{
|
|
26
|
+
const getFinalPath = compile(path, {
|
|
27
|
+
encode: encodeURIComponent
|
|
28
|
+
});
|
|
29
|
+
const keys = [];
|
|
30
|
+
pathToRegexp(path, keys);
|
|
31
|
+
const sender = (...args)=>{
|
|
32
|
+
let webRequestHeaders = [];
|
|
33
|
+
if ('default' === requestId) webRequestHeaders = storage.useContext().headers;
|
|
34
|
+
let body;
|
|
35
|
+
let headers;
|
|
36
|
+
let url;
|
|
37
|
+
if ('inputParams' === httpMethodDecider) {
|
|
38
|
+
url = path;
|
|
39
|
+
body = args;
|
|
40
|
+
headers = {
|
|
41
|
+
'Content-Type': 'application/json'
|
|
42
|
+
};
|
|
43
|
+
} else {
|
|
44
|
+
const payload = 'object' == typeof args[args.length - 1] ? args[args.length - 1] : {};
|
|
45
|
+
payload.params = payload.params || {};
|
|
46
|
+
const requestParams = args[0];
|
|
47
|
+
if ('object' == typeof requestParams && requestParams.params) {
|
|
48
|
+
const { params } = requestParams;
|
|
49
|
+
keys.forEach((key)=>{
|
|
50
|
+
payload.params[key.name] = params[key.name];
|
|
51
|
+
});
|
|
52
|
+
} else keys.forEach((key, index)=>{
|
|
53
|
+
payload.params[key.name] = args[index];
|
|
54
|
+
});
|
|
55
|
+
const plainPath = getFinalPath(payload.params);
|
|
56
|
+
const finalPath = payload.query ? `${plainPath}?${stringify(payload.query)}` : plainPath;
|
|
57
|
+
headers = payload.headers || {};
|
|
58
|
+
const targetAllowedHeaders = realAllowedHeaders.get(requestId) || [];
|
|
59
|
+
for (const key of targetAllowedHeaders)if (void 0 !== webRequestHeaders[key]) headers[key] = webRequestHeaders[key];
|
|
60
|
+
if (payload.data) {
|
|
61
|
+
headers['Content-Type'] = 'application/json';
|
|
62
|
+
body = 'object' == typeof payload.data ? JSON.stringify(payload.data) : payload.body;
|
|
63
|
+
} else if (payload.body) {
|
|
64
|
+
headers['Content-Type'] = 'text/plain';
|
|
65
|
+
body = payload.body;
|
|
66
|
+
} else if (payload.formData) body = payload.formData;
|
|
67
|
+
else if (payload.formUrlencoded) {
|
|
68
|
+
headers['Content-Type'] = 'application/x-www-form-urlencoded';
|
|
69
|
+
body = 'object' == typeof payload.formUrlencoded ? stringify(payload.formUrlencoded) : payload.formUrlencoded;
|
|
70
|
+
}
|
|
71
|
+
const configDomain = domainMap.get(requestId);
|
|
72
|
+
url = `${configDomain || `http://127.0.0.1:${port}`}${finalPath}`;
|
|
73
|
+
}
|
|
74
|
+
const fetcher = realRequest.get(requestId) || originFetch;
|
|
75
|
+
if ('get' === method.toLowerCase()) body = void 0;
|
|
76
|
+
headers.accept = "application/json,*/*;q=0.8";
|
|
77
|
+
return fetcher(url, {
|
|
78
|
+
method,
|
|
79
|
+
body,
|
|
80
|
+
headers
|
|
81
|
+
});
|
|
82
|
+
};
|
|
83
|
+
return sender;
|
|
84
|
+
};
|
|
85
|
+
const createUploader = ({ path, requestId = 'default' })=>{
|
|
86
|
+
const sender = (...args)=>{
|
|
87
|
+
const fetcher = realRequest.get(requestId) || originFetch;
|
|
88
|
+
const { body, headers } = getUploadPayload(args);
|
|
89
|
+
const configDomain = domainMap.get(requestId);
|
|
90
|
+
const finalURL = `${configDomain || ''}${path}`;
|
|
91
|
+
return fetcher(finalURL, {
|
|
92
|
+
method: 'POST',
|
|
93
|
+
body,
|
|
94
|
+
headers
|
|
95
|
+
});
|
|
96
|
+
};
|
|
97
|
+
return sender;
|
|
98
|
+
};
|
|
99
|
+
export { configure, createRequest, createUploader };
|
package/dist/esm/qs.mjs
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
const getUploadPayload = (args)=>{
|
|
2
|
+
const payload = 'object' == typeof args[args.length - 1] ? args[args.length - 1] : {};
|
|
3
|
+
const files = payload.files;
|
|
4
|
+
if (!files) throw new Error('no files');
|
|
5
|
+
const formdata = new FormData();
|
|
6
|
+
for (const [key, value] of Object.entries(files))if (value instanceof FileList) for(let i = 0; i < value.length; i++)formdata.append(key, value[i]);
|
|
7
|
+
else formdata.append(key, value);
|
|
8
|
+
const body = formdata;
|
|
9
|
+
return {
|
|
10
|
+
body,
|
|
11
|
+
headers: payload.headers,
|
|
12
|
+
params: payload.params
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
export { getUploadPayload };
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { compile, pathToRegexp } from "path-to-regexp";
|
|
2
|
+
import { stringify } from "qs";
|
|
3
|
+
import { handleRes } from "./handleRes.mjs";
|
|
4
|
+
import { getUploadPayload } from "./utiles.mjs";
|
|
5
|
+
const realRequest = new Map();
|
|
6
|
+
const realAllowedHeaders = new Map();
|
|
7
|
+
const domainMap = new Map();
|
|
8
|
+
const originFetch = (...params)=>{
|
|
9
|
+
const [url, init] = params;
|
|
10
|
+
if (init?.method?.toLowerCase() === 'get') init.body = void 0;
|
|
11
|
+
return fetch(url, init).then(handleRes);
|
|
12
|
+
};
|
|
13
|
+
const configure = (options)=>{
|
|
14
|
+
const { request, interceptor, allowedHeaders, setDomain, requestId = 'default' } = options;
|
|
15
|
+
let configuredRequest = request || originFetch;
|
|
16
|
+
if (interceptor && !request) configuredRequest = interceptor(fetch);
|
|
17
|
+
if (Array.isArray(allowedHeaders)) realAllowedHeaders.set(requestId, allowedHeaders);
|
|
18
|
+
if (setDomain) domainMap.set(requestId, setDomain({
|
|
19
|
+
target: 'browser'
|
|
20
|
+
}));
|
|
21
|
+
realRequest.set(requestId, configuredRequest);
|
|
22
|
+
};
|
|
23
|
+
const createRequest = ({ path, method, port, httpMethodDecider = 'functionName', fetch: fetch1 = originFetch, domain, requestId = 'default' })=>{
|
|
24
|
+
const getFinalPath = compile(path, {
|
|
25
|
+
encode: encodeURIComponent
|
|
26
|
+
});
|
|
27
|
+
const keys = [];
|
|
28
|
+
pathToRegexp(path, keys);
|
|
29
|
+
const sender = async (...args)=>{
|
|
30
|
+
const fetcher = realRequest.get(requestId) || originFetch;
|
|
31
|
+
let body;
|
|
32
|
+
let finalURL;
|
|
33
|
+
let headers;
|
|
34
|
+
if ('inputParams' === httpMethodDecider) {
|
|
35
|
+
finalURL = path;
|
|
36
|
+
body = JSON.stringify({
|
|
37
|
+
args
|
|
38
|
+
});
|
|
39
|
+
headers = {
|
|
40
|
+
'Content-Type': 'application/json'
|
|
41
|
+
};
|
|
42
|
+
} else {
|
|
43
|
+
const payload = 'object' == typeof args[args.length - 1] ? args[args.length - 1] : {};
|
|
44
|
+
payload.params = payload.params || {};
|
|
45
|
+
const requestParams = args[0];
|
|
46
|
+
if ('object' == typeof requestParams && requestParams.params) {
|
|
47
|
+
const { params } = requestParams;
|
|
48
|
+
keys.forEach((key)=>{
|
|
49
|
+
payload.params[key.name] = params[key.name];
|
|
50
|
+
});
|
|
51
|
+
} else keys.forEach((key, index)=>{
|
|
52
|
+
payload.params[key.name] = args[index];
|
|
53
|
+
});
|
|
54
|
+
const finalPath = getFinalPath(payload.params);
|
|
55
|
+
finalURL = payload.query ? `${finalPath}?${stringify(payload.query)}` : finalPath;
|
|
56
|
+
headers = payload.headers || {};
|
|
57
|
+
body = payload.data && 'object' == typeof payload.data ? JSON.stringify(payload.data) : payload.body;
|
|
58
|
+
if (payload.data) {
|
|
59
|
+
headers['Content-Type'] = 'application/json';
|
|
60
|
+
body = 'object' == typeof payload.data ? JSON.stringify(payload.data) : payload.body;
|
|
61
|
+
} else if (payload.body) {
|
|
62
|
+
headers['Content-Type'] = 'text/plain';
|
|
63
|
+
body = payload.body;
|
|
64
|
+
} else if (payload.formData) body = payload.formData;
|
|
65
|
+
else if (payload.formUrlencoded) {
|
|
66
|
+
headers['Content-Type'] = 'application/x-www-form-urlencoded';
|
|
67
|
+
body = 'object' != typeof payload.formUrlencoded || payload.formUrlencoded instanceof URLSearchParams ? payload.formUrlencoded : stringify(payload.formUrlencoded);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
headers.accept = "application/json,*/*;q=0.8";
|
|
71
|
+
const configDomain = domainMap.get(requestId);
|
|
72
|
+
finalURL = `${configDomain || domain || ''}${finalURL}`;
|
|
73
|
+
return fetcher(finalURL, {
|
|
74
|
+
method,
|
|
75
|
+
body,
|
|
76
|
+
headers
|
|
77
|
+
});
|
|
78
|
+
};
|
|
79
|
+
return sender;
|
|
80
|
+
};
|
|
81
|
+
const createUploader = ({ path, domain, requestId = 'default' })=>{
|
|
82
|
+
const getFinalPath = compile(path, {
|
|
83
|
+
encode: encodeURIComponent
|
|
84
|
+
});
|
|
85
|
+
const sender = (...args)=>{
|
|
86
|
+
const fetcher = realRequest.get(requestId) || originFetch;
|
|
87
|
+
const { body, headers, params } = getUploadPayload(args);
|
|
88
|
+
const finalPath = getFinalPath(params);
|
|
89
|
+
const configDomain = domainMap.get(requestId);
|
|
90
|
+
const finalURL = `${configDomain || domain || ''}${finalPath}`;
|
|
91
|
+
return fetcher(finalURL, {
|
|
92
|
+
method: 'POST',
|
|
93
|
+
body,
|
|
94
|
+
headers
|
|
95
|
+
});
|
|
96
|
+
};
|
|
97
|
+
return sender;
|
|
98
|
+
};
|
|
99
|
+
export { configure, createRequest, createUploader };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
const handleRes = async (res)=>{
|
|
2
|
+
const contentType = res.headers.get('content-type');
|
|
3
|
+
if (!res.ok) {
|
|
4
|
+
const data = await res.json();
|
|
5
|
+
res.data = data;
|
|
6
|
+
throw res;
|
|
7
|
+
}
|
|
8
|
+
if (contentType?.includes('application/json') || contentType?.includes('text/json')) return res.json();
|
|
9
|
+
if (contentType?.includes('text/html') || contentType?.includes('text/plain')) return res.text();
|
|
10
|
+
if ((contentType?.includes('application/x-www-form-urlencoded') || contentType?.includes('multipart/form-data')) && res instanceof Response) return res.formData();
|
|
11
|
+
if (contentType?.includes('application/octet-stream')) return res.arrayBuffer();
|
|
12
|
+
if (contentType?.includes('image/png')) return res;
|
|
13
|
+
return res.text();
|
|
14
|
+
};
|
|
15
|
+
export { handleRes };
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { storage } from "@modern-js/runtime-utils/node";
|
|
2
|
+
import node_fetch from "node-fetch";
|
|
3
|
+
import { compile, pathToRegexp } from "path-to-regexp";
|
|
4
|
+
import { stringify } from "qs";
|
|
5
|
+
import { handleRes } from "./handleRes.mjs";
|
|
6
|
+
import { getUploadPayload } from "./utiles.mjs";
|
|
7
|
+
const realRequest = new Map();
|
|
8
|
+
const realAllowedHeaders = new Map();
|
|
9
|
+
const domainMap = new Map();
|
|
10
|
+
const originFetch = (...params)=>{
|
|
11
|
+
const [, init] = params;
|
|
12
|
+
if (init?.method?.toLowerCase() === 'get') init.body = void 0;
|
|
13
|
+
return node_fetch(...params).then(handleRes);
|
|
14
|
+
};
|
|
15
|
+
const configure = (options)=>{
|
|
16
|
+
const { request, interceptor, allowedHeaders, setDomain, requestId = 'default' } = options;
|
|
17
|
+
let configuredRequest = request || originFetch;
|
|
18
|
+
if (interceptor && !request) configuredRequest = interceptor(node_fetch);
|
|
19
|
+
if (Array.isArray(allowedHeaders)) realAllowedHeaders.set(requestId, allowedHeaders);
|
|
20
|
+
if (setDomain) domainMap.set(requestId, setDomain({
|
|
21
|
+
target: 'server'
|
|
22
|
+
}));
|
|
23
|
+
realRequest.set(requestId, configuredRequest);
|
|
24
|
+
};
|
|
25
|
+
const createRequest = ({ path, method, port, httpMethodDecider = 'functionName', fetch = originFetch, requestId = 'default' })=>{
|
|
26
|
+
const getFinalPath = compile(path, {
|
|
27
|
+
encode: encodeURIComponent
|
|
28
|
+
});
|
|
29
|
+
const keys = [];
|
|
30
|
+
pathToRegexp(path, keys);
|
|
31
|
+
const sender = (...args)=>{
|
|
32
|
+
let webRequestHeaders = [];
|
|
33
|
+
if ('default' === requestId) webRequestHeaders = storage.useContext().headers;
|
|
34
|
+
let body;
|
|
35
|
+
let headers;
|
|
36
|
+
let url;
|
|
37
|
+
if ('inputParams' === httpMethodDecider) {
|
|
38
|
+
url = path;
|
|
39
|
+
body = args;
|
|
40
|
+
headers = {
|
|
41
|
+
'Content-Type': 'application/json'
|
|
42
|
+
};
|
|
43
|
+
} else {
|
|
44
|
+
const payload = 'object' == typeof args[args.length - 1] ? args[args.length - 1] : {};
|
|
45
|
+
payload.params = payload.params || {};
|
|
46
|
+
const requestParams = args[0];
|
|
47
|
+
if ('object' == typeof requestParams && requestParams.params) {
|
|
48
|
+
const { params } = requestParams;
|
|
49
|
+
keys.forEach((key)=>{
|
|
50
|
+
payload.params[key.name] = params[key.name];
|
|
51
|
+
});
|
|
52
|
+
} else keys.forEach((key, index)=>{
|
|
53
|
+
payload.params[key.name] = args[index];
|
|
54
|
+
});
|
|
55
|
+
const plainPath = getFinalPath(payload.params);
|
|
56
|
+
const finalPath = payload.query ? `${plainPath}?${stringify(payload.query)}` : plainPath;
|
|
57
|
+
headers = payload.headers || {};
|
|
58
|
+
const targetAllowedHeaders = realAllowedHeaders.get(requestId) || [];
|
|
59
|
+
for (const key of targetAllowedHeaders)if (void 0 !== webRequestHeaders[key]) headers[key] = webRequestHeaders[key];
|
|
60
|
+
if (payload.data) {
|
|
61
|
+
headers['Content-Type'] = 'application/json';
|
|
62
|
+
body = 'object' == typeof payload.data ? JSON.stringify(payload.data) : payload.body;
|
|
63
|
+
} else if (payload.body) {
|
|
64
|
+
headers['Content-Type'] = 'text/plain';
|
|
65
|
+
body = payload.body;
|
|
66
|
+
} else if (payload.formData) body = payload.formData;
|
|
67
|
+
else if (payload.formUrlencoded) {
|
|
68
|
+
headers['Content-Type'] = 'application/x-www-form-urlencoded';
|
|
69
|
+
body = 'object' == typeof payload.formUrlencoded ? stringify(payload.formUrlencoded) : payload.formUrlencoded;
|
|
70
|
+
}
|
|
71
|
+
const configDomain = domainMap.get(requestId);
|
|
72
|
+
url = `${configDomain || `http://127.0.0.1:${port}`}${finalPath}`;
|
|
73
|
+
}
|
|
74
|
+
const fetcher = realRequest.get(requestId) || originFetch;
|
|
75
|
+
if ('get' === method.toLowerCase()) body = void 0;
|
|
76
|
+
headers.accept = "application/json,*/*;q=0.8";
|
|
77
|
+
return fetcher(url, {
|
|
78
|
+
method,
|
|
79
|
+
body,
|
|
80
|
+
headers
|
|
81
|
+
});
|
|
82
|
+
};
|
|
83
|
+
return sender;
|
|
84
|
+
};
|
|
85
|
+
const createUploader = ({ path, requestId = 'default' })=>{
|
|
86
|
+
const sender = (...args)=>{
|
|
87
|
+
const fetcher = realRequest.get(requestId) || originFetch;
|
|
88
|
+
const { body, headers } = getUploadPayload(args);
|
|
89
|
+
const configDomain = domainMap.get(requestId);
|
|
90
|
+
const finalURL = `${configDomain || ''}${path}`;
|
|
91
|
+
return fetcher(finalURL, {
|
|
92
|
+
method: 'POST',
|
|
93
|
+
body,
|
|
94
|
+
headers
|
|
95
|
+
});
|
|
96
|
+
};
|
|
97
|
+
return sender;
|
|
98
|
+
};
|
|
99
|
+
export { configure, createRequest, createUploader };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
const getUploadPayload = (args)=>{
|
|
2
|
+
const payload = 'object' == typeof args[args.length - 1] ? args[args.length - 1] : {};
|
|
3
|
+
const files = payload.files;
|
|
4
|
+
if (!files) throw new Error('no files');
|
|
5
|
+
const formdata = new FormData();
|
|
6
|
+
for (const [key, value] of Object.entries(files))if (value instanceof FileList) for(let i = 0; i < value.length; i++)formdata.append(key, value[i]);
|
|
7
|
+
else formdata.append(key, value);
|
|
8
|
+
const body = formdata;
|
|
9
|
+
return {
|
|
10
|
+
body,
|
|
11
|
+
headers: payload.headers,
|
|
12
|
+
params: payload.params
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
export { getUploadPayload };
|
package/package.json
CHANGED
|
@@ -15,12 +15,12 @@
|
|
|
15
15
|
"modern",
|
|
16
16
|
"modern.js"
|
|
17
17
|
],
|
|
18
|
-
"version": "
|
|
18
|
+
"version": "3.0.0-alpha.0",
|
|
19
19
|
"jsnext:source": "./src/node.ts",
|
|
20
20
|
"types": "./dist/types/browser.d.ts",
|
|
21
21
|
"main": "./dist/cjs/node.js",
|
|
22
|
-
"module": "./dist/esm/node.
|
|
23
|
-
"browser": "./dist/esm/browser.
|
|
22
|
+
"module": "./dist/esm/node.mjs",
|
|
23
|
+
"browser": "./dist/esm/browser.mjs",
|
|
24
24
|
"files": [
|
|
25
25
|
"dist",
|
|
26
26
|
"hook.d.ts"
|
|
@@ -28,31 +28,40 @@
|
|
|
28
28
|
"exports": {
|
|
29
29
|
".": {
|
|
30
30
|
"types": "./dist/types/browser.d.ts",
|
|
31
|
-
"
|
|
32
|
-
"
|
|
31
|
+
"jsnext:source": "./src/browser.ts",
|
|
32
|
+
"node": "./dist/esm-node/node.mjs",
|
|
33
|
+
"default": "./dist/esm/browser.mjs"
|
|
33
34
|
},
|
|
34
35
|
"./client": {
|
|
35
36
|
"types": "./dist/types/browser.d.ts",
|
|
36
37
|
"jsnext:source": "./src/browser.ts",
|
|
37
|
-
"default": "./dist/esm/browser.
|
|
38
|
+
"default": "./dist/esm/browser.mjs"
|
|
38
39
|
},
|
|
39
40
|
"./modern": {
|
|
40
41
|
"jsnext:source": "./src/browser.ts",
|
|
41
|
-
"default": "./dist/esm-node/browser.
|
|
42
|
+
"default": "./dist/esm-node/browser.mjs"
|
|
42
43
|
},
|
|
43
44
|
"./server": {
|
|
44
45
|
"types": "./dist/types/node.d.ts",
|
|
45
46
|
"jsnext:source": "./src/node.ts",
|
|
47
|
+
"node": {
|
|
48
|
+
"import": "./dist/esm-node/node.mjs",
|
|
49
|
+
"require": "./dist/cjs/node.js"
|
|
50
|
+
},
|
|
46
51
|
"default": "./dist/cjs/node.js"
|
|
47
52
|
},
|
|
48
53
|
"./browser": {
|
|
49
54
|
"types": "./dist/types/browser.d.ts",
|
|
50
55
|
"jsnext:source": "./src/browser.ts",
|
|
51
|
-
"default": "./dist/esm/browser.
|
|
56
|
+
"default": "./dist/esm/browser.mjs"
|
|
52
57
|
},
|
|
53
58
|
"./default": {
|
|
54
59
|
"types": "./dist/types/node.d.ts",
|
|
55
60
|
"jsnext:source": "./src/node.ts",
|
|
61
|
+
"node": {
|
|
62
|
+
"import": "./dist/esm-node/node.mjs",
|
|
63
|
+
"require": "./dist/cjs/node.js"
|
|
64
|
+
},
|
|
56
65
|
"default": "./dist/cjs/node.js"
|
|
57
66
|
},
|
|
58
67
|
"./qs": {
|
|
@@ -69,11 +78,20 @@
|
|
|
69
78
|
"client": [
|
|
70
79
|
"./dist/types/browser.d.ts"
|
|
71
80
|
],
|
|
81
|
+
"modern": [
|
|
82
|
+
"./dist/types/browser.d.ts"
|
|
83
|
+
],
|
|
72
84
|
"server": [
|
|
73
85
|
"./dist/types/node.d.ts"
|
|
74
86
|
],
|
|
75
87
|
"qs": [
|
|
76
88
|
"./dist/types/qs.d.ts"
|
|
89
|
+
],
|
|
90
|
+
"browser": [
|
|
91
|
+
"./dist/types/browser.d.ts"
|
|
92
|
+
],
|
|
93
|
+
"default": [
|
|
94
|
+
"./dist/types/node.d.ts"
|
|
77
95
|
]
|
|
78
96
|
}
|
|
79
97
|
},
|
|
@@ -83,21 +101,20 @@
|
|
|
83
101
|
"node-fetch": "^2.7.0",
|
|
84
102
|
"path-to-regexp": "^6.3.0",
|
|
85
103
|
"qs": "^6.14.0",
|
|
86
|
-
"@modern-js/runtime-utils": "
|
|
87
|
-
"@modern-js/utils": "
|
|
104
|
+
"@modern-js/runtime-utils": "3.0.0-alpha.0",
|
|
105
|
+
"@modern-js/utils": "3.0.0-alpha.0"
|
|
88
106
|
},
|
|
89
107
|
"devDependencies": {
|
|
90
|
-
"@
|
|
91
|
-
"@types/node": "^
|
|
92
|
-
"@types/node-fetch": "^2.6.
|
|
108
|
+
"@rslib/core": "0.18.5",
|
|
109
|
+
"@types/node": "^20",
|
|
110
|
+
"@types/node-fetch": "^2.6.13",
|
|
93
111
|
"isomorphic-fetch": "^3.0.0",
|
|
94
|
-
"jest": "^29",
|
|
95
112
|
"nock": "^13.5.6",
|
|
96
113
|
"@types/qs": "^6.14.0",
|
|
97
114
|
"typescript": "^5",
|
|
98
|
-
"@modern-js/types": "
|
|
99
|
-
"@scripts/
|
|
100
|
-
"@
|
|
115
|
+
"@modern-js/types": "3.0.0-alpha.0",
|
|
116
|
+
"@scripts/rstest-config": "2.66.0",
|
|
117
|
+
"@modern-js/rslib": "2.68.10"
|
|
101
118
|
},
|
|
102
119
|
"sideEffects": false,
|
|
103
120
|
"publishConfig": {
|
|
@@ -105,9 +122,8 @@
|
|
|
105
122
|
"access": "public"
|
|
106
123
|
},
|
|
107
124
|
"scripts": {
|
|
108
|
-
"
|
|
109
|
-
"
|
|
110
|
-
"
|
|
111
|
-
"test": "jest --passWithNoTests"
|
|
125
|
+
"dev": "rslib build --watch",
|
|
126
|
+
"build": "rslib build",
|
|
127
|
+
"test": "rstest --passWithNoTests"
|
|
112
128
|
}
|
|
113
129
|
}
|
package/dist/esm/browser.js
DELETED
|
@@ -1,145 +0,0 @@
|
|
|
1
|
-
import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
|
|
2
|
-
import { _ as _instanceof } from "@swc/helpers/_/_instanceof";
|
|
3
|
-
import { _ as _sliced_to_array } from "@swc/helpers/_/_sliced_to_array";
|
|
4
|
-
import { _ as _type_of } from "@swc/helpers/_/_type_of";
|
|
5
|
-
import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
|
|
6
|
-
import { compile, pathToRegexp } from "path-to-regexp";
|
|
7
|
-
import { stringify } from "qs";
|
|
8
|
-
import { handleRes } from "./handleRes";
|
|
9
|
-
import { getUploadPayload } from "./utiles";
|
|
10
|
-
var realRequest = /* @__PURE__ */ new Map();
|
|
11
|
-
var realAllowedHeaders = /* @__PURE__ */ new Map();
|
|
12
|
-
var domainMap = /* @__PURE__ */ new Map();
|
|
13
|
-
var originFetch = function() {
|
|
14
|
-
for (var _len = arguments.length, params = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
15
|
-
params[_key] = arguments[_key];
|
|
16
|
-
}
|
|
17
|
-
var _init_method;
|
|
18
|
-
var _params = _sliced_to_array(params, 2), url = _params[0], init = _params[1];
|
|
19
|
-
if ((init === null || init === void 0 ? void 0 : (_init_method = init.method) === null || _init_method === void 0 ? void 0 : _init_method.toLowerCase()) === "get") {
|
|
20
|
-
init.body = void 0;
|
|
21
|
-
}
|
|
22
|
-
return fetch(url, init).then(handleRes);
|
|
23
|
-
};
|
|
24
|
-
var configure = function(options) {
|
|
25
|
-
var request = options.request, interceptor = options.interceptor, allowedHeaders = options.allowedHeaders, setDomain = options.setDomain, _options_requestId = options.requestId, requestId = _options_requestId === void 0 ? "default" : _options_requestId;
|
|
26
|
-
var configuredRequest = request || originFetch;
|
|
27
|
-
if (interceptor && !request) {
|
|
28
|
-
configuredRequest = interceptor(fetch);
|
|
29
|
-
}
|
|
30
|
-
if (Array.isArray(allowedHeaders)) {
|
|
31
|
-
realAllowedHeaders.set(requestId, allowedHeaders);
|
|
32
|
-
}
|
|
33
|
-
if (setDomain) {
|
|
34
|
-
domainMap.set(requestId, setDomain({
|
|
35
|
-
target: "browser"
|
|
36
|
-
}));
|
|
37
|
-
}
|
|
38
|
-
realRequest.set(requestId, configuredRequest);
|
|
39
|
-
};
|
|
40
|
-
var createRequest = function(param) {
|
|
41
|
-
var path = param.path, method = param.method, port = param.port, _param_httpMethodDecider = param.httpMethodDecider, httpMethodDecider = _param_httpMethodDecider === void 0 ? "functionName" : _param_httpMethodDecider, _param_fetch = param.fetch, fetch1 = _param_fetch === void 0 ? originFetch : _param_fetch, domain = param.domain, _param_requestId = param.requestId, requestId = _param_requestId === void 0 ? "default" : _param_requestId;
|
|
42
|
-
var getFinalPath = compile(path, {
|
|
43
|
-
encode: encodeURIComponent
|
|
44
|
-
});
|
|
45
|
-
var keys = [];
|
|
46
|
-
pathToRegexp(path, keys);
|
|
47
|
-
var sender = function() {
|
|
48
|
-
var _ref = _async_to_generator(function() {
|
|
49
|
-
var _len, args, _key, fetcher, body, finalURL, headers, payload, requestParams, params, finalPath, configDomain;
|
|
50
|
-
var _arguments = arguments;
|
|
51
|
-
return _ts_generator(this, function(_state) {
|
|
52
|
-
for (_len = _arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
53
|
-
args[_key] = _arguments[_key];
|
|
54
|
-
}
|
|
55
|
-
fetcher = realRequest.get(requestId) || originFetch;
|
|
56
|
-
if (httpMethodDecider === "inputParams") {
|
|
57
|
-
finalURL = path;
|
|
58
|
-
body = JSON.stringify({
|
|
59
|
-
args
|
|
60
|
-
});
|
|
61
|
-
headers = {
|
|
62
|
-
"Content-Type": "application/json"
|
|
63
|
-
};
|
|
64
|
-
} else {
|
|
65
|
-
payload = _type_of(args[args.length - 1]) === "object" ? args[args.length - 1] : {};
|
|
66
|
-
payload.params = payload.params || {};
|
|
67
|
-
requestParams = args[0];
|
|
68
|
-
if ((typeof requestParams === "undefined" ? "undefined" : _type_of(requestParams)) === "object" && requestParams.params) {
|
|
69
|
-
params = requestParams.params;
|
|
70
|
-
keys.forEach(function(key) {
|
|
71
|
-
payload.params[key.name] = params[key.name];
|
|
72
|
-
});
|
|
73
|
-
} else {
|
|
74
|
-
keys.forEach(function(key, index) {
|
|
75
|
-
payload.params[key.name] = args[index];
|
|
76
|
-
});
|
|
77
|
-
}
|
|
78
|
-
finalPath = getFinalPath(payload.params);
|
|
79
|
-
finalURL = payload.query ? "".concat(finalPath, "?").concat(stringify(payload.query)) : finalPath;
|
|
80
|
-
headers = payload.headers || {};
|
|
81
|
-
body = payload.data && _type_of(payload.data) === "object" ? JSON.stringify(payload.data) : payload.body;
|
|
82
|
-
if (payload.data) {
|
|
83
|
-
headers["Content-Type"] = "application/json";
|
|
84
|
-
body = _type_of(payload.data) === "object" ? JSON.stringify(payload.data) : payload.body;
|
|
85
|
-
} else if (payload.body) {
|
|
86
|
-
headers["Content-Type"] = "text/plain";
|
|
87
|
-
body = payload.body;
|
|
88
|
-
} else if (payload.formData) {
|
|
89
|
-
body = payload.formData;
|
|
90
|
-
} else if (payload.formUrlencoded) {
|
|
91
|
-
headers["Content-Type"] = "application/x-www-form-urlencoded";
|
|
92
|
-
if (_type_of(payload.formUrlencoded) === "object" && // @ts-expect-error
|
|
93
|
-
!_instanceof(payload.formUrlencoded, URLSearchParams)) {
|
|
94
|
-
body = stringify(payload.formUrlencoded);
|
|
95
|
-
} else {
|
|
96
|
-
body = payload.formUrlencoded;
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
headers.accept = "application/json,*/*;q=0.8";
|
|
101
|
-
configDomain = domainMap.get(requestId);
|
|
102
|
-
finalURL = "".concat(configDomain || domain || "").concat(finalURL);
|
|
103
|
-
return [
|
|
104
|
-
2,
|
|
105
|
-
fetcher(finalURL, {
|
|
106
|
-
method,
|
|
107
|
-
body,
|
|
108
|
-
headers
|
|
109
|
-
})
|
|
110
|
-
];
|
|
111
|
-
});
|
|
112
|
-
});
|
|
113
|
-
return function sender2() {
|
|
114
|
-
return _ref.apply(this, arguments);
|
|
115
|
-
};
|
|
116
|
-
}();
|
|
117
|
-
return sender;
|
|
118
|
-
};
|
|
119
|
-
var createUploader = function(param) {
|
|
120
|
-
var path = param.path, domain = param.domain, _param_requestId = param.requestId, requestId = _param_requestId === void 0 ? "default" : _param_requestId;
|
|
121
|
-
var getFinalPath = compile(path, {
|
|
122
|
-
encode: encodeURIComponent
|
|
123
|
-
});
|
|
124
|
-
var sender = function() {
|
|
125
|
-
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
126
|
-
args[_key] = arguments[_key];
|
|
127
|
-
}
|
|
128
|
-
var fetcher = realRequest.get(requestId) || originFetch;
|
|
129
|
-
var _getUploadPayload = getUploadPayload(args), body = _getUploadPayload.body, headers = _getUploadPayload.headers, params = _getUploadPayload.params;
|
|
130
|
-
var finalPath = getFinalPath(params);
|
|
131
|
-
var configDomain = domainMap.get(requestId);
|
|
132
|
-
var finalURL = "".concat(configDomain || domain || "").concat(finalPath);
|
|
133
|
-
return fetcher(finalURL, {
|
|
134
|
-
method: "POST",
|
|
135
|
-
body,
|
|
136
|
-
headers
|
|
137
|
-
});
|
|
138
|
-
};
|
|
139
|
-
return sender;
|
|
140
|
-
};
|
|
141
|
-
export {
|
|
142
|
-
configure,
|
|
143
|
-
createRequest,
|
|
144
|
-
createUploader
|
|
145
|
-
};
|