class LuaScriptExecutor extends JSR223ScriptExecutor {

	@Override
	public ScriptTypeEnum scriptType() {
		return ScriptTypeEnum.LUA;
	}

	@Override
	protected String convertScript(String script) {<FILL_FUNCTION_BODY>}

}

		String[] lineArray = script.split("\\n");
		List<String> noBlankLineList = Arrays.stream(lineArray)
			.filter(s -> !StrUtil.isBlank(s))
			.collect(Collectors.toList());

		// 用第一行的缩进的空格数作为整个代码的缩进量
		String blankStr = ReUtil.getGroup0("^[ ]*", noBlankLineList.get(0));

		// 重新构建脚本
		StringBuilder scriptSB = new StringBuilder();
		noBlankLineList.forEach(s -> scriptSB.append(StrUtil.format("{}\n", s.replaceFirst(blankStr, StrUtil.EMPTY))));
		return scriptSB.toString();
		// return StrUtil.format("function
		// process()\n{}\nend\nprocess()\n",scriptSB.toString());
	
<methods>public non-sealed void <init>() ,public void cleanCache() ,public java.lang.Object compile(java.lang.String) throws javax.script.ScriptException,public java.lang.Object executeScript(com.yomahub.liteflow.script.ScriptExecuteWrap) throws java.lang.Exception,public List<java.lang.String> getNodeIds() ,public com.yomahub.liteflow.script.ScriptExecutor init() ,public void load(java.lang.String, java.lang.String) ,public void unLoad(java.lang.String) <variables>protected final com.yomahub.liteflow.log.LFLog LOG,private final Map<java.lang.String,javax.script.CompiledScript> compiledScriptMap,private javax.script.ScriptEngine scriptEngine