@fastcar/core 0.2.60 → 0.2.61

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 (224) hide show
  1. package/package.json +2 -4
  2. package/src/model/WinstonLogger.ts +4 -3
  3. package/src/utils/ClassLoader.ts +1 -1
  4. package/src/utils/ValidationUtil.ts +10 -1
  5. package/target/FastCarApplication.js +692 -692
  6. package/target/annotation/Application.js +45 -45
  7. package/target/annotation/ExceptionMonitor.js +16 -16
  8. package/target/annotation/bind/AddRequireModule.js +21 -21
  9. package/target/annotation/bind/AliasInjection.js +23 -23
  10. package/target/annotation/bind/Autowired.js +13 -13
  11. package/target/annotation/bind/CallDependency.js +23 -23
  12. package/target/annotation/data/DBType.js +11 -11
  13. package/target/annotation/data/DS.js +54 -54
  14. package/target/annotation/data/DSIndex.js +9 -9
  15. package/target/annotation/data/Entity.js +10 -10
  16. package/target/annotation/data/Field.js +18 -18
  17. package/target/annotation/data/PrimaryKey.js +9 -9
  18. package/target/annotation/data/SqlSession.js +9 -9
  19. package/target/annotation/data/Table.js +35 -35
  20. package/target/annotation/data/Transactional.js +52 -52
  21. package/target/annotation/env/ApplicationSetting.js +25 -25
  22. package/target/annotation/env/BaseFilePath.js +14 -14
  23. package/target/annotation/env/BaseName.js +9 -9
  24. package/target/annotation/env/BasePath.js +14 -14
  25. package/target/annotation/env/ENV.js +10 -10
  26. package/target/annotation/env/ResourcePath.js +9 -9
  27. package/target/annotation/lifeCycle/AddLifeCycleItem.js +18 -18
  28. package/target/annotation/lifeCycle/ApplicationDestory.js +15 -15
  29. package/target/annotation/lifeCycle/ApplicationInit.js +15 -15
  30. package/target/annotation/lifeCycle/ApplicationRunner.js +7 -7
  31. package/target/annotation/lifeCycle/ApplicationStart.js +24 -24
  32. package/target/annotation/lifeCycle/ApplicationStop.js +20 -20
  33. package/target/annotation/property/Deprecate.js +19 -19
  34. package/target/annotation/property/NotImplemented.js +8 -8
  35. package/target/annotation/property/Override.js +7 -7
  36. package/target/annotation/property/Readonly.js +16 -16
  37. package/target/annotation/scan/ComponentInjection.js +21 -21
  38. package/target/annotation/scan/ComponentScan.js +9 -9
  39. package/target/annotation/scan/ComponentScanExclusion.js +25 -25
  40. package/target/annotation/scan/ComponentScanMust.js +25 -25
  41. package/target/annotation/scan/Hotter.js +8 -8
  42. package/target/annotation/stereotype/BeanName.js +11 -11
  43. package/target/annotation/stereotype/Component.js +8 -8
  44. package/target/annotation/stereotype/Configure.js +14 -14
  45. package/target/annotation/stereotype/Controller.js +9 -9
  46. package/target/annotation/stereotype/Injection.js +12 -12
  47. package/target/annotation/stereotype/Log.js +17 -17
  48. package/target/annotation/stereotype/Repository.js +9 -9
  49. package/target/annotation/stereotype/Service.js +9 -9
  50. package/target/annotation/valid/AddChildValid.js +56 -56
  51. package/target/annotation/valid/CustomType.js +11 -11
  52. package/target/annotation/valid/DefaultVal.js +10 -10
  53. package/target/annotation/valid/NotNull.js +8 -8
  54. package/target/annotation/valid/Rule.js +100 -100
  55. package/target/annotation/valid/Size.js +10 -10
  56. package/target/annotation/valid/Type.js +10 -10
  57. package/target/annotation/valid/ValidCustom.js +17 -17
  58. package/target/annotation/valid/ValidForm.js +133 -133
  59. package/target/annotation.js +108 -108
  60. package/target/config/ApplicationConfig.js +2 -2
  61. package/target/config/SysConfig.js +19 -19
  62. package/target/constant/AppStatusEnum.js +9 -9
  63. package/target/constant/BootPriority.js +11 -11
  64. package/target/constant/CommonConstant.js +18 -18
  65. package/target/constant/ComponentKind.js +11 -11
  66. package/target/constant/DataTypes.js +19 -19
  67. package/target/constant/FastCarMetaData.js +31 -31
  68. package/target/constant/LifeCycleModule.js +9 -9
  69. package/target/db.js +49 -48
  70. package/target/index.js +21 -21
  71. package/target/interface/ApplicationHook.js +2 -2
  72. package/target/interface/ApplicationInterface.js +2 -2
  73. package/target/interface/ApplicationRunnerService.js +2 -2
  74. package/target/interface/DataSourceManager.js +2 -2
  75. package/target/interface/Logger.js +5 -5
  76. package/target/model/BaseMapper.js +98 -98
  77. package/target/model/DataMap.js +87 -87
  78. package/target/model/FormRuleModel.js +2 -2
  79. package/target/model/ValidError.js +5 -5
  80. package/target/model/WinstonLogger.js +96 -95
  81. package/target/src/FastCarApplication.js +704 -0
  82. package/target/src/annotation/Application.js +45 -0
  83. package/target/src/annotation/ExceptionMonitor.js +16 -0
  84. package/target/src/annotation/bind/AddRequireModule.js +21 -0
  85. package/target/src/annotation/bind/AliasInjection.js +23 -0
  86. package/target/src/annotation/bind/Autowired.js +13 -0
  87. package/target/src/annotation/bind/CallDependency.js +23 -0
  88. package/target/src/annotation/data/DBType.js +11 -0
  89. package/target/src/annotation/data/DS.js +54 -0
  90. package/target/src/annotation/data/DSIndex.js +9 -0
  91. package/target/src/annotation/data/Entity.js +10 -0
  92. package/target/src/annotation/data/Field.js +18 -0
  93. package/target/src/annotation/data/PrimaryKey.js +9 -0
  94. package/target/src/annotation/data/SqlSession.js +9 -0
  95. package/target/src/annotation/data/Table.js +35 -0
  96. package/target/src/annotation/data/Transactional.js +52 -0
  97. package/target/src/annotation/env/ApplicationSetting.js +25 -0
  98. package/target/src/annotation/env/BaseFilePath.js +14 -0
  99. package/target/src/annotation/env/BaseName.js +9 -0
  100. package/target/src/annotation/env/BasePath.js +14 -0
  101. package/target/src/annotation/env/ENV.js +10 -0
  102. package/target/src/annotation/env/ResourcePath.js +9 -0
  103. package/target/src/annotation/lifeCycle/AddLifeCycleItem.js +18 -0
  104. package/target/src/annotation/lifeCycle/ApplicationDestory.js +15 -0
  105. package/target/src/annotation/lifeCycle/ApplicationInit.js +15 -0
  106. package/target/src/annotation/lifeCycle/ApplicationRunner.js +7 -0
  107. package/target/src/annotation/lifeCycle/ApplicationStart.js +24 -0
  108. package/target/src/annotation/lifeCycle/ApplicationStop.js +20 -0
  109. package/target/src/annotation/property/Deprecate.js +19 -0
  110. package/target/src/annotation/property/NotImplemented.js +8 -0
  111. package/target/src/annotation/property/Override.js +7 -0
  112. package/target/src/annotation/property/Readonly.js +16 -0
  113. package/target/src/annotation/scan/ComponentInjection.js +21 -0
  114. package/target/src/annotation/scan/ComponentScan.js +9 -0
  115. package/target/src/annotation/scan/ComponentScanExclusion.js +25 -0
  116. package/target/src/annotation/scan/ComponentScanMust.js +25 -0
  117. package/target/src/annotation/scan/Hotter.js +8 -0
  118. package/target/src/annotation/stereotype/BeanName.js +11 -0
  119. package/target/src/annotation/stereotype/Component.js +8 -0
  120. package/target/src/annotation/stereotype/Configure.js +14 -0
  121. package/target/src/annotation/stereotype/Controller.js +9 -0
  122. package/target/src/annotation/stereotype/Injection.js +12 -0
  123. package/target/src/annotation/stereotype/Log.js +22 -0
  124. package/target/src/annotation/stereotype/Repository.js +9 -0
  125. package/target/src/annotation/stereotype/Service.js +9 -0
  126. package/target/src/annotation/valid/AddChildValid.js +56 -0
  127. package/target/src/annotation/valid/CustomType.js +11 -0
  128. package/target/src/annotation/valid/DefaultVal.js +10 -0
  129. package/target/src/annotation/valid/NotNull.js +8 -0
  130. package/target/src/annotation/valid/Rule.js +100 -0
  131. package/target/src/annotation/valid/Size.js +10 -0
  132. package/target/src/annotation/valid/Type.js +10 -0
  133. package/target/src/annotation/valid/ValidCustom.js +17 -0
  134. package/target/src/annotation/valid/ValidForm.js +133 -0
  135. package/target/src/annotation.js +108 -0
  136. package/target/src/config/ApplicationConfig.js +2 -0
  137. package/target/src/config/SysConfig.js +19 -0
  138. package/target/src/constant/AppStatusEnum.js +9 -0
  139. package/target/src/constant/BootPriority.js +11 -0
  140. package/target/src/constant/CommonConstant.js +18 -0
  141. package/target/src/constant/ComponentKind.js +11 -0
  142. package/target/src/constant/DataTypes.js +19 -0
  143. package/target/src/constant/FastCarMetaData.js +31 -0
  144. package/target/src/constant/LifeCycleModule.js +9 -0
  145. package/target/src/db.js +49 -0
  146. package/target/src/index.js +21 -0
  147. package/target/src/interface/ApplicationHook.js +2 -0
  148. package/target/src/interface/ApplicationInterface.js +2 -0
  149. package/target/src/interface/ApplicationRunnerService.js +2 -0
  150. package/target/src/interface/DataSourceManager.js +2 -0
  151. package/target/src/interface/Logger.js +5 -0
  152. package/target/src/model/BaseMapper.js +103 -0
  153. package/target/src/model/DataMap.js +87 -0
  154. package/target/src/model/FormRuleModel.js +2 -0
  155. package/target/src/model/ValidError.js +5 -0
  156. package/target/src/model/WinstonLogger.js +97 -0
  157. package/target/src/type/ComponentDesc.js +2 -0
  158. package/target/src/type/DesignMeta.js +15 -0
  159. package/target/src/type/FileHotterDesc.js +2 -0
  160. package/target/src/type/MapperType.js +2 -0
  161. package/target/src/type/ProcessType.js +2 -0
  162. package/target/src/type/SqlError.js +5 -0
  163. package/target/src/type/WinstonLoggerType.js +9 -0
  164. package/target/src/utils/ClassLoader.js +65 -0
  165. package/target/src/utils/ClassUtils.js +35 -0
  166. package/target/src/utils/CryptoUtil.js +86 -0
  167. package/target/src/utils/DataFormat.js +88 -0
  168. package/target/src/utils/DateUtil.js +71 -0
  169. package/target/src/utils/FileUtil.js +153 -0
  170. package/target/src/utils/FormatStr.js +14 -0
  171. package/target/src/utils/IPUtils.js +34 -0
  172. package/target/src/utils/Id.js +9 -0
  173. package/target/src/utils/Mix.js +62 -0
  174. package/target/src/utils/ReflectUtil.js +22 -0
  175. package/target/src/utils/TypeUtil.js +53 -0
  176. package/target/src/utils/ValidationUtil.js +118 -0
  177. package/target/src/utils.js +25 -0
  178. package/target/test/example/simple/app-test.js +57 -0
  179. package/target/test/example/simple/app.js +116 -0
  180. package/target/test/example/simple/component/StartRunner.js +19 -0
  181. package/target/test/example/simple/component/StopRunner.js +23 -0
  182. package/target/test/example/simple/config/EnvConfig.js +16 -0
  183. package/target/test/example/simple/config/HelloConfig.js +16 -0
  184. package/target/test/example/simple/config/HotConfig.js +18 -0
  185. package/target/test/example/simple/controller/AliasController.js +17 -0
  186. package/target/test/example/simple/controller/HelloController.js +55 -0
  187. package/target/test/example/simple/controller/NotFoundController.js +36 -0
  188. package/target/test/example/simple/noclude/excludeApp.js +17 -0
  189. package/target/test/example/simple/service/CallService.js +24 -0
  190. package/target/test/example/simple/service/HelloService.js +18 -0
  191. package/target/test/example/simple/service/LogService.js +32 -0
  192. package/target/test/multi/app.js +29 -0
  193. package/target/test/multi/service/aService.js +33 -0
  194. package/target/test/multi/service/bService.js +35 -0
  195. package/target/test/multi/service/cService.js +40 -0
  196. package/target/test/unit/dataMap-test.js +35 -0
  197. package/target/test/unit/decorators-test.js +59 -0
  198. package/target/test/unit/ds-test.js +58 -0
  199. package/target/test/unit/reflectMetadata-test.js +27 -0
  200. package/target/test/unit/valid-test.js +99 -0
  201. package/target/test/unit/winston-test.js +15 -0
  202. package/target/type/ComponentDesc.js +2 -2
  203. package/target/type/DesignMeta.js +15 -15
  204. package/target/type/FileHotterDesc.js +2 -2
  205. package/target/type/MapperType.js +2 -2
  206. package/target/type/ProcessType.js +2 -2
  207. package/target/type/SqlError.js +5 -5
  208. package/target/type/WinstonLoggerType.js +9 -9
  209. package/target/utils/ClassLoader.js +65 -65
  210. package/target/utils/ClassUtils.js +35 -35
  211. package/target/utils/CryptoUtil.js +86 -86
  212. package/target/utils/DataFormat.js +88 -88
  213. package/target/utils/DateUtil.js +71 -71
  214. package/target/utils/FileUtil.js +153 -153
  215. package/target/utils/FormatStr.js +14 -14
  216. package/target/utils/IPUtils.js +34 -34
  217. package/target/utils/Id.js +9 -9
  218. package/target/utils/Mix.js +62 -62
  219. package/target/utils/ReflectUtil.js +22 -22
  220. package/target/utils/TypeUtil.js +53 -53
  221. package/target/utils/ValidationUtil.js +124 -118
  222. package/target/utils.js +25 -25
  223. package/test/unit/decorators-test.ts +3 -3
  224. package/test/unit/logs/sys.log +0 -24
