@velony/domain 3.3.2 → 3.3.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.
- package/dist/aggregate-root.js +7 -8
- package/dist/aggregate-root.js.map +1 -1
- package/dist/domain-event.js +26 -0
- package/dist/domain-event.js.map +1 -1
- package/dist/entity.js +7 -0
- package/dist/entity.js.map +1 -1
- package/dist/id.js +2 -0
- package/dist/id.js.map +1 -1
- package/dist/primitive-value-object.js +2 -0
- package/dist/primitive-value-object.js.map +1 -1
- package/dist/value-object.js +7 -0
- package/dist/value-object.js.map +1 -1
- package/dist/value-objects/storage-path.vo.js +2 -0
- package/dist/value-objects/storage-path.vo.js.map +1 -1
- package/package.json +1 -1
package/dist/aggregate-root.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.AggregateRoot = void 0;
|
|
4
4
|
const entity_1 = require("./entity");
|
|
5
|
+
const AGGREGATE_ROOT_BRAND = Symbol('AggregateRoot');
|
|
5
6
|
/**
|
|
6
7
|
* Abstract base class for aggregate roots in Domain-Driven Design.
|
|
7
8
|
* An aggregate root is the entry point to an aggregate and is responsible for
|
|
@@ -12,14 +13,12 @@ const entity_1 = require("./entity");
|
|
|
12
13
|
* @extends Entity
|
|
13
14
|
*/
|
|
14
15
|
class AggregateRoot extends entity_1.Entity {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
this._domainEvents = [];
|
|
22
|
-
}
|
|
16
|
+
[AGGREGATE_ROOT_BRAND];
|
|
17
|
+
/**
|
|
18
|
+
* Collection of domain events that have occurred within this aggregate.
|
|
19
|
+
* @private
|
|
20
|
+
*/
|
|
21
|
+
_domainEvents = [];
|
|
23
22
|
/**
|
|
24
23
|
* Retrieves and clears all pending domain events from the aggregate.
|
|
25
24
|
* This method is typically called by infrastructure code after persisting
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aggregate-root.js","sourceRoot":"","sources":["../src/aggregate-root.ts"],"names":[],"mappings":";;;AACA,qCAAkC;
|
|
1
|
+
{"version":3,"file":"aggregate-root.js","sourceRoot":"","sources":["../src/aggregate-root.ts"],"names":[],"mappings":";;;AACA,qCAAkC;AAGlC,MAAM,oBAAoB,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;AAErD;;;;;;;;GAQG;AACH,MAAsB,aAEpB,SAAQ,eAAmB;IACV,CAAC,oBAAoB,CAAC,CAAO;IAE9C;;;OAGG;IACK,aAAa,GAAqB,EAAE,CAAC;IAE7C;;;;;;OAMG;IACI,gBAAgB;QACrB,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC;QACvC,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;OAMG;IACI,eAAe,CAAC,KAAqB;QAC1C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;CACF;AAlCD,sCAkCC"}
|
package/dist/domain-event.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.DomainEvent = void 0;
|
|
4
4
|
const uuid_1 = require("uuid");
|
|
5
|
+
const DOMAIN_EVENT_BRAND = Symbol('DomainEvent');
|
|
5
6
|
/**
|
|
6
7
|
* Abstract base class for domain events in Domain-Driven Design.
|
|
7
8
|
* A domain event represents something that happened in the domain that
|
|
@@ -10,6 +11,31 @@ const uuid_1 = require("uuid");
|
|
|
10
11
|
* @template TType - The type identifier for the event (must be registered in DomainEventRegistry)
|
|
11
12
|
*/
|
|
12
13
|
class DomainEvent {
|
|
14
|
+
[DOMAIN_EVENT_BRAND];
|
|
15
|
+
/**
|
|
16
|
+
* Type identifier for the event.
|
|
17
|
+
*/
|
|
18
|
+
type;
|
|
19
|
+
/**
|
|
20
|
+
* Unique identifier for this event instance (UUIDv7).
|
|
21
|
+
* @readonly
|
|
22
|
+
*/
|
|
23
|
+
id;
|
|
24
|
+
/**
|
|
25
|
+
* The identifier of the aggregate that produced this event.
|
|
26
|
+
* @readonly
|
|
27
|
+
*/
|
|
28
|
+
aggregateId;
|
|
29
|
+
/**
|
|
30
|
+
* The data payload specific to this event.
|
|
31
|
+
* @readonly
|
|
32
|
+
*/
|
|
33
|
+
payload;
|
|
34
|
+
/**
|
|
35
|
+
* The timestamp when this event occurred.
|
|
36
|
+
* @readonly
|
|
37
|
+
*/
|
|
38
|
+
occurredAt;
|
|
13
39
|
/**
|
|
14
40
|
* Creates a new domain event.
|
|
15
41
|
*
|
package/dist/domain-event.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"domain-event.js","sourceRoot":"","sources":["../src/domain-event.ts"],"names":[],"mappings":";;;AAAA,+BAAoC;
|
|
1
|
+
{"version":3,"file":"domain-event.js","sourceRoot":"","sources":["../src/domain-event.ts"],"names":[],"mappings":";;;AAAA,+BAAoC;AAGpC,MAAM,kBAAkB,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;AAajD;;;;;;GAMG;AACH,MAAsB,WAAW;IACd,CAAC,kBAAkB,CAAC,CAAO;IAE5C;;OAEG;IACa,IAAI,CAAQ;IAE5B;;;OAGG;IACa,EAAE,CAAS;IAE3B;;;OAGG;IACa,WAAW,CAA4C;IAEvE;;;OAGG;IACa,OAAO,CAAwC;IAE/D;;;OAGG;IACa,UAAU,CAAO;IAEjC;;;;;;;OAOG;IACH,YACE,IAAW,EACX,WAAsD,EACtD,OAA8C;QAE9C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,EAAE,GAAG,IAAA,SAAM,GAAE,CAAC;QACnB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CACF;AAnDD,kCAmDC"}
|
package/dist/entity.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Entity = void 0;
|
|
4
|
+
const ENTITY_BRAND = Symbol('Entity');
|
|
4
5
|
/**
|
|
5
6
|
* Abstract base class for entities in Domain-Driven Design.
|
|
6
7
|
* An entity is an object that has a distinct identity that runs through time
|
|
@@ -10,6 +11,12 @@ exports.Entity = void 0;
|
|
|
10
11
|
* @template TIdentifier - The type of identifier for the entity, must extend Id
|
|
11
12
|
*/
|
|
12
13
|
class Entity {
|
|
14
|
+
[ENTITY_BRAND];
|
|
15
|
+
/**
|
|
16
|
+
* The unique identifier for this entity.
|
|
17
|
+
* @protected
|
|
18
|
+
*/
|
|
19
|
+
_id;
|
|
13
20
|
/**
|
|
14
21
|
* Creates a new entity with the given identifier.
|
|
15
22
|
*
|
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":";;;AAEA,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;AAEtC;;;;;;;GAOG;AACH,MAAsB,MAAM;IACT,CAAC,YAAY,CAAC,CAAO;IAEtC;;;OAGG;IACgB,GAAG,CAAc;IAEpC;;;;;OAKG;IACH,YAAsB,EAAe;QACnC,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;IAChB,CAAC;IAED;;;;OAIG;IACH,IAAW,EAAE;QACX,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAED;;;;;;OAMG;IACI,MAAM,CAAC,KAAW;QACvB,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC;CACF;AAtCD,wBAsCC"}
|
package/dist/id.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Id = void 0;
|
|
4
4
|
const primitive_value_object_js_1 = require("./primitive-value-object.js");
|
|
5
|
+
const ID_BRAND = Symbol('Id');
|
|
5
6
|
/**
|
|
6
7
|
* Abstract base class for entity identifiers.
|
|
7
8
|
* Represents a unique identifier for domain entities, ensuring type safety
|
|
@@ -11,6 +12,7 @@ const primitive_value_object_js_1 = require("./primitive-value-object.js");
|
|
|
11
12
|
* @extends PrimitiveValueObject
|
|
12
13
|
*/
|
|
13
14
|
class Id extends primitive_value_object_js_1.PrimitiveValueObject {
|
|
15
|
+
[ID_BRAND];
|
|
14
16
|
}
|
|
15
17
|
exports.Id = Id;
|
|
16
18
|
//# sourceMappingURL=id.js.map
|
package/dist/id.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"id.js","sourceRoot":"","sources":["../src/id.ts"],"names":[],"mappings":";;;AAAA,2EAAmE;
|
|
1
|
+
{"version":3,"file":"id.js","sourceRoot":"","sources":["../src/id.ts"],"names":[],"mappings":";;;AAAA,2EAAmE;AAEnE,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;AAE9B;;;;;;;GAOG;AACH,MAAsB,EAEpB,SAAQ,gDAAuB;IACd,CAAC,QAAQ,CAAC,CAAO;CACnC;AAJD,gBAIC"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.PrimitiveValueObject = void 0;
|
|
4
4
|
const value_object_1 = require("./value-object");
|
|
5
|
+
const PRIMITIVE_VO_BRAND = Symbol('PrimitiveValueObject');
|
|
5
6
|
/**
|
|
6
7
|
* Abstract base class for value objects wrapping primitive values.
|
|
7
8
|
* This class provides a convenient base for value objects that wrap
|
|
@@ -12,6 +13,7 @@ const value_object_1 = require("./value-object");
|
|
|
12
13
|
* @extends ValueObject
|
|
13
14
|
*/
|
|
14
15
|
class PrimitiveValueObject extends value_object_1.ValueObject {
|
|
16
|
+
[PRIMITIVE_VO_BRAND];
|
|
15
17
|
/**
|
|
16
18
|
* Checks if this value object is equal to another by comparing primitive values.
|
|
17
19
|
* Uses strict equality (===) for comparison.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"primitive-value-object.js","sourceRoot":"","sources":["../src/primitive-value-object.ts"],"names":[],"mappings":";;;AAAA,iDAA6C;
|
|
1
|
+
{"version":3,"file":"primitive-value-object.js","sourceRoot":"","sources":["../src/primitive-value-object.ts"],"names":[],"mappings":";;;AAAA,iDAA6C;AAE7C,MAAM,kBAAkB,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAC;AAE1D;;;;;;;;GAQG;AACH,MAAsB,oBAEpB,SAAQ,0BAAc;IACL,CAAC,kBAAkB,CAAC,CAAO;IAE5C;;;;;;OAMG;IACI,MAAM,CAAC,KAAW;QACvB,OAAO,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,CAAC;IACtC,CAAC;IAED;;;;OAIG;IACI,QAAQ;QACb,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;CACF;AAxBD,oDAwBC"}
|
package/dist/value-object.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ValueObject = void 0;
|
|
4
|
+
const VO_BRAND = Symbol('ValueObject');
|
|
4
5
|
/**
|
|
5
6
|
* Abstract base class for value objects in Domain-Driven Design.
|
|
6
7
|
* A value object is an immutable object that represents a descriptive aspect
|
|
@@ -10,6 +11,12 @@ exports.ValueObject = void 0;
|
|
|
10
11
|
* @template TValue - The type of the wrapped value
|
|
11
12
|
*/
|
|
12
13
|
class ValueObject {
|
|
14
|
+
[VO_BRAND];
|
|
15
|
+
/**
|
|
16
|
+
* The encapsulated value.
|
|
17
|
+
* @protected
|
|
18
|
+
*/
|
|
19
|
+
_value;
|
|
13
20
|
/**
|
|
14
21
|
* Creates a new value object wrapping the given value.
|
|
15
22
|
*
|
package/dist/value-object.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"value-object.js","sourceRoot":"","sources":["../src/value-object.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"value-object.js","sourceRoot":"","sources":["../src/value-object.ts"],"names":[],"mappings":";;;AAAA,MAAM,QAAQ,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;AAEvC;;;;;;;GAOG;AACH,MAAsB,WAAW;IACd,CAAC,QAAQ,CAAC,CAAO;IAElC;;;OAGG;IACgB,MAAM,CAAS;IAElC;;;;;OAKG;IACH,YAAsB,KAAa;QACjC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,CAAC;IAED;;;;OAIG;IACH,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;CAiBF;AA3CD,kCA2CC"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.StoragePath = void 0;
|
|
4
4
|
const primitive_value_object_1 = require("../primitive-value-object");
|
|
5
|
+
const STORAGE_PATH_VO_BRAND = Symbol('StoragePath');
|
|
5
6
|
/**
|
|
6
7
|
* Value object representing a storage path with validation.
|
|
7
8
|
* Ensures paths are safe and properly formatted for storage operations.
|
|
@@ -10,6 +11,7 @@ const primitive_value_object_1 = require("../primitive-value-object");
|
|
|
10
11
|
* @extends PrimitiveValueObject
|
|
11
12
|
*/
|
|
12
13
|
class StoragePath extends primitive_value_object_1.PrimitiveValueObject {
|
|
14
|
+
[STORAGE_PATH_VO_BRAND];
|
|
13
15
|
/**
|
|
14
16
|
* Private constructor to enforce factory method usage.
|
|
15
17
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage-path.vo.js","sourceRoot":"","sources":["../../src/value-objects/storage-path.vo.ts"],"names":[],"mappings":";;;AAAA,sEAAiE;
|
|
1
|
+
{"version":3,"file":"storage-path.vo.js","sourceRoot":"","sources":["../../src/value-objects/storage-path.vo.ts"],"names":[],"mappings":";;;AAAA,sEAAiE;AAEjE,MAAM,qBAAqB,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;AAEpD;;;;;;GAMG;AACH,MAAa,WAAY,SAAQ,6CAA4B;IAC1C,CAAC,qBAAqB,CAAC,CAAO;IAE/C;;;;;OAKG;IACH,YAAoB,KAAa;QAC/B,KAAK,CAAC,KAAK,CAAC,CAAC;IACf,CAAC;IAED;;;;;;;;OAQG;IACI,MAAM,CAAC,MAAM,CAAC,KAAa;QAChC,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC1D,CAAC;QACD,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAClE,CAAC;QACD,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACpD,CAAC;QAED,OAAO,IAAI,WAAW,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAED;;;;;;;;;OASG;IACI,KAAK,CAAC,OAAe;QAC1B,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;IACxD,CAAC;IAED;;;;;;;OAOG;IACH,IAAW,SAAS;QAClB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrC,OAAO,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IAC3C,CAAC;CACF;AA9DD,kCA8DC"}
|