@nestjs-transactional/outbox 1.1.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.
Files changed (123) hide show
  1. package/README.md +14 -0
  2. package/dist/api/completed-event-publications.d.ts +2 -2
  3. package/dist/api/completed-event-publications.js +6 -9
  4. package/dist/api/completed-event-publications.js.map +1 -1
  5. package/dist/api/failed-event-publications.d.ts +3 -3
  6. package/dist/api/failed-event-publications.js +10 -13
  7. package/dist/api/failed-event-publications.js.map +1 -1
  8. package/dist/api/incomplete-event-publications.d.ts +3 -3
  9. package/dist/api/incomplete-event-publications.js +11 -14
  10. package/dist/api/incomplete-event-publications.js.map +1 -1
  11. package/dist/decorators/inject-decorators.js +12 -24
  12. package/dist/decorators/inject-decorators.js.map +1 -1
  13. package/dist/decorators/outbox-events-handler.decorator.js +6 -11
  14. package/dist/decorators/outbox-events-handler.decorator.js.map +1 -1
  15. package/dist/dispatcher/data-source-outbox-publisher.d.ts +2 -2
  16. package/dist/dispatcher/data-source-outbox-publisher.js +7 -11
  17. package/dist/dispatcher/data-source-outbox-publisher.js.map +1 -1
  18. package/dist/dispatcher/event-publication-processor.d.ts +5 -5
  19. package/dist/dispatcher/event-publication-processor.js +18 -21
  20. package/dist/dispatcher/event-publication-processor.js.map +1 -1
  21. package/dist/dispatcher/outbox-event-publisher.js +16 -19
  22. package/dist/dispatcher/outbox-event-publisher.js.map +1 -1
  23. package/dist/dispatcher/processor-options.d.ts +1 -1
  24. package/dist/dispatcher/processor-options.js +5 -8
  25. package/dist/dispatcher/processor-options.js.map +1 -1
  26. package/dist/externalization/describe-thrown.js +1 -4
  27. package/dist/externalization/describe-thrown.js.map +1 -1
  28. package/dist/externalization/errors.d.ts +1 -1
  29. package/dist/externalization/errors.js +2 -6
  30. package/dist/externalization/errors.js.map +1 -1
  31. package/dist/externalization/event-externalizer.d.ts +1 -1
  32. package/dist/externalization/event-externalizer.js +1 -4
  33. package/dist/externalization/event-externalizer.js.map +1 -1
  34. package/dist/externalization/externalization-registry.d.ts +3 -3
  35. package/dist/externalization/externalization-registry.js +10 -13
  36. package/dist/externalization/externalization-registry.js.map +1 -1
  37. package/dist/externalization/externalized.decorator.js +6 -11
  38. package/dist/externalization/externalized.decorator.js.map +1 -1
  39. package/dist/externalization/types.js +1 -2
  40. package/dist/index.d.ts +43 -43
  41. package/dist/index.js +39 -65
  42. package/dist/index.js.map +1 -1
  43. package/dist/interfaces/outbox-event-handler.interface.js +1 -2
  44. package/dist/module/outbox-processing.module.d.ts +1 -1
  45. package/dist/module/outbox-processing.module.js +6 -9
  46. package/dist/module/outbox-processing.module.js.map +1 -1
  47. package/dist/module/outbox.module.d.ts +10 -10
  48. package/dist/module/outbox.module.js +145 -148
  49. package/dist/module/outbox.module.js.map +1 -1
  50. package/dist/recovery/outbox-cleanup-scheduler.d.ts +2 -2
  51. package/dist/recovery/outbox-cleanup-scheduler.js +7 -10
  52. package/dist/recovery/outbox-cleanup-scheduler.js.map +1 -1
  53. package/dist/recovery/outbox-retry-scheduler.d.ts +2 -2
  54. package/dist/recovery/outbox-retry-scheduler.js +11 -14
  55. package/dist/recovery/outbox-retry-scheduler.js.map +1 -1
  56. package/dist/recovery/staleness-monitor.d.ts +2 -2
  57. package/dist/recovery/staleness-monitor.js +14 -17
  58. package/dist/recovery/staleness-monitor.js.map +1 -1
  59. package/dist/recovery/startup-recovery.d.ts +1 -1
  60. package/dist/recovery/startup-recovery.js +11 -14
  61. package/dist/recovery/startup-recovery.js.map +1 -1
  62. package/dist/registry/event-publication-registry.d.ts +4 -4
  63. package/dist/registry/event-publication-registry.js +17 -20
  64. package/dist/registry/event-publication-registry.js.map +1 -1
  65. package/dist/registry/listener-registry.js +6 -9
  66. package/dist/registry/listener-registry.js.map +1 -1
  67. package/dist/registry/multi-ds-listener-registrar.d.ts +1 -1
  68. package/dist/registry/multi-ds-listener-registrar.js +15 -18
  69. package/dist/registry/multi-ds-listener-registrar.js.map +1 -1
  70. package/dist/registry/outbox-listener-scanner.d.ts +1 -1
  71. package/dist/registry/outbox-listener-scanner.js +23 -27
  72. package/dist/registry/outbox-listener-scanner.js.map +1 -1
  73. package/dist/repository/event-publication-repository.d.ts +2 -2
  74. package/dist/repository/event-publication-repository.js +1 -4
  75. package/dist/repository/event-publication-repository.js.map +1 -1
  76. package/dist/serialization/event-serializer.js +1 -4
  77. package/dist/serialization/event-serializer.js.map +1 -1
  78. package/dist/serialization/event-type-registry.js +5 -8
  79. package/dist/serialization/event-type-registry.js.map +1 -1
  80. package/dist/serialization/event-type-resolver.d.ts +1 -1
  81. package/dist/serialization/event-type-resolver.js +4 -7
  82. package/dist/serialization/event-type-resolver.js.map +1 -1
  83. package/dist/serialization/json-event-serializer.d.ts +2 -2
  84. package/dist/serialization/json-event-serializer.js +10 -13
  85. package/dist/serialization/json-event-serializer.js.map +1 -1
  86. package/dist/shutdown/drain.js +2 -6
  87. package/dist/shutdown/drain.js.map +1 -1
  88. package/dist/testing/assertable-published-events.d.ts +1 -1
  89. package/dist/testing/assertable-published-events.js +8 -13
  90. package/dist/testing/assertable-published-events.js.map +1 -1
  91. package/dist/testing/in-memory-repository.d.ts +3 -3
  92. package/dist/testing/in-memory-repository.js +22 -25
  93. package/dist/testing/in-memory-repository.js.map +1 -1
  94. package/dist/testing/index.d.ts +3 -3
  95. package/dist/testing/index.js +3 -19
  96. package/dist/testing/index.js.map +1 -1
  97. package/dist/testing/published-events.d.ts +3 -3
  98. package/dist/testing/published-events.js +9 -13
  99. package/dist/testing/published-events.js.map +1 -1
  100. package/dist/tokens/index.d.ts +1 -1
  101. package/dist/tokens/index.js +1 -13
  102. package/dist/tokens/index.js.map +1 -1
  103. package/dist/tokens/token-utils.js +10 -21
  104. package/dist/tokens/token-utils.js.map +1 -1
  105. package/dist/types/cleanup-config.js +3 -6
  106. package/dist/types/cleanup-config.js.map +1 -1
  107. package/dist/types/completion-mode.js +2 -5
  108. package/dist/types/completion-mode.js.map +1 -1
  109. package/dist/types/errors.d.ts +1 -1
  110. package/dist/types/errors.js +7 -16
  111. package/dist/types/errors.js.map +1 -1
  112. package/dist/types/event-publication.d.ts +1 -1
  113. package/dist/types/event-publication.js +1 -2
  114. package/dist/types/publication-status.js +2 -5
  115. package/dist/types/publication-status.js.map +1 -1
  116. package/dist/types/resubmission-options.d.ts +1 -1
  117. package/dist/types/resubmission-options.js +1 -5
  118. package/dist/types/resubmission-options.js.map +1 -1
  119. package/dist/types/retry-config.js +3 -6
  120. package/dist/types/retry-config.js.map +1 -1
  121. package/dist/types/staleness-config.js +3 -6
  122. package/dist/types/staleness-config.js.map +1 -1
  123. package/package.json +13 -12
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
2
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
3
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
@@ -6,66 +5,64 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
6
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
6
  };
