@ackplus/nest-dynamic-templates 0.1.0
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/README.md +173 -0
- package/package.json +62 -0
- package/src/index.d.ts +5 -0
- package/src/index.js +9 -0
- package/src/index.js.map +1 -0
- package/src/lib/constant.d.ts +1 -0
- package/src/lib/constant.js +5 -0
- package/src/lib/constant.js.map +1 -0
- package/src/lib/controllers/template-layout.controller.d.ts +18 -0
- package/src/lib/controllers/template-layout.controller.js +96 -0
- package/src/lib/controllers/template-layout.controller.js.map +1 -0
- package/src/lib/controllers/template.controller.d.ts +17 -0
- package/src/lib/controllers/template.controller.js +100 -0
- package/src/lib/controllers/template.controller.js.map +1 -0
- package/src/lib/dto/create-template-layout.dto.d.ts +15 -0
- package/src/lib/dto/create-template-layout.dto.js +86 -0
- package/src/lib/dto/create-template-layout.dto.js.map +1 -0
- package/src/lib/dto/create-template.dto.d.ts +16 -0
- package/src/lib/dto/create-template.dto.js +91 -0
- package/src/lib/dto/create-template.dto.js.map +1 -0
- package/src/lib/dto/render-template-layout.dto.d.ts +12 -0
- package/src/lib/dto/render-template-layout.dto.js +69 -0
- package/src/lib/dto/render-template-layout.dto.js.map +1 -0
- package/src/lib/dto/render-template.dto.d.ts +13 -0
- package/src/lib/dto/render-template.dto.js +82 -0
- package/src/lib/dto/render-template.dto.js.map +1 -0
- package/src/lib/dto/template-filter.dto.d.ts +8 -0
- package/src/lib/dto/template-filter.dto.js +62 -0
- package/src/lib/dto/template-filter.dto.js.map +1 -0
- package/src/lib/dto/template-layout-filter.dto.d.ts +8 -0
- package/src/lib/dto/template-layout-filter.dto.js +62 -0
- package/src/lib/dto/template-layout-filter.dto.js.map +1 -0
- package/src/lib/engines/language/html.engine.d.ts +9 -0
- package/src/lib/engines/language/html.engine.js +79 -0
- package/src/lib/engines/language/html.engine.js.map +1 -0
- package/src/lib/engines/language/index.d.ts +4 -0
- package/src/lib/engines/language/index.js +12 -0
- package/src/lib/engines/language/index.js.map +1 -0
- package/src/lib/engines/language/markdown.engine.d.ts +9 -0
- package/src/lib/engines/language/markdown.engine.js +39 -0
- package/src/lib/engines/language/markdown.engine.js.map +1 -0
- package/src/lib/engines/language/mjml.engine.d.ts +9 -0
- package/src/lib/engines/language/mjml.engine.js +77 -0
- package/src/lib/engines/language/mjml.engine.js.map +1 -0
- package/src/lib/engines/language/text.engine.d.ts +7 -0
- package/src/lib/engines/language/text.engine.js +16 -0
- package/src/lib/engines/language/text.engine.js.map +1 -0
- package/src/lib/engines/language-engine.d.ts +5 -0
- package/src/lib/engines/language-engine.js +7 -0
- package/src/lib/engines/language-engine.js.map +1 -0
- package/src/lib/engines/template/ejs.engine.d.ts +9 -0
- package/src/lib/engines/template/ejs.engine.js +66 -0
- package/src/lib/engines/template/ejs.engine.js.map +1 -0
- package/src/lib/engines/template/handlebars.engine.d.ts +9 -0
- package/src/lib/engines/template/handlebars.engine.js +67 -0
- package/src/lib/engines/template/handlebars.engine.js.map +1 -0
- package/src/lib/engines/template/index.d.ts +4 -0
- package/src/lib/engines/template/index.js +12 -0
- package/src/lib/engines/template/index.js.map +1 -0
- package/src/lib/engines/template/nunjucks.engine.d.ts +12 -0
- package/src/lib/engines/template/nunjucks.engine.js +82 -0
- package/src/lib/engines/template/nunjucks.engine.js.map +1 -0
- package/src/lib/engines/template/pug.engine.d.ts +10 -0
- package/src/lib/engines/template/pug.engine.js +67 -0
- package/src/lib/engines/template/pug.engine.js.map +1 -0
- package/src/lib/engines/template-engine.d.ts +5 -0
- package/src/lib/engines/template-engine.js +7 -0
- package/src/lib/engines/template-engine.js.map +1 -0
- package/src/lib/entities/template-layout.entity.d.ts +18 -0
- package/src/lib/entities/template-layout.entity.js +117 -0
- package/src/lib/entities/template-layout.entity.js.map +1 -0
- package/src/lib/entities/template.entity.d.ts +20 -0
- package/src/lib/entities/template.entity.js +127 -0
- package/src/lib/entities/template.entity.js.map +1 -0
- package/src/lib/interfaces/module-config.interface.d.ts +15 -0
- package/src/lib/interfaces/module-config.interface.js +3 -0
- package/src/lib/interfaces/module-config.interface.js.map +1 -0
- package/src/lib/interfaces/template.types.d.ts +22 -0
- package/src/lib/interfaces/template.types.js +25 -0
- package/src/lib/interfaces/template.types.js.map +1 -0
- package/src/lib/services/template-engine.registry.d.ts +22 -0
- package/src/lib/services/template-engine.registry.js +91 -0
- package/src/lib/services/template-engine.registry.js.map +1 -0
- package/src/lib/services/template-layout.service.d.ts +19 -0
- package/src/lib/services/template-layout.service.js +182 -0
- package/src/lib/services/template-layout.service.js.map +1 -0
- package/src/lib/services/template.service.d.ts +21 -0
- package/src/lib/services/template.service.js +231 -0
- package/src/lib/services/template.service.js.map +1 -0
- package/src/lib/templates.module.d.ts +5 -0
- package/src/lib/templates.module.js +50 -0
- package/src/lib/templates.module.js.map +1 -0
- package/src/test/test-database.config.d.ts +4 -0
- package/src/test/test-database.config.js +24 -0
- package/src/test/test-database.config.js.map +1 -0
- package/src/test/test.setup.d.ts +3 -0
- package/src/test/test.setup.js +29 -0
- package/src/test/test.setup.js.map +1 -0
- package/tsconfig.tsbuildinfo +1 -0
|
@@ -0,0 +1,77 @@
|
|
|
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
|
+
minify: true,
|
|
51
|
+
validationLevel: 'strict',
|
|
52
|
+
});
|
|
53
|
+
if (result.errors && result.errors.length > 0) {
|
|
54
|
+
throw new Error(`MJML validation errors: ${result.errors.join(', ')}`);
|
|
55
|
+
}
|
|
56
|
+
return result.html;
|
|
57
|
+
}
|
|
58
|
+
catch (error) {
|
|
59
|
+
throw new Error(`MJML rendering error: ${error?.message || 'Unknown error'}`);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
async validate(content) {
|
|
63
|
+
try {
|
|
64
|
+
const mjml2html = (await Promise.resolve().then(() => __importStar(require('mjml')))).default;
|
|
65
|
+
const result = mjml2html(content, {
|
|
66
|
+
validationLevel: 'strict',
|
|
67
|
+
});
|
|
68
|
+
return result.errors.length === 0;
|
|
69
|
+
}
|
|
70
|
+
catch (error) {
|
|
71
|
+
return false;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
exports.MjmlEngine = MjmlEngine;
|
|
76
|
+
MjmlEngine.engineName = template_types_1.TemplateLanguageEnum.MJML;
|
|
77
|
+
//# sourceMappingURL=mjml.engine.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mjml.engine.js","sourceRoot":"","sources":["../../../../../../../packages/nest-dynamic-templates/src/lib/engines/language/mjml.engine.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oEAAuE;AACvE,wDAAoD;AAEpD,MAAa,UAAW,SAAQ,gCAAc;IAM1C,YAAY,UAAe,EAAE;QACzB,KAAK,EAAE,CAAC;QAHK,YAAO,GAAQ,EAAE,CAAC;QAI/B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,OAAe;QACxB,IAAI,CAAC;YACD,MAAM,SAAS,GAAG,CAAC,wDAAa,MAAM,GAAC,CAAC,CAAC,OAAO,CAAC;YACjD,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE;gBAC9B,GAAG,IAAI,CAAC,OAAO;gBACf,MAAM,EAAE,IAAI;gBACZ,eAAe,EAAE,QAAQ;aAC5B,CAAC,CAAC;YAEH,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5C,MAAM,IAAI,KAAK,CAAC,2BAA2B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC3E,CAAC;YAED,OAAO,MAAM,CAAC,IAAI,CAAC;QACvB,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,yBAAyB,KAAK,EAAE,OAAO,IAAI,eAAe,EAAE,CAAC,CAAC;QAClF,CAAC;IACL,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,OAAe;QAC1B,IAAI,CAAC;YACD,MAAM,SAAS,GAAG,CAAC,wDAAa,MAAM,GAAC,CAAC,CAAC,OAAO,CAAC;YACjD,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE;gBAC9B,eAAe,EAAE,QAAQ;aAC5B,CAAC,CAAC;YACH,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC;QACtC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;;AAxCL,gCAyCC;AAvCmB,qBAAU,GAAG,qCAAoB,CAAC,IAAI,AAA5B,CAA6B"}
|
|
@@ -0,0 +1,7 @@
|
|
|
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
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
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;
|
|
16
|
+
//# sourceMappingURL=text.engine.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text.engine.js","sourceRoot":"","sources":["../../../../../../../packages/nest-dynamic-templates/src/lib/engines/language/text.engine.ts"],"names":[],"mappings":";;;AAAA,oEAAuE;AACvE,wDAAoD;AAEpD,MAAa,UAAW,SAAQ,gCAAc;IAI1C,KAAK,CAAC,MAAM,CAAC,OAAe;QACxB,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,OAAe;QAC1B,OAAO,IAAI,CAAC;IAChB,CAAC;;AAVL,gCAWC;AATmB,qBAAU,GAAG,qCAAoB,CAAC,IAAI,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"language-engine.js","sourceRoot":"","sources":["../../../../../../packages/nest-dynamic-templates/src/lib/engines/language-engine.ts"],"names":[],"mappings":";;;AACA,MAAsB,cAAc;CASnC;AATD,wCASC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { TemplateEngine } from '../template-engine';
|
|
2
|
+
import { TemplateEngineEnum } from '../../interfaces/template.types';
|
|
3
|
+
export declare class EjsEngine extends TemplateEngine {
|
|
4
|
+
static engineName: TemplateEngineEnum;
|
|
5
|
+
private options;
|
|
6
|
+
constructor(options?: ejs.Options);
|
|
7
|
+
render(content: string, data?: Record<string, any>): Promise<string>;
|
|
8
|
+
validate(content: string): Promise<boolean>;
|
|
9
|
+
}
|
|
@@ -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.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;
|
|
66
|
+
//# sourceMappingURL=ejs.engine.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ejs.engine.js","sourceRoot":"","sources":["../../../../../../../packages/nest-dynamic-templates/src/lib/engines/template/ejs.engine.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wDAAoD;AACpD,oEAAqE;AAErE,MAAa,SAAU,SAAQ,gCAAc;IAMzC,YAAY,OAAqB;QAC7B,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,OAAe,EAAE,IAA0B;QACpD,IAAI,CAAC;YACD,MAAM,GAAG,GAAG,wDAAa,KAAK,GAAC,CAAC;YAChC,OAAO,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACnD,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,kCAAkC,KAAK,EAAE,OAAO,IAAI,eAAe,EAAE,CAAC,CAAC;QAC3F,CAAC;IACL,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,OAAe;QAC1B,IAAI,CAAC;YACD,MAAM,GAAG,GAAG,wDAAa,KAAK,GAAC,CAAC;YAChC,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YACnC,OAAO,IAAI,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;;AA5BL,8BA6BC;AA3BmB,oBAAU,GAAG,mCAAkB,CAAC,GAAG,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { TemplateEngineEnum } from '../../interfaces/template.types';
|
|
2
|
+
import { TemplateEngine } from '../template-engine';
|
|
3
|
+
export declare class HandlebarsEngine extends TemplateEngine {
|
|
4
|
+
static engineName: TemplateEngineEnum;
|
|
5
|
+
private options;
|
|
6
|
+
constructor(options?: Handlebars.ParseOptions);
|
|
7
|
+
render(content: string, data?: Record<string, any>): Promise<string>;
|
|
8
|
+
validate(content: string): Promise<boolean>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,67 @@
|
|
|
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;
|
|
67
|
+
//# sourceMappingURL=handlebars.engine.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handlebars.engine.js","sourceRoot":"","sources":["../../../../../../../packages/nest-dynamic-templates/src/lib/engines/template/handlebars.engine.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oEAAqE;AACrE,wDAAoD;AAGpD,MAAa,gBAAiB,SAAQ,gCAAc;IAMhD,YAAY,OAAiC;QACzC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,OAAe,EAAE,IAA0B;QACpD,IAAI,CAAC;YACD,MAAM,UAAU,GAAG,wDAAa,YAAY,GAAC,CAAC;YAC9C,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAC3D,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,yCAAyC,KAAK,EAAE,OAAO,IAAI,eAAe,EAAE,CAAC,CAAC;QAClG,CAAC;IACL,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,OAAe;QAC1B,IAAI,CAAC;YACD,MAAM,UAAU,GAAG,wDAAa,YAAY,GAAC,CAAC;YAC9C,UAAU,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAC7C,OAAO,IAAI,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;;AA7BL,4CA8BC;AA5BmB,2BAAU,GAAG,mCAAkB,CAAC,UAAU,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
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; } });
|
|
12
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/nest-dynamic-templates/src/lib/engines/template/index.ts"],"names":[],"mappings":";;;AAAA,qDAAmD;AAA1C,iHAAA,cAAc,OAAA;AACvB,yDAAuD;AAA9C,qHAAA,gBAAgB,OAAA;AACzB,2CAAyC;AAAhC,uGAAA,SAAS,OAAA;AAClB,2CAAyC;AAAhC,uGAAA,SAAS,OAAA"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { TemplateEngineEnum } from '../../interfaces/template.types';
|
|
2
|
+
import { TemplateEngine } from '../template-engine';
|
|
3
|
+
import type { ConfigureOptions } from 'nunjucks';
|
|
4
|
+
export declare class NunjucksEngine extends TemplateEngine {
|
|
5
|
+
private options?;
|
|
6
|
+
static engineName: TemplateEngineEnum;
|
|
7
|
+
private env;
|
|
8
|
+
constructor(options?: ConfigureOptions);
|
|
9
|
+
initNunjucks(): Promise<void>;
|
|
10
|
+
render(content: string, data?: Record<string, any>): Promise<string>;
|
|
11
|
+
validate(content: string): Promise<boolean>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,82 @@
|
|
|
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.NunjucksEngine = void 0;
|
|
37
|
+
const template_types_1 = require("../../interfaces/template.types");
|
|
38
|
+
const template_engine_1 = require("../template-engine");
|
|
39
|
+
class NunjucksEngine extends template_engine_1.TemplateEngine {
|
|
40
|
+
constructor(options) {
|
|
41
|
+
super();
|
|
42
|
+
this.options = options;
|
|
43
|
+
this.initNunjucks();
|
|
44
|
+
}
|
|
45
|
+
async initNunjucks() {
|
|
46
|
+
const nunjucks = await Promise.resolve().then(() => __importStar(require('nunjucks')));
|
|
47
|
+
this.env = nunjucks.configure({
|
|
48
|
+
autoescape: true,
|
|
49
|
+
throwOnUndefined: true,
|
|
50
|
+
...this.options
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
async render(content, data) {
|
|
54
|
+
try {
|
|
55
|
+
return new Promise((resolve, reject) => {
|
|
56
|
+
this.env.renderString(content, data, (err, result) => {
|
|
57
|
+
if (err) {
|
|
58
|
+
reject(err);
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
resolve(result);
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
catch (error) {
|
|
67
|
+
throw new Error(`Failed to render Nunjucks template: ${error?.message || 'Unknown error'}`);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
async validate(content) {
|
|
71
|
+
try {
|
|
72
|
+
await this.render(content, {});
|
|
73
|
+
return true;
|
|
74
|
+
}
|
|
75
|
+
catch (error) {
|
|
76
|
+
return false;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
exports.NunjucksEngine = NunjucksEngine;
|
|
81
|
+
NunjucksEngine.engineName = template_types_1.TemplateEngineEnum.NUNJUCKS;
|
|
82
|
+
//# sourceMappingURL=nunjucks.engine.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nunjucks.engine.js","sourceRoot":"","sources":["../../../../../../../packages/nest-dynamic-templates/src/lib/engines/template/nunjucks.engine.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oEAAqE;AACrE,wDAAoD;AAEpD,MAAa,cAAe,SAAQ,gCAAc;IAM9C,YAAoB,OAA0B;QAC1C,KAAK,EAAE,CAAC;QADQ,YAAO,GAAP,OAAO,CAAmB;QAE1C,IAAI,CAAC,YAAY,EAAE,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,YAAY;QACd,MAAM,QAAQ,GAAG,wDAAa,UAAU,GAAC,CAAC;QAC1C,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC,SAAS,CAAC;YAC1B,UAAU,EAAE,IAAI;YAChB,gBAAgB,EAAE,IAAI;YACtB,GAAG,IAAI,CAAC,OAAO;SAClB,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,OAAe,EAAE,IAA0B;QACpD,IAAI,CAAC;YACD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACnC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;oBACjD,IAAI,GAAG,EAAE,CAAC;wBACN,MAAM,CAAC,GAAG,CAAC,CAAC;oBAChB,CAAC;yBAAM,CAAC;wBACJ,OAAO,CAAC,MAAM,CAAC,CAAC;oBACpB,CAAC;gBACL,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;QACP,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,uCAAuC,KAAK,EAAE,OAAO,IAAI,eAAe,EAAE,CAAC,CAAC;QAChG,CAAC;IACL,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,OAAe;QAC1B,IAAI,CAAC;YAED,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAC/B,OAAO,IAAI,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;;AA5CL,wCA6CC;AA3CmB,yBAAU,GAAG,mCAAkB,CAAC,QAAQ,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Options } from 'pug';
|
|
2
|
+
import { TemplateEngineEnum } from '../../interfaces/template.types';
|
|
3
|
+
import { TemplateEngine } from '../template-engine';
|
|
4
|
+
export declare class PugEngine extends TemplateEngine {
|
|
5
|
+
static engineName: TemplateEngineEnum;
|
|
6
|
+
private options;
|
|
7
|
+
constructor(options?: Options);
|
|
8
|
+
render(content: string, data?: Record<string, any>): Promise<string>;
|
|
9
|
+
validate(content: string): Promise<boolean>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,67 @@
|
|
|
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.PugEngine = void 0;
|
|
37
|
+
const template_types_1 = require("../../interfaces/template.types");
|
|
38
|
+
const template_engine_1 = require("../template-engine");
|
|
39
|
+
class PugEngine extends template_engine_1.TemplateEngine {
|
|
40
|
+
constructor(options) {
|
|
41
|
+
super();
|
|
42
|
+
this.options = options;
|
|
43
|
+
}
|
|
44
|
+
async render(content, data) {
|
|
45
|
+
try {
|
|
46
|
+
const pug = await Promise.resolve().then(() => __importStar(require('pug')));
|
|
47
|
+
const template = pug.compile(content, this.options);
|
|
48
|
+
return template(data);
|
|
49
|
+
}
|
|
50
|
+
catch (error) {
|
|
51
|
+
throw new Error(`Failed to render Pug template: ${error?.message || 'Unknown error'}`);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
async validate(content) {
|
|
55
|
+
try {
|
|
56
|
+
const pug = await Promise.resolve().then(() => __importStar(require('pug')));
|
|
57
|
+
pug.compile(content, this.options);
|
|
58
|
+
return true;
|
|
59
|
+
}
|
|
60
|
+
catch (error) {
|
|
61
|
+
return false;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
exports.PugEngine = PugEngine;
|
|
66
|
+
PugEngine.engineName = template_types_1.TemplateEngineEnum.PUG;
|
|
67
|
+
//# sourceMappingURL=pug.engine.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pug.engine.js","sourceRoot":"","sources":["../../../../../../../packages/nest-dynamic-templates/src/lib/engines/template/pug.engine.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,oEAAqE;AACrE,wDAAoD;AAGpD,MAAa,SAAU,SAAQ,gCAAc;IAMzC,YAAY,OAAiB;QACzB,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,OAAe,EAAE,IAA0B;QACpD,IAAI,CAAC;YACD,MAAM,GAAG,GAAG,wDAAa,KAAK,GAAC,CAAC;YAChC,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YACpD,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,kCAAkC,KAAK,EAAE,OAAO,IAAI,eAAe,EAAE,CAAC,CAAC;QAC3F,CAAC;IACL,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,OAAe;QAC1B,IAAI,CAAC;YACD,MAAM,GAAG,GAAG,wDAAa,KAAK,GAAC,CAAC;YAChC,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YACnC,OAAO,IAAI,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;;AA7BL,8BA8BC;AA5BmB,oBAAU,GAAG,mCAAkB,CAAC,GAAG,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"template-engine.js","sourceRoot":"","sources":["../../../../../../packages/nest-dynamic-templates/src/lib/engines/template-engine.ts"],"names":[],"mappings":";;;AACA,MAAsB,cAAc;CAQnC;AARD,wCAQC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { TemplateEngineEnum, TemplateTypeEnum, TemplateLanguageEnum } from '../interfaces/template.types';
|
|
2
|
+
export declare class NestDynamicTemplateLayout {
|
|
3
|
+
id: string;
|
|
4
|
+
name: string;
|
|
5
|
+
displayName?: string;
|
|
6
|
+
description?: string;
|
|
7
|
+
type: TemplateTypeEnum;
|
|
8
|
+
engine: TemplateEngineEnum;
|
|
9
|
+
language?: TemplateLanguageEnum;
|
|
10
|
+
content: string;
|
|
11
|
+
scope: string;
|
|
12
|
+
scopeId?: string;
|
|
13
|
+
locale?: string;
|
|
14
|
+
previewContext?: Record<string, any>;
|
|
15
|
+
isActive: boolean;
|
|
16
|
+
createdAt: Date;
|
|
17
|
+
updatedAt: Date;
|
|
18
|
+
}
|