@spinajs/templates-handlebars 2.0.46 → 2.0.51
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 +11 -11
- package/lib/index.d.ts +1 -2
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +27 -61
- package/lib/index.js.map +1 -1
- package/package.json +59 -58
package/README.md
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
# `email`
|
|
2
|
-
|
|
3
|
-
> TODO: description
|
|
4
|
-
|
|
5
|
-
## Usage
|
|
6
|
-
|
|
7
|
-
```
|
|
8
|
-
const email = require('email');
|
|
9
|
-
|
|
10
|
-
// TODO: DEMONSTRATE API
|
|
11
|
-
```
|
|
1
|
+
# `email`
|
|
2
|
+
|
|
3
|
+
> TODO: description
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
const email = require('email');
|
|
9
|
+
|
|
10
|
+
// TODO: DEMONSTRATE API
|
|
11
|
+
```
|
package/lib/index.d.ts
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import { TemplateRenderer } from '@spinajs/templates';
|
|
2
|
-
import { Log } from '@spinajs/log';
|
|
3
2
|
export declare class HandlebarsRenderer extends TemplateRenderer {
|
|
4
|
-
protected Log: Log;
|
|
5
3
|
protected Options: any;
|
|
6
4
|
protected Templates: Map<string, HandlebarsTemplateDelegate<any>>;
|
|
7
5
|
get Type(): string;
|
|
@@ -11,3 +9,4 @@ export declare class HandlebarsRenderer extends TemplateRenderer {
|
|
|
11
9
|
render(templateName: string, model: unknown, language?: string): Promise<string>;
|
|
12
10
|
protected compile(templateName: string, path: string): Promise<void>;
|
|
13
11
|
}
|
|
12
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAMtD,qBACa,kBAAmB,SAAQ,gBAAgB;IAGtD,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC;IAEvB,SAAS,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,0BAA0B,CAAC,GAAG,CAAC,CAAC,CAAsD;IAEvH,IAAW,IAAI,WAEd;IAED,IAAW,SAAS,WAEnB;IAEY,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAoBxB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWlG,MAAM,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;cA4B7E,OAAO,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAe3E"}
|
package/lib/index.js
CHANGED
|
@@ -1,54 +1,24 @@
|
|
|
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
1
|
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
19
2
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
20
3
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
21
4
|
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;
|
|
22
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
23
6
|
};
|
|
24
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
25
|
-
if (mod && mod.__esModule) return mod;
|
|
26
|
-
var result = {};
|
|
27
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
28
|
-
__setModuleDefault(result, mod);
|
|
29
|
-
return result;
|
|
30
|
-
};
|
|
31
7
|
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
32
8
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
33
9
|
};
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
};
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
const log_1 = require("@spinajs/log");
|
|
47
|
-
const configuration_1 = require("@spinajs/configuration");
|
|
48
|
-
const di_1 = require("@spinajs/di");
|
|
49
|
-
const Handlebars = __importStar(require("handlebars"));
|
|
50
|
-
const path_1 = require("path");
|
|
51
|
-
let HandlebarsRenderer = class HandlebarsRenderer extends templates_1.TemplateRenderer {
|
|
10
|
+
import { IOFail, InvalidOperation } from '../../exceptions/lib/index.js';
|
|
11
|
+
import { __translate, __translateNumber, __translateL, __translateH, guessLanguage, defaultLanguage } from '@spinajs/intl';
|
|
12
|
+
import { InvalidArgument } from '../../exceptions/lib/index.js';
|
|
13
|
+
import * as fs from 'fs';
|
|
14
|
+
import * as path from 'path';
|
|
15
|
+
import _ from 'lodash';
|
|
16
|
+
import { TemplateRenderer } from '@spinajs/templates';
|
|
17
|
+
import { Config } from '@spinajs/configuration';
|
|
18
|
+
import { Injectable } from '@spinajs/di';
|
|
19
|
+
import Handlebars from 'handlebars';
|
|
20
|
+
import { normalize } from 'path';
|
|
21
|
+
let HandlebarsRenderer = class HandlebarsRenderer extends TemplateRenderer {
|
|
52
22
|
constructor() {
|
|
53
23
|
super(...arguments);
|
|
54
24
|
this.Templates = new Map();
|
|
@@ -61,16 +31,16 @@ let HandlebarsRenderer = class HandlebarsRenderer extends templates_1.TemplateRe
|
|
|
61
31
|
}
|
|
62
32
|
async resolve() {
|
|
63
33
|
Handlebars.registerHelper('__', (context, options) => {
|
|
64
|
-
return
|
|
34
|
+
return __translate(options.data.root.lang)(context);
|
|
65
35
|
});
|
|
66
36
|
Handlebars.registerHelper('__n', (context, count, options) => {
|
|
67
|
-
return
|
|
37
|
+
return __translateNumber(options.data.root.lang)(context, count);
|
|
68
38
|
});
|
|
69
39
|
Handlebars.registerHelper('__l', (context) => {
|
|
70
|
-
return
|
|
40
|
+
return __translateL(context);
|
|
71
41
|
});
|
|
72
42
|
Handlebars.registerHelper('__h', (context) => {
|
|
73
|
-
return
|
|
43
|
+
return __translateH(context);
|
|
74
44
|
});
|
|
75
45
|
await super.resolve();
|
|
76
46
|
}
|
|
@@ -86,15 +56,15 @@ let HandlebarsRenderer = class HandlebarsRenderer extends templates_1.TemplateRe
|
|
|
86
56
|
this.Log.trace(`Rendering template ${templateName}`);
|
|
87
57
|
this.Log.timeStart(`HandlebarTemplate${templateName}`);
|
|
88
58
|
if (!templateName) {
|
|
89
|
-
throw new
|
|
59
|
+
throw new InvalidArgument('template parameter cannot be null or empty');
|
|
90
60
|
}
|
|
91
|
-
const fTemplate = this.Templates.get(
|
|
61
|
+
const fTemplate = this.Templates.get(normalize(templateName));
|
|
92
62
|
if (!fTemplate) {
|
|
93
|
-
throw new
|
|
63
|
+
throw new InvalidOperation(`Template ${templateName} is not found ( check if exists & compiled )`);
|
|
94
64
|
}
|
|
95
|
-
const lang = language ? language :
|
|
96
|
-
const tLang = lang
|
|
97
|
-
const content = fTemplate(
|
|
65
|
+
const lang = language ? language : guessLanguage();
|
|
66
|
+
const tLang = lang ?? defaultLanguage();
|
|
67
|
+
const content = fTemplate(_.merge(model ?? {}, {
|
|
98
68
|
lang: tLang,
|
|
99
69
|
}));
|
|
100
70
|
const time = this.Log.timeEnd(`HandlebarTemplate-${templateName}`);
|
|
@@ -104,25 +74,21 @@ let HandlebarsRenderer = class HandlebarsRenderer extends templates_1.TemplateRe
|
|
|
104
74
|
async compile(templateName, path) {
|
|
105
75
|
const tContent = fs.readFileSync(path, 'utf-8');
|
|
106
76
|
if (tContent.length === 0) {
|
|
107
|
-
throw new
|
|
77
|
+
throw new IOFail(`Template file ${path} is empty`);
|
|
108
78
|
}
|
|
109
79
|
const tCompiled = Handlebars.compile(tContent, this.Options);
|
|
110
80
|
if (!tCompiled) {
|
|
111
|
-
throw new
|
|
81
|
+
throw new IOFail(`Cannot compile handlebars template ${templateName} from path ${path}`);
|
|
112
82
|
}
|
|
113
83
|
this.Templates.set(templateName, tCompiled);
|
|
114
84
|
}
|
|
115
85
|
};
|
|
116
86
|
__decorate([
|
|
117
|
-
(
|
|
118
|
-
__metadata("design:type", log_1.Log)
|
|
119
|
-
], HandlebarsRenderer.prototype, "Log", void 0);
|
|
120
|
-
__decorate([
|
|
121
|
-
(0, configuration_1.Config)('templates.handlebars'),
|
|
87
|
+
Config('templates.handlebars'),
|
|
122
88
|
__metadata("design:type", Object)
|
|
123
89
|
], HandlebarsRenderer.prototype, "Options", void 0);
|
|
124
90
|
HandlebarsRenderer = __decorate([
|
|
125
|
-
|
|
91
|
+
Injectable(TemplateRenderer)
|
|
126
92
|
], HandlebarsRenderer);
|
|
127
|
-
|
|
93
|
+
export { HandlebarsRenderer };
|
|
128
94
|
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,58 +1,59 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@spinajs/templates-handlebars",
|
|
3
|
-
"version": "2.0.
|
|
4
|
-
"description": "templates support eg. html file generation",
|
|
5
|
-
"
|
|
6
|
-
"
|
|
7
|
-
"
|
|
8
|
-
|
|
9
|
-
"
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
"
|
|
13
|
-
"
|
|
14
|
-
"
|
|
15
|
-
"
|
|
16
|
-
"
|
|
17
|
-
"
|
|
18
|
-
"
|
|
19
|
-
"
|
|
20
|
-
"
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
"
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
"spinajs"
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
"
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
"@types/
|
|
45
|
-
"@types/
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
"@spinajs/
|
|
51
|
-
"@spinajs/
|
|
52
|
-
"@spinajs/
|
|
53
|
-
"@spinajs/
|
|
54
|
-
"
|
|
55
|
-
"
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
1
|
+
{
|
|
2
|
+
"name": "@spinajs/templates-handlebars",
|
|
3
|
+
"version": "2.0.51",
|
|
4
|
+
"description": "templates support eg. html file generation",
|
|
5
|
+
"exports": "./lib/index.js",
|
|
6
|
+
"type": "module",
|
|
7
|
+
"private": false,
|
|
8
|
+
"engines": {
|
|
9
|
+
"node": ">=16.11"
|
|
10
|
+
},
|
|
11
|
+
"scripts": {
|
|
12
|
+
"build": "npm run clean && npm run compile",
|
|
13
|
+
"compile": "tsc -b tsconfig.json",
|
|
14
|
+
"rimraf": "./node_modules/rimraf/bin.js",
|
|
15
|
+
"clean": "rimraf lib/ && rimraf tsconfig.tsbuildinfo",
|
|
16
|
+
"test": "ts-mocha -p tsconfig.json test/**/*.test.ts",
|
|
17
|
+
"coverage": "nyc npm run test",
|
|
18
|
+
"build-docs": "rimraf docs && typedoc --options typedoc.json src/",
|
|
19
|
+
"format": "prettier --write \"src/**/*.ts\"",
|
|
20
|
+
"lint": "eslint -c .eslintrc.cjs --ext .ts src --fix",
|
|
21
|
+
"preversion": "npm run lint",
|
|
22
|
+
"version": "npm run format && git add -A src"
|
|
23
|
+
|
|
24
|
+
},
|
|
25
|
+
"files": [
|
|
26
|
+
"lib/**/*"
|
|
27
|
+
],
|
|
28
|
+
"types": "lib",
|
|
29
|
+
"repository": {
|
|
30
|
+
"type": "git",
|
|
31
|
+
"url": "git+https://github.com/spinajs/main.git"
|
|
32
|
+
},
|
|
33
|
+
"keywords": [
|
|
34
|
+
"spinajs",
|
|
35
|
+
"http"
|
|
36
|
+
],
|
|
37
|
+
"author": "SpinaJS <spinajs@coderush.pl> (https://github.com/spinajs/main)",
|
|
38
|
+
"license": "MIT",
|
|
39
|
+
"bugs": {
|
|
40
|
+
"url": "https://github.com/spinajs/main/issues"
|
|
41
|
+
},
|
|
42
|
+
"homepage": "https://github.com/spinajs/main#readme",
|
|
43
|
+
"devDependencies": {
|
|
44
|
+
"@types/luxon": "^3.2.0",
|
|
45
|
+
"@types/mocha": "10.0.1",
|
|
46
|
+
"@types/node": "^18.11.18",
|
|
47
|
+
"@types/pug": "^2.0.6"
|
|
48
|
+
},
|
|
49
|
+
"dependencies": {
|
|
50
|
+
"@spinajs/configuration": "^2.0.46",
|
|
51
|
+
"@spinajs/di": "^2.0.46",
|
|
52
|
+
"@spinajs/exceptions": "^2.0.39",
|
|
53
|
+
"@spinajs/intl": "^2.0.46",
|
|
54
|
+
"@spinajs/log": "^2.0.46",
|
|
55
|
+
"handlebars": "^4.7.7",
|
|
56
|
+
"tempfile": "4.0.0"
|
|
57
|
+
},
|
|
58
|
+
"gitHead": "002dc553b0ffffd72193d0121ac425a4083bc9ee"
|
|
59
|
+
}
|