axios-annotations 1.3.4 → 2.0.1

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.
Files changed (98) hide show
  1. package/README.md +257 -105
  2. package/index.d.ts +1 -0
  3. package/index.js +121 -0
  4. package/lib/core/cancel.d.ts +30 -0
  5. package/lib/core/cancel.js +56 -0
  6. package/lib/core/common.d.ts +6 -0
  7. package/lib/core/common.js +166 -1
  8. package/lib/core/config.d.ts +60 -29
  9. package/lib/core/config.js +332 -1
  10. package/lib/core/parser.d.ts +19 -15
  11. package/lib/core/parser.js +79 -1
  12. package/lib/core/provider.d.ts +6 -0
  13. package/lib/core/provider.js +172 -0
  14. package/lib/core/service.d.ts +153 -33
  15. package/lib/core/service.js +562 -1
  16. package/lib/decorator/abort-source.d.ts +3 -9
  17. package/lib/decorator/abort-source.js +25 -1
  18. package/lib/decorator/delete-mapping.d.ts +1 -3
  19. package/lib/decorator/delete-mapping.js +13 -1
  20. package/lib/decorator/get-mapping.d.ts +1 -3
  21. package/lib/decorator/get-mapping.js +13 -1
  22. package/lib/decorator/ignore-residual-params.d.ts +1 -3
  23. package/lib/decorator/ignore-residual-params.js +24 -1
  24. package/lib/decorator/patch-mapping.d.ts +1 -3
  25. package/lib/decorator/patch-mapping.js +13 -1
  26. package/lib/decorator/post-mapping.d.ts +1 -3
  27. package/lib/decorator/post-mapping.js +13 -1
  28. package/lib/decorator/put-mapping.d.ts +1 -3
  29. package/lib/decorator/put-mapping.js +13 -1
  30. package/lib/decorator/request-body.d.ts +1 -3
  31. package/lib/decorator/request-body.js +28 -1
  32. package/lib/decorator/request-config.d.ts +5 -7
  33. package/lib/decorator/request-config.js +23 -1
  34. package/lib/decorator/request-header.d.ts +2 -5
  35. package/lib/decorator/request-header.js +21 -1
  36. package/lib/decorator/request-mapping.d.ts +3 -6
  37. package/lib/decorator/request-mapping.js +58 -1
  38. package/lib/decorator/request-param.d.ts +1 -3
  39. package/lib/decorator/request-param.js +27 -1
  40. package/lib/decorator/request-with.d.ts +1 -3
  41. package/lib/decorator/request-with.js +20 -1
  42. package/lib/index.d.ts +19 -0
  43. package/lib/index.js +139 -0
  44. package/lib/plugins/auth/authorizer.d.ts +23 -49
  45. package/lib/plugins/auth/authorizer.js +271 -1
  46. package/lib/plugins/auth/history.d.ts +14 -15
  47. package/lib/plugins/auth/history.js +96 -1
  48. package/lib/plugins/auth/index.d.ts +9 -4
  49. package/lib/plugins/auth/index.js +368 -1
  50. package/lib/plugins/auth/queue.d.ts +28 -16
  51. package/lib/plugins/auth/queue.js +270 -1
  52. package/lib/plugins/auth/storage.d.ts +6 -7
  53. package/lib/plugins/auth/storage.js +207 -1
  54. package/package.json +16 -16
  55. package/plugins/auth/index.d.ts +4 -4
  56. package/plugins/auth/index.js +26 -1
  57. package/core/config.d.ts +0 -29
  58. package/core/config.js +0 -1
  59. package/core/parser.d.ts +0 -15
  60. package/core/parser.js +0 -1
  61. package/core/service.d.ts +0 -33
  62. package/core/service.js +0 -1
  63. package/decorator/abort-source.d.ts +0 -9
  64. package/decorator/abort-source.js +0 -1
  65. package/decorator/delete-mapping.d.ts +0 -1
  66. package/decorator/delete-mapping.js +0 -1
  67. package/decorator/get-mapping.d.ts +0 -1
  68. package/decorator/get-mapping.js +0 -1
  69. package/decorator/ignore-residual-params.d.ts +0 -1
  70. package/decorator/ignore-residual-params.js +0 -1
  71. package/decorator/patch-mapping.d.ts +0 -1
  72. package/decorator/patch-mapping.js +0 -1
  73. package/decorator/post-mapping.d.ts +0 -1
  74. package/decorator/post-mapping.js +0 -1
  75. package/decorator/put-mapping.d.ts +0 -3
  76. package/decorator/put-mapping.js +0 -1
  77. package/decorator/request-body.d.ts +0 -3
  78. package/decorator/request-body.js +0 -1
  79. package/decorator/request-config.d.ts +0 -29
  80. package/decorator/request-config.js +0 -1
  81. package/decorator/request-header.d.ts +0 -1
  82. package/decorator/request-header.js +0 -1
  83. package/decorator/request-mapping.d.ts +0 -1
  84. package/decorator/request-mapping.js +0 -1
  85. package/decorator/request-param.d.ts +0 -1
  86. package/decorator/request-param.js +0 -1
  87. package/decorator/request-with.d.ts +0 -1
  88. package/decorator/request-with.js +0 -1
  89. package/lib/plugins/cache/index.js +0 -1
  90. package/plugins/auth/authorizer.d.ts +0 -49
  91. package/plugins/auth/authorizer.js +0 -1
  92. package/plugins/auth/history.d.ts +0 -15
  93. package/plugins/auth/history.js +0 -1
  94. package/plugins/auth/queue.d.ts +0 -16
  95. package/plugins/auth/queue.js +0 -1
  96. package/plugins/auth/storage.d.ts +0 -7
  97. package/plugins/auth/storage.js +0 -1
  98. package/plugins/cache/index.js +0 -1
