327 Commits

Author SHA1 Message Date
Harry Sarson
2b56dea4a5
change error checking regexp to allow firefox's exception
Fix tests when running in firefox browser.
2018-05-02 18:07:03 +01:00
jos
7fefa33d84 Fixed #1077: Serialization/deserialization to JSON with reviver not being supported by nodes 2018-04-04 22:09:43 +02:00
jos
bf3f62b564 Upgraded to typed-function@1.0.0 2018-02-20 20:59:05 +01:00
jos
99ab11b234 Dropped constant uninitialized 2018-02-04 13:09:09 +01:00
Jos de Jong
e631771df0
Merge branch 'v4' into v4_fn_implicit_multiplication 2018-02-04 11:58:15 +01:00
Jos de Jong
cdda817d9f
Merge pull request #1036 from ericman314/implicit-multiplication
Implicit multiplication
2018-02-04 11:55:15 +01:00
jos
11b4c03460 Remove support for calling a function returned by a function, parse as implicit multiplication instead. See #1035 2018-02-03 21:52:18 +01:00
Eric Mansfield
090f4c920f Added 'number/number (', and tests 2018-02-03 09:44:30 -07:00
Eric Mansfield
17a4e33ae2 Added tests 2018-02-02 21:14:33 -07:00
jos
a11dfa9bcc Merge branch 'v4' into v4_binary_operator_node 2018-01-31 14:23:34 +01:00
jos
8f25ee7df0 Updated unit test in ConstantNode 2018-01-31 11:32:00 +01:00
jos
ece963bcdd Merge branch 'develop' into v4
# Conflicts:
#	lib/expression/node/ConstantNode.js
2018-01-31 11:28:14 +01:00
jos
82b41e696a - Implemented OperatorNode.isUnary and OperatorNode.isBinary.
- Explicit checks for number of arguments everywhere working with `OperatorNode` and `FunctionNode`.
- Fixed #1014: derivative silently ignoring additional arguments.
2018-01-31 11:00:39 +01:00
Max Bruckner
9126130794 toTex: Escape special characters in strings 2018-01-31 02:54:24 +01:00
jos
0b6c0c13f7 Merge branch 'v4' into v4_constant_node
# Conflicts:
#	HISTORY.md
2018-01-27 16:58:17 +01:00
jos
5efbb25da8 Merge branch 'develop' into v4
# Conflicts:
#	HISTORY.md
2018-01-27 16:57:24 +01:00
Harry Sarson
332ecf3d5d
adds failing test when implicit product is mapped 2018-01-27 14:21:36 +00:00
jos
4fcc9d231a Added a few more unit tests for ConstantNode 2018-01-25 20:29:43 +01:00
Max Bruckner
4a7e956242 ConstantNode: Add Fraction specific latex output. 2018-01-25 20:14:06 +01:00
jos
087f53d854 Merge branch 'v4' into v4_constant_node
# Conflicts:
#	HISTORY.md
2018-01-23 20:27:16 +01:00
jos
326c9fb0de Fixed #680: compare strings by their numerical value instead of alphabetical order 2018-01-23 15:34:49 +01:00
jos
3f3d50f7a0 Fixed #833: the constants true, false, null, undefined, NaN, Infinity, and uninitialized are now parsed as ConstantNodes instead of SymbolNodes in the expression parser 2018-01-23 13:55:57 +01:00
jos
924299c42b Changed ConstantNode(valueStr, valueType) to ConstantNode(value) (breaking change) 2018-01-23 12:08:29 +01:00
jos
8b5396baad Removed the old expression compiler (which uses eval) 2018-01-23 09:19:11 +01:00
jos
1192bb6bbc Implemented compile without eval (see #1019) 2018-01-21 18:13:27 +01:00
jos
a60f3c8d9d Fixed a security issue where forbidden properties like constructor could be replaced by using unicode characters when creating an object 2017-11-18 20:11:48 +01:00
jos
8d2d48d81b Fixed a security issue in typed-function allowing arbitrary code execution 2017-11-18 19:39:30 +01:00
Max Bruckner
b2857392bd OperatorNode: Fix implicit multiplication
Fixes implicit multiplication when parenthesis is 'auto' and operands
are ConstantNodes.

This is handled by detecting that case and printing parentheses for
ParenthesisNodes even though they normally wouldn't with parenthesis
set to 'auto'.
2017-08-13 20:57:41 +02:00
jos
967e65cceb Refactored usage of properties .isNode, .isSymbolNode, etc. into using functions like type.isNode(x) for security 2017-08-12 14:38:03 +02:00
jos
12918725f1 Merge branch 'develop' into moreStrictTypeChecks 2017-08-12 11:15:11 +02:00
jos
a18f2068f3 Fixed toString of a parsed expression tree containing an immediately invoked function assignment not being wrapped in parenthesis 2017-08-12 11:03:19 +02:00
jos
5092e982f9 Merge branch 'develop' into moreStrictTypeChecks 2017-08-06 14:13:11 +02:00
jos
601f1942c2 Replace ES6 functionality with ES5 2017-08-06 11:54:59 +02:00
jos
3e9f0d24f8 Implemented more strict type checks in typed-functions 2017-08-04 11:15:46 +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
Thomas Brierley
e1749d2a0e Revert expression security test to original error 2017-07-14 13:10:18 +01:00
Thomas Brierley
fe0b993e72 Fix security test, fails on length first 2017-07-12 16:33:31 +01:00
jos
469e6bf3cf Fixed #895: added support for the dollar character $ in symbol names 2017-07-10 20:29:30 +02:00
Jos de Jong
69f3e882d7 Merge pull request #888 from ThomasBrierley/prototyped-scopes
Prototyped Scopes
2017-07-05 22:01:29 +02:00
jos
485cb88866 Use getSafeProperty in help 2017-06-30 14:27:28 +02:00
Thomas Brierley
badc6efc1a Update tests for isSafe changes
+ Fix "calling Function via Object.assign" test. Now fails on accesing
"bind" first because new implementation is a bit more restrictive.

+ Fix "extend the class instance". Custom methods on instances are now
allowed and ghosting (overridding) is explicitly not.

+ Add ghosting tests for class instances and plain objects.
2017-06-29 15:53:49 +01:00
jos
4e1142a126 Released v3.13.3 2017-05-27 20:56:16 +02:00
jos
ed5f2cebaf Security fixes in isSafeMethod and some others 2017-05-27 19:51:12 +02:00
jos
e80ab2d36c Fixed unit tests 2017-05-26 17:14:08 +02:00
jos
627bb2a79d Disabled function chain 2017-05-26 17:11:52 +02:00
jos
959b010242 Simplified isSafeMethod 2017-05-26 16:43:03 +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
04ceed6c75 Merge branch 'security' into develop 2017-05-12 20:47:54 +02:00
jos
5991c24620 Fixed broken unit tests 2017-05-12 13:36:03 +02:00