rxtutils 1.1.4-beta.7 → 1.1.4-beta.9

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,25 @@
1
+ 'use strict';
2
+
3
+ function deepAssign(target) {
4
+ var sources = [];
5
+ for (var _i = 1; _i < arguments.length; _i++) {
6
+ sources[_i - 1] = arguments[_i];
7
+ }
8
+ for (var _a = 0, sources_1 = sources; _a < sources_1.length; _a++) {
9
+ var source = sources_1[_a];
10
+ for (var key in source) {
11
+ var val = source[key];
12
+ if (val &&
13
+ typeof val === 'object' &&
14
+ !Array.isArray(val)) {
15
+ target[key] = deepAssign(target[key] || {}, val);
16
+ }
17
+ else {
18
+ target[key] = val;
19
+ }
20
+ }
21
+ }
22
+ return target;
23
+ }
24
+
25
+ exports.deepAssign = deepAssign;
@@ -14,7 +14,7 @@ type UseCombineControlValueResolveResult<V, R extends (...args: any[]) => any> =
14
14
  };
15
15
  declare function useCombineControlValue<V>(options: UseCombineControlValueOptions<V>): UseCombineControlValueEasyResult<V>;
16
16
  declare function useCombineControlValue<V, R extends (...args: any[]) => any>(options: Omit<UseCombineControlValueOptions<V>, 'onChange'> & {
17
- onChange: (...args: Parameters<R>) => void;
17
+ onChange?: (...args: Parameters<R>) => void;
18
18
  }, resolveFn: (...args: Parameters<R>) => V): UseCombineControlValueResolveResult<V, R>;
19
19
 
20
20
  export { useCombineControlValue };
@@ -7,6 +7,7 @@ var defaultHandlers = require('./defaultHandlers.cjs');
7
7
  var defaultEquals = require('../_utils/defaultEquals.cjs');
8
8
  var index = require('../cache/index.cjs');
9
9
  var error = require('./error.cjs');
10
+ var deepAssign = require('../_utils/deepAssign.cjs');
10
11
 
