forked from ftdebugger/injectify-include
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.js
More file actions
39 lines (31 loc) · 950 Bytes
/
index.js
File metadata and controls
39 lines (31 loc) · 950 Bytes
1
2
3
4
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
32
33
34
35
36
37
38
39
(function () {
//noinspection BadExpressionStatementJS
"use strict";
/**
* @type {Handlebars}
*/
var Handlebars = require("injectify/runtime"),
utils = require('injectify/utils');
/**
* @param {Function} template
* @param {Object} [hash]
* @param {{hash: Object}} options
*
* @returns {Handlebars.SafeString}
*/
var includeHelper = function () {
var args = utils.extractArguments(this, _.toArray(arguments)),
options = args.options,
template = args.module,
hash = args.hash,
parentView = args.parentView;
hash.__parent__ = this;
hash.view = parentView;
if (options.fn) {
hash.content = options.fn(hash);
}
return new Handlebars.SafeString(template(hash));
};
Handlebars.registerHelper("include", includeHelper);
module.exports = includeHelper;
})();