@hz-9/a5-core 0.2.0-alpha.21 → 0.2.0-alpha.23

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/all.d.ts CHANGED
@@ -391,6 +391,27 @@ declare interface A5FormatMessageOptions {
391
391
  */
392
392
  export declare type A5GlobalProvideToken = `Global.A5.${string}`;
393
393
 
394
+ /**
395
+ * A5 加载包错误
396
+ * 当动态加载可选依赖包失败时抛出此错误
397
+ * @public
398
+ */
399
+ export declare class A5LoadPackageError extends Error {
400
+ /**
401
+ * 错误名称
402
+ */
403
+ readonly name: string;
404
+ /**
405
+ * 尝试加载的包名
406
+ */
407
+ readonly packageName: string;
408
+ /**
409
+ * 原始错误(如果有)
410
+ */
411
+ readonly cause?: Error;
412
+ constructor(packageName: string, message?: string, cause?: Error);
413
+ }
414
+
394
415
  /**
395
416
  * @public
396
417
  *
@@ -0,0 +1,20 @@
1
+ /**
2
+ * A5 加载包错误
3
+ * 当动态加载可选依赖包失败时抛出此错误
4
+ * @public
5
+ */
6
+ export declare class A5LoadPackageError extends Error {
7
+ /**
8
+ * 错误名称
9
+ */
10
+ readonly name: string;
11
+ /**
12
+ * 尝试加载的包名
13
+ */
14
+ readonly packageName: string;
15
+ /**
16
+ * 原始错误(如果有)
17
+ */
18
+ readonly cause?: Error;
19
+ constructor(packageName: string, message?: string, cause?: Error);
20
+ }
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.A5LoadPackageError = void 0;
4
+ /**
5
+ * A5 加载包错误
6
+ * 当动态加载可选依赖包失败时抛出此错误
7
+ * @public
8
+ */
9
+ class A5LoadPackageError extends Error {
10
+ constructor(packageName, message, cause) {
11
+ super(message || `Failed to load package: ${packageName}`);
12
+ /**
13
+ * 错误名称
14
+ */
15
+ this.name = 'A5LoadPackageError';
16
+ this.packageName = packageName;
17
+ this.cause = cause;
18
+ // 设置原型链,确保 instanceof 正常工作
19
+ Object.setPrototypeOf(this, A5LoadPackageError.prototype);
20
+ }
21
+ }
22
+ exports.A5LoadPackageError = A5LoadPackageError;
23
+ //# sourceMappingURL=a5-load-package.error.js.map
@@ -0,0 +1 @@
1
+ export * from './a5-load-package.error';
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./a5-load-package.error"), exports);
18
+ //# sourceMappingURL=index.js.map
package/dist/index.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  export * from './const';
2
2
  export * from './core';
3
+ export * from './errors';
3
4
  export * from './interface';
4
5
  export * from './module';
5
6
  export * from './middleware';
package/dist/index.js CHANGED
@@ -16,6 +16,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./const"), exports);
18
18
  __exportStar(require("./core"), exports);
19
+ __exportStar(require("./errors"), exports);
19
20
  __exportStar(require("./interface"), exports);
20
21
  __exportStar(require("./module"), exports);
21
22
  __exportStar(require("./middleware"), exports);
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.LoadPackageUtil = void 0;
4
+ const errors_1 = require("../errors");
4
5
  const a5_util_1 = require("./a5.util");
5
6
  // TODO 当前文件,并未编写单元测试
6
7
  /**
@@ -25,8 +26,10 @@ class LoadPackageUtil {
25
26
  return module;
26
27
  }
27
28
  catch (error) {
28
- // TODO 优化报错显示
29
- throw new Error(`Failed to load package "${packageName}": ${error instanceof Error ? error.message : String(error)}`);
29
+ // 抛出 A5LoadPackageError 错误
30
+ const cause = error instanceof Error ? error : undefined;
31
+ const message = error instanceof Error ? error.message : String(error);
32
+ throw new errors_1.A5LoadPackageError(packageName, `Failed to load package "${packageName}": ${message}`, cause);
30
33
  }
31
34
  }
32
35
  /**
@@ -64,7 +67,8 @@ class LoadPackageUtil {
64
67
  }
65
68
  }
66
69
  }
67
- throw lastError || new Error(`Failed to load package "${packageName}" after ${retries + 1} attempts`);
70
+ throw (lastError ||
71
+ new errors_1.A5LoadPackageError(packageName, `Failed to load package "${packageName}" after ${retries + 1} attempts`));
68
72
  }
69
73
  }
70
74
  exports.LoadPackageUtil = LoadPackageUtil;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hz-9/a5-core",
3
- "version": "0.2.0-alpha.21",
3
+ "version": "0.2.0-alpha.23",
4
4
  "description": "The core library for the `@hz-9/a5-*` series of repositories.",
5
5
  "keywords": [
6
6
  "nest",