axios-annotations 1.0.2 → 1.1.3

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 CHANGED
@@ -48,6 +48,13 @@ export default class TestService extends Service {
48
48
  });
49
49
  }
50
50
 
51
+ path(id) {
52
+ return this.requestWith("GET", "/path3/{id}")
53
+ .send({
54
+ id
55
+ });
56
+ }
57
+
51
58
  basic() {
52
59
  return this.request("POST", "/path3?p1=a&p2=b", {field1: 'c', field: 'd'},
53
60
  {
@@ -91,7 +98,7 @@ export default class TestService extends Service {
91
98
  }
92
99
  ```
93
100
 
94
- `vue-cli`等脚手架已默认支持装饰器。
101
+ `vue-cli`等脚手架已默认支持装饰器。
95
102
  <br>
96
103
  方法只需要返回参数,并注解参数类型。
97
104
 
@@ -108,7 +115,7 @@ export default class TestService extends Service {
108
115
  @RequestMapping("/path", "GET")
109
116
  @RequestParam("p1", true)
110
117
  @RequestParam("p2", true)
111
- @RequestParam("p3", false)
118
+ @RequestParam("p3", false)
112
119
  get(p1, p2, p3) {
113
120
  return {p1, p2, p3};
114
121
  }
@@ -118,17 +125,20 @@ export default class TestService extends Service {
118
125
  @RequestBody("p2")
119
126
  @RequestHeader("Content-Type", "text/plain")
120
127
  post(p1, str2) {
121
- return {p1, p2: str2};
128
+ const defaultValue = {p1: "0x123456"};
129
+ return Object.assign(defaultValue, {p1, p2: str2});
122
130
  }
123
131
  }
124
132
  ```
125
- 如果不爽部分IDE的`non-promise inspection info`下划线,也可以给方法加上`async`。
126
133
 
134
+ 如果不爽部分IDE的`non-promise inspection info`下划线,也可以给方法加上`async`。
127
135
 
128
136
  ### QueryString Encoding
137
+
129
138
  `key-values pair`转查询串算法,运行环境不支持`URLSearchParams`时使用默认算法,也可以自定义。
130
139
  <br>
131
140
  使用第三方库,`qs`,`querystring`,`url-search-params-polyfill`等,不同运行环境下可能有差异。
141
+
132
142
  ```javascript
133
143
  import qs from "qs";
134
144
  import URLSearchParamsParser from "axios-annotations/core/parser";
@@ -158,7 +168,52 @@ config.prefix = "/api";
158
168
  @RequestConfig(config)
159
169
  @RequestMapping("/test")
160
170
  export default class TestService extends Service {
171
+ @RequestMapping("/{id}", "GET")
172
+ foo(id) {
173
+ return {id};
174
+ }
175
+ }
176
+ ```
177
+
178
+ ### Default Config
179
+
180
+ All Services inject this by default.
181
+
182
+ ```javascript
183
+ import {config} from "axios-annotations/core/config";
184
+
185
+ config.host = "192.168.137.1";
186
+ config.port = 8080;
187
+ // ...
188
+ ```
189
+
190
+ ### Register Config
191
+
192
+ 注册配置,用途:<br>
161
193
 
194
+ + 不需要 `export` 导出,使用 `Config.forName(name:string)` 获取。
195
+ + 部分特殊请求可能需要绕开自身配置,使用`@RequestWith(config)`注解方法,请求将使用指定配置进行构建。
196
+
197
+ ```javascript
198
+ new Config("http", "localhost", 9999, "/auth").register("withoutPlugins");
199
+ ```
200
+
201
+ ```javascript
202
+ @RequestConfig(new Config("http", "localhost", 8888, "/prefix"))
203
+ @RequestMapping("/oauth")
204
+ class AuthService extends Service {
205
+ @PostMapping("/login")
206
+ @RequestWith("withoutPlugins")
207
+ login() {
208
+ // http://localhost:9999/auth/oauth/login
209
+ return {usename: "0x123456", password: "123456"};
210
+ }
211
+
212
+ @GetMapping("/foo")
213
+ bar() {
214
+ // http://localhost:8888/prefix/oauth/foo
215
+ return {};
216
+ }
162
217
  }
163
218
  ```
164
219
 
@@ -199,11 +254,13 @@ config.plugins = [
199
254
  ```
200
255
 
201
256
  ### <text style="color:red;">Auth Plugin</text>
257
+
202
258
  可选的内置插件。
203
259
  <br>
204
260
  Basic Usage for Auth Plugin.
205
261
  <br>
206
- Take case of `Spring Security OAtuh2.0`。
262
+ Take the case of `Spring Security OAtuh2.0`。
263
+
207
264
  ```javascript
208
265
  // DevServer Proxy Config
209
266
  const authCfg = new Config();
@@ -222,7 +279,7 @@ export default class OAuth2Service extends Service {
222
279
  @RequestParam("client_secret", false)
223
280
  @RequestParam("username", false)
224
281
  @RequestParam("password", false)
225
- @RequestBody()
282
+ @RequestBody()
226
283
  token() {
227
284
  return {
228
285
  grant_type: "password",
@@ -239,7 +296,7 @@ export default class OAuth2Service extends Service {
239
296
  @RequestParam("refresh_token", true)
240
297
  @RequestParam("scope", false)
241
298
  @RequestParam("client_id", true)
242
- @RequestParam("client_secret", true)
299
+ @RequestParam("client_secret", true)
243
300
  refreshToken(session) {
244
301
  return {
245
302
  grant_type: "refresh_token",
@@ -251,9 +308,11 @@ export default class OAuth2Service extends Service {
251
308
  }
252
309
  }
253
310
  ```
311
+
254
312
  Implement Authorizer.
255
313
  <br/>
256
- 实现`Authorizer`类。
314
+ 实现`Authorizer`类。至少需要实现方法`refreshSession`、`onAuthorizedDenied`。如果需要调用`invalidateSession`,还需要重载`onSessionInvalidated`。
315
+
257
316
  ```javascript
258
317
  import Authorizer from "axios-annotations/plugins/auth/authorizer";
259
318
 
@@ -268,7 +327,7 @@ export default class OAuth2Authorizer extends Authorizer {
268
327
  } catch (e) {
269
328
  throw e;
270
329
  }
271
- if(!res || !res.data){
330
+ if (!res || !res.data) {
272
331
  throw new Error("Seession Unknow Error");
273
332
  }
274
333
  const nextSession = res.data;
@@ -282,11 +341,11 @@ export default class OAuth2Authorizer extends Authorizer {
282
341
  // try logout, clean session.
283
342
  // await this.invalidateSession();
284
343
  // return;
285
-
344
+
286
345
  const res = await new OAuth2Service().token();
287
346
  if (res && res.data) {
288
347
  const nextSession = res.data;
289
-
348
+
290
349
  // save session manually if try re-login
291
350
  await this.storageSession(nextSession);
292
351
  return nextSession;
@@ -301,9 +360,11 @@ export default class OAuth2Authorizer extends Authorizer {
301
360
  }
302
361
  }
303
362
  ```
363
+
304
364
  认证信息默认存储在`sessionStorage`。
305
365
  <br>
306
366
  Implement SessionStorage if store mode changed.
367
+
307
368
  ```javascript
308
369
  import AsyncStorage from '@react-native-async-storage/async-storage';
309
370
  import SessionStorage from "axios-annotations/plugins/auth/storage";
@@ -323,7 +384,10 @@ export default class RNSessionStorage extends SessionStorage {
323
384
  }
324
385
  }
325
386
  ```
326
- 替换掉`Authorizer`存储器。
387
+
388
+ 替换掉`Authorizer`存储器,如果通过重载`getSession`和`storageSession`实现验证信息存储,可以忽略掉`sessionStorage`和`sessionKey`,此时`sessionStorage`
389
+ 和`sessionKey`不会被调用。
390
+
327
391
  ```javascript
328
392
  export default class OAuth2Authorizer extends Authorizer {
329
393
  constructor() {
@@ -332,7 +396,9 @@ export default class OAuth2Authorizer extends Authorizer {
332
396
  }
333
397
  }
334
398
  ```
399
+
335
400
  在默认配置上设置插件。
401
+
336
402
  ```javascript
337
403
  // config.js
338
404
  import AuthorizationPlugin from "axios-annotations/plugins/auth/index";
@@ -344,7 +410,7 @@ config.port = 8080;
344
410
  config.protocol = "http";
345
411
  config.prefix = "/api";
346
412
 
347
- const _authorizer = new OAuth2Authorizer();
413
+ const _authorizer = new OAuth2Authorizer();
348
414
 
349
415
  config.plugins = [
350
416
  AuthorizationPlugin(_authorizer)
@@ -361,9 +427,11 @@ export default class TestService extends Service {
361
427
  // ...
362
428
  }
363
429
  ```
430
+
364
431
  首次登录,需要手动保存认证信息。
365
432
  <br>
366
433
  but you may store grant information yourself when the first time login succeed.
434
+
367
435
  ```javascript
368
436
  import {authorizer} from "/path/config.js";
369
437
 
@@ -379,38 +447,54 @@ import {authorizer} from "/path/config.js";
379
447
  ```
380
448
 
381
449
  ## API
450
+
382
451
  ### Service
452
+
383
453
  #### request(method, path, data?, config?): AxiosPromise
454
+
384
455
  + method : string `GET / POST / DELETE...`
385
456
  + path : string `相对路径`
386
457
  + data : Object `请求体`
387
458
  + config : Object `AxiosRequestConfig`
388
459
 
389
460
  #### requestWith(method, path): RequestController
461
+
390
462
  + method : string `GET /POST / DELETE...`
391
463
  + path : string `相对路径`
392
464
 
393
465
  > #### RequestController
394
466
  > + param: (key, required?) : RequestController
395
- > + key : string `标记查询串参数`
467
+ >
468
+ + key : string `标记查询串参数`
396
469
  > + required : boolean `默认false,空字符串,null,undefined 将忽略`
397
470
  > + header: (header, header) : RequestController
398
- > + header : string `url 附加参数键值`
471
+ >
472
+ + header : string `url 附加参数键值`
399
473
  > + header : string | function `字符串,或者接收 send 方法参数的函数,该函数应返回合法值。`
400
474
  >
401
475
  > + body: (key) : RequestController
402
- > + key : string `标记参数中请求体`
476
+ >
477
+ + key : string `标记参数中请求体`
403
478
  >
404
479
  > + config: (cfg) : RequestController
405
- > + cfg : `AxiosRequestConfig`
480
+ >
481
+ + cfg : `AxiosRequestConfig`
406
482
  >
407
483
  > + send: (data) : AxiosPromise<any>
408
- > + data : object `参数键值对`
484
+ >
485
+ + data : object `参数键值对`
486
+ >
487
+ > + with: (name) : RequestController
488
+ >
489
+ + name : string `config name : 已注册配置名称`
409
490
 
410
491
  ### Decorators
492
+
411
493
  #### RequestMapping(path, method?)
494
+
412
495
  + path : string `相对路径`
413
496
  + method : string `默认GET,注解服务类时忽略该参数`
497
+
414
498
  > 注解方法时,可以使用简化形式:
415
499
  > <br>
416
500
  > GetMapping(path)
@@ -424,12 +508,15 @@ import {authorizer} from "/path/config.js";
424
508
  > DeleteMapping(path)
425
509
 
426
510
  #### RequestParam(name, required?)
511
+
427
512
  + name : string `方法返回值属性`
428
513
  + required : boolean `是否必要参数`
429
514
 
430
515
  #### RequestHeader(header, value)
516
+
431
517
  + header : string `请求头`
432
- + value : string `字符串或函数`
518
+ + value : string `字符串或函数`
519
+
433
520
  > 使用函数。
434
521
  > ```javascript
435
522
  > class TestService extends Service {
@@ -444,10 +531,11 @@ import {authorizer} from "/path/config.js";
444
531
  > ```
445
532
 
446
533
  #### RequestBody(name)
447
- + name : string `方法返回值属性,默认为 body`
448
534
 
535
+ + name : string `方法返回值属性,默认为 body`
449
536
 
450
537
  ### Authorizer (Optional Plugin)
538
+
451
539
  + sessionKey : string `键值名称`
452
540
  ```javascript
453
541
  authorizer.sessionKey = "$_SESSION"; // default value
@@ -461,6 +549,7 @@ import {authorizer} from "/path/config.js";
461
549
  });
462
550
  }
463
551
  ```
552
+ + storageSession(session: Session): Promise<void> `存储授权信息`
464
553
  + checkResponse(response:AxiosResponse) : boolean `检查授权是否过期`
465
554
  ```javascript
466
555
  class OAuth2Authorizer extends Authorizer {
@@ -478,11 +567,31 @@ import {authorizer} from "/path/config.js";
478
567
  }
479
568
  }
480
569
  ```
570
+
481
571
  ## 运行环境
482
- 部分运行环境,例如微信小程序,`axios`需要降级。<br>
483
- 微信小程序:
572
+
573
+ ### 微信小程序
574
+
575
+ + `axios`需要降级:
576
+
484
577
  ```shell
485
578
  npm install axios@0.21.0
486
579
  npm install axios-miniprogram-adapter
580
+ ```
581
+
582
+ + 编译报错 `module is not defined`, 在`app.js`头部补充声明:
583
+
584
+ ```javascript
585
+ import RequestMapping from "axios-annotations/decorator/request-mapping";
586
+ import GetMapping from "axios-annotations/decorator/get-mapping";
587
+ import PostMapping from "axios-annotations/decorator/post-mapping";
588
+ import PutMapping from "axios-annotations/decorator/put-mapping";
589
+ import DeleteMapping from "axios-annotations/decorator/delete-mapping";
590
+ import PatchMapping from "axios-annotations/decorator/patch-mapping";
591
+ import RequestParam from "axios-annotations/decorator/request-param";
592
+ import RequestBody from "axios-annotations/decorator/request-body";
593
+ import RequestHeader from "axios-annotations/decorator/request-header";
594
+ import RequestConfig from "axios-annotations/decorator/request-config";
487
595
  ```
488
- 更新开发工具版本以支持装饰器语法。
596
+
597
+ + 更新开发工具以支持装饰器语法。
@@ -0,0 +1 @@
1
+ module.exports = require("../lib/decorator/request-with");
@@ -1 +1 @@
1
- "use strict";function normalizePath(e){return e.replace(/\/+/g,"/").replace(/\/$/,"")}function isNullOrEmpty(e){return null==e||""===e}Object.defineProperty(exports,"__esModule",{value:!0}),exports.isNullOrEmpty=isNullOrEmpty,exports.normalizePath=normalizePath;
1
+ "use strict";function normalizePath(r){return r.replace(/\/+/g,"/").replace(/\/$/,"")}function isNullOrEmpty(r){return null==r||""===r}function forward(r,t,e,a,n,o,l,c,u){t="".concat(t)+normalizePath("/".concat(e,"/").concat(a,"/").concat(n));return l&&(t=0<=t.lastIndexOf("?")?"&"+l:"?"+l),r.request(Object.assign({method:o,url:t,data:c},u))}Object.defineProperty(exports,"__esModule",{value:!0}),exports.forward=forward,exports.isNullOrEmpty=isNullOrEmpty,exports.normalizePath=normalizePath;
@@ -1,8 +1,10 @@
1
1
  import {AxiosInstance} from "axios";
2
2
 
3
- export type ConfigPluginHandler = (...args: any[]) => ((config: Config) => void);
4
-
5
3
  export default class Config {
4
+ constructor(protocol?: string, host?: string, port?: number, prefix?: string, plugins?: ((config: Config) => void)[]);
5
+
6
+ static forName(name: string): Config;
7
+
6
8
  host: string;
7
9
 
8
10
  port: number | null | string;
@@ -17,7 +19,11 @@ export default class Config {
17
19
 
18
20
  axios: AxiosInstance;
19
21
 
20
- plugins: ConfigPluginHandler[];
22
+ plugins: ((config: Config) => void)[];
23
+
24
+ register(name: string): Config;
25
+
26
+ unregister(): Config;
21
27
  }
22
28
 
23
29
  export const config: Config;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.config=void 0;var _axios=_interopRequireDefault(require("axios"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default: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 i=0;i<t.length;i++){var o=t[i];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}function _createClass(e,t,i){return t&&_defineProperties(e.prototype,t),i&&_defineProperties(e,i),Object.defineProperty(e,"prototype",{writable:!1}),e}function _defineProperty(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}var Config=function(){function e(){_classCallCheck(this,e),_defineProperty(this,"_host","localhost"),_defineProperty(this,"_port",8080),_defineProperty(this,"_protocol","http"),_defineProperty(this,"_prefix",""),_defineProperty(this,"_axios",_axios.default.create()),_defineProperty(this,"_plugins",[])}return _createClass(e,[{key:"host",get:function(){return this._host},set:function(e){this._host=e}},{key:"port",get:function(){return this._port},set:function(e){this._port=e}},{key:"protocol",get:function(){return this._protocol},set:function(e){this._protocol=e}},{key:"prefix",get:function(){return this._prefix},set:function(e){this._prefix=e}},{key:"origin",get:function(){return"".concat(this.protocol,"://").concat(this.host).concat(this.port?":"+this.port:"")}},{key:"baseURL",get:function(){return"".concat(this.origin).concat(this.prefix)}},{key:"axios",get:function(){return this._axios},set:function(e){this._axios=e}},{key:"plugins",get:function(){return this._plugins},set:function(e){this._plugins=e}}]),e}(),config=new(exports.default=Config);exports.config=config;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.config=void 0;var _axios=_interopRequireDefault(require("axios"));function _interopRequireDefault(t){return t&&t.__esModule?t:{default:t}}function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _defineProperties(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function _createClass(t,e,n){return e&&_defineProperties(t.prototype,e),n&&_defineProperties(t,n),Object.defineProperty(t,"prototype",{writable:!1}),t}function _defineProperty(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var _global_configs=[],Config=function(){function r(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:null,e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:null,n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null,i=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null,o=4<arguments.length&&void 0!==arguments[4]?arguments[4]:null;_classCallCheck(this,r),_defineProperty(this,"_host","localhost"),_defineProperty(this,"_port",8080),_defineProperty(this,"_protocol","http"),_defineProperty(this,"_prefix",""),_defineProperty(this,"_axios",_axios.default.create()),_defineProperty(this,"_plugins",[]),this.init(t,e,n,i,o)}return _createClass(r,[{key:"init",value:function(t,e,n,i,o){this.port=n,t&&(this.protocol=t),e&&(this.host=e),i&&(this.prefix=i),Array.isArray(o)&&(this.plugins=o)}},{key:"host",get:function(){return this._host},set:function(t){this._host=t}},{key:"port",get:function(){return this._port},set:function(t){this._port=t}},{key:"protocol",get:function(){return this._protocol},set:function(t){this._protocol=t}},{key:"prefix",get:function(){return this._prefix},set:function(t){this._prefix=t}},{key:"origin",get:function(){return"".concat(this.protocol,"://").concat(this.host).concat(this.port?":"+this.port:"")}},{key:"baseURL",get:function(){return"".concat(this.origin).concat(this.prefix)}},{key:"axios",get:function(){return this._axios},set:function(t){this._axios=t}},{key:"plugins",get:function(){return this._plugins},set:function(t){this._plugins=t}},{key:"register",value:function(t){var e=this,n=_global_configs.find(function(t){return t.config===e});return n?n.name=t:_global_configs.push({name:t,config:this}),this}},{key:"unregister",value:function(){var e=this,t=_global_configs.findIndex(function(t){return t.config===e});return 0<=t&&_global_configs.splice(t,1),this}}],[{key:"forName",value:function(e){var t=_global_configs.find(function(t){return t.name===e});return t?t.config:null}}]),r}(),config=new(exports.default=Config);exports.config=config;
@@ -10,7 +10,9 @@ export interface RequestController {
10
10
 
11
11
  config: (config: Partial<AxiosRequestConfig>) => RequestController;
12
12
 
13
- send: (data: Record<string, any>) => AxiosPromise<any>;
13
+ send: (data?: Record<string, any>) => AxiosPromise<any>;
14
+
15
+ with: (registration: string) => RequestController;
14
16
  }
15
17
 
16
18
  export default class Service {
@@ -22,5 +24,5 @@ export default class Service {
22
24
 
23
25
  request(method: string, path: string, data?: any, config?: Partial<AxiosRequestConfig>): AxiosPromise<any>;
24
26
 
25
- requestWith(method: string, path: string): RequestController;
27
+ requestWith(method: string, path?: string): RequestController;
26
28
  }
@@ -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=require("./config");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _createForOfIteratorHelper(e,t){var r,n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=_unsupportedIterableToArray(e))||t&&e&&"number"==typeof e.length)return n&&(e=n),r=0,{s:t=function(){},n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},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.")}var i,o=!0,a=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){a=!0,i=e},f:function(){try{o||null==n.return||n.return()}finally{if(a)throw i}}}}function _unsupportedIterableToArray(e,t){if(e){if("string"==typeof e)return _arrayLikeToArray(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Map"===(r="Object"===r&&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,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 in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}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){if(e){var r,n=_parser.default.decode(t);for(r in t){var i=t[r],o=e[r];!o||o.body?_parser.default.delete(n,r):o.required?(0,_common.isNullOrEmpty)(i)&&!_parser.default.has(n,r)&&_parser.default.append(n,r,""):(0,_common.isNullOrEmpty)(i)&&_parser.default.has(n,r)&&_parser.default.delete(n,r)}return _parser.default.encode(n)}return""},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,"_once",[]),!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:"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._params[e],r),r=ConfigMapping.body(this._params[e],r),n=ConfigMapping.requestHeaders(this._headers[e],n),e=ConfigMapping.axiosConfig(this._configs[e],i),i="".concat(t).concat(o?"?"+o:"");return Object.assign(e,{headers:Object.assign(n,e.headers||null)}),{path:i,body:r,config:e}}},{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(o,a){var s=this,f={},c=[],u={},n={param:function(e){return Object.assign(f,_defineProperty({},e,Object.assign(f[e]||{},{required:1<arguments.length&&void 0!==arguments[1]&&arguments[1],body:!1}))),n},header:function(e,t){return Object.assign(u,_defineProperty({},e,t)),n},body:function(e){var t,r=f[e]||{};for(t in f)f[t].body=!1;return Object.assign(f,_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(f,e),r=ConfigMapping.body(f,e),n=ConfigMapping.requestHeaders(u,[e]),i=ConfigMapping.axiosConfig(c,[e]),e="".concat(s.pathVariable(a,e)).concat(t?"?"+t:"");return Object.assign(i,{headers:Object.assign(n,i.headers||null)}),s.request(o,e,r,i)}};return n}}]),n}());exports.default=Service;
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)}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){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(_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 _createForOfIteratorHelper(e,t){var r,n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=_unsupportedIterableToArray(e))||t&&e&&"number"==typeof e.length)return n&&(e=n),r=0,{s:t=function(){},n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},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.")}var i,o=!0,a=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){a=!0,i=e},f:function(){try{o||null==n.return||n.return()}finally{if(a)throw i}}}}function _unsupportedIterableToArray(e,t){if(e){if("string"==typeof e)return _arrayLikeToArray(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Map"===(r="Object"===r&&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,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 in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}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){if(!t)return"";if(e){var r,n=_parser.default.decode(t);for(r in t){var i=t[r],o=e[r];!o||o.body?_parser.default.delete(n,r):o.required?(0,_common.isNullOrEmpty)(i)&&!_parser.default.has(n,r)&&_parser.default.append(n,r,""):(0,_common.isNullOrEmpty)(i)&&_parser.default.has(n,r)&&_parser.default.delete(n,r)}return _parser.default.encode(n)}return""},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",{}),!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(void 0===t)return this._for[e];Object.assign(this._for,_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._params[e],r),r=ConfigMapping.body(this._params[e],r),n=ConfigMapping.requestHeaders(this._headers[e],n),e=ConfigMapping.axiosConfig(this._configs[e],i),i="".concat(t).concat(o?(0<=t.lastIndexOf("?")?"&":"?")+o:"");return Object.assign(e,{headers:Object.assign(n,e.headers||null)}),{path:i,body:r,config:e,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(o){var a=this,f=1<arguments.length&&void 0!==arguments[1]?arguments[1]:"",s={},c=[],u={},p=this,n={with:function(e){e=_config.default.forName(e);return e&&(p=e),n},param:function(e){return Object.assign(s,_defineProperty({},e,Object.assign(s[e]||{},{required:1<arguments.length&&void 0!==arguments[1]&&arguments[1],body:!1}))),n},header:function(e,t){return Object.assign(u,_defineProperty({},e,t)),n},body:function(e){var t,r=s[e]||{};for(t in s)s[t].body=!1;return Object.assign(s,_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(s,e),r=ConfigMapping.body(s,e),n=ConfigMapping.requestHeaders(u,[e]),i=ConfigMapping.axiosConfig(c,[e]);return Object.assign(i,{headers:Object.assign(n,i.headers||null)}),p?(0,_common.forward)(p.axios,p.origin,p.prefix,a.path,f,o,t,r,i):(n="".concat(a.pathVariable(f||"",e)).concat(t?(0<=f.lastIndexOf("?")?"&":"?")+t:""),a.request(o,n,r,i))}};return n}}]),n}());exports.default=Service;
@@ -1,3 +1,3 @@
1
1
  import {AxiosPromise} from "axios";
2
2
 
3
- export default function DeleteMapping(path: string): (() => AxiosPromise<any>);
3
+ export default function DeleteMapping(path?: string): (() => AxiosPromise<any>);
@@ -1 +1 @@
1
- "use strict";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(e){return(0,_requestMapping.default)(e,"DELETE")}
1
+ "use strict";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,3 +1,3 @@
1
1
  import {AxiosPromise} from "axios";
2
2
 
3
- export default function GetMapping(path: string): (() => AxiosPromise<any>);
3
+ export default function GetMapping(path?: string): (() => AxiosPromise<any>);
@@ -1 +1 @@
1
- "use strict";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(e){return(0,_requestMapping.default)(e,"GET")}
1
+ "use strict";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,3 +1,3 @@
1
1
  import {AxiosPromise} from "axios";
2
2
 
3
- export default function PatchMapping(path: string): (() => AxiosPromise<any>);
3
+ export default function PatchMapping(path?: string): (() => AxiosPromise<any>);
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=PatchMapping;var _requestMapping=_interopRequireDefault(require("./request-mapping"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function PatchMapping(e){return(0,_requestMapping.default)(e,"PATCH")}
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=PatchMapping;var _requestMapping=_interopRequireDefault(require("./request-mapping"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function PatchMapping(){return(0,_requestMapping.default)(0<arguments.length&&void 0!==arguments[0]?arguments[0]:"","PATCH")}
@@ -1,3 +1,3 @@
1
1
  import {AxiosPromise} from "axios";
2
2
 
3
- export default function PostMapping(path: string): (() => AxiosPromise<any>);
3
+ export default function PostMapping(path?: string): (() => AxiosPromise<any>);
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=PostMapping;var _requestMapping=_interopRequireDefault(require("./request-mapping"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function PostMapping(e){return(0,_requestMapping.default)(e,"POST")}
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=PostMapping;var _requestMapping=_interopRequireDefault(require("./request-mapping"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function PostMapping(){return(0,_requestMapping.default)(0<arguments.length&&void 0!==arguments[0]?arguments[0]:"","POST")}
@@ -1,3 +1,3 @@
1
1
  import {AxiosPromise} from "axios";
2
2
 
3
- export default function PutMapping(path: string): (() => AxiosPromise<any>);
3
+ export default function PutMapping(path?: string): (() => AxiosPromise<any>);
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=PutMapping;var _requestMapping=_interopRequireDefault(require("./request-mapping"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function PutMapping(e){return(0,_requestMapping.default)(e,"PUT")}
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=PutMapping;var _requestMapping=_interopRequireDefault(require("./request-mapping"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function PutMapping(){return(0,_requestMapping.default)(0<arguments.length&&void 0!==arguments[0]?arguments[0]:"","PUT")}
@@ -1 +1 @@
1
- "use strict";function RequestMapping(s){var c=1<arguments.length&&void 0!==arguments[1]?arguments[1]:null;return function(e,h,t){var p;t?(c=c||"GET",p=t.value,t.value=function(){for(var i=this,e=arguments.length,o=new Array(e),t=0;t<e;t++)o[t]=arguments[t];var n,a,r,u=p.apply(this,o)||{};return u&&Object.hasOwnProperty.call(u,"then")&&"function"==typeof u.then?new Promise(function(a,r){u.then(function(e){var e=i.createRequestConfig(h,i.pathVariable(s,e),e,o,o),t=e.path,n=e.body,e=e.config;i.request(c,t,n,e).then(a).catch(r)})}):(n=(r=this.createRequestConfig(h,this.pathVariable(s,u),u,o,o)).path,a=r.body,r=r.config,this.request(c,n,a,r))}):e.prototype._path=s}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=RequestMapping;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=RequestMapping;var _config=_interopRequireDefault(require("../core/config")),_common=require("../core/common");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function RequestMapping(h){var l=1<arguments.length&&void 0!==arguments[1]?arguments[1]:null;return function(e,p,t){var s;t?(l=l||"GET",s=t.value,t.value=function(){for(var a=this,e=arguments.length,u=new Array(e),t=0;t<e;t++)u[t]=arguments[t];var r,o,n,f=s.apply(this,u)||{},i=this.for(p),c=i?_config.default.forName(i):null;return f&&Object.hasOwnProperty.call(f,"then")&&"function"==typeof f.then?new Promise(function(n,i){f.then(function(e){var e=a.createRequestConfig(p,a.pathVariable(h||"",e),e,u,u),t=e.path,r=e.body,o=e.config,e=e.query;(c?(0,_common.forward)(c.axios,c.origin,c.prefix,a.path,h,l,e,r,o):a.request(l,t,r,o)).then(n).catch(i)})}):(r=(i=this.createRequestConfig(p,this.pathVariable(h||"",f),f,u,u)).path,o=i.body,n=i.config,i=i.query,c?(0,_common.forward)(c.axios,c.origin,c.prefix,this.path,h,l,i,o,n):this.request(l,r,o,n))}):e.prototype._path=h}}
@@ -0,0 +1,3 @@
1
+ import {AxiosPromise} from "axios";
2
+
3
+ export default function RequestWith(registration: string): (() => AxiosPromise<any>);
@@ -0,0 +1 @@
1
+ "use strict";function RequestWith(i){return function(e,t,u){var r;u&&(r=u.value,u.value=function(){return this.for(t,i),r.apply(this,arguments)})}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=RequestWith;
@@ -29,15 +29,15 @@ export default class Authorizer {
29
29
 
30
30
  sessionHistory: SessionHistory;
31
31
 
32
- getSession(): Promise<Session>;
32
+ getSession(): Promise<Partial<Session>>;
33
33
 
34
34
  storageSession(session: Session): Promise<void>;
35
35
 
36
- refreshSession(session: Session): AxiosPromise<Session>;
36
+ refreshSession(session: Session): Promise<Partial<Session>> | Promise<Record<string, any>> | Promise<any>;
37
37
 
38
- withAuthentication(request: AxiosRequestConfig, session: Session): void;
38
+ withAuthentication(request: AxiosRequestConfig, session: Partial<Session>): void;
39
39
 
40
- checkSession(request: AxiosRequestConfig, session: Session): boolean;
40
+ checkSession(request: AxiosRequestConfig, session: Partial<Session>): boolean;
41
41
 
42
42
  checkResponse(response: Response): boolean;
43
43
 
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _storage=_interopRequireDefault(require("./storage")),_history=_interopRequireDefault(require("./history"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function asyncGeneratorStep(e,t,r,n,s,o,i){try{var a=e[o](i),u=a.value}catch(e){return void r(e)}a.done?t(u):Promise.resolve(u).then(n,s)}function _asyncToGenerator(a){return function(){var e=this,i=arguments;return new Promise(function(t,r){var n=a.apply(e,i);function s(e){asyncGeneratorStep(n,t,r,s,o,"next",e)}function o(e){asyncGeneratorStep(n,t,r,s,o,"throw",e)}s(void 0)})}}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,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 in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var Authorizer=function(){function e(){_classCallCheck(this,e),_defineProperty(this,"_sessionKey","$_SESSION"),_defineProperty(this,"_sessionStorage",new _storage.default),_defineProperty(this,"_sessionHistory",new _history.default)}var t,r,n,s,o;return _createClass(e,[{key:"sessionKey",get:function(){return this._sessionKey},set:function(e){this._sessionKey=e}},{key:"sessionStorage",get:function(){return this._sessionStorage},set:function(e){this._sessionStorage=e}},{key:"sessionHistory",get:function(){return this._sessionHistory},set:function(e){this._sessionHistory=e}},{key:"getSession",value:(o=_asyncToGenerator(regeneratorRuntime.mark(function e(){var t;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.sessionStorage.get(this.sessionKey);case 2:return t=e.sent,this.sessionHistory.size||this.sessionHistory.add(t),e.abrupt("return",t);case 5:case"end":return e.stop()}},e,this)})),function(){return o.apply(this,arguments)})},{key:"storageSession",value:(s=_asyncToGenerator(regeneratorRuntime.mark(function e(t){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return this.sessionHistory.add(t),e.next=3,this.sessionStorage.set(this.sessionKey,t);case 3:case"end":return e.stop()}},e,this)})),function(e){return s.apply(this,arguments)})},{key:"refreshSession",value:(n=_asyncToGenerator(regeneratorRuntime.mark(function e(t){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",null);case 1:case"end":return e.stop()}},e)})),function(e){return n.apply(this,arguments)})},{key:"withAuthentication",value:function(e,t){var r,n;t&&(r=t.access_token,n=t.accessToken,t=t.token,(r||n||t)&&(e.headers.Authorization="Bearer "+(r||n||t)))}},{key:"checkSession",value:function(e,t){e=e.headers.Authorization||e.headers.authorization,e=e&&e.split(" ")[1]||"";return!this.sessionHistory.check(e)}},{key:"checkResponse",value:function(e){return 401!==(e||{status:0}).status}},{key:"onAuthorizedDenied",value:(r=_asyncToGenerator(regeneratorRuntime.mark(function e(t){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:throw t;case 1:case"end":return e.stop()}},e)})),function(e){return r.apply(this,arguments)})},{key:"onSessionInvalidated",value:function(){}},{key:"invalidateSession",value:(t=_asyncToGenerator(regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.sessionStorage.remove(this.sessionKey);case 2:this.onSessionInvalidated();case 3:case"end":return e.stop()}},e,this)})),function(){return t.apply(this,arguments)})}]),e}();exports.default=Authorizer;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _storage=_interopRequireDefault(require("./storage")),_history=_interopRequireDefault(require("./history"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function asyncGeneratorStep(e,t,n,r,s,o,i){try{var a=e[o](i),u=a.value}catch(e){return void n(e)}a.done?t(u):Promise.resolve(u).then(r,s)}function _asyncToGenerator(a){return function(){var e=this,i=arguments;return new Promise(function(t,n){var r=a.apply(e,i);function s(e){asyncGeneratorStep(r,t,n,s,o,"next",e)}function o(e){asyncGeneratorStep(r,t,n,s,o,"throw",e)}s(void 0)})}}function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _defineProperties(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function _createClass(e,t,n){return t&&_defineProperties(e.prototype,t),n&&_defineProperties(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function _defineProperty(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Authorizer=function(){function e(){_classCallCheck(this,e),_defineProperty(this,"_sessionKey","$_SESSION"),_defineProperty(this,"_sessionStorage",new _storage.default),_defineProperty(this,"_sessionHistory",new _history.default)}var t,n,r,s,o;return _createClass(e,[{key:"sessionKey",get:function(){return this._sessionKey},set:function(e){this._sessionKey=e}},{key:"sessionStorage",get:function(){return this._sessionStorage},set:function(e){this._sessionStorage=e}},{key:"sessionHistory",get:function(){return this._sessionHistory},set:function(e){this._sessionHistory=e}},{key:"getSession",value:(o=_asyncToGenerator(regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.sessionStorage.get(this.sessionKey);case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}},e,this)})),function(){return o.apply(this,arguments)})},{key:"storageSession",value:(s=_asyncToGenerator(regeneratorRuntime.mark(function e(t){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.sessionStorage.set(this.sessionKey,t);case 2:case"end":return e.stop()}},e,this)})),function(e){return s.apply(this,arguments)})},{key:"refreshSession",value:(r=_asyncToGenerator(regeneratorRuntime.mark(function e(t){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",null);case 1:case"end":return e.stop()}},e)})),function(e){return r.apply(this,arguments)})},{key:"withAuthentication",value:function(e,t){var n,r;t&&(n=t.access_token,r=t.accessToken,t=t.token,(n||r||t)&&(e.headers.Authorization="Bearer "+(n||r||t)))}},{key:"checkSession",value:function(e,t){e=e.headers.Authorization||e.headers.authorization,e=e&&e.split(" ")[1]||"";return(t.access_token||t.accessToken||t.token)!==e&&(!this.sessionHistory.size||!this.sessionHistory.check(e))}},{key:"checkResponse",value:function(e){return 401!==(e||{status:0}).status}},{key:"onAuthorizedDenied",value:(n=_asyncToGenerator(regeneratorRuntime.mark(function e(t){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:throw t;case 1:case"end":return e.stop()}},e)})),function(e){return n.apply(this,arguments)})},{key:"onSessionInvalidated",value:function(){}},{key:"invalidateSession",value:(t=_asyncToGenerator(regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.sessionStorage.remove(this.sessionKey);case 2:this.onSessionInvalidated();case 3:case"end":return e.stop()}},e,this)})),function(){return t.apply(this,arguments)})}]),e}();exports.default=Authorizer;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _common=require("../../core/common");function _classCallCheck(e,r){if(!(e instanceof r))throw new TypeError("Cannot call a class as a function")}function _defineProperties(e,r){for(var t=0;t<r.length;t++){var i=r[t];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}function _createClass(e,r,t){return r&&_defineProperties(e.prototype,r),t&&_defineProperties(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function _defineProperty(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}var SessionHistory=function(){function e(){_classCallCheck(this,e),_defineProperty(this,"_history",new Array(10)),_defineProperty(this,"_position",0),_defineProperty(this,"_size",0)}return _createClass(e,[{key:"size",get:function(){return this._size}},{key:"add",value:function(r){var e,t,i,n,o;Object.keys(r).every(function(e){return(0,_common.isNullOrEmpty)(r[e])})||(e=r.access_token,t=r.accessToken,i=r.token,n=r.refresh_token,o=r.refreshToken,this._history[this._position]={access_token:e||t||i,refresh_token:n||o,invalid:!1},this._position++,this._position%=this._history.length,this._size=this._history.reduce(function(e,r){return r?e+1:e},0))}},{key:"check",value:function(i){return this._history.some(function(e){var r,t;return!!e&&(r=e.access_token,t=e.accessToken,e=e.token,(r||t||e)===i)})}},{key:"deprecate",value:function(e){var t=0,i=e.refresh_token,n=e.refreshToken,e=this._history.find(function(e,r){return t=r,!!e&&(e.refresh_token||e.refreshToken)===(i||n)});e&&(e.invalid=!0,e=this._history[0],this._history[0]=this._history[t],this._history[t]=e)}},{key:"clean",value:function(){for(var e=0;e<this._history.length;++e){var r=this._history[e];r&&r.invalid&&(this._history[e]=null)}this._size=this._history.reduce(function(e,r){return r?e+1:e},0)}},{key:"isDeprecated",value:function(i){return this._history.some(function(e){if(e){var r=i.refresh_token,t=i.refreshToken;if(r||t)return(e.refresh_token||e.refreshToken)===(r||t)&&e.invalid}return!1})}}]),e}();exports.default=SessionHistory;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _common=require("../../core/common");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 i=t[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}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 in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var SessionHistory=function(){function e(){_classCallCheck(this,e),_defineProperty(this,"_history",new Array(10)),_defineProperty(this,"_position",0),_defineProperty(this,"_size",0)}return _createClass(e,[{key:"size",get:function(){return this._size}},{key:"add",value:function(t){var e,r,i,n,s;Object.keys(t).every(function(e){return(0,_common.isNullOrEmpty)(t[e])})||(e=t.access_token,r=t.accessToken,i=t.token,n=t.refresh_token,s=t.refreshToken,this._history[this._position]=Object.assign({},t,{access_token:e||r||i,refresh_token:n||s,invalid:!1}),this._position++,this._position%=this._history.length,this._size=this._history.reduce(function(e,t){return t?e+1:e},0))}},{key:"check",value:function(i){return this._history.some(function(e){var t,r;return!!e&&(t=e.access_token,r=e.accessToken,e=e.token,(t||r||e)===i)})}},{key:"deprecate",value:function(e){var r=0,i=e.refresh_token,n=e.refreshToken,e=this._history.find(function(e,t){return r=t,!!e&&(e.refresh_token||e.refreshToken)===(i||n)});e&&(e.invalid=!0,e=this._history[0],this._history[0]=this._history[r],this._history[r]=e)}},{key:"clean",value:function(){for(var e=0;e<this._history.length;++e){var t=this._history[e];t&&t.invalid&&(this._history[e]=null)}this._size=this._history.reduce(function(e,t){return t?e+1:e},0)}},{key:"isDeprecated",value:function(i){return this._history.some(function(e){if(e){var t=i.refresh_token,r=i.refreshToken;if(t||r)return(e.refresh_token||e.refreshToken)===(t||r)&&e.invalid}return!1})}}]),e}();exports.default=SessionHistory;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=AuthorizationPlugin;var _queue=_interopRequireDefault(require("./queue"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function asyncGeneratorStep(e,r,t,n,s,a,o){try{var u=e[a](o),c=u.value}catch(e){return void t(e)}u.done?r(c):Promise.resolve(c).then(n,s)}function _asyncToGenerator(u){return function(){var e=this,o=arguments;return new Promise(function(r,t){var n=u.apply(e,o);function s(e){asyncGeneratorStep(n,r,t,s,a,"next",e)}function a(e){asyncGeneratorStep(n,r,t,s,a,"throw",e)}s(void 0)})}}function AuthorizationPlugin(o){return function(e){var r,t,s=!1,a=new _queue.default(o);e.axios.interceptors.response.use(function(e){return e},(r=_asyncToGenerator(regeneratorRuntime.mark(function e(r){var t,n;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(t=r.response,o.checkResponse(t)){e.next=65;break}if(s){e.next=60;break}return s=!0,e.next=6,o.getSession();case 6:if(n=e.sent,o.sessionHistory.isDeprecated(n))return e.prev=8,e.next=11,o.onAuthorizedDenied(r);e.next=21;break;case 11:o.sessionHistory.clean(),e.next=17;break;case 14:throw e.prev=14,e.t0=e.catch(8),r;case 17:return e.prev=17,s=!1,a.clear(),e.finish(17);case 21:if(o.checkSession(r.config,n)){e.next=47;break}return e.prev=22,e.t1=o,e.next=26,o.refreshSession(n);case 26:return e.t2=e.sent,e.next=29,e.t1.storageSession.call(e.t1,e.t2);case 29:e.next=47;break;case 31:return e.prev=31,e.t3=e.catch(22),o.sessionHistory.deprecate(n),e.prev=34,e.next=37,o.onAuthorizedDenied(e.t3);case 37:o.sessionHistory.clean(),e.next=43;break;case 40:throw e.prev=40,e.t4=e.catch(34),r;case 43:return e.prev=43,s=!1,a.clear(),e.finish(43);case 47:for(s=!1;a.size;)a.pop();return e.prev=49,e.next=52,a.resend(r);case 52:return e.abrupt("return",e.sent);case 55:throw e.prev=55,e.t5=e.catch(49),e.t5;case 58:e.next=63;break;case 60:return e.next=62,a.push(r);case 62:return e.abrupt("return",e.sent);case 63:e.next=66;break;case 65:throw r;case 66:case"end":return e.stop()}},e,null,[[8,14,17,21],[22,31],[34,40,43,47],[49,55]])})),function(e){return r.apply(this,arguments)})),e.axios.interceptors.request.use((t=_asyncToGenerator(regeneratorRuntime.mark(function e(r){var t;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,o.getSession();case 2:return t=e.sent,o.withAuthentication(r,t),e.abrupt("return",r);case 5:case"end":return e.stop()}},e)})),function(e){return t.apply(this,arguments)}))}}
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=AuthorizationPlugin;var _queue=_interopRequireDefault(require("./queue"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function asyncGeneratorStep(e,r,t,n,s,a,o){try{var u=e[a](o),i=u.value}catch(e){return void t(e)}u.done?r(i):Promise.resolve(i).then(n,s)}function _asyncToGenerator(u){return function(){var e=this,o=arguments;return new Promise(function(r,t){var n=u.apply(e,o);function s(e){asyncGeneratorStep(n,r,t,s,a,"next",e)}function a(e){asyncGeneratorStep(n,r,t,s,a,"throw",e)}s(void 0)})}}function AuthorizationPlugin(u){return function(e){var r,t,s=!1,a=null,o=new _queue.default(u);e.axios.interceptors.response.use(function(e){return a&&(u.sessionHistory.add(a),a=null),e},(r=_asyncToGenerator(regeneratorRuntime.mark(function e(r){var t,n;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(t=r.response,u.checkResponse(t)){e.next=66;break}if(s){e.next=61;break}return s=!0,e.next=6,u.getSession();case 6:if(n=e.sent,u.sessionHistory.isDeprecated(n))return e.prev=8,e.next=11,u.onAuthorizedDenied(r);e.next=21;break;case 11:u.sessionHistory.clean(),e.next=17;break;case 14:throw e.prev=14,e.t0=e.catch(8),r;case 17:return e.prev=17,s=!1,o.clear(),e.finish(17);case 21:if(a=n,u.checkSession(r.config,n)){e.next=48;break}return e.prev=23,e.t1=u,e.next=27,u.refreshSession(n);case 27:return e.t2=e.sent,e.next=30,e.t1.storageSession.call(e.t1,e.t2);case 30:e.next=48;break;case 32:return e.prev=32,e.t3=e.catch(23),u.sessionHistory.deprecate(n),e.prev=35,e.next=38,u.onAuthorizedDenied(e.t3);case 38:u.sessionHistory.clean(),e.next=44;break;case 41:throw e.prev=41,e.t4=e.catch(35),r;case 44:return e.prev=44,s=!1,o.clear(),e.finish(44);case 48:for(s=!1;o.size;)o.pop();return e.prev=50,e.next=53,o.resend(r);case 53:return e.abrupt("return",e.sent);case 56:throw e.prev=56,e.t5=e.catch(50),e.t5;case 59:e.next=64;break;case 61:return e.next=63,o.push(r);case 63:return e.abrupt("return",e.sent);case 64:e.next=67;break;case 66:throw r;case 67:case"end":return e.stop()}},e,null,[[8,14,17,21],[23,32],[35,41,44,48],[50,56]])})),function(e){return r.apply(this,arguments)})),e.axios.interceptors.request.use((t=_asyncToGenerator(regeneratorRuntime.mark(function e(r){var t;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,u.getSession();case 2:return t=e.sent,u.withAuthentication(r,t),e.abrupt("return",r);case 5:case"end":return e.stop()}},e)})),function(e){return t.apply(this,arguments)}))}}
@@ -0,0 +1 @@
1
+ "use strict";function CachePlugin(){return function(e){var t=e.axios.defaults.adapter;e.axios.defaults.adapter=function(e){return t(e)}}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=CachePlugin;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "axios-annotations",
3
- "version": "1.0.2",
3
+ "version": "1.1.3",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+ssh://git@github.com/sitorhy/axios-annotations.git"