8
7
  var OutboxModule_1;
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.OutboxModule = exports.OUTBOX_PROCESSING_BUNDLE = exports.OUTBOX_RETRY_CONFIG = exports.OUTBOX_STALENESS_CONFIG = exports.OUTBOX_PROCESSOR_OPTIONS = void 0;
11
- const common_1 = require("@nestjs/common");
12
- const core_1 = require("@nestjs/core");
13
- const core_2 = require("@nestjs-transactional/core");
14
- const completed_event_publications_1 = require("../api/completed-event-publications");
15
- const failed_event_publications_1 = require("../api/failed-event-publications");
16
- const incomplete_event_publications_1 = require("../api/incomplete-event-publications");
17
- const data_source_outbox_publisher_1 = require("../dispatcher/data-source-outbox-publisher");
18
- const event_publication_processor_1 = require("../dispatcher/event-publication-processor");
19
- const outbox_event_publisher_1 = require("../dispatcher/outbox-event-publisher");
20
- const processor_options_1 = require("../dispatcher/processor-options");
21
- const event_externalizer_1 = require("../externalization/event-externalizer");
22
- const externalization_registry_1 = require("../externalization/externalization-registry");
23
- const outbox_cleanup_scheduler_1 = require("../recovery/outbox-cleanup-scheduler");
24
- const outbox_retry_scheduler_1 = require("../recovery/outbox-retry-scheduler");
25
- const staleness_monitor_1 = require("../recovery/staleness-monitor");
26
- const startup_recovery_1 = require("../recovery/startup-recovery");
27
- const event_publication_registry_1 = require("../registry/event-publication-registry");
28
- const listener_registry_1 = require("../registry/listener-registry");
29
- const multi_ds_listener_registrar_1 = require("../registry/multi-ds-listener-registrar");
30
- const outbox_listener_scanner_1 = require("../registry/outbox-listener-scanner");
31
- const event_publication_repository_1 = require("../repository/event-publication-repository");
32
- const event_serializer_1 = require("../serialization/event-serializer");
33
- const event_type_registry_1 = require("../serialization/event-type-registry");
34
- const json_event_serializer_1 = require("../serialization/json-event-serializer");
35
- const in_memory_repository_1 = require("../testing/in-memory-repository");
36
- const token_utils_1 = require("../tokens/token-utils");
37
- const cleanup_config_1 = require("../types/cleanup-config");
38
- const retry_config_1 = require("../types/retry-config");
39
- const staleness_config_1 = require("../types/staleness-config");
8
+ import { Module, } from '@nestjs/common';
9
+ import { DiscoveryModule, ModuleRef } from '@nestjs/core';
10
+ import { TransactionManager } from '@nestjs-transactional/core';
11
+ import { CompletedEventPublications } from '../api/completed-event-publications.js';
12
+ import { FailedEventPublications } from '../api/failed-event-publications.js';
13
+ import { IncompleteEventPublications } from '../api/incomplete-event-publications.js';
14
+ import { DataSourceOutboxPublisher } from '../dispatcher/data-source-outbox-publisher.js';
15
+ import { EventPublicationProcessor } from '../dispatcher/event-publication-processor.js';
16
+ import { OUTBOX_DATA_SOURCE_NAMES, OutboxEventPublisher, } from '../dispatcher/outbox-event-publisher.js';
17
+ import { DEFAULT_PROCESSOR_OPTIONS, } from '../dispatcher/processor-options.js';
18
+ import { EVENT_EXTERNALIZER, } from '../externalization/event-externalizer.js';
19
+ import { ExternalizationRegistry } from '../externalization/externalization-registry.js';
20
+ import { OutboxCleanupScheduler } from '../recovery/outbox-cleanup-scheduler.js';
21
+ import { OutboxRetryScheduler } from '../recovery/outbox-retry-scheduler.js';
22
+ import { StalenessMonitor } from '../recovery/staleness-monitor.js';
23
+ import { OUTBOX_RECOVERY_OPTIONS, StartupRecoveryService, } from '../recovery/startup-recovery.js';
24
+ import { EventPublicationRegistry } from '../registry/event-publication-registry.js';
25
+ import { OutboxListenerRegistry } from '../registry/listener-registry.js';
26
+ import { MultiDsOutboxListenerRegistrar, OUTBOX_LISTENER_REGISTRAR_TOKEN, } from '../registry/multi-ds-listener-registrar.js';
27
+ import { OutboxListenerScanner } from '../registry/outbox-listener-scanner.js';
28
+ import { EVENT_PUBLICATION_REPOSITORY, } from '../repository/event-publication-repository.js';
29
+ import { EVENT_SERIALIZER } from '../serialization/event-serializer.js';
30
+ import { EVENT_TYPE_REGISTRY, EventTypeRegistry } from '../serialization/event-type-registry.js';
31
+ import { JsonEventSerializer } from '../serialization/json-event-serializer.js';
32
+ import { InMemoryEventPublicationRepository } from '../testing/in-memory-repository.js';
33
+ import { getEventPublicationProcessorToken, getEventPublicationRegistryToken, getEventPublicationRepositoryToken, getEventTypeRegistryToken, getExternalizationRegistryToken, getOutboxEventSerializerToken, getOutboxListenerRegistryToken, getOutboxPublisherToken, } from '../tokens/token-utils.js';
34
+ import { DEFAULT_CLEANUP_CONFIG } from '../types/cleanup-config.js';
35
+ import { DEFAULT_RETRY_CONFIG } from '../types/retry-config.js';
36
+ import { DEFAULT_STALENESS_CONFIG } from '../types/staleness-config.js';
40
37
  const DEFAULT_DATA_SOURCE = 'default';
