@tstdl/base 0.85.26 → 0.86.0-beta10

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 (225) hide show
  1. package/_container/decorators.d.ts +76 -0
  2. package/_container/decorators.js +110 -0
  3. package/_container/index.d.ts +10 -0
  4. package/_container/index.js +27 -0
  5. package/_container/interfaces.d.ts +16 -0
  6. package/_container/interfaces.js +26 -0
  7. package/_container/token.d.ts +18 -0
  8. package/_container/token.js +41 -0
  9. package/api/client/client.d.ts +2 -2
  10. package/api/client/client.js +5 -3
  11. package/api/server/api-controller.d.ts +2 -2
  12. package/api/server/api-controller.js +5 -4
  13. package/api/server/api-request-token.provider.js +2 -2
  14. package/api/server/gateway.d.ts +5 -6
  15. package/api/server/gateway.js +25 -12
  16. package/api/server/module.js +4 -4
  17. package/api/server/tokens.d.ts +4 -1
  18. package/api/server/tokens.js +8 -2
  19. package/application/application.d.ts +13 -10
  20. package/application/application.js +38 -45
  21. package/authentication/client/api.client.js +3 -3
  22. package/authentication/client/authentication.service.d.ts +4 -4
  23. package/authentication/client/authentication.service.js +20 -21
  24. package/authentication/client/http-client.middleware.d.ts +3 -5
  25. package/authentication/client/http-client.middleware.js +3 -12
  26. package/authentication/client/module.d.ts +2 -1
  27. package/authentication/client/module.js +15 -7
  28. package/authentication/client/tokens.d.ts +2 -2
  29. package/authentication/client/tokens.js +5 -4
  30. package/authentication/server/authentication-api-request-token.provider.js +2 -2
  31. package/authentication/server/authentication-secret-requirements.validator.js +2 -2
  32. package/authentication/server/authentication.service.d.ts +2 -2
  33. package/authentication/server/authentication.service.js +9 -9
  34. package/authentication/server/module.d.ts +2 -1
  35. package/authentication/server/module.js +8 -7
  36. package/authentication/server/mongo/mongo-authentication-credentials.repository.d.ts +3 -3
  37. package/authentication/server/mongo/mongo-authentication-credentials.repository.js +4 -4
  38. package/authentication/server/mongo/mongo-authentication-session.repository.d.ts +3 -3
  39. package/authentication/server/mongo/mongo-authentication-session.repository.js +4 -4
  40. package/browser/browser-context-controller.d.ts +4 -4
  41. package/browser/browser-context-controller.js +15 -9
  42. package/browser/browser-controller.d.ts +12 -5
  43. package/browser/browser-controller.js +24 -10
  44. package/browser/browser.service.d.ts +12 -6
  45. package/browser/browser.service.js +13 -10
  46. package/browser/module.js +2 -2
  47. package/container/decorators.d.ts +2 -76
  48. package/container/decorators.js +12 -88
  49. package/container/index.d.ts +0 -7
  50. package/container/index.js +0 -7
  51. package/container/interfaces.d.ts +2 -16
  52. package/container/interfaces.js +3 -4
  53. package/container/token.d.ts +2 -18
  54. package/container/token.js +4 -19
  55. package/core.d.ts +4 -2
  56. package/core.js +15 -8
  57. package/database/mongo/classes.d.ts +5 -5
  58. package/database/mongo/classes.js +5 -4
  59. package/database/mongo/module.js +24 -16
  60. package/database/mongo/mongo-entity-repository.d.ts +2 -2
  61. package/database/mongo/mongo-entity-repository.js +2 -2
  62. package/disposable/async-disposer.d.ts +4 -4
  63. package/distributed-loop/distributed-loop.d.ts +3 -3
  64. package/distributed-loop/distributed-loop.js +3 -3
  65. package/distributed-loop/provider.js +2 -2
  66. package/examples/api/authentication.js +17 -10
  67. package/examples/api/basic-overview.js +4 -5
  68. package/examples/api/custom-authentication.js +9 -6
  69. package/examples/api/streaming.js +5 -5
  70. package/examples/browser/basic.js +5 -5
  71. package/examples/http/client.js +6 -4
  72. package/examples/mail/basic.js +9 -4
  73. package/examples/pdf/basic.js +9 -5
  74. package/examples/template/basic.js +8 -6
  75. package/function/log.js +1 -1
  76. package/http/client/adapters/undici-http-client.adapter.js +7 -6
  77. package/http/client/http-client-options.d.ts +0 -5
  78. package/http/client/http-client-options.js +0 -4
  79. package/http/client/http-client.d.ts +5 -8
  80. package/http/client/http-client.js +10 -7
  81. package/http/client/middleware.d.ts +6 -0
  82. package/http/client/middleware.js +16 -0
  83. package/http/client/module.d.ts +6 -1
  84. package/http/client/module.js +10 -5
  85. package/http/client/tokens.d.ts +2 -0
  86. package/http/client/tokens.js +25 -0
  87. package/http/server/node/module.js +2 -2
  88. package/http/server/node/node-http-server.d.ts +1 -4
  89. package/http/server/node/node-http-server.js +3 -7
  90. package/image-service/imgproxy/imgproxy-image-service.d.ts +6 -8
  91. package/image-service/imgproxy/imgproxy-image-service.js +17 -16
  92. package/injector/decorators.d.ts +12 -6
  93. package/injector/decorators.js +14 -0
  94. package/injector/index.d.ts +11 -0
  95. package/injector/index.js +28 -0
  96. package/injector/inject.d.ts +6 -1
  97. package/injector/inject.js +14 -2
  98. package/injector/injector.d.ts +14 -34
  99. package/injector/injector.js +91 -48
  100. package/injector/interfaces.d.ts +7 -5
  101. package/injector/provider.d.ts +19 -14
  102. package/injector/token.d.ts +10 -3
  103. package/injector/token.js +1 -1
  104. package/injector/type-info.d.ts +2 -0
  105. package/injector/types.d.ts +13 -7
  106. package/key-value-store/key-value.store.d.ts +3 -3
  107. package/key-value-store/key-value.store.js +1 -1
  108. package/key-value-store/mongo/module.js +4 -4
  109. package/key-value-store/mongo/mongo-key-value-store.provider.js +2 -2
  110. package/key-value-store/mongo/mongo-key-value.repository.d.ts +3 -3
  111. package/key-value-store/mongo/mongo-key-value.repository.js +4 -4
  112. package/key-value-store/mongo/mongo-key-value.store.js +3 -3
  113. package/key-value-store/mongo/tokens.d.ts +1 -1
  114. package/key-value-store/mongo/tokens.js +1 -1
  115. package/lock/lock.d.ts +3 -2
  116. package/lock/lock.js +1 -0
  117. package/lock/mongo/lock.js +4 -4
  118. package/lock/mongo/module.js +3 -3
  119. package/lock/mongo/mongo-lock-repository.d.ts +3 -3
  120. package/lock/mongo/mongo-lock-repository.js +3 -3
  121. package/lock/mongo/provider.js +5 -5
  122. package/lock/provider.d.ts +3 -2
  123. package/lock/provider.js +1 -0
  124. package/lock/web/module.js +3 -3
  125. package/lock/web/web-lock.js +2 -2
  126. package/lock/web/web-lock.provider.js +3 -3
  127. package/logger/console/logger.js +2 -2
  128. package/logger/logger.d.ts +3 -2
  129. package/logger/logger.js +1 -0
  130. package/mail/clients/nodemailer.mail-client.js +6 -5
  131. package/mail/mail.client.d.ts +3 -2
  132. package/mail/mail.client.js +1 -0
  133. package/mail/mail.service.js +7 -7
  134. package/mail/module.js +5 -5
  135. package/mail/repositories/mongo-mail-log.repository.d.ts +3 -3
  136. package/mail/repositories/mongo-mail-log.repository.js +3 -3
  137. package/mail/tokens.d.ts +1 -1
  138. package/mail/tokens.js +2 -2
  139. package/message-bus/broadcast-channel/broadcast-channel-message-bus-provider.js +3 -3
  140. package/message-bus/broadcast-channel/broadcast-channel-message-bus.d.ts +1 -1
  141. package/message-bus/broadcast-channel/broadcast-channel-message-bus.js +3 -3
  142. package/message-bus/broadcast-channel/module.js +3 -3
  143. package/message-bus/local/local-message-bus-provider.js +4 -4
  144. package/message-bus/local/local-message-bus.d.ts +1 -1
  145. package/message-bus/local/local-message-bus.js +3 -3
  146. package/message-bus/local/module.js +3 -3
  147. package/message-bus/message-bus.d.ts +3 -3
  148. package/message-bus/message-bus.js +1 -0
  149. package/migration/index.d.ts +1 -1
  150. package/migration/index.js +1 -1
  151. package/migration/migrator.js +4 -4
  152. package/migration/mongo/migration-state-repository.d.ts +3 -3
  153. package/migration/mongo/migration-state-repository.js +4 -4
  154. package/migration/mongo/module.js +2 -2
  155. package/module/modules/web-server.module.d.ts +5 -10
  156. package/module/modules/web-server.module.js +16 -36
  157. package/notification/notification.service.js +2 -2
  158. package/object-storage/object-storage.d.ts +3 -3
  159. package/object-storage/object-storage.js +1 -0
  160. package/object-storage/s3/s3.object-storage-provider.js +6 -5
  161. package/object-storage/s3/s3.object-storage.d.ts +2 -2
  162. package/object-storage/s3/s3.object-storage.js +4 -4
  163. package/openid-connect/cached-oidc-configuration.service.js +3 -3
  164. package/openid-connect/index.d.ts +1 -1
  165. package/openid-connect/index.js +3 -3
  166. package/openid-connect/mongo-oidc-state.repository.d.ts +3 -3
  167. package/openid-connect/mongo-oidc-state.repository.js +6 -5
  168. package/openid-connect/oidc-configuration.service.js +2 -2
  169. package/openid-connect/oidc.service.js +4 -4
  170. package/package.json +1 -1
  171. package/pdf/pdf.service.d.ts +3 -3
  172. package/pdf/pdf.service.js +5 -5
  173. package/process-shutdown.d.ts +2 -2
  174. package/process-shutdown.js +6 -8
  175. package/queue/mongo/mongo-job.repository.d.ts +3 -3
  176. package/queue/mongo/mongo-job.repository.js +4 -4
  177. package/queue/mongo/queue.js +4 -4
  178. package/queue/mongo/queue.provider.d.ts +3 -3
  179. package/queue/mongo/queue.provider.js +8 -6
  180. package/queue/queue.d.ts +3 -3
  181. package/queue/queue.js +1 -1
  182. package/search-index/elastic/config.d.ts +3 -3
  183. package/search-index/elastic/config.js +4 -3
  184. package/search-index/elastic/module.d.ts +1 -3
  185. package/search-index/elastic/module.js +21 -18
  186. package/search-index/elastic/search-index.d.ts +2 -2
  187. package/search-index/elastic/search-index.js +2 -2
  188. package/templates/module.d.ts +2 -2
  189. package/templates/module.js +12 -26
  190. package/templates/providers/file.template-provider.d.ts +3 -3
  191. package/templates/providers/file.template-provider.js +5 -4
  192. package/templates/providers/memory.template-provider.js +2 -2
  193. package/templates/renderers/handlebars.template-renderer.js +2 -2
  194. package/templates/renderers/jsx.template-renderer.js +2 -2
  195. package/templates/renderers/mjml.template-renderer.js +3 -3
  196. package/templates/renderers/string.template-renderer.js +2 -2
  197. package/templates/resolvers/file.template-resolver.d.ts +3 -3
  198. package/templates/resolvers/file.template-resolver.js +6 -5
  199. package/templates/resolvers/jsx.template-resolver.js +2 -2
  200. package/templates/resolvers/string.template-resolver.js +2 -2
  201. package/templates/template-renderer.provider.js +3 -3
  202. package/templates/template-resolver.provider.js +3 -3
  203. package/templates/template.service.js +4 -4
  204. package/templates/tokens.d.ts +2 -2
  205. package/templates/tokens.js +3 -3
  206. package/text/dynamic-text.model.js +3 -4
  207. package/text/localization.service.js +3 -3
  208. package/theme/theme-service.d.ts +1 -1
  209. package/theme/theme-service.js +7 -6
  210. package/tokens.d.ts +1 -1
  211. package/tokens.js +2 -2
  212. /package/{container → _container}/container.d.ts +0 -0
  213. /package/{container → _container}/container.js +0 -0
  214. /package/{container → _container}/provider.d.ts +0 -0
  215. /package/{container → _container}/provider.js +0 -0
  216. /package/{container → _container}/resolve-chain.d.ts +0 -0
  217. /package/{container → _container}/resolve-chain.js +0 -0
  218. /package/{container → _container}/resolve.error.d.ts +0 -0
  219. /package/{container → _container}/resolve.error.js +0 -0
  220. /package/{container → _container}/type-info.d.ts +0 -0
  221. /package/{container → _container}/type-info.js +0 -0
  222. /package/{container → _container}/types.d.ts +0 -0
  223. /package/{container → _container}/types.js +0 -0
  224. /package/{container → _container}/utils.d.ts +0 -0
  225. /package/{container → _container}/utils.js +0 -0
