ddd-node 9.2.1 → 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.
Files changed (65) hide show
  1. package/.vscode/launch.json +17 -0
  2. package/dist/core/aggregate.d.ts +12 -11
  3. package/dist/core/aggregate.js +16 -16
  4. package/dist/core/entity.d.ts +8 -8
  5. package/dist/core/entity.js +9 -11
  6. package/dist/core/error.js +1 -1
  7. package/dist/core/id/built/snowflake.generator.d.ts +2 -2
  8. package/dist/core/id/built/snowflake.generator.js +1 -1
  9. package/dist/core/id/built/uuid4.generator.d.ts +2 -2
  10. package/dist/core/id/built/uuid4.generator.js +1 -1
  11. package/dist/core/id/id-generator.d.ts +1 -1
  12. package/dist/core/id/id-generator.js +3 -3
  13. package/dist/core/id/id.d.ts +1 -1
  14. package/dist/core/index.d.ts +0 -1
  15. package/dist/core/index.js +0 -1
  16. package/dist/core/message/command.d.ts +7 -6
  17. package/dist/core/message/command.js +3 -3
  18. package/dist/core/message/event.d.ts +11 -9
  19. package/dist/core/message/event.js +6 -3
  20. package/dist/core/message/message.d.ts +1 -3
  21. package/dist/core/message/message.js +5 -8
  22. package/dist/core/metadata/aggregate.metadata.d.ts +9 -0
  23. package/dist/core/metadata/aggregate.metadata.js +29 -0
  24. package/dist/core/metadata/id.metadata.d.ts +4 -0
  25. package/dist/core/metadata/id.metadata.js +12 -0
  26. package/dist/core/metadata/index.d.ts +3 -0
  27. package/dist/core/metadata/index.js +19 -0
  28. package/dist/core/metadata/model.metadata.d.ts +13 -0
  29. package/dist/core/metadata/model.metadata.js +55 -0
  30. package/dist/core/model/index.d.ts +0 -1
  31. package/dist/core/model/index.js +0 -1
  32. package/dist/core/model/model-with-id.d.ts +10 -4
  33. package/dist/core/model/model-with-id.js +16 -3
  34. package/dist/core/model/model.d.ts +21 -11
  35. package/dist/core/model/model.js +74 -19
  36. package/dist/core/value-object.d.ts +7 -6
  37. package/dist/core/value-object.js +5 -4
  38. package/dist/decorators/aggregate.d.ts +3 -4
  39. package/dist/decorators/aggregate.js +9 -15
  40. package/dist/decorators/id.d.ts +2 -2
  41. package/dist/decorators/id.js +3 -4
  42. package/dist/decorators/index.d.ts +0 -4
  43. package/dist/decorators/index.js +0 -4
  44. package/dist/decorators/model.d.ts +12 -2
  45. package/dist/decorators/model.js +37 -5
  46. package/dist/decorators/type.d.ts +2 -0
  47. package/dist/decorators/type.js +2 -0
  48. package/dist/types/class-static.d.ts +2 -2
  49. package/dist/types/class.d.ts +2 -4
  50. package/package.json +2 -1
  51. package/tsconfig.json +1 -1
  52. package/dist/core/metadata.d.ts +0 -17
  53. package/dist/core/metadata.js +0 -53
  54. package/dist/core/model/model-type.d.ts +0 -85
  55. package/dist/core/model/model-type.js +0 -55
  56. package/dist/core/registry.d.ts +0 -11
  57. package/dist/core/registry.js +0 -28
  58. package/dist/decorators/command.d.ts +0 -2
  59. package/dist/decorators/command.js +0 -10
  60. package/dist/decorators/entity.d.ts +0 -2
  61. package/dist/decorators/entity.js +0 -10
  62. package/dist/decorators/event.d.ts +0 -2
  63. package/dist/decorators/event.js +0 -10
  64. package/dist/decorators/value-object.d.ts +0 -2
  65. package/dist/decorators/value-object.js +0 -10
@@ -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,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
- }
@@ -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,2 +0,0 @@
1
- import { CommandClass } from "../core/index";
2
- export declare const command: (name?: string) => <T extends CommandClass>(target: T) => void;
@@ -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,2 +0,0 @@
1
- import { EntityClass } from "../core/index";
2
- export declare const entity: (name?: string) => <T extends EntityClass>(target: T) => void;
@@ -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;
@@ -1,2 +0,0 @@
1
- import { EventClass } from "../core/index";
2
- export declare const event: (name?: string) => <T extends EventClass>(target: T) => void;
@@ -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,2 +0,0 @@
1
- import { ValueObjectClass } from "../core/index";
2
- export declare const valueObject: (name?: string) => <T extends ValueObjectClass>(target: T) => void;
@@ -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;