@vlian/framework 1.2.25 → 1.2.38
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/analytics.umd.js +208 -2395
- package/dist/analytics.umd.js.map +1 -1
- package/dist/core/Test.cjs +2 -2
- package/dist/core/Test.cjs.map +1 -1
- package/dist/core/Test.js +1 -1
- package/dist/core/Test.js.map +1 -1
- package/dist/core/config/ConfigLoader.cjs +7 -7
- package/dist/core/config/ConfigLoader.cjs.map +1 -1
- package/dist/core/config/ConfigLoader.js +1 -1
- package/dist/core/config/ConfigLoader.js.map +1 -1
- package/dist/core/error/ErrorBoundary.cjs +6 -6
- package/dist/core/error/ErrorBoundary.cjs.map +1 -1
- package/dist/core/error/ErrorBoundary.d.ts +1 -1
- package/dist/core/error/ErrorBoundary.js +2 -2
- package/dist/core/error/ErrorBoundary.js.map +1 -1
- package/dist/core/error/ErrorHandler.cjs +19 -19
- package/dist/core/error/ErrorHandler.cjs.map +1 -1
- package/dist/core/error/ErrorHandler.d.ts +2 -2
- package/dist/core/error/ErrorHandler.js +2 -2
- package/dist/core/error/ErrorHandler.js.map +1 -1
- package/dist/core/event/AppEventBus.cjs +5 -5
- package/dist/core/event/AppEventBus.cjs.map +1 -1
- package/dist/core/event/AppEventBus.js +1 -1
- package/dist/core/event/AppEventBus.js.map +1 -1
- package/dist/core/initialization/InitializationErrorThrower.cjs.map +1 -1
- package/dist/core/initialization/InitializationErrorThrower.js.map +1 -1
- package/dist/core/initialization/initialization.cjs +3 -3
- package/dist/core/initialization/initialization.cjs.map +1 -1
- package/dist/core/initialization/initialization.d.ts +1 -1
- package/dist/core/initialization/initialization.js +1 -1
- package/dist/core/initialization/initialization.js.map +1 -1
- package/dist/core/initialization/initializationErrorState.cjs +2 -2
- package/dist/core/initialization/initializationErrorState.cjs.map +1 -1
- package/dist/core/initialization/initializationErrorState.d.ts +1 -1
- package/dist/core/initialization/initializationErrorState.js +1 -1
- package/dist/core/initialization/initializationErrorState.js.map +1 -1
- package/dist/core/kernel/defaultAdapters.cjs +14 -13
- package/dist/core/kernel/defaultAdapters.cjs.map +1 -1
- package/dist/core/kernel/defaultAdapters.js +2 -1
- package/dist/core/kernel/defaultAdapters.js.map +1 -1
- package/dist/core/kernel/types.d.ts +1 -1
- package/dist/core/kernel/types.js.map +1 -1
- package/dist/core/router/RouterManager.cjs +9 -9
- package/dist/core/router/RouterManager.cjs.map +1 -1
- package/dist/core/router/RouterManager.js +1 -1
- package/dist/core/router/RouterManager.js.map +1 -1
- package/dist/core/router/adapter/AdapterManager.cjs +10 -10
- package/dist/core/router/adapter/AdapterManager.cjs.map +1 -1
- package/dist/core/router/adapter/AdapterManager.js +1 -1
- package/dist/core/router/adapter/AdapterManager.js.map +1 -1
- package/dist/core/router/adapter/react-router/ReactRouterAdapter.cjs +4 -4
- package/dist/core/router/adapter/react-router/ReactRouterAdapter.cjs.map +1 -1
- package/dist/core/router/adapter/react-router/ReactRouterAdapter.js +1 -1
- package/dist/core/router/adapter/react-router/ReactRouterAdapter.js.map +1 -1
- package/dist/core/router/dynamic/DynamicRouteManager.cjs +8 -8
- package/dist/core/router/dynamic/DynamicRouteManager.cjs.map +1 -1
- package/dist/core/router/dynamic/DynamicRouteManager.js +1 -1
- package/dist/core/router/dynamic/DynamicRouteManager.js.map +1 -1
- package/dist/core/router/errors/RouterError.cjs +4 -4
- package/dist/core/router/errors/RouterError.cjs.map +1 -1
- package/dist/core/router/errors/RouterError.d.ts +1 -1
- package/dist/core/router/errors/RouterError.js +1 -1
- package/dist/core/router/errors/RouterError.js.map +1 -1
- package/dist/core/router/lifecycle/RouterLifecycleManager.cjs +8 -8
- package/dist/core/router/lifecycle/RouterLifecycleManager.cjs.map +1 -1
- package/dist/core/router/lifecycle/RouterLifecycleManager.js +1 -1
- package/dist/core/router/lifecycle/RouterLifecycleManager.js.map +1 -1
- package/dist/core/router/middleware/RouterMiddlewareManager.cjs +11 -11
- package/dist/core/router/middleware/RouterMiddlewareManager.cjs.map +1 -1
- package/dist/core/router/middleware/RouterMiddlewareManager.js +1 -1
- package/dist/core/router/middleware/RouterMiddlewareManager.js.map +1 -1
- package/dist/core/router/middleware/auth.cjs +4 -4
- package/dist/core/router/middleware/auth.cjs.map +1 -1
- package/dist/core/router/middleware/auth.js +1 -1
- package/dist/core/router/middleware/auth.js.map +1 -1
- package/dist/core/router/monitoring/RouterMonitoring.cjs +2 -2
- package/dist/core/router/monitoring/RouterMonitoring.cjs.map +1 -1
- package/dist/core/router/monitoring/RouterMonitoring.js +2 -2
- package/dist/core/router/monitoring/RouterMonitoring.js.map +1 -1
- package/dist/core/router/navigation/RouterNavigation.cjs +7 -7
- package/dist/core/router/navigation/RouterNavigation.cjs.map +1 -1
- package/dist/core/router/navigation/RouterNavigation.js +1 -1
- package/dist/core/router/navigation/RouterNavigation.js.map +1 -1
- package/dist/core/router/performance/RouteCache.cjs +7 -7
- package/dist/core/router/performance/RouteCache.cjs.map +1 -1
- package/dist/core/router/performance/RouteCache.js +1 -1
- package/dist/core/router/performance/RouteCache.js.map +1 -1
- package/dist/core/router/performance/RoutePreloader.cjs +6 -6
- package/dist/core/router/performance/RoutePreloader.cjs.map +1 -1
- package/dist/core/router/performance/RoutePreloader.js +1 -1
- package/dist/core/router/performance/RoutePreloader.js.map +1 -1
- package/dist/core/router/plugin/RouterPluginManager.cjs +8 -8
- package/dist/core/router/plugin/RouterPluginManager.cjs.map +1 -1
- package/dist/core/router/plugin/RouterPluginManager.js +1 -1
- package/dist/core/router/plugin/RouterPluginManager.js.map +1 -1
- package/dist/core/router/utils/adapters/react-router/transform.cjs +6 -2
- package/dist/core/router/utils/adapters/react-router/transform.cjs.map +1 -1
- package/dist/core/router/utils/adapters/react-router/transform.js +5 -1
- package/dist/core/router/utils/adapters/react-router/transform.js.map +1 -1
- package/dist/core/router/utils/transform.cjs +13 -12
- package/dist/core/router/utils/transform.cjs.map +1 -1
- package/dist/core/router/utils/transform.js +2 -1
- package/dist/core/router/utils/transform.js.map +1 -1
- package/dist/core/router/validation/RouterConfigValidator.cjs +2 -2
- package/dist/core/router/validation/RouterConfigValidator.cjs.map +1 -1
- package/dist/core/router/validation/RouterConfigValidator.js +1 -1
- package/dist/core/router/validation/RouterConfigValidator.js.map +1 -1
- package/dist/core/router/version/RouteVersionManager.cjs +6 -6
- package/dist/core/router/version/RouteVersionManager.cjs.map +1 -1
- package/dist/core/router/version/RouteVersionManager.js +1 -1
- package/dist/core/router/version/RouteVersionManager.js.map +1 -1
- package/dist/core/splash/SplashScreen.cjs +4 -4
- package/dist/core/splash/SplashScreen.cjs.map +1 -1
- package/dist/core/splash/SplashScreen.js +1 -1
- package/dist/core/splash/SplashScreen.js.map +1 -1
- package/dist/core/startup/initializeServices.cjs +15 -15
- package/dist/core/startup/initializeServices.cjs.map +1 -1
- package/dist/core/startup/initializeServices.d.ts +2 -2
- package/dist/core/startup/initializeServices.js +3 -3
- package/dist/core/startup/initializeServices.js.map +1 -1
- package/dist/core/startup/performanceTracker.cjs.map +1 -1
- package/dist/core/startup/performanceTracker.d.ts +1 -1
- package/dist/core/startup/performanceTracker.js.map +1 -1
- package/dist/core/startup/renderApp.cjs +3 -3
- package/dist/core/startup/renderApp.cjs.map +1 -1
- package/dist/core/startup/renderApp.d.ts +1 -1
- package/dist/core/startup/renderApp.js +2 -2
- package/dist/core/startup/renderApp.js.map +1 -1
- package/dist/core/startup/startApp.cjs +24 -24
- package/dist/core/startup/startApp.cjs.map +1 -1
- package/dist/core/startup/startApp.js +5 -5
- package/dist/core/startup/startApp.js.map +1 -1
- package/dist/core/types.d.ts +3 -3
- package/dist/core/types.js.map +1 -1
- package/dist/index.cjs +15 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +6 -4
- package/dist/index.js +5 -4
- package/dist/index.js.map +1 -1
- package/dist/index.umd.js +2150 -23125
- package/dist/index.umd.js.map +1 -1
- package/dist/kernel/constants.cjs +67 -0
- package/dist/kernel/constants.cjs.map +1 -0
- package/dist/kernel/constants.d.ts +5 -0
- package/dist/kernel/constants.js +43 -0
- package/dist/kernel/constants.js.map +1 -0
- package/dist/kernel/index.cjs +40 -0
- package/dist/kernel/index.cjs.map +1 -0
- package/dist/kernel/index.d.ts +3 -0
- package/dist/kernel/index.js +4 -0
- package/dist/kernel/index.js.map +1 -0
- package/dist/kernel/kernel.cjs +296 -0
- package/dist/kernel/kernel.cjs.map +1 -0
- package/dist/kernel/kernel.d.ts +40 -0
- package/dist/kernel/kernel.js +272 -0
- package/dist/kernel/kernel.js.map +1 -0
- package/dist/kernel/manager/cacheManager.cjs +46 -0
- package/dist/kernel/manager/cacheManager.cjs.map +1 -0
- package/dist/kernel/manager/cacheManager.d.ts +6 -0
- package/dist/kernel/manager/cacheManager.js +36 -0
- package/dist/kernel/manager/cacheManager.js.map +1 -0
- package/dist/kernel/manager/i18nManager.cjs +68 -0
- package/dist/kernel/manager/i18nManager.cjs.map +1 -0
- package/dist/kernel/manager/i18nManager.d.ts +8 -0
- package/dist/kernel/manager/i18nManager.js +58 -0
- package/dist/kernel/manager/i18nManager.js.map +1 -0
- package/dist/kernel/manager/index.cjs +30 -0
- package/dist/kernel/manager/index.cjs.map +1 -0
- package/dist/kernel/manager/index.d.ts +4 -0
- package/dist/kernel/manager/index.js +6 -0
- package/dist/kernel/manager/index.js.map +1 -0
- package/dist/kernel/manager/loggerManager.cjs +70 -0
- package/dist/kernel/manager/loggerManager.cjs.map +1 -0
- package/dist/kernel/manager/loggerManager.d.ts +14 -0
- package/dist/kernel/manager/loggerManager.js +60 -0
- package/dist/kernel/manager/loggerManager.js.map +1 -0
- package/dist/kernel/manager/persistence.cjs +93 -0
- package/dist/kernel/manager/persistence.cjs.map +1 -0
- package/dist/kernel/manager/persistence.d.ts +3 -0
- package/dist/kernel/manager/persistence.js +75 -0
- package/dist/kernel/manager/persistence.js.map +1 -0
- package/dist/kernel/manager/themeManager.cjs +85 -0
- package/dist/kernel/manager/themeManager.cjs.map +1 -0
- package/dist/kernel/manager/themeManager.d.ts +9 -0
- package/dist/kernel/manager/themeManager.js +75 -0
- package/dist/kernel/manager/themeManager.js.map +1 -0
- package/dist/kernel/types.cjs +6 -0
- package/dist/kernel/types.cjs.map +1 -0
- package/dist/kernel/types.d.ts +72 -0
- package/dist/kernel/types.js +3 -0
- package/dist/kernel/types.js.map +1 -0
- package/dist/library/storage/encryption.cjs +12 -13
- package/dist/library/storage/encryption.cjs.map +1 -1
- package/dist/library/storage/encryption.js +1 -2
- package/dist/library/storage/encryption.js.map +1 -1
- package/dist/request/adapter.d.ts +1 -0
- package/dist/request/core.d.ts +1 -0
- package/dist/request/index.d.ts +1 -42
- package/dist/request/plugin/csrfPlugin.d.ts +2 -2
- package/dist/request/plugin/queue.d.ts +2 -2
- package/dist/request/plugin.d.ts +1 -0
- package/dist/request/runtime.d.ts +1 -0
- package/dist/request/types.d.ts +1 -394
- package/dist/request/utils.d.ts +1 -0
- package/dist/state.umd.js +1 -1
- package/dist/utils/csrf.cjs +13 -152
- package/dist/utils/csrf.cjs.map +1 -1
- package/dist/utils/csrf.d.ts +1 -72
- package/dist/utils/csrf.js +1 -142
- package/dist/utils/csrf.js.map +1 -1
- package/dist/utils/errors/ErrorCodes.cjs +6 -76
- package/dist/utils/errors/ErrorCodes.cjs.map +1 -1
- package/dist/utils/errors/ErrorCodes.d.ts +1 -45
- package/dist/utils/errors/ErrorCodes.js +1 -84
- package/dist/utils/errors/ErrorCodes.js.map +1 -1
- package/dist/utils/errors.cjs +53 -326
- package/dist/utils/errors.cjs.map +1 -1
- package/dist/utils/errors.d.ts +19 -172
- package/dist/utils/errors.js +16 -352
- package/dist/utils/errors.js.map +1 -1
- package/dist/utils/logger.cjs +5 -374
- package/dist/utils/logger.cjs.map +1 -1
- package/dist/utils/logger.d.ts +2 -189
- package/dist/utils/logger.js +1 -379
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/logger.types.cjs +3 -12
- package/dist/utils/logger.types.cjs.map +1 -1
- package/dist/utils/logger.types.d.ts +2 -57
- package/dist/utils/logger.types.js +1 -10
- package/dist/utils/logger.types.js.map +1 -1
- package/dist/utils/monitoring.cjs +11 -302
- package/dist/utils/monitoring.cjs.map +1 -1
- package/dist/utils/monitoring.d.ts +1 -163
- package/dist/utils/monitoring.js +1 -294
- package/dist/utils/monitoring.js.map +1 -1
- package/dist/utils/performance.cjs +5 -352
- package/dist/utils/performance.cjs.map +1 -1
- package/dist/utils/performance.d.ts +2 -246
- package/dist/utils/performance.js +1 -354
- package/dist/utils/performance.js.map +1 -1
- package/dist/utils/resourceLoader.cjs +5 -303
- package/dist/utils/resourceLoader.cjs.map +1 -1
- package/dist/utils/resourceLoader.d.ts +2 -130
- package/dist/utils/resourceLoader.js +1 -305
- package/dist/utils/resourceLoader.js.map +1 -1
- package/dist/utils/runtimeSecurity.cjs +2 -140
- package/dist/utils/runtimeSecurity.cjs.map +1 -1
- package/dist/utils/runtimeSecurity.d.ts +2 -104
- package/dist/utils/runtimeSecurity.js +1 -141
- package/dist/utils/runtimeSecurity.js.map +1 -1
- package/dist/utils/security.cjs +3 -314
- package/dist/utils/security.cjs.map +1 -1
- package/dist/utils/security.d.ts +2 -80
- package/dist/utils/security.js +1 -311
- package/dist/utils/security.js.map +1 -1
- package/dist/utils/traceId.cjs +10 -111
- package/dist/utils/traceId.cjs.map +1 -1
- package/dist/utils/traceId.d.ts +1 -63
- package/dist/utils/traceId.js +1 -116
- package/dist/utils/traceId.js.map +1 -1
- package/dist/utils/validation.cjs +3 -173
- package/dist/utils/validation.cjs.map +1 -1
- package/dist/utils/validation.d.ts +2 -110
- package/dist/utils/validation.js +1 -175
- package/dist/utils/validation.js.map +1 -1
- package/package.json +15 -24
- package/dist/lazy/index.cjs +0 -104
- package/dist/lazy/index.cjs.map +0 -1
- package/dist/lazy/index.d.ts +0 -19
- package/dist/lazy/index.js +0 -24
- package/dist/lazy/index.js.map +0 -1
- package/dist/request/adapter/RequestAdapter.cjs +0 -78
- package/dist/request/adapter/RequestAdapter.cjs.map +0 -1
- package/dist/request/adapter/axiosAdapter.cjs +0 -164
- package/dist/request/adapter/axiosAdapter.cjs.map +0 -1
- package/dist/request/adapter/fetchAdapter.cjs +0 -134
- package/dist/request/adapter/fetchAdapter.cjs.map +0 -1
- package/dist/request/adapter/index.cjs +0 -80
- package/dist/request/adapter/index.cjs.map +0 -1
- package/dist/request/adapter/kyAdapter.cjs +0 -191
- package/dist/request/adapter/kyAdapter.cjs.map +0 -1
- package/dist/request/adapter/undiciAdapter.cjs +0 -213
- package/dist/request/adapter/undiciAdapter.cjs.map +0 -1
- package/dist/request/core/RequestClient.cjs +0 -558
- package/dist/request/core/RequestClient.cjs.map +0 -1
- package/dist/request/core/index.cjs +0 -15
- package/dist/request/core/index.cjs.map +0 -1
- package/dist/request/index.cjs +0 -149
- package/dist/request/index.cjs.map +0 -1
- package/dist/request/plugin/RequestPlugin.cjs +0 -218
- package/dist/request/plugin/RequestPlugin.cjs.map +0 -1
- package/dist/request/plugin/cache.cjs +0 -269
- package/dist/request/plugin/cache.cjs.map +0 -1
- package/dist/request/plugin/csrfPlugin.cjs +0 -40
- package/dist/request/plugin/csrfPlugin.cjs.map +0 -1
- package/dist/request/plugin/index.cjs +0 -53
- package/dist/request/plugin/index.cjs.map +0 -1
- package/dist/request/plugin/monitoring.cjs +0 -216
- package/dist/request/plugin/monitoring.cjs.map +0 -1
- package/dist/request/plugin/queue.cjs +0 -140
- package/dist/request/plugin/queue.cjs.map +0 -1
- package/dist/request/plugin/retry.cjs +0 -98
- package/dist/request/plugin/retry.cjs.map +0 -1
- package/dist/request/plugin/validation.cjs +0 -121
- package/dist/request/plugin/validation.cjs.map +0 -1
- package/dist/request/runtime/RequestContext.cjs +0 -77
- package/dist/request/runtime/RequestContext.cjs.map +0 -1
- package/dist/request/runtime/index.cjs +0 -32
- package/dist/request/runtime/index.cjs.map +0 -1
- package/dist/request/types.cjs +0 -112
- package/dist/request/types.cjs.map +0 -1
- package/dist/request/utils/RequestQueueManager.cjs +0 -168
- package/dist/request/utils/RequestQueueManager.cjs.map +0 -1
- package/dist/request/utils/dependencyCheck.cjs +0 -237
- package/dist/request/utils/dependencyCheck.cjs.map +0 -1
- package/dist/request/utils/index.cjs +0 -30
- package/dist/request/utils/index.cjs.map +0 -1
- package/dist/request.umd.js +0 -5392
- package/dist/request.umd.js.map +0 -1
package/dist/utils/errors.js
CHANGED
|
@@ -1,354 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
export
|
|
17
|
-
/**
|
|
18
|
-
* 错误类型枚举
|
|
19
|
-
*/ export var ErrorType = /*#__PURE__*/ function(ErrorType) {
|
|
20
|
-
/**
|
|
21
|
-
* 初始化错误
|
|
22
|
-
*/ ErrorType["INITIALIZATION"] = "INITIALIZATION";
|
|
23
|
-
/**
|
|
24
|
-
* 配置错误
|
|
25
|
-
*/ ErrorType["CONFIG"] = "CONFIG";
|
|
26
|
-
/**
|
|
27
|
-
* 存储错误
|
|
28
|
-
*/ ErrorType["STORAGE"] = "STORAGE";
|
|
29
|
-
/**
|
|
30
|
-
* 网络错误
|
|
31
|
-
*/ ErrorType["NETWORK"] = "NETWORK";
|
|
32
|
-
/**
|
|
33
|
-
* 验证错误
|
|
34
|
-
*/ ErrorType["VALIDATION"] = "VALIDATION";
|
|
35
|
-
/**
|
|
36
|
-
* 安全错误
|
|
37
|
-
*/ ErrorType["SECURITY"] = "SECURITY";
|
|
38
|
-
/**
|
|
39
|
-
* 运行时错误
|
|
40
|
-
*/ ErrorType["RUNTIME"] = "RUNTIME";
|
|
41
|
-
/**
|
|
42
|
-
* 未知错误
|
|
43
|
-
*/ ErrorType["UNKNOWN"] = "UNKNOWN";
|
|
44
|
-
return ErrorType;
|
|
45
|
-
}({});
|
|
46
|
-
/**
|
|
47
|
-
* 错误严重程度
|
|
48
|
-
*/ export var ErrorSeverity = /*#__PURE__*/ function(ErrorSeverity) {
|
|
49
|
-
/**
|
|
50
|
-
* 低 - 不影响核心功能
|
|
51
|
-
*/ ErrorSeverity["LOW"] = "LOW";
|
|
52
|
-
/**
|
|
53
|
-
* 中 - 影响部分功能
|
|
54
|
-
*/ ErrorSeverity["MEDIUM"] = "MEDIUM";
|
|
55
|
-
/**
|
|
56
|
-
* 高 - 影响核心功能
|
|
57
|
-
*/ ErrorSeverity["HIGH"] = "HIGH";
|
|
58
|
-
/**
|
|
59
|
-
* 严重 - 导致应用无法使用
|
|
60
|
-
*/ ErrorSeverity["CRITICAL"] = "CRITICAL";
|
|
61
|
-
return ErrorSeverity;
|
|
62
|
-
}({});
|
|
63
|
-
/**
|
|
64
|
-
* 框架错误基类
|
|
65
|
-
*/ export class FrameworkError extends Error {
|
|
66
|
-
/**
|
|
67
|
-
* 转换为 JSON
|
|
68
|
-
*/ toJSON() {
|
|
69
|
-
return {
|
|
70
|
-
name: this.name,
|
|
71
|
-
message: this.message,
|
|
72
|
-
type: this.type,
|
|
73
|
-
severity: this.severity,
|
|
74
|
-
code: this.code,
|
|
75
|
-
recoverable: this.recoverable,
|
|
76
|
-
context: this.context,
|
|
77
|
-
stack: this.stack,
|
|
78
|
-
originalError: this.originalError ? {
|
|
79
|
-
name: this.originalError.name,
|
|
80
|
-
message: this.originalError.message,
|
|
81
|
-
stack: this.originalError.stack
|
|
82
|
-
} : undefined
|
|
83
|
-
};
|
|
84
|
-
}
|
|
85
|
-
constructor(message, type = "UNKNOWN", severity = "MEDIUM", options){
|
|
86
|
-
super(message), /**
|
|
87
|
-
* 错误类型
|
|
88
|
-
*/ _define_property(this, "type", void 0), /**
|
|
89
|
-
* 错误严重程度
|
|
90
|
-
*/ _define_property(this, "severity", void 0), /**
|
|
91
|
-
* 错误代码
|
|
92
|
-
*/ _define_property(this, "code", void 0), /**
|
|
93
|
-
* 原始错误
|
|
94
|
-
*/ _define_property(this, "originalError", void 0), /**
|
|
95
|
-
* 错误上下文
|
|
96
|
-
*/ _define_property(this, "context", void 0), /**
|
|
97
|
-
* 是否可恢复
|
|
98
|
-
*/ _define_property(this, "recoverable", void 0);
|
|
99
|
-
this.name = 'FrameworkError';
|
|
100
|
-
this.type = type;
|
|
101
|
-
this.severity = severity;
|
|
102
|
-
this.code = options?.code || `${type}_ERROR`;
|
|
103
|
-
this.originalError = options?.originalError;
|
|
104
|
-
this.context = options?.context;
|
|
105
|
-
this.recoverable = options?.recoverable ?? false;
|
|
106
|
-
// 保持正确的堆栈跟踪
|
|
107
|
-
if (Error.captureStackTrace) {
|
|
108
|
-
Error.captureStackTrace(this, FrameworkError);
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
/**
|
|
113
|
-
* 初始化错误
|
|
114
|
-
*/ export class InitializationError extends FrameworkError {
|
|
115
|
-
constructor(message, originalError, context, errorCode){
|
|
116
|
-
const code = errorCode || ErrorCode.INITIALIZATION_FAILED;
|
|
117
|
-
super(getUserFriendlyMessage(code, message), "INITIALIZATION", "CRITICAL", {
|
|
118
|
-
code: ErrorCode[code],
|
|
119
|
-
originalError,
|
|
120
|
-
context,
|
|
121
|
-
recoverable: false
|
|
122
|
-
});
|
|
123
|
-
this.name = 'InitializationError';
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
/**
|
|
127
|
-
* 配置错误
|
|
128
|
-
*/ export class ConfigError extends FrameworkError {
|
|
129
|
-
constructor(message, originalError, context, errorCode){
|
|
130
|
-
const code = errorCode || ErrorCode.CONFIG_LOAD_FAILED;
|
|
131
|
-
super(getUserFriendlyMessage(code, message), "CONFIG", "HIGH", {
|
|
132
|
-
code: ErrorCode[code],
|
|
133
|
-
originalError,
|
|
134
|
-
context,
|
|
135
|
-
recoverable: true
|
|
136
|
-
});
|
|
137
|
-
this.name = 'ConfigError';
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
/**
|
|
141
|
-
* 存储错误
|
|
142
|
-
*/ export class StorageError extends FrameworkError {
|
|
143
|
-
constructor(message, originalError, context){
|
|
144
|
-
super(message, "STORAGE", "MEDIUM", {
|
|
145
|
-
code: 'STORAGE_ERROR',
|
|
146
|
-
originalError,
|
|
147
|
-
context,
|
|
148
|
-
recoverable: true
|
|
149
|
-
});
|
|
150
|
-
this.name = 'StorageError';
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
/**
|
|
154
|
-
* 网络错误
|
|
155
|
-
*/ export class NetworkError extends FrameworkError {
|
|
156
|
-
constructor(message, originalError, context, errorCode){
|
|
157
|
-
const code = errorCode || ErrorCode.NETWORK_ERROR;
|
|
158
|
-
super(getUserFriendlyMessage(code, message), "NETWORK", "MEDIUM", {
|
|
159
|
-
code: ErrorCode[code],
|
|
160
|
-
originalError,
|
|
161
|
-
context,
|
|
162
|
-
recoverable: true
|
|
163
|
-
});
|
|
164
|
-
this.name = 'NetworkError';
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
/**
|
|
168
|
-
* 验证错误
|
|
169
|
-
*/ export class ValidationError extends FrameworkError {
|
|
170
|
-
constructor(message, context){
|
|
171
|
-
super(message, "VALIDATION", "LOW", {
|
|
172
|
-
code: 'VALIDATION_ERROR',
|
|
173
|
-
context,
|
|
174
|
-
recoverable: true
|
|
175
|
-
});
|
|
176
|
-
this.name = 'ValidationError';
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
/**
|
|
180
|
-
* 安全错误
|
|
181
|
-
*/ export class SecurityError extends FrameworkError {
|
|
182
|
-
constructor(message, originalError, context){
|
|
183
|
-
super(message, "SECURITY", "HIGH", {
|
|
184
|
-
code: 'SECURITY_ERROR',
|
|
185
|
-
originalError,
|
|
186
|
-
context,
|
|
187
|
-
recoverable: false
|
|
188
|
-
});
|
|
189
|
-
this.name = 'SecurityError';
|
|
190
|
-
}
|
|
191
|
-
}
|
|
192
|
-
/**
|
|
193
|
-
* 错误处理工具函数
|
|
194
|
-
*/ export const errorUtils = {
|
|
195
|
-
/**
|
|
196
|
-
* 安全地将未知错误转换为可展示的消息
|
|
197
|
-
* 避免 String(error) 对 null-prototype 对象再次抛错
|
|
198
|
-
*/ getSafeErrorMessage (error) {
|
|
199
|
-
if (typeof error === 'string') {
|
|
200
|
-
return error;
|
|
201
|
-
}
|
|
202
|
-
if (typeof error === 'number' || typeof error === 'boolean' || typeof error === 'bigint' || typeof error === 'symbol' || error === null || error === undefined) {
|
|
203
|
-
try {
|
|
204
|
-
return String(error);
|
|
205
|
-
} catch {
|
|
206
|
-
return 'Unknown error';
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
|
-
if (typeof error === 'object') {
|
|
210
|
-
try {
|
|
211
|
-
const maybeMessage = error.message;
|
|
212
|
-
if (typeof maybeMessage === 'string' && maybeMessage.trim()) {
|
|
213
|
-
return maybeMessage;
|
|
214
|
-
}
|
|
215
|
-
} catch {
|
|
216
|
-
// ignore
|
|
217
|
-
}
|
|
218
|
-
try {
|
|
219
|
-
const json = JSON.stringify(error);
|
|
220
|
-
if (json) {
|
|
221
|
-
return json;
|
|
222
|
-
}
|
|
223
|
-
} catch {
|
|
224
|
-
// ignore
|
|
225
|
-
}
|
|
226
|
-
try {
|
|
227
|
-
return `Non-Error throwable: ${Object.prototype.toString.call(error)}`;
|
|
228
|
-
} catch {
|
|
229
|
-
return 'Non-Error throwable';
|
|
230
|
-
}
|
|
231
|
-
}
|
|
232
|
-
try {
|
|
233
|
-
return String(error);
|
|
234
|
-
} catch {
|
|
235
|
-
return 'Unknown error';
|
|
236
|
-
}
|
|
237
|
-
},
|
|
238
|
-
/**
|
|
239
|
-
* 判断错误是否可恢复
|
|
240
|
-
*/ isRecoverable (error) {
|
|
241
|
-
if (error instanceof FrameworkError) {
|
|
242
|
-
return error.recoverable;
|
|
243
|
-
}
|
|
244
|
-
return false;
|
|
245
|
-
},
|
|
246
|
-
/**
|
|
247
|
-
* 获取错误类型
|
|
248
|
-
*/ getErrorType (error) {
|
|
249
|
-
if (error instanceof FrameworkError) {
|
|
250
|
-
return error.type;
|
|
251
|
-
}
|
|
252
|
-
return "UNKNOWN";
|
|
253
|
-
},
|
|
254
|
-
/**
|
|
255
|
-
* 获取错误严重程度
|
|
256
|
-
*/ getErrorSeverity (error) {
|
|
257
|
-
if (error instanceof FrameworkError) {
|
|
258
|
-
return error.severity;
|
|
259
|
-
}
|
|
260
|
-
return "MEDIUM";
|
|
261
|
-
},
|
|
262
|
-
/**
|
|
263
|
-
* 标准化错误对象
|
|
264
|
-
*/ normalizeError (error) {
|
|
265
|
-
if (error instanceof FrameworkError) {
|
|
266
|
-
return error;
|
|
267
|
-
}
|
|
268
|
-
if (error instanceof Error) {
|
|
269
|
-
return new FrameworkError(error.message, "UNKNOWN", "MEDIUM", {
|
|
270
|
-
originalError: error
|
|
271
|
-
});
|
|
272
|
-
}
|
|
273
|
-
return new FrameworkError(errorUtils.getSafeErrorMessage(error), "UNKNOWN", "MEDIUM");
|
|
274
|
-
},
|
|
275
|
-
/**
|
|
276
|
-
* 提取错误信息
|
|
277
|
-
*/ extractErrorInfo (error) {
|
|
278
|
-
const normalized = errorUtils.normalizeError(error);
|
|
279
|
-
return {
|
|
280
|
-
message: normalized.message,
|
|
281
|
-
type: normalized.type,
|
|
282
|
-
severity: normalized.severity,
|
|
283
|
-
code: normalized.code,
|
|
284
|
-
stack: normalized.stack
|
|
285
|
-
};
|
|
286
|
-
},
|
|
287
|
-
/**
|
|
288
|
-
* 获取错误修复建议
|
|
289
|
-
*
|
|
290
|
-
* 优化:根据错误类型和代码提供修复建议
|
|
291
|
-
*/ getErrorSuggestions (error) {
|
|
292
|
-
const normalized = errorUtils.normalizeError(error);
|
|
293
|
-
const suggestions = [];
|
|
294
|
-
// 根据错误代码提供建议
|
|
295
|
-
switch(normalized.code){
|
|
296
|
-
case 'CONTAINER_NOT_FOUND':
|
|
297
|
-
suggestions.push('请确保页面中存在 id="root" 的元素,或通过 container 选项指定挂载容器');
|
|
298
|
-
suggestions.push('检查 DOM 是否已加载完成,确保在 DOMContentLoaded 事件后调用 start()');
|
|
299
|
-
break;
|
|
300
|
-
case 'NETWORK_ERROR':
|
|
301
|
-
suggestions.push('检查网络连接是否正常');
|
|
302
|
-
suggestions.push('检查服务器是否正常运行');
|
|
303
|
-
suggestions.push('检查 CORS 配置是否正确');
|
|
304
|
-
break;
|
|
305
|
-
case 'TIMEOUT_ERROR':
|
|
306
|
-
suggestions.push('增加超时时间配置');
|
|
307
|
-
suggestions.push('检查网络连接是否稳定');
|
|
308
|
-
suggestions.push('检查服务器响应速度');
|
|
309
|
-
break;
|
|
310
|
-
case 'VALIDATION_ERROR':
|
|
311
|
-
suggestions.push('检查配置项是否符合要求');
|
|
312
|
-
suggestions.push('查看配置验证错误详情');
|
|
313
|
-
suggestions.push('参考配置文档确认配置格式');
|
|
314
|
-
break;
|
|
315
|
-
case 'INITIALIZATION_ERROR':
|
|
316
|
-
suggestions.push('检查初始化配置是否正确');
|
|
317
|
-
suggestions.push('查看初始化日志了解详细错误');
|
|
318
|
-
suggestions.push('尝试简化配置,逐步排查问题');
|
|
319
|
-
break;
|
|
320
|
-
default:
|
|
321
|
-
if (normalized.type === "SECURITY") {
|
|
322
|
-
suggestions.push('检查输入内容是否包含不安全字符');
|
|
323
|
-
suggestions.push('确保配置项来源可信');
|
|
324
|
-
suggestions.push('查看安全配置文档');
|
|
325
|
-
}
|
|
326
|
-
}
|
|
327
|
-
// 如果是可恢复的错误,提供恢复建议
|
|
328
|
-
if (normalized.recoverable) {
|
|
329
|
-
suggestions.push('此错误可以自动恢复,请稍后重试');
|
|
330
|
-
}
|
|
331
|
-
return suggestions;
|
|
332
|
-
},
|
|
333
|
-
/**
|
|
334
|
-
* 格式化错误信息(用于开发环境)
|
|
335
|
-
*
|
|
336
|
-
* 优化:提供更详细的错误信息,包括修复建议
|
|
337
|
-
*/ formatErrorForDev (error) {
|
|
338
|
-
const normalized = errorUtils.normalizeError(error);
|
|
339
|
-
const suggestions = errorUtils.getErrorSuggestions(error);
|
|
340
|
-
let message = `[${normalized.code}] ${normalized.message}`;
|
|
341
|
-
if (normalized.stack) {
|
|
342
|
-
message += `\n\n堆栈信息:\n${normalized.stack}`;
|
|
343
|
-
}
|
|
344
|
-
if (suggestions.length > 0) {
|
|
345
|
-
message += `\n\n修复建议:\n${suggestions.map((s, i)=>`${i + 1}. ${s}`).join('\n')}`;
|
|
346
|
-
}
|
|
347
|
-
if (normalized.context) {
|
|
348
|
-
message += `\n\n上下文信息:\n${JSON.stringify(normalized.context, null, 2)}`;
|
|
349
|
-
}
|
|
350
|
-
return message;
|
|
351
|
-
}
|
|
352
|
-
};
|
|
1
|
+
import * as vlianUtils from "@vlian/utils";
|
|
2
|
+
const utils = vlianUtils;
|
|
3
|
+
export const ErrorCode = utils.ErrorCode;
|
|
4
|
+
export const ErrorMessages = utils.ErrorMessages;
|
|
5
|
+
export const getErrorMessage = utils.getErrorMessage;
|
|
6
|
+
export const getUserFriendlyMessage = utils.getUserFriendlyMessage;
|
|
7
|
+
export const ErrorType = utils.ErrorType;
|
|
8
|
+
export const ErrorSeverity = utils.ErrorSeverity;
|
|
9
|
+
export const FrameworkError = utils.FrameworkError;
|
|
10
|
+
export const InitializationError = utils.InitializationError;
|
|
11
|
+
export const ConfigError = utils.ConfigError;
|
|
12
|
+
export const StorageError = utils.StorageError;
|
|
13
|
+
export const NetworkError = utils.NetworkError;
|
|
14
|
+
export const ValidationError = utils.ValidationError;
|
|
15
|
+
export const SecurityError = utils.SecurityError;
|
|
16
|
+
export const errorUtils = utils.errorUtils;
|
|
353
17
|
|
|
354
18
|
//# sourceMappingURL=errors.js.map
|
package/dist/utils/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utils/errors.ts"],"sourcesContent":["import { ErrorCode, getUserFriendlyMessage } from './errors/ErrorCodes';\n\n// 导出错误码相关类型和函数\nexport { ErrorCode, ErrorMessages, getErrorMessage, getUserFriendlyMessage } from './errors/ErrorCodes';\n\n/**\n * 错误类型枚举\n */\nexport enum ErrorType {\n /**\n * 初始化错误\n */\n INITIALIZATION = 'INITIALIZATION',\n /**\n * 配置错误\n */\n CONFIG = 'CONFIG',\n /**\n * 存储错误\n */\n STORAGE = 'STORAGE',\n /**\n * 网络错误\n */\n NETWORK = 'NETWORK',\n /**\n * 验证错误\n */\n VALIDATION = 'VALIDATION',\n /**\n * 安全错误\n */\n SECURITY = 'SECURITY',\n /**\n * 运行时错误\n */\n RUNTIME = 'RUNTIME',\n /**\n * 未知错误\n */\n UNKNOWN = 'UNKNOWN',\n}\n\n/**\n * 错误严重程度\n */\nexport enum ErrorSeverity {\n /**\n * 低 - 不影响核心功能\n */\n LOW = 'LOW',\n /**\n * 中 - 影响部分功能\n */\n MEDIUM = 'MEDIUM',\n /**\n * 高 - 影响核心功能\n */\n HIGH = 'HIGH',\n /**\n * 严重 - 导致应用无法使用\n */\n CRITICAL = 'CRITICAL',\n}\n\n/**\n * 框架错误基类\n */\nexport class FrameworkError extends Error {\n /**\n * 错误类型\n */\n public readonly type: ErrorType;\n\n /**\n * 错误严重程度\n */\n public readonly severity: ErrorSeverity;\n\n /**\n * 错误代码\n */\n public readonly code: string;\n\n /**\n * 原始错误\n */\n public readonly originalError?: Error;\n\n /**\n * 错误上下文\n */\n public readonly context?: Record<string, unknown>;\n\n /**\n * 是否可恢复\n */\n public readonly recoverable: boolean;\n\n constructor(\n message: string,\n type: ErrorType = ErrorType.UNKNOWN,\n severity: ErrorSeverity = ErrorSeverity.MEDIUM,\n options?: {\n code?: string;\n originalError?: Error;\n context?: Record<string, unknown>;\n recoverable?: boolean;\n }\n ) {\n super(message);\n this.name = 'FrameworkError';\n this.type = type;\n this.severity = severity;\n this.code = options?.code || `${type}_ERROR`;\n this.originalError = options?.originalError;\n this.context = options?.context;\n this.recoverable = options?.recoverable ?? false;\n\n // 保持正确的堆栈跟踪\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, FrameworkError);\n }\n }\n\n /**\n * 转换为 JSON\n */\n toJSON(): Record<string, unknown> {\n return {\n name: this.name,\n message: this.message,\n type: this.type,\n severity: this.severity,\n code: this.code,\n recoverable: this.recoverable,\n context: this.context,\n stack: this.stack,\n originalError: this.originalError\n ? {\n name: this.originalError.name,\n message: this.originalError.message,\n stack: this.originalError.stack,\n }\n : undefined,\n };\n }\n}\n\n/**\n * 初始化错误\n */\nexport class InitializationError extends FrameworkError {\n constructor(\n message: string,\n originalError?: Error,\n context?: Record<string, unknown>,\n errorCode?: ErrorCode\n ) {\n const code = errorCode || ErrorCode.INITIALIZATION_FAILED;\n super(getUserFriendlyMessage(code, message), ErrorType.INITIALIZATION, ErrorSeverity.CRITICAL, {\n code: ErrorCode[code],\n originalError,\n context,\n recoverable: false,\n });\n this.name = 'InitializationError';\n }\n}\n\n/**\n * 配置错误\n */\nexport class ConfigError extends FrameworkError {\n constructor(\n message: string,\n originalError?: Error,\n context?: Record<string, unknown>,\n errorCode?: ErrorCode\n ) {\n const code = errorCode || ErrorCode.CONFIG_LOAD_FAILED;\n super(getUserFriendlyMessage(code, message), ErrorType.CONFIG, ErrorSeverity.HIGH, {\n code: ErrorCode[code],\n originalError,\n context,\n recoverable: true,\n });\n this.name = 'ConfigError';\n }\n}\n\n/**\n * 存储错误\n */\nexport class StorageError extends FrameworkError {\n constructor(message: string, originalError?: Error, context?: Record<string, unknown>) {\n super(message, ErrorType.STORAGE, ErrorSeverity.MEDIUM, {\n code: 'STORAGE_ERROR',\n originalError,\n context,\n recoverable: true,\n });\n this.name = 'StorageError';\n }\n}\n\n/**\n * 网络错误\n */\nexport class NetworkError extends FrameworkError {\n constructor(\n message: string,\n originalError?: Error,\n context?: Record<string, unknown>,\n errorCode?: ErrorCode\n ) {\n const code = errorCode || ErrorCode.NETWORK_ERROR;\n super(getUserFriendlyMessage(code, message), ErrorType.NETWORK, ErrorSeverity.MEDIUM, {\n code: ErrorCode[code],\n originalError,\n context,\n recoverable: true,\n });\n this.name = 'NetworkError';\n }\n}\n\n/**\n * 验证错误\n */\nexport class ValidationError extends FrameworkError {\n constructor(message: string, context?: Record<string, unknown>) {\n super(message, ErrorType.VALIDATION, ErrorSeverity.LOW, {\n code: 'VALIDATION_ERROR',\n context,\n recoverable: true,\n });\n this.name = 'ValidationError';\n }\n}\n\n/**\n * 安全错误\n */\nexport class SecurityError extends FrameworkError {\n constructor(message: string, originalError?: Error, context?: Record<string, unknown>) {\n super(message, ErrorType.SECURITY, ErrorSeverity.HIGH, {\n code: 'SECURITY_ERROR',\n originalError,\n context,\n recoverable: false,\n });\n this.name = 'SecurityError';\n }\n}\n\n/**\n * 错误处理工具函数\n */\nexport const errorUtils = {\n /**\n * 安全地将未知错误转换为可展示的消息\n * 避免 String(error) 对 null-prototype 对象再次抛错\n */\n getSafeErrorMessage(error: unknown): string {\n if (typeof error === 'string') {\n return error;\n }\n\n if (\n typeof error === 'number' ||\n typeof error === 'boolean' ||\n typeof error === 'bigint' ||\n typeof error === 'symbol' ||\n error === null ||\n error === undefined\n ) {\n try {\n return String(error);\n } catch {\n return 'Unknown error';\n }\n }\n\n if (typeof error === 'object') {\n try {\n const maybeMessage = (error as { message?: unknown }).message;\n if (typeof maybeMessage === 'string' && maybeMessage.trim()) {\n return maybeMessage;\n }\n } catch {\n // ignore\n }\n\n try {\n const json = JSON.stringify(error);\n if (json) {\n return json;\n }\n } catch {\n // ignore\n }\n\n try {\n return `Non-Error throwable: ${Object.prototype.toString.call(error)}`;\n } catch {\n return 'Non-Error throwable';\n }\n }\n\n try {\n return String(error);\n } catch {\n return 'Unknown error';\n }\n },\n\n /**\n * 判断错误是否可恢复\n */\n isRecoverable(error: unknown): boolean {\n if (error instanceof FrameworkError) {\n return error.recoverable;\n }\n return false;\n },\n\n /**\n * 获取错误类型\n */\n getErrorType(error: unknown): ErrorType {\n if (error instanceof FrameworkError) {\n return error.type;\n }\n return ErrorType.UNKNOWN;\n },\n\n /**\n * 获取错误严重程度\n */\n getErrorSeverity(error: unknown): ErrorSeverity {\n if (error instanceof FrameworkError) {\n return error.severity;\n }\n return ErrorSeverity.MEDIUM;\n },\n\n /**\n * 标准化错误对象\n */\n normalizeError(error: unknown): FrameworkError {\n if (error instanceof FrameworkError) {\n return error;\n }\n\n if (error instanceof Error) {\n return new FrameworkError(error.message, ErrorType.UNKNOWN, ErrorSeverity.MEDIUM, {\n originalError: error,\n });\n }\n\n return new FrameworkError(errorUtils.getSafeErrorMessage(error), ErrorType.UNKNOWN, ErrorSeverity.MEDIUM);\n },\n\n /**\n * 提取错误信息\n */\n extractErrorInfo(error: unknown): {\n message: string;\n type: ErrorType;\n severity: ErrorSeverity;\n code: string;\n stack?: string;\n } {\n const normalized = errorUtils.normalizeError(error);\n return {\n message: normalized.message,\n type: normalized.type,\n severity: normalized.severity,\n code: normalized.code,\n stack: normalized.stack,\n };\n },\n\n /**\n * 获取错误修复建议\n * \n * 优化:根据错误类型和代码提供修复建议\n */\n getErrorSuggestions(error: unknown): string[] {\n const normalized = errorUtils.normalizeError(error);\n const suggestions: string[] = [];\n\n // 根据错误代码提供建议\n switch (normalized.code) {\n case 'CONTAINER_NOT_FOUND':\n suggestions.push('请确保页面中存在 id=\"root\" 的元素,或通过 container 选项指定挂载容器');\n suggestions.push('检查 DOM 是否已加载完成,确保在 DOMContentLoaded 事件后调用 start()');\n break;\n case 'NETWORK_ERROR':\n suggestions.push('检查网络连接是否正常');\n suggestions.push('检查服务器是否正常运行');\n suggestions.push('检查 CORS 配置是否正确');\n break;\n case 'TIMEOUT_ERROR':\n suggestions.push('增加超时时间配置');\n suggestions.push('检查网络连接是否稳定');\n suggestions.push('检查服务器响应速度');\n break;\n case 'VALIDATION_ERROR':\n suggestions.push('检查配置项是否符合要求');\n suggestions.push('查看配置验证错误详情');\n suggestions.push('参考配置文档确认配置格式');\n break;\n case 'INITIALIZATION_ERROR':\n suggestions.push('检查初始化配置是否正确');\n suggestions.push('查看初始化日志了解详细错误');\n suggestions.push('尝试简化配置,逐步排查问题');\n break;\n default:\n if (normalized.type === ErrorType.SECURITY) {\n suggestions.push('检查输入内容是否包含不安全字符');\n suggestions.push('确保配置项来源可信');\n suggestions.push('查看安全配置文档');\n }\n }\n\n // 如果是可恢复的错误,提供恢复建议\n if (normalized.recoverable) {\n suggestions.push('此错误可以自动恢复,请稍后重试');\n }\n\n return suggestions;\n },\n\n /**\n * 格式化错误信息(用于开发环境)\n * \n * 优化:提供更详细的错误信息,包括修复建议\n */\n formatErrorForDev(error: unknown): string {\n const normalized = errorUtils.normalizeError(error);\n const suggestions = errorUtils.getErrorSuggestions(error);\n \n let message = `[${normalized.code}] ${normalized.message}`;\n \n if (normalized.stack) {\n message += `\\n\\n堆栈信息:\\n${normalized.stack}`;\n }\n \n if (suggestions.length > 0) {\n message += `\\n\\n修复建议:\\n${suggestions.map((s, i) => `${i + 1}. ${s}`).join('\\n')}`;\n }\n \n if (normalized.context) {\n message += `\\n\\n上下文信息:\\n${JSON.stringify(normalized.context, null, 2)}`;\n }\n \n return message;\n },\n};\n"],"names":["ErrorCode","getUserFriendlyMessage","ErrorMessages","getErrorMessage","ErrorType","ErrorSeverity","FrameworkError","Error","toJSON","name","message","type","severity","code","recoverable","context","stack","originalError","undefined","options","captureStackTrace","InitializationError","errorCode","INITIALIZATION_FAILED","ConfigError","CONFIG_LOAD_FAILED","StorageError","NetworkError","NETWORK_ERROR","ValidationError","SecurityError","errorUtils","getSafeErrorMessage","error","String","maybeMessage","trim","json","JSON","stringify","Object","prototype","toString","call","isRecoverable","getErrorType","getErrorSeverity","normalizeError","extractErrorInfo","normalized","getErrorSuggestions","suggestions","push","formatErrorForDev","length","map","s","i","join"],"mappings":"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"}
|
|
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"}
|