zova-core 5.0.110 → 5.0.112

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 (124) hide show
  1. package/package.json +4 -3
  2. package/src/bean/beanBase.ts +53 -0
  3. package/src/bean/beanBaseSimple.ts +33 -0
  4. package/src/bean/beanContainer.ts +963 -0
  5. package/src/bean/beanControllerBase.ts +58 -0
  6. package/src/bean/beanControllerLike.ts +29 -0
  7. package/src/bean/beanControllerPageBase.ts +18 -0
  8. package/src/bean/beanRenderBase.ts +7 -0
  9. package/src/bean/beanRenderLike.ts +33 -0
  10. package/src/bean/beanSimple.ts +11 -0
  11. package/src/bean/beanStyleBase.ts +3 -0
  12. package/src/bean/index.ts +13 -0
  13. package/src/bean/resource/component/index.ts +1 -0
  14. package/src/bean/resource/component/type.ts +5 -0
  15. package/src/bean/resource/config/index.ts +1 -0
  16. package/src/bean/resource/config/type.ts +32 -0
  17. package/src/bean/resource/constant/index.ts +1 -0
  18. package/src/bean/resource/constant/type.ts +1 -0
  19. package/src/bean/resource/error/beanScopeError.ts +21 -0
  20. package/src/bean/resource/error/errorClass.ts +57 -0
  21. package/src/bean/resource/error/errorGlobal.ts +7 -0
  22. package/src/bean/resource/error/errorInternal.ts +66 -0
  23. package/src/bean/resource/error/errorObject.ts +4 -0
  24. package/src/bean/resource/error/index.ts +6 -0
  25. package/src/bean/resource/error/type.ts +10 -0
  26. package/src/bean/resource/icon/icon.ts +161 -0
  27. package/src/bean/resource/icon/iconGroup.ts +10 -0
  28. package/src/bean/resource/icon/index.ts +4 -0
  29. package/src/bean/resource/icon/types.ts +21 -0
  30. package/src/bean/resource/icon/useZovaIcon.ts +20 -0
  31. package/src/bean/resource/icon/utils.ts +20 -0
  32. package/src/bean/resource/icon/zovaIcon.ts +52 -0
  33. package/src/bean/resource/index.ts +8 -0
  34. package/src/bean/resource/locale/beanScopeLocale.ts +22 -0
  35. package/src/bean/resource/locale/index.ts +2 -0
  36. package/src/bean/resource/locale/type.ts +21 -0
  37. package/src/bean/resource/page/index.ts +1 -0
  38. package/src/bean/resource/page/type.ts +12 -0
  39. package/src/bean/resource/service/beanScopeService.ts +24 -0
  40. package/src/bean/resource/service/index.ts +2 -0
  41. package/src/bean/resource/service/type.ts +8 -0
  42. package/src/bean/scope/beanScopeBase.ts +74 -0
  43. package/src/bean/scope/index.ts +4 -0
  44. package/src/bean/scope/type.ts +23 -0
  45. package/src/bean/type.ts +31 -0
  46. package/src/composables/index.ts +4 -0
  47. package/src/composables/onControllerMounted.ts +12 -0
  48. package/src/composables/useApp.ts +7 -0
  49. package/src/composables/useContext.ts +7 -0
  50. package/src/composables/useController.ts +125 -0
  51. package/src/core/app/application.ts +76 -0
  52. package/src/core/app/config.ts +68 -0
  53. package/src/core/app/constant.ts +11 -0
  54. package/src/core/app/index.ts +6 -0
  55. package/src/core/app/locale.ts +12 -0
  56. package/src/core/app/meta.ts +44 -0
  57. package/src/core/app/util.ts +31 -0
  58. package/src/core/component/component.ts +44 -0
  59. package/src/core/component/cookie.ts +16 -0
  60. package/src/core/component/error.ts +18 -0
  61. package/src/core/component/event.ts +87 -0
  62. package/src/core/component/index.ts +3 -0
  63. package/src/core/component/locale.ts +97 -0
  64. package/src/core/component/module.ts +281 -0
  65. package/src/core/context/component.ts +34 -0
  66. package/src/core/context/context.ts +38 -0
  67. package/src/core/context/index.ts +4 -0
  68. package/src/core/context/meta.ts +26 -0
  69. package/src/core/context/state.ts +28 -0
  70. package/src/core/context/util.ts +20 -0
  71. package/src/core/index.ts +5 -0
  72. package/src/core/metadata.ts +54 -0
  73. package/src/core/resource.ts +188 -0
  74. package/src/decorator/class/bean.ts +19 -0
  75. package/src/decorator/class/index.ts +12 -0
  76. package/src/decorator/class/local.ts +18 -0
  77. package/src/decorator/class/model.ts +18 -0
  78. package/src/decorator/class/scope.ts +18 -0
  79. package/src/decorator/class/store.ts +18 -0
  80. package/src/decorator/class/style.ts +18 -0
  81. package/src/decorator/class/theme.ts +18 -0
  82. package/src/decorator/class/tool.ts +18 -0
  83. package/src/decorator/class/use.ts +34 -0
  84. package/src/decorator/class/useComposable.ts +16 -0
  85. package/src/decorator/class/useScope.ts +21 -0
  86. package/src/decorator/class/virtual.ts +20 -0
  87. package/src/decorator/index.ts +7 -0
  88. package/src/decorator/interface/beanOptions.ts +80 -0
  89. package/src/decorator/interface/useOptions.ts +37 -0
  90. package/src/decorator/type/constructable.ts +1 -0
  91. package/src/decorator/type/containerScope.ts +1 -0
  92. package/src/decorator/type/functionable.ts +1 -0
  93. package/src/decorator/type/injectionScope.ts +1 -0
  94. package/src/index.ts +9 -0
  95. package/src/plugins/bean.ts +16 -0
  96. package/src/plugins/index.ts +2 -0
  97. package/src/plugins/zova.ts +28 -0
  98. package/src/types/index.ts +2 -0
  99. package/src/types/interface/component.ts +36 -0
  100. package/src/types/interface/event.ts +28 -0
  101. package/src/types/interface/index.ts +6 -0
  102. package/src/types/interface/inject.ts +2 -0
  103. package/src/types/interface/module.ts +38 -0
  104. package/src/types/interface/monkey.ts +38 -0
  105. package/src/types/interface/pluginZova.ts +17 -0
  106. package/src/types/utils/cast.ts +8 -0
  107. package/src/types/utils/env.ts +35 -0
  108. package/src/types/utils/index.ts +3 -0
  109. package/src/types/utils/powerPartial.ts +3 -0
  110. package/src/utils/index.ts +1 -0
  111. package/src/utils/isClass.ts +17 -0
  112. package/src/utils/stateLock.ts +47 -0
  113. package/src/utils/uuid.ts +84 -0
  114. package/src/vue/composable.ts +10 -0
  115. package/src/vue/computed.ts +7 -0
  116. package/src/vue/customRef.ts +5 -0
  117. package/src/vue/index.ts +4 -0
  118. package/src/vue/ref.ts +12 -0
  119. package/src/zod/index.ts +2 -0
  120. package/src/zod/zz.ts +77 -0
  121. package/dist/decorator/class/data.d.ts +0 -3
  122. package/dist/decorator/class/data.d.ts.map +0 -1
  123. package/dist/decorator/class/data.js +0 -18
  124. package/dist/decorator/class/data.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zova-core",
