14 lines
568 B
Plaintext
14 lines
568 B
Plaintext
export function wrapHelper(helper, transformOptionsFn) {
|
|
if (typeof helper !== 'function') {
|
|
// This should not happen, but apparently it does in https://github.com/wycats/handlebars.js/issues/1639
|
|
// We try to make the wrapper least-invasive by not wrapping it, if the helper is not a function.
|
|
return helper;
|
|
}
|
|
let wrapper = function(/* dynamic arguments */) {
|
|
const options = arguments[arguments.length - 1];
|
|
arguments[arguments.length - 1] = transformOptionsFn(options);
|
|
return helper.apply(this, arguments);
|
|
};
|
|
return wrapper;
|
|
}
|