@tstdl/base 0.78.0-beta37 → 0.78.0-beta38
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/examples/mail/basic.js +12 -7
- package/examples/mail/basic.js.map +1 -1
- package/examples/mail/templates/hello-name.d.ts +2 -0
- package/examples/mail/templates/hello-name.js +11 -0
- package/examples/mail/templates/hello-name.js.map +1 -0
- package/examples/pdf/basic.js +6 -3
- package/examples/pdf/basic.js.map +1 -1
- package/examples/pdf/templates/hello-name.d.ts +1 -1
- package/examples/pdf/templates/hello-name.js +12 -4
- package/examples/pdf/templates/hello-name.js.map +1 -1
- package/mail/index.d.ts +0 -3
- package/mail/index.js +0 -3
- package/mail/index.js.map +1 -1
- package/mail/mail.service.d.ts +3 -5
- package/mail/mail.service.js +8 -14
- package/mail/mail.service.js.map +1 -1
- package/mail/models/mail-template.model.d.ts +11 -10
- package/mail/models/mail-template.model.js +7 -0
- package/mail/models/mail-template.model.js.map +1 -1
- package/mail/module.d.ts +1 -5
- package/mail/module.js +2 -11
- package/mail/module.js.map +1 -1
- package/mail/tokens.d.ts +0 -3
- package/mail/tokens.js +1 -2
- package/mail/tokens.js.map +1 -1
- package/openid-connect/oidc.service.js.map +1 -1
- package/package.json +2 -2
- package/pdf/pdf.service.d.ts +48 -10
- package/pdf/pdf.service.js +114 -4
- package/pdf/pdf.service.js.map +1 -1
- package/schema/decorators/optional.d.ts +3 -1
- package/schema/decorators/optional.js +2 -2
- package/schema/decorators/optional.js.map +1 -1
- package/schema/decorators/types.d.ts +3 -3
- package/schema/types.d.ts +4 -3
- package/schema/types.js.map +1 -1
- package/schema/utils/schema.js +2 -2
- package/schema/utils/schema.js.map +1 -1
- package/schema/utils/value-type.d.ts +2 -2
- package/schema/utils/value-type.js +10 -0
- package/schema/utils/value-type.js.map +1 -1
- package/templates/index.d.ts +2 -0
- package/templates/index.js +2 -0
- package/templates/index.js.map +1 -1
- package/templates/module.d.ts +3 -1
- package/templates/module.js +31 -8
- package/templates/module.js.map +1 -1
- package/templates/providers/file.provider-template.d.ts +16 -0
- package/templates/providers/{file-template.provider.js → file.provider-template.js} +22 -15
- package/templates/providers/file.provider-template.js.map +1 -0
- package/templates/providers/memory.template-provider.d.ts +8 -0
- package/templates/providers/{memory-template.provider.base.js → memory.template-provider.js} +8 -6
- package/templates/providers/memory.template-provider.js.map +1 -0
- package/templates/renderers/handlebars.template-renderer.d.ts +13 -9
- package/templates/renderers/handlebars.template-renderer.js +35 -32
- package/templates/renderers/handlebars.template-renderer.js.map +1 -1
- package/templates/renderers/mjml.template-renderer.d.ts +6 -6
- package/templates/renderers/mjml.template-renderer.js +8 -9
- package/templates/renderers/mjml.template-renderer.js.map +1 -1
- package/templates/renderers/string.template-renderer.d.ts +8 -0
- package/{mail/template-providers/memory-mail-template.provider.js → templates/renderers/string.template-renderer.js} +13 -7
- package/templates/renderers/string.template-renderer.js.map +1 -0
- package/templates/resolvers/file.template-resolver.d.ts +23 -0
- package/templates/resolvers/file.template-resolver.js +63 -0
- package/templates/resolvers/file.template-resolver.js.map +1 -0
- package/templates/resolvers/string.template-resolver.d.ts +13 -0
- package/templates/resolvers/string.template-resolver.js +44 -0
- package/templates/resolvers/string.template-resolver.js.map +1 -0
- package/templates/template-renderer.provider.js +7 -19
- package/templates/template-renderer.provider.js.map +1 -1
- package/templates/template-resolver.provider.d.ts +8 -0
- package/templates/template-resolver.provider.js +48 -0
- package/templates/template-resolver.provider.js.map +1 -0
- package/templates/template.model.d.ts +14 -5
- package/templates/template.model.js +41 -4
- package/templates/template.model.js.map +1 -1
- package/templates/template.renderer.d.ts +14 -3
- package/templates/template.renderer.js +3 -0
- package/templates/template.renderer.js.map +1 -1
- package/templates/template.resolver.d.ts +5 -0
- package/templates/template.resolver.js +7 -0
- package/templates/template.resolver.js.map +1 -0
- package/templates/template.service.d.ts +10 -4
- package/templates/template.service.js +17 -4
- package/templates/template.service.js.map +1 -1
- package/templates/tokens.d.ts +3 -2
- package/templates/tokens.js +2 -1
- package/templates/tokens.js.map +1 -1
- package/utils/function/memoize.d.ts +1 -0
- package/utils/function/memoize.js +5 -2
- package/utils/function/memoize.js.map +1 -1
- package/mail/mail-template-renderer.provider.d.ts +0 -8
- package/mail/mail-template-renderer.provider.js +0 -60
- package/mail/mail-template-renderer.provider.js.map +0 -1
- package/mail/mail-template.provider.d.ts +0 -4
- package/mail/mail-template.provider.js +0 -7
- package/mail/mail-template.provider.js.map +0 -1
- package/mail/mail-template.renderer.d.ts +0 -10
- package/mail/mail-template.renderer.js +0 -7
- package/mail/mail-template.renderer.js.map +0 -1
- package/mail/template-providers/file-mail-template.provider.d.ts +0 -24
- package/mail/template-providers/file-mail-template.provider.js +0 -51
- package/mail/template-providers/file-mail-template.provider.js.map +0 -1
- package/mail/template-providers/memory-mail-template.provider.d.ts +0 -6
- package/mail/template-providers/memory-mail-template.provider.js.map +0 -1
- package/mail/template-renderers/handlebars.mail-template-renderer.d.ts +0 -13
- package/mail/template-renderers/handlebars.mail-template-renderer.js +0 -49
- package/mail/template-renderers/handlebars.mail-template-renderer.js.map +0 -1
- package/mail/template-renderers/mjml.mail-template-renderer.d.ts +0 -14
- package/mail/template-renderers/mjml.mail-template-renderer.js +0 -63
- package/mail/template-renderers/mjml.mail-template-renderer.js.map +0 -1
- package/templates/providers/file-template.provider.base.d.ts +0 -12
- package/templates/providers/file-template.provider.base.js +0 -50
- package/templates/providers/file-template.provider.base.js.map +0 -1
- package/templates/providers/file-template.provider.d.ts +0 -22
- package/templates/providers/file-template.provider.js.map +0 -1
- package/templates/providers/memory-template.provider.base.d.ts +0 -9
- package/templates/providers/memory-template.provider.base.js.map +0 -1
- package/templates/providers/memory-template.provider.d.ts +0 -4
- package/templates/providers/memory-template.provider.js +0 -18
- package/templates/providers/memory-template.provider.js.map +0 -1
|
@@ -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
|
-
|
|
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
|
-
|
|
9
|
-
|
|
10
|
-
render<T extends Template = Template>(
|
|
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
|
|
29
|
-
|
|
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;
|
|
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"}
|
package/templates/tokens.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
import type { Type } from "../types";
|
|
2
1
|
import type { TemplateRenderer } from './template.renderer';
|
|
3
|
-
|
|
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>;
|
package/templates/tokens.js
CHANGED
|
@@ -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
|
package/templates/tokens.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../source/templates/tokens.ts"],"names":[],"mappings":";;;AAAA,4CAA6C;AAIhC,QAAA,kBAAkB,GAAG,IAAA,0BAAc,
|
|
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 =
|
|
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 =
|
|
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;
|
|
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 +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 +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
|
-
}
|
|
@@ -1,63 +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.MjmlMailTemplateRenderer = void 0;
|
|
13
|
-
const container_1 = require("../../container");
|
|
14
|
-
const templates_1 = require("../../templates");
|
|
15
|
-
const mjml_template_renderer_1 = require("../../templates/renderers/mjml.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: [mjml_template_renderer_1.MjmlTemplateRenderer] });
|
|
19
|
-
let MjmlMailTemplateRenderer = class MjmlMailTemplateRenderer extends mail_template_renderer_1.MailTemplateRenderer {
|
|
20
|
-
constructor(rendererProvider, mjmlTemplateRenderer) {
|
|
21
|
-
super();
|
|
22
|
-
this.rendererProvider = rendererProvider;
|
|
23
|
-
this.mjmlTemplateRenderer = mjmlTemplateRenderer;
|
|
24
|
-
}
|
|
25
|
-
canHandleType(type) {
|
|
26
|
-
return this.mjmlTemplateRenderer.canHandleType(type);
|
|
27
|
-
}
|
|
28
|
-
async render(template, context) {
|
|
29
|
-
if (template.type == 'mjml') {
|
|
30
|
-
const mjmlTemplate = (0, type_guards_1.isDefined)(template.html) ? {
|
|
31
|
-
type: template.type,
|
|
32
|
-
template: template.html
|
|
33
|
-
} : undefined;
|
|
34
|
-
const html = (0, type_guards_1.isDefined)(mjmlTemplate)
|
|
35
|
-
? await this.mjmlTemplateRenderer.render(mjmlTemplate)
|
|
36
|
-
: undefined;
|
|
37
|
-
return {
|
|
38
|
-
subject: template.subject,
|
|
39
|
-
html,
|
|
40
|
-
text: template.text
|
|
41
|
-
};
|
|
42
|
-
}
|
|
43
|
-
const parent = template.type.slice(5);
|
|
44
|
-
const renderer = this.rendererProvider.get(parent);
|
|
45
|
-
const subject = (0, type_guards_1.isDefined)(template.subject) ? await renderer.render({ type: parent, template: template.subject, options: template.options?.preprocessorOptions }, context) : undefined;
|
|
46
|
-
const html = (0, type_guards_1.isDefined)(template.html) ? await renderer.render({ type: parent, template: template.html, options: template.options?.preprocessorOptions }, context) : undefined;
|
|
47
|
-
const text = (0, type_guards_1.isDefined)(template.text) ? await renderer.render({ type: parent, template: template.text, options: template.options?.preprocessorOptions }, context) : undefined;
|
|
48
|
-
const preprocessedTemplate = {
|
|
49
|
-
...template,
|
|
50
|
-
type: 'mjml',
|
|
51
|
-
subject,
|
|
52
|
-
html,
|
|
53
|
-
text
|
|
54
|
-
};
|
|
55
|
-
return this.render(preprocessedTemplate);
|
|
56
|
-
}
|
|
57
|
-
};
|
|
58
|
-
MjmlMailTemplateRenderer = __decorate([
|
|
59
|
-
(0, container_1.singleton)(),
|
|
60
|
-
__metadata("design:paramtypes", [templates_1.TemplateRendererProvider, mjml_template_renderer_1.MjmlTemplateRenderer])
|
|
61
|
-
], MjmlMailTemplateRenderer);
|
|
62
|
-
exports.MjmlMailTemplateRenderer = MjmlMailTemplateRenderer;
|
|
63
|
-
//# sourceMappingURL=mjml.mail-template-renderer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mjml.mail-template-renderer.js","sourceRoot":"","sources":["../../../source/mail/template-renderers/mjml.mail-template-renderer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { Schema } from "../../schema";
|
|
2
|
-
import type { TypedOmit } from "../../types";
|
|
3
|
-
import type { Template } from '../template.model';
|
|
4
|
-
export declare type FileTemplateBase<T extends Template = Template> = TypedOmit<T, 'template'>;
|
|
5
|
-
export declare type FileForward<T extends FileTemplateBase, U extends FileTemplateBase> = [fileKey: keyof U, targetKey: keyof T];
|
|
6
|
-
export declare class FileTemplateProviderBase<T extends FileTemplateBase, U extends FileTemplateBase> {
|
|
7
|
-
private readonly schema;
|
|
8
|
-
private readonly basePath;
|
|
9
|
-
private readonly fileForwards;
|
|
10
|
-
constructor(schema: Schema<U>, basePath: string, fileForwards: FileForward<T, U>[]);
|
|
11
|
-
get(key: string): Promise<T>;
|
|
12
|
-
}
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.FileTemplateProviderBase = void 0;
|
|
4
|
-
const bad_request_error_1 = require("../../error/bad-request.error");
|
|
5
|
-
const schema_1 = require("../../schema");
|
|
6
|
-
const type_guards_1 = require("../../utils/type-guards");
|
|
7
|
-
const fs = require("fs/promises");
|
|
8
|
-
const path = require("path");
|
|
9
|
-
const keyPattern = /^[\w\-/]+$/u;
|
|
10
|
-
class FileTemplateProviderBase {
|
|
11
|
-
constructor(schema, basePath, fileForwards) {
|
|
12
|
-
this.schema = schema;
|
|
13
|
-
this.basePath = basePath;
|
|
14
|
-
this.fileForwards = new Map(fileForwards);
|
|
15
|
-
}
|
|
16
|
-
async get(key) {
|
|
17
|
-
if (!keyPattern.test(key)) {
|
|
18
|
-
throw new bad_request_error_1.BadRequestError('Illegal template key. Only a-z, A-Z, 0-9, _ and - are allowed.');
|
|
19
|
-
}
|
|
20
|
-
const filePath = path.resolve(this.basePath, `${key}.js`);
|
|
21
|
-
const templateModule = await Promise.resolve().then(() => require(filePath));
|
|
22
|
-
const fileContent = templateModule.default;
|
|
23
|
-
const fileTemplate = schema_1.Schema.parse(this.schema, fileContent);
|
|
24
|
-
const result = {};
|
|
25
|
-
const entries = Object.entries(fileTemplate);
|
|
26
|
-
for (const [property, value] of entries) {
|
|
27
|
-
if (!this.fileForwards.has(property)) {
|
|
28
|
-
result[property] = value;
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
for (const [fileKey, targetKey] of this.fileForwards) {
|
|
32
|
-
if ((0, type_guards_1.isDefined)(result[targetKey])) {
|
|
33
|
-
if ((0, type_guards_1.isDefined)(fileTemplate[fileKey])) {
|
|
34
|
-
throw new Error(`Either ${fileKey.toString()} or ${targetKey.toString()} must be defined.`);
|
|
35
|
-
}
|
|
36
|
-
continue;
|
|
37
|
-
}
|
|
38
|
-
if ((0, type_guards_1.isDefined)(fileTemplate[fileKey])) {
|
|
39
|
-
const contentFilePath = (0, type_guards_1.assertStringPass)(fileTemplate[fileKey], 'File path must be a string.');
|
|
40
|
-
const content = await fs.readFile(path.resolve(this.basePath, contentFilePath), { encoding: 'utf8' });
|
|
41
|
-
result[targetKey] = content;
|
|
42
|
-
continue;
|
|
43
|
-
}
|
|
44
|
-
throw new Error(`Either ${fileKey.toString()} or ${targetKey.toString()} must be defined.`);
|
|
45
|
-
}
|
|
46
|
-
return result;
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
exports.FileTemplateProviderBase = FileTemplateProviderBase;
|
|
50
|
-
//# sourceMappingURL=file-template.provider.base.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"file-template.provider.base.js","sourceRoot":"","sources":["../../../source/templates/providers/file-template.provider.base.ts"],"names":[],"mappings":";;;AAAA,qEAA4D;AAC5D,yCAAkC;AAElC,yDAAkE;AAClE,kCAAkC;AAClC,6BAA6B;AAO7B,MAAM,UAAU,GAAG,aAAa,CAAC;AAEjC,MAAa,wBAAwB;IAKnC,YAAY,MAAiB,EAAE,QAAgB,EAAE,YAAiC;QAChF,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,YAAY,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAW;QACnB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YACzB,MAAM,IAAI,mCAAe,CAAC,gEAAgE,CAAC,CAAC;SAC7F;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,GAAG,KAAK,CAAC,CAAC;QAC1D,MAAM,cAAc,GAAG,2CAAa,QAAQ,EAAyB,CAAC;QACtE,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,CAAC;QAC3C,MAAM,YAAY,GAAG,eAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAE5D,MAAM,MAAM,GAAW,EAAE,CAAC;QAC1B,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,CAAyB,CAAC;QAErE,KAAK,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,OAAO,EAAE;YACvC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;gBACpC,MAAM,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC;aAC1B;SACF;QAED,KAAK,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,IAAI,CAAC,YAAY,EAAE;YACpD,IAAI,IAAA,uBAAS,EAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE;gBAChC,IAAI,IAAA,uBAAS,EAAC,YAAY,CAAC,OAAO,CAAC,CAAC,EAAE;oBACpC,MAAM,IAAI,KAAK,CAAC,UAAU,OAAO,CAAC,QAAQ,EAAE,OAAO,SAAS,CAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAC;iBAC7F;gBAED,SAAS;aACV;YAED,IAAI,IAAA,uBAAS,EAAC,YAAY,CAAC,OAAO,CAAC,CAAC,EAAE;gBACpC,MAAM,eAAe,GAAG,IAAA,8BAAgB,EAAC,YAAY,CAAC,OAAO,CAAC,EAAE,6BAA6B,CAAC,CAAC;gBAC/F,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,eAAe,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;gBAEtG,MAAM,CAAC,SAAS,CAAC,GAAG,OAAc,CAAC;gBACnC,SAAS;aACV;YAED,MAAM,IAAI,KAAK,CAAC,UAAU,OAAO,CAAC,QAAQ,EAAE,OAAO,SAAS,CAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAC;SAC7F;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AApDD,4DAoDC"}
|