@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.
- package/dist/baseFramework.d.ts +14 -39
- package/dist/baseFramework.js +19 -59
- package/dist/common/applicationManager.d.ts +6 -6
- package/dist/common/applicationManager.js +18 -35
- package/dist/common/asyncContextManager.d.ts +15 -0
- package/dist/common/asyncContextManager.js +51 -2
- package/dist/common/dataListener.d.ts +5 -3
- package/dist/common/dataListener.js +13 -4
- package/dist/common/dataSourceManager.d.ts +18 -9
- package/dist/common/dataSourceManager.js +121 -72
- package/dist/common/fileDetector.d.ts +9 -9
- package/dist/common/fileDetector.js +30 -28
- package/dist/common/filterManager.js +5 -4
- package/dist/common/guardManager.js +3 -2
- package/dist/common/middlewareManager.js +4 -3
- package/dist/common/performanceManager.js +1 -1
- package/dist/common/priorityManager.js +2 -2
- package/dist/common/serviceDiscovery/healthCheck.d.ts +66 -0
- package/dist/common/serviceDiscovery/healthCheck.js +207 -0
- package/dist/common/serviceDiscovery/loadBalancer.d.ts +21 -0
- package/dist/common/serviceDiscovery/loadBalancer.js +51 -0
- package/dist/common/serviceDiscovery/serviceDiscovery.d.ts +59 -0
- package/dist/common/serviceDiscovery/serviceDiscovery.js +104 -0
- package/dist/common/serviceFactory.d.ts +5 -2
- package/dist/common/serviceFactory.js +44 -9
- package/dist/common/webGenerator.js +4 -6
- package/dist/config/config.default.js +4 -1
- package/dist/constants.d.ts +2 -32
- package/dist/constants.js +3 -33
- package/dist/context/componentLoader.d.ts +20 -0
- package/dist/context/componentLoader.js +193 -0
- package/dist/context/container.d.ts +18 -32
- package/dist/context/container.js +74 -308
- package/dist/context/definitionRegistry.d.ts +5 -0
- package/dist/context/definitionRegistry.js +17 -26
- package/dist/context/dynamicContainer.d.ts +17 -0
- package/dist/context/dynamicContainer.js +202 -0
- package/dist/context/managedResolverFactory.d.ts +15 -41
- package/dist/context/managedResolverFactory.js +271 -349
- package/dist/context/requestContainer.d.ts +23 -12
- package/dist/context/requestContainer.js +46 -51
- package/dist/decorator/common/aspect.js +4 -4
- package/dist/decorator/common/autoload.js +1 -1
- package/dist/decorator/common/configuration.d.ts +1 -24
- package/dist/decorator/common/configuration.js +6 -1
- package/dist/decorator/common/filter.js +6 -6
- package/dist/decorator/common/framework.d.ts +46 -3
- package/dist/decorator/common/framework.js +43 -9
- package/dist/decorator/common/guard.js +4 -9
- package/dist/decorator/common/inject.d.ts +4 -2
- package/dist/decorator/common/inject.js +87 -4
- package/dist/decorator/common/mock.js +1 -1
- package/dist/decorator/common/objectDef.d.ts +0 -5
- package/dist/decorator/common/objectDef.js +8 -20
- package/dist/decorator/common/provide.d.ts +1 -1
- package/dist/decorator/common/provide.js +1 -1
- package/dist/decorator/common/scope.d.ts +6 -0
- package/dist/decorator/common/scope.js +21 -0
- package/dist/decorator/constant.d.ts +14 -17
- package/dist/decorator/constant.js +23 -35
- package/dist/decorator/decoratorManager.d.ts +21 -294
- package/dist/decorator/decoratorManager.js +127 -694
- package/dist/decorator/faas/serverlessTrigger.js +5 -5
- package/dist/decorator/index.d.ts +2 -3
- package/dist/decorator/index.js +6 -4
- package/dist/decorator/metadataManager.d.ts +131 -0
- package/dist/decorator/metadataManager.js +465 -0
- package/dist/decorator/microservice/consumer.js +3 -2
- package/dist/decorator/microservice/kafkaListener.js +2 -1
- package/dist/decorator/microservice/provider.js +6 -5
- package/dist/decorator/microservice/rabbitmqListener.js +2 -1
- package/dist/decorator/task/queue.js +3 -2
- package/dist/decorator/task/schedule.js +3 -2
- package/dist/decorator/task/task.js +4 -3
- package/dist/decorator/task/taskLocal.js +4 -3
- package/dist/decorator/web/controller.js +3 -2
- package/dist/decorator/web/paramMapping.js +2 -2
- package/dist/decorator/web/requestMapping.js +5 -5
- package/dist/decorator/web/response.js +6 -5
- package/dist/decorator/ws/webSocketController.js +3 -2
- package/dist/decorator/ws/webSocketEvent.js +7 -6
- package/dist/definitions/functionDefinition.d.ts +3 -3
- package/dist/definitions/functionDefinition.js +12 -11
- package/dist/definitions/objectCreator.d.ts +5 -11
- package/dist/definitions/objectCreator.js +6 -28
- package/dist/definitions/objectDefinition.d.ts +2 -3
- package/dist/definitions/objectDefinition.js +1 -3
- package/dist/error/base.js +2 -2
- package/dist/error/framework.d.ts +2 -9
- package/dist/error/framework.js +13 -27
- package/dist/error/http.js +1 -1
- package/dist/functional/configuration.d.ts +14 -15
- package/dist/functional/configuration.js +37 -47
- package/dist/functional/hooks.d.ts +12 -0
- package/dist/functional/hooks.js +78 -0
- package/dist/functional/index.d.ts +3 -0
- package/dist/functional/index.js +22 -0
- package/dist/index.d.ts +8 -4
- package/dist/index.js +10 -7
- package/dist/interface.d.ts +261 -137
- package/dist/interface.js +23 -33
- package/dist/legacy/constants.d.ts +29 -0
- package/dist/legacy/constants.js +33 -0
- package/dist/legacy/decorator.d.ts +255 -0
- package/dist/legacy/decorator.js +468 -0
- package/dist/legacy/index.d.ts +3 -0
- package/dist/legacy/index.js +19 -0
- package/dist/legacy/types.d.ts +2 -0
- package/dist/legacy/types.js +3 -0
- package/dist/service/aspectService.js +11 -12
- package/dist/service/configService.d.ts +1 -1
- package/dist/service/configService.js +5 -4
- package/dist/service/decoratorService.d.ts +3 -3
- package/dist/service/decoratorService.js +14 -10
- package/dist/service/environmentService.js +2 -2
- package/dist/service/frameworkService.d.ts +5 -4
- package/dist/service/frameworkService.js +30 -28
- package/dist/service/healthService.d.ts +2 -0
- package/dist/service/healthService.js +19 -8
- package/dist/service/informationService.d.ts +3 -0
- package/dist/service/informationService.js +13 -4
- package/dist/service/lifeCycleService.d.ts +13 -7
- package/dist/service/lifeCycleService.js +54 -48
- package/dist/service/loggerService.js +3 -4
- package/dist/service/middlewareService.js +7 -8
- package/dist/service/mockService.js +9 -15
- package/dist/service/slsFunctionService.d.ts +1 -14
- package/dist/service/slsFunctionService.js +33 -81
- package/dist/service/webRouterService.js +11 -11
- package/dist/setup.d.ts +5 -5
- package/dist/setup.js +83 -94
- package/dist/util/contextUtil.d.ts +2 -2
- package/dist/util/httpclient.d.ts +2 -2
- package/dist/util/index.d.ts +16 -17
- package/dist/util/index.js +153 -78
- package/dist/util/network.d.ts +10 -0
- package/dist/util/network.js +40 -0
- package/dist/util/pathFileUtil.d.ts +15 -2
- package/dist/util/pathFileUtil.js +27 -6
- package/dist/util/timeout.d.ts +57 -0
- package/dist/util/timeout.js +144 -0
- package/dist/util/webRouterParam.js +2 -2
- package/package.json +24 -6
- package/dist/decorator/common/pipeline.d.ts +0 -3
- package/dist/decorator/common/pipeline.js +0 -12
- package/dist/decorator/rpc/hsf.d.ts +0 -13
- package/dist/decorator/rpc/hsf.js +0 -20
- package/dist/definitions/properties.d.ts +0 -7
- package/dist/definitions/properties.js +0 -19
- package/dist/service/pipelineService.d.ts +0 -168
- 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,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
|
|
@@ -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 =
|
|
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 =
|
|
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
|
|
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
|
|
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
|
|
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
|
-
|
|
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 =
|
|
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
|
-
|
|
154
|
+
aspectObject.after?.(joinPoint, result, error);
|
|
156
155
|
}
|
|
157
156
|
};
|
|
158
157
|
}
|
|
159
158
|
}
|
|
160
159
|
};
|
|
161
|
-
MidwayAspectService =
|
|
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):
|
|
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
|
-
|
|
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,
|
|
1
|
+
import { HandlerFunction, MethodHandlerFunction, ParameterHandlerFunction, PipeUnionTransform, IMidwayGlobalContainer } from '../interface';
|
|
2
2
|
export declare class MidwayDecoratorService {
|
|
3
|
-
readonly applicationContext:
|
|
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:
|
|
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;
|