Node math processing and execution VM
npm i mathvm
const mathvm = require('mathvm')
mathvm.exec('1 + 5')
// => 6
mathvm.exec('7 + x ^ 2', {
'vars': {
'x': 2
}
})
// => 11
mathvm.exec('asin(cos(pi))')
// => -Pi/2
mathvm.exec('5 * add(x, 3)', {
'functions': {
'add': (a, b) => a + b
},
'vars': {
'x': 2
}
})
// => 25
mathvm.exec('sin(pi / 2)')
// => 1
mathvm.exec('sin(pi / 2)', {}, [])
// Errors, function sin does not exist
mathvm.exec('sin(pi / 2)', {}, ['trig'])
// => 1