11
12
  /**
12
13
  * 创建基础请求实例
@@ -33,112 +34,139 @@ function createBaseRequest(baseOptions) {
33
34
  var _b = tslib.__assign(tslib.__assign({}, baseOptions), createOptions), baseURL = _b.baseURL, _c = _b.cacheDataKey, cacheDataKey = _c === void 0 ? "".concat(method, ":").concat(baseURL).concat(url) : _c, cacheDataInStorage = _b.cacheDataInStorage, _d = _b.cacheKeyEquals, cacheKeyEquals = _d === void 0 ? defaultEquals : _d, cacheTime = _b.cacheTime, _e = _b.indexDBName, indexDBName = _e === void 0 ? "__apiCacheDatabase__" : _e;
34
35
  var cache = new index.default(cacheDataInStorage, cacheDataKey, cacheTime, indexDBName, cacheKeyEquals);
35
36
  function request(requestParam, options) {
36
- var _this = this;
37
- var _a = tslib.__assign(tslib.__assign({}, requestOptions), requestParam), method = _a.method, url = _a.url, _b = _a.data, data = _b === void 0 ? {} : _b, _c = _a.params, params = _c === void 0 ? {} : _c;
38
- var requestDataOrParams = params;
39
- if (method.toLowerCase() === "post") {
40
- requestDataOrParams = data;
41
- }
42
- var _d = tslib.__assign(tslib.__assign(tslib.__assign({}, baseOptions), createOptions), options).defaultMessageShower, defaultMessageShower = _d === void 0 ? console.error : _d;
43
- var _e = tslib.__assign(tslib.__assign(tslib.__assign({}, baseOptions), createOptions), options), _f = _e.enableCache, enableCache = _f === void 0 ? false : _f, _g = _e.cacheData, cacheData = _g === void 0 ? false : _g, _h = _e.defaultErrorCodeHandler, defaultErrorCodeHandler = _h === void 0 ? defaultHandlers._defaultErrorCodeHandler.bind(null, defaultMessageShower) : _h, _j = _e.defaultHttpErrorCodeHandler, defaultHttpErrorCodeHandler = _j === void 0 ? defaultHandlers._defaultHttpErrorCodeHandler.bind(null, defaultMessageShower) : _j, _k = _e.otherErrorHandler, otherErrorHandler = _k === void 0 ? defaultHandlers._defaultOtherErrorCodeHandler.bind(null, defaultMessageShower) : _k, _l = _e.errorCodePath, errorCodePath = _l === void 0 ? "code" : _l, _m = _e.cacheTime, cacheTime = _m === void 0 ? 60 : _m, _o = _e.errorCodeMap, errorCodeMap = _o === void 0 ? {} : _o, _p = _e.successCodes, successCodes = _p === void 0 ? ["0", "200"] : _p, _q = _e.httpErrorCodeMap, httpErrorCodeMap = _q === void 0 ? {} : _q, _r = _e.axiosOptions, axiosOptions = _r === void 0 ? {} : _r, _s = _e.throwError, throwError = _s === void 0 ? true : _s;
44
- if (enableCache) {
45
- var cacheItem = cache.getCache(requestDataOrParams);
46
- if (cacheItem) {
47
- return Promise.resolve(cacheItem);
48
- }
49
- }
50
- return instance
51
- .request(tslib.__assign({ method: method, url: url, data: data, params: params }, axiosOptions))
52
- .then(function (res) { return tslib.__awaiter(_this, void 0, void 0, function () {
53
- var errorCode, _a, _b, _c, customHandler, err, _d, _e, replaceResData, _f, handlerThrowError, _g;
54
- return tslib.__generator(this, function (_h) {
55
- switch (_h.label) {
37
+ return tslib.__awaiter(this, void 0, void 0, function () {
38
+ var _a, _b, requestMiddlewares, _c, finalAxiosOptions, finalRequestOptions, _i, requestMiddlewares_1, middleware, _d, nextAxiosOptions, nextRequestOptions, method, url, _e, data, _f, params, requestDataOrParams, _g, defaultMessageShower, _h, _j, enableCache, _k, cacheData, _l, defaultErrorCodeHandler, _m, defaultHttpErrorCodeHandler, _o, otherErrorHandler, _p, errorCodePath, _q, cacheTime, _r, errorCodeMap, _s, successCodes, _t, httpErrorCodeMap, _u,
39
+ // axiosOptions = {},
40
+ throwError, cacheItem;
41
+ var _this = this;
42
+ return tslib.__generator(this, function (_v) {
43
+ switch (_v.label) {
56
44
  case 0:
57
- errorCode = String(at(res.data, errorCodePath));
58
- if (successCodes.includes(errorCode)) {
59
- if (cacheData) {
60
- cache.setCache(requestDataOrParams, res.data, { cacheTime: cacheTime });
61
- }
62
- return [2 /*return*/, res.data];
63
- }
64
- _a = errorCodeMap, _b = errorCode, _c = _a[_b], customHandler = _c === void 0 ? defaultErrorCodeHandler : _c;
65
- err = new error("服务端错误", "server", res);
66
- if (!(typeof customHandler === "string")) return [3 /*break*/, 1];
67
- defaultMessageShower(customHandler);
68
- return [3 /*break*/, 3];
45
+ _a = tslib.__assign(tslib.__assign(tslib.__assign({}, baseOptions), createOptions), options), _b = _a.requestMiddlewares, requestMiddlewares = _b === void 0 ? [] : _b, _c = _a.axiosOptions, finalAxiosOptions = _c === void 0 ? {} : _c;
46
+ finalRequestOptions = tslib.__assign(tslib.__assign({}, requestOptions), requestParam);
47
+ _i = 0, requestMiddlewares_1 = requestMiddlewares;
48
+ _v.label = 1;
69
49
  case 1:
70
- _g = Object;
71
- return [4 /*yield*/, customHandler(errorCode, res.data, res, tslib.__assign(tslib.__assign({}, requestOptions), requestParam))];
50
+ if (!(_i < requestMiddlewares_1.length)) return [3 /*break*/, 4];
51
+ middleware = requestMiddlewares_1[_i];
52
+ return [4 /*yield*/, middleware(finalAxiosOptions, finalRequestOptions)];
72
53
  case 2:
73
- _d = _g.apply(void 0, [(_h.sent())]), _e = _d.replaceResData, replaceResData = _e === void 0 ? res.data : _e, _f = _d.throwError, handlerThrowError = _f === void 0 ? "default" : _f;
74
- res.data = replaceResData;
75
- switch (handlerThrowError) {
76
- case true:
77
- throw err;
78
- case false:
79
- return [2 /*return*/, res.data];
80
- }
81
- _h.label = 3;
54
+ _d = _v.sent(), nextAxiosOptions = _d.axiosOptions, nextRequestOptions = _d.requestOptions;
55
+ deepAssign.deepAssign({}, finalAxiosOptions, nextAxiosOptions);
56
+ deepAssign.deepAssign({}, finalRequestOptions, nextRequestOptions);
57
+ _v.label = 3;
82
58
  case 3:
