pp-command-bus 1.5.0 → 2.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/README.md +400 -1219
- package/dist/command-bus/command-bus.spec.js +138 -359
- package/dist/command-bus/command-bus.spec.js.map +1 -1
- package/dist/command-bus/command.d.ts +3 -4
- package/dist/command-bus/command.js +3 -32
- package/dist/command-bus/command.js.map +1 -1
- package/dist/command-bus/config/command-bus-config.d.ts +75 -21
- package/dist/command-bus/config/command-bus-config.js +99 -58
- package/dist/command-bus/config/command-bus-config.js.map +1 -1
- package/dist/command-bus/config/command-bus-config.spec.js +174 -100
- package/dist/command-bus/config/command-bus-config.spec.js.map +1 -1
- package/dist/command-bus/index.d.ts +39 -52
- package/dist/command-bus/index.js +133 -126
- package/dist/command-bus/index.js.map +1 -1
- package/dist/command-bus/logging/command-logger.d.ts +2 -0
- package/dist/command-bus/logging/command-logger.js +7 -0
- package/dist/command-bus/logging/command-logger.js.map +1 -1
- package/dist/command-bus/logging/command-logger.spec.js +36 -0
- package/dist/command-bus/logging/command-logger.spec.js.map +1 -1
- package/dist/command-bus/serialization/index.d.ts +6 -0
- package/dist/command-bus/serialization/index.js +9 -0
- package/dist/command-bus/serialization/index.js.map +1 -0
- package/dist/command-bus/serialization/msgpack-serializer.d.ts +26 -0
- package/dist/command-bus/serialization/msgpack-serializer.js +70 -0
- package/dist/command-bus/serialization/msgpack-serializer.js.map +1 -0
- package/dist/command-bus/serialization/msgpack-serializer.spec.js +223 -0
- package/dist/command-bus/serialization/msgpack-serializer.spec.js.map +1 -0
- package/dist/command-bus/serialization/serializer.interface.d.ts +21 -0
- package/dist/command-bus/serialization/serializer.interface.js +3 -0
- package/dist/command-bus/serialization/serializer.interface.js.map +1 -0
- package/dist/command-bus/transport/consumer-loop.d.ts +45 -0
- package/dist/command-bus/transport/consumer-loop.js +90 -0
- package/dist/command-bus/transport/consumer-loop.js.map +1 -0
- package/dist/command-bus/transport/consumer-loop.spec.js +216 -0
- package/dist/command-bus/transport/consumer-loop.spec.js.map +1 -0
- package/dist/command-bus/transport/index.d.ts +21 -0
- package/dist/command-bus/transport/index.js +23 -0
- package/dist/command-bus/transport/index.js.map +1 -0
- package/dist/command-bus/transport/message-processor.d.ts +59 -0
- package/dist/command-bus/transport/message-processor.js +111 -0
- package/dist/command-bus/transport/message-processor.js.map +1 -0
- package/dist/command-bus/transport/message-processor.spec.js +185 -0
- package/dist/command-bus/transport/message-processor.spec.js.map +1 -0
- package/dist/command-bus/transport/pending-recovery.d.ts +54 -0
- package/dist/command-bus/transport/pending-recovery.js +139 -0
- package/dist/command-bus/transport/pending-recovery.js.map +1 -0
- package/dist/command-bus/transport/pending-recovery.spec.js +176 -0
- package/dist/command-bus/transport/pending-recovery.spec.js.map +1 -0
- package/dist/command-bus/transport/redis-codec.d.ts +24 -0
- package/dist/command-bus/transport/redis-codec.js +33 -0
- package/dist/command-bus/transport/redis-codec.js.map +1 -0
- package/dist/command-bus/transport/redis-codec.spec.js +53 -0
- package/dist/command-bus/transport/redis-codec.spec.js.map +1 -0
- package/dist/command-bus/transport/redis-streams-transport.d.ts +91 -0
- package/dist/command-bus/transport/redis-streams-transport.js +134 -0
- package/dist/command-bus/transport/redis-streams-transport.js.map +1 -0
- package/dist/command-bus/transport/redis-streams-transport.spec.js +420 -0
- package/dist/command-bus/transport/redis-streams-transport.spec.js.map +1 -0
- package/dist/command-bus/transport/rpc-handler.d.ts +39 -0
- package/dist/command-bus/transport/rpc-handler.js +87 -0
- package/dist/command-bus/transport/rpc-handler.js.map +1 -0
- package/dist/command-bus/transport/rpc-handler.spec.js +157 -0
- package/dist/command-bus/transport/rpc-handler.spec.js.map +1 -0
- package/dist/command-bus/transport/stream-consumer.d.ts +89 -0
- package/dist/command-bus/transport/stream-consumer.js +181 -0
- package/dist/command-bus/transport/stream-consumer.js.map +1 -0
- package/dist/command-bus/transport/stream-consumer.spec.js +284 -0
- package/dist/command-bus/transport/stream-consumer.spec.js.map +1 -0
- package/dist/command-bus/transport/stream-producer.d.ts +23 -0
- package/dist/command-bus/transport/stream-producer.js +70 -0
- package/dist/command-bus/transport/stream-producer.js.map +1 -0
- package/dist/command-bus/transport/stream-producer.spec.js +125 -0
- package/dist/command-bus/transport/stream-producer.spec.js.map +1 -0
- package/dist/command-bus/transport/transport.interface.d.ts +87 -0
- package/dist/command-bus/transport/transport.interface.js +3 -0
- package/dist/command-bus/transport/transport.interface.js.map +1 -0
- package/dist/command-bus/types/index.d.ts +0 -84
- package/dist/examples/rpc.demo.js +1 -1
- package/dist/examples/rpc.demo.js.map +1 -1
- package/dist/index.d.ts +8 -5
- package/dist/index.js +6 -4
- package/dist/index.js.map +1 -1
- package/dist/pp-command-bus-2.0.0.tgz +0 -0
- package/dist/shared/redis/connection-pool.d.ts +54 -0
- package/dist/shared/redis/connection-pool.js +117 -0
- package/dist/shared/redis/connection-pool.js.map +1 -0
- package/dist/shared/redis/connection-pool.spec.js +114 -0
- package/dist/shared/redis/connection-pool.spec.js.map +1 -0
- package/dist/shared/redis/index.d.ts +5 -3
- package/dist/shared/redis/index.js +6 -4
- package/dist/shared/redis/index.js.map +1 -1
- package/dist/shared/redis/rpc-connection-pool.d.ts +61 -0
- package/dist/shared/redis/rpc-connection-pool.js +154 -0
- package/dist/shared/redis/rpc-connection-pool.js.map +1 -0
- package/dist/shared/redis/rpc-connection-pool.spec.d.ts +1 -0
- package/dist/shared/redis/rpc-connection-pool.spec.js +173 -0
- package/dist/shared/redis/rpc-connection-pool.spec.js.map +1 -0
- package/dist/shared/types.d.ts +0 -4
- package/dist/shared/utils/error-utils.d.ts +8 -0
- package/dist/shared/utils/error-utils.js +14 -0
- package/dist/shared/utils/error-utils.js.map +1 -0
- package/package.json +12 -12
- package/dist/command-bus/config/auto-config-optimizer.d.ts +0 -35
- package/dist/command-bus/config/auto-config-optimizer.js +0 -52
- package/dist/command-bus/config/auto-config-optimizer.js.map +0 -1
- package/dist/command-bus/config/auto-config-optimizer.spec.js +0 -42
- package/dist/command-bus/config/auto-config-optimizer.spec.js.map +0 -1
- package/dist/command-bus/job/index.d.ts +0 -6
- package/dist/command-bus/job/index.js +0 -15
- package/dist/command-bus/job/index.js.map +0 -1
- package/dist/command-bus/job/job-options-builder.d.ts +0 -21
- package/dist/command-bus/job/job-options-builder.js +0 -58
- package/dist/command-bus/job/job-options-builder.js.map +0 -1
- package/dist/command-bus/job/job-options-builder.spec.js +0 -156
- package/dist/command-bus/job/job-options-builder.spec.js.map +0 -1
- package/dist/command-bus/job/job-processor.d.ts +0 -39
- package/dist/command-bus/job/job-processor.js +0 -203
- package/dist/command-bus/job/job-processor.js.map +0 -1
- package/dist/command-bus/job/job-processor.spec.js +0 -436
- package/dist/command-bus/job/job-processor.spec.js.map +0 -1
- package/dist/command-bus/queue/index.d.ts +0 -5
- package/dist/command-bus/queue/index.js +0 -13
- package/dist/command-bus/queue/index.js.map +0 -1
- package/dist/command-bus/queue/queue-manager.d.ts +0 -56
- package/dist/command-bus/queue/queue-manager.js +0 -163
- package/dist/command-bus/queue/queue-manager.js.map +0 -1
- package/dist/command-bus/queue/queue-manager.spec.js +0 -371
- package/dist/command-bus/queue/queue-manager.spec.js.map +0 -1
- package/dist/command-bus/rpc/index.d.ts +0 -11
- package/dist/command-bus/rpc/index.js +0 -19
- package/dist/command-bus/rpc/index.js.map +0 -1
- package/dist/command-bus/rpc/payload-compression.service.d.ts +0 -50
- package/dist/command-bus/rpc/payload-compression.service.js +0 -215
- package/dist/command-bus/rpc/payload-compression.service.js.map +0 -1
- package/dist/command-bus/rpc/payload-compression.service.spec.js +0 -376
- package/dist/command-bus/rpc/payload-compression.service.spec.js.map +0 -1
- package/dist/command-bus/rpc/rpc-coordinator.d.ts +0 -96
- package/dist/command-bus/rpc/rpc-coordinator.js +0 -500
- package/dist/command-bus/rpc/rpc-coordinator.js.map +0 -1
- package/dist/command-bus/rpc/rpc-coordinator.spec.js +0 -621
- package/dist/command-bus/rpc/rpc-coordinator.spec.js.map +0 -1
- package/dist/command-bus/rpc/rpc-job-cancellation.service.d.ts +0 -82
- package/dist/command-bus/rpc/rpc-job-cancellation.service.js +0 -180
- package/dist/command-bus/rpc/rpc-job-cancellation.service.js.map +0 -1
- package/dist/command-bus/rpc/rpc-job-cancellation.service.spec.js +0 -286
- package/dist/command-bus/rpc/rpc-job-cancellation.service.spec.js.map +0 -1
- package/dist/command-bus/worker/index.d.ts +0 -10
- package/dist/command-bus/worker/index.js +0 -19
- package/dist/command-bus/worker/index.js.map +0 -1
- package/dist/command-bus/worker/worker-benchmark.d.ts +0 -71
- package/dist/command-bus/worker/worker-benchmark.js +0 -202
- package/dist/command-bus/worker/worker-benchmark.js.map +0 -1
- package/dist/command-bus/worker/worker-benchmark.spec.js +0 -310
- package/dist/command-bus/worker/worker-benchmark.spec.js.map +0 -1
- package/dist/command-bus/worker/worker-metrics-collector.d.ts +0 -98
- package/dist/command-bus/worker/worker-metrics-collector.js +0 -242
- package/dist/command-bus/worker/worker-metrics-collector.js.map +0 -1
- package/dist/command-bus/worker/worker-orchestrator.d.ts +0 -70
- package/dist/command-bus/worker/worker-orchestrator.js +0 -339
- package/dist/command-bus/worker/worker-orchestrator.js.map +0 -1
- package/dist/command-bus/worker/worker-orchestrator.spec.js +0 -712
- package/dist/command-bus/worker/worker-orchestrator.spec.js.map +0 -1
- package/dist/examples/auto-config.demo.d.ts +0 -9
- package/dist/examples/auto-config.demo.js +0 -106
- package/dist/examples/auto-config.demo.js.map +0 -1
- package/dist/examples/rpc-compression.demo.d.ts +0 -5
- package/dist/examples/rpc-compression.demo.js +0 -358
- package/dist/examples/rpc-compression.demo.js.map +0 -1
- package/dist/examples/rpc-resilience.demo.d.ts +0 -15
- package/dist/examples/rpc-resilience.demo.js +0 -233
- package/dist/examples/rpc-resilience.demo.js.map +0 -1
- package/dist/pp-command-bus-1.5.0.tgz +0 -0
- package/dist/shared/config/base-config.d.ts +0 -54
- package/dist/shared/config/base-config.js +0 -114
- package/dist/shared/config/base-config.js.map +0 -1
- package/dist/shared/config/base-config.spec.js +0 -204
- package/dist/shared/config/base-config.spec.js.map +0 -1
- package/dist/shared/config/index.d.ts +0 -1
- package/dist/shared/config/index.js +0 -9
- package/dist/shared/config/index.js.map +0 -1
- package/dist/shared/redis/redis-connection-factory.d.ts +0 -66
- package/dist/shared/redis/redis-connection-factory.js +0 -113
- package/dist/shared/redis/redis-connection-factory.js.map +0 -1
- /package/dist/command-bus/{config/auto-config-optimizer.spec.d.ts → serialization/msgpack-serializer.spec.d.ts} +0 -0
- /package/dist/command-bus/{job/job-options-builder.spec.d.ts → transport/consumer-loop.spec.d.ts} +0 -0
- /package/dist/command-bus/{job/job-processor.spec.d.ts → transport/message-processor.spec.d.ts} +0 -0
- /package/dist/command-bus/{queue/queue-manager.spec.d.ts → transport/pending-recovery.spec.d.ts} +0 -0
- /package/dist/command-bus/{rpc/payload-compression.service.spec.d.ts → transport/redis-codec.spec.d.ts} +0 -0
- /package/dist/command-bus/{rpc/rpc-coordinator.spec.d.ts → transport/redis-streams-transport.spec.d.ts} +0 -0
- /package/dist/command-bus/{rpc/rpc-job-cancellation.service.spec.d.ts → transport/rpc-handler.spec.d.ts} +0 -0
- /package/dist/command-bus/{worker/worker-benchmark.spec.d.ts → transport/stream-consumer.spec.d.ts} +0 -0
- /package/dist/command-bus/{worker/worker-orchestrator.spec.d.ts → transport/stream-producer.spec.d.ts} +0 -0
- /package/dist/shared/{config/base-config.spec.d.ts → redis/connection-pool.spec.d.ts} +0 -0
|
@@ -8,73 +8,95 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
8
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
11
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
const
|
|
13
|
-
const
|
|
14
|
-
const
|
|
15
|
-
const
|
|
15
|
+
const serialization_1 = require("./serialization");
|
|
16
|
+
const transport_1 = require("./transport");
|
|
17
|
+
const connection_pool_1 = __importDefault(require("../shared/redis/connection-pool"));
|
|
18
|
+
const rpc_connection_pool_1 = __importDefault(require("../shared/redis/rpc-connection-pool"));
|
|
16
19
|
const logging_1 = require("./logging");
|
|
17
|
-
const
|
|
20
|
+
const error_utils_1 = require("../shared/utils/error-utils");
|
|
18
21
|
/**
|
|
19
|
-
* Command Bus
|
|
22
|
+
* Command Bus oparty na Redis Streams + DragonflyDB
|
|
23
|
+
*
|
|
20
24
|
* Obsługuje komendy w relacji 1:1 (jedna komenda = jeden handler)
|
|
25
|
+
* API: dispatch(), dispatchBatch(), call(), handle(), close()
|
|
26
|
+
*
|
|
27
|
+
* Technologie:
|
|
28
|
+
* - Redis Streams (XADD/XREADGROUP) — natywny transport
|
|
29
|
+
* - MessagePack — binarna serializacja z obsługą Date
|
|
30
|
+
* - LPUSH/BRPOP — point-to-point RPC
|
|
31
|
+
* - Connection pool z round-robin — wielowątkowy DragonflyDB
|
|
21
32
|
*/
|
|
22
33
|
class CommandBus {
|
|
23
34
|
constructor(config) {
|
|
24
35
|
this.config = config;
|
|
25
36
|
/**
|
|
26
|
-
* Handlery komend
|
|
37
|
+
* Handlery komend — tylko jeden per typ komendy
|
|
27
38
|
*/
|
|
28
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
29
39
|
this.commandHandlers = {};
|
|
30
|
-
|
|
40
|
+
/**
|
|
41
|
+
* Promises z transport.consume() — do graceful shutdown
|
|
42
|
+
*/
|
|
43
|
+
this.consumePromises = [];
|
|
31
44
|
this.logger = config.logger;
|
|
32
45
|
this.logger.debug('Konstruktor CommandBus', {
|
|
33
|
-
config:
|
|
46
|
+
config: {
|
|
47
|
+
poolSize: config.poolSize,
|
|
48
|
+
maxConcurrentRpc: config.maxConcurrentRpc,
|
|
49
|
+
batchSize: config.batchSize,
|
|
50
|
+
maxAttempts: config.maxAttempts,
|
|
51
|
+
claimTimeout: config.claimTimeout,
|
|
52
|
+
maxRetained: config.maxRetained,
|
|
53
|
+
},
|
|
34
54
|
timestamp: new Date().toISOString(),
|
|
35
55
|
});
|
|
36
|
-
//
|
|
37
|
-
|
|
38
|
-
//
|
|
39
|
-
// getRedisOptions() zwraca ConnectionOptions z BullMQ, które są kompatybilne z RedisConnectionOptions
|
|
56
|
+
// Serializer: MessagePack z natywną obsługą Date (eliminuje reconstructDates)
|
|
57
|
+
this.serializer = new serialization_1.MsgpackSerializer();
|
|
58
|
+
// Opcje Redis z konfiguracji
|
|
40
59
|
const redisOptions = this.config.getRedisOptions();
|
|
41
|
-
//
|
|
42
|
-
this.
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
//
|
|
48
|
-
this.
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
//
|
|
54
|
-
this.
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
60
|
+
// Pula połączeń Redis — round-robin dla XADD, XACK, DEL, pipeline
|
|
61
|
+
this.connectionPool = new connection_pool_1.default({
|
|
62
|
+
size: config.poolSize,
|
|
63
|
+
redisOptions,
|
|
64
|
+
logger: this.logger,
|
|
65
|
+
});
|
|
66
|
+
// Pula połączeń RPC — bounded, lazy, dla blocking BRPOP
|
|
67
|
+
this.rpcConnectionPool = new rpc_connection_pool_1.default({
|
|
68
|
+
maxSize: config.maxConcurrentRpc,
|
|
69
|
+
redisOptions,
|
|
70
|
+
logger: this.logger,
|
|
71
|
+
});
|
|
72
|
+
// Transport: Redis Streams
|
|
73
|
+
this.transport = new transport_1.RedisStreamsTransport({
|
|
74
|
+
pool: this.connectionPool,
|
|
75
|
+
rpcPool: this.rpcConnectionPool,
|
|
76
|
+
serializer: this.serializer,
|
|
77
|
+
logger: this.logger,
|
|
78
|
+
maxRetained: config.maxRetained,
|
|
79
|
+
maxAttempts: config.maxAttempts,
|
|
80
|
+
claimTimeout: config.claimTimeout,
|
|
81
|
+
batchSize: config.batchSize,
|
|
82
|
+
concurrency: config.concurrency,
|
|
83
|
+
});
|
|
84
|
+
// CommandLogger jeśli commandLog jest skonfigurowane
|
|
58
85
|
if (this.config.commandLog) {
|
|
59
86
|
this.commandLogger = new logging_1.CommandLogger(this.config.commandLog, this.logger);
|
|
60
87
|
}
|
|
61
|
-
// Utwórz JobProcessor z Redis connection dla Pub/Sub, compressionService i cancellationService
|
|
62
|
-
this.jobProcessor = new job_1.JobProcessor(this.commandHandlers, this.rpcRedisConnection, this.logger, this.jobOptionsBuilder, this.compressionService, this.commandLogger, this.cancellationService);
|
|
63
|
-
// Utwórz WorkerOrchestrator z własnym Redis connection
|
|
64
|
-
this.workerOrchestrator = new worker_1.WorkerOrchestrator(this.workerRedisConnection, this.jobProcessor, this.config.concurrency, this.config.maxAttempts, this.logger);
|
|
65
88
|
this.logger.debug('CommandBus gotowy do użycia', {
|
|
66
89
|
timestamp: new Date().toISOString(),
|
|
67
90
|
});
|
|
68
91
|
}
|
|
69
92
|
/**
|
|
70
|
-
* Wysyła komendę do
|
|
71
|
-
*
|
|
72
|
-
*
|
|
93
|
+
* Wysyła komendę do strumienia (fire-and-forget)
|
|
94
|
+
* XADD = 1 natywne polecenie Redis
|
|
95
|
+
*
|
|
73
96
|
* @param command - Komenda do wysłania
|
|
74
97
|
*/
|
|
75
98
|
dispatch(command) {
|
|
76
99
|
return __awaiter(this, void 0, void 0, function* () {
|
|
77
|
-
var _a;
|
|
78
100
|
const commandName = command.__name;
|
|
79
101
|
const commandId = command.__id;
|
|
80
102
|
const timestamp = new Date().toISOString();
|
|
@@ -83,141 +105,126 @@ class CommandBus {
|
|
|
83
105
|
commandId,
|
|
84
106
|
timestamp,
|
|
85
107
|
});
|
|
86
|
-
|
|
87
|
-
const
|
|
88
|
-
|
|
89
|
-
const job = yield queue.add(commandName, processedCommand, this.jobOptionsBuilder.buildStandardOptions());
|
|
90
|
-
this.logger.debug('Komenda dodana do kolejki', {
|
|
108
|
+
const data = this.serializer.serialize(command);
|
|
109
|
+
const messageId = yield this.transport.enqueue(`cmd:${commandName}`, data);
|
|
110
|
+
this.logger.debug('Komenda dodana do strumienia', {
|
|
91
111
|
commandName,
|
|
92
112
|
commandId,
|
|
93
|
-
|
|
94
|
-
compressed: processedCommand.__compressed,
|
|
95
|
-
queuePosition: ((_a = job.opts) === null || _a === void 0 ? void 0 : _a.delay) ? 'delayed' : 'active',
|
|
113
|
+
messageId,
|
|
96
114
|
timestamp,
|
|
97
115
|
});
|
|
98
116
|
});
|
|
99
117
|
}
|
|
118
|
+
/**
|
|
119
|
+
* Wysyła wiele komend naraz z użyciem pipelining
|
|
120
|
+
* DragonflyDB przetwarza pipeline równolegle na wielu wątkach
|
|
121
|
+
*
|
|
122
|
+
* @param commands - Tablica komend do wysłania
|
|
123
|
+
*/
|
|
124
|
+
dispatchBatch(commands) {
|
|
125
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
126
|
+
if (commands.length === 0)
|
|
127
|
+
return;
|
|
128
|
+
this.logger.debug('Wysyłanie batch komend', {
|
|
129
|
+
count: commands.length,
|
|
130
|
+
timestamp: new Date().toISOString(),
|
|
131
|
+
});
|
|
132
|
+
const entries = commands.map((cmd) => ({
|
|
133
|
+
streamName: `cmd:${cmd.__name}`,
|
|
134
|
+
data: this.serializer.serialize(cmd),
|
|
135
|
+
}));
|
|
136
|
+
yield this.transport.enqueueBatch(entries);
|
|
137
|
+
this.logger.debug('Batch komend wysłany', {
|
|
138
|
+
count: commands.length,
|
|
139
|
+
timestamp: new Date().toISOString(),
|
|
140
|
+
});
|
|
141
|
+
});
|
|
142
|
+
}
|
|
100
143
|
/**
|
|
101
144
|
* Rejestruje handler dla komendy
|
|
102
|
-
*
|
|
145
|
+
*
|
|
103
146
|
* @param commandDefinition - Definicja komendy (klasa)
|
|
104
147
|
* @param handler - Handler do obsługi komendy
|
|
105
148
|
*/
|
|
106
|
-
handle(
|
|
107
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
108
|
-
commandDefinition, handler) {
|
|
149
|
+
handle(commandDefinition, handler) {
|
|
109
150
|
const commandName = commandDefinition.name;
|
|
110
151
|
if (this.commandHandlers[commandName]) {
|
|
111
152
|
throw new Error(`Handler dla komendy ${commandName} już istnieje`);
|
|
112
153
|
}
|
|
113
154
|
this.commandHandlers[commandName] = handler;
|
|
114
|
-
|
|
155
|
+
// Zarejestruj konsumenta strumienia — śledź promise do graceful shutdown
|
|
156
|
+
const consumePromise = this.transport
|
|
157
|
+
.consume(`cmd:${commandName}`, 'workers', (data) => __awaiter(this, void 0, void 0, function* () {
|
|
158
|
+
const command = this.serializer.deserialize(data);
|
|
159
|
+
// Opcjonalne logowanie komendy
|
|
160
|
+
if (this.commandLogger) {
|
|
161
|
+
void this.commandLogger.logCommand(command);
|
|
162
|
+
}
|
|
163
|
+
return yield handler(command);
|
|
164
|
+
}))
|
|
165
|
+
.catch((error) => {
|
|
166
|
+
this.logger.error('Błąd konsumenta strumienia', {
|
|
167
|
+
commandName,
|
|
168
|
+
error: (0, error_utils_1.getErrorMessage)(error),
|
|
169
|
+
timestamp: new Date().toISOString(),
|
|
170
|
+
});
|
|
171
|
+
});
|
|
172
|
+
this.consumePromises.push(consumePromise);
|
|
115
173
|
this.logger.debug(`Zarejestrowano handler dla komendy ${commandName}`);
|
|
116
174
|
}
|
|
117
175
|
/**
|
|
118
176
|
* Synchroniczne wywołanie komendy z oczekiwaniem na wynik (RPC)
|
|
119
|
-
* Request przez
|
|
120
|
-
* Automatycznie kompresuje dane jeśli przekraczają threshold
|
|
177
|
+
* Request przez Redis Streams, odpowiedź przez LPUSH/BRPOP
|
|
121
178
|
*
|
|
122
|
-
* Flow
|
|
123
|
-
* 1.
|
|
124
|
-
* 2.
|
|
125
|
-
* 3.
|
|
126
|
-
* 4.
|
|
179
|
+
* Flow (4 komendy Redis):
|
|
180
|
+
* 1. XADD — komenda z metadanymi RPC do strumienia
|
|
181
|
+
* 2. BRPOP — czekaj na odpowiedź na dedykowanym połączeniu
|
|
182
|
+
* 3. Worker: LPUSH — odpowiedź na klucz
|
|
183
|
+
* 4. DEL — cleanup klucza (TTL safety net)
|
|
127
184
|
*
|
|
128
185
|
* @param command - Komenda do wykonania
|
|
129
186
|
* @param timeout - Timeout w milisekundach (domyślnie 30s)
|
|
130
187
|
*/
|
|
131
188
|
call(command_1) {
|
|
132
189
|
return __awaiter(this, arguments, void 0, function* (command, timeout = 30000) {
|
|
133
|
-
var _a, _b;
|
|
134
190
|
const commandName = command.__name;
|
|
135
191
|
const correlationId = command.__id;
|
|
136
192
|
const timestamp = new Date().toISOString();
|
|
137
|
-
this.logger.debug('Rozpoczynam wywołanie RPC
|
|
193
|
+
this.logger.debug('Rozpoczynam wywołanie RPC', {
|
|
138
194
|
commandName,
|
|
139
195
|
commandId: correlationId,
|
|
140
196
|
timeout: `${timeout}ms`,
|
|
141
197
|
timestamp,
|
|
142
198
|
});
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
const commandWithMetadata = this.rpcCoordinator.prepareRpcCommand(compressedCommand);
|
|
152
|
-
const job = yield queue.add(commandName, commandWithMetadata, this.jobOptionsBuilder.buildStandardOptions());
|
|
153
|
-
this.logger.debug('Komenda RPC dodana do kolejki', {
|
|
199
|
+
const data = this.serializer.serialize(command);
|
|
200
|
+
const resultBuffer = yield this.transport.rpcCall(commandName, data, timeout);
|
|
201
|
+
// Deserializuj odpowiedź RPC
|
|
202
|
+
const response = this.serializer.deserialize(resultBuffer);
|
|
203
|
+
if (response.error) {
|
|
204
|
+
throw new Error(response.error);
|
|
205
|
+
}
|
|
206
|
+
this.logger.debug('Otrzymano odpowiedź RPC', {
|
|
154
207
|
commandName,
|
|
155
208
|
commandId: correlationId,
|
|
156
|
-
|
|
157
|
-
compressed: compressedCommand.__compressed,
|
|
158
|
-
responseChannel: (_a = commandWithMetadata.__rpcMetadata) === null || _a === void 0 ? void 0 : _a.responseChannel,
|
|
159
|
-
queuePosition: ((_b = job.opts) === null || _b === void 0 ? void 0 : _b.delay) ? 'delayed' : 'active',
|
|
160
|
-
timestamp,
|
|
209
|
+
timestamp: new Date().toISOString(),
|
|
161
210
|
});
|
|
162
|
-
|
|
163
|
-
if (job.id) {
|
|
164
|
-
this.rpcCoordinator.setJobId(correlationId, job.id, commandName);
|
|
165
|
-
}
|
|
166
|
-
// Krok 5: Zwróć responsePromise - zostanie resolved gdy worker wyśle odpowiedź przez Pub/Sub
|
|
167
|
-
return promise;
|
|
168
|
-
});
|
|
169
|
-
}
|
|
170
|
-
/**
|
|
171
|
-
* Tworzy callback do usuwania jobów z kolejki
|
|
172
|
-
* Callback jest przekazywany do RpcCoordinator dla możliwości usunięcia joba przy timeout
|
|
173
|
-
* Nie rzuca wyjątków - zwraca boolean sukcesu
|
|
174
|
-
*/
|
|
175
|
-
createRemoveJobCallback() {
|
|
176
|
-
return (queueName, jobId) => __awaiter(this, void 0, void 0, function* () {
|
|
177
|
-
try {
|
|
178
|
-
const queue = this.queueManager.getOrCreateQueue(queueName);
|
|
179
|
-
const job = yield queue.getJob(jobId);
|
|
180
|
-
if (job) {
|
|
181
|
-
yield job.remove();
|
|
182
|
-
this.logger.debug('Job usunięty z kolejki (RPC timeout)', {
|
|
183
|
-
queueName,
|
|
184
|
-
jobId,
|
|
185
|
-
timestamp: new Date().toISOString(),
|
|
186
|
-
});
|
|
187
|
-
return true;
|
|
188
|
-
}
|
|
189
|
-
return false;
|
|
190
|
-
}
|
|
191
|
-
catch (error) {
|
|
192
|
-
this.logger.debug('Nie udało się usunąć joba z kolejki (prawdopodobnie już przetwarzany)', {
|
|
193
|
-
queueName,
|
|
194
|
-
jobId,
|
|
195
|
-
error: error instanceof Error ? error.message : String(error),
|
|
196
|
-
timestamp: new Date().toISOString(),
|
|
197
|
-
});
|
|
198
|
-
return false;
|
|
199
|
-
}
|
|
211
|
+
return response.result;
|
|
200
212
|
});
|
|
201
213
|
}
|
|
202
214
|
/**
|
|
203
215
|
* Zamyka wszystkie połączenia
|
|
204
|
-
* Czyści cache kolejek dla optymalizacji pamięci
|
|
205
216
|
*/
|
|
206
217
|
close() {
|
|
207
218
|
return __awaiter(this, void 0, void 0, function* () {
|
|
208
219
|
this.logger.debug('Zamykanie połączeń CommandBus', {
|
|
209
220
|
timestamp: new Date().toISOString(),
|
|
210
221
|
});
|
|
211
|
-
//
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
yield this.
|
|
217
|
-
// Zamknij pozostałe Redis connections
|
|
218
|
-
yield this.queueRedisConnection.quit();
|
|
219
|
-
yield this.workerRedisConnection.quit();
|
|
220
|
-
yield this.rpcRedisConnection.quit();
|
|
222
|
+
// Czekaj na zakończenie rejestracji konsumentów
|
|
223
|
+
if (this.consumePromises.length > 0) {
|
|
224
|
+
yield Promise.allSettled(this.consumePromises);
|
|
225
|
+
this.consumePromises.length = 0;
|
|
226
|
+
}
|
|
227
|
+
yield this.transport.close();
|
|
221
228
|
});
|
|
222
229
|
}
|
|
223
230
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/command-bus/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/command-bus/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,8 @@ import type Command from '../command';
|
|
|
7
7
|
export default class CommandLogger {
|
|
8
8
|
private readonly logDirectory;
|
|
9
9
|
private readonly logger;
|
|
10
|
+
/** Flaga — czy katalog logów został utworzony/zweryfikowany */
|
|
11
|
+
private directoryEnsured;
|
|
10
12
|
/**
|
|
11
13
|
* Konstruktor CommandLogger
|
|
12
14
|
* @param logDirectory - Ścieżka do katalogu logów
|
|
@@ -57,6 +57,8 @@ class CommandLogger {
|
|
|
57
57
|
constructor(logDirectory, logger) {
|
|
58
58
|
this.logDirectory = logDirectory;
|
|
59
59
|
this.logger = logger;
|
|
60
|
+
/** Flaga — czy katalog logów został utworzony/zweryfikowany */
|
|
61
|
+
this.directoryEnsured = false;
|
|
60
62
|
}
|
|
61
63
|
/**
|
|
62
64
|
* Zapisuje komendę do pliku logu w formacie JSONL
|
|
@@ -65,6 +67,11 @@ class CommandLogger {
|
|
|
65
67
|
logCommand(command) {
|
|
66
68
|
return __awaiter(this, void 0, void 0, function* () {
|
|
67
69
|
try {
|
|
70
|
+
// H5: Upewnij się, że katalog logów istnieje — zapobiega ENOENT na appendFile
|
|
71
|
+
if (!this.directoryEnsured) {
|
|
72
|
+
yield fs.mkdir(this.logDirectory, { recursive: true });
|
|
73
|
+
this.directoryEnsured = true;
|
|
74
|
+
}
|
|
68
75
|
const date = new Date().toISOString().split('T')[0];
|
|
69
76
|
const fileName = path.join(this.logDirectory, `commandbus_${date}.jsonl`);
|
|
70
77
|
yield fs.appendFile(fileName, JSON.stringify(command) + '\n');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-logger.js","sourceRoot":"","sources":["../../../src/command-bus/logging/command-logger.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAkC;AAClC,2CAA6B;AAI7B;;;GAGG;AACH,MAAqB,aAAa;
|
|
1
|
+
{"version":3,"file":"command-logger.js","sourceRoot":"","sources":["../../../src/command-bus/logging/command-logger.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAkC;AAClC,2CAA6B;AAI7B;;;GAGG;AACH,MAAqB,aAAa;IAIhC;;;;OAIG;IACH,YACmB,YAAoB,EACpB,MAAe;QADf,iBAAY,GAAZ,YAAY,CAAQ;QACpB,WAAM,GAAN,MAAM,CAAS;QAVlC,+DAA+D;QACvD,qBAAgB,GAAG,KAAK,CAAC;IAU9B,CAAC;IAEJ;;;OAGG;IACU,UAAU,CAAC,OAAgB;;YACtC,IAAI,CAAC;gBACH,8EAA8E;gBAC9E,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBAC3B,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;oBACvD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;gBAC/B,CAAC;gBAED,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,cAAc,IAAI,QAAQ,CAAC,CAAC;gBAC1E,MAAM,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;YAChE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wCAAwC,EAAE,KAAK,CAAC,CAAC;YACrE,CAAC;QACH,CAAC;KAAA;CACF;AAjCD,gCAiCC"}
|
|
@@ -226,6 +226,42 @@ describe('CommandLogger', () => {
|
|
|
226
226
|
global.Date = originalDate;
|
|
227
227
|
}));
|
|
228
228
|
});
|
|
229
|
+
describe('mkdir recursive (H5)', () => {
|
|
230
|
+
it('powinien utworzyć katalog logowania jeśli nie istnieje', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
231
|
+
// Given
|
|
232
|
+
const mockDate = new Date('2025-10-01T12:00:00.000Z');
|
|
233
|
+
const originalDate = global.Date;
|
|
234
|
+
const DateMock = jest.fn(() => mockDate);
|
|
235
|
+
DateMock.now = jest.fn(() => mockDate.getTime());
|
|
236
|
+
Object.setPrototypeOf(DateMock, originalDate);
|
|
237
|
+
global.Date = DateMock;
|
|
238
|
+
const command = new TestCommand({ data: 'test' });
|
|
239
|
+
// When
|
|
240
|
+
yield commandLogger.logCommand(command);
|
|
241
|
+
// Then — mkdir powinien być wywołany z recursive: true
|
|
242
|
+
expect(fs.mkdir).toHaveBeenCalledWith(testLogDirectory, { recursive: true });
|
|
243
|
+
// Cleanup
|
|
244
|
+
global.Date = originalDate;
|
|
245
|
+
}));
|
|
246
|
+
it('powinien wywołać mkdir tylko raz (directoryEnsured cache)', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
247
|
+
// Given
|
|
248
|
+
const mockDate = new Date('2025-10-01T12:00:00.000Z');
|
|
249
|
+
const originalDate = global.Date;
|
|
250
|
+
const DateMock = jest.fn(() => mockDate);
|
|
251
|
+
DateMock.now = jest.fn(() => mockDate.getTime());
|
|
252
|
+
Object.setPrototypeOf(DateMock, originalDate);
|
|
253
|
+
global.Date = DateMock;
|
|
254
|
+
const command1 = new TestCommand({ data: 'first' });
|
|
255
|
+
const command2 = new TestCommand({ data: 'second' });
|
|
256
|
+
// When
|
|
257
|
+
yield commandLogger.logCommand(command1);
|
|
258
|
+
yield commandLogger.logCommand(command2);
|
|
259
|
+
// Then — mkdir powinien być wywołany tylko RAZ
|
|
260
|
+
expect(fs.mkdir).toHaveBeenCalledTimes(1);
|
|
261
|
+
// Cleanup
|
|
262
|
+
global.Date = originalDate;
|
|
263
|
+
}));
|
|
264
|
+
});
|
|
229
265
|
describe('constructor', () => {
|
|
230
266
|
it('powinno utworzyć logger z poprawnym katalogiem', () => {
|
|
231
267
|
// When
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-logger.spec.js","sourceRoot":"","sources":["../../../src/command-bus/logging/command-logger.spec.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"command-logger.spec.js","sourceRoot":"","sources":["../../../src/command-bus/logging/command-logger.spec.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAkC;AAClC,2CAA6B;AAC7B,sEAA6C;AAC7C,yDAAiC;AAGjC,mBAAmB;AACnB,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AAEzB,8BAA8B;AAC9B,MAAM,WAAY,SAAQ,iBAAyB;IACjD,YAAmB,OAAyB;QAC1C,KAAK,CAAC,OAAO,CAAC,CAAC;IACjB,CAAC;CACF;AAED,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,IAAI,aAA4B,CAAC;IACjC,IAAI,UAAmB,CAAC;IACxB,MAAM,gBAAgB,GAAG,YAAY,CAAC;IAEtC,UAAU,CAAC,GAAG,EAAE;QACd,IAAI,CAAC,aAAa,EAAE,CAAC;QAErB,UAAU,GAAG;YACX,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE;YACd,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE;YAChB,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE;YACf,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE;SACjB,CAAC;QAEF,aAAa,GAAG,IAAI,wBAAa,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;QAC1B,EAAE,CAAC,wDAAwD,EAAE,GAAS,EAAE;YACtE,QAAQ;YACR,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,0BAA0B,CAAC,CAAC;YACtD,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC;YACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,QAAmB,CAA2B,CAAC;YAC9E,QAAQ,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;YACjD,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;YAC9C,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;YAEvB,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;YACvD,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,6BAA6B,CAAC,CAAC;YACpF,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;YAEvD,OAAO;YACP,MAAM,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAExC,OAAO;YACP,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,oBAAoB,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC;YAE9E,UAAU;YACV,MAAM,CAAC,IAAI,GAAG,YAAY,CAAC;QAC7B,CAAC,CAAA,CAAC,CAAC;QAEH,EAAE,CAAC,oEAAoE,EAAE,GAAS,EAAE;YAClF,QAAQ;YACR,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,0BAA0B,CAAC,CAAC;YACtD,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC;YACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,QAAmB,CAA2B,CAAC;YAC9E,QAAQ,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;YACjD,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;YAC9C,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;YAEvB,MAAM,QAAQ,GAAG,IAAI,WAAW,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;YACpD,MAAM,QAAQ,GAAG,IAAI,WAAW,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;YACrD,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,6BAA6B,CAAC,CAAC;YAEpF,OAAO;YACP,MAAM,aAAa,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YACzC,MAAM,aAAa,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAEzC,OAAO;YACP,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAC/C,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,uBAAuB,CAC3C,CAAC,EACD,gBAAgB,EAChB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,IAAI,CAChC,CAAC;YACF,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,uBAAuB,CAC3C,CAAC,EACD,gBAAgB,EAChB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,IAAI,CAChC,CAAC;YAEF,UAAU;YACV,MAAM,CAAC,IAAI,GAAG,YAAY,CAAC;QAC7B,CAAC,CAAA,CAAC,CAAC;QAEH,EAAE,CAAC,4CAA4C,EAAE,GAAS,EAAE;YAC1D,QAAQ;YACR,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC;YACjC,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,0BAA0B,CAAC,CAAC;YACnD,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,0BAA0B,CAAC,CAAC;YAEnD,kBAAkB;YAClB,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAgB,CAA2B,CAAC;YAC5E,SAAS,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAC/C,MAAM,CAAC,cAAc,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;YAC/C,MAAM,CAAC,IAAI,GAAG,SAAS,CAAC;YAExB,MAAM,QAAQ,GAAG,IAAI,WAAW,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;YAEnD,iBAAiB;YACjB,MAAM,aAAa,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAEzC,kBAAkB;YAClB,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAgB,CAA2B,CAAC;YAC5E,SAAS,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAC/C,MAAM,CAAC,cAAc,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;YAC/C,MAAM,CAAC,IAAI,GAAG,SAAS,CAAC;YAExB,MAAM,QAAQ,GAAG,IAAI,WAAW,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;YAEnD,iBAAiB;YACjB,MAAM,aAAa,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAEzC,OAAO;YACP,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,6BAA6B,CAAC,CAAC;YACzE,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,6BAA6B,CAAC,CAAC;YAEzE,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,oBAAoB,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC;YACnF,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,oBAAoB,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC;YAEnF,UAAU;YACV,MAAM,CAAC,IAAI,GAAG,YAAY,CAAC;QAC7B,CAAC,CAAA,CAAC,CAAC;QAEH,EAAE,CAAC,6DAA6D,EAAE,GAAS,EAAE;YAC3E,QAAQ;YACR,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC;YACpC,EAAE,CAAC,UAAwB,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;YAE1D,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,0BAA0B,CAAC,CAAC;YACtD,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC;YACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,QAAmB,CAA2B,CAAC;YAC9E,QAAQ,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;YACjD,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;YAC9C,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;YAEvB,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;YAElD,OAAO;YACP,MAAM,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAExC,OAAO;YACP,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,oBAAoB,CAC3C,wCAAwC,EACxC,KAAK,CACN,CAAC;YAEF,UAAU;YACV,MAAM,CAAC,IAAI,GAAG,YAAY,CAAC;QAC7B,CAAC,CAAA,CAAC,CAAC;QAEH,EAAE,CAAC,mDAAmD,EAAE,GAAS,EAAE;YACjE,QAAQ;YACR,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,0BAA0B,CAAC,CAAC;YACtD,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC;YACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,QAAmB,CAA2B,CAAC;YAC9E,QAAQ,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;YACjD,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;YAC9C,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;YAEvB,MAAM,QAAQ,GAAG,IAAI,WAAW,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;YACpD,MAAM,QAAQ,GAAG,IAAI,WAAW,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;YACpD,EAAE,CAAC,UAAwB;iBACzB,qBAAqB,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC;iBAC1C,qBAAqB,CAAC,SAAS,CAAC,CAAC;YAEpC,OAAO;YACP,MAAM,aAAa,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,4BAA4B;YACtE,MAAM,aAAa,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,iBAAiB;YAE3D,OAAO;YACP,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAC/C,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAElD,UAAU;YACV,MAAM,CAAC,IAAI,GAAG,YAAY,CAAC;QAC7B,CAAC,CAAA,CAAC,CAAC;QAEH,EAAE,CAAC,yDAAyD,EAAE,GAAS,EAAE;YACvE,QAAQ;YACR,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,0BAA0B,CAAC,CAAC;YACtD,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC;YACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,QAAmB,CAA2B,CAAC;YAC9E,QAAQ,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;YACjD,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;YAC9C,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;YAEvB,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,EAAE,IAAI,EAAE,+BAA+B,EAAE,CAAC,CAAC;YAE3E,OAAO;YACP,MAAM,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAExC,OAAO;YACP,MAAM,KAAK,GAAI,EAAE,CAAC,UAAwB,CAAC,IAAI,CAAC,KAAK,CAAC;YACtD,MAAM,cAAc,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAW,CAAC;YAE7C,+CAA+C;YAC/C,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACzC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,8CAA8C;YAC5E,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;YAC1C,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,mCAAmC;YAE9D,UAAU;YACV,MAAM,CAAC,IAAI,GAAG,YAAY,CAAC;QAC7B,CAAC,CAAA,CAAC,CAAC;QAEH,EAAE,CAAC,qEAAqE,EAAE,GAAS,EAAE;YACnF,QAAQ;YACR,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,0BAA0B,CAAC,CAAC;YACtD,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC;YACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,QAAmB,CAA2B,CAAC;YAC9E,QAAQ,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;YACjD,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;YAC9C,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;YAEvB,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;YACvD,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;YAC/B,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC;YAEnC,OAAO;YACP,MAAM,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAExC,OAAO;YACP,MAAM,KAAK,GAAI,EAAE,CAAC,UAAwB,CAAC,IAAI,CAAC,KAAK,CAAC;YACtD,MAAM,cAAc,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAW,CAAC;YAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC;YAEjD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACpC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACxC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAEhD,UAAU;YACV,MAAM,CAAC,IAAI,GAAG,YAAY,CAAC;QAC7B,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;QACpC,EAAE,CAAC,wDAAwD,EAAE,GAAS,EAAE;YACtE,QAAQ;YACR,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,0BAA0B,CAAC,CAAC;YACtD,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC;YACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,QAAmB,CAA2B,CAAC;YAC9E,QAAQ,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;YACjD,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;YAC9C,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;YAEvB,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;YAElD,OAAO;YACP,MAAM,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAExC,uDAAuD;YACvD,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,oBAAoB,CAAC,gBAAgB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAE7E,UAAU;YACV,MAAM,CAAC,IAAI,GAAG,YAAY,CAAC;QAC7B,CAAC,CAAA,CAAC,CAAC;QAEH,EAAE,CAAC,2DAA2D,EAAE,GAAS,EAAE;YACzE,QAAQ;YACR,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,0BAA0B,CAAC,CAAC;YACtD,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC;YACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,QAAmB,CAA2B,CAAC;YAC9E,QAAQ,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;YACjD,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;YAC9C,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;YAEvB,MAAM,QAAQ,GAAG,IAAI,WAAW,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;YACpD,MAAM,QAAQ,GAAG,IAAI,WAAW,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;YAErD,OAAO;YACP,MAAM,aAAa,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YACzC,MAAM,aAAa,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAEzC,+CAA+C;YAC/C,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAE1C,UAAU;YACV,MAAM,CAAC,IAAI,GAAG,YAAY,CAAC;QAC7B,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;QAC3B,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;YACxD,OAAO;YACP,MAAM,MAAM,GAAG,IAAI,wBAAa,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;YAE7D,OAAO;YACP,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;YACxD,OAAO;YACP,MAAM,MAAM,GAAG,IAAI,wBAAa,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;YAEjD,OAAO;YACP,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;QAC/B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
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.MsgpackSerializer = void 0;
|
|
7
|
+
var msgpack_serializer_1 = require("./msgpack-serializer");
|
|
8
|
+
Object.defineProperty(exports, "MsgpackSerializer", { enumerable: true, get: function () { return __importDefault(msgpack_serializer_1).default; } });
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/command-bus/serialization/index.ts"],"names":[],"mappings":";;;;;;AAKA,2DAAoE;AAA3D,wIAAA,OAAO,OAAqB"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { ISerializer } from './serializer.interface';
|
|
2
|
+
/**
|
|
3
|
+
* Serializer oparty na MessagePack z natywną obsługą Date
|
|
4
|
+
*
|
|
5
|
+
* MessagePack jest ~20-30% mniejszy niż JSON i obsługuje dane binarne natywnie.
|
|
6
|
+
* Date extension type eliminuje potrzebę ręcznej rekonstrukcji dat po deserializacji.
|
|
7
|
+
*/
|
|
8
|
+
export default class MsgpackSerializer implements ISerializer {
|
|
9
|
+
private readonly codec;
|
|
10
|
+
constructor();
|
|
11
|
+
/**
|
|
12
|
+
* Serializuje dane do formatu MessagePack
|
|
13
|
+
* @param data - Dane do serializacji (obsługuje Date, Buffer, zagnieżdżone obiekty)
|
|
14
|
+
* @returns Buffer z danymi w formacie MessagePack
|
|
15
|
+
*/
|
|
16
|
+
serialize(data: unknown): Buffer;
|
|
17
|
+
/**
|
|
18
|
+
* Deserializuje dane z formatu MessagePack
|
|
19
|
+
* Date obiekty są automatycznie odtwarzane dzięki extension type
|
|
20
|
+
*
|
|
21
|
+
* @param buffer - Buffer z danymi MessagePack
|
|
22
|
+
* @returns Zdeserializowane dane z prawidłowymi typami (w tym Date)
|
|
23
|
+
* @throws Error gdy buffer jest nieprawidłowy lub pusty
|
|
24
|
+
*/
|
|
25
|
+
deserialize<T>(buffer: Buffer): T;
|
|
26
|
+
}
|