41
38
  /** DI token carrying the resolved {@link EventPublicationProcessorOptions}. */
42
- exports.OUTBOX_PROCESSOR_OPTIONS = Symbol('OUTBOX_PROCESSOR_OPTIONS');
39
+ export const OUTBOX_PROCESSOR_OPTIONS = Symbol('OUTBOX_PROCESSOR_OPTIONS');
43
40
  /** DI token carrying the resolved {@link StalenessConfig}. */
44
- exports.OUTBOX_STALENESS_CONFIG = Symbol('OUTBOX_STALENESS_CONFIG');
45
- exports.OUTBOX_RETRY_CONFIG = Symbol('OUTBOX_RETRY_CONFIG');
41
+ export const OUTBOX_STALENESS_CONFIG = Symbol('OUTBOX_STALENESS_CONFIG');
42
+ export const OUTBOX_RETRY_CONFIG = Symbol('OUTBOX_RETRY_CONFIG');
46
43
  /**
47
44
  * Bundle of per-dataSource processors and monitors that
48
45
  * {@link OutboxProcessingModule} reads on bootstrap to start every
49
46
  * configured outbox loop. Provided by `forRoot` so the processing
50
47
  * module needs no per-dataSource configuration of its own.
51
48
  */
52
- exports.OUTBOX_PROCESSING_BUNDLE = Symbol('OUTBOX_PROCESSING_BUNDLE');
49
+ export const OUTBOX_PROCESSING_BUNDLE = Symbol('OUTBOX_PROCESSING_BUNDLE');
53
50
  const ASYNC_OPTIONS_TOKEN = (ds) => Symbol(`OUTBOX_ASYNC_OPTIONS[${ds}]`);
54
51
  function resolveProcessorOptions(processor, completionMode) {
55
52
  return {
56
- ...processor_options_1.DEFAULT_PROCESSOR_OPTIONS,
53
+ ...DEFAULT_PROCESSOR_OPTIONS,
57
54
  ...processor,
58
- completionMode: completionMode ?? processor?.completionMode ?? processor_options_1.DEFAULT_PROCESSOR_OPTIONS.completionMode,
55
+ completionMode: completionMode ?? processor?.completionMode ?? DEFAULT_PROCESSOR_OPTIONS.completionMode,
59
56
  };
60
57
  }
61
58
  function resolveStalenessConfig(staleness) {
62
- return { ...staleness_config_1.DEFAULT_STALENESS_CONFIG, ...staleness };
59
+ return { ...DEFAULT_STALENESS_CONFIG, ...staleness };
63
60
  }
64
61
  function resolveRetryConfig(retry) {
65
- return { ...retry_config_1.DEFAULT_RETRY_CONFIG, ...retry };
62
+ return { ...DEFAULT_RETRY_CONFIG, ...retry };
66
63
  }
67
64
  function resolveCleanupConfig(cleanup) {
68
- return { ...cleanup_config_1.DEFAULT_CLEANUP_CONFIG, ...cleanup };
65
+ return { ...DEFAULT_CLEANUP_CONFIG, ...cleanup };
69
66
  }
