zova-core 5.0.64

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 (549) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1 -0
  3. package/dist/bean/beanBase.d.ts +17 -0
  4. package/dist/bean/beanBase.d.ts.map +1 -0
  5. package/dist/bean/beanBase.js +39 -0
  6. package/dist/bean/beanBase.js.map +1 -0
  7. package/dist/bean/beanBaseSimple.d.ts +9 -0
  8. package/dist/bean/beanBaseSimple.d.ts.map +1 -0
  9. package/dist/bean/beanBaseSimple.js +21 -0
  10. package/dist/bean/beanBaseSimple.js.map +1 -0
  11. package/dist/bean/beanContainer.d.ts +63 -0
  12. package/dist/bean/beanContainer.d.ts.map +1 -0
  13. package/dist/bean/beanContainer.js +716 -0
  14. package/dist/bean/beanContainer.js.map +1 -0
  15. package/dist/bean/beanControllerBase.d.ts +16 -0
  16. package/dist/bean/beanControllerBase.d.ts.map +1 -0
  17. package/dist/bean/beanControllerBase.js +26 -0
  18. package/dist/bean/beanControllerBase.js.map +1 -0
  19. package/dist/bean/beanControllerPageBase.d.ts +6 -0
  20. package/dist/bean/beanControllerPageBase.d.ts.map +1 -0
  21. package/dist/bean/beanControllerPageBase.js +10 -0
  22. package/dist/bean/beanControllerPageBase.js.map +1 -0
  23. package/dist/bean/beanMotherBase.d.ts +10 -0
  24. package/dist/bean/beanMotherBase.d.ts.map +1 -0
  25. package/dist/bean/beanMotherBase.js +40 -0
  26. package/dist/bean/beanMotherBase.js.map +1 -0
  27. package/dist/bean/beanMotherPageBase.d.ts +6 -0
  28. package/dist/bean/beanMotherPageBase.d.ts.map +1 -0
  29. package/dist/bean/beanMotherPageBase.js +23 -0
  30. package/dist/bean/beanMotherPageBase.js.map +1 -0
  31. package/dist/bean/beanRenderBase.d.ts +10 -0
  32. package/dist/bean/beanRenderBase.d.ts.map +1 -0
  33. package/dist/bean/beanRenderBase.js +23 -0
  34. package/dist/bean/beanRenderBase.js.map +1 -0
  35. package/dist/bean/beanRenderBase.jsx +43 -0
  36. package/dist/bean/beanRenderBase.jsx.map +1 -0
  37. package/dist/bean/beanSimple.d.ts +8 -0
  38. package/dist/bean/beanSimple.d.ts.map +1 -0
  39. package/dist/bean/beanSimple.js +8 -0
  40. package/dist/bean/beanSimple.js.map +1 -0
  41. package/dist/bean/index.d.ts +10 -0
  42. package/dist/bean/index.d.ts.map +1 -0
  43. package/dist/bean/index.js +10 -0
  44. package/dist/bean/index.js.map +1 -0
  45. package/dist/bean/resource/component/index.d.ts +2 -0
  46. package/dist/bean/resource/component/index.d.ts.map +1 -0
  47. package/dist/bean/resource/component/index.js +2 -0
  48. package/dist/bean/resource/component/index.js.map +1 -0
  49. package/dist/bean/resource/component/type.d.ts +2 -0
  50. package/dist/bean/resource/component/type.d.ts.map +1 -0
  51. package/dist/bean/resource/component/type.js +2 -0
  52. package/dist/bean/resource/component/type.js.map +1 -0
  53. package/dist/bean/resource/config/index.d.ts +2 -0
  54. package/dist/bean/resource/config/index.d.ts.map +1 -0
  55. package/dist/bean/resource/config/index.js +2 -0
  56. package/dist/bean/resource/config/index.js.map +1 -0
  57. package/dist/bean/resource/config/type.d.ts +42 -0
  58. package/dist/bean/resource/config/type.d.ts.map +1 -0
  59. package/dist/bean/resource/config/type.js +2 -0
  60. package/dist/bean/resource/config/type.js.map +1 -0
  61. package/dist/bean/resource/constant/index.d.ts +2 -0
  62. package/dist/bean/resource/constant/index.d.ts.map +1 -0
  63. package/dist/bean/resource/constant/index.js +2 -0
  64. package/dist/bean/resource/constant/index.js.map +1 -0
  65. package/dist/bean/resource/constant/type.d.ts +2 -0
  66. package/dist/bean/resource/constant/type.d.ts.map +1 -0
  67. package/dist/bean/resource/constant/type.js +2 -0
  68. package/dist/bean/resource/constant/type.js.map +1 -0
  69. package/dist/bean/resource/error/beanScopeError.d.ts +11 -0
  70. package/dist/bean/resource/error/beanScopeError.d.ts.map +1 -0
  71. package/dist/bean/resource/error/beanScopeError.js +17 -0
  72. package/dist/bean/resource/error/beanScopeError.js.map +1 -0
  73. package/dist/bean/resource/error/beanScopeErrorImpl.d.ts +14 -0
  74. package/dist/bean/resource/error/beanScopeErrorImpl.d.ts.map +1 -0
  75. package/dist/bean/resource/error/beanScopeErrorImpl.js +34 -0
  76. package/dist/bean/resource/error/beanScopeErrorImpl.js.map +1 -0
  77. package/dist/bean/resource/error/errorClass.d.ts +10 -0
  78. package/dist/bean/resource/error/errorClass.d.ts.map +1 -0
  79. package/dist/bean/resource/error/errorClass.js +53 -0
  80. package/dist/bean/resource/error/errorClass.js.map +1 -0
  81. package/dist/bean/resource/error/errorGlobal.d.ts +8 -0
  82. package/dist/bean/resource/error/errorGlobal.d.ts.map +1 -0
  83. package/dist/bean/resource/error/errorGlobal.js +2 -0
  84. package/dist/bean/resource/error/errorGlobal.js.map +1 -0
  85. package/dist/bean/resource/error/errorInternal.d.ts +67 -0
  86. package/dist/bean/resource/error/errorInternal.d.ts.map +1 -0
  87. package/dist/bean/resource/error/errorInternal.js +67 -0
  88. package/dist/bean/resource/error/errorInternal.js.map +1 -0
  89. package/dist/bean/resource/error/errorObject.d.ts +5 -0
  90. package/dist/bean/resource/error/errorObject.d.ts.map +1 -0
  91. package/dist/bean/resource/error/errorObject.js +2 -0
  92. package/dist/bean/resource/error/errorObject.js.map +1 -0
  93. package/dist/bean/resource/error/index.d.ts +7 -0
  94. package/dist/bean/resource/error/index.d.ts.map +1 -0
  95. package/dist/bean/resource/error/index.js +7 -0
  96. package/dist/bean/resource/error/index.js.map +1 -0
  97. package/dist/bean/resource/error/type.d.ts +9 -0
  98. package/dist/bean/resource/error/type.d.ts.map +1 -0
  99. package/dist/bean/resource/error/type.js +2 -0
  100. package/dist/bean/resource/error/type.js.map +1 -0
  101. package/dist/bean/resource/icon/cabloyIcon.d.ts +16 -0
  102. package/dist/bean/resource/icon/cabloyIcon.d.ts.map +1 -0
  103. package/dist/bean/resource/icon/cabloyIcon.js +45 -0
  104. package/dist/bean/resource/icon/cabloyIcon.js.map +1 -0
  105. package/dist/bean/resource/icon/icon.d.ts +16 -0
  106. package/dist/bean/resource/icon/icon.d.ts.map +1 -0
  107. package/dist/bean/resource/icon/icon.js +156 -0
  108. package/dist/bean/resource/icon/icon.js.map +1 -0
  109. package/dist/bean/resource/icon/iconGroup.d.ts +7 -0
  110. package/dist/bean/resource/icon/iconGroup.d.ts.map +1 -0
  111. package/dist/bean/resource/icon/iconGroup.js +9 -0
  112. package/dist/bean/resource/icon/iconGroup.js.map +1 -0
  113. package/dist/bean/resource/icon/index.d.ts +5 -0
  114. package/dist/bean/resource/icon/index.d.ts.map +1 -0
  115. package/dist/bean/resource/icon/index.js +5 -0
  116. package/dist/bean/resource/icon/index.js.map +1 -0
  117. package/dist/bean/resource/icon/types.d.ts +19 -0
  118. package/dist/bean/resource/icon/types.d.ts.map +1 -0
  119. package/dist/bean/resource/icon/types.js +2 -0
  120. package/dist/bean/resource/icon/types.js.map +1 -0
  121. package/dist/bean/resource/icon/useCabloyIcon.d.ts +7 -0
  122. package/dist/bean/resource/icon/useCabloyIcon.d.ts.map +1 -0
  123. package/dist/bean/resource/icon/useCabloyIcon.js +16 -0
  124. package/dist/bean/resource/icon/useCabloyIcon.js.map +1 -0
  125. package/dist/bean/resource/icon/useZovaIcon.d.ts +7 -0
  126. package/dist/bean/resource/icon/useZovaIcon.d.ts.map +1 -0
  127. package/dist/bean/resource/icon/useZovaIcon.js +16 -0
  128. package/dist/bean/resource/icon/useZovaIcon.js.map +1 -0
  129. package/dist/bean/resource/icon/utils.d.ts +5 -0
  130. package/dist/bean/resource/icon/utils.d.ts.map +1 -0
  131. package/dist/bean/resource/icon/utils.js +15 -0
  132. package/dist/bean/resource/icon/utils.js.map +1 -0
  133. package/dist/bean/resource/icon/zovaIcon.d.ts +16 -0
  134. package/dist/bean/resource/icon/zovaIcon.d.ts.map +1 -0
  135. package/dist/bean/resource/icon/zovaIcon.js +45 -0
  136. package/dist/bean/resource/icon/zovaIcon.js.map +1 -0
  137. package/dist/bean/resource/index.d.ts +8 -0
  138. package/dist/bean/resource/index.d.ts.map +1 -0
  139. package/dist/bean/resource/index.js +8 -0
  140. package/dist/bean/resource/index.js.map +1 -0
  141. package/dist/bean/resource/locale/beanScopeLocale.d.ts +11 -0
  142. package/dist/bean/resource/locale/beanScopeLocale.d.ts.map +1 -0
  143. package/dist/bean/resource/locale/beanScopeLocale.js +18 -0
  144. package/dist/bean/resource/locale/beanScopeLocale.js.map +1 -0
  145. package/dist/bean/resource/locale/beanScopeLocaleImpl.d.ts +4 -0
  146. package/dist/bean/resource/locale/beanScopeLocaleImpl.d.ts.map +1 -0
  147. package/dist/bean/resource/locale/beanScopeLocaleImpl.js +13 -0
  148. package/dist/bean/resource/locale/beanScopeLocaleImpl.js.map +1 -0
  149. package/dist/bean/resource/locale/index.d.ts +3 -0
  150. package/dist/bean/resource/locale/index.d.ts.map +1 -0
  151. package/dist/bean/resource/locale/index.js +3 -0
  152. package/dist/bean/resource/locale/index.js.map +1 -0
  153. package/dist/bean/resource/locale/type.d.ts +19 -0
  154. package/dist/bean/resource/locale/type.d.ts.map +1 -0
  155. package/dist/bean/resource/locale/type.js +2 -0
  156. package/dist/bean/resource/locale/type.js.map +1 -0
  157. package/dist/bean/resource/page/index.d.ts +2 -0
  158. package/dist/bean/resource/page/index.d.ts.map +1 -0
  159. package/dist/bean/resource/page/index.js +2 -0
  160. package/dist/bean/resource/page/index.js.map +1 -0
  161. package/dist/bean/resource/page/page.d.ts +3 -0
  162. package/dist/bean/resource/page/page.d.ts.map +1 -0
  163. package/dist/bean/resource/page/page.js +6 -0
  164. package/dist/bean/resource/page/page.js.map +1 -0
  165. package/dist/bean/resource/page/type.d.ts +15 -0
  166. package/dist/bean/resource/page/type.d.ts.map +1 -0
  167. package/dist/bean/resource/page/type.js +2 -0
  168. package/dist/bean/resource/page/type.js.map +1 -0
  169. package/dist/bean/resource/route/index.d.ts +2 -0
  170. package/dist/bean/resource/route/index.d.ts.map +1 -0
  171. package/dist/bean/resource/route/index.js +2 -0
  172. package/dist/bean/resource/route/index.js.map +1 -0
  173. package/dist/bean/resource/route/type.d.ts +13 -0
  174. package/dist/bean/resource/route/type.d.ts.map +1 -0
  175. package/dist/bean/resource/route/type.js +2 -0
  176. package/dist/bean/resource/route/type.js.map +1 -0
  177. package/dist/bean/scope/beanScopeBase.d.ts +18 -0
  178. package/dist/bean/scope/beanScopeBase.d.ts.map +1 -0
  179. package/dist/bean/scope/beanScopeBase.js +58 -0
  180. package/dist/bean/scope/beanScopeBase.js.map +1 -0
  181. package/dist/bean/scope/index.d.ts +3 -0
  182. package/dist/bean/scope/index.d.ts.map +1 -0
  183. package/dist/bean/scope/index.js +5 -0
  184. package/dist/bean/scope/index.js.map +1 -0
  185. package/dist/bean/scope/type.d.ts +14 -0
  186. package/dist/bean/scope/type.d.ts.map +1 -0
  187. package/dist/bean/scope/type.js +2 -0
  188. package/dist/bean/scope/type.js.map +1 -0
  189. package/dist/bean/type.d.ts +25 -0
  190. package/dist/bean/type.d.ts.map +1 -0
  191. package/dist/bean/type.js +3 -0
  192. package/dist/bean/type.js.map +1 -0
  193. package/dist/composables/index.d.ts +5 -0
  194. package/dist/composables/index.d.ts.map +1 -0
  195. package/dist/composables/index.js +5 -0
  196. package/dist/composables/index.js.map +1 -0
  197. package/dist/composables/onControllerMounted.d.ts +2 -0
  198. package/dist/composables/onControllerMounted.d.ts.map +1 -0
  199. package/dist/composables/onControllerMounted.js +12 -0
  200. package/dist/composables/onControllerMounted.js.map +1 -0
  201. package/dist/composables/useApp.d.ts +3 -0
  202. package/dist/composables/useApp.d.ts.map +1 -0
  203. package/dist/composables/useApp.js +6 -0
  204. package/dist/composables/useApp.js.map +1 -0
  205. package/dist/composables/useContext.d.ts +3 -0
  206. package/dist/composables/useContext.d.ts.map +1 -0
  207. package/dist/composables/useContext.js +6 -0
  208. package/dist/composables/useContext.js.map +1 -0
  209. package/dist/composables/useController.d.ts +7 -0
  210. package/dist/composables/useController.d.ts.map +1 -0
  211. package/dist/composables/useController.js +60 -0
  212. package/dist/composables/useController.js.map +1 -0
  213. package/dist/core/app/application.d.ts +19 -0
  214. package/dist/core/app/application.d.ts.map +1 -0
  215. package/dist/core/app/application.js +48 -0
  216. package/dist/core/app/application.js.map +1 -0
  217. package/dist/core/app/config.d.ts +47 -0
  218. package/dist/core/app/config.d.ts.map +1 -0
  219. package/dist/core/app/config.js +27 -0
  220. package/dist/core/app/config.js.map +1 -0
  221. package/dist/core/app/constant.d.ts +9 -0
  222. package/dist/core/app/constant.d.ts.map +1 -0
  223. package/dist/core/app/constant.js +4 -0
  224. package/dist/core/app/constant.js.map +1 -0
  225. package/dist/core/app/index.d.ts +7 -0
  226. package/dist/core/app/index.d.ts.map +1 -0
  227. package/dist/core/app/index.js +7 -0
  228. package/dist/core/app/index.js.map +1 -0
  229. package/dist/core/app/locale.d.ts +10 -0
  230. package/dist/core/app/locale.d.ts.map +1 -0
  231. package/dist/core/app/locale.js +4 -0
  232. package/dist/core/app/locale.js.map +1 -0
  233. package/dist/core/app/meta.d.ts +21 -0
  234. package/dist/core/app/meta.d.ts.map +1 -0
  235. package/dist/core/app/meta.js +35 -0
  236. package/dist/core/app/meta.js.map +1 -0
  237. package/dist/core/app/module.d.ts +22 -0
  238. package/dist/core/app/module.d.ts.map +1 -0
  239. package/dist/core/app/module.js +151 -0
  240. package/dist/core/app/module.js.map +1 -0
  241. package/dist/core/app/util.d.ts +9 -0
  242. package/dist/core/app/util.d.ts.map +1 -0
  243. package/dist/core/app/util.js +28 -0
  244. package/dist/core/app/util.js.map +1 -0
  245. package/dist/core/app/view.d.ts +6 -0
  246. package/dist/core/app/view.d.ts.map +1 -0
  247. package/dist/core/app/view.js +17 -0
  248. package/dist/core/app/view.js.map +1 -0
  249. package/dist/core/component/cabloyIcon.d.ts +36 -0
  250. package/dist/core/component/cabloyIcon.d.ts.map +1 -0
  251. package/dist/core/component/cabloyIcon.js +52 -0
  252. package/dist/core/component/cabloyIcon.js.map +1 -0
  253. package/dist/core/component/component.d.ts +8 -0
  254. package/dist/core/component/component.d.ts.map +1 -0
  255. package/dist/core/component/component.js +39 -0
  256. package/dist/core/component/component.js.map +1 -0
  257. package/dist/core/component/error.d.ts +4 -0
  258. package/dist/core/component/error.d.ts.map +1 -0
  259. package/dist/core/component/error.js +16 -0
  260. package/dist/core/component/error.js.map +1 -0
  261. package/dist/core/component/event.d.ts +10 -0
  262. package/dist/core/component/event.d.ts.map +1 -0
  263. package/dist/core/component/event.js +61 -0
  264. package/dist/core/component/event.js.map +1 -0
  265. package/dist/core/component/index.d.ts +4 -0
  266. package/dist/core/component/index.d.ts.map +1 -0
  267. package/dist/core/component/index.js +4 -0
  268. package/dist/core/component/index.js.map +1 -0
  269. package/dist/core/component/locale.d.ts +14 -0
  270. package/dist/core/component/locale.d.ts.map +1 -0
  271. package/dist/core/component/locale.js +66 -0
  272. package/dist/core/component/locale.js.map +1 -0
  273. package/dist/core/component/module.d.ts +25 -0
  274. package/dist/core/component/module.d.ts.map +1 -0
  275. package/dist/core/component/module.js +248 -0
  276. package/dist/core/component/module.js.map +1 -0
  277. package/dist/core/component/router.d.ts +13 -0
  278. package/dist/core/component/router.d.ts.map +1 -0
  279. package/dist/core/component/router.js +49 -0
  280. package/dist/core/component/router.js.map +1 -0
  281. package/dist/core/component/view.d.ts +7 -0
  282. package/dist/core/component/view.d.ts.map +1 -0
  283. package/dist/core/component/view.js +21 -0
  284. package/dist/core/component/view.js.map +1 -0
  285. package/dist/core/context/context.d.ts +17 -0
  286. package/dist/core/context/context.d.ts.map +1 -0
  287. package/dist/core/context/context.js +28 -0
  288. package/dist/core/context/context.js.map +1 -0
  289. package/dist/core/context/index.d.ts +4 -0
  290. package/dist/core/context/index.d.ts.map +1 -0
  291. package/dist/core/context/index.js +4 -0
  292. package/dist/core/context/index.js.map +1 -0
  293. package/dist/core/context/meta.d.ts +11 -0
  294. package/dist/core/context/meta.d.ts.map +1 -0
  295. package/dist/core/context/meta.js +15 -0
  296. package/dist/core/context/meta.js.map +1 -0
  297. package/dist/core/context/state.d.ts +10 -0
  298. package/dist/core/context/state.d.ts.map +1 -0
  299. package/dist/core/context/state.js +17 -0
  300. package/dist/core/context/state.js.map +1 -0
  301. package/dist/core/context/util.d.ts +5 -0
  302. package/dist/core/context/util.d.ts.map +1 -0
  303. package/dist/core/context/util.js +21 -0
  304. package/dist/core/context/util.js.map +1 -0
  305. package/dist/core/index.d.ts +6 -0
  306. package/dist/core/index.d.ts.map +1 -0
  307. package/dist/core/index.js +6 -0
  308. package/dist/core/index.js.map +1 -0
  309. package/dist/core/metadata.d.ts +12 -0
  310. package/dist/core/metadata.d.ts.map +1 -0
  311. package/dist/core/metadata.js +48 -0
  312. package/dist/core/metadata.js.map +1 -0
  313. package/dist/core/resource.d.ts +32 -0
  314. package/dist/core/resource.d.ts.map +1 -0
  315. package/dist/core/resource.js +152 -0
  316. package/dist/core/resource.js.map +1 -0
  317. package/dist/decorator/class/bean.d.ts +3 -0
  318. package/dist/decorator/class/bean.d.ts.map +1 -0
  319. package/dist/decorator/class/bean.js +18 -0
  320. package/dist/decorator/class/bean.js.map +1 -0
  321. package/dist/decorator/class/index.d.ts +9 -0
  322. package/dist/decorator/class/index.d.ts.map +1 -0
  323. package/dist/decorator/class/index.js +9 -0
  324. package/dist/decorator/class/index.js.map +1 -0
  325. package/dist/decorator/class/local.d.ts +3 -0
  326. package/dist/decorator/class/local.d.ts.map +1 -0
  327. package/dist/decorator/class/local.js +17 -0
  328. package/dist/decorator/class/local.js.map +1 -0
  329. package/dist/decorator/class/scope.d.ts +3 -0
  330. package/dist/decorator/class/scope.d.ts.map +1 -0
  331. package/dist/decorator/class/scope.js +18 -0
  332. package/dist/decorator/class/scope.js.map +1 -0
  333. package/dist/decorator/class/store.d.ts +3 -0
  334. package/dist/decorator/class/store.d.ts.map +1 -0
  335. package/dist/decorator/class/store.js +18 -0
  336. package/dist/decorator/class/store.js.map +1 -0
  337. package/dist/decorator/class/use.d.ts +5 -0
  338. package/dist/decorator/class/use.d.ts.map +1 -0
  339. package/dist/decorator/class/use.js +20 -0
  340. package/dist/decorator/class/use.js.map +1 -0
  341. package/dist/decorator/class/useComposable.d.ts +3 -0
  342. package/dist/decorator/class/useComposable.d.ts.map +1 -0
  343. package/dist/decorator/class/useComposable.js +14 -0
  344. package/dist/decorator/class/useComposable.js.map +1 -0
  345. package/dist/decorator/class/useHook.d.ts +3 -0
  346. package/dist/decorator/class/useHook.d.ts.map +1 -0
  347. package/dist/decorator/class/useHook.js +14 -0
  348. package/dist/decorator/class/useHook.js.map +1 -0
  349. package/dist/decorator/class/useScope.d.ts +5 -0
  350. package/dist/decorator/class/useScope.d.ts.map +1 -0
  351. package/dist/decorator/class/useScope.js +16 -0
  352. package/dist/decorator/class/useScope.js.map +1 -0
  353. package/dist/decorator/class/virtual.d.ts +3 -0
  354. package/dist/decorator/class/virtual.d.ts.map +1 -0
  355. package/dist/decorator/class/virtual.js +19 -0
  356. package/dist/decorator/class/virtual.js.map +1 -0
  357. package/dist/decorator/index.d.ts +7 -0
  358. package/dist/decorator/index.d.ts.map +1 -0
  359. package/dist/decorator/index.js +7 -0
  360. package/dist/decorator/index.js.map +1 -0
  361. package/dist/decorator/interface/beanOptions.d.ts +49 -0
  362. package/dist/decorator/interface/beanOptions.d.ts.map +1 -0
  363. package/dist/decorator/interface/beanOptions.js +2 -0
  364. package/dist/decorator/interface/beanOptions.js.map +1 -0
  365. package/dist/decorator/interface/useOptions.d.ts +34 -0
  366. package/dist/decorator/interface/useOptions.d.ts.map +1 -0
  367. package/dist/decorator/interface/useOptions.js +2 -0
  368. package/dist/decorator/interface/useOptions.js.map +1 -0
  369. package/dist/decorator/type/constructable.d.ts +2 -0
  370. package/dist/decorator/type/constructable.d.ts.map +1 -0
  371. package/dist/decorator/type/constructable.js +2 -0
  372. package/dist/decorator/type/constructable.js.map +1 -0
  373. package/dist/decorator/type/containerScope.d.ts +2 -0
  374. package/dist/decorator/type/containerScope.d.ts.map +1 -0
  375. package/dist/decorator/type/containerScope.js +2 -0
  376. package/dist/decorator/type/containerScope.js.map +1 -0
  377. package/dist/decorator/type/functionable.d.ts +2 -0
  378. package/dist/decorator/type/functionable.d.ts.map +1 -0
  379. package/dist/decorator/type/functionable.js +2 -0
  380. package/dist/decorator/type/functionable.js.map +1 -0
  381. package/dist/hooks/index.d.ts +5 -0
  382. package/dist/hooks/index.d.ts.map +1 -0
  383. package/dist/hooks/index.js +5 -0
  384. package/dist/hooks/index.js.map +1 -0
  385. package/dist/hooks/onControllerMounted.d.ts +2 -0
  386. package/dist/hooks/onControllerMounted.d.ts.map +1 -0
  387. package/dist/hooks/onControllerMounted.js +9 -0
  388. package/dist/hooks/onControllerMounted.js.map +1 -0
  389. package/dist/hooks/onMotherMounted.d.ts +2 -0
  390. package/dist/hooks/onMotherMounted.d.ts.map +1 -0
  391. package/dist/hooks/onMotherMounted.js +9 -0
  392. package/dist/hooks/onMotherMounted.js.map +1 -0
  393. package/dist/hooks/useApp.d.ts +3 -0
  394. package/dist/hooks/useApp.d.ts.map +1 -0
  395. package/dist/hooks/useApp.js +6 -0
  396. package/dist/hooks/useApp.js.map +1 -0
  397. package/dist/hooks/useCabloyIcon.d.ts +7 -0
  398. package/dist/hooks/useCabloyIcon.d.ts.map +1 -0
  399. package/dist/hooks/useCabloyIcon.js +29 -0
  400. package/dist/hooks/useCabloyIcon.js.map +1 -0
  401. package/dist/hooks/useContext.d.ts +3 -0
  402. package/dist/hooks/useContext.d.ts.map +1 -0
  403. package/dist/hooks/useContext.js +6 -0
  404. package/dist/hooks/useContext.js.map +1 -0
  405. package/dist/hooks/useController.d.ts +7 -0
  406. package/dist/hooks/useController.d.ts.map +1 -0
  407. package/dist/hooks/useController.js +58 -0
  408. package/dist/hooks/useController.js.map +1 -0
  409. package/dist/hooks/useCtx.d.ts +3 -0
  410. package/dist/hooks/useCtx.d.ts.map +1 -0
  411. package/dist/hooks/useCtx.js +6 -0
  412. package/dist/hooks/useCtx.js.map +1 -0
  413. package/dist/hooks/useMother.d.ts +7 -0
  414. package/dist/hooks/useMother.d.ts.map +1 -0
  415. package/dist/hooks/useMother.js +58 -0
  416. package/dist/hooks/useMother.js.map +1 -0
  417. package/dist/index.d.ts +10 -0
  418. package/dist/index.d.ts.map +1 -0
  419. package/dist/index.js +10 -0
  420. package/dist/index.js.map +1 -0
  421. package/dist/plugins/bean.d.ts +5 -0
  422. package/dist/plugins/bean.d.ts.map +1 -0
  423. package/dist/plugins/bean.js +27 -0
  424. package/dist/plugins/bean.js.map +1 -0
  425. package/dist/plugins/cabloy.d.ts +6 -0
  426. package/dist/plugins/cabloy.d.ts.map +1 -0
  427. package/dist/plugins/cabloy.js +9 -0
  428. package/dist/plugins/cabloy.js.map +1 -0
  429. package/dist/plugins/index.d.ts +3 -0
  430. package/dist/plugins/index.d.ts.map +1 -0
  431. package/dist/plugins/index.js +3 -0
  432. package/dist/plugins/index.js.map +1 -0
  433. package/dist/plugins/zova.d.ts +6 -0
  434. package/dist/plugins/zova.d.ts.map +1 -0
  435. package/dist/plugins/zova.js +9 -0
  436. package/dist/plugins/zova.js.map +1 -0
  437. package/dist/types/index.d.ts +3 -0
  438. package/dist/types/index.d.ts.map +1 -0
  439. package/dist/types/index.js +3 -0
  440. package/dist/types/index.js.map +1 -0
  441. package/dist/types/interface/component.d.ts +20 -0
  442. package/dist/types/interface/component.d.ts.map +1 -0
  443. package/dist/types/interface/component.js +2 -0
  444. package/dist/types/interface/component.js.map +1 -0
  445. package/dist/types/interface/event.d.ts +23 -0
  446. package/dist/types/interface/event.d.ts.map +1 -0
  447. package/dist/types/interface/event.js +2 -0
  448. package/dist/types/interface/event.js.map +1 -0
  449. package/dist/types/interface/icon.d.ts +3 -0
  450. package/dist/types/interface/icon.d.ts.map +1 -0
  451. package/dist/types/interface/icon.js +2 -0
  452. package/dist/types/interface/icon.js.map +1 -0
  453. package/dist/types/interface/index.d.ts +7 -0
  454. package/dist/types/interface/index.d.ts.map +1 -0
  455. package/dist/types/interface/index.js +7 -0
  456. package/dist/types/interface/index.js.map +1 -0
  457. package/dist/types/interface/inject.d.ts +4 -0
  458. package/dist/types/interface/inject.d.ts.map +1 -0
  459. package/dist/types/interface/inject.js +2 -0
  460. package/dist/types/interface/inject.js.map +1 -0
  461. package/dist/types/interface/module.d.ts +29 -0
  462. package/dist/types/interface/module.d.ts.map +1 -0
  463. package/dist/types/interface/module.js +2 -0
  464. package/dist/types/interface/module.js.map +1 -0
  465. package/dist/types/interface/monkey.d.ts +33 -0
  466. package/dist/types/interface/monkey.d.ts.map +1 -0
  467. package/dist/types/interface/monkey.js +2 -0
  468. package/dist/types/interface/monkey.js.map +1 -0
  469. package/dist/types/interface/pluginCabloy.d.ts +16 -0
  470. package/dist/types/interface/pluginCabloy.d.ts.map +1 -0
  471. package/dist/types/interface/pluginCabloy.js +2 -0
  472. package/dist/types/interface/pluginCabloy.js.map +1 -0
  473. package/dist/types/interface/pluginZova.d.ts +16 -0
  474. package/dist/types/interface/pluginZova.d.ts.map +1 -0
  475. package/dist/types/interface/pluginZova.js +2 -0
  476. package/dist/types/interface/pluginZova.js.map +1 -0
  477. package/dist/types/utils/cast.d.ts +6 -0
  478. package/dist/types/utils/cast.d.ts.map +1 -0
  479. package/dist/types/utils/cast.js +4 -0
  480. package/dist/types/utils/cast.js.map +1 -0
  481. package/dist/types/utils/env.d.ts +34 -0
  482. package/dist/types/utils/env.d.ts.map +1 -0
  483. package/dist/types/utils/env.js +2 -0
  484. package/dist/types/utils/env.js.map +1 -0
  485. package/dist/types/utils/index.d.ts +4 -0
  486. package/dist/types/utils/index.d.ts.map +1 -0
  487. package/dist/types/utils/index.js +4 -0
  488. package/dist/types/utils/index.js.map +1 -0
  489. package/dist/types/utils/inject.d.ts +3 -0
  490. package/dist/types/utils/inject.d.ts.map +1 -0
  491. package/dist/types/utils/inject.js +2 -0
  492. package/dist/types/utils/inject.js.map +1 -0
  493. package/dist/types/utils/jsx.d.ts +10 -0
  494. package/dist/types/utils/jsx.d.ts.map +1 -0
  495. package/dist/types/utils/jsx.js +2 -0
  496. package/dist/types/utils/jsx.js.map +1 -0
  497. package/dist/types/utils/powerPartial.d.ts +4 -0
  498. package/dist/types/utils/powerPartial.d.ts.map +1 -0
  499. package/dist/types/utils/powerPartial.js +2 -0
  500. package/dist/types/utils/powerPartial.js.map +1 -0
  501. package/dist/types/utils/symbol.d.ts +2 -0
  502. package/dist/types/utils/symbol.d.ts.map +1 -0
  503. package/dist/types/utils/symbol.js +2 -0
  504. package/dist/types/utils/symbol.js.map +1 -0
  505. package/dist/utils/index.d.ts +2 -0
  506. package/dist/utils/index.d.ts.map +1 -0
  507. package/dist/utils/index.js +2 -0
  508. package/dist/utils/index.js.map +1 -0
  509. package/dist/utils/isClass.d.ts +2 -0
  510. package/dist/utils/isClass.d.ts.map +1 -0
  511. package/dist/utils/isClass.js +16 -0
  512. package/dist/utils/isClass.js.map +1 -0
  513. package/dist/utils/stateLock.d.ts +10 -0
  514. package/dist/utils/stateLock.d.ts.map +1 -0
  515. package/dist/utils/stateLock.js +37 -0
  516. package/dist/utils/stateLock.js.map +1 -0
  517. package/dist/utils/uuid.d.ts +5 -0
  518. package/dist/utils/uuid.d.ts.map +1 -0
  519. package/dist/utils/uuid.js +72 -0
  520. package/dist/utils/uuid.js.map +1 -0
  521. package/dist/vue/composable.d.ts +8 -0
  522. package/dist/vue/composable.d.ts.map +1 -0
  523. package/dist/vue/composable.js +4 -0
  524. package/dist/vue/composable.js.map +1 -0
  525. package/dist/vue/computed.d.ts +4 -0
  526. package/dist/vue/computed.d.ts.map +1 -0
  527. package/dist/vue/computed.js +5 -0
  528. package/dist/vue/computed.js.map +1 -0
  529. package/dist/vue/hook.d.ts +8 -0
  530. package/dist/vue/hook.d.ts.map +1 -0
  531. package/dist/vue/hook.js +4 -0
  532. package/dist/vue/hook.js.map +1 -0
  533. package/dist/vue/index.d.ts +3 -0
  534. package/dist/vue/index.d.ts.map +1 -0
  535. package/dist/vue/index.js +3 -0
  536. package/dist/vue/index.js.map +1 -0
  537. package/dist/zod/index.d.ts +3 -0
  538. package/dist/zod/index.d.ts.map +1 -0
  539. package/dist/zod/index.js +3 -0
  540. package/dist/zod/index.js.map +1 -0
  541. package/dist/zod/patch.d.ts +71 -0
  542. package/dist/zod/patch.d.ts.map +1 -0
  543. package/dist/zod/patch.js +33 -0
  544. package/dist/zod/patch.js.map +1 -0
  545. package/dist/zod/zz.d.ts +13 -0
  546. package/dist/zod/zz.d.ts.map +1 -0
  547. package/dist/zod/zz.js +54 -0
  548. package/dist/zod/zz.js.map +1 -0
  549. package/package.json +52 -0
