@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
@@ -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, __1.attachPropertyDataToClass)(__1.MS_CONSUMER_KEY, options, target, propertyKey);
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
- (0, __1.saveModule)(__1.MS_PROVIDER_KEY, target);
9
- (0, __1.saveClassMetadata)(__1.MS_PROVIDER_KEY, {
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 = exports.GrpcStreamTypeEnum || (exports.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
- (0, __1.savePropertyMetadata)(__1.MS_GRPC_METHOD_KEY, {
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
- (0, __1.attachClassMetadata)(__1.MS_DUBBO_METHOD_KEY, {
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, __1.attachPropertyDataToClass)(__1.MS_CONSUMER_KEY, options, target, propertyKey);
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
- (0, __1.saveModule)(constant_1.MODULE_TASK_QUEUE_KEY, target);
9
- (0, __1.saveClassMetadata)(constant_1.MODULE_TASK_QUEUE_OPTIONS, {
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
- (0, __1.saveModule)(__1.SCHEDULE_KEY, target);
9
- (0, __1.saveClassMetadata)(__1.SCHEDULE_KEY, scheduleOpts, target);
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
- (0, __1.saveModule)(constant_1.MODULE_TASK_KEY, target.constructor);
9
- (0, __1.attachClassMetadata)(constant_1.MODULE_TASK_METADATA, {
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
- (0, __1.saveModule)(constant_1.MODULE_TASK_TASK_LOCAL_KEY, target.constructor);
9
- (0, __1.attachClassMetadata)(constant_1.MODULE_TASK_TASK_LOCAL_OPTIONS, {
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
- (0, __1.saveModule)(__1.CONTROLLER_KEY, target);
9
+ __1.DecoratorManager.saveModule(__1.CONTROLLER_KEY, target);
9
10
  if (prefix)
10
- (0, __1.saveClassMetadata)(__1.CONTROLLER_KEY, {
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 = exports.RouteParamTypes || (exports.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 (0, __1.createCustomParamDecorator)(__1.WEB_ROUTER_PARAM_KEY, {
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
- var _a;
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: (metadata === null || metadata === void 0 ? void 0 : metadata.summary) || '',
38
- description: (metadata === null || metadata === void 0 ? void 0 : metadata.description) || '',
39
- ignoreGlobalPrefix: (_a = metadata === null || metadata === void 0 ? void 0 : metadata.ignoreGlobalPrefix) !== null && _a !== void 0 ? _a : false,
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
- (0, __1.attachPropertyMetadata)(__1.WEB_RESPONSE_KEY, {
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
- (0, __1.attachPropertyMetadata)(__1.WEB_RESPONSE_KEY, {
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
- (0, __1.attachPropertyMetadata)(__1.WEB_RESPONSE_KEY, {
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
- (0, __1.attachPropertyMetadata)(__1.WEB_RESPONSE_KEY, {
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
- (0, __1.attachPropertyMetadata)(__1.WEB_RESPONSE_KEY, {
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
- (0, __1.saveModule)(__1.WS_CONTROLLER_KEY, target);
12
- (0, __1.saveClassMetadata)(__1.WS_CONTROLLER_KEY, {
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 = exports.WSEventTypeEnum || (exports.WSEventTypeEnum = {}));
14
+ })(WSEventTypeEnum || (exports.WSEventTypeEnum = WSEventTypeEnum = {}));
14
15
  function OnWSConnection(eventOptions = {}) {
15
16
  return (target, propertyKey, descriptor) => {
16
- (0, __1.attachClassMetadata)(__1.WS_EVENT_KEY, {
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
- (0, __1.attachClassMetadata)(__1.WS_EVENT_KEY, {
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
- (0, __1.attachClassMetadata)(__1.WS_EVENT_KEY, {
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
- (0, __1.attachClassMetadata)(__1.WS_EVENT_KEY, {
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
- (0, __1.attachClassMetadata)(__1.WS_EVENT_KEY, {
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 { IProperties, IObjectCreator, IObjectDefinition, IManagedInstance, ObjectIdentifier, ScopeEnum } from '../interface';
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: IManagedInstance[];
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: IProperties;
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
- doConstruct(Clzz, args, context) {
8
- if (!Clzz) {
9
- return null;
10
- }
11
- return Clzz(context, args);
12
- }
13
- async doConstructAsync(Clzz, args, context) {
14
- if (!Clzz) {
15
- return null;
16
- }
17
- return Clzz(context, args);
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 type { IObjectCreator, IObjectDefinition } from '../interface';
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): void;
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<void>;
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 (this.definition.destroyMethod && obj[this.definition.destroyMethod]) {
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: ObjectProperties;
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 properties_1.ObjectProperties();
21
+ this.properties = new Map();
24
22
  this.namespace = '';
25
23
  this.handlerProps = [];
26
24
  this.allowDowngrade = false;
@@ -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 === null || options === void 0 ? void 0 : options.cause;
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 !== null && code !== void 0 ? code : String(status), options);
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
- static readonly type: unique symbol;
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();