@nestjs-transactional/outbox 1.0.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 (125) hide show
  1. package/README.md +38 -5
  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.d.ts +20 -0
  27. package/dist/externalization/describe-thrown.js +46 -0
  28. package/dist/externalization/describe-thrown.js.map +1 -0
  29. package/dist/externalization/errors.d.ts +1 -1
  30. package/dist/externalization/errors.js +2 -6
  31. package/dist/externalization/errors.js.map +1 -1
  32. package/dist/externalization/event-externalizer.d.ts +1 -1
  33. package/dist/externalization/event-externalizer.js +1 -4
  34. package/dist/externalization/event-externalizer.js.map +1 -1
  35. package/dist/externalization/externalization-registry.d.ts +3 -3
  36. package/dist/externalization/externalization-registry.js +10 -13
  37. package/dist/externalization/externalization-registry.js.map +1 -1
  38. package/dist/externalization/externalized.decorator.js +6 -11
  39. package/dist/externalization/externalized.decorator.js.map +1 -1
  40. package/dist/externalization/types.js +1 -2
  41. package/dist/index.d.ts +43 -40
  42. package/dist/index.js +41 -61
  43. package/dist/index.js.map +1 -1
  44. package/dist/interfaces/outbox-event-handler.interface.js +1 -2
  45. package/dist/module/outbox-processing.module.d.ts +1 -1
  46. package/dist/module/outbox-processing.module.js +12 -9
  47. package/dist/module/outbox-processing.module.js.map +1 -1
  48. package/dist/module/outbox.module.d.ts +15 -8
  49. package/dist/module/outbox.module.js +179 -145
  50. package/dist/module/outbox.module.js.map +1 -1
  51. package/dist/recovery/outbox-cleanup-scheduler.d.ts +56 -0
  52. package/dist/recovery/outbox-cleanup-scheduler.js +136 -0
  53. package/dist/recovery/outbox-cleanup-scheduler.js.map +1 -0
  54. package/dist/recovery/outbox-retry-scheduler.d.ts +2 -2
  55. package/dist/recovery/outbox-retry-scheduler.js +11 -14
  56. package/dist/recovery/outbox-retry-scheduler.js.map +1 -1
  57. package/dist/recovery/staleness-monitor.d.ts +2 -2
  58. package/dist/recovery/staleness-monitor.js +14 -17
  59. package/dist/recovery/staleness-monitor.js.map +1 -1
  60. package/dist/recovery/startup-recovery.d.ts +1 -1
  61. package/dist/recovery/startup-recovery.js +11 -14
  62. package/dist/recovery/startup-recovery.js.map +1 -1
  63. package/dist/registry/event-publication-registry.d.ts +4 -4
  64. package/dist/registry/event-publication-registry.js +17 -20
  65. package/dist/registry/event-publication-registry.js.map +1 -1
  66. package/dist/registry/listener-registry.js +6 -9
  67. package/dist/registry/listener-registry.js.map +1 -1
  68. package/dist/registry/multi-ds-listener-registrar.d.ts +1 -1
  69. package/dist/registry/multi-ds-listener-registrar.js +15 -18
  70. package/dist/registry/multi-ds-listener-registrar.js.map +1 -1
  71. package/dist/registry/outbox-listener-scanner.d.ts +1 -1
  72. package/dist/registry/outbox-listener-scanner.js +23 -27
  73. package/dist/registry/outbox-listener-scanner.js.map +1 -1
  74. package/dist/repository/event-publication-repository.d.ts +14 -3
  75. package/dist/repository/event-publication-repository.js +1 -4
  76. package/dist/repository/event-publication-repository.js.map +1 -1
  77. package/dist/serialization/event-serializer.js +1 -4
  78. package/dist/serialization/event-serializer.js.map +1 -1
  79. package/dist/serialization/event-type-registry.js +5 -8
  80. package/dist/serialization/event-type-registry.js.map +1 -1
  81. package/dist/serialization/event-type-resolver.d.ts +1 -1
  82. package/dist/serialization/event-type-resolver.js +4 -7
  83. package/dist/serialization/event-type-resolver.js.map +1 -1
  84. package/dist/serialization/json-event-serializer.d.ts +2 -2
  85. package/dist/serialization/json-event-serializer.js +10 -13
  86. package/dist/serialization/json-event-serializer.js.map +1 -1
  87. package/dist/shutdown/drain.js +2 -6
  88. package/dist/shutdown/drain.js.map +1 -1
  89. package/dist/testing/assertable-published-events.d.ts +1 -1
  90. package/dist/testing/assertable-published-events.js +8 -13
  91. package/dist/testing/assertable-published-events.js.map +1 -1
  92. package/dist/testing/in-memory-repository.d.ts +3 -3
  93. package/dist/testing/in-memory-repository.js +32 -25
  94. package/dist/testing/in-memory-repository.js.map +1 -1
  95. package/dist/testing/index.d.ts +3 -3
  96. package/dist/testing/index.js +3 -19
  97. package/dist/testing/index.js.map +1 -1
  98. package/dist/testing/published-events.d.ts +3 -3
  99. package/dist/testing/published-events.js +11 -14
  100. package/dist/testing/published-events.js.map +1 -1
  101. package/dist/tokens/index.d.ts +1 -1
  102. package/dist/tokens/index.js +1 -13
  103. package/dist/tokens/index.js.map +1 -1
  104. package/dist/tokens/token-utils.js +10 -21
  105. package/dist/tokens/token-utils.js.map +1 -1
  106. package/dist/types/cleanup-config.d.ts +59 -0
  107. package/dist/types/cleanup-config.js +14 -0
  108. package/dist/types/cleanup-config.js.map +1 -0
  109. package/dist/types/completion-mode.js +2 -5
  110. package/dist/types/completion-mode.js.map +1 -1
  111. package/dist/types/errors.d.ts +1 -1
  112. package/dist/types/errors.js +7 -16
  113. package/dist/types/errors.js.map +1 -1
  114. package/dist/types/event-publication.d.ts +1 -1
  115. package/dist/types/event-publication.js +1 -2
  116. package/dist/types/publication-status.js +2 -5
  117. package/dist/types/publication-status.js.map +1 -1
  118. package/dist/types/resubmission-options.d.ts +1 -1
  119. package/dist/types/resubmission-options.js +1 -5
  120. package/dist/types/resubmission-options.js.map +1 -1
  121. package/dist/types/retry-config.js +3 -6
  122. package/dist/types/retry-config.js.map +1 -1
  123. package/dist/types/staleness-config.js +3 -6
  124. package/dist/types/staleness-config.js.map +1 -1
  125. package/package.json +21 -19
