@vlian/framework 1.2.60 → 1.2.62
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/analytics.umd.js +1 -1
- package/dist/components/index.cjs +1 -1
- package/dist/components/index.d.ts +0 -4
- package/dist/components/index.js +1 -1
- package/dist/core-bak/Test.cjs +1 -0
- package/dist/core-bak/Test.d.ts +5 -0
- package/dist/core-bak/Test.js +1 -0
- package/dist/core-bak/app/AppContext.cjs +1 -0
- package/dist/core-bak/app/AppContext.d.ts +113 -0
- package/dist/core-bak/app/AppContext.js +1 -0
- package/dist/core-bak/app/AppContext.types.cjs +1 -0
- package/dist/core-bak/app/AppContext.types.d.ts +146 -0
- package/dist/core-bak/app/AppContext.types.js +1 -0
- package/dist/core-bak/app/BasicLayout.cjs +1 -0
- package/dist/core-bak/app/BasicLayout.d.ts +15 -0
- package/dist/core-bak/app/BasicLayout.js +1 -0
- package/dist/core-bak/app/DefaultApp.cjs +1 -0
- package/dist/core-bak/app/DefaultApp.d.ts +10 -0
- package/dist/core-bak/app/DefaultApp.js +1 -0
- package/dist/core-bak/app/index.cjs +1 -0
- package/dist/core-bak/app/index.d.ts +8 -0
- package/dist/core-bak/app/index.js +1 -0
- package/dist/core-bak/config/AppConfig.cjs +1 -0
- package/dist/core-bak/config/AppConfig.d.ts +88 -0
- package/dist/core-bak/config/AppConfig.js +1 -0
- package/dist/core-bak/config/ConfigLoader.cjs +1 -0
- package/dist/core-bak/config/ConfigLoader.d.ts +118 -0
- package/dist/core-bak/config/ConfigLoader.js +1 -0
- package/dist/core-bak/config/ConfigValidator.cjs +2 -0
- package/dist/core-bak/config/ConfigValidator.d.ts +84 -0
- package/dist/core-bak/config/ConfigValidator.js +2 -0
- package/dist/core-bak/config/index.cjs +1 -0
- package/dist/core-bak/config/index.d.ts +6 -0
- package/dist/core-bak/config/index.js +1 -0
- package/dist/core-bak/dev/DevTools.cjs +1 -0
- package/dist/core-bak/dev/DevTools.d.ts +16 -0
- package/dist/core-bak/dev/DevTools.js +1 -0
- package/dist/core-bak/error/ErrorBoundary.cjs +1 -0
- package/dist/core-bak/error/ErrorBoundary.d.ts +121 -0
- package/dist/core-bak/error/ErrorBoundary.js +1 -0
- package/dist/core-bak/error/ErrorHandler.cjs +1 -0
- package/dist/core-bak/error/ErrorHandler.d.ts +171 -0
- package/dist/core-bak/error/ErrorHandler.js +1 -0
- package/dist/core-bak/error/index.cjs +1 -0
- package/dist/core-bak/error/index.d.ts +7 -0
- package/dist/core-bak/error/index.js +1 -0
- package/dist/core-bak/event/AppEventBus.cjs +1 -0
- package/dist/core-bak/event/AppEventBus.d.ts +178 -0
- package/dist/core-bak/event/AppEventBus.js +1 -0
- package/dist/core-bak/event/frameworkEvents.cjs +1 -0
- package/dist/core-bak/event/frameworkEvents.d.ts +69 -0
- package/dist/core-bak/event/frameworkEvents.js +1 -0
- package/dist/core-bak/event/hooks.cjs +1 -0
- package/dist/core-bak/event/hooks.d.ts +57 -0
- package/dist/core-bak/event/hooks.js +1 -0
- package/dist/core-bak/event/index.cjs +1 -0
- package/dist/core-bak/event/index.d.ts +10 -0
- package/dist/core-bak/event/index.js +1 -0
- package/dist/core-bak/event/types.cjs +1 -0
- package/dist/core-bak/event/types.d.ts +269 -0
- package/dist/core-bak/event/types.js +1 -0
- package/dist/core-bak/event/useEventBus.cjs +1 -0
- package/dist/core-bak/event/useEventBus.d.ts +28 -0
- package/dist/core-bak/event/useEventBus.js +1 -0
- package/dist/core-bak/index.cjs +1 -0
- package/dist/core-bak/index.d.ts +54 -0
- package/dist/core-bak/index.js +1 -0
- package/dist/core-bak/initialization/InitializationErrorThrower.cjs +1 -0
- package/dist/core-bak/initialization/InitializationErrorThrower.d.ts +7 -0
- package/dist/core-bak/initialization/InitializationErrorThrower.js +1 -0
- package/dist/core-bak/initialization/index.cjs +1 -0
- package/dist/core-bak/initialization/index.d.ts +7 -0
- package/dist/core-bak/initialization/index.js +1 -0
- package/dist/core-bak/initialization/initialization.cjs +1 -0
- package/dist/core-bak/initialization/initialization.d.ts +69 -0
- package/dist/core-bak/initialization/initialization.js +1 -0
- package/dist/core-bak/initialization/initializationErrorState.cjs +1 -0
- package/dist/core-bak/initialization/initializationErrorState.d.ts +35 -0
- package/dist/core-bak/initialization/initializationErrorState.js +1 -0
- package/dist/core-bak/kernel/defaultAdapters.cjs +1 -0
- package/dist/core-bak/kernel/defaultAdapters.d.ts +2 -0
- package/dist/core-bak/kernel/defaultAdapters.js +1 -0
- package/dist/core-bak/kernel/errors.cjs +1 -0
- package/dist/core-bak/kernel/errors.d.ts +18 -0
- package/dist/core-bak/kernel/errors.js +1 -0
- package/dist/core-bak/kernel/index.cjs +1 -0
- package/dist/core-bak/kernel/index.d.ts +3 -0
- package/dist/core-bak/kernel/index.js +1 -0
- package/dist/core-bak/kernel/startKernel.cjs +1 -0
- package/dist/core-bak/kernel/startKernel.d.ts +2 -0
- package/dist/core-bak/kernel/startKernel.js +1 -0
- package/dist/core-bak/kernel/types.cjs +1 -0
- package/dist/core-bak/kernel/types.d.ts +114 -0
- package/dist/core-bak/kernel/types.js +1 -0
- package/dist/core-bak/middleware.cjs +1 -0
- package/dist/core-bak/middleware.d.ts +36 -0
- package/dist/core-bak/middleware.js +1 -0
- package/dist/core-bak/plugin/PluginEventBus.cjs +1 -0
- package/dist/core-bak/plugin/PluginEventBus.d.ts +169 -0
- package/dist/core-bak/plugin/PluginEventBus.js +1 -0
- package/dist/core-bak/plugin/PluginSandbox.cjs +1 -0
- package/dist/core-bak/plugin/PluginSandbox.d.ts +101 -0
- package/dist/core-bak/plugin/PluginSandbox.js +1 -0
- package/dist/core-bak/plugin.cjs +1 -0
- package/dist/core-bak/plugin.d.ts +224 -0
- package/dist/core-bak/plugin.js +1 -0
- package/dist/core-bak/router/RouterManager.cjs +1 -0
- package/dist/core-bak/router/RouterManager.d.ts +87 -0
- package/dist/core-bak/router/RouterManager.js +1 -0
- package/dist/core-bak/router/adapter/AdapterManager.cjs +1 -0
- package/dist/core-bak/router/adapter/AdapterManager.d.ts +94 -0
- package/dist/core-bak/router/adapter/AdapterManager.js +1 -0
- package/dist/core-bak/router/adapter/index.cjs +1 -0
- package/dist/core-bak/router/adapter/index.d.ts +6 -0
- package/dist/core-bak/router/adapter/index.js +1 -0
- package/dist/core-bak/router/adapter/react-router/ReactRouterAdapter.cjs +1 -0
- package/dist/core-bak/router/adapter/react-router/ReactRouterAdapter.d.ts +43 -0
- package/dist/core-bak/router/adapter/react-router/ReactRouterAdapter.js +1 -0
- package/dist/core-bak/router/adapter/react-router/index.cjs +1 -0
- package/dist/core-bak/router/adapter/react-router/index.d.ts +4 -0
- package/dist/core-bak/router/adapter/react-router/index.js +1 -0
- package/dist/core-bak/router/adapter/types.cjs +1 -0
- package/dist/core-bak/router/adapter/types.d.ts +111 -0
- package/dist/core-bak/router/adapter/types.js +1 -0
- package/dist/core-bak/router/dev/RouterDevTools.cjs +1 -0
- package/dist/core-bak/router/dev/RouterDevTools.d.ts +5 -0
- package/dist/core-bak/router/dev/RouterDevTools.js +1 -0
- package/dist/core-bak/router/dev/index.cjs +1 -0
- package/dist/core-bak/router/dev/index.d.ts +4 -0
- package/dist/core-bak/router/dev/index.js +1 -0
- package/dist/core-bak/router/dynamic/DynamicRouteManager.cjs +1 -0
- package/dist/core-bak/router/dynamic/DynamicRouteManager.d.ts +71 -0
- package/dist/core-bak/router/dynamic/DynamicRouteManager.js +1 -0
- package/dist/core-bak/router/dynamic/index.cjs +1 -0
- package/dist/core-bak/router/dynamic/index.d.ts +4 -0
- package/dist/core-bak/router/dynamic/index.js +1 -0
- package/dist/core-bak/router/errors/RouterError.cjs +1 -0
- package/dist/core-bak/router/errors/RouterError.d.ts +48 -0
- package/dist/core-bak/router/errors/RouterError.js +1 -0
- package/dist/core-bak/router/errors/index.cjs +1 -0
- package/dist/core-bak/router/errors/index.d.ts +4 -0
- package/dist/core-bak/router/errors/index.js +1 -0
- package/dist/core-bak/router/index.cjs +1 -0
- package/dist/core-bak/router/index.d.ts +16 -0
- package/dist/core-bak/router/index.js +1 -0
- package/dist/core-bak/router/lifecycle/RouterLifecycleManager.cjs +1 -0
- package/dist/core-bak/router/lifecycle/RouterLifecycleManager.d.ts +56 -0
- package/dist/core-bak/router/lifecycle/RouterLifecycleManager.js +1 -0
- package/dist/core-bak/router/lifecycle/index.cjs +1 -0
- package/dist/core-bak/router/lifecycle/index.d.ts +4 -0
- package/dist/core-bak/router/lifecycle/index.js +1 -0
- package/dist/core-bak/router/middleware/RouterMiddlewareManager.cjs +1 -0
- package/dist/core-bak/router/middleware/RouterMiddlewareManager.d.ts +61 -0
- package/dist/core-bak/router/middleware/RouterMiddlewareManager.js +1 -0
- package/dist/core-bak/router/middleware/auth.cjs +1 -0
- package/dist/core-bak/router/middleware/auth.d.ts +54 -0
- package/dist/core-bak/router/middleware/auth.js +1 -0
- package/dist/core-bak/router/middleware/index.cjs +1 -0
- package/dist/core-bak/router/middleware/index.d.ts +6 -0
- package/dist/core-bak/router/middleware/index.js +1 -0
- package/dist/core-bak/router/middleware/types.cjs +1 -0
- package/dist/core-bak/router/middleware/types.d.ts +82 -0
- package/dist/core-bak/router/middleware/types.js +1 -0
- package/dist/core-bak/router/monitoring/RouterMonitoring.cjs +1 -0
- package/dist/core-bak/router/monitoring/RouterMonitoring.d.ts +134 -0
- package/dist/core-bak/router/monitoring/RouterMonitoring.js +1 -0
- package/dist/core-bak/router/monitoring/index.cjs +1 -0
- package/dist/core-bak/router/monitoring/index.d.ts +4 -0
- package/dist/core-bak/router/monitoring/index.js +1 -0
- package/dist/core-bak/router/navigation/RouterNavigation.cjs +1 -0
- package/dist/core-bak/router/navigation/RouterNavigation.d.ts +43 -0
- package/dist/core-bak/router/navigation/RouterNavigation.js +1 -0
- package/dist/core-bak/router/navigation/index.cjs +1 -0
- package/dist/core-bak/router/navigation/index.d.ts +4 -0
- package/dist/core-bak/router/navigation/index.js +1 -0
- package/dist/core-bak/router/performance/RouteCache.cjs +1 -0
- package/dist/core-bak/router/performance/RouteCache.d.ts +113 -0
- package/dist/core-bak/router/performance/RouteCache.js +1 -0
- package/dist/core-bak/router/performance/RoutePreloader.cjs +1 -0
- package/dist/core-bak/router/performance/RoutePreloader.d.ts +111 -0
- package/dist/core-bak/router/performance/RoutePreloader.js +1 -0
- package/dist/core-bak/router/performance/index.cjs +1 -0
- package/dist/core-bak/router/performance/index.d.ts +5 -0
- package/dist/core-bak/router/performance/index.js +1 -0
- package/dist/core-bak/router/plugin/RouterPluginManager.cjs +1 -0
- package/dist/core-bak/router/plugin/RouterPluginManager.d.ts +74 -0
- package/dist/core-bak/router/plugin/RouterPluginManager.js +1 -0
- package/dist/core-bak/router/plugin/index.cjs +1 -0
- package/dist/core-bak/router/plugin/index.d.ts +5 -0
- package/dist/core-bak/router/plugin/index.js +1 -0
- package/dist/core-bak/router/plugin/types.cjs +1 -0
- package/dist/core-bak/router/plugin/types.d.ts +153 -0
- package/dist/core-bak/router/plugin/types.js +1 -0
- package/dist/core-bak/router/types.cjs +1 -0
- package/dist/core-bak/router/types.d.ts +464 -0
- package/dist/core-bak/router/types.js +1 -0
- package/dist/core-bak/router/utils/adapters/react-router/RouteErrorBoundary.cjs +1 -0
- package/dist/core-bak/router/utils/adapters/react-router/RouteErrorBoundary.d.ts +2 -0
- package/dist/core-bak/router/utils/adapters/react-router/RouteErrorBoundary.js +1 -0
- package/dist/core-bak/router/utils/adapters/react-router/transform.cjs +1 -0
- package/dist/core-bak/router/utils/adapters/react-router/transform.d.ts +5 -0
- package/dist/core-bak/router/utils/adapters/react-router/transform.js +1 -0
- package/dist/core-bak/router/utils/transform.cjs +1 -0
- package/dist/core-bak/router/utils/transform.d.ts +348 -0
- package/dist/core-bak/router/utils/transform.js +1 -0
- package/dist/core-bak/router/validation/RouterConfigValidator.cjs +2 -0
- package/dist/core-bak/router/validation/RouterConfigValidator.d.ts +121 -0
- package/dist/core-bak/router/validation/RouterConfigValidator.js +2 -0
- package/dist/core-bak/router/validation/index.cjs +1 -0
- package/dist/core-bak/router/validation/index.d.ts +5 -0
- package/dist/core-bak/router/validation/index.js +1 -0
- package/dist/core-bak/router/validation/schema.cjs +1 -0
- package/dist/core-bak/router/validation/schema.d.ts +180 -0
- package/dist/core-bak/router/validation/schema.js +1 -0
- package/dist/core-bak/router/version/RouteVersionManager.cjs +1 -0
- package/dist/core-bak/router/version/RouteVersionManager.d.ts +124 -0
- package/dist/core-bak/router/version/RouteVersionManager.js +1 -0
- package/dist/core-bak/router/version/index.cjs +1 -0
- package/dist/core-bak/router/version/index.d.ts +4 -0
- package/dist/core-bak/router/version/index.js +1 -0
- package/dist/core-bak/splash/SplashScreen.cjs +1 -0
- package/dist/core-bak/splash/SplashScreen.d.ts +14 -0
- package/dist/core-bak/splash/SplashScreen.js +1 -0
- package/dist/core-bak/splash/index.cjs +1 -0
- package/dist/core-bak/splash/index.d.ts +5 -0
- package/dist/core-bak/splash/index.js +1 -0
- package/dist/core-bak/splash/splashScreenUtils.cjs +1 -0
- package/dist/core-bak/splash/splashScreenUtils.d.ts +7 -0
- package/dist/core-bak/splash/splashScreenUtils.js +1 -0
- package/dist/core-bak/startup/AppInstance.cjs +1 -0
- package/dist/core-bak/startup/AppInstance.d.ts +138 -0
- package/dist/core-bak/startup/AppInstance.js +1 -0
- package/dist/core-bak/startup/environment.cjs +1 -0
- package/dist/core-bak/startup/environment.d.ts +87 -0
- package/dist/core-bak/startup/environment.js +1 -0
- package/dist/core-bak/startup/index.cjs +1 -0
- package/dist/core-bak/startup/index.d.ts +7 -0
- package/dist/core-bak/startup/index.js +1 -0
- package/dist/core-bak/startup/initializeServices.cjs +1 -0
- package/dist/core-bak/startup/initializeServices.d.ts +68 -0
- package/dist/core-bak/startup/initializeServices.js +1 -0
- package/dist/core-bak/startup/performanceTracker.cjs +1 -0
- package/dist/core-bak/startup/performanceTracker.d.ts +104 -0
- package/dist/core-bak/startup/performanceTracker.js +1 -0
- package/dist/core-bak/startup/renderApp.cjs +1 -0
- package/dist/core-bak/startup/renderApp.d.ts +70 -0
- package/dist/core-bak/startup/renderApp.js +1 -0
- package/dist/core-bak/startup/startApp.cjs +1 -0
- package/dist/core-bak/startup/startApp.d.ts +14 -0
- package/dist/core-bak/startup/startApp.js +1 -0
- package/dist/core-bak/types.cjs +1 -0
- package/dist/core-bak/types.d.ts +501 -0
- package/dist/core-bak/types.js +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.js +1 -1
- package/dist/index.umd.js +31 -246
- package/dist/kernel/types.d.ts +46 -3
- package/dist/state.umd.js +1 -1
- package/package.json +7 -12
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});function _export(target,all){for(var name in all)Object.defineProperty(target,name,{enumerable:true,get:Object.getOwnPropertyDescriptor(all,name).get})}_export(exports,{get AppContextProvider(){return _app.AppContextProvider},get DevTools(){return _DevTools.DevTools},get DevToolsTrigger(){return _DevTools.DevToolsTrigger},get ErrorBoundary(){return _error.ErrorBoundary},get MiddlewareManager(){return _middleware.MiddlewareManager},get PluginManager(){return _plugin.PluginManager},get appConfig(){return _AppConfig.appConfig},get getAppInstanceManager(){return _AppInstance.getAppInstanceManager},get getStateManager(){return getStateManager},get middlewareManager(){return _middleware.middlewareManager},get pluginManager(){return _plugin.pluginManager},get start(){return start},get startApp(){return _startApp.startApp},get storage(){return _library.storage},get useAppContext(){return _app.useAppContext},get useConfig(){return _app.useConfig},get useErrorHandler(){return _error.useErrorHandler},get useLocale(){return _app.useLocale},get useStateManager(){return _app.useStateManager},get useTheme(){return _app.useTheme},get withErrorBoundary(){return _error.withErrorBoundary}});const _library=require("../library");const _startApp=require("./startup/startApp");const _AppInstance=require("./startup/AppInstance");const _app=require("./app");const _error=require("./error");const _AppConfig=require("./config/AppConfig");const _middleware=require("./middleware");const _plugin=require("./plugin");_export_star(require("./startup"),exports);_export_star(require("./config"),exports);_export_star(require("./kernel"),exports);_export_star(require("./router"),exports);_export_star(require("./event"),exports);const _DevTools=require("./dev/DevTools");function _export_star(from,to){Object.keys(from).forEach(function(k){if(k!=="default"&&!Object.prototype.hasOwnProperty.call(to,k)){Object.defineProperty(to,k,{enumerable:true,get:function(){return from[k]}})}});return from}const start=async(options={})=>{await (0,_startApp.startApp)(options)};const getStateManager=()=>{const instanceManager=(0,_AppInstance.getAppInstanceManager)();const instance=instanceManager.getInstance();if(instance){return instance.getServices().stateManager}return null};
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import type { StartOptions } from "./types";
|
|
2
|
+
import { storage } from '../library';
|
|
3
|
+
import { StateManager } from '../state';
|
|
4
|
+
/**
|
|
5
|
+
* 启动框架
|
|
6
|
+
*
|
|
7
|
+
* @param options - 启动配置选项
|
|
8
|
+
* @returns Promise<void>
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```typescript
|
|
12
|
+
* import { start } from '@vlian/framework';
|
|
13
|
+
*
|
|
14
|
+
* start({
|
|
15
|
+
* loggerLevel: LogLevel.DEBUG,
|
|
16
|
+
* lifecycle: {
|
|
17
|
+
* beforeInitialization: async () => {
|
|
18
|
+
* console.log('初始化前执行');
|
|
19
|
+
* },
|
|
20
|
+
* },
|
|
21
|
+
* });
|
|
22
|
+
* ```
|
|
23
|
+
*/
|
|
24
|
+
/**
|
|
25
|
+
* 启动框架(向后兼容的API)
|
|
26
|
+
*
|
|
27
|
+
* @param options - 启动配置选项
|
|
28
|
+
* @returns Promise<void>
|
|
29
|
+
*
|
|
30
|
+
* @deprecated 建议使用 startApp 函数,支持多实例
|
|
31
|
+
*/
|
|
32
|
+
declare const start: (options?: StartOptions) => Promise<void>;
|
|
33
|
+
export { startApp } from './startup/startApp';
|
|
34
|
+
export { getAppInstanceManager } from './startup/AppInstance';
|
|
35
|
+
export type { AppInstance } from './startup/AppInstance';
|
|
36
|
+
export { start, storage, };
|
|
37
|
+
export declare const getStateManager: () => StateManager | null;
|
|
38
|
+
export { AppContextProvider, useAppContext, useTheme, useLocale, useConfig, useStateManager, } from './app';
|
|
39
|
+
export { ErrorBoundary, withErrorBoundary, useErrorHandler } from './error';
|
|
40
|
+
export type { ErrorBoundaryProps } from './error';
|
|
41
|
+
export { appConfig } from './config/AppConfig';
|
|
42
|
+
export type { InitializationContext, InitializationOptions, ProgressCallback, } from './initialization';
|
|
43
|
+
export { MiddlewareManager, middlewareManager } from './middleware';
|
|
44
|
+
export type { Middleware } from './middleware';
|
|
45
|
+
export { PluginManager, pluginManager } from './plugin';
|
|
46
|
+
export type { Plugin } from './plugin';
|
|
47
|
+
export type { AppContextValue, ThemeContextValue, LocaleContextValue, ConfigContextValue, StateManagerContextValue, ThemeConfig, AppConfig, AppContextProviderProps, } from './app';
|
|
48
|
+
export type { StartOptions, ManagerLifecycle, SplashScreenCustomProps } from './types';
|
|
49
|
+
export * from './startup';
|
|
50
|
+
export * from './config';
|
|
51
|
+
export * from './kernel';
|
|
52
|
+
export * from './router';
|
|
53
|
+
export * from './event';
|
|
54
|
+
export { DevTools, DevToolsTrigger } from './dev/DevTools';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{storage}from"../library";import{startApp}from"./startup/startApp";import{getAppInstanceManager}from"./startup/AppInstance";const start=async(options={})=>{await startApp(options)};export{startApp}from"./startup/startApp";export{getAppInstanceManager}from"./startup/AppInstance";export{start,storage};export const getStateManager=()=>{const instanceManager=getAppInstanceManager();const instance=instanceManager.getInstance();if(instance){return instance.getServices().stateManager}return null};export{AppContextProvider,useAppContext,useTheme,useLocale,useConfig,useStateManager}from"./app";export{ErrorBoundary,withErrorBoundary,useErrorHandler}from"./error";export{appConfig}from"./config/AppConfig";export{MiddlewareManager,middlewareManager}from"./middleware";export{PluginManager,pluginManager}from"./plugin";export*from"./startup";export*from"./config";export*from"./kernel";export*from"./router";export*from"./event";export{DevTools,DevToolsTrigger}from"./dev/DevTools";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"InitializationErrorThrower",{enumerable:true,get:function(){return InitializationErrorThrower}});const _react=/*#__PURE__*/_interop_require_wildcard(require("react"));const _initializationErrorState=require("./initializationErrorState");function _getRequireWildcardCache(nodeInterop){if(typeof WeakMap!=="function")return null;var cacheBabelInterop=new WeakMap;var cacheNodeInterop=new WeakMap;return(_getRequireWildcardCache=function(nodeInterop){return nodeInterop?cacheNodeInterop:cacheBabelInterop})(nodeInterop)}function _interop_require_wildcard(obj,nodeInterop){if(!nodeInterop&&obj&&obj.__esModule){return obj}if(obj===null||typeof obj!=="object"&&typeof obj!=="function"){return{default:obj}}var cache=_getRequireWildcardCache(nodeInterop);if(cache&&cache.has(obj)){return cache.get(obj)}var newObj={__proto__:null};var hasPropertyDescriptor=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var key in obj){if(key!=="default"&&Object.prototype.hasOwnProperty.call(obj,key)){var desc=hasPropertyDescriptor?Object.getOwnPropertyDescriptor(obj,key):null;if(desc&&(desc.get||desc.set)){Object.defineProperty(newObj,key,desc)}else{newObj[key]=obj[key]}}}newObj.default=obj;if(cache){cache.set(obj,newObj)}return newObj}const InitializationErrorThrower=()=>{const[error,setError]=(0,_react.useState)(null);(0,_react.useEffect)(()=>{const currentError=_initializationErrorState.initializationErrorState.getError();if(currentError){setError(currentError);return}const unsubscribe=_initializationErrorState.initializationErrorState.subscribe(()=>{const newError=_initializationErrorState.initializationErrorState.getError();setError(newError)});return unsubscribe},[]);if(error){throw error}return null};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import React,{useEffect,useState}from"react";import{initializationErrorState}from"./initializationErrorState";export const InitializationErrorThrower=()=>{const[error,setError]=useState(null);useEffect(()=>{const currentError=initializationErrorState.getError();if(currentError){setError(currentError);return}const unsubscribe=initializationErrorState.subscribe(()=>{const newError=initializationErrorState.getError();setError(newError)});return unsubscribe},[]);if(error){throw error}return null};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});function _export(target,all){for(var name in all)Object.defineProperty(target,name,{enumerable:true,get:Object.getOwnPropertyDescriptor(all,name).get})}_export(exports,{get InitializationErrorThrower(){return _InitializationErrorThrower.InitializationErrorThrower},get initialization(){return _initialization.initialization},get initializationErrorState(){return _initializationErrorState.initializationErrorState}});const _initialization=require("./initialization");const _InitializationErrorThrower=require("./InitializationErrorThrower");const _initializationErrorState=require("./initializationErrorState");
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 初始化模块统一导出
|
|
3
|
+
*/
|
|
4
|
+
export { initialization } from './initialization';
|
|
5
|
+
export type { InitializationContext, InitializationOptions, ProgressCallback, } from './initialization';
|
|
6
|
+
export { InitializationErrorThrower } from './InitializationErrorThrower';
|
|
7
|
+
export { initializationErrorState } from './initializationErrorState';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{initialization}from"./initialization";export{InitializationErrorThrower}from"./InitializationErrorThrower";export{initializationErrorState}from"./initializationErrorState";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"initialization",{enumerable:true,get:function(){return initialization}});const _logger=require("@vlian/logger");const _library=require("../../library");const _plugin=require("../plugin");async function initialization(options,onProgress){const startTime=Date.now();let config={};try{await _plugin.pluginManager.executeBeforeInit(options);onProgress?.(5,"初始化日志系统...");_logger.logger.setLevel(options.loggerLevel??_logger.LogLevel.INFO);onProgress?.(30);if(options.lifecycle?.beforeInitialization){onProgress?.(35,"执行初始化前回调...");await options.lifecycle.beforeInitialization()}onProgress?.(40,"设置国际化...");(0,_library.setupI18n)(options.locale||undefined);if(options.lifecycle?.initialization){onProgress?.(50,"初始化核心功能...");await options.lifecycle.initialization();onProgress?.(70,"核心功能初始化完成")}else{onProgress?.(70)}onProgress?.(80,"准备完成...");const duration=Date.now()-startTime;const context={config,progress:100,isReady:true,duration};await _plugin.pluginManager.executeInit(options,context);await _plugin.pluginManager.executeAfterInit(options,context);if(options.lifecycle?.afterInitialization){onProgress?.(90,"执行初始化后回调...");await options.lifecycle.afterInitialization(context)}onProgress?.(100,"初始化完成");return context}catch(error){_logger.logger.error("初始化失败:",error);throw error}}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { LogLevel } from '@vlian/logger';
|
|
2
|
+
import type { LangType } from '../../library/locale/types';
|
|
3
|
+
import type { ManagerLifecycle, StartOptions } from '../types';
|
|
4
|
+
/**
|
|
5
|
+
* 初始化上下文
|
|
6
|
+
*/
|
|
7
|
+
export interface InitializationContext {
|
|
8
|
+
/**
|
|
9
|
+
* 已加载的配置
|
|
10
|
+
*/
|
|
11
|
+
config: Record<string, unknown>;
|
|
12
|
+
/**
|
|
13
|
+
* 初始化进度(0-100)
|
|
14
|
+
*/
|
|
15
|
+
progress: number;
|
|
16
|
+
/**
|
|
17
|
+
* 是否准备就绪
|
|
18
|
+
*/
|
|
19
|
+
isReady: boolean;
|
|
20
|
+
/**
|
|
21
|
+
* 初始化耗时(毫秒)
|
|
22
|
+
*/
|
|
23
|
+
duration: number;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* 初始化选项
|
|
27
|
+
*/
|
|
28
|
+
export interface InitializationOptions {
|
|
29
|
+
/**
|
|
30
|
+
* 日志级别
|
|
31
|
+
*/
|
|
32
|
+
loggerLevel?: LogLevel;
|
|
33
|
+
/**
|
|
34
|
+
* 国际化配置
|
|
35
|
+
*/
|
|
36
|
+
locale?: Record<LangType, Record<string, unknown>>;
|
|
37
|
+
/**
|
|
38
|
+
* 生命周期钩子
|
|
39
|
+
*/
|
|
40
|
+
lifecycle?: ManagerLifecycle;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* 进度回调函数
|
|
44
|
+
*/
|
|
45
|
+
export type ProgressCallback = (progress: number, step?: string) => void;
|
|
46
|
+
/**
|
|
47
|
+
* 初始化方法
|
|
48
|
+
*
|
|
49
|
+
* 这是核心的初始化逻辑,可被启动页或直接调用
|
|
50
|
+
*
|
|
51
|
+
* @param options - 初始化选项
|
|
52
|
+
* @param onProgress - 进度回调函数(可选)
|
|
53
|
+
* @returns Promise<InitializationContext>
|
|
54
|
+
*
|
|
55
|
+
* @example
|
|
56
|
+
* ```typescript
|
|
57
|
+
* const context = await initialization({
|
|
58
|
+
* loggerLevel: LogLevel.INFO,
|
|
59
|
+
* lifecycle: {
|
|
60
|
+
* initialization: async () => {
|
|
61
|
+
* // 初始化逻辑
|
|
62
|
+
* },
|
|
63
|
+
* },
|
|
64
|
+
* }, (progress, step) => {
|
|
65
|
+
* console.log(`进度: ${progress}%, 步骤: ${step}`);
|
|
66
|
+
* });
|
|
67
|
+
* ```
|
|
68
|
+
*/
|
|
69
|
+
export declare function initialization(options: StartOptions, onProgress?: ProgressCallback): Promise<InitializationContext>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{logger,LogLevel}from"@vlian/logger";import{setupI18n}from"../../library";import{pluginManager}from"../plugin";export async function initialization(options,onProgress){const startTime=Date.now();let config={};try{await pluginManager.executeBeforeInit(options);onProgress?.(5,"初始化日志系统...");logger.setLevel(options.loggerLevel??LogLevel.INFO);onProgress?.(30);if(options.lifecycle?.beforeInitialization){onProgress?.(35,"执行初始化前回调...");await options.lifecycle.beforeInitialization()}onProgress?.(40,"设置国际化...");setupI18n(options.locale||undefined);if(options.lifecycle?.initialization){onProgress?.(50,"初始化核心功能...");await options.lifecycle.initialization();onProgress?.(70,"核心功能初始化完成")}else{onProgress?.(70)}onProgress?.(80,"准备完成...");const duration=Date.now()-startTime;const context={config,progress:100,isReady:true,duration};await pluginManager.executeInit(options,context);await pluginManager.executeAfterInit(options,context);if(options.lifecycle?.afterInitialization){onProgress?.(90,"执行初始化后回调...");await options.lifecycle.afterInitialization(context)}onProgress?.(100,"初始化完成");return context}catch(error){logger.error("初始化失败:",error);throw error}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"initializationErrorState",{enumerable:true,get:function(){return initializationErrorState}});const _utils=require("@vlian/utils");function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}let InitializationErrorState=class InitializationErrorState{setError(error){this.error=_utils.errorUtils.normalizeError(error);this.listeners.forEach(listener=>listener())}getError(){return this.error}clearError(){this.error=null;this.listeners.forEach(listener=>listener())}subscribe(listener){this.listeners.add(listener);return()=>{this.listeners.delete(listener)}}hasError(){return this.error!==null}constructor(){_define_property(this,"error",null);_define_property(this,"listeners",new Set)}};const initializationErrorState=new InitializationErrorState;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { FrameworkError } from '@vlian/utils';
|
|
2
|
+
/**
|
|
3
|
+
* 初始化错误状态管理器
|
|
4
|
+
*
|
|
5
|
+
* 用于在初始化过程中捕获和存储错误,以便 ErrorBoundary 能够捕获并显示
|
|
6
|
+
*/
|
|
7
|
+
declare class InitializationErrorState {
|
|
8
|
+
private error;
|
|
9
|
+
private listeners;
|
|
10
|
+
/**
|
|
11
|
+
* 设置错误
|
|
12
|
+
*/
|
|
13
|
+
setError(error: unknown): void;
|
|
14
|
+
/**
|
|
15
|
+
* 获取错误
|
|
16
|
+
*/
|
|
17
|
+
getError(): FrameworkError | null;
|
|
18
|
+
/**
|
|
19
|
+
* 清除错误
|
|
20
|
+
*/
|
|
21
|
+
clearError(): void;
|
|
22
|
+
/**
|
|
23
|
+
* 订阅错误变化
|
|
24
|
+
*/
|
|
25
|
+
subscribe(listener: () => void): () => void;
|
|
26
|
+
/**
|
|
27
|
+
* 检查是否有错误
|
|
28
|
+
*/
|
|
29
|
+
hasError(): boolean;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* 全局初始化错误状态管理器实例
|
|
33
|
+
*/
|
|
34
|
+
export declare const initializationErrorState: InitializationErrorState;
|
|
35
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}import{errorUtils}from"@vlian/utils";let InitializationErrorState=class InitializationErrorState{setError(error){this.error=errorUtils.normalizeError(error);this.listeners.forEach(listener=>listener())}getError(){return this.error}clearError(){this.error=null;this.listeners.forEach(listener=>listener())}subscribe(listener){this.listeners.add(listener);return()=>{this.listeners.delete(listener)}}hasError(){return this.error!==null}constructor(){_define_property(this,"error",null);_define_property(this,"listeners",new Set)}};export const initializationErrorState=new InitializationErrorState;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"resolveKernelAdapters",{enumerable:true,get:function(){return resolveKernelAdapters}});const _logger=require("@vlian/logger");const _monitoring=require("@vlian/monitoring");const _state=require("../../state");const _AppEventBus=require("../event/AppEventBus");const _library=require("../../library");function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}const defaultLoggerAdapter={initialize(options){if(options.loggerLevel){_logger.logger.setLevel(options.loggerLevel)}},setLevel(level){_logger.logger.setLevel(level)},debug(message,...args){_logger.logger.debug(message,...args)},info(message,...args){_logger.logger.info(message,...args)},warn(message,...args){_logger.logger.warn(message,...args)},error(message,...args){_logger.logger.error(message,...args)}};const defaultMonitoringAdapter={initialize(){(0,_monitoring.initMonitoring)()},captureError(error,metadata){try{const service=(0,_monitoring.initMonitoring)();service.captureError(error,metadata)}catch{_logger.logger.error("监控适配器上报失败",error,metadata)}},reportMetric(name,value,tags){_logger.logger.debug(`metric:${name}`,{value,tags})},reportPhase(metric){_logger.logger.debug("kernel.phase.metric",metric)}};let DefaultStateAdapter=class DefaultStateAdapter{initialize(){this.instance=new _state.StateManager({enableRegistry:true,defaultScope:"app"})}getInstance(){if(!this.instance){this.initialize()}return this.instance}destroy(){if(this.instance){this.instance.destroy();this.instance=null}}constructor(){_define_property(this,"instance",null)}};let DefaultEventBusAdapter=class DefaultEventBusAdapter{initialize(options){this.bus=new _AppEventBus.AppEventBus({enableTracking:process.env.NODE_ENV==="development",maxHistorySize:100,enableValidation:false,enablePerformanceMonitoring:process.env.NODE_ENV==="development",instanceId:options.instanceId})}emit(event,payload){if(!this.bus){this.initialize({})}this.bus.emit(event,payload)}on(event,handler){if(!this.bus){this.initialize({})}return this.bus.on(event,handler)}destroy(){if(this.bus){this.bus.clear();this.bus=null}}constructor(){_define_property(this,"bus",null)}};const defaultI18nAdapter={initialize(snapshot){(0,_library.setupI18n)(snapshot.resources||{});(0,_library.setLang)(snapshot.locale)},setLocale(locale){(0,_library.setLang)(locale)}};const defaultThemeAdapter={initialize(snapshot){if(typeof document==="undefined"){return}applyThemeToDocument(snapshot)},apply(snapshot){if(typeof document==="undefined"){return}applyThemeToDocument(snapshot)}};function applyThemeToDocument(theme){const root=document.documentElement;root.classList.remove("light","dark");const resolvedMode=theme.mode==="system"?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":theme.mode;root.classList.add(resolvedMode);if(theme.primaryColor){root.style.setProperty("--app-primary-color",theme.primaryColor)}if(theme.compatibility?.shadcn){Object.entries(theme.compatibility.shadcn).forEach(([key,value])=>{root.style.setProperty(`--${key}`,String(value))})}}const defaultErrorHandler={async handle(error){_logger.logger.error("Kernel 启动失败",error);return{handled:true,shouldThrow:true}}};function resolveKernelAdapters(options){return{logger:options.adapters?.logger||defaultLoggerAdapter,monitoring:options.adapters?.monitoring||defaultMonitoringAdapter,state:options.adapters?.state||new DefaultStateAdapter,eventBus:options.adapters?.eventBus||new DefaultEventBusAdapter,i18n:options.adapters?.i18n||defaultI18nAdapter,theme:options.adapters?.theme||defaultThemeAdapter,errorHandler:options.adapters?.errorHandler||defaultErrorHandler}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}import{logger}from"@vlian/logger";import{initMonitoring}from"@vlian/monitoring";import{StateManager}from"../../state";import{AppEventBus}from"../event/AppEventBus";import{setupI18n,setLang}from"../../library";const defaultLoggerAdapter={initialize(options){if(options.loggerLevel){logger.setLevel(options.loggerLevel)}},setLevel(level){logger.setLevel(level)},debug(message,...args){logger.debug(message,...args)},info(message,...args){logger.info(message,...args)},warn(message,...args){logger.warn(message,...args)},error(message,...args){logger.error(message,...args)}};const defaultMonitoringAdapter={initialize(){initMonitoring()},captureError(error,metadata){try{const service=initMonitoring();service.captureError(error,metadata)}catch{logger.error("监控适配器上报失败",error,metadata)}},reportMetric(name,value,tags){logger.debug(`metric:${name}`,{value,tags})},reportPhase(metric){logger.debug("kernel.phase.metric",metric)}};let DefaultStateAdapter=class DefaultStateAdapter{initialize(){this.instance=new StateManager({enableRegistry:true,defaultScope:"app"})}getInstance(){if(!this.instance){this.initialize()}return this.instance}destroy(){if(this.instance){this.instance.destroy();this.instance=null}}constructor(){_define_property(this,"instance",null)}};let DefaultEventBusAdapter=class DefaultEventBusAdapter{initialize(options){this.bus=new AppEventBus({enableTracking:process.env.NODE_ENV==="development",maxHistorySize:100,enableValidation:false,enablePerformanceMonitoring:process.env.NODE_ENV==="development",instanceId:options.instanceId})}emit(event,payload){if(!this.bus){this.initialize({})}this.bus.emit(event,payload)}on(event,handler){if(!this.bus){this.initialize({})}return this.bus.on(event,handler)}destroy(){if(this.bus){this.bus.clear();this.bus=null}}constructor(){_define_property(this,"bus",null)}};const defaultI18nAdapter={initialize(snapshot){setupI18n(snapshot.resources||{});setLang(snapshot.locale)},setLocale(locale){setLang(locale)}};const defaultThemeAdapter={initialize(snapshot){if(typeof document==="undefined"){return}applyThemeToDocument(snapshot)},apply(snapshot){if(typeof document==="undefined"){return}applyThemeToDocument(snapshot)}};function applyThemeToDocument(theme){const root=document.documentElement;root.classList.remove("light","dark");const resolvedMode=theme.mode==="system"?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":theme.mode;root.classList.add(resolvedMode);if(theme.primaryColor){root.style.setProperty("--app-primary-color",theme.primaryColor)}if(theme.compatibility?.shadcn){Object.entries(theme.compatibility.shadcn).forEach(([key,value])=>{root.style.setProperty(`--${key}`,String(value))})}}const defaultErrorHandler={async handle(error){logger.error("Kernel 启动失败",error);return{handled:true,shouldThrow:true}}};export function resolveKernelAdapters(options){return{logger:options.adapters?.logger||defaultLoggerAdapter,monitoring:options.adapters?.monitoring||defaultMonitoringAdapter,state:options.adapters?.state||new DefaultStateAdapter,eventBus:options.adapters?.eventBus||new DefaultEventBusAdapter,i18n:options.adapters?.i18n||defaultI18nAdapter,theme:options.adapters?.theme||defaultThemeAdapter,errorHandler:options.adapters?.errorHandler||defaultErrorHandler}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});function _export(target,all){for(var name in all)Object.defineProperty(target,name,{enumerable:true,get:Object.getOwnPropertyDescriptor(all,name).get})}_export(exports,{get KernelBootError(){return KernelBootError},get toKernelBootError(){return toKernelBootError}});function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function inferRetryable(error){if(error instanceof Error){const message=error.message.toLowerCase();return message.includes("timeout")||message.includes("network")}return false}let KernelBootError=class KernelBootError extends Error{constructor(message,options){super(message),_define_property(this,"code",void 0),_define_property(this,"phase",void 0),_define_property(this,"severity",void 0),_define_property(this,"retryable",void 0),_define_property(this,"traceId",void 0),_define_property(this,"cause",void 0);this.name="KernelBootError";this.code=options.code;this.phase=options.phase;this.traceId=options.traceId;this.severity=options.severity??"high";this.retryable=options.retryable??inferRetryable(options.cause);this.cause=options.cause}};function toKernelBootError(error,phase,traceId){if(error instanceof KernelBootError){return error}if(error instanceof Error){return new KernelBootError(error.message,{code:"KERNEL_BOOT_FAILURE",phase,traceId,cause:error})}return new KernelBootError(String(error),{code:"KERNEL_BOOT_FAILURE",phase,traceId,cause:error})}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { KernelBootErrorLike, KernelBootPhase } from './types';
|
|
2
|
+
export declare class KernelBootError extends Error implements KernelBootErrorLike {
|
|
3
|
+
readonly code: string;
|
|
4
|
+
readonly phase: KernelBootPhase;
|
|
5
|
+
readonly severity: 'low' | 'medium' | 'high' | 'critical';
|
|
6
|
+
readonly retryable: boolean;
|
|
7
|
+
readonly traceId: string;
|
|
8
|
+
readonly cause?: unknown;
|
|
9
|
+
constructor(message: string, options: {
|
|
10
|
+
code: string;
|
|
11
|
+
phase: KernelBootPhase;
|
|
12
|
+
traceId: string;
|
|
13
|
+
severity?: 'low' | 'medium' | 'high' | 'critical';
|
|
14
|
+
retryable?: boolean;
|
|
15
|
+
cause?: unknown;
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
export declare function toKernelBootError(error: unknown, phase: KernelBootPhase, traceId: string): KernelBootError;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function inferRetryable(error){if(error instanceof Error){const message=error.message.toLowerCase();return message.includes("timeout")||message.includes("network")}return false}export class KernelBootError extends Error{constructor(message,options){super(message),_define_property(this,"code",void 0),_define_property(this,"phase",void 0),_define_property(this,"severity",void 0),_define_property(this,"retryable",void 0),_define_property(this,"traceId",void 0),_define_property(this,"cause",void 0);this.name="KernelBootError";this.code=options.code;this.phase=options.phase;this.traceId=options.traceId;this.severity=options.severity??"high";this.retryable=options.retryable??inferRetryable(options.cause);this.cause=options.cause}}export function toKernelBootError(error,phase,traceId){if(error instanceof KernelBootError){return error}if(error instanceof Error){return new KernelBootError(error.message,{code:"KERNEL_BOOT_FAILURE",phase,traceId,cause:error})}return new KernelBootError(String(error),{code:"KERNEL_BOOT_FAILURE",phase,traceId,cause:error})}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});function _export(target,all){for(var name in all)Object.defineProperty(target,name,{enumerable:true,get:Object.getOwnPropertyDescriptor(all,name).get})}_export(exports,{get KernelBootError(){return _errors.KernelBootError},get startKernel(){return _startKernel.startKernel}});const _startKernel=require("./startKernel");const _errors=require("./errors");
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { startKernel } from './startKernel';
|
|
2
|
+
export { KernelBootError } from './errors';
|
|
3
|
+
export type { ThemeMode, ThemeSnapshot, I18nSnapshot, KernelBootPhase, KernelPhaseMetric, KernelBootErrorLike, KernelLoggerAdapter, KernelMonitoringAdapter, KernelStateAdapter, KernelEventBusAdapter, KernelI18nAdapter, KernelThemeAdapter, KernelErrorHandler, KernelErrorHandlerResult, KernelAdapters, KernelPerformanceOptions, KernelLifecycle, KernelStartOptions, KernelRuntime, } from './types';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{startKernel}from"./startKernel";export{KernelBootError}from"./errors";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"startKernel",{enumerable:true,get:function(){return startKernel}});const _initialization=require("../initialization");const _traceId=require("../../utils/traceId");const _errors=require("./errors");const _defaultAdapters=require("./defaultAdapters");const DEFAULT_THEME={mode:"light"};const DEFAULT_I18N={locale:"zh-CN"};async function withOptionalTimeout(task,timeoutMs,timeoutMessage="Kernel phase timeout"){if(!timeoutMs||timeoutMs<=0){return task()}return Promise.race([task(),new Promise((_,reject)=>{setTimeout(()=>reject(new Error(timeoutMessage)),timeoutMs)})])}async function startKernel(options={}){(0,_traceId.initTraceIdGenerator)("kernel");const traceId=(0,_traceId.generateTraceId)();(0,_traceId.setCurrentTraceId)(traceId);const adapters=(0,_defaultAdapters.resolveKernelAdapters)(options);const metrics=[];let config={};let theme={...DEFAULT_THEME,...options.theme||{}};let i18n={...DEFAULT_I18N,...options.locale||{}};const emitPhaseMetric=metric=>{metrics.push(metric);adapters.monitoring.reportPhase?.(metric);adapters.monitoring.reportMetric?.("kernel.phase.duration",metric.duration,{phase:metric.phase});adapters.eventBus.emit("kernel.phase.end",metric)};const runPhase=async(phase,fn)=>{const enabled=options.enabledPhases?.[phase];if(enabled===false){adapters.eventBus.emit("kernel.phase.skipped",{phase,traceId});return}const startTime=performance.now();adapters.eventBus.emit("kernel.phase.start",{phase,traceId,startTime});try{await withOptionalTimeout(fn,options.performance?.phaseTimeoutMs?.[phase],`Kernel phase "${phase}" timeout`);emitPhaseMetric({phase,startTime,endTime:performance.now(),duration:performance.now()-startTime})}catch(error){const bootError=(0,_errors.toKernelBootError)(error,phase,traceId);adapters.monitoring.captureError(bootError,{phase,traceId});adapters.eventBus.emit("kernel.phase.error",bootError);const result=await adapters.errorHandler.handle(bootError);if(result.shouldThrow){throw bootError}}};await runPhase("prepare",async()=>{adapters.logger.initialize?.(options);adapters.logger.info("Kernel 启动准备完成",{traceId})});await runPhase("services",async()=>{await Promise.all([Promise.resolve(adapters.monitoring.initialize?.(options)),Promise.resolve(adapters.state.initialize?.(options)),Promise.resolve(adapters.eventBus.initialize?.(options))])});await runPhase("config",async()=>{if(options.configLoader){try{config=await options.configLoader()}catch(error){config=options.configFallback||{}}}else{config=options.configFallback||{}}});await runPhase("i18n",async()=>{await adapters.i18n.initialize(i18n)});await runPhase("theme",async()=>{await Promise.resolve(adapters.theme.initialize?.(theme));await adapters.theme.apply(theme)});await runPhase("init",async()=>{await options.lifecycle?.beforeInitialization?.();const initContext=await (0,_initialization.initialization)({loggerLevel:options.loggerLevel,locale:i18n.resources,lifecycle:options.lifecycle});await options.lifecycle?.afterInitialization?.(initContext)});await runPhase("ready",async()=>{adapters.eventBus.emit("kernel.ready",{traceId,theme,locale:i18n.locale,config})});if(options.enablePostReady!==false){await runPhase("postReady",async()=>{adapters.eventBus.emit("kernel.postReady",{traceId})})}const setTheme=async partial=>{theme={...theme,...partial};await adapters.theme.apply(theme);adapters.eventBus.emit("kernel.theme.changed",{traceId,theme})};const setThemeMode=async mode=>{await setTheme({mode})};const setLocale=async locale=>{i18n={...i18n,locale};await adapters.i18n.setLocale(locale);adapters.eventBus.emit("kernel.i18n.changed",{traceId,locale})};return{traceId,getTheme:()=>({...theme}),setTheme,setThemeMode,getI18n:()=>({...i18n}),setLocale,getConfig:()=>({...config}),getStateManager:()=>adapters.state.getInstance(),getEventBus:()=>adapters.eventBus,getMetrics:()=>[...metrics],destroy:()=>{adapters.state.destroy?.();adapters.eventBus.destroy?.();adapters.eventBus.emit("kernel.destroyed",{traceId})}}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{initialization}from"../initialization";import{generateTraceId,initTraceIdGenerator,setCurrentTraceId}from"../../utils/traceId";import{toKernelBootError}from"./errors";import{resolveKernelAdapters}from"./defaultAdapters";const DEFAULT_THEME={mode:"light"};const DEFAULT_I18N={locale:"zh-CN"};async function withOptionalTimeout(task,timeoutMs,timeoutMessage="Kernel phase timeout"){if(!timeoutMs||timeoutMs<=0){return task()}return Promise.race([task(),new Promise((_,reject)=>{setTimeout(()=>reject(new Error(timeoutMessage)),timeoutMs)})])}export async function startKernel(options={}){initTraceIdGenerator("kernel");const traceId=generateTraceId();setCurrentTraceId(traceId);const adapters=resolveKernelAdapters(options);const metrics=[];let config={};let theme={...DEFAULT_THEME,...options.theme||{}};let i18n={...DEFAULT_I18N,...options.locale||{}};const emitPhaseMetric=metric=>{metrics.push(metric);adapters.monitoring.reportPhase?.(metric);adapters.monitoring.reportMetric?.("kernel.phase.duration",metric.duration,{phase:metric.phase});adapters.eventBus.emit("kernel.phase.end",metric)};const runPhase=async(phase,fn)=>{const enabled=options.enabledPhases?.[phase];if(enabled===false){adapters.eventBus.emit("kernel.phase.skipped",{phase,traceId});return}const startTime=performance.now();adapters.eventBus.emit("kernel.phase.start",{phase,traceId,startTime});try{await withOptionalTimeout(fn,options.performance?.phaseTimeoutMs?.[phase],`Kernel phase "${phase}" timeout`);emitPhaseMetric({phase,startTime,endTime:performance.now(),duration:performance.now()-startTime})}catch(error){const bootError=toKernelBootError(error,phase,traceId);adapters.monitoring.captureError(bootError,{phase,traceId});adapters.eventBus.emit("kernel.phase.error",bootError);const result=await adapters.errorHandler.handle(bootError);if(result.shouldThrow){throw bootError}}};await runPhase("prepare",async()=>{adapters.logger.initialize?.(options);adapters.logger.info("Kernel 启动准备完成",{traceId})});await runPhase("services",async()=>{await Promise.all([Promise.resolve(adapters.monitoring.initialize?.(options)),Promise.resolve(adapters.state.initialize?.(options)),Promise.resolve(adapters.eventBus.initialize?.(options))])});await runPhase("config",async()=>{if(options.configLoader){try{config=await options.configLoader()}catch(error){config=options.configFallback||{}}}else{config=options.configFallback||{}}});await runPhase("i18n",async()=>{await adapters.i18n.initialize(i18n)});await runPhase("theme",async()=>{await Promise.resolve(adapters.theme.initialize?.(theme));await adapters.theme.apply(theme)});await runPhase("init",async()=>{await options.lifecycle?.beforeInitialization?.();const initContext=await initialization({loggerLevel:options.loggerLevel,locale:i18n.resources,lifecycle:options.lifecycle});await options.lifecycle?.afterInitialization?.(initContext)});await runPhase("ready",async()=>{adapters.eventBus.emit("kernel.ready",{traceId,theme,locale:i18n.locale,config})});if(options.enablePostReady!==false){await runPhase("postReady",async()=>{adapters.eventBus.emit("kernel.postReady",{traceId})})}const setTheme=async partial=>{theme={...theme,...partial};await adapters.theme.apply(theme);adapters.eventBus.emit("kernel.theme.changed",{traceId,theme})};const setThemeMode=async mode=>{await setTheme({mode})};const setLocale=async locale=>{i18n={...i18n,locale};await adapters.i18n.setLocale(locale);adapters.eventBus.emit("kernel.i18n.changed",{traceId,locale})};return{traceId,getTheme:()=>({...theme}),setTheme,setThemeMode,getI18n:()=>({...i18n}),setLocale,getConfig:()=>({...config}),getStateManager:()=>adapters.state.getInstance(),getEventBus:()=>adapters.eventBus,getMetrics:()=>[...metrics],destroy:()=>{adapters.state.destroy?.();adapters.eventBus.destroy?.();adapters.eventBus.emit("kernel.destroyed",{traceId})}}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import type { LogLevel } from '@vlian/logger';
|
|
2
|
+
import type { LangType } from '../../library/locale/types';
|
|
3
|
+
import type { InitializationContext } from '../initialization';
|
|
4
|
+
export type ThemeMode = 'light' | 'dark' | 'system';
|
|
5
|
+
export interface ThemeSnapshot {
|
|
6
|
+
mode: ThemeMode;
|
|
7
|
+
primaryColor?: string;
|
|
8
|
+
tokens?: Record<string, string | number>;
|
|
9
|
+
compatibility?: {
|
|
10
|
+
antd?: Record<string, unknown>;
|
|
11
|
+
shadcn?: Record<string, string | number>;
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
export interface I18nSnapshot {
|
|
15
|
+
locale: LangType;
|
|
16
|
+
resources?: Record<string, Record<string, unknown>>;
|
|
17
|
+
}
|
|
18
|
+
export type KernelBootPhase = 'prepare' | 'services' | 'config' | 'i18n' | 'theme' | 'init' | 'ready' | 'postReady';
|
|
19
|
+
export interface KernelPhaseMetric {
|
|
20
|
+
phase: KernelBootPhase;
|
|
21
|
+
startTime: number;
|
|
22
|
+
endTime: number;
|
|
23
|
+
duration: number;
|
|
24
|
+
}
|
|
25
|
+
export interface KernelBootErrorLike {
|
|
26
|
+
code: string;
|
|
27
|
+
phase: KernelBootPhase;
|
|
28
|
+
severity: 'low' | 'medium' | 'high' | 'critical';
|
|
29
|
+
retryable: boolean;
|
|
30
|
+
traceId: string;
|
|
31
|
+
cause?: unknown;
|
|
32
|
+
}
|
|
33
|
+
export interface KernelLoggerAdapter {
|
|
34
|
+
initialize?: (options: KernelStartOptions) => Promise<void> | void;
|
|
35
|
+
setLevel?: (level: LogLevel) => void;
|
|
36
|
+
debug: (message: string, ...args: unknown[]) => void;
|
|
37
|
+
info: (message: string, ...args: unknown[]) => void;
|
|
38
|
+
warn: (message: string, ...args: unknown[]) => void;
|
|
39
|
+
error: (message: string, ...args: unknown[]) => void;
|
|
40
|
+
}
|
|
41
|
+
export interface KernelMonitoringAdapter {
|
|
42
|
+
initialize?: (options: KernelStartOptions) => Promise<void> | void;
|
|
43
|
+
captureError: (error: unknown, metadata?: Record<string, unknown>) => void;
|
|
44
|
+
reportMetric?: (name: string, value: number, tags?: Record<string, string>) => void;
|
|
45
|
+
reportPhase?: (metric: KernelPhaseMetric) => void;
|
|
46
|
+
}
|
|
47
|
+
export interface KernelStateAdapter {
|
|
48
|
+
initialize?: (options: KernelStartOptions) => Promise<void> | void;
|
|
49
|
+
getInstance: () => unknown;
|
|
50
|
+
destroy?: () => void;
|
|
51
|
+
}
|
|
52
|
+
export interface KernelEventBusAdapter {
|
|
53
|
+
initialize?: (options: KernelStartOptions) => Promise<void> | void;
|
|
54
|
+
emit: (event: string, payload?: unknown) => void;
|
|
55
|
+
on?: (event: string, handler: (payload?: unknown) => void) => () => void;
|
|
56
|
+
destroy?: () => void;
|
|
57
|
+
}
|
|
58
|
+
export interface KernelI18nAdapter {
|
|
59
|
+
initialize: (snapshot: I18nSnapshot) => Promise<void> | void;
|
|
60
|
+
setLocale: (locale: LangType) => Promise<void> | void;
|
|
61
|
+
}
|
|
62
|
+
export interface KernelThemeAdapter {
|
|
63
|
+
initialize?: (snapshot: ThemeSnapshot) => Promise<void> | void;
|
|
64
|
+
apply: (snapshot: ThemeSnapshot) => Promise<void> | void;
|
|
65
|
+
}
|
|
66
|
+
export interface KernelErrorHandlerResult {
|
|
67
|
+
handled: boolean;
|
|
68
|
+
shouldThrow: boolean;
|
|
69
|
+
}
|
|
70
|
+
export interface KernelErrorHandler {
|
|
71
|
+
handle: (error: KernelBootErrorLike) => Promise<KernelErrorHandlerResult> | KernelErrorHandlerResult;
|
|
72
|
+
}
|
|
73
|
+
export interface KernelAdapters {
|
|
74
|
+
logger?: KernelLoggerAdapter;
|
|
75
|
+
monitoring?: KernelMonitoringAdapter;
|
|
76
|
+
state?: KernelStateAdapter;
|
|
77
|
+
eventBus?: KernelEventBusAdapter;
|
|
78
|
+
i18n?: KernelI18nAdapter;
|
|
79
|
+
theme?: KernelThemeAdapter;
|
|
80
|
+
errorHandler?: KernelErrorHandler;
|
|
81
|
+
}
|
|
82
|
+
export interface KernelPerformanceOptions {
|
|
83
|
+
phaseTimeoutMs?: Partial<Record<KernelBootPhase, number>>;
|
|
84
|
+
}
|
|
85
|
+
export interface KernelLifecycle {
|
|
86
|
+
beforeInitialization?: () => Promise<void> | void;
|
|
87
|
+
initialization?: () => Promise<void> | void;
|
|
88
|
+
afterInitialization?: (context: InitializationContext) => Promise<void> | void;
|
|
89
|
+
}
|
|
90
|
+
export interface KernelStartOptions {
|
|
91
|
+
loggerLevel?: LogLevel;
|
|
92
|
+
configLoader?: () => Promise<Record<string, unknown>>;
|
|
93
|
+
configFallback?: Record<string, unknown>;
|
|
94
|
+
lifecycle?: KernelLifecycle;
|
|
95
|
+
locale?: I18nSnapshot;
|
|
96
|
+
theme?: ThemeSnapshot;
|
|
97
|
+
adapters?: KernelAdapters;
|
|
98
|
+
performance?: KernelPerformanceOptions;
|
|
99
|
+
enablePostReady?: boolean;
|
|
100
|
+
enabledPhases?: Partial<Record<KernelBootPhase, boolean>>;
|
|
101
|
+
}
|
|
102
|
+
export interface KernelRuntime {
|
|
103
|
+
traceId: string;
|
|
104
|
+
getTheme: () => ThemeSnapshot;
|
|
105
|
+
setTheme: (partial: Partial<ThemeSnapshot>) => Promise<void>;
|
|
106
|
+
setThemeMode: (mode: ThemeMode) => Promise<void>;
|
|
107
|
+
getI18n: () => I18nSnapshot;
|
|
108
|
+
setLocale: (locale: LangType) => Promise<void>;
|
|
109
|
+
getConfig: () => Record<string, unknown>;
|
|
110
|
+
getStateManager: () => unknown;
|
|
111
|
+
getEventBus: () => KernelEventBusAdapter;
|
|
112
|
+
getMetrics: () => KernelPhaseMetric[];
|
|
113
|
+
destroy: () => void;
|
|
114
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});function _export(target,all){for(var name in all)Object.defineProperty(target,name,{enumerable:true,get:Object.getOwnPropertyDescriptor(all,name).get})}_export(exports,{get MiddlewareManager(){return MiddlewareManager},get middlewareManager(){return middlewareManager}});function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}let MiddlewareManager=class MiddlewareManager{use(middleware){this.middlewares.push(middleware)}remove(middleware){const index=this.middlewares.indexOf(middleware);if(index>-1){this.middlewares.splice(index,1)}}clear(){this.middlewares=[]}async execute(options,finalHandler){let index=0;const next=async()=>{if(index>=this.middlewares.length){return finalHandler()}const middleware=this.middlewares[index++];return middleware(options,next)};return next()}get count(){return this.middlewares.length}constructor(){_define_property(this,"middlewares",[])}};const middlewareManager=new MiddlewareManager;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { StartOptions } from './types';
|
|
2
|
+
import type { InitializationContext } from './initialization';
|
|
3
|
+
/**
|
|
4
|
+
* 中间件类型
|
|
5
|
+
*/
|
|
6
|
+
export type Middleware = (options: StartOptions, next: () => Promise<InitializationContext>) => Promise<InitializationContext>;
|
|
7
|
+
/**
|
|
8
|
+
* 中间件管理器
|
|
9
|
+
*/
|
|
10
|
+
export declare class MiddlewareManager {
|
|
11
|
+
private middlewares;
|
|
12
|
+
/**
|
|
13
|
+
* 添加中间件
|
|
14
|
+
*/
|
|
15
|
+
use(middleware: Middleware): void;
|
|
16
|
+
/**
|
|
17
|
+
* 移除中间件
|
|
18
|
+
*/
|
|
19
|
+
remove(middleware: Middleware): void;
|
|
20
|
+
/**
|
|
21
|
+
* 清空所有中间件
|
|
22
|
+
*/
|
|
23
|
+
clear(): void;
|
|
24
|
+
/**
|
|
25
|
+
* 执行中间件链
|
|
26
|
+
*/
|
|
27
|
+
execute(options: StartOptions, finalHandler: () => Promise<InitializationContext>): Promise<InitializationContext>;
|
|
28
|
+
/**
|
|
29
|
+
* 获取中间件数量
|
|
30
|
+
*/
|
|
31
|
+
get count(): number;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* 默认中间件管理器
|
|
35
|
+
*/
|
|
36
|
+
export declare const middlewareManager: MiddlewareManager;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}export class MiddlewareManager{use(middleware){this.middlewares.push(middleware)}remove(middleware){const index=this.middlewares.indexOf(middleware);if(index>-1){this.middlewares.splice(index,1)}}clear(){this.middlewares=[]}async execute(options,finalHandler){let index=0;const next=async()=>{if(index>=this.middlewares.length){return finalHandler()}const middleware=this.middlewares[index++];return middleware(options,next)};return next()}get count(){return this.middlewares.length}constructor(){_define_property(this,"middlewares",[])}}export const middlewareManager=new MiddlewareManager;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});function _export(target,all){for(var name in all)Object.defineProperty(target,name,{enumerable:true,get:Object.getOwnPropertyDescriptor(all,name).get})}_export(exports,{get PluginEventBus(){return PluginEventBus},get pluginEventBus(){return pluginEventBus}});function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}let PluginEventBus=class PluginEventBus{on(event,listener){if(!this.listeners.has(event)){this.listeners.set(event,new Set)}const listeners=this.listeners.get(event);listeners.add(listener);return()=>{listeners.delete(listener);if(listeners.size===0){this.listeners.delete(event)}}}off(event,listener){const listeners=this.listeners.get(event);if(listeners){listeners.delete(listener);if(listeners.size===0){this.listeners.delete(event)}}}async emit(event,data,metadata){if(this.config.enableValidation&&!this.config.validator(event,data)){console.warn(`事件 ${event} 验证失败,已忽略`);return}const eventMetadata={source:metadata?.source,timestamp:metadata?.timestamp??Date.now(),eventId:metadata?.eventId??`event_${++this.eventCounter}`,priority:metadata?.priority??0};if(this.config.enableTracking){this.eventHistory.push({event,data,metadata:eventMetadata});if(this.eventHistory.length>this.config.maxHistorySize){this.eventHistory.shift()}}const listeners=this.listeners.get(event);if(!listeners||listeners.size===0){return}const eventWrapper={data:data,metadata:eventMetadata};const sortedListeners=Array.from(listeners);const promises=sortedListeners.map(listener=>{try{return Promise.resolve(listener(eventWrapper))}catch(error){console.error(`事件 ${event} 的监听器执行失败:`,error);return Promise.resolve()}});await Promise.allSettled(promises)}async emitData(event,data){return this.emit(event,data)}once(event,listener){const wrappedListener=async data=>{const actualData=data.data!==undefined?data.data:data;await listener(actualData);this.off(event,wrappedListener)};this.on(event,wrappedListener)}clear(){this.listeners.clear()}listenerCount(event){if(event){return this.listeners.get(event)?.size||0}let count=0;for(const listeners of this.listeners.values()){count+=listeners.size}return count}eventNames(){return Array.from(this.listeners.keys())}getEventHistory(event,limit){if(!this.config.enableTracking){return[]}let history=this.eventHistory;if(event){history=history.filter(h=>h.event===event)}if(limit){history=history.slice(-limit)}return[...history]}clearHistory(){this.eventHistory=[]}async request(event,data,timeout=5e3){return new Promise((resolve,reject)=>{const responseEvent=`${event}:response`;const requestId=`req_${Date.now()}_${Math.random()}`;const timeoutId=setTimeout(()=>{this.off(responseEvent,responseHandler);reject(new Error(`请求 ${event} 超时`))},timeout);const responseHandler=response=>{const actualResponse=response.data!==undefined?response.data:response;if(actualResponse.requestId===requestId){clearTimeout(timeoutId);this.off(responseEvent,responseHandler);resolve(actualResponse.data)}};this.on(responseEvent,responseHandler);this.emit(`${event}:request`,{requestId,data})})}onRequest(event,handler){const requestEvent=`${event}:request`;const responseEvent=`${event}:response`;return this.on(requestEvent,async wrapper=>{try{const actualWrapper=wrapper.data!==undefined?wrapper:{data:wrapper,metadata:{timestamp:Date.now()}};const response=await handler(actualWrapper.data.data,actualWrapper.metadata);this.emit(responseEvent,{requestId:actualWrapper.data.requestId,data:response})}catch(error){const actualWrapper=wrapper.data!==undefined?wrapper:{data:wrapper};this.emit(`${responseEvent}:error`,{requestId:actualWrapper.data.requestId,error:error instanceof Error?error.message:String(error)})}})}getConfig(){return{...this.config}}updateConfig(config){this.config={...this.config,...config}}constructor(config={}){_define_property(this,"listeners",new Map);_define_property(this,"eventHistory",[]);_define_property(this,"config",void 0);_define_property(this,"eventCounter",0);this.config={enableTracking:config.enableTracking??false,maxHistorySize:config.maxHistorySize??100,enableValidation:config.enableValidation??false,validator:config.validator??(()=>true)}}};const pluginEventBus=new PluginEventBus({enableTracking:process.env.NODE_ENV==="development",maxHistorySize:100,enableValidation:false});
|