ddd-node 9.1.0 → 12.1.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/.vscode/launch.json +17 -0
- package/dist/core/aggregate.d.ts +14 -15
- package/dist/core/aggregate.js +18 -18
- package/dist/core/entity.d.ts +9 -11
- package/dist/core/entity.js +10 -12
- package/dist/core/error.js +1 -1
- package/dist/core/id/built/index.d.ts +2 -0
- package/dist/core/id/built/index.js +18 -0
- package/dist/core/id/built/snowflake.generator.d.ts +8 -0
- package/dist/core/id/built/snowflake.generator.js +16 -0
- package/dist/core/id/built/uuid4.generator.d.ts +5 -0
- package/dist/core/id/built/uuid4.generator.js +16 -0
- package/dist/core/id/id-generator.d.ts +8 -0
- package/dist/core/id/id-generator.js +17 -0
- package/dist/core/id/id.d.ts +6 -0
- package/dist/core/id/id.js +15 -0
- package/dist/core/id/index.d.ts +3 -0
- package/dist/core/id/index.js +19 -0
- package/dist/core/index.d.ts +0 -5
- package/dist/core/index.js +0 -5
- package/dist/core/{command.d.ts → message/command.d.ts} +8 -8
- package/dist/core/{command.js → message/command.js} +3 -3
- package/dist/core/{event.d.ts → message/event.d.ts} +12 -12
- package/dist/core/{event.js → message/event.js} +6 -3
- package/dist/core/message/index.d.ts +3 -0
- package/dist/core/message/index.js +19 -0
- package/dist/core/{message.d.ts → message/message.d.ts} +3 -5
- package/dist/core/{message.js → message/message.js} +6 -9
- package/dist/core/metadata/aggregate.metadata.d.ts +9 -0
- package/dist/core/metadata/aggregate.metadata.js +29 -0
- package/dist/core/metadata/id.metadata.d.ts +4 -0
- package/dist/core/metadata/id.metadata.js +12 -0
- package/dist/core/metadata/index.d.ts +3 -0
- package/dist/core/metadata/index.js +19 -0
- package/dist/core/metadata/model.metadata.d.ts +13 -0
- package/dist/core/metadata/model.metadata.js +55 -0
- package/dist/core/model/index.d.ts +2 -0
- package/dist/core/model/index.js +18 -0
- package/dist/core/model/model-with-id.d.ts +12 -0
- package/dist/core/model/model-with-id.js +29 -0
- package/dist/core/model/model.d.ts +25 -0
- package/dist/core/model/model.js +89 -0
- package/dist/core/value-object.d.ts +7 -6
- package/dist/core/value-object.js +5 -4
- package/dist/decorators/aggregate.d.ts +3 -6
- package/dist/decorators/aggregate.js +10 -17
- package/dist/decorators/id.d.ts +2 -2
- package/dist/decorators/id.js +5 -6
- package/dist/decorators/index.d.ts +0 -4
- package/dist/decorators/index.js +0 -4
- package/dist/decorators/model.d.ts +12 -3
- package/dist/decorators/model.js +38 -7
- package/dist/decorators/type.d.ts +2 -0
- package/dist/decorators/type.js +2 -0
- package/dist/types/class-static.d.ts +2 -2
- package/dist/types/class.d.ts +2 -4
- package/package.json +3 -1
- package/tsconfig.json +4 -4
- package/dist/core/id.d.ts +0 -17
- package/dist/core/id.js +0 -40
- package/dist/core/metadata.d.ts +0 -18
- package/dist/core/metadata.js +0 -53
- package/dist/core/model-type.d.ts +0 -86
- package/dist/core/model-type.js +0 -55
- package/dist/core/model-with-id.d.ts +0 -6
- package/dist/core/model-with-id.js +0 -16
- package/dist/core/model.d.ts +0 -15
- package/dist/core/model.js +0 -34
- package/dist/core/registry.d.ts +0 -12
- package/dist/core/registry.js +0 -28
- package/dist/decorators/command.d.ts +0 -2
- package/dist/decorators/command.js +0 -10
- package/dist/decorators/entity.d.ts +0 -2
- package/dist/decorators/entity.js +0 -10
- package/dist/decorators/event.d.ts +0 -2
- package/dist/decorators/event.js +0 -10
- package/dist/decorators/value-object.d.ts +0 -2
- package/dist/decorators/value-object.js +0 -10
package/dist/core/id.js
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Uuid4Generator = exports.IdGenerator = exports.Id = void 0;
|
|
4
|
-
const uuid_1 = require("uuid");
|
|
5
|
-
class Id {
|
|
6
|
-
constructor(value) {
|
|
7
|
-
this._value = value;
|
|
8
|
-
}
|
|
9
|
-
get value() {
|
|
10
|
-
return this._value;
|
|
11
|
-
}
|
|
12
|
-
equals(id) {
|
|
13
|
-
return this._value === id._value;
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
exports.Id = Id;
|
|
17
|
-
class IdGenerator {
|
|
18
|
-
fromValue(value) {
|
|
19
|
-
this.validateValue(value);
|
|
20
|
-
return new Id(value);
|
|
21
|
-
}
|
|
22
|
-
fromId(id) {
|
|
23
|
-
return this.fromValue(id.value);
|
|
24
|
-
}
|
|
25
|
-
newId() {
|
|
26
|
-
return this.fromValue(this.generateValue());
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
exports.IdGenerator = IdGenerator;
|
|
30
|
-
class Uuid4Generator extends IdGenerator {
|
|
31
|
-
generateValue() {
|
|
32
|
-
return (0, uuid_1.v4)();
|
|
33
|
-
}
|
|
34
|
-
validateValue(value) {
|
|
35
|
-
const isUuid = (0, uuid_1.validate)(value);
|
|
36
|
-
const isV4 = (0, uuid_1.version)(value) === 4;
|
|
37
|
-
return isUuid && isV4;
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
exports.Uuid4Generator = Uuid4Generator;
|
package/dist/core/metadata.d.ts
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import "reflect-metadata";
|
|
2
|
-
import { CommandHandler, EventApplier } from "./aggregate";
|
|
3
|
-
import { AnyCommand } from "./command";
|
|
4
|
-
import { AnyEvent } from "./event";
|
|
5
|
-
import { ModelTypePattern } from "./model-type";
|
|
6
|
-
import { IdGenerator } from "./id";
|
|
7
|
-
export declare const MODEL_TYPE = "MODEL_TYPE";
|
|
8
|
-
export declare const defineModelType: (target: object, type: ModelTypePattern) => void;
|
|
9
|
-
export declare const getModelType: (target: object) => ModelTypePattern;
|
|
10
|
-
export declare const ID_GENERATOR = "ID_GENERATOR";
|
|
11
|
-
export declare const defineIdGenerator: (target: object, idGenerator: IdGenerator) => void;
|
|
12
|
-
export declare const getIdGenerator: (target: object) => any;
|
|
13
|
-
export declare const EVENT_APPLIERS = "EVENT_APPLIERS";
|
|
14
|
-
export declare const getEventAppliersMap: (target: object) => Map<string, EventApplier>;
|
|
15
|
-
export declare const defineEventApplier: <T extends AnyEvent>(target: object, eventType: string, applier: EventApplier<T>) => void;
|
|
16
|
-
export declare const COMMAND_HANDLERS = "COMMAND_HANDLERS";
|
|
17
|
-
export declare const getCommandHandlersMap: (target: object) => Map<string, CommandHandler>;
|
|
18
|
-
export declare const defineCommandHandler: <T extends AnyCommand>(target: object, commandType: string, handler: CommandHandler<T>) => void;
|
package/dist/core/metadata.js
DELETED
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.defineCommandHandler = exports.getCommandHandlersMap = exports.COMMAND_HANDLERS = exports.defineEventApplier = exports.getEventAppliersMap = exports.EVENT_APPLIERS = exports.getIdGenerator = exports.defineIdGenerator = exports.ID_GENERATOR = exports.getModelType = exports.defineModelType = exports.MODEL_TYPE = void 0;
|
|
4
|
-
require("reflect-metadata");
|
|
5
|
-
// Model type
|
|
6
|
-
exports.MODEL_TYPE = "MODEL_TYPE";
|
|
7
|
-
const defineModelType = (target, type) => {
|
|
8
|
-
Reflect.defineMetadata(exports.MODEL_TYPE, type, target);
|
|
9
|
-
};
|
|
10
|
-
exports.defineModelType = defineModelType;
|
|
11
|
-
const getModelType = (target) => {
|
|
12
|
-
const type = Reflect.getMetadata(exports.MODEL_TYPE, target);
|
|
13
|
-
if (!type)
|
|
14
|
-
throw new Error("The type has not been defined");
|
|
15
|
-
return type;
|
|
16
|
-
};
|
|
17
|
-
exports.getModelType = getModelType;
|
|
18
|
-
// Id generator
|
|
19
|
-
exports.ID_GENERATOR = "ID_GENERATOR";
|
|
20
|
-
const defineIdGenerator = (target, idGenerator) => {
|
|
21
|
-
Reflect.defineMetadata(exports.ID_GENERATOR, idGenerator, target);
|
|
22
|
-
};
|
|
23
|
-
exports.defineIdGenerator = defineIdGenerator;
|
|
24
|
-
const getIdGenerator = (target) => {
|
|
25
|
-
return Reflect.getMetadata(exports.ID_GENERATOR, target);
|
|
26
|
-
};
|
|
27
|
-
exports.getIdGenerator = getIdGenerator;
|
|
28
|
-
// Event applier map
|
|
29
|
-
exports.EVENT_APPLIERS = "EVENT_APPLIERS";
|
|
30
|
-
const getEventAppliersMap = (target) => {
|
|
31
|
-
return (Reflect.getMetadata(exports.EVENT_APPLIERS, target) ||
|
|
32
|
-
new Map());
|
|
33
|
-
};
|
|
34
|
-
exports.getEventAppliersMap = getEventAppliersMap;
|
|
35
|
-
const defineEventApplier = (target, eventType, applier) => {
|
|
36
|
-
const eventAppliersMap = (0, exports.getEventAppliersMap)(target);
|
|
37
|
-
eventAppliersMap.set(eventType, applier);
|
|
38
|
-
Reflect.defineMetadata(exports.EVENT_APPLIERS, eventAppliersMap, target);
|
|
39
|
-
};
|
|
40
|
-
exports.defineEventApplier = defineEventApplier;
|
|
41
|
-
// Command handler map
|
|
42
|
-
exports.COMMAND_HANDLERS = "COMMAND_HANDLERS";
|
|
43
|
-
const getCommandHandlersMap = (target) => {
|
|
44
|
-
return (Reflect.getMetadata(exports.COMMAND_HANDLERS, target) ||
|
|
45
|
-
new Map());
|
|
46
|
-
};
|
|
47
|
-
exports.getCommandHandlersMap = getCommandHandlersMap;
|
|
48
|
-
const defineCommandHandler = (target, commandType, handler) => {
|
|
49
|
-
const commandHandlersMap = (0, exports.getCommandHandlersMap)(target);
|
|
50
|
-
commandHandlersMap.set(commandType, handler);
|
|
51
|
-
Reflect.defineMetadata(exports.COMMAND_HANDLERS, commandHandlersMap, target);
|
|
52
|
-
};
|
|
53
|
-
exports.defineCommandHandler = defineCommandHandler;
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
import { Class } from "../types/class";
|
|
2
|
-
import { ClassStatic } from "../types/class-static";
|
|
3
|
-
export declare const seperator: "#";
|
|
4
|
-
export type ModelTypePattern<Prefix extends string = string> = `${Prefix}${typeof seperator}${string}`;
|
|
5
|
-
export declare const ModelTypePatternRegex: RegExp;
|
|
6
|
-
export declare class ModelType<Prefix extends string = string> {
|
|
7
|
-
readonly prefix: Prefix;
|
|
8
|
-
readonly name: string;
|
|
9
|
-
constructor(prefix: Prefix, name: string);
|
|
10
|
-
static from<Prefix extends string = string>(value: ModelTypePattern<Prefix>): ModelType<Prefix>;
|
|
11
|
-
static isPattern(type: string): type is ModelTypePattern;
|
|
12
|
-
get value(): ModelTypePattern<Prefix>;
|
|
13
|
-
}
|
|
14
|
-
export type PrefixOf<T extends ModelType> = T extends ModelType<infer Prefix> ? Prefix : never;
|
|
15
|
-
export type ModelTypeClass<T extends ModelType> = Class<T> & ClassStatic<typeof ModelType<PrefixOf<T>>>;
|
|
16
|
-
export type ModelTypePatternOf<T extends ModelType> = ModelTypePattern<PrefixOf<T>>;
|
|
17
|
-
export declare const createPrefixedModelTypeClass: <Prefix extends string = string>(prefix: Prefix) => {
|
|
18
|
-
new (name: string): {
|
|
19
|
-
readonly prefix: Prefix;
|
|
20
|
-
readonly name: string;
|
|
21
|
-
readonly value: `${Prefix}#${string}`;
|
|
22
|
-
};
|
|
23
|
-
from<Prefix_1 extends string = string>(value: `${Prefix_1}#${string}`): ModelType<Prefix_1>;
|
|
24
|
-
isPattern(type: string): type is `${string}#${string}`;
|
|
25
|
-
};
|
|
26
|
-
export declare const EntityTypePrefix: "Entity";
|
|
27
|
-
declare const EntityType_base: {
|
|
28
|
-
new (name: string): {
|
|
29
|
-
readonly prefix: "Entity";
|
|
30
|
-
readonly name: string;
|
|
31
|
-
readonly value: `Entity#${string}`;
|
|
32
|
-
};
|
|
33
|
-
from<Prefix extends string = string>(value: `${Prefix}#${string}`): ModelType<Prefix>;
|
|
34
|
-
isPattern(type: string): type is `${string}#${string}`;
|
|
35
|
-
};
|
|
36
|
-
export declare class EntityType extends EntityType_base {
|
|
37
|
-
}
|
|
38
|
-
export declare const AggregateTypePrefix: "Aggregate";
|
|
39
|
-
declare const AggregateType_base: {
|
|
40
|
-
new (name: string): {
|
|
41
|
-
readonly prefix: "Aggregate";
|
|
42
|
-
readonly name: string;
|
|
43
|
-
readonly value: `Aggregate#${string}`;
|
|
44
|
-
};
|
|
45
|
-
from<Prefix extends string = string>(value: `${Prefix}#${string}`): ModelType<Prefix>;
|
|
46
|
-
isPattern(type: string): type is `${string}#${string}`;
|
|
47
|
-
};
|
|
48
|
-
export declare class AggregateType extends AggregateType_base {
|
|
49
|
-
}
|
|
50
|
-
export declare const EventTypePrefix: "Event";
|
|
51
|
-
declare const EventType_base: {
|
|
52
|
-
new (name: string): {
|
|
53
|
-
readonly prefix: "Event";
|
|
54
|
-
readonly name: string;
|
|
55
|
-
readonly value: `Event#${string}`;
|
|
56
|
-
};
|
|
57
|
-
from<Prefix extends string = string>(value: `${Prefix}#${string}`): ModelType<Prefix>;
|
|
58
|
-
isPattern(type: string): type is `${string}#${string}`;
|
|
59
|
-
};
|
|
60
|
-
export declare class EventType extends EventType_base {
|
|
61
|
-
}
|
|
62
|
-
export declare const CommandTypePrefix: "Command";
|
|
63
|
-
declare const CommandType_base: {
|
|
64
|
-
new (name: string): {
|
|
65
|
-
readonly prefix: "Command";
|
|
66
|
-
readonly name: string;
|
|
67
|
-
readonly value: `Command#${string}`;
|
|
68
|
-
};
|
|
69
|
-
from<Prefix extends string = string>(value: `${Prefix}#${string}`): ModelType<Prefix>;
|
|
70
|
-
isPattern(type: string): type is `${string}#${string}`;
|
|
71
|
-
};
|
|
72
|
-
export declare class CommandType extends CommandType_base {
|
|
73
|
-
}
|
|
74
|
-
export declare const ValueObjectTypePrefix: "ValueObject";
|
|
75
|
-
declare const ValueObjectType_base: {
|
|
76
|
-
new (name: string): {
|
|
77
|
-
readonly prefix: "ValueObject";
|
|
78
|
-
readonly name: string;
|
|
79
|
-
readonly value: `ValueObject#${string}`;
|
|
80
|
-
};
|
|
81
|
-
from<Prefix extends string = string>(value: `${Prefix}#${string}`): ModelType<Prefix>;
|
|
82
|
-
isPattern(type: string): type is `${string}#${string}`;
|
|
83
|
-
};
|
|
84
|
-
export declare class ValueObjectType extends ValueObjectType_base {
|
|
85
|
-
}
|
|
86
|
-
export {};
|
package/dist/core/model-type.js
DELETED
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ValueObjectType = exports.ValueObjectTypePrefix = exports.CommandType = exports.CommandTypePrefix = exports.EventType = exports.EventTypePrefix = exports.AggregateType = exports.AggregateTypePrefix = exports.EntityType = exports.EntityTypePrefix = exports.createPrefixedModelTypeClass = exports.ModelType = exports.ModelTypePatternRegex = exports.seperator = void 0;
|
|
4
|
-
exports.seperator = "#";
|
|
5
|
-
exports.ModelTypePatternRegex = new RegExp(".+" + exports.seperator + ".+");
|
|
6
|
-
class ModelType {
|
|
7
|
-
constructor(prefix, name) {
|
|
8
|
-
this.prefix = prefix;
|
|
9
|
-
this.name = name;
|
|
10
|
-
}
|
|
11
|
-
static from(value) {
|
|
12
|
-
if (!this.isPattern(value))
|
|
13
|
-
throw new Error("Invalid value");
|
|
14
|
-
const [prefix, ...names] = value.split(exports.seperator);
|
|
15
|
-
const name = names.join(exports.seperator);
|
|
16
|
-
return new ModelType(prefix, name);
|
|
17
|
-
}
|
|
18
|
-
static isPattern(type) {
|
|
19
|
-
return exports.ModelTypePatternRegex.test(type);
|
|
20
|
-
}
|
|
21
|
-
get value() {
|
|
22
|
-
return `${this.prefix}${exports.seperator}${this.name}`;
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
exports.ModelType = ModelType;
|
|
26
|
-
//
|
|
27
|
-
const createPrefixedModelTypeClass = (prefix) => {
|
|
28
|
-
return class extends ModelType {
|
|
29
|
-
constructor(name) {
|
|
30
|
-
super(prefix, name);
|
|
31
|
-
}
|
|
32
|
-
};
|
|
33
|
-
};
|
|
34
|
-
exports.createPrefixedModelTypeClass = createPrefixedModelTypeClass;
|
|
35
|
-
//
|
|
36
|
-
exports.EntityTypePrefix = "Entity";
|
|
37
|
-
class EntityType extends (0, exports.createPrefixedModelTypeClass)(exports.EntityTypePrefix) {
|
|
38
|
-
}
|
|
39
|
-
exports.EntityType = EntityType;
|
|
40
|
-
exports.AggregateTypePrefix = "Aggregate";
|
|
41
|
-
class AggregateType extends (0, exports.createPrefixedModelTypeClass)(exports.AggregateTypePrefix) {
|
|
42
|
-
}
|
|
43
|
-
exports.AggregateType = AggregateType;
|
|
44
|
-
exports.EventTypePrefix = "Event";
|
|
45
|
-
class EventType extends (0, exports.createPrefixedModelTypeClass)(exports.EventTypePrefix) {
|
|
46
|
-
}
|
|
47
|
-
exports.EventType = EventType;
|
|
48
|
-
exports.CommandTypePrefix = "Command";
|
|
49
|
-
class CommandType extends (0, exports.createPrefixedModelTypeClass)(exports.CommandTypePrefix) {
|
|
50
|
-
}
|
|
51
|
-
exports.CommandType = CommandType;
|
|
52
|
-
exports.ValueObjectTypePrefix = "ValueObject";
|
|
53
|
-
class ValueObjectType extends (0, exports.createPrefixedModelTypeClass)(exports.ValueObjectTypePrefix) {
|
|
54
|
-
}
|
|
55
|
-
exports.ValueObjectType = ValueObjectType;
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ModelWithId = void 0;
|
|
4
|
-
const id_1 = require("./id");
|
|
5
|
-
const metadata_1 = require("./metadata");
|
|
6
|
-
const model_1 = require("./model");
|
|
7
|
-
class ModelWithId extends model_1.Model {
|
|
8
|
-
static getIdGenerator() {
|
|
9
|
-
return (0, metadata_1.getIdGenerator)(this) || new id_1.Uuid4Generator();
|
|
10
|
-
}
|
|
11
|
-
static id(id) {
|
|
12
|
-
const generator = this.getIdGenerator();
|
|
13
|
-
return id ? generator.fromId(id) : generator.newId();
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
exports.ModelWithId = ModelWithId;
|
package/dist/core/model.d.ts
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { Class } from "../types/class";
|
|
2
|
-
export declare class Model<Props extends object> {
|
|
3
|
-
protected _props: Props;
|
|
4
|
-
constructor(props?: Props);
|
|
5
|
-
static isModel(obj: object): obj is AnyModel;
|
|
6
|
-
static type(): `${string}#${string}`;
|
|
7
|
-
protected initializeProps(props: Props): void;
|
|
8
|
-
validate(): void;
|
|
9
|
-
getType(): `${string}#${string}`;
|
|
10
|
-
props(): Props;
|
|
11
|
-
}
|
|
12
|
-
export type AnyModel = Model<object>;
|
|
13
|
-
export type PropsOf<T> = T extends Model<infer P> ? P : never;
|
|
14
|
-
export type ModelClass<T extends AnyModel = AnyModel> = Class<T>;
|
|
15
|
-
export type EmptyProps = {};
|
package/dist/core/model.js
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.Model = void 0;
|
|
7
|
-
const lodash_1 = __importDefault(require("lodash"));
|
|
8
|
-
const metadata_1 = require("./metadata");
|
|
9
|
-
class Model {
|
|
10
|
-
constructor(props) {
|
|
11
|
-
if (props)
|
|
12
|
-
this.initializeProps(props);
|
|
13
|
-
}
|
|
14
|
-
static isModel(obj) {
|
|
15
|
-
return obj instanceof Model;
|
|
16
|
-
}
|
|
17
|
-
static type() {
|
|
18
|
-
return (0, metadata_1.getModelType)(this.prototype);
|
|
19
|
-
}
|
|
20
|
-
initializeProps(props) {
|
|
21
|
-
if (!this._props) {
|
|
22
|
-
this._props = props;
|
|
23
|
-
this.validate();
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
validate() { }
|
|
27
|
-
getType() {
|
|
28
|
-
return (0, metadata_1.getModelType)(Object.getPrototypeOf(this));
|
|
29
|
-
}
|
|
30
|
-
props() {
|
|
31
|
-
return lodash_1.default.cloneDeep(this._props);
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
exports.Model = Model;
|
package/dist/core/registry.d.ts
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { ModelClass } from "./model";
|
|
2
|
-
import { ModelTypePattern } from "./model-type";
|
|
3
|
-
export declare class ModelRegistry {
|
|
4
|
-
private static _instance;
|
|
5
|
-
private modelMap;
|
|
6
|
-
private constructor();
|
|
7
|
-
static instance(): ModelRegistry;
|
|
8
|
-
getMap(): Map<`${string}#${string}`, ModelClass>;
|
|
9
|
-
hasModel(type: ModelTypePattern): boolean;
|
|
10
|
-
registerModel(type: ModelTypePattern, modelClass: ModelClass): void;
|
|
11
|
-
getModel(type: ModelTypePattern): ModelClass | undefined;
|
|
12
|
-
}
|
package/dist/core/registry.js
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ModelRegistry = void 0;
|
|
4
|
-
class ModelRegistry {
|
|
5
|
-
constructor() {
|
|
6
|
-
this.modelMap = new Map();
|
|
7
|
-
}
|
|
8
|
-
static instance() {
|
|
9
|
-
if (!this._instance)
|
|
10
|
-
this._instance = new ModelRegistry();
|
|
11
|
-
return this._instance;
|
|
12
|
-
}
|
|
13
|
-
getMap() {
|
|
14
|
-
return this.modelMap;
|
|
15
|
-
}
|
|
16
|
-
hasModel(type) {
|
|
17
|
-
return this.modelMap.has(type);
|
|
18
|
-
}
|
|
19
|
-
registerModel(type, modelClass) {
|
|
20
|
-
if (this.hasModel(type))
|
|
21
|
-
throw new Error(`Duplicate model for type ${type}`);
|
|
22
|
-
this.modelMap.set(type, modelClass);
|
|
23
|
-
}
|
|
24
|
-
getModel(type) {
|
|
25
|
-
return this.modelMap.get(type);
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
exports.ModelRegistry = ModelRegistry;
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.command = void 0;
|
|
4
|
-
const model_type_1 = require("../core/model-type");
|
|
5
|
-
const model_1 = require("./model");
|
|
6
|
-
const command = (name) => (target) => {
|
|
7
|
-
const commandType = new model_type_1.CommandType(name !== null && name !== void 0 ? name : target.name);
|
|
8
|
-
(0, model_1.model)(commandType.value)(target);
|
|
9
|
-
};
|
|
10
|
-
exports.command = command;
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.entity = void 0;
|
|
4
|
-
const model_type_1 = require("../core/model-type");
|
|
5
|
-
const model_1 = require("./model");
|
|
6
|
-
const entity = (name) => (target) => {
|
|
7
|
-
const entityType = new model_type_1.EntityType(name !== null && name !== void 0 ? name : target.name);
|
|
8
|
-
(0, model_1.model)(entityType.value)(target);
|
|
9
|
-
};
|
|
10
|
-
exports.entity = entity;
|
package/dist/decorators/event.js
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.event = void 0;
|
|
4
|
-
const model_type_1 = require("../core/model-type");
|
|
5
|
-
const model_1 = require("./model");
|
|
6
|
-
const event = (name) => (target) => {
|
|
7
|
-
const eventType = new model_type_1.EventType(name !== null && name !== void 0 ? name : target.name);
|
|
8
|
-
(0, model_1.model)(eventType.value)(target);
|
|
9
|
-
};
|
|
10
|
-
exports.event = event;
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.valueObject = void 0;
|
|
4
|
-
const model_type_1 = require("../core/model-type");
|
|
5
|
-
const model_1 = require("./model");
|
|
6
|
-
const valueObject = (name) => (target) => {
|
|
7
|
-
const valueObjectType = new model_type_1.ValueObjectType(name !== null && name !== void 0 ? name : target.name);
|
|
8
|
-
(0, model_1.model)(valueObjectType.value)(target);
|
|
9
|
-
};
|
|
10
|
-
exports.valueObject = valueObject;
|