diff --git a/src/ProtectedEvaluator.ts b/src/ProtectedEvaluator.ts index b3dc6fd..ef7ed43 100644 --- a/src/ProtectedEvaluator.ts +++ b/src/ProtectedEvaluator.ts @@ -1,4 +1,4 @@ -import {Utils as FormioUtils, DefaultEvaluator} from '@formio/js'; +import { Utils as FormioUtils, DefaultEvaluator } from '@formio/js'; import Interpreter from '@formio/js-interpreter'; const baseEvaluator = FormioUtils.Evaluator.evaluator; @@ -31,8 +31,13 @@ export class Evaluator extends DefaultEvaluator { return baseEvaluate(func, args, ...rest); } - func = `result = (function() { value = ${func}; return value; })()`; - const initFunc = function(interpreter, globalObject) { + if (func.indexOf(' return ') === -1) { + func = `result = (function() { value = ${func}; return value; })()`; + } + else { + func = `result = (function() { ${func} })()`; + } + const initFunc = function (interpreter, globalObject) { Object.keys(args).forEach((variable) => { // Exclude variables which have circular references if (excludedVariables.indexOf(variable) !== -1) { diff --git a/yarn.lock b/yarn.lock index 55aa96e..0732dee 100644 --- a/yarn.lock +++ b/yarn.lock @@ -68,10 +68,10 @@ dependencies: acorn "^8.12.1" -"@formio/js@v5.1.0-dev.6214.89da41f": - version "5.1.0-dev.6214.89da41f" - resolved "https://registry.yarnpkg.com/@formio/js/-/js-5.1.0-dev.6214.89da41f.tgz#13b69fded69203fa81579fc0af8686aa187e8cfc" - integrity sha512-qe+owbEJ+mSF+763t/t3LPg5qYQwD0plvT0CeepR5RKH3WhwrH5WV/l9QjsgtW2BdwzgUfi9ozwefPCag8Vjeg== +"@formio/js@v5.1.0-dev.6214.fdfb58b": + version "5.1.0-dev.6214.fdfb58b" + resolved "https://registry.yarnpkg.com/@formio/js/-/js-5.1.0-dev.6214.fdfb58b.tgz#2744c2c9bcb131becedcb0f6d17bbfa2ae7e5b2c" + integrity sha512-cGxSfStbH8VPYO59cQgZoMrCuar66xe9NUKC8bp/pQ3tAnKx0fO3c2kfAsK5RIZpDNtHgWlZsyvZHf74ArgHxw== dependencies: "@formio/bootstrap" v3.0.0-dev.121.085d187 "@formio/core" "2.5.1-rc.6"