@leyyo/common 1.2.1 → 1.2.3

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.
@@ -2,15 +2,31 @@ import type { ErrorCastType, ErrorCommonLike, ErrorCommonSecure, LeyyoErrorLike
2
2
  import type { LeyyoLike } from "../leyyo";
3
3
  import type { ClassLike } from "../shared";
4
4
  import type { Opt } from "../opt";
5
+ /**
6
+ * Error common class
7
+ * */
5
8
  export declare class ErrorCommon implements ErrorCommonLike, ErrorCommonSecure {
6
9
  private lyy;
7
10
  private _knownPackages;
8
11
  constructor(lyy: LeyyoLike);
9
- register(cls: ClassLike, fqn?: string): void;
10
- protected _copyProperties(err: LeyyoErrorLike, e: Error): void;
12
+ /**
13
+ * Copy source properties into target parameters
14
+ *
15
+ * @param {LeyyoErrorLike} target - target error
16
+ * @param {Error} source - source error
17
+ * */
18
+ protected _copyProperties(target: LeyyoErrorLike, source: Error): void;
19
+ /** @inheritDoc */
20
+ register(clazz: ClassLike, fqn?: string): void;
21
+ /** @inheritDoc */
11
22
  castForClass<E extends LeyyoErrorLike>(clazz: ClassLike<E>, e: Error, opt?: Opt): E;
12
- cast(e: Error, o?: Opt, type?: ErrorCastType): LeyyoErrorLike;
23
+ /** @inheritDoc */
24
+ cast(e: Error, params: Opt, type?: ErrorCastType): LeyyoErrorLike;
25
+ /** @inheritDoc */
13
26
  addKnownPackage(packageName: string, shortName: string): void;
27
+ /** @inheritDoc */
28
+ logText(e: Error, ...parts: Array<string | number>): string;
29
+ /** @inheritDoc */
14
30
  stack(source: LeyyoErrorLike, force?: boolean): void;
15
31
  get $back(): ErrorCommonLike;
16
32
  $init(): void;
@@ -40,20 +40,34 @@ const items_3 = require("./items");
40
40
  const stackTraceParser = __importStar(require("stacktrace-parser"));
41
41
  const internal_1 = require("../internal");
42
42
  // noinspection JSUnusedLocalSymbols
43
+ /**
44
+ * Error common class
45
+ * */
43
46
  class ErrorCommon {
44
47
  constructor(lyy) {
45
48
  this.lyy = lyy;
46
49
  }
47
- register(cls, fqn) {
48
- this.lyy.event.emit('ly:error:register', cls, fqn);
49
- }
50
- _copyProperties(err, e) {
51
- for (const [k, v] of Object.entries(e)) {
50
+ /**
51
+ * Copy source properties into target parameters
52
+ *
53
+ * @param {LeyyoErrorLike} target - target error
54
+ * @param {Error} source - source error
55
+ * */
56
+ _copyProperties(target, source) {
57
+ if (!(source instanceof Error)) {
58
+ return;
59
+ }
60
+ for (const [k, v] of Object.entries(source)) {
52
61
  if (!['name', 'message', 'stack'].includes(k) && (typeof k === 'string') && !['symbol', 'function', 'undefined'].includes(typeof v)) {
53
- this.lyy.opt.add(err.params, k, v);
62
+ target.params = this.lyy.opt.add(target.params, k, v);
54
63
  }
55
64
  }
56
65
  }
66
+ /** @inheritDoc */
67
+ register(clazz, fqn) {
68
+ this.lyy.event.emit('ly:error:register', clazz, fqn);
69
+ }
70
+ /** @inheritDoc */
57
71
  castForClass(clazz, e, opt) {
58
72
  const err = new clazz(e.message, opt);
59
73
  this._copyProperties(err, e);
@@ -61,18 +75,19 @@ class ErrorCommon {
61
75
  err.causedBy = e;
62
76
  return err;
63
77
  }
64
- cast(e, o = {}, type = 'leyyo') {
78
+ /** @inheritDoc */
79
+ cast(e, params, type = 'leyyo') {
65
80
  let err;
66
81
  if (!(e instanceof items_1.LeyyoError)) {
67
82
  switch (type) {
68
83
  case "caused":
69
- err = new items_3.CausedError(e.message, o, e);
84
+ err = new items_3.CausedError(e.message, params, e);
70
85
  break;
71
86
  case "silent":
72
- err = new items_2.SilentError(e, o);
87
+ err = new items_2.SilentError(e, params);
73
88
  break;
74
89
  default:
75
- err = new items_1.LeyyoError(e.message, o);
90
+ err = new items_1.LeyyoError(e.message, params);
76
91
  err.causedBy = e;
77
92
  break;
78
93
  }
@@ -80,10 +95,11 @@ class ErrorCommon {
80
95
  }
81
96
  else {
82
97
  err = e;
83
- err.params = this.lyy.opt.append(err.params, o);
98
+ err.params = this.lyy.opt.append(err.params, params);
84
99
  }
85
100
  return err;
86
101
  }
102
+ /** @inheritDoc */
87
103
  addKnownPackage(packageName, shortName) {
88
104
  if (typeof packageName !== 'string' || packageName.trim() !== packageName || packageName.trim() === '') {
89
105
  throw new items_1.LeyyoError('Invalid package name', { where: `${internal_1.FQN}.ErrorCommon`, method: 'addKnownPackage', value: packageName, field: 'packageName' });
@@ -93,6 +109,28 @@ class ErrorCommon {
93
109
  }
94
110
  this._knownPackages.set(packageName, shortName);
95
111
  }
112
+ /** @inheritDoc */
113
+ logText(e, ...parts) {
114
+ var _a, _b;
115
+ parts = parts.map(p => {
116
+ if (typeof p === 'string') {
117
+ p = p.trim();
118
+ return (p !== '') ? p : undefined;
119
+ }
120
+ else if (typeof p === 'number') {
121
+ return p.toString(10);
122
+ }
123
+ else {
124
+ return undefined;
125
+ }
126
+ }).filter(p => p !== undefined);
127
+ const info = parts.length > 0 ? '<' + parts.join('/') + '> ' : '';
128
+ if (!(e instanceof Error)) {
129
+ return info;
130
+ }
131
+ return `${info}[${(_a = e.name) !== null && _a !== void 0 ? _a : 'UnknownError'}] => ${(_b = e.message) !== null && _b !== void 0 ? _b : 'Unknown message'}`;
132
+ }
133
+ /** @inheritDoc */
96
134
  stack(source, force) {
97
135
  var _a;
98
136
  if (!force && Array.isArray(source.stackTrace)) {
@@ -1 +1 @@
1
- {"version":3,"file":"error.common.js","sourceRoot":"","sources":["../../src/error/error.common.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,mCAAmC;AACnC,mCAAoC;AACpC,mCAAoC;AACpC,oEAAsD;AACtD,0CAAgC;AAEhC,oCAAoC;AACpC,MAAa,WAAW;IAGpB,YAAoB,GAAc;QAAd,QAAG,GAAH,GAAG,CAAW;IAClC,CAAC;IAED,QAAQ,CAAC,GAAc,EAAE,GAAY;QACjC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IACvD,CAAC;IAES,eAAe,CAAC,GAAmB,EAAE,CAAQ;QACnD,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACrC,IAAK,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;gBACnI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACvC,CAAC;QACL,CAAC;IACL,CAAC;IACD,YAAY,CAA2B,KAAmB,EAAE,CAAQ,EAAE,GAAS;QAC3E,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACtC,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAC7B,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAClD,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAC;QACjB,OAAO,GAAG,CAAC;IACf,CAAC;IACD,IAAI,CAAC,CAAQ,EAAE,IAAS,EAAE,EAAE,OAAsB,OAAO;QACrD,IAAI,GAAmB,CAAC;QACxB,IAAK,CAAC,CAAC,CAAC,YAAY,kBAAU,CAAC,EAAE,CAAC;YAC9B,QAAQ,IAAI,EAAE,CAAC;gBACX,KAAK,QAAQ;oBACT,GAAG,GAAG,IAAI,mBAAW,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;oBACvC,MAAM;gBACV,KAAK,QAAQ;oBACT,GAAG,GAAG,IAAI,mBAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBAC5B,MAAM;gBACV;oBACI,GAAG,GAAG,IAAI,kBAAU,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;oBACnC,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAC;oBACjB,MAAM;YACd,CAAC;YACD,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACjC,CAAC;aACI,CAAC;YACF,GAAG,GAAG,CAAC,CAAC;YACR,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACpD,CAAC;QACD,OAAO,GAAG,CAAC;IACf,CAAC;IAED,eAAe,CAAC,WAAmB,EAAE,SAAiB;QAClD,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,WAAW,CAAC,IAAI,EAAE,KAAK,WAAW,IAAI,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACrG,MAAM,IAAI,kBAAU,CAAC,sBAAsB,EAAE,EAAC,KAAK,EAAE,GAAG,cAAG,cAAc,EAAE,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,aAAa,EAAC,CAAC,CAAC;QACrJ,CAAC;QACD,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,IAAI,EAAE,KAAK,SAAS,IAAI,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YAC7F,MAAM,IAAI,kBAAU,CAAC,oBAAoB,EAAE,EAAC,KAAK,EAAE,GAAG,cAAG,cAAc,EAAE,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAC,CAAC,CAAC;QAC/I,CAAC;QACD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IACpD,CAAC;IACD,KAAK,CAAC,MAAsB,EAAE,KAAe;;QACzC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;YAC7C,OAAO;QACX,CAAC;QACD,MAAM,CAAC,UAAU,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC;YACD,IAAI,QAAe,CAAC;YACpB,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;gBAClB,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC/D,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAClC,CAAC;qBACI,IAAI,MAAM,CAAC,QAAQ,YAAY,KAAK,EAAE,CAAC;oBACxC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;gBAC/B,CAAC;YACL,CAAC;YACD,MAAM,QAAQ,GAAG,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,KAAK,mCAAI,MAAM,CAAC,KAAK,CAAC;YACjD,IAAI,QAAQ,EAAE,CAAC;gBACX,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBAChD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;oBACxB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;;wBACnB,IAAI,CAAC,WAAW,EAAE,oBAAoB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;4BACjE,KAAK,CAAC,UAAU,GAAG,SAAS,CAAC;wBACjC,CAAC;wBACD,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;4BACb,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gCACjC,KAAK,CAAC,IAAI,GAAG,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;4BAC/C,CAAC;iCACI,CAAC;gCACF,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE,CAAC;oCACvD,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;oCACtC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;wCACb,KAAK,CAAC,IAAI,GAAG,IAAI,KAAK,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;oCAC3D,CAAC;gCACL,CAAC;4BACL,CAAC;4BACD,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gCAC3D,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;4BACnD,CAAC;wBACL,CAAC;wBACD,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC;4BACnB,IAAI,EAAE,KAAK,CAAC,IAAI;4BAChB,MAAM,EAAE,KAAK,CAAC,UAAU;4BACxB,GAAG,EAAE,GAAG,MAAA,KAAK,CAAC,UAAU,mCAAI,EAAE,IAAI,MAAA,KAAK,CAAC,MAAM,mCAAI,EAAE,EAAE;yBACzD,CAAC,CAAC;oBACP,CAAC,CAAC,CAAC;gBACP,CAAC;YACL,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,OAAO;QACX,CAAC;IACL,CAAC;IAED,gBAAgB;IAChB,qCAAqC;IACrC,IAAI,KAAK;QACL,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAiB,GAAG,cAAG,4BAA4B,CAAC,CAAC;QAC/F,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QAEvC,IAAI,CAAC,GAAG,CAAC,OAAO;aACX,SAAS,CAAC,GAAG,EAAE;YACZ,kBAAU,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;IACX,CAAC;IAED,IAAI,OAAO;QACP,OAAO,IAAI,CAAC;IAChB,CAAC;CAEJ;AAjID,kCAiIC"}
1
+ {"version":3,"file":"error.common.js","sourceRoot":"","sources":["../../src/error/error.common.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,mCAAmC;AACnC,mCAAoC;AACpC,mCAAoC;AACpC,oEAAsD;AACtD,0CAAgC;AAEhC,oCAAoC;AACpC;;KAEK;AACL,MAAa,WAAW;IAGpB,YAAoB,GAAc;QAAd,QAAG,GAAH,GAAG,CAAW;IAClC,CAAC;IAED;;;;;SAKK;IACK,eAAe,CAAC,MAAsB,EAAE,MAAa;QAC3D,IAAI,CAAC,CAAC,MAAM,YAAY,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO;QACX,CAAC;QACD,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1C,IAAK,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;gBACnI,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAC1D,CAAC;QACL,CAAC;IACL,CAAC;IAED,kBAAkB;IAClB,QAAQ,CAAC,KAAgB,EAAE,GAAY;QACnC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;IACzD,CAAC;IAED,kBAAkB;IAClB,YAAY,CAA2B,KAAmB,EAAE,CAAQ,EAAE,GAAS;QAC3E,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACtC,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAC7B,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAClD,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAC;QACjB,OAAO,GAAG,CAAC;IACf,CAAC;IAED,kBAAkB;IAClB,IAAI,CAAC,CAAQ,EAAE,MAAW,EAAE,OAAsB,OAAO;QACrD,IAAI,GAAmB,CAAC;QACxB,IAAK,CAAC,CAAC,CAAC,YAAY,kBAAU,CAAC,EAAE,CAAC;YAC9B,QAAQ,IAAI,EAAE,CAAC;gBACX,KAAK,QAAQ;oBACT,GAAG,GAAG,IAAI,mBAAW,CAAC,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;oBAC5C,MAAM;gBACV,KAAK,QAAQ;oBACT,GAAG,GAAG,IAAI,mBAAW,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;oBACjC,MAAM;gBACV;oBACI,GAAG,GAAG,IAAI,kBAAU,CAAC,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;oBACxC,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAC;oBACjB,MAAM;YACd,CAAC;YACD,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACjC,CAAC;aACI,CAAC;YACF,GAAG,GAAG,CAAC,CAAC;YACR,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACzD,CAAC;QACD,OAAO,GAAG,CAAC;IACf,CAAC;IAED,kBAAkB;IAClB,eAAe,CAAC,WAAmB,EAAE,SAAiB;QAClD,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,WAAW,CAAC,IAAI,EAAE,KAAK,WAAW,IAAI,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACrG,MAAM,IAAI,kBAAU,CAAC,sBAAsB,EAAE,EAAC,KAAK,EAAE,GAAG,cAAG,cAAc,EAAE,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,aAAa,EAAC,CAAC,CAAC;QACrJ,CAAC;QACD,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,IAAI,EAAE,KAAK,SAAS,IAAI,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YAC7F,MAAM,IAAI,kBAAU,CAAC,oBAAoB,EAAE,EAAC,KAAK,EAAE,GAAG,cAAG,cAAc,EAAE,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAC,CAAC,CAAC;QAC/I,CAAC;QACD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IACpD,CAAC;IAED,kBAAkB;IAClB,OAAO,CAAC,CAAQ,EAAE,GAAG,KAA2B;;QAC5C,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YAClB,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;gBACxB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;gBACb,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACtC,CAAC;iBACI,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;gBAC7B,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC1B,CAAC;iBACI,CAAC;gBACF,OAAO,SAAS,CAAC;YACrB,CAAC;QACL,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;QAChC,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAClE,IAAI,CAAC,CAAC,CAAC,YAAY,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,OAAO,GAAG,IAAI,IAAI,MAAA,CAAC,CAAC,IAAI,mCAAI,cAAc,QAAQ,MAAA,CAAC,CAAC,OAAO,mCAAI,iBAAiB,EAAE,CAAC;IACvF,CAAC;IAED,kBAAkB;IAClB,KAAK,CAAC,MAAsB,EAAE,KAAe;;QACzC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;YAC7C,OAAO;QACX,CAAC;QACD,MAAM,CAAC,UAAU,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC;YACD,IAAI,QAAe,CAAC;YACpB,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;gBAClB,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC/D,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAClC,CAAC;qBACI,IAAI,MAAM,CAAC,QAAQ,YAAY,KAAK,EAAE,CAAC;oBACxC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;gBAC/B,CAAC;YACL,CAAC;YACD,MAAM,QAAQ,GAAG,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,KAAK,mCAAI,MAAM,CAAC,KAAK,CAAC;YACjD,IAAI,QAAQ,EAAE,CAAC;gBACX,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBAChD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;oBACxB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;;wBACnB,IAAI,CAAC,WAAW,EAAE,oBAAoB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;4BACjE,KAAK,CAAC,UAAU,GAAG,SAAS,CAAC;wBACjC,CAAC;wBACD,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;4BACb,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gCACjC,KAAK,CAAC,IAAI,GAAG,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;4BAC/C,CAAC;iCACI,CAAC;gCACF,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE,CAAC;oCACvD,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;oCACtC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;wCACb,KAAK,CAAC,IAAI,GAAG,IAAI,KAAK,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;oCAC3D,CAAC;gCACL,CAAC;4BACL,CAAC;4BACD,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gCAC3D,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;4BACnD,CAAC;wBACL,CAAC;wBACD,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC;4BACnB,IAAI,EAAE,KAAK,CAAC,IAAI;4BAChB,MAAM,EAAE,KAAK,CAAC,UAAU;4BACxB,GAAG,EAAE,GAAG,MAAA,KAAK,CAAC,UAAU,mCAAI,EAAE,IAAI,MAAA,KAAK,CAAC,MAAM,mCAAI,EAAE,EAAE;yBACzD,CAAC,CAAC;oBACP,CAAC,CAAC,CAAC;gBACP,CAAC;YACL,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,OAAO;QACX,CAAC;IACL,CAAC;IAED,gBAAgB;IAChB,qCAAqC;IACrC,IAAI,KAAK;QACL,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAiB,GAAG,cAAG,4BAA4B,CAAC,CAAC;QAC/F,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QAEvC,IAAI,CAAC,GAAG,CAAC,OAAO;aACX,SAAS,CAAC,GAAG,EAAE;YACZ,kBAAU,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;IACX,CAAC;IAED,IAAI,OAAO;QACP,OAAO,IAAI,CAAC;IAChB,CAAC;CAEJ;AAvKD,kCAuKC"}
@@ -2,25 +2,88 @@ import type { ClassLike, InitLike, OneOrMore, ShiftMain, ShiftSecure } from "../
2
2
  import type { Logger } from "../log";
3
3
  import type { Opt } from "../opt";
4
4
  export type ErrorCastType = 'leyyo' | 'silent' | 'caused';
5
+ /**
6
+ * Error common interface
7
+ * */
5
8
  export interface ErrorCommonLike extends ShiftSecure<ErrorCommonSecure> {
6
- register(cls: ClassLike, fqn?: string): void;
7
- castForClass<E extends LeyyoErrorLike>(clazz: ClassLike<E>, e: Error, opt?: Opt): E;
8
- cast(e: Error, opt?: Opt, type?: ErrorCastType): LeyyoErrorLike;
9
+ /**
10
+ * Register an error class
11
+ *
12
+ * @param {function} clazz - error class
13
+ * @param {string?} fqn - fully qualified name
14
+ * */
15
+ register(clazz: ClassLike, fqn?: string): void;
16
+ /**
17
+ * Cast a native error to given error class
18
+ *
19
+ * @param {function} clazz - new error class
20
+ * @param {Error} e - native error instance
21
+ * @param {Opt?} params - params for error
22
+ * @return {LeyyoErrorLike} - new error instance
23
+ * */
24
+ castForClass<E extends LeyyoErrorLike>(clazz: ClassLike<E>, e: Error, params?: Opt): E;
25
+ /**
26
+ * Cast a native error to one of default error classes
27
+ *
28
+ * @param {Error} e - native error instance
29
+ * @param {Opt?} params - params for error
30
+ * @param {ErrorCastType?} type - which class, ie: leyyo, silent, caused
31
+ * @return {LeyyoErrorLike} - new error instance
32
+ * */
33
+ cast(e: Error, params?: Opt, type?: ErrorCastType): LeyyoErrorLike;
34
+ /**
35
+ * Add known package to shorten stack paths
36
+ *
37
+ * @param {string} packageName - original package name, like @package/component
38
+ * @param {string} shortName - short name for given package
39
+ * */
9
40
  addKnownPackage(packageName: string, shortName: string): void;
41
+ /**
42
+ * Build formatted {@link LeyyoErrorLike#stackTrace} from native {@link Error#stack}
43
+ *
44
+ * @param {LeyyoErrorLike} source - error instance
45
+ * @param {boolean} force - format again, even if it was already formatted
46
+ * */
10
47
  stack(source: LeyyoErrorLike, force?: boolean): void;
48
+ /**
49
+ * Build easy error text as `<info> [error.name] => [error.message]`
50
+ *
51
+ * @param {Error} err - error instance
52
+ * @param {...Array<string|number>} parts - parts for info
53
+ * @return {string}
54
+ * */
55
+ logText(err: Error, ...parts: Array<string | number>): string;
11
56
  }
12
57
  /**
13
58
  * Stack line
14
59
  * */
15
60
  export interface ErrorStackLine {
61
+ /**
62
+ * File of error
63
+ * */
16
64
  file: string;
65
+ /**
66
+ * Method of error
67
+ * */
17
68
  method?: string;
69
+ /**
70
+ * Position of error
71
+ * */
18
72
  pos?: string;
19
73
  }
20
74
  export type ErrorCommonSecure = ShiftMain<ErrorCommonLike> & InitLike;
21
75
  export interface LeyyoErrorLike extends Error, ShiftSecure<LeyyoErrorSecure> {
76
+ /**
77
+ * Parameters for error
78
+ * */
22
79
  params?: Opt;
80
+ /**
81
+ * Caused error
82
+ * */
23
83
  causedBy?: OneOrMore<Error>;
84
+ /**
85
+ * Formatted stack trace
86
+ * */
24
87
  stackTrace?: Array<ErrorStackLine>;
25
88
  }
26
89
  export interface LeyyoErrorSecure extends ShiftMain<LeyyoErrorLike> {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@leyyo/common",
3
- "version": "1.2.1",
3
+ "version": "1.2.3",
4
4
  "description": "Common library",
5
5
  "keywords": [
6
6
  "common"