@woltz/rich-domain 1.0.0 → 1.2.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/CHANGELOG.md +37 -86
- package/LICENSE +20 -20
- package/dist/base-entity.d.ts +1 -1
- package/dist/base-entity.d.ts.map +1 -1
- package/dist/base-entity.js +15 -19
- package/dist/base-entity.js.map +1 -1
- package/dist/constants.js +1 -4
- package/dist/constants.js.map +1 -1
- package/dist/criteria.d.ts +24 -14
- package/dist/criteria.d.ts.map +1 -1
- package/dist/criteria.js +154 -67
- package/dist/criteria.js.map +1 -1
- package/dist/deep-proxy.d.ts.map +1 -1
- package/dist/deep-proxy.js +19 -9
- package/dist/deep-proxy.js.map +1 -1
- package/dist/domain-event-bus.d.ts +5 -6
- package/dist/domain-event-bus.d.ts.map +1 -1
- package/dist/domain-event-bus.js +4 -17
- package/dist/domain-event-bus.js.map +1 -1
- package/dist/domain-event.d.ts +1 -31
- package/dist/domain-event.d.ts.map +1 -1
- package/dist/domain-event.js +4 -7
- package/dist/domain-event.js.map +1 -1
- package/dist/entity.d.ts +2 -2
- package/dist/entity.js +3 -8
- package/dist/entity.js.map +1 -1
- package/dist/exceptions.d.ts +251 -0
- package/dist/exceptions.d.ts.map +1 -0
- package/dist/exceptions.js +321 -0
- package/dist/exceptions.js.map +1 -0
- package/dist/id.d.ts.map +1 -1
- package/dist/id.js +14 -7
- package/dist/id.js.map +1 -1
- package/dist/index.d.ts +2 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -40
- package/dist/index.js.map +1 -1
- package/dist/mapper.js +1 -5
- package/dist/mapper.js.map +1 -1
- package/dist/paginated-result.d.ts.map +1 -1
- package/dist/paginated-result.js +17 -9
- package/dist/paginated-result.js.map +1 -1
- package/dist/repository/base-repository.js +4 -11
- package/dist/repository/base-repository.js.map +1 -1
- package/dist/repository/index.d.ts +1 -2
- package/dist/repository/index.d.ts.map +1 -1
- package/dist/repository/index.js +3 -26
- package/dist/repository/index.js.map +1 -1
- package/dist/repository/unit-of-work.d.ts +0 -11
- package/dist/repository/unit-of-work.d.ts.map +1 -1
- package/dist/repository/unit-of-work.js +2 -43
- package/dist/repository/unit-of-work.js.map +1 -1
- package/dist/types/criteria.d.ts +31 -7
- package/dist/types/criteria.d.ts.map +1 -1
- package/dist/types/criteria.js +1 -4
- package/dist/types/criteria.js.map +1 -1
- package/dist/types/domain-event.d.ts +32 -0
- package/dist/types/domain-event.d.ts.map +1 -0
- package/dist/types/domain-event.js +2 -0
- package/dist/types/domain-event.js.map +1 -0
- package/dist/types/domain.d.ts +2 -2
- package/dist/types/domain.d.ts.map +1 -1
- package/dist/types/domain.js +1 -2
- package/dist/types/history-tracker.d.ts +1 -1
- package/dist/types/history-tracker.d.ts.map +1 -1
- package/dist/types/history-tracker.js +1 -2
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +7 -22
- package/dist/types/index.js.map +1 -1
- package/dist/types/standard-schema.js +1 -2
- package/dist/types/unit-of-work.js +1 -2
- package/dist/types/utils.js +1 -2
- package/dist/utils/criteria-operator-validation.d.ts +5 -0
- package/dist/utils/criteria-operator-validation.d.ts.map +1 -0
- package/dist/utils/criteria-operator-validation.js +143 -0
- package/dist/utils/criteria-operator-validation.js.map +1 -0
- package/dist/utils/helpers.d.ts +2 -0
- package/dist/utils/helpers.d.ts.map +1 -0
- package/dist/utils/helpers.js +10 -0
- package/dist/utils/helpers.js.map +1 -0
- package/dist/validation-error.js +3 -9
- package/dist/validation-error.js.map +1 -1
- package/dist/value-object.d.ts +1 -1
- package/dist/value-object.d.ts.map +1 -1
- package/dist/value-object.js +7 -14
- package/dist/value-object.js.map +1 -1
- package/eslint.config.js +9 -3
- package/jest.config.js +1 -1
- package/package.json +14 -20
- package/src/base-entity.ts +3 -3
- package/src/criteria.ts +268 -87
- package/src/deep-proxy.ts +50 -38
- package/src/domain-event-bus.ts +152 -166
- package/src/domain-event.ts +53 -90
- package/src/entity.ts +16 -16
- package/src/exceptions.ts +435 -0
- package/src/id.ts +107 -94
- package/src/index.ts +32 -8
- package/src/paginated-result.ts +15 -3
- package/src/repository/index.ts +1 -6
- package/src/repository/unit-of-work.ts +1 -44
- package/src/types/criteria.ts +95 -17
- package/src/types/domain-event.ts +38 -0
- package/src/types/domain.ts +2 -3
- package/src/types/history-tracker.ts +1 -1
- package/src/types/index.ts +1 -0
- package/src/utils/criteria-operator-validation.ts +171 -0
- package/src/utils/helpers.ts +6 -0
- package/src/validation-error.ts +97 -97
- package/src/value-object.ts +3 -6
- package/tests/criteria.test.ts +324 -1
- package/tests/domain-events.test.ts +431 -445
- package/tests/entity-validation.test.ts +1 -1
- package/tests/entity.test.ts +33 -33
- package/tests/repository.test.ts +4 -2
- package/tests/utils.ts +254 -151
- package/tests/value-object-validation.test.ts +0 -9
- package/tsconfig.json +2 -24
- package/.github/workflows/ci.yml +0 -40
- package/.husky/commit-msg +0 -1
- package/.husky/pre-commit +0 -1
- package/.vscode/settings.json +0 -3
- package/commitlint.config.js +0 -23
- package/dist/repository/in-memory-repository.d.ts +0 -50
- package/dist/repository/in-memory-repository.d.ts.map +0 -1
- package/dist/repository/in-memory-repository.js +0 -97
- package/dist/repository/in-memory-repository.js.map +0 -1
- package/src/repository/in-memory-repository.ts +0 -116
package/dist/domain-event.d.ts
CHANGED
|
@@ -1,25 +1,5 @@
|
|
|
1
|
+
import { IDomainEvent } from ".";
|
|
1
2
|
import { Id } from "./id";
|
|
2
|
-
/**
|
|
3
|
-
* Interface for all domain events
|
|
4
|
-
*/
|
|
5
|
-
export interface IDomainEvent {
|
|
6
|
-
/**
|
|
7
|
-
* Unique identifier for this event occurrence
|
|
8
|
-
*/
|
|
9
|
-
readonly eventId: string;
|
|
10
|
-
/**
|
|
11
|
-
* When the event occurred
|
|
12
|
-
*/
|
|
13
|
-
readonly occurredOn: Date;
|
|
14
|
-
/**
|
|
15
|
-
* Name/type of the event (e.g., "UserCreated", "OrderPlaced")
|
|
16
|
-
*/
|
|
17
|
-
readonly eventName: string;
|
|
18
|
-
/**
|
|
19
|
-
* ID of the aggregate that raised this event
|
|
20
|
-
*/
|
|
21
|
-
readonly aggregateId: string;
|
|
22
|
-
}
|
|
23
3
|
/**
|
|
24
4
|
* Base class for domain events
|
|
25
5
|
*/
|
|
@@ -42,14 +22,4 @@ export declare abstract class DomainEvent implements IDomainEvent {
|
|
|
42
22
|
*/
|
|
43
23
|
protected getPayload(): Record<string, any>;
|
|
44
24
|
}
|
|
45
|
-
/**
|
|
46
|
-
* Event handler function type
|
|
47
|
-
*/
|
|
48
|
-
export type DomainEventHandler<T extends IDomainEvent = IDomainEvent> = (event: T) => void | Promise<void>;
|
|
49
|
-
/**
|
|
50
|
-
* Event handler class type
|
|
51
|
-
*/
|
|
52
|
-
export interface IDomainEventHandler<T extends IDomainEvent = IDomainEvent> {
|
|
53
|
-
handle(event: T): void | Promise<void>;
|
|
54
|
-
}
|
|
55
25
|
//# sourceMappingURL=domain-event.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"domain-event.d.ts","sourceRoot":"","sources":["../src/domain-event.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"domain-event.d.ts","sourceRoot":"","sources":["../src/domain-event.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,GAAG,CAAC;AACjC,OAAO,EAAE,EAAE,EAAE,MAAM,MAAM,CAAC;AAE1B;;GAEG;AACH,8BAAsB,WAAY,YAAW,YAAY;IACvD,SAAgB,OAAO,EAAE,MAAM,CAAC;IAChC,SAAgB,UAAU,EAAE,IAAI,CAAC;IACjC,SAAgB,WAAW,EAAE,MAAM,CAAC;gBAExB,WAAW,EAAE,EAAE,GAAG,MAAM;IAOpC;;OAEG;IACH,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,OAAO,CAAC,eAAe;IAIvB;;OAEG;IACH,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAU7B;;OAEG;IACH,SAAS,CAAC,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAG5C"}
|
package/dist/domain-event.js
CHANGED
|
@@ -1,18 +1,16 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
// ============================================================================
|
|
3
2
|
// Domain Events - Event-Driven Architecture Support
|
|
4
3
|
// ============================================================================
|
|
5
|
-
|
|
6
|
-
exports.DomainEvent = void 0;
|
|
7
|
-
const id_1 = require("./id");
|
|
4
|
+
import { Id } from "./id";
|
|
8
5
|
/**
|
|
9
6
|
* Base class for domain events
|
|
10
7
|
*/
|
|
11
|
-
class DomainEvent {
|
|
8
|
+
export class DomainEvent {
|
|
12
9
|
constructor(aggregateId) {
|
|
13
10
|
this.eventId = this.generateEventId();
|
|
14
11
|
this.occurredOn = new Date();
|
|
15
|
-
this.aggregateId =
|
|
12
|
+
this.aggregateId =
|
|
13
|
+
aggregateId instanceof Id ? aggregateId.value : aggregateId;
|
|
16
14
|
}
|
|
17
15
|
/**
|
|
18
16
|
* Get the event name (defaults to class name)
|
|
@@ -42,5 +40,4 @@ class DomainEvent {
|
|
|
42
40
|
return {};
|
|
43
41
|
}
|
|
44
42
|
}
|
|
45
|
-
exports.DomainEvent = DomainEvent;
|
|
46
43
|
//# sourceMappingURL=domain-event.js.map
|
package/dist/domain-event.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"domain-event.js","sourceRoot":"","sources":["../src/domain-event.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"domain-event.js","sourceRoot":"","sources":["../src/domain-event.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,oDAAoD;AACpD,+EAA+E;AAG/E,OAAO,EAAE,EAAE,EAAE,MAAM,MAAM,CAAC;AAE1B;;GAEG;AACH,MAAM,OAAgB,WAAW;IAK/B,YAAY,WAAwB;QAClC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACtC,IAAI,CAAC,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC;QAC7B,IAAI,CAAC,WAAW;YACd,WAAW,YAAY,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC;IAChE,CAAC;IAED;;OAEG;IACH,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;IAC/B,CAAC;IAEO,eAAe;QACrB,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;IACpE,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE;YACzC,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,GAAG,IAAI,CAAC,UAAU,EAAE;SACrB,CAAC;IACJ,CAAC;IAED;;OAEG;IACO,UAAU;QAClB,OAAO,EAAE,CAAC;IACZ,CAAC;CACF"}
|
package/dist/entity.d.ts
CHANGED
package/dist/entity.js
CHANGED
|
@@ -1,20 +1,15 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
// ============================================================================
|
|
3
2
|
// Entity & Aggregate Classes
|
|
4
3
|
// ============================================================================
|
|
5
|
-
|
|
6
|
-
exports.Aggregate = exports.Entity = void 0;
|
|
7
|
-
const base_entity_1 = require("./base-entity");
|
|
4
|
+
import { BaseEntity } from "./base-entity";
|
|
8
5
|
/**
|
|
9
6
|
* Entity - Has identity and lifecycle, but is not an aggregate root
|
|
10
7
|
*/
|
|
11
|
-
class Entity extends
|
|
8
|
+
export class Entity extends BaseEntity {
|
|
12
9
|
}
|
|
13
|
-
exports.Entity = Entity;
|
|
14
10
|
/**
|
|
15
11
|
* Aggregate - Aggregate root that manages a consistency boundary
|
|
16
12
|
*/
|
|
17
|
-
class Aggregate extends
|
|
13
|
+
export class Aggregate extends BaseEntity {
|
|
18
14
|
}
|
|
19
|
-
exports.Aggregate = Aggregate;
|
|
20
15
|
//# sourceMappingURL=entity.js.map
|
package/dist/entity.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity.js","sourceRoot":"","sources":["../src/entity.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"entity.js","sourceRoot":"","sources":["../src/entity.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,6BAA6B;AAC7B,+EAA+E;AAE/E,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAG3C;;GAEG;AACH,MAAM,OAAO,MAA4B,SAAQ,UAAa;CAAG;AAEjE;;GAEG;AACH,MAAM,OAAO,SAA+B,SAAQ,UAAa;CAAG"}
|
|
@@ -0,0 +1,251 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Base exception class for all Rich Domain exceptions
|
|
3
|
+
*/
|
|
4
|
+
declare abstract class DomainException extends Error {
|
|
5
|
+
readonly code: string;
|
|
6
|
+
readonly timestamp: Date;
|
|
7
|
+
readonly __isDomainException = true;
|
|
8
|
+
constructor(message: string, code?: string);
|
|
9
|
+
/**
|
|
10
|
+
* Check if an error is a DomainException
|
|
11
|
+
*/
|
|
12
|
+
static isDomainException(error: unknown): error is DomainException;
|
|
13
|
+
/**
|
|
14
|
+
* Convert to JSON for serialization
|
|
15
|
+
*/
|
|
16
|
+
toJSON(): {
|
|
17
|
+
name: string;
|
|
18
|
+
message: string;
|
|
19
|
+
code: string;
|
|
20
|
+
timestamp: string;
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Thrown when a domain rule or business logic is violated
|
|
25
|
+
*/
|
|
26
|
+
export declare class DomainError extends DomainException {
|
|
27
|
+
constructor(message: string, code?: string);
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Thrown when an entity or aggregate is not found
|
|
31
|
+
*/
|
|
32
|
+
export declare class EntityNotFoundError extends DomainException {
|
|
33
|
+
readonly entityType: string;
|
|
34
|
+
readonly entityId?: string;
|
|
35
|
+
constructor(entityType: string, entityId?: string, message?: string);
|
|
36
|
+
toJSON(): {
|
|
37
|
+
entityType: string;
|
|
38
|
+
entityId: string | undefined;
|
|
39
|
+
name: string;
|
|
40
|
+
message: string;
|
|
41
|
+
code: string;
|
|
42
|
+
timestamp: string;
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Thrown when trying to create an entity that already exists
|
|
47
|
+
*/
|
|
48
|
+
export declare class EntityAlreadyExistsError extends DomainException {
|
|
49
|
+
readonly entityType: string;
|
|
50
|
+
readonly entityId?: string;
|
|
51
|
+
constructor(entityType: string, entityId?: string, message?: string);
|
|
52
|
+
toJSON(): {
|
|
53
|
+
entityType: string;
|
|
54
|
+
entityId: string | undefined;
|
|
55
|
+
name: string;
|
|
56
|
+
message: string;
|
|
57
|
+
code: string;
|
|
58
|
+
timestamp: string;
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Base exception for repository operations
|
|
63
|
+
*/
|
|
64
|
+
export declare class RepositoryError extends DomainException {
|
|
65
|
+
constructor(message: string, code?: string);
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Thrown when a persistence operation fails
|
|
69
|
+
*/
|
|
70
|
+
export declare class PersistenceError extends RepositoryError {
|
|
71
|
+
readonly operation: string;
|
|
72
|
+
readonly cause?: Error;
|
|
73
|
+
constructor(operation: string, message?: string, cause?: Error);
|
|
74
|
+
toJSON(): {
|
|
75
|
+
operation: string;
|
|
76
|
+
cause: string | undefined;
|
|
77
|
+
name: string;
|
|
78
|
+
message: string;
|
|
79
|
+
code: string;
|
|
80
|
+
timestamp: string;
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Thrown when a concurrency conflict occurs (optimistic locking)
|
|
85
|
+
*/
|
|
86
|
+
export declare class ConcurrencyError extends RepositoryError {
|
|
87
|
+
readonly entityType: string;
|
|
88
|
+
readonly entityId: string;
|
|
89
|
+
constructor(entityType: string, entityId: string, message?: string);
|
|
90
|
+
toJSON(): {
|
|
91
|
+
entityType: string;
|
|
92
|
+
entityId: string;
|
|
93
|
+
name: string;
|
|
94
|
+
message: string;
|
|
95
|
+
code: string;
|
|
96
|
+
timestamp: string;
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Thrown when a database constraint is violated
|
|
101
|
+
*/
|
|
102
|
+
export declare class ConstraintViolationError extends RepositoryError {
|
|
103
|
+
readonly constraint: string;
|
|
104
|
+
constructor(constraint: string, message?: string);
|
|
105
|
+
toJSON(): {
|
|
106
|
+
constraint: string;
|
|
107
|
+
name: string;
|
|
108
|
+
message: string;
|
|
109
|
+
code: string;
|
|
110
|
+
timestamp: string;
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Thrown when a value object has invalid data
|
|
115
|
+
*/
|
|
116
|
+
export declare class InvalidValueObjectError extends DomainException {
|
|
117
|
+
readonly valueObjectType: string;
|
|
118
|
+
readonly invalidValue?: any;
|
|
119
|
+
constructor(valueObjectType: string, message: string, invalidValue?: any);
|
|
120
|
+
toJSON(): {
|
|
121
|
+
valueObjectType: string;
|
|
122
|
+
invalidValue: any;
|
|
123
|
+
name: string;
|
|
124
|
+
message: string;
|
|
125
|
+
code: string;
|
|
126
|
+
timestamp: string;
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Thrown when a domain event operation fails
|
|
131
|
+
*/
|
|
132
|
+
export declare class DomainEventError extends DomainException {
|
|
133
|
+
readonly eventType?: string;
|
|
134
|
+
constructor(message: string, eventType?: string);
|
|
135
|
+
toJSON(): {
|
|
136
|
+
eventType: string | undefined;
|
|
137
|
+
name: string;
|
|
138
|
+
message: string;
|
|
139
|
+
code: string;
|
|
140
|
+
timestamp: string;
|
|
141
|
+
};
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Thrown when an event handler fails
|
|
145
|
+
*/
|
|
146
|
+
export declare class EventHandlerError extends DomainEventError {
|
|
147
|
+
readonly handlerName: string;
|
|
148
|
+
readonly cause?: Error;
|
|
149
|
+
constructor(handlerName: string, eventType: string, cause?: Error);
|
|
150
|
+
toJSON(): {
|
|
151
|
+
handlerName: string;
|
|
152
|
+
cause: string | undefined;
|
|
153
|
+
eventType: string | undefined;
|
|
154
|
+
name: string;
|
|
155
|
+
message: string;
|
|
156
|
+
code: string;
|
|
157
|
+
timestamp: string;
|
|
158
|
+
};
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Thrown when a criteria or query is invalid
|
|
162
|
+
*/
|
|
163
|
+
export declare class InvalidCriteriaError extends DomainException {
|
|
164
|
+
readonly field?: string;
|
|
165
|
+
constructor(message: string, field?: string);
|
|
166
|
+
toJSON(): {
|
|
167
|
+
field: string | undefined;
|
|
168
|
+
name: string;
|
|
169
|
+
message: string;
|
|
170
|
+
code: string;
|
|
171
|
+
timestamp: string;
|
|
172
|
+
};
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Thrown when a transaction operation fails
|
|
176
|
+
*/
|
|
177
|
+
export declare class TransactionError extends DomainException {
|
|
178
|
+
readonly operation: string;
|
|
179
|
+
readonly cause?: Error;
|
|
180
|
+
constructor(operation: string, message?: string, cause?: Error);
|
|
181
|
+
toJSON(): {
|
|
182
|
+
operation: string;
|
|
183
|
+
cause: string | undefined;
|
|
184
|
+
name: string;
|
|
185
|
+
message: string;
|
|
186
|
+
code: string;
|
|
187
|
+
timestamp: string;
|
|
188
|
+
};
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* Thrown when an unexpected or unknown error occurs
|
|
192
|
+
*/
|
|
193
|
+
export declare class UnknownError extends DomainException {
|
|
194
|
+
readonly originalError?: Error;
|
|
195
|
+
constructor(message?: string, originalError?: Error);
|
|
196
|
+
toJSON(): {
|
|
197
|
+
originalError: string | undefined;
|
|
198
|
+
name: string;
|
|
199
|
+
message: string;
|
|
200
|
+
code: string;
|
|
201
|
+
timestamp: string;
|
|
202
|
+
};
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
* Thrown when a feature is not implemented yet
|
|
206
|
+
*/
|
|
207
|
+
export declare class NotImplementedError extends DomainException {
|
|
208
|
+
readonly feature: string;
|
|
209
|
+
constructor(feature: string, message?: string);
|
|
210
|
+
toJSON(): {
|
|
211
|
+
feature: string;
|
|
212
|
+
name: string;
|
|
213
|
+
message: string;
|
|
214
|
+
code: string;
|
|
215
|
+
timestamp: string;
|
|
216
|
+
};
|
|
217
|
+
}
|
|
218
|
+
/**
|
|
219
|
+
* Thrown when a required configuration is missing
|
|
220
|
+
*/
|
|
221
|
+
export declare class ConfigurationError extends DomainException {
|
|
222
|
+
readonly configKey?: string;
|
|
223
|
+
constructor(message: string, configKey?: string);
|
|
224
|
+
toJSON(): {
|
|
225
|
+
configKey: string | undefined;
|
|
226
|
+
name: string;
|
|
227
|
+
message: string;
|
|
228
|
+
code: string;
|
|
229
|
+
timestamp: string;
|
|
230
|
+
};
|
|
231
|
+
}
|
|
232
|
+
/**
|
|
233
|
+
* Thrown when mapping between domain and persistence fails
|
|
234
|
+
*/
|
|
235
|
+
export declare class MapperError extends DomainException {
|
|
236
|
+
readonly direction: "toDomain" | "toPersistence";
|
|
237
|
+
readonly entityType: string;
|
|
238
|
+
readonly cause?: Error;
|
|
239
|
+
constructor(direction: "toDomain" | "toPersistence", entityType: string, message?: string, cause?: Error);
|
|
240
|
+
toJSON(): {
|
|
241
|
+
direction: "toDomain" | "toPersistence";
|
|
242
|
+
entityType: string;
|
|
243
|
+
cause: string | undefined;
|
|
244
|
+
name: string;
|
|
245
|
+
message: string;
|
|
246
|
+
code: string;
|
|
247
|
+
timestamp: string;
|
|
248
|
+
};
|
|
249
|
+
}
|
|
250
|
+
export {};
|
|
251
|
+
//# sourceMappingURL=exceptions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exceptions.d.ts","sourceRoot":"","sources":["../src/exceptions.ts"],"names":[],"mappings":"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"}
|