ddd-node 17.2.0 → 18.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/event-sourced-aggregate.d.ts +8 -4
- package/dist/core/aggregate/event-sourced-aggregate.js +12 -0
- package/dist/core/domain.d.ts +15 -12
- package/dist/core/domain.js +29 -36
- package/dist/core/index.d.ts +1 -0
- package/dist/core/index.js +1 -0
- package/dist/core/message/command.js +1 -1
- package/dist/core/message/event.d.ts +2 -2
- package/dist/core/message/event.js +2 -2
- package/dist/core/model/model.d.ts +7 -9
- package/dist/core/model/model.js +1 -1
- package/dist/core/model-registry.d.ts +17 -0
- package/dist/core/model-registry.js +55 -0
- package/dist/decorators/enum.d.ts +2 -0
- package/dist/decorators/{model/enum.js → enum.js} +1 -1
- package/dist/decorators/index.d.ts +1 -0
- package/dist/decorators/index.js +1 -0
- package/dist/decorators/message/command.js +1 -1
- package/dist/decorators/message/event.js +1 -1
- package/dist/decorators/model/index.d.ts +1 -3
- package/dist/decorators/model/index.js +1 -3
- package/dist/decorators/model/model.d.ts +12 -2
- package/dist/decorators/model/model.js +47 -3
- package/dist/decorators/model/prop.d.ts +2 -2
- package/dist/decorators/model/prop.js +1 -1
- package/dist/decorators/model/static.d.ts +1 -1
- package/dist/decorators/model/static.js +1 -10
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/meta/aggregate-es/command-handler-map.d.ts +8 -0
- package/dist/meta/aggregate-es/command-handler-map.js +43 -0
- package/dist/meta/aggregate-es/event-applier-map.d.ts +9 -0
- package/dist/meta/aggregate-es/event-applier-map.js +43 -0
- package/dist/meta/aggregate-es/index.d.ts +2 -0
- package/dist/meta/{helpers → aggregate-es}/index.js +2 -1
- package/dist/meta/command.metadata.d.ts +6 -2
- package/dist/meta/command.metadata.js +19 -5
- package/dist/meta/event.metadata.d.ts +6 -2
- package/dist/meta/event.metadata.js +19 -5
- package/dist/meta/id.metadata.js +2 -3
- package/dist/meta/index.d.ts +2 -3
- package/dist/meta/index.js +2 -3
- package/dist/meta/model/index.d.ts +7 -0
- package/dist/meta/model/index.js +23 -0
- package/dist/meta/model/model-domain.d.ts +5 -0
- package/dist/meta/model/model-domain.js +15 -0
- package/dist/meta/model/model-id.d.ts +16 -0
- package/dist/meta/model/model-id.js +39 -0
- package/dist/meta/model/model-name.d.ts +8 -0
- package/dist/meta/model/model-name.js +25 -0
- package/dist/meta/model/model-props-map.d.ts +6 -0
- package/dist/meta/model/model-props-map.js +45 -0
- package/dist/meta/model/model-props-validator.d.ts +6 -0
- package/dist/meta/model/model-props-validator.js +33 -0
- package/dist/meta/model/model-static-values.d.ts +13 -0
- package/dist/meta/model/model-static-values.js +54 -0
- package/dist/meta/model/model-version.d.ts +8 -0
- package/dist/meta/model/model-version.js +25 -0
- package/dist/package.json +1 -1
- package/package.json +1 -1
- package/dist/decorators/model/enum.d.ts +0 -2
- package/dist/decorators/model/validator.d.ts +0 -3
- package/dist/decorators/model/validator.js +0 -11
- package/dist/decorators/model/version.d.ts +0 -2
- package/dist/decorators/model/version.js +0 -10
- package/dist/meta/aggregate.metadata.d.ts +0 -8
- package/dist/meta/aggregate.metadata.js +0 -34
- package/dist/meta/helpers/index.d.ts +0 -1
- package/dist/meta/helpers/static-value.d.ts +0 -7
- package/dist/meta/helpers/static-value.js +0 -15
- package/dist/meta/model.metadata.d.ts +0 -35
- package/dist/meta/model.metadata.js +0 -169
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./static-value";
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { AnyModel } from "../../core";
|
|
2
|
-
export type StaticValueBuilder<T extends AnyModel = AnyModel> = () => T;
|
|
3
|
-
export declare class StaticValue<T extends AnyModel = AnyModel> {
|
|
4
|
-
private _value;
|
|
5
|
-
constructor(value: T | StaticValueBuilder<T>);
|
|
6
|
-
get value(): T;
|
|
7
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.StaticValue = void 0;
|
|
4
|
-
class StaticValue {
|
|
5
|
-
constructor(value) {
|
|
6
|
-
this._value = value;
|
|
7
|
-
}
|
|
8
|
-
get value() {
|
|
9
|
-
if (typeof this._value === "function") {
|
|
10
|
-
this._value = this._value();
|
|
11
|
-
}
|
|
12
|
-
return this._value;
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
exports.StaticValue = StaticValue;
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { AnyModel, ModelClass, PropKey, PropsOf } from "../core";
|
|
2
|
-
import { StaticValue, StaticValueBuilder } from "./helpers/static-value";
|
|
3
|
-
export declare class PropsMap<T extends AnyModel = AnyModel> extends Map<PropKey, keyof PropsOf<T>> {
|
|
4
|
-
}
|
|
5
|
-
export declare const getOwnPropsMap: <T extends AnyModel = AnyModel>(target: T) => PropsMap<T>;
|
|
6
|
-
export declare const setProp: <T extends AnyModel = AnyModel>(target: T, key: PropKey, propTargetKey?: keyof PropsOf<T> | undefined) => void;
|
|
7
|
-
export declare const getPropsMap: <T extends AnyModel = AnyModel>(target: T) => PropsMap<T>;
|
|
8
|
-
export type ModelName = string;
|
|
9
|
-
export declare const setModelName: <T extends AnyModel>(target: ModelClass<T>, name: ModelName) => void;
|
|
10
|
-
export declare const getModelName: <T extends AnyModel>(target: ModelClass<T>) => ModelName;
|
|
11
|
-
export type ModelVersion = number;
|
|
12
|
-
export declare const setModelVersion: <T extends AnyModel>(target: ModelClass<T>, version: ModelVersion) => void;
|
|
13
|
-
export declare const getModelVersion: <T extends AnyModel>(target: ModelClass<T>) => ModelVersion;
|
|
14
|
-
export type ModelIdValue = `${ModelName}${typeof ModelId.ValueDivider}${ModelVersion}`;
|
|
15
|
-
export declare class ModelId {
|
|
16
|
-
readonly modelName: ModelName;
|
|
17
|
-
readonly modelVersion: ModelVersion;
|
|
18
|
-
static readonly ValueDivider: "|";
|
|
19
|
-
static fromValue(value: ModelIdValue): ModelId;
|
|
20
|
-
static makeValue(modelId: ModelId): ModelIdValue;
|
|
21
|
-
constructor(modelName: ModelName, modelVersion: ModelVersion);
|
|
22
|
-
get value(): ModelIdValue;
|
|
23
|
-
equalsValue(modelIdValue: ModelIdValue): boolean;
|
|
24
|
-
equals(modelId: ModelId): boolean;
|
|
25
|
-
}
|
|
26
|
-
export declare const setModelId: <T extends AnyModel>(target: ModelClass<T>, modelId: ModelId) => void;
|
|
27
|
-
export declare const getModelId: <T extends AnyModel>(target: ModelClass<T>) => ModelId;
|
|
28
|
-
export type PropsValidator<T extends AnyModel = AnyModel> = (props: PropsOf<T>) => void;
|
|
29
|
-
export declare const setPropsValidator: <T extends AnyModel>(target: object, validator: PropsValidator<T>) => void;
|
|
30
|
-
export declare const getOwnPropsValidator: <T extends AnyModel>(target: object) => PropsValidator<T> | undefined;
|
|
31
|
-
export declare const PropsValidatorsMetaKey: unique symbol;
|
|
32
|
-
export declare const getPropsValidators: (target: object) => PropsValidator[];
|
|
33
|
-
export declare const getOwnStaticValues: <T extends AnyModel>(target: object) => Map<PropertyKey, StaticValue<T>>;
|
|
34
|
-
export declare const setStaticValue: <T extends AnyModel>(target: object, key: PropertyKey, value: T | StaticValueBuilder<T>) => void;
|
|
35
|
-
export declare const getStaticValue: (target: object, key: string | symbol) => AnyModel | undefined;
|
|
@@ -1,169 +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.getStaticValue = exports.setStaticValue = exports.getOwnStaticValues = exports.getPropsValidators = exports.PropsValidatorsMetaKey = exports.getOwnPropsValidator = exports.setPropsValidator = exports.getModelId = exports.setModelId = exports.ModelId = exports.getModelVersion = exports.setModelVersion = exports.getModelName = exports.setModelName = exports.getPropsMap = exports.setProp = exports.getOwnPropsMap = exports.PropsMap = void 0;
|
|
7
|
-
const lodash_1 = __importDefault(require("lodash"));
|
|
8
|
-
const core_1 = require("../core");
|
|
9
|
-
const static_value_1 = require("./helpers/static-value");
|
|
10
|
-
// OWN PROPS MAP
|
|
11
|
-
const OwnPropsMapMetaKey = Symbol.for("OWN_PROPS_MAP");
|
|
12
|
-
class PropsMap extends Map {
|
|
13
|
-
}
|
|
14
|
-
exports.PropsMap = PropsMap;
|
|
15
|
-
// target is prototype
|
|
16
|
-
const getOwnPropsMap = (target) => {
|
|
17
|
-
const ownPropsMap = () => Reflect.getOwnMetadata(OwnPropsMapMetaKey, target);
|
|
18
|
-
if (!ownPropsMap())
|
|
19
|
-
Reflect.defineMetadata(OwnPropsMapMetaKey, new PropsMap(), target);
|
|
20
|
-
return ownPropsMap();
|
|
21
|
-
};
|
|
22
|
-
exports.getOwnPropsMap = getOwnPropsMap;
|
|
23
|
-
const setProp = (target, key, propTargetKey) => {
|
|
24
|
-
const ownPropsMap = (0, exports.getOwnPropsMap)(target);
|
|
25
|
-
if (propTargetKey)
|
|
26
|
-
ownPropsMap.set(key, propTargetKey);
|
|
27
|
-
};
|
|
28
|
-
exports.setProp = setProp;
|
|
29
|
-
// PROPS MAP
|
|
30
|
-
const PropsMapMetaKey = Symbol.for("PROPS_MAP");
|
|
31
|
-
const getPropsMap = (target) => {
|
|
32
|
-
const propsMap = () => Reflect.getOwnMetadata(PropsMapMetaKey, target);
|
|
33
|
-
if (propsMap())
|
|
34
|
-
return propsMap();
|
|
35
|
-
const buildPropsMap = (target) => {
|
|
36
|
-
let _target = target;
|
|
37
|
-
const result = new PropsMap();
|
|
38
|
-
const ownPropsMapList = [];
|
|
39
|
-
do {
|
|
40
|
-
if (core_1.ModelBase.isModel(_target)) {
|
|
41
|
-
const ownPropsMap = (0, exports.getOwnPropsMap)(_target);
|
|
42
|
-
ownPropsMapList.unshift(ownPropsMap);
|
|
43
|
-
}
|
|
44
|
-
_target = Reflect.getPrototypeOf(_target);
|
|
45
|
-
} while (_target !== null);
|
|
46
|
-
ownPropsMapList.forEach((ownPropsMap) => {
|
|
47
|
-
ownPropsMap.forEach((targetPropKey, key) => result.set(key, targetPropKey));
|
|
48
|
-
});
|
|
49
|
-
return result;
|
|
50
|
-
};
|
|
51
|
-
Reflect.defineMetadata(PropsMapMetaKey, buildPropsMap(target), target);
|
|
52
|
-
return propsMap();
|
|
53
|
-
};
|
|
54
|
-
exports.getPropsMap = getPropsMap;
|
|
55
|
-
const ModelNameMetaKey = Symbol.for("MODEL_NAME");
|
|
56
|
-
const setModelName = (target, name) => {
|
|
57
|
-
Reflect.defineMetadata(ModelNameMetaKey, name, target);
|
|
58
|
-
};
|
|
59
|
-
exports.setModelName = setModelName;
|
|
60
|
-
const getModelName = (target) => {
|
|
61
|
-
const modelName = () => Reflect.getOwnMetadata(ModelNameMetaKey, target);
|
|
62
|
-
if (!modelName())
|
|
63
|
-
(0, exports.setModelName)(target, target.name);
|
|
64
|
-
return modelName();
|
|
65
|
-
};
|
|
66
|
-
exports.getModelName = getModelName;
|
|
67
|
-
const ModelVersionMetaKey = Symbol.for("MODEL_VERSION");
|
|
68
|
-
const setModelVersion = (target, version) => {
|
|
69
|
-
Reflect.defineMetadata(ModelVersionMetaKey, version, target);
|
|
70
|
-
};
|
|
71
|
-
exports.setModelVersion = setModelVersion;
|
|
72
|
-
const getModelVersion = (target) => {
|
|
73
|
-
const modelVersion = () => Reflect.getOwnMetadata(ModelVersionMetaKey, target);
|
|
74
|
-
if (!modelVersion())
|
|
75
|
-
(0, exports.setModelVersion)(target, 0);
|
|
76
|
-
return modelVersion();
|
|
77
|
-
};
|
|
78
|
-
exports.getModelVersion = getModelVersion;
|
|
79
|
-
class ModelId {
|
|
80
|
-
static fromValue(value) {
|
|
81
|
-
const [modelName, modelVersion] = value.split(this.ValueDivider);
|
|
82
|
-
return new ModelId(String(modelName), Number(modelVersion));
|
|
83
|
-
}
|
|
84
|
-
static makeValue(modelId) {
|
|
85
|
-
return `${modelId.modelName}${this.ValueDivider}${modelId.modelVersion}`;
|
|
86
|
-
}
|
|
87
|
-
constructor(modelName, modelVersion) {
|
|
88
|
-
this.modelName = modelName;
|
|
89
|
-
this.modelVersion = modelVersion;
|
|
90
|
-
}
|
|
91
|
-
get value() {
|
|
92
|
-
return ModelId.makeValue(this);
|
|
93
|
-
}
|
|
94
|
-
equalsValue(modelIdValue) {
|
|
95
|
-
return this.value === modelIdValue;
|
|
96
|
-
}
|
|
97
|
-
equals(modelId) {
|
|
98
|
-
return this.equalsValue(modelId.value);
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
exports.ModelId = ModelId;
|
|
102
|
-
ModelId.ValueDivider = "|";
|
|
103
|
-
const ModelIdMetaKey = Symbol.for("MODEL_ID");
|
|
104
|
-
const setModelId = (target, modelId) => {
|
|
105
|
-
Reflect.defineMetadata(ModelIdMetaKey, modelId, target);
|
|
106
|
-
};
|
|
107
|
-
exports.setModelId = setModelId;
|
|
108
|
-
const getModelId = (target) => {
|
|
109
|
-
const modelId = () => Reflect.getOwnMetadata(ModelIdMetaKey, target);
|
|
110
|
-
if (!modelId()) {
|
|
111
|
-
const modelName = (0, exports.getModelName)(target);
|
|
112
|
-
const modelVersion = (0, exports.getModelVersion)(target);
|
|
113
|
-
(0, exports.setModelId)(target, new ModelId(modelName, modelVersion));
|
|
114
|
-
}
|
|
115
|
-
return modelId();
|
|
116
|
-
};
|
|
117
|
-
exports.getModelId = getModelId;
|
|
118
|
-
const OwnPropsValidatorMetaKey = Symbol.for("OWN_PROPS_VALIDATOR");
|
|
119
|
-
const setPropsValidator = (target, validator) => {
|
|
120
|
-
Reflect.defineMetadata(OwnPropsValidatorMetaKey, validator, target);
|
|
121
|
-
};
|
|
122
|
-
exports.setPropsValidator = setPropsValidator;
|
|
123
|
-
const getOwnPropsValidator = (target) => {
|
|
124
|
-
return Reflect.getOwnMetadata(OwnPropsValidatorMetaKey, target);
|
|
125
|
-
};
|
|
126
|
-
exports.getOwnPropsValidator = getOwnPropsValidator;
|
|
127
|
-
exports.PropsValidatorsMetaKey = Symbol.for("PROPS_VALIDATORS");
|
|
128
|
-
const getPropsValidators = (target) => {
|
|
129
|
-
const validators = () => Reflect.getOwnMetadata(exports.PropsValidatorsMetaKey, target);
|
|
130
|
-
if (validators())
|
|
131
|
-
return validators();
|
|
132
|
-
let result = [];
|
|
133
|
-
let _target = target;
|
|
134
|
-
do {
|
|
135
|
-
const ownValidator = (0, exports.getOwnPropsValidator)(_target);
|
|
136
|
-
if (ownValidator)
|
|
137
|
-
result.push(ownValidator);
|
|
138
|
-
_target = Reflect.getPrototypeOf(_target);
|
|
139
|
-
} while (_target !== null);
|
|
140
|
-
result = lodash_1.default.uniq(result);
|
|
141
|
-
Reflect.defineMetadata(exports.PropsValidatorsMetaKey, result, target);
|
|
142
|
-
return validators();
|
|
143
|
-
};
|
|
144
|
-
exports.getPropsValidators = getPropsValidators;
|
|
145
|
-
// OWN STATIC VALUES
|
|
146
|
-
const OwnStaticValuesMetaKey = Symbol.for("OWN_STATIC_VALUES");
|
|
147
|
-
const getOwnStaticValues = (target) => {
|
|
148
|
-
const ownStaticValues = () => Reflect.getOwnMetadata(OwnStaticValuesMetaKey, target);
|
|
149
|
-
if (!ownStaticValues())
|
|
150
|
-
Reflect.defineMetadata(OwnStaticValuesMetaKey, new Map(), target);
|
|
151
|
-
return ownStaticValues();
|
|
152
|
-
};
|
|
153
|
-
exports.getOwnStaticValues = getOwnStaticValues;
|
|
154
|
-
const setStaticValue = (target, key, value) => {
|
|
155
|
-
const staticValues = (0, exports.getOwnStaticValues)(target);
|
|
156
|
-
staticValues.set(key, new static_value_1.StaticValue(value));
|
|
157
|
-
};
|
|
158
|
-
exports.setStaticValue = setStaticValue;
|
|
159
|
-
const getStaticValue = (target, key) => {
|
|
160
|
-
let _target = target;
|
|
161
|
-
do {
|
|
162
|
-
const staticValues = (0, exports.getOwnStaticValues)(_target);
|
|
163
|
-
if (staticValues.has(key))
|
|
164
|
-
return staticValues.get(key)?.value;
|
|
165
|
-
_target = Reflect.getPrototypeOf(_target);
|
|
166
|
-
} while (_target !== null);
|
|
167
|
-
return undefined;
|
|
168
|
-
};
|
|
169
|
-
exports.getStaticValue = getStaticValue;
|