@vlian/framework 1.2.56 → 1.2.59
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 +0 -2
- package/dist/analytics/index.js +1 -3
- package/dist/analytics.umd.js +8 -208
- package/dist/components/LocaleSwitch.cjs +0 -2
- package/dist/components/LocaleSwitch.js +1 -103
- package/dist/components/ThemeSwitch.cjs +0 -2
- package/dist/components/ThemeSwitch.js +1 -102
- package/dist/components/index.cjs +0 -2
- package/dist/components/index.js +1 -4
- package/dist/components/persistence.cjs +0 -2
- package/dist/components/persistence.js +1 -39
- package/dist/core/Test.cjs +0 -2
- package/dist/core/Test.js +1 -15
- package/dist/core/app/AppContext.cjs +0 -2
- package/dist/core/app/AppContext.js +1 -339
- package/dist/core/app/AppContext.types.cjs +0 -2
- package/dist/core/app/AppContext.types.js +1 -5
- package/dist/core/app/BasicLayout.cjs +0 -2
- package/dist/core/app/BasicLayout.js +1 -74
- package/dist/core/app/DefaultApp.cjs +0 -2
- package/dist/core/app/DefaultApp.js +1 -143
- package/dist/core/app/index.cjs +0 -2
- package/dist/core/app/index.js +1 -7
- package/dist/core/config/AppConfig.cjs +0 -2
- package/dist/core/config/AppConfig.js +1 -133
- package/dist/core/config/ConfigLoader.cjs +0 -2
- package/dist/core/config/ConfigLoader.js +1 -311
- package/dist/core/config/ConfigValidator.cjs +0 -2
- package/dist/core/config/ConfigValidator.js +2 -121
- package/dist/core/config/index.cjs +0 -2
- package/dist/core/config/index.js +1 -7
- package/dist/core/dev/DevTools.cjs +0 -2
- package/dist/core/dev/DevTools.js +1 -210
- package/dist/core/error/ErrorBoundary.cjs +0 -2
- package/dist/core/error/ErrorBoundary.js +1 -399
- package/dist/core/error/ErrorHandler.cjs +0 -2
- package/dist/core/error/ErrorHandler.js +1 -261
- package/dist/core/error/index.cjs +0 -2
- package/dist/core/error/index.js +1 -6
- package/dist/core/event/AppEventBus.cjs +0 -2
- package/dist/core/event/AppEventBus.js +1 -438
- package/dist/core/event/frameworkEvents.cjs +0 -2
- package/dist/core/event/frameworkEvents.js +1 -135
- package/dist/core/event/hooks.cjs +0 -2
- package/dist/core/event/hooks.js +1 -95
- package/dist/core/event/index.cjs +0 -2
- package/dist/core/event/index.js +1 -10
- package/dist/core/event/types.cjs +0 -2
- package/dist/core/event/types.js +1 -56
- package/dist/core/event/useEventBus.cjs +0 -2
- package/dist/core/event/useEventBus.js +1 -39
- package/dist/core/index.cjs +0 -2
- package/dist/core/index.js +1 -69
- package/dist/core/initialization/InitializationErrorThrower.cjs +0 -2
- package/dist/core/initialization/InitializationErrorThrower.js +1 -30
- package/dist/core/initialization/index.cjs +0 -2
- package/dist/core/initialization/index.js +1 -7
- package/dist/core/initialization/initialization.cjs +0 -2
- package/dist/core/initialization/initialization.js +1 -78
- package/dist/core/initialization/initializationErrorState.cjs +0 -2
- package/dist/core/initialization/initializationErrorState.js +1 -60
- package/dist/core/kernel/defaultAdapters.cjs +0 -2
- package/dist/core/kernel/defaultAdapters.js +1 -176
- package/dist/core/kernel/errors.cjs +0 -2
- package/dist/core/kernel/errors.js +1 -53
- package/dist/core/kernel/index.cjs +0 -2
- package/dist/core/kernel/index.js +1 -4
- package/dist/core/kernel/startKernel.cjs +0 -2
- package/dist/core/kernel/startKernel.js +1 -192
- package/dist/core/kernel/types.cjs +0 -2
- package/dist/core/kernel/types.js +1 -3
- package/dist/core/middleware.cjs +0 -2
- package/dist/core/middleware.js +1 -61
- package/dist/core/plugin/PluginEventBus.cjs +0 -2
- package/dist/core/plugin/PluginEventBus.js +1 -286
- package/dist/core/plugin/PluginSandbox.cjs +0 -2
- package/dist/core/plugin/PluginSandbox.js +1 -125
- package/dist/core/plugin.cjs +0 -2
- package/dist/core/plugin.js +1 -438
- package/dist/core/router/RouterManager.cjs +0 -2
- package/dist/core/router/RouterManager.js +1 -272
- package/dist/core/router/adapter/AdapterManager.cjs +0 -2
- package/dist/core/router/adapter/AdapterManager.js +1 -221
- package/dist/core/router/adapter/index.cjs +0 -2
- package/dist/core/router/adapter/index.js +1 -7
- package/dist/core/router/adapter/react-router/ReactRouterAdapter.cjs +0 -2
- package/dist/core/router/adapter/react-router/ReactRouterAdapter.js +1 -116
- package/dist/core/router/adapter/react-router/index.cjs +0 -2
- package/dist/core/router/adapter/react-router/index.js +1 -5
- package/dist/core/router/adapter/types.cjs +0 -2
- package/dist/core/router/adapter/types.js +1 -7
- package/dist/core/router/dev/RouterDevTools.cjs +0 -2
- package/dist/core/router/dev/RouterDevTools.js +1 -211
- package/dist/core/router/dev/index.cjs +0 -2
- package/dist/core/router/dev/index.js +1 -5
- package/dist/core/router/dynamic/DynamicRouteManager.cjs +0 -2
- package/dist/core/router/dynamic/DynamicRouteManager.js +1 -179
- package/dist/core/router/dynamic/index.cjs +0 -2
- package/dist/core/router/dynamic/index.js +1 -5
- package/dist/core/router/errors/RouterError.cjs +0 -2
- package/dist/core/router/errors/RouterError.js +1 -48
- package/dist/core/router/errors/index.cjs +0 -2
- package/dist/core/router/errors/index.js +1 -5
- package/dist/core/router/index.cjs +0 -2
- package/dist/core/router/index.js +1 -32
- package/dist/core/router/lifecycle/RouterLifecycleManager.cjs +0 -2
- package/dist/core/router/lifecycle/RouterLifecycleManager.js +1 -130
- package/dist/core/router/lifecycle/index.cjs +0 -2
- package/dist/core/router/lifecycle/index.js +1 -5
- package/dist/core/router/middleware/RouterMiddlewareManager.cjs +0 -2
- package/dist/core/router/middleware/RouterMiddlewareManager.js +1 -179
- package/dist/core/router/middleware/auth.cjs +0 -2
- package/dist/core/router/middleware/auth.js +1 -63
- package/dist/core/router/middleware/index.cjs +0 -2
- package/dist/core/router/middleware/index.js +1 -7
- package/dist/core/router/middleware/types.cjs +0 -2
- package/dist/core/router/middleware/types.js +1 -7
- package/dist/core/router/monitoring/RouterMonitoring.cjs +0 -2
- package/dist/core/router/monitoring/RouterMonitoring.js +1 -213
- package/dist/core/router/monitoring/index.cjs +0 -2
- package/dist/core/router/monitoring/index.js +1 -5
- package/dist/core/router/navigation/RouterNavigation.cjs +0 -2
- package/dist/core/router/navigation/RouterNavigation.js +1 -192
- package/dist/core/router/navigation/index.cjs +0 -2
- package/dist/core/router/navigation/index.js +1 -5
- package/dist/core/router/performance/RouteCache.cjs +0 -2
- package/dist/core/router/performance/RouteCache.js +1 -291
- package/dist/core/router/performance/RoutePreloader.cjs +0 -2
- package/dist/core/router/performance/RoutePreloader.js +1 -277
- package/dist/core/router/performance/index.cjs +0 -2
- package/dist/core/router/performance/index.js +1 -6
- package/dist/core/router/plugin/RouterPluginManager.cjs +0 -2
- package/dist/core/router/plugin/RouterPluginManager.js +1 -248
- package/dist/core/router/plugin/index.cjs +0 -2
- package/dist/core/router/plugin/index.js +1 -6
- package/dist/core/router/plugin/types.cjs +0 -2
- package/dist/core/router/plugin/types.js +1 -33
- package/dist/core/router/types.cjs +0 -2
- package/dist/core/router/types.js +1 -5
- package/dist/core/router/utils/adapters/react-router/RouteErrorBoundary.cjs +0 -2
- package/dist/core/router/utils/adapters/react-router/RouteErrorBoundary.js +1 -121
- package/dist/core/router/utils/adapters/react-router/transform.cjs +0 -2
- package/dist/core/router/utils/adapters/react-router/transform.js +1 -242
- package/dist/core/router/utils/transform.cjs +0 -2
- package/dist/core/router/utils/transform.js +1 -791
- package/dist/core/router/validation/RouterConfigValidator.cjs +0 -2
- package/dist/core/router/validation/RouterConfigValidator.js +2 -77
- package/dist/core/router/validation/index.cjs +0 -2
- package/dist/core/router/validation/index.js +1 -6
- package/dist/core/router/validation/schema.cjs +0 -2
- package/dist/core/router/validation/schema.js +1 -151
- package/dist/core/router/version/RouteVersionManager.cjs +0 -2
- package/dist/core/router/version/RouteVersionManager.js +1 -191
- package/dist/core/router/version/index.cjs +0 -2
- package/dist/core/router/version/index.js +1 -5
- package/dist/core/splash/SplashScreen.cjs +0 -2
- package/dist/core/splash/SplashScreen.js +1 -293
- package/dist/core/splash/index.cjs +0 -2
- package/dist/core/splash/index.js +1 -6
- package/dist/core/splash/splashScreenUtils.cjs +0 -2
- package/dist/core/splash/splashScreenUtils.js +1 -30
- package/dist/core/startup/AppInstance.cjs +0 -2
- package/dist/core/startup/AppInstance.js +1 -226
- package/dist/core/startup/environment.cjs +0 -2
- package/dist/core/startup/environment.js +1 -154
- package/dist/core/startup/index.cjs +0 -2
- package/dist/core/startup/index.js +1 -8
- package/dist/core/startup/initializeServices.cjs +0 -2
- package/dist/core/startup/initializeServices.js +1 -188
- package/dist/core/startup/performanceTracker.cjs +0 -2
- package/dist/core/startup/performanceTracker.js +1 -167
- package/dist/core/startup/renderApp.cjs +0 -2
- package/dist/core/startup/renderApp.js +1 -267
- package/dist/core/startup/startApp.cjs +0 -2
- package/dist/core/startup/startApp.js +1 -315
- package/dist/core/types.cjs +0 -2
- package/dist/core/types.js +1 -5
- package/dist/index.cjs +0 -2
- package/dist/index.js +1 -11
- package/dist/index.umd.cjs +0 -2
- package/dist/index.umd.js +362 -13230
- package/dist/kernel/constants.cjs +0 -2
- package/dist/kernel/constants.js +1 -43
- package/dist/kernel/index.cjs +0 -2
- package/dist/kernel/index.js +1 -4
- package/dist/kernel/kernel.cjs +1 -3
- package/dist/kernel/kernel.js +1 -273
- package/dist/kernel/manager/cacheManager.cjs +0 -2
- package/dist/kernel/manager/cacheManager.js +1 -38
- package/dist/kernel/manager/i18n/I18nManager.cjs +0 -2
- package/dist/kernel/manager/i18n/I18nManager.js +1 -83
- package/dist/kernel/manager/i18n/i18n.persistence.cjs +4 -3
- package/dist/kernel/manager/i18n/i18n.persistence.js +1 -38
- package/dist/kernel/manager/i18n/i18n.schema.cjs +0 -2
- package/dist/kernel/manager/i18n/i18n.schema.js +1 -64
- package/dist/kernel/manager/i18n/index.cjs +0 -2
- package/dist/kernel/manager/i18n/index.js +1 -3
- package/dist/kernel/manager/i18nManager.cjs +0 -2
- package/dist/kernel/manager/i18nManager.js +1 -3
- package/dist/kernel/manager/index.cjs +0 -2
- package/dist/kernel/manager/index.js +1 -6
- package/dist/kernel/manager/logger/LoggerManager.cjs +0 -2
- package/dist/kernel/manager/logger/LoggerManager.js +1 -99
- package/dist/kernel/manager/logger/index.cjs +0 -2
- package/dist/kernel/manager/logger/index.js +1 -3
- package/dist/kernel/manager/logger/logger.persistence.cjs +0 -2
- package/dist/kernel/manager/logger/logger.persistence.js +1 -43
- package/dist/kernel/manager/logger/logger.schema.cjs +0 -2
- package/dist/kernel/manager/logger/logger.schema.js +1 -55
- package/dist/kernel/manager/loggerManager.cjs +0 -2
- package/dist/kernel/manager/loggerManager.js +1 -3
- package/dist/kernel/manager/theme/ThemeManager.cjs +0 -2
- package/dist/kernel/manager/theme/ThemeManager.js +1 -76
- package/dist/kernel/manager/theme/index.cjs +0 -2
- package/dist/kernel/manager/theme/index.js +1 -3
- package/dist/kernel/manager/theme/theme.dom.cjs +0 -2
- package/dist/kernel/manager/theme/theme.dom.js +1 -45
- package/dist/kernel/manager/theme/theme.persistence.cjs +0 -2
- package/dist/kernel/manager/theme/theme.persistence.js +1 -38
- package/dist/kernel/manager/theme/theme.schema.cjs +0 -2
- package/dist/kernel/manager/theme/theme.schema.js +1 -97
- package/dist/kernel/manager/themeManager.cjs +0 -2
- package/dist/kernel/manager/themeManager.js +1 -3
- package/dist/kernel/types.cjs +0 -2
- package/dist/kernel/types.js +1 -3
- package/dist/library/index.cjs +0 -2
- package/dist/library/index.js +1 -4
- package/dist/library/locale/index.cjs +0 -2
- package/dist/library/locale/index.js +1 -12
- package/dist/library/locale/langs/en-us/index.cjs +0 -2
- package/dist/library/locale/langs/en-us/index.js +1 -24
- package/dist/library/locale/langs/zh-cn/index.cjs +0 -2
- package/dist/library/locale/langs/zh-cn/index.js +1 -24
- package/dist/library/locale/types.cjs +0 -2
- package/dist/library/locale/types.js +1 -3
- package/dist/library/storage/cache.cjs +0 -2
- package/dist/library/storage/cache.js +1 -237
- package/dist/library/storage/encryption.cjs +0 -2
- package/dist/library/storage/encryption.js +1 -141
- package/dist/library/storage/index.cjs +0 -2
- package/dist/library/storage/index.js +1 -106
- package/dist/state/StateManager.cjs +0 -2
- package/dist/state/StateManager.js +1 -160
- package/dist/state/adapters/AdapterFactory.cjs +0 -2
- package/dist/state/adapters/AdapterFactory.js +1 -85
- package/dist/state/adapters/DefaultAdapter.cjs +0 -2
- package/dist/state/adapters/DefaultAdapter.js +1 -71
- package/dist/state/adapters/ReduxAdapter.cjs +0 -2
- package/dist/state/adapters/ReduxAdapter.js +1 -439
- package/dist/state/adapters/ZustandAdapter.cjs +0 -2
- package/dist/state/adapters/ZustandAdapter.js +1 -70
- package/dist/state/adapters/index.cjs +0 -2
- package/dist/state/adapters/index.js +1 -9
- package/dist/state/adapters/types.cjs +0 -2
- package/dist/state/adapters/types.js +1 -5
- package/dist/state/core/DerivedStateInstance.cjs +0 -2
- package/dist/state/core/DerivedStateInstance.js +1 -173
- package/dist/state/core/StateInstance.cjs +0 -2
- package/dist/state/core/StateInstance.js +1 -168
- package/dist/state/core/StateRegistry.cjs +0 -2
- package/dist/state/core/StateRegistry.js +1 -106
- package/dist/state/core/StateScope.cjs +0 -2
- package/dist/state/core/StateScope.js +1 -133
- package/dist/state/core/index.cjs +0 -2
- package/dist/state/core/index.js +1 -8
- package/dist/state/index.cjs +0 -2
- package/dist/state/index.js +1 -12
- package/dist/state/types.cjs +0 -2
- package/dist/state/types.js +1 -13
- package/dist/state.umd.js +22 -1395
- package/dist/types.cjs +0 -2
- package/dist/types.js +1 -3
- package/dist/utils/analytics.cjs +0 -2
- package/dist/utils/analytics.js +1 -204
- package/dist/utils/configSecurity.cjs +0 -2
- package/dist/utils/configSecurity.js +3 -176
- package/dist/utils/csrf.cjs +0 -2
- package/dist/utils/csrf.js +1 -3
- package/dist/utils/errors/ErrorCodes.cjs +0 -2
- package/dist/utils/errors/ErrorCodes.js +1 -3
- package/dist/utils/errors.cjs +0 -2
- package/dist/utils/errors.js +1 -18
- package/dist/utils/index.cjs +0 -2
- package/dist/utils/index.js +1 -48
- package/dist/utils/logger.cjs +0 -2
- package/dist/utils/logger.js +1 -3
- package/dist/utils/logger.types.cjs +0 -2
- package/dist/utils/logger.types.js +1 -3
- package/dist/utils/monitoring.cjs +0 -2
- package/dist/utils/monitoring.js +1 -3
- package/dist/utils/performance.cjs +0 -2
- package/dist/utils/performance.js +1 -3
- package/dist/utils/resourceLoader.cjs +0 -2
- package/dist/utils/resourceLoader.js +1 -3
- package/dist/utils/runtimeSecurity.cjs +0 -2
- package/dist/utils/runtimeSecurity.js +1 -3
- package/dist/utils/security.cjs +0 -2
- package/dist/utils/security.js +1 -3
- package/dist/utils/traceId.cjs +0 -2
- package/dist/utils/traceId.js +1 -3
- package/dist/utils/validation.cjs +0 -2
- package/dist/utils/validation.js +1 -3
- package/package.json +3 -4
- 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
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utils/analytics.ts"],"sourcesContent":["import { logger } from './logger';\nimport { SecurityUtils } from './security';\n\n/**\n * 分析事件类型\n */\nexport type AnalyticsEventType = 'pageview' | 'click' | 'custom' | 'error' | 'performance';\n\n/**\n * 分析事件\n */\nexport interface AnalyticsEvent {\n /**\n * 事件类型\n */\n type: AnalyticsEventType;\n /**\n * 事件名称\n */\n name: string;\n /**\n * 事件属性\n */\n properties?: Record<string, unknown>;\n /**\n * 时间戳\n */\n timestamp?: number;\n}\n\n/**\n * 分析配置\n */\nexport interface AnalyticsConfig {\n /**\n * 是否启用分析\n */\n enabled?: boolean;\n /**\n * 采样率 (0-1)\n */\n sampleRate?: number;\n /**\n * 是否匿名化数据\n */\n anonymize?: boolean;\n /**\n * 事件上报回调\n */\n onEvent?: (event: AnalyticsEvent) => void;\n /**\n * 批量上报回调\n */\n onBatch?: (events: AnalyticsEvent[]) => void;\n /**\n * 批量上报大小\n */\n batchSize?: number;\n /**\n * 批量上报间隔(毫秒)\n */\n batchInterval?: number;\n}\n\n/**\n * 分析服务类\n */\nexport class AnalyticsService {\n private config: Required<AnalyticsConfig>;\n private eventQueue: AnalyticsEvent[] = [];\n private batchTimer: ReturnType<typeof setInterval> | null = null;\n\n constructor(config: AnalyticsConfig = {}) {\n this.config = {\n enabled: config.enabled ?? true,\n sampleRate: config.sampleRate ?? 1.0,\n anonymize: config.anonymize ?? true,\n onEvent: config.onEvent ?? (() => {}),\n onBatch: config.onBatch ?? (() => {}),\n batchSize: config.batchSize ?? 10,\n batchInterval: config.batchInterval ?? 5000,\n };\n\n if (this.config.enabled) {\n this.startBatchTimer();\n }\n }\n\n /**\n * 启动批量上报定时器\n */\n private startBatchTimer(): void {\n if (this.batchTimer) {\n return;\n }\n\n this.batchTimer = setInterval(() => {\n this.flush();\n }, this.config.batchInterval);\n }\n\n /**\n * 停止批量上报定时器\n */\n private stopBatchTimer(): void {\n if (this.batchTimer) {\n clearInterval(this.batchTimer);\n this.batchTimer = null;\n }\n }\n\n /**\n * 记录事件\n */\n track(event: Omit<AnalyticsEvent, 'timestamp'>): void {\n if (!this.config.enabled) {\n return;\n }\n\n // 采样检查\n if (Math.random() > this.config.sampleRate) {\n return;\n }\n\n // 匿名化处理\n const anonymizedEvent: AnalyticsEvent = {\n ...event,\n timestamp: Date.now(),\n properties: this.anonymizeProperties(event.properties),\n };\n\n // 添加到队列\n this.eventQueue.push(anonymizedEvent);\n\n // 立即上报单个事件\n if (this.config.onEvent) {\n this.config.onEvent(anonymizedEvent);\n }\n\n // 检查是否需要批量上报\n if (this.eventQueue.length >= this.config.batchSize) {\n this.flush();\n }\n }\n\n /**\n * 记录页面浏览\n */\n trackPageView(page: string, properties?: Record<string, unknown>): void {\n this.track({\n type: 'pageview',\n name: 'page_view',\n properties: {\n page,\n ...properties,\n },\n });\n }\n\n /**\n * 记录点击事件\n */\n trackClick(element: string, properties?: Record<string, unknown>): void {\n this.track({\n type: 'click',\n name: 'click',\n properties: {\n element,\n ...properties,\n },\n });\n }\n\n /**\n * 记录自定义事件\n */\n trackCustom(name: string, properties?: Record<string, unknown>): void {\n this.track({\n type: 'custom',\n name,\n properties,\n });\n }\n\n /**\n * 记录错误事件\n */\n trackError(error: Error, properties?: Record<string, unknown>): void {\n this.track({\n type: 'error',\n name: 'error',\n properties: {\n errorName: error.name,\n errorMessage: error.message,\n errorStack: error.stack,\n ...properties,\n },\n });\n }\n\n /**\n * 记录性能事件\n */\n trackPerformance(metrics: Record<string, number>, properties?: Record<string, unknown>): void {\n this.track({\n type: 'performance',\n name: 'performance',\n properties: {\n ...metrics,\n ...properties,\n },\n });\n }\n\n /**\n * 匿名化属性(使用深度脱敏)\n */\n private anonymizeProperties(properties?: Record<string, unknown>): Record<string, unknown> | undefined {\n if (!this.config.anonymize || !properties) {\n return properties;\n }\n\n // 使用深度脱敏处理\n return SecurityUtils.deepSanitize(properties) as Record<string, unknown>;\n }\n\n /**\n * 刷新队列(批量上报)\n */\n flush(): void {\n if (this.eventQueue.length === 0) {\n return;\n }\n\n const events = [...this.eventQueue];\n this.eventQueue = [];\n\n if (this.config.onBatch) {\n this.config.onBatch(events);\n }\n\n logger.debug(`分析服务批量上报 ${events.length} 个事件`);\n }\n\n /**\n * 启用分析\n */\n enable(): void {\n this.config.enabled = true;\n this.startBatchTimer();\n }\n\n /**\n * 禁用分析\n */\n disable(): void {\n this.config.enabled = false;\n this.stopBatchTimer();\n this.flush();\n }\n\n /**\n * 销毁服务\n */\n destroy(): void {\n this.stopBatchTimer();\n this.flush();\n }\n}\n\n/**\n * 默认分析服务实例\n */\nlet defaultAnalyticsService: AnalyticsService | null = null;\n\n/**\n * 初始化默认分析服务\n */\nexport function initAnalytics(config?: AnalyticsConfig): AnalyticsService {\n if (!defaultAnalyticsService) {\n defaultAnalyticsService = new AnalyticsService(config);\n }\n return defaultAnalyticsService;\n}\n\n/**\n * 获取默认分析服务\n */\nexport function getAnalytics(): AnalyticsService {\n if (!defaultAnalyticsService) {\n return initAnalytics();\n }\n return defaultAnalyticsService;\n}\n"],"names":["AnalyticsService","getAnalytics","initAnalytics","startBatchTimer","batchTimer","setInterval","flush","config","batchInterval","stopBatchTimer","clearInterval","track","event","enabled","Math","random","sampleRate","anonymizedEvent","timestamp","Date","now","properties","anonymizeProperties","eventQueue","push","onEvent","length","batchSize","trackPageView","page","type","name","trackClick","element","trackCustom","trackError","error","errorName","errorMessage","message","errorStack","stack","trackPerformance","metrics","anonymize","SecurityUtils","deepSanitize","events","onBatch","logger","debug","enable","disable","destroy","defaultAnalyticsService"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utils/analytics.ts"],"sourcesContent":["import { logger } from './logger';\nimport { SecurityUtils } from './security';\n\n/**\n * 分析事件类型\n */\nexport type AnalyticsEventType = 'pageview' | 'click' | 'custom' | 'error' | 'performance';\n\n/**\n * 分析事件\n */\nexport interface AnalyticsEvent {\n /**\n * 事件类型\n */\n type: AnalyticsEventType;\n /**\n * 事件名称\n */\n name: string;\n /**\n * 事件属性\n */\n properties?: Record<string, unknown>;\n /**\n * 时间戳\n */\n timestamp?: number;\n}\n\n/**\n * 分析配置\n */\nexport interface AnalyticsConfig {\n /**\n * 是否启用分析\n */\n enabled?: boolean;\n /**\n * 采样率 (0-1)\n */\n sampleRate?: number;\n /**\n * 是否匿名化数据\n */\n anonymize?: boolean;\n /**\n * 事件上报回调\n */\n onEvent?: (event: AnalyticsEvent) => void;\n /**\n * 批量上报回调\n */\n onBatch?: (events: AnalyticsEvent[]) => void;\n /**\n * 批量上报大小\n */\n batchSize?: number;\n /**\n * 批量上报间隔(毫秒)\n */\n batchInterval?: number;\n}\n\n/**\n * 分析服务类\n */\nexport class AnalyticsService {\n private config: Required<AnalyticsConfig>;\n private eventQueue: AnalyticsEvent[] = [];\n private batchTimer: ReturnType<typeof setInterval> | null = null;\n\n constructor(config: AnalyticsConfig = {}) {\n this.config = {\n enabled: config.enabled ?? true,\n sampleRate: config.sampleRate ?? 1.0,\n anonymize: config.anonymize ?? true,\n onEvent: config.onEvent ?? (() => {}),\n onBatch: config.onBatch ?? (() => {}),\n batchSize: config.batchSize ?? 10,\n batchInterval: config.batchInterval ?? 5000,\n };\n\n if (this.config.enabled) {\n this.startBatchTimer();\n }\n }\n\n /**\n * 启动批量上报定时器\n */\n private startBatchTimer(): void {\n if (this.batchTimer) {\n return;\n }\n\n this.batchTimer = setInterval(() => {\n this.flush();\n }, this.config.batchInterval);\n }\n\n /**\n * 停止批量上报定时器\n */\n private stopBatchTimer(): void {\n if (this.batchTimer) {\n clearInterval(this.batchTimer);\n this.batchTimer = null;\n }\n }\n\n /**\n * 记录事件\n */\n track(event: Omit<AnalyticsEvent, 'timestamp'>): void {\n if (!this.config.enabled) {\n return;\n }\n\n // 采样检查\n if (Math.random() > this.config.sampleRate) {\n return;\n }\n\n // 匿名化处理\n const anonymizedEvent: AnalyticsEvent = {\n ...event,\n timestamp: Date.now(),\n properties: this.anonymizeProperties(event.properties),\n };\n\n // 添加到队列\n this.eventQueue.push(anonymizedEvent);\n\n // 立即上报单个事件\n if (this.config.onEvent) {\n this.config.onEvent(anonymizedEvent);\n }\n\n // 检查是否需要批量上报\n if (this.eventQueue.length >= this.config.batchSize) {\n this.flush();\n }\n }\n\n /**\n * 记录页面浏览\n */\n trackPageView(page: string, properties?: Record<string, unknown>): void {\n this.track({\n type: 'pageview',\n name: 'page_view',\n properties: {\n page,\n ...properties,\n },\n });\n }\n\n /**\n * 记录点击事件\n */\n trackClick(element: string, properties?: Record<string, unknown>): void {\n this.track({\n type: 'click',\n name: 'click',\n properties: {\n element,\n ...properties,\n },\n });\n }\n\n /**\n * 记录自定义事件\n */\n trackCustom(name: string, properties?: Record<string, unknown>): void {\n this.track({\n type: 'custom',\n name,\n properties,\n });\n }\n\n /**\n * 记录错误事件\n */\n trackError(error: Error, properties?: Record<string, unknown>): void {\n this.track({\n type: 'error',\n name: 'error',\n properties: {\n errorName: error.name,\n errorMessage: error.message,\n errorStack: error.stack,\n ...properties,\n },\n });\n }\n\n /**\n * 记录性能事件\n */\n trackPerformance(metrics: Record<string, number>, properties?: Record<string, unknown>): void {\n this.track({\n type: 'performance',\n name: 'performance',\n properties: {\n ...metrics,\n ...properties,\n },\n });\n }\n\n /**\n * 匿名化属性(使用深度脱敏)\n */\n private anonymizeProperties(properties?: Record<string, unknown>): Record<string, unknown> | undefined {\n if (!this.config.anonymize || !properties) {\n return properties;\n }\n\n // 使用深度脱敏处理\n return SecurityUtils.deepSanitize(properties) as Record<string, unknown>;\n }\n\n /**\n * 刷新队列(批量上报)\n */\n flush(): void {\n if (this.eventQueue.length === 0) {\n return;\n }\n\n const events = [...this.eventQueue];\n this.eventQueue = [];\n\n if (this.config.onBatch) {\n this.config.onBatch(events);\n }\n\n logger.debug(`分析服务批量上报 ${events.length} 个事件`);\n }\n\n /**\n * 启用分析\n */\n enable(): void {\n this.config.enabled = true;\n this.startBatchTimer();\n }\n\n /**\n * 禁用分析\n */\n disable(): void {\n this.config.enabled = false;\n this.stopBatchTimer();\n this.flush();\n }\n\n /**\n * 销毁服务\n */\n destroy(): void {\n this.stopBatchTimer();\n this.flush();\n }\n}\n\n/**\n * 默认分析服务实例\n */\nlet defaultAnalyticsService: AnalyticsService | null = null;\n\n/**\n * 初始化默认分析服务\n */\nexport function initAnalytics(config?: AnalyticsConfig): AnalyticsService {\n if (!defaultAnalyticsService) {\n defaultAnalyticsService = new AnalyticsService(config);\n }\n return defaultAnalyticsService;\n}\n\n/**\n * 获取默认分析服务\n */\nexport function getAnalytics(): AnalyticsService {\n if (!defaultAnalyticsService) {\n return initAnalytics();\n }\n return defaultAnalyticsService;\n}\n"],"names":["logger","SecurityUtils","AnalyticsService","startBatchTimer","batchTimer","setInterval","flush","config","batchInterval","stopBatchTimer","clearInterval","track","event","enabled","Math","random","sampleRate","anonymizedEvent","timestamp","Date","now","properties","anonymizeProperties","eventQueue","push","onEvent","length","batchSize","trackPageView","page","type","name","trackClick","element","trackCustom","trackError","error","errorName","errorMessage","message","errorStack","stack","trackPerformance","metrics","anonymize","deepSanitize","events","onBatch","debug","enable","disable","destroy","defaultAnalyticsService","initAnalytics","getAnalytics"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utils/configSecurity.ts"],"sourcesContent":["import { SecurityError } from './errors';\nimport { SecurityUtils } from './security';\nimport { Validator } from './validation';\nimport { z } from 'zod';\n\n/**\n * 配置签名验证选项\n */\nexport interface ConfigSignatureOptions {\n /**\n * 是否启用签名验证\n */\n enabled: boolean;\n /**\n * 公钥(用于验证签名)\n */\n publicKey?: string;\n /**\n * 签名算法\n */\n algorithm?: string;\n}\n\n/**\n * 配置来源验证选项\n */\nexport interface ConfigOriginOptions {\n /**\n * 允许的来源列表\n */\n allowedOrigins?: string[];\n /**\n * 是否验证 CORS\n */\n verifyCORS?: boolean;\n /**\n * 是否验证 Referer\n */\n verifyReferer?: boolean;\n}\n\n/**\n * 配置白名单选项\n */\nexport interface ConfigWhitelistOptions {\n /**\n * 允许的配置键列表\n */\n allowedKeys?: string[];\n /**\n * 禁止的配置键列表\n */\n forbiddenKeys?: string[];\n /**\n * 配置值验证 Schema\n */\n valueSchema?: z.ZodSchema;\n}\n\n/**\n * 配置安全选项\n */\nexport interface ConfigSecurityOptions {\n /**\n * 签名验证\n */\n signature?: ConfigSignatureOptions;\n /**\n * 来源验证\n */\n origin?: ConfigOriginOptions;\n /**\n * 白名单\n */\n whitelist?: ConfigWhitelistOptions;\n}\n\n/**\n * 配置安全工具类\n */\nexport class ConfigSecurity {\n /**\n * 验证配置签名\n */\n static async verifySignature(\n config: Record<string, unknown>,\n signature: string,\n options: ConfigSignatureOptions\n ): Promise<boolean> {\n if (!options.enabled) {\n return true;\n }\n\n if (!options.publicKey) {\n throw new SecurityError('签名验证需要提供公钥');\n }\n\n if (!signature || signature.length === 0) {\n throw new SecurityError('签名不能为空');\n }\n\n try {\n // 使用 Web Crypto API 验证签名\n if (typeof window === 'undefined' || !window.crypto || !window.crypto.subtle) {\n throw new SecurityError('签名验证需要浏览器支持 Web Crypto API');\n }\n\n // 将配置转换为字符串(用于签名验证)\n // 使用稳定的 JSON 序列化(按键排序)\n const configString = JSON.stringify(config, Object.keys(config).sort());\n const encoder = new TextEncoder();\n const data = encoder.encode(configString);\n\n // 将签名从 Base64 解码\n const signatureBuffer = Uint8Array.from(atob(signature), (c) => c.charCodeAt(0));\n\n // 导入公钥(支持 PEM 格式)\n const algorithm = options.algorithm || 'RSASSA-PKCS1-v1_5';\n let publicKey: CryptoKey;\n\n try {\n // 尝试导入 PEM 格式的公钥\n const pemHeader = '-----BEGIN PUBLIC KEY-----';\n const pemFooter = '-----END PUBLIC KEY-----';\n let pemKey = options.publicKey;\n\n if (!pemKey.includes(pemHeader)) {\n pemKey = `${pemHeader}\\n${pemKey}\\n${pemFooter}`;\n }\n\n // 将 PEM 转换为 ArrayBuffer\n const pemContents = pemKey\n .replace(pemHeader, '')\n .replace(pemFooter, '')\n .replace(/\\s/g, '');\n const binaryDer = Uint8Array.from(atob(pemContents), (c) => c.charCodeAt(0));\n\n publicKey = await window.crypto.subtle.importKey(\n 'spki',\n binaryDer.buffer,\n {\n name: algorithm,\n hash: 'SHA-256',\n },\n false,\n ['verify']\n );\n } catch (importError) {\n throw new SecurityError('公钥导入失败', importError instanceof Error ? importError : undefined);\n }\n\n // 验证签名\n const isValid = await window.crypto.subtle.verify(\n {\n name: algorithm,\n },\n publicKey,\n signatureBuffer,\n data\n );\n\n return isValid;\n } catch (error) {\n if (error instanceof SecurityError) {\n throw error;\n }\n throw new SecurityError('签名验证失败', error instanceof Error ? error : undefined);\n }\n }\n\n /**\n * 验证配置来源\n */\n static verifyOrigin(options: ConfigOriginOptions): boolean {\n if (!options.allowedOrigins || options.allowedOrigins.length === 0) {\n return true; // 如果没有配置白名单,允许所有来源\n }\n\n if (typeof window === 'undefined') {\n return true; // 非浏览器环境,跳过验证\n }\n\n const currentOrigin = window.location.origin;\n const referer = document.referrer;\n\n // 验证当前来源\n if (options.allowedOrigins.includes(currentOrigin)) {\n return true;\n }\n\n // 验证 Referer\n if (options.verifyReferer && referer) {\n try {\n const refererOrigin = new URL(referer).origin;\n if (options.allowedOrigins.includes(refererOrigin)) {\n return true;\n }\n } catch {\n // Referer 解析失败\n }\n }\n\n return false;\n }\n\n /**\n * 验证配置白名单\n */\n static verifyWhitelist(\n config: Record<string, unknown>,\n options: ConfigWhitelistOptions\n ): {\n valid: boolean;\n errors: string[];\n } {\n const errors: string[] = [];\n\n // 检查允许的键\n if (options.allowedKeys && options.allowedKeys.length > 0) {\n const configKeys = Object.keys(config);\n const invalidKeys = configKeys.filter((key) => !options.allowedKeys!.includes(key));\n if (invalidKeys.length > 0) {\n errors.push(`配置包含不允许的键: ${invalidKeys.join(', ')}`);\n }\n }\n\n // 检查禁止的键\n if (options.forbiddenKeys && options.forbiddenKeys.length > 0) {\n const configKeys = Object.keys(config);\n const forbiddenFound = configKeys.filter((key) => options.forbiddenKeys!.includes(key));\n if (forbiddenFound.length > 0) {\n errors.push(`配置包含禁止的键: ${forbiddenFound.join(', ')}`);\n }\n }\n\n // 验证配置值\n if (options.valueSchema) {\n const result = Validator.validateObject(options.valueSchema, config);\n if (!result.valid) {\n errors.push(...result.errors);\n }\n }\n\n return {\n valid: errors.length === 0,\n errors,\n };\n }\n\n /**\n * 清理配置中的危险内容\n */\n static sanitizeConfig(config: Record<string, unknown>): Record<string, unknown> {\n const sanitized: Record<string, unknown> = {};\n\n for (const [key, value] of Object.entries(config)) {\n if (typeof value === 'string') {\n // 检查是否包含危险内容\n const validation = SecurityUtils.validateInput(value);\n if (validation.safe && validation.sanitized) {\n sanitized[key] = validation.sanitized;\n } else {\n // 包含危险内容,跳过或记录警告\n console.warn(`配置项 ${key} 包含潜在危险内容,已跳过`);\n }\n } else if (value && typeof value === 'object' && !Array.isArray(value)) {\n // 递归清理对象\n sanitized[key] = this.sanitizeConfig(value as Record<string, unknown>);\n } else {\n sanitized[key] = value;\n }\n }\n\n return sanitized;\n }\n\n /**\n * 验证配置安全性\n */\n static async validateConfigSecurity(\n config: Record<string, unknown>,\n options: ConfigSecurityOptions\n ): Promise<{\n valid: boolean;\n errors: string[];\n }> {\n const errors: string[] = [];\n\n // 验证来源\n if (options.origin) {\n const originValid = this.verifyOrigin(options.origin);\n if (!originValid) {\n errors.push('配置来源验证失败');\n }\n }\n\n // 验证白名单\n if (options.whitelist) {\n const whitelistResult = this.verifyWhitelist(config, options.whitelist);\n if (!whitelistResult.valid) {\n errors.push(...whitelistResult.errors);\n }\n }\n\n // 清理配置(已实现但暂不使用返回值)\n // const sanitizedConfig = this.sanitizeConfig(config);\n\n return {\n valid: errors.length === 0,\n errors,\n };\n }\n}\n"],"names":["ConfigSecurity","verifySignature","config","signature","options","enabled","publicKey","SecurityError","length","window","crypto","subtle","configString","JSON","stringify","Object","keys","sort","encoder","TextEncoder","data","encode","signatureBuffer","Uint8Array","from","atob","c","charCodeAt","algorithm","pemHeader","pemFooter","pemKey","includes","pemContents","replace","binaryDer","importKey","buffer","name","hash","importError","Error","undefined","isValid","verify","error","verifyOrigin","allowedOrigins","currentOrigin","location","origin","referer","document","referrer","verifyReferer","refererOrigin","URL","verifyWhitelist","errors","allowedKeys","configKeys","invalidKeys","filter","key","push","join","forbiddenKeys","forbiddenFound","valueSchema","result","Validator","validateObject","valid","sanitizeConfig","sanitized","value","entries","validation","SecurityUtils","validateInput","safe","console","warn","Array","isArray","validateConfigSecurity","originValid","whitelist","whitelistResult"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utils/configSecurity.ts"],"sourcesContent":["import { SecurityError } from './errors';\nimport { SecurityUtils } from './security';\nimport { Validator } from './validation';\nimport { z } from 'zod';\n\n/**\n * 配置签名验证选项\n */\nexport interface ConfigSignatureOptions {\n /**\n * 是否启用签名验证\n */\n enabled: boolean;\n /**\n * 公钥(用于验证签名)\n */\n publicKey?: string;\n /**\n * 签名算法\n */\n algorithm?: string;\n}\n\n/**\n * 配置来源验证选项\n */\nexport interface ConfigOriginOptions {\n /**\n * 允许的来源列表\n */\n allowedOrigins?: string[];\n /**\n * 是否验证 CORS\n */\n verifyCORS?: boolean;\n /**\n * 是否验证 Referer\n */\n verifyReferer?: boolean;\n}\n\n/**\n * 配置白名单选项\n */\nexport interface ConfigWhitelistOptions {\n /**\n * 允许的配置键列表\n */\n allowedKeys?: string[];\n /**\n * 禁止的配置键列表\n */\n forbiddenKeys?: string[];\n /**\n * 配置值验证 Schema\n */\n valueSchema?: z.ZodSchema;\n}\n\n/**\n * 配置安全选项\n */\nexport interface ConfigSecurityOptions {\n /**\n * 签名验证\n */\n signature?: ConfigSignatureOptions;\n /**\n * 来源验证\n */\n origin?: ConfigOriginOptions;\n /**\n * 白名单\n */\n whitelist?: ConfigWhitelistOptions;\n}\n\n/**\n * 配置安全工具类\n */\nexport class ConfigSecurity {\n /**\n * 验证配置签名\n */\n static async verifySignature(\n config: Record<string, unknown>,\n signature: string,\n options: ConfigSignatureOptions\n ): Promise<boolean> {\n if (!options.enabled) {\n return true;\n }\n\n if (!options.publicKey) {\n throw new SecurityError('签名验证需要提供公钥');\n }\n\n if (!signature || signature.length === 0) {\n throw new SecurityError('签名不能为空');\n }\n\n try {\n // 使用 Web Crypto API 验证签名\n if (typeof window === 'undefined' || !window.crypto || !window.crypto.subtle) {\n throw new SecurityError('签名验证需要浏览器支持 Web Crypto API');\n }\n\n // 将配置转换为字符串(用于签名验证)\n // 使用稳定的 JSON 序列化(按键排序)\n const configString = JSON.stringify(config, Object.keys(config).sort());\n const encoder = new TextEncoder();\n const data = encoder.encode(configString);\n\n // 将签名从 Base64 解码\n const signatureBuffer = Uint8Array.from(atob(signature), (c) => c.charCodeAt(0));\n\n // 导入公钥(支持 PEM 格式)\n const algorithm = options.algorithm || 'RSASSA-PKCS1-v1_5';\n let publicKey: CryptoKey;\n\n try {\n // 尝试导入 PEM 格式的公钥\n const pemHeader = '-----BEGIN PUBLIC KEY-----';\n const pemFooter = '-----END PUBLIC KEY-----';\n let pemKey = options.publicKey;\n\n if (!pemKey.includes(pemHeader)) {\n pemKey = `${pemHeader}\\n${pemKey}\\n${pemFooter}`;\n }\n\n // 将 PEM 转换为 ArrayBuffer\n const pemContents = pemKey\n .replace(pemHeader, '')\n .replace(pemFooter, '')\n .replace(/\\s/g, '');\n const binaryDer = Uint8Array.from(atob(pemContents), (c) => c.charCodeAt(0));\n\n publicKey = await window.crypto.subtle.importKey(\n 'spki',\n binaryDer.buffer,\n {\n name: algorithm,\n hash: 'SHA-256',\n },\n false,\n ['verify']\n );\n } catch (importError) {\n throw new SecurityError('公钥导入失败', importError instanceof Error ? importError : undefined);\n }\n\n // 验证签名\n const isValid = await window.crypto.subtle.verify(\n {\n name: algorithm,\n },\n publicKey,\n signatureBuffer,\n data\n );\n\n return isValid;\n } catch (error) {\n if (error instanceof SecurityError) {\n throw error;\n }\n throw new SecurityError('签名验证失败', error instanceof Error ? error : undefined);\n }\n }\n\n /**\n * 验证配置来源\n */\n static verifyOrigin(options: ConfigOriginOptions): boolean {\n if (!options.allowedOrigins || options.allowedOrigins.length === 0) {\n return true; // 如果没有配置白名单,允许所有来源\n }\n\n if (typeof window === 'undefined') {\n return true; // 非浏览器环境,跳过验证\n }\n\n const currentOrigin = window.location.origin;\n const referer = document.referrer;\n\n // 验证当前来源\n if (options.allowedOrigins.includes(currentOrigin)) {\n return true;\n }\n\n // 验证 Referer\n if (options.verifyReferer && referer) {\n try {\n const refererOrigin = new URL(referer).origin;\n if (options.allowedOrigins.includes(refererOrigin)) {\n return true;\n }\n } catch {\n // Referer 解析失败\n }\n }\n\n return false;\n }\n\n /**\n * 验证配置白名单\n */\n static verifyWhitelist(\n config: Record<string, unknown>,\n options: ConfigWhitelistOptions\n ): {\n valid: boolean;\n errors: string[];\n } {\n const errors: string[] = [];\n\n // 检查允许的键\n if (options.allowedKeys && options.allowedKeys.length > 0) {\n const configKeys = Object.keys(config);\n const invalidKeys = configKeys.filter((key) => !options.allowedKeys!.includes(key));\n if (invalidKeys.length > 0) {\n errors.push(`配置包含不允许的键: ${invalidKeys.join(', ')}`);\n }\n }\n\n // 检查禁止的键\n if (options.forbiddenKeys && options.forbiddenKeys.length > 0) {\n const configKeys = Object.keys(config);\n const forbiddenFound = configKeys.filter((key) => options.forbiddenKeys!.includes(key));\n if (forbiddenFound.length > 0) {\n errors.push(`配置包含禁止的键: ${forbiddenFound.join(', ')}`);\n }\n }\n\n // 验证配置值\n if (options.valueSchema) {\n const result = Validator.validateObject(options.valueSchema, config);\n if (!result.valid) {\n errors.push(...result.errors);\n }\n }\n\n return {\n valid: errors.length === 0,\n errors,\n };\n }\n\n /**\n * 清理配置中的危险内容\n */\n static sanitizeConfig(config: Record<string, unknown>): Record<string, unknown> {\n const sanitized: Record<string, unknown> = {};\n\n for (const [key, value] of Object.entries(config)) {\n if (typeof value === 'string') {\n // 检查是否包含危险内容\n const validation = SecurityUtils.validateInput(value);\n if (validation.safe && validation.sanitized) {\n sanitized[key] = validation.sanitized;\n } else {\n // 包含危险内容,跳过或记录警告\n console.warn(`配置项 ${key} 包含潜在危险内容,已跳过`);\n }\n } else if (value && typeof value === 'object' && !Array.isArray(value)) {\n // 递归清理对象\n sanitized[key] = this.sanitizeConfig(value as Record<string, unknown>);\n } else {\n sanitized[key] = value;\n }\n }\n\n return sanitized;\n }\n\n /**\n * 验证配置安全性\n */\n static async validateConfigSecurity(\n config: Record<string, unknown>,\n options: ConfigSecurityOptions\n ): Promise<{\n valid: boolean;\n errors: string[];\n }> {\n const errors: string[] = [];\n\n // 验证来源\n if (options.origin) {\n const originValid = this.verifyOrigin(options.origin);\n if (!originValid) {\n errors.push('配置来源验证失败');\n }\n }\n\n // 验证白名单\n if (options.whitelist) {\n const whitelistResult = this.verifyWhitelist(config, options.whitelist);\n if (!whitelistResult.valid) {\n errors.push(...whitelistResult.errors);\n }\n }\n\n // 清理配置(已实现但暂不使用返回值)\n // const sanitizedConfig = this.sanitizeConfig(config);\n\n return {\n valid: errors.length === 0,\n errors,\n };\n }\n}\n"],"names":["SecurityError","SecurityUtils","Validator","ConfigSecurity","verifySignature","config","signature","options","enabled","publicKey","length","window","crypto","subtle","configString","JSON","stringify","Object","keys","sort","encoder","TextEncoder","data","encode","signatureBuffer","Uint8Array","from","atob","c","charCodeAt","algorithm","pemHeader","pemFooter","pemKey","includes","pemContents","replace","binaryDer","importKey","buffer","name","hash","importError","Error","undefined","isValid","verify","error","verifyOrigin","allowedOrigins","currentOrigin","location","origin","referer","document","referrer","verifyReferer","refererOrigin","URL","verifyWhitelist","errors","allowedKeys","configKeys","invalidKeys","filter","key","push","join","forbiddenKeys","forbiddenFound","valueSchema","result","validateObject","valid","sanitizeConfig","sanitized","value","entries","validation","validateInput","safe","console","warn","Array","isArray","validateConfigSecurity","originValid","whitelist","whitelistResult"],"mappings":"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"}
|
package/dist/utils/csrf.cjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utils/csrf.ts"],"sourcesContent":["export * from '@vlian/csrf';\n"],"names":[],"mappings":";;;;qBAAc"}
|
package/dist/utils/csrf.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utils/csrf.ts"],"sourcesContent":["export * from '@vlian/csrf';\n"],"names":[],"mappings":"AAAA,cAAc,cAAc"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/utils/errors/ErrorCodes.ts"],"sourcesContent":["export { ErrorCode, ErrorMessages, getErrorMessage, getUserFriendlyMessage } from '@vlian/utils';\n"],"names":["ErrorCode","ErrorMessages","getErrorMessage","getUserFriendlyMessage"],"mappings":";;;;;;;;;;;QAASA;eAAAA,gBAAS;;QAAEC;eAAAA,oBAAa;;QAAEC;eAAAA,sBAAe;;QAAEC;eAAAA,6BAAsB;;;uBAAQ"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/utils/errors/ErrorCodes.ts"],"sourcesContent":["export { ErrorCode, ErrorMessages, getErrorMessage, getUserFriendlyMessage } from '@vlian/utils';\n"],"names":["ErrorCode","ErrorMessages","getErrorMessage","getUserFriendlyMessage"],"mappings":"AAAA,SAASA,SAAS,EAAEC,aAAa,EAAEC,eAAe,EAAEC,sBAAsB,QAAQ,eAAe"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utils/errors.ts"],"sourcesContent":["import * as vlianUtils from '@vlian/utils';\n\nconst utils = vlianUtils as typeof import('@vlian/utils');\n\nexport const ErrorCode = utils.ErrorCode;\nexport const ErrorMessages = utils.ErrorMessages;\nexport const getErrorMessage = utils.getErrorMessage;\nexport const getUserFriendlyMessage = utils.getUserFriendlyMessage;\nexport const ErrorType = utils.ErrorType;\nexport const ErrorSeverity = utils.ErrorSeverity;\nexport const FrameworkError = utils.FrameworkError;\nexport const InitializationError = utils.InitializationError;\nexport const ConfigError = utils.ConfigError;\nexport const StorageError = utils.StorageError;\nexport const NetworkError = utils.NetworkError;\nexport const ValidationError = utils.ValidationError;\nexport const SecurityError = utils.SecurityError;\nexport const errorUtils = utils.errorUtils;\n"],"names":["ConfigError","ErrorCode","ErrorMessages","ErrorSeverity","ErrorType","FrameworkError","InitializationError","NetworkError","SecurityError","StorageError","ValidationError","errorUtils","getErrorMessage","getUserFriendlyMessage","utils","vlianUtils"],"mappings":";;;;;;;;;;;QAYaA;eAAAA;;QARAC;eAAAA;;QACAC;eAAAA;;QAIAC;eAAAA;;QADAC;eAAAA;;QAEAC;eAAAA;;QACAC;eAAAA;;QAGAC;eAAAA;;QAEAC;eAAAA;;QAHAC;eAAAA;;QAEAC;eAAAA;;QAEAC;eAAAA;;QAXAC;eAAAA;;QACAC;eAAAA;;;+DAPe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAE5B,MAAMC,QAAQC;AAEP,MAAMd,YAAYa,MAAMb,SAAS;AACjC,MAAMC,gBAAgBY,MAAMZ,aAAa;AACzC,MAAMU,kBAAkBE,MAAMF,eAAe;AAC7C,MAAMC,yBAAyBC,MAAMD,sBAAsB;AAC3D,MAAMT,YAAYU,MAAMV,SAAS;AACjC,MAAMD,gBAAgBW,MAAMX,aAAa;AACzC,MAAME,iBAAiBS,MAAMT,cAAc;AAC3C,MAAMC,sBAAsBQ,MAAMR,mBAAmB;AACrD,MAAMN,cAAcc,MAAMd,WAAW;AACrC,MAAMS,eAAeK,MAAML,YAAY;AACvC,MAAMF,eAAeO,MAAMP,YAAY;AACvC,MAAMG,kBAAkBI,MAAMJ,eAAe;AAC7C,MAAMF,gBAAgBM,MAAMN,aAAa;AACzC,MAAMG,aAAaG,MAAMH,UAAU"}
|
package/dist/utils/errors.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utils/errors.ts"],"sourcesContent":["import * as vlianUtils from '@vlian/utils';\n\nconst utils = vlianUtils as typeof import('@vlian/utils');\n\nexport const ErrorCode = utils.ErrorCode;\nexport const ErrorMessages = utils.ErrorMessages;\nexport const getErrorMessage = utils.getErrorMessage;\nexport const getUserFriendlyMessage = utils.getUserFriendlyMessage;\nexport const ErrorType = utils.ErrorType;\nexport const ErrorSeverity = utils.ErrorSeverity;\nexport const FrameworkError = utils.FrameworkError;\nexport const InitializationError = utils.InitializationError;\nexport const ConfigError = utils.ConfigError;\nexport const StorageError = utils.StorageError;\nexport const NetworkError = utils.NetworkError;\nexport const ValidationError = utils.ValidationError;\nexport const SecurityError = utils.SecurityError;\nexport const errorUtils = utils.errorUtils;\n"],"names":["vlianUtils","utils","ErrorCode","ErrorMessages","getErrorMessage","getUserFriendlyMessage","ErrorType","ErrorSeverity","FrameworkError","InitializationError","ConfigError","StorageError","NetworkError","ValidationError","SecurityError","errorUtils"],"mappings":"AAAA,YAAYA,gBAAgB,eAAe;AAE3C,MAAMC,QAAQD;AAEd,OAAO,MAAME,YAAYD,MAAMC,SAAS,CAAC;AACzC,OAAO,MAAMC,gBAAgBF,MAAME,aAAa,CAAC;AACjD,OAAO,MAAMC,kBAAkBH,MAAMG,eAAe,CAAC;AACrD,OAAO,MAAMC,yBAAyBJ,MAAMI,sBAAsB,CAAC;AACnE,OAAO,MAAMC,YAAYL,MAAMK,SAAS,CAAC;AACzC,OAAO,MAAMC,gBAAgBN,MAAMM,aAAa,CAAC;AACjD,OAAO,MAAMC,iBAAiBP,MAAMO,cAAc,CAAC;AACnD,OAAO,MAAMC,sBAAsBR,MAAMQ,mBAAmB,CAAC;AAC7D,OAAO,MAAMC,cAAcT,MAAMS,WAAW,CAAC;AAC7C,OAAO,MAAMC,eAAeV,MAAMU,YAAY,CAAC;AAC/C,OAAO,MAAMC,eAAeX,MAAMW,YAAY,CAAC;AAC/C,OAAO,MAAMC,kBAAkBZ,MAAMY,eAAe,CAAC;AACrD,OAAO,MAAMC,gBAAgBb,MAAMa,aAAa,CAAC;AACjD,OAAO,MAAMC,aAAad,MAAMc,UAAU,CAAC"}
|
package/dist/utils/index.cjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utils/index.ts"],"sourcesContent":["export { logger, createLogger, Logger, LogFormat } from './logger';\nexport { LogLevel } from './logger.types';\nexport type { LoggerOptions, ColorConfig } from './logger.types';\nexport type { LogContext, StructuredLogEntry } from './logger';\n\n// 导出错误处理\nexport * from './errors';\n\n// 导出验证工具\nexport * from './validation';\n\n// 导出安全工具\nexport * from './security';\n\n// 导出 CSRF 防护\nexport { CSRFTokenManager, initCSRFManager, getCSRFManager } from './csrf';\nexport type { CSRFTokenStorage } from './csrf';\n\n// 导出追踪 ID\nexport { \n TraceIdGenerator, \n initTraceIdGenerator, \n getTraceIdGenerator,\n generateTraceId,\n parseTraceId,\n setCurrentTraceId,\n getCurrentTraceId,\n clearCurrentTraceId,\n} from './traceId';\n\n// 导出性能监控\nexport { PerformanceMonitor, PERFORMANCE_METRIC_UNITS, convertMetricsToWithUnits } from './performance';\nexport type { PerformanceMetrics, PerformanceMonitorConfig, PerformanceMetricsWithUnits, PerformanceMetricValue, PerformanceMetricUnit } from './performance';\n\n// 导出监控服务\nexport { MonitoringService, initMonitoring, getMonitoring } from './monitoring';\nexport type { ErrorMonitorConfig, ErrorAggregation } from './monitoring';\n\n// 导出资源加载器\nexport { ResourceLoader, resourceLoader } from './resourceLoader';\nexport type { ResourceLoadOptions, ResourceType, ResourcePriority } from './resourceLoader';\n\n// 导出配置安全\nexport { ConfigSecurity } from './configSecurity';\nexport type { ConfigSecurityOptions, ConfigSignatureOptions, ConfigOriginOptions, ConfigWhitelistOptions } from './configSecurity';\n\n// 导出运行时安全\nexport { RuntimeSecurity } from './runtimeSecurity';\nexport type { RuntimeSecurityOptions, CSPConfig, SecurityHeadersConfig } from './runtimeSecurity';\n\n// 导出分析服务\nexport { AnalyticsService, initAnalytics, getAnalytics } from './analytics';\nexport type { AnalyticsConfig, AnalyticsEvent, AnalyticsEventType } from './analytics';\n\n\n/**\n * 等待指定时间后解析的 Promise 工具函数\n * \n * @param time - 等待时间(毫秒),默认为 100 毫秒\n * @returns 返回一个 Promise,在指定时间后解析为 true\n * \n * @example\n * ```typescript\n * // 等待 500 毫秒\n * await waitTime(500);\n * \n * // 使用默认等待时间(100 毫秒)\n * await waitTime();\n * ```\n * @deprecated 建议使用基于实际完成状态的机制,而不是固定等待时间\n */\nexport const waitTime = (time: number = 100) => {\n return new Promise((resolve) => {\n setTimeout(() => {\n resolve(true);\n }, time);\n });\n};"],"names":["AnalyticsService","CSRFTokenManager","ConfigSecurity","LogFormat","LogLevel","Logger","MonitoringService","PERFORMANCE_METRIC_UNITS","PerformanceMonitor","ResourceLoader","RuntimeSecurity","TraceIdGenerator","clearCurrentTraceId","convertMetricsToWithUnits","createLogger","generateTraceId","getAnalytics","getCSRFManager","getCurrentTraceId","getMonitoring","getTraceIdGenerator","initAnalytics","initCSRFManager","initMonitoring","initTraceIdGenerator","logger","parseTraceId","resourceLoader","setCurrentTraceId","waitTime","time","Promise","resolve","setTimeout"],"mappings":";;;;;;;;;;;QAmDSA;eAAAA,2BAAgB;;QApChBC;eAAAA,sBAAgB;;QA4BhBC;eAAAA,8BAAc;;QA3CgBC;eAAAA,iBAAS;;QACvCC;eAAAA,qBAAQ;;QADcC;eAAAA,cAAM;;QAmC5BC;eAAAA,6BAAiB;;QAJGC;eAAAA,qCAAwB;;QAA5CC;eAAAA,+BAAkB;;QAQlBC;eAAAA,8BAAc;;QAQdC;eAAAA,gCAAe;;QA3BtBC;eAAAA,yBAAgB;;QAOhBC;eAAAA,4BAAmB;;QAIkCC;eAAAA,sCAAyB;;QA/B/DC;eAAAA,oBAAY;;QAuB3BC;eAAAA,wBAAe;;QA4ByBC;eAAAA,uBAAY;;QApCVC;eAAAA,oBAAc;;QAWxDC;eAAAA,0BAAiB;;QASyBC;eAAAA,yBAAa;;QAbvDC;eAAAA,4BAAmB;;QA6BMC;eAAAA,wBAAa;;QApCbC;eAAAA,qBAAe;;QAoBdC;eAAAA,0BAAc;;QAdxCC;eAAAA,6BAAoB;;QArBbC;eAAAA,cAAM;;QAwBbC;eAAAA,qBAAY;;QAeWC;eAAAA,8BAAc;;QAdrCC;eAAAA,0BAAiB;;QA8CNC;eAAAA;;;wBAvE2C;6BAC/B;qBAKX;qBAGA;qBAGA;sBAGoD;yBAa3D;6BAGiF;4BAIvB;gCAIlB;gCAIhB;iCAIC;2BAI8B;;;;;;;;;;;;;;AAoBvD,MAAMA,WAAW,CAACC,OAAe,GAAG;IACvC,OAAO,IAAIC,QAAQ,CAACC;QAChBC,WAAW;YACPD,QAAQ;QACZ,GAAGF;IACP;AACJ"}
|
package/dist/utils/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utils/index.ts"],"sourcesContent":["export { logger, createLogger, Logger, LogFormat } from './logger';\nexport { LogLevel } from './logger.types';\nexport type { LoggerOptions, ColorConfig } from './logger.types';\nexport type { LogContext, StructuredLogEntry } from './logger';\n\n// 导出错误处理\nexport * from './errors';\n\n// 导出验证工具\nexport * from './validation';\n\n// 导出安全工具\nexport * from './security';\n\n// 导出 CSRF 防护\nexport { CSRFTokenManager, initCSRFManager, getCSRFManager } from './csrf';\nexport type { CSRFTokenStorage } from './csrf';\n\n// 导出追踪 ID\nexport { \n TraceIdGenerator, \n initTraceIdGenerator, \n getTraceIdGenerator,\n generateTraceId,\n parseTraceId,\n setCurrentTraceId,\n getCurrentTraceId,\n clearCurrentTraceId,\n} from './traceId';\n\n// 导出性能监控\nexport { PerformanceMonitor, PERFORMANCE_METRIC_UNITS, convertMetricsToWithUnits } from './performance';\nexport type { PerformanceMetrics, PerformanceMonitorConfig, PerformanceMetricsWithUnits, PerformanceMetricValue, PerformanceMetricUnit } from './performance';\n\n// 导出监控服务\nexport { MonitoringService, initMonitoring, getMonitoring } from './monitoring';\nexport type { ErrorMonitorConfig, ErrorAggregation } from './monitoring';\n\n// 导出资源加载器\nexport { ResourceLoader, resourceLoader } from './resourceLoader';\nexport type { ResourceLoadOptions, ResourceType, ResourcePriority } from './resourceLoader';\n\n// 导出配置安全\nexport { ConfigSecurity } from './configSecurity';\nexport type { ConfigSecurityOptions, ConfigSignatureOptions, ConfigOriginOptions, ConfigWhitelistOptions } from './configSecurity';\n\n// 导出运行时安全\nexport { RuntimeSecurity } from './runtimeSecurity';\nexport type { RuntimeSecurityOptions, CSPConfig, SecurityHeadersConfig } from './runtimeSecurity';\n\n// 导出分析服务\nexport { AnalyticsService, initAnalytics, getAnalytics } from './analytics';\nexport type { AnalyticsConfig, AnalyticsEvent, AnalyticsEventType } from './analytics';\n\n\n/**\n * 等待指定时间后解析的 Promise 工具函数\n * \n * @param time - 等待时间(毫秒),默认为 100 毫秒\n * @returns 返回一个 Promise,在指定时间后解析为 true\n * \n * @example\n * ```typescript\n * // 等待 500 毫秒\n * await waitTime(500);\n * \n * // 使用默认等待时间(100 毫秒)\n * await waitTime();\n * ```\n * @deprecated 建议使用基于实际完成状态的机制,而不是固定等待时间\n */\nexport const waitTime = (time: number = 100) => {\n return new Promise((resolve) => {\n setTimeout(() => {\n resolve(true);\n }, time);\n });\n};"],"names":["logger","createLogger","Logger","LogFormat","LogLevel","CSRFTokenManager","initCSRFManager","getCSRFManager","TraceIdGenerator","initTraceIdGenerator","getTraceIdGenerator","generateTraceId","parseTraceId","setCurrentTraceId","getCurrentTraceId","clearCurrentTraceId","PerformanceMonitor","PERFORMANCE_METRIC_UNITS","convertMetricsToWithUnits","MonitoringService","initMonitoring","getMonitoring","ResourceLoader","resourceLoader","ConfigSecurity","RuntimeSecurity","AnalyticsService","initAnalytics","getAnalytics","waitTime","time","Promise","resolve","setTimeout"],"mappings":"AAAA,SAASA,MAAM,EAAEC,YAAY,EAAEC,MAAM,EAAEC,SAAS,QAAQ,WAAW;AACnE,SAASC,QAAQ,QAAQ,iBAAiB;AAI1C,SAAS;AACT,cAAc,WAAW;AAEzB,SAAS;AACT,cAAc,eAAe;AAE7B,SAAS;AACT,cAAc,aAAa;AAE3B,aAAa;AACb,SAASC,gBAAgB,EAAEC,eAAe,EAAEC,cAAc,QAAQ,SAAS;AAG3E,UAAU;AACV,SACEC,gBAAgB,EAChBC,oBAAoB,EACpBC,mBAAmB,EACnBC,eAAe,EACfC,YAAY,EACZC,iBAAiB,EACjBC,iBAAiB,EACjBC,mBAAmB,QACd,YAAY;AAEnB,SAAS;AACT,SAASC,kBAAkB,EAAEC,wBAAwB,EAAEC,yBAAyB,QAAQ,gBAAgB;AAGxG,SAAS;AACT,SAASC,iBAAiB,EAAEC,cAAc,EAAEC,aAAa,QAAQ,eAAe;AAGhF,UAAU;AACV,SAASC,cAAc,EAAEC,cAAc,QAAQ,mBAAmB;AAGlE,SAAS;AACT,SAASC,cAAc,QAAQ,mBAAmB;AAGlD,UAAU;AACV,SAASC,eAAe,QAAQ,oBAAoB;AAGpD,SAAS;AACT,SAASC,gBAAgB,EAAEC,aAAa,EAAEC,YAAY,QAAQ,cAAc;AAI5E;;;;;;;;;;;;;;;CAeC,GACD,OAAO,MAAMC,WAAW,CAACC,OAAe,GAAG;IACvC,OAAO,IAAIC,QAAQ,CAACC;QAChBC,WAAW;YACPD,QAAQ;QACZ,GAAGF;IACP;AACJ,EAAE"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utils/logger.ts"],"sourcesContent":["export { logger, createLogger, Logger, LogFormat } from '@vlian/logger';\nexport type { LogContext, StructuredLogEntry } from '@vlian/logger';\n"],"names":["LogFormat","Logger","createLogger","logger"],"mappings":";;;;;;;;;;;QAAuCA;eAAAA,iBAAS;;QAAjBC;eAAAA,cAAM;;QAApBC;eAAAA,oBAAY;;QAApBC;eAAAA,cAAM;;;wBAAyC"}
|
package/dist/utils/logger.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utils/logger.ts"],"sourcesContent":["export { logger, createLogger, Logger, LogFormat } from '@vlian/logger';\nexport type { LogContext, StructuredLogEntry } from '@vlian/logger';\n"],"names":["logger","createLogger","Logger","LogFormat"],"mappings":"AAAA,SAASA,MAAM,EAAEC,YAAY,EAAEC,MAAM,EAAEC,SAAS,QAAQ,gBAAgB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utils/logger.types.ts"],"sourcesContent":["export { LogLevel } from '@vlian/logger';\nexport type { LoggerOptions, ColorConfig } from '@vlian/logger';\n"],"names":["LogLevel"],"mappings":";;;;+BAASA;;;eAAAA,gBAAQ;;;wBAAQ"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utils/logger.types.ts"],"sourcesContent":["export { LogLevel } from '@vlian/logger';\nexport type { LoggerOptions, ColorConfig } from '@vlian/logger';\n"],"names":["LogLevel"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,gBAAgB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utils/monitoring.ts"],"sourcesContent":["export * from '@vlian/monitoring';\n"],"names":[],"mappings":";;;;qBAAc"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utils/monitoring.ts"],"sourcesContent":["export * from '@vlian/monitoring';\n"],"names":[],"mappings":"AAAA,cAAc,oBAAoB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utils/performance.ts"],"sourcesContent":["export { PerformanceMonitor, PERFORMANCE_METRIC_UNITS, convertMetricsToWithUnits } from '@vlian/utils';\nexport type {\n PerformanceMetrics,\n PerformanceMonitorConfig,\n PerformanceMetricsWithUnits,\n PerformanceMetricValue,\n PerformanceMetricUnit,\n} from '@vlian/utils';\n"],"names":["PERFORMANCE_METRIC_UNITS","PerformanceMonitor","convertMetricsToWithUnits"],"mappings":";;;;;;;;;;;QAA6BA;eAAAA,+BAAwB;;QAA5CC;eAAAA,yBAAkB;;QAA4BC;eAAAA,gCAAyB;;;uBAAQ"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utils/performance.ts"],"sourcesContent":["export { PerformanceMonitor, PERFORMANCE_METRIC_UNITS, convertMetricsToWithUnits } from '@vlian/utils';\nexport type {\n PerformanceMetrics,\n PerformanceMonitorConfig,\n PerformanceMetricsWithUnits,\n PerformanceMetricValue,\n PerformanceMetricUnit,\n} from '@vlian/utils';\n"],"names":["PerformanceMonitor","PERFORMANCE_METRIC_UNITS","convertMetricsToWithUnits"],"mappings":"AAAA,SAASA,kBAAkB,EAAEC,wBAAwB,EAAEC,yBAAyB,QAAQ,eAAe"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utils/resourceLoader.ts"],"sourcesContent":["export { ResourceLoader, ResourcePriority, resourceLoader } from '@vlian/utils';\nexport type { ResourceLoadOptions, ResourceType } from '@vlian/utils';\n"],"names":["ResourceLoader","ResourcePriority","resourceLoader"],"mappings":";;;;;;;;;;;QAASA;eAAAA,qBAAc;;QAAEC;eAAAA,uBAAgB;;QAAEC;eAAAA,qBAAc;;;uBAAQ"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utils/resourceLoader.ts"],"sourcesContent":["export { ResourceLoader, ResourcePriority, resourceLoader } from '@vlian/utils';\nexport type { ResourceLoadOptions, ResourceType } from '@vlian/utils';\n"],"names":["ResourceLoader","ResourcePriority","resourceLoader"],"mappings":"AAAA,SAASA,cAAc,EAAEC,gBAAgB,EAAEC,cAAc,QAAQ,eAAe"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utils/runtimeSecurity.ts"],"sourcesContent":["export { RuntimeSecurity } from '@vlian/utils';\nexport type { RuntimeSecurityOptions, CSPConfig, SecurityHeadersConfig } from '@vlian/utils';\n"],"names":["RuntimeSecurity"],"mappings":";;;;+BAASA;;;eAAAA,sBAAe;;;uBAAQ"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utils/runtimeSecurity.ts"],"sourcesContent":["export { RuntimeSecurity } from '@vlian/utils';\nexport type { RuntimeSecurityOptions, CSPConfig, SecurityHeadersConfig } from '@vlian/utils';\n"],"names":["RuntimeSecurity"],"mappings":"AAAA,SAASA,eAAe,QAAQ,eAAe"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utils/security.ts"],"sourcesContent":["export { SecurityUtils, SENSITIVE_FIELDS } from '@vlian/utils';\nexport type { XSSConfig } from '@vlian/utils';\n"],"names":["SENSITIVE_FIELDS","SecurityUtils"],"mappings":";;;;;;;;;;;QAAwBA;eAAAA,uBAAgB;;QAA/BC;eAAAA,oBAAa;;;uBAA0B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utils/security.ts"],"sourcesContent":["export { SecurityUtils, SENSITIVE_FIELDS } from '@vlian/utils';\nexport type { XSSConfig } from '@vlian/utils';\n"],"names":["SecurityUtils","SENSITIVE_FIELDS"],"mappings":"AAAA,SAASA,aAAa,EAAEC,gBAAgB,QAAQ,eAAe"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utils/traceId.ts"],"sourcesContent":["export {\n TraceIdGenerator,\n initTraceIdGenerator,\n getTraceIdGenerator,\n generateTraceId,\n parseTraceId,\n setCurrentTraceId,\n getCurrentTraceId,\n clearCurrentTraceId,\n} from '@vlian/logger';\n"],"names":["TraceIdGenerator","clearCurrentTraceId","generateTraceId","getCurrentTraceId","getTraceIdGenerator","initTraceIdGenerator","parseTraceId","setCurrentTraceId"],"mappings":";;;;;;;;;;;QACEA;eAAAA,wBAAgB;;QAOhBC;eAAAA,2BAAmB;;QAJnBC;eAAAA,uBAAe;;QAGfC;eAAAA,yBAAiB;;QAJjBC;eAAAA,2BAAmB;;QADnBC;eAAAA,4BAAoB;;QAGpBC;eAAAA,oBAAY;;QACZC;eAAAA,yBAAiB;;;wBAGZ"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utils/traceId.ts"],"sourcesContent":["export {\n TraceIdGenerator,\n initTraceIdGenerator,\n getTraceIdGenerator,\n generateTraceId,\n parseTraceId,\n setCurrentTraceId,\n getCurrentTraceId,\n clearCurrentTraceId,\n} from '@vlian/logger';\n"],"names":["TraceIdGenerator","initTraceIdGenerator","getTraceIdGenerator","generateTraceId","parseTraceId","setCurrentTraceId","getCurrentTraceId","clearCurrentTraceId"],"mappings":"AAAA,SACEA,gBAAgB,EAChBC,oBAAoB,EACpBC,mBAAmB,EACnBC,eAAe,EACfC,YAAY,EACZC,iBAAiB,EACjBC,iBAAiB,EACjBC,mBAAmB,QACd,gBAAgB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utils/validation.ts"],"sourcesContent":["export { Validator, commonSchemas } from '@vlian/utils';\nexport type { StringValidationRule, NumberValidationRule, ValidationResult } from '@vlian/utils';\n"],"names":["Validator","commonSchemas"],"mappings":";;;;;;;;;;;QAASA;eAAAA,gBAAS;;QAAEC;eAAAA,oBAAa;;;uBAAQ"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utils/validation.ts"],"sourcesContent":["export { Validator, commonSchemas } from '@vlian/utils';\nexport type { StringValidationRule, NumberValidationRule, ValidationResult } from '@vlian/utils';\n"],"names":["Validator","commonSchemas"],"mappings":"AAAA,SAASA,SAAS,EAAEC,aAAa,QAAQ,eAAe"}
|