simple-eval
Simple JavaScript expression evaluator.
Install
yarn add simple-eval
or if npm is package manager of your choice
npm install simple-eval --save
Usage
import simpleEval from 'simple-eval';
simpleEval('2 + 4 * 10 + -4');
simpleEval('Math.floor(Math.PI * 10)');
simpleEval('Math.floor(Math.PI * 10)', { Math });
simpleEval('foo.bar.baz ? 10 : Math.random()', {
Math,
foo: {
bar: {
baz: false,
}
}
});
By default, simple-eval
uses jsep
,
but you're free to use any ESTree compliant parser such as acorn
, @babel/parser
, or esprima
.
Caveats
Although a number of use cases is supported, do note that this library does not aim to be a drop-in replacement for eval
.
By supporting a limited set of instructions, it's arguably safer than eval
, albeit it's still not supposed to be used instead of proper sandbox.
In particular, all kind of declarations and assignments are prohibited.
LICENSE
MIT