silentmatt / expr-eval

Mathematical expression evaluator in JavaScript
http://silentmatt.com/javascript-expression-evaluator/
MIT License
1.18k stars 239 forks source link

Prettyprint option for expr.toString() #231

Open ylieder opened 3 years ago

ylieder commented 3 years ago

As documented, the toString method of an expression surrounds every sub-expression with parentheses. For pretty printing, it would be good to have a pretty option in the toString method, putting only required parentheses.

For example:

const exprString = Parser.parse('3 + ((4 - 5) * 12)').toString(); 
const exprStringPretty = Parser.parse('3 + ((4 - 5) * 12)').toString({pretty: true}); 
// exprString: (3 + ((4 - 5) * 12))
// exprStringPretty: 3 + (4 - 5) * 12
pedroaugusto commented 3 years ago

I would appreciate if is there any solution for this...

thiagonuic commented 3 years ago

That would be great actually :+1: