1 | ;
|
2 |
|
3 | var Path = require('path');
|
4 |
|
5 | function helper(paper) {
|
6 | paper.handlebars.registerHelper('dynamicComponent', function (path) {
|
7 | if (!this['partial']) {
|
8 | return;
|
9 | }
|
10 |
|
11 | // prevent access to __proto__
|
12 | // or any hidden object properties
|
13 | path = path.replace('__', '');
|
14 |
|
15 | // We don't want a slash as a prefix
|
16 | if (path[0] === '/') {
|
17 | path = path.substr(1);
|
18 | }
|
19 |
|
20 | path = Path.join(path, this['partial']);
|
21 |
|
22 | if (paper.handlebars.partials[path]) {
|
23 |
|
24 | return paper.handlebars.partials[path](this);
|
25 | }
|
26 | });
|
27 | }
|
28 |
|
29 | module.exports = helper;
|