83
- if (throwError) {
84
- throw err;
85
- }
86
- return [2 /*return*/, res.data];
87
- }
88
- });
89
- }); }, function (error$1) { return tslib.__awaiter(_this, void 0, void 0, function () {
90
- var resData, _a, _b, _c, customHandler, err, _d, _e, replaceResData, _f, handlerThrowError, _g, resData, err, _h, _j, replaceResData, _k, handlerThrowError, _l;
91
- return tslib.__generator(this, function (_m) {
92
- switch (_m.label) {
93
- case 0:
94
- if (!error$1.response) return [3 /*break*/, 4];
95
- resData = error$1;
96
- _a = httpErrorCodeMap, _b = error$1.response.status, _c = _a[_b], customHandler = _c === void 0 ? defaultHttpErrorCodeHandler : _c;
97
- err = new error("服务端错误", "http", error$1);
98
- if (!(typeof customHandler === "string")) return [3 /*break*/, 1];
99
- defaultMessageShower(customHandler);
100
- return [3 /*break*/, 3];
101
- case 1:
102
- _g = Object;
103
- return [4 /*yield*/, customHandler(error$1.response.status, error$1, tslib.__assign(tslib.__assign({}, requestOptions), requestParam))];
104
- case 2:
105
- _d = _g.apply(void 0, [(_m.sent())]), _e = _d.replaceResData, replaceResData = _e === void 0 ? error$1 : _e, _f = _d.throwError, handlerThrowError = _f === void 0 ? "default" : _f;
106
- resData = replaceResData;
107
- switch (handlerThrowError) {
108
- case true:
109
- throw err;
110
- case false:
111
- return [2 /*return*/, resData];
112
- }
113
- _m.label = 3;
114
- case 3:
115
- if (throwError) {
116
- throw err;
117
- }
118
- return [2 /*return*/, resData];
59
+ _i++;
60
+ return [3 /*break*/, 1];
119
61
  case 4:
120
- resData = error$1;
121
- err = new error("服务端错误", "http", error$1);
122
- err.type = "http";
123
- err.data = error$1;
124
- _l = Object;
125
- return [4 /*yield*/, otherErrorHandler(error$1)];
126
- case 5:
127
- _h = (_l.apply(void 0, [(_m.sent())])), _j = _h.replaceResData, replaceResData = _j === void 0 ? error$1 : _j, _k = _h.throwError, handlerThrowError = _k === void 0 ? "default" : _k;
128
- resData = replaceResData;
129
- switch (handlerThrowError) {
130
- case true:
131
- throw err;
132
- case false:
133
- return [2 /*return*/, resData];
62
+ method = finalRequestOptions.method, url = finalRequestOptions.url, _e = finalRequestOptions.data, data = _e === void 0 ? {} : _e, _f = finalRequestOptions.params, params = _f === void 0 ? {} : _f;
63
+ requestDataOrParams = params;
64
+ if (method.toLowerCase() === "post") {
65
+ requestDataOrParams = data;
134
66
  }
135
- if (throwError) {
136
- throw err;
67
+ _g = tslib.__assign(tslib.__assign(tslib.__assign({}, baseOptions), createOptions), options).defaultMessageShower, defaultMessageShower = _g === void 0 ? console.error : _g;
68
+ _h = tslib.__assign(tslib.__assign(tslib.__assign({}, baseOptions), createOptions), options), _j = _h.enableCache, enableCache = _j === void 0 ? false : _j, _k = _h.cacheData, cacheData = _k === void 0 ? false : _k, _l = _h.defaultErrorCodeHandler, defaultErrorCodeHandler = _l === void 0 ? defaultHandlers._defaultErrorCodeHandler.bind(null, defaultMessageShower) : _l, _m = _h.defaultHttpErrorCodeHandler, defaultHttpErrorCodeHandler = _m === void 0 ? defaultHandlers._defaultHttpErrorCodeHandler.bind(null, defaultMessageShower) : _m, _o = _h.otherErrorHandler, otherErrorHandler = _o === void 0 ? defaultHandlers._defaultOtherErrorCodeHandler.bind(null, defaultMessageShower) : _o, _p = _h.errorCodePath, errorCodePath = _p === void 0 ? "code" : _p, _q = _h.cacheTime, cacheTime = _q === void 0 ? 60 : _q, _r = _h.errorCodeMap, errorCodeMap = _r === void 0 ? {} : _r, _s = _h.successCodes, successCodes = _s === void 0 ? ["0", "200"] : _s, _t = _h.httpErrorCodeMap, httpErrorCodeMap = _t === void 0 ? {} : _t, _u = _h.throwError, throwError = _u === void 0 ? true : _u;
69
+ if (enableCache) {
70
+ cacheItem = cache.getCache(requestDataOrParams);
71
+ if (cacheItem) {
72
+ return [2 /*return*/, Promise.resolve(cacheItem)];
73
+ }
137
74
  }
138
- return [2 /*return*/, resData];
75
+ return [2 /*return*/, instance
76
+ .request(tslib.__assign({ method: method, url: url, data: data, params: params }, finalAxiosOptions))
77
+ .then(function (res) { return tslib.__awaiter(_this, void 0, void 0, function () {
78
+ var errorCode, _a, _b, _c, customHandler, err, _d, _e, replaceResData, _f, handlerThrowError, _g;
79
+ return tslib.__generator(this, function (_h) {
80
+ switch (_h.label) {
81
+ case 0:
82
+ errorCode = String(at(res.data, errorCodePath));
83
+ if (successCodes.includes(errorCode)) {
84
+ if (cacheData) {
85
+ cache.setCache(requestDataOrParams, res.data, { cacheTime: cacheTime });
86
+ }
87
+ return [2 /*return*/, res.data];
88
+ }
89
+ _a = errorCodeMap, _b = errorCode, _c = _a[_b], customHandler = _c === void 0 ? defaultErrorCodeHandler : _c;
90
+ err = new error("服务端错误", "server", res);
91
+ if (!(typeof customHandler === "string")) return [3 /*break*/, 1];
92
+ defaultMessageShower(customHandler);
93
+ return [3 /*break*/, 3];
94
+ case 1:
95
+ _g = Object;
96
+ return [4 /*yield*/, customHandler(errorCode, res.data, res, tslib.__assign(tslib.__assign({}, requestOptions), requestParam))];
97
+ case 2:
98
+ _d = _g.apply(void 0, [(_h.sent())]), _e = _d.replaceResData, replaceResData = _e === void 0 ? res.data : _e, _f = _d.throwError, handlerThrowError = _f === void 0 ? "default" : _f;
99
+ res.data = replaceResData;
100
+ switch (handlerThrowError) {
101
+ case true:
102
+ throw err;
103
+ case false:
104
+ return [2 /*return*/, res.data];
105
+ }
106
+ _h.label = 3;
107
+ case 3:
108
+ if (throwError) {
109
+ throw err;
110
+ }
111
+ return [2 /*return*/, res.data];
112
+ }
113
+ });
114
+ }); }, function (error$1) { return tslib.__awaiter(_this, void 0, void 0, function () {
115
+ var resData, _a, _b, _c, customHandler, err, _d, _e, replaceResData, _f, handlerThrowError, _g, resData, err, _h, _j, replaceResData, _k, handlerThrowError, _l;
116
+ return tslib.__generator(this, function (_m) {
117
+ switch (_m.label) {
118
+ case 0:
119
+ if (!error$1.response) return [3 /*break*/, 4];
120
+ resData = error$1;
121
+ _a = httpErrorCodeMap, _b = error$1.response.status, _c = _a[_b], customHandler = _c === void 0 ? defaultHttpErrorCodeHandler : _c;
122
+ err = new error("服务端错误", "http", error$1);
123
+ if (!(typeof customHandler === "string")) return [3 /*break*/, 1];
124
+ defaultMessageShower(customHandler);
125
+ return [3 /*break*/, 3];
126
+ case 1:
127
+ _g = Object;
128
+ return [4 /*yield*/, customHandler(error$1.response.status, error$1, tslib.__assign(tslib.__assign({}, requestOptions), requestParam))];
129
+ case 2:
130
+ _d = _g.apply(void 0, [(_m.sent())]), _e = _d.replaceResData, replaceResData = _e === void 0 ? error$1 : _e, _f = _d.throwError, handlerThrowError = _f === void 0 ? "default" : _f;
131
+ resData = replaceResData;
132
+ switch (handlerThrowError) {
133
+ case true:
134
+ throw err;
135
+ case false:
136
+ return [2 /*return*/, resData];
137
+ }
138
+ _m.label = 3;
139
+ case 3:
140
+ if (throwError) {
141
+ throw err;
142
+ }
143
+ return [2 /*return*/, resData];
144
+ case 4:
145
+ resData = error$1;
146
+ err = new error("服务端错误", "http", error$1);
147
+ err.type = "http";
148
+ err.data = error$1;
149
+ _l = Object;
150
+ return [4 /*yield*/, otherErrorHandler(error$1)];
151
+ case 5:
152
+ _h = (_l.apply(void 0, [(_m.sent())])), _j = _h.replaceResData, replaceResData = _j === void 0 ? error$1 : _j, _k = _h.throwError, handlerThrowError = _k === void 0 ? "default" : _k;
153
+ resData = replaceResData;
154
+ switch (handlerThrowError) {
155
+ case true:
156
+ throw err;
157
+ case false:
158
+ return [2 /*return*/, resData];
159
+ }
160
+ if (throwError) {
161
+ throw err;
162
+ }
163
+ return [2 /*return*/, resData];
164
+ }
165
+ });
166
+ }); })];
139
167
  }
140
168
  });
141
- }); });
169
+ });
142
170
  }
