diff --git a/lib/preprocess.js b/lib/preprocess.js index e401d29..131c7b6 100644 --- a/lib/preprocess.js +++ b/lib/preprocess.js @@ -182,8 +182,9 @@ function preprocessor(src, context, opts, noRestoreEol) { // if we are surrounded by quotes, echo as a string var stringMatch = variable.match(/^(['"])(.*)\1$/); if (stringMatch) return stringMatch[2]; - - return getDeepPropFromObj(context, (variable || '').trim()); + var value = getDeepPropFromObj(context, (variable || '').trim()); + if (typeof value === "object") return JSON.stringify(value); + return value; }); rv = replace(rv, opts.type.exec, function (match, name, value) { @@ -275,7 +276,7 @@ function replace(rv, rule, processor) { } return rule.reduce(function(rv, rule){ - return rv.replace(rule, processor); + return rv.replace(rule, processor ); }, rv); } @@ -405,5 +406,6 @@ function getDeepPropFromObj(obj, propPath) { return (obj == null); }); + return obj; -} +} \ No newline at end of file