@@ -1 +1,562 @@
1
- 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={__proto__:null},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(r in e)"default"!==r&&{}.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 i=!(n=!0),{s:function(){a=a.call(e)},n:function(){var e=a.next();return n=e.done,e},e:function(e){i=!0,r=e},f:function(){try{n||null==a.return||a.return()}finally{if(i)throw r}}};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={}.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=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:e+""}function _toPrimitive(e,t){if("object"!=_typeof(e)||!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=exports.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.default=_createClass(function e(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:null;if(_classCallCheck(this,e),_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&&t&&(this._path=t),"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 r,n=_createForOfIteratorHelper(this.config.plugins);try{for(n.s();!(r=n.n()).done;)(0,r.value)(this.config)}catch(e){n.e(e)}finally{n.f()}}},[{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=[],l={},p={},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(p,{abortController:e}),n},ignoreResidualParams:function(){return Object.assign(p,{ignoreResidualParams:!0===(!(0<arguments.length&&void 0!==arguments[0])||arguments[0])}),n},header:function(e,t){return Object.assign(l,_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(p,u,e),r=ConfigMapping.body(u,e),n=ConfigMapping.requestHeaders(l,[e]),i=ConfigMapping.axiosConfig(c,[e]),o=p.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}}]);
1
+ "use strict";
2
+ var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
3
+ function adopt(value) {
4
+ return value instanceof P ? value : new P(function(resolve) {
5
+ resolve(value);
6
+ });
7
+ }
8
+ return new (P || (P = Promise))(function(resolve, reject) {
9
+ function fulfilled(value) {
10
+ try {
11
+ step(generator.next(value));
12
+ } catch (e) {
13
+ reject(e);
14
+ }
15
+ }
16
+ function rejected(value) {
17
+ try {
18
+ step(generator["throw"](value));
19
+ } catch (e) {
20
+ reject(e);
21
+ }
22
+ }
23
+ function step(result) {
24
+ result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
25
+ }
26
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
27
+ });
28
+ };
29
+ var __generator = this && this.__generator || function(thisArg, body) {
30
+ var _ = {
31
+ label: 0,
32
+ sent: function sent() {
33
+ if (t[0] & 1) throw t[1];
34
+ return t[1];
35
+ },
36
+ trys: [],
37
+ ops: []
38
+ }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
39
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() {
40
+ return this;
41
+ }), g;
42
+ function verb(n) {
43
+ return function(v) {
44
+ return step([
45
+ n,
46
+ v
47
+ ]);
48
+ };
49
+ }
50
+ function step(op) {
51
+ if (f) throw new TypeError("Generator is already executing.");
52
+ while(g && (g = 0, op[0] && (_ = 0)), _)try {
53
+ 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;
54
+ if (y = 0, t) op = [
55
+ op[0] & 2,
56
+ t.value
57
+ ];
58
+ switch(op[0]){
59
+ case 0:
60
+ case 1:
61
+ t = op;
62
+ break;
63
+ case 4:
64
+ _.label++;
65
+ return {
66
+ value: op[1],
67
+ done: false
68
+ };
69
+ case 5:
70
+ _.label++;
71
+ y = op[1];
72
+ op = [
73
+ 0
74
+ ];
75
+ continue;
76
+ case 7:
77
+ op = _.ops.pop();
78
+ _.trys.pop();
79
+ continue;
80
+ default:
81
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
82
+ _ = 0;
83
+ continue;
84
+ }
85
+ if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
86
+ _.label = op[1];
87
+ break;
88
+ }
89
+ if (op[0] === 6 && _.label < t[1]) {
90
+ _.label = t[1];
91
+ t = op;
92
+ break;
93
+ }
94
+ if (t && _.label < t[2]) {
95
+ _.label = t[2];
96
+ _.ops.push(op);
97
+ break;
98
+ }
99
+ if (t[2]) _.ops.pop();
100
+ _.trys.pop();
101
+ continue;
102
+ }
103
+ op = body.call(thisArg, _);
104
+ } catch (e) {
105
+ op = [
106
+ 6,
107
+ e
108
+ ];
109
+ y = 0;
110
+ } finally{
111
+ f = t = 0;
112
+ }
113
+ if (op[0] & 5) throw op[1];
114
+ return {
115
+ value: op[0] ? op[1] : void 0,
116
+ done: true
117
+ };
118
+ }
119
+ };
120
+ var __spreadArray = this && this.__spreadArray || function(to, from, pack) {
121
+ if (pack || arguments.length === 2) for(var i = 0, l = from.length, ar; i < l; i++){
122
+ if (ar || !(i in from)) {
123
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
124
+ ar[i] = from[i];
125
+ }
126
+ }
127
+ return to.concat(ar || Array.prototype.slice.call(from));
128
+ };
129
+ Object.defineProperty(exports, "__esModule", {
130
+ value: true
131
+ });
132
+ exports.ConfigMapping = void 0;
133
+ var common_1 = require("./common");
134
+ var parser_1 = require("./parser");
135
+ var config_1 = require("./config");
136
+ exports.ConfigMapping = {
137
+ requestHeaders: function requestHeaders(rules, args) {
138
+ if (args === void 0) {
139
+ args = [];
140
+ }
141
+ var headers = {};
142
+ if (rules) {
143
+ for(var h in rules){
144
+ var value = rules[h];
145
+ if (typeof value === "function") {
146
+ headers[h] = value.apply(undefined, args);
147
+ } else {
148
+ headers[h] = value;
149
+ }
150
+ }
151
+ }
152
+ return headers;
153
+ },
154
+ axiosConfig: function axiosConfig(options, args) {
155
+ var config = {};
156
+ (options || []).forEach(function(o) {
157
+ if (typeof o === "function") {
158
+ Object.assign(config, o.apply(undefined, args));
159
+ } else {
160
+ Object.assign(config, o);
161
+ }
162
+ });
163
+ return config;
164
+ },
165
+ querystring: function querystring(features, rules, data) {
166
+ if (!data) {
167
+ return "";
168
+ }
169
+ if (rules) {
170
+ var encoder = parser_1["default"].decode(data);
171
+ for(var key in data){
172
+ var value = data[key];
173
+ var rule = rules[key];
174
+ if (rule) {
175
+ if (!rule.body) {
176
+ if (!rule.required) {
177
+ if ((0, common_1.isNullOrEmpty)(value)) {
178
+ if (parser_1["default"].has(encoder, key)) {
179
+ parser_1["default"]["delete"](encoder, key);
180
+ }
181
+ }
182
+ } else {
183
+ if ((0, common_1.isNullOrEmpty)(value)) {
184
+ if (!parser_1["default"].has(encoder, key)) {
185
+ parser_1["default"].append(encoder, key, "");
186
+ }
187
+ }
188
+ }
189
+ } else {
190
+ parser_1["default"]["delete"](encoder, key);
191
+ }
192
+ } else {
193
+ if (features && features.ignoreResidualParams === true) {
194
+ parser_1["default"]["delete"](encoder, key);
195
+ }
196
+ }
197
+ }
198
+ for(var key in rules){
199
+ var rule = rules[key];
200
+ if (rule && !rule.body && rule.required && !parser_1["default"].has(encoder, key)) {
201
+ parser_1["default"].append(encoder, key, "");
202
+ }
203
+ }
204
+ return parser_1["default"].encode(encoder);
205
+ } else {
206
+ if (features && features.ignoreResidualParams === true) {
207
+ return "";
208
+ } else {
209
+ var encoder = parser_1["default"].decode(data);
210
+ return parser_1["default"].encode(encoder);
211
+ }
212
+ }
213
+ },
214
+ /**
215
+ * 从参数对象中提取 body 所属字段
216
+ * @param rules
217
+ * @param data
218
+ */ body: function body(rules, data) {
219
+ if (rules) {
220
+ for(var r in rules){
221
+ var rule = rules[r];
222
+ if (rule.body === true) {
223
+ return !(0, common_1.isNullOrEmpty)(data) ? data[r] : undefined;
224
+ }
225
+ }
226
+ }
227
+ return null;
228
+ }
229
+ };
230
+ // noinspection JSUnusedGlobalSymbols
231
+ var Service = /** @class */ function() {
232
+ function Service(path) {
233
+ if (path === void 0) {
234
+ path = null;
235
+ }
236
+ this._path = "";
237
+ this._config = config_1.config;
238
+ this._headers = {};
239
+ this._params = {};
240
+ this._configs = {};
241
+ this._for = {};
242
+ this._features = {};
243
+ if (!this._path && path) {
244
+ this._path = path;
245
+ }
246
+ if (typeof Object.getPrototypeOf === "function") {
247
+ if (Object.getPrototypeOf(this)._path) {
248
+ this._path = Object.getPrototypeOf(this)._path;
249
+ }
250
+ if (Object.getPrototypeOf(this)._config) {
251
+ this._config = Object.getPrototypeOf(this)._config;
252
+ }
253
+ } else {
254
+ if (Object.getPrototypeOf(this)._path) {
255
+ this._path = Object.getPrototypeOf(this)._path;
256
+ }
257
+ if (Object.getPrototypeOf(this)._config) {
258
+ this._config = Object.getPrototypeOf(this)._config;
259
+ }
260
+ }
261
+ }
262
+ Object.defineProperty(Service.prototype, "config", {
263
+ get: function get() {
264
+ return this._config;
265
+ },
266
+ set: function set(value) {
267
+ this._config = value;
268
+ },
269
+ enumerable: false,
270
+ configurable: true
271
+ });
272
+ Object.defineProperty(Service.prototype, "path", {
273
+ get: function get() {
274
+ return this._path;
275
+ },
276
+ set: function set(value) {
277
+ this._path = value;
278
+ },
279
+ enumerable: false,
280
+ configurable: true
281
+ });
282
+ Service.prototype.params = function(id, name, config) {
283
+ var _a, _b;
284
+ if (config === void 0) {
285
+ config = {
286
+ required: false
287
+ };
288
+ }
289
+ if (!this._params || !this._params[id] || !Object.hasOwnProperty.call(this._params[id], name)) {
290
+ var cfg = Object.assign({
291
+ required: false,
292
+ body: false
293
+ }, config);
294
+ var root = this._params || {};
295
+ var rules = this._params ? this._params[id] || {} : {};
296
+ var rule = rules[name] || {};
297
+ if (cfg.body === true) {
298
+ for(var r in rules){
299
+ var rule_1 = rules[r];
300
+ rule_1.body = false;
301
+ }
302
+ }
303
+ this._params = Object.assign(root, (_a = {}, _a[id] = Object.assign(rules, (_b = {}, _b[name] = Object.assign(rule, cfg), _b)), _a));
304
+ }
305
+ };
306
+ Service.prototype.headers = function(id, header, value) {
307
+ var _a, _b;
308
+ var root = this._headers || {};
309
+ Object.assign(root, (_a = {}, _a[id] = Object.assign(root[id] || {}, (_b = {}, _b[header] = value, _b)), _a));
310
+ };
311
+ Service.prototype["for"] = function(id, registrationName) {
312
+ var _a;
313
+ if (arguments.length === 1) {
314
+ return this._for[id];
315
+ }
316
+ Object.assign(this._for, (_a = {}, _a[id] = registrationName, _a));
317
+ };
318
+ Service.prototype.abort = function(id, abortController) {
319
+ var cfg = Object.assign(this.features(id) || {}, {
320
+ abortController: abortController
321
+ });
322
+ this.features(id, cfg);
323
+ };
324
+ Service.prototype.features = function(id, options) {
325
+ var _a;
326
+ if (arguments.length === 1) {
327
+ return this._features[id];
328
+ }
329
+ Object.assign(this._features, (_a = {}, _a[id] = options, _a));
330
+ };
331
+ Service.prototype.configs = function(id, options) {
332
+ var _a;
333
+ var root = this._configs || {};
334
+ Object.assign(root, (_a = {}, _a[id] = (root[id] || []).concat(options), _a));
335
+ };
336
+ /**
337
+ * 填充路径占位符 <br/>
338
+ * override this method to custom placeholder replacement <br>
339
+ * default implement: data = { id: 111 }; <br/>
340
+ * "/path/{id}" -> return "/path/111"
341
+ * @param path
342
+ * @param data
343
+ */ Service.prototype.pathVariable = function(path, data) {
344
+ var p = path || "";
345
+ var matchers = p.match(/{\w+}/g);
346
+ if (Array.isArray(matchers)) {
347
+ matchers.forEach(function(m) {
348
+ var field = m.substring(1, m.length - 1);
349
+ p = (0, common_1.replaceAllStr)(p, "{".concat(field, "}"), data[field]);
350
+ });
351
+ }
352
+ return p;
353
+ };
354
+ Service.prototype.createRequestConfig = function(id, path, data, headerArgs, configArgs) {
355
+ if (headerArgs === void 0) {
356
+ headerArgs = [];
357
+ }
358
+ if (configArgs === void 0) {
359
+ configArgs = [];
360
+ }
361
+ var query = exports.ConfigMapping.querystring(this._features[id], this._params[id], data);
362
+ var body = exports.ConfigMapping.body(this._params[id], data);
363
+ var headers = exports.ConfigMapping.requestHeaders(this._headers[id], headerArgs);
364
+ var config = exports.ConfigMapping.axiosConfig(this._configs[id], configArgs);
365
+ var p = "".concat(path).concat(query ? (path.lastIndexOf("?") >= 0 ? "&" : "?") + query : "");
366
+ if (this._features && this._features[id] && this._features[id].abortController) {
367
+ var abortController = this._features[id].abortController;
368
+ var __abortControllerInst = void 0;
369
+ if (typeof abortController === "function") {
370
+ __abortControllerInst = abortController.apply(undefined, configArgs);
371
+ } else {
372
+ __abortControllerInst = abortController;
373
+ }
374
+ if (__abortControllerInst) {
375
+ if (__abortControllerInst.source) {
376
+ config.cancelToken = __abortControllerInst.source.token;
377
+ } else {
378
+ config.signal = __abortControllerInst.signal;
379
+ }
380
+ }
381
+ }
382
+ Object.assign(config, {
383
+ headers: Object.assign(headers, config.headers || null)
384
+ });
385
+ return {
386
+ path: p,
387
+ body: body,
388
+ config: config,
389
+ query: query
390
+ };
391
+ };
392
+ Service.prototype.request = function(method_1, path_1) {
393
+ return __awaiter(this, arguments, void 0, function(method, path, data, config) {
394
+ var url, axios;
395
+ if (data === void 0) {
396
+ data = {};
397
+ }
398
+ if (config === void 0) {
399
+ config = {};
400
+ }
401
+ return __generator(this, function(_a) {
402
+ switch(_a.label){
403
+ case 0:
404
+ url = path.indexOf("http") >= 0 ? path : this.config.baseURL + (0, common_1.normalizePath)("/".concat(this.path || "", "/").concat(path));
405
+ return [
406
+ 4 /*yield*/ ,
407
+ this.config.requestAxiosInstance()
408
+ ];
409
+ case 1:
410
+ axios = _a.sent();
411
+ return [
412
+ 2 /*return*/ ,
413
+ axios.request(Object.assign({
414
+ method: method,
415
+ url: url,
416
+ data: data
417
+ }, config))
418
+ ];
419
+ }
420
+ });
421
+ });
422
+ };
423
+ Service.prototype.requestWith = function(method, path) {
424
+ var _this = this;
425
+ if (path === void 0) {
426
+ path = "";
427
+ }
428
+ var _params = {};
429
+ var _configs = [];
430
+ var _headers = {};
431
+ var _features = {};
432
+ var _withConfig = this.config;
433
+ var controller = {
434
+ "with": function _with(registration) {
435
+ var c = config_1["default"].forName(registration);
436
+ if (c) {
437
+ _withConfig = c;
438
+ }
439
+ return controller;
440
+ },
441
+ param: function param(key, required) {
442
+ var _a;
443
+ if (required === void 0) {
444
+ required = false;
445
+ }
446
+ var rule = _params[key] || {};
447
+ Object.assign(_params, (_a = {}, _a[key] = Object.assign(rule, {
448
+ required: required,
449
+ body: false
450
+ }), _a));
451
+ return controller;
452
+ },
453
+ abort: function abort(abortController) {
454
+ Object.assign(_features, {
455
+ abortController: abortController
456
+ });
457
+ return controller;
458
+ },
459
+ ignoreResidualParams: function ignoreResidualParams(ignore) {
460
+ if (ignore === void 0) {
461
+ ignore = true;
462
+ }
463
+ Object.assign(_features, {
464
+ ignoreResidualParams: ignore
465
+ });
466
+ return controller;
467
+ },
468
+ header: function header(header, value) {
469
+ var _a;
470
+ Object.assign(_headers, (_a = {}, _a[header] = value, _a));
471
+ return controller;
472
+ },
473
+ body: function body(key) {
474
+ var _a;
475
+ var rule = _params[key] || {};
476
+ for(var r in _params){
477
+ var rule_2 = _params[r];
478
+ rule_2.body = false;
479
+ }
480
+ Object.assign(_params, (_a = {}, _a[key] = Object.assign(rule, {
481
+ required: false,
482
+ body: true
483
+ }), _a));
484
+ return controller;
485
+ },
486
+ config: function config(cfg) {
487
+ _configs.push(cfg);
488
+ return controller;
489
+ },
490
+ send: function send() {
491
+ var args_1 = [];
492
+ for(var _i = 0; _i < arguments.length; _i++){
493
+ args_1[_i] = arguments[_i];
494
+ }
495
+ return __awaiter(_this, __spreadArray([], args_1, true), void 0, function(data) {
496
+ var query, body, headers, config, abortController, __abortControllerInst, axios, p;
497
+ if (data === void 0) {
498
+ data = {};
499
+ }
500
+ return __generator(this, function(_a) {
501
+ switch(_a.label){
502
+ case 0:
503
+ query = exports.ConfigMapping.querystring(_features, _params, data);
504
+ body = exports.ConfigMapping.body(_params, data);
505
+ headers = exports.ConfigMapping.requestHeaders(_headers, [
506
+ data
507
+ ]);
508
+ config = exports.ConfigMapping.axiosConfig(_configs, [
509
+ data
510
+ ]);
511
+ abortController = _features.abortController;
512
+ Object.assign(config, {
513
+ headers: Object.assign(headers, config.headers || null)
514
+ });
515
+ if (abortController) {
516
+ __abortControllerInst = void 0;
517
+ if (typeof abortController === "function") {
518
+ __abortControllerInst = abortController.apply(undefined, [
519
+ data
520
+ ]);
521
+ } else {
522
+ __abortControllerInst = abortController;
523
+ }
524
+ if (__abortControllerInst) {
525
+ if (__abortControllerInst.source) {
526
+ config.cancelToken = __abortControllerInst.source.token;
527
+ } else {
528
+ config.signal = __abortControllerInst.signal;
529
+ }
530
+ }
531
+ }
532
+ return [
533
+ 4 /*yield*/ ,
534
+ _withConfig.requestAxiosInstance()
535
+ ];
536
+ case 1:
537
+ axios = _a.sent();
538
+ if (_withConfig) {
539
+ return [
540
+ 2 /*return*/ ,
541
+ (0, common_1.forward)(axios, _withConfig.origin, _withConfig.prefix, this.path, path, method, query, body, config)
542
+ ];
543
+ } else {
544
+ p = "".concat(this.pathVariable(path || "", data)).concat(query ? (path.lastIndexOf("?") >= 0 ? "&" : "?") + query : "");
545
+ return [
546
+ 2 /*return*/ ,
547
+ this.request(method, p, body, config)
548
+ ];
549
+ }
550
+ return [
551
+ 2 /*return*/
552
+ ];
553
+ }
554
+ });
555
+ });
556
+ }
557
+ };
558
+ return controller;
559
+ };
560
+ return Service;
561
+ }();
562
+ exports["default"] = Service;
@@ -1,9 +1,3 @@
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>);
1
+ import { AbortControllerGenerator } from "../core/service";
2
+ import { AbortControllerAdapter } from "../index";
3
+ export default function AbortSource(abortController: (AbortController | AbortControllerAdapter) | AbortControllerGenerator): MethodDecorator;
@@ -1 +1,25 @@
1
- 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:e+""}function _toPrimitive(e,t){if("object"!=_typeof(e)||!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=exports.AbortControllerAdapter=_createClass(function e(t){var r=this;_classCallCheck(this,e),_defineProperty(this,"_source",null),_defineProperty(this,"_signal",{onabort:void 0,reason:"",aborted:!1}),this._source=t.source(),this._source.token.promise.then(function(){var e;"function"==typeof r._signal.onabort&&r._signal.onabort(new Event("abort")),r._signal.aborted=!0,r._signal.reason=null==(e=r._source.token.reason)?void 0:e.message})},[{key:"signal",get:function(){return this._signal}},{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()}}]);function _default(a){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=a;return"function"==typeof a&&(o=a.apply(void 0,t)),this.abort(n,o),i.apply(this,arguments)})}}
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ exports["default"] = AbortSource;
6
+ // noinspection JSUnusedGlobalSymbols
7
+ function AbortSource(abortController) {
8
+ return function(_target, method, descriptor) {
9
+ if (descriptor) {
10
+ var fn_1 = descriptor.value;
11
+ descriptor.value = function() {
12
+ var args = [];
13
+ for(var _i = 0; _i < arguments.length; _i++){
14
+ args[_i] = arguments[_i];
15
+ }
16
+ var controller = abortController;
17
+ if (typeof abortController === "function") {
18
+ controller = abortController.apply(undefined, args);
19
+ }
20
+ this.abort(method, controller);
21
+ return fn_1.apply(this, args);
22
+ };
23
+ }
24
+ };
25
+ }
@@ -1,3 +1 @@
1
- import {AxiosPromise} from "axios";
2
-
3
- export default function DeleteMapping(path?: string): (() => AxiosPromise<any>);
1
+ export default function DeleteMapping(path?: string): MethodDecorator;
@@ -1 +1,13 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=DeleteMapping;var _requestMapping=_interopRequireDefault(require("./request-mapping"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function DeleteMapping(){return(0,_requestMapping.default)(0<arguments.length&&void 0!==arguments[0]?arguments[0]:"","DELETE")}
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ exports["default"] = DeleteMapping;
6
+ var request_mapping_1 = require("./request-mapping");
7
+ // noinspection JSUnusedGlobalSymbols
8
+ function DeleteMapping(path) {
9
+ if (path === void 0) {
10
+ path = "";
11
+ }
12
+ return (0, request_mapping_1["default"])(path, "DELETE");
13
+ }
@@ -1,3 +1 @@
1
- import {AxiosPromise} from "axios";
2
-
3
- export default function GetMapping(path?: string): (() => AxiosPromise<any>);
1
+ export default function GetMapping(path?: string): MethodDecorator;
@@ -1 +1,13 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=GetMapping;var _requestMapping=_interopRequireDefault(require("./request-mapping"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function GetMapping(){return(0,_requestMapping.default)(0<arguments.length&&void 0!==arguments[0]?arguments[0]:"","GET")}
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ exports["default"] = GetMapping;
6
+ var request_mapping_1 = require("./request-mapping");
7
+ // noinspection JSUnusedGlobalSymbols
8
+ function GetMapping(path) {
9
+ if (path === void 0) {
10
+ path = "";
11
+ }
12
+ return (0, request_mapping_1["default"])(path, "GET");
13
+ }
@@ -1,3 +1 @@
1
- import {AxiosPromise} from "axios";
2
-
3
- export default function IgnoreResidualParams(ignore?: boolean): (() => AxiosPromise<any>);
1
+ export default function IgnoreResidualParams(ignore?: boolean): MethodDecorator;