mirror of
https://github.com/lucaspalomodevelop/JSSTE.git
synced 2026-03-13 07:19:37 +00:00
54 lines
998 B
JavaScript
54 lines
998 B
JavaScript
/**
|
|
* that functions defines functions to use it in JSSTE JS var (js$varname)
|
|
*/
|
|
function Added() {
|
|
let outString = "";
|
|
|
|
//[jsste_info]
|
|
|
|
function jsste_info()
|
|
{
|
|
let jssteinfo = jsste_input_file
|
|
result = `\tINFOS\n\t${Object.keys(jssteinfo).map((key) => key + " : " + jssteinfo[key] ).join("\n\t") }`
|
|
|
|
return result;
|
|
}
|
|
|
|
function out(arg) {
|
|
outString += arg;
|
|
}
|
|
|
|
function outLine(arg) {
|
|
outString += "\n" + arg;
|
|
}
|
|
}
|
|
|
|
/**
|
|
* exectue JSSTE JS var (js$varname)
|
|
* @param {*} script
|
|
* @returns
|
|
*/
|
|
function exec(script) {
|
|
let result = undefined;
|
|
|
|
script = "".concat(
|
|
Added.toString().replace(/^function\s*\S+\s*\([^)]*\)\s*\{|\}$/g, ""),
|
|
script
|
|
);
|
|
|
|
script = script.replace("//[jsste_info]",`let jsste_input_file = ${JSON.stringify(require("./index").info)}`),
|
|
|
|
script += "\n return outString;";
|
|
|
|
try {
|
|
let F = new Function(script);
|
|
|
|
result = F();
|
|
} catch (error) {
|
|
result = error;
|
|
}
|
|
return result;
|
|
}
|
|
|
|
module.exports = exec;
|