143
171
  request.clearCache = function () {
144
172
  cache.clear();
@@ -111,6 +111,13 @@ interface Options<Params = any, Data = any> {
111
111
  */
112
112
  otherErrorHandler?: (error: any) => Promise<ErrorHandlerReturnType<Data> | void>;
113
113
  axiosOptions?: Omit<AxiosRequestConfig<Params>, "method" | "url" | "params" | "data">;
114
+ requestMiddlewares?: ((options: Options<Params, Data>, requestOptions: RequestOptions<Params>) => Promise<{
115
+ axiosOptions?: Options<Params, Data>["axiosOptions"];
116
+ requestOptions?: RequestOptions<Params>;
117
+ }> | {
118
+ axiosOptions: Options<Params, Data>["axiosOptions"];
119
+ requestOptions?: RequestOptions<Params>;
120
+ })[];
114
121
  }
115
122
  /**
116
123
  * 请求参数接口
@@ -0,0 +1,23 @@
1
+ function deepAssign(target) {
2
+ var sources = [];
3
+ for (var _i = 1; _i < arguments.length; _i++) {
4
+ sources[_i - 1] = arguments[_i];
5
+ }
6
+ for (var _a = 0, sources_1 = sources; _a < sources_1.length; _a++) {
7
+ var source = sources_1[_a];
8
+ for (var key in source) {
9
+ var val = source[key];
10
+ if (val &&
11
+ typeof val === 'object' &&
12
+ !Array.isArray(val)) {
13
+ target[key] = deepAssign(target[key] || {}, val);
14
+ }
15
+ else {
16
+ target[key] = val;
17
+ }
18
+ }
19
+ }
20
+ return target;
21
+ }
22
+
23
+ export { deepAssign };
@@ -14,7 +14,7 @@ type UseCombineControlValueResolveResult<V, R extends (...args: any[]) => any> =
14
14
  };
15
15
  declare function useCombineControlValue<V>(options: UseCombineControlValueOptions<V>): UseCombineControlValueEasyResult<V>;
16
16
  declare function useCombineControlValue<V, R extends (...args: any[]) => any>(options: Omit<UseCombineControlValueOptions<V>, 'onChange'> & {
17
- onChange: (...args: Parameters<R>) => void;
17
+ onChange?: (...args: Parameters<R>) => void;
18
18
  }, resolveFn: (...args: Parameters<R>) => V): UseCombineControlValueResolveResult<V, R>;
19
19
 
20
20
  export { useCombineControlValue };
@@ -111,6 +111,13 @@ interface Options<Params = any, Data = any> {
111
111
  */
112
112
  otherErrorHandler?: (error: any) => Promise<ErrorHandlerReturnType<Data> | void>;
113
113
  axiosOptions?: Omit<AxiosRequestConfig<Params>, "method" | "url" | "params" | "data">;
114
+ requestMiddlewares?: ((options: Options<Params, Data>, requestOptions: RequestOptions<Params>) => Promise<{
115
+ axiosOptions?: Options<Params, Data>["axiosOptions"];
116
+ requestOptions?: RequestOptions<Params>;
117
+ }> | {
118
+ axiosOptions: Options<Params, Data>["axiosOptions"];
119
+ requestOptions?: RequestOptions<Params>;
120
+ })[];
114
121
  }
