@ackplus/nest-dynamic-templates 1.1.1 → 1.1.5
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/package.json +2 -2
- package/src/{index.ts → index.d.ts} +2 -14
- package/src/index.d.ts.map +1 -0
- package/src/index.js +25 -0
- package/src/lib/constant.d.ts +3 -0
- package/src/lib/constant.d.ts.map +1 -0
- package/src/lib/constant.js +5 -0
- package/src/lib/dto/create-template-layout.dto.d.ts +16 -0
- package/src/lib/dto/create-template-layout.dto.d.ts.map +1 -0
- package/src/lib/dto/create-template-layout.dto.js +86 -0
- package/src/lib/dto/create-template.dto.d.ts +18 -0
- package/src/lib/dto/create-template.dto.d.ts.map +1 -0
- package/src/lib/dto/create-template.dto.js +103 -0
- package/src/lib/dto/render-content-template-layout.dto.d.ts +8 -0
- package/src/lib/dto/render-content-template-layout.dto.d.ts.map +1 -0
- package/src/lib/dto/render-content-template-layout.dto.js +40 -0
- package/src/lib/dto/render-content-template.dto.d.ts +9 -0
- package/src/lib/dto/render-content-template.dto.d.ts.map +1 -0
- package/src/lib/dto/render-content-template.dto.js +46 -0
- package/src/lib/dto/render-template-layout.dto.d.ts +11 -0
- package/src/lib/dto/render-template-layout.dto.d.ts.map +1 -0
- package/src/lib/dto/render-template-layout.dto.js +66 -0
- package/src/lib/dto/render-template.dto.d.ts +15 -0
- package/src/lib/dto/render-template.dto.d.ts.map +1 -0
- package/src/lib/dto/render-template.dto.js +90 -0
- package/src/lib/dto/template-filter.dto.d.ts +9 -0
- package/src/lib/dto/template-filter.dto.d.ts.map +1 -0
- package/src/lib/dto/template-filter.dto.js +61 -0
- package/src/lib/dto/template-layout-filter.dto.d.ts +8 -0
- package/src/lib/dto/template-layout-filter.dto.d.ts.map +1 -0
- package/src/lib/dto/template-layout-filter.dto.js +60 -0
- package/src/lib/engines/language/html.engine.d.ts +10 -0
- package/src/lib/engines/language/html.engine.d.ts.map +1 -0
- package/src/lib/engines/language/html.engine.js +80 -0
- package/src/lib/engines/language/{index.ts → index.d.ts} +1 -0
- package/src/lib/engines/language/index.d.ts.map +1 -0
- package/src/lib/engines/language/index.js +11 -0
- package/src/lib/engines/language/markdown.engine.d.ts +10 -0
- package/src/lib/engines/language/markdown.engine.d.ts.map +1 -0
- package/src/lib/engines/language/markdown.engine.js +39 -0
- package/src/lib/engines/language/mjml.engine.d.ts +10 -0
- package/src/lib/engines/language/mjml.engine.d.ts.map +1 -0
- package/src/lib/engines/language/mjml.engine.js +75 -0
- package/src/lib/engines/language/text.engine.d.ts +8 -0
- package/src/lib/engines/language/text.engine.d.ts.map +1 -0
- package/src/lib/engines/language/text.engine.js +15 -0
- package/src/lib/engines/{language-engine.ts → language-engine.d.ts} +2 -7
- package/src/lib/engines/language-engine.d.ts.map +1 -0
- package/src/lib/engines/language-engine.js +6 -0
- package/src/lib/engines/template/ejs.engine.d.ts +11 -0
- package/src/lib/engines/template/ejs.engine.d.ts.map +1 -0
- package/src/lib/engines/template/ejs.engine.js +65 -0
- package/src/lib/engines/template/handlebars.engine.d.ts +11 -0
- package/src/lib/engines/template/handlebars.engine.d.ts.map +1 -0
- package/src/lib/engines/template/handlebars.engine.js +66 -0
- package/src/lib/engines/template/{index.ts → index.d.ts} +1 -0
- package/src/lib/engines/template/index.d.ts.map +1 -0
- package/src/lib/engines/template/index.js +11 -0
- package/src/lib/engines/template/nunjucks.engine.d.ts +17 -0
- package/src/lib/engines/template/nunjucks.engine.d.ts.map +1 -0
- package/src/lib/engines/template/{nunjucks.engine.ts → nunjucks.engine.js} +24 -30
- package/src/lib/engines/template/pug.engine.d.ts +13 -0
- package/src/lib/engines/template/pug.engine.d.ts.map +1 -0
- package/src/lib/engines/template/pug.engine.js +74 -0
- package/src/lib/engines/{template-engine.ts → template-engine.d.ts} +2 -6
- package/src/lib/engines/template-engine.d.ts.map +1 -0
- package/src/lib/engines/template-engine.js +6 -0
- package/src/lib/entities/template-layout.entity.d.ts +21 -0
- package/src/lib/entities/template-layout.entity.d.ts.map +1 -0
- package/src/lib/entities/template-layout.entity.js +120 -0
- package/src/lib/entities/template.entity.d.ts +22 -0
- package/src/lib/entities/template.entity.d.ts.map +1 -0
- package/src/lib/entities/template.entity.js +127 -0
- package/src/lib/errors/template.errors.d.ts +20 -0
- package/src/lib/errors/template.errors.d.ts.map +1 -0
- package/src/lib/errors/{template.errors.ts → template.errors.js} +22 -20
- package/src/lib/interfaces/{module-config.interface.ts → module-config.interface.d.ts} +2 -10
- package/src/lib/interfaces/module-config.interface.d.ts.map +1 -0
- package/src/lib/interfaces/module-config.interface.js +2 -0
- package/src/lib/interfaces/template.types.d.ts +23 -0
- package/src/lib/interfaces/template.types.d.ts.map +1 -0
- package/src/lib/interfaces/template.types.js +24 -0
- package/src/lib/nest-dynamic-templates.module.d.ts +11 -0
- package/src/lib/nest-dynamic-templates.module.d.ts.map +1 -0
- package/src/lib/nest-dynamic-templates.module.js +131 -0
- package/src/lib/services/template-config.service.d.ts +55 -0
- package/src/lib/services/template-config.service.d.ts.map +1 -0
- package/src/lib/services/{template-config.service.ts → template-config.service.js} +32 -43
- package/src/lib/services/template-engine.registry.d.ts +22 -0
- package/src/lib/services/template-engine.registry.d.ts.map +1 -0
- package/src/lib/services/template-engine.registry.js +93 -0
- package/src/lib/services/template-layout.service.d.ts +37 -0
- package/src/lib/services/template-layout.service.d.ts.map +1 -0
- package/src/lib/services/{template-layout.service.ts → template-layout.service.js} +101 -165
- package/src/lib/services/template.service.d.ts +39 -0
- package/src/lib/services/template.service.d.ts.map +1 -0
- package/src/lib/services/{template.service.ts → template.service.js} +137 -199
- package/src/test/helpers.d.ts +5 -0
- package/src/test/helpers.d.ts.map +1 -0
- package/src/test/{helpers.ts → helpers.js} +7 -5
- package/src/test/test-database.config.d.ts +5 -0
- package/src/test/test-database.config.d.ts.map +1 -0
- package/src/test/test-database.config.js +23 -0
- package/src/test/test.setup.d.ts +4 -0
- package/src/test/test.setup.d.ts.map +1 -0
- package/src/test/test.setup.js +30 -0
- package/eslint.config.mjs +0 -22
- package/jest.config.ts +0 -10
- package/project.json +0 -38
- package/src/lib/constant.ts +0 -2
- package/src/lib/dto/create-template-layout.dto.ts +0 -65
- package/src/lib/dto/create-template.dto.ts +0 -80
- package/src/lib/dto/render-content-template-layout.dto.ts +0 -32
- package/src/lib/dto/render-content-template.dto.ts +0 -37
- package/src/lib/dto/render-template-layout.dto.ts +0 -55
- package/src/lib/dto/render-template.dto.ts +0 -74
- package/src/lib/dto/template-filter.dto.ts +0 -52
- package/src/lib/dto/template-layout-filter.dto.ts +0 -51
- package/src/lib/engines/language/html.engine.ts +0 -49
- package/src/lib/engines/language/markdown.engine.ts +0 -37
- package/src/lib/engines/language/mjml.engine.ts +0 -44
- package/src/lib/engines/language/text.engine.ts +0 -15
- package/src/lib/engines/template/ejs.engine.ts +0 -33
- package/src/lib/engines/template/handlebars.engine.ts +0 -35
- package/src/lib/engines/template/pug.engine.ts +0 -43
- package/src/lib/entities/template-layout.entity.ts +0 -99
- package/src/lib/entities/template.entity.ts +0 -105
- package/src/lib/interfaces/template.types.ts +0 -25
- package/src/lib/nest-dynamic-templates.module.ts +0 -143
- package/src/lib/services/template-engine.registry.ts +0 -109
- package/src/test/nunjucks.service.spec.ts +0 -157
- package/src/test/pug.service.spec-temp +0 -254
- package/src/test/template-layout.service.spec.ts +0 -422
- package/src/test/template.service.spec.ts +0 -862
- package/src/test/test-database.config.ts +0 -24
- package/src/test/test-database.d.ts +0 -6
- package/src/test/test.setup.ts +0 -34
- package/src/types/ioredis.d.ts +0 -6
- package/src/types/mjml.d.ts +0 -5
- package/tsconfig.json +0 -17
- package/tsconfig.lib.json +0 -14
- package/tsconfig.spec.json +0 -15
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TemplateFilterDto = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const class_validator_1 = require("class-validator");
|
|
6
|
+
const swagger_1 = require("@nestjs/swagger");
|
|
7
|
+
const template_types_1 = require("../interfaces/template.types");
|
|
8
|
+
class TemplateFilterDto {
|
|
9
|
+
}
|
|
10
|
+
exports.TemplateFilterDto = TemplateFilterDto;
|
|
11
|
+
tslib_1.__decorate([
|
|
12
|
+
(0, swagger_1.ApiProperty)({
|
|
13
|
+
type: String,
|
|
14
|
+
required: false,
|
|
15
|
+
description: 'Filter by scope (e.g., system, tenant, organization)'
|
|
16
|
+
}),
|
|
17
|
+
(0, class_validator_1.IsString)(),
|
|
18
|
+
(0, class_validator_1.IsOptional)(),
|
|
19
|
+
tslib_1.__metadata("design:type", String)
|
|
20
|
+
], TemplateFilterDto.prototype, "scope", void 0);
|
|
21
|
+
tslib_1.__decorate([
|
|
22
|
+
(0, swagger_1.ApiProperty)({
|
|
23
|
+
type: String,
|
|
24
|
+
required: false,
|
|
25
|
+
description: 'Filter by scope ID (e.g., tenant ID, organization ID)'
|
|
26
|
+
}),
|
|
27
|
+
(0, class_validator_1.IsString)(),
|
|
28
|
+
(0, class_validator_1.IsOptional)(),
|
|
29
|
+
tslib_1.__metadata("design:type", String)
|
|
30
|
+
], TemplateFilterDto.prototype, "scopeId", void 0);
|
|
31
|
+
tslib_1.__decorate([
|
|
32
|
+
(0, swagger_1.ApiProperty)({
|
|
33
|
+
enum: template_types_1.TemplateTypeEnum,
|
|
34
|
+
required: false,
|
|
35
|
+
description: 'Filter by template type'
|
|
36
|
+
}),
|
|
37
|
+
(0, class_validator_1.IsEnum)(template_types_1.TemplateTypeEnum),
|
|
38
|
+
(0, class_validator_1.IsOptional)(),
|
|
39
|
+
tslib_1.__metadata("design:type", String)
|
|
40
|
+
], TemplateFilterDto.prototype, "type", void 0);
|
|
41
|
+
tslib_1.__decorate([
|
|
42
|
+
(0, swagger_1.ApiProperty)({
|
|
43
|
+
type: String,
|
|
44
|
+
required: false,
|
|
45
|
+
description: 'Filter by locale (e.g., en, fr, es)'
|
|
46
|
+
}),
|
|
47
|
+
(0, class_validator_1.IsString)(),
|
|
48
|
+
(0, class_validator_1.IsOptional)(),
|
|
49
|
+
tslib_1.__metadata("design:type", String)
|
|
50
|
+
], TemplateFilterDto.prototype, "locale", void 0);
|
|
51
|
+
tslib_1.__decorate([
|
|
52
|
+
(0, swagger_1.ApiProperty)({
|
|
53
|
+
type: [String],
|
|
54
|
+
required: false,
|
|
55
|
+
description: 'Exclude templates with these names'
|
|
56
|
+
}),
|
|
57
|
+
(0, class_validator_1.IsArray)(),
|
|
58
|
+
(0, class_validator_1.IsString)({ each: true }),
|
|
59
|
+
(0, class_validator_1.IsOptional)(),
|
|
60
|
+
tslib_1.__metadata("design:type", Array)
|
|
61
|
+
], TemplateFilterDto.prototype, "excludeNames", void 0);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"template-layout-filter.dto.d.ts","sourceRoot":"","sources":["../../../../../../packages/nest-dynamic-templates/src/lib/dto/template-layout-filter.dto.ts"],"names":[],"mappings":"AAGA,qBAAa,uBAAuB;IAQhC,KAAK,CAAC,EAAE,MAAM,CAAC;IASf,OAAO,CAAC,EAAE,MAAM,CAAC;IASjB,IAAI,CAAC,EAAE,MAAM,CAAC;IASd,MAAM,CAAC,EAAE,MAAM,CAAC;IAUhB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CAE3B"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TemplateLayoutFilterDto = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const class_validator_1 = require("class-validator");
|
|
6
|
+
const swagger_1 = require("@nestjs/swagger");
|
|
7
|
+
class TemplateLayoutFilterDto {
|
|
8
|
+
}
|
|
9
|
+
exports.TemplateLayoutFilterDto = TemplateLayoutFilterDto;
|
|
10
|
+
tslib_1.__decorate([
|
|
11
|
+
(0, swagger_1.ApiProperty)({
|
|
12
|
+
type: String,
|
|
13
|
+
required: false,
|
|
14
|
+
description: 'Filter by scope (e.g., system, tenant, organization)'
|
|
15
|
+
}),
|
|
16
|
+
(0, class_validator_1.IsString)(),
|
|
17
|
+
(0, class_validator_1.IsOptional)(),
|
|
18
|
+
tslib_1.__metadata("design:type", String)
|
|
19
|
+
], TemplateLayoutFilterDto.prototype, "scope", void 0);
|
|
20
|
+
tslib_1.__decorate([
|
|
21
|
+
(0, swagger_1.ApiProperty)({
|
|
22
|
+
type: String,
|
|
23
|
+
required: false,
|
|
24
|
+
description: 'Filter by scope ID (e.g., tenant ID, organization ID)'
|
|
25
|
+
}),
|
|
26
|
+
(0, class_validator_1.IsString)(),
|
|
27
|
+
(0, class_validator_1.IsOptional)(),
|
|
28
|
+
tslib_1.__metadata("design:type", String)
|
|
29
|
+
], TemplateLayoutFilterDto.prototype, "scopeId", void 0);
|
|
30
|
+
tslib_1.__decorate([
|
|
31
|
+
(0, swagger_1.ApiProperty)({
|
|
32
|
+
type: String,
|
|
33
|
+
required: false,
|
|
34
|
+
description: 'Filter by template type'
|
|
35
|
+
}),
|
|
36
|
+
(0, class_validator_1.IsString)(),
|
|
37
|
+
(0, class_validator_1.IsOptional)(),
|
|
38
|
+
tslib_1.__metadata("design:type", String)
|
|
39
|
+
], TemplateLayoutFilterDto.prototype, "type", void 0);
|
|
40
|
+
tslib_1.__decorate([
|
|
41
|
+
(0, swagger_1.ApiProperty)({
|
|
42
|
+
type: String,
|
|
43
|
+
required: false,
|
|
44
|
+
description: 'Filter by locale (e.g., en, fr, es)'
|
|
45
|
+
}),
|
|
46
|
+
(0, class_validator_1.IsString)(),
|
|
47
|
+
(0, class_validator_1.IsOptional)(),
|
|
48
|
+
tslib_1.__metadata("design:type", String)
|
|
49
|
+
], TemplateLayoutFilterDto.prototype, "locale", void 0);
|
|
50
|
+
tslib_1.__decorate([
|
|
51
|
+
(0, swagger_1.ApiProperty)({
|
|
52
|
+
type: [String],
|
|
53
|
+
required: false,
|
|
54
|
+
description: 'Exclude templates with these names'
|
|
55
|
+
}),
|
|
56
|
+
(0, class_validator_1.IsArray)(),
|
|
57
|
+
(0, class_validator_1.IsString)({ each: true }),
|
|
58
|
+
(0, class_validator_1.IsOptional)(),
|
|
59
|
+
tslib_1.__metadata("design:type", Array)
|
|
60
|
+
], TemplateLayoutFilterDto.prototype, "excludeNames", void 0);
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { TemplateLanguageEnum } from '../../interfaces/template.types';
|
|
2
|
+
import { LanguageEngine } from '../language-engine';
|
|
3
|
+
export declare class HtmlEngine extends LanguageEngine {
|
|
4
|
+
static engineName: TemplateLanguageEnum;
|
|
5
|
+
private options;
|
|
6
|
+
constructor(options?: any);
|
|
7
|
+
render(content: string): Promise<string>;
|
|
8
|
+
validate(content: string): Promise<boolean>;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=html.engine.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"html.engine.d.ts","sourceRoot":"","sources":["../../../../../../../packages/nest-dynamic-templates/src/lib/engines/language/html.engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,qBAAa,UAAW,SAAQ,cAAc;IAC1C,OAAgB,UAAU,uBAA6B;IAEvD,OAAO,CAAC,OAAO,CAAM;gBAET,OAAO,CAAC,EAAE,GAAG;IAKnB,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAcxC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAqBpD"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.HtmlEngine = void 0;
|
|
37
|
+
const template_types_1 = require("../../interfaces/template.types");
|
|
38
|
+
const language_engine_1 = require("../language-engine");
|
|
39
|
+
class HtmlEngine extends language_engine_1.LanguageEngine {
|
|
40
|
+
constructor(options) {
|
|
41
|
+
super();
|
|
42
|
+
this.options = options;
|
|
43
|
+
}
|
|
44
|
+
async render(content) {
|
|
45
|
+
try {
|
|
46
|
+
// For HTML, we just return the content as is
|
|
47
|
+
// But we validate it first to ensure it's valid HTML
|
|
48
|
+
const isValid = await this.validate(content);
|
|
49
|
+
if (!isValid) {
|
|
50
|
+
throw new Error('Invalid HTML content');
|
|
51
|
+
}
|
|
52
|
+
return content;
|
|
53
|
+
}
|
|
54
|
+
catch (error) {
|
|
55
|
+
throw new Error(`Failed to render HTML: ${error?.message || 'Unknown error'}`);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
async validate(content) {
|
|
59
|
+
try {
|
|
60
|
+
const { Parser } = await Promise.resolve().then(() => __importStar(require('htmlparser2')));
|
|
61
|
+
return new Promise((resolve) => {
|
|
62
|
+
const parser = new Parser({
|
|
63
|
+
onerror: () => {
|
|
64
|
+
resolve(false);
|
|
65
|
+
},
|
|
66
|
+
onend: () => {
|
|
67
|
+
resolve(true);
|
|
68
|
+
}
|
|
69
|
+
}, this.options);
|
|
70
|
+
parser.write(content);
|
|
71
|
+
parser.end();
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
catch (error) {
|
|
75
|
+
return false;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
exports.HtmlEngine = HtmlEngine;
|
|
80
|
+
HtmlEngine.engineName = template_types_1.TemplateLanguageEnum.HTML;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../packages/nest-dynamic-templates/src/lib/engines/language/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TextEngine = exports.MarkdownEngine = exports.HtmlEngine = exports.MjmlEngine = void 0;
|
|
4
|
+
var mjml_engine_1 = require("./mjml.engine");
|
|
5
|
+
Object.defineProperty(exports, "MjmlEngine", { enumerable: true, get: function () { return mjml_engine_1.MjmlEngine; } });
|
|
6
|
+
var html_engine_1 = require("./html.engine");
|
|
7
|
+
Object.defineProperty(exports, "HtmlEngine", { enumerable: true, get: function () { return html_engine_1.HtmlEngine; } });
|
|
8
|
+
var markdown_engine_1 = require("./markdown.engine");
|
|
9
|
+
Object.defineProperty(exports, "MarkdownEngine", { enumerable: true, get: function () { return markdown_engine_1.MarkdownEngine; } });
|
|
10
|
+
var text_engine_1 = require("./text.engine");
|
|
11
|
+
Object.defineProperty(exports, "TextEngine", { enumerable: true, get: function () { return text_engine_1.TextEngine; } });
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { TemplateLanguageEnum } from '../../interfaces/template.types';
|
|
2
|
+
import { LanguageEngine } from '../language-engine';
|
|
3
|
+
export declare class MarkdownEngine extends LanguageEngine {
|
|
4
|
+
static engineName: TemplateLanguageEnum;
|
|
5
|
+
private options;
|
|
6
|
+
constructor(options?: any);
|
|
7
|
+
render(content: string): Promise<string>;
|
|
8
|
+
validate(content: string): Promise<boolean>;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=markdown.engine.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"markdown.engine.d.ts","sourceRoot":"","sources":["../../../../../../../packages/nest-dynamic-templates/src/lib/engines/language/markdown.engine.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,qBACa,cAAe,SAAQ,cAAc;IAC9C,OAAgB,UAAU,uBAAiC;IAE3D,OAAO,CAAC,OAAO,CAAM;gBAET,OAAO,CAAC,EAAE,GAAG;IAKnB,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAUxC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAWpD"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MarkdownEngine = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const common_1 = require("@nestjs/common");
|
|
6
|
+
const template_types_1 = require("../../interfaces/template.types");
|
|
7
|
+
const language_engine_1 = require("../language-engine");
|
|
8
|
+
let MarkdownEngine = class MarkdownEngine extends language_engine_1.LanguageEngine {
|
|
9
|
+
constructor(options) {
|
|
10
|
+
super();
|
|
11
|
+
this.options = options;
|
|
12
|
+
}
|
|
13
|
+
async render(content) {
|
|
14
|
+
// try {
|
|
15
|
+
// const { marked } = await import('marked');
|
|
16
|
+
// return marked(content, this.options);
|
|
17
|
+
// } catch (error: any) {
|
|
18
|
+
// throw new Error(`Failed to render Markdown: ${error?.message || 'Unknown error'}`);
|
|
19
|
+
// }
|
|
20
|
+
return content;
|
|
21
|
+
}
|
|
22
|
+
async validate(content) {
|
|
23
|
+
// try {
|
|
24
|
+
// const { marked } = await import('marked');
|
|
25
|
+
// // Basic Markdown validation - check for common syntax errors
|
|
26
|
+
// marked(content, this.options);
|
|
27
|
+
// return true;
|
|
28
|
+
// } catch (error) {
|
|
29
|
+
// return false;
|
|
30
|
+
// }
|
|
31
|
+
return true;
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
exports.MarkdownEngine = MarkdownEngine;
|
|
35
|
+
MarkdownEngine.engineName = template_types_1.TemplateLanguageEnum.MARKDOWN;
|
|
36
|
+
exports.MarkdownEngine = MarkdownEngine = tslib_1.__decorate([
|
|
37
|
+
(0, common_1.Injectable)(),
|
|
38
|
+
tslib_1.__metadata("design:paramtypes", [Object])
|
|
39
|
+
], MarkdownEngine);
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { TemplateLanguageEnum } from '../../interfaces/template.types';
|
|
2
|
+
import { LanguageEngine } from '../language-engine';
|
|
3
|
+
export declare class MjmlEngine extends LanguageEngine {
|
|
4
|
+
static engineName: TemplateLanguageEnum;
|
|
5
|
+
private readonly options;
|
|
6
|
+
constructor(options?: any);
|
|
7
|
+
render(content: string): Promise<string>;
|
|
8
|
+
validate(content: string): Promise<boolean>;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=mjml.engine.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mjml.engine.d.ts","sourceRoot":"","sources":["../../../../../../../packages/nest-dynamic-templates/src/lib/engines/language/mjml.engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,qBAAa,UAAW,SAAQ,cAAc;IAE1C,OAAgB,UAAU,uBAA6B;IAEvD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAW;gBAEvB,OAAO,GAAE,GAAQ;IAKvB,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAkBxC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAWpD"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.MjmlEngine = void 0;
|
|
37
|
+
const template_types_1 = require("../../interfaces/template.types");
|
|
38
|
+
const language_engine_1 = require("../language-engine");
|
|
39
|
+
class MjmlEngine extends language_engine_1.LanguageEngine {
|
|
40
|
+
constructor(options = {}) {
|
|
41
|
+
super();
|
|
42
|
+
this.options = {};
|
|
43
|
+
this.options = options;
|
|
44
|
+
}
|
|
45
|
+
async render(content) {
|
|
46
|
+
try {
|
|
47
|
+
const mjml2html = (await Promise.resolve().then(() => __importStar(require('mjml')))).default;
|
|
48
|
+
const result = mjml2html(content, {
|
|
49
|
+
...this.options,
|
|
50
|
+
validationLevel: 'strict',
|
|
51
|
+
});
|
|
52
|
+
if (result.errors && result.errors.length > 0) {
|
|
53
|
+
throw new Error(`MJML validation errors: ${result.errors.join(', ')}`);
|
|
54
|
+
}
|
|
55
|
+
return result.html;
|
|
56
|
+
}
|
|
57
|
+
catch (error) {
|
|
58
|
+
throw new Error(`MJML rendering error: ${error?.message || 'Unknown error'}`);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
async validate(content) {
|
|
62
|
+
try {
|
|
63
|
+
const mjml2html = (await Promise.resolve().then(() => __importStar(require('mjml')))).default;
|
|
64
|
+
const result = mjml2html(content, {
|
|
65
|
+
validationLevel: 'strict',
|
|
66
|
+
});
|
|
67
|
+
return result.errors.length === 0;
|
|
68
|
+
}
|
|
69
|
+
catch (error) {
|
|
70
|
+
return false;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
exports.MjmlEngine = MjmlEngine;
|
|
75
|
+
MjmlEngine.engineName = template_types_1.TemplateLanguageEnum.MJML;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { TemplateLanguageEnum } from '../../interfaces/template.types';
|
|
2
|
+
import { LanguageEngine } from '../language-engine';
|
|
3
|
+
export declare class TextEngine extends LanguageEngine {
|
|
4
|
+
static engineName: TemplateLanguageEnum;
|
|
5
|
+
render(content: string): Promise<string>;
|
|
6
|
+
validate(content: string): Promise<boolean>;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=text.engine.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text.engine.d.ts","sourceRoot":"","sources":["../../../../../../../packages/nest-dynamic-templates/src/lib/engines/language/text.engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,qBAAa,UAAW,SAAQ,cAAc;IAE1C,OAAgB,UAAU,uBAA6B;IAEjD,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAIxC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAGpD"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TextEngine = void 0;
|
|
4
|
+
const template_types_1 = require("../../interfaces/template.types");
|
|
5
|
+
const language_engine_1 = require("../language-engine");
|
|
6
|
+
class TextEngine extends language_engine_1.LanguageEngine {
|
|
7
|
+
async render(content) {
|
|
8
|
+
return content;
|
|
9
|
+
}
|
|
10
|
+
async validate(content) {
|
|
11
|
+
return true;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
exports.TextEngine = TextEngine;
|
|
15
|
+
TextEngine.engineName = template_types_1.TemplateLanguageEnum.TEXT;
|
|
@@ -1,11 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
export abstract class LanguageEngine {
|
|
3
|
-
|
|
1
|
+
export declare abstract class LanguageEngine {
|
|
4
2
|
static engineName: string;
|
|
5
|
-
|
|
6
3
|
abstract render(content: string, data?: Record<string, any>): Promise<string>;
|
|
7
|
-
|
|
8
4
|
abstract validate(content: string): Promise<boolean>;
|
|
9
|
-
|
|
10
|
-
|
|
11
5
|
}
|
|
6
|
+
//# sourceMappingURL=language-engine.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"language-engine.d.ts","sourceRoot":"","sources":["../../../../../../packages/nest-dynamic-templates/src/lib/engines/language-engine.ts"],"names":[],"mappings":"AACA,8BAAsB,cAAc;IAEhC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC;IAE1B,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAE7E,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAGvD"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { TemplateEngine } from '../template-engine';
|
|
2
|
+
import { TemplateEngineEnum } from '../../interfaces/template.types';
|
|
3
|
+
import { EngineOptions } from '../../interfaces/module-config.interface';
|
|
4
|
+
export declare class EjsEngine extends TemplateEngine {
|
|
5
|
+
static engineName: TemplateEngineEnum;
|
|
6
|
+
private options;
|
|
7
|
+
constructor(options?: EngineOptions<ejs.Options>);
|
|
8
|
+
render(content: string, data?: Record<string, any>): Promise<string>;
|
|
9
|
+
validate(content: string): Promise<boolean>;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=ejs.engine.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ejs.engine.d.ts","sourceRoot":"","sources":["../../../../../../../packages/nest-dynamic-templates/src/lib/engines/template/ejs.engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AACzE,qBAAa,SAAU,SAAQ,cAAc;IAEzC,OAAgB,UAAU,qBAA0B;IAEpD,OAAO,CAAC,OAAO,CAAc;gBAEjB,OAAO,CAAC,EAAE,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC;IAK1C,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IASpE,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CASpD"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.EjsEngine = void 0;
|
|
37
|
+
const template_engine_1 = require("../template-engine");
|
|
38
|
+
const template_types_1 = require("../../interfaces/template.types");
|
|
39
|
+
class EjsEngine extends template_engine_1.TemplateEngine {
|
|
40
|
+
constructor(options) {
|
|
41
|
+
super();
|
|
42
|
+
this.options = options || {};
|
|
43
|
+
}
|
|
44
|
+
async render(content, data) {
|
|
45
|
+
try {
|
|
46
|
+
const ejs = await Promise.resolve().then(() => __importStar(require('ejs')));
|
|
47
|
+
return ejs.render(content, data, this.options);
|
|
48
|
+
}
|
|
49
|
+
catch (error) {
|
|
50
|
+
throw new Error(`Failed to render EJS template: ${error?.message || 'Unknown error'}`);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
async validate(content) {
|
|
54
|
+
try {
|
|
55
|
+
const ejs = await Promise.resolve().then(() => __importStar(require('ejs')));
|
|
56
|
+
ejs.compile(content, this.options);
|
|
57
|
+
return true;
|
|
58
|
+
}
|
|
59
|
+
catch (error) {
|
|
60
|
+
return false;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
exports.EjsEngine = EjsEngine;
|
|
65
|
+
EjsEngine.engineName = template_types_1.TemplateEngineEnum.EJS;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { TemplateEngineEnum } from '../../interfaces/template.types';
|
|
2
|
+
import { TemplateEngine } from '../template-engine';
|
|
3
|
+
import { EngineOptions } from '../../interfaces/module-config.interface';
|
|
4
|
+
export declare class HandlebarsEngine extends TemplateEngine {
|
|
5
|
+
static engineName: TemplateEngineEnum;
|
|
6
|
+
private options;
|
|
7
|
+
constructor(options?: EngineOptions<Handlebars.ParseOptions>);
|
|
8
|
+
render(content: string, data?: Record<string, any>): Promise<string>;
|
|
9
|
+
validate(content: string): Promise<boolean>;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=handlebars.engine.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handlebars.engine.d.ts","sourceRoot":"","sources":["../../../../../../../packages/nest-dynamic-templates/src/lib/engines/template/handlebars.engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AAEzE,qBAAa,gBAAiB,SAAQ,cAAc;IAEhD,OAAgB,UAAU,qBAAiC;IAE3D,OAAO,CAAC,OAAO,CAA0B;gBAE7B,OAAO,CAAC,EAAE,aAAa,CAAC,UAAU,CAAC,YAAY,CAAC;IAKtD,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAUpE,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CASpD"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.HandlebarsEngine = void 0;
|
|
37
|
+
const template_types_1 = require("../../interfaces/template.types");
|
|
38
|
+
const template_engine_1 = require("../template-engine");
|
|
39
|
+
class HandlebarsEngine extends template_engine_1.TemplateEngine {
|
|
40
|
+
constructor(options) {
|
|
41
|
+
super();
|
|
42
|
+
this.options = options || {};
|
|
43
|
+
}
|
|
44
|
+
async render(content, data) {
|
|
45
|
+
try {
|
|
46
|
+
const Handlebars = await Promise.resolve().then(() => __importStar(require('handlebars')));
|
|
47
|
+
const template = Handlebars.compile(content, this.options);
|
|
48
|
+
return template(data);
|
|
49
|
+
}
|
|
50
|
+
catch (error) {
|
|
51
|
+
throw new Error(`Failed to render Handlebars template: ${error?.message || 'Unknown error'}`);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
async validate(content) {
|
|
55
|
+
try {
|
|
56
|
+
const Handlebars = await Promise.resolve().then(() => __importStar(require('handlebars')));
|
|
57
|
+
Handlebars.precompile(content, this.options);
|
|
58
|
+
return true;
|
|
59
|
+
}
|
|
60
|
+
catch (error) {
|
|
61
|
+
return false;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
exports.HandlebarsEngine = HandlebarsEngine;
|
|
66
|
+
HandlebarsEngine.engineName = template_types_1.TemplateEngineEnum.HANDLEBARS;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../packages/nest-dynamic-templates/src/lib/engines/template/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PugEngine = exports.EjsEngine = exports.HandlebarsEngine = exports.NunjucksEngine = void 0;
|
|
4
|
+
var nunjucks_engine_1 = require("./nunjucks.engine");
|
|
5
|
+
Object.defineProperty(exports, "NunjucksEngine", { enumerable: true, get: function () { return nunjucks_engine_1.NunjucksEngine; } });
|
|
6
|
+
var handlebars_engine_1 = require("./handlebars.engine");
|
|
7
|
+
Object.defineProperty(exports, "HandlebarsEngine", { enumerable: true, get: function () { return handlebars_engine_1.HandlebarsEngine; } });
|
|
8
|
+
var ejs_engine_1 = require("./ejs.engine");
|
|
9
|
+
Object.defineProperty(exports, "EjsEngine", { enumerable: true, get: function () { return ejs_engine_1.EjsEngine; } });
|
|
10
|
+
var pug_engine_1 = require("./pug.engine");
|
|
11
|
+
Object.defineProperty(exports, "PugEngine", { enumerable: true, get: function () { return pug_engine_1.PugEngine; } });
|