@rkrkdldkd/example-event-sourcing 0.0.3 → 0.0.5

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 (90) hide show
  1. package/dist/app.module.js +12 -2
  2. package/dist/app.module.js.map +1 -1
  3. package/dist/common/constants.d.ts +13 -0
  4. package/dist/common/constants.js +17 -0
  5. package/dist/common/constants.js.map +1 -0
  6. package/dist/decorator/aggregate-event-repository.decorator.d.ts +1 -0
  7. package/dist/decorator/aggregate-event-repository.decorator.js +13 -0
  8. package/dist/decorator/aggregate-event-repository.decorator.js.map +1 -0
  9. package/dist/decorator/aggregate.decorator.d.ts +3 -0
  10. package/dist/decorator/aggregate.decorator.js +20 -0
  11. package/dist/decorator/aggregate.decorator.js.map +1 -0
  12. package/dist/decorator/event-handler.decorator.d.ts +4 -0
  13. package/dist/decorator/event-handler.decorator.js +17 -0
  14. package/dist/decorator/event-handler.decorator.js.map +1 -0
  15. package/dist/decorator/event.decorator.d.ts +2 -0
  16. package/dist/decorator/event.decorator.js +20 -0
  17. package/dist/decorator/event.decorator.js.map +1 -0
  18. package/dist/decorator/index.d.ts +1 -0
  19. package/dist/decorator/index.js +3 -0
  20. package/dist/decorator/index.js.map +1 -0
  21. package/dist/event-sourcing.module.d.ts +8 -4
  22. package/dist/event-sourcing.module.js +62 -7
  23. package/dist/event-sourcing.module.js.map +1 -1
  24. package/dist/helper/metadata/assume-metadata-type.d.ts +1 -0
  25. package/dist/helper/metadata/assume-metadata-type.js +11 -0
  26. package/dist/helper/metadata/assume-metadata-type.js.map +1 -0
  27. package/dist/helper/metadata/get-aggregate-metadata.d.ts +4 -0
  28. package/dist/helper/metadata/get-aggregate-metadata.js +10 -0
  29. package/dist/helper/metadata/get-aggregate-metadata.js.map +1 -0
  30. package/dist/helper/metadata/get-event-handler-metadata.d.ts +5 -0
  31. package/dist/helper/metadata/get-event-handler-metadata.js +12 -0
  32. package/dist/helper/metadata/get-event-handler-metadata.js.map +1 -0
  33. package/dist/helper/metadata/get-event-metadata.d.ts +4 -0
  34. package/dist/helper/metadata/get-event-metadata.js +9 -0
  35. package/dist/helper/metadata/get-event-metadata.js.map +1 -0
  36. package/dist/index.d.ts +17 -4
  37. package/dist/index.js +31 -9
  38. package/dist/index.js.map +1 -1
  39. package/dist/interface/aggregate/aggregate-metadata.interface.d.ts +5 -0
  40. package/dist/interface/aggregate/aggregate-metadata.interface.js +3 -0
  41. package/dist/interface/aggregate/aggregate-metadata.interface.js.map +1 -0
  42. package/dist/interface/aggregate/event-handler-method.type.d.ts +2 -0
  43. package/dist/interface/aggregate/event-handler-method.type.js +3 -0
  44. package/dist/interface/aggregate/event-handler-method.type.js.map +1 -0
  45. package/dist/interface/class-constructor.type.d.ts +3 -0
  46. package/dist/interface/class-constructor.type.js +3 -0
  47. package/dist/interface/class-constructor.type.js.map +1 -0
  48. package/dist/interface/event/event-envelope-metadata.interface.d.ts +9 -0
  49. package/dist/interface/event/event-envelope-metadata.interface.js +3 -0
  50. package/dist/interface/event/event-envelope-metadata.interface.js.map +1 -0
  51. package/dist/interface/event/event-handler-metadata.interface.d.ts +3 -0
  52. package/dist/interface/event/event-handler-metadata.interface.js +3 -0
  53. package/dist/interface/event/event-handler-metadata.interface.js.map +1 -0
  54. package/dist/interface/event/event-metadata.interface.d.ts +4 -0
  55. package/dist/interface/event/event-metadata.interface.js +3 -0
  56. package/dist/interface/event/event-metadata.interface.js.map +1 -0
  57. package/dist/interface/event/event-publisher.interface.d.ts +4 -0
  58. package/dist/interface/event/event-publisher.interface.js +3 -0
  59. package/dist/interface/event/event-publisher.interface.js.map +1 -0
  60. package/dist/interface/event/event.interface.d.ts +2 -0
  61. package/dist/interface/event/event.interface.js +3 -0
  62. package/dist/interface/event/event.interface.js.map +1 -0
  63. package/dist/interface/postgres-event-store-config.d.ts +3 -2
  64. package/dist/interface/postgres-event.entity.d.ts +11 -0
  65. package/dist/interface/postgres-event.entity.js +3 -0
  66. package/dist/interface/postgres-event.entity.js.map +1 -0
  67. package/dist/interface/postgres-snapshot-store-config.d.ts +7 -0
  68. package/dist/interface/postgres-snapshot-store-config.js +3 -0
  69. package/dist/interface/postgres-snapshot-store-config.js.map +1 -0
  70. package/dist/main.js +3 -0
  71. package/dist/main.js.map +1 -1
  72. package/dist/model/abstract.repository.d.ts +13 -0
  73. package/dist/model/abstract.repository.js +108 -0
  74. package/dist/model/abstract.repository.js.map +1 -0
  75. package/dist/model/aggregate.root.d.ts +14 -0
  76. package/dist/model/aggregate.root.js +45 -0
  77. package/dist/model/aggregate.root.js.map +1 -0
  78. package/dist/model/db/db.client.d.ts +9 -0
  79. package/dist/model/db/db.client.js +37 -0
  80. package/dist/model/db/db.client.js.map +1 -0
  81. package/dist/model/event-envelope.d.ts +10 -0
  82. package/dist/model/event-envelope.js +24 -0
  83. package/dist/model/event-envelope.js.map +1 -0
  84. package/dist/model/temp.repository.d.ts +3 -0
  85. package/dist/model/temp.repository.js +18 -0
  86. package/dist/model/temp.repository.js.map +1 -0
  87. package/dist/temp.event-store.d.ts +2 -1
  88. package/dist/temp.event-store.js.map +1 -1
  89. package/dist/tsconfig.build.tsbuildinfo +1 -1
  90. package/package.json +27 -30
