ddd-node 26.0.0 → 28.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/package.json +1 -62
- package/dist/base/decorators/index.d.ts +0 -5
- package/dist/base/decorators/index.js +0 -21
- package/dist/base/decorators/model.d.ts +0 -12
- package/dist/base/decorators/model.js +0 -54
- package/dist/base/decorators/mutable.d.ts +0 -2
- package/dist/base/decorators/mutable.js +0 -10
- package/dist/base/decorators/prop.d.ts +0 -2
- package/dist/base/decorators/prop.js +0 -10
- package/dist/base/decorators/props-validator.d.ts +0 -2
- package/dist/base/decorators/props-validator.js +0 -8
- package/dist/base/decorators/static.d.ts +0 -3
- package/dist/base/decorators/static.js +0 -11
- package/dist/base/domain.d.ts +0 -24
- package/dist/base/domain.js +0 -48
- package/dist/base/index.d.ts +0 -5
- package/dist/base/index.js +0 -21
- package/dist/base/meta/index.d.ts +0 -8
- package/dist/base/meta/index.js +0 -24
- package/dist/base/meta/model-domain.d.ts +0 -4
- package/dist/base/meta/model-domain.js +0 -15
- package/dist/base/meta/model-id.d.ts +0 -16
- package/dist/base/meta/model-id.js +0 -39
- package/dist/base/meta/model-mutable.d.ts +0 -2
- package/dist/base/meta/model-mutable.js +0 -14
- package/dist/base/meta/model-name.d.ts +0 -8
- package/dist/base/meta/model-name.js +0 -25
- package/dist/base/meta/model-props-map.d.ts +0 -6
- package/dist/base/meta/model-props-map.js +0 -45
- package/dist/base/meta/model-props-validator.d.ts +0 -6
- package/dist/base/meta/model-props-validator.js +0 -33
- package/dist/base/meta/model-static-values.d.ts +0 -13
- package/dist/base/meta/model-static-values.js +0 -54
- package/dist/base/meta/model-version.d.ts +0 -8
- package/dist/base/meta/model-version.js +0 -25
- package/dist/base/model/errors.d.ts +0 -3
- package/dist/base/model/errors.js +0 -9
- package/dist/base/model/index.d.ts +0 -3
- package/dist/base/model/index.js +0 -19
- package/dist/base/model/model-descriptor.d.ts +0 -13
- package/dist/base/model/model-descriptor.js +0 -2
- package/dist/base/model/model.builder.d.ts +0 -11
- package/dist/base/model/model.builder.js +0 -18
- package/dist/base/model/model.d.ts +0 -40
- package/dist/base/model/model.js +0 -117
- package/dist/base/model-registry.d.ts +0 -17
- package/dist/base/model-registry.js +0 -55
- package/dist/core/aggregate/aggregate-base/aggregate-event-dispatcher.interface.d.ts +0 -4
- package/dist/core/aggregate/aggregate-base/aggregate-event-dispatcher.interface.js +0 -2
- package/dist/core/aggregate/aggregate-base/aggregate.builder.d.ts +0 -6
- package/dist/core/aggregate/aggregate-base/aggregate.builder.js +0 -15
- package/dist/core/aggregate/aggregate-base/aggregate.d.ts +0 -17
- package/dist/core/aggregate/aggregate-base/aggregate.js +0 -46
- package/dist/core/aggregate/aggregate-base/index.d.ts +0 -3
- package/dist/core/aggregate/aggregate-base/index.js +0 -19
- package/dist/core/aggregate/event-sourced-aggregate/event-sourced-aggregate-model-descriptor.d.ts +0 -9
- package/dist/core/aggregate/event-sourced-aggregate/event-sourced-aggregate-model-descriptor.js +0 -2
- package/dist/core/aggregate/event-sourced-aggregate/event-sourced-aggregate.builder.d.ts +0 -13
- package/dist/core/aggregate/event-sourced-aggregate/event-sourced-aggregate.builder.js +0 -33
- package/dist/core/aggregate/event-sourced-aggregate/event-sourced-aggregate.d.ts +0 -49
- package/dist/core/aggregate/event-sourced-aggregate/event-sourced-aggregate.js +0 -143
- package/dist/core/aggregate/event-sourced-aggregate/index.d.ts +0 -2
- package/dist/core/aggregate/event-sourced-aggregate/index.js +0 -18
- package/dist/core/aggregate/event-sourced-aggregate/snapshot.d.ts +0 -8
- package/dist/core/aggregate/event-sourced-aggregate/snapshot.js +0 -2
- package/dist/core/aggregate/index.d.ts +0 -4
- package/dist/core/aggregate/index.js +0 -20
- package/dist/core/aggregate/state-aggregate/index.d.ts +0 -2
- package/dist/core/aggregate/state-aggregate/index.js +0 -18
- package/dist/core/aggregate/state-aggregate/state-aggregate.builder.d.ts +0 -7
- package/dist/core/aggregate/state-aggregate/state-aggregate.builder.js +0 -19
- package/dist/core/aggregate/state-aggregate/state-aggregate.d.ts +0 -25
- package/dist/core/aggregate/state-aggregate/state-aggregate.js +0 -43
- package/dist/core/aggregate/types.d.ts +0 -4
- package/dist/core/aggregate/types.js +0 -2
- package/dist/core/entity/entity.builder.d.ts +0 -7
- package/dist/core/entity/entity.builder.js +0 -16
- package/dist/core/entity/entity.d.ts +0 -18
- package/dist/core/entity/entity.js +0 -29
- package/dist/core/entity/index.d.ts +0 -2
- package/dist/core/entity/index.js +0 -18
- package/dist/core/enum/enum-builder.d.ts +0 -9
- package/dist/core/enum/enum-builder.js +0 -32
- package/dist/core/enum/enum.d.ts +0 -22
- package/dist/core/enum/enum.js +0 -44
- package/dist/core/enum/index.d.ts +0 -2
- package/dist/core/enum/index.js +0 -18
- package/dist/core/identifiable-model/id.d.ts +0 -1
- package/dist/core/identifiable-model/id.js +0 -2
- package/dist/core/identifiable-model/identifiable-model.builder.d.ts +0 -9
- package/dist/core/identifiable-model/identifiable-model.builder.js +0 -22
- package/dist/core/identifiable-model/identifiable-model.d.ts +0 -13
- package/dist/core/identifiable-model/identifiable-model.js +0 -23
- package/dist/core/identifiable-model/index.d.ts +0 -3
- package/dist/core/identifiable-model/index.js +0 -19
- package/dist/core/index.d.ts +0 -7
- package/dist/core/index.js +0 -23
- package/dist/core/message/command/command-model-descriptor.d.ts +0 -6
- package/dist/core/message/command/command-model-descriptor.js +0 -2
- package/dist/core/message/command/command.builder.d.ts +0 -7
- package/dist/core/message/command/command.builder.js +0 -21
- package/dist/core/message/command/command.d.ts +0 -24
- package/dist/core/message/command/command.js +0 -35
- package/dist/core/message/command/index.d.ts +0 -3
- package/dist/core/message/command/index.js +0 -19
- package/dist/core/message/event/event-model-descriptor.d.ts +0 -6
- package/dist/core/message/event/event-model-descriptor.js +0 -2
- package/dist/core/message/event/event.builder.d.ts +0 -9
- package/dist/core/message/event/event.builder.js +0 -28
- package/dist/core/message/event/event.d.ts +0 -35
- package/dist/core/message/event/event.js +0 -40
- package/dist/core/message/event/index.d.ts +0 -3
- package/dist/core/message/event/index.js +0 -19
- package/dist/core/message/index.d.ts +0 -3
- package/dist/core/message/index.js +0 -19
- package/dist/core/message/message-base/index.d.ts +0 -2
- package/dist/core/message/message-base/index.js +0 -18
- package/dist/core/message/message-base/message.builder.d.ts +0 -16
- package/dist/core/message/message-base/message.builder.js +0 -44
- package/dist/core/message/message-base/message.d.ts +0 -31
- package/dist/core/message/message-base/message.js +0 -58
- package/dist/core/repository/index.d.ts +0 -1
- package/dist/core/repository/index.js +0 -17
- package/dist/core/repository/repository.d.ts +0 -6
- package/dist/core/repository/repository.js +0 -2
- package/dist/core/value-object/index.d.ts +0 -2
- package/dist/core/value-object/index.js +0 -18
- package/dist/core/value-object/value-object.builder.d.ts +0 -7
- package/dist/core/value-object/value-object.builder.js +0 -16
- package/dist/core/value-object/value-object.d.ts +0 -17
- package/dist/core/value-object/value-object.js +0 -64
- package/dist/decorators/aggregate-es/handle.d.ts +0 -2
- package/dist/decorators/aggregate-es/handle.js +0 -13
- package/dist/decorators/aggregate-es/index.d.ts +0 -2
- package/dist/decorators/aggregate-es/index.js +0 -18
- package/dist/decorators/aggregate-es/when.d.ts +0 -2
- package/dist/decorators/aggregate-es/when.js +0 -13
- package/dist/decorators/enum.d.ts +0 -2
- package/dist/decorators/enum.js +0 -10
- package/dist/decorators/index.d.ts +0 -3
- package/dist/decorators/index.js +0 -19
- package/dist/decorators/message/command.d.ts +0 -3
- package/dist/decorators/message/command.js +0 -10
- package/dist/decorators/message/event.d.ts +0 -3
- package/dist/decorators/message/event.js +0 -10
- package/dist/decorators/message/index.d.ts +0 -2
- package/dist/decorators/message/index.js +0 -18
- package/dist/decorators/type.d.ts +0 -2
- package/dist/decorators/type.js +0 -2
- package/dist/event-pubsub/decorators/index.d.ts +0 -1
- package/dist/event-pubsub/decorators/index.js +0 -17
- package/dist/event-pubsub/decorators/subscribe-to-events.d.ts +0 -5
- package/dist/event-pubsub/decorators/subscribe-to-events.js +0 -11
- package/dist/event-pubsub/event-publisher.d.ts +0 -7
- package/dist/event-pubsub/event-publisher.js +0 -13
- package/dist/event-pubsub/event-subscriber-registry.d.ts +0 -23
- package/dist/event-pubsub/event-subscriber-registry.js +0 -80
- package/dist/event-pubsub/event-subscriber.d.ts +0 -13
- package/dist/event-pubsub/event-subscriber.js +0 -24
- package/dist/event-pubsub/index.d.ts +0 -5
- package/dist/event-pubsub/index.js +0 -21
- package/dist/event-pubsub/interfaces/event-publisher.interface.d.ts +0 -4
- package/dist/event-pubsub/interfaces/event-publisher.interface.js +0 -2
- package/dist/event-pubsub/interfaces/event-subscriber-registry.interface.d.ts +0 -13
- package/dist/event-pubsub/interfaces/event-subscriber-registry.interface.js +0 -2
- package/dist/event-pubsub/interfaces/event-subscriber.interface.d.ts +0 -9
- package/dist/event-pubsub/interfaces/event-subscriber.interface.js +0 -2
- package/dist/event-pubsub/interfaces/index.d.ts +0 -3
- package/dist/event-pubsub/interfaces/index.js +0 -19
- package/dist/index.d.ts +0 -8
- package/dist/meta/aggregate-es/command-handler-map.d.ts +0 -8
- package/dist/meta/aggregate-es/command-handler-map.js +0 -43
- package/dist/meta/aggregate-es/event-applier-map.d.ts +0 -9
- package/dist/meta/aggregate-es/event-applier-map.js +0 -43
- package/dist/meta/aggregate-es/index.d.ts +0 -2
- package/dist/meta/aggregate-es/index.js +0 -18
- package/dist/meta/command.metadata.d.ts +0 -8
- package/dist/meta/command.metadata.js +0 -27
- package/dist/meta/event.metadata.d.ts +0 -8
- package/dist/meta/event.metadata.js +0 -27
- package/dist/meta/index.d.ts +0 -3
- package/dist/meta/index.js +0 -19
- package/dist/package.json +0 -1
- package/dist/types/class-static.d.ts +0 -2
- package/dist/types/class-static.js +0 -2
- package/dist/types/class.d.ts +0 -2
- package/dist/types/class.js +0 -2
- package/dist/types/index.d.ts +0 -2
- package/dist/types/index.js +0 -18
- package/dist/utils/index.d.ts +0 -1
- package/dist/utils/index.js +0 -17
- package/dist/utils/to-array.d.ts +0 -1
- package/dist/utils/to-array.js +0 -7
- /package/{dist/index.js → index.js} +0 -0
|
@@ -1,143 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.EventSourcedAggregateBase = void 0;
|
|
4
|
-
const meta_1 = require("../../../meta");
|
|
5
|
-
const utils_1 = require("../../../utils");
|
|
6
|
-
const aggregate_base_1 = require("../aggregate-base");
|
|
7
|
-
const _1 = require(".");
|
|
8
|
-
class EventSourcedAggregateBase extends aggregate_base_1.AggregateBase {
|
|
9
|
-
static builder() {
|
|
10
|
-
return new _1.EventSourcedAggregateBuilder(this);
|
|
11
|
-
}
|
|
12
|
-
constructor(metadata, props) {
|
|
13
|
-
super(metadata, props);
|
|
14
|
-
this._handledCommands = [];
|
|
15
|
-
this._events = [];
|
|
16
|
-
this._pastEvents = [];
|
|
17
|
-
}
|
|
18
|
-
static ownEventApplierMap() {
|
|
19
|
-
return (0, meta_1.getOwnEventApplierMap)(this.prototype);
|
|
20
|
-
}
|
|
21
|
-
static eventApplierMap() {
|
|
22
|
-
return (0, meta_1.getEventApplierMap)(this.prototype);
|
|
23
|
-
}
|
|
24
|
-
static ownCommandHandlerMap() {
|
|
25
|
-
return (0, meta_1.getOwnCommandHandlerMap)(this.prototype);
|
|
26
|
-
}
|
|
27
|
-
static commandHandlerMap() {
|
|
28
|
-
return (0, meta_1.getCommandHandlerMap)(this.prototype);
|
|
29
|
-
}
|
|
30
|
-
modelDescriptor() {
|
|
31
|
-
const aggregateClass = this.constructor;
|
|
32
|
-
return {
|
|
33
|
-
...super.modelDescriptor(),
|
|
34
|
-
ownEventApplierMap: aggregateClass.ownEventApplierMap(),
|
|
35
|
-
eventApplierMap: aggregateClass.eventApplierMap(),
|
|
36
|
-
ownCommandHandlerMap: aggregateClass.ownCommandHandlerMap(),
|
|
37
|
-
commandHandlerMap: aggregateClass.commandHandlerMap(),
|
|
38
|
-
};
|
|
39
|
-
}
|
|
40
|
-
version() {
|
|
41
|
-
return this._version + this._pastEvents.length + this._events.length;
|
|
42
|
-
}
|
|
43
|
-
pastEvents() {
|
|
44
|
-
return Array.from(this._pastEvents);
|
|
45
|
-
}
|
|
46
|
-
events() {
|
|
47
|
-
return Array.from(this._events);
|
|
48
|
-
}
|
|
49
|
-
handledCommands() {
|
|
50
|
-
return Array.from(this._handledCommands);
|
|
51
|
-
}
|
|
52
|
-
hasNewEvent() {
|
|
53
|
-
return Boolean(this._events.length);
|
|
54
|
-
}
|
|
55
|
-
getEventApplier(event) {
|
|
56
|
-
const { eventType } = event.modelDescriptor();
|
|
57
|
-
const { eventApplierMap } = this.modelDescriptor();
|
|
58
|
-
const applier = eventApplierMap.get(eventType);
|
|
59
|
-
if (!applier)
|
|
60
|
-
throw new Error("Event applier not found");
|
|
61
|
-
return applier;
|
|
62
|
-
}
|
|
63
|
-
validateEventBeforeApply(event) {
|
|
64
|
-
const { aggregateId, aggregateVersion } = event.source();
|
|
65
|
-
if (aggregateId !== this._id)
|
|
66
|
-
throw new Error("Invalid aggregate id");
|
|
67
|
-
if (aggregateVersion !== this.version())
|
|
68
|
-
throw new Error("Invalid aggregate version");
|
|
69
|
-
}
|
|
70
|
-
_applyEvent(event) {
|
|
71
|
-
const applier = this.getEventApplier(event);
|
|
72
|
-
this.validateEventBeforeApply(event);
|
|
73
|
-
applier.call(this, event);
|
|
74
|
-
}
|
|
75
|
-
applyPastEvent(event) {
|
|
76
|
-
if (this.hasNewEvent())
|
|
77
|
-
throw new Error("Cannot apply a past event when new event is recorded");
|
|
78
|
-
this._applyEvent(event);
|
|
79
|
-
this._pastEvents.push(event);
|
|
80
|
-
}
|
|
81
|
-
applyPastEvents(pastEvents) {
|
|
82
|
-
pastEvents.forEach((pastEvent) => {
|
|
83
|
-
this.applyPastEvent(pastEvent);
|
|
84
|
-
});
|
|
85
|
-
}
|
|
86
|
-
applyEvent(event) {
|
|
87
|
-
this._applyEvent(event);
|
|
88
|
-
this._events.push(event);
|
|
89
|
-
}
|
|
90
|
-
applyEvents(events) {
|
|
91
|
-
events.forEach((event) => {
|
|
92
|
-
this.applyEvent(event);
|
|
93
|
-
});
|
|
94
|
-
}
|
|
95
|
-
applyNewEvent(eventClass, props) {
|
|
96
|
-
this.applyEvent(this.newEvent(eventClass, props));
|
|
97
|
-
}
|
|
98
|
-
getCommandHandler(command) {
|
|
99
|
-
const { commandType } = command.modelDescriptor();
|
|
100
|
-
const { commandHandlerMap } = this.modelDescriptor();
|
|
101
|
-
const handler = commandHandlerMap.get(commandType);
|
|
102
|
-
if (!handler)
|
|
103
|
-
throw new Error("Command handler not found");
|
|
104
|
-
return handler;
|
|
105
|
-
}
|
|
106
|
-
handleCommand(command) {
|
|
107
|
-
const handler = this.getCommandHandler(command);
|
|
108
|
-
const events = (0, utils_1.toArray)(handler.call(this, command));
|
|
109
|
-
events.forEach((event) => {
|
|
110
|
-
event.setCausationId(command.id());
|
|
111
|
-
event.setCorrelationIds(command.correlationIds());
|
|
112
|
-
});
|
|
113
|
-
this.applyEvents(events);
|
|
114
|
-
this._handledCommands.push(command);
|
|
115
|
-
return events;
|
|
116
|
-
}
|
|
117
|
-
snapMetadata() {
|
|
118
|
-
return {
|
|
119
|
-
id: this.id(),
|
|
120
|
-
version: this.version(),
|
|
121
|
-
};
|
|
122
|
-
}
|
|
123
|
-
snap() {
|
|
124
|
-
if (this.propsIsEmpty())
|
|
125
|
-
throw new Error("Cannot create snapshot when the props is not initialized");
|
|
126
|
-
return {
|
|
127
|
-
metadata: this.snapMetadata(),
|
|
128
|
-
props: this.props(),
|
|
129
|
-
};
|
|
130
|
-
}
|
|
131
|
-
archiveEvents() {
|
|
132
|
-
const events = this.events();
|
|
133
|
-
this._events = [];
|
|
134
|
-
this._pastEvents.push(...events);
|
|
135
|
-
}
|
|
136
|
-
dispatchEvents(dispatcher) {
|
|
137
|
-
this.events().forEach((event) => {
|
|
138
|
-
dispatcher.dispatch(event);
|
|
139
|
-
});
|
|
140
|
-
this.archiveEvents();
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
exports.EventSourcedAggregateBase = EventSourcedAggregateBase;
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./event-sourced-aggregate"), exports);
|
|
18
|
-
__exportStar(require("./event-sourced-aggregate.builder"), exports);
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { PropsOf } from "../../../base";
|
|
2
|
-
import { AnyEventSourcedAggregate, EventSourceAggregateMetadata } from "./event-sourced-aggregate";
|
|
3
|
-
export interface SnapshotMetadata extends EventSourceAggregateMetadata {
|
|
4
|
-
}
|
|
5
|
-
export interface Snapshot<T extends AnyEventSourcedAggregate> {
|
|
6
|
-
metadata: SnapshotMetadata;
|
|
7
|
-
props: PropsOf<T>;
|
|
8
|
-
}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./aggregate-base"), exports);
|
|
18
|
-
__exportStar(require("./state-aggregate"), exports);
|
|
19
|
-
__exportStar(require("./event-sourced-aggregate"), exports);
|
|
20
|
-
__exportStar(require("./types"), exports);
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./state-aggregate"), exports);
|
|
18
|
-
__exportStar(require("./state-aggregate.builder"), exports);
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { AggregateBuilderBase } from "../aggregate-base";
|
|
2
|
-
import { AnyStateAggregate, StateAggregateClassWithTypedConstructor } from "./state-aggregate";
|
|
3
|
-
export declare class StateAggregateBuilder<T extends AnyStateAggregate> extends AggregateBuilderBase<T> {
|
|
4
|
-
private aggregateClass;
|
|
5
|
-
constructor(aggregateClass: StateAggregateClassWithTypedConstructor<T>);
|
|
6
|
-
build(): T;
|
|
7
|
-
}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.StateAggregateBuilder = void 0;
|
|
4
|
-
const aggregate_base_1 = require("../aggregate-base");
|
|
5
|
-
class StateAggregateBuilder extends aggregate_base_1.AggregateBuilderBase {
|
|
6
|
-
constructor(aggregateClass) {
|
|
7
|
-
super();
|
|
8
|
-
this.aggregateClass = aggregateClass;
|
|
9
|
-
}
|
|
10
|
-
build() {
|
|
11
|
-
if (!this.props)
|
|
12
|
-
throw new Error("The props must be set before build");
|
|
13
|
-
return new this.aggregateClass({
|
|
14
|
-
id: this.id,
|
|
15
|
-
version: this.version,
|
|
16
|
-
}, this.props);
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
exports.StateAggregateBuilder = StateAggregateBuilder;
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { Class } from "type-fest";
|
|
2
|
-
import { Props, PropsOf } from "../../../base";
|
|
3
|
-
import { ClassStatic } from "../../../types";
|
|
4
|
-
import { AnyEvent, EventClassWithTypedConstructor } from "../../message";
|
|
5
|
-
import { AggregateBase, AggregateMetadata, IAggregateEventDispatcher } from "../aggregate-base";
|
|
6
|
-
import { StateAggregateBuilder } from ".";
|
|
7
|
-
export interface StateAggregateMetadata extends AggregateMetadata {
|
|
8
|
-
}
|
|
9
|
-
export declare class StateAggregateBase<P extends Props> extends AggregateBase<P> {
|
|
10
|
-
static builder<T extends AnyStateAggregate>(this: StateAggregateClass<T>): StateAggregateBuilder<T>;
|
|
11
|
-
private _events;
|
|
12
|
-
constructor(metadata: StateAggregateMetadata, props: P);
|
|
13
|
-
props(): P;
|
|
14
|
-
version(): number;
|
|
15
|
-
events(): AnyEvent[];
|
|
16
|
-
protected recordEvent<E extends AnyEvent>(event: E): void;
|
|
17
|
-
protected recordEvent<E extends AnyEvent>(eventClass: EventClassWithTypedConstructor<E>, props: PropsOf<E>): void;
|
|
18
|
-
clearEvents(): void;
|
|
19
|
-
dispatchEvents(dispatcher: IAggregateEventDispatcher): void;
|
|
20
|
-
}
|
|
21
|
-
export type AnyStateAggregate = StateAggregateBase<Props>;
|
|
22
|
-
export interface StateAggregateClass<T extends AnyStateAggregate = AnyStateAggregate, Arguments extends unknown[] = any[]> extends Class<T, Arguments>, ClassStatic<typeof StateAggregateBase<PropsOf<T>>> {
|
|
23
|
-
}
|
|
24
|
-
export interface StateAggregateClassWithTypedConstructor<T extends AnyStateAggregate = AnyStateAggregate> extends StateAggregateClass<T, ConstructorParameters<typeof StateAggregateBase<PropsOf<T>>>> {
|
|
25
|
-
}
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.StateAggregateBase = void 0;
|
|
4
|
-
const aggregate_base_1 = require("../aggregate-base");
|
|
5
|
-
const _1 = require(".");
|
|
6
|
-
class StateAggregateBase extends aggregate_base_1.AggregateBase {
|
|
7
|
-
static builder() {
|
|
8
|
-
return new _1.StateAggregateBuilder(this);
|
|
9
|
-
}
|
|
10
|
-
constructor(metadata, props) {
|
|
11
|
-
super(metadata, props);
|
|
12
|
-
this._events = [];
|
|
13
|
-
}
|
|
14
|
-
props() {
|
|
15
|
-
return super.props();
|
|
16
|
-
}
|
|
17
|
-
version() {
|
|
18
|
-
return this._version;
|
|
19
|
-
}
|
|
20
|
-
events() {
|
|
21
|
-
return Array.from(this._events);
|
|
22
|
-
}
|
|
23
|
-
recordEvent(param1, param2) {
|
|
24
|
-
let event;
|
|
25
|
-
if (typeof param1 === "function" && param2) {
|
|
26
|
-
event = this.newEvent(param1, param2);
|
|
27
|
-
}
|
|
28
|
-
else {
|
|
29
|
-
event = param1;
|
|
30
|
-
}
|
|
31
|
-
this._events.push(event);
|
|
32
|
-
}
|
|
33
|
-
clearEvents() {
|
|
34
|
-
this._events = [];
|
|
35
|
-
}
|
|
36
|
-
dispatchEvents(dispatcher) {
|
|
37
|
-
this.events().forEach((event) => {
|
|
38
|
-
dispatcher.dispatch(event);
|
|
39
|
-
});
|
|
40
|
-
this.clearEvents();
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
exports.StateAggregateBase = StateAggregateBase;
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { AnyEventSourcedAggregate, EventSourcedAggregateClass } from "./event-sourced-aggregate/event-sourced-aggregate";
|
|
2
|
-
import { AnyStateAggregate, StateAggregateClass } from "./state-aggregate";
|
|
3
|
-
export type Aggregate = AnyStateAggregate | AnyEventSourcedAggregate;
|
|
4
|
-
export type AggregateClass = StateAggregateClass | EventSourcedAggregateClass;
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { IdentifiableModelBuilder } from "../identifiable-model";
|
|
2
|
-
import { AnyEntity, EntityClassWithTypedConstructor } from "./entity";
|
|
3
|
-
export declare class EntityBuilder<T extends AnyEntity> extends IdentifiableModelBuilder<T> {
|
|
4
|
-
private entityClass;
|
|
5
|
-
constructor(entityClass: EntityClassWithTypedConstructor<T>);
|
|
6
|
-
build(): T;
|
|
7
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.EntityBuilder = void 0;
|
|
4
|
-
const identifiable_model_1 = require("../identifiable-model");
|
|
5
|
-
class EntityBuilder extends identifiable_model_1.IdentifiableModelBuilder {
|
|
6
|
-
constructor(entityClass) {
|
|
7
|
-
super();
|
|
8
|
-
this.entityClass = entityClass;
|
|
9
|
-
}
|
|
10
|
-
build() {
|
|
11
|
-
if (!this.props)
|
|
12
|
-
throw new Error("The props must be set before build");
|
|
13
|
-
return new this.entityClass({ id: this.id }, this.props);
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
exports.EntityBuilder = EntityBuilder;
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { Class } from "type-fest";
|
|
2
|
-
import { Props, PropsOf } from "../../base";
|
|
3
|
-
import { ClassStatic } from "../../types";
|
|
4
|
-
import { IdentifiableModel, IdentifiableModelMetadata } from "../identifiable-model";
|
|
5
|
-
import { EntityBuilder } from ".";
|
|
6
|
-
export interface EntityMetadata extends IdentifiableModelMetadata {
|
|
7
|
-
}
|
|
8
|
-
export declare class EntityBase<P extends Props> extends IdentifiableModel<P> {
|
|
9
|
-
static builder<T extends AnyEntity>(this: EntityClass<T>): EntityBuilder<T>;
|
|
10
|
-
constructor(metadata: EntityMetadata, props: P);
|
|
11
|
-
}
|
|
12
|
-
export type AnyEntity = EntityBase<Props>;
|
|
13
|
-
export interface EntityClass<T extends AnyEntity = AnyEntity, Arguments extends unknown[] = any[]> extends Class<T, Arguments>, ClassStatic<typeof EntityBase<PropsOf<T>>> {
|
|
14
|
-
}
|
|
15
|
-
export interface EntityClassWithTypedConstructor<T extends AnyEntity = AnyEntity> extends EntityClass<T, ConstructorParameters<typeof EntityBase<PropsOf<T>>>> {
|
|
16
|
-
}
|
|
17
|
-
export interface EntityClassWithProps<P extends Props> extends EntityClass<EntityBase<P>> {
|
|
18
|
-
}
|
|
@@ -1,29 +0,0 @@
|
|
|
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
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.EntityBase = void 0;
|
|
13
|
-
const base_1 = require("../../base");
|
|
14
|
-
const identifiable_model_1 = require("../identifiable-model");
|
|
15
|
-
const _1 = require(".");
|
|
16
|
-
let EntityBase = class EntityBase extends identifiable_model_1.IdentifiableModel {
|
|
17
|
-
static builder() {
|
|
18
|
-
return new _1.EntityBuilder(this);
|
|
19
|
-
}
|
|
20
|
-
constructor(metadata, props) {
|
|
21
|
-
super(metadata);
|
|
22
|
-
this.initializeProps(props);
|
|
23
|
-
}
|
|
24
|
-
};
|
|
25
|
-
exports.EntityBase = EntityBase;
|
|
26
|
-
exports.EntityBase = EntityBase = __decorate([
|
|
27
|
-
(0, base_1.Mutable)(true),
|
|
28
|
-
__metadata("design:paramtypes", [Object, Object])
|
|
29
|
-
], EntityBase);
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./entity"), exports);
|
|
18
|
-
__exportStar(require("./entity.builder"), exports);
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { ModelBuilder } from "../../base";
|
|
2
|
-
import { AnyEnum, EnumClass, EnumValue } from "./enum";
|
|
3
|
-
export declare class EnumBuilder<T extends AnyEnum> extends ModelBuilder<T> {
|
|
4
|
-
private enumClass;
|
|
5
|
-
protected _value?: EnumValue;
|
|
6
|
-
constructor(enumClass: EnumClass<T>);
|
|
7
|
-
withValue(value: EnumValue): this;
|
|
8
|
-
build(): T;
|
|
9
|
-
}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.EnumBuilder = void 0;
|
|
4
|
-
const base_1 = require("../../base");
|
|
5
|
-
class EnumBuilder extends base_1.ModelBuilder {
|
|
6
|
-
constructor(enumClass) {
|
|
7
|
-
super();
|
|
8
|
-
this.enumClass = enumClass;
|
|
9
|
-
}
|
|
10
|
-
withValue(value) {
|
|
11
|
-
this._value = value;
|
|
12
|
-
return this;
|
|
13
|
-
}
|
|
14
|
-
build() {
|
|
15
|
-
if (!this._value)
|
|
16
|
-
throw new Error("Cannot parse enum without value");
|
|
17
|
-
const { enumClass } = this;
|
|
18
|
-
let result;
|
|
19
|
-
enumClass.ownModelStaticValues().forEach((staticValue) => {
|
|
20
|
-
if (staticValue.value instanceof enumClass) {
|
|
21
|
-
const staticEnum = staticValue.value;
|
|
22
|
-
if (staticEnum.value === this._value && !result) {
|
|
23
|
-
result = staticEnum;
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
});
|
|
27
|
-
if (!result)
|
|
28
|
-
throw new Error(`Invalid provided value for enum ${enumClass.modelName()}`);
|
|
29
|
-
return result;
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
exports.EnumBuilder = EnumBuilder;
|
package/dist/core/enum/enum.d.ts
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { Class } from "type-fest";
|
|
2
|
-
import { ModelBase } from "../../base";
|
|
3
|
-
import { ClassStatic } from "../../types";
|
|
4
|
-
import { EnumBuilder } from ".";
|
|
5
|
-
export type EnumValue = string | number;
|
|
6
|
-
export interface EnumProps {
|
|
7
|
-
value: EnumValue;
|
|
8
|
-
}
|
|
9
|
-
export declare class EnumBase extends ModelBase<EnumProps> {
|
|
10
|
-
static builder<T extends AnyEnum>(this: EnumClass<T>): EnumBuilder<T>;
|
|
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;
|
|
14
|
-
constructor(value: EnumValue);
|
|
15
|
-
value: EnumValue;
|
|
16
|
-
valueOf(): EnumValue;
|
|
17
|
-
}
|
|
18
|
-
export type AnyEnum = EnumBase;
|
|
19
|
-
export interface EnumClass<T extends AnyEnum = AnyEnum, Arguments extends unknown[] = any[]> extends Class<T, Arguments>, ClassStatic<typeof EnumBase> {
|
|
20
|
-
}
|
|
21
|
-
export interface EnumClassWithTypedConstructor<T extends AnyEnum = AnyEnum> extends EnumClass<T, ConstructorParameters<typeof EnumBase>> {
|
|
22
|
-
}
|
package/dist/core/enum/enum.js
DELETED
|
@@ -1,44 +0,0 @@
|
|
|
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
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.EnumBase = void 0;
|
|
13
|
-
const base_1 = require("../../base");
|
|
14
|
-
const _1 = require(".");
|
|
15
|
-
let EnumBase = class EnumBase extends base_1.ModelBase {
|
|
16
|
-
static builder() {
|
|
17
|
-
return new _1.EnumBuilder(this);
|
|
18
|
-
}
|
|
19
|
-
static values() {
|
|
20
|
-
return Array.from(this.ownModelStaticValues().values()).map((staticValue) => staticValue.value);
|
|
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
|
-
}
|
|
28
|
-
constructor(value) {
|
|
29
|
-
super();
|
|
30
|
-
this.initializeProps({ value });
|
|
31
|
-
}
|
|
32
|
-
valueOf() {
|
|
33
|
-
return this.value;
|
|
34
|
-
}
|
|
35
|
-
};
|
|
36
|
-
exports.EnumBase = EnumBase;
|
|
37
|
-
__decorate([
|
|
38
|
-
(0, base_1.Prop)(),
|
|
39
|
-
__metadata("design:type", Object)
|
|
40
|
-
], EnumBase.prototype, "value", void 0);
|
|
41
|
-
exports.EnumBase = EnumBase = __decorate([
|
|
42
|
-
(0, base_1.Mutable)(false),
|
|
43
|
-
__metadata("design:paramtypes", [Object])
|
|
44
|
-
], EnumBase);
|
package/dist/core/enum/index.js
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./enum"), exports);
|
|
18
|
-
__exportStar(require("./enum-builder"), exports);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export type Id = string;
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { ModelBuilder } from "../../base";
|
|
2
|
-
import { AnyIdentifiableModel } from "./identifiable-model";
|
|
3
|
-
import { Id } from "./id";
|
|
4
|
-
export declare abstract class IdentifiableModelBuilder<T extends AnyIdentifiableModel> extends ModelBuilder<T> {
|
|
5
|
-
protected id: Id;
|
|
6
|
-
newId(): string;
|
|
7
|
-
withId(id: Id): this;
|
|
8
|
-
withNewId(): this;
|
|
9
|
-
}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.IdentifiableModelBuilder = void 0;
|
|
4
|
-
const uuid_1 = require("uuid");
|
|
5
|
-
const base_1 = require("../../base");
|
|
6
|
-
class IdentifiableModelBuilder extends base_1.ModelBuilder {
|
|
7
|
-
constructor() {
|
|
8
|
-
super(...arguments);
|
|
9
|
-
this.id = this.newId();
|
|
10
|
-
}
|
|
11
|
-
newId() {
|
|
12
|
-
return (0, uuid_1.v4)();
|
|
13
|
-
}
|
|
14
|
-
withId(id) {
|
|
15
|
-
this.id = id;
|
|
16
|
-
return this;
|
|
17
|
-
}
|
|
18
|
-
withNewId() {
|
|
19
|
-
return this.withId(this.newId());
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
exports.IdentifiableModelBuilder = IdentifiableModelBuilder;
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { Id } from "./id";
|
|
2
|
-
import { ModelBase, Props } from "../../base";
|
|
3
|
-
export interface IdentifiableModelMetadata {
|
|
4
|
-
id: Id;
|
|
5
|
-
}
|
|
6
|
-
export declare class IdentifiableModel<P extends Props> extends ModelBase<P> {
|
|
7
|
-
protected readonly _id: Id;
|
|
8
|
-
constructor(metadata: IdentifiableModelMetadata);
|
|
9
|
-
metadata(): IdentifiableModelMetadata;
|
|
10
|
-
id(): string;
|
|
11
|
-
hasId(id: Id): boolean;
|
|
12
|
-
}
|
|
13
|
-
export type AnyIdentifiableModel = IdentifiableModel<Props>;
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.IdentifiableModel = void 0;
|
|
4
|
-
const base_1 = require("../../base");
|
|
5
|
-
class IdentifiableModel extends base_1.ModelBase {
|
|
6
|
-
constructor(metadata) {
|
|
7
|
-
super();
|
|
8
|
-
this._id = metadata.id;
|
|
9
|
-
}
|
|
10
|
-
metadata() {
|
|
11
|
-
return {
|
|
12
|
-
...super.metadata(),
|
|
13
|
-
id: this._id,
|
|
14
|
-
};
|
|
15
|
-
}
|
|
16
|
-
id() {
|
|
17
|
-
return this._id;
|
|
18
|
-
}
|
|
19
|
-
hasId(id) {
|
|
20
|
-
return this._id === id;
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
exports.IdentifiableModel = IdentifiableModel;
|