@archtx/core 1.1.18 → 2.0.0
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/src/Entity/utils.js +1 -1
- package/dist/src/Entity/utils.js.map +1 -1
- package/dist/src/errors/AuthError.d.ts +12 -2
- package/dist/src/errors/AuthError.js +7 -3
- package/dist/src/errors/AuthError.js.map +1 -1
- package/dist/src/errors/EntityError.d.ts +9 -1
- package/dist/src/errors/EntityError.js +6 -2
- package/dist/src/errors/EntityError.js.map +1 -1
- package/dist/src/errors/ExpiredError.d.ts +9 -1
- package/dist/src/errors/ExpiredError.js +6 -2
- package/dist/src/errors/ExpiredError.js.map +1 -1
- package/dist/src/errors/NotFoundError.d.ts +9 -1
- package/dist/src/errors/NotFoundError.js +6 -2
- package/dist/src/errors/NotFoundError.js.map +1 -1
- package/dist/src/errors/ParamError.d.ts +9 -1
- package/dist/src/errors/ParamError.js +6 -2
- package/dist/src/errors/ParamError.js.map +1 -1
- package/dist/src/errors/RepoError.d.ts +9 -1
- package/dist/src/errors/RepoError.js +6 -2
- package/dist/src/errors/RepoError.js.map +1 -1
- package/dist/src/errors/RootError.d.ts +24 -5
- package/dist/src/errors/RootError.js +13 -18
- package/dist/src/errors/RootError.js.map +1 -1
- package/dist/src/errors/ServiceError.d.ts +9 -1
- package/dist/src/errors/ServiceError.js +6 -2
- package/dist/src/errors/ServiceError.js.map +1 -1
- package/dist/src/errors/UseCaseError.d.ts +9 -1
- package/dist/src/errors/UseCaseError.js +6 -2
- package/dist/src/errors/UseCaseError.js.map +1 -1
- package/dist/src/errors/ValidationError.d.ts +9 -1
- package/dist/src/errors/ValidationError.js +6 -2
- package/dist/src/errors/ValidationError.js.map +1 -1
- package/dist/src/errors/errors.test.js +11 -11
- package/dist/src/errors/errors.test.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
package/dist/src/Entity/utils.js
CHANGED
|
@@ -6,7 +6,7 @@ import { Entity } from './Entity.js';
|
|
|
6
6
|
*/
|
|
7
7
|
export function assertEntityExists(entity) {
|
|
8
8
|
if (!(entity instanceof Entity)) {
|
|
9
|
-
throw new NotFoundError(
|
|
9
|
+
throw new NotFoundError('Entity not found');
|
|
10
10
|
}
|
|
11
11
|
}
|
|
12
12
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/Entity/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAChC,MAAuB;IAEvB,IAAI,CAAC,CAAC,MAAM,YAAY,MAAM,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,aAAa,CAAC,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/Entity/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAChC,MAAuB;IAEvB,IAAI,CAAC,CAAC,MAAM,YAAY,MAAM,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,aAAa,CAAC,kBAAkB,CAAC,CAAA;IAC7C,CAAC;AACH,CAAC"}
|
|
@@ -1,7 +1,17 @@
|
|
|
1
1
|
import { RootError } from './RootError.js';
|
|
2
|
-
type ERROR_DESC = 'AUTH_CHECK_FAILED' | 'UNABLE_TO_CHECK_AUTH' | 'NOT_AUTHENTICATED' | 'INVALID_ACCESS' | 'INVALID_PERMISSIONS' | 'INVALID_ROLE';
|
|
2
|
+
type ERROR_DESC = 'AUTH_CHECK_FAILED' | 'UNABLE_TO_CHECK_AUTH' | 'NOT_AUTHENTICATED' | 'INVALID_ACCESS' | 'INVALID_PERMISSIONS' | 'INVALID_ROLE' | 'INVALID_CREDENTIALS';
|
|
3
3
|
export declare class AuthError extends RootError {
|
|
4
|
+
readonly message: string;
|
|
5
|
+
meta: {
|
|
6
|
+
errorType: ERROR_DESC;
|
|
7
|
+
externalDesc?: string;
|
|
8
|
+
[key: string]: any;
|
|
9
|
+
};
|
|
4
10
|
errorType?: ERROR_DESC;
|
|
5
|
-
constructor(
|
|
11
|
+
constructor(message: string, meta: {
|
|
12
|
+
errorType: ERROR_DESC;
|
|
13
|
+
externalDesc?: string;
|
|
14
|
+
[key: string]: any;
|
|
15
|
+
});
|
|
6
16
|
}
|
|
7
17
|
export {};
|
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
// Used when user input data validation fails
|
|
2
2
|
import { RootError } from './RootError.js';
|
|
3
3
|
export class AuthError extends RootError {
|
|
4
|
+
message;
|
|
5
|
+
meta;
|
|
4
6
|
errorType;
|
|
5
|
-
constructor(
|
|
6
|
-
super(
|
|
7
|
-
this.
|
|
7
|
+
constructor(message, meta) {
|
|
8
|
+
super(message, meta);
|
|
9
|
+
this.message = message;
|
|
10
|
+
this.meta = meta;
|
|
11
|
+
this.errorType = meta.errorType;
|
|
8
12
|
// https://www.dannyguo.com/blog/how-to-fix-instanceof-not-working-for-custom-errors-in-typescript/
|
|
9
13
|
Object.setPrototypeOf(this, AuthError.prototype);
|
|
10
14
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthError.js","sourceRoot":"","sources":["../../../src/errors/AuthError.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"AuthError.js","sourceRoot":"","sources":["../../../src/errors/AuthError.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAW1C,MAAM,OAAO,SAAU,SAAQ,SAAS;IAI3B;IACF;IAJF,SAAS,CAAa;IAE7B,YACW,OAAe,EACjB,IAIN;QAED,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;QAPX,YAAO,GAAP,OAAO,CAAQ;QACjB,SAAI,GAAJ,IAAI,CAIV;QAID,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAA;QAE/B,mGAAmG;QACnG,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;IAClD,CAAC;CACF"}
|
|
@@ -1,4 +1,12 @@
|
|
|
1
1
|
import { RootError } from './RootError.js';
|
|
2
2
|
export declare class EntityError extends RootError {
|
|
3
|
-
|
|
3
|
+
readonly message: string;
|
|
4
|
+
meta?: {
|
|
5
|
+
externalDesc?: string;
|
|
6
|
+
[key: string]: any;
|
|
7
|
+
} | undefined;
|
|
8
|
+
constructor(message: string, meta?: {
|
|
9
|
+
externalDesc?: string;
|
|
10
|
+
[key: string]: any;
|
|
11
|
+
} | undefined);
|
|
4
12
|
}
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
// Used inside Entity classes to throw an error for some logic or other Entity specific behavior
|
|
2
2
|
import { RootError } from './RootError.js';
|
|
3
3
|
export class EntityError extends RootError {
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
message;
|
|
5
|
+
meta;
|
|
6
|
+
constructor(message, meta) {
|
|
7
|
+
super(message, meta);
|
|
8
|
+
this.message = message;
|
|
9
|
+
this.meta = meta;
|
|
6
10
|
// https://www.dannyguo.com/blog/how-to-fix-instanceof-not-working-for-custom-errors-in-typescript/
|
|
7
11
|
Object.setPrototypeOf(this, EntityError.prototype);
|
|
8
12
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityError.js","sourceRoot":"","sources":["../../../src/errors/EntityError.ts"],"names":[],"mappings":"AAAA,gGAAgG;AAChG,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1C,MAAM,OAAO,WAAY,SAAQ,SAAS;
|
|
1
|
+
{"version":3,"file":"EntityError.js","sourceRoot":"","sources":["../../../src/errors/EntityError.ts"],"names":[],"mappings":"AAAA,gGAAgG;AAChG,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1C,MAAM,OAAO,WAAY,SAAQ,SAAS;IAE7B;IACF;IAFT,YACW,OAAe,EACjB,IAGN;QAED,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;QANX,YAAO,GAAP,OAAO,CAAQ;QACjB,SAAI,GAAJ,IAAI,CAGV;QAID,mGAAmG;QACnG,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,WAAW,CAAC,SAAS,CAAC,CAAA;IACpD,CAAC;CACF"}
|
|
@@ -1,4 +1,12 @@
|
|
|
1
1
|
import { RootError } from './RootError.js';
|
|
2
2
|
export declare class ExpiredError extends RootError {
|
|
3
|
-
|
|
3
|
+
readonly message: string;
|
|
4
|
+
meta?: {
|
|
5
|
+
externalDesc?: string;
|
|
6
|
+
[key: string]: any;
|
|
7
|
+
} | undefined;
|
|
8
|
+
constructor(message: string, meta?: {
|
|
9
|
+
externalDesc?: string;
|
|
10
|
+
[key: string]: any;
|
|
11
|
+
} | undefined);
|
|
4
12
|
}
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
// Used when some data record(s) is not found
|
|
2
2
|
import { RootError } from './RootError.js';
|
|
3
3
|
export class ExpiredError extends RootError {
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
message;
|
|
5
|
+
meta;
|
|
6
|
+
constructor(message, meta) {
|
|
7
|
+
super(message, meta);
|
|
8
|
+
this.message = message;
|
|
9
|
+
this.meta = meta;
|
|
6
10
|
// https://www.dannyguo.com/blog/how-to-fix-instanceof-not-working-for-custom-errors-in-typescript/
|
|
7
11
|
Object.setPrototypeOf(this, ExpiredError.prototype);
|
|
8
12
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExpiredError.js","sourceRoot":"","sources":["../../../src/errors/ExpiredError.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1C,MAAM,OAAO,YAAa,SAAQ,SAAS;
|
|
1
|
+
{"version":3,"file":"ExpiredError.js","sourceRoot":"","sources":["../../../src/errors/ExpiredError.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1C,MAAM,OAAO,YAAa,SAAQ,SAAS;IAE5B;IACF;IAFT,YACW,OAAe,EACjB,IAGN;QAEC,KAAK,CACD,OAAO,EACP,IAAI,CACP,CAAC;QATK,YAAO,GAAP,OAAO,CAAQ;QACjB,SAAI,GAAJ,IAAI,CAGV;QAOC,mGAAmG;QACnG,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;IACxD,CAAC;CACJ"}
|
|
@@ -1,4 +1,12 @@
|
|
|
1
1
|
import { RootError } from './RootError.js';
|
|
2
2
|
export declare class NotFoundError extends RootError {
|
|
3
|
-
|
|
3
|
+
readonly message: string;
|
|
4
|
+
meta?: {
|
|
5
|
+
externalDesc?: string;
|
|
6
|
+
[key: string]: any;
|
|
7
|
+
} | undefined;
|
|
8
|
+
constructor(message: string, meta?: {
|
|
9
|
+
externalDesc?: string;
|
|
10
|
+
[key: string]: any;
|
|
11
|
+
} | undefined);
|
|
4
12
|
}
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
// Used when some data record(s) is not found
|
|
2
2
|
import { RootError } from './RootError.js';
|
|
3
3
|
export class NotFoundError extends RootError {
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
message;
|
|
5
|
+
meta;
|
|
6
|
+
constructor(message, meta) {
|
|
7
|
+
super(message, meta);
|
|
8
|
+
this.message = message;
|
|
9
|
+
this.meta = meta;
|
|
6
10
|
// https://www.dannyguo.com/blog/how-to-fix-instanceof-not-working-for-custom-errors-in-typescript/
|
|
7
11
|
Object.setPrototypeOf(this, NotFoundError.prototype);
|
|
8
12
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NotFoundError.js","sourceRoot":"","sources":["../../../src/errors/NotFoundError.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1C,MAAM,OAAO,aAAc,SAAQ,SAAS;
|
|
1
|
+
{"version":3,"file":"NotFoundError.js","sourceRoot":"","sources":["../../../src/errors/NotFoundError.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1C,MAAM,OAAO,aAAc,SAAQ,SAAS;IAE/B;IACF;IAFT,YACW,OAAe,EACjB,IAGN;QAED,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;QANX,YAAO,GAAP,OAAO,CAAQ;QACjB,SAAI,GAAJ,IAAI,CAGV;QAID,mGAAmG;QACnG,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,aAAa,CAAC,SAAS,CAAC,CAAA;IACtD,CAAC;CACF"}
|
|
@@ -1,4 +1,12 @@
|
|
|
1
1
|
import { RootError } from './RootError.js';
|
|
2
2
|
export declare class ParamError extends RootError {
|
|
3
|
-
|
|
3
|
+
readonly message: string;
|
|
4
|
+
meta?: {
|
|
5
|
+
externalDesc?: string;
|
|
6
|
+
[key: string]: any;
|
|
7
|
+
} | undefined;
|
|
8
|
+
constructor(message: string, meta?: {
|
|
9
|
+
externalDesc?: string;
|
|
10
|
+
[key: string]: any;
|
|
11
|
+
} | undefined);
|
|
4
12
|
}
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
// Used when a method/func param is bad/missing
|
|
2
2
|
import { RootError } from './RootError.js';
|
|
3
3
|
export class ParamError extends RootError {
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
message;
|
|
5
|
+
meta;
|
|
6
|
+
constructor(message, meta) {
|
|
7
|
+
super(message, meta);
|
|
8
|
+
this.message = message;
|
|
9
|
+
this.meta = meta;
|
|
6
10
|
// https://www.dannyguo.com/blog/how-to-fix-instanceof-not-working-for-custom-errors-in-typescript/
|
|
7
11
|
Object.setPrototypeOf(this, ParamError.prototype);
|
|
8
12
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ParamError.js","sourceRoot":"","sources":["../../../src/errors/ParamError.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1C,MAAM,OAAO,UAAW,SAAQ,SAAS;
|
|
1
|
+
{"version":3,"file":"ParamError.js","sourceRoot":"","sources":["../../../src/errors/ParamError.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1C,MAAM,OAAO,UAAW,SAAQ,SAAS;IAE1B;IACF;IAFT,YACW,OAAe,EACjB,IAGN;QAEC,KAAK,CACD,OAAO,EACP,IAAI,CACP,CAAC;QATK,YAAO,GAAP,OAAO,CAAQ;QACjB,SAAI,GAAJ,IAAI,CAGV;QAOC,mGAAmG;QACnG,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;IACtD,CAAC;CACJ"}
|
|
@@ -1,4 +1,12 @@
|
|
|
1
1
|
import { RootError } from './RootError.js';
|
|
2
2
|
export declare class RepoError extends RootError {
|
|
3
|
-
|
|
3
|
+
readonly message: string;
|
|
4
|
+
meta?: {
|
|
5
|
+
externalDesc?: string;
|
|
6
|
+
[key: string]: any;
|
|
7
|
+
} | undefined;
|
|
8
|
+
constructor(message: string, meta?: {
|
|
9
|
+
externalDesc?: string;
|
|
10
|
+
[key: string]: any;
|
|
11
|
+
} | undefined);
|
|
4
12
|
}
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
// Used inside Repo classes to throw an error for some logic or other Repo specific behavior
|
|
2
2
|
import { RootError } from './RootError.js';
|
|
3
3
|
export class RepoError extends RootError {
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
message;
|
|
5
|
+
meta;
|
|
6
|
+
constructor(message, meta) {
|
|
7
|
+
super(message, meta);
|
|
8
|
+
this.message = message;
|
|
9
|
+
this.meta = meta;
|
|
6
10
|
// https://www.dannyguo.com/blog/how-to-fix-instanceof-not-working-for-custom-errors-in-typescript/
|
|
7
11
|
Object.setPrototypeOf(this, RepoError.prototype);
|
|
8
12
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RepoError.js","sourceRoot":"","sources":["../../../src/errors/RepoError.ts"],"names":[],"mappings":"AAAA,4FAA4F;AAC5F,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1C,MAAM,OAAO,SAAU,SAAQ,SAAS;
|
|
1
|
+
{"version":3,"file":"RepoError.js","sourceRoot":"","sources":["../../../src/errors/RepoError.ts"],"names":[],"mappings":"AAAA,4FAA4F;AAC5F,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1C,MAAM,OAAO,SAAU,SAAQ,SAAS;IAE3B;IACF;IAFT,YACW,OAAe,EACjB,IAGN;QAED,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;QANX,YAAO,GAAP,OAAO,CAAQ;QACjB,SAAI,GAAJ,IAAI,CAGV;QAID,mGAAmG;QACnG,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;IAClD,CAAC;CACF"}
|
|
@@ -1,10 +1,29 @@
|
|
|
1
|
+
export interface IRootError {
|
|
2
|
+
readonly message: string;
|
|
3
|
+
meta?: {
|
|
4
|
+
externalDesc?: string;
|
|
5
|
+
[key: string]: any;
|
|
6
|
+
};
|
|
7
|
+
new (message: string, meta?: {
|
|
8
|
+
externalDesc?: string;
|
|
9
|
+
[key: string]: any;
|
|
10
|
+
}): RootError;
|
|
11
|
+
}
|
|
1
12
|
export declare class RootError extends Error {
|
|
2
|
-
|
|
13
|
+
readonly message: string;
|
|
14
|
+
meta?: {
|
|
15
|
+
externalDesc?: string;
|
|
16
|
+
[key: string]: any;
|
|
17
|
+
} | undefined;
|
|
3
18
|
/**
|
|
4
19
|
* Create a RootError
|
|
5
|
-
* @param [
|
|
6
|
-
* @param [
|
|
7
|
-
*
|
|
20
|
+
* @param [message] Internal message, console, logs, etc.
|
|
21
|
+
* @param [meta] External message, metadata, etc.
|
|
22
|
+
* @param [meta.externalDesc] External message, user facing message
|
|
23
|
+
* @param [meta.*] Any other meta data
|
|
8
24
|
*/
|
|
9
|
-
constructor(
|
|
25
|
+
constructor(message: string, meta?: {
|
|
26
|
+
externalDesc?: string;
|
|
27
|
+
[key: string]: any;
|
|
28
|
+
} | undefined);
|
|
10
29
|
}
|
|
@@ -1,28 +1,23 @@
|
|
|
1
1
|
export class RootError extends Error {
|
|
2
|
-
|
|
2
|
+
message;
|
|
3
|
+
meta;
|
|
3
4
|
/**
|
|
4
5
|
* Create a RootError
|
|
5
|
-
* @param [
|
|
6
|
-
* @param [
|
|
7
|
-
*
|
|
6
|
+
* @param [message] Internal message, console, logs, etc.
|
|
7
|
+
* @param [meta] External message, metadata, etc.
|
|
8
|
+
* @param [meta.externalDesc] External message, user facing message
|
|
9
|
+
* @param [meta.*] Any other meta data
|
|
8
10
|
*/
|
|
9
|
-
constructor(
|
|
10
|
-
|
|
11
|
-
|
|
11
|
+
constructor(message, meta) {
|
|
12
|
+
this.message = message;
|
|
13
|
+
this.meta = meta;
|
|
14
|
+
if (Array.isArray(message)) {
|
|
15
|
+
super(message.join(', '));
|
|
12
16
|
}
|
|
13
17
|
else {
|
|
14
|
-
super(
|
|
18
|
+
super(message);
|
|
15
19
|
}
|
|
16
|
-
|
|
17
|
-
this.message = Array.isArray(internalDesc)
|
|
18
|
-
? JSON.stringify(internalDesc)
|
|
19
|
-
: internalDesc;
|
|
20
|
-
}
|
|
21
|
-
else {
|
|
22
|
-
this.message = externalDesc || '';
|
|
23
|
-
}
|
|
24
|
-
this.externalDesc = externalDesc;
|
|
25
|
-
// https://www.dannyguo.com/blog/how-to-fix-instanceof-not-working-for-custom-errors-in-typescript/https://www.dannyguo.com/blog/how-to-fix-instanceof-not-working-for-custom-errors-in-typescript/
|
|
20
|
+
// https://www.dannyguo.com/blog/how-to-fix-instanceof-not-working-for-custom-errors-in-typescript/
|
|
26
21
|
Object.setPrototypeOf(this, RootError.prototype);
|
|
27
22
|
}
|
|
28
23
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RootError.js","sourceRoot":"","sources":["../../../src/errors/RootError.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"RootError.js","sourceRoot":"","sources":["../../../src/errors/RootError.ts"],"names":[],"mappings":"AAgBA,MAAM,OAAO,SAAU,SAAQ,KAAK;IASvB;IACF;IATT;;;;;;OAMG;IACH,YACW,OAAe,EACjB,IAGN;QAJQ,YAAO,GAAP,OAAO,CAAQ;QACjB,SAAI,GAAJ,IAAI,CAGV;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;QAC3B,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,OAAO,CAAC,CAAA;QAChB,CAAC;QAED,mGAAmG;QACnG,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;IAClD,CAAC;CACF"}
|
|
@@ -1,4 +1,12 @@
|
|
|
1
1
|
import { RootError } from './RootError.js';
|
|
2
2
|
export declare class ServiceError extends RootError {
|
|
3
|
-
|
|
3
|
+
readonly message: string;
|
|
4
|
+
meta?: {
|
|
5
|
+
externalDesc?: string;
|
|
6
|
+
[key: string]: any;
|
|
7
|
+
} | undefined;
|
|
8
|
+
constructor(message: string, meta?: {
|
|
9
|
+
externalDesc?: string;
|
|
10
|
+
[key: string]: any;
|
|
11
|
+
} | undefined);
|
|
4
12
|
}
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
// Used inside Service classes to throw an error for some logic or other Service specific behavior
|
|
2
2
|
import { RootError } from './RootError.js';
|
|
3
3
|
export class ServiceError extends RootError {
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
message;
|
|
5
|
+
meta;
|
|
6
|
+
constructor(message, meta) {
|
|
7
|
+
super(message, meta);
|
|
8
|
+
this.message = message;
|
|
9
|
+
this.meta = meta;
|
|
6
10
|
// https://www.dannyguo.com/blog/how-to-fix-instanceof-not-working-for-custom-errors-in-typescript/
|
|
7
11
|
Object.setPrototypeOf(this, ServiceError.prototype);
|
|
8
12
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServiceError.js","sourceRoot":"","sources":["../../../src/errors/ServiceError.ts"],"names":[],"mappings":"AAAA,kGAAkG;AAClG,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1C,MAAM,OAAO,YAAa,SAAQ,SAAS;
|
|
1
|
+
{"version":3,"file":"ServiceError.js","sourceRoot":"","sources":["../../../src/errors/ServiceError.ts"],"names":[],"mappings":"AAAA,kGAAkG;AAClG,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1C,MAAM,OAAO,YAAa,SAAQ,SAAS;IAE9B;IACF;IAFT,YACW,OAAe,EACjB,IAGN;QAED,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;QANX,YAAO,GAAP,OAAO,CAAQ;QACjB,SAAI,GAAJ,IAAI,CAGV;QAID,mGAAmG;QACnG,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,YAAY,CAAC,SAAS,CAAC,CAAA;IACrD,CAAC;CACF"}
|
|
@@ -5,5 +5,13 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { RootError } from './RootError.js';
|
|
7
7
|
export declare class UseCaseError extends RootError {
|
|
8
|
-
|
|
8
|
+
readonly message: string;
|
|
9
|
+
meta?: {
|
|
10
|
+
externalDesc?: string;
|
|
11
|
+
[key: string]: any;
|
|
12
|
+
} | undefined;
|
|
13
|
+
constructor(message: string, meta?: {
|
|
14
|
+
externalDesc?: string;
|
|
15
|
+
[key: string]: any;
|
|
16
|
+
} | undefined);
|
|
9
17
|
}
|
|
@@ -5,8 +5,12 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { RootError } from './RootError.js';
|
|
7
7
|
export class UseCaseError extends RootError {
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
message;
|
|
9
|
+
meta;
|
|
10
|
+
constructor(message, meta) {
|
|
11
|
+
super(message, meta);
|
|
12
|
+
this.message = message;
|
|
13
|
+
this.meta = meta;
|
|
10
14
|
// https://www.dannyguo.com/blog/how-to-fix-instanceof-not-working-for-custom-errors-in-typescript/
|
|
11
15
|
Object.setPrototypeOf(this, UseCaseError.prototype);
|
|
12
16
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UseCaseError.js","sourceRoot":"","sources":["../../../src/errors/UseCaseError.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1C,MAAM,OAAO,YAAa,SAAQ,SAAS;
|
|
1
|
+
{"version":3,"file":"UseCaseError.js","sourceRoot":"","sources":["../../../src/errors/UseCaseError.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1C,MAAM,OAAO,YAAa,SAAQ,SAAS;IAE9B;IACF;IAFT,YACW,OAAe,EACjB,IAGN;QAED,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;QANX,YAAO,GAAP,OAAO,CAAQ;QACjB,SAAI,GAAJ,IAAI,CAGV;QAID,mGAAmG;QACnG,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,YAAY,CAAC,SAAS,CAAC,CAAA;IACrD,CAAC;CACF"}
|
|
@@ -1,4 +1,12 @@
|
|
|
1
1
|
import { RootError } from './RootError.js';
|
|
2
2
|
export declare class ValidationError extends RootError {
|
|
3
|
-
|
|
3
|
+
readonly message: string;
|
|
4
|
+
meta?: {
|
|
5
|
+
externalDesc?: string;
|
|
6
|
+
[key: string]: any;
|
|
7
|
+
} | undefined;
|
|
8
|
+
constructor(message: string, meta?: {
|
|
9
|
+
externalDesc?: string;
|
|
10
|
+
[key: string]: any;
|
|
11
|
+
} | undefined);
|
|
4
12
|
}
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
// Used when user input data validation fails
|
|
2
2
|
import { RootError } from './RootError.js';
|
|
3
3
|
export class ValidationError extends RootError {
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
message;
|
|
5
|
+
meta;
|
|
6
|
+
constructor(message, meta) {
|
|
7
|
+
super(message, meta);
|
|
8
|
+
this.message = message;
|
|
9
|
+
this.meta = meta;
|
|
6
10
|
// https://www.dannyguo.com/blog/how-to-fix-instanceof-not-working-for-custom-errors-in-typescript/
|
|
7
11
|
Object.setPrototypeOf(this, ValidationError.prototype);
|
|
8
12
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ValidationError.js","sourceRoot":"","sources":["../../../src/errors/ValidationError.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1C,MAAM,OAAO,eAAgB,SAAQ,SAAS;
|
|
1
|
+
{"version":3,"file":"ValidationError.js","sourceRoot":"","sources":["../../../src/errors/ValidationError.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1C,MAAM,OAAO,eAAgB,SAAQ,SAAS;IAEjC;IACF;IAFT,YACW,OAAe,EACjB,IAGN;QAED,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;QANX,YAAO,GAAP,OAAO,CAAQ;QACjB,SAAI,GAAJ,IAAI,CAGV;QAID,mGAAmG;QACnG,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,eAAe,CAAC,SAAS,CAAC,CAAA;IACxD,CAAC;CACF"}
|
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
import { describe, test, expect } from 'vitest';
|
|
2
|
-
import { RootError } from
|
|
3
|
-
import { AuthError } from
|
|
4
|
-
import { EntityError } from
|
|
5
|
-
import { ExpiredError } from
|
|
6
|
-
import { NotFoundError } from
|
|
7
|
-
import { ParamError } from
|
|
8
|
-
import { UseCaseError } from
|
|
9
|
-
import { ValidationError } from
|
|
2
|
+
import { RootError } from './RootError.js';
|
|
3
|
+
import { AuthError } from './AuthError.js';
|
|
4
|
+
import { EntityError } from './EntityError.js';
|
|
5
|
+
import { ExpiredError } from './ExpiredError.js';
|
|
6
|
+
import { NotFoundError } from './NotFoundError.js';
|
|
7
|
+
import { ParamError } from './ParamError.js';
|
|
8
|
+
import { UseCaseError } from './UseCaseError.js';
|
|
9
|
+
import { ValidationError } from './ValidationError.js';
|
|
10
10
|
describe('rootErrors', () => {
|
|
11
11
|
test('instanceof DomainError', () => {
|
|
12
12
|
expect(new RootError('')).toBeInstanceOf(Error);
|
|
13
13
|
expect(new RootError('')).toBeInstanceOf(RootError);
|
|
14
14
|
});
|
|
15
15
|
test('instanceof AuthError', () => {
|
|
16
|
-
expect(new AuthError('',
|
|
17
|
-
expect(new AuthError('',
|
|
18
|
-
expect(new AuthError('',
|
|
16
|
+
expect(new AuthError('', { errorType: 'NOT_AUTHENTICATED' })).toBeInstanceOf(Error);
|
|
17
|
+
expect(new AuthError('', { errorType: 'NOT_AUTHENTICATED' })).toBeInstanceOf(RootError);
|
|
18
|
+
expect(new AuthError('', { errorType: 'NOT_AUTHENTICATED' })).toBeInstanceOf(AuthError);
|
|
19
19
|
});
|
|
20
20
|
test('instanceof EntityError', () => {
|
|
21
21
|
expect(new EntityError('')).toBeInstanceOf(Error);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.test.js","sourceRoot":"","sources":["../../../src/errors/errors.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"errors.test.js","sourceRoot":"","sources":["../../../src/errors/errors.test.ts"],"names":[],"mappings":"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"}
|