128 Commits

Author SHA1 Message Date
jos
601f1942c2 Replace ES6 functionality with ES5 2017-08-06 11:54:59 +02:00
jos
9666c16378 Fixed #846: Issues in the functions map, forEach, and filter when used in the expression parser 2017-07-29 14:05:27 +02:00
jos
469e6bf3cf Fixed #895: added support for the dollar character $ in symbol names 2017-07-10 20:29:30 +02:00
jos
ed5f2cebaf Security fixes in isSafeMethod and some others 2017-05-27 19:51:12 +02:00
jos
64498eddd6 Fixed #861: physical constants not available in the expression parser 2017-05-25 16:13:42 +02:00
jos
f61bb6cf94 Fixed #856: function subset not returning non-primitive scalars from Arrays correctly 2017-05-16 21:41:03 +02:00
jos
5991c24620 Fixed broken unit tests 2017-05-12 13:36:03 +02:00
jos
29d632f1d9 Fixed creating units with an alias not working within the expression parser 2017-05-12 13:28:13 +02:00
jos
8e8e02bec9 Don't clone config itself, only it's childs 2017-04-22 20:14:52 +02:00
jos
ee6efa3768 Only allow accessing/assigning properties on plain objects. Only allow calling known methods. 2017-04-08 15:32:10 +02:00
jos
37613aca0c Moved security related tests into a separate file 2017-04-02 13:18:55 +02:00
jos
3c3517daa6 More security fixes + unit tests 2017-03-31 13:41:37 +02:00
jos
43c4fe9c46 Added a few more unit tests 2017-03-31 10:51:11 +02:00
jos
b7a065b538 Removed a redundant console.log in the tests 2017-03-31 10:47:04 +02:00
jos
2f45600905 Fixed a security vulnerability in the expression parser allowing execution of arbitrary JavaScript 2017-03-31 10:18:14 +02:00
jos
bd52740e61 Fixed #795: Parse error in case of a multi-line expression with just comments 2017-02-15 22:05:38 +01:00
jos
572ec25665 Added another unit test (see #762) 2016-12-20 19:47:53 +01:00
jos
a5df5e4c47 Fixed #762: expression parser failing to invoke a function returned by a function 2016-12-10 11:41:38 +01:00
jos
7152142661 Fixed #732: Allow letter-like unicode characters like Ohm \u2126 2016-11-18 19:19:17 +01:00
jos
064eb31381 Fixed #715: Parser now exposes test functions like isAlpha which can be replaced in order to adjust the allowed characters in variables names 2016-10-21 16:33:38 +02:00
jos
80c55add2a Parser not throwing an error for invalid implicit multiplications like -2 2 and 2^3 4 2016-10-21 15:23:20 +02:00
jos
7742b36c5c Some more fixes regarding numbers ending with a decimal mark (like 2.). See #711. 2016-09-20 21:35:19 +02:00
jos
9199ae58ae Fixed #711: parser accepts numbers ending with a decimal mark again like 2.. 2016-09-20 21:02:28 +02:00
jos
92918ed9b2 Fixed #707: The expression parser no longer accepts numbers ending with a dot like 2. 2016-09-07 21:10:20 +02:00
jos
23d1786cb2 Comments of expressions are are now stored in the parsed nodes, see #690 2016-08-23 21:12:39 +02:00
jos
cb4a1a98cb Fixed #641: Bug in expression parser parsing implicit multiplication with wrong precedence in specific cases 2016-04-16 09:43:24 +02:00
jos
5b682d6040 Fixed #625: Unit in (inch) not always working due to ambiguity with
the operator `a in b` (alias of `a to b`)
2016-04-03 14:06:43 +02:00
jos
8b39e1b336 Fixed #629: expression parser throws an error when passing a number with decimal exponent instead of parsing them as implicit multiplication 2016-04-03 12:46:58 +02:00
jos
924a8e480f Fixed #632: problem with escaped backslashes at the end of strings 2016-04-03 11:17:06 +02:00
jos
77736f554b Fixed #621: a bug in parsing implicit multiplications like (2)(3)+4 2016-03-22 20:23:07 +01:00
jos
d9e7ced69c Merge remote-tracking branch 'origin/develop' into develop 2016-03-19 20:22:38 +01:00
jos
c8d41fc5b4 Restored support for implicit multiplications like (2+3)(4+5) 2016-03-19 20:16:54 +01:00
Max Bruckner
65817dbf03 OperatorNode: toString support for implicit multiplication
Use the option `implicit` with the value `hide` to not show the
multiplication sign for implicit multiplication. This is the default.
Use `show` otherwise.
2016-03-19 18:48:54 +01:00
Max Bruckner
6f39ec5da9 OperatorNode: new 'implicit' attribute to mark implicit multiplication
This also modifies the parser to set this attribute
2016-03-19 14:25:58 +01:00
jos
1089cd4d2a Fixed #597: restored support for implicit multiplication like 2(3+4) 2016-03-12 13:30:47 +01:00
jos
15aca5e4d0 Changed casing of the values of config options number and matrix to match the actual name of the classes. 2016-03-04 19:41:54 +01:00
jos
1dd3a0e492 Expression parser now allows assignments inside objects, indexes, and function arguments 2016-03-03 19:25:42 +01:00
jos
a60a70e6b9 Store dot notation in IndexNode 2016-02-27 11:36:47 +01:00
jos
4d1cd06285 Implemented new AssignmentNode and everything around it. Changed matrices not to clone elements when getting/setting a subset 2016-02-26 15:30:17 +01:00
jos
9173fbd3b8 Large refactoring of nodes: AssignmentNode. UpdateNode, AccessorNode, IndexNode 2016-02-25 15:02:44 +01:00
jos
fad5d8cc07 Merged parseFunctions and parseIndex into parseAccessors. Restricted support for implicit multiplication, execute as accessors instead 2016-01-09 21:11:29 +01:00
jos
1a1461cf89 Assignments in the expression parser now return the assigned value rather than the created or updated object (see #533) 2016-01-08 21:47:09 +01:00
jos
04d933a474 Added some (skipped) tests 2016-01-05 20:42:35 +01:00
jos
5ee4b81c62 Implemented dot notation for object properties 2016-01-03 14:56:29 +01:00
jos
8d3d58e724 Implemented ObjectNode and object support in the expression parser 2016-01-02 23:00:14 +01:00
jos
050573f4f3 Some refactoring 2016-01-02 20:46:12 +01:00
jos
2adf01e548 Getting/setting object properties working (still needs a refactoring step) 2016-01-02 15:16:12 +01:00
jos
2ef1a96094 Fixed broken unit test 2015-12-05 11:57:28 +01:00
jos
9ffab397b6 Fixed #485: Scoping issue with variables both used globally as well as in a function definition 2015-11-28 21:20:25 +01:00
jos
d9f237d29b Added support in the expression parser for mathematical alphanumeric symbols (see #265) 2015-09-25 20:47:38 +02:00