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) => { export const evaluateExpression = (variables: Variable[]) => (str: string) => {
try { const evaluating = parseVariables(variables, { fieldToParse: 'id' })(
const func = Function(
...variables.map((v) => v.id),
parseVariables(variables, { fieldToParse: 'id' })(
str.includes('return ') ? str : `return ${str}` str.includes('return ') ? str : `return ${str}`
) )
) try {
const func = Function(...variables.map((v) => v.id), evaluating)
const evaluatedResult = func(...variables.map((v) => v.value)) const evaluatedResult = func(...variables.map((v) => v.value))
return isNotDefined(evaluatedResult) ? '' : evaluatedResult return isNotDefined(evaluatedResult) ? '' : evaluatedResult
} catch (err) { } catch (err) {
console.log(err) console.log(`Evaluating: ${evaluating}`, err)
return str return str
} }
} }