91 Commits

Author SHA1 Message Date
Nekomajin42
f83c88237f Revert "Use escape goat"
This reverts commit 51e1b601b64d0bb782590e95c7a74bbb7fb179ff.
2017-06-01 08:35:47 +02:00
Nekomajin42
51e1b601b6 Use escape goat 2017-06-01 08:19:16 +02:00
Nekomajin42
7301b6fcf9 Implement toHTML() to Nodes
toHTML() method to each Node, and update in the docs
2017-05-21 15:47:43 +02:00
jos
27660d8c00 Some more security measures 2017-05-05 21:08:23 +02:00
jos
85ac1a0aa4 Some more security measures 2017-05-05 20:53:20 +02:00
jos
aef6203049 Use safe function arguments internally 2017-05-05 17:25:21 +02:00
jos
73b774a51b Use safe map, forEach, join 2017-05-05 12:32:21 +02:00
jos
19faeac16c Escape function names and properties 2017-04-24 21:36:00 +02:00
jos
c259c936ec Refactored compile into a factory function 2017-04-22 17:12:38 +02:00
jos
a7bd4cd833 Register _compile as separate functions 2017-04-22 16:49:22 +02:00
jos
b9c3b334e1 Refactored customs.js into a regular js file instead of factory 2017-04-22 13:04:29 +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
25db18caec Fixed a security vulnerability 2017-04-03 20:43:52 +02:00
jos
1092489440 Some refactoring 2017-04-03 01:32:15 +02:00
jos
fbe6e62faf Fixed more security vulnerabilities 2017-04-02 19:51:11 +02:00
jos
ebb3c9bd0e Fixed #821, #822: security vulnerabilities in the expression parser 2017-04-02 14:57:21 +02:00
jos
3c3517daa6 More security fixes + unit tests 2017-03-31 13:41:37 +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
1f1f7b72f9 Added semi colons 2017-02-06 20:09:50 +01:00
jos
4a98f6818b Performance optimization 2017-02-06 20:09:03 +01:00
jos
0396d9622d More clear method description 2017-02-05 13:55:49 +01:00
jos
f8370bdaf1 Fixed #790: Expression parser did not pass function arguments of enclosing functions via scope to functions having rawArgs = true 2017-02-05 13:50:06 +01:00
jos
71ae3ea076 Consistent API for both derivative and simplify (dropped transform) 2017-01-20 21:43:40 +01:00
jos
26e1e26555 Fixed #635: Node.toString options where not passed to function arguments 2016-04-03 11:31:08 +02:00
jos
89e1238fed Implemented read-only name-properties for AccessorNode and AssignmentNode, improved the name property of FunctionNode 2016-02-27 11:17:34 +01:00
jos
dc1e800314 Updated docs and history on expression parser nodes 2016-02-26 21:03:04 +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
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
2353c4a61e Renamed folders util to utils 2015-07-18 13:22:38 +02:00
jos
1fdd5b0e7a Changed random naming of parameters to using a counter 2015-07-03 17:16:10 +02:00
Max Bruckner
24cd767fa0 Get rid of exports.functions in 'lib/util/latex.js' 2015-06-14 20:11:18 +02:00
Max Bruckner
a598204fa7 Change template Syntax to ES6 like style
Access properties via ${property} and ${property[index]}
2015-06-07 18:49:58 +02:00
Max Bruckner
b3e8aae10c LaTeX templates for attached toTex properties 2015-06-07 18:47:50 +02:00
Max Bruckner
665df50fc8 FunctionNode: Move latexToFunction to _toTex 2015-06-07 18:47:21 +02:00
Max Bruckner
0402d003dd Move logic for attached toTex to _toTex
This is necessary because otherwise it would overwrite the behavior of a
global callback (passed in `options`).
2015-06-07 18:46:51 +02:00
Max Bruckner
0078cbcb76 Move LaTeX template expansion to FunctionNode 2015-06-07 18:46:20 +02:00
Max Bruckner
40fb34924f Move function to LaTeX logic from util/latex to FunctionNode 2015-06-07 18:46:14 +02:00
Max Bruckner
2b11b14632 Enable attaching toTex callbacks to functions 2015-06-07 18:41:25 +02:00
jos
6c7bf4acf0 Removed boolean, string, and null from the list with argument types, only leaving the directly supported types (which types can be converted to supported types is determined externally). Consistently renamed primitive types lower case (boolean, string, number, null) and non-primitive types uppercase (Complex, BigNumber, Function, Array, ...). 2015-05-20 21:08:26 +02:00
Max Bruckner
5b160767c1 operators.js: Pass parenthesis option directly 2015-05-16 13:31:57 +02:00
Max Bruckner
3f217cefdd toTex: no global configuration. Only pass around one local object 2015-05-16 13:30:25 +02:00
Max Bruckner
c0e1b2d268 toString: no global configuration. Only pass around one local object 2015-05-16 13:29:55 +02:00
Max Bruckner
a347405a98 toString: implement callbacks and local configuration 2015-05-16 13:28:51 +02:00
Max Bruckner
291d620972 Pass local configuration to toTex functions 2015-05-16 13:27:48 +02:00
Max Bruckner
4159064a33 Node.toTex: remove dependency on FunctionNode
This is achieved by overriding parts of Node.toTex in FunctionNode.toTex
2015-05-16 13:21:38 +02:00
Max Bruckner
6235fd6ce1 Make toString a wrapper around _toString
This enables preparating the node tree in `toString` before generating
the actual string output with `_toString` methods
2015-04-30 00:12:54 +02:00
Max Bruckner
8282f424c2 Use the prototype for is<Node> instead of the constructor 2015-04-28 20:13:53 +02:00
Max Bruckner
250707b668 Convert the isNode function into a boolean property. 2015-04-28 09:56:01 +02:00