@vlian/framework 1.2.25 → 1.2.37
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/error/ErrorHandler.cjs.map +1 -1
- package/dist/core/error/ErrorHandler.d.ts +1 -1
- package/dist/core/error/ErrorHandler.js.map +1 -1
- package/dist/core/router/monitoring/RouterMonitoring.cjs +1 -1
- package/dist/core/router/monitoring/RouterMonitoring.cjs.map +1 -1
- package/dist/core/router/monitoring/RouterMonitoring.js +1 -1
- package/dist/core/router/monitoring/RouterMonitoring.js.map +1 -1
- package/dist/core/router/utils/adapters/react-router/transform.cjs +4 -0
- package/dist/core/router/utils/adapters/react-router/transform.cjs.map +1 -1
- package/dist/core/router/utils/adapters/react-router/transform.js +4 -0
- package/dist/core/router/utils/adapters/react-router/transform.js.map +1 -1
- package/dist/core/startup/initializeServices.cjs +1 -1
- package/dist/core/startup/initializeServices.cjs.map +1 -1
- package/dist/core/startup/initializeServices.d.ts +1 -1
- package/dist/core/startup/initializeServices.js +1 -1
- 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 +1 -1
- package/dist/core/startup/renderApp.cjs.map +1 -1
- package/dist/core/startup/renderApp.d.ts +1 -1
- package/dist/core/startup/renderApp.js +1 -1
- package/dist/core/startup/renderApp.js.map +1 -1
- package/dist/core/startup/startApp.cjs +2 -2
- package/dist/core/startup/startApp.cjs.map +1 -1
- package/dist/core/startup/startApp.js +3 -3
- package/dist/core/startup/startApp.js.map +1 -1
- package/dist/core/types.d.ts +1 -1
- 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 +11648 -32616
- 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/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 +15 -344
- package/dist/utils/errors.cjs.map +1 -1
- package/dist/utils/errors.d.ts +1 -183
- package/dist/utils/errors.js +1 -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.cjs
CHANGED
|
@@ -10,377 +10,48 @@ function _export(target, all) {
|
|
|
10
10
|
}
|
|
11
11
|
_export(exports, {
|
|
12
12
|
get ConfigError () {
|
|
13
|
-
return ConfigError;
|
|
13
|
+
return _utils.ConfigError;
|
|
14
14
|
},
|
|
15
15
|
get ErrorCode () {
|
|
16
|
-
return
|
|
16
|
+
return _utils.ErrorCode;
|
|
17
17
|
},
|
|
18
18
|
get ErrorMessages () {
|
|
19
|
-
return
|
|
19
|
+
return _utils.ErrorMessages;
|
|
20
20
|
},
|
|
21
21
|
get ErrorSeverity () {
|
|
22
|
-
return ErrorSeverity;
|
|
22
|
+
return _utils.ErrorSeverity;
|
|
23
23
|
},
|
|
24
24
|
get ErrorType () {
|
|
25
|
-
return ErrorType;
|
|
25
|
+
return _utils.ErrorType;
|
|
26
26
|
},
|
|
27
27
|
get FrameworkError () {
|
|
28
|
-
return FrameworkError;
|
|
28
|
+
return _utils.FrameworkError;
|
|
29
29
|
},
|
|
30
30
|
get InitializationError () {
|
|
31
|
-
return InitializationError;
|
|
31
|
+
return _utils.InitializationError;
|
|
32
32
|
},
|
|
33
33
|
get NetworkError () {
|
|
34
|
-
return NetworkError;
|
|
34
|
+
return _utils.NetworkError;
|
|
35
35
|
},
|
|
36
36
|
get SecurityError () {
|
|
37
|
-
return SecurityError;
|
|
37
|
+
return _utils.SecurityError;
|
|
38
38
|
},
|
|
39
39
|
get StorageError () {
|
|
40
|
-
return StorageError;
|
|
40
|
+
return _utils.StorageError;
|
|
41
41
|
},
|
|
42
42
|
get ValidationError () {
|
|
43
|
-
return ValidationError;
|
|
43
|
+
return _utils.ValidationError;
|
|
44
44
|
},
|
|
45
45
|
get errorUtils () {
|
|
46
|
-
return errorUtils;
|
|
46
|
+
return _utils.errorUtils;
|
|
47
47
|
},
|
|
48
48
|
get getErrorMessage () {
|
|
49
|
-
return
|
|
49
|
+
return _utils.getErrorMessage;
|
|
50
50
|
},
|
|
51
51
|
get getUserFriendlyMessage () {
|
|
52
|
-
return
|
|
52
|
+
return _utils.getUserFriendlyMessage;
|
|
53
53
|
}
|
|
54
54
|
});
|
|
55
|
-
const
|
|
56
|
-
function _define_property(obj, key, value) {
|
|
57
|
-
if (key in obj) {
|
|
58
|
-
Object.defineProperty(obj, key, {
|
|
59
|
-
value: value,
|
|
60
|
-
enumerable: true,
|
|
61
|
-
configurable: true,
|
|
62
|
-
writable: true
|
|
63
|
-
});
|
|
64
|
-
} else {
|
|
65
|
-
obj[key] = value;
|
|
66
|
-
}
|
|
67
|
-
return obj;
|
|
68
|
-
}
|
|
69
|
-
var ErrorType = /*#__PURE__*/ function(ErrorType) {
|
|
70
|
-
/**
|
|
71
|
-
* 初始化错误
|
|
72
|
-
*/ ErrorType["INITIALIZATION"] = "INITIALIZATION";
|
|
73
|
-
/**
|
|
74
|
-
* 配置错误
|
|
75
|
-
*/ ErrorType["CONFIG"] = "CONFIG";
|
|
76
|
-
/**
|
|
77
|
-
* 存储错误
|
|
78
|
-
*/ ErrorType["STORAGE"] = "STORAGE";
|
|
79
|
-
/**
|
|
80
|
-
* 网络错误
|
|
81
|
-
*/ ErrorType["NETWORK"] = "NETWORK";
|
|
82
|
-
/**
|
|
83
|
-
* 验证错误
|
|
84
|
-
*/ ErrorType["VALIDATION"] = "VALIDATION";
|
|
85
|
-
/**
|
|
86
|
-
* 安全错误
|
|
87
|
-
*/ ErrorType["SECURITY"] = "SECURITY";
|
|
88
|
-
/**
|
|
89
|
-
* 运行时错误
|
|
90
|
-
*/ ErrorType["RUNTIME"] = "RUNTIME";
|
|
91
|
-
/**
|
|
92
|
-
* 未知错误
|
|
93
|
-
*/ ErrorType["UNKNOWN"] = "UNKNOWN";
|
|
94
|
-
return ErrorType;
|
|
95
|
-
}({});
|
|
96
|
-
var ErrorSeverity = /*#__PURE__*/ function(ErrorSeverity) {
|
|
97
|
-
/**
|
|
98
|
-
* 低 - 不影响核心功能
|
|
99
|
-
*/ ErrorSeverity["LOW"] = "LOW";
|
|
100
|
-
/**
|
|
101
|
-
* 中 - 影响部分功能
|
|
102
|
-
*/ ErrorSeverity["MEDIUM"] = "MEDIUM";
|
|
103
|
-
/**
|
|
104
|
-
* 高 - 影响核心功能
|
|
105
|
-
*/ ErrorSeverity["HIGH"] = "HIGH";
|
|
106
|
-
/**
|
|
107
|
-
* 严重 - 导致应用无法使用
|
|
108
|
-
*/ ErrorSeverity["CRITICAL"] = "CRITICAL";
|
|
109
|
-
return ErrorSeverity;
|
|
110
|
-
}({});
|
|
111
|
-
let FrameworkError = class FrameworkError extends Error {
|
|
112
|
-
/**
|
|
113
|
-
* 转换为 JSON
|
|
114
|
-
*/ toJSON() {
|
|
115
|
-
return {
|
|
116
|
-
name: this.name,
|
|
117
|
-
message: this.message,
|
|
118
|
-
type: this.type,
|
|
119
|
-
severity: this.severity,
|
|
120
|
-
code: this.code,
|
|
121
|
-
recoverable: this.recoverable,
|
|
122
|
-
context: this.context,
|
|
123
|
-
stack: this.stack,
|
|
124
|
-
originalError: this.originalError ? {
|
|
125
|
-
name: this.originalError.name,
|
|
126
|
-
message: this.originalError.message,
|
|
127
|
-
stack: this.originalError.stack
|
|
128
|
-
} : undefined
|
|
129
|
-
};
|
|
130
|
-
}
|
|
131
|
-
constructor(message, type = "UNKNOWN", severity = "MEDIUM", options){
|
|
132
|
-
super(message), /**
|
|
133
|
-
* 错误类型
|
|
134
|
-
*/ _define_property(this, "type", void 0), /**
|
|
135
|
-
* 错误严重程度
|
|
136
|
-
*/ _define_property(this, "severity", void 0), /**
|
|
137
|
-
* 错误代码
|
|
138
|
-
*/ _define_property(this, "code", void 0), /**
|
|
139
|
-
* 原始错误
|
|
140
|
-
*/ _define_property(this, "originalError", void 0), /**
|
|
141
|
-
* 错误上下文
|
|
142
|
-
*/ _define_property(this, "context", void 0), /**
|
|
143
|
-
* 是否可恢复
|
|
144
|
-
*/ _define_property(this, "recoverable", void 0);
|
|
145
|
-
this.name = 'FrameworkError';
|
|
146
|
-
this.type = type;
|
|
147
|
-
this.severity = severity;
|
|
148
|
-
this.code = options?.code || `${type}_ERROR`;
|
|
149
|
-
this.originalError = options?.originalError;
|
|
150
|
-
this.context = options?.context;
|
|
151
|
-
this.recoverable = options?.recoverable ?? false;
|
|
152
|
-
// 保持正确的堆栈跟踪
|
|
153
|
-
if (Error.captureStackTrace) {
|
|
154
|
-
Error.captureStackTrace(this, FrameworkError);
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
};
|
|
158
|
-
let InitializationError = class InitializationError extends FrameworkError {
|
|
159
|
-
constructor(message, originalError, context, errorCode){
|
|
160
|
-
const code = errorCode || _ErrorCodes.ErrorCode.INITIALIZATION_FAILED;
|
|
161
|
-
super((0, _ErrorCodes.getUserFriendlyMessage)(code, message), "INITIALIZATION", "CRITICAL", {
|
|
162
|
-
code: _ErrorCodes.ErrorCode[code],
|
|
163
|
-
originalError,
|
|
164
|
-
context,
|
|
165
|
-
recoverable: false
|
|
166
|
-
});
|
|
167
|
-
this.name = 'InitializationError';
|
|
168
|
-
}
|
|
169
|
-
};
|
|
170
|
-
let ConfigError = class ConfigError extends FrameworkError {
|
|
171
|
-
constructor(message, originalError, context, errorCode){
|
|
172
|
-
const code = errorCode || _ErrorCodes.ErrorCode.CONFIG_LOAD_FAILED;
|
|
173
|
-
super((0, _ErrorCodes.getUserFriendlyMessage)(code, message), "CONFIG", "HIGH", {
|
|
174
|
-
code: _ErrorCodes.ErrorCode[code],
|
|
175
|
-
originalError,
|
|
176
|
-
context,
|
|
177
|
-
recoverable: true
|
|
178
|
-
});
|
|
179
|
-
this.name = 'ConfigError';
|
|
180
|
-
}
|
|
181
|
-
};
|
|
182
|
-
let StorageError = class StorageError extends FrameworkError {
|
|
183
|
-
constructor(message, originalError, context){
|
|
184
|
-
super(message, "STORAGE", "MEDIUM", {
|
|
185
|
-
code: 'STORAGE_ERROR',
|
|
186
|
-
originalError,
|
|
187
|
-
context,
|
|
188
|
-
recoverable: true
|
|
189
|
-
});
|
|
190
|
-
this.name = 'StorageError';
|
|
191
|
-
}
|
|
192
|
-
};
|
|
193
|
-
let NetworkError = class NetworkError extends FrameworkError {
|
|
194
|
-
constructor(message, originalError, context, errorCode){
|
|
195
|
-
const code = errorCode || _ErrorCodes.ErrorCode.NETWORK_ERROR;
|
|
196
|
-
super((0, _ErrorCodes.getUserFriendlyMessage)(code, message), "NETWORK", "MEDIUM", {
|
|
197
|
-
code: _ErrorCodes.ErrorCode[code],
|
|
198
|
-
originalError,
|
|
199
|
-
context,
|
|
200
|
-
recoverable: true
|
|
201
|
-
});
|
|
202
|
-
this.name = 'NetworkError';
|
|
203
|
-
}
|
|
204
|
-
};
|
|
205
|
-
let ValidationError = class ValidationError extends FrameworkError {
|
|
206
|
-
constructor(message, context){
|
|
207
|
-
super(message, "VALIDATION", "LOW", {
|
|
208
|
-
code: 'VALIDATION_ERROR',
|
|
209
|
-
context,
|
|
210
|
-
recoverable: true
|
|
211
|
-
});
|
|
212
|
-
this.name = 'ValidationError';
|
|
213
|
-
}
|
|
214
|
-
};
|
|
215
|
-
let SecurityError = class SecurityError extends FrameworkError {
|
|
216
|
-
constructor(message, originalError, context){
|
|
217
|
-
super(message, "SECURITY", "HIGH", {
|
|
218
|
-
code: 'SECURITY_ERROR',
|
|
219
|
-
originalError,
|
|
220
|
-
context,
|
|
221
|
-
recoverable: false
|
|
222
|
-
});
|
|
223
|
-
this.name = 'SecurityError';
|
|
224
|
-
}
|
|
225
|
-
};
|
|
226
|
-
const errorUtils = {
|
|
227
|
-
/**
|
|
228
|
-
* 安全地将未知错误转换为可展示的消息
|
|
229
|
-
* 避免 String(error) 对 null-prototype 对象再次抛错
|
|
230
|
-
*/ getSafeErrorMessage (error) {
|
|
231
|
-
if (typeof error === 'string') {
|
|
232
|
-
return error;
|
|
233
|
-
}
|
|
234
|
-
if (typeof error === 'number' || typeof error === 'boolean' || typeof error === 'bigint' || typeof error === 'symbol' || error === null || error === undefined) {
|
|
235
|
-
try {
|
|
236
|
-
return String(error);
|
|
237
|
-
} catch {
|
|
238
|
-
return 'Unknown error';
|
|
239
|
-
}
|
|
240
|
-
}
|
|
241
|
-
if (typeof error === 'object') {
|
|
242
|
-
try {
|
|
243
|
-
const maybeMessage = error.message;
|
|
244
|
-
if (typeof maybeMessage === 'string' && maybeMessage.trim()) {
|
|
245
|
-
return maybeMessage;
|
|
246
|
-
}
|
|
247
|
-
} catch {
|
|
248
|
-
// ignore
|
|
249
|
-
}
|
|
250
|
-
try {
|
|
251
|
-
const json = JSON.stringify(error);
|
|
252
|
-
if (json) {
|
|
253
|
-
return json;
|
|
254
|
-
}
|
|
255
|
-
} catch {
|
|
256
|
-
// ignore
|
|
257
|
-
}
|
|
258
|
-
try {
|
|
259
|
-
return `Non-Error throwable: ${Object.prototype.toString.call(error)}`;
|
|
260
|
-
} catch {
|
|
261
|
-
return 'Non-Error throwable';
|
|
262
|
-
}
|
|
263
|
-
}
|
|
264
|
-
try {
|
|
265
|
-
return String(error);
|
|
266
|
-
} catch {
|
|
267
|
-
return 'Unknown error';
|
|
268
|
-
}
|
|
269
|
-
},
|
|
270
|
-
/**
|
|
271
|
-
* 判断错误是否可恢复
|
|
272
|
-
*/ isRecoverable (error) {
|
|
273
|
-
if (error instanceof FrameworkError) {
|
|
274
|
-
return error.recoverable;
|
|
275
|
-
}
|
|
276
|
-
return false;
|
|
277
|
-
},
|
|
278
|
-
/**
|
|
279
|
-
* 获取错误类型
|
|
280
|
-
*/ getErrorType (error) {
|
|
281
|
-
if (error instanceof FrameworkError) {
|
|
282
|
-
return error.type;
|
|
283
|
-
}
|
|
284
|
-
return "UNKNOWN";
|
|
285
|
-
},
|
|
286
|
-
/**
|
|
287
|
-
* 获取错误严重程度
|
|
288
|
-
*/ getErrorSeverity (error) {
|
|
289
|
-
if (error instanceof FrameworkError) {
|
|
290
|
-
return error.severity;
|
|
291
|
-
}
|
|
292
|
-
return "MEDIUM";
|
|
293
|
-
},
|
|
294
|
-
/**
|
|
295
|
-
* 标准化错误对象
|
|
296
|
-
*/ normalizeError (error) {
|
|
297
|
-
if (error instanceof FrameworkError) {
|
|
298
|
-
return error;
|
|
299
|
-
}
|
|
300
|
-
if (error instanceof Error) {
|
|
301
|
-
return new FrameworkError(error.message, "UNKNOWN", "MEDIUM", {
|
|
302
|
-
originalError: error
|
|
303
|
-
});
|
|
304
|
-
}
|
|
305
|
-
return new FrameworkError(errorUtils.getSafeErrorMessage(error), "UNKNOWN", "MEDIUM");
|
|
306
|
-
},
|
|
307
|
-
/**
|
|
308
|
-
* 提取错误信息
|
|
309
|
-
*/ extractErrorInfo (error) {
|
|
310
|
-
const normalized = errorUtils.normalizeError(error);
|
|
311
|
-
return {
|
|
312
|
-
message: normalized.message,
|
|
313
|
-
type: normalized.type,
|
|
314
|
-
severity: normalized.severity,
|
|
315
|
-
code: normalized.code,
|
|
316
|
-
stack: normalized.stack
|
|
317
|
-
};
|
|
318
|
-
},
|
|
319
|
-
/**
|
|
320
|
-
* 获取错误修复建议
|
|
321
|
-
*
|
|
322
|
-
* 优化:根据错误类型和代码提供修复建议
|
|
323
|
-
*/ getErrorSuggestions (error) {
|
|
324
|
-
const normalized = errorUtils.normalizeError(error);
|
|
325
|
-
const suggestions = [];
|
|
326
|
-
// 根据错误代码提供建议
|
|
327
|
-
switch(normalized.code){
|
|
328
|
-
case 'CONTAINER_NOT_FOUND':
|
|
329
|
-
suggestions.push('请确保页面中存在 id="root" 的元素,或通过 container 选项指定挂载容器');
|
|
330
|
-
suggestions.push('检查 DOM 是否已加载完成,确保在 DOMContentLoaded 事件后调用 start()');
|
|
331
|
-
break;
|
|
332
|
-
case 'NETWORK_ERROR':
|
|
333
|
-
suggestions.push('检查网络连接是否正常');
|
|
334
|
-
suggestions.push('检查服务器是否正常运行');
|
|
335
|
-
suggestions.push('检查 CORS 配置是否正确');
|
|
336
|
-
break;
|
|
337
|
-
case 'TIMEOUT_ERROR':
|
|
338
|
-
suggestions.push('增加超时时间配置');
|
|
339
|
-
suggestions.push('检查网络连接是否稳定');
|
|
340
|
-
suggestions.push('检查服务器响应速度');
|
|
341
|
-
break;
|
|
342
|
-
case 'VALIDATION_ERROR':
|
|
343
|
-
suggestions.push('检查配置项是否符合要求');
|
|
344
|
-
suggestions.push('查看配置验证错误详情');
|
|
345
|
-
suggestions.push('参考配置文档确认配置格式');
|
|
346
|
-
break;
|
|
347
|
-
case 'INITIALIZATION_ERROR':
|
|
348
|
-
suggestions.push('检查初始化配置是否正确');
|
|
349
|
-
suggestions.push('查看初始化日志了解详细错误');
|
|
350
|
-
suggestions.push('尝试简化配置,逐步排查问题');
|
|
351
|
-
break;
|
|
352
|
-
default:
|
|
353
|
-
if (normalized.type === "SECURITY") {
|
|
354
|
-
suggestions.push('检查输入内容是否包含不安全字符');
|
|
355
|
-
suggestions.push('确保配置项来源可信');
|
|
356
|
-
suggestions.push('查看安全配置文档');
|
|
357
|
-
}
|
|
358
|
-
}
|
|
359
|
-
// 如果是可恢复的错误,提供恢复建议
|
|
360
|
-
if (normalized.recoverable) {
|
|
361
|
-
suggestions.push('此错误可以自动恢复,请稍后重试');
|
|
362
|
-
}
|
|
363
|
-
return suggestions;
|
|
364
|
-
},
|
|
365
|
-
/**
|
|
366
|
-
* 格式化错误信息(用于开发环境)
|
|
367
|
-
*
|
|
368
|
-
* 优化:提供更详细的错误信息,包括修复建议
|
|
369
|
-
*/ formatErrorForDev (error) {
|
|
370
|
-
const normalized = errorUtils.normalizeError(error);
|
|
371
|
-
const suggestions = errorUtils.getErrorSuggestions(error);
|
|
372
|
-
let message = `[${normalized.code}] ${normalized.message}`;
|
|
373
|
-
if (normalized.stack) {
|
|
374
|
-
message += `\n\n堆栈信息:\n${normalized.stack}`;
|
|
375
|
-
}
|
|
376
|
-
if (suggestions.length > 0) {
|
|
377
|
-
message += `\n\n修复建议:\n${suggestions.map((s, i)=>`${i + 1}. ${s}`).join('\n')}`;
|
|
378
|
-
}
|
|
379
|
-
if (normalized.context) {
|
|
380
|
-
message += `\n\n上下文信息:\n${JSON.stringify(normalized.context, null, 2)}`;
|
|
381
|
-
}
|
|
382
|
-
return message;
|
|
383
|
-
}
|
|
384
|
-
};
|
|
55
|
+
const _utils = require("@vlian/utils");
|
|
385
56
|
|
|
386
57
|
//# sourceMappingURL=errors.js.map
|
|
@@ -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":["ConfigError","ErrorCode","ErrorMessages","ErrorSeverity","ErrorType","FrameworkError","InitializationError","NetworkError","SecurityError","StorageError","ValidationError","errorUtils","getErrorMessage","getUserFriendlyMessage","Error","toJSON","name","message","type","severity","code","recoverable","context","stack","originalError","undefined","options","captureStackTrace","errorCode","INITIALIZATION_FAILED","CONFIG_LOAD_FAILED","NETWORK_ERROR","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":["export {\n ErrorCode,\n ErrorMessages,\n getErrorMessage,\n getUserFriendlyMessage,\n ErrorType,\n ErrorSeverity,\n FrameworkError,\n InitializationError,\n ConfigError,\n StorageError,\n NetworkError,\n ValidationError,\n SecurityError,\n errorUtils,\n} from '@vlian/utils';\n"],"names":["ConfigError","ErrorCode","ErrorMessages","ErrorSeverity","ErrorType","FrameworkError","InitializationError","NetworkError","SecurityError","StorageError","ValidationError","errorUtils","getErrorMessage","getUserFriendlyMessage"],"mappings":";;;;;;;;;;;QASEA;eAAAA,kBAAW;;QARXC;eAAAA,gBAAS;;QACTC;eAAAA,oBAAa;;QAIbC;eAAAA,oBAAa;;QADbC;eAAAA,gBAAS;;QAETC;eAAAA,qBAAc;;QACdC;eAAAA,0BAAmB;;QAGnBC;eAAAA,mBAAY;;QAEZC;eAAAA,oBAAa;;QAHbC;eAAAA,mBAAY;;QAEZC;eAAAA,sBAAe;;QAEfC;eAAAA,iBAAU;;QAXVC;eAAAA,sBAAe;;QACfC;eAAAA,6BAAsB;;;uBAWjB"}
|
package/dist/utils/errors.d.ts
CHANGED
|
@@ -1,183 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export { ErrorCode, ErrorMessages, getErrorMessage, getUserFriendlyMessage } from './errors/ErrorCodes';
|
|
3
|
-
/**
|
|
4
|
-
* 错误类型枚举
|
|
5
|
-
*/
|
|
6
|
-
export declare enum ErrorType {
|
|
7
|
-
/**
|
|
8
|
-
* 初始化错误
|
|
9
|
-
*/
|
|
10
|
-
INITIALIZATION = "INITIALIZATION",
|
|
11
|
-
/**
|
|
12
|
-
* 配置错误
|
|
13
|
-
*/
|
|
14
|
-
CONFIG = "CONFIG",
|
|
15
|
-
/**
|
|
16
|
-
* 存储错误
|
|
17
|
-
*/
|
|
18
|
-
STORAGE = "STORAGE",
|
|
19
|
-
/**
|
|
20
|
-
* 网络错误
|
|
21
|
-
*/
|
|
22
|
-
NETWORK = "NETWORK",
|
|
23
|
-
/**
|
|
24
|
-
* 验证错误
|
|
25
|
-
*/
|
|
26
|
-
VALIDATION = "VALIDATION",
|
|
27
|
-
/**
|
|
28
|
-
* 安全错误
|
|
29
|
-
*/
|
|
30
|
-
SECURITY = "SECURITY",
|
|
31
|
-
/**
|
|
32
|
-
* 运行时错误
|
|
33
|
-
*/
|
|
34
|
-
RUNTIME = "RUNTIME",
|
|
35
|
-
/**
|
|
36
|
-
* 未知错误
|
|
37
|
-
*/
|
|
38
|
-
UNKNOWN = "UNKNOWN"
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* 错误严重程度
|
|
42
|
-
*/
|
|
43
|
-
export declare enum ErrorSeverity {
|
|
44
|
-
/**
|
|
45
|
-
* 低 - 不影响核心功能
|
|
46
|
-
*/
|
|
47
|
-
LOW = "LOW",
|
|
48
|
-
/**
|
|
49
|
-
* 中 - 影响部分功能
|
|
50
|
-
*/
|
|
51
|
-
MEDIUM = "MEDIUM",
|
|
52
|
-
/**
|
|
53
|
-
* 高 - 影响核心功能
|
|
54
|
-
*/
|
|
55
|
-
HIGH = "HIGH",
|
|
56
|
-
/**
|
|
57
|
-
* 严重 - 导致应用无法使用
|
|
58
|
-
*/
|
|
59
|
-
CRITICAL = "CRITICAL"
|
|
60
|
-
}
|
|
61
|
-
/**
|
|
62
|
-
* 框架错误基类
|
|
63
|
-
*/
|
|
64
|
-
export declare class FrameworkError extends Error {
|
|
65
|
-
/**
|
|
66
|
-
* 错误类型
|
|
67
|
-
*/
|
|
68
|
-
readonly type: ErrorType;
|
|
69
|
-
/**
|
|
70
|
-
* 错误严重程度
|
|
71
|
-
*/
|
|
72
|
-
readonly severity: ErrorSeverity;
|
|
73
|
-
/**
|
|
74
|
-
* 错误代码
|
|
75
|
-
*/
|
|
76
|
-
readonly code: string;
|
|
77
|
-
/**
|
|
78
|
-
* 原始错误
|
|
79
|
-
*/
|
|
80
|
-
readonly originalError?: Error;
|
|
81
|
-
/**
|
|
82
|
-
* 错误上下文
|
|
83
|
-
*/
|
|
84
|
-
readonly context?: Record<string, unknown>;
|
|
85
|
-
/**
|
|
86
|
-
* 是否可恢复
|
|
87
|
-
*/
|
|
88
|
-
readonly recoverable: boolean;
|
|
89
|
-
constructor(message: string, type?: ErrorType, severity?: ErrorSeverity, options?: {
|
|
90
|
-
code?: string;
|
|
91
|
-
originalError?: Error;
|
|
92
|
-
context?: Record<string, unknown>;
|
|
93
|
-
recoverable?: boolean;
|
|
94
|
-
});
|
|
95
|
-
/**
|
|
96
|
-
* 转换为 JSON
|
|
97
|
-
*/
|
|
98
|
-
toJSON(): Record<string, unknown>;
|
|
99
|
-
}
|
|
100
|
-
/**
|
|
101
|
-
* 初始化错误
|
|
102
|
-
*/
|
|
103
|
-
export declare class InitializationError extends FrameworkError {
|
|
104
|
-
constructor(message: string, originalError?: Error, context?: Record<string, unknown>, errorCode?: ErrorCode);
|
|
105
|
-
}
|
|
106
|
-
/**
|
|
107
|
-
* 配置错误
|
|
108
|
-
*/
|
|
109
|
-
export declare class ConfigError extends FrameworkError {
|
|
110
|
-
constructor(message: string, originalError?: Error, context?: Record<string, unknown>, errorCode?: ErrorCode);
|
|
111
|
-
}
|
|
112
|
-
/**
|
|
113
|
-
* 存储错误
|
|
114
|
-
*/
|
|
115
|
-
export declare class StorageError extends FrameworkError {
|
|
116
|
-
constructor(message: string, originalError?: Error, context?: Record<string, unknown>);
|
|
117
|
-
}
|
|
118
|
-
/**
|
|
119
|
-
* 网络错误
|
|
120
|
-
*/
|
|
121
|
-
export declare class NetworkError extends FrameworkError {
|
|
122
|
-
constructor(message: string, originalError?: Error, context?: Record<string, unknown>, errorCode?: ErrorCode);
|
|
123
|
-
}
|
|
124
|
-
/**
|
|
125
|
-
* 验证错误
|
|
126
|
-
*/
|
|
127
|
-
export declare class ValidationError extends FrameworkError {
|
|
128
|
-
constructor(message: string, context?: Record<string, unknown>);
|
|
129
|
-
}
|
|
130
|
-
/**
|
|
131
|
-
* 安全错误
|
|
132
|
-
*/
|
|
133
|
-
export declare class SecurityError extends FrameworkError {
|
|
134
|
-
constructor(message: string, originalError?: Error, context?: Record<string, unknown>);
|
|
135
|
-
}
|
|
136
|
-
/**
|
|
137
|
-
* 错误处理工具函数
|
|
138
|
-
*/
|
|
139
|
-
export declare const errorUtils: {
|
|
140
|
-
/**
|
|
141
|
-
* 安全地将未知错误转换为可展示的消息
|
|
142
|
-
* 避免 String(error) 对 null-prototype 对象再次抛错
|
|
143
|
-
*/
|
|
144
|
-
getSafeErrorMessage(error: unknown): string;
|
|
145
|
-
/**
|
|
146
|
-
* 判断错误是否可恢复
|
|
147
|
-
*/
|
|
148
|
-
isRecoverable(error: unknown): boolean;
|
|
149
|
-
/**
|
|
150
|
-
* 获取错误类型
|
|
151
|
-
*/
|
|
152
|
-
getErrorType(error: unknown): ErrorType;
|
|
153
|
-
/**
|
|
154
|
-
* 获取错误严重程度
|
|
155
|
-
*/
|
|
156
|
-
getErrorSeverity(error: unknown): ErrorSeverity;
|
|
157
|
-
/**
|
|
158
|
-
* 标准化错误对象
|
|
159
|
-
*/
|
|
160
|
-
normalizeError(error: unknown): FrameworkError;
|
|
161
|
-
/**
|
|
162
|
-
* 提取错误信息
|
|
163
|
-
*/
|
|
164
|
-
extractErrorInfo(error: unknown): {
|
|
165
|
-
message: string;
|
|
166
|
-
type: ErrorType;
|
|
167
|
-
severity: ErrorSeverity;
|
|
168
|
-
code: string;
|
|
169
|
-
stack?: string;
|
|
170
|
-
};
|
|
171
|
-
/**
|
|
172
|
-
* 获取错误修复建议
|
|
173
|
-
*
|
|
174
|
-
* 优化:根据错误类型和代码提供修复建议
|
|
175
|
-
*/
|
|
176
|
-
getErrorSuggestions(error: unknown): string[];
|
|
177
|
-
/**
|
|
178
|
-
* 格式化错误信息(用于开发环境)
|
|
179
|
-
*
|
|
180
|
-
* 优化:提供更详细的错误信息,包括修复建议
|
|
181
|
-
*/
|
|
182
|
-
formatErrorForDev(error: unknown): string;
|
|
183
|
-
};
|
|
1
|
+
export { ErrorCode, ErrorMessages, getErrorMessage, getUserFriendlyMessage, ErrorType, ErrorSeverity, FrameworkError, InitializationError, ConfigError, StorageError, NetworkError, ValidationError, SecurityError, errorUtils, } from '@vlian/utils';
|