@tsed/mikro-orm 7.31.0 → 7.32.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/jest.config.js CHANGED
@@ -6,10 +6,10 @@ module.exports = {
6
6
  roots: ["<rootDir>/src", "<rootDir>/test"],
7
7
  coverageThreshold: {
8
8
  global: {
9
- branches: 88.31,
10
- functions: 94.73,
11
- lines: 97.43,
12
- statements: 97.88
9
+ branches: 87.17,
10
+ functions: 97.56,
11
+ lines: 98.24,
12
+ statements: 98.24
13
13
  }
14
14
  }
15
15
  };
@@ -8,13 +8,20 @@ const MikroOrmRegistry_1 = require("./services/MikroOrmRegistry");
8
8
  const RetryStrategy_1 = require("./services/RetryStrategy");
9
9
  const OptimisticLockErrorFilter_1 = require("./filters/OptimisticLockErrorFilter");
10
10
  const MikroOrmContext_1 = require("./services/MikroOrmContext");
11
+ const core_1 = require("@tsed/core");
12
+ const constants_1 = require("./constants");
11
13
  let MikroOrmModule = class MikroOrmModule {
14
+ subscribers;
12
15
  settings;
13
16
  registry;
14
17
  context;
18
+ injector;
19
+ constructor(subscribers) {
20
+ this.subscribers = subscribers;
21
+ }
15
22
  async $onInit() {
16
- const promises = this.settings.map((opts) => this.registry.register(opts));
17
- await Promise.all(promises);
23
+ const container = new di_1.LocalsContainer();
24
+ await Promise.all(this.settings.map((opts) => this.registry.register({ ...opts, subscribers: this.getSubscribers(opts, container) })));
18
25
  }
19
26
  $onDestroy() {
20
27
  return this.registry.clear();
@@ -22,6 +29,24 @@ let MikroOrmModule = class MikroOrmModule {
22
29
  $alterRunInContext(next) {
23
30
  return () => this.createContext(next);
24
31
  }
32
+ getSubscribers(opts, container) {
33
+ return [...this.getUnmanagedSubscribers(opts, container), ...this.getManagedSubscribers(opts.contextName)];
34
+ }
35
+ getUnmanagedSubscribers(opts, container) {
36
+ const diOpts = { scope: di_1.ProviderScope.INSTANCE };
37
+ return (opts.subscribers ?? []).map((subscriber) => {
38
+ // Starting from https://github.com/mikro-orm/mikro-orm/issues/4231 mikro-orm
39
+ // accept also accepts class reference, not just instances.
40
+ if ((0, core_1.isFunction)(subscriber)) {
41
+ return this.injector.invoke(subscriber, container, diOpts);
42
+ }
43
+ this.injector.bindInjectableProperties(subscriber, container, diOpts);
44
+ return subscriber;
45
+ });
46
+ }
47
+ getManagedSubscribers(contextName = constants_1.DEFAULT_CONTEXT_NAME) {
48
+ return this.subscribers.filter((instance) => core_1.Store.from((0, core_1.classOf)(instance)).get(constants_1.SUBSCRIBER_INJECTION_TYPE)?.contextName === contextName);
49
+ }
25
50
  createContext(next) {
26
51
  const instances = [...this.registry.values()];
27
52
  const managers = instances.map((orm) => orm.em);
@@ -40,10 +65,16 @@ tslib_1.__decorate([
40
65
  (0, di_1.Inject)(),
41
66
  tslib_1.__metadata("design:type", MikroOrmContext_1.MikroOrmContext)
42
67
  ], MikroOrmModule.prototype, "context", void 0);
68
+ tslib_1.__decorate([
69
+ (0, di_1.Inject)(),
70
+ tslib_1.__metadata("design:type", di_1.InjectorService)
71
+ ], MikroOrmModule.prototype, "injector", void 0);
43
72
  MikroOrmModule = tslib_1.__decorate([
44
73
  (0, di_1.Module)({
45
74
  responseFilters: [OptimisticLockErrorFilter_1.OptimisticLockErrorFilter]
46
- })
75
+ }),
76
+ tslib_1.__param(0, (0, di_1.Inject)(constants_1.SUBSCRIBER_INJECTION_TYPE)),
77
+ tslib_1.__metadata("design:paramtypes", [Array])
47
78
  ], MikroOrmModule);
48
79
  exports.MikroOrmModule = MikroOrmModule;
49
80
  // TODO: the IoC container should provide null or undefined by default until tsedio/tsed#1694 is closed
@@ -1 +1 @@
1
- {"version":3,"file":"MikroOrmModule.js","sourceRoot":"","sources":["../../src/MikroOrmModule.ts"],"names":[],"mappings":";;;;AAAA,sCAAoC;AACpC,iCAAqH;AAErH,kEAA6D;AAC7D,4DAAuD;AACvD,mFAA8E;AAC9E,gEAA2D;AAkBpD,IAAM,cAAc,GAApB,MAAM,cAAc;IAER,QAAQ,CAAa;IAGrB,QAAQ,CAAoB;IAG5B,OAAO,CAAmB;IAEpC,KAAK,CAAC,OAAO;QAClB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QAE3E,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC9B,CAAC;IAEM,UAAU;QACf,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC;IAEM,kBAAkB,CAAC,IAAqC;QAC7D,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAEO,aAAa,CAAC,IAAqC;QACzD,MAAM,SAAS,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QAC9C,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEhD,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC1C,CAAC;CACF,CAAA;AA7BC;IAAC,IAAA,aAAQ,EAAC,UAAU,EAAE,EAAE,CAAC;;gDACa;AAEtC;IAAC,IAAA,WAAM,GAAE;sCACmB,mCAAgB;gDAAC;AAE7C;IAAC,IAAA,WAAM,GAAE;sCACkB,iCAAe;+CAAC;AARhC,cAAc;IAH1B,IAAA,WAAM,EAAC;QACN,eAAe,EAAE,CAAC,qDAAyB,CAAC;KAC7C,CAAC;GACW,cAAc,CA8B1B;AA9BY,wCAAc;AAgC3B,uGAAuG;AACvG,IAAA,qBAAgB,EAAC,EAAC,OAAO,EAAE,6BAAa,EAAE,QAAQ,EAAE,IAAI,EAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"MikroOrmModule.js","sourceRoot":"","sources":["../../src/MikroOrmModule.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SUBSCRIBER_INJECTION_TYPE = exports.DEFAULT_CONTEXT_NAME = void 0;
4
+ exports.DEFAULT_CONTEXT_NAME = "default";
5
+ exports.SUBSCRIBER_INJECTION_TYPE = Symbol("Subscriber");
6
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,oBAAoB,GAAG,SAAS,CAAC;AACjC,QAAA,yBAAyB,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Subscriber = void 0;
4
+ const core_1 = require("@tsed/core");
5
+ const di_1 = require("@tsed/di");
6
+ const constants_1 = require("../constants");
7
+ /**
8
+ * Register a new subscriber for the given context name.
9
+ * @decorator
10
+ * @mikroOrm
11
+ */
12
+ const Subscriber = (options = { contextName: constants_1.DEFAULT_CONTEXT_NAME }) => (0, core_1.useDecorators)((0, di_1.Injectable)({ type: constants_1.SUBSCRIBER_INJECTION_TYPE }), (0, core_1.StoreSet)(constants_1.SUBSCRIBER_INJECTION_TYPE, options));
13
+ exports.Subscriber = Subscriber;
14
+ //# sourceMappingURL=subscriber.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscriber.js","sourceRoot":"","sources":["../../../src/decorators/subscriber.ts"],"names":[],"mappings":";;;AAAA,qCAAmD;AACnD,iCAAoC;AACpC,4CAA6E;AAE7E;;;;GAIG;AACI,MAAM,UAAU,GAAG,CAAC,UAAiC,EAAC,WAAW,EAAE,gCAAoB,EAAC,EAAE,EAAE,CACjG,IAAA,oBAAa,EAAC,IAAA,eAAU,EAAC,EAAC,IAAI,EAAE,qCAAyB,EAAC,CAAC,EAAE,IAAA,eAAQ,EAAC,qCAAyB,EAAE,OAAO,CAAC,CAAC,CAAC;AADhG,QAAA,UAAU,cACsF"}
package/lib/cjs/index.js CHANGED
@@ -5,8 +5,10 @@
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const tslib_1 = require("tslib");
7
7
  tslib_1.__exportStar(require("./MikroOrmModule"), exports);
8
+ tslib_1.__exportStar(require("./constants"), exports);
8
9
  tslib_1.__exportStar(require("./decorators/entityManager"), exports);
9
10
  tslib_1.__exportStar(require("./decorators/orm"), exports);
11
+ tslib_1.__exportStar(require("./decorators/subscriber"), exports);
10
12
  tslib_1.__exportStar(require("./decorators/transactional"), exports);
11
13
  tslib_1.__exportStar(require("./filters/OptimisticLockErrorFilter"), exports);
12
14
  tslib_1.__exportStar(require("./interceptors/TransactionalInterceptor"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,2DAAiC;AACjC,qEAA2C;AAC3C,2DAAiC;AACjC,qEAA2C;AAC3C,8EAAoD;AACpD,kFAAwD;AACxD,qEAA2C;AAC3C,qEAA2C;AAC3C,sEAA4C;AAC5C,mEAAyC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,2DAAiC;AACjC,sDAA4B;AAC5B,qEAA2C;AAC3C,2DAAiC;AACjC,kEAAwC;AACxC,qEAA2C;AAC3C,8EAAoD;AACpD,kFAAwD;AACxD,qEAA2C;AAC3C,qEAA2C;AAC3C,sEAA4C;AAC5C,mEAAyC"}
@@ -1,17 +1,24 @@
1
- import { __decorate, __metadata } from "tslib";
1
+ import { __decorate, __metadata, __param } from "tslib";
2
2
  import "./services/MikroOrmFactory.js";
3
- import { Constant, Inject, Module, registerProvider } from "@tsed/di";
3
+ import { Constant, Inject, InjectorService, LocalsContainer, Module, ProviderScope, registerProvider } from "@tsed/di";
4
4
  import { MikroOrmRegistry } from "./services/MikroOrmRegistry.js";
5
5
  import { RetryStrategy } from "./services/RetryStrategy.js";
6
6
  import { OptimisticLockErrorFilter } from "./filters/OptimisticLockErrorFilter.js";
7
7
  import { MikroOrmContext } from "./services/MikroOrmContext.js";
8
+ import { classOf, isFunction, Store } from "@tsed/core";
9
+ import { DEFAULT_CONTEXT_NAME, SUBSCRIBER_INJECTION_TYPE } from "./constants.js";
8
10
  let MikroOrmModule = class MikroOrmModule {
11
+ subscribers;
9
12
  settings;
10
13
  registry;
11
14
  context;
15
+ injector;
16
+ constructor(subscribers) {
17
+ this.subscribers = subscribers;
18
+ }
12
19
  async $onInit() {
13
- const promises = this.settings.map((opts) => this.registry.register(opts));
14
- await Promise.all(promises);
20
+ const container = new LocalsContainer();
21
+ await Promise.all(this.settings.map((opts) => this.registry.register({ ...opts, subscribers: this.getSubscribers(opts, container) })));
15
22
  }
16
23
  $onDestroy() {
17
24
  return this.registry.clear();
@@ -19,6 +26,24 @@ let MikroOrmModule = class MikroOrmModule {
19
26
  $alterRunInContext(next) {
20
27
  return () => this.createContext(next);
21
28
  }
29
+ getSubscribers(opts, container) {
30
+ return [...this.getUnmanagedSubscribers(opts, container), ...this.getManagedSubscribers(opts.contextName)];
31
+ }
32
+ getUnmanagedSubscribers(opts, container) {
33
+ const diOpts = { scope: ProviderScope.INSTANCE };
34
+ return (opts.subscribers ?? []).map((subscriber) => {
35
+ // Starting from https://github.com/mikro-orm/mikro-orm/issues/4231 mikro-orm
36
+ // accept also accepts class reference, not just instances.
37
+ if (isFunction(subscriber)) {
38
+ return this.injector.invoke(subscriber, container, diOpts);
39
+ }
40
+ this.injector.bindInjectableProperties(subscriber, container, diOpts);
41
+ return subscriber;
42
+ });
43
+ }
44
+ getManagedSubscribers(contextName = DEFAULT_CONTEXT_NAME) {
45
+ return this.subscribers.filter((instance) => Store.from(classOf(instance)).get(SUBSCRIBER_INJECTION_TYPE)?.contextName === contextName);
46
+ }
22
47
  createContext(next) {
23
48
  const instances = [...this.registry.values()];
24
49
  const managers = instances.map((orm) => orm.em);
@@ -37,10 +62,16 @@ __decorate([
37
62
  Inject(),
38
63
  __metadata("design:type", MikroOrmContext)
39
64
  ], MikroOrmModule.prototype, "context", void 0);
65
+ __decorate([
66
+ Inject(),
67
+ __metadata("design:type", InjectorService)
68
+ ], MikroOrmModule.prototype, "injector", void 0);
40
69
  MikroOrmModule = __decorate([
41
70
  Module({
42
71
  responseFilters: [OptimisticLockErrorFilter]
43
- })
72
+ }),
73
+ __param(0, Inject(SUBSCRIBER_INJECTION_TYPE)),
74
+ __metadata("design:paramtypes", [Array])
44
75
  ], MikroOrmModule);
45
76
  export { MikroOrmModule };
46
77
  // TODO: the IoC container should provide null or undefined by default until tsedio/tsed#1694 is closed
@@ -1 +1 @@
1
- {"version":3,"file":"MikroOrmModule.js","sourceRoot":"","sources":["../../src/MikroOrmModule.ts"],"names":[],"mappings":";AAAA,OAAO,4BAA4B,CAAC;AACpC,OAAO,EAAoB,QAAQ,EAAa,MAAM,EAAE,MAAM,EAAqB,gBAAgB,EAAC,MAAM,UAAU,CAAC;AAErH,OAAO,EAAC,gBAAgB,EAAC,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAC,aAAa,EAAC,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAC,yBAAyB,EAAC,MAAM,qCAAqC,CAAC;AAC9E,OAAO,EAAC,eAAe,EAAC,MAAM,4BAA4B,CAAC;AAkBpD,IAAM,cAAc,GAApB,MAAM,cAAc;IAER,QAAQ,CAAa;IAGrB,QAAQ,CAAoB;IAG5B,OAAO,CAAmB;IAEpC,KAAK,CAAC,OAAO;QAClB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QAE3E,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC9B,CAAC;IAEM,UAAU;QACf,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC;IAEM,kBAAkB,CAAC,IAAqC;QAC7D,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAEO,aAAa,CAAC,IAAqC;QACzD,MAAM,SAAS,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QAC9C,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEhD,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC1C,CAAC;CACF,CAAA;AA7BC;IAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC;;gDACa;AAEtC;IAAC,MAAM,EAAE;8BACmB,gBAAgB;gDAAC;AAE7C;IAAC,MAAM,EAAE;8BACkB,eAAe;+CAAC;AARhC,cAAc;IAH1B,MAAM,CAAC;QACN,eAAe,EAAE,CAAC,yBAAyB,CAAC;KAC7C,CAAC;GACW,cAAc,CA8B1B;SA9BY,cAAc;AAgC3B,uGAAuG;AACvG,gBAAgB,CAAC,EAAC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"MikroOrmModule.js","sourceRoot":"","sources":["../../src/MikroOrmModule.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export const DEFAULT_CONTEXT_NAME = "default";
2
+ export const SUBSCRIBER_INJECTION_TYPE = Symbol("Subscriber");
3
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,oBAAoB,GAAG,SAAS,CAAC;AAC9C,MAAM,CAAC,MAAM,yBAAyB,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { StoreSet, useDecorators } from "@tsed/core";
2
+ import { Injectable } from "@tsed/di";
3
+ import { DEFAULT_CONTEXT_NAME, SUBSCRIBER_INJECTION_TYPE } from "../constants.js";
4
+ /**
5
+ * Register a new subscriber for the given context name.
6
+ * @decorator
7
+ * @mikroOrm
8
+ */
9
+ export const Subscriber = (options = { contextName: DEFAULT_CONTEXT_NAME }) => useDecorators(Injectable({ type: SUBSCRIBER_INJECTION_TYPE }), StoreSet(SUBSCRIBER_INJECTION_TYPE, options));
10
+ //# sourceMappingURL=subscriber.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscriber.js","sourceRoot":"","sources":["../../../src/decorators/subscriber.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAE,aAAa,EAAC,MAAM,YAAY,CAAC;AACnD,OAAO,EAAC,UAAU,EAAC,MAAM,UAAU,CAAC;AACpC,OAAO,EAAC,oBAAoB,EAAE,yBAAyB,EAAC,MAAM,cAAc,CAAC;AAE7E;;;;GAIG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,UAAiC,EAAC,WAAW,EAAE,oBAAoB,EAAC,EAAE,EAAE,CACjG,aAAa,CAAC,UAAU,CAAC,EAAC,IAAI,EAAE,yBAAyB,EAAC,CAAC,EAAE,QAAQ,CAAC,yBAAyB,EAAE,OAAO,CAAC,CAAC,CAAC"}
package/lib/esm/index.js CHANGED
@@ -2,8 +2,10 @@
2
2
  * @file Automatically generated by barrelsby.
3
3
  */
4
4
  export * from "./MikroOrmModule.js";
5
+ export * from "./constants.js";
5
6
  export * from "./decorators/entityManager.js";
6
7
  export * from "./decorators/orm.js";
8
+ export * from "./decorators/subscriber.js";
7
9
  export * from "./decorators/transactional.js";
8
10
  export * from "./filters/OptimisticLockErrorFilter.js";
9
11
  export * from "./interceptors/TransactionalInterceptor.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qCAAqC,CAAC;AACpD,cAAc,yCAAyC,CAAC;AACxD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qCAAqC,CAAC;AACpD,cAAc,yCAAyC,CAAC;AACxD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,0BAA0B,CAAC"}