ddd-node 24.6.1 → 25.0.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/dist/core/aggregate/aggregate-base/aggregate.builder.d.ts +2 -2
- package/dist/core/aggregate/aggregate-base/aggregate.builder.js +2 -2
- package/dist/core/aggregate/aggregate-base/aggregate.d.ts +3 -3
- package/dist/core/aggregate/aggregate-base/aggregate.js +22 -7
- package/dist/core/aggregate/event-sourced-aggregate/event-sourced-aggregate.d.ts +4 -2
- package/dist/core/aggregate/event-sourced-aggregate/event-sourced-aggregate.js +9 -5
- package/dist/core/aggregate/state-aggregate/state-aggregate.d.ts +2 -0
- package/dist/core/aggregate/state-aggregate/state-aggregate.js +4 -0
- package/dist/core/entity/entity.builder.d.ts +1 -3
- package/dist/core/entity/entity.builder.js +4 -5
- package/dist/core/entity/entity.d.ts +3 -1
- package/dist/core/entity/entity.js +5 -2
- package/dist/core/enum/enum.d.ts +4 -0
- package/dist/core/enum/enum.js +10 -0
- package/dist/core/message/command/command.d.ts +2 -0
- package/dist/core/message/command/command.js +4 -0
- package/dist/core/message/event/event.d.ts +2 -0
- package/dist/core/message/event/event.js +4 -0
- package/dist/event-pubsub/event-publisher.js +0 -1
- package/dist/package.json +1 -1
- package/package.json +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { IdentifiableModelBuilder } from "../../identifiable-model";
|
|
2
2
|
import { AnyAggregate } from "./aggregate";
|
|
3
|
-
export declare abstract class AggregateBuilderBase<T extends AnyAggregate> extends
|
|
3
|
+
export declare abstract class AggregateBuilderBase<T extends AnyAggregate> extends IdentifiableModelBuilder<T> {
|
|
4
4
|
protected version: number;
|
|
5
5
|
withVersion(version: number): this;
|
|
6
6
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.AggregateBuilderBase = void 0;
|
|
4
|
-
const
|
|
5
|
-
class AggregateBuilderBase extends
|
|
4
|
+
const identifiable_model_1 = require("../../identifiable-model");
|
|
5
|
+
class AggregateBuilderBase extends identifiable_model_1.IdentifiableModelBuilder {
|
|
6
6
|
constructor() {
|
|
7
7
|
super(...arguments);
|
|
8
8
|
this.version = 0;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { Props, PropsOf } from "../../../base";
|
|
2
|
-
import {
|
|
2
|
+
import { IdentifiableModel, IdentifiableModelMetadata } from "../../identifiable-model";
|
|
3
3
|
import { AnyEvent, EventClassWithTypedConstructor, EventSource } from "../../message";
|
|
4
4
|
import { IAggregateEventDispatcher } from "./aggregate-event-dispatcher.interface";
|
|
5
|
-
export interface AggregateMetadata extends
|
|
5
|
+
export interface AggregateMetadata extends IdentifiableModelMetadata {
|
|
6
6
|
version: number;
|
|
7
7
|
}
|
|
8
|
-
export declare abstract class AggregateBase<P extends Props> extends
|
|
8
|
+
export declare abstract class AggregateBase<P extends Props> extends IdentifiableModel<P> {
|
|
9
9
|
protected readonly _version: number;
|
|
10
10
|
constructor(metadata: AggregateMetadata, props?: P);
|
|
11
11
|
abstract version(): number;
|
|
@@ -1,11 +1,22 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
2
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
12
|
exports.AggregateBase = void 0;
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
class AggregateBase extends
|
|
13
|
+
const base_1 = require("../../../base");
|
|
14
|
+
const identifiable_model_1 = require("../../identifiable-model");
|
|
15
|
+
let AggregateBase = class AggregateBase extends identifiable_model_1.IdentifiableModel {
|
|
7
16
|
constructor(metadata, props) {
|
|
8
|
-
super(metadata
|
|
17
|
+
super(metadata);
|
|
18
|
+
if (props)
|
|
19
|
+
this.initializeProps(props);
|
|
9
20
|
this._version = metadata.version;
|
|
10
21
|
}
|
|
11
22
|
metadata() {
|
|
@@ -21,11 +32,15 @@ class AggregateBase extends entity_1.EntityBase {
|
|
|
21
32
|
};
|
|
22
33
|
}
|
|
23
34
|
newEvent(eventClass, props) {
|
|
24
|
-
|
|
25
|
-
|
|
35
|
+
return eventClass
|
|
36
|
+
.builder()
|
|
26
37
|
.withSource(this.createEventSource())
|
|
27
38
|
.withProps(props)
|
|
28
39
|
.build();
|
|
29
40
|
}
|
|
30
|
-
}
|
|
41
|
+
};
|
|
31
42
|
exports.AggregateBase = AggregateBase;
|
|
43
|
+
exports.AggregateBase = AggregateBase = __decorate([
|
|
44
|
+
(0, base_1.Mutable)(true),
|
|
45
|
+
__metadata("design:paramtypes", [Object, Object])
|
|
46
|
+
], AggregateBase);
|
|
@@ -6,9 +6,11 @@ import { AggregateBase, AggregateMetadata } from "../aggregate-base";
|
|
|
6
6
|
import { IAggregateEventDispatcher } from "../aggregate-base";
|
|
7
7
|
import { EventSourcedAggregateModelDescriptor } from "./event-sourced-aggregate-model-descriptor";
|
|
8
8
|
import { Snapshot, SnapshotMetadata } from "./snapshot";
|
|
9
|
+
import { EventSourcedAggregateBuilder } from ".";
|
|
9
10
|
export interface EventSourceAggregateMetadata extends AggregateMetadata {
|
|
10
11
|
}
|
|
11
12
|
export declare class EventSourcedAggregateBase<P extends Props> extends AggregateBase<P> {
|
|
13
|
+
static builder<T extends AnyEventSourcedAggregate>(this: EventSourcedAggregateClass<T>): EventSourcedAggregateBuilder<T>;
|
|
12
14
|
private _handledCommands;
|
|
13
15
|
private _pastEvents;
|
|
14
16
|
private _events;
|
|
@@ -23,7 +25,7 @@ export declare class EventSourcedAggregateBase<P extends Props> extends Aggregat
|
|
|
23
25
|
events(): AnyEvent[];
|
|
24
26
|
handledCommands(): AnyCommand[];
|
|
25
27
|
hasNewEvent(): boolean;
|
|
26
|
-
|
|
28
|
+
getEventApplier<E extends AnyEvent>(event: E): EventApplier<E>;
|
|
27
29
|
private validateEventBeforeApply;
|
|
28
30
|
private _applyEvent;
|
|
29
31
|
private applyPastEvent;
|
|
@@ -31,7 +33,7 @@ export declare class EventSourcedAggregateBase<P extends Props> extends Aggregat
|
|
|
31
33
|
applyEvent<E extends AnyEvent>(event: E): void;
|
|
32
34
|
applyEvents(events: AnyEvent[]): void;
|
|
33
35
|
applyNewEvent<E extends AnyEvent>(eventClass: EventClassWithTypedConstructor<E>, props: PropsOf<E>): void;
|
|
34
|
-
|
|
36
|
+
getCommandHandler<C extends AnyCommand>(command: C): CommandHandler<C, AnyEvent | AnyEvent[]>;
|
|
35
37
|
handleCommand<C extends AnyCommand>(command: C): AnyEvent[];
|
|
36
38
|
snapMetadata(): SnapshotMetadata;
|
|
37
39
|
snap(): Snapshot<this>;
|
|
@@ -4,7 +4,11 @@ exports.EventSourcedAggregateBase = void 0;
|
|
|
4
4
|
const meta_1 = require("../../../meta");
|
|
5
5
|
const utils_1 = require("../../../utils");
|
|
6
6
|
const aggregate_base_1 = require("../aggregate-base");
|
|
7
|
+
const _1 = require(".");
|
|
7
8
|
class EventSourcedAggregateBase extends aggregate_base_1.AggregateBase {
|
|
9
|
+
static builder() {
|
|
10
|
+
return new _1.EventSourcedAggregateBuilder(this);
|
|
11
|
+
}
|
|
8
12
|
constructor(metadata, props) {
|
|
9
13
|
super(metadata, props);
|
|
10
14
|
this._handledCommands = [];
|
|
@@ -48,7 +52,7 @@ class EventSourcedAggregateBase extends aggregate_base_1.AggregateBase {
|
|
|
48
52
|
hasNewEvent() {
|
|
49
53
|
return Boolean(this._events.length);
|
|
50
54
|
}
|
|
51
|
-
|
|
55
|
+
getEventApplier(event) {
|
|
52
56
|
const { eventType } = event.modelDescriptor();
|
|
53
57
|
const { eventApplierMap } = this.modelDescriptor();
|
|
54
58
|
const applier = eventApplierMap.get(eventType);
|
|
@@ -64,13 +68,13 @@ class EventSourcedAggregateBase extends aggregate_base_1.AggregateBase {
|
|
|
64
68
|
throw new Error("Invalid aggregate version");
|
|
65
69
|
}
|
|
66
70
|
_applyEvent(event) {
|
|
67
|
-
const applier = this.
|
|
71
|
+
const applier = this.getEventApplier(event);
|
|
68
72
|
this.validateEventBeforeApply(event);
|
|
69
73
|
applier.call(this, event);
|
|
70
74
|
}
|
|
71
75
|
applyPastEvent(event) {
|
|
72
76
|
if (this.hasNewEvent())
|
|
73
|
-
throw new Error();
|
|
77
|
+
throw new Error("Cannot apply a past event when new event is recorded");
|
|
74
78
|
this._applyEvent(event);
|
|
75
79
|
this._pastEvents.push(event);
|
|
76
80
|
}
|
|
@@ -91,7 +95,7 @@ class EventSourcedAggregateBase extends aggregate_base_1.AggregateBase {
|
|
|
91
95
|
applyNewEvent(eventClass, props) {
|
|
92
96
|
this.applyEvent(this.newEvent(eventClass, props));
|
|
93
97
|
}
|
|
94
|
-
|
|
98
|
+
getCommandHandler(command) {
|
|
95
99
|
const { commandType } = command.modelDescriptor();
|
|
96
100
|
const { commandHandlerMap } = this.modelDescriptor();
|
|
97
101
|
const handler = commandHandlerMap.get(commandType);
|
|
@@ -100,7 +104,7 @@ class EventSourcedAggregateBase extends aggregate_base_1.AggregateBase {
|
|
|
100
104
|
return handler;
|
|
101
105
|
}
|
|
102
106
|
handleCommand(command) {
|
|
103
|
-
const handler = this.
|
|
107
|
+
const handler = this.getCommandHandler(command);
|
|
104
108
|
const events = (0, utils_1.toArray)(handler.call(this, command));
|
|
105
109
|
events.forEach((event) => {
|
|
106
110
|
event.setCausationId(command.id());
|
|
@@ -3,9 +3,11 @@ import { Props, PropsOf } from "../../../base";
|
|
|
3
3
|
import { ClassStatic } from "../../../types";
|
|
4
4
|
import { AnyEvent, EventClassWithTypedConstructor } from "../../message";
|
|
5
5
|
import { AggregateBase, AggregateMetadata, IAggregateEventDispatcher } from "../aggregate-base";
|
|
6
|
+
import { StateAggregateBuilder } from ".";
|
|
6
7
|
export interface StateAggregateMetadata extends AggregateMetadata {
|
|
7
8
|
}
|
|
8
9
|
export declare class StateAggregateBase<P extends Props> extends AggregateBase<P> {
|
|
10
|
+
static builder<T extends AnyStateAggregate>(this: StateAggregateClass<T>): StateAggregateBuilder<T>;
|
|
9
11
|
private _events;
|
|
10
12
|
constructor(metadata: StateAggregateMetadata, props: P);
|
|
11
13
|
props(): P;
|
|
@@ -2,7 +2,11 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.StateAggregateBase = void 0;
|
|
4
4
|
const aggregate_base_1 = require("../aggregate-base");
|
|
5
|
+
const _1 = require(".");
|
|
5
6
|
class StateAggregateBase extends aggregate_base_1.AggregateBase {
|
|
7
|
+
static builder() {
|
|
8
|
+
return new _1.StateAggregateBuilder(this);
|
|
9
|
+
}
|
|
6
10
|
constructor(metadata, props) {
|
|
7
11
|
super(metadata, props);
|
|
8
12
|
this._events = [];
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import { IdentifiableModelBuilder } from "../identifiable-model";
|
|
2
2
|
import { AnyEntity, EntityClassWithTypedConstructor } from "./entity";
|
|
3
|
-
export declare
|
|
4
|
-
}
|
|
5
|
-
export declare class EntityBuilder<T extends AnyEntity> extends EntityBuilderBase<T> {
|
|
3
|
+
export declare class EntityBuilder<T extends AnyEntity> extends IdentifiableModelBuilder<T> {
|
|
6
4
|
private entityClass;
|
|
7
5
|
constructor(entityClass: EntityClassWithTypedConstructor<T>);
|
|
8
6
|
build(): T;
|
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.EntityBuilder =
|
|
3
|
+
exports.EntityBuilder = void 0;
|
|
4
4
|
const identifiable_model_1 = require("../identifiable-model");
|
|
5
|
-
class
|
|
6
|
-
}
|
|
7
|
-
exports.EntityBuilderBase = EntityBuilderBase;
|
|
8
|
-
class EntityBuilder extends EntityBuilderBase {
|
|
5
|
+
class EntityBuilder extends identifiable_model_1.IdentifiableModelBuilder {
|
|
9
6
|
constructor(entityClass) {
|
|
10
7
|
super();
|
|
11
8
|
this.entityClass = entityClass;
|
|
12
9
|
}
|
|
13
10
|
build() {
|
|
11
|
+
if (!this.props)
|
|
12
|
+
throw new Error("The props must be set before build");
|
|
14
13
|
return new this.entityClass({ id: this.id }, this.props);
|
|
15
14
|
}
|
|
16
15
|
}
|
|
@@ -2,10 +2,12 @@ import { Class } from "type-fest";
|
|
|
2
2
|
import { Props, PropsOf } from "../../base";
|
|
3
3
|
import { ClassStatic } from "../../types";
|
|
4
4
|
import { IdentifiableModel, IdentifiableModelMetadata } from "../identifiable-model";
|
|
5
|
+
import { EntityBuilder } from ".";
|
|
5
6
|
export interface EntityMetadata extends IdentifiableModelMetadata {
|
|
6
7
|
}
|
|
7
8
|
export declare class EntityBase<P extends Props> extends IdentifiableModel<P> {
|
|
8
|
-
|
|
9
|
+
static builder<T extends AnyEntity>(this: EntityClass<T>): EntityBuilder<T>;
|
|
10
|
+
constructor(metadata: EntityMetadata, props: P);
|
|
9
11
|
}
|
|
10
12
|
export type AnyEntity = EntityBase<Props>;
|
|
11
13
|
export interface EntityClass<T extends AnyEntity = AnyEntity, Arguments extends unknown[] = any[]> extends Class<T, Arguments>, ClassStatic<typeof EntityBase<PropsOf<T>>> {
|
|
@@ -12,11 +12,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
12
12
|
exports.EntityBase = void 0;
|
|
13
13
|
const base_1 = require("../../base");
|
|
14
14
|
const identifiable_model_1 = require("../identifiable-model");
|
|
15
|
+
const _1 = require(".");
|
|
15
16
|
let EntityBase = class EntityBase extends identifiable_model_1.IdentifiableModel {
|
|
17
|
+
static builder() {
|
|
18
|
+
return new _1.EntityBuilder(this);
|
|
19
|
+
}
|
|
16
20
|
constructor(metadata, props) {
|
|
17
21
|
super(metadata);
|
|
18
|
-
|
|
19
|
-
this.initializeProps(props);
|
|
22
|
+
this.initializeProps(props);
|
|
20
23
|
}
|
|
21
24
|
};
|
|
22
25
|
exports.EntityBase = EntityBase;
|
package/dist/core/enum/enum.d.ts
CHANGED
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
import { Class } from "type-fest";
|
|
2
2
|
import { ModelBase } from "../../base";
|
|
3
3
|
import { ClassStatic } from "../../types";
|
|
4
|
+
import { EnumBuilder } from ".";
|
|
4
5
|
export type EnumValue = string | number;
|
|
5
6
|
export interface EnumProps {
|
|
6
7
|
value: EnumValue;
|
|
7
8
|
}
|
|
8
9
|
export declare class EnumBase extends ModelBase<EnumProps> {
|
|
10
|
+
static builder<T extends AnyEnum>(this: EnumClass<T>): EnumBuilder<T>;
|
|
9
11
|
static values(): EnumBase[];
|
|
12
|
+
static from<T extends AnyEnum>(this: EnumClass<T>, value: EnumValue): T;
|
|
13
|
+
static fromSafe<T extends AnyEnum>(this: EnumClass<T>, value: EnumValue): T | null;
|
|
10
14
|
constructor(value: EnumValue);
|
|
11
15
|
value: EnumValue;
|
|
12
16
|
valueOf(): EnumValue;
|
package/dist/core/enum/enum.js
CHANGED
|
@@ -11,10 +11,20 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.EnumBase = void 0;
|
|
13
13
|
const base_1 = require("../../base");
|
|
14
|
+
const _1 = require(".");
|
|
14
15
|
let EnumBase = class EnumBase extends base_1.ModelBase {
|
|
16
|
+
static builder() {
|
|
17
|
+
return new _1.EnumBuilder(this);
|
|
18
|
+
}
|
|
15
19
|
static values() {
|
|
16
20
|
return Array.from(this.ownStaticValues().values()).map((staticValue) => staticValue.value);
|
|
17
21
|
}
|
|
22
|
+
static from(value) {
|
|
23
|
+
return this.builder().withValue(value).build();
|
|
24
|
+
}
|
|
25
|
+
static fromSafe(value) {
|
|
26
|
+
return this.builder().withValue(value).buildSafe();
|
|
27
|
+
}
|
|
18
28
|
constructor(value) {
|
|
19
29
|
super();
|
|
20
30
|
this.initializeProps({ value });
|
|
@@ -4,10 +4,12 @@ import { Props, PropsOf } from "../../../base";
|
|
|
4
4
|
import { ClassStatic } from "../../../types";
|
|
5
5
|
import { MessageBase, MessageMetadata } from "../message-base";
|
|
6
6
|
import { CommandModelDescriptor } from "./command-model-descriptor";
|
|
7
|
+
import { CommandBuilder } from ".";
|
|
7
8
|
export interface CommandMetadata extends MessageMetadata {
|
|
8
9
|
commandType: CommandType;
|
|
9
10
|
}
|
|
10
11
|
export declare class CommandBase<P extends Props> extends MessageBase<P> {
|
|
12
|
+
static builder<T extends AnyCommand>(this: CommandClass<T>): CommandBuilder<T>;
|
|
11
13
|
protected readonly _commandType: CommandType;
|
|
12
14
|
static commandType(): string;
|
|
13
15
|
constructor(metadata: Omit<CommandMetadata, "commandType">, props: P);
|
|
@@ -3,7 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.CommandBase = void 0;
|
|
4
4
|
const meta_1 = require("../../../meta");
|
|
5
5
|
const message_base_1 = require("../message-base");
|
|
6
|
+
const _1 = require(".");
|
|
6
7
|
class CommandBase extends message_base_1.MessageBase {
|
|
8
|
+
static builder() {
|
|
9
|
+
return new _1.CommandBuilder(this);
|
|
10
|
+
}
|
|
7
11
|
static commandType() {
|
|
8
12
|
return (0, meta_1.getCommandType)(this);
|
|
9
13
|
}
|
|
@@ -5,6 +5,7 @@ import { ClassStatic } from "../../../types";
|
|
|
5
5
|
import { Id } from "../../identifiable-model";
|
|
6
6
|
import { MessageBase, MessageMetadata } from "../message-base";
|
|
7
7
|
import { EventModelDescriptor } from "./event-model-descriptor";
|
|
8
|
+
import { EventBuilder } from ".";
|
|
8
9
|
export type EventSource = Readonly<{
|
|
9
10
|
aggregateId: Id;
|
|
10
11
|
aggregateVersion: number;
|
|
@@ -14,6 +15,7 @@ export interface EventMetadata extends MessageMetadata {
|
|
|
14
15
|
source: EventSource;
|
|
15
16
|
}
|
|
16
17
|
export declare class EventBase<P extends Props> extends MessageBase<P> {
|
|
18
|
+
static builder<T extends AnyEvent>(this: EventClass<T>): EventBuilder<T>;
|
|
17
19
|
private readonly _eventType;
|
|
18
20
|
private readonly _source;
|
|
19
21
|
constructor(metadata: Omit<EventMetadata, "eventType">, props: P);
|
|
@@ -3,7 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.EventBase = void 0;
|
|
4
4
|
const meta_1 = require("../../../meta");
|
|
5
5
|
const message_base_1 = require("../message-base");
|
|
6
|
+
const _1 = require(".");
|
|
6
7
|
class EventBase extends message_base_1.MessageBase {
|
|
8
|
+
static builder() {
|
|
9
|
+
return new _1.EventBuilder(this);
|
|
10
|
+
}
|
|
7
11
|
constructor(metadata, props) {
|
|
8
12
|
super(metadata, props);
|
|
9
13
|
this._eventType = (0, meta_1.getEventType)(this.constructor);
|
|
@@ -7,7 +7,6 @@ class EventPublisher {
|
|
|
7
7
|
}
|
|
8
8
|
async publish(event) {
|
|
9
9
|
const subscribers = this.subscriberRegistry.getAllSubscribersForEvent(event.constructor);
|
|
10
|
-
// TODO: should convert to for await (subscriber be called sequently) ?
|
|
11
10
|
await Promise.all(subscribers.map((subscriber) => subscriber.handleEvent(event)));
|
|
12
11
|
}
|
|
13
12
|
}
|
package/dist/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"ddd-node","version":"
|
|
1
|
+
{"name":"ddd-node","version":"25.0.0","description":"Domain Driven Design base for NodeJs","type":"commonjs","main":"index.js","types":"index.d.ts","files":["dist"],"repository":{"type":"git","url":"https://github.com/nqd881/ddd-node"},"keywords":["ddd","ddd-node","ddd-base","ddd-ts","ddd-js"],"author":"Quoc Dai","license":"ISC","devDependencies":{"@types/chai":"^4.3.16","@types/lodash":"^4.14.200","@types/mocha":"^10.0.6","@types/uuid":"^9.0.6","chai":"^5.1.1","chai-deep-match":"^1.2.1","ddd-node":"file:dist","mocha":"^10.4.0","ts-node":"^10.9.1","tsconfig-paths":"^4.2.0","typescript":"^5.2.2"},"dependencies":{"lodash":"^4.17.21","reflect-metadata":"^0.1.13","tsc-alias":"^1.8.8","type-fest":"^4.20.1","uuid":"^9.0.1"}}
|