@tstdl/base 0.71.6 → 0.71.10

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 (180) hide show
  1. package/.eslintrc.js +1 -1
  2. package/api/client/client.d.ts +1 -1
  3. package/api/client/client.js +7 -0
  4. package/api/client/client.js.map +1 -1
  5. package/api/default-error-handlers.d.ts +6 -4
  6. package/api/default-error-handlers.js +6 -19
  7. package/api/default-error-handlers.js.map +1 -1
  8. package/api/response.d.ts +1 -2
  9. package/api/response.js +16 -2
  10. package/api/response.js.map +1 -1
  11. package/api/server/gateway.d.ts +6 -6
  12. package/api/server/gateway.js.map +1 -1
  13. package/api/types.d.ts +1 -2
  14. package/api/types.js +1 -6
  15. package/api/types.js.map +1 -1
  16. package/application/application.d.ts +1 -0
  17. package/application/application.js +4 -1
  18. package/application/application.js.map +1 -1
  19. package/collections/keyed-set.d.ts +1 -2
  20. package/collections/observable/index.d.ts +2 -0
  21. package/collections/observable/index.js +2 -0
  22. package/collections/observable/index.js.map +1 -1
  23. package/collections/observable/observable-collection-base.d.ts +1 -5
  24. package/collections/observable/observable-collection-base.js.map +1 -1
  25. package/collections/observable/observable-list-base.d.ts +0 -4
  26. package/collections/observable/observable-list-base.js.map +1 -1
  27. package/container/container.d.ts +1 -1
  28. package/container/container.js +20 -20
  29. package/container/container.js.map +1 -1
  30. package/container/decorators.d.ts +6 -6
  31. package/container/index.d.ts +1 -0
  32. package/container/index.js +1 -0
  33. package/container/index.js.map +1 -1
  34. package/container/provider.d.ts +2 -8
  35. package/container/provider.js +1 -9
  36. package/container/provider.js.map +1 -1
  37. package/container/utils.d.ts +3 -0
  38. package/container/utils.js +37 -0
  39. package/container/utils.js.map +1 -0
  40. package/database/mongo/module.js +3 -3
  41. package/database/mongo/module.js.map +1 -1
  42. package/database/mongo/mongo-entity-repository.d.ts +1 -2
  43. package/http/client/http-client-request.d.ts +42 -52
  44. package/http/client/http-client-request.js +3 -0
  45. package/http/client/http-client-request.js.map +1 -1
  46. package/http/client/http-client.d.ts +1 -0
  47. package/http/client/http-client.js +1 -1
  48. package/http/client/http-client.js.map +1 -1
  49. package/http/index.d.ts +3 -0
  50. package/http/index.js +3 -0
  51. package/http/index.js.map +1 -1
  52. package/http/server/node/node-http-server.d.ts +0 -1
  53. package/http/server/node/node-http-server.js +3 -1
  54. package/http/server/node/node-http-server.js.map +1 -1
  55. package/image-service/image-service.d.ts +8 -8
  56. package/lock/mongo/lock.js +1 -1
  57. package/lock/mongo/lock.js.map +1 -1
  58. package/lock/mongo/module.d.ts +1 -1
  59. package/lock/mongo/module.js +1 -1
  60. package/lock/mongo/module.js.map +1 -1
  61. package/lock/mongo/mongo-lock-repository.d.ts +1 -1
  62. package/lock/mongo/provider.js.map +1 -1
  63. package/mail/clients/nodemailer.mail-client.d.ts +11 -0
  64. package/mail/clients/nodemailer.mail-client.js +79 -0
  65. package/mail/clients/nodemailer.mail-client.js.map +1 -0
  66. package/mail/index.d.ts +8 -0
  67. package/mail/index.js +25 -0
  68. package/mail/index.js.map +1 -0
  69. package/mail/mail-log.repository.d.ts +4 -0
  70. package/mail/mail-log.repository.js +8 -0
  71. package/mail/mail-log.repository.js.map +1 -0
  72. package/mail/mail-template-renderer.provider.d.ts +8 -0
  73. package/mail/mail-template-renderer.provider.js +60 -0
  74. package/mail/mail-template-renderer.provider.js.map +1 -0
  75. package/mail/mail-template.provider.d.ts +4 -0
  76. package/mail/mail-template.provider.js +7 -0
  77. package/mail/mail-template.provider.js.map +1 -0
  78. package/mail/mail-template.renderer.d.ts +10 -0
  79. package/mail/mail-template.renderer.js +7 -0
  80. package/mail/mail-template.renderer.js.map +1 -0
  81. package/mail/mail.client.d.ts +16 -0
  82. package/mail/mail.client.js +8 -0
  83. package/mail/mail.client.js.map +1 -0
  84. package/mail/mail.service.d.ts +17 -0
  85. package/mail/mail.service.js +82 -0
  86. package/mail/mail.service.js.map +1 -0
  87. package/mail/models/index.d.ts +6 -0
  88. package/mail/models/index.js +23 -0
  89. package/mail/models/index.js.map +1 -0
  90. package/mail/models/mail-address.model.d.ts +4 -0
  91. package/mail/models/mail-address.model.js +3 -0
  92. package/mail/models/mail-address.model.js.map +1 -0
  93. package/mail/models/mail-content.model.d.ts +4 -0
  94. package/mail/models/mail-content.model.js +3 -0
  95. package/mail/models/mail-content.model.js.map +1 -0
  96. package/mail/models/mail-data.model.d.ts +20 -0
  97. package/mail/models/mail-data.model.js +3 -0
  98. package/mail/models/mail-data.model.js.map +1 -0
  99. package/mail/models/mail-log.model.d.ts +11 -0
  100. package/mail/models/mail-log.model.js +3 -0
  101. package/mail/models/mail-log.model.js.map +1 -0
  102. package/mail/models/mail-send-result.model.d.ts +7 -0
  103. package/mail/models/mail-send-result.model.js +3 -0
  104. package/mail/models/mail-send-result.model.js.map +1 -0
  105. package/mail/models/mail-template.model.d.ts +11 -0
  106. package/mail/models/mail-template.model.js +3 -0
  107. package/mail/models/mail-template.model.js.map +1 -0
  108. package/mail/module.d.ts +18 -0
  109. package/mail/module.js +40 -0
  110. package/mail/module.js.map +1 -0
  111. package/mail/repositories/mongo-mail-log.repository.d.ts +16 -0
  112. package/mail/repositories/mongo-mail-log.repository.js +39 -0
  113. package/mail/repositories/mongo-mail-log.repository.js.map +1 -0
  114. package/mail/template-providers/file-mail-template.provider.d.ts +24 -0
  115. package/mail/template-providers/file-mail-template.provider.js +72 -0
  116. package/mail/template-providers/file-mail-template.provider.js.map +1 -0
  117. package/mail/template-providers/memory-mail-template.provider.d.ts +8 -0
  118. package/mail/template-providers/memory-mail-template.provider.js +37 -0
  119. package/mail/template-providers/memory-mail-template.provider.js.map +1 -0
  120. package/mail/template-renderers/handlebars.mail-template-renderer.d.ts +11 -0
  121. package/mail/template-renderers/handlebars.mail-template-renderer.js +34 -0
  122. package/mail/template-renderers/handlebars.mail-template-renderer.js.map +1 -0
  123. package/mail/template-renderers/mjml.mail-template-renderer.d.ts +15 -0
  124. package/mail/template-renderers/mjml.mail-template-renderer.js +62 -0
  125. package/mail/template-renderers/mjml.mail-template-renderer.js.map +1 -0
  126. package/mail/tokens.d.ts +5 -0
  127. package/mail/tokens.js +7 -0
  128. package/mail/tokens.js.map +1 -0
  129. package/message-bus/local/local-message-bus-provider.d.ts +1 -1
  130. package/message-bus/local/local-message-bus-provider.js +1 -1
  131. package/message-bus/local/local-message-bus-provider.js.map +1 -1
  132. package/migration/mongo/migration-state-repository.d.ts +1 -1
  133. package/module/module-metric-reporter.d.ts +7 -2
  134. package/module/modules/web-server.module.d.ts +1 -3
  135. package/module/modules/web-server.module.js +4 -10
  136. package/module/modules/web-server.module.js.map +1 -1
  137. package/openid-connect/mongo-oidc-state.repository.d.ts +1 -1
  138. package/package.json +12 -6
  139. package/promise/deferred-promise.d.ts +5 -0
  140. package/queue/enqueue-batch.d.ts +1 -2
  141. package/queue/index.d.ts +1 -0
  142. package/queue/index.js +1 -0
  143. package/queue/index.js.map +1 -1
  144. package/queue/mongo/queue.js +1 -1
  145. package/queue/mongo/queue.js.map +1 -1
  146. package/queue/mongo/queue.provider.d.ts +1 -1
  147. package/queue/mongo/queue.provider.js +1 -1
  148. package/queue/mongo/queue.provider.js.map +1 -1
  149. package/schema/schema.validator.d.ts +1 -2
  150. package/schema/schemas/enumeration.d.ts +4 -5
  151. package/schema/schemas/object.d.ts +3 -4
  152. package/schema/schemas/object.js +9 -22
  153. package/schema/schemas/object.js.map +1 -1
  154. package/search-index/elastic/config.d.ts +9 -0
  155. package/search-index/elastic/config.js +29 -0
  156. package/search-index/elastic/config.js.map +1 -0
  157. package/search-index/elastic/index.d.ts +1 -0
  158. package/search-index/elastic/index.js +1 -0
  159. package/search-index/elastic/index.js.map +1 -1
  160. package/search-index/elastic/module.d.ts +4 -4
  161. package/search-index/elastic/module.js +5 -4
  162. package/search-index/elastic/module.js.map +1 -1
  163. package/search-index/elastic/search-index.d.ts +1 -6
  164. package/search-index/elastic/search-index.js.map +1 -1
  165. package/search-index/memory/memory-search-index.js +6 -4
  166. package/search-index/memory/memory-search-index.js.map +1 -1
  167. package/serializer/index.d.ts +1 -1
  168. package/types.d.ts +2 -0
  169. package/utils/equals.d.ts +2 -3
  170. package/utils/function/throttle.d.ts +2 -4
  171. package/utils/function/throttle.js.map +1 -1
  172. package/utils/helpers.d.ts +1 -2
  173. package/utils/patterns.js +1 -1
  174. package/utils/patterns.js.map +1 -1
  175. package/utils/timing.d.ts +1 -2
  176. package/utils/type-guards.d.ts +141 -142
  177. package/utils/type-guards.js.map +1 -1
  178. package/http/utils.d.ts +0 -0
  179. package/http/utils.js +0 -2
  180. package/http/utils.js.map +0 -1
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=mail-address.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mail-address.model.js","sourceRoot":"","sources":["../../../source/mail/models/mail-address.model.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ export declare type MailContent = {
2
+ text?: string;
3
+ html?: string;
4
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=mail-content.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mail-content.model.js","sourceRoot":"","sources":["../../../source/mail/models/mail-content.model.ts"],"names":[],"mappings":""}
@@ -0,0 +1,20 @@
1
+ import type { OneOrMany } from "../../types";
2
+ import type { MailAddress } from './mail-address.model';
3
+ import type { MailContent } from './mail-content.model';
4
+ export declare type MailData = {
5
+ content: MailContent;
6
+ from?: MailAddress;
7
+ to?: OneOrMany<MailAddress>;
8
+ subject?: string;
9
+ sender?: MailAddress;
10
+ cc?: OneOrMany<MailAddress>;
11
+ bcc?: OneOrMany<MailAddress>;
12
+ replyTo?: MailAddress;
13
+ inReplyTo?: MailAddress;
14
+ returnPath?: MailAddress;
15
+ references?: OneOrMany<string>;
16
+ /**
17
+ * If a header has an string array as its value, the header is added multiple times.
18
+ */
19
+ headers?: Record<string, string | string[]>;
20
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=mail-data.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mail-data.model.js","sourceRoot":"","sources":["../../../source/mail/models/mail-data.model.ts"],"names":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ import type { Entity, NewEntity } from "../../database";
2
+ import type { MailData } from './mail-data.model';
3
+ import type { MailSendResult } from './mail-send-result.model';
4
+ export declare type MailLog = Entity & {
5
+ timestamp: number;
6
+ templateKey?: string;
7
+ data: MailData;
8
+ sendResult?: MailSendResult;
9
+ errors?: string[];
10
+ };
11
+ export declare type NewMailLog = NewEntity<MailLog>;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=mail-log.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mail-log.model.js","sourceRoot":"","sources":["../../../source/mail/models/mail-log.model.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ import type { MailAddress } from './mail-address.model';
2
+ export declare type MailSendResult = {
3
+ messageId: string;
4
+ accepted: MailAddress[];
5
+ rejected: MailAddress[];
6
+ pending: MailAddress[];
7
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=mail-send-result.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mail-send-result.model.js","sourceRoot":"","sources":["../../../source/mail/models/mail-send-result.model.ts"],"names":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ export declare type MailTemplate<Type extends string = string, Options = any> = {
2
+ key: string;
3
+ type: Type;
4
+ /** subject template */
5
+ subject?: string;
6
+ /** html template */
7
+ html?: string;
8
+ /** text template */
9
+ text?: string;
10
+ options?: Options;
11
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=mail-template.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mail-template.model.js","sourceRoot":"","sources":["../../../source/mail/models/mail-template.model.ts"],"names":[],"mappings":""}
@@ -0,0 +1,18 @@
1
+ import type { Type } from "../types";
2
+ import { MailLogRepository } from './mail-log.repository';
3
+ import { MailTemplateProvider } from './mail-template.provider';
4
+ import type { MailTemplateRenderer } from './mail-template.renderer';
5
+ import type { MailClientConfig } from './mail.client';
6
+ import { MailClient } from './mail.client';
7
+ export declare type MailModuleConfig = {
8
+ clientConfig: MailClientConfig;
9
+ client: Type<MailClient>;
10
+ logRepository: Type<MailLogRepository> | undefined;
11
+ templateProvider: Type<MailTemplateProvider>;
12
+ templateRenderers: Type<MailTemplateRenderer>[];
13
+ };
14
+ export declare const mailModuleConfig: MailModuleConfig;
15
+ /**
16
+ * configure mail module
17
+ */
18
+ export declare function configureMail({ clientConfig, client, logRepository, templateProvider, templateRenderers }: Partial<MailModuleConfig>): void;
package/mail/module.js ADDED
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.configureMail = exports.mailModuleConfig = void 0;
4
+ const container_1 = require("../container");
5
+ const type_guards_1 = require("../utils/type-guards");
6
+ const mail_log_repository_1 = require("./mail-log.repository");
7
+ const mail_template_provider_1 = require("./mail-template.provider");
8
+ const mail_client_1 = require("./mail.client");
9
+ const tokens_1 = require("./tokens");
10
+ exports.mailModuleConfig = {
11
+ clientConfig: { host: '127.0.0.1', port: 25 },
12
+ client: (0, container_1.stubClass)(mail_client_1.MailClient),
13
+ logRepository: (0, container_1.stubClass)(mail_log_repository_1.MailLogRepository),
14
+ templateProvider: (0, container_1.stubClass)(mail_template_provider_1.MailTemplateProvider),
15
+ templateRenderers: []
16
+ // queueKey: undefined
17
+ };
18
+ /**
19
+ * configure mail module
20
+ */
21
+ function configureMail({ clientConfig, client, logRepository, templateProvider, templateRenderers /* , queueKey */ }) {
22
+ // mailModuleConfig.queueKey = queueKey ?? mailModuleConfig.queueKey;
23
+ if ((0, type_guards_1.isDefined)(clientConfig)) {
24
+ container_1.container.registerSingleton(tokens_1.MAIL_CLIENT_CONFIG, { useValue: clientConfig });
25
+ }
26
+ if ((0, type_guards_1.isDefined)(client)) {
27
+ container_1.container.registerSingleton(mail_client_1.MailClient, { useToken: client });
28
+ }
29
+ if ((0, type_guards_1.isDefined)(logRepository)) {
30
+ container_1.container.registerSingleton(mail_log_repository_1.MailLogRepository, { useToken: logRepository });
31
+ }
32
+ if ((0, type_guards_1.isDefined)(templateRenderers)) {
33
+ container_1.container.registerSingleton(tokens_1.MAIL_TEMPLATE_RENDERERS, { useValue: templateRenderers });
34
+ }
35
+ if ((0, type_guards_1.isDefined)(templateProvider)) {
36
+ container_1.container.registerSingleton(mail_template_provider_1.MailTemplateProvider, { useToken: templateProvider });
37
+ }
38
+ }
39
+ exports.configureMail = configureMail;
40
+ //# sourceMappingURL=module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module.js","sourceRoot":"","sources":["../../source/mail/module.ts"],"names":[],"mappings":";;;AAAA,4CAAmD;AAEnD,sDAAgD;AAChD,+DAA0D;AAC1D,qEAAgE;AAGhE,+CAA2C;AAC3C,qCAAuE;AAW1D,QAAA,gBAAgB,GAAqB;IAChD,YAAY,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,EAAE;IAC7C,MAAM,EAAE,IAAA,qBAAS,EAAC,wBAAU,CAAC;IAC7B,aAAa,EAAE,IAAA,qBAAS,EAAC,uCAAiB,CAAC;IAC3C,gBAAgB,EAAE,IAAA,qBAAS,EAAC,6CAAoB,CAAC;IACjD,iBAAiB,EAAE,EAAE;IACrB,sBAAsB;CACvB,CAAC;AAEF;;GAEG;AACH,SAAgB,aAAa,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,gBAAgB,EAAE,iBAAiB,CAAC,gBAAgB,EAA6B;IACpJ,qEAAqE;IAErE,IAAI,IAAA,uBAAS,EAAC,YAAY,CAAC,EAAE;QAC3B,qBAAS,CAAC,iBAAiB,CAAC,2BAAkB,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,CAAC;KAC7E;IAED,IAAI,IAAA,uBAAS,EAAC,MAAM,CAAC,EAAE;QACrB,qBAAS,CAAC,iBAAiB,CAAC,wBAAU,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;KAC/D;IAED,IAAI,IAAA,uBAAS,EAAC,aAAa,CAAC,EAAE;QAC5B,qBAAS,CAAC,iBAAiB,CAAC,uCAAiB,EAAE,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,CAAC;KAC7E;IAED,IAAI,IAAA,uBAAS,EAAC,iBAAiB,CAAC,EAAE;QAChC,qBAAS,CAAC,iBAAiB,CAAC,gCAAuB,EAAE,EAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC,CAAC;KACvF;IAED,IAAI,IAAA,uBAAS,EAAC,gBAAgB,CAAC,EAAE;QAC/B,qBAAS,CAAC,iBAAiB,CAAC,6CAAoB,EAAE,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC,CAAC;KACnF;AACH,CAAC;AAtBD,sCAsBC"}
@@ -0,0 +1,16 @@
1
+ import type { Injectable } from "../../container";
2
+ import { resolveArgumentType } from "../../container";
3
+ import type { CollectionArgument } from "../../database/mongo";
4
+ import { Collection, MongoEntityRepository } from "../../database/mongo";
5
+ import { Logger } from "../../logger";
6
+ import type { MailLog } from '../models';
7
+ export declare type MongoMailLogRepositoryConfig = {
8
+ config?: MongoMailLogRepositoryArgument;
9
+ };
10
+ export declare type MongoMailLogRepositoryArgument = CollectionArgument<MailLog>;
11
+ export declare const mongoMailLogRepositoryConfig: MongoMailLogRepositoryConfig;
12
+ export declare class MongoMailLogRepository extends MongoEntityRepository<MailLog> implements Injectable<MongoMailLogRepositoryArgument> {
13
+ [resolveArgumentType]: MongoMailLogRepositoryArgument;
14
+ constructor(collection: Collection<MailLog>, logger: Logger);
15
+ }
16
+ export declare function configureMongoMailLogRepository(config?: Partial<MongoMailLogRepositoryConfig>): void;
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
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
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
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 __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.configureMongoMailLogRepository = exports.MongoMailLogRepository = exports.mongoMailLogRepositoryConfig = void 0;
16
+ const container_1 = require("../../container");
17
+ const mongo_1 = require("../../database/mongo");
18
+ const logger_1 = require("../../logger");
19
+ exports.mongoMailLogRepositoryConfig = {};
20
+ const indexes = [];
21
+ let MongoMailLogRepository = class MongoMailLogRepository extends mongo_1.MongoEntityRepository {
22
+ constructor(collection, logger) {
23
+ super(collection, mongo_1.noopTransformer, { logger, indexes });
24
+ }
25
+ };
26
+ MongoMailLogRepository = __decorate([
27
+ (0, container_1.singleton)({
28
+ defaultArgumentProvider: () => exports.mongoMailLogRepositoryConfig.config
29
+ }),
30
+ __param(0, (0, container_1.forwardArg)()),
31
+ __metadata("design:paramtypes", [mongo_1.Collection, logger_1.Logger])
32
+ ], MongoMailLogRepository);
33
+ exports.MongoMailLogRepository = MongoMailLogRepository;
34
+ function configureMongoMailLogRepository(config = {}) {
35
+ var _a;
36
+ exports.mongoMailLogRepositoryConfig.config = (_a = config.config) !== null && _a !== void 0 ? _a : exports.mongoMailLogRepositoryConfig.config;
37
+ }
38
+ exports.configureMongoMailLogRepository = configureMongoMailLogRepository;
39
+ //# sourceMappingURL=mongo-mail-log.repository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mongo-mail-log.repository.js","sourceRoot":"","sources":["../../../source/mail/repositories/mongo-mail-log.repository.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,+CAAyE;AAEzE,gDAAsF;AACtF,yCAAkC;AASrB,QAAA,4BAA4B,GAAiC,EAAE,CAAC;AAE7E,MAAM,OAAO,GAAqC,EAAE,CAAC;AAKrD,IAAa,sBAAsB,GAAnC,MAAa,sBAAuB,SAAQ,6BAA8B;IAGxE,YAA0B,UAA+B,EAAE,MAAc;QACvE,KAAK,CAAC,UAAU,EAAE,uBAAe,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IAC1D,CAAC;CACF,CAAA;AANY,sBAAsB;IAHlC,IAAA,qBAAS,EAAC;QACT,uBAAuB,EAAE,GAAG,EAAE,CAAC,oCAA4B,CAAC,MAAM;KACnE,CAAC;IAIa,WAAA,IAAA,sBAAU,GAAE,CAAA;qCAAa,kBAAU,EAAmB,eAAM;GAH9D,sBAAsB,CAMlC;AANY,wDAAsB;AAQnC,SAAgB,+BAA+B,CAAC,SAAgD,EAAE;;IAChG,oCAA4B,CAAC,MAAM,GAAG,MAAA,MAAM,CAAC,MAAM,mCAAI,oCAA4B,CAAC,MAAM,CAAC;AAC7F,CAAC;AAFD,0EAEC"}
@@ -0,0 +1,24 @@
1
+ import { Injectable, resolveArgumentType } from "../../container";
2
+ import { TypedOmit } from "../../types";
3
+ import { MailTemplateProvider } from '../mail-template.provider';
4
+ import type { MailTemplate } from '../models';
5
+ export declare type FileMailTemplate = TypedOmit<MailTemplate, 'key'> & {
6
+ /** subject template file */
7
+ subjectFile?: string;
8
+ /** html template file */
9
+ htmlFile?: string;
10
+ /** text template file */
11
+ textFile?: string;
12
+ };
13
+ export declare type FileMailTemplateProviderConfig = {
14
+ basePath?: string;
15
+ };
16
+ export declare type FileMailTemplateProviderArgument = string;
17
+ export declare const fileMailTemplateProviderConfig: FileMailTemplateProviderConfig;
18
+ export declare class FileMailTemplateProvider extends MailTemplateProvider implements Injectable<FileMailTemplateProviderArgument> {
19
+ private readonly basePath;
20
+ readonly [resolveArgumentType]: FileMailTemplateProviderArgument;
21
+ constructor(basePath: string);
22
+ get(key: string): Promise<MailTemplate>;
23
+ }
24
+ export declare function configureFileMailTemplateProvider(config?: Partial<FileMailTemplateProviderConfig>): void;
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
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
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
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 __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.configureFileMailTemplateProvider = exports.FileMailTemplateProvider = exports.fileMailTemplateProviderConfig = void 0;
16
+ const container_1 = require("../../container");
17
+ const schema_1 = require("../../schema");
18
+ const type_guards_1 = require("../../utils/type-guards");
19
+ const fs = require("fs/promises");
20
+ const path = require("path");
21
+ const mail_template_provider_1 = require("../mail-template.provider");
22
+ exports.fileMailTemplateProviderConfig = {};
23
+ const fileMailTemplateSchema = (0, schema_1.object)({
24
+ type: (0, schema_1.string)(),
25
+ subject: (0, schema_1.optional)((0, schema_1.string)()),
26
+ subjectFile: (0, schema_1.optional)((0, schema_1.string)()),
27
+ html: (0, schema_1.optional)((0, schema_1.string)()),
28
+ htmlFile: (0, schema_1.optional)((0, schema_1.string)()),
29
+ text: (0, schema_1.optional)((0, schema_1.string)()),
30
+ textFile: (0, schema_1.optional)((0, schema_1.string)()),
31
+ options: (0, schema_1.optional)((0, schema_1.unknown)())
32
+ });
33
+ let FileMailTemplateProvider = class FileMailTemplateProvider extends mail_template_provider_1.MailTemplateProvider {
34
+ constructor(basePath) {
35
+ super();
36
+ this.basePath = basePath;
37
+ }
38
+ async get(key) {
39
+ var _a, _b, _c;
40
+ const filePath = path.resolve(this.basePath, `${key}.json`);
41
+ const fileContent = await fs.readFile(filePath, { encoding: 'utf8' });
42
+ const fileMailTemplate = fileMailTemplateSchema.parse(JSON.parse(fileContent));
43
+ const [subject, html, text] = await Promise.all([
44
+ (_a = fileMailTemplate.subject) !== null && _a !== void 0 ? _a : ((0, type_guards_1.isDefined)(fileMailTemplate.subjectFile) ? fs.readFile(path.resolve(this.basePath, fileMailTemplate.subjectFile), { encoding: 'utf8' }) : undefined),
45
+ (_b = fileMailTemplate.html) !== null && _b !== void 0 ? _b : ((0, type_guards_1.isDefined)(fileMailTemplate.htmlFile) ? fs.readFile(path.resolve(this.basePath, fileMailTemplate.htmlFile), { encoding: 'utf8' }) : undefined),
46
+ (_c = fileMailTemplate.text) !== null && _c !== void 0 ? _c : ((0, type_guards_1.isDefined)(fileMailTemplate.textFile) ? fs.readFile(path.resolve(this.basePath, fileMailTemplate.textFile), { encoding: 'utf8' }) : undefined)
47
+ ]);
48
+ const template = {
49
+ key,
50
+ type: fileMailTemplate.type,
51
+ subject,
52
+ html,
53
+ text,
54
+ options: fileMailTemplate.options
55
+ };
56
+ return template;
57
+ }
58
+ };
59
+ FileMailTemplateProvider = __decorate([
60
+ (0, container_1.singleton)({
61
+ defaultArgumentProvider: () => exports.fileMailTemplateProviderConfig.basePath
62
+ }),
63
+ __param(0, (0, container_1.injectArg)()),
64
+ __metadata("design:paramtypes", [String])
65
+ ], FileMailTemplateProvider);
66
+ exports.FileMailTemplateProvider = FileMailTemplateProvider;
67
+ function configureFileMailTemplateProvider(config = {}) {
68
+ var _a;
69
+ exports.fileMailTemplateProviderConfig.basePath = (_a = config.basePath) !== null && _a !== void 0 ? _a : exports.fileMailTemplateProviderConfig.basePath;
70
+ }
71
+ exports.configureFileMailTemplateProvider = configureFileMailTemplateProvider;
72
+ //# sourceMappingURL=file-mail-template.provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-mail-template.provider.js","sourceRoot":"","sources":["../../../source/mail/template-providers/file-mail-template.provider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { MailTemplateProvider } from '../mail-template.provider';
2
+ import type { MailTemplate } from '../models';
3
+ export declare class MemoryMailTemplateProvider extends MailTemplateProvider {
4
+ private readonly map;
5
+ constructor();
6
+ add(template: MailTemplate): void;
7
+ get(key: string): Promise<MailTemplate>;
8
+ }
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
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
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
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
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.MemoryMailTemplateProvider = void 0;
13
+ const container_1 = require("../../container");
14
+ const type_guards_1 = require("../../utils/type-guards");
15
+ const mail_template_provider_1 = require("../mail-template.provider");
16
+ let MemoryMailTemplateProvider = class MemoryMailTemplateProvider extends mail_template_provider_1.MailTemplateProvider {
17
+ constructor() {
18
+ super();
19
+ this.map = new Map();
20
+ }
21
+ add(template) {
22
+ this.map.set(template.key, template);
23
+ }
24
+ async get(key) {
25
+ const template = this.map.get(key);
26
+ if ((0, type_guards_1.isUndefined)(template)) {
27
+ throw new Error('template not available');
28
+ }
29
+ return template;
30
+ }
31
+ };
32
+ MemoryMailTemplateProvider = __decorate([
33
+ (0, container_1.singleton)(),
34
+ __metadata("design:paramtypes", [])
35
+ ], MemoryMailTemplateProvider);
36
+ exports.MemoryMailTemplateProvider = MemoryMailTemplateProvider;
37
+ //# sourceMappingURL=memory-mail-template.provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-mail-template.provider.js","sourceRoot":"","sources":["../../../source/mail/template-providers/memory-mail-template.provider.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+CAAwC;AACxC,yDAAkD;AAClD,sEAAiE;AAIjE,IAAa,0BAA0B,GAAvC,MAAa,0BAA2B,SAAQ,6CAAoB;IAGlE;QACE,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;IACvB,CAAC;IAED,GAAG,CAAC,QAAsB;QACxB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAW;QACnB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAEnC,IAAI,IAAA,yBAAW,EAAC,QAAQ,CAAC,EAAE;YACzB,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;SAC3C;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF,CAAA;AAtBY,0BAA0B;IADtC,IAAA,qBAAS,GAAE;;GACC,0BAA0B,CAsBtC;AAtBY,gEAA0B"}
@@ -0,0 +1,11 @@
1
+ import type { MailTemplateRenderResult } from '../mail-template.renderer';
2
+ import { MailTemplateRenderer } from '../mail-template.renderer';
3
+ import type { MailTemplate } from '../models';
4
+ export declare type HandlebarsMailTemplateOptions = {
5
+ strict?: boolean;
6
+ };
7
+ export declare type HandlebarsMailTemplate = MailTemplate<'handlebars', HandlebarsMailTemplateOptions>;
8
+ export declare class HandlebarsMailTemplateRenderer extends MailTemplateRenderer<HandlebarsMailTemplate> {
9
+ canHandleType(type: string): boolean;
10
+ render(template: HandlebarsMailTemplate, context?: object): Promise<MailTemplateRenderResult>;
11
+ }
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
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
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.HandlebarsMailTemplateRenderer = void 0;
10
+ const container_1 = require("../../container");
11
+ const type_guards_1 = require("../../utils/type-guards");
12
+ const handlebars = require("handlebars");
13
+ const mail_template_renderer_1 = require("../mail-template.renderer");
14
+ let HandlebarsMailTemplateRenderer = class HandlebarsMailTemplateRenderer extends mail_template_renderer_1.MailTemplateRenderer {
15
+ canHandleType(type) {
16
+ return type == 'handlebars';
17
+ }
18
+ async render(template, context) {
19
+ var _a, _b, _c, _d, _e, _f;
20
+ const subjectRenderer = (0, type_guards_1.isDefined)(template.subject) ? handlebars.compile(template.subject, { strict: (_b = (_a = template.options) === null || _a === void 0 ? void 0 : _a.strict) !== null && _b !== void 0 ? _b : true }) : undefined;
21
+ const htmlRenderer = (0, type_guards_1.isDefined)(template.html) ? handlebars.compile(template.html, { strict: (_d = (_c = template.options) === null || _c === void 0 ? void 0 : _c.strict) !== null && _d !== void 0 ? _d : true }) : undefined;
22
+ const textRenderer = (0, type_guards_1.isDefined)(template.text) ? handlebars.compile(template.text, { strict: (_f = (_e = template.options) === null || _e === void 0 ? void 0 : _e.strict) !== null && _f !== void 0 ? _f : true }) : undefined;
23
+ return {
24
+ subject: subjectRenderer === null || subjectRenderer === void 0 ? void 0 : subjectRenderer(context),
25
+ html: htmlRenderer === null || htmlRenderer === void 0 ? void 0 : htmlRenderer(context),
26
+ text: textRenderer === null || textRenderer === void 0 ? void 0 : textRenderer(context)
27
+ };
28
+ }
29
+ };
30
+ HandlebarsMailTemplateRenderer = __decorate([
31
+ (0, container_1.singleton)()
32
+ ], HandlebarsMailTemplateRenderer);
33
+ exports.HandlebarsMailTemplateRenderer = HandlebarsMailTemplateRenderer;
34
+ //# sourceMappingURL=handlebars.mail-template-renderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handlebars.mail-template-renderer.js","sourceRoot":"","sources":["../../../source/mail/template-renderers/handlebars.mail-template-renderer.ts"],"names":[],"mappings":";;;;;;;;;AAAA,+CAAwC;AACxC,yDAAgD;AAChD,yCAAyC;AAEzC,sEAAiE;AAQjE,IAAa,8BAA8B,GAA3C,MAAa,8BAA+B,SAAQ,6CAA4C;IAC9F,aAAa,CAAC,IAAY;QACxB,OAAO,IAAI,IAAI,YAAY,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,QAAgC,EAAE,OAAgB;;QAC7D,MAAM,eAAe,GAAG,IAAA,uBAAS,EAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,MAAA,MAAA,QAAQ,CAAC,OAAO,0CAAE,MAAM,mCAAI,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACrJ,MAAM,YAAY,GAAG,IAAA,uBAAS,EAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,MAAA,MAAA,QAAQ,CAAC,OAAO,0CAAE,MAAM,mCAAI,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC5I,MAAM,YAAY,GAAG,IAAA,uBAAS,EAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,MAAA,MAAA,QAAQ,CAAC,OAAO,0CAAE,MAAM,mCAAI,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAE5I,OAAO;YACL,OAAO,EAAE,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAG,OAAO,CAAC;YACnC,IAAI,EAAE,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAG,OAAO,CAAC;YAC7B,IAAI,EAAE,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAG,OAAO,CAAC;SAC9B,CAAC;IACJ,CAAC;CACF,CAAA;AAhBY,8BAA8B;IAD1C,IAAA,qBAAS,GAAE;GACC,8BAA8B,CAgB1C;AAhBY,wEAA8B"}
@@ -0,0 +1,15 @@
1
+ import type { MJMLParsingOptions } from 'mjml-core';
2
+ import { MailTemplateRendererProvider } from '../mail-template-renderer.provider';
3
+ import type { MailTemplateRenderResult } from '../mail-template.renderer';
4
+ import { MailTemplateRenderer } from '../mail-template.renderer';
5
+ import type { MailTemplate } from '../models';
6
+ export declare type MjmlMailTemplateOptions = Pick<MJMLParsingOptions, 'fonts' | 'keepComments' | 'validationLevel'> & {
7
+ preprocessorOptions?: any;
8
+ };
9
+ export declare type MjmlMailTemplate = MailTemplate<'mjml' | `mjml-${string}`, MjmlMailTemplateOptions>;
10
+ export declare class MjmlMailTemplateRenderer extends MailTemplateRenderer<MjmlMailTemplate> {
11
+ private readonly rendererProvider;
12
+ constructor(rendererProvider: MailTemplateRendererProvider);
13
+ canHandleType(type: string): boolean;
14
+ render(template: MjmlMailTemplate, context?: object): Promise<MailTemplateRenderResult>;
15
+ }
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
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
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
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 __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.MjmlMailTemplateRenderer = void 0;
16
+ const container_1 = require("../../container");
17
+ const type_guards_1 = require("../../utils/type-guards");
18
+ // @ts-expect-error import is actually working
19
+ const mjml2html = require("mjml");
20
+ const mail_template_renderer_provider_1 = require("../mail-template-renderer.provider");
21
+ const mail_template_renderer_1 = require("../mail-template.renderer");
22
+ let MjmlMailTemplateRenderer = class MjmlMailTemplateRenderer extends mail_template_renderer_1.MailTemplateRenderer {
23
+ constructor(rendererProvider) {
24
+ super();
25
+ this.rendererProvider = rendererProvider;
26
+ }
27
+ canHandleType(type) {
28
+ if (type == 'mjml') {
29
+ return true;
30
+ }
31
+ if (!type.startsWith('mjml-')) {
32
+ return false;
33
+ }
34
+ const parent = type.slice(5);
35
+ return this.rendererProvider.has(parent);
36
+ }
37
+ async render(template, context) {
38
+ var _a;
39
+ if (template.type.length > 4) {
40
+ const parent = template.type.slice(5);
41
+ const renderer = this.rendererProvider.get(parent);
42
+ const { subject, html, text } = await renderer.render(Object.assign(Object.assign({}, template), { type: parent, options: (_a = template.options) === null || _a === void 0 ? void 0 : _a.preprocessorOptions }), context);
43
+ const preprocessedTemplate = Object.assign(Object.assign({}, template), { type: 'mjml', subject,
44
+ html,
45
+ text });
46
+ return this.render(preprocessedTemplate);
47
+ }
48
+ const html = (0, type_guards_1.isDefined)(template.html) ? mjml2html(template.html).html : undefined;
49
+ return {
50
+ subject: template.subject,
51
+ html,
52
+ text: template.text
53
+ };
54
+ }
55
+ };
56
+ MjmlMailTemplateRenderer = __decorate([
57
+ (0, container_1.singleton)(),
58
+ __param(0, (0, container_1.forwardRef)(() => mail_template_renderer_provider_1.MailTemplateRendererProvider)),
59
+ __metadata("design:paramtypes", [mail_template_renderer_provider_1.MailTemplateRendererProvider])
60
+ ], MjmlMailTemplateRenderer);
61
+ exports.MjmlMailTemplateRenderer = MjmlMailTemplateRenderer;
62
+ //# sourceMappingURL=mjml.mail-template-renderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mjml.mail-template-renderer.js","sourceRoot":"","sources":["../../../source/mail/template-renderers/mjml.mail-template-renderer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,+CAAoD;AACpD,yDAAgD;AAChD,8CAA8C;AAC9C,kCAAkC;AAElC,wFAAkF;AAElF,sEAAiE;AAUjE,IAAa,wBAAwB,GAArC,MAAa,wBAAyB,SAAQ,6CAAsC;IAGlF,YAA4D,gBAA8C;QACxG,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;IAC3C,CAAC;IAED,aAAa,CAAC,IAAY;QACxB,IAAI,IAAI,IAAI,MAAM,EAAE;YAClB,OAAO,IAAI,CAAC;SACb;QAED,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;YAC7B,OAAO,KAAK,CAAC;SACd;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC7B,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,QAA0B,EAAE,OAAgB;;QACvD,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;YAC5B,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAEnD,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,iCAAM,QAAQ,KAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAA,QAAQ,CAAC,OAAO,0CAAE,mBAAmB,KAAI,OAAO,CAAC,CAAC;YAE9I,MAAM,oBAAoB,mCACrB,QAAQ,KACX,IAAI,EAAE,MAAM,EACZ,OAAO;gBACP,IAAI;gBACJ,IAAI,GACL,CAAC;YAEF,OAAO,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;SAC1C;QAED,MAAM,IAAI,GAAG,IAAA,uBAAS,EAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,OAAO;YACL,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,IAAI;YACJ,IAAI,EAAE,QAAQ,CAAC,IAAI;SACpB,CAAC;IACJ,CAAC;CACF,CAAA;AAhDY,wBAAwB;IADpC,IAAA,qBAAS,GAAE;IAIG,WAAA,IAAA,sBAAU,EAAC,GAAG,EAAE,CAAC,8DAA4B,CAAC,CAAA;qCAAmB,8DAA4B;GAH/F,wBAAwB,CAgDpC;AAhDY,4DAAwB"}
@@ -0,0 +1,5 @@
1
+ import type { Type } from "../types";
2
+ import type { MailTemplateRenderer } from './mail-template.renderer';
3
+ import type { MailClientConfig } from './mail.client';
4
+ export declare const MAIL_CLIENT_CONFIG: import("../container").InjectionToken<MailClientConfig, any>;
5
+ export declare const MAIL_TEMPLATE_RENDERERS: import("../container").InjectionToken<Type<MailTemplateRenderer<import("./models").MailTemplate<string, any>>, any>[], any>;
package/mail/tokens.js ADDED
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MAIL_TEMPLATE_RENDERERS = exports.MAIL_CLIENT_CONFIG = void 0;
4
+ const container_1 = require("../container");
5
+ exports.MAIL_CLIENT_CONFIG = (0, container_1.injectionToken)('MAIL_CLIENT_CONFIG');
6
+ exports.MAIL_TEMPLATE_RENDERERS = (0, container_1.injectionToken)('MAIL_TEMPLATE_RENDERERS');
7
+ //# sourceMappingURL=tokens.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../source/mail/tokens.ts"],"names":[],"mappings":";;;AAAA,4CAA6C;AAKhC,QAAA,kBAAkB,GAAG,IAAA,0BAAc,EAAmB,oBAAoB,CAAC,CAAC;AAE5E,QAAA,uBAAuB,GAAG,IAAA,0BAAc,EAA+B,yBAAyB,CAAC,CAAC"}
@@ -11,4 +11,4 @@ export declare class LocalMessageBusProvider extends MessageBusProvider {
11
11
  * configure local message bus module
12
12
  * @param register whether to register for {@link LocalMessageBus} and {@link LocalMessageBusProvider}
13
13
  */
14
- export declare function configureLocalMessageBus(register: boolean): void;
14
+ export declare function configureLocalMessageBus(register?: boolean): void;
@@ -47,7 +47,7 @@ exports.LocalMessageBusProvider = LocalMessageBusProvider;
47
47
  * configure local message bus module
48
48
  * @param register whether to register for {@link LocalMessageBus} and {@link LocalMessageBusProvider}
49
49
  */
50
- function configureLocalMessageBus(register) {
50
+ function configureLocalMessageBus(register = true) {
51
51
  if (register) {
52
52
  container_1.container.registerSingleton(message_bus_provider_1.MessageBusProvider, { useToken: LocalMessageBusProvider });
53
53
  container_1.container.register(message_bus_1.MessageBus, { useToken: local_message_bus_1.LocalMessageBus });
@@ -1 +1 @@
1
- {"version":3,"file":"local-message-bus-provider.js","sourceRoot":"","sources":["../../../source/message-bus/local/local-message-bus-provider.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,+CAA+D;AAC/D,qEAA4D;AAE5D,yCAAkC;AAClC,yDAAiD;AACjD,yDAAkD;AAClD,+BAA+B;AAC/B,gDAA4C;AAC5C,kEAA6D;AAC7D,2DAAsD;AAItD,IAAa,uBAAuB,GAApC,MAAa,uBAAwB,SAAQ,yCAAkB;IAI7D,YAA2D,MAAc;QACvE,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,kBAAkB,GAAG,IAAI,wBAAU,CAAuC,GAAG,EAAE,CAAC,IAAI,cAAO,EAAE,EAAE,yBAAU,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,yBAAU,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC3J,CAAC;IAED,GAAG,CAAI,OAAe;QACpB,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAErD,IAAI,IAAA,yBAAW,EAAC,OAAO,CAAC,EAAE;YACxB,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACxC,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;SAC1B;QAED,OAAO,IAAI,mCAAe,CAAI,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACtD,CAAC;CACF,CAAA;AArBY,uBAAuB;IADnC,IAAA,qBAAS,GAAE;IAKG,WAAA,IAAA,sBAAU,EAAiB,iBAAiB,CAAC,CAAA;qCAAS,eAAM;GAJ9D,uBAAuB,CAqBnC;AArBY,0DAAuB;AAuBpC;;;GAGG;AACH,SAAgB,wBAAwB,CAAC,QAAiB;IACxD,IAAI,QAAQ,EAAE;QACZ,qBAAS,CAAC,iBAAiB,CAAC,yCAAkB,EAAE,EAAE,QAAQ,EAAE,uBAAuB,EAAE,CAAC,CAAC;QACvF,qBAAS,CAAC,QAAQ,CAAC,wBAAU,EAAE,EAAE,QAAQ,EAAE,mCAAe,EAAE,CAAC,CAAC;KAC/D;AACH,CAAC;AALD,4DAKC"}
1
+ {"version":3,"file":"local-message-bus-provider.js","sourceRoot":"","sources":["../../../source/message-bus/local/local-message-bus-provider.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,+CAA+D;AAC/D,qEAA4D;AAE5D,yCAAkC;AAClC,yDAAiD;AACjD,yDAAkD;AAClD,+BAA+B;AAC/B,gDAA4C;AAC5C,kEAA6D;AAC7D,2DAAsD;AAItD,IAAa,uBAAuB,GAApC,MAAa,uBAAwB,SAAQ,yCAAkB;IAI7D,YAA2D,MAAc;QACvE,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,kBAAkB,GAAG,IAAI,wBAAU,CAAuC,GAAG,EAAE,CAAC,IAAI,cAAO,EAAE,EAAE,yBAAU,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,yBAAU,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC3J,CAAC;IAED,GAAG,CAAI,OAAe;QACpB,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAErD,IAAI,IAAA,yBAAW,EAAC,OAAO,CAAC,EAAE;YACxB,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACxC,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;SAC1B;QAED,OAAO,IAAI,mCAAe,CAAI,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACtD,CAAC;CACF,CAAA;AArBY,uBAAuB;IADnC,IAAA,qBAAS,GAAE;IAKG,WAAA,IAAA,sBAAU,EAAiB,iBAAiB,CAAC,CAAA;qCAAS,eAAM;GAJ9D,uBAAuB,CAqBnC;AArBY,0DAAuB;AAuBpC;;;GAGG;AACH,SAAgB,wBAAwB,CAAC,WAAoB,IAAI;IAC/D,IAAI,QAAQ,EAAE;QACZ,qBAAS,CAAC,iBAAiB,CAAC,yCAAkB,EAAE,EAAE,QAAQ,EAAE,uBAAuB,EAAE,CAAC,CAAC;QACvF,qBAAS,CAAC,QAAQ,CAAC,wBAAU,EAAE,EAAE,QAAQ,EAAE,mCAAe,EAAE,CAAC,CAAC;KAC/D;AACH,CAAC;AALD,4DAKC"}
@@ -6,6 +6,6 @@ import type { CollectionArgument } from '../../database/mongo/classes';
6
6
  import { Collection } from '../../database/mongo/classes';
7
7
  import { MongoEntityRepository } from '../../database/mongo/mongo-entity-repository';
8
8
  export declare class MongoMigrationStateRepository extends MongoEntityRepository<MigrationState> implements MigrationStateRepository, Injectable<CollectionArgument<MigrationState>> {
9
- readonly [resolveArgumentType]: CollectionArgument<MigrationState, MigrationState>;
9
+ readonly [resolveArgumentType]: CollectionArgument<MigrationState>;
10
10
  constructor(collection: Collection<MigrationState>, logger: Logger);
11
11
  }
@@ -1,11 +1,17 @@
1
1
  import type { ReadonlyCancellationToken } from "../utils/cancellation-token";
2
2
  import type { MetricAggregation, MetricAggregationOptions } from "../utils/moving-metric";
3
+ import { MovingMetric } from "../utils/moving-metric";
3
4
  import type { ModuleMetric } from './module';
4
- declare type MetricReport<Aggregation extends MetricAggregation> = {
5
+ export declare type MetricReport<Aggregation extends MetricAggregation> = {
5
6
  displayName: string;
6
7
  aggregation: Aggregation;
7
8
  aggregationOptions?: MetricAggregationOptions<Aggregation>;
8
9
  };
10
+ export declare type MetricReportRegistration = {
11
+ metric: ModuleMetric;
12
+ moving: MovingMetric;
13
+ reports: MetricReport<MetricAggregation>[];
14
+ };
9
15
  export declare class ModuleMetricReporter {
10
16
  private readonly metricGroups;
11
17
  private readonly sampleInterval;
@@ -21,4 +27,3 @@ export declare class ModuleMetricReporter {
21
27
  run(cancellationToken: ReadonlyCancellationToken): Promise<void>;
22
28
  private updateNameLengths;
23
29
  }
24
- export {};