我正在实现一种使用以javascript函数形式编写的域特定语言(DSL)的服务。我试图通过UI接受规则。规则将是用户在UI中的textarea中输入的字符串。有没有办法验证用户输入文本是否是前端中的有效javascript函数(使用javascript / jquery一些这样的机制)
我目前正在执行下面的后端并捕获异常以查看它是否失败:
ScriptEngine engine = new ScriptEngineManager().getEngineByName("nashorn");
engine.eval(new FileReader("script.js"));
示例规则:
var rules = function(inputMap) {
// boilerplate
var Attribution = Java.type('com.sunapana.type.Attribution');
var attr = new Attribution("Unknown", "Unknown", "Unknown");
// logic
if (inputMap.shareId != null && inputMap.shareId.length > 0) {
attr = new Attribution("Sharing", inputMap.source, inputMap.shareId);
} else (inputMap.refTag != null && inputMap.refTag.length > 0) {
attr = new Attribution("Marketing", inputMap.source, inputMap.refTag);
}
return attr;
};
先谢谢。