vona 5.0.7 → 5.0.9

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 (333) hide show
  1. package/LICENSE +2 -15
  2. package/README.en-US.md +63 -0
  3. package/README.md +63 -1
  4. package/package.json +6 -77
  5. package/README.zh-CN.md +0 -1
  6. package/dist/app/extend/context.d.ts +0 -4
  7. package/dist/app/extend/context.js +0 -152
  8. package/dist/index.d.ts +0 -11
  9. package/dist/index.js +0 -35
  10. package/dist/lib/base/dbTransaction.d.ts +0 -12
  11. package/dist/lib/base/dbTransaction.js +0 -55
  12. package/dist/lib/base/error.d.ts +0 -18
  13. package/dist/lib/base/error.js +0 -70
  14. package/dist/lib/base/model.d.ts +0 -22
  15. package/dist/lib/base/model.js +0 -253
  16. package/dist/lib/bean/_beanLocal_.d.ts +0 -6
  17. package/dist/lib/bean/_beanLocal_.js +0 -16
  18. package/dist/lib/bean/beanBase.d.ts +0 -11
  19. package/dist/lib/bean/beanBase.js +0 -34
  20. package/dist/lib/bean/beanBaseSimple.d.ts +0 -8
  21. package/dist/lib/bean/beanBaseSimple.js +0 -31
  22. package/dist/lib/bean/beanContainer.d.ts +0 -39
  23. package/dist/lib/bean/beanContainer.js +0 -516
  24. package/dist/lib/bean/beanLocal.d.ts +0 -6
  25. package/dist/lib/bean/beanLocal.js +0 -16
  26. package/dist/lib/bean/beanModuleScopeBase.d.ts +0 -10
  27. package/dist/lib/bean/beanModuleScopeBase.js +0 -28
  28. package/dist/lib/bean/beanScopeBase.d.ts +0 -6
  29. package/dist/lib/bean/beanScopeBase.js +0 -19
  30. package/dist/lib/bean/beanScopeScene.d.ts +0 -12
  31. package/dist/lib/bean/beanScopeScene.js +0 -23
  32. package/dist/lib/bean/beanSimple.d.ts +0 -7
  33. package/dist/lib/bean/beanSimple.js +0 -24
  34. package/dist/lib/bean/index.d.ts +0 -8
  35. package/dist/lib/bean/index.js +0 -24
  36. package/dist/lib/bean/resource/config/broadcast.d.ts +0 -7
  37. package/dist/lib/bean/resource/config/broadcast.js +0 -3
  38. package/dist/lib/bean/resource/config/index.d.ts +0 -2
  39. package/dist/lib/bean/resource/config/index.js +0 -18
  40. package/dist/lib/bean/resource/config/middleware.d.ts +0 -9
  41. package/dist/lib/bean/resource/config/middleware.js +0 -3
  42. package/dist/lib/bean/resource/config/startup.d.ts +0 -9
  43. package/dist/lib/bean/resource/config/startup.js +0 -3
  44. package/dist/lib/bean/resource/config/type.d.ts +0 -43
  45. package/dist/lib/bean/resource/config/type.js +0 -3
  46. package/dist/lib/bean/resource/constant/index.d.ts +0 -2
  47. package/dist/lib/bean/resource/constant/index.js +0 -18
  48. package/dist/lib/bean/resource/constant/type.d.ts +0 -2
  49. package/dist/lib/bean/resource/constant/type.js +0 -3
  50. package/dist/lib/bean/resource/entity/entityBase.d.ts +0 -18
  51. package/dist/lib/bean/resource/entity/entityBase.js +0 -20
  52. package/dist/lib/bean/resource/entity/index.d.ts +0 -2
  53. package/dist/lib/bean/resource/entity/index.js +0 -18
  54. package/dist/lib/bean/resource/entity/type.d.ts +0 -4
  55. package/dist/lib/bean/resource/entity/type.js +0 -3
  56. package/dist/lib/bean/resource/error/beanScopeError.d.ts +0 -11
  57. package/dist/lib/bean/resource/error/beanScopeError.js +0 -34
  58. package/dist/lib/bean/resource/error/beanScopeErrorImpl.d.ts +0 -14
  59. package/dist/lib/bean/resource/error/beanScopeErrorImpl.js +0 -35
  60. package/dist/lib/bean/resource/error/errorClass.d.ts +0 -18
  61. package/dist/lib/bean/resource/error/errorClass.js +0 -78
  62. package/dist/lib/bean/resource/error/errorContext.d.ts +0 -38
  63. package/dist/lib/bean/resource/error/errorContext.js +0 -3
  64. package/dist/lib/bean/resource/error/errorGlobal.d.ts +0 -8
  65. package/dist/lib/bean/resource/error/errorGlobal.js +0 -3
  66. package/dist/lib/bean/resource/error/errorInternal.d.ts +0 -67
  67. package/dist/lib/bean/resource/error/errorInternal.js +0 -70
  68. package/dist/lib/bean/resource/error/errorObject.d.ts +0 -5
  69. package/dist/lib/bean/resource/error/errorObject.js +0 -3
  70. package/dist/lib/bean/resource/error/index.d.ts +0 -9
  71. package/dist/lib/bean/resource/error/index.js +0 -25
  72. package/dist/lib/bean/resource/error/type.d.ts +0 -9
  73. package/dist/lib/bean/resource/error/type.js +0 -3
  74. package/dist/lib/bean/resource/index.d.ts +0 -8
  75. package/dist/lib/bean/resource/index.js +0 -24
  76. package/dist/lib/bean/resource/locale/beanScopeLocale.d.ts +0 -11
  77. package/dist/lib/bean/resource/locale/beanScopeLocale.js +0 -33
  78. package/dist/lib/bean/resource/locale/beanScopeLocaleImpl.d.ts +0 -3
  79. package/dist/lib/bean/resource/locale/beanScopeLocaleImpl.js +0 -14
  80. package/dist/lib/bean/resource/locale/index.d.ts +0 -4
  81. package/dist/lib/bean/resource/locale/index.js +0 -20
  82. package/dist/lib/bean/resource/locale/localeCtx.d.ts +0 -8
  83. package/dist/lib/bean/resource/locale/localeCtx.js +0 -63
  84. package/dist/lib/bean/resource/locale/type.d.ts +0 -19
  85. package/dist/lib/bean/resource/locale/type.js +0 -3
  86. package/dist/lib/bean/resource/model/beanModelBase.d.ts +0 -24
  87. package/dist/lib/bean/resource/model/beanModelBase.js +0 -165
  88. package/dist/lib/bean/resource/model/beanModelBaseInner.d.ts +0 -29
  89. package/dist/lib/bean/resource/model/beanModelBaseInner.js +0 -86
  90. package/dist/lib/bean/resource/model/index.d.ts +0 -2
  91. package/dist/lib/bean/resource/model/index.js +0 -18
  92. package/dist/lib/bean/resource/model/type.d.ts +0 -14
  93. package/dist/lib/bean/resource/model/type.js +0 -3
  94. package/dist/lib/bean/resource/route/index.d.ts +0 -2
  95. package/dist/lib/bean/resource/route/index.js +0 -18
  96. package/dist/lib/bean/resource/route/type.d.ts +0 -60
  97. package/dist/lib/bean/resource/route/type.js +0 -3
  98. package/dist/lib/bean/scope/beanScopeBase.d.ts +0 -19
  99. package/dist/lib/bean/scope/beanScopeBase.js +0 -104
  100. package/dist/lib/bean/scope/beanScopeBean.d.ts +0 -10
  101. package/dist/lib/bean/scope/beanScopeBean.js +0 -34
  102. package/dist/lib/bean/scope/beanScopeError.d.ts +0 -11
  103. package/dist/lib/bean/scope/beanScopeError.js +0 -21
  104. package/dist/lib/bean/scope/beanScopeErrorImpl.d.ts +0 -14
  105. package/dist/lib/bean/scope/beanScopeErrorImpl.js +0 -21
  106. package/dist/lib/bean/scope/beanScopeScene.d.ts +0 -12
  107. package/dist/lib/bean/scope/beanScopeScene.js +0 -42
  108. package/dist/lib/bean/scope/index.d.ts +0 -5
  109. package/dist/lib/bean/scope/index.js +0 -21
  110. package/dist/lib/bean/scope/type.d.ts +0 -21
  111. package/dist/lib/bean/scope/type.js +0 -3
  112. package/dist/lib/bean/type.d.ts +0 -17
  113. package/dist/lib/bean/type.js +0 -4
  114. package/dist/lib/core/index.d.ts +0 -5
  115. package/dist/lib/core/index.js +0 -21
  116. package/dist/lib/core/meta.d.ts +0 -68
  117. package/dist/lib/core/meta.js +0 -345
  118. package/dist/lib/core/metaCtx.d.ts +0 -16
  119. package/dist/lib/core/metaCtx.js +0 -71
  120. package/dist/lib/core/metadata.d.ts +0 -12
  121. package/dist/lib/core/metadata.js +0 -52
  122. package/dist/lib/core/resource.d.ts +0 -29
  123. package/dist/lib/core/resource.js +0 -173
  124. package/dist/lib/decorator/class/aop.d.ts +0 -3
  125. package/dist/lib/decorator/class/aop.js +0 -22
  126. package/dist/lib/decorator/class/atom.d.ts +0 -2
  127. package/dist/lib/decorator/class/atom.js +0 -20
  128. package/dist/lib/decorator/class/bean.d.ts +0 -3
  129. package/dist/lib/decorator/class/bean.js +0 -23
  130. package/dist/lib/decorator/class/controller.d.ts +0 -2
  131. package/dist/lib/decorator/class/controller.js +0 -20
  132. package/dist/lib/decorator/class/entity.d.ts +0 -4
  133. package/dist/lib/decorator/class/entity.js +0 -33
  134. package/dist/lib/decorator/class/index.d.ts +0 -11
  135. package/dist/lib/decorator/class/index.js +0 -27
  136. package/dist/lib/decorator/class/local.d.ts +0 -3
  137. package/dist/lib/decorator/class/local.js +0 -23
  138. package/dist/lib/decorator/class/model.d.ts +0 -3
  139. package/dist/lib/decorator/class/model.js +0 -21
  140. package/dist/lib/decorator/class/scope.d.ts +0 -2
  141. package/dist/lib/decorator/class/scope.js +0 -20
  142. package/dist/lib/decorator/class/service.d.ts +0 -2
  143. package/dist/lib/decorator/class/service.js +0 -20
  144. package/dist/lib/decorator/class/use.d.ts +0 -5
  145. package/dist/lib/decorator/class/use.js +0 -43
  146. package/dist/lib/decorator/class/util.d.ts +0 -3
  147. package/dist/lib/decorator/class/util.js +0 -10
  148. package/dist/lib/decorator/class/virtual.d.ts +0 -3
  149. package/dist/lib/decorator/class/virtual.js +0 -24
  150. package/dist/lib/decorator/index.d.ts +0 -7
  151. package/dist/lib/decorator/index.js +0 -23
  152. package/dist/lib/decorator/interface/beanOptions.d.ts +0 -44
  153. package/dist/lib/decorator/interface/beanOptions.js +0 -8
  154. package/dist/lib/decorator/interface/useOptions.d.ts +0 -14
  155. package/dist/lib/decorator/interface/useOptions.js +0 -3
  156. package/dist/lib/decorator/type/constructable.d.ts +0 -2
  157. package/dist/lib/decorator/type/constructable.js +0 -3
  158. package/dist/lib/decorator/type/containerScope.d.ts +0 -2
  159. package/dist/lib/decorator/type/containerScope.js +0 -3
  160. package/dist/lib/decorator/type/injectionScope.d.ts +0 -2
  161. package/dist/lib/decorator/type/injectionScope.js +0 -3
  162. package/dist/lib/error/error.d.ts +0 -18
  163. package/dist/lib/error/error.js +0 -71
  164. package/dist/lib/error/errorClass.d.ts +0 -18
  165. package/dist/lib/error/errorClass.js +0 -72
  166. package/dist/lib/error/errorContext.d.ts +0 -38
  167. package/dist/lib/error/errorContext.js +0 -3
  168. package/dist/lib/error/errorGlobal.d.ts +0 -8
  169. package/dist/lib/error/errorGlobal.js +0 -3
  170. package/dist/lib/error/errorInternal.d.ts +0 -67
  171. package/dist/lib/error/errorInternal.js +0 -70
  172. package/dist/lib/error/errorObject.d.ts +0 -5
  173. package/dist/lib/error/errorObject.js +0 -3
  174. package/dist/lib/error/index.d.ts +0 -5
  175. package/dist/lib/error/index.js +0 -21
  176. package/dist/lib/framework/bootstrap.d.ts +0 -9
  177. package/dist/lib/framework/bootstrap.js +0 -35
  178. package/dist/lib/framework/framework.d.ts +0 -11
  179. package/dist/lib/framework/framework.js +0 -28
  180. package/dist/lib/framework/loader.d.ts +0 -24
  181. package/dist/lib/framework/loader.js +0 -69
  182. package/dist/lib/framework/meta.d.ts +0 -2
  183. package/dist/lib/framework/meta.js +0 -23
  184. package/dist/lib/framework/metaClass.d.ts +0 -2
  185. package/dist/lib/framework/metaClass.js +0 -26
  186. package/dist/lib/framework/moduleInfo.d.ts +0 -3
  187. package/dist/lib/framework/moduleInfo.js +0 -67
  188. package/dist/lib/framework/util.d.ts +0 -4
  189. package/dist/lib/framework/util.js +0 -15
  190. package/dist/lib/module/asset/errors.d.ts +0 -68
  191. package/dist/lib/module/asset/errors.js +0 -69
  192. package/dist/lib/module/bean/index.d.ts +0 -4
  193. package/dist/lib/module/bean/index.js +0 -24
  194. package/dist/lib/module/broadcast/broadcast.d.ts +0 -3
  195. package/dist/lib/module/broadcast/broadcast.js +0 -49
  196. package/dist/lib/module/broadcast/broadcastClient.d.ts +0 -24
  197. package/dist/lib/module/broadcast/broadcastClient.js +0 -91
  198. package/dist/lib/module/cluster/agent.d.ts +0 -3
  199. package/dist/lib/module/cluster/agent.js +0 -22
  200. package/dist/lib/module/cluster/app.d.ts +0 -3
  201. package/dist/lib/module/cluster/app.js +0 -26
  202. package/dist/lib/module/config.d.ts +0 -3
  203. package/dist/lib/module/config.js +0 -67
  204. package/dist/lib/module/constant.d.ts +0 -3
  205. package/dist/lib/module/constant.js +0 -46
  206. package/dist/lib/module/contextPatch.d.ts +0 -3
  207. package/dist/lib/module/contextPatch.js +0 -16
  208. package/dist/lib/module/errors.d.ts +0 -3
  209. package/dist/lib/module/errors.js +0 -49
  210. package/dist/lib/module/index.d.ts +0 -2
  211. package/dist/lib/module/index.js +0 -3
  212. package/dist/lib/module/loader.d.ts +0 -5
  213. package/dist/lib/module/loader.js +0 -73
  214. package/dist/lib/module/locales.d.ts +0 -3
  215. package/dist/lib/module/locales.js +0 -132
  216. package/dist/lib/module/messenger.d.ts +0 -25
  217. package/dist/lib/module/messenger.js +0 -128
  218. package/dist/lib/module/middleware.d.ts +0 -3
  219. package/dist/lib/module/middleware.js +0 -113
  220. package/dist/lib/module/model.d.ts +0 -3
  221. package/dist/lib/module/model.js +0 -47
  222. package/dist/lib/module/module.d.ts +0 -12
  223. package/dist/lib/module/module.js +0 -135
  224. package/dist/lib/module/moduleMeta.d.ts +0 -3
  225. package/dist/lib/module/moduleMeta.js +0 -23
  226. package/dist/lib/module/queue/queue.d.ts +0 -3
  227. package/dist/lib/module/queue/queue.js +0 -59
  228. package/dist/lib/module/queue/queueClient.d.ts +0 -26
  229. package/dist/lib/module/queue/queueClient.js +0 -262
  230. package/dist/lib/module/redis.d.ts +0 -11
  231. package/dist/lib/module/redis.js +0 -46
  232. package/dist/lib/module/reload/development.d.ts +0 -3
  233. package/dist/lib/module/reload/development.js +0 -98
  234. package/dist/lib/module/reload/reload.d.ts +0 -16
  235. package/dist/lib/module/reload/reload.js +0 -113
  236. package/dist/lib/module/reload.d.ts +0 -7
  237. package/dist/lib/module/reload.js +0 -17
  238. package/dist/lib/module/route.d.ts +0 -10
  239. package/dist/lib/module/route.js +0 -239
  240. package/dist/lib/module/schedule.d.ts +0 -3
  241. package/dist/lib/module/schedule.js +0 -129
  242. package/dist/lib/module/service.d.ts +0 -3
  243. package/dist/lib/module/service.js +0 -35
  244. package/dist/lib/module/socketio.d.ts +0 -5
  245. package/dist/lib/module/socketio.js +0 -47
  246. package/dist/lib/module/startup.d.ts +0 -2
  247. package/dist/lib/module/startup.js +0 -134
  248. package/dist/lib/module/version/clear.d.ts +0 -2
  249. package/dist/lib/module/version/clear.js +0 -42
  250. package/dist/lib/module/version/ready.d.ts +0 -6
  251. package/dist/lib/module/version/ready.js +0 -106
  252. package/dist/lib/resource/error/errorClass.d.ts +0 -18
  253. package/dist/lib/resource/error/errorClass.js +0 -72
  254. package/dist/lib/resource/error/errorContext.d.ts +0 -38
  255. package/dist/lib/resource/error/errorContext.js +0 -3
  256. package/dist/lib/resource/error/errorGlobal.d.ts +0 -8
  257. package/dist/lib/resource/error/errorGlobal.js +0 -3
  258. package/dist/lib/resource/error/errorInternal.d.ts +0 -67
  259. package/dist/lib/resource/error/errorInternal.js +0 -70
  260. package/dist/lib/resource/error/errorObject.d.ts +0 -5
  261. package/dist/lib/resource/error/errorObject.js +0 -3
  262. package/dist/lib/resource/error/index.d.ts +0 -5
  263. package/dist/lib/resource/error/index.js +0 -21
  264. package/dist/lib/utils/index.d.ts +0 -2
  265. package/dist/lib/utils/index.js +0 -18
  266. package/dist/lib/utils/isClass.d.ts +0 -2
  267. package/dist/lib/utils/isClass.js +0 -20
  268. package/dist/lib/utils/mockUtil.d.ts +0 -11
  269. package/dist/lib/utils/mockUtil.js +0 -34
  270. package/dist/lib/utils/mockUtilCtx.d.ts +0 -10
  271. package/dist/lib/utils/mockUtilCtx.js +0 -35
  272. package/dist/lib/utils/performAction.d.ts +0 -19
  273. package/dist/lib/utils/performAction.js +0 -137
  274. package/dist/lib/utils/util.d.ts +0 -63
  275. package/dist/lib/utils/util.js +0 -445
  276. package/dist/lib/utils/utilCtx.d.ts +0 -34
  277. package/dist/lib/utils/utilCtx.js +0 -137
  278. package/dist/types/application/app.d.ts +0 -21
  279. package/dist/types/application/app.js +0 -28
  280. package/dist/types/application/index.d.ts +0 -2
  281. package/dist/types/application/index.js +0 -18
  282. package/dist/types/config/appInfo.d.ts +0 -4
  283. package/dist/types/config/appInfo.js +0 -3
  284. package/dist/types/config/config.d.ts +0 -10
  285. package/dist/types/config/config.js +0 -3
  286. package/dist/types/config/development.d.ts +0 -4
  287. package/dist/types/config/development.js +0 -3
  288. package/dist/types/config/index.d.ts +0 -4
  289. package/dist/types/config/index.js +0 -20
  290. package/dist/types/config/locale.d.ts +0 -10
  291. package/dist/types/config/locale.js +0 -7
  292. package/dist/types/context/contextBase.d.ts +0 -21
  293. package/dist/types/context/contextBase.js +0 -3
  294. package/dist/types/context/contextConfig.d.ts +0 -4
  295. package/dist/types/context/contextConfig.js +0 -3
  296. package/dist/types/context/contextError.d.ts +0 -25
  297. package/dist/types/context/contextError.js +0 -3
  298. package/dist/types/context/contextLocale.d.ts +0 -9
  299. package/dist/types/context/contextLocale.js +0 -3
  300. package/dist/types/context/contextOthers.d.ts +0 -4
  301. package/dist/types/context/contextOthers.js +0 -3
  302. package/dist/types/context/contextState.d.ts +0 -8
  303. package/dist/types/context/contextState.js +0 -3
  304. package/dist/types/context/index.d.ts +0 -18
  305. package/dist/types/context/index.js +0 -18
  306. package/dist/types/enum/appEvent.d.ts +0 -5
  307. package/dist/types/enum/appEvent.js +0 -9
  308. package/dist/types/enum/index.d.ts +0 -2
  309. package/dist/types/enum/index.js +0 -18
  310. package/dist/types/index.d.ts +0 -7
  311. package/dist/types/index.js +0 -23
  312. package/dist/types/interface/broadcast.d.ts +0 -5
  313. package/dist/types/interface/broadcast.js +0 -3
  314. package/dist/types/interface/error.d.ts +0 -8
  315. package/dist/types/interface/error.js +0 -3
  316. package/dist/types/interface/index.d.ts +0 -6
  317. package/dist/types/interface/index.js +0 -22
  318. package/dist/types/interface/module.d.ts +0 -32
  319. package/dist/types/interface/module.js +0 -18
  320. package/dist/types/interface/monkey.d.ts +0 -22
  321. package/dist/types/interface/monkey.js +0 -3
  322. package/dist/types/interface/queue.d.ts +0 -29
  323. package/dist/types/interface/queue.js +0 -3
  324. package/dist/types/interface/schedule.d.ts +0 -11
  325. package/dist/types/interface/schedule.js +0 -3
  326. package/dist/types/utils/cast.d.ts +0 -6
  327. package/dist/types/utils/cast.js +0 -8
  328. package/dist/types/utils/index.d.ts +0 -4
  329. package/dist/types/utils/index.js +0 -20
  330. package/dist/types/utils/powerPartial.d.ts +0 -4
  331. package/dist/types/utils/powerPartial.js +0 -3
  332. package/dist/types/utils/type.d.ts +0 -4
  333. package/dist/types/utils/type.js +0 -3