@@ -0,0 +1,118 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const TypeUtil_1 = require("./TypeUtil");
4
+ //类型校验器
5
+ class ValidationUtil {
6
+ //是否为空
7
+ static isNotNull(param) {
8
+ if (param != undefined && param != null) {
9
+ if (TypeUtil_1.default.isString(param)) {
10
+ return param.length > 0;
11
+ }
12
+ if (TypeUtil_1.default.isObject(param)) {
13
+ if (TypeUtil_1.default.isDate(param) || TypeUtil_1.default.isMap(param) || TypeUtil_1.default.isSet(param)) {
14
+ return true;
15
+ }
16
+ return Reflect.ownKeys(param).length > 0;
17
+ }
18
+ return true;
19
+ }
20
+ else {
21
+ return false;
22
+ }
23
+ }
24
+ static isNull(param) {
25
+ return !ValidationUtil.isNotNull(param);
26
+ }
27
+ static isNumber(param) {
28
+ return typeof param === "number" && !isNaN(param);
29
+ }
30
+ static isString(param) {
31
+ return typeof param === "string";
32
+ }
33
+ static isBoolean(param) {
34
+ return typeof param === "boolean";
35
+ }
36
+ static isDate(param) {
37
+ return param instanceof Date;
38
+ }
39
+ static isObject(param) {
40
+ return typeof param == "object";
41
+ }
42
+ // poaram >= value
43
+ static isNotMinSize(param, value) {
44
+ if (ValidationUtil.isString(param)) {
45
+ return param.length >= value;
46
+ }
47
+ if (ValidationUtil.isNumber(param)) {
48
+ return param >= value;
49
+ }
50
+ if (ValidationUtil.isBoolean(param)) {
51
+ return true;
52
+ }
53
+ let v = ValidationUtil.isNotNull(param) ? param.toString() : "";
54
+ return v.length >= value;
55
+ }
56
+ static isNotMaxSize(param, value) {
57
+ return !ValidationUtil.isNotMinSize(param, value + 1);
58
+ }
59
+ static isArray(param, type) {
60
+ if (!Array.isArray(param)) {
61
+ return false;
62
+ }
63
+ //修正校验数组的错误
64
+ if (type.startsWith("array")) {
65
+ type = type.replace(/array/, "");
66
+ }
67
+ let checkFun = this.getCheckFun(type);
68
+ if (checkFun) {
69
+ return param.every((item) => {
70
+ return Reflect.apply(checkFun, ValidationUtil, [item]);
71
+ });
72
+ }
73
+ return true;
74
+ }
75
+ static getCheckFun(type) {
76
+ //判定类型
77
+ if (type.startsWith("array")) {
78
+ return ValidationUtil.isArray;
79
+ }
80
+ let formatFun = null;
81
+ switch (type) {
82
+ case "string": {
83
+ formatFun = ValidationUtil.isString;
84
+ break;
85
+ }
86
+ case "boolean": {
87
+ formatFun = ValidationUtil.isBoolean;
88
+ break;
89
+ }
90
+ case "object": {
91
+ formatFun = ValidationUtil.isObject;
92
+ break;
93
+ }
94
+ case "int":
95
+ case "float":
96
+ case "number": {
97
+ formatFun = ValidationUtil.isNumber;
98
+ break;
99
+ }
100
+ case "date": {
101
+ formatFun = ValidationUtil.isDate;
102
+ break;
103
+ }
104
+ default: {
105
+ break;
106
+ }
107
+ }
108
+ return formatFun;
109
+ }
110
+ static checkType(param, type) {
111
+ let formatFun = ValidationUtil.getCheckFun(type);
112
+ if (!formatFun) {
113
+ return false;
114
+ }
115
+ return Reflect.apply(formatFun, ValidationUtil, [param, type]);
116
+ }
117
+ }
118
+ exports.default = ValidationUtil;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IPUtils = exports.MixTool = exports.ClassLoader = exports.ClassUtils = exports.FormatStr = exports.ValidationUtil = exports.TypeUtil = exports.FileUtil = exports.CryptoUtil = exports.DataFormat = exports.DateUtil = void 0;
4
+ const ClassLoader_1 = require("./utils/ClassLoader");
5
+ exports.ClassLoader = ClassLoader_1.default;
6
+ const ClassUtils_1 = require("./utils/ClassUtils");
7
+ exports.ClassUtils = ClassUtils_1.default;
8
+ const CryptoUtil_1 = require("./utils/CryptoUtil");
9
+ exports.CryptoUtil = CryptoUtil_1.default;
10
+ const DataFormat_1 = require("./utils/DataFormat");
11
+ exports.DataFormat = DataFormat_1.default;
12
+ const DateUtil_1 = require("./utils/DateUtil");
13
+ exports.DateUtil = DateUtil_1.default;
14
+ const FileUtil_1 = require("./utils/FileUtil");
15
+ exports.FileUtil = FileUtil_1.default;
16
+ const FormatStr_1 = require("./utils/FormatStr");
17
+ exports.FormatStr = FormatStr_1.default;
18
+ const Mix_1 = require("./utils/Mix");
19
+ exports.MixTool = Mix_1.default;
20
+ const TypeUtil_1 = require("./utils/TypeUtil");
21
+ exports.TypeUtil = TypeUtil_1.default;
22
+ const ValidationUtil_1 = require("./utils/ValidationUtil");
23
+ exports.ValidationUtil = ValidationUtil_1.default;
24
+ const IPUtils_1 = require("./utils/IPUtils");
25
+ exports.IPUtils = IPUtils_1.default;
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ require("reflect-metadata");
13
+ const Application_1 = require("../../../src/annotation/Application");
14
+ const ENV_1 = require("../../../src/annotation/env/ENV");
15
+ const BaseFilePath_1 = require("../../../src/annotation/env/BaseFilePath");
16
+ const BasePath_1 = require("../../../src/annotation/env/BasePath");
17
+ const Log_1 = require("../../../src/annotation/stereotype/Log");
18
+ const Logger_1 = require("../../../src/interface/Logger");
19
+ const ApplicationSetting_1 = require("../../../src/annotation/env/ApplicationSetting");
20
+ const annotation_1 = require("../../../src/annotation");
21
+ const BaseName_1 = require("../../../src/annotation/env/BaseName");
22
+ let APP = class APP {
23
+ app;
24
+ logger;
25
+ beforeStartServer() {
26
+ this.logger.debug("beforeStartServer-----");
27
+ }
28
+ startServer() {
29
+ this.logger.debug("startServer------");
30
+ }
31
+ beforeStopServer() {
32
+ this.logger.debug("beforeStopServer-----");
33
+ }
34
+ stopServer() {
35
+ this.logger.debug("stopServer-----");
36
+ }
37
+ };
38
+ __decorate([
39
+ (0, Log_1.default)("app"),
40
+ __metadata("design:type", Logger_1.default)
41
+ ], APP.prototype, "logger", void 0);
42
+ APP = __decorate([
43
+ Application_1.default,
44
+ (0, ENV_1.default)("test") //设置环境变量
45
+ ,
46
+ (0, BasePath_1.default)(__dirname) //直接运行ts文件时可不用
47
+ ,
48
+ (0, BaseFilePath_1.default)(__filename),
49
+ (0, ApplicationSetting_1.default)({
50
+ appid: "other-server",
51
+ }),
52
+ (0, BaseName_1.default)("other"),
53
+ (0, annotation_1.ComponentScanExclusion)("app.ts")
54
+ ], APP);
55
+ let appInsatcne = new APP();
56
+ console.log("打印文件读取名称", appInsatcne.app.getBaseName());
57
+ console.log("打印文件内容", appInsatcne.app.getSetting("name"));
@@ -0,0 +1,116 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ require("reflect-metadata");
13
+ const Application_1 = require("../../../src/annotation/Application");
14
+ const ENV_1 = require("../../../src/annotation/env/ENV");
15
+ const BaseFilePath_1 = require("../../../src/annotation/env/BaseFilePath");
16
+ const BasePath_1 = require("../../../src/annotation/env/BasePath");
17
+ const Log_1 = require("../../../src/annotation/stereotype/Log");
18
+ const Logger_1 = require("../../../src/interface/Logger");
19
+ const ApplicationSetting_1 = require("../../../src/annotation/env/ApplicationSetting");
20
+ const annotation_1 = require("../../../src/annotation");
21
+ let APP = class APP {
22
+ app;
23
+ logger;
24
+ beforeStartServer() {
25
+ this.logger.debug("beforeStartServer-----");
26
+ }
27
+ startServer() {
28
+ this.logger.debug("startServer------");
29
+ }
30
+ beforeStopServer() {
31
+ this.logger.debug("beforeStopServer-----");
32
+ }
33
+ stopServer() {
34
+ this.logger.debug("stopServer-----");
35
+ }
36
+ };
37
+ __decorate([
38
+ (0, Log_1.default)("app"),
39
+ __metadata("design:type", Logger_1.default)
40
+ ], APP.prototype, "logger", void 0);
41
+ APP = __decorate([
42
+ (0, annotation_1.ComponentScanExclusion)("app-test.ts"),
43
+ Application_1.default,
44
+ (0, ENV_1.default)("test") //设置环境变量
45
+ ,
46
+ (0, BasePath_1.default)(__dirname) //直接运行ts文件时可不用
47
+ ,
48
+ (0, BaseFilePath_1.default)(__filename),
49
+ (0, ApplicationSetting_1.default)({
50
+ customHello: "customHello",
51
+ appid: "fastcar-server",
52
+ })
53
+ ], APP);
54
+ let appInsatcne = new APP();
55
+ //引用记得放在app扫描后进行
56
+ // import EnvConfig from "./config/EnvConfig";
57
+ // import CallService from "./service/CallService";
58
+ // import NotFoundController from "./controller/NotFoundController";
59
+ // import HotConfig from "./config/HotConfig";
60
+ // import HelloConfig from "./config/HelloConfig";
61
+ // describe("程序应用测试", () => {
62
+ // it("获取配置", () => {
63
+ // //调用相关方法
64
+ // let helloController: HelloController = appInsatcne.app.getComponentByTarget(HelloController);
65
+ // helloController.callHello();
66
+ // helloController.print();
67
+ // console.log("获取到的配置--", helloController.getConfig());
68
+ // });
69
+ // it("测试别名", () => {
70
+ // let controller1: AliasController = appInsatcne.app.getComponentByName("controller1");
71
+ // console.log("controller1类型和AliasController相符", controller1 instanceof AliasController);
72
+ // });
73
+ // it("获取完善的加载信息", () => {
74
+ // let appInfo = appInsatcne.app.getComponentDetailByName(FastCarApplication.name);
75
+ // console.log("app 加载信息", appInfo);
76
+ // let hellControllerInfo = appInsatcne.app.getComponentDetailByTarget(HelloController);
77
+ // console.log("hellControllerInfo 加载信息", hellControllerInfo);
78
+ // });
79
+ // it("调用进程使用相关信息", () => {
80
+ // setTimeout(() => {
81
+ // console.log(appInsatcne.app.getMemoryUsage());
82
+ // }, 2000);
83
+ // });
84
+ // it("根据环境动态设置变量", () => {
85
+ // let evnConfig: EnvConfig = appInsatcne.app.getComponentByTarget(EnvConfig);
86
+ // console.log(evnConfig.text);
87
+ // });
88
+ // it("测试调用时加载时机才会注入方法", () => {
89
+ // let callServerice = new CallService();
90
+ // callServerice.sayHello();
91
+ // });
92
+ // it("程序内配置", () => {
93
+ // console.log("配置", appInsatcne.app.getSetting("customHello"));
94
+ // });
95
+ // it("查找一个不存在的注入", () => {
96
+ // let notFound: NotFoundController = appInsatcne.app.getComponentByTarget(NotFoundController);
97
+ // try {
98
+ // notFound.getNotFound();
99
+ // } catch (e) {
100
+ // appInsatcne.app.getLogger().error(e);
101
+ // }
102
+ // try {
103
+ // notFound.getAutoNotFound();
104
+ // } catch (e) {
105
+ // appInsatcne.app.getLogger().error(e);
106
+ // }
107
+ // });
108
+ // it("热更新配置解析", () => {
109
+ // setInterval(() => {
110
+ // let hotConfig: HotConfig = appInsatcne.app.getComponentByTarget(HotConfig);
111
+ // let helloConfig: HelloConfig = appInsatcne.app.getComponentByTarget(HelloConfig);
112
+ // console.log("热更新配置", hotConfig.hello);
113
+ // console.log("不变的配置", helloConfig.hello);
114
+ // }, 1000);
115
+ // });
116
+ // });
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ const ApplicationStart_1 = require("../../../../src/annotation/lifeCycle/ApplicationStart");
10
+ //启动示例
11
+ let StartRunner = class StartRunner {
12
+ run() {
13
+ console.info("服务启动后调用的方法");
14
+ }
15
+ };
16
+ StartRunner = __decorate([
17
+ (0, ApplicationStart_1.default)()
18
+ ], StartRunner);
19
+ exports.default = StartRunner;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ const ApplicationStop_1 = require("../../../../src/annotation/lifeCycle/ApplicationStop");
10
+ let StopRunner = class StopRunner {
11
+ async run() {
12
+ return new Promise(resolve => {
13
+ setTimeout(() => {
14
+ console.info("服务停止前调用的方法");
15
+ resolve("OK");
16
+ }, 5000);
17
+ });
18
+ }
19
+ };
20
+ StopRunner = __decorate([
21
+ (0, ApplicationStop_1.default)()
22
+ ], StopRunner);
23
+ exports.default = StopRunner;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ const Configure_1 = require("../../../../src/annotation/stereotype/Configure");
10
+ let EnvConfig = class EnvConfig {
11
+ text;
12
+ };
13
+ EnvConfig = __decorate([
14
+ (0, Configure_1.default)(`evnconfig-${process.env.NODE_ENV}.yml`)
15
+ ], EnvConfig);
16
+ exports.default = EnvConfig;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ const Configure_1 = require("../../../../src/annotation/stereotype/Configure");
10
+ let HelloConfig = class HelloConfig {
11
+ hello;
12
+ };
13
+ HelloConfig = __decorate([
14
+ (0, Configure_1.default)("hello.yml")
15
+ ], HelloConfig);
16
+ exports.default = HelloConfig;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ const annotation_1 = require("../../../../src/annotation");
10
+ const Configure_1 = require("../../../../src/annotation/stereotype/Configure");
11
+ let HotConfig = class HotConfig {
12
+ hello;
13
+ };
14
+ HotConfig = __decorate([
15
+ annotation_1.Hotter,
16
+ (0, Configure_1.default)("hello.yml")
17
+ ], HotConfig);
18
+ exports.default = HotConfig;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ const annotation_1 = require("../../../../src/annotation");
10
+ const BeanName_1 = require("../../../../src/annotation/stereotype/BeanName");
11
+ let AliasController = class AliasController {
12
+ };
13
+ AliasController = __decorate([
14
+ annotation_1.Controller,
15
+ (0, BeanName_1.default)("controller1")
16
+ ], AliasController);
17
+ exports.default = AliasController;
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const Autowired_1 = require("../../../../src/annotation/bind/Autowired");
13
+ const Controller_1 = require("../../../../src/annotation/stereotype/Controller");
14
+ const HelloConfig_1 = require("../config/HelloConfig");
15
+ const HelloService_1 = require("../service/HelloService");
16
+ const LogService_1 = require("../service/LogService");
17
+ const FastCarApplication_1 = require("../../../../src/FastCarApplication");
18
+ let HelloController = class HelloController {
19
+ hello;
20
+ logService;
21
+ helloConfig;
22
+ app;
23
+ callHello() {
24
+ this.hello.say();
25
+ }
26
+ print() {
27
+ this.logService.info();
28
+ }
29
+ getConfig() {
30
+ return this.helloConfig.hello;
31
+ }
32
+ getApp() {
33
+ return this.app;
34
+ }
35
+ };
36
+ __decorate([
37
+ Autowired_1.default,
38
+ __metadata("design:type", HelloService_1.default)
39
+ ], HelloController.prototype, "hello", void 0);
40
+ __decorate([
41
+ Autowired_1.default,
42
+ __metadata("design:type", LogService_1.default)
43
+ ], HelloController.prototype, "logService", void 0);
44
+ __decorate([
45
+ Autowired_1.default,
46
+ __metadata("design:type", HelloConfig_1.default)
47
+ ], HelloController.prototype, "helloConfig", void 0);
48
+ __decorate([
49
+ Autowired_1.default,
50
+ __metadata("design:type", FastCarApplication_1.default)
51
+ ], HelloController.prototype, "app", void 0);
52
+ HelloController = __decorate([
53
+ Controller_1.default
54
+ ], HelloController);
55
+ exports.default = HelloController;
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const Controller_1 = require("../../../../src/annotation/stereotype/Controller");
13
+ const AliasInjection_1 = require("../../../../src/annotation/bind/AliasInjection");
14
+ const Autowired_1 = require("../../../../src/annotation/bind/Autowired");
15
+ let NotFoundController = class NotFoundController {
16
+ notFound;
17
+ autoNotFound;
18
+ getNotFound() {
19
+ return this.notFound;
20
+ }
21
+ getAutoNotFound() {
22
+ return this.autoNotFound;
23
+ }
24
+ };
25
+ __decorate([
26
+ (0, AliasInjection_1.default)("notFound"),
27
+ __metadata("design:type", void 0)
28
+ ], NotFoundController.prototype, "notFound", void 0);
29
+ __decorate([
30
+ Autowired_1.default,
31
+ __metadata("design:type", void 0)
32
+ ], NotFoundController.prototype, "autoNotFound", void 0);
33
+ NotFoundController = __decorate([
34
+ Controller_1.default
35
+ ], NotFoundController);
36
+ exports.default = NotFoundController;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ require("reflect-metadata");
10
+ const annotation_1 = require("../../../../src/annotation");
11
+ //永远不会被扫描
12
+ let excludeApp = class excludeApp {
13
+ };
14
+ excludeApp = __decorate([
15
+ annotation_1.Component
16
+ ], excludeApp);
17
+ exports.default = excludeApp;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const HelloService_1 = require("./HelloService");
13
+ const CallDependency_1 = require("../../../../src/annotation/bind/CallDependency");
14
+ class CallService {
15
+ hello;
16
+ sayHello() {
17
+ return this.hello.say();
18
+ }
19
+ }
20
+ __decorate([
21
+ CallDependency_1.default,
22
+ __metadata("design:type", HelloService_1.default)
23
+ ], CallService.prototype, "hello", void 0);
24
+ exports.default = CallService;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ const Service_1 = require("../../../../src/annotation/stereotype/Service");
10
+ let HelloService = class HelloService {
11
+ say() {
12
+ console.info("hello world");
13
+ }
14
+ };
15
+ HelloService = __decorate([
16
+ Service_1.default
17
+ ], HelloService);
18
+ exports.default = HelloService;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const Service_1 = require("../../../../src/annotation/stereotype/Service");
13
+ const Logger_1 = require("../../../../src/interface/Logger");
14
+ const Log_1 = require("../../../../src/annotation/stereotype/Log");
15
+ //日志测试实例
16
+ let LogService = class LogService {
17
+ logger;
18
+ info() {
19
+ this.logger.info("自定义的日志输出");
20
+ this.logger.debug("自定义调试");
21
+ this.logger.warn("自定义警告");
22
+ this.logger.error("自定义报错");
23
+ }
24
+ };
25
+ __decorate([
26
+ (0, Log_1.default)(),
27
+ __metadata("design:type", Logger_1.default)
28
+ ], LogService.prototype, "logger", void 0);
29
+ LogService = __decorate([
30
+ Service_1.default
31
+ ], LogService);
32
+ exports.default = LogService;
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const annotation_1 = require("../../src/annotation");
13
+ const FastCarApplication_1 = require("../../src/FastCarApplication");
14
+ const cService_1 = require("./service/cService");
15
+ let APP = class APP {
16
+ app;
17
+ };
18
+ __decorate([
19
+ annotation_1.Autowired,
20
+ __metadata("design:type", FastCarApplication_1.default)
21
+ ], APP.prototype, "app", void 0);
22
+ APP = __decorate([
23
+ annotation_1.Application
24
+ ], APP);
25
+ let instance = new APP();
26
+ setTimeout(() => {
27
+ let c = instance.app.getComponentByTarget(cService_1.default);
28
+ c.test();
29
+ }, 1000);