@@ -8,6 +8,8 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.AppModule = void 0;
10
10
  const common_1 = require("@nestjs/common");
11
+ const event_sourcing_module_1 = require("src/event-sourcing.module");
12
+ const temp_repository_1 = require("src/model/temp.repository");
11
13
  const app_controller_1 = require("./app.controller");
12
14
  const app_service_1 = require("./app.service");
13
15
  let AppModule = class AppModule {
@@ -15,9 +17,17 @@ let AppModule = class AppModule {
15
17
  exports.AppModule = AppModule;
16
18
  exports.AppModule = AppModule = __decorate([
17
19
  (0, common_1.Module)({
18
- imports: [],
20
+ imports: [
21
+ event_sourcing_module_1.EventSourcingModule.forRootAsync({
22
+ host: '127.0.0.1',
23
+ port: 5432,
24
+ user: 'postgres',
25
+ password: 'postgres',
26
+ database: 'postgres',
27
+ }),
28
+ ],
19
29
  controllers: [app_controller_1.AppController],
20
- providers: [app_service_1.AppService],
30
+ providers: [app_service_1.AppService, temp_repository_1.ARepository],
21
31
  })
22
32
  ], AppModule);
23
33
  //# sourceMappingURL=app.module.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"app.module.js","sourceRoot":"","sources":["../src/app.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,qDAAiD;AACjD,+CAA2C;AAOpC,IAAM,SAAS,GAAf,MAAM,SAAS;CAAG,CAAA;AAAZ,8BAAS;oBAAT,SAAS;IALrB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,EAAE;QACX,WAAW,EAAE,CAAC,8BAAa,CAAC;QAC5B,SAAS,EAAE,CAAC,wBAAU,CAAC;KACxB,CAAC;GACW,SAAS,CAAG"}
1
+ {"version":3,"file":"app.module.js","sourceRoot":"","sources":["../src/app.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,qEAAgE;AAChE,+DAAwD;AACxD,qDAAiD;AACjD,+CAA2C;AAepC,IAAM,SAAS,GAAf,MAAM,SAAS;CAAG,CAAA;AAAZ,8BAAS;oBAAT,SAAS;IAbrB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,2CAAmB,CAAC,YAAY,CAAC;gBAC/B,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,UAAU;gBAChB,QAAQ,EAAE,UAAU;gBACpB,QAAQ,EAAE,UAAU;aACrB,CAAC;SACH;QACD,WAAW,EAAE,CAAC,8BAAa,CAAC;QAC5B,SAAS,EAAE,CAAC,wBAAU,EAAE,6BAAW,CAAC;KACrC,CAAC;GACW,SAAS,CAAG"}
@@ -0,0 +1,13 @@
1
+ export declare const EVENT_SOURCING_OPTIONS: unique symbol;
2
+ export declare const AGGREGATE_METADATA = "AGGREGATE_METADATA";
3
+ export declare const COMMAND_HANDLER_METADATA = "COMMAND_HANDLER_METADATA";
4
+ export declare const COMMAND_METADATA = "COMMAND_METADATA";
5
+ export declare const EVENT_METADATA = "EVENT_METADATA";
6
+ export declare const EVENT_HANDLER_METADATA = "EVENT_HANDLER_METADATA";
7
+ export declare const EVENT_PUBLISHER_METADATA = "EVENT_PUBLISHER_METADATA";
8
+ export declare const EVENT_SERIALIZER_METADATA = "EVENT_SERIALIZER_METADATA";
9
+ export declare const EVENT_SUBSCRIBER_METADATA = "EVENT_SUBSCRIBER_METADATA";
10
+ export declare const QUERY_HANDLER_METADATA = "QUERY_HANDLER_METADATA";
11
+ export declare const QUERY_METADATA = "QUERY_METADATA";
12
+ export declare const SNAPSHOT_METADATA = "SNAPSHOT_METADATA";
13
+ export declare const AGGREGATE_EVENT_REPOSITORY_METADATA = "AGGREGATE_EVENT_REPOSITORY_METADATA";
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AGGREGATE_EVENT_REPOSITORY_METADATA = exports.SNAPSHOT_METADATA = exports.QUERY_METADATA = exports.QUERY_HANDLER_METADATA = exports.EVENT_SUBSCRIBER_METADATA = exports.EVENT_SERIALIZER_METADATA = exports.EVENT_PUBLISHER_METADATA = exports.EVENT_HANDLER_METADATA = exports.EVENT_METADATA = exports.COMMAND_METADATA = exports.COMMAND_HANDLER_METADATA = exports.AGGREGATE_METADATA = exports.EVENT_SOURCING_OPTIONS = void 0;
4
+ exports.EVENT_SOURCING_OPTIONS = Symbol();
5
+ exports.AGGREGATE_METADATA = 'AGGREGATE_METADATA';
6
+ exports.COMMAND_HANDLER_METADATA = 'COMMAND_HANDLER_METADATA';
7
+ exports.COMMAND_METADATA = 'COMMAND_METADATA';
8
+ exports.EVENT_METADATA = 'EVENT_METADATA';
9
+ exports.EVENT_HANDLER_METADATA = 'EVENT_HANDLER_METADATA';
10
+ exports.EVENT_PUBLISHER_METADATA = 'EVENT_PUBLISHER_METADATA';
11
+ exports.EVENT_SERIALIZER_METADATA = 'EVENT_SERIALIZER_METADATA';
12
+ exports.EVENT_SUBSCRIBER_METADATA = 'EVENT_SUBSCRIBER_METADATA';
13
+ exports.QUERY_HANDLER_METADATA = 'QUERY_HANDLER_METADATA';
14
+ exports.QUERY_METADATA = 'QUERY_METADATA';
15
+ exports.SNAPSHOT_METADATA = 'SNAPSHOT_METADATA';
16
+ exports.AGGREGATE_EVENT_REPOSITORY_METADATA = 'AGGREGATE_EVENT_REPOSITORY_METADATA';
17
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/common/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,sBAAsB,GAAG,MAAM,EAAE,CAAC;AAElC,QAAA,kBAAkB,GAAG,oBAAoB,CAAC;AAC1C,QAAA,wBAAwB,GAAG,0BAA0B,CAAC;AACtD,QAAA,gBAAgB,GAAG,kBAAkB,CAAC;AACtC,QAAA,cAAc,GAAG,gBAAgB,CAAC;AAClC,QAAA,sBAAsB,GAAG,wBAAwB,CAAC;AAClD,QAAA,wBAAwB,GAAG,0BAA0B,CAAC;AACtD,QAAA,yBAAyB,GAAG,2BAA2B,CAAC;AACxD,QAAA,yBAAyB,GAAG,2BAA2B,CAAC;AACxD,QAAA,sBAAsB,GAAG,wBAAwB,CAAC;AAClD,QAAA,cAAc,GAAG,gBAAgB,CAAC;AAClC,QAAA,iBAAiB,GAAG,mBAAmB,CAAC;AAExC,QAAA,mCAAmC,GAC9C,qCAAqC,CAAC"}
@@ -0,0 +1 @@
1
+ export declare const AggregateEventRepository: (name2: string) => ClassDecorator;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AggregateEventRepository = void 0;
4
+ const constants_1 = require("../common/constants");
5
+ const AggregateEventRepository = (name2) => {
6
+ return (target) => {
7
+ console.log(name2);
8
+ const { name } = target;
9
+ Reflect.defineMetadata(constants_1.AGGREGATE_EVENT_REPOSITORY_METADATA, name, target);
10
+ };
11
+ };
12
+ exports.AggregateEventRepository = AggregateEventRepository;
13
+ //# sourceMappingURL=aggregate-event-repository.decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aggregate-event-repository.decorator.js","sourceRoot":"","sources":["../../src/decorator/aggregate-event-repository.decorator.ts"],"names":[],"mappings":";;;AAAA,mDAA2E;AAIpE,MAAM,wBAAwB,GAAG,CAAC,KAAa,EAAkB,EAAE;IACxE,OAAO,CAAC,MAAc,EAAE,EAAE;QACxB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnB,MAAM,EAAE,IAAI,EAAE,GAAG,MAAyC,CAAC;QAE3D,OAAO,CAAC,cAAc,CAAC,+CAAmC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAC5E,CAAC,CAAC;AACJ,CAAC,CAAC;AAPW,QAAA,wBAAwB,4BAOnC"}
@@ -0,0 +1,3 @@
1
+ import 'reflect-metadata';
2
+ import { AggregateMetadata } from 'src/interface/aggregate/aggregate-metadata.interface';
3
+ export declare const Aggregate: (options?: AggregateMetadata) => ClassDecorator;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Aggregate = void 0;
4
+ require("reflect-metadata");
5
+ const constants_1 = require("../common/constants");
6
+ const Aggregate = (options) => {
7
+ return (target) => {
8
+ const { name } = target;
9
+ const metadata = {
10
+ streamName: name.toLowerCase(),
11
+ ...options,
12
+ };
13
+ if ((metadata.streamName?.length || 0) > 50) {
14
+ throw new Error(`Aggregate stream name '${metadata.streamName}' exceeds the maximum length of 50 characters.`);
15
+ }
16
+ Reflect.defineMetadata(constants_1.AGGREGATE_METADATA, metadata, target);
17
+ };
18
+ };
19
+ exports.Aggregate = Aggregate;
20
+ //# sourceMappingURL=aggregate.decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aggregate.decorator.js","sourceRoot":"","sources":["../../src/decorator/aggregate.decorator.ts"],"names":[],"mappings":";;;AAAA,4BAA0B;AAC1B,mDAA0D;AAanD,MAAM,SAAS,GAAG,CAAC,OAA2B,EAAkB,EAAE;IACvE,OAAO,CAAC,MAAc,EAAE,EAAE;QACxB,MAAM,EAAE,IAAI,EAAE,GAAG,MAAyC,CAAC;QAC3D,MAAM,QAAQ,GAAsB;YAClC,UAAU,EAAE,IAAI,CAAC,WAAW,EAAE;YAC9B,GAAG,OAAO;SACX,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CACb,0BAA0B,QAAQ,CAAC,UAAU,gDAAgD,CAC9F,CAAC;QACJ,CAAC;QAED,OAAO,CAAC,cAAc,CAAC,8BAAkB,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC/D,CAAC,CAAC;AACJ,CAAC,CAAC;AAhBW,QAAA,SAAS,aAgBpB"}
@@ -0,0 +1,4 @@
1
+ import 'reflect-metadata';
2
+ import { ClassConstructor } from 'src/interface/class-constructor.type';
3
+ import { IEvent } from 'src/interface/event/event.interface';
4
+ export declare const EventHandler: (event: ClassConstructor<IEvent>) => PropertyDecorator;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EventHandler = void 0;
4
+ require("reflect-metadata");
5
+ const constants_1 = require("../common/constants");
6
+ const get_event_metadata_1 = require("../helper/metadata/get-event-metadata");
7
+ const EventHandler = (event) => {
8
+ const { name } = (0, get_event_metadata_1.getEventMetadata)(event);
9
+ if (!name) {
10
+ throw new Error(`Cannot register event handler for event without a name in '${event.constructor.name}'.`);
11
+ }
12
+ return (propertyParent, propertyKey) => {
13
+ Reflect.defineMetadata(`${constants_1.EVENT_HANDLER_METADATA}-${name}`, { method: propertyKey }, propertyParent);
14
+ };
15
+ };
16
+ exports.EventHandler = EventHandler;
17
+ //# sourceMappingURL=event-handler.decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-handler.decorator.js","sourceRoot":"","sources":["../../src/decorator/event-handler.decorator.ts"],"names":[],"mappings":";;;AAAA,4BAA0B;AAC1B,mDAA8D;AAC9D,8EAA0E;AAUnE,MAAM,YAAY,GAAG,CAC1B,KAA+B,EACZ,EAAE;IACrB,MAAM,EAAE,IAAI,EAAE,GAAG,IAAA,qCAAgB,EAAC,KAAK,CAAC,CAAC;IAEzC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CACb,8DAA8D,KAAK,CAAC,WAAW,CAAC,IAAI,IAAI,CACzF,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,cAAc,EAAE,WAAW,EAAE,EAAE;QACrC,OAAO,CAAC,cAAc,CACpB,GAAG,kCAAsB,IAAI,IAAI,EAAE,EACnC,EAAE,MAAM,EAAE,WAAW,EAAE,EACvB,cAAc,CACf,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC,CAAC;AAlBW,QAAA,YAAY,gBAkBvB"}
@@ -0,0 +1,2 @@
1
+ import 'reflect-metadata';
2
+ export declare const Event: (name?: string) => ClassDecorator;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Event = void 0;
4
+ const node_crypto_1 = require("node:crypto");
5
+ require("reflect-metadata");
6
+ const constants_1 = require("../common/constants");
7
+ const Event = (name) => {
8
+ return (target) => {
9
+ const metadata = {
10
+ id: (0, node_crypto_1.randomUUID)(),
11
+ name: name || target.name,
12
+ };
13
+ if (metadata.name.length > 80) {
14
+ throw new Error(`Event name '${metadata.name}' exceeds the maximum length of 80 characters.`);
15
+ }
16
+ Reflect.defineMetadata(constants_1.EVENT_METADATA, metadata, target);
17
+ };
18
+ };
19
+ exports.Event = Event;
20
+ //# sourceMappingURL=event.decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event.decorator.js","sourceRoot":"","sources":["../../src/decorator/event.decorator.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AACzC,4BAA0B;AAC1B,mDAAsD;AAe/C,MAAM,KAAK,GAAG,CAAC,IAAa,EAAkB,EAAE;IACrD,OAAO,CAAC,MAAW,EAAE,EAAE;QACrB,MAAM,QAAQ,GAAkB;YAC9B,EAAE,EAAE,IAAA,wBAAU,GAAE;YAChB,IAAI,EAAE,IAAI,IAAI,MAAM,CAAC,IAAI;SAC1B,CAAC;QAEF,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CACb,eAAe,QAAQ,CAAC,IAAI,gDAAgD,CAC7E,CAAC;QACJ,CAAC;QAED,OAAO,CAAC,cAAc,CAAC,0BAAc,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC3D,CAAC,CAAC;AACJ,CAAC,CAAC;AAfW,QAAA,KAAK,SAehB"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/decorator/index.ts"],"names":[],"mappings":""}
@@ -1,5 +1,9 @@
1
- import { DynamicModule } from '@nestjs/common';
2
- import { EventSourcingModuleOptions } from '@ocoda/event-sourcing';
3
- export declare class EventSourcingModule {
4
- static forRoot(options: EventSourcingModuleOptions): DynamicModule;
1
+ import { DynamicModule, OnModuleInit } from '@nestjs/common';
2
+ import { PoolConfig } from 'pg';
3
+ import { DbClient } from './model/db/db.client';
4
+ export declare class EventSourcingModule implements OnModuleInit {
5
+ private readonly dbClient;
6
+ static forRootAsync(config: PoolConfig): DynamicModule;
7
+ constructor(dbClient: DbClient);
8
+ onModuleInit(): Promise<void>;
5
9
  }
@@ -5,20 +5,75 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
6
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
7
  };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var EventSourcingModule_1;
8
12
  Object.defineProperty(exports, "__esModule", { value: true });
9
13
  exports.EventSourcingModule = void 0;
10
14
  const common_1 = require("@nestjs/common");
11
- const event_sourcing_1 = require("@ocoda/event-sourcing");
12
- let EventSourcingModule = class EventSourcingModule {
13
- static forRoot(options) {
14
- const module = event_sourcing_1.EventSourcingModule.forRoot(options);
15
- return module;
15
+ const core_1 = require("@nestjs/core");
16
+ const constants_1 = require("./common/constants");
17
+ const db_client_1 = require("./model/db/db.client");
18
+ let EventSourcingModule = EventSourcingModule_1 = class EventSourcingModule {
19
+ dbClient;
20
+ static forRootAsync(config) {
21
+ const providers = [
22
+ {
23
+ provide: constants_1.EVENT_SOURCING_OPTIONS,
24
+ useValue: config,
25
+ },
26
+ {
27
+ provide: db_client_1.DbClient,
28
+ useFactory: (options) => {
29
+ const client = new db_client_1.DbClient(options);
30
+ return client;
31
+ },
32
+ inject: [constants_1.EVENT_SOURCING_OPTIONS],
33
+ },
34
+ ];
35
+ return {
36
+ module: EventSourcingModule_1,
37
+ imports: [core_1.DiscoveryModule],
38
+ providers,
39
+ exports: providers,
40
+ };
41
+ }
42
+ constructor(dbClient) {
43
+ this.dbClient = dbClient;
44
+ }
45
+ async onModuleInit() {
46
+ const connection = await this.dbClient.getConnection();
47
+ try {
48
+ await connection.query('BEGIN');
49
+ await this.dbClient.query(`CREATE TABLE IF NOT EXISTS "test_event" (
50
+ stream_id VARCHAR(120) NOT NULL,
51
+ version INT NOT NULL,
52
+ event VARCHAR(80) NOT NULL,
53
+ payload JSONB NOT NULL,
54
+ event_date VARCHAR(7) NOT NULL,
55
+ event_id VARCHAR(40) NOT NULL,
56
+ aggregate_id VARCHAR(40) NOT NULL,
57
+ occurred_on TIMESTAMPTZ NOT NULL,
58
+ correlation_id VARCHAR(255),
59
+ causation_id VARCHAR(255),
60
+ PRIMARY KEY (stream_id, version)
61
+ )`);
62
+ }
63
+ catch (error) {
64
+ await connection.query('ROLLBACK');
65
+ throw error;
66
+ }
67
+ finally {
68
+ connection.release();
69
+ }
16
70
  }
17
71
  };
18
72
  exports.EventSourcingModule = EventSourcingModule;
19
- exports.EventSourcingModule = EventSourcingModule = __decorate([
73
+ exports.EventSourcingModule = EventSourcingModule = EventSourcingModule_1 = __decorate([
20
74
  (0, common_1.Module)({
21
75
  imports: [],
22
- })
76
+ }),
77
+ __metadata("design:paramtypes", [db_client_1.DbClient])
23
78
  ], EventSourcingModule);
24
79
  //# sourceMappingURL=event-sourcing.module.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"event-sourcing.module.js","sourceRoot":"","sources":["../src/event-sourcing.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAuD;AACvD,0DAG+B;AAKxB,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAC9B,MAAM,CAAC,OAAO,CAAC,OAAmC;QAChD,MAAM,MAAM,GAAG,oCAAuB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAExD,OAAO,MAAM,CAAC;IAChB,CAAC;CACF,CAAA;AANY,kDAAmB;8BAAnB,mBAAmB;IAH/B,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,EAAE;KACZ,CAAC;GACW,mBAAmB,CAM/B"}
1
+ {"version":3,"file":"event-sourcing.module.js","sourceRoot":"","sources":["../src/event-sourcing.module.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAA+E;AAC/E,uCAA+C;AAE/C,kDAA8D;AAC9D,oDAAgD;AAKzC,IAAM,mBAAmB,2BAAzB,MAAM,mBAAmB;IAyBD;IAxB7B,MAAM,CAAC,YAAY,CAAC,MAAkB;QACpC,MAAM,SAAS,GAAe;YAC5B;gBACE,OAAO,EAAE,kCAAsB;gBAC/B,QAAQ,EAAE,MAAM;aACjB;YACD;gBACE,OAAO,EAAE,oBAAQ;gBACjB,UAAU,EAAE,CAAC,OAAmB,EAAE,EAAE;oBAClC,MAAM,MAAM,GAAG,IAAI,oBAAQ,CAAC,OAAO,CAAC,CAAC;oBACrC,OAAO,MAAM,CAAC;gBAChB,CAAC;gBACD,MAAM,EAAE,CAAC,kCAAsB,CAAC;aACjC;SACF,CAAC;QAEF,OAAO;YACL,MAAM,EAAE,qBAAmB;YAC3B,OAAO,EAAE,CAAC,sBAAe,CAAC;YAC1B,SAAS;YACT,OAAO,EAAE,SAAS;SACnB,CAAC;IACJ,CAAC;IAED,YAA6B,QAAkB;QAAlB,aAAQ,GAAR,QAAQ,CAAU;IAAG,CAAC;IAEnD,KAAK,CAAC,YAAY;QAChB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;QAEvD,IAAI,CAAC;YACH,MAAM,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAChC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CACvB;;;;;;;;;;;;kBAYU,CACX,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YACnC,MAAM,KAAK,CAAC;QACd,CAAC;gBAAS,CAAC;YACT,UAAU,CAAC,OAAO,EAAE,CAAC;QACvB,CAAC;IACH,CAAC;CACF,CAAA;AAtDY,kDAAmB;8BAAnB,mBAAmB;IAH/B,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,EAAE;KACZ,CAAC;qCA0BuC,oBAAQ;GAzBpC,mBAAmB,CAsD/B"}
@@ -0,0 +1 @@
1
+ export declare const ensureMetadata: <T>(metadata: unknown) => T | undefined;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ensureMetadata = void 0;
4
+ const ensureMetadata = (metadata) => {
5
+ if (metadata === undefined) {
6
+ return undefined;
7
+ }
8
+ return metadata;
9
+ };
10
+ exports.ensureMetadata = ensureMetadata;
11
+ //# sourceMappingURL=assume-metadata-type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assume-metadata-type.js","sourceRoot":"","sources":["../../../src/helper/metadata/assume-metadata-type.ts"],"names":[],"mappings":";;;AAAO,MAAM,cAAc,GAAG,CAAI,QAAiB,EAAiB,EAAE;IACpE,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,QAAa,CAAC;AACvB,CAAC,CAAC;AANW,QAAA,cAAc,kBAMzB"}
@@ -0,0 +1,4 @@
1
+ import type { Type } from '@nestjs/common';
2
+ import { AggregateMetadata } from 'src/interface/aggregate/aggregate-metadata.interface';
3
+ import { AggregateRoot } from 'src/model/aggregate.root';
4
+ export declare const getAggregateMetadata: (cls: Type<AggregateRoot>) => AggregateMetadata | undefined;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getAggregateMetadata = void 0;
4
+ const constants_1 = require("../../common/constants");
5
+ const assume_metadata_type_1 = require("./assume-metadata-type");
6
+ const getAggregateMetadata = (cls) => {
7
+ return (0, assume_metadata_type_1.ensureMetadata)(Reflect.getMetadata(constants_1.AGGREGATE_METADATA, cls));
8
+ };
9
+ exports.getAggregateMetadata = getAggregateMetadata;
10
+ //# sourceMappingURL=get-aggregate-metadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-aggregate-metadata.js","sourceRoot":"","sources":["../../../src/helper/metadata/get-aggregate-metadata.ts"],"names":[],"mappings":";;;AACA,sDAA0D;AAC1D,iEAA0E;AAInE,MAAM,oBAAoB,GAAG,CAClC,GAAwB,EACO,EAAE;IACjC,OAAO,IAAA,qCAAc,EAAC,OAAO,CAAC,WAAW,CAAC,8BAAkB,EAAE,GAAG,CAAC,CAAC,CAAC;AACtE,CAAC,CAAC;AAJW,QAAA,oBAAoB,wBAI/B"}
@@ -0,0 +1,5 @@
1
+ import { ClassConstructor } from 'src/interface/class-constructor.type';
2
+ import { EventHandlerMetadata } from 'src/interface/event/event-handler-metadata.interface';
3
+ import { IEvent } from 'src/interface/event/event.interface';
4
+ import { AggregateRoot } from 'src/model/aggregate.root';
5
+ export declare const getEventHandlerMetadata: (aggregate: AggregateRoot, eventClass: ClassConstructor<IEvent>) => EventHandlerMetadata | undefined;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getEventHandlerMetadata = void 0;
4
+ const constants_1 = require("../../common/constants");
5
+ const assume_metadata_type_1 = require("./assume-metadata-type");
6
+ const get_event_metadata_1 = require("./get-event-metadata");
7
+ const getEventHandlerMetadata = (aggregate, eventClass) => {
8
+ const { name } = (0, get_event_metadata_1.getEventMetadata)(eventClass);
9
+ return (0, assume_metadata_type_1.ensureMetadata)(Reflect.getMetadata(`${constants_1.EVENT_HANDLER_METADATA}-${name}`, aggregate));
10
+ };
11
+ exports.getEventHandlerMetadata = getEventHandlerMetadata;
12
+ //# sourceMappingURL=get-event-handler-metadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-event-handler-metadata.js","sourceRoot":"","sources":["../../../src/helper/metadata/get-event-handler-metadata.ts"],"names":[],"mappings":";;;AAAA,sDAA8D;AAC9D,iEAA0E;AAC1E,6DAA0E;AAMnE,MAAM,uBAAuB,GAAG,CACrC,SAAwB,EACxB,UAAoC,EACF,EAAE;IACpC,MAAM,EAAE,IAAI,EAAE,GAAG,IAAA,qCAAgB,EAAC,UAAU,CAAC,CAAC;IAE9C,OAAO,IAAA,qCAAc,EACnB,OAAO,CAAC,WAAW,CAAC,GAAG,kCAAsB,IAAI,IAAI,EAAE,EAAE,SAAS,CAAC,CACpE,CAAC;AACJ,CAAC,CAAC;AATW,QAAA,uBAAuB,2BASlC"}
@@ -0,0 +1,4 @@
1
+ import { ClassConstructor } from 'src/interface/class-constructor.type';
2
+ import { EventMetadata } from 'src/interface/event/event-metadata.interface';
3
+ import { IEvent } from 'src/interface/event/event.interface';
4
+ export declare const getEventMetadata: (event: ClassConstructor<IEvent>) => EventMetadata;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getEventMetadata = void 0;
4
+ const constants_1 = require("../../common/constants");
5
+ const getEventMetadata = (event) => {
6
+ return Reflect.getMetadata(constants_1.EVENT_METADATA, event);
7
+ };
8
+ exports.getEventMetadata = getEventMetadata;
9
+ //# sourceMappingURL=get-event-metadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-event-metadata.js","sourceRoot":"","sources":["../../../src/helper/metadata/get-event-metadata.ts"],"names":[],"mappings":";;;AAAA,sDAAsD;AAK/C,MAAM,gBAAgB,GAAG,CAC9B,KAA+B,EAChB,EAAE;IACjB,OAAO,OAAO,CAAC,WAAW,CAAC,0BAAc,EAAE,KAAK,CAAkB,CAAC;AACrE,CAAC,CAAC;AAJW,QAAA,gBAAgB,oBAI3B"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,17 @@
1
- export { AppModule } from './app.module';
2
- export { AppService } from './app.service';
3
- export { EventSourcingModule } from './event-sourcing.module';
4
- export { TempEventStore } from './temp.event-store';
1
+ export * from './event-sourcing.module';
2
+ export * from './decorator/aggregate.decorator';
3
+ export * from './decorator/event.decorator';
4
+ export * from './decorator/event-handler.decorator';
5
+ export * from './model/aggregate.root';
6
+ export * from './model/event-envelope';
7
+ export * from './interface/class-constructor.type';
8
+ export * from './interface/postgres-event-store-config';
9
+ export * from './interface/postgres-snapshot-store-config';
10
+ export * from './interface/aggregate/aggregate-metadata.interface';
11
+ export * from './interface/aggregate/event-handler-method.type';
12
+ export * from './interface/event/event.interface';
13
+ export * from './interface/event/event-envelope-metadata.interface';
14
+ export * from './interface/event/event-handler-metadata.interface';
15
+ export * from './interface/event/event-metadata.interface';
16
+ export * from './interface/event/event-publisher.interface';
17
+ export * from './common/constants';
package/dist/index.js CHANGED
@@ -1,12 +1,34 @@
1
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
+ };
2
16
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TempEventStore = exports.EventSourcingModule = exports.AppService = exports.AppModule = void 0;
4
- var app_module_1 = require("./app.module");
5
- Object.defineProperty(exports, "AppModule", { enumerable: true, get: function () { return app_module_1.AppModule; } });
6
- var app_service_1 = require("./app.service");
7
- Object.defineProperty(exports, "AppService", { enumerable: true, get: function () { return app_service_1.AppService; } });
8
- var event_sourcing_module_1 = require("./event-sourcing.module");
9
- Object.defineProperty(exports, "EventSourcingModule", { enumerable: true, get: function () { return event_sourcing_module_1.EventSourcingModule; } });
10
- var temp_event_store_1 = require("./temp.event-store");
11
- Object.defineProperty(exports, "TempEventStore", { enumerable: true, get: function () { return temp_event_store_1.TempEventStore; } });
17
+ __exportStar(require("./event-sourcing.module"), exports);
18
+ __exportStar(require("./decorator/aggregate.decorator"), exports);
19
+ __exportStar(require("./decorator/event.decorator"), exports);
20
+ __exportStar(require("./decorator/event-handler.decorator"), exports);
21
+ __exportStar(require("./model/aggregate.root"), exports);
22
+ __exportStar(require("./model/event-envelope"), exports);
23
+ __exportStar(require("./interface/class-constructor.type"), exports);
24
+ __exportStar(require("./interface/postgres-event-store-config"), exports);
25
+ __exportStar(require("./interface/postgres-snapshot-store-config"), exports);
26
+ __exportStar(require("./interface/aggregate/aggregate-metadata.interface"), exports);
27
+ __exportStar(require("./interface/aggregate/event-handler-method.type"), exports);
28
+ __exportStar(require("./interface/event/event.interface"), exports);
29
+ __exportStar(require("./interface/event/event-envelope-metadata.interface"), exports);
30
+ __exportStar(require("./interface/event/event-handler-metadata.interface"), exports);
31
+ __exportStar(require("./interface/event/event-metadata.interface"), exports);
32
+ __exportStar(require("./interface/event/event-publisher.interface"), exports);
33
+ __exportStar(require("./common/constants"), exports);
12
34
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,2CAAyC;AAAhC,uGAAA,SAAS,OAAA;AAClB,6CAA2C;AAAlC,yGAAA,UAAU,OAAA;AACnB,iEAA8D;AAArD,4HAAA,mBAAmB,OAAA;AAC5B,uDAAoD;AAA3C,kHAAA,cAAc,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0DAAwC;AACxC,kEAAgD;AAChD,8DAA4C;AAC5C,sEAAoD;AACpD,yDAAuC;AACvC,yDAAuC;AACvC,qEAAmD;AACnD,0EAAwD;AACxD,6EAA2D;AAC3D,qFAAmE;AACnE,kFAAgE;AAChE,oEAAkD;AAClD,sFAAoE;AACpE,qFAAmE;AACnE,6EAA2D;AAC3D,8EAA4D;AAC5D,qDAAmC"}
@@ -0,0 +1,5 @@
1
+ import { IEventPublisher } from 'src/interface/event/event-publisher.interface';
2
+ export interface AggregateMetadata {
3
+ streamName?: string;
4
+ publishers?: IEventPublisher[];
5
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=aggregate-metadata.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aggregate-metadata.interface.js","sourceRoot":"","sources":["../../../src/interface/aggregate/aggregate-metadata.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ import { IEvent } from 'src/interface/event/event.interface';
2
+ export type IEventHandlerMethod<E extends IEvent> = (event: E) => void;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=event-handler-method.type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-handler-method.type.js","sourceRoot":"","sources":["../../../src/interface/aggregate/event-handler-method.type.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ export interface ClassConstructor<T = any> extends Function {
2
+ new (...args: any[]): T;
3
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=class-constructor.type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"class-constructor.type.js","sourceRoot":"","sources":["../../src/interface/class-constructor.type.ts"],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ import { TimeUUID } from '@smiledragon-corp/time-uuid';
2
+ export interface EventEnvelopeMetadata {
3
+ eventId: TimeUUID;
4
+ aggregateId: string;
5
+ version: number;
6
+ occurredOn: Date;
7
+ correlationId?: string;
8
+ causationId?: string;
9
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=event-envelope-metadata.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-envelope-metadata.interface.js","sourceRoot":"","sources":["../../../src/interface/event/event-envelope-metadata.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ export interface EventHandlerMetadata {
2
+ method: string;
3
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=event-handler-metadata.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-handler-metadata.interface.js","sourceRoot":"","sources":["../../../src/interface/event/event-handler-metadata.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ export interface EventMetadata {
2
+ id: string;
3
+ name: string;
4
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=event-metadata.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-metadata.interface.js","sourceRoot":"","sources":["../../../src/interface/event/event-metadata.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import { EventEnvelope } from 'src/model/event-envelope';
2
+ export interface IEventPublisher {
3
+ publish(envelope: EventEnvelope, ...params: any[]): any;
4
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=event-publisher.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-publisher.interface.js","sourceRoot":"","sources":["../../../src/interface/event/event-publisher.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export type IEvent = object;
2
+ export type IEventPayload<E extends IEvent> = Record<keyof E, any>;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=event.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event.interface.js","sourceRoot":"","sources":["../../../src/interface/event/event.interface.ts"],"names":[],"mappings":""}
@@ -1,5 +1,6 @@
1
- import { EventStore } from '@ocoda/event-sourcing';
2
1
  import { PoolConfig } from 'pg';
2
+ import { ClassConstructor } from 'src/interface/class-constructor.type';
3
+ import { TempEventStore } from 'src/temp.event-store';
3
4
  export interface PostgresEventStoreConfig extends PoolConfig {
4
- driver: EventStore;
5
+ driver: ClassConstructor<TempEventStore>;
5
6
  }