@@ -1,516 +0,0 @@
1
- "use strict";
2
- var _a;
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.BeanContainer = void 0;
5
- const resource_js_1 = require("../core/resource.js");
6
- const beanBase_js_1 = require("./beanBase.js");
7
- const beanSimple_js_1 = require("./beanSimple.js");
8
- const isClass_js_1 = require("../utils/isClass.js");
9
- const ProxyMagic = Symbol.for('Bean#ProxyMagic');
10
- const BeanContainerInstances = Symbol.for('Bean#Instances');
11
- class BeanContainer {
12
- static create(app, ctx) {
13
- const beanContainer = new BeanContainer(app, ctx);
14
- return new Proxy(beanContainer, {
15
- get(obj, prop) {
16
- if (typeof prop === 'symbol')
17
- return obj[prop];
18
- if (obj[prop])
19
- return obj[prop];
20
- return obj._getBean(prop);
21
- },
22
- });
23
- }
24
- constructor(app, ctx) {
25
- Object.defineProperty(this, "app", {
26
- enumerable: true,
27
- configurable: true,
28
- writable: true,
29
- value: void 0
30
- });
31
- Object.defineProperty(this, "ctx", {
32
- enumerable: true,
33
- configurable: true,
34
- writable: true,
35
- value: void 0
36
- });
37
- Object.defineProperty(this, _a, {
38
- enumerable: true,
39
- configurable: true,
40
- writable: true,
41
- value: {}
42
- });
43
- Object.defineProperty(this, "__composeForPropAdapter", {
44
- enumerable: true,
45
- configurable: true,
46
- writable: true,
47
- value: (_context, chain) => {
48
- const [aopKey, methodName] = chain;
49
- // ProxyMagic
50
- if (aopKey === ProxyMagic)
51
- return null;
52
- // chain
53
- const aop = this._getBean(aopKey);
54
- if (!aop)
55
- throw new Error(`aop not found: ${chain}`);
56
- if (!aop[methodName])
57
- return null;
58
- return {
59
- receiver: aop,
60
- fn: aop[methodName],
61
- };
62
- }
63
- });
64
- this.app = app;
65
- this.ctx = ctx;
66
- }
67
- scope(moduleScope) {
68
- return this._getBean(`${moduleScope}.scope.module`);
69
- }
70
- // _getBean<T>(beanFullName: string): T;
71
- _getBean(beanFullName) {
72
- return this._getBeanSelector(beanFullName);
73
- }
74
- // _getBeanSelector<T>(beanFullName: string, selector?: string): T;
75
- _getBeanSelector(beanFullName, selector) {
76
- // bean options
77
- const beanOptions = resource_js_1.appResource.getBean(beanFullName);
78
- if (!beanOptions) {
79
- // not found
80
- return null;
81
- }
82
- const fullName = beanOptions.beanFullName;
83
- // same as _getBean if selector is undefined/null/'', as as to get the same bean instance
84
- // not use !selector which maybe is 0
85
- const isSelectorValid = !this.app.meta.util.isNullOrEmptyString(selector);
86
- const key = !isSelectorValid ? fullName : `${fullName}#${selector}`;
87
- if (this[BeanContainerInstances][key] === undefined) {
88
- let beanInstance;
89
- if (isSelectorValid) {
90
- beanInstance = this._newBean(fullName, selector);
91
- }
92
- else {
93
- beanInstance = this._newBean(fullName);
94
- }
95
- this[BeanContainerInstances][key] = beanInstance;
96
- }
97
- return this[BeanContainerInstances][key];
98
- }
99
- // _newBean<T>(beanFullName: string, ...args): T;
100
- _newBean(beanFullName, ...args) {
101
- // bean options
102
- const beanOptions = resource_js_1.appResource.getBean(beanFullName);
103
- if (!beanOptions) {
104
- // class
105
- if (typeof beanFullName === 'function' && (0, isClass_js_1.isClass)(beanFullName)) {
106
- const beanInstance = this._createBeanInstance(beanFullName, beanFullName, args);
107
- return this._patchBeanInstance(beanFullName, beanInstance, false);
108
- }
109
- // throw new Error(`bean not found: ${beanFullName}`);
110
- return null;
111
- }
112
- // instance
113
- const beanInstance = this._createBeanInstance(beanOptions.beanFullName, beanOptions.beanClass, args);
114
- // patch
115
- return this._patchBeanInstance(beanOptions.beanFullName, beanInstance, beanOptions.aop);
116
- }
117
- // _newBeanSelector<T>(beanFullName: string, selector?: string, ...args): T;
118
- _newBeanSelector(beanFullName, selector, ...args) {
119
- return this._newBean(beanFullName, selector, ...args);
120
- }
121
- _createBeanInstance(beanFullName, beanClass, args) {
122
- // create
123
- let beanInstance;
124
- if (beanClass.prototype.__init__) {
125
- beanInstance = new beanClass();
126
- }
127
- else {
128
- beanInstance = new beanClass(...args);
129
- }
130
- // app/ctx
131
- if (beanInstance instanceof beanSimple_js_1.BeanSimple) {
132
- // app
133
- beanInstance.app = this.app;
134
- // ctx: always set even if is null, so as to prevent magic method __get__ take effect.
135
- beanInstance.ctx = this.ctx;
136
- }
137
- // beanFullName
138
- if (typeof beanFullName === 'string') {
139
- __setPropertyValue(beanInstance, '__beanFullName__', beanFullName);
140
- }
141
- /// / scope
142
- // this._injectBeanInstanceScope(beanInstance, beanFullName);
143
- // inject
144
- this._injectBeanInstance(beanInstance, beanFullName);
145
- // init
146
- if (beanInstance.__init__) {
147
- beanInstance.__init__(...args);
148
- }
149
- // ok
150
- return beanInstance;
151
- }
152
- _injectBeanInstance(beanInstance, beanFullName) {
153
- const beanOptions = resource_js_1.appResource.getBean(beanFullName);
154
- if (!beanOptions)
155
- return;
156
- const uses = resource_js_1.appResource.getUses(beanOptions.beanClass.prototype);
157
- if (!uses)
158
- return;
159
- for (const key in uses) {
160
- const useOptions = uses[key];
161
- const selector = useOptions.selector;
162
- const injectionScope = useOptions.injectionScope;
163
- this._injectBeanInstancePropLazy(beanInstance, useOptions.prop, useOptions.beanFullName, selector, injectionScope);
164
- }
165
- }
166
- _injectBeanInstancePropLazy(instance, prop, targetBeanFullName, selector, injectionScope) {
167
- const self = this;
168
- Object.defineProperty(instance, prop, {
169
- enumerable: true,
170
- configurable: true,
171
- get() {
172
- const symbol = Symbol.for(`__bean_use__#${prop}`);
173
- if (!instance[symbol]) {
174
- instance[symbol] = self._injectBeanInstanceProp(targetBeanFullName, selector, injectionScope);
175
- }
176
- return instance[symbol];
177
- },
178
- });
179
- }
180
- _injectBeanInstanceProp(targetBeanFullName, selector, injectionScope) {
181
- // injectionScope
182
- if (!injectionScope) {
183
- const targetOptions = resource_js_1.appResource.getBean(targetBeanFullName);
184
- if (!targetOptions) {
185
- throw new Error(`not found bean class: ${targetBeanFullName}`);
186
- }
187
- injectionScope = targetOptions.containerScope || 'ctx';
188
- }
189
- // targetInstance
190
- let targetInstance;
191
- // selector maybe empty string
192
- if (injectionScope === 'app') {
193
- targetInstance = this.app.bean._getBeanSelector(targetBeanFullName, selector);
194
- }
195
- else if (injectionScope === 'ctx') {
196
- targetInstance = this._getBeanSelector(targetBeanFullName, selector);
197
- }
198
- else if (injectionScope === 'new') {
199
- targetInstance = this._newBean(targetBeanFullName, selector);
200
- }
201
- return targetInstance;
202
- }
203
- // private _injectBeanInstanceScope(beanInstance, beanFullName) {
204
- // if (typeof beanFullName !== 'string' || beanFullName.indexOf('.scope.module') > -1) return;
205
- // Object.defineProperty(beanInstance, 'scope', {
206
- // enumerable: false,
207
- // configurable: true,
208
- // get() {
209
- // if (!this[BeanInstanceScope]) {
210
- // this[BeanInstanceScope] = this.bean._getBean(`${this.moduleBelong}.scope.module`);
211
- // }
212
- // return this[BeanInstanceScope];
213
- // },
214
- // });
215
- // }
216
- _patchBeanInstance(beanFullNameOrBeanClass, beanInstance, aop) {
217
- if (!beanFullNameOrBeanClass)
218
- return beanInstance;
219
- // not aop on aop
220
- if (aop)
221
- return beanInstance;
222
- // aop chains
223
- const _aopChains = this._prepareAopChains(beanFullNameOrBeanClass, beanInstance);
224
- // no aop
225
- if (_aopChains.length === 0)
226
- return beanInstance;
227
- // aop
228
- return this._newBeanProxy(beanFullNameOrBeanClass, beanInstance);
229
- }
230
- _newBeanProxy(beanFullName, beanInstance) {
231
- const self = this;
232
- return new Proxy(beanInstance, {
233
- get(target, prop, receiver) {
234
- if (typeof prop === 'symbol') {
235
- return target[prop];
236
- }
237
- if (__isInnerMethod(prop)) {
238
- return target[prop];
239
- }
240
- // descriptorInfo
241
- const descriptorInfo = __getPropertyDescriptor(target, prop);
242
- if (!__checkAopOfDescriptorInfo(descriptorInfo))
243
- return target[prop];
244
- const methodType = __methodTypeOfDescriptor(descriptorInfo);
245
- // get prop
246
- if (!methodType) {
247
- const methodName = `__get_${prop}__`;
248
- const methodNameMagic = '__magic_get__';
249
- const _aopChainsProp = self._getAopChainsProp(beanFullName, methodName, methodNameMagic);
250
- if (_aopChainsProp.length === 0)
251
- return target[prop];
252
- // context
253
- const context = {
254
- target,
255
- receiver,
256
- prop,
257
- value: undefined,
258
- };
259
- // aop
260
- self.__composeForProp(_aopChainsProp)(context, (context, next) => {
261
- if (context.value === undefined) {
262
- if (!descriptorInfo && target.__get__) {
263
- context.value = target.__get__(prop);
264
- }
265
- else {
266
- context.value = target[prop];
267
- }
268
- }
269
- next();
270
- });
271
- // ok
272
- return context.value;
273
- }
274
- // method
275
- return self._getInstanceMethodProxy(beanFullName, target, prop, methodType);
276
- },
277
- set(target, prop, value, receiver) {
278
- if (typeof prop === 'symbol') {
279
- target[prop] = value;
280
- return true;
281
- }
282
- if (__isInnerMethod(prop)) {
283
- target[prop] = value;
284
- return true;
285
- }
286
- // descriptorInfo
287
- const descriptorInfo = __getPropertyDescriptor(target, prop);
288
- if (!__checkAopOfDescriptorInfo(descriptorInfo)) {
289
- target[prop] = value;
290
- return true;
291
- }
292
- const methodName = `__set_${prop}__`;
293
- const methodNameMagic = '__magic_set__';
294
- const _aopChainsProp = self._getAopChainsProp(beanFullName, methodName, methodNameMagic);
295
- if (_aopChainsProp.length === 0) {
296
- target[prop] = value;
297
- return true;
298
- }
299
- // context
300
- const context = {
301
- target,
302
- receiver,
303
- prop,
304
- value,
305
- };
306
- // aop
307
- self.__composeForProp(_aopChainsProp)(context, (context, next) => {
308
- if (!descriptorInfo && target.__set__) {
309
- const res = target.__set__(prop, context.value);
310
- if (res === undefined)
311
- throw new Error('__set__ must return true/false');
312
- if (!res) {
313
- target[prop] = context.value;
314
- }
315
- }
316
- else {
317
- target[prop] = context.value;
318
- }
319
- next();
320
- });
321
- // ok
322
- return true;
323
- },
324
- });
325
- }
326
- _getInstanceMethodProxy(beanFullName, beanInstance, prop, methodType) {
327
- const self = this;
328
- // not aop magic methods
329
- if (__isInnerMethod(prop)) {
330
- return beanInstance[prop];
331
- }
332
- // aop chains
333
- const _aopChainsProp = this._getAopChainsProp(beanFullName, prop, null);
334
- if (_aopChainsProp.length === 0)
335
- return beanInstance[prop];
336
- // proxy
337
- const methodProxyKey = `__aopproxy_method_${prop}__`;
338
- if (beanInstance[methodProxyKey])
339
- return beanInstance[methodProxyKey];
340
- const methodProxy = new Proxy(beanInstance[prop], {
341
- apply(target, thisArg, args) {
342
- // context
343
- const context = {
344
- target: beanInstance,
345
- receiver: thisArg,
346
- prop,
347
- arguments: args,
348
- result: undefined,
349
- };
350
- // aop
351
- if (methodType === 'Function') {
352
- self.__composeForProp(_aopChainsProp)(context, (context, next) => {
353
- if (context.result === undefined) {
354
- context.result = target.apply(thisArg, args);
355
- }
356
- next();
357
- });
358
- // ok
359
- return context.result;
360
- }
361
- if (methodType === 'AsyncFunction') {
362
- return new Promise((resolve, reject) => {
363
- self
364
- .__composeForPropAsync(_aopChainsProp)(context, async (context, next) => {
365
- if (context.result === undefined) {
366
- context.result = await target.apply(thisArg, args);
367
- }
368
- await next();
369
- })
370
- .then(() => {
371
- resolve(context.result);
372
- })
373
- .catch(err => {
374
- reject(err);
375
- });
376
- });
377
- }
378
- },
379
- });
380
- __setPropertyValue(beanInstance, methodProxyKey, methodProxy);
381
- return methodProxy;
382
- }
383
- _prepareAopChains(beanFullNameOrBeanClass, beanInstance) {
384
- if (!beanFullNameOrBeanClass)
385
- return [];
386
- // beanFullName maybe class
387
- const beanOptions = resource_js_1.appResource.getBean(beanFullNameOrBeanClass);
388
- const host = beanOptions || beanFullNameOrBeanClass;
389
- if (host.__aopChains__)
390
- return host.__aopChains__;
391
- // chains
392
- let chains = [];
393
- if (beanOptions && !beanOptions.aop) {
394
- const aops = resource_js_1.appResource.findAopsMatched(beanOptions.beanFullName);
395
- if (aops) {
396
- chains = chains.concat(aops);
397
- }
398
- }
399
- // magic self
400
- if (__hasMagicMothod(beanInstance)) {
401
- chains.push(ProxyMagic);
402
- }
403
- // hold
404
- host.__aopChains__ = chains;
405
- return chains;
406
- }
407
- _getAopChains(beanFullName) {
408
- // beanFullName maybe class
409
- const beanOptions = resource_js_1.appResource.getBean(beanFullName);
410
- const host = beanOptions || beanFullName;
411
- return host.__aopChains__;
412
- }
413
- _getAopChainsProp(beanFullName, methodName, methodNameMagic) {
414
- const chainsKey = `__aopChains_${methodName}__`;
415
- const beanOptions = resource_js_1.appResource.getBean(beanFullName);
416
- const host = beanOptions || beanFullName;
417
- if (!host.__aopChainsKey__)
418
- host.__aopChainsKey__ = {};
419
- if (host.__aopChainsKey__[chainsKey])
420
- return host.__aopChainsKey__[chainsKey];
421
- const _aopChains = this._getAopChains(beanFullName);
422
- const chains = [];
423
- for (const aopKey of _aopChains) {
424
- if (aopKey === ProxyMagic) {
425
- chains.push([aopKey, methodName]);
426
- }
427
- else {
428
- const aop = this._getBean(aopKey);
429
- if (aop[methodName]) {
430
- chains.push([aopKey, methodName]);
431
- }
432
- else if (methodNameMagic && aop[methodNameMagic]) {
433
- chains.push([aopKey, methodNameMagic]);
434
- }
435
- }
436
- }
437
- host.__aopChainsKey__[chainsKey] = chains;
438
- return chains;
439
- }
440
- __composeForProp(chains) {
441
- return this.app.meta.util.compose(chains, this.__composeForPropAdapter);
442
- }
443
- __composeForPropAsync(chains) {
444
- return this.app.meta.util.composeAsync(chains, this.__composeForPropAdapter);
445
- }
446
- }
447
- exports.BeanContainer = BeanContainer;
448
- _a = BeanContainerInstances;
449
- function __checkAopOfDescriptorInfo(descriptorInfo) {
450
- if (!descriptorInfo)
451
- return true;
452
- return !descriptorInfo.dynamic && !descriptorInfo.ofBeanBase;
453
- }
454
- function __getPropertyDescriptor(obj, prop) {
455
- // dynamic
456
- const descriptor = Object.getOwnPropertyDescriptor(obj, prop);
457
- if (descriptor)
458
- return { descriptor, dynamic: true };
459
- // static
460
- return __getPropertyDescriptorStatic(obj, prop);
461
- }
462
- function __getPropertyDescriptorStatic(obj, prop) {
463
- let proto = Object.getPrototypeOf(obj);
464
- let ofBeanBase = false;
465
- while (proto) {
466
- if (proto.constructor.name === beanBase_js_1.BeanBase.name) {
467
- ofBeanBase = true;
468
- }
469
- const descriptor = Object.getOwnPropertyDescriptor(proto, prop);
470
- if (descriptor)
471
- return { descriptor, dynamic: false, ofBeanBase };
472
- proto = Object.getPrototypeOf(proto);
473
- }
474
- return null;
475
- }
476
- function __setPropertyValue(obj, prop, value) {
477
- Object.defineProperty(obj, prop, {
478
- enumerable: false,
479
- configurable: true,
480
- get() {
481
- return value;
482
- },
483
- });
484
- }
485
- function __hasMagicMothod(instance) {
486
- return !!instance.__get__ || !!instance.__set__;
487
- }
488
- function __isInnerMethod(prop) {
489
- return [
490
- '__magic_get__',
491
- '__magic_set__',
492
- '__get__',
493
- '__set__',
494
- '__init__',
495
- '__dispose__',
496
- 'then',
497
- '__v_isShallow',
498
- '__v_isReadonly',
499
- '__v_raw',
500
- ].includes(prop);
501
- }
502
- function __methodTypeOfDescriptor(descriptorInfo) {
503
- if (!descriptorInfo)
504
- return null;
505
- const { descriptor, dynamic } = descriptorInfo;
506
- if (dynamic)
507
- return null;
508
- if (descriptor.get)
509
- return null;
510
- const methodType = descriptor.value?.constructor?.name;
511
- if (['Function', 'AsyncFunction'].includes(methodType)) {
512
- return methodType;
513
- }
514
- return null;
515
- }
516
- //# sourceMappingURL=beanContainer.js.map
@@ -1,6 +0,0 @@
1
- import { BeanModuleScopeBase } from './beanModuleScopeBase.js';
2
- export declare class BeanLocal extends BeanModuleScopeBase {
3
- protected __get__(prop: any): unknown;
4
- module(moduleScope: string): typeof this;
5
- }
6
- //# sourceMappingURL=beanLocal.d.ts.map
@@ -1,16 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BeanLocal = void 0;
4
- const beanModuleScopeBase_js_1 = require("./beanModuleScopeBase.js");
5
- class BeanLocal extends beanModuleScopeBase_js_1.BeanModuleScopeBase {
6
- // magic
7
- __get__(prop) {
8
- return this.bean._getBean(`${this.moduleScope}.local.${prop}`);
9
- }
10
- // beanLocal has no __beanFullName__
11
- module(moduleScope) {
12
- return this.bean._newBeanScope(BeanLocal, moduleScope);
13
- }
14
- }
15
- exports.BeanLocal = BeanLocal;
16
- //# sourceMappingURL=beanLocal.js.map
@@ -1,10 +0,0 @@
1
- import { BeanBase } from './beanBase.js';
2
- declare const BeanModuleScope: unique symbol;
3
- export declare class BeanModuleScopeBase<T = unknown> extends BeanBase<T> {
4
- private [BeanModuleScope]?;
5
- constructor(moduleScope?: string);
6
- protected get moduleScope(): string;
7
- module(moduleScope: string): typeof this;
8
- }
9
- export {};
10
- //# sourceMappingURL=beanModuleScopeBase.d.ts.map
@@ -1,28 +0,0 @@
1
- "use strict";
2
- var _a;
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.BeanModuleScopeBase = void 0;
5
- const beanBase_js_1 = require("./beanBase.js");
6
- const BeanModuleScope = Symbol('BeanModuleScopeBase#ModuleScope');
7
- class BeanModuleScopeBase extends beanBase_js_1.BeanBase {
8
- constructor(moduleScope) {
9
- super();
10
- Object.defineProperty(this, _a, {
11
- enumerable: true,
12
- configurable: true,
13
- writable: true,
14
- value: void 0
15
- });
16
- this[BeanModuleScope] = moduleScope;
17
- }
18
- get moduleScope() {
19
- return this[BeanModuleScope] || this.ctx.module.info.relativeName;
20
- }
21
- // other module's bean
22
- module(moduleScope) {
23
- return this.bean._getBeanSelector(this.__beanFullName__, moduleScope);
24
- }
25
- }
26
- exports.BeanModuleScopeBase = BeanModuleScopeBase;
27
- _a = BeanModuleScope;
28
- //# sourceMappingURL=beanModuleScopeBase.js.map
@@ -1,6 +0,0 @@
1
- import { BeanBase } from './beanBase.js';
2
- export declare class BeanScopeBase extends BeanBase {
3
- private __scenes;
4
- protected __get__(prop: any): any;
5
- }
6
- //# sourceMappingURL=beanScopeBase.d.ts.map
@@ -1,19 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BeanScopeBase = void 0;
4
- const beanScopeScene_js_1 = require("./beanScopeScene.js");
5
- const beanBase_js_1 = require("./beanBase.js");
6
- class BeanScopeBase extends beanBase_js_1.BeanBase {
7
- constructor() {
8
- super(...arguments);
9
- this.__scenes = {};
10
- }
11
- __get__(prop) {
12
- if (!this.__scenes[prop]) {
13
- this.__scenes[prop] = this.bean._newBean(beanScopeScene_js_1.BeanScopeScene, this.moduleBelong, prop);
14
- }
15
- return this.__scenes[prop];
16
- }
17
- }
18
- exports.BeanScopeBase = BeanScopeBase;
19
- //# sourceMappingURL=beanScopeBase.js.map
@@ -1,12 +0,0 @@
1
- import { BeanSimple } from './beanSimple.js';
2
- declare const BeanModuleScope: unique symbol;
3
- declare const BeanModuleScene: unique symbol;
4
- export declare class BeanScopeScene extends BeanSimple {
5
- private [BeanModuleScope];
6
- private [BeanModuleScene];
7
- private __instances;
8
- constructor(moduleScope: any, scene: any);
9
- protected __get__(prop: any): any;
10
- }
11
- export {};
12
- //# sourceMappingURL=beanScopeScene.d.ts.map
@@ -1,23 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BeanScopeScene = void 0;
4
- const beanSimple_js_1 = require("./beanSimple.js");
5
- const BeanModuleScope = Symbol('BeanScopeScene#ModuleScope');
6
- const BeanModuleScene = Symbol('BeanScopeScene#BeanModuleScene');
7
- class BeanScopeScene extends beanSimple_js_1.BeanSimple {
8
- constructor(moduleScope, scene) {
9
- super();
10
- this.__instances = {};
11
- this[BeanModuleScope] = moduleScope;
12
- this[BeanModuleScene] = scene;
13
- }
14
- __get__(prop) {
15
- if (!this.__instances[prop]) {
16
- const beanFullName = `${this[BeanModuleScope]}.${this[BeanModuleScene]}.${prop}`;
17
- this.__instances[prop] = this.bean._injectBeanInstanceProp(beanFullName);
18
- }
19
- return this.__instances[prop];
20
- }
21
- }
22
- exports.BeanScopeScene = BeanScopeScene;
23
- //# sourceMappingURL=beanScopeScene.js.map
@@ -1,7 +0,0 @@
1
- import type { VonaApplication, VonaContext } from '../../types/index.js';
2
- export declare class BeanSimple {
3
- protected app: VonaApplication;
4
- protected ctx: VonaContext;
5
- protected get bean(): import("./beanContainer.js").BeanContainer;
6
- }
7
- //# sourceMappingURL=beanSimple.d.ts.map
@@ -1,24 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BeanSimple = void 0;
4
- class BeanSimple {
5
- constructor() {
6
- Object.defineProperty(this, "app", {
7
- enumerable: true,
8
- configurable: true,
9
- writable: true,
10
- value: void 0
11
- });
12
- Object.defineProperty(this, "ctx", {
13
- enumerable: true,
14
- configurable: true,
15
- writable: true,
16
- value: void 0
17
- });
18
- }
19
- get bean() {
20
- return this.ctx ? this.ctx.bean : this.app.bean;
21
- }
22
- }
23
- exports.BeanSimple = BeanSimple;
24
- //# sourceMappingURL=beanSimple.js.map
@@ -1,8 +0,0 @@
1
- export * from './resource/index.js';
2
- export * from './scope/index.js';
3
- export * from './beanBase.js';
4
- export * from './beanContainer.js';
5
- export * from './beanModuleScopeBase.js';
6
- export * from './beanSimple.js';
7
- export * from './type.js';
8
- //# sourceMappingURL=index.d.ts.map