vona-core 5.0.124 → 5.0.126
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.
- package/dist/index.js +23 -27
- package/dist/lib/core/meta.d.ts +2 -2
- package/dist/lib/module/module.d.ts +1 -1
- package/dist/lib/utils/util.d.ts +2 -2
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import '@cabloy/json5';
|
|
2
|
-
import { combineApiPathControllerAndActionRaw, combineApiPathControllerAndAction, combineApiPath, combineResourceName, sleep, isUndefined, isClass, isNilOrEmptyString, evaluateExpressions, catchErrorSync, isEmptyObject, catchError, hashkey } from '@cabloy/utils';
|
|
2
|
+
import { combineApiPathControllerAndActionRaw, combineApiPathControllerAndAction, combineApiPath, combineResourceName, forEach, forEachSync, sleep, isUndefined, isClass, isNilOrEmptyString, evaluateExpressions, catchErrorSync, isEmptyObject, catchError, hashkey } from '@cabloy/utils';
|
|
3
3
|
import { toLowerCaseFirstChar, splitWords } from '@cabloy/word-utils';
|
|
4
4
|
import path from 'node:path';
|
|
5
5
|
import crypto from 'node:crypto';
|
|
@@ -168,15 +168,14 @@ class AppUtil extends BeanSimple {
|
|
|
168
168
|
}
|
|
169
169
|
return error;
|
|
170
170
|
}
|
|
171
|
-
async monkeyModule(ebAppMonkey, ebModulesMonkey, monkeyName, moduleTarget, ...monkeyData) {
|
|
171
|
+
async monkeyModule(ebAppMonkey, ebModulesMonkey, order, monkeyName, moduleTarget, ...monkeyData) {
|
|
172
172
|
// self: main
|
|
173
173
|
if (moduleTarget && moduleTarget.mainInstance && moduleTarget.mainInstance[monkeyName]) {
|
|
174
174
|
// @ts-ignore ignore
|
|
175
175
|
await moduleTarget.mainInstance[monkeyName](...monkeyData);
|
|
176
176
|
}
|
|
177
177
|
// module monkey
|
|
178
|
-
|
|
179
|
-
const moduleMonkey = ebModulesMonkey[key];
|
|
178
|
+
await forEach(ebModulesMonkey, order, async moduleMonkey => {
|
|
180
179
|
if (moduleMonkey.monkeyInstance && moduleMonkey.monkeyInstance[monkeyName]) {
|
|
181
180
|
if (moduleTarget === undefined) {
|
|
182
181
|
// @ts-ignore ignore
|
|
@@ -186,7 +185,7 @@ class AppUtil extends BeanSimple {
|
|
|
186
185
|
await moduleMonkey.monkeyInstance[monkeyName](moduleTarget, ...monkeyData);
|
|
187
186
|
}
|
|
188
187
|
}
|
|
189
|
-
}
|
|
188
|
+
});
|
|
190
189
|
// app monkey
|
|
191
190
|
if (ebAppMonkey && ebAppMonkey[monkeyName]) {
|
|
192
191
|
if (moduleTarget === undefined) {
|
|
@@ -196,15 +195,14 @@ class AppUtil extends BeanSimple {
|
|
|
196
195
|
}
|
|
197
196
|
}
|
|
198
197
|
}
|
|
199
|
-
monkeyModuleSync(ebAppMonkey, ebModulesMonkey, monkeyName, moduleTarget, ...monkeyData) {
|
|
198
|
+
monkeyModuleSync(ebAppMonkey, ebModulesMonkey, order, monkeyName, moduleTarget, ...monkeyData) {
|
|
200
199
|
// self: main
|
|
201
200
|
if (moduleTarget && moduleTarget.mainInstance && moduleTarget.mainInstance[monkeyName]) {
|
|
202
201
|
// @ts-ignore ignore
|
|
203
202
|
moduleTarget.mainInstance[monkeyName](...monkeyData);
|
|
204
203
|
}
|
|
205
204
|
// module monkey
|
|
206
|
-
|
|
207
|
-
const moduleMonkey = ebModulesMonkey[key];
|
|
205
|
+
forEachSync(ebModulesMonkey, order, moduleMonkey => {
|
|
208
206
|
if (moduleMonkey.monkeyInstance && moduleMonkey.monkeyInstance[monkeyName]) {
|
|
209
207
|
if (moduleTarget === undefined) {
|
|
210
208
|
// @ts-ignore ignore
|
|
@@ -214,7 +212,7 @@ class AppUtil extends BeanSimple {
|
|
|
214
212
|
moduleMonkey.monkeyInstance[monkeyName](moduleTarget, ...monkeyData);
|
|
215
213
|
}
|
|
216
214
|
}
|
|
217
|
-
}
|
|
215
|
+
});
|
|
218
216
|
// app monkey
|
|
219
217
|
if (ebAppMonkey && ebAppMonkey[monkeyName]) {
|
|
220
218
|
if (moduleTarget === undefined) {
|
|
@@ -740,7 +738,7 @@ class BeanBase extends BeanBaseSimple {
|
|
|
740
738
|
return this[SymbolLoggerChildren][clientName][childName];
|
|
741
739
|
}
|
|
742
740
|
$mutate(args) {
|
|
743
|
-
this.app.meta.hmr
|
|
741
|
+
this.app.meta.hmr.mutateBeanInstance(this.$beanFullName, this[SymbolBeanInstanceKey], args);
|
|
744
742
|
}
|
|
745
743
|
get $scope() {
|
|
746
744
|
return this.app.meta.scopeContainer;
|
|
@@ -1055,7 +1053,7 @@ class BeanContainer {
|
|
|
1055
1053
|
const key = __getSelectorKey(fullName, withSelector, args[0]);
|
|
1056
1054
|
__setPropertyValue(beanInstance, SymbolBeanInstanceKey, key);
|
|
1057
1055
|
this[SymbolBeanContainerInstances][key] = beanInstance;
|
|
1058
|
-
this.containerType === 'app' && this.app.meta.hmr
|
|
1056
|
+
this.containerType === 'app' && this.app.meta.hmr.addBeanInstance(fullName, key, args, withSelector);
|
|
1059
1057
|
}
|
|
1060
1058
|
}
|
|
1061
1059
|
// init
|
|
@@ -1114,7 +1112,7 @@ class BeanContainer {
|
|
|
1114
1112
|
if (!beanInstance[SymbolBeanInstancePropsLazy]) beanInstance[SymbolBeanInstancePropsLazy] = {};
|
|
1115
1113
|
if (!beanInstance[SymbolBeanInstancePropsLazy][prop]) {
|
|
1116
1114
|
beanInstance[SymbolBeanInstancePropsLazy][prop] = self._injectBeanInstanceProp(beanInstance, targetBeanFullName, useOptions);
|
|
1117
|
-
self.containerType === 'app' && self.app.meta.hmr
|
|
1115
|
+
self.containerType === 'app' && self.app.meta.hmr.addBeanInstanceProp(beanInstance, prop, targetBeanFullName);
|
|
1118
1116
|
}
|
|
1119
1117
|
return beanInstance[SymbolBeanInstancePropsLazy][prop];
|
|
1120
1118
|
}
|
|
@@ -2305,9 +2303,7 @@ class AppMeta extends BeanSimple {
|
|
|
2305
2303
|
this.locale = this.bean._newBean(AppLocale);
|
|
2306
2304
|
|
|
2307
2305
|
// hmr
|
|
2308
|
-
|
|
2309
|
-
this.hmr = this.bean._newBean(AppHmr);
|
|
2310
|
-
}
|
|
2306
|
+
this.hmr = this.bean._newBean(AppHmr);
|
|
2311
2307
|
|
|
2312
2308
|
// text
|
|
2313
2309
|
this.text = this.locale.createLocaleText();
|
|
@@ -2365,13 +2361,13 @@ class AppMeta extends BeanSimple {
|
|
|
2365
2361
|
// appClose
|
|
2366
2362
|
this.appClose = true;
|
|
2367
2363
|
// hook: appClose
|
|
2368
|
-
await this.app.util.monkeyModule(this.app.meta.appMonkey, this.app.meta.modulesMonkey, 'appClose');
|
|
2364
|
+
await this.app.util.monkeyModule(this.app.meta.appMonkey, this.app.meta.modulesMonkey, false, 'appClose');
|
|
2369
2365
|
// ctx counter
|
|
2370
2366
|
await this.app.meta.ctxCounter.awaitUntilZero();
|
|
2371
2367
|
// appClosed
|
|
2372
2368
|
this.appClosed = true;
|
|
2373
2369
|
// hook: appClosed
|
|
2374
|
-
await this.app.util.monkeyModule(this.app.meta.appMonkey, this.app.meta.modulesMonkey, 'appClosed');
|
|
2370
|
+
await this.app.util.monkeyModule(this.app.meta.appMonkey, this.app.meta.modulesMonkey, false, 'appClosed');
|
|
2375
2371
|
// container dispose
|
|
2376
2372
|
await this.app.bean.dispose();
|
|
2377
2373
|
// logger dispose
|
|
@@ -2697,7 +2693,7 @@ async function loadConfig (app, modules) {
|
|
|
2697
2693
|
if (module.resource.config) {
|
|
2698
2694
|
const configModule = await module.resource.config(app, app.options.env);
|
|
2699
2695
|
// configNew is not used by now
|
|
2700
|
-
await app.util.monkeyModule(app.meta.appMonkey, app.meta.modulesMonkey, 'configLoaded', module, configModule);
|
|
2696
|
+
await app.util.monkeyModule(app.meta.appMonkey, app.meta.modulesMonkey, true, 'configLoaded', module, configModule);
|
|
2701
2697
|
app.config.modules[module.info.relativeName] = deepExtend({}, configModule, app.config.modules[module.info.relativeName]);
|
|
2702
2698
|
}
|
|
2703
2699
|
}
|
|
@@ -2808,7 +2804,7 @@ class ModuleTools extends BeanSimple {
|
|
|
2808
2804
|
const modulesArray = modulesMeta.modulesMeta.moduleNames.map(relativeName => modules[relativeName]);
|
|
2809
2805
|
app.meta.modules = modules;
|
|
2810
2806
|
app.meta.modulesArray = modulesArray;
|
|
2811
|
-
app.meta.modulesMonkey =
|
|
2807
|
+
app.meta.modulesMonkey = [];
|
|
2812
2808
|
return modules;
|
|
2813
2809
|
}
|
|
2814
2810
|
async load() {
|
|
@@ -2820,14 +2816,14 @@ class ModuleTools extends BeanSimple {
|
|
|
2820
2816
|
}
|
|
2821
2817
|
if (module.resource.Monkey) {
|
|
2822
2818
|
module.monkeyInstance = app.bean._newBean(module.resource.Monkey, module);
|
|
2823
|
-
app.meta.modulesMonkey
|
|
2819
|
+
app.meta.modulesMonkey.push(module);
|
|
2824
2820
|
}
|
|
2825
2821
|
}
|
|
2826
2822
|
}
|
|
2827
|
-
async monkey(monkeyName) {
|
|
2823
|
+
async monkey(order, monkeyName) {
|
|
2828
2824
|
const app = this.app;
|
|
2829
2825
|
for (const module of app.meta.modulesArray) {
|
|
2830
|
-
await app.util.monkeyModule(app.meta.appMonkey, app.meta.modulesMonkey, monkeyName, module);
|
|
2826
|
+
await app.util.monkeyModule(app.meta.appMonkey, app.meta.modulesMonkey, order, monkeyName, module);
|
|
2831
2827
|
}
|
|
2832
2828
|
}
|
|
2833
2829
|
}
|
|
@@ -2842,14 +2838,14 @@ class ModuleLoader extends BeanSimple {
|
|
|
2842
2838
|
// load modules
|
|
2843
2839
|
await moduleTools.load();
|
|
2844
2840
|
// monkey modules
|
|
2845
|
-
await moduleTools.monkey('moduleLoading');
|
|
2841
|
+
await moduleTools.monkey(true, 'moduleLoading');
|
|
2846
2842
|
await loadConfig(app, modules);
|
|
2847
2843
|
await loadLocales(app, modules);
|
|
2848
2844
|
loadErrors(app, modules);
|
|
2849
2845
|
loadConstants(app, modules);
|
|
2850
2846
|
|
|
2851
2847
|
// monkey modules
|
|
2852
|
-
await moduleTools.monkey('moduleLoaded');
|
|
2848
|
+
await moduleTools.monkey(true, 'moduleLoaded');
|
|
2853
2849
|
}
|
|
2854
2850
|
}
|
|
2855
2851
|
|
|
@@ -2884,14 +2880,14 @@ class Start {
|
|
|
2884
2880
|
async _start_appStart() {
|
|
2885
2881
|
const app = this.app;
|
|
2886
2882
|
// hook: appStart
|
|
2887
|
-
await app.util.monkeyModule(app.meta.appMonkey, app.meta.modulesMonkey, 'appStart');
|
|
2883
|
+
await app.util.monkeyModule(app.meta.appMonkey, app.meta.modulesMonkey, true, 'appStart');
|
|
2888
2884
|
}
|
|
2889
2885
|
async _start_appReady() {
|
|
2890
2886
|
const app = this.app;
|
|
2891
2887
|
app.meta.appReady = true;
|
|
2892
2888
|
app.meta.appReadyInstances = {};
|
|
2893
2889
|
// hook: appReady
|
|
2894
|
-
await app.util.monkeyModule(app.meta.appMonkey, app.meta.modulesMonkey, 'appReady');
|
|
2890
|
+
await app.util.monkeyModule(app.meta.appMonkey, app.meta.modulesMonkey, true, 'appReady');
|
|
2895
2891
|
}
|
|
2896
2892
|
async _start_appStarted() {
|
|
2897
2893
|
const app = this.app;
|
|
@@ -2899,7 +2895,7 @@ class Start {
|
|
|
2899
2895
|
// event: appStarted
|
|
2900
2896
|
app.emit(EnumAppEvent.AppStarted);
|
|
2901
2897
|
// hook: appStarted
|
|
2902
|
-
await app.util.monkeyModule(app.meta.appMonkey, app.meta.modulesMonkey, 'appStarted');
|
|
2898
|
+
await app.util.monkeyModule(app.meta.appMonkey, app.meta.modulesMonkey, true, 'appStarted');
|
|
2903
2899
|
}
|
|
2904
2900
|
async _start_appConfig() {
|
|
2905
2901
|
const app = this.app;
|
package/dist/lib/core/meta.d.ts
CHANGED
|
@@ -19,7 +19,7 @@ export declare class AppMeta extends BeanSimple {
|
|
|
19
19
|
error: ErrorClass;
|
|
20
20
|
logger: AppLogger;
|
|
21
21
|
locale: AppLocale;
|
|
22
|
-
hmr
|
|
22
|
+
hmr: AppHmr;
|
|
23
23
|
text: IModuleLocaleText;
|
|
24
24
|
scopeContainer: BeanScopeContainer;
|
|
25
25
|
appMonkey?: IAppMonkey;
|
|
@@ -27,7 +27,7 @@ export declare class AppMeta extends BeanSimple {
|
|
|
27
27
|
metadata: AppMetadata;
|
|
28
28
|
modules: Record<string, IModule>;
|
|
29
29
|
modulesArray: IModule[];
|
|
30
|
-
modulesMonkey:
|
|
30
|
+
modulesMonkey: IModule[];
|
|
31
31
|
constants: Record<string, any>;
|
|
32
32
|
locales: TypeModuleResourceLocales;
|
|
33
33
|
localeModules: TypeModuleResourceLocaleModules;
|
|
@@ -3,5 +3,5 @@ import { BeanSimple } from '../bean/beanSimple.ts';
|
|
|
3
3
|
export declare class ModuleTools extends BeanSimple {
|
|
4
4
|
prepare(): Promise<Record<string, IModule>>;
|
|
5
5
|
load(): Promise<void>;
|
|
6
|
-
monkey(monkeyName: any): Promise<void>;
|
|
6
|
+
monkey(order: boolean, monkeyName: any): Promise<void>;
|
|
7
7
|
}
|
package/dist/lib/utils/util.d.ts
CHANGED
|
@@ -37,8 +37,8 @@ export declare class AppUtil extends BeanSimple {
|
|
|
37
37
|
get prodRootPath(): string;
|
|
38
38
|
getAssetPathPhysical(moduleName: ModuleInfo.IModuleInfo | string, scene: keyof IModuleAssetSceneRecord, assetPath?: string): string;
|
|
39
39
|
createError(data: any, returnObject?: boolean): any;
|
|
40
|
-
monkeyModule(ebAppMonkey: any, ebModulesMonkey:
|
|
41
|
-
monkeyModuleSync(ebAppMonkey: any, ebModulesMonkey:
|
|
40
|
+
monkeyModule(ebAppMonkey: any, ebModulesMonkey: IModule[], order: boolean, monkeyName: TypeMonkeyName, moduleTarget?: IModule, ...monkeyData: any[]): Promise<void>;
|
|
41
|
+
monkeyModuleSync(ebAppMonkey: any, ebModulesMonkey: IModule[], order: boolean, monkeyName: TypeMonkeyName, moduleTarget?: IModule, ...monkeyData: any[]): void;
|
|
42
42
|
detectErrorMessage(err: Error): string;
|
|
43
43
|
detectStatus(err: Error): number;
|
|
44
44
|
accepts(): "json" | "html";
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vona-core",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "5.0.
|
|
4
|
+
"version": "5.0.126",
|
|
5
5
|
"description": "vona",
|
|
6
6
|
"publishConfig": {
|
|
7
7
|
"access": "public"
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"@cabloy/module-info": "^1.3.34",
|
|
33
33
|
"@cabloy/module-info-pro": "^1.0.42",
|
|
34
34
|
"@cabloy/type-fest": "^5.3.1",
|
|
35
|
-
"@cabloy/utils": "^2.0.
|
|
35
|
+
"@cabloy/utils": "^2.0.13",
|
|
36
36
|
"@cabloy/word-utils": "^2.0.2",
|
|
37
37
|
"@cabloy/zod-errors-custom": "^2.0.6",
|
|
38
38
|
"@cabloy/zod-openapi": "^1.0.8",
|