2
0

feat(engine): 🚧 Help to debug evaluated expressions

This commit is contained in:
Baptiste Arnaud
2022-04-20 11:33:44 -07:00
parent bdd7a1712e
commit e1d7533384

View File

@ -26,17 +26,15 @@ export const parseVariables =
}
export const evaluateExpression = (variables: Variable[]) => (str: string) => {
const evaluating = parseVariables(variables, { fieldToParse: 'id' })(
str.includes('return ') ? str : `return ${str}`
)
try {
const func = Function(
...variables.map((v) => v.id),
parseVariables(variables, { fieldToParse: 'id' })(
str.includes('return ') ? str : `return ${str}`
)
)
const func = Function(...variables.map((v) => v.id), evaluating)
const evaluatedResult = func(...variables.map((v) => v.value))
return isNotDefined(evaluatedResult) ? '' : evaluatedResult
} catch (err) {
console.log(err)
console.log(`Evaluating: ${evaluating}`, err)
return str
}
}