@@ -21,11 +21,11 @@ __export(oidc_service_exports, {
21
21
  OidcService: () => OidcService
22
22
  });
23
23
  module.exports = __toCommonJS(oidc_service_exports);
24
- var import_container = require("../container/index.js");
25
24
  var import_forbidden_error = require("../error/forbidden.error.js");
26
25
  var import_not_implemented_error = require("../error/not-implemented.error.js");
27
26
  var import_client = require("../http/client/index.js");
28
27
  var import_http_headers = require("../http/http-headers.js");
28
+ var import_injector = require("../injector/index.js");
29
29
  var import_schema = require("../schema/index.js");
30
30
  var import_alphabet = require("../utils/alphabet.js");
31
31
  var import_cryptography = require("../utils/cryptography.js");
@@ -185,9 +185,9 @@ let OidcService = class OidcService2 {
185
185
  }
186
186
  };
187
187
  OidcService = __decorate([
188
- (0, import_container.singleton)(),
189
- __param(1, (0, import_container.inject)(import_oidc_state_repository.OidcStateRepository)),
190
- __param(1, (0, import_container.optional)()),
188
+ (0, import_injector.Singleton)(),
189
+ __param(1, (0, import_injector.Inject)(import_oidc_state_repository.OidcStateRepository)),
190
+ __param(1, (0, import_injector.Optional)()),
191
191
  __metadata("design:paramtypes", [import_oidc_configuration_service.OidcConfigurationService, Object, import_client.HttpClient])
192
192
  ], OidcService);