70
67
  function resolveRecoveryOptions(republishOnStartup, startupBatchSize) {
71
68
  return {
@@ -164,9 +161,9 @@ let OutboxModule = class OutboxModule {
164
161
  const exportTokens = [...perDataSourceExports(ds)];
165
162
  if (ds === DEFAULT_DATA_SOURCE) {
166
163
  providers.push(...buildDefaultDataSourceAliases());
167
- providers.push(failed_event_publications_1.FailedEventPublications, incomplete_event_publications_1.IncompleteEventPublications, completed_event_publications_1.CompletedEventPublications, startup_recovery_1.StartupRecoveryService);
164
+ providers.push(FailedEventPublications, IncompleteEventPublications, CompletedEventPublications, StartupRecoveryService);
168
165
  exportTokens.push(...defaultDataSourceAliasTokens());
169
- exportTokens.push(failed_event_publications_1.FailedEventPublications, incomplete_event_publications_1.IncompleteEventPublications, completed_event_publications_1.CompletedEventPublications, startup_recovery_1.StartupRecoveryService);
166
+ exportTokens.push(FailedEventPublications, IncompleteEventPublications, CompletedEventPublications, StartupRecoveryService);
170
167
  }
171
168
  if (isFirstRegistration) {
172
169
  // Process-wide singletons. Their factories close over this
@@ -175,17 +172,17 @@ let OutboxModule = class OutboxModule {
175
172
  // (forRoot bodies run synchronously at module-definition time).
176
173
  providers.push(...buildFacadePublisherProvider(OutboxModule_1));
177
174
  providers.push(buildProcessingBundleProvider(OutboxModule_1));
178
- providers.push(outbox_listener_scanner_1.OutboxListenerScanner);
175
+ providers.push(OutboxListenerScanner);
179
176
  providers.push(...buildMultiDsRegistrarProviders());
180
- exportTokens.push(outbox_event_publisher_1.OutboxEventPublisher);
181
- exportTokens.push(exports.OUTBOX_PROCESSING_BUNDLE);
182
- exportTokens.push(multi_ds_listener_registrar_1.MultiDsOutboxListenerRegistrar);
183
- exportTokens.push(multi_ds_listener_registrar_1.OUTBOX_LISTENER_REGISTRAR_TOKEN);
177
+ exportTokens.push(OutboxEventPublisher);
178
+ exportTokens.push(OUTBOX_PROCESSING_BUNDLE);
179
+ exportTokens.push(MultiDsOutboxListenerRegistrar);
180
+ exportTokens.push(OUTBOX_LISTENER_REGISTRAR_TOKEN);
184
181
  }
185
182
  return {
186
183
  module: OutboxModule_1,
187
184
  global: options.isGlobal ?? true,
188
- imports: [core_1.DiscoveryModule],
185
+ imports: [DiscoveryModule],
189
186
  providers,
190
187
  exports: exportTokens,
191
188
  };
@@ -222,14 +219,14 @@ let OutboxModule = class OutboxModule {
222
219
  useFactory: options.useFactory,
223
220
  inject: options.inject ? [...options.inject] : undefined,
224
221
  };
225
- const eventTypeRegistryToken = (0, token_utils_1.getEventTypeRegistryToken)(ds);
226
- const repositoryToken = (0, token_utils_1.getEventPublicationRepositoryToken)(ds);
227
- const serializerToken = (0, token_utils_1.getOutboxEventSerializerToken)(ds);
228
- const listenerRegistryToken = (0, token_utils_1.getOutboxListenerRegistryToken)(ds);
229
- const publicationRegistryToken = (0, token_utils_1.getEventPublicationRegistryToken)(ds);
230
- const externalizationRegistryToken = (0, token_utils_1.getExternalizationRegistryToken)(ds);
231
- const processorToken = (0, token_utils_1.getEventPublicationProcessorToken)(ds);
232
- const publisherToken = (0, token_utils_1.getOutboxPublisherToken)(ds);
222
+ const eventTypeRegistryToken = getEventTypeRegistryToken(ds);
223
+ const repositoryToken = getEventPublicationRepositoryToken(ds);
224
+ const serializerToken = getOutboxEventSerializerToken(ds);
225
+ const listenerRegistryToken = getOutboxListenerRegistryToken(ds);
226
+ const publicationRegistryToken = getEventPublicationRegistryToken(ds);
227
+ const externalizationRegistryToken = getExternalizationRegistryToken(ds);
228
+ const processorToken = getEventPublicationProcessorToken(ds);
229
+ const publisherToken = getOutboxPublisherToken(ds);
233
230
  const stalenessToken = perDsStalenessMonitorToken(ds);
234
231
  const recoveryToken = perDsStartupRecoveryToken(ds);
235
232
  const processorOptionsToken = perDsProcessorOptionsToken(ds);
@@ -243,30 +240,30 @@ let OutboxModule = class OutboxModule {
243
240
  asyncOptionsProvider,
244
241
  {
245
242
  provide: eventTypeRegistryToken,
246
- useFactory: () => new event_type_registry_1.EventTypeRegistry(),
243
+ useFactory: () => new EventTypeRegistry(),
247
244
  },
248
245
  options.repository
249
246
  ? reBindProvider(options.repository, repositoryToken)
250
- : { provide: repositoryToken, useClass: in_memory_repository_1.InMemoryEventPublicationRepository },
247
+ : { provide: repositoryToken, useClass: InMemoryEventPublicationRepository },
251
248
  options.serializer
252
249
  ? reBindProvider(options.serializer, serializerToken)
253
250
  : {
254
251
  provide: serializerToken,
255
- useFactory: (registry) => new json_event_serializer_1.JsonEventSerializer(registry),
252
+ useFactory: (registry) => new JsonEventSerializer(registry),
256
253
  inject: [eventTypeRegistryToken],
257
254
  },
258
255
  {
259
256
  provide: listenerRegistryToken,
260
- useFactory: () => new listener_registry_1.OutboxListenerRegistry(),
257
+ useFactory: () => new OutboxListenerRegistry(),
261
258
  },
262
259
  {
263
260
  provide: publicationRegistryToken,
264
- useFactory: (repo, serializer) => new event_publication_registry_1.EventPublicationRegistry(repo, serializer),
261
+ useFactory: (repo, serializer) => new EventPublicationRegistry(repo, serializer),
265
262
  inject: [repositoryToken, serializerToken],
266
263
  },
267
264
  {
268
265
  provide: externalizationRegistryToken,
269
- useFactory: (etr) => new externalization_registry_1.ExternalizationRegistry(etr),
266
+ useFactory: (etr) => new ExternalizationRegistry(etr),
270
267
  inject: [eventTypeRegistryToken],
271
268
  },
272
269
  {
@@ -276,12 +273,12 @@ let OutboxModule = class OutboxModule {
276
273
  },
277
274
  {
278
275
  provide: processorToken,
279
- useFactory: (registry, listeners, opts, externalizer, externalizationRegistry) => new event_publication_processor_1.EventPublicationProcessor(registry, listeners, opts, externalizer, externalizationRegistry),
276
+ useFactory: (registry, listeners, opts, externalizer, externalizationRegistry) => new EventPublicationProcessor(registry, listeners, opts, externalizer, externalizationRegistry),
280
277
  inject: [
281
278
  publicationRegistryToken,
282
279
  listenerRegistryToken,
283
280
  processorOptionsToken,
284
- { token: event_externalizer_1.EVENT_EXTERNALIZER, optional: true },
281
+ { token: EVENT_EXTERNALIZER, optional: true },
285
282
  externalizationRegistryToken,
286
283
  ],
287
284
  },
@@ -292,7 +289,7 @@ let OutboxModule = class OutboxModule {
292
289
  },
293
290
  {
294
291
  provide: stalenessToken,
295
- useFactory: (repo, cfg) => new staleness_monitor_1.StalenessMonitor(repo, cfg),
292
+ useFactory: (repo, cfg) => new StalenessMonitor(repo, cfg),
296
293
  inject: [repositoryToken, stalenessConfigToken],
297
294
  },
298
295
  {
@@ -305,7 +302,7 @@ let OutboxModule = class OutboxModule {
305
302
  useFactory: (repo, cfg) =>
306
303
  // Built on a per-DS `FailedEventPublications` rather than the
307
304
  // class-token one, which is bound to the default dataSource.
308
- new outbox_retry_scheduler_1.OutboxRetryScheduler(new failed_event_publications_1.FailedEventPublications(repo), cfg),
305
+ new OutboxRetryScheduler(new FailedEventPublications(repo), cfg),
309
306
  inject: [repositoryToken, retryConfigToken],
310
307
  },
311
308
  {
@@ -315,7 +312,7 @@ let OutboxModule = class OutboxModule {
315
312
  },
316
313
  {
317
314
  provide: cleanupToken,
318
- useFactory: (repo, cfg) => new outbox_cleanup_scheduler_1.OutboxCleanupScheduler(repo, cfg),
315
+ useFactory: (repo, cfg) => new OutboxCleanupScheduler(repo, cfg),
319
316
  inject: [repositoryToken, cleanupConfigToken],
320
317
  },
321
318
  {
@@ -325,30 +322,30 @@ let OutboxModule = class OutboxModule {
325
322
  },
326
323
  {
327
324
  provide: publisherToken,
328
- useFactory: (publicationRegistry, listenerRegistry) => new data_source_outbox_publisher_1.DataSourceOutboxPublisher(ds, publicationRegistry, listenerRegistry),
325
+ useFactory: (publicationRegistry, listenerRegistry) => new DataSourceOutboxPublisher(ds, publicationRegistry, listenerRegistry),
329
326
  inject: [publicationRegistryToken, listenerRegistryToken],
330
327
  },
331
328
  ];
332
329
  const exportTokens = [...perDataSourceExports(ds)];
333
330
  if (ds === DEFAULT_DATA_SOURCE) {
334
- providers.push({ provide: recoveryToken, useExisting: startup_recovery_1.StartupRecoveryService }, ...buildDefaultDataSourceAliases(), failed_event_publications_1.FailedEventPublications, incomplete_event_publications_1.IncompleteEventPublications, completed_event_publications_1.CompletedEventPublications, startup_recovery_1.StartupRecoveryService);
331
+ providers.push({ provide: recoveryToken, useExisting: StartupRecoveryService }, ...buildDefaultDataSourceAliases(), FailedEventPublications, IncompleteEventPublications, CompletedEventPublications, StartupRecoveryService);
335
332
  exportTokens.push(...defaultDataSourceAliasTokens());
336
- exportTokens.push(failed_event_publications_1.FailedEventPublications, incomplete_event_publications_1.IncompleteEventPublications, completed_event_publications_1.CompletedEventPublications, startup_recovery_1.StartupRecoveryService);
333
+ exportTokens.push(FailedEventPublications, IncompleteEventPublications, CompletedEventPublications, StartupRecoveryService);
337
334
  }
338
335
  if (isFirstRegistration) {
339
336
  providers.push(...buildFacadePublisherProvider(OutboxModule_1));
340
337
  providers.push(buildProcessingBundleProvider(OutboxModule_1));
341
- providers.push(outbox_listener_scanner_1.OutboxListenerScanner);
338
+ providers.push(OutboxListenerScanner);
342
339
  providers.push(...buildMultiDsRegistrarProviders());
343
- exportTokens.push(outbox_event_publisher_1.OutboxEventPublisher);
344
- exportTokens.push(exports.OUTBOX_PROCESSING_BUNDLE);
345
- exportTokens.push(multi_ds_listener_registrar_1.MultiDsOutboxListenerRegistrar);
346
- exportTokens.push(multi_ds_listener_registrar_1.OUTBOX_LISTENER_REGISTRAR_TOKEN);
340
+ exportTokens.push(OutboxEventPublisher);
341
+ exportTokens.push(OUTBOX_PROCESSING_BUNDLE);
342
+ exportTokens.push(MultiDsOutboxListenerRegistrar);
343
+ exportTokens.push(OUTBOX_LISTENER_REGISTRAR_TOKEN);
347
344
  }
348
345
  return {
349
346
  module: OutboxModule_1,
350
347
  global: options.isGlobal ?? true,
351
- imports: [core_1.DiscoveryModule, ...(options.imports ?? [])],
348
+ imports: [DiscoveryModule, ...(options.imports ?? [])],
352
349
  providers,
353
350
  exports: exportTokens,
354
351
  };
@@ -399,16 +396,16 @@ let OutboxModule = class OutboxModule {
399
396
  }
400
397
  return true;
401
398
  },
402
- inject: [(0, token_utils_1.getEventTypeRegistryToken)(dataSource)],
399
+ inject: [getEventTypeRegistryToken(dataSource)],
403
400
  },
404
401
  ],
405
402
  };
406
403
  }
407
404
  };
408
- exports.OutboxModule = OutboxModule;
409
- exports.OutboxModule = OutboxModule = OutboxModule_1 = __decorate([
410
- (0, common_1.Module)({})
405
+ OutboxModule = OutboxModule_1 = __decorate([
406
+ Module({})
411
407
  ], OutboxModule);
408
+ export { OutboxModule };
412
409
  // ---------------------------------------------------------------------------
413
410
  // Per-dataSource provider helpers
414
411
  // ---------------------------------------------------------------------------
@@ -440,14 +437,14 @@ function perDsCleanupConfigToken(ds) {
440
437
  return `${ds}OutboxCleanupConfig`;
441
438
  }
442
439
  function buildPerDataSourceProviders(ds, repository, serializer, processorOpts, stalenessCfg, recoveryOpts, retryCfg, cleanupCfg) {
443
- const eventTypeRegistryToken = (0, token_utils_1.getEventTypeRegistryToken)(ds);
444
- const repositoryToken = (0, token_utils_1.getEventPublicationRepositoryToken)(ds);
445
- const serializerToken = (0, token_utils_1.getOutboxEventSerializerToken)(ds);
446
- const listenerRegistryToken = (0, token_utils_1.getOutboxListenerRegistryToken)(ds);
447
- const publicationRegistryToken = (0, token_utils_1.getEventPublicationRegistryToken)(ds);
448
- const externalizationRegistryToken = (0, token_utils_1.getExternalizationRegistryToken)(ds);
449
- const processorToken = (0, token_utils_1.getEventPublicationProcessorToken)(ds);
450
- const publisherToken = (0, token_utils_1.getOutboxPublisherToken)(ds);
440
+ const eventTypeRegistryToken = getEventTypeRegistryToken(ds);
441
+ const repositoryToken = getEventPublicationRepositoryToken(ds);
442
+ const serializerToken = getOutboxEventSerializerToken(ds);
443
+ const listenerRegistryToken = getOutboxListenerRegistryToken(ds);
444
+ const publicationRegistryToken = getEventPublicationRegistryToken(ds);
445
+ const externalizationRegistryToken = getExternalizationRegistryToken(ds);
446
+ const processorToken = getEventPublicationProcessorToken(ds);
447
+ const publisherToken = getOutboxPublisherToken(ds);
451
448
  const stalenessToken = perDsStalenessMonitorToken(ds);
452
449
  const recoveryToken = perDsStartupRecoveryToken(ds);
453
450
  const processorOptionsToken = perDsProcessorOptionsToken(ds);
@@ -460,48 +457,48 @@ function buildPerDataSourceProviders(ds, repository, serializer, processorOpts,
460
457
  return [
461
458
  {
462
459
  provide: eventTypeRegistryToken,
463
- useFactory: () => new event_type_registry_1.EventTypeRegistry(),
460
+ useFactory: () => new EventTypeRegistry(),
464
461
  },
465
462
  repository
466
463
  ? reBindProvider(repository, repositoryToken)
467
- : { provide: repositoryToken, useClass: in_memory_repository_1.InMemoryEventPublicationRepository },
464
+ : { provide: repositoryToken, useClass: InMemoryEventPublicationRepository },
468
465
  serializer
469
466
  ? reBindProvider(serializer, serializerToken)
470
467
  : {
471
468
  provide: serializerToken,
472
- useFactory: (registry) => new json_event_serializer_1.JsonEventSerializer(registry),
469
+ useFactory: (registry) => new JsonEventSerializer(registry),
473
470
  inject: [eventTypeRegistryToken],
474
471
  },
475
472
  {
476
473
  provide: listenerRegistryToken,
477
- useFactory: () => new listener_registry_1.OutboxListenerRegistry(),
474
+ useFactory: () => new OutboxListenerRegistry(),
478
475
  },
479
476
  {
480
477
  provide: publicationRegistryToken,
481
- useFactory: (repo, s) => new event_publication_registry_1.EventPublicationRegistry(repo, s),
478
+ useFactory: (repo, s) => new EventPublicationRegistry(repo, s),
482
479
  inject: [repositoryToken, serializerToken],
483
480
  },
484
481
  {
485
482
  provide: externalizationRegistryToken,
486
- useFactory: (etr) => new externalization_registry_1.ExternalizationRegistry(etr),
483
+ useFactory: (etr) => new ExternalizationRegistry(etr),
487
484
  inject: [eventTypeRegistryToken],
488
485
  },
489
486
  { provide: processorOptionsToken, useValue: processorOpts },
490
487
  {
491
488
  provide: processorToken,
492
- useFactory: (registry, listeners, opts, externalizer, externalizationRegistry) => new event_publication_processor_1.EventPublicationProcessor(registry, listeners, opts, externalizer, externalizationRegistry),
489
+ useFactory: (registry, listeners, opts, externalizer, externalizationRegistry) => new EventPublicationProcessor(registry, listeners, opts, externalizer, externalizationRegistry),
493
490
  inject: [
494
491
  publicationRegistryToken,
495
492
  listenerRegistryToken,
496
493
  processorOptionsToken,
497
- { token: event_externalizer_1.EVENT_EXTERNALIZER, optional: true },
494
+ { token: EVENT_EXTERNALIZER, optional: true },
498
495
  externalizationRegistryToken,
499
496
  ],
500
497
  },
501
498
  { provide: stalenessConfigToken, useValue: stalenessCfg },
502
499
  {
503
500
  provide: stalenessToken,
504
- useFactory: (repo, cfg) => new staleness_monitor_1.StalenessMonitor(repo, cfg),
501
+ useFactory: (repo, cfg) => new StalenessMonitor(repo, cfg),
505
502
  inject: [repositoryToken, stalenessConfigToken],
506
503
  },
507
504
  { provide: retryConfigToken, useValue: retryCfg },
@@ -510,13 +507,13 @@ function buildPerDataSourceProviders(ds, repository, serializer, processorOpts,
510
507
  useFactory: (repo, cfg) =>
511
508
  // Built on a per-DS `FailedEventPublications` rather than the
512
509
  // class-token one, which is bound to the default dataSource.
513
- new outbox_retry_scheduler_1.OutboxRetryScheduler(new failed_event_publications_1.FailedEventPublications(repo), cfg),
510
+ new OutboxRetryScheduler(new FailedEventPublications(repo), cfg),
514
511
  inject: [repositoryToken, retryConfigToken],
515
512
  },
516
513
  { provide: cleanupConfigToken, useValue: cleanupCfg },
517
514
  {
518
515
  provide: cleanupToken,
519
- useFactory: (repo, cfg) => new outbox_cleanup_scheduler_1.OutboxCleanupScheduler(repo, cfg),
516
+ useFactory: (repo, cfg) => new OutboxCleanupScheduler(repo, cfg),
520
517
  inject: [repositoryToken, cleanupConfigToken],
521
518
  },
522
519
  { provide: recoveryOptionsToken, useValue: recoveryOpts },
@@ -528,24 +525,24 @@ function buildPerDataSourceProviders(ds, repository, serializer, processorOpts,
528
525
  // need a per-DS StartupRecoveryService class; deferred to a later
529
526
  // phase when multi-DS recovery is exercised. Today's behaviour:
530
527
  // recovery runs on the default-DS only.
531
- { provide: recoveryToken, useExisting: startup_recovery_1.StartupRecoveryService },
528
+ { provide: recoveryToken, useExisting: StartupRecoveryService },
532
529
  {
533
530
  provide: publisherToken,
534
- useFactory: (publicationRegistry, listenerRegistry) => new data_source_outbox_publisher_1.DataSourceOutboxPublisher(ds, publicationRegistry, listenerRegistry),
531
+ useFactory: (publicationRegistry, listenerRegistry) => new DataSourceOutboxPublisher(ds, publicationRegistry, listenerRegistry),
535
532
  inject: [publicationRegistryToken, listenerRegistryToken],
536
533
  },
537
534
  ];
538
535
  }
539
536
  function perDataSourceExports(ds) {
540
537
  return [
541
- (0, token_utils_1.getEventTypeRegistryToken)(ds),
542
- (0, token_utils_1.getEventPublicationRepositoryToken)(ds),
543
- (0, token_utils_1.getOutboxEventSerializerToken)(ds),
544
- (0, token_utils_1.getOutboxListenerRegistryToken)(ds),
545
- (0, token_utils_1.getEventPublicationRegistryToken)(ds),
546
- (0, token_utils_1.getExternalizationRegistryToken)(ds),
547
- (0, token_utils_1.getEventPublicationProcessorToken)(ds),
548
- (0, token_utils_1.getOutboxPublisherToken)(ds),
538
+ getEventTypeRegistryToken(ds),
539
+ getEventPublicationRepositoryToken(ds),
540
+ getOutboxEventSerializerToken(ds),
541
+ getOutboxListenerRegistryToken(ds),
542
+ getEventPublicationRegistryToken(ds),
543
+ getExternalizationRegistryToken(ds),
544
+ getEventPublicationProcessorToken(ds),
545
+ getOutboxPublisherToken(ds),
549
546
  ];
550
547
  }
551
548
  /**
@@ -559,39 +556,39 @@ function perDataSourceExports(ds) {
559
556
  function buildDefaultDataSourceAliases() {
560
557
  const ds = DEFAULT_DATA_SOURCE;
561
558
  return [
562
- { provide: event_type_registry_1.EVENT_TYPE_REGISTRY, useExisting: (0, token_utils_1.getEventTypeRegistryToken)(ds) },
563
- { provide: event_type_registry_1.EventTypeRegistry, useExisting: (0, token_utils_1.getEventTypeRegistryToken)(ds) },
564
- { provide: event_serializer_1.EVENT_SERIALIZER, useExisting: (0, token_utils_1.getOutboxEventSerializerToken)(ds) },
565
- { provide: event_publication_repository_1.EVENT_PUBLICATION_REPOSITORY, useExisting: (0, token_utils_1.getEventPublicationRepositoryToken)(ds) },
566
- { provide: listener_registry_1.OutboxListenerRegistry, useExisting: (0, token_utils_1.getOutboxListenerRegistryToken)(ds) },
567
- { provide: event_publication_registry_1.EventPublicationRegistry, useExisting: (0, token_utils_1.getEventPublicationRegistryToken)(ds) },
568
- { provide: externalization_registry_1.ExternalizationRegistry, useExisting: (0, token_utils_1.getExternalizationRegistryToken)(ds) },
569
- { provide: event_publication_processor_1.EventPublicationProcessor, useExisting: (0, token_utils_1.getEventPublicationProcessorToken)(ds) },
570
- { provide: staleness_monitor_1.StalenessMonitor, useExisting: perDsStalenessMonitorToken(ds) },
571
- { provide: outbox_retry_scheduler_1.OutboxRetryScheduler, useExisting: perDsRetrySchedulerToken(ds) },
572
- { provide: outbox_cleanup_scheduler_1.OutboxCleanupScheduler, useExisting: perDsCleanupSchedulerToken(ds) },
573
- { provide: exports.OUTBOX_PROCESSOR_OPTIONS, useExisting: perDsProcessorOptionsToken(ds) },
574
- { provide: exports.OUTBOX_STALENESS_CONFIG, useExisting: perDsStalenessConfigToken(ds) },
575
- { provide: exports.OUTBOX_RETRY_CONFIG, useExisting: perDsRetryConfigToken(ds) },
576
- { provide: startup_recovery_1.OUTBOX_RECOVERY_OPTIONS, useExisting: perDsRecoveryOptionsToken(ds) },
559
+ { provide: EVENT_TYPE_REGISTRY, useExisting: getEventTypeRegistryToken(ds) },
560
+ { provide: EventTypeRegistry, useExisting: getEventTypeRegistryToken(ds) },
561
+ { provide: EVENT_SERIALIZER, useExisting: getOutboxEventSerializerToken(ds) },
562
+ { provide: EVENT_PUBLICATION_REPOSITORY, useExisting: getEventPublicationRepositoryToken(ds) },
563
+ { provide: OutboxListenerRegistry, useExisting: getOutboxListenerRegistryToken(ds) },
564
+ { provide: EventPublicationRegistry, useExisting: getEventPublicationRegistryToken(ds) },
565
+ { provide: ExternalizationRegistry, useExisting: getExternalizationRegistryToken(ds) },
566
+ { provide: EventPublicationProcessor, useExisting: getEventPublicationProcessorToken(ds) },
567
+ { provide: StalenessMonitor, useExisting: perDsStalenessMonitorToken(ds) },
568
+ { provide: OutboxRetryScheduler, useExisting: perDsRetrySchedulerToken(ds) },
569
+ { provide: OutboxCleanupScheduler, useExisting: perDsCleanupSchedulerToken(ds) },
570
+ { provide: OUTBOX_PROCESSOR_OPTIONS, useExisting: perDsProcessorOptionsToken(ds) },
571
+ { provide: OUTBOX_STALENESS_CONFIG, useExisting: perDsStalenessConfigToken(ds) },
572
+ { provide: OUTBOX_RETRY_CONFIG, useExisting: perDsRetryConfigToken(ds) },
573
+ { provide: OUTBOX_RECOVERY_OPTIONS, useExisting: perDsRecoveryOptionsToken(ds) },
577
574
  ];
578
575
  }
579
576
  function defaultDataSourceAliasTokens() {
580
577
  return [
581
- event_type_registry_1.EVENT_TYPE_REGISTRY,
582
- event_type_registry_1.EventTypeRegistry,
583
- event_serializer_1.EVENT_SERIALIZER,
584
- event_publication_repository_1.EVENT_PUBLICATION_REPOSITORY,
585
- listener_registry_1.OutboxListenerRegistry,
586
- event_publication_registry_1.EventPublicationRegistry,
587
- externalization_registry_1.ExternalizationRegistry,
588
- event_publication_processor_1.EventPublicationProcessor,
589
- staleness_monitor_1.StalenessMonitor,
590
- outbox_retry_scheduler_1.OutboxRetryScheduler,
591
- exports.OUTBOX_PROCESSOR_OPTIONS,
592
- exports.OUTBOX_STALENESS_CONFIG,
593
- exports.OUTBOX_RETRY_CONFIG,
594
- startup_recovery_1.OUTBOX_RECOVERY_OPTIONS,
578
+ EVENT_TYPE_REGISTRY,
579
+ EventTypeRegistry,
580
+ EVENT_SERIALIZER,
581
+ EVENT_PUBLICATION_REPOSITORY,
582
+ OutboxListenerRegistry,
583
+ EventPublicationRegistry,
584
+ ExternalizationRegistry,
585
+ EventPublicationProcessor,
586
+ StalenessMonitor,
587
+ OutboxRetryScheduler,
588
+ OUTBOX_PROCESSOR_OPTIONS,
589
+ OUTBOX_STALENESS_CONFIG,
590
+ OUTBOX_RETRY_CONFIG,
591
+ OUTBOX_RECOVERY_OPTIONS,
595
592
  ];
596
593
  }
597
594
  /**
@@ -605,9 +602,9 @@ function defaultDataSourceAliasTokens() {
605
602
  */
606
603
  function buildFacadePublisherProvider(moduleClass) {
607
604
  return [
608
- outbox_event_publisher_1.OutboxEventPublisher,
605
+ OutboxEventPublisher,
609
606
  {
610
- provide: outbox_event_publisher_1.OUTBOX_DATA_SOURCE_NAMES,
607
+ provide: OUTBOX_DATA_SOURCE_NAMES,
611
608
  useValue: privateRegistrations(moduleClass),
612
609
  },
613
610
  ];
@@ -629,10 +626,10 @@ function buildFacadePublisherProvider(moduleClass) {
629
626
  */
630
627
  function buildMultiDsRegistrarProviders() {
631
628
  return [
632
- multi_ds_listener_registrar_1.MultiDsOutboxListenerRegistrar,
629
+ MultiDsOutboxListenerRegistrar,
633
630
  {
634
- provide: multi_ds_listener_registrar_1.OUTBOX_LISTENER_REGISTRAR_TOKEN,
635
- useExisting: multi_ds_listener_registrar_1.MultiDsOutboxListenerRegistrar,
631
+ provide: OUTBOX_LISTENER_REGISTRAR_TOKEN,
632
+ useExisting: MultiDsOutboxListenerRegistrar,
636
633
  },
637
634
  ];
638
635
  }
@@ -645,7 +642,7 @@ function buildMultiDsRegistrarProviders() {
645
642
  */
646
643
  function buildProcessingBundleProvider(moduleClass) {
647
644
  return {
648
- provide: exports.OUTBOX_PROCESSING_BUNDLE,
645
+ provide: OUTBOX_PROCESSING_BUNDLE,
649
646
  useFactory: (moduleRef) => {
650
647
  const dsNames = Array.from(privateRegistrations(moduleClass).keys());
651
648
  // Resolve lazily by capturing dsNames + moduleRef in closure. The
@@ -655,7 +652,7 @@ function buildProcessingBundleProvider(moduleClass) {
655
652
  const get = (token) => moduleRef.get(token, { strict: false });
656
653
  return {
657
654
  get processors() {
658
- return dsNames.map((ds) => get((0, token_utils_1.getEventPublicationProcessorToken)(ds)));
655
+ return dsNames.map((ds) => get(getEventPublicationProcessorToken(ds)));
659
656
  },
660
657
  get monitors() {
661
658
  return dsNames.map((ds) => get(perDsStalenessMonitorToken(ds)));
@@ -671,7 +668,7 @@ function buildProcessingBundleProvider(moduleClass) {
671
668
  },
672
669
  };
673
670
  },
674
- inject: [core_1.ModuleRef],
671
+ inject: [ModuleRef],
675
672
  };
676
673
  }
677
674
  /**
@@ -691,5 +688,5 @@ function privateRegistrations(moduleClass) {
691
688
  // no longer used directly in this file (the per-DS
692
689
  // publisher pushes hooks directly onto the active-transaction object,
693
690
  // bypassing manager.registerBeforeCommit's single-tx assumption).
694
- const _txManagerRef = core_2.TransactionManager;
691
+ const _txManagerRef = TransactionManager;
695
692
  //# sourceMappingURL=outbox.module.js.map