@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.
@@ -0,0 +1,243 @@
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 _instanceof(left, right) {
39
+ if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
40
+ return !!right[Symbol.hasInstance](left);
41
+ } else {
42
+ return left instanceof right;
43
+ }
44
+ }
45
+ function _iterableToArray(iter) {
46
+ if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
47
+ }
48
+ function _nonIterableSpread() {
49
+ throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
50
+ }
51
+ function _toConsumableArray(arr) {
52
+ return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
53
+ }
54
+ function _unsupportedIterableToArray(o, minLen) {
55
+ if (!o) return;
56
+ if (typeof o === "string") return _arrayLikeToArray(o, minLen);
57
+ var n = Object.prototype.toString.call(o).slice(8, -1);
58
+ if (n === "Object" && o.constructor) n = o.constructor.name;
59
+ if (n === "Map" || n === "Set") return Array.from(n);
60
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
61
+ }
62
+ var __generator = this && this.__generator || function(thisArg, body) {
63
+ var f, y, t, g, _ = {
64
+ label: 0,
65
+ sent: function() {
66
+ if (t[0] & 1) throw t[1];
67
+ return t[1];
68
+ },
69
+ trys: [],
70
+ ops: []
71
+ };
72
+ return(g = {
73
+ next: verb(0),
74
+ "throw": verb(1),
75
+ "return": verb(2)
76
+ }, typeof Symbol === "function" && (g[Symbol.iterator] = function() {
77
+ return this;
78
+ }), g);
79
+ function verb(n) {
80
+ return function(v) {
81
+ return step([
82
+ n,
83
+ v
84
+ ]);
85
+ };
86
+ }
87
+ function step(op) {
88
+ if (f) throw new TypeError("Generator is already executing.");
89
+ while(_)try {
90
+ 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;
91
+ if (y = 0, t) op = [
92
+ op[0] & 2,
93
+ t.value
94
+ ];
95
+ switch(op[0]){
96
+ case 0:
97
+ case 1:
98
+ t = op;
99
+ break;
100
+ case 4:
101
+ _.label++;
102
+ return {
103
+ value: op[1],
104
+ done: false
105
+ };
106
+ case 5:
107
+ _.label++;
108
+ y = op[1];
109
+ op = [
110
+ 0
111
+ ];
112
+ continue;
113
+ case 7:
114
+ op = _.ops.pop();
115
+ _.trys.pop();
116
+ continue;
117
+ default:
118
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
119
+ _ = 0;
120
+ continue;
121
+ }
122
+ if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
123
+ _.label = op[1];
124
+ break;
125
+ }
126
+ if (op[0] === 6 && _.label < t[1]) {
127
+ _.label = t[1];
128
+ t = op;
129
+ break;
130
+ }
131
+ if (t && _.label < t[2]) {
132
+ _.label = t[2];
133
+ _.ops.push(op);
134
+ break;
135
+ }
136
+ if (t[2]) _.ops.pop();
137
+ _.trys.pop();
138
+ continue;
139
+ }
140
+ op = body.call(thisArg, _);
141
+ } catch (e) {
142
+ op = [
143
+ 6,
144
+ e
145
+ ];
146
+ y = 0;
147
+ } finally{
148
+ f = t = 0;
149
+ }
150
+ if (op[0] & 5) throw op[1];
151
+ return {
152
+ value: op[0] ? op[1] : void 0,
153
+ done: true
154
+ };
155
+ }
156
+ };
157
+ import { compile, pathToRegexp } from "path-to-regexp";
158
+ import qs from "query-string";
159
+ import { handleRes } from "./handleRes";
160
+ var realRequest;
161
+ var realAllowedHeaders;
162
+ var originFetch = function() {
163
+ for(var _len = arguments.length, params = new Array(_len), _key = 0; _key < _len; _key++){
164
+ params[_key] = arguments[_key];
165
+ }
166
+ return fetch.apply(void 0, _toConsumableArray(params)).then(handleRes);
167
+ };
168
+ var configure = function(options) {
169
+ var request = options.request, interceptor = options.interceptor, allowedHeaders = options.allowedHeaders;
170
+ realRequest = request || originFetch;
171
+ if (interceptor && !request) {
172
+ realRequest = interceptor(fetch);
173
+ }
174
+ if (Array.isArray(allowedHeaders)) {
175
+ realAllowedHeaders = allowedHeaders;
176
+ }
177
+ };
178
+ var createRequest = function(path, method, port) {
179
+ var fetch2 = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : originFetch;
180
+ var getFinalPath = compile(path, {
181
+ encode: encodeURIComponent
182
+ });
183
+ var keys = [];
184
+ pathToRegexp(path, keys);
185
+ var sender = function() {
186
+ var _ref = _asyncToGenerator(function() {
187
+ var _len, args, _key, fetcher, payload, requestParams, params, finalPath, finalURL, headers, body;
188
+ var _arguments = arguments;
189
+ return __generator(this, function(_state) {
190
+ for(_len = _arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){
191
+ args[_key] = _arguments[_key];
192
+ }
193
+ fetcher = realRequest || originFetch;
194
+ payload = typeof args[args.length - 1] === "object" ? args[args.length - 1] : {};
195
+ payload.params = payload.params || {};
196
+ requestParams = args[0];
197
+ if (typeof requestParams === "object" && requestParams.params) {
198
+ params = requestParams.params;
199
+ keys.forEach(function(key) {
200
+ payload.params[key.name] = params[key.name];
201
+ });
202
+ } else {
203
+ keys.forEach(function(key, index) {
204
+ payload.params[key.name] = args[index];
205
+ });
206
+ }
207
+ finalPath = getFinalPath(payload.params);
208
+ finalURL = payload.query ? "".concat(finalPath, "?").concat(qs.stringify(payload.query)) : finalPath;
209
+ headers = payload.headers || {};
210
+ body = payload.data && typeof payload.data === "object" ? JSON.stringify(payload.data) : payload.body;
211
+ if (payload.data) {
212
+ headers["Content-Type"] = "application/json";
213
+ body = typeof payload.data === "object" ? JSON.stringify(payload.data) : payload.body;
214
+ } else if (payload.body) {
215
+ headers["Content-Type"] = "text/plain";
216
+ body = payload.body;
217
+ } else if (payload.formData) {
218
+ body = payload.formData;
219
+ } else if (payload.formUrlencoded) {
220
+ headers["Content-Type"] = "application/x-www-form-urlencoded";
221
+ if (typeof payload.formUrlencoded === "object" && !_instanceof(payload.formUrlencoded, URLSearchParams)) {
222
+ body = qs.stringify(payload.formUrlencoded);
223
+ } else {
224
+ body = payload.formUrlencoded;
225
+ }
226
+ }
227
+ return [
228
+ 2,
229
+ fetcher(finalURL, {
230
+ method: method,
231
+ body: body,
232
+ headers: headers
233
+ })
234
+ ];
235
+ });
236
+ });
237
+ return function sender() {
238
+ return _ref.apply(this, arguments);
239
+ };
240
+ }();
241
+ return sender;
242
+ };
243
+ export { configure, createRequest };
@@ -0,0 +1,187 @@
1
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
2
+ try {
3
+ var info = gen[key](arg);
4
+ var value = info.value;
5
+ } catch (error) {
6
+ reject(error);
7
+ return;
8
+ }
9
+ if (info.done) {
10
+ resolve(value);
11
+ } else {
12
+ Promise.resolve(value).then(_next, _throw);
13
+ }
14
+ }
15
+ function _asyncToGenerator(fn) {
16
+ return function() {
17
+ var self = this, args = arguments;
18
+ return new Promise(function(resolve, reject) {
19
+ var gen = fn.apply(self, args);
20
+ function _next(value) {
21
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
22
+ }
23
+ function _throw(err) {
24
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
25
+ }
26
+ _next(undefined);
27
+ });
28
+ };
29
+ }
30
+ function _instanceof(left, right) {
31
+ if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
32
+ return !!right[Symbol.hasInstance](left);
33
+ } else {
34
+ return left instanceof right;
35
+ }
36
+ }
37
+ var __generator = this && this.__generator || function(thisArg, body) {
38
+ var f, y, t, g, _ = {
39
+ label: 0,
40
+ sent: function() {
41
+ if (t[0] & 1) throw t[1];
42
+ return t[1];
43
+ },
44
+ trys: [],
45
+ ops: []
46
+ };
47
+ return(g = {
48
+ next: verb(0),
49
+ "throw": verb(1),
50
+ "return": verb(2)
51
+ }, typeof Symbol === "function" && (g[Symbol.iterator] = function() {
52
+ return this;
53
+ }), g);
54
+ function verb(n) {
55
+ return function(v) {
56
+ return step([
57
+ n,
58
+ v
59
+ ]);
60
+ };
61
+ }
62
+ function step(op) {
63
+ if (f) throw new TypeError("Generator is already executing.");
64
+ while(_)try {
65
+ 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;
66
+ if (y = 0, t) op = [
67
+ op[0] & 2,
68
+ t.value
69
+ ];
70
+ switch(op[0]){
71
+ case 0:
72
+ case 1:
73
+ t = op;
74
+ break;
75
+ case 4:
76
+ _.label++;
77
+ return {
78
+ value: op[1],
79
+ done: false
80
+ };
81
+ case 5:
82
+ _.label++;
83
+ y = op[1];
84
+ op = [
85
+ 0
86
+ ];
87
+ continue;
88
+ case 7:
89
+ op = _.ops.pop();
90
+ _.trys.pop();
91
+ continue;
92
+ default:
93
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
94
+ _ = 0;
95
+ continue;
96
+ }
97
+ if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
98
+ _.label = op[1];
99
+ break;
100
+ }
101
+ if (op[0] === 6 && _.label < t[1]) {
102
+ _.label = t[1];
103
+ t = op;
104
+ break;
105
+ }
106
+ if (t && _.label < t[2]) {
107
+ _.label = t[2];
108
+ _.ops.push(op);
109
+ break;
110
+ }
111
+ if (t[2]) _.ops.pop();
112
+ _.trys.pop();
113
+ continue;
114
+ }
115
+ op = body.call(thisArg, _);
116
+ } catch (e) {
117
+ op = [
118
+ 6,
119
+ e
120
+ ];
121
+ y = 0;
122
+ } finally{
123
+ f = t = 0;
124
+ }
125
+ if (op[0] & 5) throw op[1];
126
+ return {
127
+ value: op[0] ? op[1] : void 0,
128
+ done: true
129
+ };
130
+ }
131
+ };
132
+ var handleRes = function() {
133
+ var _ref = _asyncToGenerator(function(res) {
134
+ var contentType, data;
135
+ return __generator(this, function(_state) {
136
+ switch(_state.label){
137
+ case 0:
138
+ contentType = res.headers.get("content-type");
139
+ if (!!res.ok) return [
140
+ 3,
141
+ 2
142
+ ];
143
+ return [
144
+ 4,
145
+ res.json()
146
+ ];
147
+ case 1:
148
+ data = _state.sent();
149
+ res.data = data;
150
+ throw res;
151
+ case 2:
152
+ if ((contentType === null || contentType === void 0 ? void 0 : contentType.includes("application/json")) || (contentType === null || contentType === void 0 ? void 0 : contentType.includes("text/json"))) {
153
+ return [
154
+ 2,
155
+ res.json()
156
+ ];
157
+ }
158
+ if ((contentType === null || contentType === void 0 ? void 0 : contentType.includes("text/html")) || (contentType === null || contentType === void 0 ? void 0 : contentType.includes("text/plain"))) {
159
+ return [
160
+ 2,
161
+ res.text()
162
+ ];
163
+ }
164
+ if (((contentType === null || contentType === void 0 ? void 0 : contentType.includes("application/x-www-form-urlencoded")) || (contentType === null || contentType === void 0 ? void 0 : contentType.includes("multipart/form-data"))) && _instanceof(res, Response)) {
165
+ return [
166
+ 2,
167
+ res.formData()
168
+ ];
169
+ }
170
+ if (contentType === null || contentType === void 0 ? void 0 : contentType.includes("application/octet-stream")) {
171
+ return [
172
+ 2,
173
+ res.arrayBuffer()
174
+ ];
175
+ }
176
+ return [
177
+ 2,
178
+ res.text()
179
+ ];
180
+ }
181
+ });
182
+ });
183
+ return function handleRes(res) {
184
+ return _ref.apply(this, arguments);
185
+ };
186
+ }();
187
+ export { handleRes };
@@ -0,0 +1,36 @@
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 _iterableToArray(iter) {
10
+ if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
11
+ }
12
+ function _nonIterableSpread() {
13
+ throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
14
+ }
15
+ function _toConsumableArray(arr) {
16
+ return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
17
+ }
18
+ function _unsupportedIterableToArray(o, minLen) {
19
+ if (!o) return;
20
+ if (typeof o === "string") return _arrayLikeToArray(o, minLen);
21
+ var n = Object.prototype.toString.call(o).slice(8, -1);
22
+ if (n === "Object" && o.constructor) n = o.constructor.name;
23
+ if (n === "Map" || n === "Set") return Array.from(n);
24
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
25
+ }
26
+ import { isBrowser } from "@modern-js/utils";
27
+ import { createRequest as browser } from "./browser";
28
+ import { createRequest as node } from "./node";
29
+ var createRequest = function() {
30
+ for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){
31
+ args[_key] = arguments[_key];
32
+ }
33
+ return isBrowser() ? browser.apply(void 0, _toConsumableArray(args)) : node.apply(void 0, _toConsumableArray(args));
34
+ };
35
+ var src_default = createRequest;
36
+ export { src_default as default };
@@ -0,0 +1,126 @@
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 _iterableToArray(iter) {
10
+ if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
11
+ }
12
+ function _nonIterableSpread() {
13
+ throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
14
+ }
15
+ function _toConsumableArray(arr) {
16
+ return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
17
+ }
18
+ function _unsupportedIterableToArray(o, minLen) {
19
+ if (!o) return;
20
+ if (typeof o === "string") return _arrayLikeToArray(o, minLen);
21
+ var n = Object.prototype.toString.call(o).slice(8, -1);
22
+ if (n === "Object" && o.constructor) n = o.constructor.name;
23
+ if (n === "Map" || n === "Set") return Array.from(n);
24
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
25
+ }
26
+ import nodeFetch from "node-fetch";
27
+ import { compile, pathToRegexp } from "path-to-regexp";
28
+ import { useHeaders } from "@modern-js/utils/ssr";
29
+ import qs from "query-string";
30
+ import { handleRes } from "./handleRes";
31
+ var realRequest;
32
+ var realAllowedHeaders = [];
33
+ var originFetch = function() {
34
+ for(var _len = arguments.length, params = new Array(_len), _key = 0; _key < _len; _key++){
35
+ params[_key] = arguments[_key];
36
+ }
37
+ return nodeFetch.apply(void 0, _toConsumableArray(params)).then(handleRes);
38
+ };
39
+ var configure = function(options) {
40
+ var request = options.request, interceptor = options.interceptor, allowedHeaders = options.allowedHeaders;
41
+ realRequest = request || originFetch;
42
+ if (interceptor && !request) {
43
+ realRequest = interceptor(nodeFetch);
44
+ }
45
+ if (Array.isArray(allowedHeaders)) {
46
+ realAllowedHeaders = allowedHeaders;
47
+ }
48
+ };
49
+ var createRequest = function(path, method, port) {
50
+ var fetch = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : nodeFetch;
51
+ var getFinalPath = compile(path, {
52
+ encode: encodeURIComponent
53
+ });
54
+ var keys = [];
55
+ pathToRegexp(path, keys);
56
+ var sender = function() {
57
+ for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){
58
+ args[_key] = arguments[_key];
59
+ }
60
+ var webRequestHeaders = useHeaders();
61
+ var payload = typeof args[args.length - 1] === "object" ? args[args.length - 1] : {};
62
+ payload.params = payload.params || {};
63
+ var requestParams = args[0];
64
+ if (typeof requestParams === "object" && requestParams.params) {
65
+ var params = requestParams.params;
66
+ keys.forEach(function(key) {
67
+ payload.params[key.name] = params[key.name];
68
+ });
69
+ } else {
70
+ keys.forEach(function(key, index) {
71
+ payload.params[key.name] = args[index];
72
+ });
73
+ }
74
+ var plainPath = getFinalPath(payload.params);
75
+ var finalPath = payload.query ? "".concat(plainPath, "?").concat(qs.stringify(payload.query)) : plainPath;
76
+ var headers = payload.headers || {};
77
+ var body;
78
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
79
+ try {
80
+ for(var _iterator = realAllowedHeaders[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
81
+ var key = _step.value;
82
+ if (typeof webRequestHeaders[key] !== "undefined") {
83
+ headers[key] = webRequestHeaders[key];
84
+ }
85
+ }
86
+ } catch (err) {
87
+ _didIteratorError = true;
88
+ _iteratorError = err;
89
+ } finally{
90
+ try {
91
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
92
+ _iterator.return();
93
+ }
94
+ } finally{
95
+ if (_didIteratorError) {
96
+ throw _iteratorError;
97
+ }
98
+ }
99
+ }
100
+ if (payload.data) {
101
+ headers["Content-Type"] = "application/json";
102
+ body = typeof payload.data === "object" ? JSON.stringify(payload.data) : payload.body;
103
+ } else if (payload.body) {
104
+ headers["Content-Type"] = "text/plain";
105
+ body = payload.body;
106
+ } else if (payload.formData) {
107
+ body = payload.formData;
108
+ } else if (payload.formUrlencoded) {
109
+ headers["Content-Type"] = "application/x-www-form-urlencoded";
110
+ if (typeof payload.formUrlencoded === "object") {
111
+ body = qs.stringify(payload.formUrlencoded);
112
+ } else {
113
+ body = payload.formUrlencoded;
114
+ }
115
+ }
116
+ var url = "http://localhost:".concat(port).concat(finalPath);
117
+ var fetcher = realRequest || originFetch;
118
+ return fetcher(url, {
119
+ method: method,
120
+ body: body,
121
+ headers: headers
122
+ });
123
+ };
124
+ return sender;
125
+ };
126
+ export { configure, createRequest };
@@ -0,0 +1 @@
1
+ "use strict";
@@ -0,0 +1,3 @@
1
+ import type { RequestCreator, IOptions } from './types';
2
+ export declare const configure: (options: IOptions) => void;
3
+ export declare const createRequest: RequestCreator;
@@ -0,0 +1,3 @@
1
+ import { Response as NodeResponse } from 'node-fetch';
2
+ declare const handleRes: (res: Response | NodeResponse) => Promise<any>;
3
+ export { handleRes };
@@ -0,0 +1,4 @@
1
+ import { RequestCreator, IOptions } from './types';
2
+ declare const createRequest: RequestCreator;
3
+ export declare const configure: (options: IOptions) => void;
4
+ export default createRequest;
@@ -0,0 +1,4 @@
1
+ import nodeFetch from 'node-fetch';
2
+ import type { RequestCreator, IOptions } from './types';
3
+ export declare const configure: (options: IOptions<typeof nodeFetch>) => void;
4
+ export declare const createRequest: RequestCreator;
@@ -0,0 +1,22 @@
1
+ import type nodeFetch from 'node-fetch';
2
+ import type { HttpMethodDecider } from '@modern-js/types';
3
+ export type BFFRequestPayload = {
4
+ params?: Record<string, any>;
5
+ query?: Record<string, any>;
6
+ body?: string;
7
+ formUrlencoded?: never;
8
+ formData?: FormData;
9
+ data?: Record<string, any>;
10
+ headers?: Record<string, any>;
11
+ cookies?: Record<string, any>;
12
+ };
13
+ export type Fetch = typeof fetch | typeof nodeFetch;
14
+ export type Sender = ((...args: any[]) => Promise<any>) & {
15
+ fetch?: Fetch;
16
+ };
17
+ export type RequestCreator = (path: string, method: string, port: number, httpMethodDecider: HttpMethodDecider, fetch?: Fetch) => Sender;
18
+ export type IOptions<F = Fetch> = {
19
+ request?: F;
20
+ interceptor?: (request: F) => F;
21
+ allowedHeaders?: string[];
22
+ };
package/package.json CHANGED
@@ -11,7 +11,7 @@
11
11
  "modern",
12
12
  "modern.js"
13
13
  ],
14
- "version": "2.5.1-alpha.2",
14
+ "version": "2.5.1-alpha.4",
15
15
  "jsnext:source": "./src/index.ts",
16
16
  "types": "./dist/types/index.d.ts",
17
17
  "main": "./dist/cjs/index.js",
@@ -64,6 +64,7 @@
64
64
  "query-string": "^7.1.1"
65
65
  },
66
66
  "devDependencies": {
67
+ "@modern-js/types": "^2.5.0",
67
68
  "@scripts/build": "2.5.0",
68
69
  "@scripts/jest-config": "2.5.0",
69
70
  "@types/jest": "^27",
@@ -81,6 +82,7 @@
81
82
  },
82
83
  "scripts": {
83
84
  "new": "modern-lib new",
85
+ "dev": "modern-lib build --watch",
84
86
  "build": "modern-lib build",
85
87
  "test": "jest --passWithNoTests"
86
88
  }