@nestjslatam/ddd-lib 1.0.49 → 1.0.50

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.
Files changed (64) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +30 -30
  3. package/ddd-aggregate-root.d.ts +11 -9
  4. package/ddd-aggregate-root.js +20 -22
  5. package/ddd-aggregate-root.js.map +1 -1
  6. package/{ddd-entity.d.ts → ddd-core/ddd-base-classes.d.ts} +23 -6
  7. package/ddd-core/ddd-base-classes.js +173 -0
  8. package/ddd-core/ddd-base-classes.js.map +1 -0
  9. package/ddd-core/ddd-validators.d.ts +15 -0
  10. package/ddd-core/ddd-validators.js +70 -0
  11. package/ddd-core/ddd-validators.js.map +1 -0
  12. package/ddd-core/impl/of-type.js +1 -2
  13. package/ddd-core/impl/of-type.js.map +1 -1
  14. package/ddd-decorators/reflect-command.helper.js +1 -1
  15. package/ddd-decorators/reflect-command.helper.js.map +1 -1
  16. package/ddd-events/impl/domain-event-publisher.js.map +1 -1
  17. package/ddd-exceptions/impl/domain-unhandled-bus.exeption.d.ts +1 -1
  18. package/ddd-exceptions/impl/domain-unhandled-bus.exeption.js +2 -2
  19. package/ddd-exceptions/impl/domain-unhandled-bus.exeption.js.map +1 -1
  20. package/ddd-exceptions/interfaces/exception.base.js +1 -0
  21. package/ddd-exceptions/interfaces/exception.base.js.map +1 -1
  22. package/ddd-helpers/domain-object.helper.d.ts +3 -1
  23. package/ddd-helpers/domain-object.helper.js +8 -6
  24. package/ddd-helpers/domain-object.helper.js.map +1 -1
  25. package/ddd-ports/interfaces/domain-repository-read.interface.d.ts +1 -2
  26. package/ddd-ports/interfaces/domain-repository-write.interface.d.ts +1 -2
  27. package/ddd-validators/impl/domain-entity.validator.d.ts +1 -1
  28. package/ddd-validators/impl/domain-entity.validator.js +2 -2
  29. package/ddd-validators/impl/domain-entity.validator.js.map +1 -1
  30. package/ddd-validators/impl/domain-value-object.validator.d.ts +1 -1
  31. package/ddd-validators/impl/domain-value-object.validator.js +2 -2
  32. package/ddd-validators/impl/domain-value-object.validator.js.map +1 -1
  33. package/ddd-valueobjects/domain-audit.valueobject.d.ts +1 -1
  34. package/ddd-valueobjects/domain-audit.valueobject.js +2 -2
  35. package/ddd-valueobjects/domain-audit.valueobject.js.map +1 -1
  36. package/ddd-valueobjects/domain-date.valueobject.d.ts +1 -1
  37. package/ddd-valueobjects/domain-date.valueobject.js +2 -2
  38. package/ddd-valueobjects/domain-date.valueobject.js.map +1 -1
  39. package/ddd-valueobjects/domain-number-base.valueobject.d.ts +1 -1
  40. package/ddd-valueobjects/domain-number-base.valueobject.js +2 -2
  41. package/ddd-valueobjects/domain-number-base.valueobject.js.map +1 -1
  42. package/ddd-valueobjects/domain-string-base.valueobject.d.ts +1 -1
  43. package/ddd-valueobjects/domain-string-base.valueobject.js +2 -2
  44. package/ddd-valueobjects/domain-string-base.valueobject.js.map +1 -1
  45. package/ddd-valueobjects/domain-uid.valueobject.d.ts +7 -0
  46. package/ddd-valueobjects/{domain-uid-string.valueobject.js → domain-uid.valueobject.js} +8 -8
  47. package/ddd-valueobjects/domain-uid.valueobject.js.map +1 -0
  48. package/ddd-valueobjects/index.d.ts +1 -1
  49. package/ddd-valueobjects/index.js +1 -1
  50. package/ddd-valueobjects/index.js.map +1 -1
  51. package/ddd.module.js +8 -1
  52. package/ddd.module.js.map +1 -1
  53. package/index.d.ts +1 -2
  54. package/index.js +1 -2
  55. package/index.js.map +1 -1
  56. package/package.json +25 -25
  57. package/tsconfig.lib.tsbuildinfo +1 -1
  58. package/ddd-entity.js +0 -105
  59. package/ddd-entity.js.map +0 -1
  60. package/ddd-valueobject.d.ts +0 -21
  61. package/ddd-valueobject.js +0 -49
  62. package/ddd-valueobject.js.map +0 -1
  63. package/ddd-valueobjects/domain-uid-string.valueobject.d.ts +0 -7
  64. package/ddd-valueobjects/domain-uid-string.valueobject.js.map +0 -1
