@nestjs/cqrs 11.0.3 → 12.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 (148) hide show
  1. package/.circleci/config.yml +3 -3
  2. package/.nvmrc +1 -0
  3. package/dist/aggregate-root.d.ts +3 -67
  4. package/dist/aggregate-root.js +6 -83
  5. package/dist/classes/command.d.ts +2 -2
  6. package/dist/classes/command.js +2 -6
  7. package/dist/classes/constants.js +1 -4
  8. package/dist/classes/index.d.ts +2 -2
  9. package/dist/classes/index.js +2 -18
  10. package/dist/classes/query.d.ts +2 -2
  11. package/dist/classes/query.js +2 -6
  12. package/dist/command-bus.d.ts +5 -5
  13. package/dist/command-bus.js +29 -32
  14. package/dist/constants.js +1 -4
  15. package/dist/cqrs.module.d.ts +5 -5
  16. package/dist/cqrs.module.js +34 -37
  17. package/dist/decorators/command-handler.decorator.d.ts +1 -1
  18. package/dist/decorators/command-handler.decorator.js +9 -13
  19. package/dist/decorators/constants.js +7 -10
  20. package/dist/decorators/events-handler.decorator.d.ts +1 -1
  21. package/dist/decorators/events-handler.decorator.js +9 -13
  22. package/dist/decorators/index.d.ts +5 -5
  23. package/dist/decorators/index.js +5 -21
  24. package/dist/decorators/publishable.decorator.js +3 -6
  25. package/dist/decorators/query-handler.decorator.d.ts +1 -1
  26. package/dist/decorators/query-handler.decorator.js +9 -13
  27. package/dist/decorators/saga.decorator.js +5 -9
  28. package/dist/event-bus.d.ts +10 -8
  29. package/dist/event-bus.js +51 -51
  30. package/dist/event-publisher.d.ts +6 -7
  31. package/dist/event-publisher.js +7 -10
  32. package/dist/exceptions/command-not-found.exception.js +1 -5
  33. package/dist/exceptions/index.d.ts +7 -7
  34. package/dist/exceptions/index.js +7 -23
  35. package/dist/exceptions/invalid-command-handler.exception.js +1 -5
  36. package/dist/exceptions/invalid-events-handler.exception.js +1 -5
  37. package/dist/exceptions/invalid-query-handler.exception.js +1 -5
  38. package/dist/exceptions/invalid-saga.exception.js +1 -5
  39. package/dist/exceptions/query-not-found.exception.js +1 -5
  40. package/dist/exceptions/unsupported-saga-scope.exception.js +1 -5
  41. package/dist/helpers/default-command-pubsub.d.ts +1 -1
  42. package/dist/helpers/default-command-pubsub.js +1 -5
  43. package/dist/helpers/default-event-id-provider.d.ts +1 -1
  44. package/dist/helpers/default-event-id-provider.js +3 -6
  45. package/dist/helpers/default-pubsub.d.ts +1 -1
  46. package/dist/helpers/default-pubsub.js +1 -5
  47. package/dist/helpers/default-query-pubsub.d.ts +1 -1
  48. package/dist/helpers/default-query-pubsub.js +1 -5
  49. package/dist/helpers/default-unhandled-exception-pubsub.d.ts +1 -1
  50. package/dist/helpers/default-unhandled-exception-pubsub.js +1 -5
  51. package/dist/index.d.ts +15 -14
  52. package/dist/index.js +15 -30
  53. package/dist/interfaces/aggregate-root.interface.d.ts +53 -0
  54. package/dist/interfaces/aggregate-root.interface.js +1 -0
  55. package/dist/interfaces/commands/command-bus.interface.d.ts +3 -3
  56. package/dist/interfaces/commands/command-bus.interface.js +1 -2
  57. package/dist/interfaces/commands/command-handler.interface.d.ts +2 -2
  58. package/dist/interfaces/commands/command-handler.interface.js +1 -2
  59. package/dist/interfaces/commands/command-metadata.interface.js +1 -2
  60. package/dist/interfaces/commands/command-publisher.interface.d.ts +1 -1
  61. package/dist/interfaces/commands/command-publisher.interface.js +1 -2
  62. package/dist/interfaces/commands/command.interface.js +1 -2
  63. package/dist/interfaces/cqrs-module-options.interface.d.ts +5 -5
  64. package/dist/interfaces/cqrs-module-options.interface.js +1 -2
  65. package/dist/interfaces/events/event-bus.interface.d.ts +2 -2
  66. package/dist/interfaces/events/event-bus.interface.js +1 -2
  67. package/dist/interfaces/events/event-handler.interface.d.ts +1 -1
  68. package/dist/interfaces/events/event-handler.interface.js +1 -2
  69. package/dist/interfaces/events/event-id-provider.interface.d.ts +1 -1
  70. package/dist/interfaces/events/event-id-provider.interface.js +1 -2
  71. package/dist/interfaces/events/event-publisher.interface.d.ts +2 -2
  72. package/dist/interfaces/events/event-publisher.interface.js +1 -2
  73. package/dist/interfaces/events/event.interface.js +1 -2
  74. package/dist/interfaces/events/message-source.interface.d.ts +1 -1
  75. package/dist/interfaces/events/message-source.interface.js +1 -2
  76. package/dist/interfaces/exceptions/unhandled-exception-info.interface.d.ts +2 -2
  77. package/dist/interfaces/exceptions/unhandled-exception-info.interface.js +1 -2
  78. package/dist/interfaces/exceptions/unhandled-exception-publisher.interface.d.ts +3 -3
  79. package/dist/interfaces/exceptions/unhandled-exception-publisher.interface.js +1 -2
  80. package/dist/interfaces/index.d.ts +20 -19
  81. package/dist/interfaces/index.js +20 -35
  82. package/dist/interfaces/providers-introspection-result.interface.d.ts +4 -4
  83. package/dist/interfaces/providers-introspection-result.interface.js +1 -2
  84. package/dist/interfaces/queries/query-bus.interface.d.ts +3 -3
  85. package/dist/interfaces/queries/query-bus.interface.js +1 -2
  86. package/dist/interfaces/queries/query-handler.interface.d.ts +2 -2
  87. package/dist/interfaces/queries/query-handler.interface.js +1 -2
  88. package/dist/interfaces/queries/query-metadata.interface.js +1 -2
  89. package/dist/interfaces/queries/query-publisher.interface.d.ts +1 -1
  90. package/dist/interfaces/queries/query-publisher.interface.js +1 -2
  91. package/dist/interfaces/queries/query-result.interface.js +1 -2
  92. package/dist/interfaces/queries/query.interface.js +1 -2
  93. package/dist/interfaces/saga.type.d.ts +2 -2
  94. package/dist/interfaces/saga.type.js +1 -2
  95. package/dist/mixins/index.d.ts +1 -0
  96. package/dist/mixins/index.js +1 -0
  97. package/dist/mixins/with-aggregate-root.mixin.d.ts +11 -0
  98. package/dist/mixins/with-aggregate-root.mixin.js +67 -0
  99. package/dist/operators/index.d.ts +1 -1
  100. package/dist/operators/index.js +1 -17
  101. package/dist/operators/of-type.d.ts +1 -1
  102. package/dist/operators/of-type.js +3 -6
  103. package/dist/query-bus.d.ts +5 -5
  104. package/dist/query-bus.js +28 -31
  105. package/dist/scopes/async.context.js +9 -13
  106. package/dist/scopes/index.d.ts +1 -1
  107. package/dist/scopes/index.js +1 -17
  108. package/dist/services/explorer.service.d.ts +5 -5
  109. package/dist/services/explorer.service.js +14 -20
  110. package/dist/storages/aggregate-root.storage.d.ts +3 -3
  111. package/dist/storages/aggregate-root.storage.js +1 -5
  112. package/dist/unhandled-exception-bus.d.ts +2 -2
  113. package/dist/unhandled-exception-bus.js +14 -17
  114. package/dist/utils/index.d.ts +1 -1
  115. package/dist/utils/index.js +1 -17
  116. package/dist/utils/observable-bus.js +3 -7
  117. package/package.json +34 -26
  118. package/test/e2e/basic-flows.spec.ts +46 -26
  119. package/test/e2e/generics.spec.ts +3 -3
  120. package/test/e2e/request-scope.spec.ts +23 -22
  121. package/test/e2e/sync-event-handlers-app.spec.ts +123 -0
  122. package/test/e2e/unhandled-exceptions.spec.ts +36 -20
  123. package/tsconfig.build.json +3 -2
  124. package/vitest.config.e2e.ts +13 -0
  125. package/vitest.config.ts +8 -0
  126. package/dist/exceptions/invalid-module-ref.exception.d.ts +0 -3
  127. package/dist/exceptions/invalid-module-ref.exception.js +0 -8
  128. package/dist/helpers/default-get-event-id.d.ts +0 -9
  129. package/dist/helpers/default-get-event-id.js +0 -18
  130. package/dist/helpers/default-get-event-name.d.ts +0 -2
  131. package/dist/helpers/default-get-event-name.js +0 -8
  132. package/dist/interfaces/cqrs-options.interface.d.ts +0 -10
  133. package/dist/interfaces/cqrs-options.interface.js +0 -2
  134. package/dist/interfaces/event-observable.interface.d.ts +0 -4
  135. package/dist/interfaces/event-observable.interface.js +0 -2
  136. package/dist/utils/command-handler.decorator.d.ts +0 -3
  137. package/dist/utils/command-handler.decorator.js +0 -9
  138. package/dist/utils/constants.d.ts +0 -2
  139. package/dist/utils/constants.js +0 -4
  140. package/dist/utils/default-pubsub.d.ts +0 -9
  141. package/dist/utils/default-pubsub.js +0 -14
  142. package/dist/utils/events-handler.decorator.d.ts +0 -3
  143. package/dist/utils/events-handler.decorator.js +0 -9
  144. package/eslint.config.mjs +0 -42
  145. package/index.d.ts +0 -1
  146. package/index.js +0 -6
  147. package/jest.config.js +0 -9
  148. package/test/jest-e2e.json +0 -9
