Mimic eval in given context
eval()
functionality to some point.! ...
~ ...
+ ...
- ...
typeof ...
... . ...
(member accessor)... * ...
... / ...
... % ...
... + ...
... - ...
... >= ...
... <= ...
... > ...
... < ...
... instanceof ...
... in ...
... === ...
... !== ...
... == ...
... != ...
... && ...
... || ...
... ? ... : ...
undefined
null
NaN
Infinity
foo(1, bar(item.a, item.b))
)Date
Math
Number
String
Array
Object
new
(I don’t know if it’s good idea?)It’s UMD package, so you can use it both: client-side (browser) and server-side (node.js).
Probably you want to just intall it with npm
:
npm install --save meval
And then just require it:
const meval = require('meval');
But if you don’t want to use npm
, you can always simply download eg. minified version right from Releases.
/**
* @param {String} expression Expression to be parsed
* @param {Object} context Context for expression
*/
meval(expression, context)
<< meval('item.a + item.b * 5', { item: { a: 2, b: 3 } })
>> 17
See also the list of contributors
who participated in this project.
This project is licensed under the ISC License - see the LICENSE file for details.