ddd-node 9.2.1 → 12.2.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 +12 -11
- package/dist/core/aggregate.js +16 -16
- package/dist/core/entity.d.ts +8 -8
- package/dist/core/entity.js +9 -11
- package/dist/core/enum.d.ts +13 -0
- package/dist/core/enum.js +24 -0
- package/dist/core/error.js +1 -1
- package/dist/core/id/built/snowflake.generator.d.ts +2 -2
- package/dist/core/id/built/snowflake.generator.js +1 -1
- package/dist/core/id/built/uuid4.generator.d.ts +2 -2
- package/dist/core/id/built/uuid4.generator.js +1 -1
- package/dist/core/id/id-generator.d.ts +1 -1
- package/dist/core/id/id-generator.js +3 -3
- package/dist/core/id/id.d.ts +1 -1
- package/dist/core/index.d.ts +1 -1
- package/dist/core/index.js +1 -1
- package/dist/core/message/command.d.ts +7 -6
- package/dist/core/message/command.js +3 -3
- package/dist/core/message/event.d.ts +11 -9
- package/dist/core/message/event.js +6 -3
- package/dist/core/message/message.d.ts +1 -3
- package/dist/core/message/message.js +5 -8
- 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 +46 -0
- package/dist/core/model/index.d.ts +0 -1
- package/dist/core/model/index.js +0 -1
- package/dist/core/model/model-with-id.d.ts +10 -4
- package/dist/core/model/model-with-id.js +16 -3
- package/dist/core/model/model.d.ts +21 -11
- package/dist/core/model/model.js +74 -19
- package/dist/core/value-object.d.ts +7 -6
- package/dist/core/value-object.js +5 -4
- package/dist/decorators/aggregate.d.ts +3 -4
- package/dist/decorators/aggregate.js +9 -15
- package/dist/decorators/id.d.ts +2 -2
- package/dist/decorators/id.js +3 -4
- package/dist/decorators/index.d.ts +0 -4
- package/dist/decorators/index.js +0 -4
- package/dist/decorators/model.d.ts +13 -2
- package/dist/decorators/model.js +67 -5
- 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 +2 -1
- package/tsconfig.json +1 -1
- package/dist/core/metadata.d.ts +0 -17
- package/dist/core/metadata.js +0 -53
- package/dist/core/model/model-type.d.ts +0 -85
- package/dist/core/model/model-type.js +0 -55
- package/dist/core/registry.d.ts +0 -11
- 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
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
import { Class, ClassStatic } from "../../types/index";
|
|
2
|
-
export declare const seperator: "#";
|
|
3
|
-
export type ModelTypePattern<Prefix extends string = string> = `${Prefix}${typeof seperator}${string}`;
|
|
4
|
-
export declare const ModelTypePatternRegex: RegExp;
|
|
5
|
-
export declare class ModelType<Prefix extends string = string> {
|
|
6
|
-
readonly prefix: Prefix;
|
|
7
|
-
readonly name: string;
|
|
8
|
-
constructor(prefix: Prefix, name: string);
|
|
9
|
-
static from<Prefix extends string = string>(value: ModelTypePattern<Prefix>): ModelType<Prefix>;
|
|
10
|
-
static isPattern(type: string): type is ModelTypePattern;
|
|
11
|
-
get value(): ModelTypePattern<Prefix>;
|
|
12
|
-
}
|
|
13
|
-
export type PrefixOf<T extends ModelType> = T extends ModelType<infer Prefix> ? Prefix : never;
|
|
14
|
-
export type ModelTypeClass<T extends ModelType> = Class<T> & ClassStatic<typeof ModelType<PrefixOf<T>>>;
|
|
15
|
-
export type ModelTypePatternOf<T extends ModelType> = ModelTypePattern<PrefixOf<T>>;
|
|
16
|
-
export declare const createPrefixedModelTypeClass: <Prefix extends string = string>(prefix: Prefix) => {
|
|
17
|
-
new (name: string): {
|
|
18
|
-
readonly prefix: Prefix;
|
|
19
|
-
readonly name: string;
|
|
20
|
-
readonly value: `${Prefix}#${string}`;
|
|
21
|
-
};
|
|
22
|
-
from<Prefix_1 extends string = string>(value: `${Prefix_1}#${string}`): ModelType<Prefix_1>;
|
|
23
|
-
isPattern(type: string): type is `${string}#${string}`;
|
|
24
|
-
};
|
|
25
|
-
export declare const EntityTypePrefix: "Entity";
|
|
26
|
-
declare const EntityType_base: {
|
|
27
|
-
new (name: string): {
|
|
28
|
-
readonly prefix: "Entity";
|
|
29
|
-
readonly name: string;
|
|
30
|
-
readonly value: `Entity#${string}`;
|
|
31
|
-
};
|
|
32
|
-
from<Prefix extends string = string>(value: `${Prefix}#${string}`): ModelType<Prefix>;
|
|
33
|
-
isPattern(type: string): type is `${string}#${string}`;
|
|
34
|
-
};
|
|
35
|
-
export declare class EntityType extends EntityType_base {
|
|
36
|
-
}
|
|
37
|
-
export declare const AggregateTypePrefix: "Aggregate";
|
|
38
|
-
declare const AggregateType_base: {
|
|
39
|
-
new (name: string): {
|
|
40
|
-
readonly prefix: "Aggregate";
|
|
41
|
-
readonly name: string;
|
|
42
|
-
readonly value: `Aggregate#${string}`;
|
|
43
|
-
};
|
|
44
|
-
from<Prefix extends string = string>(value: `${Prefix}#${string}`): ModelType<Prefix>;
|
|
45
|
-
isPattern(type: string): type is `${string}#${string}`;
|
|
46
|
-
};
|
|
47
|
-
export declare class AggregateType extends AggregateType_base {
|
|
48
|
-
}
|
|
49
|
-
export declare const EventTypePrefix: "Event";
|
|
50
|
-
declare const EventType_base: {
|
|
51
|
-
new (name: string): {
|
|
52
|
-
readonly prefix: "Event";
|
|
53
|
-
readonly name: string;
|
|
54
|
-
readonly value: `Event#${string}`;
|
|
55
|
-
};
|
|
56
|
-
from<Prefix extends string = string>(value: `${Prefix}#${string}`): ModelType<Prefix>;
|
|
57
|
-
isPattern(type: string): type is `${string}#${string}`;
|
|
58
|
-
};
|
|
59
|
-
export declare class EventType extends EventType_base {
|
|
60
|
-
}
|
|
61
|
-
export declare const CommandTypePrefix: "Command";
|
|
62
|
-
declare const CommandType_base: {
|
|
63
|
-
new (name: string): {
|
|
64
|
-
readonly prefix: "Command";
|
|
65
|
-
readonly name: string;
|
|
66
|
-
readonly value: `Command#${string}`;
|
|
67
|
-
};
|
|
68
|
-
from<Prefix extends string = string>(value: `${Prefix}#${string}`): ModelType<Prefix>;
|
|
69
|
-
isPattern(type: string): type is `${string}#${string}`;
|
|
70
|
-
};
|
|
71
|
-
export declare class CommandType extends CommandType_base {
|
|
72
|
-
}
|
|
73
|
-
export declare const ValueObjectTypePrefix: "ValueObject";
|
|
74
|
-
declare const ValueObjectType_base: {
|
|
75
|
-
new (name: string): {
|
|
76
|
-
readonly prefix: "ValueObject";
|
|
77
|
-
readonly name: string;
|
|
78
|
-
readonly value: `ValueObject#${string}`;
|
|
79
|
-
};
|
|
80
|
-
from<Prefix extends string = string>(value: `${Prefix}#${string}`): ModelType<Prefix>;
|
|
81
|
-
isPattern(type: string): type is `${string}#${string}`;
|
|
82
|
-
};
|
|
83
|
-
export declare class ValueObjectType extends ValueObjectType_base {
|
|
84
|
-
}
|
|
85
|
-
export {};
|
|
@@ -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;
|
package/dist/core/registry.d.ts
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { ModelClass, ModelTypePattern } from "./model";
|
|
2
|
-
export declare class ModelRegistry {
|
|
3
|
-
private static _instance;
|
|
4
|
-
private modelMap;
|
|
5
|
-
private constructor();
|
|
6
|
-
static instance(): ModelRegistry;
|
|
7
|
-
getMap(): Map<`${string}#${string}`, ModelClass>;
|
|
8
|
-
hasModel(type: ModelTypePattern): boolean;
|
|
9
|
-
registerModel(type: ModelTypePattern, modelClass: ModelClass): void;
|
|
10
|
-
getModel(type: ModelTypePattern): ModelClass | undefined;
|
|
11
|
-
}
|
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 _core_1 = require("../core/index");
|
|
5
|
-
const model_1 = require("./model");
|
|
6
|
-
const command = (name) => (target) => {
|
|
7
|
-
const commandType = new _core_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 _core_1 = require("../core/index");
|
|
5
|
-
const model_1 = require("./model");
|
|
6
|
-
const entity = (name) => (target) => {
|
|
7
|
-
const entityType = new _core_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 _core_1 = require("../core/index");
|
|
5
|
-
const model_1 = require("./model");
|
|
6
|
-
const event = (name) => (target) => {
|
|
7
|
-
const eventType = new _core_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 _core_1 = require("../core/index");
|
|
5
|
-
const model_1 = require("./model");
|
|
6
|
-
const valueObject = (name) => (target) => {
|
|
7
|
-
const valueObjectType = new _core_1.ValueObjectType(name !== null && name !== void 0 ? name : target.name);
|
|
8
|
-
(0, model_1.model)(valueObjectType.value)(target);
|
|
9
|
-
};
|
|
10
|
-
exports.valueObject = valueObject;
|