added sanity check
This commit is contained in:
@@ -0,0 +1,17 @@
|
||||
export function sanityConvert(code: string, maxLoops: number = 2000) {
|
||||
var beforeConidition = "var conditionCount = " + maxLoops + "; \n";
|
||||
var insideCondition = "\n --conditionCount; \n if (conditionCount <= 0) { break; } \n";
|
||||
|
||||
const regex = /(while|for|foreach)(\s*\([^)]*\)\s*)({[^}]*}|[^{;]*;?)/gs;
|
||||
const output = code.replace(regex, (match, p1, p2, p3) => {
|
||||
let statement = p3.trim();
|
||||
if (statement.startsWith('{') && statement.endsWith('}')) {
|
||||
statement = statement.replace('{', '{' + insideCondition);
|
||||
} else {
|
||||
statement = statement.endsWith(';') ? statement.slice(0, -1) : statement;
|
||||
statement = `{${insideCondition}${statement};}`;
|
||||
}
|
||||
return `${beforeConidition}${p1}${p2}${statement}`;
|
||||
});
|
||||
return output;
|
||||
}
|
||||
Reference in New Issue
Block a user