@tstdl/base 0.78.0-beta36 → 0.78.0-beta39

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 (129) hide show
  1. package/examples/mail/basic.js +12 -7
  2. package/examples/mail/basic.js.map +1 -1
  3. package/examples/mail/templates/hello-name.d.ts +2 -0
  4. package/examples/mail/templates/hello-name.js +11 -0
  5. package/examples/mail/templates/hello-name.js.map +1 -0
  6. package/examples/pdf/basic.js +6 -3
  7. package/examples/pdf/basic.js.map +1 -1
  8. package/examples/pdf/templates/hello-name.d.ts +1 -1
  9. package/examples/pdf/templates/hello-name.js +16 -4
  10. package/examples/pdf/templates/hello-name.js.map +1 -1
  11. package/mail/index.d.ts +0 -3
  12. package/mail/index.js +0 -3
  13. package/mail/index.js.map +1 -1
  14. package/mail/mail.service.d.ts +3 -5
  15. package/mail/mail.service.js +8 -14
  16. package/mail/mail.service.js.map +1 -1
  17. package/mail/models/mail-template.model.d.ts +11 -10
  18. package/mail/models/mail-template.model.js +7 -0
  19. package/mail/models/mail-template.model.js.map +1 -1
  20. package/mail/module.d.ts +1 -5
  21. package/mail/module.js +2 -11
  22. package/mail/module.js.map +1 -1
  23. package/mail/tokens.d.ts +0 -3
  24. package/mail/tokens.js +1 -2
  25. package/mail/tokens.js.map +1 -1
  26. package/openid-connect/oidc-configuration.service.d.ts +2 -1
  27. package/openid-connect/oidc-configuration.service.js +5 -3
  28. package/openid-connect/oidc-configuration.service.js.map +1 -1
  29. package/openid-connect/oidc.service.js +4 -1
  30. package/openid-connect/oidc.service.js.map +1 -1
  31. package/package.json +3 -3
  32. package/pdf/pdf.service.d.ts +48 -10
  33. package/pdf/pdf.service.js +114 -4
  34. package/pdf/pdf.service.js.map +1 -1
  35. package/schema/decorators/optional.d.ts +3 -1
  36. package/schema/decorators/optional.js +2 -2
  37. package/schema/decorators/optional.js.map +1 -1
  38. package/schema/decorators/types.d.ts +3 -3
  39. package/schema/types.d.ts +4 -3
  40. package/schema/types.js.map +1 -1
  41. package/schema/utils/schema.js +2 -2
  42. package/schema/utils/schema.js.map +1 -1
  43. package/schema/utils/value-type.d.ts +2 -2
  44. package/schema/utils/value-type.js +10 -0
  45. package/schema/utils/value-type.js.map +1 -1
  46. package/search-index/elastic/model/index-mapping.d.ts +2 -1
  47. package/search-index/elastic/model/index-mapping.js.map +1 -1
  48. package/search-index/elastic/search-index.js +1 -1
  49. package/search-index/elastic/search-index.js.map +1 -1
  50. package/templates/index.d.ts +2 -0
  51. package/templates/index.js +2 -0
  52. package/templates/index.js.map +1 -1
  53. package/templates/module.d.ts +3 -1
  54. package/templates/module.js +31 -8
  55. package/templates/module.js.map +1 -1
  56. package/templates/providers/file.provider-template.d.ts +16 -0
  57. package/templates/providers/{file-template.provider.js → file.provider-template.js} +22 -15
  58. package/templates/providers/file.provider-template.js.map +1 -0
  59. package/templates/providers/memory.template-provider.d.ts +8 -0
  60. package/templates/providers/{memory-template.provider.base.js → memory.template-provider.js} +8 -6
  61. package/templates/providers/memory.template-provider.js.map +1 -0
  62. package/templates/renderers/handlebars.template-renderer.d.ts +33 -11
  63. package/templates/renderers/handlebars.template-renderer.js +43 -30
  64. package/templates/renderers/handlebars.template-renderer.js.map +1 -1
  65. package/templates/renderers/mjml.template-renderer.d.ts +6 -6
  66. package/templates/renderers/mjml.template-renderer.js +8 -9
  67. package/templates/renderers/mjml.template-renderer.js.map +1 -1
  68. package/templates/renderers/string.template-renderer.d.ts +8 -0
  69. package/{mail/template-providers/memory-mail-template.provider.js → templates/renderers/string.template-renderer.js} +13 -7
  70. package/templates/renderers/string.template-renderer.js.map +1 -0
  71. package/templates/resolvers/file.template-resolver.d.ts +23 -0
  72. package/templates/resolvers/file.template-resolver.js +63 -0
  73. package/templates/resolvers/file.template-resolver.js.map +1 -0
  74. package/templates/resolvers/string.template-resolver.d.ts +13 -0
  75. package/templates/resolvers/string.template-resolver.js +44 -0
  76. package/templates/resolvers/string.template-resolver.js.map +1 -0
  77. package/templates/template-renderer.provider.js +7 -19
  78. package/templates/template-renderer.provider.js.map +1 -1
  79. package/templates/template-resolver.provider.d.ts +8 -0
  80. package/templates/template-resolver.provider.js +48 -0
  81. package/templates/template-resolver.provider.js.map +1 -0
  82. package/templates/template.model.d.ts +14 -5
  83. package/templates/template.model.js +41 -4
  84. package/templates/template.model.js.map +1 -1
  85. package/templates/template.renderer.d.ts +14 -3
  86. package/templates/template.renderer.js +3 -0
  87. package/templates/template.renderer.js.map +1 -1
  88. package/templates/template.resolver.d.ts +5 -0
  89. package/templates/template.resolver.js +7 -0
  90. package/templates/template.resolver.js.map +1 -0
  91. package/templates/template.service.d.ts +10 -4
  92. package/templates/template.service.js +17 -4
  93. package/templates/template.service.js.map +1 -1
  94. package/templates/tokens.d.ts +3 -2
  95. package/templates/tokens.js +2 -1
  96. package/templates/tokens.js.map +1 -1
  97. package/utils/function/memoize.d.ts +1 -0
  98. package/utils/function/memoize.js +5 -2
  99. package/utils/function/memoize.js.map +1 -1
  100. package/mail/mail-template-renderer.provider.d.ts +0 -8
  101. package/mail/mail-template-renderer.provider.js +0 -60
  102. package/mail/mail-template-renderer.provider.js.map +0 -1
  103. package/mail/mail-template.provider.d.ts +0 -4
  104. package/mail/mail-template.provider.js +0 -7
  105. package/mail/mail-template.provider.js.map +0 -1
  106. package/mail/mail-template.renderer.d.ts +0 -10
  107. package/mail/mail-template.renderer.js +0 -7
  108. package/mail/mail-template.renderer.js.map +0 -1
  109. package/mail/template-providers/file-mail-template.provider.d.ts +0 -24
  110. package/mail/template-providers/file-mail-template.provider.js +0 -51
  111. package/mail/template-providers/file-mail-template.provider.js.map +0 -1
  112. package/mail/template-providers/memory-mail-template.provider.d.ts +0 -6
  113. package/mail/template-providers/memory-mail-template.provider.js.map +0 -1
  114. package/mail/template-renderers/handlebars.mail-template-renderer.d.ts +0 -13
  115. package/mail/template-renderers/handlebars.mail-template-renderer.js +0 -49
  116. package/mail/template-renderers/handlebars.mail-template-renderer.js.map +0 -1
  117. package/mail/template-renderers/mjml.mail-template-renderer.d.ts +0 -14
  118. package/mail/template-renderers/mjml.mail-template-renderer.js +0 -63
  119. package/mail/template-renderers/mjml.mail-template-renderer.js.map +0 -1
  120. package/templates/providers/file-template.provider.base.d.ts +0 -12
  121. package/templates/providers/file-template.provider.base.js +0 -50
  122. package/templates/providers/file-template.provider.base.js.map +0 -1
  123. package/templates/providers/file-template.provider.d.ts +0 -22
  124. package/templates/providers/file-template.provider.js.map +0 -1
  125. package/templates/providers/memory-template.provider.base.d.ts +0 -9
  126. package/templates/providers/memory-template.provider.base.js.map +0 -1
  127. package/templates/providers/memory-template.provider.d.ts +0 -4
  128. package/templates/providers/memory-template.provider.js +0 -18
  129. package/templates/providers/memory-template.provider.js.map +0 -1
