Simplify interpolate() function in demo script

This commit is contained in:
Deniz Akşimşek 2022-02-18 00:30:16 +03:00 committed by GitHub
parent 6a91c29099
commit 3bcaaf408b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -5,29 +5,11 @@ function addScript(url) {
}
function interpolate(str, params) {
var returnStr = "";
try {
var charArray = Array.from(str);
while (charArray.length > 0) {
var current = charArray.shift();
if (current === "$" && charArray[0] === "{") {
var evalStr = "(function(env) { with(env) { return "
charArray.shift();
while (charArray.length > 0 && charArray[0] !== "}") {
evalStr += charArray.shift()
}
charArray.shift();
evalStr += " } })";
// console.log("Evaling", evalStr);
returnStr += eval(evalStr)(params);
} else {
returnStr += current;
}
}
return eval(`env => { with (env) { return \`${str}\` } }`)(params)
} catch (e) {
returnStr = e.message;
return e.message;
}
return returnStr;
}
function initMockRequests() {