@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.
@@ -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
- constructor() {
16
- super(...arguments);
17
- /**
18
- * Collection of domain events that have occurred within this aggregate.
19
- * @private
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;AAKlC;;;;;;;;GAQG;AACH,MAAsB,aAEpB,SAAQ,eAAmB;IAF7B;;QAKE;;;WAGG;QACK,kBAAa,GAAqB,EAAE,CAAC;IAyB/C,CAAC;IAvBC;;;;;;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"}
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"}
@@ -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
  *
@@ -1 +1 @@
1
- {"version":3,"file":"domain-event.js","sourceRoot":"","sources":["../src/domain-event.ts"],"names":[],"mappings":";;;AAAA,+BAAoC;AAgBpC;;;;;;GAMG;AACH,MAAsB,WAAW;IAgC/B;;;;;;;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"}
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
  *
@@ -1 +1 @@
1
- {"version":3,"file":"entity.js","sourceRoot":"","sources":["../src/entity.ts"],"names":[],"mappings":";;;AAIA;;;;;;;GAOG;AACH,MAAsB,MAAM;IAS1B;;;;;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"}
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;AAInE;;;;;;;GAOG;AACH,MAAsB,EAEpB,SAAQ,gDAAuB;CAEhC;AAJD,gBAIC"}
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;AAI7C;;;;;;;;GAQG;AACH,MAAsB,oBAEpB,SAAQ,0BAAc;IAGtB;;;;;;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"}
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"}
@@ -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
  *
@@ -1 +1 @@
1
- {"version":3,"file":"value-object.js","sourceRoot":"","sources":["../src/value-object.ts"],"names":[],"mappings":";;;AAEA;;;;;;;GAOG;AACH,MAAsB,WAAW;IAS/B;;;;;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"}
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;AAIjE;;;;;;GAMG;AACH,MAAa,WAAY,SAAQ,6CAA4B;IAG3D;;;;;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"}
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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@velony/domain",
3
- "version": "3.3.2",
3
+ "version": "3.3.3",
4
4
  "description": "TypeScript library providing core building blocks for Domain-Driven Design (DDD) applications",
5
5
  "keywords": [
6
6
  "ddd",