115
122
  /**
116
123
  * 请求参数接口
@@ -5,6 +5,7 @@ import { _defaultErrorCodeHandler, _defaultHttpErrorCodeHandler, _defaultOtherEr
5
5
  import defaultEquals from '../_utils/defaultEquals.mjs';
6
6
  import Cache from '../cache/index.mjs';
7
7
  import RequestError from './error.mjs';
8
+ import { deepAssign } from '../_utils/deepAssign.mjs';
8
9
 
9
10
  /**
10
11
  * 创建基础请求实例
@@ -31,112 +32,139 @@ function createBaseRequest(baseOptions) {
31
32
  var _b = __assign(__assign({}, baseOptions), createOptions), baseURL = _b.baseURL, _c = _b.cacheDataKey, cacheDataKey = _c === void 0 ? "".concat(method, ":").concat(baseURL).concat(url) : _c, cacheDataInStorage = _b.cacheDataInStorage, _d = _b.cacheKeyEquals, cacheKeyEquals = _d === void 0 ? defaultEquals : _d, cacheTime = _b.cacheTime, _e = _b.indexDBName, indexDBName = _e === void 0 ? "__apiCacheDatabase__" : _e;
32
33
  var cache = new Cache(cacheDataInStorage, cacheDataKey, cacheTime, indexDBName, cacheKeyEquals);
33
34
  function request(requestParam, options) {
34
- var _this = this;
35
- var _a = __assign(__assign({}, requestOptions), requestParam), method = _a.method, url = _a.url, _b = _a.data, data = _b === void 0 ? {} : _b, _c = _a.params, params = _c === void 0 ? {} : _c;
36
- var requestDataOrParams = params;
37
- if (method.toLowerCase() === "post") {
38
- requestDataOrParams = data;
39
- }
40
- var _d = __assign(__assign(__assign({}, baseOptions), createOptions), options).defaultMessageShower, defaultMessageShower = _d === void 0 ? console.error : _d;
41
- var _e = __assign(__assign(__assign({}, baseOptions), createOptions), options), _f = _e.enableCache, enableCache = _f === void 0 ? false : _f, _g = _e.cacheData, cacheData = _g === void 0 ? false : _g, _h = _e.defaultErrorCodeHandler, defaultErrorCodeHandler = _h === void 0 ? _defaultErrorCodeHandler.bind(null, defaultMessageShower) : _h, _j = _e.defaultHttpErrorCodeHandler, defaultHttpErrorCodeHandler = _j === void 0 ? _defaultHttpErrorCodeHandler.bind(null, defaultMessageShower) : _j, _k = _e.otherErrorHandler, otherErrorHandler = _k === void 0 ? _defaultOtherErrorCodeHandler.bind(null, defaultMessageShower) : _k, _l = _e.errorCodePath, errorCodePath = _l === void 0 ? "code" : _l, _m = _e.cacheTime, cacheTime = _m === void 0 ? 60 : _m, _o = _e.errorCodeMap, errorCodeMap = _o === void 0 ? {} : _o, _p = _e.successCodes, successCodes = _p === void 0 ? ["0", "200"] : _p, _q = _e.httpErrorCodeMap, httpErrorCodeMap = _q === void 0 ? {} : _q, _r = _e.axiosOptions, axiosOptions = _r === void 0 ? {} : _r, _s = _e.throwError, throwError = _s === void 0 ? true : _s;
42
- if (enableCache) {
43
- var cacheItem = cache.getCache(requestDataOrParams);
44
- if (cacheItem) {
45
- return Promise.resolve(cacheItem);
46
- }
47
- }
48
- return instance
49
- .request(__assign({ method: method, url: url, data: data, params: params }, axiosOptions))
50
- .then(function (res) { return __awaiter(_this, void 0, void 0, function () {
51
- var errorCode, _a, _b, _c, customHandler, err, _d, _e, replaceResData, _f, handlerThrowError, _g;
52
- return __generator(this, function (_h) {
53
- switch (_h.label) {
35
+ return __awaiter(this, void 0, void 0, function () {
36
+ var _a, _b, requestMiddlewares, _c, finalAxiosOptions, finalRequestOptions, _i, requestMiddlewares_1, middleware, _d, nextAxiosOptions, nextRequestOptions, method, url, _e, data, _f, params, requestDataOrParams, _g, defaultMessageShower, _h, _j, enableCache, _k, cacheData, _l, defaultErrorCodeHandler, _m, defaultHttpErrorCodeHandler, _o, otherErrorHandler, _p, errorCodePath, _q, cacheTime, _r, errorCodeMap, _s, successCodes, _t, httpErrorCodeMap, _u,
37
+ // axiosOptions = {},
38
+ throwError, cacheItem;
39
+ var _this = this;
40
+ return __generator(this, function (_v) {
41
+ switch (_v.label) {
54
42
  case 0:
55
- errorCode = String(at(res.data, errorCodePath));
56
- if (successCodes.includes(errorCode)) {
57
- if (cacheData) {
58
- cache.setCache(requestDataOrParams, res.data, { cacheTime: cacheTime });
59
- }
60
- return [2 /*return*/, res.data];
61
- }
62
- _a = errorCodeMap, _b = errorCode, _c = _a[_b], customHandler = _c === void 0 ? defaultErrorCodeHandler : _c;
63
- err = new RequestError("服务端错误", "server", res);
64
- if (!(typeof customHandler === "string")) return [3 /*break*/, 1];
65
- defaultMessageShower(customHandler);
66
- return [3 /*break*/, 3];
43
+ _a = __assign(__assign(__assign({}, baseOptions), createOptions), options), _b = _a.requestMiddlewares, requestMiddlewares = _b === void 0 ? [] : _b, _c = _a.axiosOptions, finalAxiosOptions = _c === void 0 ? {} : _c;
44
+ finalRequestOptions = __assign(__assign({}, requestOptions), requestParam);
45
+ _i = 0, requestMiddlewares_1 = requestMiddlewares;
46
+ _v.label = 1;
67
47
  case 1:
