vona 1.0.0 → 5.0.4

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 (326) hide show
  1. package/LICENSE.en-US +3 -0
  2. package/README.md +1 -1
  3. package/README.zh-CN.md +1 -0
  4. package/dist/app/extend/context.d.ts +4 -0
  5. package/dist/app/extend/context.js +152 -0
  6. package/dist/index.d.ts +11 -0
  7. package/dist/index.js +35 -0
  8. package/dist/lib/base/dbTransaction.d.ts +12 -0
  9. package/dist/lib/base/dbTransaction.js +55 -0
  10. package/dist/lib/base/error.d.ts +18 -0
  11. package/dist/lib/base/error.js +70 -0
  12. package/dist/lib/base/model.d.ts +22 -0
  13. package/dist/lib/base/model.js +253 -0
  14. package/dist/lib/bean/_beanLocal_.d.ts +6 -0
  15. package/dist/lib/bean/_beanLocal_.js +16 -0
  16. package/dist/lib/bean/beanBase.d.ts +11 -0
  17. package/dist/lib/bean/beanBase.js +34 -0
  18. package/dist/lib/bean/beanBaseSimple.d.ts +8 -0
  19. package/dist/lib/bean/beanBaseSimple.js +31 -0
  20. package/dist/lib/bean/beanContainer.d.ts +39 -0
  21. package/dist/lib/bean/beanContainer.js +514 -0
  22. package/dist/lib/bean/beanLocal.d.ts +6 -0
  23. package/dist/lib/bean/beanLocal.js +16 -0
  24. package/dist/lib/bean/beanModuleScopeBase.d.ts +10 -0
  25. package/dist/lib/bean/beanModuleScopeBase.js +28 -0
  26. package/dist/lib/bean/beanScopeBase.d.ts +6 -0
  27. package/dist/lib/bean/beanScopeBase.js +19 -0
  28. package/dist/lib/bean/beanScopeScene.d.ts +12 -0
  29. package/dist/lib/bean/beanScopeScene.js +23 -0
  30. package/dist/lib/bean/beanSimple.d.ts +7 -0
  31. package/dist/lib/bean/beanSimple.js +24 -0
  32. package/dist/lib/bean/index.d.ts +8 -0
  33. package/dist/lib/bean/index.js +24 -0
  34. package/dist/lib/bean/resource/config/broadcast.d.ts +7 -0
  35. package/dist/lib/bean/resource/config/broadcast.js +3 -0
  36. package/dist/lib/bean/resource/config/index.d.ts +2 -0
  37. package/dist/lib/bean/resource/config/index.js +18 -0
  38. package/dist/lib/bean/resource/config/middleware.d.ts +9 -0
  39. package/dist/lib/bean/resource/config/middleware.js +3 -0
  40. package/dist/lib/bean/resource/config/startup.d.ts +9 -0
  41. package/dist/lib/bean/resource/config/startup.js +3 -0
  42. package/dist/lib/bean/resource/config/type.d.ts +43 -0
  43. package/dist/lib/bean/resource/config/type.js +3 -0
  44. package/dist/lib/bean/resource/constant/index.d.ts +2 -0
  45. package/dist/lib/bean/resource/constant/index.js +18 -0
  46. package/dist/lib/bean/resource/constant/type.d.ts +2 -0
  47. package/dist/lib/bean/resource/constant/type.js +3 -0
  48. package/dist/lib/bean/resource/entity/entityBase.d.ts +21 -0
  49. package/dist/lib/bean/resource/entity/entityBase.js +20 -0
  50. package/dist/lib/bean/resource/entity/index.d.ts +2 -0
  51. package/dist/lib/bean/resource/entity/index.js +18 -0
  52. package/dist/lib/bean/resource/error/beanScopeError.d.ts +11 -0
  53. package/dist/lib/bean/resource/error/beanScopeError.js +34 -0
  54. package/dist/lib/bean/resource/error/beanScopeErrorImpl.d.ts +14 -0
  55. package/dist/lib/bean/resource/error/beanScopeErrorImpl.js +35 -0
  56. package/dist/lib/bean/resource/error/errorClass.d.ts +18 -0
  57. package/dist/lib/bean/resource/error/errorClass.js +78 -0
  58. package/dist/lib/bean/resource/error/errorContext.d.ts +38 -0
  59. package/dist/lib/bean/resource/error/errorContext.js +3 -0
  60. package/dist/lib/bean/resource/error/errorGlobal.d.ts +8 -0
  61. package/dist/lib/bean/resource/error/errorGlobal.js +3 -0
  62. package/dist/lib/bean/resource/error/errorInternal.d.ts +67 -0
  63. package/dist/lib/bean/resource/error/errorInternal.js +70 -0
  64. package/dist/lib/bean/resource/error/errorObject.d.ts +5 -0
  65. package/dist/lib/bean/resource/error/errorObject.js +3 -0
  66. package/dist/lib/bean/resource/error/index.d.ts +9 -0
  67. package/dist/lib/bean/resource/error/index.js +25 -0
  68. package/dist/lib/bean/resource/error/type.d.ts +9 -0
  69. package/dist/lib/bean/resource/error/type.js +3 -0
  70. package/dist/lib/bean/resource/index.d.ts +8 -0
  71. package/dist/lib/bean/resource/index.js +24 -0
  72. package/dist/lib/bean/resource/locale/beanScopeLocale.d.ts +11 -0
  73. package/dist/lib/bean/resource/locale/beanScopeLocale.js +33 -0
  74. package/dist/lib/bean/resource/locale/beanScopeLocaleImpl.d.ts +3 -0
  75. package/dist/lib/bean/resource/locale/beanScopeLocaleImpl.js +14 -0
  76. package/dist/lib/bean/resource/locale/index.d.ts +4 -0
  77. package/dist/lib/bean/resource/locale/index.js +20 -0
  78. package/dist/lib/bean/resource/locale/localeCtx.d.ts +8 -0
  79. package/dist/lib/bean/resource/locale/localeCtx.js +63 -0
  80. package/dist/lib/bean/resource/locale/type.d.ts +19 -0
  81. package/dist/lib/bean/resource/locale/type.js +3 -0
  82. package/dist/lib/bean/resource/model/beanModelBase.d.ts +24 -0
  83. package/dist/lib/bean/resource/model/beanModelBase.js +165 -0
  84. package/dist/lib/bean/resource/model/beanModelBaseInner.d.ts +29 -0
  85. package/dist/lib/bean/resource/model/beanModelBaseInner.js +86 -0
  86. package/dist/lib/bean/resource/model/index.d.ts +2 -0
  87. package/dist/lib/bean/resource/model/index.js +18 -0
  88. package/dist/lib/bean/resource/model/type.d.ts +12 -0
  89. package/dist/lib/bean/resource/model/type.js +3 -0
  90. package/dist/lib/bean/resource/route/index.d.ts +2 -0
  91. package/dist/lib/bean/resource/route/index.js +18 -0
  92. package/dist/lib/bean/resource/route/type.d.ts +60 -0
  93. package/dist/lib/bean/resource/route/type.js +3 -0
  94. package/dist/lib/bean/scope/beanScopeBase.d.ts +19 -0
  95. package/dist/lib/bean/scope/beanScopeBase.js +104 -0
  96. package/dist/lib/bean/scope/beanScopeBean.d.ts +10 -0
  97. package/dist/lib/bean/scope/beanScopeBean.js +34 -0
  98. package/dist/lib/bean/scope/beanScopeError.d.ts +11 -0
  99. package/dist/lib/bean/scope/beanScopeError.js +21 -0
  100. package/dist/lib/bean/scope/beanScopeErrorImpl.d.ts +14 -0
  101. package/dist/lib/bean/scope/beanScopeErrorImpl.js +21 -0
  102. package/dist/lib/bean/scope/beanScopeScene.d.ts +12 -0
  103. package/dist/lib/bean/scope/beanScopeScene.js +42 -0
  104. package/dist/lib/bean/scope/index.d.ts +5 -0
  105. package/dist/lib/bean/scope/index.js +21 -0
  106. package/dist/lib/bean/scope/type.d.ts +21 -0
  107. package/dist/lib/bean/scope/type.js +3 -0
  108. package/dist/lib/bean/type.d.ts +17 -0
  109. package/dist/lib/bean/type.js +4 -0
  110. package/dist/lib/core/index.d.ts +5 -0
  111. package/dist/lib/core/index.js +21 -0
  112. package/dist/lib/core/meta.d.ts +65 -0
  113. package/dist/lib/core/meta.js +335 -0
  114. package/dist/lib/core/metaCtx.d.ts +16 -0
  115. package/dist/lib/core/metaCtx.js +71 -0
  116. package/dist/lib/core/metadata.d.ts +12 -0
  117. package/dist/lib/core/metadata.js +52 -0
  118. package/dist/lib/core/resource.d.ts +29 -0
  119. package/dist/lib/core/resource.js +172 -0
  120. package/dist/lib/decorator/class/aop.d.ts +3 -0
  121. package/dist/lib/decorator/class/aop.js +23 -0
  122. package/dist/lib/decorator/class/atom.d.ts +3 -0
  123. package/dist/lib/decorator/class/atom.js +22 -0
  124. package/dist/lib/decorator/class/bean.d.ts +3 -0
  125. package/dist/lib/decorator/class/bean.js +23 -0
  126. package/dist/lib/decorator/class/controller.d.ts +3 -0
  127. package/dist/lib/decorator/class/controller.js +22 -0
  128. package/dist/lib/decorator/class/index.d.ts +10 -0
  129. package/dist/lib/decorator/class/index.js +26 -0
  130. package/dist/lib/decorator/class/local.d.ts +3 -0
  131. package/dist/lib/decorator/class/local.js +23 -0
  132. package/dist/lib/decorator/class/model.d.ts +3 -0
  133. package/dist/lib/decorator/class/model.js +28 -0
  134. package/dist/lib/decorator/class/scope.d.ts +2 -0
  135. package/dist/lib/decorator/class/scope.js +20 -0
  136. package/dist/lib/decorator/class/service.d.ts +3 -0
  137. package/dist/lib/decorator/class/service.js +23 -0
  138. package/dist/lib/decorator/class/use.d.ts +5 -0
  139. package/dist/lib/decorator/class/use.js +43 -0
  140. package/dist/lib/decorator/class/util.d.ts +3 -0
  141. package/dist/lib/decorator/class/util.js +10 -0
  142. package/dist/lib/decorator/class/virtual.d.ts +3 -0
  143. package/dist/lib/decorator/class/virtual.js +24 -0
  144. package/dist/lib/decorator/index.d.ts +7 -0
  145. package/dist/lib/decorator/index.js +23 -0
  146. package/dist/lib/decorator/interface/beanOptions.d.ts +55 -0
  147. package/dist/lib/decorator/interface/beanOptions.js +8 -0
  148. package/dist/lib/decorator/interface/useOptions.d.ts +14 -0
  149. package/dist/lib/decorator/interface/useOptions.js +3 -0
  150. package/dist/lib/decorator/type/constructable.d.ts +2 -0
  151. package/dist/lib/decorator/type/constructable.js +3 -0
  152. package/dist/lib/decorator/type/containerScope.d.ts +2 -0
  153. package/dist/lib/decorator/type/containerScope.js +3 -0
  154. package/dist/lib/decorator/type/injectionScope.d.ts +2 -0
  155. package/dist/lib/decorator/type/injectionScope.js +3 -0
  156. package/dist/lib/error/error.d.ts +18 -0
  157. package/dist/lib/error/error.js +71 -0
  158. package/dist/lib/error/errorClass.d.ts +18 -0
  159. package/dist/lib/error/errorClass.js +72 -0
  160. package/dist/lib/error/errorContext.d.ts +38 -0
  161. package/dist/lib/error/errorContext.js +3 -0
  162. package/dist/lib/error/errorGlobal.d.ts +8 -0
  163. package/dist/lib/error/errorGlobal.js +3 -0
  164. package/dist/lib/error/errorInternal.d.ts +67 -0
  165. package/dist/lib/error/errorInternal.js +70 -0
  166. package/dist/lib/error/errorObject.d.ts +5 -0
  167. package/dist/lib/error/errorObject.js +3 -0
  168. package/dist/lib/error/index.d.ts +5 -0
  169. package/dist/lib/error/index.js +21 -0
  170. package/dist/lib/framework/bootstrap.d.ts +9 -0
  171. package/dist/lib/framework/bootstrap.js +35 -0
  172. package/dist/lib/framework/framework.d.ts +11 -0
  173. package/dist/lib/framework/framework.js +28 -0
  174. package/dist/lib/framework/loader.d.ts +21 -0
  175. package/dist/lib/framework/loader.js +57 -0
  176. package/dist/lib/framework/meta.d.ts +2 -0
  177. package/dist/lib/framework/meta.js +23 -0
  178. package/dist/lib/framework/metaClass.d.ts +2 -0
  179. package/dist/lib/framework/metaClass.js +26 -0
  180. package/dist/lib/framework/moduleInfo.d.ts +3 -0
  181. package/dist/lib/framework/moduleInfo.js +67 -0
  182. package/dist/lib/framework/util.d.ts +4 -0
  183. package/dist/lib/framework/util.js +15 -0
  184. package/dist/lib/module/asset/errors.d.ts +68 -0
  185. package/dist/lib/module/asset/errors.js +69 -0
  186. package/dist/lib/module/bean/index.d.ts +4 -0
  187. package/dist/lib/module/bean/index.js +24 -0
  188. package/dist/lib/module/broadcast/broadcast.d.ts +3 -0
  189. package/dist/lib/module/broadcast/broadcast.js +49 -0
  190. package/dist/lib/module/broadcast/broadcastClient.d.ts +24 -0
  191. package/dist/lib/module/broadcast/broadcastClient.js +91 -0
  192. package/dist/lib/module/cluster/agent.d.ts +3 -0
  193. package/dist/lib/module/cluster/agent.js +22 -0
  194. package/dist/lib/module/cluster/app.d.ts +3 -0
  195. package/dist/lib/module/cluster/app.js +26 -0
  196. package/dist/lib/module/config.d.ts +3 -0
  197. package/dist/lib/module/config.js +67 -0
  198. package/dist/lib/module/constant.d.ts +3 -0
  199. package/dist/lib/module/constant.js +46 -0
  200. package/dist/lib/module/contextPatch.d.ts +3 -0
  201. package/dist/lib/module/contextPatch.js +16 -0
  202. package/dist/lib/module/errors.d.ts +3 -0
  203. package/dist/lib/module/errors.js +49 -0
  204. package/dist/lib/module/index.d.ts +2 -0
  205. package/dist/lib/module/index.js +3 -0
  206. package/dist/lib/module/loader.d.ts +5 -0
  207. package/dist/lib/module/loader.js +73 -0
  208. package/dist/lib/module/locales.d.ts +3 -0
  209. package/dist/lib/module/locales.js +132 -0
  210. package/dist/lib/module/messenger.d.ts +25 -0
  211. package/dist/lib/module/messenger.js +128 -0
  212. package/dist/lib/module/middleware.d.ts +3 -0
  213. package/dist/lib/module/middleware.js +113 -0
  214. package/dist/lib/module/model.d.ts +3 -0
  215. package/dist/lib/module/model.js +47 -0
  216. package/dist/lib/module/module.d.ts +12 -0
  217. package/dist/lib/module/module.js +134 -0
  218. package/dist/lib/module/moduleMeta.d.ts +3 -0
  219. package/dist/lib/module/moduleMeta.js +26 -0
  220. package/dist/lib/module/queue/queue.d.ts +3 -0
  221. package/dist/lib/module/queue/queue.js +59 -0
  222. package/dist/lib/module/queue/queueClient.d.ts +26 -0
  223. package/dist/lib/module/queue/queueClient.js +262 -0
  224. package/dist/lib/module/redis.d.ts +11 -0
  225. package/dist/lib/module/redis.js +46 -0
  226. package/dist/lib/module/reload/development.d.ts +3 -0
  227. package/dist/lib/module/reload/development.js +98 -0
  228. package/dist/lib/module/reload/reload.d.ts +16 -0
  229. package/dist/lib/module/reload/reload.js +113 -0
  230. package/dist/lib/module/reload.d.ts +7 -0
  231. package/dist/lib/module/reload.js +17 -0
  232. package/dist/lib/module/route.d.ts +10 -0
  233. package/dist/lib/module/route.js +239 -0
  234. package/dist/lib/module/schedule.d.ts +3 -0
  235. package/dist/lib/module/schedule.js +129 -0
  236. package/dist/lib/module/service.d.ts +3 -0
  237. package/dist/lib/module/service.js +35 -0
  238. package/dist/lib/module/socketio.d.ts +5 -0
  239. package/dist/lib/module/socketio.js +47 -0
  240. package/dist/lib/module/startup.d.ts +2 -0
  241. package/dist/lib/module/startup.js +134 -0
  242. package/dist/lib/module/version/clear.d.ts +2 -0
  243. package/dist/lib/module/version/clear.js +42 -0
  244. package/dist/lib/module/version/ready.d.ts +6 -0
  245. package/dist/lib/module/version/ready.js +106 -0
  246. package/dist/lib/resource/error/errorClass.d.ts +18 -0
  247. package/dist/lib/resource/error/errorClass.js +72 -0
  248. package/dist/lib/resource/error/errorContext.d.ts +38 -0
  249. package/dist/lib/resource/error/errorContext.js +3 -0
  250. package/dist/lib/resource/error/errorGlobal.d.ts +8 -0
  251. package/dist/lib/resource/error/errorGlobal.js +3 -0
  252. package/dist/lib/resource/error/errorInternal.d.ts +67 -0
  253. package/dist/lib/resource/error/errorInternal.js +70 -0
  254. package/dist/lib/resource/error/errorObject.d.ts +5 -0
  255. package/dist/lib/resource/error/errorObject.js +3 -0
  256. package/dist/lib/resource/error/index.d.ts +5 -0
  257. package/dist/lib/resource/error/index.js +21 -0
  258. package/dist/lib/utils/index.d.ts +2 -0
  259. package/dist/lib/utils/index.js +18 -0
  260. package/dist/lib/utils/isClass.d.ts +2 -0
  261. package/dist/lib/utils/isClass.js +20 -0
  262. package/dist/lib/utils/mockUtil.d.ts +11 -0
  263. package/dist/lib/utils/mockUtil.js +34 -0
  264. package/dist/lib/utils/mockUtilCtx.d.ts +10 -0
  265. package/dist/lib/utils/mockUtilCtx.js +35 -0
  266. package/dist/lib/utils/performAction.d.ts +19 -0
  267. package/dist/lib/utils/performAction.js +137 -0
  268. package/dist/lib/utils/util.d.ts +63 -0
  269. package/dist/lib/utils/util.js +445 -0
  270. package/dist/lib/utils/utilCtx.d.ts +34 -0
  271. package/dist/lib/utils/utilCtx.js +137 -0
  272. package/dist/types/application/app.d.ts +19 -0
  273. package/dist/types/application/app.js +28 -0
  274. package/dist/types/application/index.d.ts +2 -0
  275. package/dist/types/application/index.js +18 -0
  276. package/dist/types/config/appInfo.d.ts +4 -0
  277. package/dist/types/config/appInfo.js +3 -0
  278. package/dist/types/config/config.d.ts +10 -0
  279. package/dist/types/config/config.js +3 -0
  280. package/dist/types/config/development.d.ts +4 -0
  281. package/dist/types/config/development.js +3 -0
  282. package/dist/types/config/index.d.ts +4 -0
  283. package/dist/types/config/index.js +20 -0
  284. package/dist/types/config/locale.d.ts +10 -0
  285. package/dist/types/config/locale.js +7 -0
  286. package/dist/types/context/contextBase.d.ts +21 -0
  287. package/dist/types/context/contextBase.js +3 -0
  288. package/dist/types/context/contextConfig.d.ts +4 -0
  289. package/dist/types/context/contextConfig.js +3 -0
  290. package/dist/types/context/contextError.d.ts +25 -0
  291. package/dist/types/context/contextError.js +3 -0
  292. package/dist/types/context/contextLocale.d.ts +9 -0
  293. package/dist/types/context/contextLocale.js +3 -0
  294. package/dist/types/context/contextOthers.d.ts +4 -0
  295. package/dist/types/context/contextOthers.js +3 -0
  296. package/dist/types/context/contextState.d.ts +8 -0
  297. package/dist/types/context/contextState.js +3 -0
  298. package/dist/types/context/index.d.ts +18 -0
  299. package/dist/types/context/index.js +18 -0
  300. package/dist/types/enum/appEvent.d.ts +5 -0
  301. package/dist/types/enum/appEvent.js +9 -0
  302. package/dist/types/enum/index.d.ts +2 -0
  303. package/dist/types/enum/index.js +18 -0
  304. package/dist/types/index.d.ts +7 -0
  305. package/dist/types/index.js +23 -0
  306. package/dist/types/interface/broadcast.d.ts +5 -0
  307. package/dist/types/interface/broadcast.js +3 -0
  308. package/dist/types/interface/error.d.ts +8 -0
  309. package/dist/types/interface/error.js +3 -0
  310. package/dist/types/interface/index.d.ts +6 -0
  311. package/dist/types/interface/index.js +22 -0
  312. package/dist/types/interface/module.d.ts +32 -0
  313. package/dist/types/interface/module.js +18 -0
  314. package/dist/types/interface/monkey.d.ts +25 -0
  315. package/dist/types/interface/monkey.js +3 -0
  316. package/dist/types/interface/queue.d.ts +29 -0
  317. package/dist/types/interface/queue.js +3 -0
  318. package/dist/types/interface/schedule.d.ts +11 -0
  319. package/dist/types/interface/schedule.js +3 -0
  320. package/dist/types/utils/cast.d.ts +6 -0
  321. package/dist/types/utils/cast.js +8 -0
  322. package/dist/types/utils/index.d.ts +3 -0
  323. package/dist/types/utils/index.js +19 -0
  324. package/dist/types/utils/powerPartial.d.ts +4 -0
  325. package/dist/types/utils/powerPartial.js +3 -0
  326. package/package.json +61 -14
