@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
|
@@ -2,11 +2,12 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.KafkaListener = void 0;
|
|
4
4
|
const __1 = require("../");
|
|
5
|
+
const legacy_1 = require("../../legacy");
|
|
5
6
|
function KafkaListener(topic, options = {}) {
|
|
6
7
|
return (target, propertyKey) => {
|
|
7
8
|
options.topic = topic;
|
|
8
9
|
options.propertyKey = propertyKey;
|
|
9
|
-
(0,
|
|
10
|
+
(0, legacy_1.attachPropertyDataToClass)(__1.MS_CONSUMER_KEY, options, target, propertyKey);
|
|
10
11
|
};
|
|
11
12
|
}
|
|
12
13
|
exports.KafkaListener = KafkaListener;
|
|
@@ -3,10 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.DubboMethod = exports.GrpcMethod = exports.GrpcStreamTypeEnum = exports.Provider = void 0;
|
|
4
4
|
const __1 = require("../");
|
|
5
5
|
const interface_1 = require("../../interface");
|
|
6
|
+
const metadataManager_1 = require("../metadataManager");
|
|
6
7
|
function Provider(type, metadata = {}) {
|
|
7
8
|
return (target) => {
|
|
8
|
-
|
|
9
|
-
|
|
9
|
+
__1.DecoratorManager.saveModule(__1.MS_PROVIDER_KEY, target);
|
|
10
|
+
metadataManager_1.MetadataManager.defineMetadata(__1.MS_PROVIDER_KEY, {
|
|
10
11
|
type,
|
|
11
12
|
metadata,
|
|
12
13
|
}, target);
|
|
@@ -21,13 +22,13 @@ var GrpcStreamTypeEnum;
|
|
|
21
22
|
GrpcStreamTypeEnum["DUPLEX"] = "ServerDuplexStream";
|
|
22
23
|
GrpcStreamTypeEnum["READABLE"] = "ServerReadableStream";
|
|
23
24
|
GrpcStreamTypeEnum["WRITEABLE"] = "ServerWritableStream";
|
|
24
|
-
})(GrpcStreamTypeEnum
|
|
25
|
+
})(GrpcStreamTypeEnum || (exports.GrpcStreamTypeEnum = GrpcStreamTypeEnum = {}));
|
|
25
26
|
function GrpcMethod(methodOptions = {}) {
|
|
26
27
|
return (target, propertyName, descriptor) => {
|
|
27
28
|
if (!methodOptions.type) {
|
|
28
29
|
methodOptions.type = GrpcStreamTypeEnum.BASE;
|
|
29
30
|
}
|
|
30
|
-
|
|
31
|
+
metadataManager_1.MetadataManager.defineMetadata(__1.MS_GRPC_METHOD_KEY, {
|
|
31
32
|
methodName: methodOptions.methodName || propertyName,
|
|
32
33
|
type: methodOptions.type,
|
|
33
34
|
onEnd: methodOptions.onEnd,
|
|
@@ -38,7 +39,7 @@ function GrpcMethod(methodOptions = {}) {
|
|
|
38
39
|
exports.GrpcMethod = GrpcMethod;
|
|
39
40
|
function DubboMethod(methodName) {
|
|
40
41
|
return (target, propertyName, descriptor) => {
|
|
41
|
-
|
|
42
|
+
metadataManager_1.MetadataManager.attachMetadata(__1.MS_DUBBO_METHOD_KEY, {
|
|
42
43
|
methodName: methodName || propertyName,
|
|
43
44
|
}, target);
|
|
44
45
|
return descriptor;
|
|
@@ -2,11 +2,12 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.RabbitMQListener = void 0;
|
|
4
4
|
const __1 = require("../");
|
|
5
|
+
const legacy_1 = require("../../legacy");
|
|
5
6
|
function RabbitMQListener(queueName, options = {}) {
|
|
6
7
|
return (target, propertyKey) => {
|
|
7
8
|
options.queueName = queueName;
|
|
8
9
|
options.propertyKey = propertyKey;
|
|
9
|
-
(0,
|
|
10
|
+
(0, legacy_1.attachPropertyDataToClass)(__1.MS_CONSUMER_KEY, options, target, propertyKey);
|
|
10
11
|
};
|
|
11
12
|
}
|
|
12
13
|
exports.RabbitMQListener = RabbitMQListener;
|
|
@@ -3,10 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.Queue = void 0;
|
|
4
4
|
const __1 = require("../");
|
|
5
5
|
const constant_1 = require("../constant");
|
|
6
|
+
const metadataManager_1 = require("../metadataManager");
|
|
6
7
|
function Queue(options) {
|
|
7
8
|
return function (target) {
|
|
8
|
-
|
|
9
|
-
|
|
9
|
+
__1.DecoratorManager.saveModule(constant_1.MODULE_TASK_QUEUE_KEY, target);
|
|
10
|
+
metadataManager_1.MetadataManager.defineMetadata(constant_1.MODULE_TASK_QUEUE_OPTIONS, {
|
|
10
11
|
options,
|
|
11
12
|
name: target.name,
|
|
12
13
|
}, target);
|
|
@@ -3,10 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.Schedule = void 0;
|
|
4
4
|
const __1 = require("../");
|
|
5
5
|
const interface_1 = require("../../interface");
|
|
6
|
+
const metadataManager_1 = require("../metadataManager");
|
|
6
7
|
function Schedule(scheduleOpts) {
|
|
7
8
|
return function (target) {
|
|
8
|
-
|
|
9
|
-
|
|
9
|
+
__1.DecoratorManager.saveModule(__1.SCHEDULE_KEY, target);
|
|
10
|
+
metadataManager_1.MetadataManager.defineMetadata(__1.SCHEDULE_KEY, scheduleOpts, target);
|
|
10
11
|
(0, __1.Scope)(interface_1.ScopeEnum.Request)(target);
|
|
11
12
|
(0, __1.Provide)()(target);
|
|
12
13
|
};
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Task = void 0;
|
|
4
|
-
const __1 = require("../");
|
|
5
4
|
const constant_1 = require("../constant");
|
|
5
|
+
const decoratorManager_1 = require("../decoratorManager");
|
|
6
|
+
const metadataManager_1 = require("../metadataManager");
|
|
6
7
|
function Task(options) {
|
|
7
8
|
return function (target, propertyKey, descriptor) {
|
|
8
|
-
|
|
9
|
-
|
|
9
|
+
decoratorManager_1.DecoratorManager.saveModule(constant_1.MODULE_TASK_KEY, target.constructor);
|
|
10
|
+
metadataManager_1.MetadataManager.attachMetadata(constant_1.MODULE_TASK_METADATA, {
|
|
10
11
|
options,
|
|
11
12
|
propertyKey,
|
|
12
13
|
value: descriptor.value,
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.TaskLocal = void 0;
|
|
4
|
-
const __1 = require("../");
|
|
5
4
|
const constant_1 = require("../constant");
|
|
5
|
+
const decoratorManager_1 = require("../decoratorManager");
|
|
6
|
+
const metadataManager_1 = require("../metadataManager");
|
|
6
7
|
function TaskLocal(options) {
|
|
7
8
|
return function (target, propertyKey, descriptor) {
|
|
8
|
-
|
|
9
|
-
|
|
9
|
+
decoratorManager_1.DecoratorManager.saveModule(constant_1.MODULE_TASK_TASK_LOCAL_KEY, target.constructor);
|
|
10
|
+
metadataManager_1.MetadataManager.attachMetadata(constant_1.MODULE_TASK_TASK_LOCAL_OPTIONS, {
|
|
10
11
|
options,
|
|
11
12
|
propertyKey,
|
|
12
13
|
value: descriptor.value,
|
|
@@ -3,11 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.Controller = void 0;
|
|
4
4
|
const __1 = require("../");
|
|
5
5
|
const interface_1 = require("../../interface");
|
|
6
|
+
const metadataManager_1 = require("../metadataManager");
|
|
6
7
|
function Controller(prefix = '/', routerOptions = { middleware: [], sensitive: true }) {
|
|
7
8
|
return (target) => {
|
|
8
|
-
|
|
9
|
+
__1.DecoratorManager.saveModule(__1.CONTROLLER_KEY, target);
|
|
9
10
|
if (prefix)
|
|
10
|
-
|
|
11
|
+
metadataManager_1.MetadataManager.defineMetadata(__1.CONTROLLER_KEY, {
|
|
11
12
|
prefix,
|
|
12
13
|
routerOptions,
|
|
13
14
|
}, target);
|
|
@@ -17,7 +17,7 @@ var RouteParamTypes;
|
|
|
17
17
|
RouteParamTypes["QUERIES"] = "queries";
|
|
18
18
|
RouteParamTypes["FIELDS"] = "fields";
|
|
19
19
|
RouteParamTypes["CUSTOM"] = "custom";
|
|
20
|
-
})(RouteParamTypes
|
|
20
|
+
})(RouteParamTypes || (exports.RouteParamTypes = RouteParamTypes = {}));
|
|
21
21
|
const createParamMapping = function (type) {
|
|
22
22
|
return (propertyOrPipes, options = {}) => {
|
|
23
23
|
let propertyData = propertyOrPipes;
|
|
@@ -25,7 +25,7 @@ const createParamMapping = function (type) {
|
|
|
25
25
|
options.pipes = propertyOrPipes;
|
|
26
26
|
propertyData = undefined;
|
|
27
27
|
}
|
|
28
|
-
return
|
|
28
|
+
return __1.DecoratorManager.createCustomParamDecorator(__1.WEB_ROUTER_PARAM_KEY, {
|
|
29
29
|
type,
|
|
30
30
|
propertyData,
|
|
31
31
|
}, options);
|
|
@@ -5,6 +5,7 @@ exports.All = exports.Head = exports.Options = exports.Patch = exports.Put = exp
|
|
|
5
5
|
* 'HEAD', 'OPTIONS', 'GET', 'PUT', 'PATCH', 'POST', 'DELETE' 封装
|
|
6
6
|
*/
|
|
7
7
|
const __1 = require("../");
|
|
8
|
+
const metadataManager_1 = require("../metadataManager");
|
|
8
9
|
exports.RequestMethod = {
|
|
9
10
|
GET: 'get',
|
|
10
11
|
POST: 'post',
|
|
@@ -27,16 +28,15 @@ const RequestMapping = (metadata = defaultMetadata) => {
|
|
|
27
28
|
const routerName = metadata.routerName;
|
|
28
29
|
const middleware = metadata.middleware;
|
|
29
30
|
return (target, key, descriptor) => {
|
|
30
|
-
|
|
31
|
-
(0, __1.attachClassMetadata)(__1.WEB_ROUTER_KEY, {
|
|
31
|
+
metadataManager_1.MetadataManager.attachMetadata(__1.WEB_ROUTER_KEY, {
|
|
32
32
|
path,
|
|
33
33
|
requestMethod,
|
|
34
34
|
routerName,
|
|
35
35
|
method: key,
|
|
36
36
|
middleware,
|
|
37
|
-
summary:
|
|
38
|
-
description:
|
|
39
|
-
ignoreGlobalPrefix:
|
|
37
|
+
summary: metadata?.summary || '',
|
|
38
|
+
description: metadata?.description || '',
|
|
39
|
+
ignoreGlobalPrefix: metadata?.ignoreGlobalPrefix ?? false,
|
|
40
40
|
}, target);
|
|
41
41
|
return descriptor;
|
|
42
42
|
};
|
|
@@ -2,9 +2,10 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.createRender = exports.ContentType = exports.SetHeader = exports.HttpCode = exports.Redirect = void 0;
|
|
4
4
|
const __1 = require("../");
|
|
5
|
+
const metadataManager_1 = require("../metadataManager");
|
|
5
6
|
function Redirect(url, code = 302) {
|
|
6
7
|
return (target, key, descriptor) => {
|
|
7
|
-
|
|
8
|
+
metadataManager_1.MetadataManager.attachMetadata(__1.WEB_RESPONSE_KEY, {
|
|
8
9
|
type: __1.WEB_RESPONSE_REDIRECT,
|
|
9
10
|
url,
|
|
10
11
|
code,
|
|
@@ -15,7 +16,7 @@ function Redirect(url, code = 302) {
|
|
|
15
16
|
exports.Redirect = Redirect;
|
|
16
17
|
function HttpCode(code) {
|
|
17
18
|
return (target, key, descriptor) => {
|
|
18
|
-
|
|
19
|
+
metadataManager_1.MetadataManager.attachMetadata(__1.WEB_RESPONSE_KEY, {
|
|
19
20
|
type: __1.WEB_RESPONSE_HTTP_CODE,
|
|
20
21
|
code,
|
|
21
22
|
}, target, key);
|
|
@@ -32,7 +33,7 @@ function SetHeader(headerKey, value) {
|
|
|
32
33
|
else {
|
|
33
34
|
headerObject = headerKey;
|
|
34
35
|
}
|
|
35
|
-
|
|
36
|
+
metadataManager_1.MetadataManager.attachMetadata(__1.WEB_RESPONSE_KEY, {
|
|
36
37
|
type: __1.WEB_RESPONSE_HEADER,
|
|
37
38
|
setHeaders: headerObject,
|
|
38
39
|
}, target, key);
|
|
@@ -42,7 +43,7 @@ function SetHeader(headerKey, value) {
|
|
|
42
43
|
exports.SetHeader = SetHeader;
|
|
43
44
|
function ContentType(contentType) {
|
|
44
45
|
return (target, key, descriptor) => {
|
|
45
|
-
|
|
46
|
+
metadataManager_1.MetadataManager.attachMetadata(__1.WEB_RESPONSE_KEY, {
|
|
46
47
|
type: __1.WEB_RESPONSE_CONTENT_TYPE,
|
|
47
48
|
contentType,
|
|
48
49
|
}, target, key);
|
|
@@ -53,7 +54,7 @@ exports.ContentType = ContentType;
|
|
|
53
54
|
function createRender(RenderEngine) {
|
|
54
55
|
return (templateName) => {
|
|
55
56
|
return (target, key, descriptor) => {
|
|
56
|
-
|
|
57
|
+
metadataManager_1.MetadataManager.attachMetadata(__1.WEB_RESPONSE_KEY, {
|
|
57
58
|
type: __1.WEB_RESPONSE_RENDER,
|
|
58
59
|
templateName,
|
|
59
60
|
}, target, key);
|
|
@@ -3,13 +3,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.WSController = void 0;
|
|
4
4
|
const __1 = require("../");
|
|
5
5
|
const interface_1 = require("../../interface");
|
|
6
|
+
const metadataManager_1 = require("../metadataManager");
|
|
6
7
|
function WSController(namespace = '/', routerOptions = {
|
|
7
8
|
middleware: [],
|
|
8
9
|
connectionMiddleware: [],
|
|
9
10
|
}) {
|
|
10
11
|
return (target) => {
|
|
11
|
-
|
|
12
|
-
|
|
12
|
+
__1.DecoratorManager.saveModule(__1.WS_CONTROLLER_KEY, target);
|
|
13
|
+
metadataManager_1.MetadataManager.defineMetadata(__1.WS_CONTROLLER_KEY, {
|
|
13
14
|
namespace,
|
|
14
15
|
routerOptions,
|
|
15
16
|
}, target);
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.OnConnection = exports.OnDisConnection = exports.Emit = exports.OnMessage = exports.WSBroadCast = exports.WSEmit = exports.OnWSMessage = exports.OnWSDisConnection = exports.OnWSConnection = exports.WSEventTypeEnum = void 0;
|
|
4
4
|
const __1 = require("../");
|
|
5
|
+
const metadataManager_1 = require("../metadataManager");
|
|
5
6
|
var WSEventTypeEnum;
|
|
6
7
|
(function (WSEventTypeEnum) {
|
|
7
8
|
WSEventTypeEnum["ON_CONNECTION"] = "ws:onConnection";
|
|
@@ -10,10 +11,10 @@ var WSEventTypeEnum;
|
|
|
10
11
|
WSEventTypeEnum["ON_SOCKET_ERROR"] = "ws:onSocketError";
|
|
11
12
|
WSEventTypeEnum["EMIT"] = "ws:Emit";
|
|
12
13
|
WSEventTypeEnum["BROADCAST"] = "ws:broadcast";
|
|
13
|
-
})(WSEventTypeEnum
|
|
14
|
+
})(WSEventTypeEnum || (exports.WSEventTypeEnum = WSEventTypeEnum = {}));
|
|
14
15
|
function OnWSConnection(eventOptions = {}) {
|
|
15
16
|
return (target, propertyKey, descriptor) => {
|
|
16
|
-
|
|
17
|
+
metadataManager_1.MetadataManager.attachMetadata(__1.WS_EVENT_KEY, {
|
|
17
18
|
eventType: WSEventTypeEnum.ON_CONNECTION,
|
|
18
19
|
propertyName: propertyKey,
|
|
19
20
|
eventOptions,
|
|
@@ -24,7 +25,7 @@ function OnWSConnection(eventOptions = {}) {
|
|
|
24
25
|
exports.OnWSConnection = OnWSConnection;
|
|
25
26
|
function OnWSDisConnection() {
|
|
26
27
|
return (target, propertyKey, descriptor) => {
|
|
27
|
-
|
|
28
|
+
metadataManager_1.MetadataManager.attachMetadata(__1.WS_EVENT_KEY, {
|
|
28
29
|
eventType: WSEventTypeEnum.ON_DISCONNECTION,
|
|
29
30
|
propertyName: propertyKey,
|
|
30
31
|
descriptor,
|
|
@@ -34,7 +35,7 @@ function OnWSDisConnection() {
|
|
|
34
35
|
exports.OnWSDisConnection = OnWSDisConnection;
|
|
35
36
|
function OnWSMessage(eventName, eventOptions = {}) {
|
|
36
37
|
return (target, propertyKey, descriptor) => {
|
|
37
|
-
|
|
38
|
+
metadataManager_1.MetadataManager.attachMetadata(__1.WS_EVENT_KEY, {
|
|
38
39
|
eventType: WSEventTypeEnum.ON_MESSAGE,
|
|
39
40
|
messageEventName: eventName,
|
|
40
41
|
propertyName: propertyKey,
|
|
@@ -46,7 +47,7 @@ function OnWSMessage(eventName, eventOptions = {}) {
|
|
|
46
47
|
exports.OnWSMessage = OnWSMessage;
|
|
47
48
|
function WSEmit(messageName, roomName = []) {
|
|
48
49
|
return (target, propertyKey, descriptor) => {
|
|
49
|
-
|
|
50
|
+
metadataManager_1.MetadataManager.attachMetadata(__1.WS_EVENT_KEY, {
|
|
50
51
|
eventType: WSEventTypeEnum.EMIT,
|
|
51
52
|
propertyName: propertyKey,
|
|
52
53
|
messageEventName: messageName,
|
|
@@ -58,7 +59,7 @@ function WSEmit(messageName, roomName = []) {
|
|
|
58
59
|
exports.WSEmit = WSEmit;
|
|
59
60
|
function WSBroadCast(messageName = '', roomName = []) {
|
|
60
61
|
return (target, propertyKey, descriptor) => {
|
|
61
|
-
|
|
62
|
+
metadataManager_1.MetadataManager.attachMetadata(__1.WS_EVENT_KEY, {
|
|
62
63
|
eventType: WSEventTypeEnum.BROADCAST,
|
|
63
64
|
propertyName: propertyKey,
|
|
64
65
|
messageEventName: messageName,
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { IObjectCreator, IObjectDefinition, ObjectIdentifier, ScopeEnum } from '../interface';
|
|
2
2
|
export declare class FunctionDefinition implements IObjectDefinition {
|
|
3
3
|
constructor();
|
|
4
4
|
constructMethod: string;
|
|
5
|
-
constructorArgs:
|
|
5
|
+
constructorArgs: any[];
|
|
6
6
|
creator: IObjectCreator;
|
|
7
7
|
dependsOn: ObjectIdentifier[];
|
|
8
8
|
destroyMethod: string;
|
|
@@ -12,7 +12,7 @@ export declare class FunctionDefinition implements IObjectDefinition {
|
|
|
12
12
|
initMethod: string;
|
|
13
13
|
srcPath: string;
|
|
14
14
|
path: any;
|
|
15
|
-
properties:
|
|
15
|
+
properties: Map<string, any>;
|
|
16
16
|
namespace: string;
|
|
17
17
|
asynchronous: boolean;
|
|
18
18
|
handlerProps: any[];
|
|
@@ -4,17 +4,18 @@ exports.FunctionDefinition = void 0;
|
|
|
4
4
|
const interface_1 = require("../interface");
|
|
5
5
|
const objectCreator_1 = require("./objectCreator");
|
|
6
6
|
class FunctionWrapperCreator extends objectCreator_1.ObjectCreator {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
7
|
+
constructor() {
|
|
8
|
+
super(...arguments);
|
|
9
|
+
this.type = 'function';
|
|
10
|
+
}
|
|
11
|
+
doConstruct(Clzz, args) {
|
|
12
|
+
return Clzz;
|
|
13
|
+
}
|
|
14
|
+
doInit(obj, context) {
|
|
15
|
+
return obj(context);
|
|
16
|
+
}
|
|
17
|
+
async doInitAsync(obj, context) {
|
|
18
|
+
return obj(context);
|
|
18
19
|
}
|
|
19
20
|
}
|
|
20
21
|
class FunctionDefinition {
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { IMidwayContainer, IObjectCreator, IObjectDefinition } from '../interface';
|
|
2
2
|
export declare class ObjectCreator implements IObjectCreator {
|
|
3
3
|
protected definition: IObjectDefinition;
|
|
4
|
+
type: string;
|
|
4
5
|
constructor(definition: IObjectDefinition);
|
|
5
6
|
/**
|
|
6
7
|
* 加载对象class
|
|
@@ -13,26 +14,19 @@ export declare class ObjectCreator implements IObjectCreator {
|
|
|
13
14
|
* @param args 对象初始化参数
|
|
14
15
|
* @returns {any} 返回创建的对象实例
|
|
15
16
|
*/
|
|
16
|
-
doConstruct(Clzz: any, args?: any): any;
|
|
17
|
-
/**
|
|
18
|
-
* 异步构造对象
|
|
19
|
-
* @param Clzz 对象class,通过load加载
|
|
20
|
-
* @param args 对象初始化参数
|
|
21
|
-
* @returns {any} 返回创建的对象实例
|
|
22
|
-
*/
|
|
23
|
-
doConstructAsync(Clzz: any, args?: any): Promise<any>;
|
|
17
|
+
doConstruct(Clzz: any, args?: any[]): any;
|
|
24
18
|
/**
|
|
25
19
|
* 调用对象初始化方法进行初始化
|
|
26
20
|
* @param obj 对象,由doConstruct返回
|
|
27
21
|
* @returns {void}
|
|
28
22
|
*/
|
|
29
|
-
doInit(obj: any):
|
|
23
|
+
doInit(obj: any, context: IMidwayContainer): any;
|
|
30
24
|
/**
|
|
31
25
|
* 调用对象初始化方法进行初始化
|
|
32
26
|
* @param obj 对象,由doConstructAsync返回
|
|
33
27
|
* @returns {void}
|
|
34
28
|
*/
|
|
35
|
-
doInitAsync(obj: any): Promise<
|
|
29
|
+
doInitAsync(obj: any, context: IMidwayContainer): Promise<any>;
|
|
36
30
|
/**
|
|
37
31
|
* 对象销毁
|
|
38
32
|
* @param obj 对象,由doConstruct返回
|
|
@@ -5,6 +5,7 @@ const error_1 = require("../error");
|
|
|
5
5
|
const types_1 = require("../util/types");
|
|
6
6
|
class ObjectCreator {
|
|
7
7
|
constructor(definition) {
|
|
8
|
+
this.type = 'object';
|
|
8
9
|
this.definition = definition;
|
|
9
10
|
}
|
|
10
11
|
/**
|
|
@@ -52,37 +53,12 @@ class ObjectCreator {
|
|
|
52
53
|
}
|
|
53
54
|
return inst;
|
|
54
55
|
}
|
|
55
|
-
/**
|
|
56
|
-
* 异步构造对象
|
|
57
|
-
* @param Clzz 对象class,通过load加载
|
|
58
|
-
* @param args 对象初始化参数
|
|
59
|
-
* @returns {any} 返回创建的对象实例
|
|
60
|
-
*/
|
|
61
|
-
async doConstructAsync(Clzz, args) {
|
|
62
|
-
if (!Clzz) {
|
|
63
|
-
return Object.create(null);
|
|
64
|
-
}
|
|
65
|
-
let inst;
|
|
66
|
-
if (this.definition.constructMethod) {
|
|
67
|
-
const fn = Clzz[this.definition.constructMethod];
|
|
68
|
-
if (types_1.Types.isAsyncFunction(fn)) {
|
|
69
|
-
inst = await fn.apply(Clzz, args);
|
|
70
|
-
}
|
|
71
|
-
else {
|
|
72
|
-
inst = fn.apply(Clzz, args);
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
else {
|
|
76
|
-
inst = Reflect.construct(Clzz, args);
|
|
77
|
-
}
|
|
78
|
-
return inst;
|
|
79
|
-
}
|
|
80
56
|
/**
|
|
81
57
|
* 调用对象初始化方法进行初始化
|
|
82
58
|
* @param obj 对象,由doConstruct返回
|
|
83
59
|
* @returns {void}
|
|
84
60
|
*/
|
|
85
|
-
doInit(obj) {
|
|
61
|
+
doInit(obj, context) {
|
|
86
62
|
const inst = obj;
|
|
87
63
|
// after properties set then do init
|
|
88
64
|
if (this.definition.initMethod && inst[this.definition.initMethod]) {
|
|
@@ -103,7 +79,7 @@ class ObjectCreator {
|
|
|
103
79
|
* @param obj 对象,由doConstructAsync返回
|
|
104
80
|
* @returns {void}
|
|
105
81
|
*/
|
|
106
|
-
async doInitAsync(obj) {
|
|
82
|
+
async doInitAsync(obj, context) {
|
|
107
83
|
const inst = obj;
|
|
108
84
|
if (this.definition.initMethod && inst[this.definition.initMethod]) {
|
|
109
85
|
const initFn = inst[this.definition.initMethod];
|
|
@@ -138,7 +114,9 @@ class ObjectCreator {
|
|
|
138
114
|
* @returns {void}
|
|
139
115
|
*/
|
|
140
116
|
async doDestroyAsync(obj) {
|
|
141
|
-
if (
|
|
117
|
+
if (obj &&
|
|
118
|
+
this.definition.destroyMethod &&
|
|
119
|
+
obj[this.definition.destroyMethod]) {
|
|
142
120
|
const fn = obj[this.definition.destroyMethod];
|
|
143
121
|
if (types_1.Types.isAsyncFunction(fn)) {
|
|
144
122
|
await fn.call(obj);
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { IObjectCreator, IObjectDefinition, ObjectIdentifier, ScopeEnum } from '../interface';
|
|
2
|
-
import { ObjectProperties } from './properties';
|
|
1
|
+
import { IObjectCreator, IObjectDefinition, ObjectIdentifier, PropertyInjectMetadata, ScopeEnum } from '../interface';
|
|
3
2
|
export declare class ObjectDefinition implements IObjectDefinition {
|
|
4
3
|
protected _attrs: Map<ObjectIdentifier, any>;
|
|
5
4
|
protected _asynchronous: boolean;
|
|
@@ -15,7 +14,7 @@ export declare class ObjectDefinition implements IObjectDefinition {
|
|
|
15
14
|
path: any;
|
|
16
15
|
export: string;
|
|
17
16
|
dependsOn: ObjectIdentifier[];
|
|
18
|
-
properties:
|
|
17
|
+
properties: Map<string, PropertyInjectMetadata>;
|
|
19
18
|
namespace: string;
|
|
20
19
|
handlerProps: any[];
|
|
21
20
|
createFrom: any;
|
|
@@ -2,9 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ObjectDefinition = void 0;
|
|
4
4
|
const interface_1 = require("../interface");
|
|
5
|
-
const properties_1 = require("./properties");
|
|
6
5
|
const objectCreator_1 = require("./objectCreator");
|
|
7
|
-
/* tslint:disable:variable-name */
|
|
8
6
|
class ObjectDefinition {
|
|
9
7
|
constructor() {
|
|
10
8
|
this._attrs = new Map();
|
|
@@ -20,7 +18,7 @@ class ObjectDefinition {
|
|
|
20
18
|
this.path = null;
|
|
21
19
|
this.export = null;
|
|
22
20
|
this.dependsOn = [];
|
|
23
|
-
this.properties = new
|
|
21
|
+
this.properties = new Map();
|
|
24
22
|
this.namespace = '';
|
|
25
23
|
this.handlerProps = [];
|
|
26
24
|
this.allowDowngrade = false;
|
package/dist/error/base.js
CHANGED
|
@@ -35,7 +35,7 @@ class MidwayError extends Error {
|
|
|
35
35
|
}
|
|
36
36
|
this.name = this.constructor.name;
|
|
37
37
|
this.code = code;
|
|
38
|
-
this.cause = options
|
|
38
|
+
this.cause = options?.cause;
|
|
39
39
|
}
|
|
40
40
|
}
|
|
41
41
|
exports.MidwayError = MidwayError;
|
|
@@ -45,7 +45,7 @@ class MidwayHttpError extends MidwayError {
|
|
|
45
45
|
? typeof resOrMessage === 'string'
|
|
46
46
|
? resOrMessage
|
|
47
47
|
: resOrMessage.message
|
|
48
|
-
: http_1.STATUS_CODES[status], code
|
|
48
|
+
: http_1.STATUS_CODES[status], code ?? String(status), options);
|
|
49
49
|
if (resOrMessage && resOrMessage['stack']) {
|
|
50
50
|
this.stack = resOrMessage['stack'];
|
|
51
51
|
}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { MidwayError } from './base';
|
|
2
|
-
import { ObjectIdentifier } from '../interface';
|
|
3
2
|
export declare const FrameworkErrorEnum: {
|
|
4
3
|
readonly UNKNOWN: "MIDWAY_10000";
|
|
5
4
|
readonly COMMON: "MIDWAY_10001";
|
|
@@ -32,10 +31,7 @@ export declare class MidwayParameterError extends MidwayError {
|
|
|
32
31
|
constructor(message?: string);
|
|
33
32
|
}
|
|
34
33
|
export declare class MidwayDefinitionNotFoundError extends MidwayError {
|
|
35
|
-
|
|
36
|
-
static isClosePrototypeOf(ins: MidwayDefinitionNotFoundError): boolean;
|
|
37
|
-
constructor(identifier: ObjectIdentifier);
|
|
38
|
-
updateErrorMsg(className: string): void;
|
|
34
|
+
constructor(id: string, name: string, creationPath?: string[]);
|
|
39
35
|
}
|
|
40
36
|
export declare class MidwayFeatureNoLongerSupportedError extends MidwayError {
|
|
41
37
|
constructor(message?: string);
|
|
@@ -49,9 +45,6 @@ export declare class MidwayConfigMissingError extends MidwayError {
|
|
|
49
45
|
export declare class MidwayInvalidConfigError extends MidwayError {
|
|
50
46
|
constructor(message?: string);
|
|
51
47
|
}
|
|
52
|
-
export declare class MidwayResolverMissingError extends MidwayError {
|
|
53
|
-
constructor(type: string);
|
|
54
|
-
}
|
|
55
48
|
export declare class MidwayDuplicateRouteError extends MidwayError {
|
|
56
49
|
constructor(routerUrl: string, existPos: string, existPosOther: string);
|
|
57
50
|
}
|
|
@@ -83,7 +76,7 @@ export declare class MidwayInvokeForbiddenError extends MidwayError {
|
|
|
83
76
|
constructor(methodName: string, module?: any);
|
|
84
77
|
}
|
|
85
78
|
export declare class MidwayCodeInvokeTimeoutError extends MidwayError {
|
|
86
|
-
constructor(methodName: string, timeout: number);
|
|
79
|
+
constructor(methodName: string, timeout: number, moduleName?: string);
|
|
87
80
|
}
|
|
88
81
|
export declare class MidwayMainFrameworkMissingError extends MidwayError {
|
|
89
82
|
constructor();
|