mirror of
https://github.com/javascript-obfuscator/javascript-obfuscator
synced 2026-08-09 12:42:29 +00:00
38 lines
1.0 KiB
TypeScript
38 lines
1.0 KiB
TypeScript
/**
|
|
* Evaluates code passed amount time
|
|
*
|
|
* @param {() => string} codeGetterFunction
|
|
* @param {number} runsAmount
|
|
* @param expectedResult
|
|
* @returns {{areSuccessEvaluations: boolean, errorMessage?: string}}
|
|
*/
|
|
export function checkCodeEvaluation (
|
|
codeGetterFunction: () => string,
|
|
runsAmount: number,
|
|
expectedResult?: any
|
|
): {
|
|
areSuccessEvaluations: boolean;
|
|
errorMessage?: string;
|
|
} {
|
|
for (let i = 0; i < runsAmount; i++) {
|
|
try {
|
|
const result = eval(codeGetterFunction());
|
|
|
|
if (expectedResult !== undefined && result !== expectedResult) {
|
|
return {
|
|
areSuccessEvaluations: false,
|
|
errorMessage: `Invalid evaluation result: ${result}. Expected: ${expectedResult}`
|
|
};
|
|
}
|
|
} catch (error) {
|
|
return {
|
|
areSuccessEvaluations: false,
|
|
errorMessage: error.message
|
|
};
|
|
}
|
|
}
|
|
|
|
return {
|
|
areSuccessEvaluations: true
|
|
};
|
|
} |