An expression parser like the angular's parser
MIT License
npm install --save exp-parser
##API
import ExpressionParser form 'expression-parser'
let parser = new ExpressionParser({//window
})
parser.parse('2 * 2') // 4
parser.parse('a * b',{ //
a:4,
b:5
}) // 20
parser.parse('fuck(a,b)',{//
fuck(x,y){
return x * y;
},
a:5,
b:6
}) // 30
parser.parse('a * b|fuck:34:cc',{//
a:5,
b:6,
cc:7
},{//
fuck(x,y){
return (input)=>{
return (input - x) / y;
}
}
})
const {BINARY_EXP} = ExpressionParser.expressionTypes;
ExpressionParser.injectExpHandler(BINARY_EXP,(tree)=>{
})
//10^
ExpressionParser.addBinaryOp("^", 10);
//@
ExpressionParser.addUnaryOp('@');
//
ExpressionParser.removeBinaryOp(">>>");
//
ExpressionParser.removeUnaryOp("~");