@midwayjs/core 3.20.4 → 4.0.0-beta.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 (151) hide show
  1. package/dist/baseFramework.d.ts +14 -39
  2. package/dist/baseFramework.js +19 -59
  3. package/dist/common/applicationManager.d.ts +6 -6
  4. package/dist/common/applicationManager.js +18 -35
  5. package/dist/common/asyncContextManager.d.ts +15 -0
  6. package/dist/common/asyncContextManager.js +51 -2
  7. package/dist/common/dataListener.d.ts +5 -3
  8. package/dist/common/dataListener.js +13 -4
  9. package/dist/common/dataSourceManager.d.ts +18 -9
  10. package/dist/common/dataSourceManager.js +121 -72
  11. package/dist/common/fileDetector.d.ts +9 -9
  12. package/dist/common/fileDetector.js +30 -28
  13. package/dist/common/filterManager.js +5 -4
  14. package/dist/common/guardManager.js +3 -2
  15. package/dist/common/middlewareManager.js +4 -3
  16. package/dist/common/performanceManager.js +1 -1
  17. package/dist/common/priorityManager.js +2 -2
  18. package/dist/common/serviceDiscovery/healthCheck.d.ts +66 -0
  19. package/dist/common/serviceDiscovery/healthCheck.js +207 -0
  20. package/dist/common/serviceDiscovery/loadBalancer.d.ts +21 -0
  21. package/dist/common/serviceDiscovery/loadBalancer.js +51 -0
  22. package/dist/common/serviceDiscovery/serviceDiscovery.d.ts +59 -0
  23. package/dist/common/serviceDiscovery/serviceDiscovery.js +104 -0
  24. package/dist/common/serviceFactory.d.ts +5 -2
  25. package/dist/common/serviceFactory.js +44 -9
  26. package/dist/common/webGenerator.js +4 -6
  27. package/dist/config/config.default.js +4 -1
  28. package/dist/constants.d.ts +2 -32
  29. package/dist/constants.js +3 -33
  30. package/dist/context/componentLoader.d.ts +20 -0
  31. package/dist/context/componentLoader.js +193 -0
  32. package/dist/context/container.d.ts +18 -32
  33. package/dist/context/container.js +74 -308
  34. package/dist/context/definitionRegistry.d.ts +5 -0
  35. package/dist/context/definitionRegistry.js +17 -26
  36. package/dist/context/dynamicContainer.d.ts +17 -0
  37. package/dist/context/dynamicContainer.js +202 -0
  38. package/dist/context/managedResolverFactory.d.ts +15 -41
  39. package/dist/context/managedResolverFactory.js +271 -349
  40. package/dist/context/requestContainer.d.ts +23 -12
  41. package/dist/context/requestContainer.js +46 -51
  42. package/dist/decorator/common/aspect.js +4 -4
  43. package/dist/decorator/common/autoload.js +1 -1
  44. package/dist/decorator/common/configuration.d.ts +1 -24
  45. package/dist/decorator/common/configuration.js +6 -1
  46. package/dist/decorator/common/filter.js +6 -6
  47. package/dist/decorator/common/framework.d.ts +46 -3
  48. package/dist/decorator/common/framework.js +43 -9
  49. package/dist/decorator/common/guard.js +4 -9
  50. package/dist/decorator/common/inject.d.ts +4 -2
  51. package/dist/decorator/common/inject.js +87 -4
  52. package/dist/decorator/common/mock.js +1 -1
  53. package/dist/decorator/common/objectDef.d.ts +0 -5
  54. package/dist/decorator/common/objectDef.js +8 -20
  55. package/dist/decorator/common/provide.d.ts +1 -1
  56. package/dist/decorator/common/provide.js +1 -1
  57. package/dist/decorator/common/scope.d.ts +6 -0
  58. package/dist/decorator/common/scope.js +21 -0
  59. package/dist/decorator/constant.d.ts +14 -17
  60. package/dist/decorator/constant.js +23 -35
  61. package/dist/decorator/decoratorManager.d.ts +21 -294
  62. package/dist/decorator/decoratorManager.js +127 -694
  63. package/dist/decorator/faas/serverlessTrigger.js +5 -5
  64. package/dist/decorator/index.d.ts +2 -3
  65. package/dist/decorator/index.js +6 -4
  66. package/dist/decorator/metadataManager.d.ts +131 -0
  67. package/dist/decorator/metadataManager.js +465 -0
  68. package/dist/decorator/microservice/consumer.js +3 -2
  69. package/dist/decorator/microservice/kafkaListener.js +2 -1
  70. package/dist/decorator/microservice/provider.js +6 -5
  71. package/dist/decorator/microservice/rabbitmqListener.js +2 -1
  72. package/dist/decorator/task/queue.js +3 -2
  73. package/dist/decorator/task/schedule.js +3 -2
  74. package/dist/decorator/task/task.js +4 -3
  75. package/dist/decorator/task/taskLocal.js +4 -3
  76. package/dist/decorator/web/controller.js +3 -2
  77. package/dist/decorator/web/paramMapping.js +2 -2
  78. package/dist/decorator/web/requestMapping.js +5 -5
  79. package/dist/decorator/web/response.js +6 -5
  80. package/dist/decorator/ws/webSocketController.js +3 -2
  81. package/dist/decorator/ws/webSocketEvent.js +7 -6
  82. package/dist/definitions/functionDefinition.d.ts +3 -3
  83. package/dist/definitions/functionDefinition.js +12 -11
  84. package/dist/definitions/objectCreator.d.ts +5 -11
  85. package/dist/definitions/objectCreator.js +6 -28
  86. package/dist/definitions/objectDefinition.d.ts +2 -3
  87. package/dist/definitions/objectDefinition.js +1 -3
  88. package/dist/error/base.js +2 -2
  89. package/dist/error/framework.d.ts +2 -9
  90. package/dist/error/framework.js +13 -27
  91. package/dist/error/http.js +1 -1
  92. package/dist/functional/configuration.d.ts +14 -15
  93. package/dist/functional/configuration.js +37 -47
  94. package/dist/functional/hooks.d.ts +12 -0
  95. package/dist/functional/hooks.js +78 -0
  96. package/dist/functional/index.d.ts +3 -0
  97. package/dist/functional/index.js +22 -0
  98. package/dist/index.d.ts +8 -4
  99. package/dist/index.js +10 -7
  100. package/dist/interface.d.ts +261 -137
  101. package/dist/interface.js +23 -33
  102. package/dist/legacy/constants.d.ts +29 -0
  103. package/dist/legacy/constants.js +33 -0
  104. package/dist/legacy/decorator.d.ts +255 -0
  105. package/dist/legacy/decorator.js +468 -0
  106. package/dist/legacy/index.d.ts +3 -0
  107. package/dist/legacy/index.js +19 -0
  108. package/dist/legacy/types.d.ts +2 -0
  109. package/dist/legacy/types.js +3 -0
  110. package/dist/service/aspectService.js +11 -12
  111. package/dist/service/configService.d.ts +1 -1
  112. package/dist/service/configService.js +5 -4
  113. package/dist/service/decoratorService.d.ts +3 -3
  114. package/dist/service/decoratorService.js +14 -10
  115. package/dist/service/environmentService.js +2 -2
  116. package/dist/service/frameworkService.d.ts +5 -4
  117. package/dist/service/frameworkService.js +30 -28
  118. package/dist/service/healthService.d.ts +2 -0
  119. package/dist/service/healthService.js +19 -8
  120. package/dist/service/informationService.d.ts +3 -0
  121. package/dist/service/informationService.js +13 -4
  122. package/dist/service/lifeCycleService.d.ts +13 -7
  123. package/dist/service/lifeCycleService.js +54 -48
  124. package/dist/service/loggerService.js +3 -4
  125. package/dist/service/middlewareService.js +7 -8
  126. package/dist/service/mockService.js +9 -15
  127. package/dist/service/slsFunctionService.d.ts +1 -14
  128. package/dist/service/slsFunctionService.js +33 -81
  129. package/dist/service/webRouterService.js +11 -11
  130. package/dist/setup.d.ts +5 -5
  131. package/dist/setup.js +83 -94
  132. package/dist/util/contextUtil.d.ts +2 -2
  133. package/dist/util/httpclient.d.ts +2 -2
  134. package/dist/util/index.d.ts +16 -17
  135. package/dist/util/index.js +153 -78
  136. package/dist/util/network.d.ts +10 -0
  137. package/dist/util/network.js +40 -0
  138. package/dist/util/pathFileUtil.d.ts +15 -2
  139. package/dist/util/pathFileUtil.js +27 -6
  140. package/dist/util/timeout.d.ts +57 -0
  141. package/dist/util/timeout.js +144 -0
  142. package/dist/util/webRouterParam.js +2 -2
  143. package/package.json +24 -6
  144. package/dist/decorator/common/pipeline.d.ts +0 -3
  145. package/dist/decorator/common/pipeline.js +0 -12
  146. package/dist/decorator/rpc/hsf.d.ts +0 -13
  147. package/dist/decorator/rpc/hsf.js +0 -20
  148. package/dist/definitions/properties.d.ts +0 -7
  149. package/dist/definitions/properties.js +0 -19
  150. package/dist/service/pipelineService.d.ts +0 -168
  151. package/dist/service/pipelineService.js +0 -254
