zova-core 5.1.94 → 5.1.95

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.
@@ -8,6 +8,10 @@ export declare class AppLocale extends BeanSimple {
8
8
  get metaCookie(): import("./cookie.ts").AppCookie;
9
9
  get current(): keyof ILocaleRecord;
10
10
  set current(value: keyof ILocaleRecord | '' | undefined);
11
+ normalize(value: unknown): keyof ILocaleRecord;
12
+ getItems(items?: Partial<Record<keyof ILocaleRecord, string>>): Partial<Record<keyof ILocaleRecord, string>> | {
13
+ [k: string]: string;
14
+ };
11
15
  private _cookieEnabled;
12
16
  get tz(): string;
13
17
  set tz(value: string);
@@ -1 +1 @@
1
- {"version":3,"file":"locale.d.ts","sourceRoot":"","sources":["../../../src/core/component/locale.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,aAAa,EAGd,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAItD,QAAA,MAAM,mBAAmB,eAAgC,CAAC;AAC1D,QAAA,MAAM,eAAe,eAA4B,CAAC;AAElD,qBAAa,SAAU,SAAQ,UAAU;IACvC,OAAO,CAAC,CAAC,mBAAmB,CAAC,CAAkC;IAC/D,OAAO,CAAC,CAAC,eAAe,CAAC,CAAkC;IAE3D,IAAI,UAAU,oCAEb;IAED,IAAI,OAAO,IAAI,MAAM,aAAa,CASjC;IAED,IAAI,OAAO,CAAC,KAAK,EAAE,MAAM,aAAa,GAAG,EAAE,GAAG,SAAS,EAOtD;IAED,OAAO,CAAC,cAAc;IAItB,IAAI,EAAE,IAAI,MAAM,CASf;IAED,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,EAInB;IAsCM,OAAO,CAAC,CAAC,SAAS,MAAM,aAAa,EAC1C,oBAAoB,EAAE,OAAO,EAC7B,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,MAAM,EAAE,CAAC,GAAG,SAAS,EACrB,GAAG,EAAE,MAAM,EACX,GAAG,IAAI,EAAE,GAAG,EAAE,GACb,MAAM;CAiBV"}
1
+ {"version":3,"file":"locale.d.ts","sourceRoot":"","sources":["../../../src/core/component/locale.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,aAAa,EAGd,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAKtD,QAAA,MAAM,mBAAmB,eAAgC,CAAC;AAC1D,QAAA,MAAM,eAAe,eAA4B,CAAC;AAElD,qBAAa,SAAU,SAAQ,UAAU;IACvC,OAAO,CAAC,CAAC,mBAAmB,CAAC,CAAkC;IAC/D,OAAO,CAAC,CAAC,eAAe,CAAC,CAAkC;IAE3D,IAAI,UAAU,oCAEb;IAED,IAAI,OAAO,IAAI,MAAM,aAAa,CAQjC;IAED,IAAI,OAAO,CAAC,KAAK,EAAE,MAAM,aAAa,GAAG,EAAE,GAAG,SAAS,EAOtD;IAEM,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,aAAa;IAI9C,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,aAAa,EAAE,MAAM,CAAC,CAAC;;;IAMpE,OAAO,CAAC,cAAc;IAItB,IAAI,EAAE,IAAI,MAAM,CASf;IAED,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,EAInB;IAsCM,OAAO,CAAC,CAAC,SAAS,MAAM,aAAa,EAC1C,oBAAoB,EAAE,OAAO,EAC7B,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,MAAM,EAAE,CAAC,GAAG,SAAS,EACrB,GAAG,EAAE,MAAM,EACX,GAAG,IAAI,EAAE,GAAG,EAAE,GACb,MAAM;CAiBV"}
@@ -56,7 +56,7 @@ export interface ZovaConfig {
56
56
  locale: {
57
57
  default: keyof ILocaleRecord;
58
58
  storeKey: string;
59
- items: Record<keyof ILocaleRecord, string>;
59
+ items: Partial<Record<keyof ILocaleRecord, string>>;
60
60
  };
61
61
  tz: {
62
62
  storeKey: string;
@@ -73,4 +73,6 @@ export interface ZovaConfig {
73
73
  modules: IBeanScopeConfig;
74
74
  }
75
75
  export type ZovaConfigOptional = PowerPartial<ZovaConfig>;
76
+ export declare function validateLocaleConfig(locale: ZovaConfig['locale']): void;
77
+ export declare function normalizeLocale(value: unknown, locale: ZovaConfig['locale']): keyof ILocaleRecord;
76
78
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/core/sys/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/core/sys/config.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"locale.d.ts","sourceRoot":"","sources":["../../../src/core/sys/locale.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,+BAA+B,EAEhC,MAAM,iCAAiC,CAAC;AAGzC,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnD,qBAAa,SAAU,SAAQ,SAAS;IAG/B,aAAa,EAAE,+BAA+B,CAAM;IA2B3D,OAAO,CAAC,eAAe;CAWxB"}
1
+ {"version":3,"file":"locale.d.ts","sourceRoot":"","sources":["../../../src/core/sys/locale.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,+BAA+B,EAEhC,MAAM,iCAAiC,CAAC;AAGzC,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnD,qBAAa,SAAU,SAAQ,SAAS;IAG/B,aAAa,EAAE,+BAA+B,CAAM;IAmD3D,OAAO,CAAC,eAAe;CAWxB"}
@@ -1 +1 @@
1
- {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../src/core/sys/module.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAMhE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,KAAK,EAKV,qBAAqB,EAEtB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAKtD,qBAAa,SAAU,SAAQ,UAAU;IAChC,WAAW,EAAE,qBAAqB,GAAG,SAAS,CAAC;IACtD,OAAO,CAAC,OAAO,CAAgD;IAC/D,OAAO,CAAC,aAAa,CAAsC;IAC3D,OAAO,CAAC,eAAe,CAAqD;IAmBrE,cAAc,IAAI,qBAAqB,GAAG,SAAS;IAI1D,OAAO,CAAC,kBAAkB;IAQ1B,GAAG,CAAC,CAAC,SAAS,uBAAuB,EAAE,UAAU,EAAE,CAAC,GAAG,OAAO,GAAG,SAAS;IAC1E,GAAG,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAC5C,GAAG,CAAC,UAAU,EAAE,WAAW,GAAG,OAAO,GAAG,SAAS;IAmB3C,GAAG,CAAC,CAAC,SAAS,uBAAuB,EAAE,UAAU,EAAE,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IACvE,GAAG,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IACzC,GAAG,CAAC,UAAU,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;IAqBpD,MAAM,CAAC,CAAC,SAAS,uBAAuB,EAAE,UAAU,EAAE,CAAC,GAAG,OAAO;IACjE,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IACnC,MAAM,CAAC,UAAU,EAAE,WAAW,GAAG,OAAO;YAa1B,kCAAkC;IAqBnC,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE;YAyBhC,oBAAoB;YAiBpB,iBAAiB;YAyCjB,aAAa;YA2Bb,kBAAkB;IAOhC,OAAO,CAAC,eAAe;IAKvB,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,kBAAkB;YAUZ,eAAe;CAyG9B"}
1
+ {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../src/core/sys/module.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAMhE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,KAAK,EAKV,qBAAqB,EAEtB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAKtD,qBAAa,SAAU,SAAQ,UAAU;IAChC,WAAW,EAAE,qBAAqB,GAAG,SAAS,CAAC;IACtD,OAAO,CAAC,OAAO,CAAgD;IAC/D,OAAO,CAAC,aAAa,CAAsC;IAC3D,OAAO,CAAC,eAAe,CAAqD;IAoBrE,cAAc,IAAI,qBAAqB,GAAG,SAAS;IAI1D,OAAO,CAAC,kBAAkB;IAQ1B,GAAG,CAAC,CAAC,SAAS,uBAAuB,EAAE,UAAU,EAAE,CAAC,GAAG,OAAO,GAAG,SAAS;IAC1E,GAAG,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAC5C,GAAG,CAAC,UAAU,EAAE,WAAW,GAAG,OAAO,GAAG,SAAS;IAmB3C,GAAG,CAAC,CAAC,SAAS,uBAAuB,EAAE,UAAU,EAAE,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IACvE,GAAG,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IACzC,GAAG,CAAC,UAAU,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;IAqBpD,MAAM,CAAC,CAAC,SAAS,uBAAuB,EAAE,UAAU,EAAE,CAAC,GAAG,OAAO;IACjE,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IACnC,MAAM,CAAC,UAAU,EAAE,WAAW,GAAG,OAAO;YAa1B,kCAAkC;IAsBnC,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE;YAyBhC,oBAAoB;YAiBpB,iBAAiB;YA4CjB,aAAa;YA2Bb,kBAAkB;IAOhC,OAAO,CAAC,eAAe;IAKvB,OAAO,CAAC,gBAAgB;IAWxB,OAAO,CAAC,kBAAkB;YAUZ,eAAe;CAyG9B"}
@@ -1 +1 @@
1
- {"version":3,"file":"sys.d.ts","sourceRoot":"","sources":["../../../src/core/sys/sys.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAElD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAK5D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,OAAO,EAAc,OAAO,EAAE,MAAM,WAAW,CAAC;AAEhD,QAAA,MAAM,0BAA0B,eAAuC,CAAC;AACxE,QAAA,MAAM,cAAc,eAA2B,CAAC;AAEhD,qBAAa,OAAO;IAClB,OAAO,CAAC,CAAC,0BAA0B,CAAC,CAA4B;IAChE,OAAO,CAAC,CAAC,cAAc,CAAC,CAAU;IAClC,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,UAAU,CAAC;IACnB,cAAc,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IACpC,GAAG,EAAE,aAAa,CAAC;IACnB,QAAQ,EAAE,YAAY,CAAC;;YAsBT,gBAAgB;IAqC9B,OAAO,CAAC,UAAU;IAkBX,KAAK;YAeE,cAAc;IAS5B,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,mBAAmB;IAQ3B,OAAO,CAAC,kBAAkB;CAM3B;AAcD,eAAO,MAAM,GAAG,SAAgB,CAAC"}
1
+ {"version":3,"file":"sys.d.ts","sourceRoot":"","sources":["../../../src/core/sys/sys.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAElD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAK5D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,OAAO,EAAc,OAAO,EAAE,MAAM,WAAW,CAAC;AAEhD,QAAA,MAAM,0BAA0B,eAAuC,CAAC;AACxE,QAAA,MAAM,cAAc,eAA2B,CAAC;AAEhD,qBAAa,OAAO;IAClB,OAAO,CAAC,CAAC,0BAA0B,CAAC,CAA4B;IAChE,OAAO,CAAC,CAAC,cAAc,CAAC,CAAU;IAClC,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,UAAU,CAAC;IACnB,cAAc,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IACpC,GAAG,EAAE,aAAa,CAAC;IACnB,QAAQ,EAAE,YAAY,CAAC;;YAsBT,gBAAgB;IAqC9B,OAAO,CAAC,UAAU;IAkBX,KAAK;YAeE,cAAc;IAc5B,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,mBAAmB;IAQ3B,OAAO,CAAC,kBAAkB;CAM3B;AAcD,eAAO,MAAM,GAAG,SAAgB,CAAC"}
package/dist/index.js CHANGED
@@ -2496,6 +2496,24 @@ function configDefault(env) {
2496
2496
  };
2497
2497
  return config;
2498
2498
  }
2499
+ function validateLocaleConfig(locale) {
2500
+ if (!locale?.items || Object.keys(locale.items).length === 0) {
2501
+ throw new Error('config.locale.items must contain at least one enabled locale');
2502
+ }
2503
+ for (const [key, label] of Object.entries(locale.items)) {
2504
+ if (!key || key.trim().toLowerCase().replaceAll('_', '-') !== key || typeof label !== 'string') {
2505
+ throw new Error(`config.locale.items contains an invalid locale: ${key}`);
2506
+ }
2507
+ }
2508
+ if (!Object.hasOwn(locale.items, locale.default)) {
2509
+ throw new Error('config.locale.default must be an enabled own key of config.locale.items');
2510
+ }
2511
+ }
2512
+ function normalizeLocale(value, locale) {
2513
+ validateLocaleConfig(locale);
2514
+ const canonical = typeof value === 'string' ? value.trim().toLowerCase().replaceAll('_', '-') : '';
2515
+ return Object.hasOwn(locale.items, canonical) ? canonical : locale.default;
2516
+ }
2499
2517
 
2500
2518
  const constantDefault = {
2501
2519
  modules: {}
@@ -2859,17 +2877,24 @@ class AppLocale extends BeanSimple {
2859
2877
  if (!locale) {
2860
2878
  locale = this.metaCookie.getItem(this.sys.config.locale.storeKey);
2861
2879
  }
2862
- if (!locale) locale = this.sys.config.locale.default;
2863
- return locale;
2880
+ return this.normalize(locale);
2864
2881
  }
2865
2882
  set current(value) {
2866
- if (!value) value = this.sys.config.locale.default;
2883
+ value = this.normalize(value);
2867
2884
  if (this[SymbolLocaleCurrent].value === value) return;
2868
2885
  this[SymbolLocaleCurrent].value = value;
2869
2886
  if (this._cookieEnabled()) {
2870
2887
  this.metaCookie.setItem(this.sys.config.locale.storeKey, value);
2871
2888
  }
2872
2889
  }
2890
+ normalize(value) {
2891
+ return normalizeLocale(value, this.sys.config.locale);
2892
+ }
2893
+ getItems(items) {
2894
+ const enabled = this.sys.config.locale.items;
2895
+ if (!items) return enabled;
2896
+ return Object.fromEntries(Object.entries(items).filter(([key]) => Object.hasOwn(enabled, key)));
2897
+ }
2873
2898
  _cookieEnabled() {
2874
2899
  return !process.env.SERVER || cast(this.ctx.meta).$ssr.profileOptions.useCookie;
2875
2900
  }
@@ -2960,6 +2985,25 @@ class SysLocale extends AppLocale {
2960
2985
  this._registerLocale(moduleName, locale, locales[locale]);
2961
2986
  }
2962
2987
  }
2988
+
2989
+ /** @internal */
2990
+ _registerProviderLocales(locales, modules) {
2991
+ if (!locales) return;
2992
+ for (const [locale, resource] of Object.entries(locales)) {
2993
+ const {
2994
+ modules: targets,
2995
+ ...globals
2996
+ } = resource;
2997
+ // Provider envelopes are data, never a message or a provider-owned scope.
2998
+ const strings = Object.fromEntries(Object.entries(globals).filter(([, value]) => typeof value === 'string'));
2999
+ this.locales[locale] = Object.assign({}, strings, this.locales[locale]);
3000
+ for (const [moduleName, dictionary] of Object.entries(targets ?? {})) {
3001
+ // Membership, not installation: a translated target must remain lazy.
3002
+ if (!Object.hasOwn(modules, moduleName)) continue;
3003
+ this._registerLocale(moduleName, locale, dictionary);
3004
+ }
3005
+ }
3006
+ }
2963
3007
  _registerLocale(moduleName, locale, moduleLocales) {
2964
3008
  // locales
2965
3009
  this.locales[locale] = Object.assign({}, moduleLocales, this.locales[locale]);
@@ -2981,6 +3025,7 @@ class SysModule extends BeanSimple {
2981
3025
  async initialize(modulesMeta) {
2982
3026
  this.modulesMeta = modulesMeta;
2983
3027
  await this._loadAllMonkeysAndSyncsAndPreloads();
3028
+ await this._requireAllSpecifics('locale');
2984
3029
  await this._requireAllSpecifics('preload');
2985
3030
  await this._requireAllSpecifics('monkey');
2986
3031
  await this._requireAllSpecifics('sync');
@@ -3053,7 +3098,7 @@ class SysModule extends BeanSimple {
3053
3098
  for (const moduleName of modulesMeta.moduleNames) {
3054
3099
  const module = modulesMeta.modules[moduleName];
3055
3100
  const info = module.info;
3056
- const shouldLoad = process.env.SERVER || info.capabilities?.monkey || info.capabilities?.sync || info.capabilities?.preload;
3101
+ const shouldLoad = process.env.SERVER || info.capabilities?.monkey || info.capabilities?.sync || info.capabilities?.preload || info.capabilities?.locale;
3057
3102
  if (shouldLoad) {
3058
3103
  const moduleResource = module.resource;
3059
3104
  if (typeof moduleResource === 'function') {
@@ -3106,7 +3151,7 @@ class SysModule extends BeanSimple {
3106
3151
  for (const moduleName of modulesMeta.moduleNames) {
3107
3152
  const module = modulesMeta.modules[moduleName];
3108
3153
  const info = module.info;
3109
- const shouldInstall = !info.capabilities?.monkey && !info.capabilities?.sync && !info.capabilities?.preload;
3154
+ const shouldInstall = !info.capabilities?.locale && !info.capabilities?.monkey && !info.capabilities?.sync && !info.capabilities?.preload;
3110
3155
  if (shouldInstall) {
3111
3156
  await this._install(moduleName, module);
3112
3157
  }
@@ -3169,7 +3214,11 @@ class SysModule extends BeanSimple {
3169
3214
  this.sys.meta.error.errors[module.info.relativeName] = module.resource.errors;
3170
3215
  }
3171
3216
  _registerLocales(module) {
3172
- this.sys.meta.locale._registerLocales(module.info.relativeName, module.resource.locales);
3217
+ if (module.info.capabilities?.locale) {
3218
+ this.sys.meta.locale._registerProviderLocales(module.resource.localesProvider, this._ensureModulesMeta().modules);
3219
+ } else {
3220
+ this.sys.meta.locale._registerLocales(module.info.relativeName, module.resource.locales);
3221
+ }
3173
3222
  }
3174
3223
  _registerConstants(module) {
3175
3224
  if (!module.resource.constants) return;
@@ -3433,8 +3482,15 @@ class ZovaSys {
3433
3482
  async _combineConfig(config) {
3434
3483
  const _config = deepExtend({}, configDefault(this.env));
3435
3484
  for (const configFn of config) {
3436
- deepExtend(_config, await configFn(this));
3485
+ const layer = await configFn(this);
3486
+ deepExtend(_config, layer);
3487
+ // The enabled set is a policy replacement, not an additive dictionary.
3488
+ const items = layer.locale?.items;
3489
+ if (items !== undefined) _config.locale.items = {
3490
+ ...items
3491
+ };
3437
3492
  }
3493
+ validateLocaleConfig(_config.locale);
3438
3494
  return _config;
3439
3495
  }
3440
3496
 
@@ -4797,5 +4853,5 @@ function $protocolKey(key) {
4797
4853
  return key;
4798
4854
  }
4799
4855
 
4800
- export { $getBeanName, $protocolKey, AppError, AppLocale, AppMeta, AppMetadata, AppModule, AppResource, BeanAopBase, BeanAopMethodBase, BeanBase, BeanBaseSimple, BeanContainer, BeanControllerBase, BeanControllerIdentifier, BeanControllerLike, BeanControllerPageBase, BeanInfo, BeanRenderBase, BeanRenderIdentifier, BeanRenderLike, BeanScopeBase, BeanScopeError, BeanScopeLocale, BeanScopeUtil, BeanSimple, BeanStyleBase, BeanStyleIdentifier, ClientOnly, CtxComponent, CtxMeta, CtxState, CtxUtil, DecoratorBeanFullName, ErrorClass, LocaleModuleNameSeparator, LocalePattern, MixinClass, OmitClass, PartialClass, PickClass, PluginBean, PluginZova, Preload, ProxyDisable, StateLock, SymbolBeanContainerInstances, SymbolBeanFullName, SymbolBeanInstanceKey, SymbolController, SymbolControllerRefDisable, SymbolDecoratorBeanInfo, SymbolDecoratorPreload, SymbolDecoratorProxyDisable, SymbolDecoratorUse, SymbolDecoratorVirtual, SymbolDecoratorVueElements, SymbolErrorInstanceInfo, SymbolInited, SymbolInstalled, SymbolMappedClassMetadataKeys, SymbolModuleBelong, SymbolModuleName, SysComponent, SysError, SysLocale, SysLogger, SysMeta, SysModule, SysUtil, Use, UseScope, Virtual, ZovaApplication, ZovaContext, ZovaSys, __prepareInjectSelectorInfo, appMetadata, appResource, beanFullNameFromOnionName, bootstrap, cast, configDefault, constantDefault, convertToUnit, copyMetadataOfClasses, copyProperties, copyPropertiesOfClasses, createBeanDecorator, createVueDecorator, createZovaComponentAsync, createZovaComponentPage, deepEqual, deepExtend, disposeInstance, errorsInternal, formatLoggerConsole, formatLoggerFilter, functionNoop, getLoggerFilterLevel, getMappedClassMetadataKeys, isHttpUrl, isUuid, localeDefault, modelGet, modelSet, normalizeError, objectAssignReactive, onionNameFromBeanFullName, polyfillDispose, prepareComponentOptions, registerMappedClassMetadataKey, setLoggerFilterLevel, ssr_load_local, sys, throwErrorComponentUnmounted, useApp, useComputed, useContext, useController, useControllerPage, usePrepareArg, usePrepareArgs, uuid };
4856
+ export { $getBeanName, $protocolKey, AppError, AppLocale, AppMeta, AppMetadata, AppModule, AppResource, BeanAopBase, BeanAopMethodBase, BeanBase, BeanBaseSimple, BeanContainer, BeanControllerBase, BeanControllerIdentifier, BeanControllerLike, BeanControllerPageBase, BeanInfo, BeanRenderBase, BeanRenderIdentifier, BeanRenderLike, BeanScopeBase, BeanScopeError, BeanScopeLocale, BeanScopeUtil, BeanSimple, BeanStyleBase, BeanStyleIdentifier, ClientOnly, CtxComponent, CtxMeta, CtxState, CtxUtil, DecoratorBeanFullName, ErrorClass, LocaleModuleNameSeparator, LocalePattern, MixinClass, OmitClass, PartialClass, PickClass, PluginBean, PluginZova, Preload, ProxyDisable, StateLock, SymbolBeanContainerInstances, SymbolBeanFullName, SymbolBeanInstanceKey, SymbolController, SymbolControllerRefDisable, SymbolDecoratorBeanInfo, SymbolDecoratorPreload, SymbolDecoratorProxyDisable, SymbolDecoratorUse, SymbolDecoratorVirtual, SymbolDecoratorVueElements, SymbolErrorInstanceInfo, SymbolInited, SymbolInstalled, SymbolMappedClassMetadataKeys, SymbolModuleBelong, SymbolModuleName, SysComponent, SysError, SysLocale, SysLogger, SysMeta, SysModule, SysUtil, Use, UseScope, Virtual, ZovaApplication, ZovaContext, ZovaSys, __prepareInjectSelectorInfo, appMetadata, appResource, beanFullNameFromOnionName, bootstrap, cast, configDefault, constantDefault, convertToUnit, copyMetadataOfClasses, copyProperties, copyPropertiesOfClasses, createBeanDecorator, createVueDecorator, createZovaComponentAsync, createZovaComponentPage, deepEqual, deepExtend, disposeInstance, errorsInternal, formatLoggerConsole, formatLoggerFilter, functionNoop, getLoggerFilterLevel, getMappedClassMetadataKeys, isHttpUrl, isUuid, localeDefault, modelGet, modelSet, normalizeError, normalizeLocale, objectAssignReactive, onionNameFromBeanFullName, polyfillDispose, prepareComponentOptions, registerMappedClassMetadataKey, setLoggerFilterLevel, ssr_load_local, sys, throwErrorComponentUnmounted, useApp, useComputed, useContext, useController, useControllerPage, usePrepareArg, usePrepareArgs, uuid, validateLocaleConfig };
4801
4857
  //# sourceMappingURL=index.js.map