68
- _g = Object;
69
- return [4 /*yield*/, customHandler(errorCode, res.data, res, __assign(__assign({}, requestOptions), requestParam))];
48
+ if (!(_i < requestMiddlewares_1.length)) return [3 /*break*/, 4];
49
+ middleware = requestMiddlewares_1[_i];
50
+ return [4 /*yield*/, middleware(finalAxiosOptions, finalRequestOptions)];
70
51
  case 2:
71
- _d = _g.apply(void 0, [(_h.sent())]), _e = _d.replaceResData, replaceResData = _e === void 0 ? res.data : _e, _f = _d.throwError, handlerThrowError = _f === void 0 ? "default" : _f;
72
- res.data = replaceResData;
73
- switch (handlerThrowError) {
74
- case true:
75
- throw err;
76
- case false:
77
- return [2 /*return*/, res.data];
78
- }
79
- _h.label = 3;
52
+ _d = _v.sent(), nextAxiosOptions = _d.axiosOptions, nextRequestOptions = _d.requestOptions;
53
+ deepAssign({}, finalAxiosOptions, nextAxiosOptions);
54
+ deepAssign({}, finalRequestOptions, nextRequestOptions);
55
+ _v.label = 3;
80
56
  case 3:
81
- if (throwError) {
82
- throw err;
83
- }
84
- return [2 /*return*/, res.data];
85
- }
86
- });
87
- }); }, function (error) { return __awaiter(_this, void 0, void 0, function () {
88
- var resData, _a, _b, _c, customHandler, err, _d, _e, replaceResData, _f, handlerThrowError, _g, resData, err, _h, _j, replaceResData, _k, handlerThrowError, _l;
89
- return __generator(this, function (_m) {
90
- switch (_m.label) {
91
- case 0:
92
- if (!error.response) return [3 /*break*/, 4];
93
- resData = error;
94
- _a = httpErrorCodeMap, _b = error.response.status, _c = _a[_b], customHandler = _c === void 0 ? defaultHttpErrorCodeHandler : _c;
95
- err = new RequestError("服务端错误", "http", error);
96
- if (!(typeof customHandler === "string")) return [3 /*break*/, 1];
97
- defaultMessageShower(customHandler);
98
- return [3 /*break*/, 3];
99
- case 1:
100
- _g = Object;
101
- return [4 /*yield*/, customHandler(error.response.status, error, __assign(__assign({}, requestOptions), requestParam))];
102
- case 2:
103
- _d = _g.apply(void 0, [(_m.sent())]), _e = _d.replaceResData, replaceResData = _e === void 0 ? error : _e, _f = _d.throwError, handlerThrowError = _f === void 0 ? "default" : _f;
104
- resData = replaceResData;
105
- switch (handlerThrowError) {
106
- case true:
107
- throw err;
108
- case false:
109
- return [2 /*return*/, resData];
110
- }
111
- _m.label = 3;
112
- case 3:
113
- if (throwError) {
114
- throw err;
115
- }
116
- return [2 /*return*/, resData];
57
+ _i++;
58
+ return [3 /*break*/, 1];
117
59
  case 4:
118
- resData = error;
119
- err = new RequestError("服务端错误", "http", error);
120
- err.type = "http";
121
- err.data = error;
122
- _l = Object;
123
- return [4 /*yield*/, otherErrorHandler(error)];
124
- case 5:
125
- _h = (_l.apply(void 0, [(_m.sent())])), _j = _h.replaceResData, replaceResData = _j === void 0 ? error : _j, _k = _h.throwError, handlerThrowError = _k === void 0 ? "default" : _k;
126
- resData = replaceResData;
127
- switch (handlerThrowError) {
128
- case true:
129
- throw err;
130
- case false:
131
- return [2 /*return*/, resData];
60
+ method = finalRequestOptions.method, url = finalRequestOptions.url, _e = finalRequestOptions.data, data = _e === void 0 ? {} : _e, _f = finalRequestOptions.params, params = _f === void 0 ? {} : _f;
61
+ requestDataOrParams = params;
62
+ if (method.toLowerCase() === "post") {
63
+ requestDataOrParams = data;
132
64
  }
133
- if (throwError) {
134
- throw err;
65
+ _g = __assign(__assign(__assign({}, baseOptions), createOptions), options).defaultMessageShower, defaultMessageShower = _g === void 0 ? console.error : _g;
66
+ _h = __assign(__assign(__assign({}, baseOptions), createOptions), options), _j = _h.enableCache, enableCache = _j === void 0 ? false : _j, _k = _h.cacheData, cacheData = _k === void 0 ? false : _k, _l = _h.defaultErrorCodeHandler, defaultErrorCodeHandler = _l === void 0 ? _defaultErrorCodeHandler.bind(null, defaultMessageShower) : _l, _m = _h.defaultHttpErrorCodeHandler, defaultHttpErrorCodeHandler = _m === void 0 ? _defaultHttpErrorCodeHandler.bind(null, defaultMessageShower) : _m, _o = _h.otherErrorHandler, otherErrorHandler = _o === void 0 ? _defaultOtherErrorCodeHandler.bind(null, defaultMessageShower) : _o, _p = _h.errorCodePath, errorCodePath = _p === void 0 ? "code" : _p, _q = _h.cacheTime, cacheTime = _q === void 0 ? 60 : _q, _r = _h.errorCodeMap, errorCodeMap = _r === void 0 ? {} : _r, _s = _h.successCodes, successCodes = _s === void 0 ? ["0", "200"] : _s, _t = _h.httpErrorCodeMap, httpErrorCodeMap = _t === void 0 ? {} : _t, _u = _h.throwError, throwError = _u === void 0 ? true : _u;
67
+ if (enableCache) {
68
+ cacheItem = cache.getCache(requestDataOrParams);
69
+ if (cacheItem) {
70
+ return [2 /*return*/, Promise.resolve(cacheItem)];
71
+ }
135
72
  }
136
- return [2 /*return*/, resData];
73
+ return [2 /*return*/, instance
74
+ .request(__assign({ method: method, url: url, data: data, params: params }, finalAxiosOptions))
75
+ .then(function (res) { return __awaiter(_this, void 0, void 0, function () {
76
+ var errorCode, _a, _b, _c, customHandler, err, _d, _e, replaceResData, _f, handlerThrowError, _g;
77
+ return __generator(this, function (_h) {
78
+ switch (_h.label) {
79
+ case 0:
80
+ errorCode = String(at(res.data, errorCodePath));
81
+ if (successCodes.includes(errorCode)) {
82
+ if (cacheData) {
83
+ cache.setCache(requestDataOrParams, res.data, { cacheTime: cacheTime });
84
+ }
85
+ return [2 /*return*/, res.data];
86
+ }
87
+ _a = errorCodeMap, _b = errorCode, _c = _a[_b], customHandler = _c === void 0 ? defaultErrorCodeHandler : _c;
88
+ err = new RequestError("服务端错误", "server", res);
89
+ if (!(typeof customHandler === "string")) return [3 /*break*/, 1];
90
+ defaultMessageShower(customHandler);
91
+ return [3 /*break*/, 3];
92
+ case 1:
93
+ _g = Object;
94
+ return [4 /*yield*/, customHandler(errorCode, res.data, res, __assign(__assign({}, requestOptions), requestParam))];
95
+ case 2:
96
+ _d = _g.apply(void 0, [(_h.sent())]), _e = _d.replaceResData, replaceResData = _e === void 0 ? res.data : _e, _f = _d.throwError, handlerThrowError = _f === void 0 ? "default" : _f;
97
+ res.data = replaceResData;
98
+ switch (handlerThrowError) {
99
+ case true:
100
+ throw err;
101
+ case false:
102
+ return [2 /*return*/, res.data];
103
+ }
104
+ _h.label = 3;
105
+ case 3:
106
+ if (throwError) {
107
+ throw err;
108
+ }
109
+ return [2 /*return*/, res.data];
110
+ }
111
+ });
112
+ }); }, function (error) { return __awaiter(_this, void 0, void 0, function () {
113
+ var resData, _a, _b, _c, customHandler, err, _d, _e, replaceResData, _f, handlerThrowError, _g, resData, err, _h, _j, replaceResData, _k, handlerThrowError, _l;
114
+ return __generator(this, function (_m) {
115
+ switch (_m.label) {
116
+ case 0:
117
+ if (!error.response) return [3 /*break*/, 4];
118
+ resData = error;
119
+ _a = httpErrorCodeMap, _b = error.response.status, _c = _a[_b], customHandler = _c === void 0 ? defaultHttpErrorCodeHandler : _c;
120
+ err = new RequestError("服务端错误", "http", error);
121
+ if (!(typeof customHandler === "string")) return [3 /*break*/, 1];
122
+ defaultMessageShower(customHandler);
123
+ return [3 /*break*/, 3];
124
+ case 1:
125
+ _g = Object;
126
+ return [4 /*yield*/, customHandler(error.response.status, error, __assign(__assign({}, requestOptions), requestParam))];
127
+ case 2:
128
+ _d = _g.apply(void 0, [(_m.sent())]), _e = _d.replaceResData, replaceResData = _e === void 0 ? error : _e, _f = _d.throwError, handlerThrowError = _f === void 0 ? "default" : _f;
129
+ resData = replaceResData;
130
+ switch (handlerThrowError) {
131
+ case true:
132
+ throw err;
133
+ case false:
134
+ return [2 /*return*/, resData];
135
+ }
136
+ _m.label = 3;
137
+ case 3:
138
+ if (throwError) {
139
+ throw err;
140
+ }
141
+ return [2 /*return*/, resData];
142
+ case 4:
143
+ resData = error;
144
+ err = new RequestError("服务端错误", "http", error);
145
+ err.type = "http";
146
+ err.data = error;
147
+ _l = Object;
148
+ return [4 /*yield*/, otherErrorHandler(error)];
149
+ case 5:
150
+ _h = (_l.apply(void 0, [(_m.sent())])), _j = _h.replaceResData, replaceResData = _j === void 0 ? error : _j, _k = _h.throwError, handlerThrowError = _k === void 0 ? "default" : _k;
151
+ resData = replaceResData;
152
+ switch (handlerThrowError) {
153
+ case true:
154
+ throw err;
155
+ case false:
156
+ return [2 /*return*/, resData];
157
+ }
158
+ if (throwError) {
159
+ throw err;
160
+ }
161
+ return [2 /*return*/, resData];
162
+ }
163
+ });
164
+ }); })];
137
165
  }
138
166
  });
139
- }); });
167
+ });
140
168
  }
141
169
  request.clearCache = function () {
142
170
  cache.clear();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rxtutils",
3
- "version": "1.1.4-beta.7",
3
+ "version": "1.1.4-beta.9",
4
4
  "type": "module",
5
5
  "main": "cjs/index.cjs",
6
6
  "module": "es/index.mjs",