193
193
  function parseTokenResponse(response) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tstdl/base",
3
- "version": "0.85.26",
3
+ "version": "0.86.0-beta10",
4
4
  "author": "Patrick Hein",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -2,8 +2,8 @@ import { BrowserContextController } from '../browser/browser-context-controller.
2
2
  import type { BrowserControllerArgument } from '../browser/browser-controller.js';
3
3
  import { BrowserController } from '../browser/browser-controller.js';
4
4
  import { PdfRenderOptions } from '../browser/pdf-options.js';
5
- import type { Injectable } from '../container/index.js';
6
- import { resolveArgumentType } from '../container/index.js';
5
+ import type { Resolvable } from '../injector/index.js';
6
+ import { resolveArgumentType } from '../injector/index.js';
7
7
  import { LogLevel } from '../logger/level.js';
8
8
  import { Logger } from '../logger/logger.js';
9
9
  import type { TemplateField } from '../templates/index.js';
@@ -39,7 +39,7 @@ export type PdfServiceOptions = {
39
39
  export type PdfServiceArgument = PdfServiceOptions & {
40
40
  browserControllerArgument: BrowserControllerArgument;
41
41
  };
42
- export declare class PdfService implements Injectable<PdfServiceArgument> {
42
+ export declare class PdfService implements Resolvable<PdfServiceArgument> {
43
43
  private readonly templateService;
44
44
  private readonly browserController;
45
45
  private readonly logger;
@@ -27,7 +27,7 @@ module.exports = __toCommonJS(pdf_service_exports);
27
27
  var import_browser_context_controller = require("../browser/browser-context-controller.js");
28
28
  var import_browser_controller = require("../browser/browser-controller.js");
29
29
  var import_pdf_options = require("../browser/pdf-options.js");
30
- var import_container = require("../container/index.js");
30
+ var import_injector = require("../injector/index.js");
31
31
  var import_level = require("../logger/level.js");
32
32
  var import_logger = require("../logger/logger.js");
33
33
  var import_schema = require("../schema/index.js");
@@ -207,10 +207,10 @@ let PdfService = class PdfService2 {
207
207
  }
208
208
  };
209
209
  PdfService = __decorate([
210
- (0, import_container.singleton)(),
211
- __param(1, (0, import_container.forwardArg)((argument) => argument?.browserControllerArgument ?? { browserArguments })),
212
- __param(2, (0, import_container.resolveArg)("PdfService")),
213
- __param(3, (0, import_container.injectArg)()),
210
+ (0, import_injector.Singleton)(),
211
+ __param(1, (0, import_injector.ForwardArg)((argument) => argument?.browserControllerArgument ?? { browserArguments })),
212
+ __param(2, (0, import_injector.ResolveArg)("PdfService")),
213
+ __param(3, (0, import_injector.InjectArg)()),
214
214
  __metadata("design:paramtypes", [
215
215
  import_templates.TemplateService,
216
216
  import_browser_controller.BrowserController,
@@ -2,6 +2,6 @@ import type { Logger } from './logger/index.js';
2
2
  import { CancellationToken } from './utils/cancellation-token.js';
3
3
  export declare const shutdownToken: CancellationToken;
4
4
  export declare function setProcessShutdownLogger(shutdownLogger: Logger): void;
5
- export declare function requestShutdown(): void;
6
- export declare function forceShutdown(): void;
5
+ export declare function requestShutdown(exitCode?: number): void;
6
+ export declare function forceShutdown(exitCode?: number): void;
7
7
  export declare function initializeSignals(): void;
@@ -27,17 +27,15 @@ __export(process_shutdown_exports, {
27
27
  module.exports = __toCommonJS(process_shutdown_exports);
28
28
  var import_cancellation_token = require("./utils/cancellation-token.js");
29
29
  var import_type_guards = require("./utils/type-guards.js");
30
- var import_container = require("./container/container.js");
31
- var import_core = require("./core.js");
32
30
  const quitSignals = ["SIGTERM", "SIGINT", "SIGHUP", "SIGBREAK"];
33
31
  const quitEvents = ["uncaughtException", "unhandledRejection", "rejectionHandled"];
34
32
  const shutdownToken = new import_cancellation_token.CancellationToken();
35
- let logger = import_container.container.resolve(import_core.CORE_LOGGER);
33
+ let logger;
36
34
  function setProcessShutdownLogger(shutdownLogger) {
37
35
  logger = shutdownLogger;
38
36
  }
39
37
  let shutdownRequested = false;
40
- function requestShutdown() {
38
+ function requestShutdown(exitCode = 1) {
41
39
  if (shutdownRequested) {
42
40
  return;
43
41
  }
@@ -45,17 +43,17 @@ function requestShutdown() {
45
43
  shutdownToken.set();
46
44
  const timeout = setTimeout(() => {
47
45
  logger.warn("forcefully quitting after 20 seconds...");
48
- setTimeout(() => process.exit(1), 1);
46
+ setTimeout(() => process.exit(exitCode), 1);
49
47
  }, 2e4);
50
48
  timeout.unref();
51
49
  }
52
- function forceShutdown() {
50
+ function forceShutdown(exitCode = 1) {
53
51
  logger.warn("forcefully quitting");
54
- setTimeout(() => process.exit(2), 1);
52
+ setTimeout(() => process.exit(exitCode), 1);
55
53
  }
56
54
  let signalsInitialized = false;
57
55
  function initializeSignals() {
58
- if (signalsInitialized) {
56
+ if (signalsInitialized || typeof process == "undefined") {
59
57
  return;
60
58
  }
61
59
  signalsInitialized = true;
@@ -1,11 +1,11 @@
1
- import type { Injectable } from '../../container/index.js';
2
- import { type resolveArgumentType } from '../../container/index.js';
3
1
  import type { CollectionArgument } from '../../database/mongo/index.js';
4
2
  import { Collection, MongoEntityRepository } from '../../database/mongo/index.js';
3
+ import type { Resolvable } from '../../injector/index.js';
4
+ import { resolveArgumentType } from '../../injector/index.js';
5
5
  import { Logger } from '../../logger/index.js';
6
6
  import { UniqueTagStrategy } from '../../queue/index.js';
7
7
  import type { MongoJob, NewMongoJob } from './job.js';
8
- export declare class MongoJobRepository<T> extends MongoEntityRepository<MongoJob<T>> implements Injectable<CollectionArgument<MongoJob<T>>> {
8
+ export declare class MongoJobRepository<T> extends MongoEntityRepository<MongoJob<T>> implements Resolvable<CollectionArgument<MongoJob<T>>> {
9
9
  readonly [resolveArgumentType]: CollectionArgument<MongoJob<T>>;
10
10
  constructor(collection: Collection<MongoJob<T>>, logger: Logger);
11
11
  insertWithUniqueTagStrategy(newJob: NewMongoJob<T>, uniqueTagStrategy: UniqueTagStrategy): Promise<MongoJob<T>>;
@@ -21,9 +21,9 @@ __export(mongo_job_repository_exports, {
21
21
  MongoJobRepository: () => MongoJobRepository
22
22
  });
23
23
  module.exports = __toCommonJS(mongo_job_repository_exports);
24
- var import_container = require("../../container/index.js");
25
24
  var import_database = require("../../database/index.js");
26
25
  var import_mongo = require("../../database/mongo/index.js");
26
+ var import_injector = require("../../injector/index.js");
27
27
  var import_logger = require("../../logger/index.js");
28
28
  var import_queue = require("../../queue/index.js");
29
29
  var __decorate = function(decorators, target, key, desc) {
@@ -73,8 +73,8 @@ let MongoJobRepository = MongoJobRepository_1 = class MongoJobRepository2 extend
73
73
  }
74
74
  };
75
75
  MongoJobRepository = MongoJobRepository_1 = __decorate([
76
- (0, import_container.singleton)(),
77
- __param(0, (0, import_container.forwardArg)()),
78
- __param(1, (0, import_container.resolveArg)(MongoJobRepository_1.name)),
76
+ (0, import_injector.Singleton)(),
77
+ __param(0, (0, import_injector.ForwardArg)()),
78
+ __param(1, (0, import_injector.ResolveArg)(MongoJobRepository_1.name)),
79
79
  __metadata("design:paramtypes", [import_mongo.Collection, import_logger.Logger])
80
80
  ], MongoJobRepository);
@@ -21,8 +21,8 @@ __export(queue_exports, {
21
21
  MongoQueue: () => MongoQueue
22
22
  });
23
23
  module.exports = __toCommonJS(queue_exports);
24
- var import_container = require("../../container/index.js");
25
24
  var import_id = require("../../database/id.js");
25
+ var import_decorators = require("../../injector/decorators.js");
26
26
  var import_lock = require("../../lock/index.js");
27
27
  var import_message_bus = require("../../message-bus/index.js");
28
28
  var import_queue = require("../../queue/index.js");
@@ -241,10 +241,10 @@ let MongoQueue = class MongoQueue2 extends import_queue.Queue {
241
241
  }
242
242
  };
243
243
  MongoQueue = __decorate([
244
- (0, import_container.singleton)({
244
+ (0, import_decorators.Singleton)({
245
245
  provider: {
246
- useFactory: async (argument, context) => {
247
- const provider = await context.resolveAsync(import_queue_provider.MongoQueueProvider);
246
+ useFactory: (argument, context) => {
247
+ const provider = context.resolve(import_queue_provider.MongoQueueProvider);
248
248
  (0, import_type_guards.assertDefined)(argument, "queue resolve argument is missing");
249
249
  if ((0, import_type_guards.isString)(argument)) {
250
250
  return provider.get(argument, import_queue.defaultQueueConfig);
@@ -1,6 +1,6 @@
1
- import type { Injectable } from '../../container/index.js';
2
- import { resolveArgumentType } from '../../container/index.js';
3
1
  import type { CollectionArgument, MongoRepositoryConfig } from '../../database/mongo/index.js';
2
+ import type { Resolvable } from '../../injector/interfaces.js';
3
+ import { resolveArgumentType } from '../../injector/interfaces.js';
4
4
  import { LockProvider } from '../../lock/index.js';
5
5
  import { MessageBusProvider } from '../../message-bus/index.js';
6
6
  import type { QueueConfig } from '../../queue/index.js';
@@ -8,7 +8,7 @@ import { QueueProvider } from '../../queue/index.js';
8
8
  import type { MongoJob } from './job.js';
9
9
  import { MongoJobRepository } from './mongo-job.repository.js';
10
10
  import { MongoQueue } from './queue.js';
11
- export declare class MongoQueueProvider extends QueueProvider implements Injectable<CollectionArgument<MongoJob>> {
11
+ export declare class MongoQueueProvider extends QueueProvider implements Resolvable<CollectionArgument<MongoJob>> {
12
12
  private readonly repository;
13
13
  private readonly lockProvider;
14
14
  private readonly messageBusProvider;
@@ -22,7 +22,9 @@ __export(queue_provider_exports, {
22
22
  configureMongoQueue: () => configureMongoQueue
23
23
  });
24
24
  module.exports = __toCommonJS(queue_provider_exports);
25
- var import_container = require("../../container/index.js");
25
+ var import_decorators = require("../../injector/decorators.js");
26
+ var import_injector = require("../../injector/injector.js");
27
+ var import_interfaces = require("../../injector/interfaces.js");
26
28
  var import_lock = require("../../lock/index.js");
27
29
  var import_message_bus = require("../../message-bus/index.js");
28
30
  var import_queue = require("../../queue/index.js");
@@ -64,15 +66,15 @@ let MongoQueueProvider = class MongoQueueProvider2 extends import_queue.QueuePro
64
66
  }
65
67
  };
66
68
  MongoQueueProvider = __decorate([
67
- (0, import_container.singleton)({ defaultArgumentProvider: () => defaultJobRepositoryConfig }),
68
- __param(0, (0, import_container.forwardArg)()),
69
- __param(1, (0, import_container.resolveArg)("queue:")),
69
+ (0, import_decorators.Singleton)({ defaultArgumentProvider: () => defaultJobRepositoryConfig }),
70
+ __param(0, (0, import_decorators.ForwardArg)()),
71
+ __param(1, (0, import_decorators.ResolveArg)("queue:")),
70
72
  __metadata("design:paramtypes", [import_mongo_job_repository.MongoJobRepository, import_lock.LockProvider, import_message_bus.MessageBusProvider])
71
73
  ], MongoQueueProvider);
72
74
  function configureMongoQueue(jobRepositoryConfig, register = true) {
73
75
  defaultJobRepositoryConfig = jobRepositoryConfig;
74
76
  if (register) {
75
- import_container.container.registerSingleton(import_queue.QueueProvider, { useToken: MongoQueueProvider });
76
- import_container.container.registerSingleton(import_queue.Queue, { useToken: import_queue2.MongoQueue });
77
+ import_injector.Injector.registerSingleton(import_queue.QueueProvider, { useToken: MongoQueueProvider });
78
+ import_injector.Injector.registerSingleton(import_queue.Queue, { useToken: import_queue2.MongoQueue });
77
79
  }
78
80
  }
package/queue/queue.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import type { Injectable } from '../container/index.js';
2
- import { resolveArgumentType } from '../container/index.js';
1
+ import type { Resolvable } from '../injector/interfaces.js';
2
+ import { resolveArgumentType } from '../injector/interfaces.js';
3
3
  import type { ReadonlyCancellationToken } from '../utils/cancellation-token.js';
4
4
  import { QueueEnqueueBatch } from './enqueue-batch.js';
5
5
  export type JobTag = string | number | null;
@@ -34,7 +34,7 @@ export type QueueArgument = string | (QueueConfig & {
34
34
  key: string;
35
35
  });
36
36
  export declare const defaultQueueConfig: Required<QueueConfig>;
37
- export declare abstract class Queue<T> implements Injectable<QueueArgument> {
37
+ export declare abstract class Queue<T> implements Resolvable<QueueArgument> {
38
38
  readonly [resolveArgumentType]: QueueArgument;
39
39
  batch(): QueueEnqueueBatch<T>;
40
40
  abstract enqueue(data: T, options?: EnqueueOptions): Promise<Job<T>>;
package/queue/queue.js CHANGED
@@ -24,7 +24,7 @@ __export(queue_exports, {
24
24
  defaultQueueConfig: () => defaultQueueConfig
25
25
  });
26
26
  module.exports = __toCommonJS(queue_exports);
27
- var import_container = require("../container/index.js");
27
+ var import_interfaces = require("../injector/interfaces.js");
28
28
  var import_units = require("../utils/units.js");
29
29
  var import_enqueue_batch = require("./enqueue-batch.js");
30
30
  const defaultJobPriority = 1e3;
@@ -1,8 +1,8 @@
1
- import type { Injectable } from '../../container/index.js';
2
- import { type resolveArgumentType } from '../../container/index.js';
3
1
  import type { Entity } from '../../database/index.js';
2
+ import { resolveArgumentType } from '../../injector/interfaces.js';
3
+ import type { Resolvable } from '../../injector/interfaces.js';
4
4
  export type ElasticSearchIndexConfigArgument<T extends Entity = Entity> = string | ElasticSearchIndexConfig<T>;
5
- export declare abstract class ElasticSearchIndexConfig<T extends Entity = Entity> implements Injectable<ElasticSearchIndexConfigArgument> {
5
+ export declare abstract class ElasticSearchIndexConfig<T extends Entity = Entity> implements Resolvable<ElasticSearchIndexConfigArgument> {
6
6
  readonly indexName: string;
7
7
  readonly [resolveArgumentType]: ElasticSearchIndexConfigArgument<T>;
8
8
  constructor(indexNameOrConfig: string | ElasticSearchIndexConfig<T>);
@@ -21,7 +21,8 @@ __export(config_exports, {
21
21
  ElasticSearchIndexConfig: () => ElasticSearchIndexConfig
22
22
  });
23
23
  module.exports = __toCommonJS(config_exports);
24
- var import_container = require("../../container/index.js");
24
+ var import_decorators = require("../../injector/decorators.js");
25
+ var import_interfaces = require("../../injector/interfaces.js");
25
26
  var import_type_guards = require("../../utils/type-guards.js");
26
27
  var __decorate = function(decorators, target, key, desc) {
27
28
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -49,7 +50,7 @@ let ElasticSearchIndexConfig = class ElasticSearchIndexConfig2 {
49
50
  }
50
51
  };
51
52
  ElasticSearchIndexConfig = __decorate([
52
- (0, import_container.injectable)(),
53
- __param(0, (0, import_container.injectArg)()),
53
+ (0, import_decorators.Injectable)(),
54
+ __param(0, (0, import_decorators.InjectArg)()),
54
55
  __metadata("design:paramtypes", [Object])
55
56
  ], ElasticSearchIndexConfig);
@@ -1,4 +1,3 @@
1
- import type { Entity } from '../../database/index.js';
2
1
  import type { ClientOptions } from '@elastic/elasticsearch';
3
2
  import type { ElasticSearchIndexConfigArgument } from './config.js';
4
3
  import { ElasticSearchIndexConfig } from './config.js';
@@ -7,6 +6,5 @@ export type ElasticsearchModuleConfig = {
7
6
  logPrefix: string;
8
7
  };
9
8
  export declare const elasticsearchModuleConfig: ElasticsearchModuleConfig;
10
- export declare const ELASTIC_SEARCH_INDEX_CONFIG: import("../../container/index.js").InjectionToken<ElasticSearchIndexConfig<Entity>, ElasticSearchIndexConfigArgument>;
9
+ export declare const ELASTIC_SEARCH_INDEX_CONFIG: import("../../injector/token.js").InjectionToken<ElasticSearchIndexConfig<import("../../database/entity.js").Entity>, ElasticSearchIndexConfigArgument>;
11
10
  export declare function configureElasticsearch(config?: Partial<ElasticsearchModuleConfig>): void;
12
- export declare function getElasticSearchIndexConfig<T extends Entity>(indexName: string): ElasticSearchIndexConfig<T>;
@@ -20,13 +20,14 @@ var module_exports = {};
20
20
  __export(module_exports, {
21
21
  ELASTIC_SEARCH_INDEX_CONFIG: () => ELASTIC_SEARCH_INDEX_CONFIG,
22
22
  configureElasticsearch: () => configureElasticsearch,
23
- elasticsearchModuleConfig: () => elasticsearchModuleConfig,
24
- getElasticSearchIndexConfig: () => getElasticSearchIndexConfig
23
+ elasticsearchModuleConfig: () => elasticsearchModuleConfig
25
24
  });
26
25
  module.exports = __toCommonJS(module_exports);
27
- var import_container = require("../../container/index.js");
28
26
  var import_core = require("../../core.js");
29
- var import_logger = require("../../logger/index.js");
27
+ var import_inject = require("../../injector/inject.js");
28
+ var import_injector = require("../../injector/injector.js");
29
+ var import_token = require("../../injector/token.js");
30
+ var import_logger = require("../../logger/logger.js");
30
31
  var import_type_guards = require("../../utils/type-guards.js");
31
32
  var import_elasticsearch = require("@elastic/elasticsearch");
32
33
  var import_config = require("./config.js");
@@ -34,28 +35,30 @@ const elasticsearchModuleConfig = {
34
35
  defaultOptions: { node: "http://localhost:9200" },
35
36
  logPrefix: "ELASTIC"
36
37
  };
37
- const ELASTIC_SEARCH_INDEX_CONFIG = (0, import_container.injectionToken)("ElasticSearchIndexConfig");
38
+ const ELASTIC_SEARCH_INDEX_CONFIG = (0, import_token.injectionToken)("ElasticSearchIndexConfig");
38
39
  function configureElasticsearch(config = {}) {
39
40
  elasticsearchModuleConfig.defaultOptions = config.defaultOptions ?? elasticsearchModuleConfig.defaultOptions;
40
41
  elasticsearchModuleConfig.logPrefix = config.logPrefix ?? elasticsearchModuleConfig.logPrefix;
41
42
  }
42
- import_container.container.registerSingleton(import_elasticsearch.Client, {
43
- useFactory: async (options) => {
44
- (0, import_type_guards.assertDefined)(options, "missing elasticsearch client options");
45
- const logger = await import_container.container.resolveAsync(import_logger.Logger, elasticsearchModuleConfig.logPrefix);
46
- const client = new import_elasticsearch.Client(options);
47
- import_core.disposer.add(async () => client.close().then(() => logger.info("closed connection")));
48
- const url = getUrl(options.node ?? options.nodes);
49
- await (0, import_core.connect)(`elasticsearch (${url})`, async () => client.ping().then((alive) => (0, import_type_guards.assert)(alive, "failed to connect")), logger);
43
+ import_injector.Injector.registerSingleton(import_elasticsearch.Client, {
44
+ useFactory: (argument, context) => {
45
+ (0, import_type_guards.assertDefined)(argument, "missing elasticsearch client options");
46
+ context.context.logger = (0, import_inject.inject)(import_logger.Logger, elasticsearchModuleConfig.logPrefix);
47
+ const client = new import_elasticsearch.Client(argument);
48
+ context.addDisposeHandler(async () => client.close().then(() => context.context.logger.info("closed connection")));
50
49
  return client;
50
+ },
51
+ async afterResolve(client, options, context) {
52
+ const url = getUrl(options.node ?? options.nodes);
53
+ await (0, import_core.connect)(`elasticsearch (${url})`, async () => client.ping().then((alive) => (0, import_type_guards.assert)(alive, "failed to connect")), context.logger);
54
+ },
55
+ defaultArgumentProvider() {
56
+ return elasticsearchModuleConfig.defaultOptions;
51
57
  }
52
- }, { defaultArgumentProvider: () => elasticsearchModuleConfig.defaultOptions });
53
- import_container.container.registerSingleton(ELASTIC_SEARCH_INDEX_CONFIG, {
58
+ });
59
+ import_injector.Injector.registerSingleton(ELASTIC_SEARCH_INDEX_CONFIG, {
54
60
  useFactory: (argument, context) => context.resolve(import_config.ElasticSearchIndexConfig, argument)
55
61
  });
56
- function getElasticSearchIndexConfig(indexName) {
57
- return import_container.container.resolve(import_config.ElasticSearchIndexConfig, indexName);
58
- }
59
62
  function getUrl(node) {
60
63
  if ((0, import_type_guards.isString)(node)) {
61
64
  return node;
@@ -1,6 +1,6 @@
1
- import type { AfterResolve } from '../../container/index.js';
2
- import { afterResolve } from '../../container/index.js';
3
1
  import type { Entity, Query, QueryOptions } from '../../database/index.js';
2
+ import type { AfterResolve } from '../../injector/interfaces.js';
3
+ import { afterResolve } from '../../injector/interfaces.js';
4
4
  import type { Logger } from '../../logger/index.js';
5
5
  import type { SearchResult } from '../../search-index/index.js';
6
6
  import { SearchIndex } from '../../search-index/index.js';
@@ -21,9 +21,9 @@ __export(search_index_exports, {
21
21
  ElasticSearchIndex: () => ElasticSearchIndex
22
22
  });
23
23
  module.exports = __toCommonJS(search_index_exports);
24
- var import_container = require("../../container/index.js");
25
24
  var import_bad_request_error = require("../../error/bad-request.error.js");
26
25
  var import_multi_error = require("../../error/multi.error.js");
26
+ var import_interfaces = require("../../injector/interfaces.js");
27
27
  var import_search_index = require("../../search-index/index.js");
28
28
  var import_base64 = require("../../utils/base64.js");
29
29
  var import_encoding = require("../../utils/encoding.js");
@@ -48,7 +48,7 @@ class ElasticSearchIndex extends import_search_index.SearchIndex {
48
48
  this.logger = logger;
49
49
  this.keywordRewriter = new import_keyword_rewriter.KeywordRewriter(keywordRewrites);
50
50
  }
51
- async [import_container.afterResolve]() {
51
+ async [import_interfaces.afterResolve]() {
52
52
  await this.initialize();
53
53
  }
54
54
  async initialize() {
@@ -1,7 +1,7 @@
1
1
  import type { Type } from '../types.js';
2
2
  import { TemplateProvider } from './template.provider.js';
3
- import type { TemplateRenderer } from './template.renderer.js';
4
- import type { TemplateResolver } from './template.resolver.js';
3
+ import { TemplateRenderer } from './template.renderer.js';
4
+ import { TemplateResolver } from './template.resolver.js';
5
5
  export type TemplateModuleConfig = {
6
6
  templateProvider: Type<TemplateProvider> | undefined;
7
7
  templateResolvers: Type<TemplateResolver>[];
@@ -22,43 +22,29 @@ __export(module_exports, {
22
22
  templateModuleConfig: () => templateModuleConfig
23
23
  });
24
24
  module.exports = __toCommonJS(module_exports);
25
- var import_container = require("../container/index.js");
25
+ var import_injector = require("../injector/injector.js");
26
26
  var import_type_guards = require("../utils/type-guards.js");
27
27
  var import_string_template_renderer = require("./renderers/string.template-renderer.js");
28
28
  var import_string_template_resolver = require("./resolvers/string.template-resolver.js");
29
29
  var import_template_provider = require("./template.provider.js");
30
+ var import_template_renderer = require("./template.renderer.js");
31
+ var import_template_resolver = require("./template.resolver.js");
30
32
  var import_tokens = require("./tokens.js");
31
33
  const templateModuleConfig = {
32
34
  templateProvider: void 0,
33
35
  templateResolvers: [import_string_template_resolver.StringTemplateResolver],
34
36
  templateRenderers: [import_string_template_renderer.StringTemplateRenderer]
35
37
  };
36
- import_container.container.registerSingleton(import_tokens.TEMPLATE_RESOLVERS, {
37
- useFactory: (_, context) => {
38
- if (context.isAsync) {
39
- return (async () => {
40
- const resolves = templateModuleConfig.templateResolvers.map(async (type) => context.resolveAsync(type));
41
- return Promise.all(resolves);
42
- })();
43
- }
44
- return templateModuleConfig.templateResolvers.map((type) => context.resolve(type));
45
- }
46
- });
47
- import_container.container.registerSingleton(import_tokens.TEMPLATE_RENDERERS, {
48
- useFactory: (_, context) => {
49
- if (context.isAsync) {
50
- return (async () => {
51
- const resolves = templateModuleConfig.templateRenderers.map(async (type) => context.resolveAsync(type));
52
- return Promise.all(resolves);
53
- })();
54
- }
55
- return templateModuleConfig.templateRenderers.map((type) => context.resolve(type));
56
- }
57
- });
38
+ import_injector.Injector.registerSingleton(import_tokens.TEMPLATE_RESOLVERS, { useToken: import_template_resolver.TemplateResolver, resolveAll: true });
39
+ import_injector.Injector.registerSingleton(import_tokens.TEMPLATE_RENDERERS, { useToken: import_template_renderer.TemplateRenderer, resolveAll: true });
58
40
  function configureTemplates(config = {}) {
59
41
  if ((0, import_type_guards.isDefined)(config.templateProvider)) {
60
- import_container.container.registerSingleton(import_template_provider.TemplateProvider, { useToken: config.templateProvider });
42
+ import_injector.Injector.registerSingleton(import_template_provider.TemplateProvider, { useToken: config.templateProvider });
43
+ }
44
+ if ((0, import_type_guards.isDefined)(config.templateResolvers)) {
45
+ import_injector.Injector.register(import_template_resolver.TemplateResolver, config.templateResolvers.map((resolver) => ({ useToken: resolver })));
46
+ }
47
+ if ((0, import_type_guards.isDefined)(config.templateRenderers)) {
48
+ import_injector.Injector.register(import_template_renderer.TemplateRenderer, config.templateRenderers.map((renderer) => ({ useToken: renderer })));
61
49
  }
62
- templateModuleConfig.templateResolvers = [.../* @__PURE__ */ new Set([...templateModuleConfig.templateResolvers, ...config.templateResolvers ?? []])];
63
- templateModuleConfig.templateRenderers = [.../* @__PURE__ */ new Set([...templateModuleConfig.templateRenderers, ...config.templateRenderers ?? []])];
64
50
  }
@@ -1,5 +1,5 @@
1
- import type { Injectable } from '../../container/index.js';
2
- import { type resolveArgumentType } from '../../container/index.js';
1
+ import type { Resolvable } from '../../injector/interfaces.js';
2
+ import { resolveArgumentType } from '../../injector/interfaces.js';
3
3
  import { Template } from '../template.model.js';
4
4
  import { TemplateProvider } from '../template.provider.js';
5
5
  export type FileTemplateProviderConfig = {
@@ -7,7 +7,7 @@ export type FileTemplateProviderConfig = {
7
7
  };
8
8
  export type FileTemplateProviderArgument = string;
9
9
  export declare const fileTemplateProviderConfig: FileTemplateProviderConfig;
10
- export declare class FileTemplateProvider extends TemplateProvider implements Injectable<FileTemplateProviderArgument> {
10
+ export declare class FileTemplateProvider extends TemplateProvider implements Resolvable<FileTemplateProviderArgument> {
11
11
  private readonly basePath;
12
12
  readonly [resolveArgumentType]: FileTemplateProviderArgument;
13
13
  constructor(basePath: string);
@@ -33,10 +33,11 @@ __export(file_template_provider_exports, {
33
33
  fileTemplateProviderConfig: () => fileTemplateProviderConfig
34
34
  });
35
35
  module.exports = __toCommonJS(file_template_provider_exports);
36
- var import_container = require("../../container/index.js");
36
+ var path = __toESM(require("node:path"), 1);
37
37
  var import_bad_request_error = require("../../error/bad-request.error.js");
38
+ var import_decorators = require("../../injector/decorators.js");
39
+ var import_interfaces = require("../../injector/interfaces.js");
38
40
  var import_schema = require("../../schema/index.js");
39
- var path = __toESM(require("node:path"), 1);
40
41
  var import_template_model = require("../template.model.js");
41
42
  var import_template_provider = require("../template.provider.js");
42
43
  var __decorate = function(decorators, target, key, desc) {
@@ -80,10 +81,10 @@ let FileTemplateProvider = class FileTemplateProvider2 extends import_template_p
80
81
  }
81
82
  };
82
83
  FileTemplateProvider = __decorate([
83
- (0, import_container.singleton)({
84
+ (0, import_decorators.Singleton)({
84
85
  defaultArgumentProvider: () => fileTemplateProviderConfig.basePath
85
86
  }),
86
- __param(0, (0, import_container.injectArg)()),
87
+ __param(0, (0, import_decorators.InjectArg)()),
87
88
  __metadata("design:paramtypes", [String])
88
89
  ], FileTemplateProvider);
89
90
  function configureFileTemplateProvider(config = {}) {
@@ -21,7 +21,7 @@ __export(memory_template_provider_exports, {
21
21
  MemoryTemplateProvider: () => MemoryTemplateProvider
22
22
  });
23
23
  module.exports = __toCommonJS(memory_template_provider_exports);
24
- var import_container = require("../../container/index.js");
24
+ var import_decorators = require("../../injector/decorators.js");
25
25
  var import_type_guards = require("../../utils/type-guards.js");
26
26
  var import_template_provider = require("../template.provider.js");
27
27
  var __decorate = function(decorators, target, key, desc) {
@@ -56,6 +56,6 @@ let MemoryTemplateProvider = class MemoryTemplateProvider2 extends import_templa
56
56
  }
57
57
  };
58
58
  MemoryTemplateProvider = __decorate([
59
- (0, import_container.singleton)(),
59
+ (0, import_decorators.Singleton)(),
60
60
  __metadata("design:paramtypes", [])
61
61
  ], MemoryTemplateProvider);
@@ -31,7 +31,7 @@ __export(handlebars_template_renderer_exports, {
31
31
  HandlebarsTemplateRenderer: () => HandlebarsTemplateRenderer
32
32
  });
33
33
  module.exports = __toCommonJS(handlebars_template_renderer_exports);
34
- var import_container = require("../../container/index.js");
34
+ var import_decorators = require("../../injector/decorators.js");
35
35
  var import_memoize = require("../../utils/function/memoize.js");
36
36
  var import_object = require("../../utils/object/object.js");
37
37
  var import_type_guards = require("../../utils/type-guards.js");
@@ -90,7 +90,7 @@ let HandlebarsTemplateRenderer = class HandlebarsTemplateRenderer2 extends impor
90
90
  }
91
91
  };
92
92
  HandlebarsTemplateRenderer = __decorate([
93
- (0, import_container.singleton)(),
93
+ (0, import_decorators.Singleton)(),
94
94
  __metadata("design:paramtypes", [import_template_resolver_provider.TemplateResolverProvider])
95
95
  ], HandlebarsTemplateRenderer);
96
96
  function _wrapHandlebarsTemplateHelper(helper) {
@@ -22,7 +22,7 @@ __export(jsx_template_renderer_exports, {
22
22
  });
23
23
  module.exports = __toCommonJS(jsx_template_renderer_exports);
24
24
  var import_jsx_runtime = require("preact/jsx-runtime");
25
- var import_container = require("../../container/index.js");
25
+ var import_decorators = require("../../injector/decorators.js");
26
26
  var import_type_guards = require("../../utils/type-guards.js");
27
27
  var import_preact = require("preact");
28
28
  var import_preact_render_to_string = require("preact-render-to-string");
@@ -55,7 +55,7 @@ let JsxTemplateRenderer = class JsxTemplateRenderer2 extends import_template_ren
55
55
  }
56
56
  };
57
57
  JsxTemplateRenderer = __decorate([
58
- (0, import_container.singleton)(),
58
+ (0, import_decorators.Singleton)(),
59
59
  __metadata("design:paramtypes", [])
60
60
  ], JsxTemplateRenderer);
61
61
  function isComponentClass(template) {
@@ -31,7 +31,7 @@ __export(mjml_template_renderer_exports, {
31
31
  MjmlTemplateRenderer: () => MjmlTemplateRenderer
32
32
  });
33
33
  module.exports = __toCommonJS(mjml_template_renderer_exports);
34
- var import_container = require("../../container/index.js");
34
+ var import_decorators = require("../../injector/decorators.js");
35
35
  var import_mjml = __toESM(require("mjml"), 1);
36
36
  var import_template_renderer_provider = require("../template-renderer.provider.js");
37
37
  var import_template_renderer = require("../template.renderer.js");
@@ -85,7 +85,7 @@ let MjmlTemplateRenderer = class MjmlTemplateRenderer2 extends import_template_r
85
85
  }
86
86
  };
87
87
  MjmlTemplateRenderer = __decorate([
88
- (0, import_container.singleton)(),
89
- __param(0, (0, import_container.forwardRef)(() => import_template_renderer_provider.TemplateRendererProvider)),
88
+ (0, import_decorators.Singleton)(),
89
+ __param(0, (0, import_decorators.ForwardRef)(() => import_template_renderer_provider.TemplateRendererProvider)),
90
90
  __metadata("design:paramtypes", [import_template_renderer_provider.TemplateRendererProvider])
91
91
  ], MjmlTemplateRenderer);