@vlian/framework 1.2.57 → 1.2.60
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/README.md +15 -3
- package/dist/analytics/index.cjs +1 -24
- package/dist/analytics/index.js +1 -3
- package/dist/analytics.umd.js +8 -208
- package/dist/components/LocaleSwitch.cjs +1 -118
- package/dist/components/LocaleSwitch.js +1 -103
- package/dist/components/ThemeSwitch.cjs +1 -117
- package/dist/components/ThemeSwitch.js +1 -102
- package/dist/components/index.cjs +1 -22
- package/dist/components/index.js +1 -4
- package/dist/components/persistence.cjs +1 -60
- package/dist/components/persistence.js +1 -39
- package/dist/core/Test.cjs +1 -66
- package/dist/core/Test.js +1 -15
- package/dist/core/app/AppContext.cjs +1 -350
- package/dist/core/app/AppContext.js +1 -339
- package/dist/core/app/AppContext.types.cjs +1 -6
- package/dist/core/app/AppContext.types.js +1 -5
- package/dist/core/app/BasicLayout.cjs +1 -124
- package/dist/core/app/BasicLayout.js +1 -74
- package/dist/core/app/DefaultApp.cjs +1 -152
- package/dist/core/app/DefaultApp.js +1 -143
- package/dist/core/app/index.cjs +1 -43
- package/dist/core/app/index.js +1 -7
- package/dist/core/config/AppConfig.cjs +1 -141
- package/dist/core/config/AppConfig.js +1 -133
- package/dist/core/config/ConfigLoader.cjs +1 -325
- package/dist/core/config/ConfigLoader.js +1 -311
- package/dist/core/config/ConfigValidator.cjs +2 -135
- package/dist/core/config/ConfigValidator.js +2 -121
- package/dist/core/config/index.cjs +1 -30
- package/dist/core/config/index.js +1 -7
- package/dist/core/dev/DevTools.cjs +1 -228
- package/dist/core/dev/DevTools.js +1 -210
- package/dist/core/error/ErrorBoundary.cjs +1 -403
- package/dist/core/error/ErrorBoundary.js +1 -399
- package/dist/core/error/ErrorHandler.cjs +1 -277
- package/dist/core/error/ErrorHandler.js +1 -261
- package/dist/core/error/index.cjs +1 -36
- package/dist/core/error/index.js +1 -6
- package/dist/core/event/AppEventBus.cjs +1 -446
- package/dist/core/event/AppEventBus.js +1 -438
- package/dist/core/event/frameworkEvents.cjs +1 -143
- package/dist/core/event/frameworkEvents.js +1 -135
- package/dist/core/event/hooks.cjs +1 -71
- package/dist/core/event/hooks.js +1 -95
- package/dist/core/event/index.cjs +1 -43
- package/dist/core/event/index.js +1 -10
- package/dist/core/event/types.cjs +1 -64
- package/dist/core/event/types.js +1 -56
- package/dist/core/event/useEventBus.cjs +1 -27
- package/dist/core/event/useEventBus.js +1 -39
- package/dist/core/index.cjs +1 -142
- package/dist/core/index.js +1 -69
- package/dist/core/initialization/InitializationErrorThrower.cjs +1 -77
- package/dist/core/initialization/InitializationErrorThrower.js +1 -30
- package/dist/core/initialization/index.cjs +1 -28
- package/dist/core/initialization/index.js +1 -7
- package/dist/core/initialization/initialization.cjs +1 -66
- package/dist/core/initialization/initialization.js +1 -78
- package/dist/core/initialization/initializationErrorState.cjs +1 -68
- package/dist/core/initialization/initializationErrorState.js +1 -60
- package/dist/core/kernel/defaultAdapters.cjs +1 -186
- package/dist/core/kernel/defaultAdapters.js +1 -176
- package/dist/core/kernel/errors.cjs +1 -71
- package/dist/core/kernel/errors.js +1 -53
- package/dist/core/kernel/index.cjs +1 -22
- package/dist/core/kernel/index.js +1 -4
- package/dist/core/kernel/startKernel.cjs +1 -202
- package/dist/core/kernel/startKernel.js +1 -192
- package/dist/core/kernel/types.cjs +1 -6
- package/dist/core/kernel/types.js +1 -3
- package/dist/core/middleware.cjs +1 -75
- package/dist/core/middleware.js +1 -61
- package/dist/core/plugin/PluginEventBus.cjs +1 -300
- package/dist/core/plugin/PluginEventBus.js +1 -286
- package/dist/core/plugin/PluginSandbox.cjs +1 -139
- package/dist/core/plugin/PluginSandbox.js +1 -125
- package/dist/core/plugin.cjs +1 -496
- package/dist/core/plugin.js +1 -438
- package/dist/core/router/RouterManager.cjs +1 -288
- package/dist/core/router/RouterManager.js +1 -272
- package/dist/core/router/adapter/AdapterManager.cjs +1 -237
- package/dist/core/router/adapter/AdapterManager.js +1 -221
- package/dist/core/router/adapter/index.cjs +1 -24
- package/dist/core/router/adapter/index.js +1 -7
- package/dist/core/router/adapter/react-router/ReactRouterAdapter.cjs +1 -130
- package/dist/core/router/adapter/react-router/ReactRouterAdapter.js +1 -116
- package/dist/core/router/adapter/react-router/index.cjs +1 -22
- package/dist/core/router/adapter/react-router/index.js +1 -5
- package/dist/core/router/adapter/types.cjs +1 -8
- package/dist/core/router/adapter/types.js +1 -7
- package/dist/core/router/dev/RouterDevTools.cjs +1 -262
- package/dist/core/router/dev/RouterDevTools.js +1 -211
- package/dist/core/router/dev/index.cjs +1 -22
- package/dist/core/router/dev/index.js +1 -5
- package/dist/core/router/dynamic/DynamicRouteManager.cjs +1 -195
- package/dist/core/router/dynamic/DynamicRouteManager.js +1 -179
- package/dist/core/router/dynamic/index.cjs +1 -22
- package/dist/core/router/dynamic/index.js +1 -5
- package/dist/core/router/errors/RouterError.cjs +1 -63
- package/dist/core/router/errors/RouterError.js +1 -48
- package/dist/core/router/errors/index.cjs +1 -22
- package/dist/core/router/errors/index.js +1 -5
- package/dist/core/router/index.cjs +1 -38
- package/dist/core/router/index.js +1 -32
- package/dist/core/router/lifecycle/RouterLifecycleManager.cjs +1 -146
- package/dist/core/router/lifecycle/RouterLifecycleManager.js +1 -130
- package/dist/core/router/lifecycle/index.cjs +1 -22
- package/dist/core/router/lifecycle/index.js +1 -5
- package/dist/core/router/middleware/RouterMiddlewareManager.cjs +1 -195
- package/dist/core/router/middleware/RouterMiddlewareManager.js +1 -179
- package/dist/core/router/middleware/auth.cjs +1 -68
- package/dist/core/router/middleware/auth.js +1 -63
- package/dist/core/router/middleware/index.cjs +1 -24
- package/dist/core/router/middleware/index.js +1 -7
- package/dist/core/router/middleware/types.cjs +1 -8
- package/dist/core/router/middleware/types.js +1 -7
- package/dist/core/router/monitoring/RouterMonitoring.cjs +1 -229
- package/dist/core/router/monitoring/RouterMonitoring.js +1 -213
- package/dist/core/router/monitoring/index.cjs +1 -22
- package/dist/core/router/monitoring/index.js +1 -5
- package/dist/core/router/navigation/RouterNavigation.cjs +1 -241
- package/dist/core/router/navigation/RouterNavigation.js +1 -192
- package/dist/core/router/navigation/index.cjs +1 -22
- package/dist/core/router/navigation/index.js +1 -5
- package/dist/core/router/performance/RouteCache.cjs +1 -307
- package/dist/core/router/performance/RouteCache.js +1 -291
- package/dist/core/router/performance/RoutePreloader.cjs +1 -294
- package/dist/core/router/performance/RoutePreloader.js +1 -277
- package/dist/core/router/performance/index.cjs +1 -23
- package/dist/core/router/performance/index.js +1 -6
- package/dist/core/router/plugin/RouterPluginManager.cjs +1 -264
- package/dist/core/router/plugin/RouterPluginManager.js +1 -248
- package/dist/core/router/plugin/index.cjs +1 -23
- package/dist/core/router/plugin/index.js +1 -6
- package/dist/core/router/plugin/types.cjs +1 -41
- package/dist/core/router/plugin/types.js +1 -33
- package/dist/core/router/types.cjs +1 -6
- package/dist/core/router/types.js +1 -5
- package/dist/core/router/utils/adapters/react-router/RouteErrorBoundary.cjs +1 -131
- package/dist/core/router/utils/adapters/react-router/RouteErrorBoundary.js +1 -121
- package/dist/core/router/utils/adapters/react-router/transform.cjs +1 -252
- package/dist/core/router/utils/adapters/react-router/transform.js +1 -242
- package/dist/core/router/utils/transform.cjs +1 -782
- package/dist/core/router/utils/transform.js +1 -791
- package/dist/core/router/validation/RouterConfigValidator.cjs +2 -85
- package/dist/core/router/validation/RouterConfigValidator.js +2 -77
- package/dist/core/router/validation/index.cjs +1 -23
- package/dist/core/router/validation/index.js +1 -6
- package/dist/core/router/validation/schema.cjs +1 -161
- package/dist/core/router/validation/schema.js +1 -151
- package/dist/core/router/version/RouteVersionManager.cjs +1 -207
- package/dist/core/router/version/RouteVersionManager.js +1 -191
- package/dist/core/router/version/index.cjs +1 -22
- package/dist/core/router/version/index.js +1 -5
- package/dist/core/splash/SplashScreen.cjs +1 -343
- package/dist/core/splash/SplashScreen.js +1 -293
- package/dist/core/splash/index.cjs +1 -24
- package/dist/core/splash/index.js +1 -6
- package/dist/core/splash/splashScreenUtils.cjs +1 -40
- package/dist/core/splash/splashScreenUtils.js +1 -30
- package/dist/core/startup/AppInstance.cjs +1 -241
- package/dist/core/startup/AppInstance.js +1 -226
- package/dist/core/startup/environment.cjs +1 -171
- package/dist/core/startup/environment.js +1 -154
- package/dist/core/startup/index.cjs +1 -25
- package/dist/core/startup/index.js +1 -8
- package/dist/core/startup/initializeServices.cjs +1 -228
- package/dist/core/startup/initializeServices.js +1 -188
- package/dist/core/startup/performanceTracker.cjs +1 -181
- package/dist/core/startup/performanceTracker.js +1 -167
- package/dist/core/startup/renderApp.cjs +1 -316
- package/dist/core/startup/renderApp.js +1 -267
- package/dist/core/startup/startApp.cjs +1 -319
- package/dist/core/startup/startApp.js +1 -315
- package/dist/core/types.cjs +1 -6
- package/dist/core/types.js +1 -5
- package/dist/index.cjs +1 -54
- package/dist/index.js +1 -11
- package/dist/index.umd.cjs +1 -29
- package/dist/index.umd.js +362 -13233
- package/dist/kernel/constants.cjs +1 -67
- package/dist/kernel/constants.js +1 -43
- package/dist/kernel/index.cjs +1 -40
- package/dist/kernel/index.js +1 -4
- package/dist/kernel/kernel.cjs +1 -297
- package/dist/kernel/kernel.js +1 -273
- package/dist/kernel/manager/cacheManager.cjs +1 -48
- package/dist/kernel/manager/cacheManager.js +1 -38
- package/dist/kernel/manager/i18n/I18nManager.cjs +1 -93
- package/dist/kernel/manager/i18n/I18nManager.js +1 -83
- package/dist/kernel/manager/i18n/i18n.persistence.cjs +1 -62
- package/dist/kernel/manager/i18n/i18n.persistence.js +1 -41
- package/dist/kernel/manager/i18n/i18n.schema.cjs +1 -88
- package/dist/kernel/manager/i18n/i18n.schema.js +1 -64
- package/dist/kernel/manager/i18n/index.cjs +1 -13
- package/dist/kernel/manager/i18n/index.js +1 -3
- package/dist/kernel/manager/i18nManager.cjs +1 -13
- package/dist/kernel/manager/i18nManager.js +1 -3
- package/dist/kernel/manager/index.cjs +1 -30
- package/dist/kernel/manager/index.js +1 -6
- package/dist/kernel/manager/logger/LoggerManager.cjs +1 -109
- package/dist/kernel/manager/logger/LoggerManager.js +1 -99
- package/dist/kernel/manager/logger/index.cjs +1 -13
- package/dist/kernel/manager/logger/index.js +1 -3
- package/dist/kernel/manager/logger/logger.persistence.cjs +1 -64
- package/dist/kernel/manager/logger/logger.persistence.js +1 -43
- package/dist/kernel/manager/logger/logger.schema.cjs +1 -76
- package/dist/kernel/manager/logger/logger.schema.js +1 -55
- package/dist/kernel/manager/loggerManager.cjs +1 -13
- package/dist/kernel/manager/loggerManager.js +1 -3
- package/dist/kernel/manager/theme/ThemeManager.cjs +1 -86
- package/dist/kernel/manager/theme/ThemeManager.js +1 -76
- package/dist/kernel/manager/theme/index.cjs +1 -13
- package/dist/kernel/manager/theme/index.js +1 -3
- package/dist/kernel/manager/theme/theme.dom.cjs +1 -63
- package/dist/kernel/manager/theme/theme.dom.js +1 -45
- package/dist/kernel/manager/theme/theme.persistence.cjs +1 -59
- package/dist/kernel/manager/theme/theme.persistence.js +1 -38
- package/dist/kernel/manager/theme/theme.schema.cjs +1 -124
- package/dist/kernel/manager/theme/theme.schema.js +1 -97
- package/dist/kernel/manager/themeManager.cjs +1 -13
- package/dist/kernel/manager/themeManager.js +1 -3
- package/dist/kernel/types.cjs +1 -6
- package/dist/kernel/types.js +1 -3
- package/dist/library/index.cjs +1 -21
- package/dist/library/index.js +1 -4
- package/dist/library/locale/index.cjs +1 -41
- package/dist/library/locale/index.js +1 -12
- package/dist/library/locale/langs/en-us/index.cjs +1 -34
- package/dist/library/locale/langs/en-us/index.js +1 -24
- package/dist/library/locale/langs/zh-cn/index.cjs +1 -34
- package/dist/library/locale/langs/zh-cn/index.js +1 -24
- package/dist/library/locale/types.cjs +1 -6
- package/dist/library/locale/types.js +1 -3
- package/dist/library/storage/cache.cjs +1 -245
- package/dist/library/storage/cache.js +1 -237
- package/dist/library/storage/encryption.cjs +1 -149
- package/dist/library/storage/encryption.js +1 -141
- package/dist/library/storage/index.cjs +1 -126
- package/dist/library/storage/index.js +1 -106
- package/dist/state/StateManager.cjs +1 -168
- package/dist/state/StateManager.js +1 -160
- package/dist/state/adapters/AdapterFactory.cjs +1 -91
- package/dist/state/adapters/AdapterFactory.js +1 -85
- package/dist/state/adapters/DefaultAdapter.cjs +1 -77
- package/dist/state/adapters/DefaultAdapter.js +1 -71
- package/dist/state/adapters/ReduxAdapter.cjs +1 -445
- package/dist/state/adapters/ReduxAdapter.js +1 -439
- package/dist/state/adapters/ZustandAdapter.cjs +1 -71
- package/dist/state/adapters/ZustandAdapter.js +1 -70
- package/dist/state/adapters/index.cjs +1 -46
- package/dist/state/adapters/index.js +1 -9
- package/dist/state/adapters/types.cjs +1 -22
- package/dist/state/adapters/types.js +1 -5
- package/dist/state/core/DerivedStateInstance.cjs +1 -176
- package/dist/state/core/DerivedStateInstance.js +1 -173
- package/dist/state/core/StateInstance.cjs +1 -172
- package/dist/state/core/StateInstance.js +1 -168
- package/dist/state/core/StateRegistry.cjs +1 -112
- package/dist/state/core/StateRegistry.js +1 -106
- package/dist/state/core/StateScope.cjs +1 -139
- package/dist/state/core/StateScope.js +1 -133
- package/dist/state/core/index.cjs +1 -32
- package/dist/state/core/index.js +1 -8
- package/dist/state/index.cjs +1 -32
- package/dist/state/index.js +1 -12
- package/dist/state/types.cjs +1 -14
- package/dist/state/types.js +1 -13
- package/dist/state.umd.js +22 -1395
- package/dist/types.cjs +1 -6
- package/dist/types.js +1 -3
- package/dist/utils/analytics.cjs +1 -219
- package/dist/utils/analytics.js +1 -204
- package/dist/utils/configSecurity.cjs +3 -184
- package/dist/utils/configSecurity.js +3 -176
- package/dist/utils/csrf.cjs +1 -20
- package/dist/utils/csrf.js +1 -3
- package/dist/utils/errors/ErrorCodes.cjs +1 -27
- package/dist/utils/errors/ErrorCodes.js +1 -3
- package/dist/utils/errors.cjs +1 -113
- package/dist/utils/errors.js +1 -18
- package/dist/utils/index.cjs +1 -137
- package/dist/utils/index.js +1 -48
- package/dist/utils/logger.cjs +1 -27
- package/dist/utils/logger.js +1 -3
- package/dist/utils/logger.types.cjs +1 -13
- package/dist/utils/logger.types.js +1 -3
- package/dist/utils/monitoring.cjs +1 -20
- package/dist/utils/monitoring.js +1 -3
- package/dist/utils/performance.cjs +1 -24
- package/dist/utils/performance.js +1 -3
- package/dist/utils/resourceLoader.cjs +1 -24
- package/dist/utils/resourceLoader.js +1 -3
- package/dist/utils/runtimeSecurity.cjs +1 -13
- package/dist/utils/runtimeSecurity.js +1 -3
- package/dist/utils/security.cjs +1 -21
- package/dist/utils/security.js +1 -3
- package/dist/utils/traceId.cjs +1 -39
- package/dist/utils/traceId.js +1 -3
- package/dist/utils/validation.cjs +1 -21
- package/dist/utils/validation.js +1 -3
- package/package.json +9 -6
- package/dist/analytics/index.cjs.map +0 -1
- package/dist/analytics/index.js.map +0 -1
- package/dist/analytics.umd.js.map +0 -1
- package/dist/components/LocaleSwitch.cjs.map +0 -1
- package/dist/components/LocaleSwitch.js.map +0 -1
- package/dist/components/ThemeSwitch.cjs.map +0 -1
- package/dist/components/ThemeSwitch.js.map +0 -1
- package/dist/components/index.cjs.map +0 -1
- package/dist/components/index.js.map +0 -1
- package/dist/components/persistence.cjs.map +0 -1
- package/dist/components/persistence.js.map +0 -1
- package/dist/core/Test.cjs.map +0 -1
- package/dist/core/Test.js.map +0 -1
- package/dist/core/app/AppContext.cjs.map +0 -1
- package/dist/core/app/AppContext.js.map +0 -1
- package/dist/core/app/AppContext.types.cjs.map +0 -1
- package/dist/core/app/AppContext.types.js.map +0 -1
- package/dist/core/app/BasicLayout.cjs.map +0 -1
- package/dist/core/app/BasicLayout.js.map +0 -1
- package/dist/core/app/DefaultApp.cjs.map +0 -1
- package/dist/core/app/DefaultApp.js.map +0 -1
- package/dist/core/app/index.cjs.map +0 -1
- package/dist/core/app/index.js.map +0 -1
- package/dist/core/config/AppConfig.cjs.map +0 -1
- package/dist/core/config/AppConfig.js.map +0 -1
- package/dist/core/config/ConfigLoader.cjs.map +0 -1
- package/dist/core/config/ConfigLoader.js.map +0 -1
- package/dist/core/config/ConfigValidator.cjs.map +0 -1
- package/dist/core/config/ConfigValidator.js.map +0 -1
- package/dist/core/config/index.cjs.map +0 -1
- package/dist/core/config/index.js.map +0 -1
- package/dist/core/dev/DevTools.cjs.map +0 -1
- package/dist/core/dev/DevTools.js.map +0 -1
- package/dist/core/error/ErrorBoundary.cjs.map +0 -1
- package/dist/core/error/ErrorBoundary.js.map +0 -1
- package/dist/core/error/ErrorHandler.cjs.map +0 -1
- package/dist/core/error/ErrorHandler.js.map +0 -1
- package/dist/core/error/index.cjs.map +0 -1
- package/dist/core/error/index.js.map +0 -1
- package/dist/core/event/AppEventBus.cjs.map +0 -1
- package/dist/core/event/AppEventBus.js.map +0 -1
- package/dist/core/event/frameworkEvents.cjs.map +0 -1
- package/dist/core/event/frameworkEvents.js.map +0 -1
- package/dist/core/event/hooks.cjs.map +0 -1
- package/dist/core/event/hooks.js.map +0 -1
- package/dist/core/event/index.cjs.map +0 -1
- package/dist/core/event/index.js.map +0 -1
- package/dist/core/event/types.cjs.map +0 -1
- package/dist/core/event/types.js.map +0 -1
- package/dist/core/event/useEventBus.cjs.map +0 -1
- package/dist/core/event/useEventBus.js.map +0 -1
- package/dist/core/index.cjs.map +0 -1
- package/dist/core/index.js.map +0 -1
- package/dist/core/initialization/InitializationErrorThrower.cjs.map +0 -1
- package/dist/core/initialization/InitializationErrorThrower.js.map +0 -1
- package/dist/core/initialization/index.cjs.map +0 -1
- package/dist/core/initialization/index.js.map +0 -1
- package/dist/core/initialization/initialization.cjs.map +0 -1
- package/dist/core/initialization/initialization.js.map +0 -1
- package/dist/core/initialization/initializationErrorState.cjs.map +0 -1
- package/dist/core/initialization/initializationErrorState.js.map +0 -1
- package/dist/core/kernel/defaultAdapters.cjs.map +0 -1
- package/dist/core/kernel/defaultAdapters.js.map +0 -1
- package/dist/core/kernel/errors.cjs.map +0 -1
- package/dist/core/kernel/errors.js.map +0 -1
- package/dist/core/kernel/index.cjs.map +0 -1
- package/dist/core/kernel/index.js.map +0 -1
- package/dist/core/kernel/startKernel.cjs.map +0 -1
- package/dist/core/kernel/startKernel.js.map +0 -1
- package/dist/core/kernel/types.cjs.map +0 -1
- package/dist/core/kernel/types.js.map +0 -1
- package/dist/core/middleware.cjs.map +0 -1
- package/dist/core/middleware.js.map +0 -1
- package/dist/core/plugin/PluginEventBus.cjs.map +0 -1
- package/dist/core/plugin/PluginEventBus.js.map +0 -1
- package/dist/core/plugin/PluginSandbox.cjs.map +0 -1
- package/dist/core/plugin/PluginSandbox.js.map +0 -1
- package/dist/core/plugin.cjs.map +0 -1
- package/dist/core/plugin.js.map +0 -1
- package/dist/core/router/RouterManager.cjs.map +0 -1
- package/dist/core/router/RouterManager.js.map +0 -1
- package/dist/core/router/adapter/AdapterManager.cjs.map +0 -1
- package/dist/core/router/adapter/AdapterManager.js.map +0 -1
- package/dist/core/router/adapter/index.cjs.map +0 -1
- package/dist/core/router/adapter/index.js.map +0 -1
- package/dist/core/router/adapter/react-router/ReactRouterAdapter.cjs.map +0 -1
- package/dist/core/router/adapter/react-router/ReactRouterAdapter.js.map +0 -1
- package/dist/core/router/adapter/react-router/index.cjs.map +0 -1
- package/dist/core/router/adapter/react-router/index.js.map +0 -1
- package/dist/core/router/adapter/types.cjs.map +0 -1
- package/dist/core/router/adapter/types.js.map +0 -1
- package/dist/core/router/dev/RouterDevTools.cjs.map +0 -1
- package/dist/core/router/dev/RouterDevTools.js.map +0 -1
- package/dist/core/router/dev/index.cjs.map +0 -1
- package/dist/core/router/dev/index.js.map +0 -1
- package/dist/core/router/dynamic/DynamicRouteManager.cjs.map +0 -1
- package/dist/core/router/dynamic/DynamicRouteManager.js.map +0 -1
- package/dist/core/router/dynamic/index.cjs.map +0 -1
- package/dist/core/router/dynamic/index.js.map +0 -1
- package/dist/core/router/errors/RouterError.cjs.map +0 -1
- package/dist/core/router/errors/RouterError.js.map +0 -1
- package/dist/core/router/errors/index.cjs.map +0 -1
- package/dist/core/router/errors/index.js.map +0 -1
- package/dist/core/router/index.cjs.map +0 -1
- package/dist/core/router/index.js.map +0 -1
- package/dist/core/router/lifecycle/RouterLifecycleManager.cjs.map +0 -1
- package/dist/core/router/lifecycle/RouterLifecycleManager.js.map +0 -1
- package/dist/core/router/lifecycle/index.cjs.map +0 -1
- package/dist/core/router/lifecycle/index.js.map +0 -1
- package/dist/core/router/middleware/RouterMiddlewareManager.cjs.map +0 -1
- package/dist/core/router/middleware/RouterMiddlewareManager.js.map +0 -1
- package/dist/core/router/middleware/auth.cjs.map +0 -1
- package/dist/core/router/middleware/auth.js.map +0 -1
- package/dist/core/router/middleware/index.cjs.map +0 -1
- package/dist/core/router/middleware/index.js.map +0 -1
- package/dist/core/router/middleware/types.cjs.map +0 -1
- package/dist/core/router/middleware/types.js.map +0 -1
- package/dist/core/router/monitoring/RouterMonitoring.cjs.map +0 -1
- package/dist/core/router/monitoring/RouterMonitoring.js.map +0 -1
- package/dist/core/router/monitoring/index.cjs.map +0 -1
- package/dist/core/router/monitoring/index.js.map +0 -1
- package/dist/core/router/navigation/RouterNavigation.cjs.map +0 -1
- package/dist/core/router/navigation/RouterNavigation.js.map +0 -1
- package/dist/core/router/navigation/index.cjs.map +0 -1
- package/dist/core/router/navigation/index.js.map +0 -1
- package/dist/core/router/performance/RouteCache.cjs.map +0 -1
- package/dist/core/router/performance/RouteCache.js.map +0 -1
- package/dist/core/router/performance/RoutePreloader.cjs.map +0 -1
- package/dist/core/router/performance/RoutePreloader.js.map +0 -1
- package/dist/core/router/performance/index.cjs.map +0 -1
- package/dist/core/router/performance/index.js.map +0 -1
- package/dist/core/router/plugin/RouterPluginManager.cjs.map +0 -1
- package/dist/core/router/plugin/RouterPluginManager.js.map +0 -1
- package/dist/core/router/plugin/index.cjs.map +0 -1
- package/dist/core/router/plugin/index.js.map +0 -1
- package/dist/core/router/plugin/types.cjs.map +0 -1
- package/dist/core/router/plugin/types.js.map +0 -1
- package/dist/core/router/types.cjs.map +0 -1
- package/dist/core/router/types.js.map +0 -1
- package/dist/core/router/utils/adapters/react-router/RouteErrorBoundary.cjs.map +0 -1
- package/dist/core/router/utils/adapters/react-router/RouteErrorBoundary.js.map +0 -1
- package/dist/core/router/utils/adapters/react-router/transform.cjs.map +0 -1
- package/dist/core/router/utils/adapters/react-router/transform.js.map +0 -1
- package/dist/core/router/utils/transform.cjs.map +0 -1
- package/dist/core/router/utils/transform.js.map +0 -1
- package/dist/core/router/validation/RouterConfigValidator.cjs.map +0 -1
- package/dist/core/router/validation/RouterConfigValidator.js.map +0 -1
- package/dist/core/router/validation/index.cjs.map +0 -1
- package/dist/core/router/validation/index.js.map +0 -1
- package/dist/core/router/validation/schema.cjs.map +0 -1
- package/dist/core/router/validation/schema.js.map +0 -1
- package/dist/core/router/version/RouteVersionManager.cjs.map +0 -1
- package/dist/core/router/version/RouteVersionManager.js.map +0 -1
- package/dist/core/router/version/index.cjs.map +0 -1
- package/dist/core/router/version/index.js.map +0 -1
- package/dist/core/splash/SplashScreen.cjs.map +0 -1
- package/dist/core/splash/SplashScreen.js.map +0 -1
- package/dist/core/splash/index.cjs.map +0 -1
- package/dist/core/splash/index.js.map +0 -1
- package/dist/core/splash/splashScreenUtils.cjs.map +0 -1
- package/dist/core/splash/splashScreenUtils.js.map +0 -1
- package/dist/core/startup/AppInstance.cjs.map +0 -1
- package/dist/core/startup/AppInstance.js.map +0 -1
- package/dist/core/startup/environment.cjs.map +0 -1
- package/dist/core/startup/environment.js.map +0 -1
- package/dist/core/startup/index.cjs.map +0 -1
- package/dist/core/startup/index.js.map +0 -1
- package/dist/core/startup/initializeServices.cjs.map +0 -1
- package/dist/core/startup/initializeServices.js.map +0 -1
- package/dist/core/startup/performanceTracker.cjs.map +0 -1
- package/dist/core/startup/performanceTracker.js.map +0 -1
- package/dist/core/startup/renderApp.cjs.map +0 -1
- package/dist/core/startup/renderApp.js.map +0 -1
- package/dist/core/startup/startApp.cjs.map +0 -1
- package/dist/core/startup/startApp.js.map +0 -1
- package/dist/core/types.cjs.map +0 -1
- package/dist/core/types.js.map +0 -1
- package/dist/index.cjs.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/index.umd.cjs.map +0 -1
- package/dist/index.umd.js.map +0 -1
- package/dist/kernel/constants.cjs.map +0 -1
- package/dist/kernel/constants.js.map +0 -1
- package/dist/kernel/index.cjs.map +0 -1
- package/dist/kernel/index.js.map +0 -1
- package/dist/kernel/kernel.cjs.map +0 -1
- package/dist/kernel/kernel.js.map +0 -1
- package/dist/kernel/manager/cacheManager.cjs.map +0 -1
- package/dist/kernel/manager/cacheManager.js.map +0 -1
- package/dist/kernel/manager/i18n/I18nManager.cjs.map +0 -1
- package/dist/kernel/manager/i18n/I18nManager.js.map +0 -1
- package/dist/kernel/manager/i18n/i18n.persistence.cjs.map +0 -1
- package/dist/kernel/manager/i18n/i18n.persistence.js.map +0 -1
- package/dist/kernel/manager/i18n/i18n.schema.cjs.map +0 -1
- package/dist/kernel/manager/i18n/i18n.schema.js.map +0 -1
- package/dist/kernel/manager/i18n/index.cjs.map +0 -1
- package/dist/kernel/manager/i18n/index.js.map +0 -1
- package/dist/kernel/manager/i18nManager.cjs.map +0 -1
- package/dist/kernel/manager/i18nManager.js.map +0 -1
- package/dist/kernel/manager/index.cjs.map +0 -1
- package/dist/kernel/manager/index.js.map +0 -1
- package/dist/kernel/manager/logger/LoggerManager.cjs.map +0 -1
- package/dist/kernel/manager/logger/LoggerManager.js.map +0 -1
- package/dist/kernel/manager/logger/index.cjs.map +0 -1
- package/dist/kernel/manager/logger/index.js.map +0 -1
- package/dist/kernel/manager/logger/logger.persistence.cjs.map +0 -1
- package/dist/kernel/manager/logger/logger.persistence.js.map +0 -1
- package/dist/kernel/manager/logger/logger.schema.cjs.map +0 -1
- package/dist/kernel/manager/logger/logger.schema.js.map +0 -1
- package/dist/kernel/manager/loggerManager.cjs.map +0 -1
- package/dist/kernel/manager/loggerManager.js.map +0 -1
- package/dist/kernel/manager/persistence.cjs +0 -78
- package/dist/kernel/manager/persistence.cjs.map +0 -1
- package/dist/kernel/manager/persistence.d.ts +0 -3
- package/dist/kernel/manager/persistence.js +0 -60
- package/dist/kernel/manager/persistence.js.map +0 -1
- package/dist/kernel/manager/theme/ThemeManager.cjs.map +0 -1
- package/dist/kernel/manager/theme/ThemeManager.js.map +0 -1
- package/dist/kernel/manager/theme/index.cjs.map +0 -1
- package/dist/kernel/manager/theme/index.js.map +0 -1
- package/dist/kernel/manager/theme/theme.dom.cjs.map +0 -1
- package/dist/kernel/manager/theme/theme.dom.js.map +0 -1
- package/dist/kernel/manager/theme/theme.persistence.cjs.map +0 -1
- package/dist/kernel/manager/theme/theme.persistence.js.map +0 -1
- package/dist/kernel/manager/theme/theme.schema.cjs.map +0 -1
- package/dist/kernel/manager/theme/theme.schema.js.map +0 -1
- package/dist/kernel/manager/themeManager.cjs.map +0 -1
- package/dist/kernel/manager/themeManager.js.map +0 -1
- package/dist/kernel/types.cjs.map +0 -1
- package/dist/kernel/types.js.map +0 -1
- package/dist/library/index.cjs.map +0 -1
- package/dist/library/index.js.map +0 -1
- package/dist/library/locale/index.cjs.map +0 -1
- package/dist/library/locale/index.js.map +0 -1
- package/dist/library/locale/langs/en-us/index.cjs.map +0 -1
- package/dist/library/locale/langs/en-us/index.js.map +0 -1
- package/dist/library/locale/langs/zh-cn/index.cjs.map +0 -1
- package/dist/library/locale/langs/zh-cn/index.js.map +0 -1
- package/dist/library/locale/types.cjs.map +0 -1
- package/dist/library/locale/types.js.map +0 -1
- package/dist/library/storage/cache.cjs.map +0 -1
- package/dist/library/storage/cache.js.map +0 -1
- package/dist/library/storage/encryption.cjs.map +0 -1
- package/dist/library/storage/encryption.js.map +0 -1
- package/dist/library/storage/index.cjs.map +0 -1
- package/dist/library/storage/index.js.map +0 -1
- package/dist/request/adapter/RequestAdapter.d.ts +0 -85
- package/dist/request/adapter/RequestAdapter.js +0 -70
- package/dist/request/adapter/RequestAdapter.js.map +0 -1
- package/dist/request/adapter/axiosAdapter.d.ts +0 -10
- package/dist/request/adapter/axiosAdapter.js +0 -115
- package/dist/request/adapter/axiosAdapter.js.map +0 -1
- package/dist/request/adapter/fetchAdapter.d.ts +0 -10
- package/dist/request/adapter/fetchAdapter.js +0 -126
- package/dist/request/adapter/fetchAdapter.js.map +0 -1
- package/dist/request/adapter/index.d.ts +0 -9
- package/dist/request/adapter/index.js +0 -14
- package/dist/request/adapter/index.js.map +0 -1
- package/dist/request/adapter/kyAdapter.d.ts +0 -10
- package/dist/request/adapter/kyAdapter.js +0 -142
- package/dist/request/adapter/kyAdapter.js.map +0 -1
- package/dist/request/adapter/undiciAdapter.d.ts +0 -10
- package/dist/request/adapter/undiciAdapter.js +0 -164
- package/dist/request/adapter/undiciAdapter.js.map +0 -1
- package/dist/request/adapter.d.ts +0 -1
- package/dist/request/core/RequestClient.d.ts +0 -134
- package/dist/request/core/RequestClient.js +0 -509
- package/dist/request/core/RequestClient.js.map +0 -1
- package/dist/request/core/index.d.ts +0 -5
- package/dist/request/core/index.js +0 -5
- package/dist/request/core/index.js.map +0 -1
- package/dist/request/core.d.ts +0 -1
- package/dist/request/index.d.ts +0 -1
- package/dist/request/index.js +0 -50
- package/dist/request/index.js.map +0 -1
- package/dist/request/plugin/RequestPlugin.d.ts +0 -170
- package/dist/request/plugin/RequestPlugin.js +0 -203
- package/dist/request/plugin/RequestPlugin.js.map +0 -1
- package/dist/request/plugin/cache.d.ts +0 -33
- package/dist/request/plugin/cache.js +0 -264
- package/dist/request/plugin/cache.js.map +0 -1
- package/dist/request/plugin/csrfPlugin.d.ts +0 -21
- package/dist/request/plugin/csrfPlugin.js +0 -44
- package/dist/request/plugin/csrfPlugin.js.map +0 -1
- package/dist/request/plugin/index.d.ts +0 -11
- package/dist/request/plugin/index.js +0 -12
- package/dist/request/plugin/index.js.map +0 -1
- package/dist/request/plugin/monitoring.d.ts +0 -112
- package/dist/request/plugin/monitoring.js +0 -205
- package/dist/request/plugin/monitoring.js.map +0 -1
- package/dist/request/plugin/queue.d.ts +0 -91
- package/dist/request/plugin/queue.js +0 -156
- package/dist/request/plugin/queue.js.map +0 -1
- package/dist/request/plugin/retry.d.ts +0 -34
- package/dist/request/plugin/retry.js +0 -93
- package/dist/request/plugin/retry.js.map +0 -1
- package/dist/request/plugin/validation.d.ts +0 -26
- package/dist/request/plugin/validation.js +0 -116
- package/dist/request/plugin/validation.js.map +0 -1
- package/dist/request/plugin.d.ts +0 -1
- package/dist/request/runtime/RequestContext.d.ts +0 -50
- package/dist/request/runtime/RequestContext.js +0 -86
- package/dist/request/runtime/RequestContext.js.map +0 -1
- package/dist/request/runtime/index.d.ts +0 -4
- package/dist/request/runtime/index.js +0 -5
- package/dist/request/runtime/index.js.map +0 -1
- package/dist/request/runtime.d.ts +0 -1
- package/dist/request/types.d.ts +0 -1
- package/dist/request/types.js +0 -97
- package/dist/request/types.js.map +0 -1
- package/dist/request/utils/RequestQueueManager.d.ts +0 -74
- package/dist/request/utils/RequestQueueManager.js +0 -160
- package/dist/request/utils/RequestQueueManager.js.map +0 -1
- package/dist/request/utils/dependencyCheck.d.ts +0 -63
- package/dist/request/utils/dependencyCheck.js +0 -192
- package/dist/request/utils/dependencyCheck.js.map +0 -1
- package/dist/request/utils/index.d.ts +0 -5
- package/dist/request/utils/index.js +0 -6
- package/dist/request/utils/index.js.map +0 -1
- package/dist/request/utils.d.ts +0 -1
- package/dist/state/StateManager.cjs.map +0 -1
- package/dist/state/StateManager.js.map +0 -1
- package/dist/state/adapters/AdapterFactory.cjs.map +0 -1
- package/dist/state/adapters/AdapterFactory.js.map +0 -1
- package/dist/state/adapters/DefaultAdapter.cjs.map +0 -1
- package/dist/state/adapters/DefaultAdapter.js.map +0 -1
- package/dist/state/adapters/ReduxAdapter.cjs.map +0 -1
- package/dist/state/adapters/ReduxAdapter.js.map +0 -1
- package/dist/state/adapters/ZustandAdapter.cjs.map +0 -1
- package/dist/state/adapters/ZustandAdapter.js.map +0 -1
- package/dist/state/adapters/index.cjs.map +0 -1
- package/dist/state/adapters/index.js.map +0 -1
- package/dist/state/adapters/types.cjs.map +0 -1
- package/dist/state/adapters/types.js.map +0 -1
- package/dist/state/core/DerivedStateInstance.cjs.map +0 -1
- package/dist/state/core/DerivedStateInstance.js.map +0 -1
- package/dist/state/core/StateInstance.cjs.map +0 -1
- package/dist/state/core/StateInstance.js.map +0 -1
- package/dist/state/core/StateRegistry.cjs.map +0 -1
- package/dist/state/core/StateRegistry.js.map +0 -1
- package/dist/state/core/StateScope.cjs.map +0 -1
- package/dist/state/core/StateScope.js.map +0 -1
- package/dist/state/core/index.cjs.map +0 -1
- package/dist/state/core/index.js.map +0 -1
- package/dist/state/index.cjs.map +0 -1
- package/dist/state/index.js.map +0 -1
- package/dist/state/types.cjs.map +0 -1
- package/dist/state/types.js.map +0 -1
- package/dist/state.umd.js.map +0 -1
- package/dist/types.cjs.map +0 -1
- package/dist/types.js.map +0 -1
- package/dist/utils/analytics.cjs.map +0 -1
- package/dist/utils/analytics.js.map +0 -1
- package/dist/utils/configSecurity.cjs.map +0 -1
- package/dist/utils/configSecurity.js.map +0 -1
- package/dist/utils/csrf.cjs.map +0 -1
- package/dist/utils/csrf.js.map +0 -1
- package/dist/utils/errors/ErrorCodes.cjs.map +0 -1
- package/dist/utils/errors/ErrorCodes.js.map +0 -1
- package/dist/utils/errors.cjs.map +0 -1
- package/dist/utils/errors.js.map +0 -1
- package/dist/utils/index.cjs.map +0 -1
- package/dist/utils/index.js.map +0 -1
- package/dist/utils/logger.cjs.map +0 -1
- package/dist/utils/logger.js.map +0 -1
- package/dist/utils/logger.types.cjs.map +0 -1
- package/dist/utils/logger.types.js.map +0 -1
- package/dist/utils/monitoring.cjs.map +0 -1
- package/dist/utils/monitoring.js.map +0 -1
- package/dist/utils/performance.cjs.map +0 -1
- package/dist/utils/performance.js.map +0 -1
- package/dist/utils/resourceLoader.cjs.map +0 -1
- package/dist/utils/resourceLoader.js.map +0 -1
- package/dist/utils/runtimeSecurity.cjs.map +0 -1
- package/dist/utils/runtimeSecurity.js.map +0 -1
- package/dist/utils/security.cjs.map +0 -1
- package/dist/utils/security.js.map +0 -1
- package/dist/utils/traceId.cjs.map +0 -1
- package/dist/utils/traceId.js.map +0 -1
- package/dist/utils/validation.cjs.map +0 -1
- package/dist/utils/validation.js.map +0 -1
package/dist/kernel/kernel.js
CHANGED
|
@@ -1,273 +1 @@
|
|
|
1
|
-
function _define_property(obj, key, value) {
|
|
2
|
-
if (key in obj) {
|
|
3
|
-
Object.defineProperty(obj, key, {
|
|
4
|
-
value: value,
|
|
5
|
-
enumerable: true,
|
|
6
|
-
configurable: true,
|
|
7
|
-
writable: true
|
|
8
|
-
});
|
|
9
|
-
} else {
|
|
10
|
-
obj[key] = value;
|
|
11
|
-
}
|
|
12
|
-
return obj;
|
|
13
|
-
}
|
|
14
|
-
import { DEFAULT_CONFIG, DEFAULT_I18N, DEFAULT_INSTANCE_ID, DEFAULT_THEME } from "./constants";
|
|
15
|
-
import { LoggerManager } from "./manager/loggerManager";
|
|
16
|
-
import { CacheManager } from "./manager/cacheManager";
|
|
17
|
-
import { ThemeManager } from "./manager/themeManager";
|
|
18
|
-
import { I18nManager } from "./manager/i18nManager";
|
|
19
|
-
function now() {
|
|
20
|
-
return typeof performance !== 'undefined' ? performance.now() : Date.now();
|
|
21
|
-
}
|
|
22
|
-
function isRecord(value) {
|
|
23
|
-
return typeof value === 'object' && value !== null;
|
|
24
|
-
}
|
|
25
|
-
export class Kernel {
|
|
26
|
-
static getInstance(instanceId = DEFAULT_INSTANCE_ID) {
|
|
27
|
-
const existing = Kernel.instances.get(instanceId);
|
|
28
|
-
if (existing) {
|
|
29
|
-
return existing;
|
|
30
|
-
}
|
|
31
|
-
const created = new Kernel(instanceId);
|
|
32
|
-
Kernel.instances.set(instanceId, created);
|
|
33
|
-
return created;
|
|
34
|
-
}
|
|
35
|
-
getId() {
|
|
36
|
-
return this.instanceId;
|
|
37
|
-
}
|
|
38
|
-
getConfig() {
|
|
39
|
-
return this.config;
|
|
40
|
-
}
|
|
41
|
-
getMetrics() {
|
|
42
|
-
return [
|
|
43
|
-
...this.metrics
|
|
44
|
-
];
|
|
45
|
-
}
|
|
46
|
-
getLoggerManager() {
|
|
47
|
-
return this.loggerManager;
|
|
48
|
-
}
|
|
49
|
-
getCacheManager() {
|
|
50
|
-
return this.cacheManager;
|
|
51
|
-
}
|
|
52
|
-
getThemeManager() {
|
|
53
|
-
return this.themeManager;
|
|
54
|
-
}
|
|
55
|
-
getI18nManager() {
|
|
56
|
-
return this.i18nManager;
|
|
57
|
-
}
|
|
58
|
-
getManager(name) {
|
|
59
|
-
return this.managers.get(name);
|
|
60
|
-
}
|
|
61
|
-
registerManager(name, manager) {
|
|
62
|
-
if (this.managers.has(name)) {
|
|
63
|
-
throw new Error(`Kernel manager "${name}" 已存在`);
|
|
64
|
-
}
|
|
65
|
-
this.managers.set(name, manager);
|
|
66
|
-
}
|
|
67
|
-
async startup(options = {}) {
|
|
68
|
-
if (this.started) {
|
|
69
|
-
this.logDebug('kernel.startup.skip.already-started', {
|
|
70
|
-
instanceId: this.instanceId
|
|
71
|
-
});
|
|
72
|
-
return this;
|
|
73
|
-
}
|
|
74
|
-
if (this.startupPromise) {
|
|
75
|
-
return this.startupPromise;
|
|
76
|
-
}
|
|
77
|
-
this.startupPromise = this.bootstrap(options).finally(()=>{
|
|
78
|
-
this.startupPromise = null;
|
|
79
|
-
});
|
|
80
|
-
return this.startupPromise;
|
|
81
|
-
}
|
|
82
|
-
async bootstrap(options) {
|
|
83
|
-
await this.measurePhase('startup.begin', async ()=>{
|
|
84
|
-
this.logDebug('kernel.startup.begin', {
|
|
85
|
-
instanceId: this.instanceId
|
|
86
|
-
});
|
|
87
|
-
});
|
|
88
|
-
await this.measurePhase('config.load', async ()=>{
|
|
89
|
-
this.config = await this.resolveConfig(options);
|
|
90
|
-
});
|
|
91
|
-
await this.measurePhase('manager.register.custom', async ()=>{
|
|
92
|
-
if (options.customManagers) {
|
|
93
|
-
Object.entries(options.customManagers).forEach(([name, manager])=>{
|
|
94
|
-
if (!this.managers.has(name)) {
|
|
95
|
-
this.managers.set(name, manager);
|
|
96
|
-
}
|
|
97
|
-
});
|
|
98
|
-
}
|
|
99
|
-
});
|
|
100
|
-
await this.measurePhase('manager.initialize.default', async ()=>{
|
|
101
|
-
await this.initializeManager('cache');
|
|
102
|
-
await Promise.all([
|
|
103
|
-
this.initializeManager('logger'),
|
|
104
|
-
this.initializeManager('theme'),
|
|
105
|
-
this.initializeManager('i18n')
|
|
106
|
-
]);
|
|
107
|
-
});
|
|
108
|
-
await this.measurePhase('manager.initialize.custom', async ()=>{
|
|
109
|
-
const customManagerNames = [
|
|
110
|
-
...this.managers.keys()
|
|
111
|
-
].filter((name)=>name !== 'logger' && name !== 'cache' && name !== 'theme' && name !== 'i18n');
|
|
112
|
-
for (const name of customManagerNames){
|
|
113
|
-
await this.initializeManager(name);
|
|
114
|
-
}
|
|
115
|
-
});
|
|
116
|
-
await this.measurePhase('hooks.initialize', async ()=>{
|
|
117
|
-
await options.hooks?.initialize?.();
|
|
118
|
-
await options.lifecycle?.initialization?.();
|
|
119
|
-
});
|
|
120
|
-
await this.measurePhase('render.custom', async ()=>{
|
|
121
|
-
if (options.render) {
|
|
122
|
-
await options.render({
|
|
123
|
-
instanceId: this.instanceId,
|
|
124
|
-
config: this.config
|
|
125
|
-
});
|
|
126
|
-
}
|
|
127
|
-
});
|
|
128
|
-
this.started = true;
|
|
129
|
-
this.logDebug('kernel.startup.end', {
|
|
130
|
-
instanceId: this.instanceId,
|
|
131
|
-
metrics: this.metrics
|
|
132
|
-
});
|
|
133
|
-
return this;
|
|
134
|
-
}
|
|
135
|
-
async resolveConfig(options) {
|
|
136
|
-
let loaded = {};
|
|
137
|
-
if (options.configLoader) {
|
|
138
|
-
const loaderResult = await options.configLoader();
|
|
139
|
-
loaded = loaderResult || {};
|
|
140
|
-
}
|
|
141
|
-
const loadedThemeInitial = loaded.theme?.initial || {};
|
|
142
|
-
const loadedI18nInitial = loaded.i18n?.initial || {};
|
|
143
|
-
const optionTheme = options.theme || {};
|
|
144
|
-
const optionLocale = options.locale;
|
|
145
|
-
return {
|
|
146
|
-
logger: {
|
|
147
|
-
...DEFAULT_CONFIG.logger,
|
|
148
|
-
...loaded.logger,
|
|
149
|
-
...options.config?.logger || {},
|
|
150
|
-
level: options.loggerLevel ?? options.config?.logger?.level ?? loaded.logger?.level
|
|
151
|
-
},
|
|
152
|
-
cache: {
|
|
153
|
-
...DEFAULT_CONFIG.cache,
|
|
154
|
-
...loaded.cache,
|
|
155
|
-
...options.config?.cache || {},
|
|
156
|
-
storageOptions: {
|
|
157
|
-
...DEFAULT_CONFIG.cache.storageOptions,
|
|
158
|
-
...loaded.cache?.storageOptions || {},
|
|
159
|
-
...options.config?.cache?.storageOptions || {},
|
|
160
|
-
...options.storageOptions || {}
|
|
161
|
-
}
|
|
162
|
-
},
|
|
163
|
-
theme: {
|
|
164
|
-
...DEFAULT_CONFIG.theme,
|
|
165
|
-
...loaded.theme,
|
|
166
|
-
...options.config?.theme || {},
|
|
167
|
-
initial: {
|
|
168
|
-
...DEFAULT_THEME,
|
|
169
|
-
...loadedThemeInitial,
|
|
170
|
-
...options.config?.theme?.initial || {},
|
|
171
|
-
...isRecord(optionTheme) ? optionTheme : {}
|
|
172
|
-
}
|
|
173
|
-
},
|
|
174
|
-
i18n: {
|
|
175
|
-
...DEFAULT_CONFIG.i18n,
|
|
176
|
-
...loaded.i18n,
|
|
177
|
-
...options.config?.i18n || {},
|
|
178
|
-
initial: {
|
|
179
|
-
...DEFAULT_I18N,
|
|
180
|
-
...loadedI18nInitial,
|
|
181
|
-
...options.config?.i18n?.initial || {},
|
|
182
|
-
resources: isRecord(optionLocale) ? optionLocale : loadedI18nInitial.resources ?? options.config?.i18n?.initial?.resources
|
|
183
|
-
}
|
|
184
|
-
}
|
|
185
|
-
};
|
|
186
|
-
}
|
|
187
|
-
async initializeManager(name) {
|
|
188
|
-
if (this.initializedManagers.has(name)) {
|
|
189
|
-
return;
|
|
190
|
-
}
|
|
191
|
-
const existingPromise = this.managerInitPromises.get(name);
|
|
192
|
-
if (existingPromise) {
|
|
193
|
-
await existingPromise;
|
|
194
|
-
return;
|
|
195
|
-
}
|
|
196
|
-
const manager = this.managers.get(name);
|
|
197
|
-
if (!manager) {
|
|
198
|
-
throw new Error(`Kernel manager "${name}" 不存在`);
|
|
199
|
-
}
|
|
200
|
-
const context = {
|
|
201
|
-
instanceId: this.instanceId,
|
|
202
|
-
config: this.config,
|
|
203
|
-
cacheManager: this.cacheManager.cache
|
|
204
|
-
};
|
|
205
|
-
const initPromise = (async ()=>{
|
|
206
|
-
await manager.initialize(context);
|
|
207
|
-
this.initializedManagers.add(name);
|
|
208
|
-
this.logDebug('kernel.manager.initialized', {
|
|
209
|
-
name,
|
|
210
|
-
instanceId: this.instanceId
|
|
211
|
-
});
|
|
212
|
-
})();
|
|
213
|
-
this.managerInitPromises.set(name, initPromise);
|
|
214
|
-
try {
|
|
215
|
-
await initPromise;
|
|
216
|
-
} finally{
|
|
217
|
-
this.managerInitPromises.delete(name);
|
|
218
|
-
}
|
|
219
|
-
}
|
|
220
|
-
async measurePhase(phase, task) {
|
|
221
|
-
const startTime = now();
|
|
222
|
-
this.logDebug('kernel.phase.start', {
|
|
223
|
-
phase,
|
|
224
|
-
startTime,
|
|
225
|
-
instanceId: this.instanceId
|
|
226
|
-
});
|
|
227
|
-
await task();
|
|
228
|
-
const endTime = now();
|
|
229
|
-
const metric = {
|
|
230
|
-
phase,
|
|
231
|
-
startTime,
|
|
232
|
-
endTime,
|
|
233
|
-
duration: endTime - startTime
|
|
234
|
-
};
|
|
235
|
-
this.metrics.push(metric);
|
|
236
|
-
this.logDebug('kernel.phase.end', metric);
|
|
237
|
-
}
|
|
238
|
-
logDebug(message, payload) {
|
|
239
|
-
this.loggerManager.debug(message, payload);
|
|
240
|
-
}
|
|
241
|
-
constructor(instanceId){
|
|
242
|
-
_define_property(this, "instanceId", void 0);
|
|
243
|
-
_define_property(this, "metrics", []);
|
|
244
|
-
_define_property(this, "managers", new Map());
|
|
245
|
-
_define_property(this, "managerInitPromises", new Map());
|
|
246
|
-
_define_property(this, "initializedManagers", new Set());
|
|
247
|
-
_define_property(this, "loggerManager", new LoggerManager());
|
|
248
|
-
_define_property(this, "cacheManager", new CacheManager());
|
|
249
|
-
_define_property(this, "themeManager", new ThemeManager());
|
|
250
|
-
_define_property(this, "i18nManager", new I18nManager());
|
|
251
|
-
_define_property(this, "config", DEFAULT_CONFIG);
|
|
252
|
-
_define_property(this, "startupPromise", null);
|
|
253
|
-
_define_property(this, "started", false);
|
|
254
|
-
this.instanceId = instanceId;
|
|
255
|
-
this.managers.set('logger', this.loggerManager);
|
|
256
|
-
this.managers.set('cache', this.cacheManager);
|
|
257
|
-
this.managers.set('theme', this.themeManager);
|
|
258
|
-
this.managers.set('i18n', this.i18nManager);
|
|
259
|
-
}
|
|
260
|
-
}
|
|
261
|
-
_define_property(Kernel, "instances", new Map());
|
|
262
|
-
export async function startup(options = {}, instanceId = DEFAULT_INSTANCE_ID) {
|
|
263
|
-
const kernel = Kernel.getInstance(instanceId);
|
|
264
|
-
return kernel.startup(options);
|
|
265
|
-
}
|
|
266
|
-
export function getKernel(instanceId = DEFAULT_INSTANCE_ID) {
|
|
267
|
-
return Kernel.getInstance(instanceId);
|
|
268
|
-
}
|
|
269
|
-
export async function kernelStartApp(options = {}, instanceId = DEFAULT_INSTANCE_ID) {
|
|
270
|
-
return startup(options, instanceId);
|
|
271
|
-
}
|
|
272
|
-
|
|
273
|
-
//# sourceMappingURL=kernel.js.map
|
|
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{DEFAULT_CONFIG,DEFAULT_I18N,DEFAULT_INSTANCE_ID,DEFAULT_THEME}from"./constants";import{LoggerManager}from"./manager/loggerManager";import{CacheManager}from"./manager/cacheManager";import{ThemeManager}from"./manager/themeManager";import{I18nManager}from"./manager/i18nManager";function now(){return typeof performance!=="undefined"?performance.now():Date.now()}function isRecord(value){return typeof value==="object"&&value!==null}export class Kernel{static getInstance(instanceId=DEFAULT_INSTANCE_ID){const existing=Kernel.instances.get(instanceId);if(existing){return existing}const created=new Kernel(instanceId);Kernel.instances.set(instanceId,created);return created}getId(){return this.instanceId}getConfig(){return this.config}getMetrics(){return[...this.metrics]}getLoggerManager(){return this.loggerManager}getCacheManager(){return this.cacheManager}getThemeManager(){return this.themeManager}getI18nManager(){return this.i18nManager}getManager(name){return this.managers.get(name)}registerManager(name,manager){if(this.managers.has(name)){throw new Error(`Kernel manager "${name}" 已存在`)}this.managers.set(name,manager)}async startup(options={}){if(this.started){this.logDebug("kernel.startup.skip.already-started",{instanceId:this.instanceId});return this}if(this.startupPromise){return this.startupPromise}this.startupPromise=this.bootstrap(options).finally(()=>{this.startupPromise=null});return this.startupPromise}async bootstrap(options){await this.measurePhase("startup.begin",async()=>{this.logDebug("kernel.startup.begin",{instanceId:this.instanceId})});await this.measurePhase("config.load",async()=>{this.config=await this.resolveConfig(options)});await this.measurePhase("manager.register.custom",async()=>{if(options.customManagers){Object.entries(options.customManagers).forEach(([name,manager])=>{if(!this.managers.has(name)){this.managers.set(name,manager)}})}});await this.measurePhase("manager.initialize.default",async()=>{await this.initializeManager("cache");await Promise.all([this.initializeManager("logger"),this.initializeManager("theme"),this.initializeManager("i18n")])});await this.measurePhase("manager.initialize.custom",async()=>{const customManagerNames=[...this.managers.keys()].filter(name=>name!=="logger"&&name!=="cache"&&name!=="theme"&&name!=="i18n");for(const name of customManagerNames){await this.initializeManager(name)}});await this.measurePhase("hooks.initialize",async()=>{await options.hooks?.initialize?.();await options.lifecycle?.initialization?.()});await this.measurePhase("render.custom",async()=>{if(options.render){await options.render({instanceId:this.instanceId,config:this.config})}});this.started=true;this.logDebug("kernel.startup.end",{instanceId:this.instanceId,metrics:this.metrics});return this}async resolveConfig(options){let loaded={};if(options.configLoader){const loaderResult=await options.configLoader();loaded=loaderResult||{}}const loadedThemeInitial=loaded.theme?.initial||{};const loadedI18nInitial=loaded.i18n?.initial||{};const optionTheme=options.theme||{};const optionLocale=options.locale;return{logger:{...DEFAULT_CONFIG.logger,...loaded.logger,...options.config?.logger||{},level:options.loggerLevel??options.config?.logger?.level??loaded.logger?.level},cache:{...DEFAULT_CONFIG.cache,...loaded.cache,...options.config?.cache||{},storageOptions:{...DEFAULT_CONFIG.cache.storageOptions,...loaded.cache?.storageOptions||{},...options.config?.cache?.storageOptions||{},...options.storageOptions||{}}},theme:{...DEFAULT_CONFIG.theme,...loaded.theme,...options.config?.theme||{},initial:{...DEFAULT_THEME,...loadedThemeInitial,...options.config?.theme?.initial||{},...isRecord(optionTheme)?optionTheme:{}}},i18n:{...DEFAULT_CONFIG.i18n,...loaded.i18n,...options.config?.i18n||{},initial:{...DEFAULT_I18N,...loadedI18nInitial,...options.config?.i18n?.initial||{},resources:isRecord(optionLocale)?optionLocale:loadedI18nInitial.resources??options.config?.i18n?.initial?.resources}}}}async initializeManager(name){if(this.initializedManagers.has(name)){return}const existingPromise=this.managerInitPromises.get(name);if(existingPromise){await existingPromise;return}const manager=this.managers.get(name);if(!manager){throw new Error(`Kernel manager "${name}" 不存在`)}const context={instanceId:this.instanceId,config:this.config,cacheManager:this.cacheManager.cache};const initPromise=(async()=>{await manager.initialize(context);this.initializedManagers.add(name);this.logDebug("kernel.manager.initialized",{name,instanceId:this.instanceId})})();this.managerInitPromises.set(name,initPromise);try{await initPromise}finally{this.managerInitPromises.delete(name)}}async measurePhase(phase,task){const startTime=now();this.logDebug("kernel.phase.start",{phase,startTime,instanceId:this.instanceId});await task();const endTime=now();const metric={phase,startTime,endTime,duration:endTime-startTime};this.metrics.push(metric);this.logDebug("kernel.phase.end",metric)}logDebug(message,payload){this.loggerManager.debug(message,payload)}constructor(instanceId){_define_property(this,"instanceId",void 0);_define_property(this,"metrics",[]);_define_property(this,"managers",new Map);_define_property(this,"managerInitPromises",new Map);_define_property(this,"initializedManagers",new Set);_define_property(this,"loggerManager",new LoggerManager);_define_property(this,"cacheManager",new CacheManager);_define_property(this,"themeManager",new ThemeManager);_define_property(this,"i18nManager",new I18nManager);_define_property(this,"config",DEFAULT_CONFIG);_define_property(this,"startupPromise",null);_define_property(this,"started",false);this.instanceId=instanceId;this.managers.set("logger",this.loggerManager);this.managers.set("cache",this.cacheManager);this.managers.set("theme",this.themeManager);this.managers.set("i18n",this.i18nManager)}}_define_property(Kernel,"instances",new Map);export async function startup(options={},instanceId=DEFAULT_INSTANCE_ID){const kernel=Kernel.getInstance(instanceId);return kernel.startup(options)}export function getKernel(instanceId=DEFAULT_INSTANCE_ID){return Kernel.getInstance(instanceId)}export async function kernelStartApp(options={},instanceId=DEFAULT_INSTANCE_ID){return startup(options,instanceId)}
|
|
@@ -1,48 +1 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "CacheManager", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return CacheManager;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
const _constants = require("../constants");
|
|
12
|
-
const _utils = require("@vlian/utils");
|
|
13
|
-
function _define_property(obj, key, value) {
|
|
14
|
-
if (key in obj) {
|
|
15
|
-
Object.defineProperty(obj, key, {
|
|
16
|
-
value: value,
|
|
17
|
-
enumerable: true,
|
|
18
|
-
configurable: true,
|
|
19
|
-
writable: true
|
|
20
|
-
});
|
|
21
|
-
} else {
|
|
22
|
-
obj[key] = value;
|
|
23
|
-
}
|
|
24
|
-
return obj;
|
|
25
|
-
}
|
|
26
|
-
let CacheManager = class CacheManager {
|
|
27
|
-
initialize(context) {
|
|
28
|
-
this.snapshot = context.config.cache;
|
|
29
|
-
this.cacheIn = (0, _utils.createStorage)({
|
|
30
|
-
type: this.snapshot.storageOptions?.type || 'local',
|
|
31
|
-
prefix: this.snapshot.storageOptions?.prefix || 'vlian',
|
|
32
|
-
defaultExpire: this.snapshot.storageOptions?.defaultExpire || 24 * 60 * 60 * 1000,
|
|
33
|
-
dbName: this.snapshot.storageOptions?.tableName
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
get cache() {
|
|
37
|
-
return this.cacheIn;
|
|
38
|
-
}
|
|
39
|
-
getSnapshot() {
|
|
40
|
-
return this.snapshot;
|
|
41
|
-
}
|
|
42
|
-
constructor(){
|
|
43
|
-
_define_property(this, "snapshot", _constants.DEFAULT_CONFIG.cache);
|
|
44
|
-
_define_property(this, "cacheIn", void 0);
|
|
45
|
-
}
|
|
46
|
-
};
|
|
47
|
-
|
|
48
|
-
//# sourceMappingURL=cacheManager.js.map
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"CacheManager",{enumerable:true,get:function(){return CacheManager}});const _constants=require("../constants");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 CacheManager=class CacheManager{initialize(context){this.snapshot=context.config.cache;this.cacheIn=(0,_utils.createStorage)({type:this.snapshot.storageOptions?.type||"local",prefix:this.snapshot.storageOptions?.prefix||"vlian",defaultExpire:this.snapshot.storageOptions?.defaultExpire||24*60*60*1e3,dbName:this.snapshot.storageOptions?.tableName})}get cache(){return this.cacheIn}getSnapshot(){return this.snapshot}constructor(){_define_property(this,"snapshot",_constants.DEFAULT_CONFIG.cache);_define_property(this,"cacheIn",void 0)}};
|
|
@@ -1,38 +1 @@
|
|
|
1
|
-
function _define_property(obj, key,
|
|
2
|
-
if (key in obj) {
|
|
3
|
-
Object.defineProperty(obj, key, {
|
|
4
|
-
value: value,
|
|
5
|
-
enumerable: true,
|
|
6
|
-
configurable: true,
|
|
7
|
-
writable: true
|
|
8
|
-
});
|
|
9
|
-
} else {
|
|
10
|
-
obj[key] = value;
|
|
11
|
-
}
|
|
12
|
-
return obj;
|
|
13
|
-
}
|
|
14
|
-
import { DEFAULT_CONFIG } from "../constants";
|
|
15
|
-
import { createStorage } from "@vlian/utils";
|
|
16
|
-
export class CacheManager {
|
|
17
|
-
initialize(context) {
|
|
18
|
-
this.snapshot = context.config.cache;
|
|
19
|
-
this.cacheIn = createStorage({
|
|
20
|
-
type: this.snapshot.storageOptions?.type || 'local',
|
|
21
|
-
prefix: this.snapshot.storageOptions?.prefix || 'vlian',
|
|
22
|
-
defaultExpire: this.snapshot.storageOptions?.defaultExpire || 24 * 60 * 60 * 1000,
|
|
23
|
-
dbName: this.snapshot.storageOptions?.tableName
|
|
24
|
-
});
|
|
25
|
-
}
|
|
26
|
-
get cache() {
|
|
27
|
-
return this.cacheIn;
|
|
28
|
-
}
|
|
29
|
-
getSnapshot() {
|
|
30
|
-
return this.snapshot;
|
|
31
|
-
}
|
|
32
|
-
constructor(){
|
|
33
|
-
_define_property(this, "snapshot", DEFAULT_CONFIG.cache);
|
|
34
|
-
_define_property(this, "cacheIn", void 0);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
//# sourceMappingURL=cacheManager.js.map
|
|
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{DEFAULT_CONFIG}from"../constants";import{createStorage}from"@vlian/utils";export class CacheManager{initialize(context){this.snapshot=context.config.cache;this.cacheIn=createStorage({type:this.snapshot.storageOptions?.type||"local",prefix:this.snapshot.storageOptions?.prefix||"vlian",defaultExpire:this.snapshot.storageOptions?.defaultExpire||24*60*60*1e3,dbName:this.snapshot.storageOptions?.tableName})}get cache(){return this.cacheIn}getSnapshot(){return this.snapshot}constructor(){_define_property(this,"snapshot",DEFAULT_CONFIG.cache);_define_property(this,"cacheIn",void 0)}}
|
|
@@ -1,93 +1 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "I18nManager", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return I18nManager;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
const _library = require("../../../library");
|
|
12
|
-
const _constants = require("../../constants");
|
|
13
|
-
const _i18npersistence = require("./i18n.persistence");
|
|
14
|
-
const _i18nschema = require("./i18n.schema");
|
|
15
|
-
function _define_property(obj, key, value) {
|
|
16
|
-
if (key in obj) {
|
|
17
|
-
Object.defineProperty(obj, key, {
|
|
18
|
-
value: value,
|
|
19
|
-
enumerable: true,
|
|
20
|
-
configurable: true,
|
|
21
|
-
writable: true
|
|
22
|
-
});
|
|
23
|
-
} else {
|
|
24
|
-
obj[key] = value;
|
|
25
|
-
}
|
|
26
|
-
return obj;
|
|
27
|
-
}
|
|
28
|
-
let I18nManager = class I18nManager {
|
|
29
|
-
async initialize(context) {
|
|
30
|
-
this.config = context.config.i18n;
|
|
31
|
-
this.cacheManager = context.cacheManager;
|
|
32
|
-
const initialSnapshot = (0, _i18nschema.normalizeI18nSnapshot)(this.config.initial || {}, _constants.DEFAULT_I18N);
|
|
33
|
-
this.snapshot = await (0, _i18npersistence.loadI18nFromCache)(this.cacheManager, this.config.persistence, initialSnapshot);
|
|
34
|
-
await (0, _library.setupI18n)({
|
|
35
|
-
interpolation: {
|
|
36
|
-
escapeValue: false
|
|
37
|
-
},
|
|
38
|
-
lng: this.snapshot.locale || "zh-CN",
|
|
39
|
-
resources: this.snapshot.resources
|
|
40
|
-
});
|
|
41
|
-
await (0, _library.setLang)(this.snapshot.locale);
|
|
42
|
-
this.initialized = true;
|
|
43
|
-
}
|
|
44
|
-
getSnapshot() {
|
|
45
|
-
return (0, _i18nschema.cloneI18nSnapshot)(this.snapshot);
|
|
46
|
-
}
|
|
47
|
-
subscribe(listener) {
|
|
48
|
-
this.listeners.add(listener);
|
|
49
|
-
return ()=>{
|
|
50
|
-
this.listeners.delete(listener);
|
|
51
|
-
};
|
|
52
|
-
}
|
|
53
|
-
async setLocale(locale) {
|
|
54
|
-
this.ensureInitialized();
|
|
55
|
-
const prevSnapshot = this.snapshot;
|
|
56
|
-
const nextSnapshot = (0, _i18nschema.mergeI18nSnapshot)(prevSnapshot, {
|
|
57
|
-
locale
|
|
58
|
-
});
|
|
59
|
-
if ((0, _i18nschema.isI18nEqual)(prevSnapshot, nextSnapshot)) {
|
|
60
|
-
return;
|
|
61
|
-
}
|
|
62
|
-
this.snapshot = nextSnapshot;
|
|
63
|
-
// set lang
|
|
64
|
-
await (0, _library.setLang)(this.snapshot.locale);
|
|
65
|
-
if (this.cacheManager) {
|
|
66
|
-
await (0, _i18npersistence.saveI18nToCache)(this.cacheManager, this.config.persistence, this.snapshot);
|
|
67
|
-
}
|
|
68
|
-
this.emit(this.snapshot, prevSnapshot);
|
|
69
|
-
}
|
|
70
|
-
ensureInitialized() {
|
|
71
|
-
if (!this.initialized) {
|
|
72
|
-
throw new Error('I18nManager must be initialized before use.');
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
emit(next, prev) {
|
|
76
|
-
for (const listener of this.listeners){
|
|
77
|
-
try {
|
|
78
|
-
listener((0, _i18nschema.cloneI18nSnapshot)(next), (0, _i18nschema.cloneI18nSnapshot)(prev));
|
|
79
|
-
} catch {
|
|
80
|
-
// Keep notifying remaining listeners even if one fails.
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
constructor(){
|
|
85
|
-
_define_property(this, "snapshot", (0, _i18nschema.cloneI18nSnapshot)(_constants.DEFAULT_I18N));
|
|
86
|
-
_define_property(this, "config", _constants.DEFAULT_CONFIG.i18n);
|
|
87
|
-
_define_property(this, "listeners", new Set());
|
|
88
|
-
_define_property(this, "cacheManager", null);
|
|
89
|
-
_define_property(this, "initialized", false);
|
|
90
|
-
}
|
|
91
|
-
};
|
|
92
|
-
|
|
93
|
-
//# sourceMappingURL=I18nManager.js.map
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"I18nManager",{enumerable:true,get:function(){return I18nManager}});const _library=require("../../../library");const _constants=require("../../constants");const _i18npersistence=require("./i18n.persistence");const _i18nschema=require("./i18n.schema");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 I18nManager=class I18nManager{async initialize(context){this.config=context.config.i18n;this.cacheManager=context.cacheManager;const initialSnapshot=(0,_i18nschema.normalizeI18nSnapshot)(this.config.initial||{},_constants.DEFAULT_I18N);this.snapshot=await (0,_i18npersistence.loadI18nFromCache)(this.cacheManager,this.config.persistence,initialSnapshot);await (0,_library.setupI18n)({interpolation:{escapeValue:false},lng:this.snapshot.locale||"zh-CN",resources:this.snapshot.resources});await (0,_library.setLang)(this.snapshot.locale);this.initialized=true}getSnapshot(){return(0,_i18nschema.cloneI18nSnapshot)(this.snapshot)}subscribe(listener){this.listeners.add(listener);return()=>{this.listeners.delete(listener)}}async setLocale(locale){this.ensureInitialized();const prevSnapshot=this.snapshot;const nextSnapshot=(0,_i18nschema.mergeI18nSnapshot)(prevSnapshot,{locale});if((0,_i18nschema.isI18nEqual)(prevSnapshot,nextSnapshot)){return}this.snapshot=nextSnapshot;await (0,_library.setLang)(this.snapshot.locale);if(this.cacheManager){await (0,_i18npersistence.saveI18nToCache)(this.cacheManager,this.config.persistence,this.snapshot)}this.emit(this.snapshot,prevSnapshot)}ensureInitialized(){if(!this.initialized){throw new Error("I18nManager must be initialized before use.")}}emit(next,prev){for(const listener of this.listeners){try{listener((0,_i18nschema.cloneI18nSnapshot)(next),(0,_i18nschema.cloneI18nSnapshot)(prev))}catch{}}}constructor(){_define_property(this,"snapshot",(0,_i18nschema.cloneI18nSnapshot)(_constants.DEFAULT_I18N));_define_property(this,"config",_constants.DEFAULT_CONFIG.i18n);_define_property(this,"listeners",new Set);_define_property(this,"cacheManager",null);_define_property(this,"initialized",false)}};
|
|
@@ -1,83 +1 @@
|
|
|
1
|
-
function _define_property(obj, key,
|
|
2
|
-
if (key in obj) {
|
|
3
|
-
Object.defineProperty(obj, key, {
|
|
4
|
-
value: value,
|
|
5
|
-
enumerable: true,
|
|
6
|
-
configurable: true,
|
|
7
|
-
writable: true
|
|
8
|
-
});
|
|
9
|
-
} else {
|
|
10
|
-
obj[key] = value;
|
|
11
|
-
}
|
|
12
|
-
return obj;
|
|
13
|
-
}
|
|
14
|
-
import { setupI18n, setLang } from "../../../library";
|
|
15
|
-
import { DEFAULT_CONFIG, DEFAULT_I18N } from "../../constants";
|
|
16
|
-
import { loadI18nFromCache, saveI18nToCache } from "./i18n.persistence";
|
|
17
|
-
import { cloneI18nSnapshot, isI18nEqual, mergeI18nSnapshot, normalizeI18nSnapshot } from "./i18n.schema";
|
|
18
|
-
export class I18nManager {
|
|
19
|
-
async initialize(context) {
|
|
20
|
-
this.config = context.config.i18n;
|
|
21
|
-
this.cacheManager = context.cacheManager;
|
|
22
|
-
const initialSnapshot = normalizeI18nSnapshot(this.config.initial || {}, DEFAULT_I18N);
|
|
23
|
-
this.snapshot = await loadI18nFromCache(this.cacheManager, this.config.persistence, initialSnapshot);
|
|
24
|
-
await setupI18n({
|
|
25
|
-
interpolation: {
|
|
26
|
-
escapeValue: false
|
|
27
|
-
},
|
|
28
|
-
lng: this.snapshot.locale || "zh-CN",
|
|
29
|
-
resources: this.snapshot.resources
|
|
30
|
-
});
|
|
31
|
-
await setLang(this.snapshot.locale);
|
|
32
|
-
this.initialized = true;
|
|
33
|
-
}
|
|
34
|
-
getSnapshot() {
|
|
35
|
-
return cloneI18nSnapshot(this.snapshot);
|
|
36
|
-
}
|
|
37
|
-
subscribe(listener) {
|
|
38
|
-
this.listeners.add(listener);
|
|
39
|
-
return ()=>{
|
|
40
|
-
this.listeners.delete(listener);
|
|
41
|
-
};
|
|
42
|
-
}
|
|
43
|
-
async setLocale(locale) {
|
|
44
|
-
this.ensureInitialized();
|
|
45
|
-
const prevSnapshot = this.snapshot;
|
|
46
|
-
const nextSnapshot = mergeI18nSnapshot(prevSnapshot, {
|
|
47
|
-
locale
|
|
48
|
-
});
|
|
49
|
-
if (isI18nEqual(prevSnapshot, nextSnapshot)) {
|
|
50
|
-
return;
|
|
51
|
-
}
|
|
52
|
-
this.snapshot = nextSnapshot;
|
|
53
|
-
// set lang
|
|
54
|
-
await setLang(this.snapshot.locale);
|
|
55
|
-
if (this.cacheManager) {
|
|
56
|
-
await saveI18nToCache(this.cacheManager, this.config.persistence, this.snapshot);
|
|
57
|
-
}
|
|
58
|
-
this.emit(this.snapshot, prevSnapshot);
|
|
59
|
-
}
|
|
60
|
-
ensureInitialized() {
|
|
61
|
-
if (!this.initialized) {
|
|
62
|
-
throw new Error('I18nManager must be initialized before use.');
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
emit(next, prev) {
|
|
66
|
-
for (const listener of this.listeners){
|
|
67
|
-
try {
|
|
68
|
-
listener(cloneI18nSnapshot(next), cloneI18nSnapshot(prev));
|
|
69
|
-
} catch {
|
|
70
|
-
// Keep notifying remaining listeners even if one fails.
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
constructor(){
|
|
75
|
-
_define_property(this, "snapshot", cloneI18nSnapshot(DEFAULT_I18N));
|
|
76
|
-
_define_property(this, "config", DEFAULT_CONFIG.i18n);
|
|
77
|
-
_define_property(this, "listeners", new Set());
|
|
78
|
-
_define_property(this, "cacheManager", null);
|
|
79
|
-
_define_property(this, "initialized", false);
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
//# sourceMappingURL=I18nManager.js.map
|
|
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{setupI18n,setLang}from"../../../library";import{DEFAULT_CONFIG,DEFAULT_I18N}from"../../constants";import{loadI18nFromCache,saveI18nToCache}from"./i18n.persistence";import{cloneI18nSnapshot,isI18nEqual,mergeI18nSnapshot,normalizeI18nSnapshot}from"./i18n.schema";export class I18nManager{async initialize(context){this.config=context.config.i18n;this.cacheManager=context.cacheManager;const initialSnapshot=normalizeI18nSnapshot(this.config.initial||{},DEFAULT_I18N);this.snapshot=await loadI18nFromCache(this.cacheManager,this.config.persistence,initialSnapshot);await setupI18n({interpolation:{escapeValue:false},lng:this.snapshot.locale||"zh-CN",resources:this.snapshot.resources});await setLang(this.snapshot.locale);this.initialized=true}getSnapshot(){return cloneI18nSnapshot(this.snapshot)}subscribe(listener){this.listeners.add(listener);return()=>{this.listeners.delete(listener)}}async setLocale(locale){this.ensureInitialized();const prevSnapshot=this.snapshot;const nextSnapshot=mergeI18nSnapshot(prevSnapshot,{locale});if(isI18nEqual(prevSnapshot,nextSnapshot)){return}this.snapshot=nextSnapshot;await setLang(this.snapshot.locale);if(this.cacheManager){await saveI18nToCache(this.cacheManager,this.config.persistence,this.snapshot)}this.emit(this.snapshot,prevSnapshot)}ensureInitialized(){if(!this.initialized){throw new Error("I18nManager must be initialized before use.")}}emit(next,prev){for(const listener of this.listeners){try{listener(cloneI18nSnapshot(next),cloneI18nSnapshot(prev))}catch{}}}constructor(){_define_property(this,"snapshot",cloneI18nSnapshot(DEFAULT_I18N));_define_property(this,"config",DEFAULT_CONFIG.i18n);_define_property(this,"listeners",new Set);_define_property(this,"cacheManager",null);_define_property(this,"initialized",false)}}
|
|
@@ -1,62 +1 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
function _export(target, all) {
|
|
6
|
-
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
-
enumerable: true,
|
|
8
|
-
get: Object.getOwnPropertyDescriptor(all, name).get
|
|
9
|
-
});
|
|
10
|
-
}
|
|
11
|
-
_export(exports, {
|
|
12
|
-
get DEFAULT_I18N_CACHE_KEY () {
|
|
13
|
-
return DEFAULT_I18N_CACHE_KEY;
|
|
14
|
-
},
|
|
15
|
-
get loadI18nFromCache () {
|
|
16
|
-
return loadI18nFromCache;
|
|
17
|
-
},
|
|
18
|
-
get saveI18nToCache () {
|
|
19
|
-
return saveI18nToCache;
|
|
20
|
-
}
|
|
21
|
-
});
|
|
22
|
-
const _i18nschema = require("./i18n.schema");
|
|
23
|
-
const DEFAULT_I18N_CACHE_KEY = 'vlian:kernel:i18n';
|
|
24
|
-
function resolvePersistenceContext(persistence) {
|
|
25
|
-
if (persistence?.enabled !== true) {
|
|
26
|
-
return null;
|
|
27
|
-
}
|
|
28
|
-
return {
|
|
29
|
-
key: persistence.key || DEFAULT_I18N_CACHE_KEY
|
|
30
|
-
};
|
|
31
|
-
}
|
|
32
|
-
async function loadI18nFromCache(cacheManager, persistence, fallback) {
|
|
33
|
-
const persistenceContext = resolvePersistenceContext(persistence);
|
|
34
|
-
const safeFallback = (0, _i18nschema.cloneI18nSnapshot)(fallback);
|
|
35
|
-
if (!persistenceContext) {
|
|
36
|
-
return safeFallback;
|
|
37
|
-
}
|
|
38
|
-
try {
|
|
39
|
-
const cached = await cacheManager.get(persistenceContext.key, {
|
|
40
|
-
defaultValue: safeFallback
|
|
41
|
-
});
|
|
42
|
-
return (0, _i18nschema.normalizeI18nSnapshot)(cached, safeFallback);
|
|
43
|
-
} catch {
|
|
44
|
-
return safeFallback;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
async function saveI18nToCache(cacheManager, persistence, snapshot) {
|
|
48
|
-
const persistenceContext = resolvePersistenceContext(persistence);
|
|
49
|
-
if (!persistenceContext) {
|
|
50
|
-
return;
|
|
51
|
-
}
|
|
52
|
-
try {
|
|
53
|
-
const persistedSnapshot = {
|
|
54
|
-
locale: (0, _i18nschema.cloneI18nSnapshot)(snapshot).locale
|
|
55
|
-
};
|
|
56
|
-
await cacheManager.set(persistenceContext.key, persistedSnapshot);
|
|
57
|
-
} catch {
|
|
58
|
-
// Ignore persistence failures and keep i18n updates in memory.
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
//# sourceMappingURL=i18n.persistence.js.map
|
|
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 DEFAULT_I18N_CACHE_KEY(){return DEFAULT_I18N_CACHE_KEY},get loadI18nFromCache(){return loadI18nFromCache},get saveI18nToCache(){return saveI18nToCache}});const _i18nschema=require("./i18n.schema");const DEFAULT_I18N_CACHE_KEY="vlian:kernel:i18n";function resolvePersistenceContext(persistence){if(persistence?.enabled!==true){return null}return{key:persistence.key||DEFAULT_I18N_CACHE_KEY}}async function loadI18nFromCache(cacheManager,persistence,fallback){const persistenceContext=resolvePersistenceContext(persistence);const safeFallback=(0,_i18nschema.cloneI18nSnapshot)(fallback);if(!persistenceContext){return safeFallback}try{const cached=await cacheManager.get(persistenceContext.key,{defaultValue:safeFallback});return(0,_i18nschema.normalizeI18nSnapshot)(cached,safeFallback)}catch{return safeFallback}}async function saveI18nToCache(cacheManager,persistence,snapshot){const persistenceContext=resolvePersistenceContext(persistence);if(!persistenceContext){return}try{const persistedSnapshot={locale:(0,_i18nschema.cloneI18nSnapshot)(snapshot).locale};await cacheManager.set(persistenceContext.key,persistedSnapshot)}catch{}}
|
|
@@ -1,41 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
export const DEFAULT_I18N_CACHE_KEY = 'vlian:kernel:i18n';
|
|
3
|
-
function resolvePersistenceContext(persistence) {
|
|
4
|
-
if (persistence?.enabled !== true) {
|
|
5
|
-
return null;
|
|
6
|
-
}
|
|
7
|
-
return {
|
|
8
|
-
key: persistence.key || DEFAULT_I18N_CACHE_KEY
|
|
9
|
-
};
|
|
10
|
-
}
|
|
11
|
-
export async function loadI18nFromCache(cacheManager, persistence, fallback) {
|
|
12
|
-
const persistenceContext = resolvePersistenceContext(persistence);
|
|
13
|
-
const safeFallback = cloneI18nSnapshot(fallback);
|
|
14
|
-
if (!persistenceContext) {
|
|
15
|
-
return safeFallback;
|
|
16
|
-
}
|
|
17
|
-
try {
|
|
18
|
-
const cached = await cacheManager.get(persistenceContext.key, {
|
|
19
|
-
defaultValue: safeFallback
|
|
20
|
-
});
|
|
21
|
-
return normalizeI18nSnapshot(cached, safeFallback);
|
|
22
|
-
} catch {
|
|
23
|
-
return safeFallback;
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
export async function saveI18nToCache(cacheManager, persistence, snapshot) {
|
|
27
|
-
const persistenceContext = resolvePersistenceContext(persistence);
|
|
28
|
-
if (!persistenceContext) {
|
|
29
|
-
return;
|
|
30
|
-
}
|
|
31
|
-
try {
|
|
32
|
-
const persistedSnapshot = {
|
|
33
|
-
locale: cloneI18nSnapshot(snapshot).locale
|
|
34
|
-
};
|
|
35
|
-
await cacheManager.set(persistenceContext.key, persistedSnapshot);
|
|
36
|
-
} catch {
|
|
37
|
-
// Ignore persistence failures and keep i18n updates in memory.
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
//# sourceMappingURL=i18n.persistence.js.map
|
|
1
|
+
import{cloneI18nSnapshot,normalizeI18nSnapshot}from"./i18n.schema";export const DEFAULT_I18N_CACHE_KEY="vlian:kernel:i18n";function resolvePersistenceContext(persistence){if(persistence?.enabled!==true){return null}return{key:persistence.key||DEFAULT_I18N_CACHE_KEY}}export async function loadI18nFromCache(cacheManager,persistence,fallback){const persistenceContext=resolvePersistenceContext(persistence);const safeFallback=cloneI18nSnapshot(fallback);if(!persistenceContext){return safeFallback}try{const cached=await cacheManager.get(persistenceContext.key,{defaultValue:safeFallback});return normalizeI18nSnapshot(cached,safeFallback)}catch{return safeFallback}}export async function saveI18nToCache(cacheManager,persistence,snapshot){const persistenceContext=resolvePersistenceContext(persistence);if(!persistenceContext){return}try{const persistedSnapshot={locale:cloneI18nSnapshot(snapshot).locale};await cacheManager.set(persistenceContext.key,persistedSnapshot)}catch{}}
|