axios-annotations 1.2.1 → 1.3.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/README.md +112 -0
- package/decorator/abort-source.js +1 -0
- package/lib/core/service.d.ts +4 -1
- package/lib/core/service.js +1 -1
- package/lib/decorator/abort-source.d.ts +9 -0
- package/lib/decorator/abort-source.js +1 -0
- package/lib/decorator/request-config.d.ts +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -228,6 +228,114 @@ class AuthService extends Service {
|
|
|
228
228
|
}
|
|
229
229
|
```
|
|
230
230
|
|
|
231
|
+
## Abort
|
|
232
|
+
注意:小程序端可能没有实现请求取消接口。
|
|
233
|
+
### 静态注入
|
|
234
|
+
|
|
235
|
+
```javascript
|
|
236
|
+
const controller = new AbortController();
|
|
237
|
+
// ...
|
|
238
|
+
class AuthService extends Service {
|
|
239
|
+
// ...
|
|
240
|
+
@RequestConfig({
|
|
241
|
+
signal: controller.signal
|
|
242
|
+
})
|
|
243
|
+
bar() {
|
|
244
|
+
// ....
|
|
245
|
+
return {};
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
// 取消请求
|
|
250
|
+
controller.abort()
|
|
251
|
+
```
|
|
252
|
+
|
|
253
|
+
或者:
|
|
254
|
+
|
|
255
|
+
```javascript
|
|
256
|
+
const controller = new AbortController();
|
|
257
|
+
|
|
258
|
+
// ...
|
|
259
|
+
class AuthService extends Service {
|
|
260
|
+
// ...
|
|
261
|
+
@AbortSource(controller) bar() {
|
|
262
|
+
// ....
|
|
263
|
+
return {};
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
new AuthService().bar().then(() => {
|
|
268
|
+
|
|
269
|
+
}).catch(e => {
|
|
270
|
+
console.log(axios.isCancel(e));
|
|
271
|
+
});
|
|
272
|
+
|
|
273
|
+
// 取消请求
|
|
274
|
+
controller.abort()
|
|
275
|
+
```
|
|
276
|
+
|
|
277
|
+
兼容旧版 `CancelToken` `(deprecated)`:
|
|
278
|
+
```javascript
|
|
279
|
+
const CancelToken = axios.CancelToken;
|
|
280
|
+
|
|
281
|
+
const controller = new AbortControllerAdapter(CancelToken);
|
|
282
|
+
|
|
283
|
+
// ...
|
|
284
|
+
class AuthService extends Service {
|
|
285
|
+
// ...
|
|
286
|
+
@AbortSource(controller) bar() {
|
|
287
|
+
// ....
|
|
288
|
+
return {};
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
|
|
293
|
+
new AuthService().bar().then(() => {
|
|
294
|
+
|
|
295
|
+
}).catch(e => {
|
|
296
|
+
console.log(axios.isCancel(e));
|
|
297
|
+
});
|
|
298
|
+
|
|
299
|
+
// 取消请求
|
|
300
|
+
controller.abort("cancel test")
|
|
301
|
+
```
|
|
302
|
+
|
|
303
|
+
### 动态注入中断源
|
|
304
|
+
不确定中断时机。
|
|
305
|
+
```javascript
|
|
306
|
+
// 自定义中断逻辑
|
|
307
|
+
class AbortSourceManager {
|
|
308
|
+
// ...
|
|
309
|
+
|
|
310
|
+
create () {
|
|
311
|
+
return AbortController();
|
|
312
|
+
}
|
|
313
|
+
|
|
314
|
+
abortAll () {
|
|
315
|
+
// ...
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
|
|
319
|
+
const manager = new AbortSourceManager();
|
|
320
|
+
|
|
321
|
+
// ...
|
|
322
|
+
class AuthService extends Service {
|
|
323
|
+
// ...
|
|
324
|
+
@RequestConfig((...args)=>{
|
|
325
|
+
const controller = manager.create();
|
|
326
|
+
return {
|
|
327
|
+
// ...
|
|
328
|
+
signal: controller.signal
|
|
329
|
+
};
|
|
330
|
+
})
|
|
331
|
+
bar() {
|
|
332
|
+
// ....
|
|
333
|
+
return {};
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
```
|
|
337
|
+
|
|
338
|
+
|
|
231
339
|
## Plugin
|
|
232
340
|
|
|
233
341
|
### Custom Plugin
|
|
@@ -539,6 +647,10 @@ import {authorizer} from "/path/config.js";
|
|
|
539
647
|
#### IgnoreResidualParams(ignore?)
|
|
540
648
|
+ ignore : boolean `拼接 QueryString 时是否忽略没有声明的参数`
|
|
541
649
|
|
|
650
|
+
#### RequestConfig(config)
|
|
651
|
+
+ axiosConfig: Config - class decorator,注解类,传入框架配置对象,注意不是 AxiosConfig。
|
|
652
|
+
+ axiosConfig: AxiosConfig | (...args:any[]) => AxiosConfig - method decorator,注解方法,注解方法时可根据请求参数构造配置对象。
|
|
653
|
+
|
|
542
654
|
```javascript
|
|
543
655
|
// GET /foo?p1=p1&p2=p2&p3=p3
|
|
544
656
|
class TestService extends Service {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = require("../lib/decorator/abort-source");
|
package/lib/core/service.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import Config from "./config";
|
|
2
2
|
import {AxiosPromise, AxiosRequestConfig} from "axios";
|
|
3
|
+
import {AbortControllerAdapter} from "../decorator/abort-source";
|
|
3
4
|
|
|
4
5
|
export interface RequestController {
|
|
5
6
|
ignoreResidualParams: (ignore?: boolean) => RequestController;
|
|
@@ -15,6 +16,8 @@ export interface RequestController {
|
|
|
15
16
|
send: (data?: Record<string, any>) => AxiosPromise<any>;
|
|
16
17
|
|
|
17
18
|
with: (registration: string) => RequestController;
|
|
19
|
+
|
|
20
|
+
abort: (abortController: (AbortController | AbortControllerAdapter) | ((...args: any[]) => (AbortControllerAdapter | AbortController))) => RequestController;
|
|
18
21
|
}
|
|
19
22
|
|
|
20
23
|
export default class Service {
|
|
@@ -27,4 +30,4 @@ export default class Service {
|
|
|
27
30
|
request(method: string, path: string, data?: any, config?: Partial<AxiosRequestConfig>): AxiosPromise<any>;
|
|
28
31
|
|
|
29
32
|
requestWith(method: string, path?: string): RequestController;
|
|
30
|
-
}
|
|
33
|
+
}
|
package/lib/core/service.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.ConfigMapping=void 0;var _common=require("./common"),_parser=_interopRequireDefault(require("./parser")),_config=_interopRequireWildcard(require("./config"));function _getRequireWildcardCache(e){var t,r;return"function"!=typeof WeakMap?null:(t=new WeakMap,r=new WeakMap,(_getRequireWildcardCache=function(e){return e?r:t})(e))}function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!==_typeof(e)&&"function"!=typeof e)return{default:e};t=_getRequireWildcardCache(t);if(t&&t.has(e))return t.get(e);var r,n,i={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&((n=o?Object.getOwnPropertyDescriptor(e,r):null)&&(n.get||n.set)?Object.defineProperty(i,r,n):i[r]=e[r]);return i.default=e,t&&t.set(e,i),i}function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _createForOfIteratorHelper(e,t){var r,n,i,o,a="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(a)return n=!(r=!0),{s:function(){a=a.call(e)},n:function(){var e=a.next();return r=e.done,e},e:function(e){n=!0,i=e},f:function(){try{r||null==a.return||a.return()}finally{if(n)throw i}}};if(Array.isArray(e)||(a=_unsupportedIterableToArray(e))||t&&e&&"number"==typeof e.length)return a&&(e=a),o=0,{s:t=function(){},n:function(){return o>=e.length?{done:!0}:{done:!1,value:e[o++]}},e:function(e){throw e},f:t};throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,t){var r;if(e)return"string"==typeof e?_arrayLikeToArray(e,t):"Map"===(r="Object"===(r=Object.prototype.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:r)||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?_arrayLikeToArray(e,t):void 0}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _defineProperties(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,_toPropertyKey(n.key),n)}}function _createClass(e,t,r){return t&&_defineProperties(e.prototype,t),r&&_defineProperties(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function _defineProperty(e,t,r){return(t=_toPropertyKey(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function _toPropertyKey(e){e=_toPrimitive(e,"string");return"symbol"===_typeof(e)?e:String(e)}function _toPrimitive(e,t){if("object"!==_typeof(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0===r)return("string"===t?String:Number)(e);r=r.call(e,t||"default");if("object"!==_typeof(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}var ConfigMapping={requestHeaders:function(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:[],r={};if(e)for(var n in e){var i=e[n];r[n]="function"==typeof i?i.apply(void 0,t):i}return r},axiosConfig:function(e,t){var r={};return(e||[]).forEach(function(e){"function"==typeof e?Object.assign(r,e.apply(void 0,t)):Object.assign(r,e)}),r},querystring:function(e,t,r){if(!r)return"";var n;if(t){var i,o,a=_parser.default.decode(r);for(i in r){var s=r[i],f=t[i];f?f.body?_parser.default.delete(a,i):f.required?(0,_common.isNullOrEmpty)(s)&&!_parser.default.has(a,i)&&_parser.default.append(a,i,""):(0,_common.isNullOrEmpty)(s)&&_parser.default.has(a,i)&&_parser.default.delete(a,i):e&&!0===e.ignoreResidualParams&&_parser.default.delete(a,i)}for(o in t){var u=t[o];u&&!u.body&&u.required&&!_parser.default.has(a,o)&&_parser.default.append(a,o,"")}return _parser.default.encode(a)}return e&&!0===e.ignoreResidualParams?"":(n=_parser.default.decode(r),_parser.default.encode(n))},body:function(e,t){if(e)for(var r in e)if(!0===e[r].body)return(0,_common.isNullOrEmpty)(t)?void 0:t[r];return null}},Service=(exports.ConfigMapping=ConfigMapping,function(){function n(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:null;if(_classCallCheck(this,n),_defineProperty(this,"_path",""),_defineProperty(this,"_config",_config.config),_defineProperty(this,"_headers",{}),_defineProperty(this,"_params",{}),_defineProperty(this,"_configs",{}),_defineProperty(this,"_for",{}),_defineProperty(this,"_features",{}),!this._path&&e&&(this._path=e),"function"==typeof Object.getPrototypeOf?(Object.getPrototypeOf(this)._path&&(this._path=Object.getPrototypeOf(this)._path),Object.getPrototypeOf(this)._config&&(this._config=Object.getPrototypeOf(this)._config)):(this.__proto__._path&&(this._path=this.__proto__._path),this.__proto__._config&&(this._config=this.__proto__._config)),this.config&&this.config.plugins&&this.config.plugins.length){var t,r=_createForOfIteratorHelper(this.config.plugins);try{for(r.s();!(t=r.n()).done;)(0,t.value)(this.config)}catch(e){r.e(e)}finally{r.f()}}}return _createClass(n,[{key:"config",get:function(){return this._config},set:function(e){this._config=e}},{key:"path",get:function(){return this._path},set:function(e){this._path=e}},{key:"params",value:function(e,t){var r=2<arguments.length&&void 0!==arguments[2]?arguments[2]:{required:!1};if(!this._params||!this._params[e]||!Object.hasOwnProperty.call(this._params[e],t)){var r=Object.assign({required:!1,body:!1},r),n=this._params||{},i=this._params&&this._params[e]||{},o=i[t]||{};if(!0===r.body)for(var a in i)i[a].body=!1;this._params=Object.assign(n,_defineProperty({},e,Object.assign(i,_defineProperty({},t,Object.assign(o,r)))))}}},{key:"headers",value:function(e,t,r){var n=this._headers||{};Object.assign(n,_defineProperty({},e,Object.assign(n[e]||{},_defineProperty({},t,r))))}},{key:"for",value:function(e,t){if(1===arguments.length)return this._for[e];Object.assign(this._for,_defineProperty({},e,t))}},{key:"features",value:function(e,t){if(1===arguments.length)return this._features[e];Object.assign(this._features,_defineProperty({},e,t))}},{key:"configs",value:function(e,t){var r=this._configs||{};Object.assign(r,_defineProperty({},e,(r[e]||[]).concat(t)))}},{key:"pathVariable",value:function(e,t){var r=e||"",e=r.match(/{\w+}/g);return Array.isArray(e)&&e.forEach(function(e){e=e.substring(1,e.length-1);r=r.replaceAll("{".concat(e,"}"),t[e])}),r}},{key:"createRequestConfig",value:function(e,t,r){var n=3<arguments.length&&void 0!==arguments[3]?arguments[3]:[],i=4<arguments.length&&void 0!==arguments[4]?arguments[4]:[],o=ConfigMapping.querystring(this._features[e],this._params[e],r),r=ConfigMapping.body(this._params[e],r),n=ConfigMapping.requestHeaders(this._headers[e],n),
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.ConfigMapping=void 0;var _common=require("./common"),_parser=_interopRequireDefault(require("./parser")),_config=_interopRequireWildcard(require("./config"));function _getRequireWildcardCache(e){var t,r;return"function"!=typeof WeakMap?null:(t=new WeakMap,r=new WeakMap,(_getRequireWildcardCache=function(e){return e?r:t})(e))}function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!==_typeof(e)&&"function"!=typeof e)return{default:e};t=_getRequireWildcardCache(t);if(t&&t.has(e))return t.get(e);var r,n,i={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&((n=o?Object.getOwnPropertyDescriptor(e,r):null)&&(n.get||n.set)?Object.defineProperty(i,r,n):i[r]=e[r]);return i.default=e,t&&t.set(e,i),i}function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _createForOfIteratorHelper(e,t){var r,n,i,o,a="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(a)return n=!(r=!0),{s:function(){a=a.call(e)},n:function(){var e=a.next();return r=e.done,e},e:function(e){n=!0,i=e},f:function(){try{r||null==a.return||a.return()}finally{if(n)throw i}}};if(Array.isArray(e)||(a=_unsupportedIterableToArray(e))||t&&e&&"number"==typeof e.length)return a&&(e=a),o=0,{s:t=function(){},n:function(){return o>=e.length?{done:!0}:{done:!1,value:e[o++]}},e:function(e){throw e},f:t};throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,t){var r;if(e)return"string"==typeof e?_arrayLikeToArray(e,t):"Map"===(r="Object"===(r=Object.prototype.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:r)||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?_arrayLikeToArray(e,t):void 0}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _defineProperties(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,_toPropertyKey(n.key),n)}}function _createClass(e,t,r){return t&&_defineProperties(e.prototype,t),r&&_defineProperties(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function _defineProperty(e,t,r){return(t=_toPropertyKey(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function _toPropertyKey(e){e=_toPrimitive(e,"string");return"symbol"===_typeof(e)?e:String(e)}function _toPrimitive(e,t){if("object"!==_typeof(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0===r)return("string"===t?String:Number)(e);r=r.call(e,t||"default");if("object"!==_typeof(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}var ConfigMapping={requestHeaders:function(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:[],r={};if(e)for(var n in e){var i=e[n];r[n]="function"==typeof i?i.apply(void 0,t):i}return r},axiosConfig:function(e,t){var r={};return(e||[]).forEach(function(e){"function"==typeof e?Object.assign(r,e.apply(void 0,t)):Object.assign(r,e)}),r},querystring:function(e,t,r){if(!r)return"";var n;if(t){var i,o,a=_parser.default.decode(r);for(i in r){var s=r[i],f=t[i];f?f.body?_parser.default.delete(a,i):f.required?(0,_common.isNullOrEmpty)(s)&&!_parser.default.has(a,i)&&_parser.default.append(a,i,""):(0,_common.isNullOrEmpty)(s)&&_parser.default.has(a,i)&&_parser.default.delete(a,i):e&&!0===e.ignoreResidualParams&&_parser.default.delete(a,i)}for(o in t){var u=t[o];u&&!u.body&&u.required&&!_parser.default.has(a,o)&&_parser.default.append(a,o,"")}return _parser.default.encode(a)}return e&&!0===e.ignoreResidualParams?"":(n=_parser.default.decode(r),_parser.default.encode(n))},body:function(e,t){if(e)for(var r in e)if(!0===e[r].body)return(0,_common.isNullOrEmpty)(t)?void 0:t[r];return null}},Service=(exports.ConfigMapping=ConfigMapping,function(){function n(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:null;if(_classCallCheck(this,n),_defineProperty(this,"_path",""),_defineProperty(this,"_config",_config.config),_defineProperty(this,"_headers",{}),_defineProperty(this,"_params",{}),_defineProperty(this,"_configs",{}),_defineProperty(this,"_for",{}),_defineProperty(this,"_features",{}),!this._path&&e&&(this._path=e),"function"==typeof Object.getPrototypeOf?(Object.getPrototypeOf(this)._path&&(this._path=Object.getPrototypeOf(this)._path),Object.getPrototypeOf(this)._config&&(this._config=Object.getPrototypeOf(this)._config)):(this.__proto__._path&&(this._path=this.__proto__._path),this.__proto__._config&&(this._config=this.__proto__._config)),this.config&&this.config.plugins&&this.config.plugins.length){var t,r=_createForOfIteratorHelper(this.config.plugins);try{for(r.s();!(t=r.n()).done;)(0,t.value)(this.config)}catch(e){r.e(e)}finally{r.f()}}}return _createClass(n,[{key:"config",get:function(){return this._config},set:function(e){this._config=e}},{key:"path",get:function(){return this._path},set:function(e){this._path=e}},{key:"params",value:function(e,t){var r=2<arguments.length&&void 0!==arguments[2]?arguments[2]:{required:!1};if(!this._params||!this._params[e]||!Object.hasOwnProperty.call(this._params[e],t)){var r=Object.assign({required:!1,body:!1},r),n=this._params||{},i=this._params&&this._params[e]||{},o=i[t]||{};if(!0===r.body)for(var a in i)i[a].body=!1;this._params=Object.assign(n,_defineProperty({},e,Object.assign(i,_defineProperty({},t,Object.assign(o,r)))))}}},{key:"headers",value:function(e,t,r){var n=this._headers||{};Object.assign(n,_defineProperty({},e,Object.assign(n[e]||{},_defineProperty({},t,r))))}},{key:"for",value:function(e,t){if(1===arguments.length)return this._for[e];Object.assign(this._for,_defineProperty({},e,t))}},{key:"abort",value:function(e,t){t=Object.assign(this.features(e)||{},{abortController:t});this.features(e,t)}},{key:"features",value:function(e,t){if(1===arguments.length)return this._features[e];Object.assign(this._features,_defineProperty({},e,t))}},{key:"configs",value:function(e,t){var r=this._configs||{};Object.assign(r,_defineProperty({},e,(r[e]||[]).concat(t)))}},{key:"pathVariable",value:function(e,t){var r=e||"",e=r.match(/{\w+}/g);return Array.isArray(e)&&e.forEach(function(e){e=e.substring(1,e.length-1);r=r.replaceAll("{".concat(e,"}"),t[e])}),r}},{key:"createRequestConfig",value:function(e,t,r){var n=3<arguments.length&&void 0!==arguments[3]?arguments[3]:[],i=4<arguments.length&&void 0!==arguments[4]?arguments[4]:[],o=ConfigMapping.querystring(this._features[e],this._params[e],r),r=ConfigMapping.body(this._params[e],r),n=ConfigMapping.requestHeaders(this._headers[e],n),a=ConfigMapping.axiosConfig(this._configs[e],i),t="".concat(t).concat(o?(0<=t.lastIndexOf("?")?"&":"?")+o:"");return this._features&&this._features[e]&&this._features[e].abortController&&(i="function"==typeof(e=this._features[e].abortController)?e.apply(void 0,i):e)&&(i.source?a.cancelToken=i.source.token:a.signal=i.signal),Object.assign(a,{headers:Object.assign(n,a.headers||null)}),{path:t,body:r,config:a,query:o}}},{key:"request",value:function(e,t){var r=2<arguments.length&&void 0!==arguments[2]?arguments[2]:{},n=3<arguments.length&&void 0!==arguments[3]?arguments[3]:{},t=0<=t.indexOf("http")?t:this.config.baseURL+(0,_common.normalizePath)("/".concat(this.path||"","/").concat(t));return this.config.axios.request(Object.assign({method:e,url:t,data:r},n))}},{key:"requestWith",value:function(a){var s=this,f=1<arguments.length&&void 0!==arguments[1]?arguments[1]:"",u={},c=[],p={},l={},d=this.config,n={with:function(e){e=_config.default.forName(e);return e&&(d=e),n},param:function(e){return Object.assign(u,_defineProperty({},e,Object.assign(u[e]||{},{required:1<arguments.length&&void 0!==arguments[1]&&arguments[1],body:!1}))),n},abort:function(e){return Object.assign(l,{abortController:e}),n},ignoreResidualParams:function(){return Object.assign(l,{ignoreResidualParams:!0===(!(0<arguments.length&&void 0!==arguments[0])||arguments[0])}),n},header:function(e,t){return Object.assign(p,_defineProperty({},e,t)),n},body:function(e){var t,r=u[e]||{};for(t in u)u[t].body=!1;return Object.assign(u,_defineProperty({},e,Object.assign(r,{required:!1,body:!0}))),n},config:function(e){return c.push(e),n},send:function(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},t=ConfigMapping.querystring(l,u,e),r=ConfigMapping.body(u,e),n=ConfigMapping.requestHeaders(p,[e]),i=ConfigMapping.axiosConfig(c,[e]),o=l.abortController;return Object.assign(i,{headers:Object.assign(n,i.headers||null)}),o&&(n="function"==typeof o?o.apply(void 0,[e]):o)&&(n.source?i.cancelToken=n.source.token:i.signal=n.signal),d?(0,_common.forward)(d.axios,d.origin,d.prefix,s.path,f,a,t,r,i):(o="".concat(s.pathVariable(f||"",e)).concat(t?(0<=f.lastIndexOf("?")?"&":"?")+t:""),s.request(a,o,r,i))}};return n}}]),n}());exports.default=Service;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import {AxiosPromise, CancelToken} from "axios";
|
|
2
|
+
|
|
3
|
+
export class AbortControllerAdapter {
|
|
4
|
+
constructor(CancelToken: CancelToken);
|
|
5
|
+
|
|
6
|
+
abort(reason?: string): void;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export default function AbortSource(abortController: (AbortController | AbortControllerAdapter) | ((...args: any[]) => (AbortController | AbortControllerAdapter))): (() => AxiosPromise<any>);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _defineProperties(e,t){for(var r=0;r<t.length;r++){var o=t[r];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,_toPropertyKey(o.key),o)}}function _createClass(e,t,r){return t&&_defineProperties(e.prototype,t),r&&_defineProperties(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function _defineProperty(e,t,r){return(t=_toPropertyKey(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function _toPropertyKey(e){e=_toPrimitive(e,"string");return"symbol"===_typeof(e)?e:String(e)}function _toPrimitive(e,t){if("object"!==_typeof(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0===r)return("string"===t?String:Number)(e);r=r.call(e,t||"default");if("object"!==_typeof(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}Object.defineProperty(exports,"__esModule",{value:!0}),exports.AbortControllerAdapter=void 0,exports.default=_default;var AbortControllerAdapter=function(){function t(e){_classCallCheck(this,t),_defineProperty(this,"_source",null),this._source=e.source()}return _createClass(t,[{key:"signal",get:function(){return{reason:this._source.token&&this._source.token.reason&&this._source.token.reason.message||"",aborted:!(!this._source.token||!this._source.token.reason)&&"ERR_CANCELED"===this._source.token.reason.code}}},{key:"source",get:function(){return this._source}},{key:"abort",value:function(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:"";e?this._source.cancel(e):this._source.cancel()}}]),t}();function _default(u){return function(e,n,t){var i;t&&(i=t.value,t.value=function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];var o=u;return"function"==typeof u&&(o=u.apply(void 0,t)),this.abort(n,o),i.apply(this,arguments)})}}exports.AbortControllerAdapter=AbortControllerAdapter;
|
|
@@ -4,4 +4,4 @@ import Service from "../core/service";
|
|
|
4
4
|
|
|
5
5
|
export default function RequestConfig(config: Config): (() => Service);
|
|
6
6
|
|
|
7
|
-
export default function RequestConfig(config: Partial<AxiosRequestConfig>): (() => AxiosPromise<any>);
|
|
7
|
+
export default function RequestConfig(config: ((...args: any[]) => Partial<AxiosRequestConfig>) | Partial<AxiosRequestConfig>): (() => AxiosPromise<any>);
|