@@ -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);
@@ -8,11 +7,9 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
7
  var __metadata = (this && this.__metadata) || function (k, v) {
9
8
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
9
  };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.JsonEventSerializer = void 0;
13
- const common_1 = require("@nestjs/common");
14
- const errors_1 = require("../types/errors");
15
- const event_type_registry_1 = require("./event-type-registry");
10
+ import { Injectable } from '@nestjs/common';
11
+ import { DeserializationError, SerializationError } from '../types/errors.js';
12
+ import { EventTypeRegistry } from './event-type-registry.js';
16
13
  /**
17
14
  * Default JSON-based {@link EventSerializer}. Uses `JSON.stringify` for
18
15
  * encoding and `JSON.parse` + `Object.create` for decoding, consulting
@@ -31,13 +28,13 @@ let JsonEventSerializer = class JsonEventSerializer {
31
28
  }
32
29
  serialize(event) {
33
30
  if (!event || typeof event !== 'object') {
34
- throw new errors_1.SerializationError(`Cannot serialize non-object: ${typeof event}`);
31
+ throw new SerializationError(`Cannot serialize non-object: ${typeof event}`);
35
32
  }
36
33
  try {
37
34
  return JSON.stringify(event);
38
35
  }
39
36
  catch (err) {
40
- throw new errors_1.SerializationError(`Failed to serialize event: ${err.message}`);
37
+ throw new SerializationError(`Failed to serialize event: ${err.message}`);
41
38
  }
42
39
  }
43
40
  deserialize(serialized, eventType) {
@@ -47,7 +44,7 @@ let JsonEventSerializer = class JsonEventSerializer {
47
44
  data = JSON.parse(serialized);
48
45
  }
49
46
  catch (err) {
50
- throw new errors_1.DeserializationError(`Failed to deserialize event '${eventType}': ${err.message}`);
47
+ throw new DeserializationError(`Failed to deserialize event '${eventType}': ${err.message}`);
51
48
  }
52
49
  if (!EventClass) {
53
50
  return data;
@@ -56,9 +53,9 @@ let JsonEventSerializer = class JsonEventSerializer {
56
53
  return Object.assign(Object.create(prototype), data);
57
54
  }
58
55
  };
59
- exports.JsonEventSerializer = JsonEventSerializer;
60
- exports.JsonEventSerializer = JsonEventSerializer = __decorate([
61
- (0, common_1.Injectable)(),
62
- __metadata("design:paramtypes", [event_type_registry_1.EventTypeRegistry])
56
+ JsonEventSerializer = __decorate([
57
+ Injectable(),
58
+ __metadata("design:paramtypes", [EventTypeRegistry])
63
59
  ], JsonEventSerializer);
60
+ export { JsonEventSerializer };
64
61
  //# sourceMappingURL=json-event-serializer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"json-event-serializer.js","sourceRoot":"","sources":["../../src/serialization/json-event-serializer.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAE5C,4CAA2E;AAG3E,+DAA0D;AAE1D;;;;;;;;;;GAUG;AAEI,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IACD;IAA7B,YAA6B,QAA2B;QAA3B,aAAQ,GAAR,QAAQ,CAAmB;IAAG,CAAC;IAE5D,SAAS,CAAC,KAAc;QACtB,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACxC,MAAM,IAAI,2BAAkB,CAAC,gCAAgC,OAAO,KAAK,EAAE,CAAC,CAAC;QAC/E,CAAC;QACD,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,2BAAkB,CAAC,8BAA+B,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QACvF,CAAC;IACH,CAAC;IAED,WAAW,CAAC,UAAkB,EAAE,SAAiB;QAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAEhD,IAAI,IAAa,CAAC;QAClB,IAAI,CAAC;YACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAChC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,6BAAoB,CAC5B,gCAAgC,SAAS,MAAO,GAAa,CAAC,OAAO,EAAE,CACxE,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,SAAS,GAAW,UAAU,CAAC,SAAmB,CAAC;QACzD,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAW,EAAE,IAAI,CAAC,CAAC;IACjE,CAAC;CACF,CAAA;AAjCY,kDAAmB;8BAAnB,mBAAmB;IAD/B,IAAA,mBAAU,GAAE;qCAE4B,uCAAiB;GAD7C,mBAAmB,CAiC/B"}
1
+ {"version":3,"file":"json-event-serializer.js","sourceRoot":"","sources":["../../src/serialization/json-event-serializer.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAG9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D;;;;;;;;;;GAUG;AAEI,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IACD;IAA7B,YAA6B,QAA2B;QAA3B,aAAQ,GAAR,QAAQ,CAAmB;IAAG,CAAC;IAE5D,SAAS,CAAC,KAAc;QACtB,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACxC,MAAM,IAAI,kBAAkB,CAAC,gCAAgC,OAAO,KAAK,EAAE,CAAC,CAAC;QAC/E,CAAC;QACD,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,kBAAkB,CAAC,8BAA+B,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QACvF,CAAC;IACH,CAAC;IAED,WAAW,CAAC,UAAkB,EAAE,SAAiB;QAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAEhD,IAAI,IAAa,CAAC;QAClB,IAAI,CAAC;YACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAChC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,oBAAoB,CAC5B,gCAAgC,SAAS,MAAO,GAAa,CAAC,OAAO,EAAE,CACxE,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,SAAS,GAAW,UAAU,CAAC,SAAmB,CAAC;QACzD,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAW,EAAE,IAAI,CAAC,CAAC;IACjE,CAAC;CACF,CAAA;AAjCY,mBAAmB;IAD/B,UAAU,EAAE;qCAE4B,iBAAiB;GAD7C,mBAAmB,CAiC/B"}
@@ -1,7 +1,3 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DEFAULT_DRAIN_TIMEOUT_MS = void 0;
4
- exports.drainWithTimeout = drainWithTimeout;
5
1
  /**
6
2
  * Default drain budget for the outbox background workers, in
7
3
  * milliseconds.
@@ -12,7 +8,7 @@ exports.drainWithTimeout = drainWithTimeout;
12
8
  * connection pool, flushing logs) needs room after the drain. 10s
13
9
  * leaves that margin.
14
10
  */
