ddd-node 2.0.1 → 2.0.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.
@@ -16,7 +16,7 @@ export declare class Aggregate<P extends object> extends Entity<P> implements IA
16
16
  constructor(metadata: IAggregateMetadata, props?: P);
17
17
  static agggregateType(): string;
18
18
  static newAggregate<T extends AnyAggregate>(this: AggregateClass<T>, props?: PropsOf<T>, metadata?: NewAggregateMetadataOptions): T;
19
- static loadAggregate<T extends AnyAggregate>(this: AggregateClass<T>, id: string, version: number, props: PropsOf<T>, pastEvents: AnyEvent[]): T;
19
+ static loadAggregate<T extends AnyAggregate>(this: AggregateClass<T>, id: string, version: number, props: PropsOf<T>, pastEvents?: AnyEvent[]): T;
20
20
  get version(): number;
21
21
  aggregateType(): string;
22
22
  getHandledCommands(): AnyCommand[];
@@ -22,7 +22,8 @@ class Aggregate extends entity_1.Entity {
22
22
  }
23
23
  static loadAggregate(id, version, props, pastEvents) {
24
24
  const aggregate = new this({ id, version }, props);
25
- aggregate.applyEvents(pastEvents, true);
25
+ if (pastEvents)
26
+ aggregate.applyEvents(pastEvents, true);
26
27
  return aggregate;
27
28
  }
28
29
  get version() {
@@ -4,3 +4,4 @@ export * from "./command";
4
4
  export * from "./event";
5
5
  export * from "./props-envelope";
6
6
  export * from "./value-object";
7
+ export * from "./repository";
@@ -20,3 +20,4 @@ __exportStar(require("./command"), exports);
20
20
  __exportStar(require("./event"), exports);
21
21
  __exportStar(require("./props-envelope"), exports);
22
22
  __exportStar(require("./value-object"), exports);
23
+ __exportStar(require("./repository"), exports);
@@ -0,0 +1,4 @@
1
+ import { AnyAggregate } from "./aggregate";
2
+ export interface Repository<T extends AnyAggregate> {
3
+ save(aggregate: T): Promise<void>;
4
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ddd-node",
3
- "version": "2.0.1",
3
+ "version": "2.0.3",
4
4
  "description": "Domain Driven Design base for NodeJs",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {