vona-core 5.0.123 → 5.0.125
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 +26 -28
- package/dist/lib/bean/resource/error/errorInternal.d.ts +2 -0
- package/dist/lib/core/locales.d.ts +2 -0
- package/dist/lib/core/meta.d.ts +2 -2
- package/dist/lib/locale/en-us.d.ts +2 -0
- 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, async 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
|
}
|
|
@@ -1685,7 +1683,9 @@ const errorsInternal = {
|
|
|
1685
1683
|
'508': 'Loop Detected',
|
|
1686
1684
|
'509': 'Bandwidth Limit Exceeded',
|
|
1687
1685
|
'510': 'Not Extended',
|
|
1688
|
-
'511': 'Network Authentication Required'
|
|
1686
|
+
'511': 'Network Authentication Required',
|
|
1687
|
+
'700': 'Exit',
|
|
1688
|
+
'701': 'Reload'
|
|
1689
1689
|
};
|
|
1690
1690
|
|
|
1691
1691
|
const LocaleModuleNameSeparator = '::';
|
|
@@ -2303,9 +2303,7 @@ class AppMeta extends BeanSimple {
|
|
|
2303
2303
|
this.locale = this.bean._newBean(AppLocale);
|
|
2304
2304
|
|
|
2305
2305
|
// hmr
|
|
2306
|
-
|
|
2307
|
-
this.hmr = this.bean._newBean(AppHmr);
|
|
2308
|
-
}
|
|
2306
|
+
this.hmr = this.bean._newBean(AppHmr);
|
|
2309
2307
|
|
|
2310
2308
|
// text
|
|
2311
2309
|
this.text = this.locale.createLocaleText();
|
|
@@ -2363,13 +2361,13 @@ class AppMeta extends BeanSimple {
|
|
|
2363
2361
|
// appClose
|
|
2364
2362
|
this.appClose = true;
|
|
2365
2363
|
// hook: appClose
|
|
2366
|
-
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');
|
|
2367
2365
|
// ctx counter
|
|
2368
2366
|
await this.app.meta.ctxCounter.awaitUntilZero();
|
|
2369
2367
|
// appClosed
|
|
2370
2368
|
this.appClosed = true;
|
|
2371
2369
|
// hook: appClosed
|
|
2372
|
-
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');
|
|
2373
2371
|
// container dispose
|
|
2374
2372
|
await this.app.bean.dispose();
|
|
2375
2373
|
// logger dispose
|
|
@@ -2695,7 +2693,7 @@ async function loadConfig (app, modules) {
|
|
|
2695
2693
|
if (module.resource.config) {
|
|
2696
2694
|
const configModule = await module.resource.config(app, app.options.env);
|
|
2697
2695
|
// configNew is not used by now
|
|
2698
|
-
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);
|
|
2699
2697
|
app.config.modules[module.info.relativeName] = deepExtend({}, configModule, app.config.modules[module.info.relativeName]);
|
|
2700
2698
|
}
|
|
2701
2699
|
}
|
|
@@ -2806,7 +2804,7 @@ class ModuleTools extends BeanSimple {
|
|
|
2806
2804
|
const modulesArray = modulesMeta.modulesMeta.moduleNames.map(relativeName => modules[relativeName]);
|
|
2807
2805
|
app.meta.modules = modules;
|
|
2808
2806
|
app.meta.modulesArray = modulesArray;
|
|
2809
|
-
app.meta.modulesMonkey =
|
|
2807
|
+
app.meta.modulesMonkey = [];
|
|
2810
2808
|
return modules;
|
|
2811
2809
|
}
|
|
2812
2810
|
async load() {
|
|
@@ -2818,14 +2816,14 @@ class ModuleTools extends BeanSimple {
|
|
|
2818
2816
|
}
|
|
2819
2817
|
if (module.resource.Monkey) {
|
|
2820
2818
|
module.monkeyInstance = app.bean._newBean(module.resource.Monkey, module);
|
|
2821
|
-
app.meta.modulesMonkey
|
|
2819
|
+
app.meta.modulesMonkey.push(module);
|
|
2822
2820
|
}
|
|
2823
2821
|
}
|
|
2824
2822
|
}
|
|
2825
|
-
async monkey(monkeyName) {
|
|
2823
|
+
async monkey(order, monkeyName) {
|
|
2826
2824
|
const app = this.app;
|
|
2827
2825
|
for (const module of app.meta.modulesArray) {
|
|
2828
|
-
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);
|
|
2829
2827
|
}
|
|
2830
2828
|
}
|
|
2831
2829
|
}
|
|
@@ -2840,14 +2838,14 @@ class ModuleLoader extends BeanSimple {
|
|
|
2840
2838
|
// load modules
|
|
2841
2839
|
await moduleTools.load();
|
|
2842
2840
|
// monkey modules
|
|
2843
|
-
await moduleTools.monkey('moduleLoading');
|
|
2841
|
+
await moduleTools.monkey(true, 'moduleLoading');
|
|
2844
2842
|
await loadConfig(app, modules);
|
|
2845
2843
|
await loadLocales(app, modules);
|
|
2846
2844
|
loadErrors(app, modules);
|
|
2847
2845
|
loadConstants(app, modules);
|
|
2848
2846
|
|
|
2849
2847
|
// monkey modules
|
|
2850
|
-
await moduleTools.monkey('moduleLoaded');
|
|
2848
|
+
await moduleTools.monkey(true, 'moduleLoaded');
|
|
2851
2849
|
}
|
|
2852
2850
|
}
|
|
2853
2851
|
|
|
@@ -2882,14 +2880,14 @@ class Start {
|
|
|
2882
2880
|
async _start_appStart() {
|
|
2883
2881
|
const app = this.app;
|
|
2884
2882
|
// hook: appStart
|
|
2885
|
-
await app.util.monkeyModule(app.meta.appMonkey, app.meta.modulesMonkey, 'appStart');
|
|
2883
|
+
await app.util.monkeyModule(app.meta.appMonkey, app.meta.modulesMonkey, true, 'appStart');
|
|
2886
2884
|
}
|
|
2887
2885
|
async _start_appReady() {
|
|
2888
2886
|
const app = this.app;
|
|
2889
2887
|
app.meta.appReady = true;
|
|
2890
2888
|
app.meta.appReadyInstances = {};
|
|
2891
2889
|
// hook: appReady
|
|
2892
|
-
await app.util.monkeyModule(app.meta.appMonkey, app.meta.modulesMonkey, 'appReady');
|
|
2890
|
+
await app.util.monkeyModule(app.meta.appMonkey, app.meta.modulesMonkey, true, 'appReady');
|
|
2893
2891
|
}
|
|
2894
2892
|
async _start_appStarted() {
|
|
2895
2893
|
const app = this.app;
|
|
@@ -2897,7 +2895,7 @@ class Start {
|
|
|
2897
2895
|
// event: appStarted
|
|
2898
2896
|
app.emit(EnumAppEvent.AppStarted);
|
|
2899
2897
|
// hook: appStarted
|
|
2900
|
-
await app.util.monkeyModule(app.meta.appMonkey, app.meta.modulesMonkey, 'appStarted');
|
|
2898
|
+
await app.util.monkeyModule(app.meta.appMonkey, app.meta.modulesMonkey, true, 'appStarted');
|
|
2901
2899
|
}
|
|
2902
2900
|
async _start_appConfig() {
|
|
2903
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.125",
|
|
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",
|