15
- exports.DEFAULT_DRAIN_TIMEOUT_MS = 10_000;
11
+ export const DEFAULT_DRAIN_TIMEOUT_MS = 10_000;
16
12
  /**
17
13
  * Await `inFlight`, giving up after `timeoutMs`.
18
14
  *
@@ -32,7 +28,7 @@ exports.DEFAULT_DRAIN_TIMEOUT_MS = 10_000;
32
28
  * `checkStaleness` already swallow their own failures, and a drain that
33
29
  * threw would turn an orderly shutdown into an unhandled rejection.
34
30
  */
35
- async function drainWithTimeout(inFlight, timeoutMs) {
31
+ export async function drainWithTimeout(inFlight, timeoutMs) {
36
32
  if (timeoutMs <= 0) {
37
33
  return false;
38
34
  }
@@ -1 +1 @@
1
- {"version":3,"file":"drain.js","sourceRoot":"","sources":["../../src/shutdown/drain.ts"],"names":[],"mappings":";;;AA+BA,4CAwBC;AAvDD;;;;;;;;;GASG;AACU,QAAA,wBAAwB,GAAG,MAAM,CAAC;AAE/C;;;;;;;;;;;;;;;;;;GAkBG;AACI,KAAK,UAAU,gBAAgB,CACpC,QAA0B,EAC1B,SAAiB;IAEjB,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;QACnB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,KAAiC,CAAC;IACtC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAQ,CAAC,OAAO,EAAE,EAAE;QAC7C,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,CAAC;QACpD,kEAAkE;QAClE,iEAAiE;QACjE,QAAQ;QACR,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC;QACH,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;IAClE,CAAC;YAAS,CAAC;QACT,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"drain.js","sourceRoot":"","sources":["../../src/shutdown/drain.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,MAAM,CAAC;AAE/C;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,QAA0B,EAC1B,SAAiB;IAEjB,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;QACnB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,KAAiC,CAAC;IACtC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAQ,CAAC,OAAO,EAAE,EAAE;QAC7C,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,CAAC;QACpD,kEAAkE;QAClE,iEAAiE;QACjE,QAAQ;QACR,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC;QACH,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;IAClE,CAAC;YAAS,CAAC;QACT,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { type Type } from '@nestjs/common';
2
- import { PublishedEvents, type PublishedEventsView } from './published-events';
2
+ import { PublishedEvents, type PublishedEventsView } from './published-events.js';
3
3
  /**
4
4
  * Thrown when an assertion made against the published-events view does
5
5
  * not hold. A separate class (instead of a plain `Error`) so tests can
@@ -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);
@@ -8,23 +7,20 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
7
  var __metadata = (this && this.__metadata) || function (k, v) {
9
8
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
9
  };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.AssertionView = exports.AssertablePublishedEvents = exports.PublishedEventsAssertionError = void 0;
13
- const common_1 = require("@nestjs/common");
14
- const published_events_1 = require("./published-events");
10
+ import { Injectable } from '@nestjs/common';
11
+ import { PublishedEvents } from './published-events.js';
15
12
  /**
16
13
  * Thrown when an assertion made against the published-events view does
17
14
  * not hold. A separate class (instead of a plain `Error`) so tests can
18
15
  * pattern-match with `rejects.toBeInstanceOf(PublishedEventsAssertionError)`
19
16
  * when they want to assert on failure modes.
20
17
  */
21
- class PublishedEventsAssertionError extends Error {
18
+ export class PublishedEventsAssertionError extends Error {
22
19
  constructor(message) {
23
20
  super(message);
24
21
  this.name = 'PublishedEventsAssertionError';
25
22
  }
26
23
  }
27
- exports.PublishedEventsAssertionError = PublishedEventsAssertionError;
28
24
  /**
29
25
  * Jest-friendly fluent assertions over {@link PublishedEvents}. Inspired
30
26
  * by Spring Modulith's `AssertablePublishedEvents`. Designed to read
@@ -71,17 +67,17 @@ let AssertablePublishedEvents = class AssertablePublishedEvents {
71
67
  }
72
68
  }
73
69
  };
74
- exports.AssertablePublishedEvents = AssertablePublishedEvents;
75
- exports.AssertablePublishedEvents = AssertablePublishedEvents = __decorate([
76
- (0, common_1.Injectable)(),
77
- __metadata("design:paramtypes", [published_events_1.PublishedEvents])
70
+ AssertablePublishedEvents = __decorate([
71
+ Injectable(),
72
+ __metadata("design:paramtypes", [PublishedEvents])
78
73
  ], AssertablePublishedEvents);
74
+ export { AssertablePublishedEvents };
79
75
  /**
80
76
  * Materialised, filtered view returned by
81
77
  * {@link AssertablePublishedEvents.contains}. Further filtering /
82
78
  * sizing runs in memory — no additional repository reads.
83
79
  */
84
- class AssertionView {
80
+ export class AssertionView {
85
81
  view;
86
82
  events;
87
83
  eventType;
@@ -120,5 +116,4 @@ class AssertionView {
120
116
  return [...this.events];
121
117
  }
122
118
  }
123
- exports.AssertionView = AssertionView;
124
119
  //# sourceMappingURL=assertable-published-events.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"assertable-published-events.js","sourceRoot":"","sources":["../../src/testing/assertable-published-events.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAuD;AAEvD,yDAA+E;AAE/E;;;;;GAKG;AACH,MAAa,6BAA8B,SAAQ,KAAK;IACtD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,+BAA+B,CAAC;IAC9C,CAAC;CACF;AALD,sEAKC;AAED;;;;;;;;;;;;GAYG;AAEI,IAAM,yBAAyB,GAA/B,MAAM,yBAAyB;IACP;IAA7B,YAA6B,MAAuB;QAAvB,WAAM,GAAN,MAAM,CAAiB;IAAG,CAAC;IAExD;;;;;;OAMG;IACH,KAAK,CAAC,QAAQ,CAAmB,SAAkB;QACjD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;QAChC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,6BAA6B,CACrC,uCAAuC,SAAS,CAAC,IAAI,kBAAkB,CACxE,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,aAAa,CAAI,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IACvD,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,cAAc,CAAmB,SAAkB;QACvD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,CAAC;QACzD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,6BAA6B,CACrC,8BAA8B,SAAS,CAAC,IAAI,eAAe,MAAM,CAAC,MAAM,EAAE,CAC3E,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAA;AAnCY,8DAAyB;oCAAzB,yBAAyB;IADrC,IAAA,mBAAU,GAAE;qCAE0B,kCAAe;GADzC,yBAAyB,CAmCrC;AAED;;;;GAIG;AACH,MAAa,aAAa;IAEL;IACA;IACA;IAHnB,YACmB,IAA4B,EAC5B,MAAoB,EACpB,SAAkB;QAFlB,SAAI,GAAJ,IAAI,CAAwB;QAC5B,WAAM,GAAN,MAAM,CAAc;QACpB,cAAS,GAAT,SAAS,CAAS;IAClC,CAAC;IAEJ;;;;;;OAMG;IACH,QAAQ,CAAI,MAAuB,EAAE,QAAW;QAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,QAAQ,CAAC,CAAC;QAC3E,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,6BAA6B,CACrC,uCAAuC,IAAI,CAAC,SAAS,CAAC,IAAI,yCAAyC,CACpG,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,aAAa,CAAI,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACnE,CAAC;IAED;;;;OAIG;IACH,OAAO,CAAC,QAAgB;QACtB,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YACpC,MAAM,IAAI,6BAA6B,CACrC,YAAY,QAAQ,mBAAmB,IAAI,CAAC,SAAS,CAAC,IAAI,eAAe,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAC9F,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,kFAAkF;IAClF,OAAO;QACL,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;CACF;AA1CD,sCA0CC"}
1
+ {"version":3,"file":"assertable-published-events.js","sourceRoot":"","sources":["../../src/testing/assertable-published-events.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAa,MAAM,gBAAgB,CAAC;AAEvD,OAAO,EAAE,eAAe,EAA4B,MAAM,uBAAuB,CAAC;AAElF;;;;;GAKG;AACH,MAAM,OAAO,6BAA8B,SAAQ,KAAK;IACtD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,+BAA+B,CAAC;IAC9C,CAAC;CACF;AAED;;;;;;;;;;;;GAYG;AAEI,IAAM,yBAAyB,GAA/B,MAAM,yBAAyB;IACP;IAA7B,YAA6B,MAAuB;QAAvB,WAAM,GAAN,MAAM,CAAiB;IAAG,CAAC;IAExD;;;;;;OAMG;IACH,KAAK,CAAC,QAAQ,CAAmB,SAAkB;QACjD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;QAChC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,6BAA6B,CACrC,uCAAuC,SAAS,CAAC,IAAI,kBAAkB,CACxE,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,aAAa,CAAI,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IACvD,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,cAAc,CAAmB,SAAkB;QACvD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,CAAC;QACzD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,6BAA6B,CACrC,8BAA8B,SAAS,CAAC,IAAI,eAAe,MAAM,CAAC,MAAM,EAAE,CAC3E,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAA;AAnCY,yBAAyB;IADrC,UAAU,EAAE;qCAE0B,eAAe;GADzC,yBAAyB,CAmCrC;;AAED;;;;GAIG;AACH,MAAM,OAAO,aAAa;IAEL;IACA;IACA;IAHnB,YACmB,IAA4B,EAC5B,MAAoB,EACpB,SAAkB;QAFlB,SAAI,GAAJ,IAAI,CAAwB;QAC5B,WAAM,GAAN,MAAM,CAAc;QACpB,cAAS,GAAT,SAAS,CAAS;IAClC,CAAC;IAEJ;;;;;;OAMG;IACH,QAAQ,CAAI,MAAuB,EAAE,QAAW;QAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,QAAQ,CAAC,CAAC;QAC3E,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,6BAA6B,CACrC,uCAAuC,IAAI,CAAC,SAAS,CAAC,IAAI,yCAAyC,CACpG,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,aAAa,CAAI,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACnE,CAAC;IAED;;;;OAIG;IACH,OAAO,CAAC,QAAgB;QACtB,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YACpC,MAAM,IAAI,6BAA6B,CACrC,YAAY,QAAQ,mBAAmB,IAAI,CAAC,SAAS,CAAC,IAAI,eAAe,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAC9F,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,kFAAkF;IAClF,OAAO;QACL,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;CACF"}
@@ -1,7 +1,7 @@
1
1
  import { TransactionManager } from '@nestjs-transactional/core';
2
- import type { EventPublicationRepository, FindCompletedOptions, FindFailedOptions, UpdateStatusOptions } from '../repository/event-publication-repository';
3
- import type { EventPublication, NewEventPublication } from '../types/event-publication';
4
- import { PublicationStatus } from '../types/publication-status';
2
+ import type { EventPublicationRepository, FindCompletedOptions, FindFailedOptions, UpdateStatusOptions } from '../repository/event-publication-repository.js';
3
+ import type { EventPublication, NewEventPublication } from '../types/event-publication.js';
4
+ import { PublicationStatus } from '../types/publication-status.js';
5
5
  /**
6
6
  * In-memory reference implementation of {@link EventPublicationRepository}.
7
7
  *
@@ -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);
@@ -11,19 +10,17 @@ var __metadata = (this && this.__metadata) || function (k, v) {
11
10
  var __param = (this && this.__param) || function (paramIndex, decorator) {
12
11
  return function (target, key) { decorator(target, key, paramIndex); }
13
12
  };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.InMemoryEventPublicationRepository = void 0;
16
13
  /* eslint-disable @typescript-eslint/require-await --
17
14
  * This in-memory reference implementation has synchronous method
18
15
  * bodies but must return Promises per the EventPublicationRepository
19
16
  * SPI contract. Real persistence backends (TypeORM, Prisma, ...) will
20
17
  * have awaits throughout.
21
18
  */
22
- const node_crypto_1 = require("node:crypto");
23
- const common_1 = require("@nestjs/common");
24
- const core_1 = require("@nestjs-transactional/core");
25
- const errors_1 = require("../types/errors");
26
- const publication_status_1 = require("../types/publication-status");
19
+ import { randomUUID } from 'node:crypto';
20
+ import { Injectable, Optional } from '@nestjs/common';
21
+ import { IllegalTransactionStateError, TransactionManager } from '@nestjs-transactional/core';
22
+ import { PublicationNotFoundError } from '../types/errors.js';
23
+ import { PublicationStatus } from '../types/publication-status.js';
27
24
  /**
28
25
  * In-memory reference implementation of {@link EventPublicationRepository}.
29
26
  *
@@ -52,12 +49,12 @@ let InMemoryEventPublicationRepository = class InMemoryEventPublicationRepositor
52
49
  const created = [];
53
50
  for (const input of inputs) {
54
51
  const publication = {
55
- id: (0, node_crypto_1.randomUUID)(),
52
+ id: randomUUID(),
56
53
  listenerId: input.listenerId,
57
54
  eventType: input.eventType,
58
55
  serializedEvent: input.serializedEvent,
59
56
  publicationDate: input.publicationDate ?? new Date(),
60
- status: publication_status_1.PublicationStatus.PUBLISHED,
57
+ status: PublicationStatus.PUBLISHED,
61
58
  completionDate: null,
62
59
  lastResubmissionDate: null,
63
60
  completionAttempts: 0,
@@ -79,7 +76,7 @@ let InMemoryEventPublicationRepository = class InMemoryEventPublicationRepositor
79
76
  async updateStatus(id, status, options = {}) {
80
77
  const existing = this.publications.get(id);
81
78
  if (!existing) {
82
- throw new errors_1.PublicationNotFoundError(id);
79
+ throw new PublicationNotFoundError(id);
83
80
  }
84
81
  const updated = {
85
82
  ...existing,
@@ -101,27 +98,37 @@ let InMemoryEventPublicationRepository = class InMemoryEventPublicationRepositor
101
98
  if (!existing) {
102
99
  return false;
103
100
  }
104
- if (existing.status !== publication_status_1.PublicationStatus.PUBLISHED &&
105
- existing.status !== publication_status_1.PublicationStatus.RESUBMITTED) {
101
+ if (existing.status !== PublicationStatus.PUBLISHED &&
102
+ existing.status !== PublicationStatus.RESUBMITTED) {
106
103
  return false;
107
104
  }
108
- await this.updateStatus(id, publication_status_1.PublicationStatus.PROCESSING, { incrementAttempts: true });
105
+ await this.updateStatus(id, PublicationStatus.PROCESSING, { incrementAttempts: true });
109
106
  return true;
110
107
  }
111
108
  async findReadyForProcessing(limit) {
112
109
  return Array.from(this.publications.values())
113
- .filter((p) => p.status === publication_status_1.PublicationStatus.PUBLISHED || p.status === publication_status_1.PublicationStatus.RESUBMITTED)
110
+ .filter((p) => p.status === PublicationStatus.PUBLISHED || p.status === PublicationStatus.RESUBMITTED)
114
111
  .slice(0, limit);
115
112
  }
116
113
  async findStale(beforeDate, statuses) {
117
114
  return Array.from(this.publications.values()).filter((p) => statuses.includes(p.status) && p.publicationDate < beforeDate);
118
115
  }
119
116
  async findCompleted(options) {
120
- let result = Array.from(this.publications.values()).filter((p) => p.status === publication_status_1.PublicationStatus.COMPLETED);
117
+ let result = Array.from(this.publications.values()).filter((p) => p.status === PublicationStatus.COMPLETED);
121
118
  const olderThan = options?.olderThan;
122
119
  if (olderThan) {
123
120
  result = result.filter((p) => p.completionDate !== null && p.completionDate < olderThan);
124
121
  }
122
+ // Oldest first, per the SPI contract. Insertion order happened to be
123
+ // close enough until `limit` made the order a correctness property
124
+ // for the retention job. A publication still in `COMPLETED` without a
125
+ // completion date cannot be ordered, so it sorts last rather than
126
+ // being dropped.
127
+ result = [...result].sort((a, b) => {
128
+ const left = a.completionDate?.getTime() ?? Number.POSITIVE_INFINITY;
129
+ const right = b.completionDate?.getTime() ?? Number.POSITIVE_INFINITY;
130
+ return left - right;
131
+ });
125
132
  const limit = options?.limit;
126
133
  if (limit !== undefined) {
127
134
  result = result.slice(0, limit);
@@ -129,10 +136,10 @@ let InMemoryEventPublicationRepository = class InMemoryEventPublicationRepositor
129
136
  return result;
130
137
  }
131
138
  async findIncomplete() {
132
- return Array.from(this.publications.values()).filter((p) => p.status !== publication_status_1.PublicationStatus.COMPLETED);
139
+ return Array.from(this.publications.values()).filter((p) => p.status !== PublicationStatus.COMPLETED);
133
140
  }
134
141
  async findFailed(options) {
135
- let result = Array.from(this.publications.values()).filter((p) => p.status === publication_status_1.PublicationStatus.FAILED);
142
+ let result = Array.from(this.publications.values()).filter((p) => p.status === PublicationStatus.FAILED);
136
143
  const minAge = options?.minAge;
137
144
  if (minAge) {
138
145
  const threshold = new Date(Date.now() - minAge);
@@ -147,7 +154,7 @@ let InMemoryEventPublicationRepository = class InMemoryEventPublicationRepositor
147
154
  async deleteCompleted(olderThan) {
148
155
  const deleted = [];
149
156
  for (const [id, p] of this.publications.entries()) {
150
- if (p.status !== publication_status_1.PublicationStatus.COMPLETED) {
157
+ if (p.status !== PublicationStatus.COMPLETED) {
151
158
  continue;
152
159
  }
153
160
  if (olderThan && (p.completionDate === null || p.completionDate >= olderThan)) {
@@ -213,17 +220,17 @@ let InMemoryEventPublicationRepository = class InMemoryEventPublicationRepositor
213
220
  });
214
221
  }
215
222
  catch (err) {
216
- if (err instanceof core_1.IllegalTransactionStateError) {
223
+ if (err instanceof IllegalTransactionStateError) {
217
224
  return;
218
225
  }
219
226
  throw err;
220
227
  }
221
228
  }
222
229
  };
223
- exports.InMemoryEventPublicationRepository = InMemoryEventPublicationRepository;
224
- exports.InMemoryEventPublicationRepository = InMemoryEventPublicationRepository = __decorate([
225
- (0, common_1.Injectable)(),
226
- __param(0, (0, common_1.Optional)()),
227
- __metadata("design:paramtypes", [core_1.TransactionManager])
230
+ InMemoryEventPublicationRepository = __decorate([
231
+ Injectable(),
232
+ __param(0, Optional()),
233
+ __metadata("design:paramtypes", [TransactionManager])
228
234
  ], InMemoryEventPublicationRepository);
235
+ export { InMemoryEventPublicationRepository };
229
236
  //# sourceMappingURL=in-memory-repository.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"in-memory-repository.js","sourceRoot":"","sources":["../../src/testing/in-memory-repository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"in-memory-repository.js","sourceRoot":"","sources":["../../src/testing/in-memory-repository.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export * from './in-memory-repository';
2
- export * from './published-events';
3
- export * from './assertable-published-events';
1
+ export * from './in-memory-repository.js';
2
+ export * from './published-events.js';
3
+ export * from './assertable-published-events.js';
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1,20 +1,4 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./in-memory-repository"), exports);
18
- __exportStar(require("./published-events"), exports);
19
- __exportStar(require("./assertable-published-events"), exports);
1
+ export * from './in-memory-repository.js';
2
+ export * from './published-events.js';
3
+ export * from './assertable-published-events.js';
20
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/testing/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yDAAuC;AACvC,qDAAmC;AACnC,gEAA8C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/testing/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,kCAAkC,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { type Type } from '@nestjs/common';
2
- import { type EventPublicationRepository } from '../repository/event-publication-repository';
3
- import { type EventSerializer } from '../serialization/event-serializer';
4
- import type { EventPublication } from '../types/event-publication';
2
+ import { type EventPublicationRepository } from '../repository/event-publication-repository.js';
3
+ import { type EventSerializer } from '../serialization/event-serializer.js';
4
+ import type { EventPublication } from '../types/event-publication.js';
5
5
  /**
6
6
  * Test utility for inspecting events that were published through the
7
7
  * outbox during a test run.
@@ -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);
@@ -11,11 +10,9 @@ var __metadata = (this && this.__metadata) || function (k, v) {
11
10
  var __param = (this && this.__param) || function (paramIndex, decorator) {
12
11
  return function (target, key) { decorator(target, key, paramIndex); }
13
12
  };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.PublishedEventsView = exports.PublishedEvents = void 0;
16
- const common_1 = require("@nestjs/common");
17
- const event_publication_repository_1 = require("../repository/event-publication-repository");
18
- const event_serializer_1 = require("../serialization/event-serializer");
13
+ import { Inject, Injectable } from '@nestjs/common';
14
+ import { EVENT_PUBLICATION_REPOSITORY, } from '../repository/event-publication-repository.js';
15
+ import { EVENT_SERIALIZER } from '../serialization/event-serializer.js';
19
16
  /**
20
17
  * Test utility for inspecting events that were published through the
21
18
  * outbox during a test run.
@@ -61,20 +58,20 @@ let PublishedEvents = class PublishedEvents {
61
58
  return [...incomplete, ...completed];
62
59
  }
63
60
  };
64
- exports.PublishedEvents = PublishedEvents;
65
- exports.PublishedEvents = PublishedEvents = __decorate([
66
- (0, common_1.Injectable)(),
67
- __param(0, (0, common_1.Inject)(event_publication_repository_1.EVENT_PUBLICATION_REPOSITORY)),
68
- __param(1, (0, common_1.Inject)(event_serializer_1.EVENT_SERIALIZER)),
61
+ PublishedEvents = __decorate([
62
+ Injectable(),
63
+ __param(0, Inject(EVENT_PUBLICATION_REPOSITORY)),
64
+ __param(1, Inject(EVENT_SERIALIZER)),
69
65
  __metadata("design:paramtypes", [Object, Object])
70
66
  ], PublishedEvents);
67
+ export { PublishedEvents };
71
68
  /**
72
69
  * Fluent filter view returned by {@link PublishedEvents.ofType}. Each
73
70
  * `matching(...)` call produces a new view with the extra predicate
74
71
  * appended — predicates are conjunctive (all must hold). Materialise
75
72
  * the view with `get()` or `count()`.
76
73
  */
77
- class PublishedEventsView {
74
+ export class PublishedEventsView {
78
75
  fetchAll;
79
76
  serializer;
80
77
  eventType;
@@ -86,7 +83,8 @@ class PublishedEventsView {
86
83
  this.predicates = predicates;
87
84
  }
88
85
  matching(fnOrGetter, expected) {
89
- // eslint-disable-next-line prefer-rest-params -- arguments.length distinguishes the two overloads reliably, including when `expected` is intentionally `undefined`.
86
+ // `arguments.length` distinguishes the two overloads reliably,
87
+ // including when `expected` is intentionally passed as `undefined`.
90
88
  const argCount = arguments.length;
91
89
  const predicate = argCount > 1
92
90
  ? (event) => fnOrGetter(event) === expected
@@ -109,5 +107,4 @@ class PublishedEventsView {
109
107
  return typed.filter((event) => this.predicates.every((pred) => pred(event)));
110
108
  }
111
109
  }
112
- exports.PublishedEventsView = PublishedEventsView;
113
110
  //# sourceMappingURL=published-events.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"published-events.js","sourceRoot":"","sources":["../../src/testing/published-events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"published-events.js","sourceRoot":"","sources":["../../src/testing/published-events.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export { getEventExternalizerToken, getEventPublicationProcessorToken, getEventPublicationRegistryToken, getEventPublicationRepositoryToken, getEventTypeRegistryToken, getExternalizationRegistryToken, getOutboxEventSerializerToken, getOutboxListenerRegistryToken, getOutboxPublisherToken, } from './token-utils';
1
+ export { getEventExternalizerToken, getEventPublicationProcessorToken, getEventPublicationRegistryToken, getEventPublicationRepositoryToken, getEventTypeRegistryToken, getExternalizationRegistryToken, getOutboxEventSerializerToken, getOutboxListenerRegistryToken, getOutboxPublisherToken, } from './token-utils.js';
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1,14 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getOutboxPublisherToken = exports.getOutboxListenerRegistryToken = exports.getOutboxEventSerializerToken = exports.getExternalizationRegistryToken = exports.getEventTypeRegistryToken = exports.getEventPublicationRepositoryToken = exports.getEventPublicationRegistryToken = exports.getEventPublicationProcessorToken = exports.getEventExternalizerToken = void 0;
4
- var token_utils_1 = require("./token-utils");
5
- Object.defineProperty(exports, "getEventExternalizerToken", { enumerable: true, get: function () { return token_utils_1.getEventExternalizerToken; } });
6
- Object.defineProperty(exports, "getEventPublicationProcessorToken", { enumerable: true, get: function () { return token_utils_1.getEventPublicationProcessorToken; } });
7
- Object.defineProperty(exports, "getEventPublicationRegistryToken", { enumerable: true, get: function () { return token_utils_1.getEventPublicationRegistryToken; } });
8
- Object.defineProperty(exports, "getEventPublicationRepositoryToken", { enumerable: true, get: function () { return token_utils_1.getEventPublicationRepositoryToken; } });
9
- Object.defineProperty(exports, "getEventTypeRegistryToken", { enumerable: true, get: function () { return token_utils_1.getEventTypeRegistryToken; } });
10
- Object.defineProperty(exports, "getExternalizationRegistryToken", { enumerable: true, get: function () { return token_utils_1.getExternalizationRegistryToken; } });
11
- Object.defineProperty(exports, "getOutboxEventSerializerToken", { enumerable: true, get: function () { return token_utils_1.getOutboxEventSerializerToken; } });
12
- Object.defineProperty(exports, "getOutboxListenerRegistryToken", { enumerable: true, get: function () { return token_utils_1.getOutboxListenerRegistryToken; } });
13
- Object.defineProperty(exports, "getOutboxPublisherToken", { enumerable: true, get: function () { return token_utils_1.getOutboxPublisherToken; } });
1
+ export { getEventExternalizerToken, getEventPublicationProcessorToken, getEventPublicationRegistryToken, getEventPublicationRepositoryToken, getEventTypeRegistryToken, getExternalizationRegistryToken, getOutboxEventSerializerToken, getOutboxListenerRegistryToken, getOutboxPublisherToken, } from './token-utils.js';
14
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tokens/index.ts"],"names":[],"mappings":";;;AAAA,6CAUuB;AATrB,wHAAA,yBAAyB,OAAA;AACzB,gIAAA,iCAAiC,OAAA;AACjC,+HAAA,gCAAgC,OAAA;AAChC,iIAAA,kCAAkC,OAAA;AAClC,wHAAA,yBAAyB,OAAA;AACzB,8HAAA,+BAA+B,OAAA;AAC/B,4HAAA,6BAA6B,OAAA;AAC7B,6HAAA,8BAA8B,OAAA;AAC9B,sHAAA,uBAAuB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tokens/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,EACzB,iCAAiC,EACjC,gCAAgC,EAChC,kCAAkC,EAClC,yBAAyB,EACzB,+BAA+B,EAC/B,6BAA6B,EAC7B,8BAA8B,EAC9B,uBAAuB,GACxB,MAAM,kBAAkB,CAAC"}
@@ -1,15 +1,4 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getOutboxPublisherToken = getOutboxPublisherToken;
4
- exports.getEventTypeRegistryToken = getEventTypeRegistryToken;
5
- exports.getEventPublicationRegistryToken = getEventPublicationRegistryToken;
6
- exports.getEventPublicationProcessorToken = getEventPublicationProcessorToken;
7
- exports.getOutboxListenerRegistryToken = getOutboxListenerRegistryToken;
8
- exports.getExternalizationRegistryToken = getExternalizationRegistryToken;
9
- exports.getEventPublicationRepositoryToken = getEventPublicationRepositoryToken;
10
- exports.getEventExternalizerToken = getEventExternalizerToken;
11
- exports.getOutboxEventSerializerToken = getOutboxEventSerializerToken;
12
- const core_1 = require("@nestjs-transactional/core");
1
+ import { DEFAULT_DATA_SOURCE_NAME } from '@nestjs-transactional/core';
13
2
  /**
14
3
  * Outbox-side token utilities. Mirror the core utilities (ADR-018) —
15
4
  * deterministic DI tokens derived from a dataSource name, default
@@ -26,7 +15,7 @@ const core_1 = require("@nestjs-transactional/core");
26
15
  * default-injected publisher is the smart facade (DD-024); this
27
16
  * token resolves to the underlying per-dataSource publisher.
28
17
  */
29
- function getOutboxPublisherToken(dataSource = core_1.DEFAULT_DATA_SOURCE_NAME) {
18
+ export function getOutboxPublisherToken(dataSource = DEFAULT_DATA_SOURCE_NAME) {
30
19
  return `${dataSource}OutboxEventPublisher`;
31
20
  }
32
21
  /**
@@ -35,14 +24,14 @@ function getOutboxPublisherToken(dataSource = core_1.DEFAULT_DATA_SOURCE_NAME) {
35
24
  * the registry bound to the same dataSource — they do not bleed
36
25
  * across dataSources.
37
26
  */
38
- function getEventTypeRegistryToken(dataSource = core_1.DEFAULT_DATA_SOURCE_NAME) {
27
+ export function getEventTypeRegistryToken(dataSource = DEFAULT_DATA_SOURCE_NAME) {
39
28
  return `${dataSource}EventTypeRegistry`;
40
29
  }
41
30
  /**
42
31
  * DI token for the per-dataSource `EventPublicationRegistry` — the
43
32
  * lifecycle coordinator that owns publication state transitions.
44
33
  */
45
- function getEventPublicationRegistryToken(dataSource = core_1.DEFAULT_DATA_SOURCE_NAME) {
34
+ export function getEventPublicationRegistryToken(dataSource = DEFAULT_DATA_SOURCE_NAME) {
46
35
  return `${dataSource}EventPublicationRegistry`;
47
36
  }
48
37
  /**
@@ -50,7 +39,7 @@ function getEventPublicationRegistryToken(dataSource = core_1.DEFAULT_DATA_SOURC
50
39
  * the async worker that drains publications and dispatches them to
51
40
  * listeners + externalizer.
52
41
  */
53
- function getEventPublicationProcessorToken(dataSource = core_1.DEFAULT_DATA_SOURCE_NAME) {
42
+ export function getEventPublicationProcessorToken(dataSource = DEFAULT_DATA_SOURCE_NAME) {
54
43
  return `${dataSource}EventPublicationProcessor`;
55
44
  }
56
45
  /**
@@ -59,13 +48,13 @@ function getEventPublicationProcessorToken(dataSource = core_1.DEFAULT_DATA_SOUR
59
48
  * classes (and, when wired, `@IntegrationEventsHandler` classes
60
49
  * routed via the outbox).
61
50
  */
62
- function getOutboxListenerRegistryToken(dataSource = core_1.DEFAULT_DATA_SOURCE_NAME) {
51
+ export function getOutboxListenerRegistryToken(dataSource = DEFAULT_DATA_SOURCE_NAME) {
63
52
  return `${dataSource}OutboxListenerRegistry`;
64
53
  }
65
54
  /**
66
55
  * DI token for the per-dataSource `ExternalizationRegistry`.
67
56
  */
68
- function getExternalizationRegistryToken(dataSource = core_1.DEFAULT_DATA_SOURCE_NAME) {
57
+ export function getExternalizationRegistryToken(dataSource = DEFAULT_DATA_SOURCE_NAME) {
69
58
  return `${dataSource}ExternalizationRegistry`;
70
59
  }
71
60
  /**
@@ -73,7 +62,7 @@ function getExternalizationRegistryToken(dataSource = core_1.DEFAULT_DATA_SOURCE
73
62
  * Adapter packages (`outbox-typeorm`, future `outbox-prisma`, etc.)
74
63
  * register their concrete repository under this token.
75
64
  */
76
- function getEventPublicationRepositoryToken(dataSource = core_1.DEFAULT_DATA_SOURCE_NAME) {
65
+ export function getEventPublicationRepositoryToken(dataSource = DEFAULT_DATA_SOURCE_NAME) {
77
66
  return `${dataSource}EventPublicationRepository`;
78
67
  }
79
68
  /**
@@ -82,7 +71,7 @@ function getEventPublicationRepositoryToken(dataSource = core_1.DEFAULT_DATA_SOU
82
71
  * — e.g. the `'billing'` outbox emits to Kafka, the `'audit'` outbox
83
72
  * is internal-only and binds no externalizer.
84
73
  */
85
- function getEventExternalizerToken(dataSource = core_1.DEFAULT_DATA_SOURCE_NAME) {
74
+ export function getEventExternalizerToken(dataSource = DEFAULT_DATA_SOURCE_NAME) {
86
75
  return `${dataSource}EventExternalizer`;
87
76
  }
88
77
  /**
@@ -92,7 +81,7 @@ function getEventExternalizerToken(dataSource = core_1.DEFAULT_DATA_SOURCE_NAME)
92
81
  * pattern keeps that pluggable without forcing one strategy
93
82
  * process-wide.
94
83
  */
95
- function getOutboxEventSerializerToken(dataSource = core_1.DEFAULT_DATA_SOURCE_NAME) {
84
+ export function getOutboxEventSerializerToken(dataSource = DEFAULT_DATA_SOURCE_NAME) {
96
85
  return `${dataSource}OutboxEventSerializer`;
97
86
  }
98
87
  //# sourceMappingURL=token-utils.js.map