@@ -0,0 +1,468 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getObjectDefinition = exports.saveObjectDefinition = exports.getPropertyInject = exports.savePropertyInject = exports.getMethodParamTypes = exports.getPropertyType = exports.createCustomParamDecorator = exports.createCustomMethodDecorator = exports.createCustomPropertyDecorator = exports.isProvide = exports.getProviderUUId = exports.getProviderName = exports.getProviderId = exports.saveProviderId = exports.clearAllModule = exports.resetModule = exports.listModule = exports.saveModule = exports.listPreloadModule = exports.savePreloadModule = exports.getPropertyMetadata = exports.attachPropertyMetadata = exports.savePropertyMetadata = exports.listPropertyDataFromClass = exports.getPropertyDataFromClass = exports.attachPropertyDataToClass = exports.savePropertyDataToClass = exports.getClassMetadata = exports.getClassExtendedMetadata = exports.attachClassMetadata = exports.saveClassMetadata = void 0;
4
+ const metadataManager_1 = require("../decorator/metadataManager");
5
+ const decorator_1 = require("../decorator");
6
+ const inject_1 = require("../decorator/common/inject");
7
+ const constants_1 = require("./constants");
8
+ /**
9
+ * the key for attach and list property data from class
10
+ */
11
+ const legacyListPropertyDataKey = 'LEGACY_LIST_PROPERTY_DATA_KEY';
12
+ function getDecoratorClsMethodPrefix(decoratorNameKey) {
13
+ return decoratorNameKey.toString() + '_CLS_METHOD';
14
+ }
15
+ function getDecoratorClsMethodKey(decoratorNameKey, methodKey) {
16
+ return (getDecoratorClsMethodPrefix(decoratorNameKey) + ':' + methodKey.toString());
17
+ }
18
+ /**
19
+ * save data to class
20
+ * @param decoratorNameKey
21
+ * @param data
22
+ * @param target
23
+ * @param mergeIfExist
24
+ * @since 2.3.0
25
+ * @deprecated Use MetadataManager.defineMetadata instead
26
+ */
27
+ function saveClassMetadata(decoratorNameKey, data, target, mergeIfExist) {
28
+ if (mergeIfExist && typeof data === 'object') {
29
+ const originData = metadataManager_1.MetadataManager.getMetadata(decoratorNameKey, target);
30
+ if (!originData) {
31
+ return metadataManager_1.MetadataManager.defineMetadata(decoratorNameKey, data, target);
32
+ }
33
+ if (Array.isArray(originData)) {
34
+ return metadataManager_1.MetadataManager.defineMetadata(decoratorNameKey, originData.concat(data), target);
35
+ }
36
+ else {
37
+ return metadataManager_1.MetadataManager.defineMetadata(decoratorNameKey, Object.assign(originData, data), target);
38
+ }
39
+ }
40
+ return metadataManager_1.MetadataManager.defineMetadata(decoratorNameKey, data, target);
41
+ }
42
+ exports.saveClassMetadata = saveClassMetadata;
43
+ /**
44
+ * attach data to class
45
+ * @param decoratorNameKey
46
+ * @param data
47
+ * @param target
48
+ * @param groupBy
49
+ * @since 2.3.0
50
+ * @deprecated Use MetadataManager.attachMetadata instead
51
+ */
52
+ function attachClassMetadata(decoratorNameKey, data, target, groupBy) {
53
+ return metadataManager_1.MetadataManager.attachMetadata(decoratorNameKey, data, target, groupBy);
54
+ }
55
+ exports.attachClassMetadata = attachClassMetadata;
56
+ function _getClassExtendedMetadata(decoratorNameKey, target, propertyName, useCache) {
57
+ const ret = metadataManager_1.MetadataManager.getPropertiesWithMetadata(decoratorNameKey, target);
58
+ // array item to object
59
+ const res = {};
60
+ for (const key in ret) {
61
+ const element = ret[key];
62
+ if (Array.isArray(element) && element.length) {
63
+ res[key] = element[element.length - 1];
64
+ }
65
+ else {
66
+ res[key] = element;
67
+ }
68
+ }
69
+ return res;
70
+ }
71
+ /**
72
+ * get data from class and proto
73
+ * @param decoratorNameKey
74
+ * @param target
75
+ * @param propertyName
76
+ * @param useCache
77
+ * @since 2.3.0
78
+ * @deprecated Use MetadataManager.getMetadata instead
79
+ */
80
+ function getClassExtendedMetadata(decoratorNameKey, target, propertyName, useCache) {
81
+ const ret = metadataManager_1.MetadataManager.getMetadata(decoratorNameKey, target);
82
+ if (ret === undefined) {
83
+ const res = _getClassExtendedMetadata(decoratorNameKey, target, propertyName, useCache);
84
+ if (res) {
85
+ return res;
86
+ }
87
+ }
88
+ return ret;
89
+ }
90
+ exports.getClassExtendedMetadata = getClassExtendedMetadata;
91
+ /**
92
+ * get data from class
93
+ * @param decoratorNameKey
94
+ * @param target
95
+ * @since 2.3.0
96
+ * @deprecated Use MetadataManager.getOwnMetadata instead
97
+ */
98
+ function getClassMetadata(decoratorNameKey, target) {
99
+ return metadataManager_1.MetadataManager.getOwnMetadata(decoratorNameKey, target);
100
+ }
101
+ exports.getClassMetadata = getClassMetadata;
102
+ /**
103
+ * save property data to class
104
+ * @param decoratorNameKey
105
+ * @param data
106
+ * @param target
107
+ * @param propertyName
108
+ * @since 2.3.0
109
+ * @deprecated Use MetadataManager.defineMetadata instead
110
+ */
111
+ function savePropertyDataToClass(decoratorNameKey, data, target, propertyName) {
112
+ const dataKey = getDecoratorClsMethodKey(decoratorNameKey, propertyName);
113
+ const originMap = metadataManager_1.MetadataManager.getOwnMetadata(legacyListPropertyDataKey, target) ||
114
+ new Map();
115
+ originMap.set(dataKey, data);
116
+ return metadataManager_1.MetadataManager.defineMetadata(legacyListPropertyDataKey, originMap, target);
117
+ }
118
+ exports.savePropertyDataToClass = savePropertyDataToClass;
119
+ /**
120
+ * attach property data to class
121
+ * @param decoratorNameKey
122
+ * @param data
123
+ * @param target
124
+ * @param propertyName
125
+ * @since 2.3.0
126
+ * @deprecated
127
+ */
128
+ function attachPropertyDataToClass(decoratorNameKey, data, target, propertyName) {
129
+ const dataKey = getDecoratorClsMethodKey(decoratorNameKey, propertyName);
130
+ const originMap = metadataManager_1.MetadataManager.getOwnMetadata(legacyListPropertyDataKey, target) ||
131
+ new Map();
132
+ if (originMap.has(dataKey)) {
133
+ const ret = originMap.get(dataKey);
134
+ ret.push(data);
135
+ originMap.set(dataKey, ret);
136
+ }
137
+ else {
138
+ originMap.set(dataKey, [data]);
139
+ }
140
+ return metadataManager_1.MetadataManager.defineMetadata(legacyListPropertyDataKey, originMap, target);
141
+ }
142
+ exports.attachPropertyDataToClass = attachPropertyDataToClass;
143
+ /**
144
+ * get property data from class
145
+ * @param decoratorNameKey
146
+ * @param target
147
+ * @param propertyName
148
+ * @since 2.3.0
149
+ * @deprecated Use MetadataManager.getOwnMetadata instead
150
+ */
151
+ function getPropertyDataFromClass(decoratorNameKey, target, propertyName) {
152
+ const dataKey = getDecoratorClsMethodKey(decoratorNameKey, propertyName);
153
+ const originMap = metadataManager_1.MetadataManager.getOwnMetadata(legacyListPropertyDataKey, target);
154
+ return originMap && originMap.get(dataKey);
155
+ }
156
+ exports.getPropertyDataFromClass = getPropertyDataFromClass;
157
+ /**
158
+ * list property data from class
159
+ * @param decoratorNameKey
160
+ * @param target
161
+ * @since 2.3.0
162
+ * @deprecated
163
+ */
164
+ function listPropertyDataFromClass(decoratorNameKey, target) {
165
+ const originMap = metadataManager_1.MetadataManager.getOwnMetadata(legacyListPropertyDataKey, target);
166
+ const res = [];
167
+ const prefix = getDecoratorClsMethodPrefix(decoratorNameKey);
168
+ for (const [key, value] of originMap) {
169
+ if (key.indexOf(prefix) !== -1) {
170
+ res.push(value);
171
+ }
172
+ }
173
+ return res;
174
+ }
175
+ exports.listPropertyDataFromClass = listPropertyDataFromClass;
176
+ /**
177
+ * save property data
178
+ * @param decoratorNameKey
179
+ * @param data
180
+ * @param target
181
+ * @param propertyName
182
+ * @since 2.3.0
183
+ * @deprecated Use MetadataManager.defineMetadata instead
184
+ */
185
+ function savePropertyMetadata(decoratorNameKey, data, target, propertyName) {
186
+ return metadataManager_1.MetadataManager.defineMetadata(decoratorNameKey, data, target, propertyName);
187
+ }
188
+ exports.savePropertyMetadata = savePropertyMetadata;
189
+ /**
190
+ * attach property data
191
+ * @param decoratorNameKey
192
+ * @param data
193
+ * @param target
194
+ * @param propertyName
195
+ * @since 2.3.0
196
+ * @deprecated
197
+ */
198
+ function attachPropertyMetadata(decoratorNameKey, data, target, propertyName) {
199
+ return metadataManager_1.MetadataManager.attachMetadata(decoratorNameKey, data, target, propertyName);
200
+ }
201
+ exports.attachPropertyMetadata = attachPropertyMetadata;
202
+ /**
203
+ * get property data
204
+ * @param decoratorNameKey
205
+ * @param target
206
+ * @param propertyName
207
+ * @since 2.3.0
208
+ * @deprecated Use MetadataManager.getOwnMetadata instead
209
+ */
210
+ function getPropertyMetadata(decoratorNameKey, target, propertyName) {
211
+ return metadataManager_1.MetadataManager.getOwnMetadata(decoratorNameKey, target, propertyName);
212
+ }
213
+ exports.getPropertyMetadata = getPropertyMetadata;
214
+ /**
215
+ * save preload module by target
216
+ * @param target
217
+ * @since 2.0.0
218
+ * @deprecated Use DecoratorManager.savePreStartModule instead
219
+ */
220
+ function savePreloadModule(target) {
221
+ return decorator_1.DecoratorManager.savePreStartModule(target);
222
+ }
223
+ exports.savePreloadModule = savePreloadModule;
224
+ /**
225
+ * list preload module
226
+ * @since 2.0.0
227
+ * @deprecated Use DecoratorManager.listPreStartModule instead
228
+ */
229
+ function listPreloadModule() {
230
+ return decorator_1.DecoratorManager.listPreStartModule();
231
+ }
232
+ exports.listPreloadModule = listPreloadModule;
233
+ /**
234
+ * save module to inner map
235
+ * @param decoratorNameKey
236
+ * @param target
237
+ * @since 2.0.0
238
+ * @deprecated Use DecoratorManager.saveModule instead
239
+ */
240
+ function saveModule(decoratorNameKey, target) {
241
+ return decorator_1.DecoratorManager.saveModule(decoratorNameKey, target);
242
+ }
243
+ exports.saveModule = saveModule;
244
+ /**
245
+ * list module from decorator key
246
+ * @param decoratorNameKey
247
+ * @param filter
248
+ * @since 2.0.0
249
+ * @deprecated Use DecoratorManager.listModule instead
250
+ */
251
+ function listModule(decoratorNameKey, filter) {
252
+ return decorator_1.DecoratorManager.listModule(decoratorNameKey, filter);
253
+ }
254
+ exports.listModule = listModule;
255
+ /**
256
+ * reset module
257
+ * @param decoratorNameKey
258
+ * @since 2.0.0
259
+ * @deprecated Use DecoratorManager.resetModule instead
260
+ */
261
+ function resetModule(decoratorNameKey) {
262
+ return decorator_1.DecoratorManager.resetModule(decoratorNameKey);
263
+ }
264
+ exports.resetModule = resetModule;
265
+ /**
266
+ * clear all module
267
+ * @since 3.0.0
268
+ * @deprecated Use DecoratorManager.clearAllModule instead
269
+ */
270
+ function clearAllModule() {
271
+ return decorator_1.DecoratorManager.clearAllModule();
272
+ }
273
+ exports.clearAllModule = clearAllModule;
274
+ /**
275
+ * class provider id
276
+ * @since 2.3.0
277
+ * @deprecated Use DecoratorManager.saveProviderId instead
278
+ */
279
+ function saveProviderId(identifier, target) {
280
+ return decorator_1.DecoratorManager.saveProviderId(identifier, target);
281
+ }
282
+ exports.saveProviderId = saveProviderId;
283
+ /**
284
+ * get provider id from module
285
+ * @since 3.0.0
286
+ * @deprecated Use DecoratorManager.getProviderId instead
287
+ */
288
+ function getProviderId(module) {
289
+ return decorator_1.DecoratorManager.getProviderId(module);
290
+ }
291
+ exports.getProviderId = getProviderId;
292
+ /**
293
+ * @since 3.0.0
294
+ * @deprecated Use DecoratorManager.getProviderName instead
295
+ */
296
+ function getProviderName(module) {
297
+ return decorator_1.DecoratorManager.getProviderName(module);
298
+ }
299
+ exports.getProviderName = getProviderName;
300
+ /**
301
+ * get provider uuid from module
302
+ * @since 3.0.0
303
+ * @deprecated Use DecoratorManager.getProviderUUId instead
304
+ */
305
+ function getProviderUUId(module) {
306
+ return decorator_1.DecoratorManager.getProviderUUId(module);
307
+ }
308
+ exports.getProviderUUId = getProviderUUId;
309
+ /**
310
+ * use @Provide decorator or not
311
+ * @since 3.0.0
312
+ * @deprecated Use DecoratorManager.isProvide instead
313
+ */
314
+ function isProvide(target) {
315
+ return decorator_1.DecoratorManager.isProvide(target);
316
+ }
317
+ exports.isProvide = isProvide;
318
+ /**
319
+ * Create a custom property inject
320
+ * @param decoratorKey
321
+ * @param metadata
322
+ * @param impl default true, configuration need decoratorService.registerMethodHandler
323
+ * @since 3.0.0
324
+ * @deprecated Use DecoratorManager.createCustomPropertyDecorator instead
325
+ */
326
+ function createCustomPropertyDecorator(decoratorKey, metadata, impl = true) {
327
+ return decorator_1.DecoratorManager.createCustomPropertyDecorator(decoratorKey, metadata, impl);
328
+ }
329
+ exports.createCustomPropertyDecorator = createCustomPropertyDecorator;
330
+ /**
331
+ * Create a custom method decorator
332
+ * @param decoratorKey
333
+ * @param metadata
334
+ * @param implOrOptions
335
+ * @since 3.0.0
336
+ * @deprecated Use DecoratorManager.createCustomMethodDecorator instead
337
+ */
338
+ function createCustomMethodDecorator(decoratorKey, metadata, implOrOptions = { impl: true }) {
339
+ return decorator_1.DecoratorManager.createCustomMethodDecorator(decoratorKey, metadata, implOrOptions);
340
+ }
341
+ exports.createCustomMethodDecorator = createCustomMethodDecorator;
342
+ /**
343
+ * Create a custom param decorator
344
+ * @param decoratorKey
345
+ * @param metadata
346
+ * @param implOrOptions
347
+ * @since 3.0.0
348
+ * @deprecated Use DecoratorManager.createCustomParamDecorator instead
349
+ */
350
+ function createCustomParamDecorator(decoratorKey, metadata, implOrOptions = { impl: true }) {
351
+ return decorator_1.DecoratorManager.createCustomParamDecorator(decoratorKey, metadata, implOrOptions);
352
+ }
353
+ exports.createCustomParamDecorator = createCustomParamDecorator;
354
+ /**
355
+ * get property(method) type from metadata
356
+ * @param target
357
+ * @param methodName
358
+ * @since 3.0.0
359
+ * @deprecated Use MetadataManager.getPropertyType instead
360
+ */
361
+ function getPropertyType(target, methodName) {
362
+ return metadataManager_1.MetadataManager.transformTypeFromTSDesign(metadataManager_1.MetadataManager.getPropertyType(target, methodName));
363
+ }
364
+ exports.getPropertyType = getPropertyType;
365
+ /**
366
+ * get parameters type by reflect-metadata
367
+ * @since 3.0.0
368
+ * @deprecated Use MetadataManager.getMethodParamTypes instead
369
+ */
370
+ function getMethodParamTypes(target, methodName) {
371
+ return metadataManager_1.MetadataManager.getMethodParamTypes(target, methodName);
372
+ }
373
+ exports.getMethodParamTypes = getMethodParamTypes;
374
+ /**
375
+ * save property inject args
376
+ * @param opts 参数
377
+ * @since 2.3.0
378
+ * @deprecated Use MetadataManager.attachMetadata instead
379
+ */
380
+ function savePropertyInject(opts) {
381
+ (0, inject_1.saveInjectMetadata)(opts.identifier, opts.target, opts.targetKey);
382
+ }
383
+ exports.savePropertyInject = savePropertyInject;
384
+ /**
385
+ * get property inject args
386
+ * @param target
387
+ * @param useCache
388
+ * @since 2.3.0
389
+ * @deprecated Use MetadataManager.getMetadata instead
390
+ */
391
+ function getPropertyInject(target, useCache) {
392
+ const ret = _getClassExtendedMetadata(decorator_1.PROPERTY_INJECT_KEY, target, undefined, useCache);
393
+ for (const key in ret) {
394
+ const element = ret[key];
395
+ if (Array.isArray(element) && element.length) {
396
+ ret[key] = element[element.length - 1];
397
+ }
398
+ }
399
+ return ret;
400
+ }
401
+ exports.getPropertyInject = getPropertyInject;
402
+ /**
403
+ * save class object definition
404
+ * @param target class
405
+ * @param props property data
406
+ * @since 2.3.0
407
+ * @deprecated Use MetadataManager.attachMetadata instead
408
+ */
409
+ function saveObjectDefinition(target, props = {}) {
410
+ metadataManager_1.MetadataManager.attachMetadata(constants_1.OBJ_DEF_CLS, props, target, '__fake_object_def_method');
411
+ return target;
412
+ }
413
+ exports.saveObjectDefinition = saveObjectDefinition;
414
+ /**
415
+ * get class object definition from metadata
416
+ * @param target
417
+ * @since 2.3.0
418
+ * @deprecated Use MetadataManager.getPropertiesWithMetadata instead
419
+ */
420
+ function getObjectDefinition(target) {
421
+ /**
422
+ * Array(1) [{…}]
423
+ */
424
+ const ret = _getClassExtendedMetadata(constants_1.OBJ_DEF_CLS, target);
425
+ const scope = metadataManager_1.MetadataManager.getOwnMetadata(decorator_1.SCOPE_KEY, target);
426
+ if (Array.isArray(ret)) {
427
+ const res = {};
428
+ for (const v of ret) {
429
+ Object.assign(res, v);
430
+ }
431
+ return res;
432
+ }
433
+ else {
434
+ // {
435
+ // "abcde": [
436
+ // {
437
+ // "initMethod": "abcde"
438
+ // }
439
+ // ],
440
+ // "destroy": [
441
+ // {
442
+ // "destroyMethod": "destroy"
443
+ // }
444
+ // ]
445
+ // }
446
+ // merge object and get
447
+ // {
448
+ // "destroyMethod": "destroy",
449
+ // "initMethod": "abcde",
450
+ // }
451
+ const res = {};
452
+ for (const key in ret) {
453
+ const element = ret[key];
454
+ if (Array.isArray(element)) {
455
+ for (const v of element) {
456
+ Object.assign(res, v);
457
+ }
458
+ }
459
+ else {
460
+ Object.assign(res, element);
461
+ }
462
+ }
463
+ // merge scope
464
+ return Object.assign(res, scope);
465
+ }
466
+ }
467
+ exports.getObjectDefinition = getObjectDefinition;
468
+ //# sourceMappingURL=decorator.js.map
@@ -0,0 +1,3 @@
1
+ export * from './decorator';
2
+ export * from './constants';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./decorator"), exports);
18
+ __exportStar(require("./constants"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -14,6 +14,7 @@ const pm = require("picomatch");
14
14
  const interface_1 = require("../interface");
15
15
  const decorator_1 = require("../decorator");
16
16
  const types_1 = require("../util/types");
17
+ const metadataManager_1 = require("../decorator/metadataManager");
17
18
  let MidwayAspectService = class MidwayAspectService {
18
19
  constructor(applicationContext) {
19
20
  this.applicationContext = applicationContext;
@@ -23,11 +24,11 @@ let MidwayAspectService = class MidwayAspectService {
23
24
  */
24
25
  async loadAspect() {
25
26
  // for aop implementation
26
- const aspectModules = (0, decorator_1.listModule)(decorator_1.ASPECT_KEY);
27
+ const aspectModules = decorator_1.DecoratorManager.listModule(decorator_1.ASPECT_KEY);
27
28
  // sort for aspect target
28
29
  let aspectDataList = [];
29
30
  for (const module of aspectModules) {
30
- const data = (0, decorator_1.getClassMetadata)(decorator_1.ASPECT_KEY, module);
31
+ const data = metadataManager_1.MetadataManager.getOwnMetadata(decorator_1.ASPECT_KEY, module);
31
32
  aspectDataList = aspectDataList.concat(data.map(el => {
32
33
  el.aspectModule = module;
33
34
  return el;
@@ -68,7 +69,6 @@ let MidwayAspectService = class MidwayAspectService {
68
69
  const originMethod = Clz.prototype[methodName];
69
70
  if (types_1.Types.isAsyncFunction(Clz.prototype[methodName])) {
70
71
  Clz.prototype[methodName] = async function (...args) {
71
- var _a, _b, _c;
72
72
  let error, result;
73
73
  const newProceed = (...args) => {
74
74
  return originMethod.apply(this, args);
@@ -84,7 +84,7 @@ let MidwayAspectService = class MidwayAspectService {
84
84
  aspectObject = aspectObject();
85
85
  }
86
86
  try {
87
- await ((_a = aspectObject.before) === null || _a === void 0 ? void 0 : _a.call(aspectObject, joinPoint));
87
+ await aspectObject.before?.(joinPoint);
88
88
  if (aspectObject.around) {
89
89
  result = await aspectObject.around(joinPoint);
90
90
  }
@@ -92,7 +92,7 @@ let MidwayAspectService = class MidwayAspectService {
92
92
  result = await originMethod.call(this, ...joinPoint.args);
93
93
  }
94
94
  joinPoint.proceed = undefined;
95
- const resultTemp = await ((_b = aspectObject.afterReturn) === null || _b === void 0 ? void 0 : _b.call(aspectObject, joinPoint, result));
95
+ const resultTemp = await aspectObject.afterReturn?.(joinPoint, result);
96
96
  result = typeof resultTemp === 'undefined' ? result : resultTemp;
97
97
  return result;
98
98
  }
@@ -107,13 +107,12 @@ let MidwayAspectService = class MidwayAspectService {
107
107
  }
108
108
  }
109
109
  finally {
110
- await ((_c = aspectObject.after) === null || _c === void 0 ? void 0 : _c.call(aspectObject, joinPoint, result, error));
110
+ await aspectObject.after?.(joinPoint, result, error);
111
111
  }
112
112
  };
113
113
  }
114
114
  else {
115
115
  Clz.prototype[methodName] = function (...args) {
116
- var _a, _b, _c;
117
116
  let error, result;
118
117
  const newProceed = (...args) => {
119
118
  return originMethod.apply(this, args);
@@ -129,7 +128,7 @@ let MidwayAspectService = class MidwayAspectService {
129
128
  aspectObject = aspectObject();
130
129
  }
131
130
  try {
132
- (_a = aspectObject.before) === null || _a === void 0 ? void 0 : _a.call(aspectObject, joinPoint);
131
+ aspectObject.before?.(joinPoint);
133
132
  if (aspectObject.around) {
134
133
  result = aspectObject.around(joinPoint);
135
134
  }
@@ -137,7 +136,7 @@ let MidwayAspectService = class MidwayAspectService {
137
136
  result = originMethod.call(this, ...joinPoint.args);
138
137
  }
139
138
  joinPoint.proceed = undefined;
140
- const resultTemp = (_b = aspectObject.afterReturn) === null || _b === void 0 ? void 0 : _b.call(aspectObject, joinPoint, result);
139
+ const resultTemp = aspectObject.afterReturn?.(joinPoint, result);
141
140
  result = typeof resultTemp === 'undefined' ? result : resultTemp;
142
141
  return result;
143
142
  }
@@ -152,16 +151,16 @@ let MidwayAspectService = class MidwayAspectService {
152
151
  }
153
152
  }
154
153
  finally {
155
- (_c = aspectObject.after) === null || _c === void 0 ? void 0 : _c.call(aspectObject, joinPoint, result, error);
154
+ aspectObject.after?.(joinPoint, result, error);
156
155
  }
157
156
  };
158
157
  }
159
158
  }
160
159
  };
161
- MidwayAspectService = __decorate([
160
+ exports.MidwayAspectService = MidwayAspectService;
161
+ exports.MidwayAspectService = MidwayAspectService = __decorate([
162
162
  (0, decorator_1.Provide)(),
163
163
  (0, decorator_1.Scope)(interface_1.ScopeEnum.Singleton),
164
164
  __metadata("design:paramtypes", [Object])
165
165
  ], MidwayAspectService);
166
- exports.MidwayAspectService = MidwayAspectService;
167
166
  //# sourceMappingURL=aspectService.js.map
@@ -23,7 +23,7 @@ export declare class MidwayConfigService implements IConfigService {
23
23
  private getEnvSet;
24
24
  private getConfigEnv;
25
25
  load(): void;
26
- getConfiguration(configKey?: string): any;
26
+ getConfiguration<T = any>(configKey?: string, defaultValue?: any): T;
27
27
  getConfigMergeOrder(): Array<ConfigMergeInfo>;
28
28
  private loadConfig;
29
29
  clearAllConfig(): void;
@@ -179,9 +179,10 @@ let MidwayConfigService = class MidwayConfigService {
179
179
  this.configuration = target;
180
180
  this.isReady = true;
181
181
  }
182
- getConfiguration(configKey) {
182
+ getConfiguration(configKey, defaultValue) {
183
183
  if (configKey) {
184
- return (0, util_1.safelyGet)(configKey, this.configuration);
184
+ const res = (0, util_1.safelyGet)(configKey, this.configuration);
185
+ return res === undefined ? defaultValue : res;
185
186
  }
186
187
  return this.configuration;
187
188
  }
@@ -228,6 +229,7 @@ let MidwayConfigService = class MidwayConfigService {
228
229
  return this.appInfo;
229
230
  }
230
231
  };
232
+ exports.MidwayConfigService = MidwayConfigService;
231
233
  __decorate([
232
234
  (0, decorator_1.Inject)(),
233
235
  __metadata("design:type", environmentService_1.MidwayEnvironmentService)
@@ -242,9 +244,8 @@ __decorate([
242
244
  __metadata("design:paramtypes", []),
243
245
  __metadata("design:returntype", void 0)
244
246
  ], MidwayConfigService.prototype, "init", null);
245
- MidwayConfigService = __decorate([
247
+ exports.MidwayConfigService = MidwayConfigService = __decorate([
246
248
  (0, decorator_1.Provide)(),
247
249
  (0, decorator_1.Scope)(interface_1.ScopeEnum.Singleton)
248
250
  ], MidwayConfigService);
249
- exports.MidwayConfigService = MidwayConfigService;
250
251
  //# sourceMappingURL=configService.js.map
@@ -1,12 +1,12 @@
1
- import { HandlerFunction, IMidwayContainer, MethodHandlerFunction, ParameterHandlerFunction, PipeUnionTransform } from '../interface';
1
+ import { HandlerFunction, MethodHandlerFunction, ParameterHandlerFunction, PipeUnionTransform, IMidwayGlobalContainer } from '../interface';
2
2
  export declare class MidwayDecoratorService {
3
- readonly applicationContext: IMidwayContainer;
3
+ readonly applicationContext: IMidwayGlobalContainer;
4
4
  private propertyHandlerMap;
5
5
  private methodDecoratorMap;
6
6
  private parameterDecoratorMap;
7
7
  private parameterDecoratorPipes;
8
8
  private aspectService;
9
- constructor(applicationContext: IMidwayContainer);
9
+ constructor(applicationContext: IMidwayGlobalContainer);
10
10
  protected init(): void;
11
11
  registerPropertyHandler(decoratorKey: string, fn: HandlerFunction): void;
12
12
  registerMethodHandler(decoratorKey: string, fn: MethodHandlerFunction): void;