bylexus / fparse

A JavaScript Formula Parser
http://fparser.alexi.ch/
MIT License
89 stars 15 forks source link

Variable names cannot include spaces #52

Open wjeffery95 opened 1 year ago

wjeffery95 commented 1 year ago

It would be useful to be able to have spaces in variable to aid readability.

Example

const squareMyVariable = new Formula('[My Variable]^2');
fObj.evaluate({"My Variable": 3}); // Throws: Uncaught Error: Cannot evaluate MyVariable: No value given

The error is thrown because when the function is cleaned we remove all spaces meaning the variable no longer matches, and would instead have to be MyVariable.

wjeffery95 commented 1 year ago

I'm happy to contribute a solution but don't see anything detailing how you'd like contributions to be submitted. Thanks

bylexus commented 1 year ago

I clean the formula intentionally (removing whitespaces), to make the parsing simpler. But this should not be a big problem to have it changed, I don't see any drawbacks from this feature. If you want to contribute, just create a pull request.