@haskou/ddd-kernel 2.0.2 → 2.0.4
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/{DomainMessageBus-CQSFU6A6.d.cts → DomainMessageBus-BHnBQZvI.d.cts} +1 -1
- package/dist/{DomainMessageBus-kjMVNGfv.d.ts → DomainMessageBus-DbctRnBy.d.ts} +1 -1
- package/dist/{HandlerContext-DUUExVo3.d.ts → HandlerContext-BT0RLBRT.d.ts} +1 -1
- package/dist/{HandlerContext-Lm89pSeG.d.cts → HandlerContext-CdX28Pr5.d.cts} +1 -1
- package/dist/{MessageBus-BtUXnd0Y.d.cts → MessageBus-BTy_hVua.d.cts} +2 -2
- package/dist/{MessageBus-oQ9BnW84.d.ts → MessageBus-BkHiX3LI.d.ts} +2 -2
- package/dist/{NoFailedMessagesError-z-6ffelK.d.ts → NoFailedMessagesError-C6wMAOvs.d.ts} +2 -2
- package/dist/{NoFailedMessagesError-Dm5AFcJV.d.cts → NoFailedMessagesError-De3UfABY.d.cts} +2 -2
- package/dist/{PublisherHookErrorPolicy-DSsCNE6O.d.ts → PublisherHookErrorPolicy-Bfh_QLs7.d.ts} +1 -1
- package/dist/{PublisherHookErrorPolicy-CjouTcSR.d.cts → PublisherHookErrorPolicy-BgSvNZBD.d.cts} +1 -1
- package/dist/{RetryPredicate-BFGD3FUP.d.cts → RetryPredicate-2f09m_NF.d.cts} +1 -1
- package/dist/{RetryPredicate-CuL59f8-.d.ts → RetryPredicate-B5jR8Nhs.d.ts} +1 -1
- package/dist/{Scheduler-BW-U5Ccg.d.cts → Scheduler-JFwOYxSp.d.cts} +1 -0
- package/dist/{Scheduler-BW-U5Ccg.d.ts → Scheduler-JFwOYxSp.d.ts} +1 -0
- package/dist/{ServiceClass-Cv5KbUSf.d.cts → ServiceClass-D_0gCcMr.d.cts} +3 -1
- package/dist/{ServiceClass-DXDAxvao.d.ts → ServiceClass-IInu6j5L.d.ts} +3 -1
- package/dist/{ServiceResolver-D2Jz-l_Z.d.cts → ServiceResolver-CQGmbk-X.d.cts} +1 -0
- package/dist/{ServiceResolver-D2Jz-l_Z.d.ts → ServiceResolver-CQGmbk-X.d.ts} +1 -0
- package/dist/{ShutdownHook-dvsrwsQi.d.ts → ShutdownHook-C3Zb9-5R.d.ts} +2 -2
- package/dist/{ShutdownHook-6-YKfmzG.d.cts → ShutdownHook-DnzfGgAA.d.cts} +2 -2
- package/dist/{Subscription-vtF0lEHP.d.ts → Subscription-BdLdP_5-.d.ts} +1 -1
- package/dist/{Subscription-4vuAAxax.d.cts → Subscription-DY3nBVkU.d.cts} +1 -1
- package/dist/adapters/index.cjs +59 -6
- package/dist/adapters/index.cjs.map +1 -1
- package/dist/adapters/index.d.cts +10 -10
- package/dist/adapters/index.d.ts +10 -10
- package/dist/adapters/index.js +58 -6
- package/dist/adapters/index.js.map +1 -1
- package/dist/adapters/pubsub/amqp/index.cjs +6 -0
- package/dist/adapters/pubsub/amqp/index.cjs.map +1 -1
- package/dist/adapters/pubsub/amqp/index.d.cts +8 -8
- package/dist/adapters/pubsub/amqp/index.d.ts +8 -8
- package/dist/adapters/pubsub/amqp/index.js +6 -0
- package/dist/adapters/pubsub/amqp/index.js.map +1 -1
- package/dist/adapters/pubsub/in-memory/index.d.cts +4 -4
- package/dist/adapters/pubsub/in-memory/index.d.ts +4 -4
- package/dist/adapters/pubsub/index.cjs +6 -0
- package/dist/adapters/pubsub/index.cjs.map +1 -1
- package/dist/adapters/pubsub/index.d.cts +9 -9
- package/dist/adapters/pubsub/index.d.ts +9 -9
- package/dist/adapters/pubsub/index.js +6 -0
- package/dist/adapters/pubsub/index.js.map +1 -1
- package/dist/adapters/ui/express/index.cjs +53 -6
- package/dist/adapters/ui/express/index.cjs.map +1 -1
- package/dist/adapters/ui/express/index.d.cts +17 -5
- package/dist/adapters/ui/express/index.d.ts +17 -5
- package/dist/adapters/ui/express/index.js +52 -6
- package/dist/adapters/ui/express/index.js.map +1 -1
- package/dist/adapters/ui/index.cjs +59 -6
- package/dist/adapters/ui/index.cjs.map +1 -1
- package/dist/adapters/ui/index.d.cts +5 -5
- package/dist/adapters/ui/index.d.ts +5 -5
- package/dist/adapters/ui/index.js +58 -6
- package/dist/adapters/ui/index.js.map +1 -1
- package/dist/adapters/ui/routes/index.cjs +6 -0
- package/dist/adapters/ui/routes/index.cjs.map +1 -1
- package/dist/adapters/ui/routes/index.js +6 -0
- package/dist/adapters/ui/routes/index.js.map +1 -1
- package/dist/contracts/index.d.cts +9 -9
- package/dist/contracts/index.d.ts +9 -9
- package/dist/contracts/kernel/index.d.cts +6 -6
- package/dist/contracts/kernel/index.d.ts +6 -6
- package/dist/contracts/pubsub/index.d.cts +7 -7
- package/dist/contracts/pubsub/index.d.ts +7 -7
- package/dist/contracts/ui/index.d.cts +2 -2
- package/dist/contracts/ui/index.d.ts +2 -2
- package/dist/domain/index.d.cts +5 -5
- package/dist/domain/index.d.ts +5 -5
- package/dist/index.cjs +6 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +9 -9
- package/dist/index.d.ts +9 -9
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/infrastructure/dependency-injection/index.cjs +6 -0
- package/dist/infrastructure/dependency-injection/index.cjs.map +1 -1
- package/dist/infrastructure/dependency-injection/index.d.cts +2 -2
- package/dist/infrastructure/dependency-injection/index.d.ts +2 -2
- package/dist/infrastructure/dependency-injection/index.js +6 -0
- package/dist/infrastructure/dependency-injection/index.js.map +1 -1
- package/dist/infrastructure/express/index.cjs +53 -6
- package/dist/infrastructure/express/index.cjs.map +1 -1
- package/dist/infrastructure/express/index.d.cts +5 -5
- package/dist/infrastructure/express/index.d.ts +5 -5
- package/dist/infrastructure/express/index.js +52 -6
- package/dist/infrastructure/express/index.js.map +1 -1
- package/dist/infrastructure/scheduler/index.cjs +15 -1
- package/dist/infrastructure/scheduler/index.cjs.map +1 -1
- package/dist/infrastructure/scheduler/index.d.cts +2 -2
- package/dist/infrastructure/scheduler/index.d.ts +2 -2
- package/dist/infrastructure/scheduler/index.js +15 -1
- package/dist/infrastructure/scheduler/index.js.map +1 -1
- package/package.json +7 -6
package/dist/adapters/index.d.ts
CHANGED
|
@@ -2,26 +2,26 @@ export { InMemoryRepository } from './db/in-memory/index.js';
|
|
|
2
2
|
export { MongoDocumentMapper, MongoRepository } from './db/mongo/index.js';
|
|
3
3
|
export { ConsoleKernelLogger } from './kernel/console/index.js';
|
|
4
4
|
export { Consumer, ConsumerMiddlewarePipeline, CorrelationConsumerMiddleware, CorrelationConsumerMiddlewareOptions, DefaultPublisherHookErrorPolicy, IdempotencyConsumerMiddleware, IdempotencyConsumerMiddlewareOptions, InMemoryIdempotencyStore, PublisherHookPipeline, RetryConsumerMiddleware, RetryConsumerMiddlewareOptions } from './pubsub/index.js';
|
|
5
|
-
export { A as AmqpMessage, a as AmqpMessageBusAdapterOptions, C as ConsumerContext, D as DomainEventHandler, I as InvalidDomainEventError, N as NoFailedMessagesError } from '../NoFailedMessagesError-
|
|
5
|
+
export { A as AmqpMessage, a as AmqpMessageBusAdapterOptions, C as ConsumerContext, D as DomainEventHandler, I as InvalidDomainEventError, N as NoFailedMessagesError } from '../NoFailedMessagesError-C6wMAOvs.js';
|
|
6
6
|
export { InMemoryEventBus, InMemoryPubSub } from './pubsub/in-memory/index.js';
|
|
7
|
-
export { ErrorExplanation, ErrorResponseHandler, ExpressAppHook, ExpressController, ExpressHookPhase, ExpressKernelServer, ExpressKernelServerOptions, ExpressPhaseHook, FormattedValidationError, HttpApp, HttpErrorHandler, HttpErrorHandlerOptions, HttpErrorLike, HttpErrorResponse, HttpServer, PayloadTooLargeError, RoutePrefix, ValidationError } from './ui/express/index.js';
|
|
7
|
+
export { ErrorExplanation, ErrorResponseHandler, ExpressAppHook, ExpressController, ExpressControllerResolver, ExpressHookPhase, ExpressKernelServer, ExpressKernelServerOptions, ExpressPhaseHook, FormattedValidationError, HttpApp, HttpErrorHandler, HttpErrorHandlerOptions, HttpErrorLike, HttpErrorResponse, HttpServer, PayloadTooLargeError, RoutePrefix, ValidationError } from './ui/express/index.js';
|
|
8
8
|
export { Route } from './ui/routes/index.js';
|
|
9
9
|
import '../Repository-D9CuAyCV.js';
|
|
10
10
|
import 'mongodb';
|
|
11
11
|
import '../KernelLogger-BESOFrpW.js';
|
|
12
12
|
import '../DomainEvent-mXWEtr_J.js';
|
|
13
13
|
import '../DomainEventConsumer-D1P4oXoj.js';
|
|
14
|
-
import '../ShutdownHook-
|
|
14
|
+
import '../ShutdownHook-C3Zb9-5R.js';
|
|
15
15
|
import 'dotenv';
|
|
16
|
-
import '../ServiceClass-
|
|
17
|
-
import '../ServiceResolver-
|
|
16
|
+
import '../ServiceClass-IInu6j5L.js';
|
|
17
|
+
import '../ServiceResolver-CQGmbk-X.js';
|
|
18
18
|
import '../infrastructure/lifecycle/index.js';
|
|
19
|
-
import '../Scheduler-
|
|
19
|
+
import '../Scheduler-JFwOYxSp.js';
|
|
20
20
|
import '../KernelRoute-B7mVPrEx.js';
|
|
21
|
-
import '../Subscription-
|
|
22
|
-
import '../HandlerContext-
|
|
23
|
-
import '../PublisherHookErrorPolicy-
|
|
24
|
-
import '../RetryPredicate-
|
|
21
|
+
import '../Subscription-BdLdP_5-.js';
|
|
22
|
+
import '../HandlerContext-BT0RLBRT.js';
|
|
23
|
+
import '../PublisherHookErrorPolicy-Bfh_QLs7.js';
|
|
24
|
+
import '../RetryPredicate-B5jR8Nhs.js';
|
|
25
25
|
import '../Log-36L3Z84a.js';
|
|
26
26
|
import 'amqplib';
|
|
27
27
|
import 'express';
|
package/dist/adapters/index.js
CHANGED
|
@@ -149,6 +149,9 @@ var DependencyInjection = class _DependencyInjection {
|
|
|
149
149
|
const tokenName = this.getServiceClassName(token) ?? String(token);
|
|
150
150
|
return `ddd-kernel.override.${prefix}.${tokenName}`;
|
|
151
151
|
}
|
|
152
|
+
hasDirectService(serviceName) {
|
|
153
|
+
return typeof serviceName === "string" && (this.definitions.has(serviceName) || this.aliases.has(serviceName));
|
|
154
|
+
}
|
|
152
155
|
ensureSyntheticService(id, value) {
|
|
153
156
|
const definition = this.container.register(id);
|
|
154
157
|
definition.public = true;
|
|
@@ -349,6 +352,9 @@ var DependencyInjection = class _DependencyInjection {
|
|
|
349
352
|
}
|
|
350
353
|
return this.container.get(serviceName);
|
|
351
354
|
}
|
|
355
|
+
hasService(serviceName) {
|
|
356
|
+
return this.overrideTokenIds.has(serviceName) || this.findAliasServiceId(serviceName) !== void 0 || this.findConcreteChildServiceId(serviceName) !== void 0 || this.findRegisteredServiceId(serviceName) !== void 0 || this.hasDirectService(serviceName);
|
|
357
|
+
}
|
|
352
358
|
};
|
|
353
359
|
|
|
354
360
|
// src/kernel/KernelEnvironmentValidationError.ts
|
|
@@ -1025,6 +1031,45 @@ var InMemoryPubSub = class {
|
|
|
1025
1031
|
}
|
|
1026
1032
|
};
|
|
1027
1033
|
|
|
1034
|
+
// src/adapters/ui/express/ExpressControllerResolver.ts
|
|
1035
|
+
var ExpressControllerResolver = class {
|
|
1036
|
+
constructor(kernel, controllers) {
|
|
1037
|
+
this.kernel = kernel;
|
|
1038
|
+
this.controllers = new Set(controllers);
|
|
1039
|
+
}
|
|
1040
|
+
kernel;
|
|
1041
|
+
controllerInstances = /* @__PURE__ */ new Map();
|
|
1042
|
+
controllers;
|
|
1043
|
+
createControllerInstance(ClassDefinition) {
|
|
1044
|
+
const Controller = ClassDefinition;
|
|
1045
|
+
return new Controller();
|
|
1046
|
+
}
|
|
1047
|
+
getCachedController(ClassDefinition) {
|
|
1048
|
+
const cached = this.controllerInstances.get(ClassDefinition);
|
|
1049
|
+
if (cached) {
|
|
1050
|
+
return cached;
|
|
1051
|
+
}
|
|
1052
|
+
const instance = this.createControllerInstance(ClassDefinition);
|
|
1053
|
+
this.controllerInstances.set(ClassDefinition, instance);
|
|
1054
|
+
return instance;
|
|
1055
|
+
}
|
|
1056
|
+
isKnownController(ClassDefinition) {
|
|
1057
|
+
return this.controllers.has(ClassDefinition);
|
|
1058
|
+
}
|
|
1059
|
+
canResolveService(ClassDefinition) {
|
|
1060
|
+
return this.kernel.di.hasService?.(ClassDefinition) === true;
|
|
1061
|
+
}
|
|
1062
|
+
get(ClassDefinition) {
|
|
1063
|
+
if (!this.canResolveService(ClassDefinition)) {
|
|
1064
|
+
if (this.isKnownController(ClassDefinition)) {
|
|
1065
|
+
return this.getCachedController(ClassDefinition);
|
|
1066
|
+
}
|
|
1067
|
+
return void 0;
|
|
1068
|
+
}
|
|
1069
|
+
return this.kernel.di.getService(ClassDefinition);
|
|
1070
|
+
}
|
|
1071
|
+
};
|
|
1072
|
+
|
|
1028
1073
|
// src/adapters/ui/express/ExpressKernelServer.ts
|
|
1029
1074
|
import { createRequire } from "module";
|
|
1030
1075
|
import path3 from "path";
|
|
@@ -1063,16 +1108,19 @@ var ExpressKernelServer = class {
|
|
|
1063
1108
|
copy(items) {
|
|
1064
1109
|
return [...items ?? []];
|
|
1065
1110
|
}
|
|
1066
|
-
configureControllerContainer() {
|
|
1111
|
+
configureControllerContainer(controllers) {
|
|
1067
1112
|
const { useContainer } = this.getRoutingControllers();
|
|
1113
|
+
const resolver = new ExpressControllerResolver(
|
|
1114
|
+
this.options.kernel,
|
|
1115
|
+
controllers
|
|
1116
|
+
);
|
|
1068
1117
|
useContainer(
|
|
1069
1118
|
{
|
|
1070
|
-
|
|
1071
|
-
get: (ClassDefinition) => this.options.kernel.di.getService(ClassDefinition)
|
|
1119
|
+
get: (ClassDefinition) => resolver.get(ClassDefinition)
|
|
1072
1120
|
},
|
|
1073
1121
|
{
|
|
1074
1122
|
fallback: true,
|
|
1075
|
-
fallbackOnErrors:
|
|
1123
|
+
fallbackOnErrors: false
|
|
1076
1124
|
}
|
|
1077
1125
|
);
|
|
1078
1126
|
}
|
|
@@ -1090,8 +1138,11 @@ var ExpressKernelServer = class {
|
|
|
1090
1138
|
}
|
|
1091
1139
|
defaultErrorHandler() {
|
|
1092
1140
|
return (error, request, response, next) => {
|
|
1093
|
-
void next;
|
|
1094
1141
|
void request;
|
|
1142
|
+
if (response.headersSent) {
|
|
1143
|
+
next(error);
|
|
1144
|
+
return;
|
|
1145
|
+
}
|
|
1095
1146
|
response.status(500).json({
|
|
1096
1147
|
error: error instanceof Error ? error.message : String(error)
|
|
1097
1148
|
});
|
|
@@ -1202,7 +1253,7 @@ var ExpressKernelServer = class {
|
|
|
1202
1253
|
this.applyMiddlewares(app, this.preControllerMiddlewares);
|
|
1203
1254
|
await this.runHooks(this.beforeControllersHooks, app);
|
|
1204
1255
|
await this.runPhaseHooks("beforeControllers", app);
|
|
1205
|
-
this.configureControllerContainer();
|
|
1256
|
+
this.configureControllerContainer(controllers);
|
|
1206
1257
|
useExpressServer(app, {
|
|
1207
1258
|
...this.options.routingControllersOptions,
|
|
1208
1259
|
controllers,
|
|
@@ -1393,6 +1444,7 @@ export {
|
|
|
1393
1444
|
ConsumerMiddlewarePipeline,
|
|
1394
1445
|
CorrelationConsumerMiddleware,
|
|
1395
1446
|
DefaultPublisherHookErrorPolicy,
|
|
1447
|
+
ExpressControllerResolver,
|
|
1396
1448
|
ExpressKernelServer,
|
|
1397
1449
|
HttpErrorHandler,
|
|
1398
1450
|
IdempotencyConsumerMiddleware,
|