package/ddd-entity.js DELETED
@@ -1,105 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DomainEntity = void 0;
4
- const ddd_helpers_1 = require("./ddd-helpers");
5
- const ddd_core_1 = require("./ddd-core");
6
- class DomainEntity {
7
- constructor({ id, props, trackingProps }) {
8
- this._brokenRules = new ddd_core_1.BrokenRuleCollection();
9
- this.businessRules(props);
10
- this._id = id;
11
- this._props = props;
12
- this.trackingProps = trackingProps;
13
- }
14
- getInternalProps() {
15
- return {
16
- id: this._id,
17
- ...this._props,
18
- ...this.trackingProps,
19
- };
20
- }
21
- get propsCopy() {
22
- const propsCopy = this.getInternalProps();
23
- return Object.freeze(propsCopy);
24
- }
25
- get props() {
26
- return this.getInternalProps();
27
- }
28
- set id(id) {
29
- this._id = id;
30
- }
31
- get id() {
32
- return this._id.unpack();
33
- }
34
- set trackingProps(trackingProps) {
35
- this._trackingProps = trackingProps;
36
- }
37
- get trackingProps() {
38
- return this._trackingProps;
39
- }
40
- get IsValid() {
41
- return this._brokenRules.getItems().length === 0;
42
- }
43
- get BrokenRules() {
44
- return this._brokenRules;
45
- }
46
- equals(object) {
47
- if (this === object)
48
- return true;
49
- if (object === null ||
50
- object === undefined ||
51
- !ddd_helpers_1.DomainObjectHelper.isDomainEntity(object))
52
- return false;
53
- return this._id ? this._id.equals(object._id) : false;
54
- }
55
- toObject() {
56
- const plainProps = ddd_helpers_1.DomainObjectHelper.convertPropsToObject(this._props);
57
- const result = {
58
- id: this._id,
59
- ...this.trackingProps,
60
- ...plainProps,
61
- };
62
- return Object.freeze(result);
63
- }
64
- markAsNew() {
65
- this._trackingProps = ddd_core_1.TrackingProps.setNew();
66
- }
67
- markAsDirty() {
68
- this._trackingProps = ddd_core_1.TrackingProps.setDirty();
69
- }
70
- markAsDeleted() {
71
- this._trackingProps = ddd_core_1.TrackingProps.setDeleted();
72
- }
73
- addBrokenRule(brokenRule) {
74
- this._brokenRules.add(brokenRule);
75
- }
76
- removeBrokenRule(brokenRule) {
77
- this._brokenRules.remove(brokenRule);
78
- }
79
- validate() {
80
- this._brokenRules.clear();
81
- this.businessRules(this._props);
82
- }
83
- removeChild(parent, child, childs) {
84
- if (!childs)
85
- childs = [];
86
- const index = childs.indexOf(child);
87
- if (index > -1) {
88
- childs.splice(index, 1);
89
- }
90
- else {
91
- parent._brokenRules.add(new ddd_core_1.BrokenRule('Child', 'Child not found'));
92
- }
93
- return childs;
94
- }
95
- addChild(parent, child, childs) {
96
- if (!childs)
97
- childs = [];
98
- if (childs.includes(child))
99
- parent._brokenRules.add(new ddd_core_1.BrokenRule('Child', 'Child already exists'));
100
- childs.push(child);
101
- return childs;
102
- }
103
- }
104
- exports.DomainEntity = DomainEntity;
105
- //# sourceMappingURL=ddd-entity.js.map
package/ddd-entity.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"ddd-entity.js","sourceRoot":"","sources":["../../../libs/ddd/src/ddd-entity.ts"],"names":[],"mappings":"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"}
@@ -1,21 +0,0 @@
1
- import { BrokenRule, BrokenRuleCollection } from './ddd-core';
2
- export type Primitives = string | number | boolean;
3
- export type Props<T> = T extends Primitives | Date ? IDomainPrimitive<T> : T;
4
- export interface IDomainPrimitive<T extends Primitives | Date> {
5
- value: T;
6
- }
7
- export declare abstract class AbstractDomainValueObject<T> {
8
- protected readonly _props: Props<T>;
9
- private _brokenRules;
10
- private _isValid;
11
- constructor(props: Props<T>);
12
- get isValid(): boolean;
13
- get getBrokenRules(): BrokenRuleCollection;
14
- addBrokenRule(brokenRule: BrokenRule): void;
15
- removeBrokenRule(brokenRule: BrokenRule): void;
16
- equals(object?: AbstractDomainValueObject<T>): boolean;
17
- isValueObject(obj: unknown): obj is AbstractDomainValueObject<unknown>;
18
- unpack(): T;
19
- protected abstract businessRules(props: Props<T>): void;
20
- private guard;
21
- }
@@ -1,49 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AbstractDomainValueObject = void 0;
4
- const ddd_core_1 = require("./ddd-core");
5
- const ddd_validators_1 = require("./ddd-validators");
6
- const ddd_helpers_1 = require("./ddd-helpers");
7
- class AbstractDomainValueObject {
8
- constructor(props) {
9
- this._brokenRules = new ddd_core_1.BrokenRuleCollection();
10
- this._isValid = true;
11
- this.guard(props);
12
- this.businessRules(props);
13
- this._isValid = !!this._brokenRules.getItems().length;
14
- this._props = props;
15
- }
16
- get isValid() {
17
- return this._isValid;
18
- }
19
- get getBrokenRules() {
20
- return this._brokenRules;
21
- }
22
- addBrokenRule(brokenRule) {
23
- this._brokenRules.add(brokenRule);
24
- }
25
- removeBrokenRule(brokenRule) {
26
- this._brokenRules.remove(brokenRule);
27
- }
28
- equals(object) {
29
- return ddd_validators_1.ValueObjectValidator.equals(object);
30
- }
31
- isValueObject(obj) {
32
- return ddd_validators_1.ValueObjectValidator.isValueObject(obj);
33
- }
34
- unpack() {
35
- if (ddd_validators_1.ValueObjectValidator.isDomainPrimitive(this._props)) {
36
- return this._props.value;
37
- }
38
- const propsCopy = ddd_helpers_1.DomainObjectHelper.convertPropsToObject(this._props);
39
- return Object.freeze(propsCopy);
40
- }
41
- guard(props) {
42
- if (ddd_validators_1.ValueObjectValidator.isNotAndObject(props))
43
- this.addBrokenRule(new ddd_core_1.BrokenRule(this.constructor.name, 'Props cannot be undefined'));
44
- if (ddd_validators_1.ValueObjectValidator.isEmptyProps(props))
45
- this.addBrokenRule(new ddd_core_1.BrokenRule(this.constructor.name, 'Props cannot be empty'));
46
- }
47
- }
48
- exports.AbstractDomainValueObject = AbstractDomainValueObject;
49
- //# sourceMappingURL=ddd-valueobject.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ddd-valueobject.js","sourceRoot":"","sources":["../../../libs/ddd/src/ddd-valueobject.ts"],"names":[],"mappings":";;;AAAA,yCAA8D;AAC9D,qDAAwD;AACxD,+CAAmD;AAwBnD,MAAsB,yBAAyB;IAgB7C,YAAY,KAAe;QAPnB,iBAAY,GAAyB,IAAI,+BAAoB,EAAE,CAAC;QAKhE,aAAQ,GAAY,IAAI,CAAC;QAG/B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAClB,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC;QACtD,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,CAAC;IAKD,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAKD,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAOD,aAAa,CAAC,UAAsB;QAClC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACpC,CAAC;IAOD,gBAAgB,CAAC,UAAsB;QACrC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACvC,CAAC;IAQD,MAAM,CAAC,MAAqC;QAC1C,OAAO,qCAAoB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC7C,CAAC;IAQD,aAAa,CAAC,GAAY;QACxB,OAAO,qCAAoB,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IACjD,CAAC;IAOD,MAAM;QACJ,IAAI,qCAAoB,CAAC,iBAAiB,CAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3D,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAC3B,CAAC;QAED,MAAM,SAAS,GAAG,gCAAkB,CAAC,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEvE,OAAO,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAClC,CAAC;IAcO,KAAK,CAAC,KAAe;QAC3B,IAAI,qCAAoB,CAAC,cAAc,CAAC,KAAK,CAAC;YAC5C,IAAI,CAAC,aAAa,CAChB,IAAI,qBAAU,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,2BAA2B,CAAC,CACnE,CAAC;QAEJ,IAAI,qCAAoB,CAAC,YAAY,CAAC,KAAK,CAAC;YAC1C,IAAI,CAAC,aAAa,CAChB,IAAI,qBAAU,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,uBAAuB,CAAC,CAC/D,CAAC;IACN,CAAC;CACF;AAjHD,8DAiHC"}
@@ -1,7 +0,0 @@
1
- import { AbstractDomainValueObject, IDomainPrimitive } from '../ddd-valueobject';
2
- export declare class DomainIdAsString extends AbstractDomainValueObject<string> {
3
- protected constructor(value: string);
4
- static create(value: string): DomainIdAsString;
5
- static load(value: string): DomainIdAsString;
6
- protected businessRules(props: IDomainPrimitive<string>): void;
7
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"domain-uid-string.valueobject.js","sourceRoot":"","sources":["../../../../libs/ddd/src/ddd-valueobjects/domain-uid-string.valueobject.ts"],"names":[],"mappings":";;;AAIA,0CAAyC;AACzC,sDAAyD;AACzD,wDAG4B;AAE5B,MAAM,eAAe,GACnB,wEAAwE,CAAC;AAE3E,MAAa,gBAAiB,SAAQ,2CAAiC;IACrE,YAAsB,KAAa;QACjC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAEjB,IAAI,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAChC,CAAC;IAOM,MAAM,CAAC,MAAM,CAAC,KAAa;QAChC,OAAO,IAAI,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IAOM,MAAM,CAAC,IAAI,CAAC,KAAa;QAC9B,OAAO,IAAI,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IAMS,aAAa,CAAC,KAA+B;QACrD,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;QAExB,IAAI,qCAAoB,CAAC,iBAAiB,CAAC,KAAK,CAAC;YAC/C,IAAI,CAAC,aAAa,CAChB,IAAI,qBAAU,CACZ,IAAI,CAAC,WAAW,CAAC,IAAI,EACrB,oDAAoD,CACrD,CACF,CAAC;QAEJ,MAAM,YAAY,GAAG,IAAI,MAAM,CAAC,eAAe,CAAC,CAAC;QAEjD,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC;YAC1B,IAAI,CAAC,aAAa,CAChB,IAAI,qBAAU,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,+BAA+B,CAAC,CACvE,CAAC;IACN,CAAC;CACF;AA/CD,4CA+CC"}