Fotis Paraskevopoulos efc6c9f6da Initial release
Change-Id: I04faafd3e3a508d9359138f07e3a10fa2d84689f
2024-04-26 07:53:39 +00:00

32 lines
671 B
JavaScript

const math = require('mathjs');
module.exports = {
extractFromEquation: (equation)=>{
equation = equation || '';
return math.parse(equation);
},
extractVariableNames: (mathNode) => {
let variableNames = new Set();
function traverse(node) {
if (node.type === 'SymbolNode') {
variableNames.add(node.name);
}
for (const key in node.args) {
traverse(node.args[key]);
}
if (node.content) {
traverse(node.content);
}
}
traverse(mathNode);
return Array.from(variableNames);
}
}