@@ -0,0 +1,716 @@
1
+ import { isClass } from '../utils/isClass.js';
2
+ import { appResource } from '../core/resource.js';
3
+ import { BeanBase } from './beanBase.js';
4
+ import { BeanSimple } from './beanSimple.js';
5
+ import { compose, composeAsync } from '@cabloy/compose';
6
+ import { markRaw, reactive, shallowReactive, provide as composableProvide, inject as composableInject } from 'vue';
7
+ import { Cast } from '../types/utils/cast.js';
8
+ const ProxyMagic = Symbol.for('Bean#ProxyMagic');
9
+ const BeanContainerInstances = Symbol.for('Bean#Instances');
10
+ export class BeanContainer {
11
+ app;
12
+ ctx;
13
+ // fullName / uuid / propName
14
+ [BeanContainerInstances] = shallowReactive({});
15
+ static create(app, ctx) {
16
+ const beanContainer = new BeanContainer(app, ctx);
17
+ const proxy = new Proxy(beanContainer, {
18
+ get(obj, prop) {
19
+ if (typeof prop === 'symbol')
20
+ return obj[prop];
21
+ if (obj[prop])
22
+ return obj[prop];
23
+ return obj._getBeanSyncOnly(prop);
24
+ },
25
+ });
26
+ return markRaw(proxy);
27
+ }
28
+ constructor(app, ctx) {
29
+ this.app = app;
30
+ this.ctx = ctx;
31
+ }
32
+ /** @internal */
33
+ dispose() {
34
+ const beanInstances = this[BeanContainerInstances];
35
+ for (const prop in beanInstances) {
36
+ if (prop.startsWith('$$'))
37
+ continue;
38
+ const beanInstance = Cast(beanInstances[prop]);
39
+ if (beanInstance.__dispose__) {
40
+ this.app.meta.module._monkeyModule('beanDispose', undefined, this, beanInstance);
41
+ this.runWithInstanceScopeOrAppContext(() => {
42
+ beanInstance.__dispose__();
43
+ });
44
+ this.app.meta.module._monkeyModule('beanDisposed', undefined, this, beanInstance);
45
+ }
46
+ }
47
+ this[BeanContainerInstances] = shallowReactive({});
48
+ }
49
+ runWithInstanceScopeOrAppContext(fn, tracking) {
50
+ if (this.ctx) {
51
+ return this.ctx.meta.util.instanceScope(fn, tracking);
52
+ }
53
+ else {
54
+ return this.app.vue.runWithContext(fn);
55
+ }
56
+ }
57
+ provide(injectKey, value) {
58
+ if (this.ctx) {
59
+ return this.ctx.meta.util.instanceScope(() => {
60
+ return composableProvide(injectKey, value);
61
+ });
62
+ }
63
+ else {
64
+ return this.app.vue.provide(injectKey, value);
65
+ }
66
+ }
67
+ inject(injectKey, defaultValue, treatDefaultAsFactory) {
68
+ return this.runWithInstanceScopeOrAppContext(() => {
69
+ return composableInject(injectKey, defaultValue, treatDefaultAsFactory);
70
+ });
71
+ }
72
+ defineProperty(obj, prop, attributes) {
73
+ const self = this;
74
+ const attrs = { ...attributes };
75
+ if (attributes.get) {
76
+ attrs.get = function () {
77
+ const innerKey = `__innerKey_${prop}`;
78
+ if (!obj[innerKey]) {
79
+ self.runWithInstanceScopeOrAppContext(() => {
80
+ obj[innerKey] = attributes.get();
81
+ });
82
+ }
83
+ return obj[innerKey];
84
+ };
85
+ }
86
+ return Object.defineProperty(obj, prop, attrs);
87
+ }
88
+ scope(moduleScope) {
89
+ if (this.ctx) {
90
+ return this.app.bean.scope(moduleScope);
91
+ }
92
+ return this._getBeanSyncOnly(`${moduleScope}.scope.module`);
93
+ }
94
+ async getScope(moduleScope) {
95
+ if (this.ctx) {
96
+ return await this.app.bean.getScope(moduleScope);
97
+ }
98
+ // module: load
99
+ await this.app.meta.module.use(moduleScope);
100
+ return this.scope(moduleScope);
101
+ }
102
+ _getBeanSync(key, markReactive, forceLoad) {
103
+ const beanInstance = this[BeanContainerInstances][key];
104
+ if (!beanInstance) {
105
+ // bean not loaded, so async load to raise the next call
106
+ if (forceLoad !== false) {
107
+ this._getBean(key, markReactive);
108
+ }
109
+ return undefined;
110
+ }
111
+ if (beanInstance.__inited__ && !beanInstance.__inited__.state) {
112
+ return undefined;
113
+ }
114
+ return beanInstance;
115
+ }
116
+ _getBeanSyncOnly(key) {
117
+ return this[BeanContainerInstances][key];
118
+ }
119
+ async _getBean(beanFullName, markReactive) {
120
+ return await this._getBeanSelector(beanFullName, markReactive);
121
+ }
122
+ async _getBeanSelector(beanFullName, markReactive, selector) {
123
+ return await this._getBeanSelectorInner(null, undefined, beanFullName, markReactive, selector);
124
+ }
125
+ async _getBeanSelectorInner(recordProp, beanComposable, beanFullName, markReactive, selector) {
126
+ // fullName
127
+ const fullName = await this._getBeanFullNameByComposableOrClass(beanComposable, beanFullName);
128
+ if (!fullName) {
129
+ // not found
130
+ return null;
131
+ }
132
+ // same as _getBean if selector is undefined/null/'', as as to get the same bean instance
133
+ // not use !selector which maybe is 0
134
+ const isSelectorValid = !this.app.meta.util.isNullOrEmptyString(selector);
135
+ const key = !isSelectorValid ? fullName : `${fullName}#${selector}`;
136
+ if (this[BeanContainerInstances][key] === undefined) {
137
+ if (isSelectorValid) {
138
+ await this._newBeanInner(true, recordProp, null, beanComposable, fullName, markReactive, selector);
139
+ }
140
+ else {
141
+ await this._newBeanInner(true, recordProp, null, beanComposable, fullName, markReactive);
142
+ }
143
+ }
144
+ return this[BeanContainerInstances][key];
145
+ }
146
+ _newBeanSimple(A, markReactive, ...args) {
147
+ // prepare
148
+ const beanInstance = this._prepareBeanInstance(undefined, A, A, args, false, markReactive);
149
+ // init
150
+ if (beanInstance.__init__) {
151
+ beanInstance.__init__(...args);
152
+ }
153
+ // ok
154
+ return beanInstance;
155
+ }
156
+ async _newBean(beanFullName, markReactive, ...args) {
157
+ return await this._newBeanInner(false, null, null, undefined, beanFullName, markReactive, ...args);
158
+ }
159
+ async _newBeanSelector(beanFullName, markReactive, selector, ...args) {
160
+ return await this._newBean(beanFullName, markReactive, selector, ...args);
161
+ }
162
+ /** @internal */
163
+ async _newBeanInner(record, recordProp, controllerData, beanComposable, beanFullName, markReactive, ...args) {
164
+ // bean composable
165
+ if (beanComposable) {
166
+ return await this._createBeanInstance(record, recordProp, controllerData, beanComposable, undefined, undefined, args, false, markReactive);
167
+ }
168
+ // bean options
169
+ const beanOptions = await this._getBeanOptionsForce(beanFullName);
170
+ if (!beanOptions) {
171
+ // class
172
+ if (typeof beanFullName === 'function' && isClass(beanFullName)) {
173
+ return await this._createBeanInstance(record, recordProp, controllerData, undefined, undefined, beanFullName, args, false, markReactive);
174
+ }
175
+ // throw new Error(`bean not found: ${beanFullName}`);
176
+ return null;
177
+ }
178
+ // beanFullName
179
+ return await this._createBeanInstance(record, recordProp, controllerData, undefined, beanOptions.beanFullName, beanOptions.beanClass, args, beanOptions.aop,
180
+ // default is true: same as inject prop
181
+ markReactive ?? beanOptions.markReactive ?? true);
182
+ }
183
+ async _getBeanFullNameByComposableOrClass(beanComposable, beanFullName) {
184
+ // bean composable
185
+ if (beanComposable) {
186
+ return appResource.getBeanFullNameOfComposable(beanComposable);
187
+ }
188
+ // bean options
189
+ const beanOptions = await this._getBeanOptionsForce(beanFullName);
190
+ if (!beanOptions) {
191
+ // not found
192
+ return undefined;
193
+ }
194
+ return beanOptions.beanFullName;
195
+ }
196
+ async _getBeanOptionsForce(beanFullName) {
197
+ // class
198
+ if (typeof beanFullName === 'function' && isClass(beanFullName)) {
199
+ return appResource.getBean(beanFullName);
200
+ }
201
+ // check if uuid
202
+ if (!this.app.meta.util.isUuid(beanFullName)) {
203
+ // module: name
204
+ const moduleName = beanFullName.split('.')[0];
205
+ // module: load
206
+ await this.app.meta.module.use(moduleName);
207
+ }
208
+ // get
209
+ return appResource.getBean(beanFullName);
210
+ }
211
+ async _createBeanInstance(record, recordProp, controllerData, beanComposable, beanFullName, beanClass, args, aop, markReactive) {
212
+ // prepare
213
+ const beanInstance = this._prepareBeanInstance(beanComposable, beanFullName, beanClass, args, aop, markReactive);
214
+ // special for controller
215
+ if (controllerData) {
216
+ beanInstance.__initControllerData(controllerData);
217
+ }
218
+ // record
219
+ if (record) {
220
+ // fullName
221
+ const fullName = await this._getBeanFullNameByComposableOrClass(beanComposable, beanFullName);
222
+ if (fullName) {
223
+ this[BeanContainerInstances][fullName] = beanInstance;
224
+ }
225
+ // always record for app/ctx bean
226
+ if (recordProp) {
227
+ this.__recordProp(recordProp, fullName, beanInstance, true);
228
+ }
229
+ }
230
+ // init
231
+ if (!beanComposable) {
232
+ await this._initBeanInstance(beanFullName, beanInstance, args);
233
+ }
234
+ // ok
235
+ return beanInstance;
236
+ }
237
+ _prepareBeanInstance(beanComposable, beanFullName, beanClass, args, aop, markReactive) {
238
+ // create
239
+ let beanInstance;
240
+ if (beanComposable) {
241
+ beanInstance = this._createBeanComposableInstance(beanComposable, args);
242
+ }
243
+ else {
244
+ if (beanClass.prototype.__init__) {
245
+ beanInstance = new beanClass();
246
+ }
247
+ else {
248
+ beanInstance = new beanClass(...args);
249
+ }
250
+ }
251
+ // app/ctx
252
+ if (beanInstance instanceof BeanSimple) {
253
+ // app
254
+ beanInstance.app = this.app;
255
+ // ctx: always set even if is null, so as to prevent magic method __get__ take effect.
256
+ beanInstance.ctx = this.ctx;
257
+ }
258
+ // beanFullName
259
+ if (typeof beanFullName === 'string') {
260
+ __setPropertyValue(beanInstance, '__beanFullName__', beanFullName);
261
+ }
262
+ // reactive
263
+ if (markReactive) {
264
+ beanInstance = reactive(beanInstance);
265
+ }
266
+ else {
267
+ beanInstance = markRaw(beanInstance);
268
+ }
269
+ // aop: proxy
270
+ const beanInstanceProxy = this._patchBeanInstance(beanFullName || beanClass, beanInstance, aop);
271
+ if (beanInstanceProxy) {
272
+ // reactive
273
+ if (markReactive) {
274
+ beanInstance = reactive(beanInstanceProxy);
275
+ }
276
+ else {
277
+ beanInstance = markRaw(beanInstanceProxy);
278
+ }
279
+ }
280
+ // ok
281
+ return beanInstance;
282
+ }
283
+ _createBeanComposableInstance(beanComposable, args) {
284
+ return this.runWithInstanceScopeOrAppContext(function () {
285
+ return beanComposable(...args);
286
+ });
287
+ }
288
+ async _initBeanInstance(beanFullName, beanInstance, args) {
289
+ // inject
290
+ await this._injectBeanInstance(beanInstance, beanFullName);
291
+ // init
292
+ await this.app.meta.module._monkeyModule('beanInit', undefined, this, beanInstance);
293
+ if (beanInstance.__init__) {
294
+ await this.runWithInstanceScopeOrAppContext(async () => {
295
+ await beanInstance.__init__(...args);
296
+ });
297
+ }
298
+ await this.app.meta.module._monkeyModule('beanInited', undefined, this, beanInstance);
299
+ if (beanInstance.__inited__) {
300
+ beanInstance.__inited__.touch();
301
+ }
302
+ // ok
303
+ return beanInstance;
304
+ }
305
+ async _injectBeanInstance(beanInstance, beanFullName) {
306
+ const beanOptions = appResource.getBean(beanFullName);
307
+ if (!beanOptions)
308
+ return;
309
+ const uses = appResource.getUses(beanOptions.beanClass.prototype);
310
+ if (!uses)
311
+ return;
312
+ for (const key in uses) {
313
+ const useOptions = uses[key];
314
+ // beanComposable
315
+ const targetBeanComposable = useOptions.beanComposable;
316
+ // beanClass
317
+ let targetBeanFullName = useOptions.beanFullName;
318
+ if (!targetBeanFullName && useOptions.beanClass) {
319
+ targetBeanFullName = appResource.getBeanFullName(useOptions.beanClass);
320
+ }
321
+ const targetBeanInstance = await this._injectBeanInstanceProp(targetBeanComposable, targetBeanFullName, useOptions);
322
+ if (targetBeanInstance) {
323
+ targetBeanInstance.__v_isShallow_patch = true;
324
+ beanInstance[key] = targetBeanInstance;
325
+ delete targetBeanInstance.__v_isShallow_patch;
326
+ }
327
+ else {
328
+ beanInstance[key] = targetBeanInstance;
329
+ }
330
+ }
331
+ }
332
+ async _injectBeanInstanceProp(targetBeanComposable, targetBeanFullName, useOptions) {
333
+ // 1. use name
334
+ if (useOptions.name) {
335
+ return this[BeanContainerInstances][useOptions.name];
336
+ }
337
+ // 2. use prop
338
+ if (!targetBeanComposable && !targetBeanFullName) {
339
+ return this[BeanContainerInstances][useOptions.prop];
340
+ }
341
+ // 3. targetBeanFullName
342
+ let targetOptions;
343
+ if (targetBeanComposable) {
344
+ targetOptions = {
345
+ containerScope: undefined,
346
+ markReactive: undefined,
347
+ };
348
+ }
349
+ else if (targetBeanFullName) {
350
+ targetOptions = await this._getBeanOptionsForce(targetBeanFullName);
351
+ if (!targetOptions) {
352
+ throw new Error(`not found bean class: ${targetBeanFullName}`);
353
+ }
354
+ }
355
+ // options: containerScope
356
+ const containerScope = useOptions.containerScope ?? targetOptions.containerScope ?? 'ctx';
357
+ // options: markReactive: default is true
358
+ const markReactive = useOptions.markReactive ?? targetOptions.markReactive ?? true;
359
+ // options: selector: maybe empty string
360
+ const selector = useOptions.selector;
361
+ // recordProp
362
+ //const recordProp = useOptions.name || useOptions.prop;
363
+ const recordProp = useOptions.prop;
364
+ // targetInstance
365
+ let targetInstance;
366
+ if (containerScope === 'app') {
367
+ targetInstance = await this.app.bean._getBeanSelectorInner(null, targetBeanComposable, targetBeanFullName, markReactive, selector);
368
+ await this._injectBeanInstanceProp_appBean(recordProp, targetBeanComposable, targetBeanFullName, targetInstance);
369
+ }
370
+ else if (containerScope === 'ctx') {
371
+ targetInstance = await this._getBeanSelectorInner(recordProp, targetBeanComposable, targetBeanFullName, markReactive, selector);
372
+ }
373
+ else if (containerScope === 'new') {
374
+ // not record prop
375
+ targetInstance = await this._newBeanInner(false, null, null, targetBeanComposable, targetBeanFullName, markReactive, selector);
376
+ }
377
+ return targetInstance;
378
+ }
379
+ async _injectBeanInstanceProp_appBean(recordProp, targetBeanComposable, _targetBeanFullName, targetInstance) {
380
+ if (!targetInstance)
381
+ return;
382
+ // only when ctx bean
383
+ if (!this.ctx)
384
+ return;
385
+ // record prop
386
+ this.__recordProp(recordProp, undefined, targetInstance, false);
387
+ // force init
388
+ if (!targetBeanComposable) {
389
+ await targetInstance.__inited__.wait();
390
+ }
391
+ }
392
+ _patchBeanInstance(beanFullNameOrBeanClass, beanInstance, aop) {
393
+ if (!beanFullNameOrBeanClass)
394
+ return undefined;
395
+ // not aop on aop
396
+ if (aop)
397
+ return undefined;
398
+ // aop chains
399
+ const _aopChains = this._prepareAopChains(beanFullNameOrBeanClass, beanInstance);
400
+ // no aop
401
+ if (_aopChains.length === 0)
402
+ return undefined;
403
+ // aop
404
+ return this._newBeanProxy(beanFullNameOrBeanClass, beanInstance);
405
+ }
406
+ _newBeanProxy(beanFullName, beanInstance) {
407
+ const self = this;
408
+ const proxy = new Proxy(beanInstance, {
409
+ get(target, prop, receiver) {
410
+ if (typeof prop === 'symbol') {
411
+ return target[prop];
412
+ }
413
+ if (__isInnerMethod(prop)) {
414
+ if (prop === '__v_isShallow' && target.__v_isShallow_patch)
415
+ return target.__v_isShallow_patch;
416
+ return target[prop];
417
+ }
418
+ // descriptorInfo
419
+ const descriptorInfo = __getPropertyDescriptor(target, prop);
420
+ if (!__checkAopOfDescriptorInfo(descriptorInfo))
421
+ return target[prop];
422
+ const methodType = __methodTypeOfDescriptor(descriptorInfo);
423
+ // get prop
424
+ if (!methodType) {
425
+ const methodName = `__get_${prop}__`;
426
+ const methodNameMagic = '__get__';
427
+ const _aopChainsProp = self._getAopChainsProp(beanFullName, methodName, methodNameMagic);
428
+ if (_aopChainsProp.length === 0)
429
+ return target[prop];
430
+ // context
431
+ const context = {
432
+ target,
433
+ receiver,
434
+ prop,
435
+ value: undefined,
436
+ };
437
+ // aop
438
+ self.__composeForProp(_aopChainsProp)(context, (context, next) => {
439
+ if (context.value === undefined) {
440
+ if (!descriptorInfo && target.__get__) {
441
+ context.value = target.__get__(prop);
442
+ }
443
+ else {
444
+ context.value = target[prop];
445
+ }
446
+ }
447
+ next();
448
+ });
449
+ // ok
450
+ return context.value;
451
+ }
452
+ // method
453
+ return self._getInstanceMethodProxy(beanFullName, target, prop, methodType);
454
+ },
455
+ set(target, prop, value, receiver) {
456
+ if (typeof prop === 'symbol') {
457
+ target[prop] = value;
458
+ return true;
459
+ }
460
+ if (__isInnerMethod(prop)) {
461
+ target[prop] = value;
462
+ return true;
463
+ }
464
+ // descriptorInfo
465
+ const descriptorInfo = __getPropertyDescriptor(target, prop);
466
+ if (!__checkAopOfDescriptorInfo(descriptorInfo)) {
467
+ target[prop] = value;
468
+ return true;
469
+ }
470
+ const methodName = `__set_${prop}__`;
471
+ const methodNameMagic = '__set__';
472
+ const _aopChainsProp = self._getAopChainsProp(beanFullName, methodName, methodNameMagic);
473
+ if (_aopChainsProp.length === 0) {
474
+ target[prop] = value;
475
+ return true;
476
+ }
477
+ // context
478
+ const context = {
479
+ target,
480
+ receiver,
481
+ prop,
482
+ value,
483
+ };
484
+ // aop
485
+ self.__composeForProp(_aopChainsProp)(context, (context, next) => {
486
+ if (!descriptorInfo && target.__set__) {
487
+ target.__set__(prop, context.value);
488
+ }
489
+ else {
490
+ target[prop] = context.value;
491
+ }
492
+ next();
493
+ });
494
+ // ok
495
+ return true;
496
+ },
497
+ });
498
+ return proxy;
499
+ }
500
+ _getInstanceMethodProxy(beanFullName, beanInstance, prop, methodType) {
501
+ const self = this;
502
+ // not aop magic methods
503
+ if (__isInnerMethod(prop)) {
504
+ return beanInstance[prop];
505
+ }
506
+ // aop chains
507
+ const _aopChainsProp = this._getAopChainsProp(beanFullName, prop, null);
508
+ if (_aopChainsProp.length === 0)
509
+ return beanInstance[prop];
510
+ // proxy
511
+ const methodProxyKey = `__aopproxy_method_${prop}__`;
512
+ if (beanInstance[methodProxyKey])
513
+ return beanInstance[methodProxyKey];
514
+ const methodProxy = new Proxy(beanInstance[prop], {
515
+ apply(target, thisArg, args) {
516
+ // context
517
+ const context = {
518
+ target: beanInstance,
519
+ receiver: thisArg,
520
+ prop,
521
+ arguments: args,
522
+ result: undefined,
523
+ };
524
+ // aop
525
+ if (methodType === 'Function') {
526
+ self.__composeForProp(_aopChainsProp)(context, (context, next) => {
527
+ if (context.result === undefined) {
528
+ context.result = target.apply(thisArg, args);
529
+ }
530
+ next();
531
+ });
532
+ // ok
533
+ return context.result;
534
+ }
535
+ if (methodType === 'AsyncFunction') {
536
+ return new Promise((resolve, reject) => {
537
+ self
538
+ .__composeForPropAsync(_aopChainsProp)(context, async (context, next) => {
539
+ if (context.result === undefined) {
540
+ context.result = await target.apply(thisArg, args);
541
+ }
542
+ await next();
543
+ })
544
+ .then(() => {
545
+ resolve(context.result);
546
+ })
547
+ .catch(err => {
548
+ reject(err);
549
+ });
550
+ });
551
+ }
552
+ },
553
+ });
554
+ __setPropertyValue(beanInstance, methodProxyKey, methodProxy);
555
+ return methodProxy;
556
+ }
557
+ _prepareAopChains(beanFullNameOrBeanClass, beanInstance) {
558
+ if (!beanFullNameOrBeanClass)
559
+ return [];
560
+ // beanFullName maybe class
561
+ const beanOptions = appResource.getBean(beanFullNameOrBeanClass);
562
+ const host = beanOptions || beanFullNameOrBeanClass;
563
+ if (host.__aopChains__)
564
+ return host.__aopChains__;
565
+ // chains
566
+ let chains = [];
567
+ if (beanOptions && !beanOptions.aop) {
568
+ const aops = appResource.findAopsMatched(beanOptions.beanFullName);
569
+ if (aops) {
570
+ chains = chains.concat(aops);
571
+ }
572
+ }
573
+ // magic self
574
+ if (__hasMagicMothod(beanInstance)) {
575
+ chains.push(ProxyMagic);
576
+ }
577
+ // hold
578
+ host.__aopChains__ = chains;
579
+ return chains;
580
+ }
581
+ _getAopChains(beanFullName) {
582
+ // beanFullName maybe class
583
+ const beanOptions = appResource.getBean(beanFullName);
584
+ const host = beanOptions || beanFullName;
585
+ return host.__aopChains__;
586
+ }
587
+ _getAopChainsProp(beanFullName, methodName, methodNameMagic) {
588
+ const chainsKey = `__aopChains_${methodName}__`;
589
+ const beanOptions = appResource.getBean(beanFullName);
590
+ const host = beanOptions || beanFullName;
591
+ if (!host.__aopChainsKey__)
592
+ host.__aopChainsKey__ = {};
593
+ if (host.__aopChainsKey__[chainsKey])
594
+ return host.__aopChainsKey__[chainsKey];
595
+ const _aopChains = this._getAopChains(beanFullName);
596
+ const chains = [];
597
+ for (const aopKey of _aopChains) {
598
+ if (aopKey === ProxyMagic) {
599
+ chains.push([aopKey, methodName]);
600
+ }
601
+ else {
602
+ const aop = this._getBeanSyncOnly(aopKey);
603
+ if (aop[methodName]) {
604
+ chains.push([aopKey, methodName]);
605
+ }
606
+ else if (methodNameMagic && aop[methodNameMagic]) {
607
+ chains.push([aopKey, methodNameMagic]);
608
+ }
609
+ }
610
+ }
611
+ host.__aopChainsKey__[chainsKey] = chains;
612
+ return chains;
613
+ }
614
+ __composeForPropAdapter = (_context, chain) => {
615
+ const [aopKey, methodName] = chain;
616
+ // ProxyMagic
617
+ if (aopKey === ProxyMagic)
618
+ return null;
619
+ // chain
620
+ const aop = this._getBeanSyncOnly(aopKey);
621
+ if (!aop)
622
+ throw new Error(`aop not found: ${chain}`);
623
+ if (!aop[methodName])
624
+ return null;
625
+ return {
626
+ receiver: aop,
627
+ fn: aop[methodName],
628
+ };
629
+ };
630
+ __composeForProp(chains) {
631
+ return compose(chains, this.__composeForPropAdapter);
632
+ }
633
+ __composeForPropAsync(chains) {
634
+ return composeAsync(chains, this.__composeForPropAdapter);
635
+ }
636
+ __recordProp(recordProp, fullName, beanInstance, throwError) {
637
+ if (this[BeanContainerInstances][recordProp] && throwError) {
638
+ throw new Error(`prop exsits: ${recordProp.toString()}, ${fullName}`);
639
+ }
640
+ if (!this[BeanContainerInstances][recordProp]) {
641
+ this[BeanContainerInstances][recordProp] = beanInstance;
642
+ }
643
+ }
644
+ }
645
+ function __checkAopOfDescriptorInfo(descriptorInfo) {
646
+ if (!descriptorInfo)
647
+ return true;
648
+ return !descriptorInfo.dynamic && !descriptorInfo.ofBeanBase;
649
+ }
650
+ function __getPropertyDescriptor(obj, prop) {
651
+ // dynamic
652
+ const descriptor = Object.getOwnPropertyDescriptor(obj, prop);
653
+ if (descriptor)
654
+ return { descriptor, dynamic: true };
655
+ // static
656
+ return __getPropertyDescriptorStatic(obj, prop);
657
+ }
658
+ function __getPropertyDescriptorStatic(obj, prop) {
659
+ let proto = Object.getPrototypeOf(obj);
660
+ let ofBeanBase = false;
661
+ while (proto) {
662
+ if (proto.constructor.name === BeanBase.name) {
663
+ ofBeanBase = true;
664
+ }
665
+ const descriptor = Object.getOwnPropertyDescriptor(proto, prop);
666
+ if (descriptor)
667
+ return { descriptor, dynamic: false, ofBeanBase };
668
+ proto = Object.getPrototypeOf(proto);
669
+ }
670
+ return null;
671
+ }
672
+ function __setPropertyValue(obj, prop, value) {
673
+ Object.defineProperty(obj, prop, {
674
+ enumerable: false,
675
+ configurable: true,
676
+ get() {
677
+ return value;
678
+ },
679
+ });
680
+ }
681
+ function __hasMagicMothod(instance) {
682
+ return !!instance.__get__ || !!instance.__set__;
683
+ }
684
+ function __isInnerMethod(prop) {
685
+ return [
686
+ '__get__',
687
+ '__set__',
688
+ '__init__',
689
+ '__dispose__',
690
+ 'then',
691
+ '__v_skip',
692
+ '__v_isReactive',
693
+ '__v_isReadonly',
694
+ '__v_isShallow',
695
+ '__v_raw',
696
+ '__v_isRef',
697
+ '__v_isVNode',
698
+ '__v_cache',
699
+ '__v_isShallow_patch',
700
+ ].includes(prop);
701
+ }
702
+ function __methodTypeOfDescriptor(descriptorInfo) {
703
+ if (!descriptorInfo)
704
+ return null;
705
+ const { descriptor, dynamic } = descriptorInfo;
706
+ if (dynamic)
707
+ return null;
708
+ if (descriptor.get)
709
+ return null;
710
+ const methodType = descriptor.value?.constructor?.name;
711
+ if (['Function', 'AsyncFunction'].includes(methodType)) {
712
+ return methodType;
713
+ }
714
+ return null;
715
+ }
716
+ //# sourceMappingURL=beanContainer.js.map