ddd-node 13.0.0 → 14.0.1
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/.editorconfig +12 -0
- package/dist/core/aggregate/base.d.ts +12 -0
- package/dist/core/aggregate/base.js +15 -0
- package/dist/core/aggregate/event-sourced-aggregate.d.ts +48 -0
- package/dist/core/{aggregate.js → aggregate/event-sourced-aggregate.js} +28 -77
- package/dist/core/aggregate/index.d.ts +3 -0
- package/dist/core/aggregate/index.js +3 -0
- package/dist/core/aggregate/state-aggregate.d.ts +22 -0
- package/dist/core/aggregate/state-aggregate.js +35 -0
- package/dist/core/aggregate/types.d.ts +4 -0
- package/dist/core/aggregate/types.js +1 -0
- package/dist/core/entity.d.ts +4 -4
- package/dist/core/entity.js +2 -6
- package/dist/core/enum.d.ts +3 -2
- package/dist/core/enum.js +9 -22
- package/dist/core/id/common/index.d.ts +2 -0
- package/dist/core/id/common/index.js +2 -0
- package/dist/core/id/common/snowflake.d.ts +9 -0
- package/dist/core/id/common/snowflake.js +13 -0
- package/dist/core/id/common/uuid4.d.ts +6 -0
- package/dist/core/id/common/uuid4.js +17 -0
- package/dist/core/id/id.d.ts +7 -5
- package/dist/core/id/id.js +13 -8
- package/dist/core/id/index.d.ts +2 -2
- package/dist/core/id/index.js +3 -19
- package/dist/core/id/interface.d.ts +10 -0
- package/dist/core/id/interface.js +1 -0
- package/dist/core/index.d.ts +0 -1
- package/dist/core/index.js +8 -25
- package/dist/core/message/command.d.ts +8 -5
- package/dist/core/message/command.js +10 -9
- package/dist/core/message/event.d.ts +9 -7
- package/dist/core/message/event.js +9 -11
- package/dist/core/message/index.js +3 -19
- package/dist/core/message/message.d.ts +6 -2
- package/dist/core/message/message.js +13 -14
- package/dist/core/model/errors.d.ts +3 -0
- package/dist/core/model/errors.js +5 -0
- package/dist/core/model/index.js +2 -18
- package/dist/core/model/model-with-id.d.ts +7 -7
- package/dist/core/model/model-with-id.js +8 -12
- package/dist/core/model/model.d.ts +16 -14
- package/dist/core/model/model.js +24 -33
- package/dist/core/repository.d.ts +2 -2
- package/dist/core/repository.js +1 -2
- package/dist/core/value-object.d.ts +4 -3
- package/dist/core/value-object.js +8 -12
- package/dist/decorators/{aggregate → aggregate-es}/handle.d.ts +1 -1
- package/dist/decorators/aggregate-es/handle.js +9 -0
- package/dist/decorators/aggregate-es/index.js +2 -0
- package/dist/decorators/{aggregate → aggregate-es}/when.d.ts +1 -1
- package/dist/decorators/aggregate-es/when.js +9 -0
- package/dist/decorators/id.d.ts +2 -2
- package/dist/decorators/id.js +3 -7
- package/dist/decorators/index.d.ts +1 -1
- package/dist/decorators/index.js +3 -19
- package/dist/decorators/model/enum.d.ts +2 -2
- package/dist/decorators/model/enum.js +3 -7
- package/dist/decorators/model/index.js +5 -21
- package/dist/decorators/model/model-name.d.ts +2 -2
- package/dist/decorators/model/model-name.js +3 -7
- package/dist/decorators/model/prop.d.ts +1 -1
- package/dist/decorators/model/prop.js +3 -7
- package/dist/decorators/model/static.d.ts +3 -3
- package/dist/decorators/model/static.js +4 -8
- package/dist/decorators/model/validator.d.ts +3 -3
- package/dist/decorators/model/validator.js +3 -7
- package/dist/decorators/type.js +1 -2
- package/dist/index.js +5 -21
- package/dist/meta/aggregate.metadata.d.ts +5 -5
- package/dist/meta/aggregate.metadata.js +19 -22
- package/dist/meta/helpers/index.js +1 -17
- package/dist/meta/helpers/static-value.d.ts +1 -1
- package/dist/meta/helpers/static-value.js +1 -5
- package/dist/meta/id.metadata.d.ts +4 -4
- package/dist/meta/id.metadata.js +10 -10
- package/dist/meta/index.js +4 -20
- package/dist/meta/model.metadata.d.ts +1 -1
- package/dist/meta/model.metadata.js +22 -37
- package/dist/types/class-static.js +1 -2
- package/dist/types/class.js +1 -2
- package/dist/types/index.js +2 -18
- package/dist/utils/index.js +1 -17
- package/dist/utils/to-array.js +2 -8
- package/package.json +27 -3
- package/ts-loader.js +4 -0
- package/tsconfig.json +29 -22
- package/tsconfig.spec.json +5 -0
- package/dist/core/aggregate.d.ts +0 -71
- package/dist/core/error.d.ts +0 -4
- package/dist/core/error.js +0 -9
- package/dist/core/id/built/index.d.ts +0 -2
- package/dist/core/id/built/index.js +0 -18
- package/dist/core/id/built/snowflake.generator.d.ts +0 -8
- package/dist/core/id/built/snowflake.generator.js +0 -16
- package/dist/core/id/built/uuid4.generator.d.ts +0 -5
- package/dist/core/id/built/uuid4.generator.js +0 -16
- package/dist/core/id/id-generator.d.ts +0 -8
- package/dist/core/id/id-generator.js +0 -17
- package/dist/decorators/aggregate/handle.js +0 -13
- package/dist/decorators/aggregate/index.js +0 -18
- package/dist/decorators/aggregate/when.js +0 -13
- package/tsconfig.build.json +0 -7
- /package/dist/decorators/{aggregate → aggregate-es}/index.d.ts +0 -0
|
@@ -1,10 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.Enum = void 0;
|
|
4
|
-
const static_1 = require("./static");
|
|
5
|
-
const Enum = (value) => {
|
|
1
|
+
import { Static } from "./static";
|
|
2
|
+
export const Enum = (value) => {
|
|
6
3
|
return (target, key) => {
|
|
7
|
-
|
|
4
|
+
Static(() => new target(value))(target, key);
|
|
8
5
|
};
|
|
9
6
|
};
|
|
10
|
-
exports.Enum = Enum;
|
|
@@ -1,21 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
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("./prop"), exports);
|
|
18
|
-
__exportStar(require("./model-name"), exports);
|
|
19
|
-
__exportStar(require("./validator"), exports);
|
|
20
|
-
__exportStar(require("./static"), exports);
|
|
21
|
-
__exportStar(require("./enum"), exports);
|
|
1
|
+
export * from "./prop";
|
|
2
|
+
export * from "./model-name";
|
|
3
|
+
export * from "./validator";
|
|
4
|
+
export * from "./static";
|
|
5
|
+
export * from "./enum";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { ModelClass } from "../../core
|
|
2
|
-
export declare const ModelName: (name?: string) => <T extends ModelClass<import("../../core
|
|
1
|
+
import { ModelClass } from "../../core";
|
|
2
|
+
export declare const ModelName: (name?: string) => <T extends ModelClass<import("../../core").AnyModel>>(target: T) => void;
|
|
@@ -1,10 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.ModelName = void 0;
|
|
4
|
-
const _meta_1 = require("../../meta/index");
|
|
5
|
-
const ModelName = (name) => {
|
|
1
|
+
import { setModelName } from "../../meta";
|
|
2
|
+
export const ModelName = (name) => {
|
|
6
3
|
return (target) => {
|
|
7
|
-
|
|
4
|
+
setModelName(target, name);
|
|
8
5
|
};
|
|
9
6
|
};
|
|
10
|
-
exports.ModelName = ModelName;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { AnyModel, PropKey, PropsOf } from "../../core
|
|
1
|
+
import { AnyModel, PropKey, PropsOf } from "../../core";
|
|
2
2
|
export declare const Prop: <T extends AnyModel>(propKey?: keyof PropsOf<T> | undefined) => (target: T, key: PropKey) => void;
|
|
@@ -1,10 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.Prop = void 0;
|
|
4
|
-
const _meta_1 = require("../../meta/index");
|
|
5
|
-
const Prop = (propKey) => {
|
|
1
|
+
import { setProp } from "../../meta";
|
|
2
|
+
export const Prop = (propKey) => {
|
|
6
3
|
return (target, key) => {
|
|
7
|
-
|
|
4
|
+
setProp(target, key, propKey ?? key);
|
|
8
5
|
};
|
|
9
6
|
};
|
|
10
|
-
exports.Prop = Prop;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { ModelClass } from "../../core
|
|
2
|
-
import { StaticValueBuilder } from "../../meta
|
|
3
|
-
export declare const Static: <T extends ModelClass<import("../../core
|
|
1
|
+
import { ModelClass } from "../../core";
|
|
2
|
+
import { StaticValueBuilder } from "../../meta";
|
|
3
|
+
export declare const Static: <T extends ModelClass<import("../../core").AnyModel>, I extends InstanceType<T> = InstanceType<T>>(builder: StaticValueBuilder<I>) => (target: T, key: string) => void;
|
|
@@ -1,15 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.Static = void 0;
|
|
4
|
-
const _meta_1 = require("../../meta/index");
|
|
5
|
-
const Static = (builder) => {
|
|
1
|
+
import { getStaticValue, setStaticValue } from "../../meta";
|
|
2
|
+
export const Static = (builder) => {
|
|
6
3
|
return (target, key) => {
|
|
7
|
-
|
|
4
|
+
setStaticValue(target, key, builder);
|
|
8
5
|
Object.defineProperty(target, key, {
|
|
9
6
|
configurable: false,
|
|
10
7
|
enumerable: true,
|
|
11
8
|
get() {
|
|
12
|
-
return
|
|
9
|
+
return getStaticValue(target, key);
|
|
13
10
|
},
|
|
14
11
|
set() {
|
|
15
12
|
throw new Error("Static value is readonly");
|
|
@@ -17,4 +14,3 @@ const Static = (builder) => {
|
|
|
17
14
|
});
|
|
18
15
|
};
|
|
19
16
|
};
|
|
20
|
-
exports.Static = Static;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { ModelClass } from "../../core
|
|
2
|
-
import { PropsValidator } from "../../meta
|
|
3
|
-
export declare const Validator: <T extends ModelClass<import("../../core
|
|
1
|
+
import { ModelClass } from "../../core";
|
|
2
|
+
import { PropsValidator } from "../../meta";
|
|
3
|
+
export declare const Validator: <T extends ModelClass<import("../../core").AnyModel>, I extends InstanceType<T> = InstanceType<T>>(validator?: PropsValidator<I> | undefined) => (target: T) => void;
|
|
@@ -1,11 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.Validator = void 0;
|
|
4
|
-
const _meta_1 = require("../../meta/index");
|
|
5
|
-
const Validator = (validator) => {
|
|
1
|
+
import { setPropsValidator } from "../../meta";
|
|
2
|
+
export const Validator = (validator) => {
|
|
6
3
|
return (target) => {
|
|
7
4
|
if (validator)
|
|
8
|
-
|
|
5
|
+
setPropsValidator(target, validator);
|
|
9
6
|
};
|
|
10
7
|
};
|
|
11
|
-
exports.Validator = Validator;
|
package/dist/decorators/type.js
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1
|
+
export {};
|
package/dist/index.js
CHANGED
|
@@ -1,21 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
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("./meta"), exports);
|
|
18
|
-
__exportStar(require("./core"), exports);
|
|
19
|
-
__exportStar(require("./decorators"), exports);
|
|
20
|
-
__exportStar(require("./types"), exports);
|
|
21
|
-
__exportStar(require("./utils"), exports);
|
|
1
|
+
export * from "./meta";
|
|
2
|
+
export * from "./core";
|
|
3
|
+
export * from "./decorators";
|
|
4
|
+
export * from "./types";
|
|
5
|
+
export * from "./utils";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { AnyCommand, AnyEvent, CommandHandler, EventApplier } from "../core
|
|
1
|
+
import { AnyCommand, AnyEvent, CommandHandler, EventApplier } from "../core";
|
|
2
2
|
import "reflect-metadata";
|
|
3
|
-
export declare const
|
|
4
|
-
export declare const
|
|
3
|
+
export declare const EventApplierMapMetaKey: unique symbol;
|
|
4
|
+
export declare const getEventApplierMap: (target: object) => Map<string, EventApplier>;
|
|
5
5
|
export declare const defineEventApplier: <T extends AnyEvent>(target: object, eventName: string, applier: EventApplier<T>) => void;
|
|
6
|
-
export declare const
|
|
7
|
-
export declare const
|
|
6
|
+
export declare const CommandHandlerMapMetaKey: unique symbol;
|
|
7
|
+
export declare const getCommandHandlerMap: (target: object) => Map<string, CommandHandler>;
|
|
8
8
|
export declare const defineCommandHandler: <T extends AnyCommand>(target: object, commandName: string, handler: CommandHandler<T>) => void;
|
|
@@ -1,30 +1,27 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.defineCommandHandler = exports.getCommandHandlersMap = exports.CommandHandlersMetaKey = exports.defineEventApplier = exports.getEventAppliersMap = exports.EventAppliersMetaKey = void 0;
|
|
4
|
-
require("reflect-metadata");
|
|
1
|
+
import "reflect-metadata";
|
|
5
2
|
// Event applier map
|
|
6
|
-
|
|
7
|
-
const
|
|
8
|
-
|
|
9
|
-
|
|
3
|
+
export const EventApplierMapMetaKey = Symbol.for("EVENT_APPLIER_MAP");
|
|
4
|
+
export const getEventApplierMap = (target) => {
|
|
5
|
+
const eventApplierMap = () => Reflect.getMetadata(EventApplierMapMetaKey, target);
|
|
6
|
+
if (eventApplierMap())
|
|
7
|
+
return eventApplierMap();
|
|
8
|
+
Reflect.defineMetadata(EventApplierMapMetaKey, new Map(), target);
|
|
9
|
+
return eventApplierMap();
|
|
10
10
|
};
|
|
11
|
-
|
|
12
|
-
const
|
|
13
|
-
const eventAppliersMap = (0, exports.getEventAppliersMap)(target);
|
|
11
|
+
export const defineEventApplier = (target, eventName, applier) => {
|
|
12
|
+
const eventAppliersMap = getEventApplierMap(target);
|
|
14
13
|
eventAppliersMap.set(eventName, applier);
|
|
15
|
-
Reflect.defineMetadata(exports.EventAppliersMetaKey, eventAppliersMap, target);
|
|
16
14
|
};
|
|
17
|
-
exports.defineEventApplier = defineEventApplier;
|
|
18
15
|
// Command handler map
|
|
19
|
-
|
|
20
|
-
const
|
|
21
|
-
|
|
22
|
-
|
|
16
|
+
export const CommandHandlerMapMetaKey = Symbol.for("COMMAND_HANDLER_MAP");
|
|
17
|
+
export const getCommandHandlerMap = (target) => {
|
|
18
|
+
const commandHandlerMap = () => Reflect.getMetadata(CommandHandlerMapMetaKey, target);
|
|
19
|
+
if (commandHandlerMap())
|
|
20
|
+
return commandHandlerMap();
|
|
21
|
+
Reflect.defineMetadata(CommandHandlerMapMetaKey, new Map(), target);
|
|
22
|
+
return commandHandlerMap();
|
|
23
23
|
};
|
|
24
|
-
|
|
25
|
-
const
|
|
26
|
-
const commandHandlersMap = (0, exports.getCommandHandlersMap)(target);
|
|
24
|
+
export const defineCommandHandler = (target, commandName, handler) => {
|
|
25
|
+
const commandHandlersMap = getCommandHandlerMap(target);
|
|
27
26
|
commandHandlersMap.set(commandName, handler);
|
|
28
|
-
Reflect.defineMetadata(exports.CommandHandlersMetaKey, commandHandlersMap, target);
|
|
29
27
|
};
|
|
30
|
-
exports.defineCommandHandler = defineCommandHandler;
|
|
@@ -1,17 +1 @@
|
|
|
1
|
-
|
|
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("./static-value"), exports);
|
|
1
|
+
export * from "./static-value";
|
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.StaticValue = void 0;
|
|
4
|
-
class StaticValue {
|
|
1
|
+
export class StaticValue {
|
|
5
2
|
constructor(value) {
|
|
6
3
|
this._value = value;
|
|
7
4
|
}
|
|
@@ -12,4 +9,3 @@ class StaticValue {
|
|
|
12
9
|
return this._value;
|
|
13
10
|
}
|
|
14
11
|
}
|
|
15
|
-
exports.StaticValue = StaticValue;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare const
|
|
3
|
-
export declare const
|
|
4
|
-
export declare const
|
|
1
|
+
import { IIdService } from "../core";
|
|
2
|
+
export declare const IdServiceMetaKey: unique symbol;
|
|
3
|
+
export declare const defineIdService: (target: object, idService: IIdService) => void;
|
|
4
|
+
export declare const getIdService: (target: object) => IIdService;
|
package/dist/meta/id.metadata.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const defineIdGenerator = (target, idGenerator) => {
|
|
6
|
-
Reflect.defineMetadata(exports.IdGeneratorMetaKey, idGenerator, target);
|
|
1
|
+
import { Uuid4Service } from "../core";
|
|
2
|
+
export const IdServiceMetaKey = Symbol.for("ID_SERVICE");
|
|
3
|
+
export const defineIdService = (target, idService) => {
|
|
4
|
+
Reflect.defineMetadata(IdServiceMetaKey, idService, target);
|
|
7
5
|
};
|
|
8
|
-
|
|
9
|
-
const
|
|
10
|
-
|
|
6
|
+
export const getIdService = (target) => {
|
|
7
|
+
const idService = () => Reflect.getMetadata(IdServiceMetaKey, target);
|
|
8
|
+
if (idService())
|
|
9
|
+
return idService();
|
|
10
|
+
Reflect.defineMetadata(IdServiceMetaKey, new Uuid4Service(), target);
|
|
11
|
+
return idService();
|
|
11
12
|
};
|
|
12
|
-
exports.getIdGenerator = getIdGenerator;
|
package/dist/meta/index.js
CHANGED
|
@@ -1,20 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
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("./helpers"), exports);
|
|
18
|
-
__exportStar(require("./aggregate.metadata"), exports);
|
|
19
|
-
__exportStar(require("./id.metadata"), exports);
|
|
20
|
-
__exportStar(require("./model.metadata"), exports);
|
|
1
|
+
export * from "./helpers";
|
|
2
|
+
export * from "./aggregate.metadata";
|
|
3
|
+
export * from "./id.metadata";
|
|
4
|
+
export * from "./model.metadata";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AnyModel, ModelClass, PropKey, PropsOf } from "../core
|
|
1
|
+
import { AnyModel, ModelClass, PropKey, PropsOf } from "../core";
|
|
2
2
|
import { StaticValue, StaticValueBuilder } from "./helpers/static-value";
|
|
3
3
|
export declare class PropsMap<T extends AnyModel = AnyModel> extends Map<PropKey, keyof PropsOf<T>> {
|
|
4
4
|
}
|
|
@@ -1,29 +1,23 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.getStaticValue = exports.setStaticValue = exports.getOwnStaticValues = exports.getPropsValidator = exports.setPropsValidator = exports.getModelName = exports.setModelName = exports.getPropsMap = exports.setProp = exports.getOwnPropsMap = exports.PropsMap = void 0;
|
|
4
|
-
const _core_1 = require("../core/index");
|
|
5
|
-
const static_value_1 = require("./helpers/static-value");
|
|
1
|
+
import { ModelBase } from "../core";
|
|
2
|
+
import { StaticValue } from "./helpers/static-value";
|
|
6
3
|
const OwnPropsMapMetaKey = Symbol.for("OWN_PROPS_MAP");
|
|
7
4
|
// Prop keys map is a Map<Key, TargetPropKey>;
|
|
8
|
-
class PropsMap extends Map {
|
|
5
|
+
export class PropsMap extends Map {
|
|
9
6
|
}
|
|
10
|
-
exports.PropsMap = PropsMap;
|
|
11
7
|
// target is prototype
|
|
12
|
-
const getOwnPropsMap = (target) => {
|
|
8
|
+
export const getOwnPropsMap = (target) => {
|
|
13
9
|
const ownPropsMap = () => Reflect.getOwnMetadata(OwnPropsMapMetaKey, target);
|
|
14
10
|
if (!ownPropsMap())
|
|
15
11
|
Reflect.defineMetadata(OwnPropsMapMetaKey, new PropsMap(), target);
|
|
16
12
|
return ownPropsMap();
|
|
17
13
|
};
|
|
18
|
-
|
|
19
|
-
const
|
|
20
|
-
const ownPropsMap = (0, exports.getOwnPropsMap)(target);
|
|
14
|
+
export const setProp = (target, key, targetPropKey) => {
|
|
15
|
+
const ownPropsMap = getOwnPropsMap(target);
|
|
21
16
|
if (targetPropKey)
|
|
22
17
|
ownPropsMap.set(key, targetPropKey);
|
|
23
18
|
};
|
|
24
|
-
exports.setProp = setProp;
|
|
25
19
|
const PropsMapMetaKey = Symbol.for("PROPS_MAP");
|
|
26
|
-
const getPropsMap = (target) => {
|
|
20
|
+
export const getPropsMap = (target) => {
|
|
27
21
|
const propsMap = () => Reflect.getOwnMetadata(PropsMapMetaKey, target);
|
|
28
22
|
if (propsMap())
|
|
29
23
|
return propsMap();
|
|
@@ -32,8 +26,8 @@ const getPropsMap = (target) => {
|
|
|
32
26
|
const result = new PropsMap();
|
|
33
27
|
const ownPropsMapList = [];
|
|
34
28
|
do {
|
|
35
|
-
if (
|
|
36
|
-
const ownPropsMap =
|
|
29
|
+
if (ModelBase.isModel(_target)) {
|
|
30
|
+
const ownPropsMap = getOwnPropsMap(_target);
|
|
37
31
|
ownPropsMapList.unshift(ownPropsMap);
|
|
38
32
|
}
|
|
39
33
|
_target = Reflect.getPrototypeOf(_target);
|
|
@@ -46,52 +40,43 @@ const getPropsMap = (target) => {
|
|
|
46
40
|
Reflect.defineMetadata(PropsMapMetaKey, buildPropsMap(target), target);
|
|
47
41
|
return propsMap();
|
|
48
42
|
};
|
|
49
|
-
exports.getPropsMap = getPropsMap;
|
|
50
43
|
//
|
|
51
44
|
const ModelNameMetaKey = Symbol.for("MODEL_NAME");
|
|
52
|
-
const setModelName = (target, name) => {
|
|
53
|
-
Reflect.defineMetadata(ModelNameMetaKey, name
|
|
45
|
+
export const setModelName = (target, name) => {
|
|
46
|
+
Reflect.defineMetadata(ModelNameMetaKey, name ?? target.name, target);
|
|
54
47
|
};
|
|
55
|
-
|
|
56
|
-
const getModelName = (target) => {
|
|
48
|
+
export const getModelName = (target) => {
|
|
57
49
|
const modelName = () => Reflect.getMetadata(ModelNameMetaKey, target);
|
|
58
50
|
if (!modelName())
|
|
59
|
-
|
|
51
|
+
setModelName(target);
|
|
60
52
|
return modelName();
|
|
61
53
|
};
|
|
62
|
-
exports.getModelName = getModelName;
|
|
63
54
|
const PropsValidatorMetaKey = Symbol.for("PROPS_VALIDATOR");
|
|
64
|
-
const setPropsValidator = (target, validator) => {
|
|
55
|
+
export const setPropsValidator = (target, validator) => {
|
|
65
56
|
Reflect.defineMetadata(PropsValidatorMetaKey, validator, target);
|
|
66
57
|
};
|
|
67
|
-
|
|
68
|
-
const getPropsValidator = (target) => {
|
|
58
|
+
export const getPropsValidator = (target) => {
|
|
69
59
|
return Reflect.getMetadata(PropsValidatorMetaKey, target);
|
|
70
60
|
};
|
|
71
|
-
exports.getPropsValidator = getPropsValidator;
|
|
72
61
|
//
|
|
73
62
|
const OwnStaticValuesMetaKey = Symbol.for("OWN_STATIC_VALUES");
|
|
74
|
-
const getOwnStaticValues = (target) => {
|
|
63
|
+
export const getOwnStaticValues = (target) => {
|
|
75
64
|
const ownStaticValues = () => Reflect.getOwnMetadata(OwnStaticValuesMetaKey, target);
|
|
76
65
|
if (!ownStaticValues())
|
|
77
66
|
Reflect.defineMetadata(OwnStaticValuesMetaKey, new Map(), target);
|
|
78
67
|
return ownStaticValues();
|
|
79
68
|
};
|
|
80
|
-
|
|
81
|
-
const
|
|
82
|
-
|
|
83
|
-
staticValues.set(key, new static_value_1.StaticValue(value));
|
|
69
|
+
export const setStaticValue = (target, key, value) => {
|
|
70
|
+
const staticValues = getOwnStaticValues(target);
|
|
71
|
+
staticValues.set(key, new StaticValue(value));
|
|
84
72
|
};
|
|
85
|
-
|
|
86
|
-
const getStaticValue = (target, key) => {
|
|
87
|
-
var _a;
|
|
73
|
+
export const getStaticValue = (target, key) => {
|
|
88
74
|
let _target = target;
|
|
89
75
|
do {
|
|
90
|
-
const staticValues =
|
|
76
|
+
const staticValues = getOwnStaticValues(_target);
|
|
91
77
|
if (staticValues.has(key))
|
|
92
|
-
return
|
|
78
|
+
return staticValues.get(key)?.value;
|
|
93
79
|
_target = Reflect.getPrototypeOf(_target);
|
|
94
80
|
} while (_target !== null);
|
|
95
81
|
return undefined;
|
|
96
82
|
};
|
|
97
|
-
exports.getStaticValue = getStaticValue;
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1
|
+
export {};
|
package/dist/types/class.js
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1
|
+
export {};
|
package/dist/types/index.js
CHANGED
|
@@ -1,18 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
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("./class"), exports);
|
|
18
|
-
__exportStar(require("./class-static"), exports);
|
|
1
|
+
export * from "./class";
|
|
2
|
+
export * from "./class-static";
|
package/dist/utils/index.js
CHANGED
|
@@ -1,17 +1 @@
|
|
|
1
|
-
|
|
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("./to-array"), exports);
|
|
1
|
+
export * from "./to-array";
|
package/dist/utils/to-array.js
CHANGED
|
@@ -1,9 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.toArray = void 0;
|
|
4
|
-
const toArray = (value) => {
|
|
5
|
-
if (Array.isArray(value))
|
|
6
|
-
return value;
|
|
7
|
-
return [value];
|
|
1
|
+
export const toArray = (value) => {
|
|
2
|
+
return Array.isArray(value) ? value : [value];
|
|
8
3
|
};
|
|
9
|
-
exports.toArray = toArray;
|
package/package.json
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ddd-node",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "14.0.1",
|
|
4
|
+
"type": "module",
|
|
4
5
|
"description": "Domain Driven Design base for NodeJs",
|
|
5
6
|
"main": "dist/index.js",
|
|
7
|
+
"types": "dist/index.d.ts",
|
|
6
8
|
"scripts": {
|
|
7
|
-
"build": "rm -rf dist && tsc
|
|
8
|
-
"
|
|
9
|
+
"build": "rm -rf dist && tsc -p src/tsconfig.build.json && tsc-alias -p src/tsconfig.build.json",
|
|
10
|
+
"test": "mocha"
|
|
9
11
|
},
|
|
10
12
|
"repository": {
|
|
11
13
|
"type": "git",
|
|
@@ -21,8 +23,16 @@
|
|
|
21
23
|
"author": "Quoc Dai",
|
|
22
24
|
"license": "ISC",
|
|
23
25
|
"devDependencies": {
|
|
26
|
+
"@types/chai": "^4.3.16",
|
|
24
27
|
"@types/lodash": "^4.14.200",
|
|
28
|
+
"@types/mocha": "^10.0.6",
|
|
29
|
+
"@types/source-map-support": "^0.5.10",
|
|
25
30
|
"@types/uuid": "^9.0.6",
|
|
31
|
+
"chai": "^5.1.1",
|
|
32
|
+
"chai-deep-match": "^1.2.1",
|
|
33
|
+
"ddd-node": "file:dist",
|
|
34
|
+
"mocha": "^10.4.0",
|
|
35
|
+
"source-map-support": "^0.5.21",
|
|
26
36
|
"ts-node": "^10.9.1",
|
|
27
37
|
"tsconfig-paths": "^4.2.0",
|
|
28
38
|
"typescript": "^5.2.2"
|
|
@@ -34,5 +44,19 @@
|
|
|
34
44
|
"tsc-alias": "^1.8.8",
|
|
35
45
|
"type-fest": "^4.15.0",
|
|
36
46
|
"uuid": "^9.0.1"
|
|
47
|
+
},
|
|
48
|
+
"mocha": {
|
|
49
|
+
"require": [
|
|
50
|
+
"tsconfig-paths/register",
|
|
51
|
+
"ts-node/register"
|
|
52
|
+
],
|
|
53
|
+
"node-option": [
|
|
54
|
+
"experimental-specifier-resolution=node",
|
|
55
|
+
"import=./ts-loader.js"
|
|
56
|
+
],
|
|
57
|
+
"spec": [
|
|
58
|
+
"test/**/*.spec.ts"
|
|
59
|
+
],
|
|
60
|
+
"exit": true
|
|
37
61
|
}
|
|
38
62
|
}
|
package/ts-loader.js
ADDED