3
- "version": "5.0.110",
3
+ "version": "5.0.112",
4
4
  "description": "A vue3 framework with ioc",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -14,7 +14,8 @@
14
14
  "./*": "./*"
15
15
  },
16
16
  "files": [
17
- "dist"
17
+ "dist",
18
+ "src"
18
19
  ],
19
20
  "author": "zhennann",
20
21
  "license": "MIT",
@@ -53,5 +54,5 @@
53
54
  "vue": "^3.4.27",
54
55
  "zod": "^3.23.8"
55
56
  },
56
- "gitHead": "495ce0e97607ce4d5c7cb79b2bd93f06f94fac1b"
57
+ "gitHead": "61b1b2ac3c9466f18a8a19ed50020a365d8ea405"
57
58
  }
@@ -0,0 +1,53 @@
1
+ import { RendererNode } from 'vue';
2
+ import { BeanBaseSimple, SymbolModuleBelong } from './beanBaseSimple.js';
3
+ import { IBeanScopeRecord, TypeBeanScopeRecordKeys } from './type.js';
4
+ import { AppEvent } from '../core/component/event.js';
5
+ import { IModuleLocaleText } from './resource/index.js';
6
+
7
+ const SymbolText = Symbol('SymbolText');
8
+
9
+ export class BeanBase<TScopeModule = unknown> extends BeanBaseSimple {
10
+ protected get $el(): RendererNode {
11
+ if (!this.ctx) {
12
+ throw new Error('$el can not be used inside global bean.');
13
+ }
14
+ return this.ctx.meta.el;
15
+ }
16
+
17
+ protected get $text(): IModuleLocaleText {
18
+ if (!this[SymbolText]) {
19
+ this[SymbolText] = this.app.meta.locale.createLocaleText(this[SymbolModuleBelong]);
20
+ }
21
+ return this[SymbolText];
22
+ }
23
+
24
+ protected get $event(): AppEvent {
25
+ return this.app.meta.event;
26
+ }
27
+
28
+ // need not
29
+ // protected async __init__() {}
30
+ // protected __dispose__() {}
31
+
32
+ protected get scope() {
33
+ return this.getScope() as TScopeModule;
34
+ }
35
+
36
+ protected getScope<K extends TypeBeanScopeRecordKeys>(moduleScope: K): IBeanScopeRecord[K];
37
+ protected getScope<T>(moduleScope: string): T;
38
+ protected getScope(): TScopeModule;
39
+ protected getScope(moduleScope?: string) {
40
+ if (!moduleScope) {
41
+ return this.app.bean.scope(this[SymbolModuleBelong]) as TScopeModule;
42
+ }
43
+ return this.app.bean.scope(moduleScope);
44
+ }
45
+
46
+ // need not
47
+ // public dispose() {
48
+ // const self = Cast(this);
49
+ // if (self.__dispose__) {
50
+ // self.__dispose__();
51
+ // }
52
+ // }
53
+ }
@@ -0,0 +1,33 @@
1
+ import { appResource } from '../core/resource.js';
2
+ import { StateLock } from '../utils/stateLock.js';
3
+ import { BeanSimple } from './beanSimple.js';
4
+
5
+ export const SymbolBeanFullName = Symbol('SymbolBeanFullName');
6
+ export const SymbolModuleBelongInner = Symbol('SymbolModuleBelongInner');
7
+ export const SymbolModuleBelong = Symbol('SymbolModuleBelong');
8
+ export const SymbolModuleName = Symbol('SymbolModuleName');
9
+ export const SymbolInited = Symbol('SymbolInited');
10
+
11
+ export class BeanBaseSimple extends BeanSimple {
12
+ private [SymbolBeanFullName]: string;
13
+ private [SymbolModuleBelongInner]?: string;
14
+ // @ts-ignore: ignore
15
+ private [SymbolInited]: StateLock;
16
+
17
+ constructor(moduleBelong?: string) {
18
+ super();
19
+ if (moduleBelong && typeof moduleBelong !== 'string') {
20
+ throw new Error(`moduleBelong not valid: ${moduleBelong}`);
21
+ }
22
+ this[SymbolModuleBelongInner] = moduleBelong;
23
+ this[SymbolInited] = StateLock.create();
24
+ }
25
+
26
+ protected get [SymbolModuleBelong]() {
27
+ return this[SymbolModuleBelongInner] || appResource._getModuleBelong(this[SymbolBeanFullName]);
28
+ }
29
+
30
+ protected get [SymbolModuleName]() {
31
+ return appResource._getModuleName(this[SymbolBeanFullName]);
32
+ }
33
+ }