@@ -1,9 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- require("reflect-metadata");
4
- const constants_1 = require("./constants");
5
- exports.CommandHandler = (command) => {
6
- return (target) => {
7
- Reflect.defineMetadata(constants_1.COMMAND_HANDLER_METADATA, command, target);
8
- };
9
- };
@@ -1,2 +0,0 @@
1
- export declare const COMMAND_HANDLER_METADATA = '__commandHandler__';
2
- export declare const EVENTS_HANDLER_METADATA = '__eventsHandler';
@@ -1,4 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.COMMAND_HANDLER_METADATA = '__commandHandler__';
4
- exports.EVENTS_HANDLER_METADATA = '__eventsHandler';
@@ -1,9 +0,0 @@
1
- import { Subject } from 'rxjs';
2
- import { IEvent } from '../interfaces';
3
- import { IEventPublisher } from '../interfaces/events/event-publisher.interface';
4
- import { IMessageSource } from '../interfaces/events/message-source.interface';
5
- export declare class DefaultPubSub implements IEventPublisher, IMessageSource {
6
- private subject$;
7
- publish<T extends IEvent>(event: T): void;
8
- bridgeEventsTo<T extends IEvent>(subject: Subject<T>): void;
9
- }
@@ -1,14 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- class DefaultPubSub {
4
- publish(event) {
5
- if (!this.subject$) {
6
- throw new Error('Invalid underlying subject (call bridgeEventsTo())');
7
- }
8
- this.subject$.next(event);
9
- }
10
- bridgeEventsTo(subject) {
11
- this.subject$ = subject;
12
- }
13
- }
14
- exports.DefaultPubSub = DefaultPubSub;
@@ -1,3 +0,0 @@
1
- import 'reflect-metadata';
2
- import { IEvent } from '../index';
3
- export declare const EventsHandler: (...events: IEvent[]) => ClassDecorator;
@@ -1,9 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- require("reflect-metadata");
4
- const constants_1 = require("./constants");
5
- exports.EventsHandler = (...events) => {
6
- return (target) => {
7
- Reflect.defineMetadata(constants_1.EVENTS_HANDLER_METADATA, events, target);
8
- };
9
- };
package/eslint.config.mjs DELETED
@@ -1,42 +0,0 @@
1
- // @ts-check
2
- import eslint from '@eslint/js';
3
- import eslintPluginPrettierRecommended from 'eslint-plugin-prettier/recommended';
4
- import globals from 'globals';
5
- import tseslint from 'typescript-eslint';
6
-
7
- export default tseslint.config(
8
- {
9
- ignores: ['tests/**'],
10
- },
11
- eslint.configs.recommended,
12
- ...tseslint.configs.recommendedTypeChecked,
13
- eslintPluginPrettierRecommended,
14
- {
15
- languageOptions: {
16
- globals: {
17
- ...globals.node,
18
- ...globals.jest,
19
- },
20
- ecmaVersion: 5,
21
- sourceType: 'module',
22
- parserOptions: {
23
- projectService: true,
24
- tsconfigRootDir: import.meta.dirname,
25
- },
26
- },
27
- },
28
- {
29
- rules: {
30
- '@typescript-eslint/no-explicit-any': 'off',
31
- '@typescript-eslint/no-unsafe-assignment': 'off',
32
- '@typescript-eslint/no-unsafe-call': 'off',
33
- '@typescript-eslint/no-unsafe-member-access': 'off',
34
- '@typescript-eslint/no-unsafe-function-type': 'off',
35
- '@typescript-eslint/no-unsafe-argument': 'off',
36
- '@typescript-eslint/no-unsafe-return': 'off',
37
- '@typescript-eslint/require-await': 'warn',
38
- '@typescript-eslint/no-unused-expressions': 'warn',
39
- '@typescript-eslint/no-empty-object-type': 'off',
40
- },
41
- },
42
- );
package/index.d.ts DELETED
@@ -1 +0,0 @@
1
- export * from './dist';
package/index.js DELETED
@@ -1,6 +0,0 @@
1
- "use strict";
2
- function __export(m) {
3
- for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
4
- }
5
- exports.__esModule = true;
6
- __export(require("./dist"));
package/jest.config.js DELETED
@@ -1,9 +0,0 @@
1
- module.exports = {
2
- preset: 'ts-jest',
3
- testEnvironment: 'node',
4
- rootDir: '.',
5
- testMatch: ['<rootDir>/src/**/*.spec.ts'],
6
- transform: {
7
- '^.+\\.ts$': 'ts-jest'
8
- },
9
- };
@@ -1,9 +0,0 @@
1
- {
2
- "moduleFileExtensions": ["js", "json", "ts"],
3
- "rootDir": ".",
4
- "testEnvironment": "node",
5
- "testRegex": ".spec.ts$",
6
- "transform": {
7
- "^.+\\.(t|j)s$": ["ts-jest", { "tsconfig": "./test/tsconfig.json" }]
8
- }
9
- }