@tstdl/base 0.71.54 → 0.71.57
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/data-structures/index.d.ts +1 -0
- package/data-structures/index.js +1 -0
- package/data-structures/index.js.map +1 -1
- package/data-structures/set.d.ts +18 -0
- package/data-structures/set.js +59 -0
- package/data-structures/set.js.map +1 -0
- package/disposable/disposable.js +2 -2
- package/disposable/disposable.js.map +1 -1
- package/examples/mail/basic.d.ts +1 -0
- package/examples/mail/basic.js +33 -0
- package/examples/mail/basic.js.map +1 -0
- package/examples/pdf/basic.d.ts +1 -0
- package/examples/pdf/basic.js +23 -0
- package/examples/pdf/basic.js.map +1 -0
- package/image-service/image-service.d.ts +1 -1
- package/mail/mail.service.d.ts +1 -0
- package/mail/mail.service.js +7 -1
- package/mail/mail.service.js.map +1 -1
- package/mail/models/mail-log.model.d.ts +3 -3
- package/mail/models/mail-template.model.d.ts +0 -1
- package/mail/template-providers/file-mail-template.provider.d.ts +4 -6
- package/mail/template-providers/file-mail-template.provider.js +3 -27
- package/mail/template-providers/file-mail-template.provider.js.map +1 -1
- package/mail/template-providers/memory-mail-template.provider.d.ts +3 -5
- package/mail/template-providers/memory-mail-template.provider.js +2 -14
- package/mail/template-providers/memory-mail-template.provider.js.map +1 -1
- package/mail/template-renderers/handlebars.mail-template-renderer.d.ts +6 -4
- package/mail/template-renderers/handlebars.mail-template-renderer.js +25 -10
- package/mail/template-renderers/handlebars.mail-template-renderer.js.map +1 -1
- package/mail/template-renderers/mjml.mail-template-renderer.d.ts +6 -7
- package/mail/template-renderers/mjml.mail-template-renderer.js +28 -30
- package/mail/template-renderers/mjml.mail-template-renderer.js.map +1 -1
- package/package.json +7 -5
- package/pdf/index.d.ts +1 -0
- package/pdf/index.js +18 -0
- package/pdf/index.js.map +1 -0
- package/pdf/pdf.service.d.ts +17 -0
- package/pdf/pdf.service.js +62 -0
- package/pdf/pdf.service.js.map +1 -0
- package/pool/index.d.ts +1 -0
- package/pool/index.js +18 -0
- package/pool/index.js.map +1 -0
- package/pool/pool.d.ts +24 -0
- package/pool/pool.js +84 -0
- package/pool/pool.js.map +1 -0
- package/templates/index.d.ts +7 -0
- package/templates/index.js +24 -0
- package/templates/index.js.map +1 -0
- package/templates/module.d.ts +12 -0
- package/templates/module.js +24 -0
- package/templates/module.js.map +1 -0
- package/templates/providers/file-template.provider.base.d.ts +12 -0
- package/templates/providers/file-template.provider.base.js +43 -0
- package/templates/providers/file-template.provider.base.js.map +1 -0
- package/templates/providers/file-template.provider.d.ts +21 -0
- package/templates/providers/file-template.provider.js +44 -0
- package/templates/providers/file-template.provider.js.map +1 -0
- package/templates/providers/memory-template.provider.base.d.ts +9 -0
- package/templates/providers/memory-template.provider.base.js +35 -0
- package/templates/providers/memory-template.provider.base.js.map +1 -0
- package/templates/providers/memory-template.provider.d.ts +4 -0
- package/templates/providers/memory-template.provider.js +18 -0
- package/templates/providers/memory-template.provider.js.map +1 -0
- package/templates/renderers/handlebars.template-renderer.d.ts +11 -0
- package/templates/renderers/handlebars.template-renderer.js +27 -0
- package/templates/renderers/handlebars.template-renderer.js.map +1 -0
- package/templates/renderers/mjml.template-renderer.d.ts +15 -0
- package/templates/renderers/mjml.template-renderer.js +54 -0
- package/templates/renderers/mjml.template-renderer.js.map +1 -0
- package/templates/template-renderer.provider.d.ts +8 -0
- package/templates/template-renderer.provider.js +60 -0
- package/templates/template-renderer.provider.js.map +1 -0
- package/templates/template.model.d.ts +5 -0
- package/templates/template.model.js +3 -0
- package/templates/template.model.js.map +1 -0
- package/templates/template.provider.d.ts +4 -0
- package/templates/template.provider.js +7 -0
- package/templates/template.provider.js.map +1 -0
- package/templates/template.renderer.d.ts +6 -0
- package/templates/template.renderer.js +7 -0
- package/templates/template.renderer.js.map +1 -0
- package/templates/template.service.d.ts +11 -0
- package/templates/template.service.js +37 -0
- package/templates/template.service.js.map +1 -0
- package/templates/tokens.d.ts +3 -0
- package/templates/tokens.js +6 -0
- package/templates/tokens.js.map +1 -0
package/data-structures/index.js
CHANGED
|
@@ -21,6 +21,7 @@ __exportStar(require("./index-out-of-bounds.error"), exports);
|
|
|
21
21
|
__exportStar(require("./linked-list"), exports);
|
|
22
22
|
__exportStar(require("./list"), exports);
|
|
23
23
|
__exportStar(require("./multi-key-map"), exports);
|
|
24
|
+
__exportStar(require("./set"), exports);
|
|
24
25
|
__exportStar(require("./sorted-array-list"), exports);
|
|
25
26
|
__exportStar(require("./weak-ref-map"), exports);
|
|
26
27
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../source/data-structures/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,oDAAkC;AAClC,+CAA6B;AAC7B,8DAA4C;AAC5C,gDAA8B;AAC9B,yCAAuB;AACvB,kDAAgC;AAChC,sDAAoC;AACpC,iDAA+B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../source/data-structures/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,oDAAkC;AAClC,+CAA6B;AAC7B,8DAA4C;AAC5C,gDAA8B;AAC9B,yCAAuB;AACvB,kDAAgC;AAChC,wCAAsB;AACtB,sDAAoC;AACpC,iDAA+B"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Collection } from './collection';
|
|
2
|
+
export declare class Set<T> extends Collection<T, Set<T>> implements globalThis.Set<T> {
|
|
3
|
+
private readonly backingSet;
|
|
4
|
+
readonly [Symbol.toStringTag]: string;
|
|
5
|
+
constructor(items?: Iterable<T>);
|
|
6
|
+
add(item: T): this;
|
|
7
|
+
addMany(items: Iterable<T>): void;
|
|
8
|
+
clone(): Set<T>;
|
|
9
|
+
items(): IterableIterator<T>;
|
|
10
|
+
delete(item: T): boolean;
|
|
11
|
+
forEach(callbackfn: (value: T, value2: T, set: globalThis.Set<T>) => void, thisArg?: any): void;
|
|
12
|
+
has(item: T): boolean;
|
|
13
|
+
entries(): IterableIterator<[T, T]>;
|
|
14
|
+
keys(): IterableIterator<T>;
|
|
15
|
+
values(): IterableIterator<T>;
|
|
16
|
+
protected _clear(): void;
|
|
17
|
+
private updateSize;
|
|
18
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var _a;
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.Set = void 0;
|
|
5
|
+
const collection_1 = require("./collection");
|
|
6
|
+
class Set extends collection_1.Collection {
|
|
7
|
+
constructor(items) {
|
|
8
|
+
super();
|
|
9
|
+
this[_a] = 'Set';
|
|
10
|
+
this.backingSet = new globalThis.Set(items);
|
|
11
|
+
this.updateSize();
|
|
12
|
+
}
|
|
13
|
+
add(item) {
|
|
14
|
+
this.backingSet.add(item);
|
|
15
|
+
this.updateSize();
|
|
16
|
+
return this;
|
|
17
|
+
}
|
|
18
|
+
addMany(items) {
|
|
19
|
+
for (const item of items) {
|
|
20
|
+
this.backingSet.add(item);
|
|
21
|
+
}
|
|
22
|
+
this.updateSize();
|
|
23
|
+
}
|
|
24
|
+
clone() {
|
|
25
|
+
return new Set(this);
|
|
26
|
+
}
|
|
27
|
+
items() {
|
|
28
|
+
return this.backingSet.values();
|
|
29
|
+
}
|
|
30
|
+
delete(item) {
|
|
31
|
+
const result = this.backingSet.delete(item);
|
|
32
|
+
this.updateSize();
|
|
33
|
+
return result;
|
|
34
|
+
}
|
|
35
|
+
forEach(callbackfn, thisArg) {
|
|
36
|
+
this.backingSet.forEach(callbackfn, thisArg);
|
|
37
|
+
}
|
|
38
|
+
has(item) {
|
|
39
|
+
return this.backingSet.has(item);
|
|
40
|
+
}
|
|
41
|
+
entries() {
|
|
42
|
+
return this.backingSet.entries();
|
|
43
|
+
}
|
|
44
|
+
keys() {
|
|
45
|
+
return this.backingSet.keys();
|
|
46
|
+
}
|
|
47
|
+
values() {
|
|
48
|
+
return this.backingSet.values();
|
|
49
|
+
}
|
|
50
|
+
_clear() {
|
|
51
|
+
this.backingSet.clear();
|
|
52
|
+
}
|
|
53
|
+
updateSize() {
|
|
54
|
+
this.setSize(this.backingSet.size);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
exports.Set = Set;
|
|
58
|
+
_a = Symbol.toStringTag;
|
|
59
|
+
//# sourceMappingURL=set.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"set.js","sourceRoot":"","sources":["../../source/data-structures/set.ts"],"names":[],"mappings":";;;;AAAA,6CAA0C;AAE1C,MAAa,GAAO,SAAQ,uBAAqB;IAI/C,YAAY,KAAmB;QAC7B,KAAK,EAAE,CAAC;QAHD,QAAoB,GAAW,KAAK,CAAC;QAK5C,IAAI,CAAC,UAAU,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC5C,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IAED,GAAG,CAAC,IAAO;QACT,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,CAAC,UAAU,EAAE,CAAC;QAElB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CAAC,KAAkB;QACxB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACxB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;SAC3B;QAED,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IAED,KAAK;QACH,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC;IAED,KAAK;QACH,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;IAClC,CAAC;IAED,MAAM,CAAC,IAAO;QACZ,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,CAAC,UAAU,EAAE,CAAC;QAElB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO,CAAC,UAAiE,EAAE,OAAa;QACtF,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC;IAED,GAAG,CAAC,IAAO;QACT,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;IACnC,CAAC;IAED,IAAI;QACF,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;IAChC,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;IAClC,CAAC;IAES,MAAM;QACd,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAC1B,CAAC;IAEO,UAAU;QAChB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;CACF;AApED,kBAoEC;KAlEW,MAAM,CAAC,WAAW"}
|
package/disposable/disposable.js
CHANGED
|
@@ -5,11 +5,11 @@ const type_guards_1 = require("../utils/type-guards");
|
|
|
5
5
|
exports.dispose = Symbol('dispose');
|
|
6
6
|
exports.disposeAsync = Symbol('disposeAsync');
|
|
7
7
|
function isDisposable(object) {
|
|
8
|
-
return (0, type_guards_1.
|
|
8
|
+
return (0, type_guards_1.isFunction)(object === null || object === void 0 ? void 0 : object[exports.dispose]);
|
|
9
9
|
}
|
|
10
10
|
exports.isDisposable = isDisposable;
|
|
11
11
|
function isAsyncDisposable(object) {
|
|
12
|
-
return (0, type_guards_1.
|
|
12
|
+
return (0, type_guards_1.isFunction)(object === null || object === void 0 ? void 0 : object[exports.disposeAsync]);
|
|
13
13
|
}
|
|
14
14
|
exports.isAsyncDisposable = isAsyncDisposable;
|
|
15
15
|
//# sourceMappingURL=disposable.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"disposable.js","sourceRoot":"","sources":["../../source/disposable/disposable.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"disposable.js","sourceRoot":"","sources":["../../source/disposable/disposable.ts"],"names":[],"mappings":";;;AAAA,sDAAiD;AAEpC,QAAA,OAAO,GAAkB,MAAM,CAAC,SAAS,CAAC,CAAC;AAC3C,QAAA,YAAY,GAAkB,MAAM,CAAC,cAAc,CAAC,CAAC;AAUlE,SAAgB,YAAY,CAAC,MAAW;IACtC,OAAO,IAAA,wBAAU,EAAE,MAAiC,aAAjC,MAAM,uBAAN,MAAM,CAA8B,eAAO,CAAC,CAAC,CAAC;AACnE,CAAC;AAFD,oCAEC;AAED,SAAgB,iBAAiB,CAAC,MAAW;IAC3C,OAAO,IAAA,wBAAU,EAAE,MAAsC,aAAtC,MAAM,uBAAN,MAAM,CAAmC,oBAAY,CAAC,CAAC,CAAC;AAC7E,CAAC;AAFD,8CAEC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const container_1 = require("../../container");
|
|
4
|
+
const mail_1 = require("../../mail");
|
|
5
|
+
const nodemailer_mail_client_1 = require("../../mail/clients/nodemailer.mail-client");
|
|
6
|
+
const file_mail_template_provider_1 = require("../../mail/template-providers/file-mail-template.provider");
|
|
7
|
+
const handlebars_mail_template_renderer_1 = require("../../mail/template-renderers/handlebars.mail-template-renderer");
|
|
8
|
+
const mjml_mail_template_renderer_1 = require("../../mail/template-renderers/mjml.mail-template-renderer");
|
|
9
|
+
const config_parser_1 = require("../../utils/config-parser");
|
|
10
|
+
const path_1 = require("path");
|
|
11
|
+
const core_1 = require("../../core");
|
|
12
|
+
(0, core_1.configureTstdl)();
|
|
13
|
+
(0, mail_1.configureMail)({
|
|
14
|
+
clientConfig: {
|
|
15
|
+
host: (0, config_parser_1.string)('HOST', '127.0.0.01'),
|
|
16
|
+
port: (0, config_parser_1.integer)('PORT', 25),
|
|
17
|
+
auth: {
|
|
18
|
+
user: (0, config_parser_1.string)('USER', 'user'),
|
|
19
|
+
password: (0, config_parser_1.string)('PASS', 'password')
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
client: nodemailer_mail_client_1.NodemailerMailClient,
|
|
23
|
+
templateProvider: file_mail_template_provider_1.FileMailTemplateProvider,
|
|
24
|
+
templateRenderers: [mjml_mail_template_renderer_1.MjmlMailTemplateRenderer, handlebars_mail_template_renderer_1.HandlebarsMailTemplateRenderer]
|
|
25
|
+
});
|
|
26
|
+
(0, file_mail_template_provider_1.configureFileMailTemplateProvider)({ basePath: (0, path_1.resolve)(__dirname.replace('/dist', '/source'), 'templates') });
|
|
27
|
+
async function test() {
|
|
28
|
+
const service = await container_1.container.resolveAsync(mail_1.MailService);
|
|
29
|
+
const result = await service.sendTemplate('hello-name', { from: (0, config_parser_1.string)('FROM', (0, config_parser_1.string)('USER', 'user@example.com')), to: (0, config_parser_1.string)('TO', 'user@example.com') }, { name: 'Max Mustermann' });
|
|
30
|
+
console.log(result);
|
|
31
|
+
}
|
|
32
|
+
void test();
|
|
33
|
+
//# sourceMappingURL=basic.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"basic.js","sourceRoot":"","sources":["../../../source/examples/mail/basic.ts"],"names":[],"mappings":";;AAAA,+CAAwC;AACxC,qCAAoD;AACpD,sFAA6E;AAC7E,2GAAoI;AACpI,uHAA6G;AAC7G,2GAAiG;AACjG,6DAAwD;AACxD,+BAA+B;AAC/B,qCAA4C;AAE5C,IAAA,qBAAc,GAAE,CAAC;AAEjB,IAAA,oBAAa,EAAC;IACZ,YAAY,EAAE;QACZ,IAAI,EAAE,IAAA,sBAAM,EAAC,MAAM,EAAE,YAAY,CAAC;QAClC,IAAI,EAAE,IAAA,uBAAO,EAAC,MAAM,EAAE,EAAE,CAAC;QACzB,IAAI,EAAE;YACJ,IAAI,EAAE,IAAA,sBAAM,EAAC,MAAM,EAAE,MAAM,CAAC;YAC5B,QAAQ,EAAE,IAAA,sBAAM,EAAC,MAAM,EAAE,UAAU,CAAC;SACrC;KACF;IACD,MAAM,EAAE,6CAAoB;IAC5B,gBAAgB,EAAE,sDAAwB;IAC1C,iBAAiB,EAAE,CAAC,sDAAwB,EAAE,kEAA8B,CAAC;CAC9E,CAAC,CAAC;AAEH,IAAA,+DAAiC,EAAC,EAAE,QAAQ,EAAE,IAAA,cAAO,EAAC,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC;AAE7G,KAAK,UAAU,IAAI;IACjB,MAAM,OAAO,GAAG,MAAM,qBAAS,CAAC,YAAY,CAAC,kBAAW,CAAC,CAAC;IAE1D,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,YAAY,CACvC,YAAY,EACZ,EAAE,IAAI,EAAE,IAAA,sBAAM,EAAC,MAAM,EAAE,IAAA,sBAAM,EAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,EAAE,EAAE,EAAE,IAAA,sBAAM,EAAC,IAAI,EAAE,kBAAkB,CAAC,EAAE,EAClG,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAC3B,CAAC;IAEF,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACtB,CAAC;AAED,KAAK,IAAI,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const container_1 = require("../../container");
|
|
4
|
+
const core_1 = require("../../core");
|
|
5
|
+
const pdf_service_1 = require("../../pdf/pdf.service");
|
|
6
|
+
const templates_1 = require("../../templates");
|
|
7
|
+
const file_template_provider_1 = require("../../templates/providers/file-template.provider");
|
|
8
|
+
const handlebars_template_renderer_1 = require("../../templates/renderers/handlebars.template-renderer");
|
|
9
|
+
const mjml_template_renderer_1 = require("../../templates/renderers/mjml.template-renderer");
|
|
10
|
+
const path_1 = require("path");
|
|
11
|
+
(0, core_1.configureTstdl)();
|
|
12
|
+
(0, templates_1.configureTemplates)({
|
|
13
|
+
templateProvider: file_template_provider_1.FileTemplateProvider,
|
|
14
|
+
templateRenderers: [mjml_template_renderer_1.MjmlTemplateRenderer, handlebars_template_renderer_1.HandlebarsTemplateRenderer]
|
|
15
|
+
});
|
|
16
|
+
(0, file_template_provider_1.configureFileTemplateProvider)({ basePath: (0, path_1.resolve)(__dirname.replace('/dist', '/source'), 'templates') });
|
|
17
|
+
async function test() {
|
|
18
|
+
const service = await container_1.container.resolveAsync(pdf_service_1.PdfService);
|
|
19
|
+
const result = await service.renderTemplate('hello-name', { name: 'Max Mustermann' });
|
|
20
|
+
console.log(`Resulting PDF has ${result.length} bytes.`);
|
|
21
|
+
}
|
|
22
|
+
void test();
|
|
23
|
+
//# sourceMappingURL=basic.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"basic.js","sourceRoot":"","sources":["../../../source/examples/pdf/basic.ts"],"names":[],"mappings":";;AAAA,+CAAwC;AACxC,qCAAwC;AACxC,uDAA+C;AAC/C,+CAAiD;AACjD,6FAAmH;AACnH,yGAAgG;AAChG,6FAAoF;AACpF,+BAA+B;AAE/B,IAAA,qBAAc,GAAE,CAAC;AAEjB,IAAA,8BAAkB,EAAC;IACjB,gBAAgB,EAAE,6CAAoB;IACtC,iBAAiB,EAAE,CAAC,6CAAoB,EAAE,yDAA0B,CAAC;CACtE,CAAC,CAAC;AAEH,IAAA,sDAA6B,EAAC,EAAE,QAAQ,EAAE,IAAA,cAAO,EAAC,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC;AAEzG,KAAK,UAAU,IAAI;IACjB,MAAM,OAAO,GAAG,MAAM,qBAAS,CAAC,YAAY,CAAC,wBAAU,CAAC,CAAC;IACzD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAEtF,OAAO,CAAC,GAAG,CAAC,qBAAqB,MAAM,CAAC,MAAM,SAAS,CAAC,CAAC;AAC3D,CAAC;AAED,KAAK,IAAI,EAAE,CAAC"}
|
|
@@ -27,11 +27,11 @@ export declare const imageFormatSchema: import("superstruct").Struct<"png" | "jp
|
|
|
27
27
|
export declare type ImageFormat = Infer<typeof imageFormatSchema>;
|
|
28
28
|
export declare const imageOptionsSchema: import("superstruct").Struct<{
|
|
29
29
|
origin?: "center" | "smart" | "top" | "left" | "right" | "bottom" | "topleft" | "topright" | "bottomleft" | "bottomright" | undefined;
|
|
30
|
+
format?: "png" | "jpg" | "jpeg" | "webp" | "avif" | undefined;
|
|
30
31
|
resizeMode?: "fill" | "fit" | undefined;
|
|
31
32
|
width?: number | undefined;
|
|
32
33
|
height?: number | undefined;
|
|
33
34
|
quality?: number | undefined;
|
|
34
|
-
format?: "png" | "jpg" | "jpeg" | "webp" | "avif" | undefined;
|
|
35
35
|
cacheBuster?: string | undefined;
|
|
36
36
|
}, {
|
|
37
37
|
resizeMode: import("superstruct").Struct<"fill" | "fit" | undefined, {
|
package/mail/mail.service.d.ts
CHANGED
|
@@ -11,6 +11,7 @@ export declare class MailService {
|
|
|
11
11
|
private readonly mailTemplateRendererProvider;
|
|
12
12
|
private readonly mailLogRepository;
|
|
13
13
|
private readonly logger;
|
|
14
|
+
private readonly mailDataSourceTemplateKey;
|
|
14
15
|
constructor(mailClient: MailClient, mailTemplateProvider: MailTemplateProvider, mailTemplateRendererProvider: MailTemplateRendererProvider, mailLogRepository: MailLogRepository | undefined, logger: Logger);
|
|
15
16
|
send(mailData: MailData): Promise<MailSendResult>;
|
|
16
17
|
sendTemplate(key: string, mailData: TypedOmit<MailData, 'content' | 'subject'>, templateContext?: object): Promise<MailSendResult>;
|
package/mail/mail.service.js
CHANGED
|
@@ -30,13 +30,18 @@ let MailService = MailService_1 = class MailService {
|
|
|
30
30
|
this.mailTemplateRendererProvider = mailTemplateRendererProvider;
|
|
31
31
|
this.mailLogRepository = mailLogRepository;
|
|
32
32
|
this.logger = logger;
|
|
33
|
+
this.mailDataSourceTemplateKey = new WeakMap();
|
|
33
34
|
}
|
|
34
35
|
async send(mailData) {
|
|
36
|
+
var _a;
|
|
35
37
|
let mailLog;
|
|
36
38
|
if ((0, type_guards_1.isDefined)(this.mailLogRepository)) {
|
|
37
39
|
const log = {
|
|
38
40
|
timestamp: (0, date_time_1.currentTimestamp)(),
|
|
39
|
-
|
|
41
|
+
templateKey: (_a = this.mailDataSourceTemplateKey.get(mailData)) !== null && _a !== void 0 ? _a : null,
|
|
42
|
+
data: mailData,
|
|
43
|
+
sendResult: null,
|
|
44
|
+
errors: null
|
|
40
45
|
};
|
|
41
46
|
mailLog = await this.mailLogRepository.insert(log);
|
|
42
47
|
}
|
|
@@ -64,6 +69,7 @@ let MailService = MailService_1 = class MailService {
|
|
|
64
69
|
const renderer = this.mailTemplateRendererProvider.get(template.type);
|
|
65
70
|
const { subject, html, text } = await renderer.render(template, templateContext);
|
|
66
71
|
const fullMailData = Object.assign(Object.assign({}, mailData), { subject, content: { html, text } });
|
|
72
|
+
this.mailDataSourceTemplateKey.set(fullMailData, key);
|
|
67
73
|
return this.send(fullMailData);
|
|
68
74
|
}
|
|
69
75
|
};
|
package/mail/mail.service.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mail.service.js","sourceRoot":"","sources":["../../source/mail/mail.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAAsE;AAEtE,sCAAkC;AAElC,kDAAqD;AACrD,8CAA8C;AAC9C,sDAAgD;AAChD,+DAA0D;AAC1D,uFAAiF;AACjF,qEAAgE;AAChE,+CAA2C;AAI3C,IAAa,WAAW,mBAAxB,MAAa,WAAW;
|
|
1
|
+
{"version":3,"file":"mail.service.js","sourceRoot":"","sources":["../../source/mail/mail.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,9 +3,9 @@ import type { MailData } from './mail-data.model';
|
|
|
3
3
|
import type { MailSendResult } from './mail-send-result.model';
|
|
4
4
|
export declare type MailLog = Entity & {
|
|
5
5
|
timestamp: number;
|
|
6
|
-
templateKey
|
|
6
|
+
templateKey: string | null;
|
|
7
7
|
data: MailData;
|
|
8
|
-
sendResult
|
|
9
|
-
errors
|
|
8
|
+
sendResult: MailSendResult | null;
|
|
9
|
+
errors: string[] | null;
|
|
10
10
|
};
|
|
11
11
|
export declare type NewMailLog = NewEntity<MailLog>;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import type { Injectable } from "../../container";
|
|
2
2
|
import { resolveArgumentType } from "../../container";
|
|
3
|
-
import
|
|
4
|
-
import { MailTemplateProvider } from '../mail-template.provider';
|
|
3
|
+
import { FileTemplateProviderBase } from "../../templates/providers/file-template.provider.base";
|
|
4
|
+
import type { MailTemplateProvider } from '../mail-template.provider';
|
|
5
5
|
import type { MailTemplate } from '../models';
|
|
6
|
-
export declare type FileMailTemplate =
|
|
6
|
+
export declare type FileMailTemplate = MailTemplate & {
|
|
7
7
|
/** subject template file */
|
|
8
8
|
subjectFile?: string;
|
|
9
9
|
/** html template file */
|
|
@@ -16,10 +16,8 @@ export declare type FileMailTemplateProviderConfig = {
|
|
|
16
16
|
};
|
|
17
17
|
export declare type FileMailTemplateProviderArgument = string;
|
|
18
18
|
export declare const fileMailTemplateProviderConfig: FileMailTemplateProviderConfig;
|
|
19
|
-
export declare class FileMailTemplateProvider extends
|
|
20
|
-
private readonly basePath;
|
|
19
|
+
export declare class FileMailTemplateProvider extends FileTemplateProviderBase<MailTemplate, FileMailTemplate> implements MailTemplateProvider, Injectable<FileMailTemplateProviderArgument> {
|
|
21
20
|
readonly [resolveArgumentType]: FileMailTemplateProviderArgument;
|
|
22
21
|
constructor(basePath: string);
|
|
23
|
-
get(key: string): Promise<MailTemplate>;
|
|
24
22
|
}
|
|
25
23
|
export declare function configureFileMailTemplateProvider(config?: Partial<FileMailTemplateProviderConfig>): void;
|
|
@@ -15,10 +15,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
15
15
|
exports.configureFileMailTemplateProvider = exports.FileMailTemplateProvider = exports.fileMailTemplateProviderConfig = void 0;
|
|
16
16
|
const container_1 = require("../../container");
|
|
17
17
|
const schema_1 = require("../../schema");
|
|
18
|
-
const
|
|
19
|
-
const fs = require("fs/promises");
|
|
20
|
-
const path = require("path");
|
|
21
|
-
const mail_template_provider_1 = require("../mail-template.provider");
|
|
18
|
+
const file_template_provider_base_1 = require("../../templates/providers/file-template.provider.base");
|
|
22
19
|
exports.fileMailTemplateProviderConfig = {};
|
|
23
20
|
const fileMailTemplateSchema = (0, schema_1.object)({
|
|
24
21
|
type: (0, schema_1.string)(),
|
|
@@ -30,30 +27,9 @@ const fileMailTemplateSchema = (0, schema_1.object)({
|
|
|
30
27
|
textFile: (0, schema_1.optional)((0, schema_1.string)()),
|
|
31
28
|
options: (0, schema_1.optional)((0, schema_1.unknown)())
|
|
32
29
|
});
|
|
33
|
-
let FileMailTemplateProvider = class FileMailTemplateProvider extends
|
|
30
|
+
let FileMailTemplateProvider = class FileMailTemplateProvider extends file_template_provider_base_1.FileTemplateProviderBase {
|
|
34
31
|
constructor(basePath) {
|
|
35
|
-
super();
|
|
36
|
-
this.basePath = basePath;
|
|
37
|
-
}
|
|
38
|
-
async get(key) {
|
|
39
|
-
var _a, _b, _c;
|
|
40
|
-
const filePath = path.resolve(this.basePath, `${key}.json`);
|
|
41
|
-
const fileContent = await fs.readFile(filePath, { encoding: 'utf8' });
|
|
42
|
-
const fileMailTemplate = fileMailTemplateSchema.parse(JSON.parse(fileContent));
|
|
43
|
-
const [subject, html, text] = await Promise.all([
|
|
44
|
-
(_a = fileMailTemplate.subject) !== null && _a !== void 0 ? _a : ((0, type_guards_1.isDefined)(fileMailTemplate.subjectFile) ? fs.readFile(path.resolve(this.basePath, fileMailTemplate.subjectFile), { encoding: 'utf8' }) : undefined),
|
|
45
|
-
(_b = fileMailTemplate.html) !== null && _b !== void 0 ? _b : ((0, type_guards_1.isDefined)(fileMailTemplate.htmlFile) ? fs.readFile(path.resolve(this.basePath, fileMailTemplate.htmlFile), { encoding: 'utf8' }) : undefined),
|
|
46
|
-
(_c = fileMailTemplate.text) !== null && _c !== void 0 ? _c : ((0, type_guards_1.isDefined)(fileMailTemplate.textFile) ? fs.readFile(path.resolve(this.basePath, fileMailTemplate.textFile), { encoding: 'utf8' }) : undefined)
|
|
47
|
-
]);
|
|
48
|
-
const template = {
|
|
49
|
-
key,
|
|
50
|
-
type: fileMailTemplate.type,
|
|
51
|
-
subject,
|
|
52
|
-
html,
|
|
53
|
-
text,
|
|
54
|
-
options: fileMailTemplate.options
|
|
55
|
-
};
|
|
56
|
-
return template;
|
|
32
|
+
super(fileMailTemplateSchema, basePath, [['subjectFile', 'subject'], ['htmlFile', 'html'], ['textFile', 'text']]);
|
|
57
33
|
}
|
|
58
34
|
};
|
|
59
35
|
FileMailTemplateProvider = __decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-mail-template.provider.js","sourceRoot":"","sources":["../../../source/mail/template-providers/file-mail-template.provider.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,+CAAwE;AAExE,yCAA6D;
|
|
1
|
+
{"version":3,"file":"file-mail-template.provider.js","sourceRoot":"","sources":["../../../source/mail/template-providers/file-mail-template.provider.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,+CAAwE;AAExE,yCAA6D;AAC7D,uGAA6F;AAqBhF,QAAA,8BAA8B,GAAmC,EAAE,CAAC;AAEjF,MAAM,sBAAsB,GAA6B,IAAA,eAAM,EAAC;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,gBAAO,GAAE,CAAC;CAC7B,CAAC,CAAC;AAKH,IAAa,wBAAwB,GAArC,MAAa,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,MAAA,MAAM,CAAC,QAAQ,mCAAI,sCAA8B,CAAC,QAAQ,CAAC;AACvG,CAAC;AAFD,8EAEC"}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { MemoryTemplateProviderBase } from "../../templates/providers/memory-template.provider.base";
|
|
2
|
+
import type { MailTemplateProvider } from '../mail-template.provider';
|
|
2
3
|
import type { MailTemplate } from '../models';
|
|
3
|
-
export declare class MemoryMailTemplateProvider extends MailTemplateProvider {
|
|
4
|
-
private readonly map;
|
|
4
|
+
export declare class MemoryMailTemplateProvider extends MemoryTemplateProviderBase<MailTemplate> implements MailTemplateProvider {
|
|
5
5
|
constructor();
|
|
6
|
-
add(template: MailTemplate): void;
|
|
7
|
-
get(key: string): Promise<MailTemplate>;
|
|
8
6
|
}
|
|
@@ -11,22 +11,10 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.MemoryMailTemplateProvider = void 0;
|
|
13
13
|
const container_1 = require("../../container");
|
|
14
|
-
const
|
|
15
|
-
|
|
16
|
-
let MemoryMailTemplateProvider = class MemoryMailTemplateProvider extends mail_template_provider_1.MailTemplateProvider {
|
|
14
|
+
const memory_template_provider_base_1 = require("../../templates/providers/memory-template.provider.base");
|
|
15
|
+
let MemoryMailTemplateProvider = class MemoryMailTemplateProvider extends memory_template_provider_base_1.MemoryTemplateProviderBase {
|
|
17
16
|
constructor() {
|
|
18
17
|
super();
|
|
19
|
-
this.map = new Map();
|
|
20
|
-
}
|
|
21
|
-
add(template) {
|
|
22
|
-
this.map.set(template.key, template);
|
|
23
|
-
}
|
|
24
|
-
async get(key) {
|
|
25
|
-
const template = this.map.get(key);
|
|
26
|
-
if ((0, type_guards_1.isUndefined)(template)) {
|
|
27
|
-
throw new Error('template not available');
|
|
28
|
-
}
|
|
29
|
-
return template;
|
|
30
18
|
}
|
|
31
19
|
};
|
|
32
20
|
MemoryMailTemplateProvider = __decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-mail-template.provider.js","sourceRoot":"","sources":["../../../source/mail/template-providers/memory-mail-template.provider.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+CAAwC;AACxC,
|
|
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;AAKjG,IAAa,0BAA0B,GAAvC,MAAa,0BAA2B,SAAQ,0DAAwC;IACtF;QACE,KAAK,EAAE,CAAC;IACV,CAAC;CACF,CAAA;AAJY,0BAA0B;IADtC,IAAA,qBAAS,GAAE;;GACC,0BAA0B,CAItC;AAJY,gEAA0B"}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
|
+
import type { HandlebarsTemplate, HandlebarsTemplateOptions } from "../../templates/renderers/handlebars.template-renderer";
|
|
2
|
+
import { HandlebarsTemplateRenderer } from "../../templates/renderers/handlebars.template-renderer";
|
|
1
3
|
import type { MailTemplateRenderResult } from '../mail-template.renderer';
|
|
2
4
|
import { MailTemplateRenderer } from '../mail-template.renderer';
|
|
3
5
|
import type { MailTemplate } from '../models';
|
|
4
|
-
export declare type HandlebarsMailTemplateOptions =
|
|
5
|
-
|
|
6
|
-
};
|
|
7
|
-
export declare type HandlebarsMailTemplate = MailTemplate<'handlebars', HandlebarsMailTemplateOptions>;
|
|
6
|
+
export declare type HandlebarsMailTemplateOptions = HandlebarsTemplateOptions;
|
|
7
|
+
export declare type HandlebarsMailTemplate = MailTemplate<HandlebarsTemplate['type'], HandlebarsMailTemplateOptions>;
|
|
8
8
|
export declare class HandlebarsMailTemplateRenderer extends MailTemplateRenderer<HandlebarsMailTemplate> {
|
|
9
|
+
private readonly handlebarsTemplateRenderer;
|
|
10
|
+
constructor(handlebarsTemplateRenderer: HandlebarsTemplateRenderer);
|
|
9
11
|
canHandleType(type: string): boolean;
|
|
10
12
|
render(template: HandlebarsMailTemplate, context?: object): Promise<MailTemplateRenderResult>;
|
|
11
13
|
}
|
|
@@ -5,30 +5,45 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
5
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
6
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
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
|
+
};
|
|
8
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
12
|
exports.HandlebarsMailTemplateRenderer = void 0;
|
|
10
13
|
const container_1 = require("../../container");
|
|
14
|
+
const templates_1 = require("../../templates");
|
|
15
|
+
const handlebars_template_renderer_1 = require("../../templates/renderers/handlebars.template-renderer");
|
|
11
16
|
const type_guards_1 = require("../../utils/type-guards");
|
|
12
|
-
const handlebars = require("handlebars");
|
|
13
17
|
const mail_template_renderer_1 = require("../mail-template.renderer");
|
|
18
|
+
(0, templates_1.configureTemplates)({ templateRenderers: [handlebars_template_renderer_1.HandlebarsTemplateRenderer] });
|
|
14
19
|
let HandlebarsMailTemplateRenderer = class HandlebarsMailTemplateRenderer extends mail_template_renderer_1.MailTemplateRenderer {
|
|
20
|
+
constructor(handlebarsTemplateRenderer) {
|
|
21
|
+
super();
|
|
22
|
+
this.handlebarsTemplateRenderer = handlebarsTemplateRenderer;
|
|
23
|
+
}
|
|
15
24
|
canHandleType(type) {
|
|
16
|
-
return type
|
|
25
|
+
return this.handlebarsTemplateRenderer.canHandleType(type);
|
|
17
26
|
}
|
|
18
27
|
async render(template, context) {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
const
|
|
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;
|
|
23
37
|
return {
|
|
24
|
-
subject
|
|
25
|
-
html
|
|
26
|
-
text
|
|
38
|
+
subject,
|
|
39
|
+
html,
|
|
40
|
+
text
|
|
27
41
|
};
|
|
28
42
|
}
|
|
29
43
|
};
|
|
30
44
|
HandlebarsMailTemplateRenderer = __decorate([
|
|
31
|
-
(0, container_1.singleton)()
|
|
45
|
+
(0, container_1.singleton)(),
|
|
46
|
+
__metadata("design:paramtypes", [handlebars_template_renderer_1.HandlebarsTemplateRenderer])
|
|
32
47
|
], HandlebarsMailTemplateRenderer);
|
|
33
48
|
exports.HandlebarsMailTemplateRenderer = HandlebarsMailTemplateRenderer;
|
|
34
49
|
//# sourceMappingURL=handlebars.mail-template-renderer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handlebars.mail-template-renderer.js","sourceRoot":"","sources":["../../../source/mail/template-renderers/handlebars.mail-template-renderer.ts"],"names":[],"mappings":"
|
|
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;AAGxE,IAAa,8BAA8B,GAA3C,MAAa,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,15 +1,14 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
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";
|
|
3
4
|
import type { MailTemplateRenderResult } from '../mail-template.renderer';
|
|
4
5
|
import { MailTemplateRenderer } from '../mail-template.renderer';
|
|
5
6
|
import type { MailTemplate } from '../models';
|
|
6
|
-
export declare type
|
|
7
|
-
preprocessorOptions?: any;
|
|
8
|
-
};
|
|
9
|
-
export declare type MjmlMailTemplate = MailTemplate<'mjml' | `mjml-${string}`, MjmlMailTemplateOptions>;
|
|
7
|
+
export declare type MjmlMailTemplate = MailTemplate<MjmlTemplate['type'], MjmlTemplateOptions>;
|
|
10
8
|
export declare class MjmlMailTemplateRenderer extends MailTemplateRenderer<MjmlMailTemplate> {
|
|
11
9
|
private readonly rendererProvider;
|
|
12
|
-
|
|
10
|
+
private readonly mjmlTemplateRenderer;
|
|
11
|
+
constructor(rendererProvider: TemplateRendererProvider, mjmlTemplateRenderer: MjmlTemplateRenderer);
|
|
13
12
|
canHandleType(type: string): boolean;
|
|
14
13
|
render(template: MjmlMailTemplate, context?: object): Promise<MailTemplateRenderResult>;
|
|
15
14
|
}
|