@@ -0,0 +1,134 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const index_js_1 = require("../../index.js");
4
+ function default_1(app) {
5
+ // use modulesArray
6
+ const ebModulesArray = app.meta.modulesArray;
7
+ // all startups
8
+ const ebStartups = (app.meta.startups = {});
9
+ const ebStartupsArray = (app.meta.startupsArray = []);
10
+ // load startups
11
+ loadStartups();
12
+ function loadStartups() {
13
+ for (const module of ebModulesArray) {
14
+ const config = app.meta.configs[module.info.relativeName];
15
+ if (!config.startups)
16
+ continue;
17
+ for (const startupKey in config.startups) {
18
+ const startupConfig = config.startups[startupKey];
19
+ const fullKey = `${module.info.relativeName}:${startupKey}`;
20
+ // bean
21
+ const beanName = startupConfig.bean;
22
+ if (!beanName)
23
+ throw new Error(`bean not set for startup: ${fullKey}`);
24
+ let bean;
25
+ if (typeof beanName === 'string') {
26
+ bean = {
27
+ module: module.info.relativeName,
28
+ name: beanName,
29
+ };
30
+ }
31
+ else {
32
+ bean = {
33
+ module: beanName.module || module.info.relativeName,
34
+ name: beanName.name,
35
+ };
36
+ }
37
+ ebStartups[fullKey] = {
38
+ key: fullKey,
39
+ module: module.info.relativeName,
40
+ name: startupKey,
41
+ config: startupConfig,
42
+ bean,
43
+ };
44
+ ebStartupsArray.push(ebStartups[fullKey]);
45
+ }
46
+ }
47
+ }
48
+ app.meta._runStartup = async ({ module, name, instanceStartup }) => {
49
+ const fullKey = `${module}:${name}`;
50
+ const startup = ebStartups[fullKey];
51
+ // normal
52
+ if (!startup.config.debounce) {
53
+ return await _runStartupInner({ startup, instanceStartup });
54
+ }
55
+ // debounce: lock
56
+ const subdomain = instanceStartup ? instanceStartup.subdomain : undefined;
57
+ return await app.meta.util.lock({
58
+ subdomain,
59
+ resource: `${instanceStartup ? 'instanceStartup' : 'startup'}.${fullKey}`,
60
+ fn: async () => {
61
+ return await app.meta.util.executeBean({
62
+ subdomain,
63
+ beanModule: 'a-base',
64
+ fn: async ({ ctx }) => {
65
+ await _runStartupLock({ ctx, startup, instanceStartup });
66
+ },
67
+ });
68
+ },
69
+ });
70
+ };
71
+ app.meta._runStartupInstance = async ({ subdomain, options }) => {
72
+ // run startups: not after
73
+ for (const startup of app.meta.startupsArray) {
74
+ if (!startup.config.disable && startup.config.instance && startup.config.after !== true) {
75
+ console.log(`---- instance startup: ${startup.key}, pid: ${process.pid}`);
76
+ await app.meta._runStartup({
77
+ module: startup.module,
78
+ name: startup.name,
79
+ instanceStartup: { subdomain, options },
80
+ });
81
+ }
82
+ }
83
+ // set flag
84
+ app.meta.appReadyInstances[subdomain] = true;
85
+ // run startups: after
86
+ for (const startup of app.meta.startupsArray) {
87
+ if (!startup.config.disable && startup.config.instance && startup.config.after === true) {
88
+ console.log(`---- instance startup: ${startup.key}, pid: ${process.pid}`);
89
+ await app.meta._runStartup({
90
+ module: startup.module,
91
+ name: startup.name,
92
+ instanceStartup: { subdomain, options },
93
+ });
94
+ }
95
+ }
96
+ // load queue workers
97
+ if (!app.meta.isTest) {
98
+ app.meta._loadQueueWorkers({ subdomain });
99
+ }
100
+ };
101
+ async function _runStartupLock({ ctx, startup, instanceStartup }) {
102
+ // ignore debounce for test
103
+ const force = instanceStartup && instanceStartup.options && instanceStartup.options.force;
104
+ if (!force && !ctx.app.meta.isTest) {
105
+ const fullKey = `${startup.module}:${startup.name}`;
106
+ const cacheKey = `startupDebounce:${fullKey}${instanceStartup ? `:${ctx.instance.id}` : ''}`;
107
+ const debounce = typeof startup.config.debounce === 'number' ? startup.config.debounce : ctx.app.config.queue.startup.debounce;
108
+ const cache = (0, index_js_1.Cast)(ctx.bean).cacheRedis.module('a-base');
109
+ const flag = await cache.getset(cacheKey, true, debounce);
110
+ if (flag)
111
+ return;
112
+ }
113
+ // perform
114
+ await _runStartupInner({ startup, instanceStartup });
115
+ }
116
+ async function _runStartupInner({ startup, instanceStartup }) {
117
+ // context
118
+ const context = {
119
+ options: instanceStartup ? instanceStartup.options : undefined,
120
+ };
121
+ // bean
122
+ const bean = startup.bean;
123
+ // execute
124
+ return await app.meta.util.executeBean({
125
+ subdomain: instanceStartup ? instanceStartup.subdomain : undefined,
126
+ context,
127
+ beanModule: bean.module,
128
+ beanFullName: `${bean.module}.startup.${bean.name}`,
129
+ transaction: startup.config.transaction,
130
+ });
131
+ }
132
+ }
133
+ exports.default = default_1;
134
+ //# sourceMappingURL=startup.js.map
@@ -0,0 +1,2 @@
1
+ export default function (app: any): Promise<void>;
2
+ //# sourceMappingURL=clear.d.ts.map
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const path_1 = __importDefault(require("path"));
7
+ const fs_extra_1 = __importDefault(require("fs-extra"));
8
+ async function default_1(app) {
9
+ if (!app.meta.isTest)
10
+ return;
11
+ // clear keys
12
+ await _clearRedisKeys(app.redis.get('limiter'), `b_${app.name}:*`);
13
+ await _clearRedisKeys(app.redis.get('queue'), `bull_${app.name}:*`);
14
+ // broadcast channel has subscribed
15
+ // await _clearRedisKeys(app.redis.get('broadcast'), `broadcast_${app.name}:*`);
16
+ await _clearRedisKeys(app.redis.get('cache'), `cache_${app.name}:*`);
17
+ await _clearRedisKeys(app.redis.get('io'), `io_${app.name}:*`);
18
+ await _clearRedisKeys(app.redis.get('auth'), `auth_${app.name}:*`);
19
+ await _clearRedisKeys(app.redis.get('summer'), `summer_${app.name}:*`);
20
+ // redlock
21
+ for (const clientName of app.config.queue.redlock.clients) {
22
+ await _clearRedisKeys(app.redis.get(clientName), `redlock_${app.name}:*`);
23
+ }
24
+ // src/backend/app/public
25
+ await fs_extra_1.default.remove(path_1.default.join(app.options.baseDir, 'app/public/1'));
26
+ }
27
+ exports.default = default_1;
28
+ async function _clearRedisKeys(redis, pattern) {
29
+ if (!redis)
30
+ return;
31
+ const keyPrefix = redis.options.keyPrefix;
32
+ const keys = await redis.keys(pattern);
33
+ const keysDel = [];
34
+ for (const fullKey of keys) {
35
+ const key = keyPrefix ? fullKey.substr(keyPrefix.length) : fullKey;
36
+ keysDel.push(key);
37
+ }
38
+ if (keysDel.length > 0) {
39
+ await redis.del(keysDel);
40
+ }
41
+ }
42
+ //# sourceMappingURL=clear.js.map
@@ -0,0 +1,6 @@
1
+ import { BeanSimple } from '../../bean/beanSimple.js';
2
+ export declare class VersionReady extends BeanSimple {
3
+ initialize(): void;
4
+ execute(): Promise<void>;
5
+ }
6
+ //# sourceMappingURL=ready.d.ts.map
@@ -0,0 +1,106 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.VersionReady = void 0;
7
+ const index_js_1 = require("../../../types/index.js");
8
+ const beanSimple_js_1 = require("../../bean/beanSimple.js");
9
+ const clear_js_1 = __importDefault(require("./clear.js"));
10
+ class VersionReady extends beanSimple_js_1.BeanSimple {
11
+ initialize() {
12
+ const app = this.app;
13
+ // checkAppReady
14
+ app.meta.checkAppReady = async function () {
15
+ return new Promise((resolve, reject) => {
16
+ // check once
17
+ if (app.meta.__versionReady) {
18
+ resolve(true);
19
+ }
20
+ if (app.meta.__versionReadyError) {
21
+ reject(app.meta.__versionReadyError);
22
+ }
23
+ // listen
24
+ app.on(index_js_1.EnumAppEvent.AppReady, () => {
25
+ resolve(true);
26
+ });
27
+ app.on(index_js_1.EnumAppEvent.AppReadyError, err => {
28
+ reject(err);
29
+ });
30
+ });
31
+ };
32
+ }
33
+ async execute() {
34
+ const app = this.app;
35
+ try {
36
+ // version ready
37
+ await _versionReady(app);
38
+ // record
39
+ app.meta.__versionReady = true;
40
+ // event: appReady
41
+ app.emit(index_js_1.EnumAppEvent.AppReady);
42
+ // event to agent
43
+ app.meta.messenger.callAgent({
44
+ name: 'appReady',
45
+ data: { pid: process.pid },
46
+ });
47
+ }
48
+ catch (err) {
49
+ // record
50
+ app.meta.__versionReadyError = err;
51
+ // event: appReadyError
52
+ app.emit(index_js_1.EnumAppEvent.AppReadyError, err);
53
+ // throw exception
54
+ throw err;
55
+ }
56
+ }
57
+ }
58
+ exports.VersionReady = VersionReady;
59
+ async function _versionReady(app) {
60
+ // clear keys
61
+ await (0, clear_js_1.default)(app);
62
+ // run startups: not after
63
+ for (const startup of app.meta.startupsArray) {
64
+ if (!startup.config.disable && !startup.config.instance && startup.config.after !== true) {
65
+ console.log(`---- startup: ${startup.key}, pid: ${process.pid}`);
66
+ await app.meta._runStartup({ module: startup.module, name: startup.name });
67
+ }
68
+ }
69
+ // appReady
70
+ app.meta.appReady = true;
71
+ app.meta.appReadyInstances = {};
72
+ // run startups: after
73
+ for (const startup of app.meta.startupsArray) {
74
+ if (!startup.config.disable && !startup.config.instance && startup.config.after === true) {
75
+ console.log(`---- startup: ${startup.key}, pid: ${process.pid}`);
76
+ await app.meta._runStartup({ module: startup.module, name: startup.name });
77
+ }
78
+ }
79
+ // version init
80
+ if (app.meta.isTest || app.meta.isLocal) {
81
+ // subdomain
82
+ const subdomain = '';
83
+ // init
84
+ await app.meta.util.executeBean({
85
+ subdomain,
86
+ beanModule: 'a-instance',
87
+ beanFullName: 'instance',
88
+ context: { subdomain },
89
+ fn: 'instanceStartup',
90
+ });
91
+ }
92
+ // version test
93
+ if (app.meta.isTest) {
94
+ // subdomain
95
+ const subdomain = '';
96
+ // test
97
+ await app.meta.util.executeBean({
98
+ subdomain,
99
+ beanModule: 'a-version',
100
+ beanFullName: 'a-version.service.version',
101
+ context: subdomain,
102
+ fn: '__instanceTest',
103
+ });
104
+ }
105
+ }
106
+ //# sourceMappingURL=ready.js.map
@@ -0,0 +1,18 @@
1
+ import { BeanSimple } from '../../beanSimple.js';
2
+ export declare class ErrorClass extends BeanSimple {
3
+ ebErrors: any;
4
+ constructor(ebErrors: any);
5
+ success(module: any, data: any, code: any, ...args: any[]): void;
6
+ fail(module: any, code: any, ...args: any[]): void;
7
+ throw(module: any, code: any, ...args: any[]): never;
8
+ parseFail(module: any, code: any, ...args: any[]): any;
9
+ parseSuccess(module: any, code: any, ...args: any[]): {
10
+ code: any;
11
+ message: string;
12
+ };
13
+ parseCode(module: any, codeDefault: any, code: any, ...args: any[]): {
14
+ code: any;
15
+ message: string;
16
+ };
17
+ }
18
+ //# sourceMappingURL=errorClass.d.ts.map
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ErrorClass = void 0;
4
+ const beanSimple_js_1 = require("../../bean/beanSimple.js");
5
+ const errorInternal_js_1 = require("./errorInternal.js");
6
+ class ErrorClass extends beanSimple_js_1.BeanSimple {
7
+ constructor(ebErrors) {
8
+ super();
9
+ this.ebErrors = ebErrors;
10
+ }
11
+ // data,code/message,args
12
+ success(module, data, code, ...args) {
13
+ const body = this.parseSuccess(module, code, ...args);
14
+ this.ctx.response.status = 200;
15
+ this.ctx.response.type = 'application/json';
16
+ this.ctx.response.body = { code: 0, message: body.message, data };
17
+ }
18
+ // code/message,args
19
+ fail(module, code, ...args) {
20
+ const body = this.parseFail(module, code, ...args);
21
+ this.ctx.response.status = 200;
22
+ this.ctx.response.type = 'application/json';
23
+ this.ctx.response.body = { code: body.code, message: body.message }; // body maybe Error
24
+ }
25
+ // code/message,args
26
+ throw(module, code, ...args) {
27
+ const body = this.parseFail(module, code, ...args);
28
+ const err = new Error();
29
+ err.code = body.code;
30
+ err.message = body.message;
31
+ if (body.code < 500)
32
+ err.status = body.code;
33
+ throw err;
34
+ }
35
+ // code/message,args
36
+ parseFail(module, code, ...args) {
37
+ if (typeof code === 'object')
38
+ return code;
39
+ return this.parseCode(module, 1, code, ...args);
40
+ }
41
+ // code/message,args
42
+ parseSuccess(module, code, ...args) {
43
+ return this.parseCode(module, 0, code, ...args);
44
+ }
45
+ // parseCode
46
+ parseCode(module, codeDefault, code, ...args) {
47
+ const ebError = this.ebErrors[module];
48
+ // convert from enum
49
+ if (code && typeof code === 'string') {
50
+ code = ebError[code];
51
+ }
52
+ if (code === undefined || code === null || code === '') {
53
+ code = codeDefault;
54
+ }
55
+ let message;
56
+ if (code <= 1000) {
57
+ message = this.ctx.text(errorInternal_js_1.errorsInternal[code], ...args);
58
+ }
59
+ else {
60
+ message = this.ctx.text(ebError[code], ...args);
61
+ }
62
+ code = __combineErrorCode(module, code);
63
+ return { code, message };
64
+ }
65
+ }
66
+ exports.ErrorClass = ErrorClass;
67
+ function __combineErrorCode(module, code) {
68
+ if (typeof code !== 'number' || code <= 1000)
69
+ return code;
70
+ return module ? `${module}:${code}` : code;
71
+ }
72
+ //# sourceMappingURL=errorClass.js.map
@@ -0,0 +1,38 @@
1
+ import { IErrorObject } from './errorObject.js';
2
+ type TypeErrorMethodNames = 'parseFail' | 'parseSuccess';
3
+ type TypeErrorMethodCommon = {
4
+ (code: number | string, ...args: any[]): IErrorObject;
5
+ module: (moduleName: string, code: number | string, ...args: any[]) => IErrorObject;
6
+ };
7
+ type TypeErrorMethodFail = {
8
+ (code: number | string, ...args: any[]): void;
9
+ module: (moduleName: string, code: number | string, ...args: any[]) => void;
10
+ };
11
+ type TypeErrorMethodThrow = {
12
+ (code: number | string, ...args: any[]): never;
13
+ module: (moduleName: string, code: number | string, ...args: any[]) => never;
14
+ };
15
+ type TypeErrorMethodSuccess = {
16
+ (data?: any, ...args: any[]): void;
17
+ module: (moduleName: string, data: any, ...args: any[]) => void;
18
+ };
19
+ type TypeErrorMethodParseCode = {
20
+ (codeDefault: number, code: number | string, ...args: any[]): IErrorObject;
21
+ module: (moduleName: string, codeDefault: number, code: number | string, ...args: any[]) => IErrorObject;
22
+ };
23
+ type TypeErrorMethods = {
24
+ success: TypeErrorMethodSuccess;
25
+ } & {
26
+ throw: TypeErrorMethodThrow;
27
+ } & {
28
+ fail: TypeErrorMethodFail;
29
+ } & {
30
+ [property in TypeErrorMethodNames]: TypeErrorMethodCommon;
31
+ } & {
32
+ parseCode: TypeErrorMethodParseCode;
33
+ };
34
+ export interface ContextError extends TypeErrorMethods {
35
+ createError: (data: object | Error) => Error;
36
+ }
37
+ export {};
38
+ //# sourceMappingURL=errorContext.d.ts.map
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=errorContext.js.map
@@ -0,0 +1,8 @@
1
+ declare global {
2
+ export interface Error {
3
+ code: number | string;
4
+ status: number | string;
5
+ }
6
+ }
7
+ export {};
8
+ //# sourceMappingURL=errorGlobal.d.ts.map
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=errorGlobal.js.map
@@ -0,0 +1,67 @@
1
+ export declare const errorsInternal: {
2
+ 0: string;
3
+ 1: string;
4
+ 100: string;
5
+ 101: string;
6
+ 102: string;
7
+ 200: string;
8
+ 201: string;
9
+ 202: string;
10
+ 203: string;
11
+ 204: string;
12
+ 205: string;
13
+ 206: string;
14
+ 207: string;
15
+ 208: string;
16
+ 226: string;
17
+ 300: string;
18
+ 301: string;
19
+ 302: string;
20
+ 303: string;
21
+ 304: string;
22
+ 305: string;
23
+ 307: string;
24
+ 308: string;
25
+ 400: string;
26
+ 401: string;
27
+ 402: string;
28
+ 403: string;
29
+ 404: string;
30
+ 405: string;
31
+ 406: string;
32
+ 407: string;
33
+ 408: string;
34
+ 409: string;
35
+ 410: string;
36
+ 411: string;
37
+ 412: string;
38
+ 413: string;
39
+ 414: string;
40
+ 415: string;
41
+ 416: string;
42
+ 417: string;
43
+ 418: string;
44
+ 421: string;
45
+ 422: string;
46
+ 423: string;
47
+ 424: string;
48
+ 425: string;
49
+ 426: string;
50
+ 428: string;
51
+ 429: string;
52
+ 431: string;
53
+ 451: string;
54
+ 500: string;
55
+ 501: string;
56
+ 502: string;
57
+ 503: string;
58
+ 504: string;
59
+ 505: string;
60
+ 506: string;
61
+ 507: string;
62
+ 508: string;
63
+ 509: string;
64
+ 510: string;
65
+ 511: string;
66
+ };
67
+ //# sourceMappingURL=errorInternal.d.ts.map
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.errorsInternal = void 0;
4
+ exports.errorsInternal = {
5
+ 0: 'Success',
6
+ 1: 'Unknown Error',
7
+ 100: 'Continue',
8
+ 101: 'Switching Protocols',
9
+ 102: 'Processing',
10
+ 200: 'OK',
11
+ 201: 'Created',
12
+ 202: 'Accepted',
13
+ 203: 'Non-Authoritative Information',
14
+ 204: 'No Content',
15
+ 205: 'Reset Content',
16
+ 206: 'Partial Content',
17
+ 207: 'Multi-Status',
18
+ 208: 'Already Reported',
19
+ 226: 'IM Used',
20
+ 300: 'Multiple Choices',
21
+ 301: 'Moved Permanently',
22
+ 302: 'Found',
23
+ 303: 'See Other',
24
+ 304: 'Not Modified',
25
+ 305: 'Use Proxy',
26
+ 307: 'Temporary Redirect',
27
+ 308: 'Permanent Redirect',
28
+ 400: 'Bad Request',
29
+ 401: 'Unauthorized',
30
+ 402: 'Payment Required',
31
+ 403: 'Forbidden',
32
+ 404: 'Not Found',
33
+ 405: 'Method Not Allowed',
34
+ 406: 'Not Acceptable',
35
+ 407: 'Proxy Authentication Required',
36
+ 408: 'Request Timeout',
37
+ 409: 'Conflict',
38
+ 410: 'Gone',
39
+ 411: 'Length Required',
40
+ 412: 'Precondition Failed',
41
+ 413: 'Payload Too Large',
42
+ 414: 'URI Too Long',
43
+ 415: 'Unsupported Media Type',
44
+ 416: 'Range Not Satisfiable',
45
+ 417: 'Expectation Failed',
46
+ 418: "I'm a teapot",
47
+ 421: 'Misdirected Request',
48
+ 422: 'Unprocessable Entity',
49
+ 423: 'Locked',
50
+ 424: 'Failed Dependency',
51
+ 425: 'Unordered Collection',
52
+ 426: 'Upgrade Required',
53
+ 428: 'Precondition Required',
54
+ 429: 'Too Many Requests',
55
+ 431: 'Request Header Fields Too Large',
56
+ 451: 'Unavailable For Legal Reasons',
57
+ 500: 'Internal Server Error',
58
+ 501: 'Not Implemented',
59
+ 502: 'Bad Gateway',
60
+ 503: 'Service Unavailable',
61
+ 504: 'Gateway Timeout',
62
+ 505: 'HTTP Version Not Supported',
63
+ 506: 'Variant Also Negotiates',
64
+ 507: 'Insufficient Storage',
65
+ 508: 'Loop Detected',
66
+ 509: 'Bandwidth Limit Exceeded',
67
+ 510: 'Not Extended',
68
+ 511: 'Network Authentication Required',
69
+ };
70
+ //# sourceMappingURL=errorInternal.js.map
@@ -0,0 +1,5 @@
1
+ export interface IErrorObject {
2
+ code: number | string;
3
+ message: string;
4
+ }
5
+ //# sourceMappingURL=errorObject.d.ts.map
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=errorObject.js.map
@@ -0,0 +1,5 @@
1
+ export * from './errorClass.js';
2
+ export * from './errorContext.js';
3
+ export * from './errorGlobal.js';
4
+ export * from './errorObject.js';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./errorClass.js"), exports);
18
+ __exportStar(require("./errorContext.js"), exports);
19
+ __exportStar(require("./errorGlobal.js"), exports);
20
+ __exportStar(require("./errorObject.js"), exports);
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,2 @@
1
+ export * from './isClass.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./isClass.js"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,2 @@
1
+ export declare function isClass(fn: any): boolean;
2
+ //# sourceMappingURL=isClass.d.ts.map
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isClass = void 0;
4
+ function isClass(fn) {
5
+ // just check if is function
6
+ return typeof fn === 'function';
7
+ }
8
+ exports.isClass = isClass;
9
+ // function fnBody(fn) {
10
+ // return toString
11
+ // .call(fn)
12
+ // .replace(/^[^{]*{\s*/, '')
13
+ // .replace(/\s*}[^}]*$/, '');
14
+ // }
15
+ // export function isClass(fn) {
16
+ // return (
17
+ // typeof fn === 'function' && (/^class(?:\s|{)/.test(toString.call(fn)) || /^.*classCallCheck\(/.test(fnBody(fn))) // babel.js
18
+ // );
19
+ // }
20
+ //# sourceMappingURL=isClass.js.map