exp-parser

An expression parser like the angular's parser

MIT License

Downloads
6
Stars
41

Expression Parser(exp-parser)

npm install --save exp-parser

  1. angular1.x
  2. angular
  3. jsepASTjson

##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("~");