@@ -1,8 +1,45 @@
1
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
+ };
2
11
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.template = void 0;
4
- function template(template) {
5
- return template;
12
+ exports.Template = exports.TemplateField = void 0;
13
+ const schema_1 = require("../schema");
14
+ let TemplateField = class TemplateField {
15
+ };
16
+ __decorate([
17
+ (0, schema_1.Property)(),
18
+ __metadata("design:type", String)
19
+ ], TemplateField.prototype, "resolver", void 0);
20
+ __decorate([
21
+ (0, schema_1.Property)(),
22
+ __metadata("design:type", String)
23
+ ], TemplateField.prototype, "renderer", void 0);
24
+ __decorate([
25
+ (0, schema_1.Any)(),
26
+ (0, schema_1.Optional)(),
27
+ __metadata("design:type", Object)
28
+ ], TemplateField.prototype, "options", void 0);
29
+ TemplateField = __decorate([
30
+ (0, schema_1.Type)({ allowUnknownProperties: (0, schema_1.any)() })
31
+ ], TemplateField);
32
+ exports.TemplateField = TemplateField;
33
+ class Template {
6
34
  }
7
- exports.template = template;
35
+ __decorate([
36
+ (0, schema_1.Property)({ schema: (0, schema_1.object)({}, { allowUnknownProperties: TemplateField }) }),
37
+ __metadata("design:type", Object)
38
+ ], Template.prototype, "fields", void 0);
39
+ __decorate([
40
+ (0, schema_1.Any)(),
41
+ (0, schema_1.Optional)(),
42
+ __metadata("design:type", Object)
43
+ ], Template.prototype, "options", void 0);
44
+ exports.Template = Template;
8
45
  //# sourceMappingURL=template.model.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"template.model.js","sourceRoot":"","sources":["../../source/templates/template.model.ts"],"names":[],"mappings":";;;AAMA,SAAgB,QAAQ,CAAgC,QAAW;IACjE,OAAO,QAAQ,CAAC;AAClB,CAAC;AAFD,4BAEC"}
1
+ {"version":3,"file":"template.model.js","sourceRoot":"","sources":["../../source/templates/template.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,sCAAsE;AAI/D,IAAM,aAAa,GAAnB,MAAM,aAAa;CAUzB,CAAA;AATC;IAAC,IAAA,iBAAQ,GAAE;;+CACQ;AAEnB;IAAC,IAAA,iBAAQ,GAAE;;+CACQ;AAEnB;IAAC,IAAA,YAAG,GAAE;IACL,IAAA,iBAAQ,GAAE;;8CACO;AATP,aAAa;IADzB,IAAA,aAAI,EAAC,EAAE,sBAAsB,EAAE,IAAA,YAAG,GAAE,EAAE,CAAC;GAC3B,aAAa,CAUzB;AAVY,sCAAa;AAiB1B,MAAsB,QAAQ;CAO7B;AANC;IAAC,IAAA,iBAAQ,EAAC,EAAE,MAAM,EAAE,IAAA,eAAM,EAAC,EAAE,EAAE,EAAE,sBAAsB,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC;;wCAC7C;AAE/B;IAAC,IAAA,YAAG,GAAE;IACL,IAAA,iBAAQ,GAAE;;yCACe;AAN5B,4BAOC"}
@@ -1,6 +1,17 @@
1
- import type { Template } from './template.model';
2
1
  export declare type TemplateRenderResult = string;
3
- export declare abstract class TemplateRenderer<T extends Template = Template> {
2
+ export declare type TemplateRenderObject<Renderer extends string = string, Options = any> = {
3
+ renderer: Renderer;
4
+ template: string;
5
+ options?: Options;
6
+ };
7
+ export declare type TemplateRendererString = typeof templateRendererString;
8
+ export declare type TemplateRendererOptions = typeof templateRendererOptions;
9
+ export declare const templateRendererString: unique symbol;
10
+ export declare const templateRendererOptions: unique symbol;
11
+ export declare abstract class TemplateRenderer<Renderer extends string = string, Options = any> {
12
+ readonly [templateRendererString]: Renderer;
13
+ readonly [templateRendererOptions]: Options;
14
+ render(template: TemplateRenderObject<Renderer, Options>, context?: object): Promise<TemplateRenderResult>;
4
15
  abstract canHandleType(type: string): boolean;
5
- abstract render(template: T, context?: object): Promise<TemplateRenderResult>;
16
+ protected abstract _render(renderObject: TemplateRenderObject<Renderer, Options>, context?: object): TemplateRenderResult | Promise<TemplateRenderResult>;
6
17
  }
@@ -2,6 +2,9 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TemplateRenderer = void 0;
4
4
  class TemplateRenderer {
5
+ async render(template, context) {
6
+ return this._render(template, context);
7
+ }
5
8
  }
6
9
  exports.TemplateRenderer = TemplateRenderer;
7
10
  //# sourceMappingURL=template.renderer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"template.renderer.js","sourceRoot":"","sources":["../../source/templates/template.renderer.ts"],"names":[],"mappings":";;;AAIA,MAAsB,gBAAgB;CAIrC;AAJD,4CAIC"}
1
+ {"version":3,"file":"template.renderer.js","sourceRoot":"","sources":["../../source/templates/template.renderer.ts"],"names":[],"mappings":";;;AAcA,MAAsB,gBAAgB;IAIpC,KAAK,CAAC,MAAM,CAAC,QAAiD,EAAE,OAAgB;QAC9E,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACzC,CAAC;CAKF;AAXD,4CAWC"}
@@ -0,0 +1,5 @@
1
+ import type { TemplateField } from './template.model';
2
+ export declare abstract class TemplateResolver<T extends TemplateField = TemplateField> {
3
+ abstract canHandle(resolver: string): boolean;
4
+ abstract resolve(field: T): Promise<string>;
5
+ }
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TemplateResolver = void 0;
4
+ class TemplateResolver {
5
+ }
6
+ exports.TemplateResolver = TemplateResolver;
7
+ //# sourceMappingURL=template.resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"template.resolver.js","sourceRoot":"","sources":["../../source/templates/template.resolver.ts"],"names":[],"mappings":";;;AAEA,MAAsB,gBAAgB;CAGrC;AAHD,4CAGC"}
@@ -1,11 +1,17 @@
1
+ import type { Record } from "../types";
1
2
  import { TemplateRendererProvider } from './template-renderer.provider';
3
+ import { TemplateResolverProvider } from './template-resolver.provider';
2
4
  import type { Template } from './template.model';
3
5
  import { TemplateProvider } from './template.provider';
4
- import type { TemplateRenderResult } from './template.renderer';
6
+ export declare type TemplateServiceRenderResult<T extends Template = Template> = {
7
+ fields: Record<keyof T['fields'], string>;
8
+ options: T['options'];
9
+ };
5
10
  export declare class TemplateService {
6
11
  private readonly templateProvider;
7
12
  private readonly templateRendererProvider;
8
- constructor(templateProvider: TemplateProvider | undefined, templateRendererProvider: TemplateRendererProvider);
9
- render(key: string, templateContext?: object): Promise<TemplateRenderResult>;
10
- render<T extends Template = Template>(template: T, templateContext?: object): Promise<TemplateRenderResult>;
13
+ private readonly templateResolverProvider;
14
+ constructor(templateProvider: TemplateProvider | undefined, templateRendererProvider: TemplateRendererProvider, templateResolverProvider: TemplateResolverProvider);
15
+ render<T extends Template = Template>(key: string, templateContext?: object): Promise<TemplateServiceRenderResult<T>>;
16
+ render<T extends Template = Template>(template: T, templateContext?: object): Promise<TemplateServiceRenderResult<T>>;
11
17
  }
@@ -17,23 +17,36 @@ const container_1 = require("../container");
17
17
  const throw_1 = require("../utils/throw");
18
18
  const type_guards_1 = require("../utils/type-guards");
19
19
  const template_renderer_provider_1 = require("./template-renderer.provider");
20
+ const template_resolver_provider_1 = require("./template-resolver.provider");
20
21
  const template_provider_1 = require("./template.provider");
21
22
  let TemplateService = class TemplateService {
22
- constructor(templateProvider, templateRendererProvider) {
23
+ constructor(templateProvider, templateRendererProvider, templateResolverProvider) {
23
24
  this.templateProvider = templateProvider ?? { get: () => (0, throw_1._throw)(new Error('No template provider provided. Cannot render template-keys.')) };
24
25
  this.templateRendererProvider = templateRendererProvider;
26
+ this.templateResolverProvider = templateResolverProvider;
25
27
  }
26
28
  async render(keyOrTemplate, templateContext) {
27
29
  const template = (0, type_guards_1.isString)(keyOrTemplate) ? await this.templateProvider.get(keyOrTemplate) : keyOrTemplate;
28
- const renderer = this.templateRendererProvider.get(template.type);
29
- return renderer.render(template, templateContext);
30
+ const result = {
31
+ fields: {},
32
+ options: template.options
33
+ };
34
+ for (const [key, field] of Object.entries(template.fields)) {
35
+ const resolver = this.templateResolverProvider.get(field.resolver);
36
+ const renderer = this.templateRendererProvider.get(field.renderer);
37
+ const templateString = await resolver.resolve(field);
38
+ const resultString = await renderer.render({ renderer: field.renderer, template: templateString, options: field.options }, templateContext);
39
+ result.fields[key] = resultString;
40
+ }
41
+ return result;
30
42
  }
31
43
  };
32
44
  TemplateService = __decorate([
33
45
  (0, container_1.singleton)(),
34
46
  __param(0, (0, container_1.optional)()),
35
47
  __param(0, (0, container_1.inject)(template_provider_1.TemplateProvider)),
36
- __metadata("design:paramtypes", [Object, template_renderer_provider_1.TemplateRendererProvider])
48
+ __metadata("design:paramtypes", [Object, template_renderer_provider_1.TemplateRendererProvider,
49
+ template_resolver_provider_1.TemplateResolverProvider])
37
50
  ], TemplateService);
38
51
  exports.TemplateService = TemplateService;
39
52
  //# sourceMappingURL=template.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"template.service.js","sourceRoot":"","sources":["../../source/templates/template.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,4CAA0D;AAC1D,0CAAuC;AACvC,sDAA+C;AAC/C,6EAAwE;AAExE,2DAAuD;AAIhD,IAAM,eAAe,GAArB,MAAM,eAAe;IAI1B,YAAkD,gBAA8C,EAAE,wBAAkD;QAClJ,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,IAAA,cAAM,EAAC,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC,EAAE,CAAC;QAC5I,IAAI,CAAC,wBAAwB,GAAG,wBAAwB,CAAC;IAC3D,CAAC;IAID,KAAK,CAAC,MAAM,CAAgC,aAAyB,EAAE,eAAwB;QAC7F,MAAM,QAAQ,GAAG,IAAA,sBAAQ,EAAC,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;QAC1G,MAAM,QAAQ,GAAG,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAClE,OAAO,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;IACpD,CAAC;CACF,CAAA;AAhBY,eAAe;IAD3B,IAAA,qBAAS,GAAE;IAKG,WAAA,IAAA,oBAAQ,GAAE,CAAA;IAAE,WAAA,IAAA,kBAAM,EAAC,oCAAgB,CAAC,CAAA;6CAA2E,qDAAwB;GAJzI,eAAe,CAgB3B;AAhBY,0CAAe"}
1
+ {"version":3,"file":"template.service.js","sourceRoot":"","sources":["../../source/templates/template.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,4CAA0D;AAE1D,0CAAuC;AACvC,sDAA+C;AAC/C,6EAAwE;AACxE,6EAAwE;AAExE,2DAAuD;AAQhD,IAAM,eAAe,GAArB,MAAM,eAAe;IAK1B,YACwC,gBAA8C,EACpF,wBAAkD,EAClD,wBAAkD;QAElD,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,IAAA,cAAM,EAAC,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC,EAAE,CAAC;QAC5I,IAAI,CAAC,wBAAwB,GAAG,wBAAwB,CAAC;QACzD,IAAI,CAAC,wBAAwB,GAAG,wBAAwB,CAAC;IAC3D,CAAC;IAID,KAAK,CAAC,MAAM,CAAgC,aAAyB,EAAE,eAAwB;QAC7F,MAAM,QAAQ,GAAG,IAAA,sBAAQ,EAAC,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;QAE1G,MAAM,MAAM,GAAmC;YAC7C,MAAM,EAAE,EAAS;YACjB,OAAO,EAAE,QAAQ,CAAC,OAAO;SAC1B,CAAC;QAEF,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;YAC1D,MAAM,QAAQ,GAAG,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YACnE,MAAM,QAAQ,GAAG,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAEnE,MAAM,cAAc,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACrD,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,eAAe,CAAC,CAAC;YAE5I,MAAM,CAAC,MAAM,CAAC,GAAwB,CAAC,GAAG,YAAY,CAAC;SACxD;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF,CAAA;AArCY,eAAe;IAD3B,IAAA,qBAAS,GAAE;IAOP,WAAA,IAAA,oBAAQ,GAAE,CAAA;IAAE,WAAA,IAAA,kBAAM,EAAC,oCAAgB,CAAC,CAAA;6CACX,qDAAwB;QACxB,qDAAwB;GARzC,eAAe,CAqC3B;AArCY,0CAAe"}
@@ -1,3 +1,4 @@
1
- import type { Type } from "../types";
2
1
  import type { TemplateRenderer } from './template.renderer';
3
- export declare const TEMPLATE_RENDERERS: import("../container").InjectionToken<Type<TemplateRenderer<import("./template.model").Template<string, any>>, any>[], any>;
2
+ import type { TemplateResolver } from './template.resolver';
3
+ export declare const TEMPLATE_RENDERERS: import("../container").InjectionToken<TemplateRenderer<string, any>[], any>;
4
+ export declare const TEMPLATE_RESOLVERS: import("../container").InjectionToken<TemplateResolver<import("./template.model").TemplateField<string, string, any>>[], any>;
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TEMPLATE_RENDERERS = void 0;
3
+ exports.TEMPLATE_RESOLVERS = exports.TEMPLATE_RENDERERS = void 0;
4
4
  const container_1 = require("../container");
5
5
  exports.TEMPLATE_RENDERERS = (0, container_1.injectionToken)('TEMPLATE_RENDERERS');
6
+ exports.TEMPLATE_RESOLVERS = (0, container_1.injectionToken)('TEMPLATE_RESOLVERS');
6
7
  //# sourceMappingURL=tokens.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../source/templates/tokens.ts"],"names":[],"mappings":";;;AAAA,4CAA6C;AAIhC,QAAA,kBAAkB,GAAG,IAAA,0BAAc,EAA2B,oBAAoB,CAAC,CAAC"}
1
+ {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../source/templates/tokens.ts"],"names":[],"mappings":";;;AAAA,4CAA6C;AAIhC,QAAA,kBAAkB,GAAG,IAAA,0BAAc,EAAqB,oBAAoB,CAAC,CAAC;AAC9E,QAAA,kBAAkB,GAAG,IAAA,0BAAc,EAAqB,oBAAoB,CAAC,CAAC"}
@@ -1,6 +1,7 @@
1
1
  export declare type MemoizeOptions = {
2
2
  /** Use WeakMap instead of Map for caching. Can be used with object parameters only */
3
3
  weak?: boolean;
4
+ thisArg?: any;
4
5
  };
5
6
  /**
6
7
  * memoizes a function with an arbitrary number of parameters. If you only need a single parameter, {@link memoizeSingle} is faster
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.memoizeSingle = exports.memoize = void 0;
4
4
  const data_structures_1 = require("../../data-structures");
5
5
  const multi_key_map_1 = require("../../data-structures/multi-key-map");
6
+ const type_guards_1 = require("../type-guards");
6
7
  /**
7
8
  * memoizes a function with an arbitrary number of parameters. If you only need a single parameter, {@link memoizeSingle} is faster
8
9
  * @param fn function memoize
@@ -10,12 +11,13 @@ const multi_key_map_1 = require("../../data-structures/multi-key-map");
10
11
  */ function memoize(fn, options = {}) {
11
12
  const cache = new multi_key_map_1.MultiKeyMap((options.weak ?? false) ? () => new data_structures_1.IterableWeakMap() : undefined);
12
13
  const name = getMemoizedName(fn);
14
+ const boundFn = (0, type_guards_1.isDefined)(options.thisArg) ? fn.bind(options.thisArg) : fn;
13
15
  return {
14
16
  [name](...parameters) {
15
17
  if (cache.has(parameters)) {
16
18
  return cache.get(parameters);
17
19
  }
18
- const result = fn(...parameters);
20
+ const result = boundFn(...parameters);
19
21
  cache.set(parameters, result);
20
22
  return result;
21
23
  }
@@ -30,12 +32,13 @@ exports.memoize = memoize;
30
32
  function memoizeSingle(fn, options = {}) {
31
33
  const cache = (options.weak ?? false) ? new data_structures_1.IterableWeakMap() : new Map();
32
34
  const name = getMemoizedName(fn);
35
+ const boundFn = (0, type_guards_1.isDefined)(options.thisArg) ? fn.bind(options.thisArg) : fn;
33
36
  return {
34
37
  [name](parameter) {
35
38
  if (cache.has(parameter)) {
36
39
  return cache.get(parameter);
37
40
  }
38
- const result = fn(parameter);
41
+ const result = boundFn(parameter);
39
42
  cache.set(parameter, result);
40
43
  return result;
41
44
  }
@@ -1 +1 @@
1
- {"version":3,"file":"memoize.js","sourceRoot":"","sources":["../../../source/utils/function/memoize.ts"],"names":[],"mappings":";;;AAAA,2DAAoD;AACpD,uEAA8D;AAO9D;;;;GAIG,CAAA,SAAgB,OAAO,CAA2C,EAAM,EAAE,UAA0B,EAAE;IACvG,MAAM,KAAK,GAAG,IAAI,2BAAW,CAAW,CAAC,OAAO,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,iCAAe,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC3G,MAAM,IAAI,GAAG,eAAe,CAAC,EAAE,CAAC,CAAC;IAEjC,OAAO;QACL,CAAC,IAAI,CAAC,CAAC,GAAG,UAA0B;YAClC,IAAI,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;gBACzB,OAAO,KAAK,CAAC,GAAG,CAAC,UAAU,CAAE,CAAC;aAC/B;YAED,MAAM,MAAM,GAAG,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC;YACjC,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YAE9B,OAAO,MAAM,CAAC;QAChB,CAAC;KACF,CAAC,IAAI,CAAO,CAAC;AAChB,CAAC;AAhBE,0BAgBF;AAED;;;;GAIG;AACH,SAAgB,aAAa,CAAqC,EAAM,EAAE,UAA0B,EAAE;IACpG,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,iCAAe,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,EAAY,CAAC;IACpF,MAAM,IAAI,GAAG,eAAe,CAAC,EAAE,CAAC,CAAC;IAEjC,OAAO;QACL,CAAC,IAAI,CAAC,CAAC,SAAc;YACnB,IAAI,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;gBACxB,OAAO,KAAK,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC;aAC9B;YAED,MAAM,MAAM,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YAC7B,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YAE7B,OAAO,MAAM,CAAC;QAChB,CAAC;KACF,CAAC,IAAI,CAAO,CAAC;AAChB,CAAC;AAhBD,sCAgBC;AAED,SAAS,eAAe,CAAC,EAA2B;IAClD,OAAO,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AACzE,CAAC"}
1
+ {"version":3,"file":"memoize.js","sourceRoot":"","sources":["../../../source/utils/function/memoize.ts"],"names":[],"mappings":";;;AAAA,2DAAoD;AACpD,uEAA8D;AAC9D,gDAA2C;AAQ3C;;;;GAIG,CAAA,SAAgB,OAAO,CAA2C,EAAM,EAAE,UAA0B,EAAE;IACvG,MAAM,KAAK,GAAG,IAAI,2BAAW,CAAW,CAAC,OAAO,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,iCAAe,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC3G,MAAM,IAAI,GAAG,eAAe,CAAC,EAAE,CAAC,CAAC;IACjC,MAAM,OAAO,GAAG,IAAA,uBAAS,EAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAE3E,OAAO;QACL,CAAC,IAAI,CAAC,CAAC,GAAG,UAA0B;YAClC,IAAI,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;gBACzB,OAAO,KAAK,CAAC,GAAG,CAAC,UAAU,CAAE,CAAC;aAC/B;YAED,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,UAAU,CAAC,CAAC;YACtC,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YAE9B,OAAO,MAAM,CAAC;QAChB,CAAC;KACF,CAAC,IAAI,CAAO,CAAC;AAChB,CAAC;AAjBE,0BAiBF;AAED;;;;GAIG;AACH,SAAgB,aAAa,CAAqC,EAAM,EAAE,UAA0B,EAAE;IACpG,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,iCAAe,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,EAAY,CAAC;IACpF,MAAM,IAAI,GAAG,eAAe,CAAC,EAAE,CAAC,CAAC;IACjC,MAAM,OAAO,GAAG,IAAA,uBAAS,EAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAE3E,OAAO;QACL,CAAC,IAAI,CAAC,CAAC,SAAc;YACnB,IAAI,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;gBACxB,OAAO,KAAK,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC;aAC9B;YAED,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;YAClC,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YAE7B,OAAO,MAAM,CAAC;QAChB,CAAC;KACF,CAAC,IAAI,CAAO,CAAC;AAChB,CAAC;AAjBD,sCAiBC;AAED,SAAS,eAAe,CAAC,EAA2B;IAClD,OAAO,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AACzE,CAAC"}
@@ -1,8 +0,0 @@
1
- import type { MailTemplateRenderer } from './mail-template.renderer';
2
- export declare class MailTemplateRendererProvider {
3
- private readonly renderers;
4
- constructor(renderers: MailTemplateRenderer[]);
5
- register(renderer: MailTemplateRenderer): void;
6
- has(type: string): boolean;
7
- get(type: string): MailTemplateRenderer;
8
- }
@@ -1,60 +0,0 @@
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 MailTemplateRendererProvider_1;
12
- Object.defineProperty(exports, "__esModule", { value: true });
13
- exports.MailTemplateRendererProvider = void 0;
14
- const container_1 = require("../container");
15
- const tokens_1 = require("./tokens");
16
- let MailTemplateRendererProvider = MailTemplateRendererProvider_1 = class MailTemplateRendererProvider {
17
- constructor(renderers) {
18
- this.renderers = new Set(renderers);
19
- }
20
- register(renderer) {
21
- this.renderers.add(renderer);
22
- }
23
- has(type) {
24
- for (const renderer of this.renderers) {
25
- if (renderer.canHandleType(type)) {
26
- return true;
27
- }
28
- }
29
- return false;
30
- }
31
- get(type) {
32
- for (const renderer of this.renderers) {
33
- if (renderer.canHandleType(type)) {
34
- return renderer;
35
- }
36
- }
37
- throw new Error(`No renderer for ${type} registered`);
38
- }
39
- };
40
- MailTemplateRendererProvider = MailTemplateRendererProvider_1 = __decorate([
41
- (0, container_1.singleton)({
42
- provider: {
43
- useFactory: (_, context) => {
44
- if (context.isAsync) {
45
- return (async () => {
46
- const types = await context.resolveAsync(tokens_1.MAIL_TEMPLATE_RENDERERS);
47
- const renderers = await Promise.all(types.map(async (type) => context.resolveAsync(type)));
48
- return new MailTemplateRendererProvider_1(renderers);
49
- })();
50
- }
51
- const types = context.resolve(tokens_1.MAIL_TEMPLATE_RENDERERS);
52
- const renderers = types.map((type) => context.resolve(type));
53
- return new MailTemplateRendererProvider_1(renderers);
54
- }
55
- }
56
- }),
57
- __metadata("design:paramtypes", [Array])
58
- ], MailTemplateRendererProvider);
59
- exports.MailTemplateRendererProvider = MailTemplateRendererProvider;
60
- //# sourceMappingURL=mail-template-renderer.provider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mail-template-renderer.provider.js","sourceRoot":"","sources":["../../source/mail/mail-template-renderer.provider.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,4CAAwC;AAExC,qCAAmD;AAmB5C,IAAM,4BAA4B,oCAAlC,MAAM,4BAA4B;IAGvC,YAAY,SAAiC;QAC3C,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;IACtC,CAAC;IAED,QAAQ,CAAC,QAA8B;QACrC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC;IAED,GAAG,CAAC,IAAY;QACd,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE;YACrC,IAAI,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE;gBAChC,OAAO,IAAI,CAAC;aACb;SACF;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,GAAG,CAAC,IAAY;QACd,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE;YACrC,IAAI,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE;gBAChC,OAAO,QAAQ,CAAC;aACjB;SACF;QAED,MAAM,IAAI,KAAK,CAAC,mBAAmB,IAAI,aAAa,CAAC,CAAC;IACxD,CAAC;CACF,CAAA;AA9BY,4BAA4B;IAjBxC,IAAA,qBAAS,EAAC;QACT,QAAQ,EAAE;YACR,UAAU,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE;gBACzB,IAAI,OAAO,CAAC,OAAO,EAAE;oBACnB,OAAO,CAAC,KAAK,IAAI,EAAE;wBACjB,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,gCAAuB,CAAC,CAAC;wBAClE,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;wBAC3F,OAAO,IAAI,8BAA4B,CAAC,SAAS,CAAC,CAAC;oBACrD,CAAC,CAAC,EAAE,CAAC;iBACN;gBAED,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,gCAAuB,CAAC,CAAC;gBACvD,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC7D,OAAO,IAAI,8BAA4B,CAAC,SAAS,CAAC,CAAC;YACrD,CAAC;SACF;KACF,CAAC;;GACW,4BAA4B,CA8BxC;AA9BY,oEAA4B"}
@@ -1,4 +0,0 @@
1
- import type { MailTemplate } from './models';
2
- export declare abstract class MailTemplateProvider {
3
- abstract get(key: string): Promise<MailTemplate>;
4
- }
@@ -1,7 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MailTemplateProvider = void 0;
4
- class MailTemplateProvider {
5
- }
6
- exports.MailTemplateProvider = MailTemplateProvider;
7
- //# sourceMappingURL=mail-template.provider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mail-template.provider.js","sourceRoot":"","sources":["../../source/mail/mail-template.provider.ts"],"names":[],"mappings":";;;AAEA,MAAsB,oBAAoB;CAEzC;AAFD,oDAEC"}
@@ -1,10 +0,0 @@
1
- import type { MailTemplate } from './models';
2
- export declare type MailTemplateRenderResult = {
3
- subject: string | undefined;
4
- html: string | undefined;
5
- text: string | undefined;
6
- };
7
- export declare abstract class MailTemplateRenderer<T extends MailTemplate = MailTemplate> {
8
- abstract canHandleType(type: string): boolean;
9
- abstract render(template: T, context?: object): Promise<MailTemplateRenderResult>;
10
- }
@@ -1,7 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MailTemplateRenderer = void 0;
4
- class MailTemplateRenderer {
5
- }
6
- exports.MailTemplateRenderer = MailTemplateRenderer;
7
- //# sourceMappingURL=mail-template.renderer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mail-template.renderer.js","sourceRoot":"","sources":["../../source/mail/mail-template.renderer.ts"],"names":[],"mappings":";;;AAQA,MAAsB,oBAAoB;CAIzC;AAJD,oDAIC"}
@@ -1,24 +0,0 @@
1
- import type { Injectable } from "../../container";
2
- import { resolveArgumentType } from "../../container";
3
- import { FileTemplateProviderBase } from "../../templates/providers/file-template.provider.base";
4
- import type { MailTemplateProvider } from '../mail-template.provider';
5
- import type { MailTemplate } from '../models';
6
- export declare type FileMailTemplate = MailTemplate & {
7
- /** subject template file */
8
- subjectFile?: string;
9
- /** html template file */
10
- htmlFile?: string;
11
- /** text template file */
12
- textFile?: string;
13
- };
14
- export declare type FileMailTemplateProviderConfig = {
15
- basePath?: string;
16
- };
17
- export declare type FileMailTemplateProviderArgument = string;
18
- export declare const fileMailTemplateProviderConfig: FileMailTemplateProviderConfig;
19
- export declare class FileMailTemplateProvider extends FileTemplateProviderBase<MailTemplate, FileMailTemplate> implements MailTemplateProvider, Injectable<FileMailTemplateProviderArgument> {
20
- readonly [resolveArgumentType]: FileMailTemplateProviderArgument;
21
- constructor(basePath: string);
22
- }
23
- export declare function configureFileMailTemplateProvider(config?: Partial<FileMailTemplateProviderConfig>): void;
24
- export declare function fileMailTemplate<T extends FileMailTemplate>(template: T): T;
@@ -1,51 +0,0 @@
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.fileMailTemplate = exports.configureFileMailTemplateProvider = exports.FileMailTemplateProvider = exports.fileMailTemplateProviderConfig = void 0;
16
- const container_1 = require("../../container");
17
- const schema_1 = require("../../schema");
18
- const file_template_provider_base_1 = require("../../templates/providers/file-template.provider.base");
19
- exports.fileMailTemplateProviderConfig = {};
20
- const fileMailTemplateSchema = (0, schema_1.explicitObject)({
21
- type: (0, schema_1.string)(),
22
- subject: (0, schema_1.optional)((0, schema_1.string)()),
23
- subjectFile: (0, schema_1.optional)((0, schema_1.string)()),
24
- html: (0, schema_1.optional)((0, schema_1.string)()),
25
- htmlFile: (0, schema_1.optional)((0, schema_1.string)()),
26
- text: (0, schema_1.optional)((0, schema_1.string)()),
27
- textFile: (0, schema_1.optional)((0, schema_1.string)()),
28
- options: (0, schema_1.optional)((0, schema_1.any)())
29
- });
30
- let FileMailTemplateProvider = class FileMailTemplateProvider extends file_template_provider_base_1.FileTemplateProviderBase {
31
- constructor(basePath) {
32
- super(fileMailTemplateSchema, basePath, [['subjectFile', 'subject'], ['htmlFile', 'html'], ['textFile', 'text']]);
33
- }
34
- };
35
- FileMailTemplateProvider = __decorate([
36
- (0, container_1.singleton)({
37
- defaultArgumentProvider: () => exports.fileMailTemplateProviderConfig.basePath
38
- }),
39
- __param(0, (0, container_1.injectArg)()),
40
- __metadata("design:paramtypes", [String])
41
- ], FileMailTemplateProvider);
42
- exports.FileMailTemplateProvider = FileMailTemplateProvider;
43
- function configureFileMailTemplateProvider(config = {}) {
44
- exports.fileMailTemplateProviderConfig.basePath = config.basePath ?? exports.fileMailTemplateProviderConfig.basePath;
45
- }
46
- exports.configureFileMailTemplateProvider = configureFileMailTemplateProvider;
47
- function fileMailTemplate(template) {
48
- return template;
49
- }
50
- exports.fileMailTemplate = fileMailTemplate;
51
- //# sourceMappingURL=file-mail-template.provider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"file-mail-template.provider.js","sourceRoot":"","sources":["../../../source/mail/template-providers/file-mail-template.provider.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,+CAAwE;AACxE,yCAAiE;AACjE,uGAA6F;AAqBhF,QAAA,8BAA8B,GAAmC,EAAE,CAAC;AAEjF,MAAM,sBAAsB,GAAG,IAAA,uBAAc,EAAmB;IAC9D,IAAI,EAAE,IAAA,eAAM,GAAE;IACd,OAAO,EAAE,IAAA,iBAAQ,EAAC,IAAA,eAAM,GAAE,CAAC;IAC3B,WAAW,EAAE,IAAA,iBAAQ,EAAC,IAAA,eAAM,GAAE,CAAC;IAC/B,IAAI,EAAE,IAAA,iBAAQ,EAAC,IAAA,eAAM,GAAE,CAAC;IACxB,QAAQ,EAAE,IAAA,iBAAQ,EAAC,IAAA,eAAM,GAAE,CAAC;IAC5B,IAAI,EAAE,IAAA,iBAAQ,EAAC,IAAA,eAAM,GAAE,CAAC;IACxB,QAAQ,EAAE,IAAA,iBAAQ,EAAC,IAAA,eAAM,GAAE,CAAC;IAC5B,OAAO,EAAE,IAAA,iBAAQ,EAAC,IAAA,YAAG,GAAE,CAAC;CACzB,CAAC,CAAC;AAKI,IAAM,wBAAwB,GAA9B,MAAM,wBAAyB,SAAQ,sDAAwD;IAGpG,YAAyB,QAAgB;QACvC,KAAK,CAAC,sBAAsB,EAAE,QAAQ,EAAE,CAAC,CAAC,aAAa,EAAE,SAAS,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IACpH,CAAC;CACF,CAAA;AANY,wBAAwB;IAHpC,IAAA,qBAAS,EAAC;QACT,uBAAuB,EAAE,GAAG,EAAE,CAAC,sCAA8B,CAAC,QAAQ;KACvE,CAAC;IAIa,WAAA,IAAA,qBAAS,GAAE,CAAA;;GAHb,wBAAwB,CAMpC;AANY,4DAAwB;AAQrC,SAAgB,iCAAiC,CAAC,SAAkD,EAAE;IACpG,sCAA8B,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,sCAA8B,CAAC,QAAQ,CAAC;AACvG,CAAC;AAFD,8EAEC;AAED,SAAgB,gBAAgB,CAA6B,QAAW;IACtE,OAAO,QAAQ,CAAC;AAClB,CAAC;AAFD,4CAEC"}
@@ -1,6 +0,0 @@
1
- import { MemoryTemplateProviderBase } from "../../templates/providers/memory-template.provider.base";
2
- import type { MailTemplateProvider } from '../mail-template.provider';
3
- import type { MailTemplate } from '../models';
4
- export declare class MemoryMailTemplateProvider extends MemoryTemplateProviderBase<MailTemplate> implements MailTemplateProvider {
5
- constructor();
6
- }
@@ -1 +0,0 @@
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,2GAAiG;AAK1F,IAAM,0BAA0B,GAAhC,MAAM,0BAA2B,SAAQ,0DAAwC;IACtF;QACE,KAAK,EAAE,CAAC;IACV,CAAC;CACF,CAAA;AAJY,0BAA0B;IADtC,IAAA,qBAAS,GAAE;;GACC,0BAA0B,CAItC;AAJY,gEAA0B"}
@@ -1,13 +0,0 @@
1
- import type { HandlebarsTemplate, HandlebarsTemplateOptions } from "../../templates/renderers/handlebars.template-renderer";
2
- import { HandlebarsTemplateRenderer } from "../../templates/renderers/handlebars.template-renderer";
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 HandlebarsMailTemplateOptions = HandlebarsTemplateOptions;
7
- export declare type HandlebarsMailTemplate = MailTemplate<HandlebarsTemplate['type'], HandlebarsMailTemplateOptions>;
8
- export declare class HandlebarsMailTemplateRenderer extends MailTemplateRenderer<HandlebarsMailTemplate> {
9
- private readonly handlebarsTemplateRenderer;
10
- constructor(handlebarsTemplateRenderer: HandlebarsTemplateRenderer);
11
- canHandleType(type: string): boolean;
12
- render(template: HandlebarsMailTemplate, context?: object): Promise<MailTemplateRenderResult>;
13
- }
@@ -1,49 +0,0 @@
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.HandlebarsMailTemplateRenderer = void 0;
13
- const container_1 = require("../../container");
14
- const templates_1 = require("../../templates");
15
- const handlebars_template_renderer_1 = require("../../templates/renderers/handlebars.template-renderer");
16
- const type_guards_1 = require("../../utils/type-guards");
17
- const mail_template_renderer_1 = require("../mail-template.renderer");
18
- (0, templates_1.configureTemplates)({ templateRenderers: [handlebars_template_renderer_1.HandlebarsTemplateRenderer] });
19
- let HandlebarsMailTemplateRenderer = class HandlebarsMailTemplateRenderer extends mail_template_renderer_1.MailTemplateRenderer {
20
- constructor(handlebarsTemplateRenderer) {
21
- super();
22
- this.handlebarsTemplateRenderer = handlebarsTemplateRenderer;
23
- }
24
- canHandleType(type) {
25
- return this.handlebarsTemplateRenderer.canHandleType(type);
26
- }
27
- async render(template, context) {
28
- const subject = (0, type_guards_1.isDefined)(template.subject)
29
- ? await this.handlebarsTemplateRenderer.render({ type: template.type, template: template.subject, options: template.options }, context)
30
- : undefined;
31
- const html = (0, type_guards_1.isDefined)(template.html)
32
- ? await this.handlebarsTemplateRenderer.render({ type: template.type, template: template.html, options: template.options }, context)
33
- : undefined;
34
- const text = (0, type_guards_1.isDefined)(template.text)
35
- ? await this.handlebarsTemplateRenderer.render({ type: template.type, template: template.text, options: template.options }, context)
36
- : undefined;
37
- return {
38
- subject,
39
- html,
40
- text
41
- };
42
- }
43
- };
44
- HandlebarsMailTemplateRenderer = __decorate([
45
- (0, container_1.singleton)(),
46
- __metadata("design:paramtypes", [handlebars_template_renderer_1.HandlebarsTemplateRenderer])
47
- ], HandlebarsMailTemplateRenderer);
48
- exports.HandlebarsMailTemplateRenderer = HandlebarsMailTemplateRenderer;
49
- //# sourceMappingURL=handlebars.mail-template-renderer.js.map
@@ -1 +0,0 @@
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,+CAAiD;AAEjD,yGAAgG;AAChG,yDAAgD;AAEhD,sEAAiE;AAOjE,IAAA,8BAAkB,EAAC,EAAE,iBAAiB,EAAE,CAAC,yDAA0B,CAAC,EAAE,CAAC,CAAC;AAGjE,IAAM,8BAA8B,GAApC,MAAM,8BAA+B,SAAQ,6CAA4C;IAG9F,YAAY,0BAAsD;QAChE,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,0BAA0B,GAAG,0BAA0B,CAAC;IAC/D,CAAC;IAED,aAAa,CAAC,IAAY;QACxB,OAAO,IAAI,CAAC,0BAA0B,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,QAAgC,EAAE,OAAgB;QAC7D,MAAM,OAAO,GAAG,IAAA,uBAAS,EAAC,QAAQ,CAAC,OAAO,CAAC;YACzC,CAAC,CAAC,MAAM,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC;YACvI,CAAC,CAAC,SAAS,CAAC;QAEd,MAAM,IAAI,GAAG,IAAA,uBAAS,EAAC,QAAQ,CAAC,IAAI,CAAC;YACnC,CAAC,CAAC,MAAM,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC;YACpI,CAAC,CAAC,SAAS,CAAC;QAEd,MAAM,IAAI,GAAG,IAAA,uBAAS,EAAC,QAAQ,CAAC,IAAI,CAAC;YACnC,CAAC,CAAC,MAAM,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC;YACpI,CAAC,CAAC,SAAS,CAAC;QAEd,OAAO;YACL,OAAO;YACP,IAAI;YACJ,IAAI;SACL,CAAC;IACJ,CAAC;CACF,CAAA;AAhCY,8BAA8B;IAD1C,IAAA,qBAAS,GAAE;qCAI8B,yDAA0B;GAHvD,8BAA8B,CAgC1C;AAhCY,wEAA8B"}
@@ -1,14 +0,0 @@
1
- import { TemplateRendererProvider } from "../../templates";
2
- import type { MjmlTemplate, MjmlTemplateOptions } from "../../templates/renderers/mjml.template-renderer";
3
- import { MjmlTemplateRenderer } from "../../templates/renderers/mjml.template-renderer";
4
- import type { MailTemplateRenderResult } from '../mail-template.renderer';
5
- import { MailTemplateRenderer } from '../mail-template.renderer';
6
- import type { MailTemplate } from '../models';
7
- export declare type MjmlMailTemplate = MailTemplate<MjmlTemplate['type'], MjmlTemplateOptions>;
8
- export declare class MjmlMailTemplateRenderer extends MailTemplateRenderer<MjmlMailTemplate> {
9
- private readonly rendererProvider;
10
- private readonly mjmlTemplateRenderer;
11
- constructor(rendererProvider: TemplateRendererProvider, mjmlTemplateRenderer: MjmlTemplateRenderer);
12
- canHandleType(type: string): boolean;
13
- render(template: MjmlMailTemplate, context?: object): Promise<MailTemplateRenderResult>;
14
- }