axios-annotations 1.3.3 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (98) hide show
  1. package/README.md +248 -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,33 +1,153 @@
1
- import Config from "./config";
2
- import {AxiosPromise, AxiosRequestConfig} from "axios";
3
- import {AbortControllerAdapter} from "../decorator/abort-source";
4
-
5
- export interface RequestController {
6
- ignoreResidualParams: (ignore?: boolean) => RequestController;
7
-
8
- param: (key: string, required?: boolean) => RequestController;
9
-
10
- header: (header: string, value: string | ((...args: any[]) => string)) => RequestController;
11
-
12
- body: (key: string) => RequestController;
13
-
14
- config: (config: Partial<AxiosRequestConfig>) => RequestController;
15
-
16
- send: (data?: Record<string, any>) => AxiosPromise<any>;
17
-
18
- with: (registration: string) => RequestController;
19
-
20
- abort: (abortController: (AbortController | AbortControllerAdapter) | ((...args: any[]) => (AbortControllerAdapter | AbortController))) => RequestController;
21
- }
22
-
23
- export default class Service {
24
- constructor(path?: string);
25
-
26
- config: Config;
27
-
28
- path: string;
29
-
30
- request(method: string, path: string, data?: any, config?: Partial<AxiosRequestConfig>): AxiosPromise<any>;
31
-
32
- requestWith(method: string, path?: string): RequestController;
33
- }
1
+ import type { AxiosRequestConfig, AxiosResponse, CancelTokenSource } from "axios";
2
+ import AbortControllerAdapter from "./cancel";
3
+ import Config from "./config";
4
+ export type HeaderMappingValueType = string | ((...args: any[]) => string);
5
+ export type AxiosConfigOptionMappingType = keyof AxiosRequestConfig | ((...args: any[]) => (keyof AxiosRequestConfig));
6
+ export type AbortControllerGenerator = ((...args: any[]) => (AbortController | AbortControllerAdapter));
7
+ export type QueryStringEncodeFeatures = {
8
+ ignoreResidualParams?: boolean;
9
+ abortController?: (AbortController | AbortControllerAdapter) | AbortControllerGenerator;
10
+ };
11
+ export type RequestParamEncodeRule = {
12
+ body?: boolean;
13
+ required?: boolean;
14
+ };
15
+ export type NextAbortVersionAxiosRequestConfig = AxiosRequestConfig & {
16
+ signal: AbortSignal;
17
+ };
18
+ export declare const ConfigMapping: {
19
+ requestHeaders(rules: Record<string, HeaderMappingValueType>, args?: any[]): Record<string, string>;
20
+ axiosConfig<D = any>(options: AxiosConfigOptionMappingType[], args: any[]): AxiosRequestConfig<D>;
21
+ querystring(features: QueryStringEncodeFeatures | null, rules: Record<string, RequestParamEncodeRule>, data: Record<string, any>): string;
22
+ /**
23
+ * 从参数对象中提取 body 所属字段
24
+ * @param rules
25
+ * @param data
26
+ */
27
+ body(rules: Record<string, RequestParamEncodeRule>, data: Record<string, any>): any;
28
+ };
29
+ export default class Service {
30
+ _path: string;
31
+ _config: Config;
32
+ _headers: Record<string, Record<string, HeaderMappingValueType>>;
33
+ _params: Record<string, Record<string, RequestParamEncodeRule>>;
34
+ _configs: Record<string, AxiosConfigOptionMappingType[]>;
35
+ _for: Record<string, string>;
36
+ _features: Record<string, QueryStringEncodeFeatures>;
37
+ constructor(path?: any);
38
+ get config(): Config;
39
+ set config(value: Config);
40
+ get path(): string;
41
+ set path(value: string);
42
+ params(id: string, name: string, config?: RequestParamEncodeRule): void;
43
+ headers(id: string, header: string, value: HeaderMappingValueType): void;
44
+ for(id: string, registrationName?: string): string;
45
+ abort(id: string, abortController: (AbortController | AbortControllerAdapter | AbortControllerGenerator)): void;
46
+ features(id: string, options?: QueryStringEncodeFeatures): QueryStringEncodeFeatures;
47
+ configs(id: string, options: AxiosConfigOptionMappingType): void;
48
+ /**
49
+ * 填充路径占位符 <br/>
50
+ * override this method to custom placeholder replacement <br>
51
+ * default implement: data = { id: 111 }; <br/>
52
+ * "/path/{id}" -> return "/path/111"
53
+ * @param path
54
+ * @param data
55
+ */
56
+ pathVariable(path: string, data: Record<string, any>): string;
57
+ createRequestConfig(id: string, path: string, data: Record<string, any>, headerArgs?: any[], configArgs?: AxiosConfigOptionMappingType[]): {
58
+ path: string;
59
+ body: any;
60
+ config: AxiosRequestConfig<any>;
61
+ query: string;
62
+ };
63
+ request<T = any, R = AxiosResponse<T>, D = any>(method: string, path: string, data?: Record<string, any>, config?: AxiosRequestConfig<D>): Promise<R>;
64
+ requestWith<T = any, R = AxiosResponse<T>, D = any>(method: string, path?: string): {
65
+ with(registration: string): {
66
+ with(registration: string): any;
67
+ param: (key: string, required?: boolean) => any;
68
+ abort(abortController: ((AbortController & {
69
+ source: CancelTokenSource;
70
+ }) | AbortControllerGenerator)): any;
71
+ ignoreResidualParams(ignore?: boolean): any;
72
+ header: (header: string, value: HeaderMappingValueType) => any;
73
+ body: (key: string) => any;
74
+ config: (cfg: AxiosConfigOptionMappingType) => any;
75
+ send: (data?: Record<string, any>) => (Promise<R>);
76
+ };
77
+ param: (key: string, required?: boolean) => {
78
+ with(registration: string): any;
79
+ param: (key: string, required?: boolean) => any;
80
+ abort(abortController: ((AbortController & {
81
+ source: CancelTokenSource;
82
+ }) | AbortControllerGenerator)): any;
83
+ ignoreResidualParams(ignore?: boolean): any;
84
+ header: (header: string, value: HeaderMappingValueType) => any;
85
+ body: (key: string) => any;
86
+ config: (cfg: AxiosConfigOptionMappingType) => any;
87
+ send: (data?: Record<string, any>) => (Promise<R>);
88
+ };
89
+ abort(abortController: ((AbortController & {
90
+ source: CancelTokenSource;
91
+ }) | AbortControllerGenerator)): {
92
+ with(registration: string): any;
93
+ param: (key: string, required?: boolean) => any;
94
+ abort(abortController: ((AbortController & {
95
+ source: CancelTokenSource;
96
+ }) | AbortControllerGenerator)): any;
97
+ ignoreResidualParams(ignore?: boolean): any;
98
+ header: (header: string, value: HeaderMappingValueType) => any;
99
+ body: (key: string) => any;
100
+ config: (cfg: AxiosConfigOptionMappingType) => any;
101
+ send: (data?: Record<string, any>) => (Promise<R>);
102
+ };
103
+ ignoreResidualParams(ignore?: boolean): {
104
+ with(registration: string): any;
105
+ param: (key: string, required?: boolean) => any;
106
+ abort(abortController: ((AbortController & {
107
+ source: CancelTokenSource;
108
+ }) | AbortControllerGenerator)): any;
109
+ ignoreResidualParams(ignore?: boolean): any;
110
+ header: (header: string, value: HeaderMappingValueType) => any;
111
+ body: (key: string) => any;
112
+ config: (cfg: AxiosConfigOptionMappingType) => any;
113
+ send: (data?: Record<string, any>) => (Promise<R>);
114
+ };
115
+ header: (header: string, value: HeaderMappingValueType) => {
116
+ with(registration: string): any;
117
+ param: (key: string, required?: boolean) => any;
118
+ abort(abortController: ((AbortController & {
119
+ source: CancelTokenSource;
120
+ }) | AbortControllerGenerator)): any;
121
+ ignoreResidualParams(ignore?: boolean): any;
122
+ header: (header: string, value: HeaderMappingValueType) => any;
123
+ body: (key: string) => any;
124
+ config: (cfg: AxiosConfigOptionMappingType) => any;
125
+ send: (data?: Record<string, any>) => (Promise<R>);
126
+ };
127
+ body: (key: string) => {
128
+ with(registration: string): any;
129
+ param: (key: string, required?: boolean) => any;
130
+ abort(abortController: ((AbortController & {
131
+ source: CancelTokenSource;
132
+ }) | AbortControllerGenerator)): any;
133
+ ignoreResidualParams(ignore?: boolean): any;
134
+ header: (header: string, value: HeaderMappingValueType) => any;
135
+ body: (key: string) => any;
136
+ config: (cfg: AxiosConfigOptionMappingType) => any;
137
+ send: (data?: Record<string, any>) => (Promise<R>);
138
+ };
139
+ config: (cfg: AxiosConfigOptionMappingType) => {
140
+ with(registration: string): any;
141
+ param: (key: string, required?: boolean) => any;
142
+ abort(abortController: ((AbortController & {
143
+ source: CancelTokenSource;
144
+ }) | AbortControllerGenerator)): any;
145
+ ignoreResidualParams(ignore?: boolean): any;
146
+ header: (header: string, value: HeaderMappingValueType) => any;
147
+ body: (key: string) => any;
148
+ config: (cfg: AxiosConfigOptionMappingType) => any;
149
+ send: (data?: Record<string, any>) => (Promise<R>);
150
+ };
151
+ send: (data?: Record<string, any>) => (Promise<R>);
152
+ };
153
+ }