@alterior/common 3.6.4 → 3.7.5

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/errors.d.ts CHANGED
@@ -1,11 +1,5 @@
1
- export type BaseError = BaseErrorT | Error;
2
- export declare class BaseErrorT {
3
- constructor(message: string);
4
- private _message;
5
- private _innerError;
6
- private causedBy;
7
- get message(): string;
8
- get innerError(): BaseError;
1
+ export declare class BaseError extends Error {
2
+ constructor(message: string, options?: any);
9
3
  static serializer: (instance: any) => any;
10
4
  static setJSONSerializer(serializer: (instance: any) => any): void;
11
5
  asJSON(): any;
@@ -13,12 +7,12 @@ export declare class BaseErrorT {
13
7
  /**
14
8
  * Base class for errors thrown by the system or framework
15
9
  */
16
- export declare class SystemError extends BaseErrorT {
10
+ export declare class SystemError extends BaseError {
17
11
  }
18
12
  /**
19
13
  * Base class for errors thrown by your application
20
14
  */
21
- export declare class ApplicationError extends BaseErrorT {
15
+ export declare class ApplicationError extends BaseError {
22
16
  }
23
17
  export declare class ArgumentError<ValueT = any> extends SystemError {
24
18
  constructor(argumentName: string, message?: string);
@@ -64,11 +58,10 @@ export declare class InvalidOperationError extends SystemError {
64
58
  export declare class AccessDeniedError extends SystemError {
65
59
  constructor(message?: string);
66
60
  }
67
- export declare class HttpError {
61
+ export declare class HttpError extends Error {
68
62
  statusCode: number;
69
63
  body: any;
70
64
  headers: string[][];
71
65
  constructor(statusCode: number, body: any, headers?: string[][]);
72
- message: string;
73
66
  }
74
67
  //# sourceMappingURL=errors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG,UAAU,GAAG,KAAK,CAAC;AAE3C,qBAAa,UAAU;gBACP,OAAO,EAAG,MAAM;IAI5B,OAAO,CAAC,QAAQ,CAAU;IAC1B,OAAO,CAAC,WAAW,CAAa;IAEhC,OAAO,CAAC,QAAQ;IAKhB,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED,IAAI,UAAU,IAAI,SAAS,CAE1B;IAED,MAAM,CAAC,UAAU,EAAG,CAAC,QAAQ,EAAG,GAAG,KAAK,GAAG,CAAC;IAC5C,MAAM,CAAC,iBAAiB,CAAC,UAAU,EAAG,CAAC,QAAQ,EAAG,GAAG,KAAK,GAAG;IAI7D,MAAM;CAqBT;AAED;;GAEG;AACH,qBAAa,WAAY,SAAQ,UAAU;CAC1C;AAED;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,UAAU;CAC/C;AAED,qBAAa,aAAa,CAAC,MAAM,GAAG,GAAG,CAAE,SAAQ,WAAW;gBAC5C,YAAY,EAAG,MAAM,EAAE,OAAO,CAAC,EAAG,MAAM;IAKpD,OAAO,CAAC,aAAa,CAAU;IAC/B,OAAO,CAAC,MAAM,CAAU;IAExB;;OAEG;IACH,IAAI,KAAK,IAAI,MAAM,CAElB;IAED,SAAS,CAAC,KAAK,EAAG,MAAM,GAAG,IAAI;IAK/B;;OAEG;IACH,IAAI,YAAY,WAEf;CACJ;AAED,qBAAa,iBAAiB,CAAC,MAAM,GAAG,GAAG,CAAE,SAAQ,aAAa,CAAC,MAAM,CAAC;gBAC1D,YAAY,EAAG,MAAM,EAAE,OAAO,CAAC,EAAG,MAAM;CAGvD;AAED,qBAAa,uBAAuB,CAAC,MAAM,GAAG,GAAG,CAAE,SAAQ,aAAa,CAAC,MAAM,CAAC;gBAChE,YAAY,EAAG,MAAM,EAAE,OAAO,CAAC,EAAG,MAAM;CAGvD;AAED,qBAAa,iBAAkB,SAAQ,WAAW;gBAClC,OAAO,CAAC,EAAG,MAAM;CAGhC;AAED,qBAAa,mBAAoB,SAAQ,WAAW;gBACpC,OAAO,CAAC,EAAG,MAAM;CAGhC;AAED,qBAAa,sBAAuB,SAAQ,WAAW;gBACvC,OAAO,CAAC,EAAG,MAAM;CAGhC;AAED,qBAAa,YAAa,SAAQ,WAAW;gBAC7B,OAAO,CAAC,EAAG,MAAM;CAGhC;AAED,qBAAa,OAAQ,SAAQ,WAAW;gBACxB,OAAO,CAAC,EAAG,MAAM;CAGhC;AAED,qBAAa,WAAY,SAAQ,WAAW;gBAC5B,OAAO,CAAC,EAAG,MAAM;CAGhC;AAED,qBAAa,qBAAsB,SAAQ,WAAW;gBACtC,OAAO,CAAC,EAAG,MAAM;CAGhC;AAED,qBAAa,iBAAkB,SAAQ,WAAW;gBAClC,OAAO,CAAC,EAAG,MAAM;CAGhC;AAED,qBAAa,SAAS;IAEP,UAAU,EAAG,MAAM;IACnB,IAAI,EAAG,GAAG;IACV,OAAO,EAAG,MAAM,EAAE,EAAE;gBAFpB,UAAU,EAAG,MAAM,EACnB,IAAI,EAAG,GAAG,EACV,OAAO,GAAG,MAAM,EAAE,EAAO;IAKpC,OAAO,EAAE,MAAM,CAAC;CACnB"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAEA,qBAAa,SAAU,SAAQ,KAAK;gBACpB,OAAO,EAAG,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG;IAI3C,MAAM,CAAC,UAAU,EAAG,CAAC,QAAQ,EAAG,GAAG,KAAK,GAAG,CAAC;IAC5C,MAAM,CAAC,iBAAiB,CAAC,UAAU,EAAG,CAAC,QAAQ,EAAG,GAAG,KAAK,GAAG;IAI7D,MAAM;CAqBT;AAED;;GAEG;AACH,qBAAa,WAAY,SAAQ,SAAS;CACzC;AAED;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,SAAS;CAC9C;AAED,qBAAa,aAAa,CAAC,MAAM,GAAG,GAAG,CAAE,SAAQ,WAAW;gBAC5C,YAAY,EAAG,MAAM,EAAE,OAAO,CAAC,EAAG,MAAM;IAKpD,OAAO,CAAC,aAAa,CAAU;IAC/B,OAAO,CAAC,MAAM,CAAU;IAExB;;OAEG;IACH,IAAI,KAAK,IAAI,MAAM,CAElB;IAED,SAAS,CAAC,KAAK,EAAG,MAAM,GAAG,IAAI;IAK/B;;OAEG;IACH,IAAI,YAAY,WAEf;CACJ;AAED,qBAAa,iBAAiB,CAAC,MAAM,GAAG,GAAG,CAAE,SAAQ,aAAa,CAAC,MAAM,CAAC;gBAC1D,YAAY,EAAG,MAAM,EAAE,OAAO,CAAC,EAAG,MAAM;CAGvD;AAED,qBAAa,uBAAuB,CAAC,MAAM,GAAG,GAAG,CAAE,SAAQ,aAAa,CAAC,MAAM,CAAC;gBAChE,YAAY,EAAG,MAAM,EAAE,OAAO,CAAC,EAAG,MAAM;CAGvD;AAED,qBAAa,iBAAkB,SAAQ,WAAW;gBAClC,OAAO,CAAC,EAAG,MAAM;CAGhC;AAED,qBAAa,mBAAoB,SAAQ,WAAW;gBACpC,OAAO,CAAC,EAAG,MAAM;CAGhC;AAED,qBAAa,sBAAuB,SAAQ,WAAW;gBACvC,OAAO,CAAC,EAAG,MAAM;CAGhC;AAED,qBAAa,YAAa,SAAQ,WAAW;gBAC7B,OAAO,CAAC,EAAG,MAAM;CAGhC;AAED,qBAAa,OAAQ,SAAQ,WAAW;gBACxB,OAAO,CAAC,EAAG,MAAM;CAGhC;AAED,qBAAa,WAAY,SAAQ,WAAW;gBAC5B,OAAO,CAAC,EAAG,MAAM;CAGhC;AAED,qBAAa,qBAAsB,SAAQ,WAAW;gBACtC,OAAO,CAAC,EAAG,MAAM;CAGhC;AAED,qBAAa,iBAAkB,SAAQ,WAAW;gBAClC,OAAO,CAAC,EAAG,MAAM;CAGhC;AAED,qBAAa,SAAU,SAAQ,KAAK;IAErB,UAAU,EAAG,MAAM;IACnB,IAAI,EAAG,GAAG;IACV,OAAO,EAAG,MAAM,EAAE,EAAE;gBAFpB,UAAU,EAAG,MAAM,EACnB,IAAI,EAAG,GAAG,EACV,OAAO,GAAG,MAAM,EAAE,EAAO;CAIvC"}
package/dist/errors.js CHANGED
@@ -1,26 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.HttpError = exports.AccessDeniedError = exports.InvalidOperationError = exports.FormatError = exports.IOError = exports.TimeoutError = exports.OperationCanceledError = exports.NotImplementedError = exports.NotSupportedError = exports.ArgumentOutOfRangeError = exports.ArgumentNullError = exports.ArgumentError = exports.ApplicationError = exports.SystemError = exports.BaseErrorT = void 0;
4
- class BaseErrorT {
5
- constructor(message) {
6
- this._message = message;
7
- }
8
- causedBy(error) {
9
- this._innerError = error;
10
- return this;
11
- }
12
- get message() {
13
- return this._message;
14
- }
15
- get innerError() {
16
- return this._innerError;
3
+ exports.HttpError = exports.AccessDeniedError = exports.InvalidOperationError = exports.FormatError = exports.IOError = exports.TimeoutError = exports.OperationCanceledError = exports.NotImplementedError = exports.NotSupportedError = exports.ArgumentOutOfRangeError = exports.ArgumentNullError = exports.ArgumentError = exports.ApplicationError = exports.SystemError = exports.BaseError = void 0;
4
+ class BaseError extends Error {
5
+ constructor(message, options) {
6
+ super(message, options);
17
7
  }
18
8
  static setJSONSerializer(serializer) {
19
9
  this.serializer = serializer;
20
10
  }
21
11
  asJSON() {
22
- if (BaseErrorT.serializer)
23
- return BaseErrorT.serializer(this);
12
+ if (BaseError.serializer)
13
+ return BaseError.serializer(this);
24
14
  let ownKeys = Object.getOwnPropertyNames(this);
25
15
  let repr = {
26
16
  $type: this.constructor.name,
@@ -36,17 +26,17 @@ class BaseErrorT {
36
26
  return Object.assign({}, repr, includedData);
37
27
  }
38
28
  }
39
- exports.BaseErrorT = BaseErrorT;
29
+ exports.BaseError = BaseError;
40
30
  /**
41
31
  * Base class for errors thrown by the system or framework
42
32
  */
43
- class SystemError extends BaseErrorT {
33
+ class SystemError extends BaseError {
44
34
  }
45
35
  exports.SystemError = SystemError;
46
36
  /**
47
37
  * Base class for errors thrown by your application
48
38
  */
49
- class ApplicationError extends BaseErrorT {
39
+ class ApplicationError extends BaseError {
50
40
  }
51
41
  exports.ApplicationError = ApplicationError;
52
42
  class ArgumentError extends SystemError {
@@ -132,12 +122,12 @@ class AccessDeniedError extends SystemError {
132
122
  }
133
123
  }
134
124
  exports.AccessDeniedError = AccessDeniedError;
135
- class HttpError {
125
+ class HttpError extends Error {
136
126
  constructor(statusCode, body, headers = []) {
127
+ super(`HttpError statusCode=${statusCode} [are you sure you meant to catch this?]`);
137
128
  this.statusCode = statusCode;
138
129
  this.body = body;
139
130
  this.headers = headers;
140
- this.message = `HttpError statusCode=${statusCode} [are you sure you meant to catch this?]`;
141
131
  }
142
132
  }
143
133
  exports.HttpError = HttpError;
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
@@ -2,5 +2,5 @@
2
2
  * Get the names of the parameters of the given function.
3
3
  * @param fn
4
4
  */
5
- export declare function getParameterNames(fn: any): string[];
5
+ export declare function getParameterNames(fn: Function): string[];
6
6
  //# sourceMappingURL=get-param-names.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-param-names.d.ts","sourceRoot":"","sources":["../src/get-param-names.ts"],"names":[],"mappings":"AA2BA;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,KAAA,GAAG,MAAM,EAAE,CAU9C"}
1
+ {"version":3,"file":"get-param-names.d.ts","sourceRoot":"","sources":["../src/get-param-names.ts"],"names":[],"mappings":"AA2BA;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,QAAQ,GAAG,MAAM,EAAE,CAmBxD"}
@@ -31,6 +31,12 @@ let AFTER_CLOSING_PAREN = /^([^)]*)\).*$/mg;
31
31
  * @param fn
32
32
  */
33
33
  function getParameterNames(fn) {
34
+ // Sometimes the user may want to transform or replace a function, which may cause us to lose access to
35
+ // the parameter names. To provide an escape hatch for that use case, we'll check if the given function
36
+ // has been annotated with parameter names already.
37
+ if ('__parameterNames' in fn) {
38
+ return fn['__parameterNames'];
39
+ }
34
40
  let code = fn.toString()
35
41
  .replace(SPACES, '')
36
42
  .replace(COMMENTS, '')
@@ -1 +1 @@
1
- {"version":3,"file":"get-param-names.js","sourceRoot":"","sources":["../src/get-param-names.ts"],"names":[],"mappings":";AAAA,qEAAqE;;;AAErE;;GAEG;AACH,IAAI,QAAQ,GAAG,kCAAkC,CAAC;AAClD;;GAEG;AACH,IAAI,cAAc,GAAG,WAAW,CAAC;AACjC;;GAEG;AACH,IAAI,UAAU,GAAG,SAAS,CAAC;AAC3B;;GAEG;AACH,IAAI,MAAM,GAAG,MAAM,CAAC;AACpB;;GAEG;AACH,IAAI,oBAAoB,GAAG,YAAY,CAAC;AACtC;;GAEG;AACL,IAAI,mBAAmB,GAAG,iBAAiB,CAAC;AAE5C;;;GAGG;AACH,SAAgB,iBAAiB,CAAC,EAAE;IAClC,IAAI,IAAI,GAAG,EAAE,CAAC,QAAQ,EAAE;SACrB,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;SACnB,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;SACrB,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;SACvB,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC;SAC3B,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC;SACjC,OAAO,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;IAEtC,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACrC,CAAC;AAVD,8CAUC"}
1
+ {"version":3,"file":"get-param-names.js","sourceRoot":"","sources":["../src/get-param-names.ts"],"names":[],"mappings":";AAAA,qEAAqE;;;AAErE;;GAEG;AACH,IAAI,QAAQ,GAAG,kCAAkC,CAAC;AAClD;;GAEG;AACH,IAAI,cAAc,GAAG,WAAW,CAAC;AACjC;;GAEG;AACH,IAAI,UAAU,GAAG,SAAS,CAAC;AAC3B;;GAEG;AACH,IAAI,MAAM,GAAG,MAAM,CAAC;AACpB;;GAEG;AACH,IAAI,oBAAoB,GAAG,YAAY,CAAC;AACtC;;GAEG;AACL,IAAI,mBAAmB,GAAG,iBAAiB,CAAC;AAE5C;;;GAGG;AACH,SAAgB,iBAAiB,CAAC,EAAY;IAE5C,wGAAwG;IACxG,uGAAuG;IACvG,mDAAmD;IAEnD,IAAI,kBAAkB,IAAI,EAAE,EAAE;QAC5B,OAAO,EAAE,CAAC,kBAAkB,CAAa,CAAC;KAC3C;IAED,IAAI,IAAI,GAAG,EAAE,CAAC,QAAQ,EAAE;SACrB,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;SACnB,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;SACrB,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;SACvB,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC;SAC3B,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC;SACjC,OAAO,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;IAEtC,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACrC,CAAC;AAnBD,8CAmBC"}
@@ -1,11 +1,5 @@
1
- export type BaseError = BaseErrorT | Error;
2
- export declare class BaseErrorT {
3
- constructor(message: string);
4
- private _message;
5
- private _innerError;
6
- private causedBy;
7
- get message(): string;
8
- get innerError(): BaseError;
1
+ export declare class BaseError extends Error {
2
+ constructor(message: string, options?: any);
9
3
  static serializer: (instance: any) => any;
10
4
  static setJSONSerializer(serializer: (instance: any) => any): void;
11
5
  asJSON(): any;
@@ -13,12 +7,12 @@ export declare class BaseErrorT {
13
7
  /**
14
8
  * Base class for errors thrown by the system or framework
15
9
  */
16
- export declare class SystemError extends BaseErrorT {
10
+ export declare class SystemError extends BaseError {
17
11
  }
18
12
  /**
19
13
  * Base class for errors thrown by your application
20
14
  */
21
- export declare class ApplicationError extends BaseErrorT {
15
+ export declare class ApplicationError extends BaseError {
22
16
  }
23
17
  export declare class ArgumentError<ValueT = any> extends SystemError {
24
18
  constructor(argumentName: string, message?: string);
@@ -64,11 +58,10 @@ export declare class InvalidOperationError extends SystemError {
64
58
  export declare class AccessDeniedError extends SystemError {
65
59
  constructor(message?: string);
66
60
  }
67
- export declare class HttpError {
61
+ export declare class HttpError extends Error {
68
62
  statusCode: number;
69
63
  body: any;
70
64
  headers: string[][];
71
65
  constructor(statusCode: number, body: any, headers?: string[][]);
72
- message: string;
73
66
  }
74
67
  //# sourceMappingURL=errors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG,UAAU,GAAG,KAAK,CAAC;AAE3C,qBAAa,UAAU;gBACP,OAAO,EAAG,MAAM;IAI5B,OAAO,CAAC,QAAQ,CAAU;IAC1B,OAAO,CAAC,WAAW,CAAa;IAEhC,OAAO,CAAC,QAAQ;IAKhB,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED,IAAI,UAAU,IAAI,SAAS,CAE1B;IAED,MAAM,CAAC,UAAU,EAAG,CAAC,QAAQ,EAAG,GAAG,KAAK,GAAG,CAAC;IAC5C,MAAM,CAAC,iBAAiB,CAAC,UAAU,EAAG,CAAC,QAAQ,EAAG,GAAG,KAAK,GAAG;IAI7D,MAAM;CAqBT;AAED;;GAEG;AACH,qBAAa,WAAY,SAAQ,UAAU;CAC1C;AAED;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,UAAU;CAC/C;AAED,qBAAa,aAAa,CAAC,MAAM,GAAG,GAAG,CAAE,SAAQ,WAAW;gBAC5C,YAAY,EAAG,MAAM,EAAE,OAAO,CAAC,EAAG,MAAM;IAKpD,OAAO,CAAC,aAAa,CAAU;IAC/B,OAAO,CAAC,MAAM,CAAU;IAExB;;OAEG;IACH,IAAI,KAAK,IAAI,MAAM,CAElB;IAED,SAAS,CAAC,KAAK,EAAG,MAAM,GAAG,IAAI;IAK/B;;OAEG;IACH,IAAI,YAAY,WAEf;CACJ;AAED,qBAAa,iBAAiB,CAAC,MAAM,GAAG,GAAG,CAAE,SAAQ,aAAa,CAAC,MAAM,CAAC;gBAC1D,YAAY,EAAG,MAAM,EAAE,OAAO,CAAC,EAAG,MAAM;CAGvD;AAED,qBAAa,uBAAuB,CAAC,MAAM,GAAG,GAAG,CAAE,SAAQ,aAAa,CAAC,MAAM,CAAC;gBAChE,YAAY,EAAG,MAAM,EAAE,OAAO,CAAC,EAAG,MAAM;CAGvD;AAED,qBAAa,iBAAkB,SAAQ,WAAW;gBAClC,OAAO,CAAC,EAAG,MAAM;CAGhC;AAED,qBAAa,mBAAoB,SAAQ,WAAW;gBACpC,OAAO,CAAC,EAAG,MAAM;CAGhC;AAED,qBAAa,sBAAuB,SAAQ,WAAW;gBACvC,OAAO,CAAC,EAAG,MAAM;CAGhC;AAED,qBAAa,YAAa,SAAQ,WAAW;gBAC7B,OAAO,CAAC,EAAG,MAAM;CAGhC;AAED,qBAAa,OAAQ,SAAQ,WAAW;gBACxB,OAAO,CAAC,EAAG,MAAM;CAGhC;AAED,qBAAa,WAAY,SAAQ,WAAW;gBAC5B,OAAO,CAAC,EAAG,MAAM;CAGhC;AAED,qBAAa,qBAAsB,SAAQ,WAAW;gBACtC,OAAO,CAAC,EAAG,MAAM;CAGhC;AAED,qBAAa,iBAAkB,SAAQ,WAAW;gBAClC,OAAO,CAAC,EAAG,MAAM;CAGhC;AAED,qBAAa,SAAS;IAEP,UAAU,EAAG,MAAM;IACnB,IAAI,EAAG,GAAG;IACV,OAAO,EAAG,MAAM,EAAE,EAAE;gBAFpB,UAAU,EAAG,MAAM,EACnB,IAAI,EAAG,GAAG,EACV,OAAO,GAAG,MAAM,EAAE,EAAO;IAKpC,OAAO,EAAE,MAAM,CAAC;CACnB"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAEA,qBAAa,SAAU,SAAQ,KAAK;gBACpB,OAAO,EAAG,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG;IAI3C,MAAM,CAAC,UAAU,EAAG,CAAC,QAAQ,EAAG,GAAG,KAAK,GAAG,CAAC;IAC5C,MAAM,CAAC,iBAAiB,CAAC,UAAU,EAAG,CAAC,QAAQ,EAAG,GAAG,KAAK,GAAG;IAI7D,MAAM;CAqBT;AAED;;GAEG;AACH,qBAAa,WAAY,SAAQ,SAAS;CACzC;AAED;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,SAAS;CAC9C;AAED,qBAAa,aAAa,CAAC,MAAM,GAAG,GAAG,CAAE,SAAQ,WAAW;gBAC5C,YAAY,EAAG,MAAM,EAAE,OAAO,CAAC,EAAG,MAAM;IAKpD,OAAO,CAAC,aAAa,CAAU;IAC/B,OAAO,CAAC,MAAM,CAAU;IAExB;;OAEG;IACH,IAAI,KAAK,IAAI,MAAM,CAElB;IAED,SAAS,CAAC,KAAK,EAAG,MAAM,GAAG,IAAI;IAK/B;;OAEG;IACH,IAAI,YAAY,WAEf;CACJ;AAED,qBAAa,iBAAiB,CAAC,MAAM,GAAG,GAAG,CAAE,SAAQ,aAAa,CAAC,MAAM,CAAC;gBAC1D,YAAY,EAAG,MAAM,EAAE,OAAO,CAAC,EAAG,MAAM;CAGvD;AAED,qBAAa,uBAAuB,CAAC,MAAM,GAAG,GAAG,CAAE,SAAQ,aAAa,CAAC,MAAM,CAAC;gBAChE,YAAY,EAAG,MAAM,EAAE,OAAO,CAAC,EAAG,MAAM;CAGvD;AAED,qBAAa,iBAAkB,SAAQ,WAAW;gBAClC,OAAO,CAAC,EAAG,MAAM;CAGhC;AAED,qBAAa,mBAAoB,SAAQ,WAAW;gBACpC,OAAO,CAAC,EAAG,MAAM;CAGhC;AAED,qBAAa,sBAAuB,SAAQ,WAAW;gBACvC,OAAO,CAAC,EAAG,MAAM;CAGhC;AAED,qBAAa,YAAa,SAAQ,WAAW;gBAC7B,OAAO,CAAC,EAAG,MAAM;CAGhC;AAED,qBAAa,OAAQ,SAAQ,WAAW;gBACxB,OAAO,CAAC,EAAG,MAAM;CAGhC;AAED,qBAAa,WAAY,SAAQ,WAAW;gBAC5B,OAAO,CAAC,EAAG,MAAM;CAGhC;AAED,qBAAa,qBAAsB,SAAQ,WAAW;gBACtC,OAAO,CAAC,EAAG,MAAM;CAGhC;AAED,qBAAa,iBAAkB,SAAQ,WAAW;gBAClC,OAAO,CAAC,EAAG,MAAM;CAGhC;AAED,qBAAa,SAAU,SAAQ,KAAK;IAErB,UAAU,EAAG,MAAM;IACnB,IAAI,EAAG,GAAG;IACV,OAAO,EAAG,MAAM,EAAE,EAAE;gBAFpB,UAAU,EAAG,MAAM,EACnB,IAAI,EAAG,GAAG,EACV,OAAO,GAAG,MAAM,EAAE,EAAO;CAIvC"}
@@ -1,23 +1,13 @@
1
- export class BaseErrorT {
2
- constructor(message) {
3
- this._message = message;
4
- }
5
- causedBy(error) {
6
- this._innerError = error;
7
- return this;
8
- }
9
- get message() {
10
- return this._message;
11
- }
12
- get innerError() {
13
- return this._innerError;
1
+ export class BaseError extends Error {
2
+ constructor(message, options) {
3
+ super(message, options);
14
4
  }
15
5
  static setJSONSerializer(serializer) {
16
6
  this.serializer = serializer;
17
7
  }
18
8
  asJSON() {
19
- if (BaseErrorT.serializer)
20
- return BaseErrorT.serializer(this);
9
+ if (BaseError.serializer)
10
+ return BaseError.serializer(this);
21
11
  let ownKeys = Object.getOwnPropertyNames(this);
22
12
  let repr = {
23
13
  $type: this.constructor.name,
@@ -36,12 +26,12 @@ export class BaseErrorT {
36
26
  /**
37
27
  * Base class for errors thrown by the system or framework
38
28
  */
39
- export class SystemError extends BaseErrorT {
29
+ export class SystemError extends BaseError {
40
30
  }
41
31
  /**
42
32
  * Base class for errors thrown by your application
43
33
  */
44
- export class ApplicationError extends BaseErrorT {
34
+ export class ApplicationError extends BaseError {
45
35
  }
46
36
  export class ArgumentError extends SystemError {
47
37
  constructor(argumentName, message) {
@@ -115,12 +105,12 @@ export class AccessDeniedError extends SystemError {
115
105
  super(message || `Invalid format.`);
116
106
  }
117
107
  }
118
- export class HttpError {
108
+ export class HttpError extends Error {
119
109
  constructor(statusCode, body, headers = []) {
110
+ super(`HttpError statusCode=${statusCode} [are you sure you meant to catch this?]`);
120
111
  this.statusCode = statusCode;
121
112
  this.body = body;
122
113
  this.headers = headers;
123
- this.message = `HttpError statusCode=${statusCode} [are you sure you meant to catch this?]`;
124
114
  }
125
115
  }
126
116
  //# sourceMappingURL=errors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
@@ -2,5 +2,5 @@
2
2
  * Get the names of the parameters of the given function.
3
3
  * @param fn
4
4
  */
5
- export declare function getParameterNames(fn: any): string[];
5
+ export declare function getParameterNames(fn: Function): string[];
6
6
  //# sourceMappingURL=get-param-names.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-param-names.d.ts","sourceRoot":"","sources":["../src/get-param-names.ts"],"names":[],"mappings":"AA2BA;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,KAAA,GAAG,MAAM,EAAE,CAU9C"}
1
+ {"version":3,"file":"get-param-names.d.ts","sourceRoot":"","sources":["../src/get-param-names.ts"],"names":[],"mappings":"AA2BA;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,QAAQ,GAAG,MAAM,EAAE,CAmBxD"}
@@ -28,6 +28,12 @@ let AFTER_CLOSING_PAREN = /^([^)]*)\).*$/mg;
28
28
  * @param fn
29
29
  */
30
30
  export function getParameterNames(fn) {
31
+ // Sometimes the user may want to transform or replace a function, which may cause us to lose access to
32
+ // the parameter names. To provide an escape hatch for that use case, we'll check if the given function
33
+ // has been annotated with parameter names already.
34
+ if ('__parameterNames' in fn) {
35
+ return fn['__parameterNames'];
36
+ }
31
37
  let code = fn.toString()
32
38
  .replace(SPACES, '')
33
39
  .replace(COMMENTS, '')
@@ -1 +1 @@
1
- {"version":3,"file":"get-param-names.js","sourceRoot":"","sources":["../src/get-param-names.ts"],"names":[],"mappings":"AAAA,qEAAqE;AAErE;;GAEG;AACH,IAAI,QAAQ,GAAG,kCAAkC,CAAC;AAClD;;GAEG;AACH,IAAI,cAAc,GAAG,WAAW,CAAC;AACjC;;GAEG;AACH,IAAI,UAAU,GAAG,SAAS,CAAC;AAC3B;;GAEG;AACH,IAAI,MAAM,GAAG,MAAM,CAAC;AACpB;;GAEG;AACH,IAAI,oBAAoB,GAAG,YAAY,CAAC;AACtC;;GAEG;AACL,IAAI,mBAAmB,GAAG,iBAAiB,CAAC;AAE5C;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,EAAE;IAClC,IAAI,IAAI,GAAG,EAAE,CAAC,QAAQ,EAAE;SACrB,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;SACnB,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;SACrB,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;SACvB,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC;SAC3B,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC;SACjC,OAAO,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;IAEtC,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACrC,CAAC"}
1
+ {"version":3,"file":"get-param-names.js","sourceRoot":"","sources":["../src/get-param-names.ts"],"names":[],"mappings":"AAAA,qEAAqE;AAErE;;GAEG;AACH,IAAI,QAAQ,GAAG,kCAAkC,CAAC;AAClD;;GAEG;AACH,IAAI,cAAc,GAAG,WAAW,CAAC;AACjC;;GAEG;AACH,IAAI,UAAU,GAAG,SAAS,CAAC;AAC3B;;GAEG;AACH,IAAI,MAAM,GAAG,MAAM,CAAC;AACpB;;GAEG;AACH,IAAI,oBAAoB,GAAG,YAAY,CAAC;AACtC;;GAEG;AACL,IAAI,mBAAmB,GAAG,iBAAiB,CAAC;AAE5C;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,EAAY;IAE5C,wGAAwG;IACxG,uGAAuG;IACvG,mDAAmD;IAEnD,IAAI,kBAAkB,IAAI,EAAE,EAAE;QAC5B,OAAO,EAAE,CAAC,kBAAkB,CAAa,CAAC;KAC3C;IAED,IAAI,IAAI,GAAG,EAAE,CAAC,QAAQ,EAAE;SACrB,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;SACnB,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;SACrB,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;SACvB,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC;SAC3B,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC;SACjC,OAAO,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;IAEtC,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACrC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alterior/common",
3
- "version": "3.6.4",
3
+ "version": "3.7.5",
4
4
  "description": "Useful utilities for Typescript apps",
5
5
  "author": "The Alterior Project (https://github.com/alterior-mvc)",
6
6
  "license": "MIT",
@@ -43,5 +43,5 @@
43
43
  "peerDependencies": {
44
44
  "reflect-metadata": "^0.1.13"
45
45
  },
46
- "gitHead": "cc4137f515a8c28d15b04882a41d7c718be577fa"
46
+ "gitHead": "0d2c79f629c42e3faae334d915d500b2d839cc03"
47
47
  }
package/src/errors.ts CHANGED
@@ -1,24 +1,8 @@
1
- export type BaseError = BaseErrorT | Error;
2
1
 
3
- export class BaseErrorT {
4
- constructor(message : string) {
5
- this._message = message;
6
- }
7
-
8
- private _message : string;
9
- private _innerError : BaseError;
10
-
11
- private causedBy(error : BaseError): this {
12
- this._innerError = error;
13
- return this;
14
- }
15
-
16
- get message(): string {
17
- return this._message;
18
- }
19
2
 
20
- get innerError(): BaseError {
21
- return this._innerError;
3
+ export class BaseError extends Error {
4
+ constructor(message : string, options?: any) {
5
+ super(message, options);
22
6
  }
23
7
 
24
8
  static serializer : (instance : any) => any;
@@ -27,8 +11,8 @@ export class BaseErrorT {
27
11
  }
28
12
 
29
13
  asJSON() {
30
- if (BaseErrorT.serializer)
31
- return BaseErrorT.serializer(this);
14
+ if (BaseError.serializer)
15
+ return BaseError.serializer(this);
32
16
 
33
17
  let ownKeys = Object.getOwnPropertyNames(this);
34
18
  let repr = {
@@ -52,13 +36,13 @@ export class BaseErrorT {
52
36
  /**
53
37
  * Base class for errors thrown by the system or framework
54
38
  */
55
- export class SystemError extends BaseErrorT {
39
+ export class SystemError extends BaseError {
56
40
  }
57
41
 
58
42
  /**
59
43
  * Base class for errors thrown by your application
60
44
  */
61
- export class ApplicationError extends BaseErrorT {
45
+ export class ApplicationError extends BaseError {
62
46
  }
63
47
 
64
48
  export class ArgumentError<ValueT = any> extends SystemError {
@@ -150,14 +134,12 @@ export class AccessDeniedError extends SystemError {
150
134
  }
151
135
  }
152
136
 
153
- export class HttpError {
137
+ export class HttpError extends Error {
154
138
  constructor(
155
139
  public statusCode : number,
156
140
  public body : any,
157
141
  public headers : string[][] = []
158
142
  ) {
159
- this.message = `HttpError statusCode=${statusCode} [are you sure you meant to catch this?]`;
143
+ super(`HttpError statusCode=${statusCode} [are you sure you meant to catch this?]`);
160
144
  }
161
-
162
- message: string;
163
145
  }
@@ -29,7 +29,16 @@ let AFTER_CLOSING_PAREN = /^([^)]*)\).*$/mg;
29
29
  * Get the names of the parameters of the given function.
30
30
  * @param fn
31
31
  */
32
- export function getParameterNames(fn): string[] {
32
+ export function getParameterNames(fn: Function): string[] {
33
+
34
+ // Sometimes the user may want to transform or replace a function, which may cause us to lose access to
35
+ // the parameter names. To provide an escape hatch for that use case, we'll check if the given function
36
+ // has been annotated with parameter names already.
37
+
38
+ if ('__parameterNames' in fn) {
39
+ return fn['__parameterNames'] as string[];
40
+ }
41
+
33
42
  let code = fn.toString()
34
43
  .replace(SPACES, '')
35
44
  .replace(COMMENTS, '')