mathjs 12.4.1 → 12.4.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/HISTORY.md +17 -0
  2. package/README.md +4 -0
  3. package/bin/cli.js +1 -1
  4. package/lib/browser/math.js +1 -1
  5. package/lib/browser/math.js.LICENSE.txt +2 -2
  6. package/lib/browser/math.js.map +1 -1
  7. package/lib/cjs/core/create.js +3 -3
  8. package/lib/cjs/core/function/config.js +1 -11
  9. package/lib/cjs/core/function/import.js +3 -4
  10. package/lib/cjs/defaultInstance.js +1 -1
  11. package/lib/cjs/entry/allFactoriesAny.js +1 -1
  12. package/lib/cjs/entry/allFactoriesNumber.js +1 -1
  13. package/lib/cjs/expression/node/AccessorNode.js +2 -3
  14. package/lib/cjs/expression/node/ArrayNode.js +2 -3
  15. package/lib/cjs/expression/node/AssignmentNode.js +2 -3
  16. package/lib/cjs/expression/node/BlockNode.js +2 -3
  17. package/lib/cjs/expression/node/ConditionalNode.js +2 -3
  18. package/lib/cjs/expression/node/ConstantNode.js +2 -3
  19. package/lib/cjs/expression/node/FunctionAssignmentNode.js +2 -3
  20. package/lib/cjs/expression/node/FunctionNode.js +5 -6
  21. package/lib/cjs/expression/node/IndexNode.js +2 -3
  22. package/lib/cjs/expression/node/Node.js +1 -2
  23. package/lib/cjs/expression/node/ObjectNode.js +2 -3
  24. package/lib/cjs/expression/node/OperatorNode.js +2 -3
  25. package/lib/cjs/expression/node/ParenthesisNode.js +2 -3
  26. package/lib/cjs/expression/node/RangeNode.js +2 -3
  27. package/lib/cjs/expression/node/RelationalNode.js +2 -3
  28. package/lib/cjs/expression/node/SymbolNode.js +2 -3
  29. package/lib/cjs/expression/parse.js +7 -7
  30. package/lib/cjs/function/algebra/derivative.js +1 -1
  31. package/lib/cjs/function/algebra/rationalize.js +2 -2
  32. package/lib/cjs/function/algebra/simplifyConstant.js +1 -1
  33. package/lib/cjs/function/statistics/mad.js +1 -1
  34. package/lib/cjs/function/statistics/std.js +1 -1
  35. package/lib/cjs/function/statistics/utils/improveErrorMessage.js +2 -2
  36. package/lib/cjs/function/utils/isNaN.js +5 -3
  37. package/lib/cjs/header.js +2 -2
  38. package/lib/cjs/type/unit/Unit.js +3 -2
  39. package/lib/cjs/utils/array.js +0 -11
  40. package/lib/cjs/utils/bignumber/formatter.js +1 -1
  41. package/lib/cjs/utils/factory.js +1 -2
  42. package/lib/cjs/utils/map.js +2 -4
  43. package/lib/cjs/utils/object.js +1 -7
  44. package/lib/cjs/utils/snapshot.js +5 -5
  45. package/lib/cjs/version.js +1 -1
  46. package/lib/esm/core/create.js +3 -3
  47. package/lib/esm/core/function/config.js +1 -11
  48. package/lib/esm/core/function/import.js +3 -4
  49. package/lib/esm/expression/node/FunctionNode.js +3 -3
  50. package/lib/esm/expression/parse.js +7 -7
  51. package/lib/esm/function/algebra/derivative.js +1 -1
  52. package/lib/esm/function/algebra/rationalize.js +2 -2
  53. package/lib/esm/function/algebra/simplifyConstant.js +1 -1
  54. package/lib/esm/function/statistics/mad.js +1 -1
  55. package/lib/esm/function/statistics/std.js +1 -1
  56. package/lib/esm/function/statistics/utils/improveErrorMessage.js +2 -2
  57. package/lib/esm/function/utils/isNaN.js +1 -3
  58. package/lib/esm/type/unit/Unit.js +3 -2
  59. package/lib/esm/utils/array.js +0 -10
  60. package/lib/esm/utils/bignumber/formatter.js +1 -1
  61. package/lib/esm/utils/factory.js +1 -2
  62. package/lib/esm/utils/object.js +1 -4
  63. package/lib/esm/utils/snapshot.js +4 -4
  64. package/lib/esm/version.js +1 -1
  65. package/package.json +15 -15
  66. package/types/EXPLANATION.md +13 -1
  67. package/types/index.d.ts +18 -1
@@ -19,7 +19,7 @@ var _DimensionError = require("../error/DimensionError.js");
19
19
  var _IndexError = require("../error/IndexError.js");
20
20
  var _config2 = require("./config.js");
21
21
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
22
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
22
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
23
23
  /**
24
24
  * Create a mathjs instance from given factory functions and optionally config
25
25
  *
@@ -179,7 +179,7 @@ function create(factories, config) {
179
179
  // listen for changes in config, import all functions again when changed
180
180
  // TODO: move this listener into the import function?
181
181
  math.on('config', function () {
182
- (0, _object.values)(importedFactories).forEach(function (factory) {
182
+ Object.values(importedFactories).forEach(function (factory) {
183
183
  if (factory && factory.meta && factory.meta.recreateOnConfigChange) {
184
184
  // FIXME: only re-create when the current instance is the same as was initially created
185
185
  // FIXME: delete the functions/constants before importing them again?
@@ -199,7 +199,7 @@ function create(factories, config) {
199
199
 
200
200
  // import the factory functions like createAdd as an array instead of object,
201
201
  // else they will get a different naming (`createAdd` instead of `add`).
202
- math["import"]((0, _object.values)((0, _object.deepFlatten)(factories)));
202
+ math["import"](Object.values((0, _object.deepFlatten)(factories)));
203
203
  math.ArgumentsError = _ArgumentsError.ArgumentsError;
204
204
  math.DimensionError = _DimensionError.DimensionError;
205
205
  math.IndexError = _IndexError.IndexError;
@@ -91,16 +91,6 @@ function configFactory(config, emit) {
91
91
  return _config;
92
92
  }
93
93
 
94
- /**
95
- * Test whether an Array contains a specific item.
96
- * @param {Array.<string>} array
97
- * @param {string} item
98
- * @return {boolean}
99
- */
100
- function contains(array, item) {
101
- return array.indexOf(item) !== -1;
102
- }
103
-
104
94
  /**
105
95
  * Validate an option
106
96
  * @param {Object} options Object with options
@@ -108,7 +98,7 @@ function contains(array, item) {
108
98
  * @param {Array.<string>} values Array with valid values for this option
109
99
  */
110
100
  function validateOption(options, name, values) {
111
- if (options[name] !== undefined && !contains(values, options[name])) {
101
+ if (options[name] !== undefined && !values.includes(options[name])) {
112
102
  // unknown value
113
103
  console.warn('Warning: Unknown value "' + options[name] + '" for configuration option "' + name + '". ' + 'Available options: ' + values.map(function (value) {
114
104
  return JSON.stringify(value);
@@ -10,7 +10,6 @@ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
10
10
  var _is = require("../../utils/is.js");
11
11
  var _factory = require("../../utils/factory.js");
12
12
  var _object = require("../../utils/object.js");
13
- var _array = require("../../utils/array.js");
14
13
  var _ArgumentsError = require("../../error/ArgumentsError.js");
15
14
  function importFactory(typed, load, math, importedFactories) {
16
15
  /**
@@ -225,7 +224,7 @@ function importFactory(typed, load, math, importedFactories) {
225
224
  */
226
225
  function _importFactory(factory, options) {
227
226
  var name = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : factory.fn;
228
- if ((0, _array.contains)(name, '.')) {
227
+ if (name.includes('.')) {
229
228
  throw new Error('Factory name should not contain a nested path. ' + 'Name: ' + JSON.stringify(name));
230
229
  }
231
230
  var namespace = isTransformFunctionFactory(factory) ? math.expression.transform : math;
@@ -235,7 +234,7 @@ function importFactory(typed, load, math, importedFactories) {
235
234
  // collect all dependencies, handle finding both functions and classes and other special cases
236
235
  var dependencies = {};
237
236
  factory.dependencies.map(_factory.stripOptionalNotation).forEach(function (dependency) {
238
- if ((0, _array.contains)(dependency, '.')) {
237
+ if (dependency.includes('.')) {
239
238
  throw new Error('Factory dependency should not contain a nested path. ' + 'Name: ' + JSON.stringify(dependency));
240
239
  }
241
240
  if (dependency === 'math') {
@@ -318,7 +317,7 @@ function importFactory(typed, load, math, importedFactories) {
318
317
  return !(0, _object.hasOwnProperty)(unsafe, name);
319
318
  }
320
319
  function factoryAllowedInExpressions(factory) {
321
- return factory.fn.indexOf('.') === -1 &&
320
+ return !factory.fn.includes('.') &&
322
321
  // FIXME: make checking on path redundant, check on meta data instead
323
322
  !(0, _object.hasOwnProperty)(unsafe, factory.fn) && (!factory.meta || !factory.meta.isClass);
324
323
  }
@@ -8,5 +8,5 @@ exports["default"] = void 0;
8
8
  var all = _interopRequireWildcard(require("./factoriesAny.js"));
9
9
  var _create = require("./core/create.js");
10
10
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
11
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
11
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
12
12
  var _default = exports["default"] = (0, _create.create)(all);
@@ -7,7 +7,7 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.all = void 0;
8
8
  var allFactories = _interopRequireWildcard(require("../factoriesAny.js"));
9
9
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
10
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
10
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
11
11
  // creating all factories here in a separate file is needed to get tree-shaking working
12
12
 
13
13
  var all = exports.all = allFactories;
@@ -7,7 +7,7 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.all = void 0;
8
8
  var allFactories = _interopRequireWildcard(require("../factoriesNumber.js"));
9
9
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
10
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
10
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
11
11
  // creating all factories here in a separate file is needed to get tree-shaking working
12
12
 
13
13
  var all = exports.all = allFactories;
@@ -35,7 +35,6 @@ var createAccessorNode = exports.createAccessorNode = /* #__PURE__ */(0, _factor
35
35
  return !((0, _is.isAccessorNode)(node) || (0, _is.isArrayNode)(node) || (0, _is.isConstantNode)(node) || (0, _is.isFunctionNode)(node) || (0, _is.isObjectNode)(node) || (0, _is.isParenthesisNode)(node) || (0, _is.isSymbolNode)(node));
36
36
  }
37
37
  var AccessorNode = /*#__PURE__*/function (_Node) {
38
- (0, _inherits2["default"])(AccessorNode, _Node);
39
38
  /**
40
39
  * @constructor AccessorNode
41
40
  * @extends {Node}
@@ -61,7 +60,8 @@ var createAccessorNode = exports.createAccessorNode = /* #__PURE__ */(0, _factor
61
60
  }
62
61
 
63
62
  // readonly property name
64
- (0, _createClass2["default"])(AccessorNode, [{
63
+ (0, _inherits2["default"])(AccessorNode, _Node);
64
+ return (0, _createClass2["default"])(AccessorNode, [{
65
65
  key: "name",
66
66
  get: function get() {
67
67
  if (this.index) {
@@ -221,7 +221,6 @@ var createAccessorNode = exports.createAccessorNode = /* #__PURE__ */(0, _factor
221
221
  return new AccessorNode(json.object, json.index);
222
222
  }
223
223
  }]);
224
- return AccessorNode;
225
224
  }(Node);
226
225
  (0, _defineProperty2["default"])(AccessorNode, "name", name);
227
226
  return AccessorNode;
@@ -21,7 +21,6 @@ var dependencies = ['Node'];
21
21
  var createArrayNode = exports.createArrayNode = /* #__PURE__ */(0, _factory.factory)(name, dependencies, function (_ref) {
22
22
  var Node = _ref.Node;
23
23
  var ArrayNode = /*#__PURE__*/function (_Node) {
24
- (0, _inherits2["default"])(ArrayNode, _Node);
25
24
  /**
26
25
  * @constructor ArrayNode
27
26
  * @extends {Node}
@@ -40,7 +39,8 @@ var createArrayNode = exports.createArrayNode = /* #__PURE__ */(0, _factory.fact
40
39
  }
41
40
  return _this;
42
41
  }
43
- (0, _createClass2["default"])(ArrayNode, [{
42
+ (0, _inherits2["default"])(ArrayNode, _Node);
43
+ return (0, _createClass2["default"])(ArrayNode, [{
44
44
  key: "type",
45
45
  get: function get() {
46
46
  return name;
@@ -206,7 +206,6 @@ var createArrayNode = exports.createArrayNode = /* #__PURE__ */(0, _factory.fact
206
206
  return new ArrayNode(json.items);
207
207
  }
208
208
  }]);
209
- return ArrayNode;
210
209
  }(Node);
211
210
  (0, _defineProperty2["default"])(ArrayNode, "name", name);
212
211
  return ArrayNode;
@@ -51,7 +51,6 @@ var createAssignmentNode = exports.createAssignmentNode = /* #__PURE__ */(0, _fa
51
51
  return parenthesis === 'all' || exprPrecedence !== null && exprPrecedence <= precedence;
52
52
  }
53
53
  var AssignmentNode = /*#__PURE__*/function (_Node) {
54
- (0, _inherits2["default"])(AssignmentNode, _Node);
55
54
  /**
56
55
  * @constructor AssignmentNode
57
56
  * @extends {Node}
@@ -109,7 +108,8 @@ var createAssignmentNode = exports.createAssignmentNode = /* #__PURE__ */(0, _fa
109
108
  }
110
109
 
111
110
  // class name for typing purposes:
112
- (0, _createClass2["default"])(AssignmentNode, [{
111
+ (0, _inherits2["default"])(AssignmentNode, _Node);
112
+ return (0, _createClass2["default"])(AssignmentNode, [{
113
113
  key: "name",
114
114
  get:
115
115
  // readonly property name
@@ -338,7 +338,6 @@ var createAssignmentNode = exports.createAssignmentNode = /* #__PURE__ */(0, _fa
338
338
  return new AssignmentNode(json.object, json.index, json.value);
339
339
  }
340
340
  }]);
341
- return AssignmentNode;
342
341
  }(Node);
343
342
  (0, _defineProperty2["default"])(AssignmentNode, "name", name);
344
343
  return AssignmentNode;
@@ -22,7 +22,6 @@ var createBlockNode = exports.createBlockNode = /* #__PURE__ */(0, _factory.fact
22
22
  var ResultSet = _ref.ResultSet,
23
23
  Node = _ref.Node;
24
24
  var BlockNode = /*#__PURE__*/function (_Node) {
25
- (0, _inherits2["default"])(BlockNode, _Node);
26
25
  /**
27
26
  * @constructor BlockNode
28
27
  * @extends {Node}
@@ -53,7 +52,8 @@ var createBlockNode = exports.createBlockNode = /* #__PURE__ */(0, _factory.fact
53
52
  });
54
53
  return _this;
55
54
  }
56
- (0, _createClass2["default"])(BlockNode, [{
55
+ (0, _inherits2["default"])(BlockNode, _Node);
56
+ return (0, _createClass2["default"])(BlockNode, [{
57
57
  key: "type",
58
58
  get: function get() {
59
59
  return name;
@@ -215,7 +215,6 @@ var createBlockNode = exports.createBlockNode = /* #__PURE__ */(0, _factory.fact
215
215
  return new BlockNode(json.blocks);
216
216
  }
217
217
  }]);
218
- return BlockNode;
219
218
  }(Node);
220
219
  (0, _defineProperty2["default"])(BlockNode, "name", name);
221
220
  return BlockNode;
@@ -46,7 +46,6 @@ var createConditionalNode = exports.createConditionalNode = /* #__PURE__ */(0, _
46
46
  throw new TypeError('Unsupported type of condition "' + (0, _is.typeOf)(condition) + '"');
47
47
  }
48
48
  var ConditionalNode = /*#__PURE__*/function (_Node) {
49
- (0, _inherits2["default"])(ConditionalNode, _Node);
50
49
  /**
51
50
  * A lazy evaluating conditional operator: 'condition ? trueExpr : falseExpr'
52
51
  *
@@ -75,7 +74,8 @@ var createConditionalNode = exports.createConditionalNode = /* #__PURE__ */(0, _
75
74
  _this.falseExpr = falseExpr;
76
75
  return _this;
77
76
  }
78
- (0, _createClass2["default"])(ConditionalNode, [{
77
+ (0, _inherits2["default"])(ConditionalNode, _Node);
78
+ return (0, _createClass2["default"])(ConditionalNode, [{
79
79
  key: "type",
80
80
  get: function get() {
81
81
  return name;
@@ -255,7 +255,6 @@ var createConditionalNode = exports.createConditionalNode = /* #__PURE__ */(0, _
255
255
  return new ConditionalNode(json.condition, json.trueExpr, json.falseExpr);
256
256
  }
257
257
  }]);
258
- return ConditionalNode;
259
258
  }(Node);
260
259
  (0, _defineProperty2["default"])(ConditionalNode, "name", name);
261
260
  return ConditionalNode;
@@ -22,7 +22,6 @@ var dependencies = ['Node'];
22
22
  var createConstantNode = exports.createConstantNode = /* #__PURE__ */(0, _factory.factory)(name, dependencies, function (_ref) {
23
23
  var Node = _ref.Node;
24
24
  var ConstantNode = /*#__PURE__*/function (_Node) {
25
- (0, _inherits2["default"])(ConstantNode, _Node);
26
25
  /**
27
26
  * A ConstantNode holds a constant value like a number or string.
28
27
  *
@@ -42,7 +41,8 @@ var createConstantNode = exports.createConstantNode = /* #__PURE__ */(0, _factor
42
41
  _this.value = value;
43
42
  return _this;
44
43
  }
45
- (0, _createClass2["default"])(ConstantNode, [{
44
+ (0, _inherits2["default"])(ConstantNode, _Node);
45
+ return (0, _createClass2["default"])(ConstantNode, [{
46
46
  key: "type",
47
47
  get: function get() {
48
48
  return name;
@@ -204,7 +204,6 @@ var createConstantNode = exports.createConstantNode = /* #__PURE__ */(0, _factor
204
204
  return new ConstantNode(json.value);
205
205
  }
206
206
  }]);
207
- return ConstantNode;
208
207
  }(Node);
209
208
  (0, _defineProperty2["default"])(ConstantNode, "name", name);
210
209
  return ConstantNode;
@@ -41,7 +41,6 @@ var createFunctionAssignmentNode = exports.createFunctionAssignmentNode = /* #__
41
41
  return parenthesis === 'all' || exprPrecedence !== null && exprPrecedence <= precedence;
42
42
  }
43
43
  var FunctionAssignmentNode = /*#__PURE__*/function (_Node) {
44
- (0, _inherits2["default"])(FunctionAssignmentNode, _Node);
45
44
  /**
46
45
  * @constructor FunctionAssignmentNode
47
46
  * @extends {Node}
@@ -99,7 +98,8 @@ var createFunctionAssignmentNode = exports.createFunctionAssignmentNode = /* #__
99
98
  _this.expr = expr;
100
99
  return _this;
101
100
  }
102
- (0, _createClass2["default"])(FunctionAssignmentNode, [{
101
+ (0, _inherits2["default"])(FunctionAssignmentNode, _Node);
102
+ return (0, _createClass2["default"])(FunctionAssignmentNode, [{
103
103
  key: "type",
104
104
  get: function get() {
105
105
  return name;
@@ -277,7 +277,6 @@ var createFunctionAssignmentNode = exports.createFunctionAssignmentNode = /* #__
277
277
  return new FunctionAssignmentNode(json.name, json.params, json.expr);
278
278
  }
279
279
  }]);
280
- return FunctionAssignmentNode;
281
280
  }(Node);
282
281
  (0, _defineProperty2["default"])(FunctionAssignmentNode, "name", name);
283
282
  return FunctionAssignmentNode;
@@ -26,7 +26,7 @@ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.
26
26
  var name = 'FunctionNode';
27
27
  var dependencies = ['math', 'Node', 'SymbolNode'];
28
28
  var createFunctionNode = exports.createFunctionNode = /* #__PURE__ */(0, _factory.factory)(name, dependencies, function (_ref) {
29
- var _class;
29
+ var _FunctionNode;
30
30
  var math = _ref.math,
31
31
  Node = _ref.Node,
32
32
  SymbolNode = _ref.SymbolNode;
@@ -108,7 +108,6 @@ var createFunctionNode = exports.createFunctionNode = /* #__PURE__ */(0, _factor
108
108
  return latex;
109
109
  }
110
110
  var FunctionNode = /*#__PURE__*/function (_Node) {
111
- (0, _inherits2["default"])(FunctionNode, _Node);
112
111
  /**
113
112
  * @constructor FunctionNode
114
113
  * @extends {./Node}
@@ -137,7 +136,8 @@ var createFunctionNode = exports.createFunctionNode = /* #__PURE__ */(0, _factor
137
136
  }
138
137
 
139
138
  // readonly property name
140
- (0, _createClass2["default"])(FunctionNode, [{
139
+ (0, _inherits2["default"])(FunctionNode, _Node);
140
+ return (0, _createClass2["default"])(FunctionNode, [{
141
141
  key: "name",
142
142
  get: function get() {
143
143
  return this.fn.name || '';
@@ -515,15 +515,14 @@ var createFunctionNode = exports.createFunctionNode = /* #__PURE__ */(0, _factor
515
515
  return this.type + ':' + this.name;
516
516
  }
517
517
  }]);
518
- return FunctionNode;
519
518
  }(Node);
520
- _class = FunctionNode;
519
+ _FunctionNode = FunctionNode;
521
520
  (0, _defineProperty2["default"])(FunctionNode, "name", name);
522
521
  (0, _defineProperty2["default"])(FunctionNode, "onUndefinedFunction", function (name) {
523
522
  throw new Error('Undefined function ' + name);
524
523
  });
525
524
  (0, _defineProperty2["default"])(FunctionNode, "fromJSON", function (json) {
526
- return new _class(json.fn, json.args);
525
+ return new _FunctionNode(json.fn, json.args);
527
526
  });
528
527
  return FunctionNode;
529
528
  }, {
@@ -25,7 +25,6 @@ var createIndexNode = exports.createIndexNode = /* #__PURE__ */(0, _factory.fact
25
25
  var Node = _ref.Node,
26
26
  size = _ref.size;
27
27
  var IndexNode = /*#__PURE__*/function (_Node) {
28
- (0, _inherits2["default"])(IndexNode, _Node);
29
28
  /**
30
29
  * @constructor IndexNode
31
30
  * @extends Node
@@ -56,7 +55,8 @@ var createIndexNode = exports.createIndexNode = /* #__PURE__ */(0, _factory.fact
56
55
  }
57
56
  return _this;
58
57
  }
59
- (0, _createClass2["default"])(IndexNode, [{
58
+ (0, _inherits2["default"])(IndexNode, _Node);
59
+ return (0, _createClass2["default"])(IndexNode, [{
60
60
  key: "type",
61
61
  get: function get() {
62
62
  return name;
@@ -256,7 +256,6 @@ var createIndexNode = exports.createIndexNode = /* #__PURE__ */(0, _factory.fact
256
256
  return new IndexNode(json.dimensions, json.dotNotation);
257
257
  }
258
258
  }]);
259
- return IndexNode;
260
259
  }(Node);
261
260
  (0, _defineProperty2["default"])(IndexNode, "name", name);
262
261
  return IndexNode;
@@ -35,7 +35,7 @@ var createNode = exports.createNode = /* #__PURE__ */(0, _factory.factory)(name,
35
35
  function Node() {
36
36
  (0, _classCallCheck2["default"])(this, Node);
37
37
  }
38
- (0, _createClass2["default"])(Node, [{
38
+ return (0, _createClass2["default"])(Node, [{
39
39
  key: "type",
40
40
  get: function get() {
41
41
  return 'Node';
@@ -426,7 +426,6 @@ var createNode = exports.createNode = /* #__PURE__ */(0, _factory.factory)(name,
426
426
  return this;
427
427
  }
428
428
  }]);
429
- return Node;
430
429
  }();
431
430
  return Node;
432
431
  }, {
@@ -24,7 +24,6 @@ var dependencies = ['Node'];
24
24
  var createObjectNode = exports.createObjectNode = /* #__PURE__ */(0, _factory.factory)(name, dependencies, function (_ref) {
25
25
  var Node = _ref.Node;
26
26
  var ObjectNode = /*#__PURE__*/function (_Node) {
27
- (0, _inherits2["default"])(ObjectNode, _Node);
28
27
  /**
29
28
  * @constructor ObjectNode
30
29
  * @extends {Node}
@@ -47,7 +46,8 @@ var createObjectNode = exports.createObjectNode = /* #__PURE__ */(0, _factory.fa
47
46
  }
48
47
  return _this;
49
48
  }
50
- (0, _createClass2["default"])(ObjectNode, [{
49
+ (0, _inherits2["default"])(ObjectNode, _Node);
50
+ return (0, _createClass2["default"])(ObjectNode, [{
51
51
  key: "type",
52
52
  get: function get() {
53
53
  return name;
@@ -224,7 +224,6 @@ var createObjectNode = exports.createObjectNode = /* #__PURE__ */(0, _factory.fa
224
224
  return new ObjectNode(json.properties);
225
225
  }
226
226
  }]);
227
- return ObjectNode;
228
227
  }(Node);
229
228
  (0, _defineProperty2["default"])(ObjectNode, "name", name);
230
229
  return ObjectNode;
@@ -235,7 +235,6 @@ var createOperatorNode = exports.createOperatorNode = /* #__PURE__ */(0, _factor
235
235
  return result;
236
236
  }
237
237
  var OperatorNode = /*#__PURE__*/function (_Node) {
238
- (0, _inherits2["default"])(OperatorNode, _Node);
239
238
  /**
240
239
  * @constructor OperatorNode
241
240
  * @extends {Node}
@@ -268,7 +267,8 @@ var createOperatorNode = exports.createOperatorNode = /* #__PURE__ */(0, _factor
268
267
  _this.args = args || [];
269
268
  return _this;
270
269
  }
271
- (0, _createClass2["default"])(OperatorNode, [{
270
+ (0, _inherits2["default"])(OperatorNode, _Node);
271
+ return (0, _createClass2["default"])(OperatorNode, [{
272
272
  key: "type",
273
273
  get: function get() {
274
274
  return name;
@@ -665,7 +665,6 @@ var createOperatorNode = exports.createOperatorNode = /* #__PURE__ */(0, _factor
665
665
  return new OperatorNode(json.op, json.fn, json.args, json.implicit, json.isPercentage);
666
666
  }
667
667
  }]);
668
- return OperatorNode;
669
668
  }(Node);
670
669
  (0, _defineProperty2["default"])(OperatorNode, "name", name);
671
670
  return OperatorNode;
@@ -20,7 +20,6 @@ var dependencies = ['Node'];
20
20
  var createParenthesisNode = exports.createParenthesisNode = /* #__PURE__ */(0, _factory.factory)(name, dependencies, function (_ref) {
21
21
  var Node = _ref.Node;
22
22
  var ParenthesisNode = /*#__PURE__*/function (_Node) {
23
- (0, _inherits2["default"])(ParenthesisNode, _Node);
24
23
  /**
25
24
  * @constructor ParenthesisNode
26
25
  * @extends {Node}
@@ -39,7 +38,8 @@ var createParenthesisNode = exports.createParenthesisNode = /* #__PURE__ */(0, _
39
38
  _this.content = content;
40
39
  return _this;
41
40
  }
42
- (0, _createClass2["default"])(ParenthesisNode, [{
41
+ (0, _inherits2["default"])(ParenthesisNode, _Node);
42
+ return (0, _createClass2["default"])(ParenthesisNode, [{
43
43
  key: "type",
44
44
  get: function get() {
45
45
  return name;
@@ -184,7 +184,6 @@ var createParenthesisNode = exports.createParenthesisNode = /* #__PURE__ */(0, _
184
184
  return new ParenthesisNode(json.content);
185
185
  }
186
186
  }]);
187
- return ParenthesisNode;
188
187
  }(Node);
189
188
  (0, _defineProperty2["default"])(ParenthesisNode, "name", name);
190
189
  return ParenthesisNode;
@@ -42,7 +42,6 @@ var createRangeNode = exports.createRangeNode = /* #__PURE__ */(0, _factory.fact
42
42
  return parens;
43
43
  }
44
44
  var RangeNode = /*#__PURE__*/function (_Node) {
45
- (0, _inherits2["default"])(RangeNode, _Node);
46
45
  /**
47
46
  * @constructor RangeNode
48
47
  * @extends {Node}
@@ -65,7 +64,8 @@ var createRangeNode = exports.createRangeNode = /* #__PURE__ */(0, _factory.fact
65
64
  _this.step = step || null; // optional step
66
65
  return _this;
67
66
  }
68
- (0, _createClass2["default"])(RangeNode, [{
67
+ (0, _inherits2["default"])(RangeNode, _Node);
68
+ return (0, _createClass2["default"])(RangeNode, [{
69
69
  key: "type",
70
70
  get: function get() {
71
71
  return name;
@@ -282,7 +282,6 @@ var createRangeNode = exports.createRangeNode = /* #__PURE__ */(0, _factory.fact
282
282
  return new RangeNode(json.start, json.end, json.step);
283
283
  }
284
284
  }]);
285
- return RangeNode;
286
285
  }(Node);
287
286
  (0, _defineProperty2["default"])(RangeNode, "name", name);
288
287
  return RangeNode;
@@ -31,7 +31,6 @@ var createRelationalNode = exports.createRelationalNode = /* #__PURE__ */(0, _fa
31
31
  largerEq: '>='
32
32
  };
33
33
  var RelationalNode = /*#__PURE__*/function (_Node) {
34
- (0, _inherits2["default"])(RelationalNode, _Node);
35
34
  /**
36
35
  * A node representing a chained conditional expression, such as 'x > y > z'
37
36
  *
@@ -60,7 +59,8 @@ var createRelationalNode = exports.createRelationalNode = /* #__PURE__ */(0, _fa
60
59
  _this.params = params;
61
60
  return _this;
62
61
  }
63
- (0, _createClass2["default"])(RelationalNode, [{
62
+ (0, _inherits2["default"])(RelationalNode, _Node);
63
+ return (0, _createClass2["default"])(RelationalNode, [{
64
64
  key: "type",
65
65
  get: function get() {
66
66
  return name;
@@ -236,7 +236,6 @@ var createRelationalNode = exports.createRelationalNode = /* #__PURE__ */(0, _fa
236
236
  return new RelationalNode(json.conditionals, json.params);
237
237
  }
238
238
  }]);
239
- return RelationalNode;
240
239
  }(Node);
241
240
  (0, _defineProperty2["default"])(RelationalNode, "name", name);
242
241
  return RelationalNode;
@@ -31,7 +31,6 @@ var createSymbolNode = exports.createSymbolNode = /* #__PURE__ */(0, _factory.fa
31
31
  return Unit ? Unit.isValuelessUnit(name) : false;
32
32
  }
33
33
  var SymbolNode = /*#__PURE__*/function (_Node) {
34
- (0, _inherits2["default"])(SymbolNode, _Node);
35
34
  /**
36
35
  * @constructor SymbolNode
37
36
  * @extends {Node}
@@ -50,7 +49,8 @@ var createSymbolNode = exports.createSymbolNode = /* #__PURE__ */(0, _factory.fa
50
49
  _this.name = name;
51
50
  return _this;
52
51
  }
53
- (0, _createClass2["default"])(SymbolNode, [{
52
+ (0, _inherits2["default"])(SymbolNode, _Node);
53
+ return (0, _createClass2["default"])(SymbolNode, [{
54
54
  key: "type",
55
55
  get: function get() {
56
56
  return 'SymbolNode';
@@ -226,7 +226,6 @@ var createSymbolNode = exports.createSymbolNode = /* #__PURE__ */(0, _factory.fa
226
226
  return new SymbolNode(json.name);
227
227
  }
228
228
  }]);
229
- return SymbolNode;
230
229
  }(Node);
231
230
  return SymbolNode;
232
231
  }, {
@@ -959,7 +959,7 @@ var createParse = exports.createParse = /* #__PURE__ */(0, _factory.factory)(nam
959
959
  }
960
960
 
961
961
  /**
962
- * multiply, divide, modulus
962
+ * multiply, divide
963
963
  * @return {Node} node
964
964
  * @private
965
965
  */
@@ -1023,7 +1023,7 @@ var createParse = exports.createParse = /* #__PURE__ */(0, _factory.factory)(nam
1023
1023
  * @private
1024
1024
  */
1025
1025
  function parseRule2(state) {
1026
- var node = parsePercentage(state);
1026
+ var node = parseModulusPercentage(state);
1027
1027
  var last = node;
1028
1028
  var tokenStates = [];
1029
1029
  while (true) {
@@ -1045,7 +1045,7 @@ var createParse = exports.createParse = /* #__PURE__ */(0, _factory.factory)(nam
1045
1045
  // Rewind once and build the "number / number" node; the symbol will be consumed later
1046
1046
  (0, _extends2["default"])(state, tokenStates.pop());
1047
1047
  tokenStates.pop();
1048
- last = parsePercentage(state);
1048
+ last = parseModulusPercentage(state);
1049
1049
  node = new OperatorNode('/', 'divide', [node, last]);
1050
1050
  } else {
1051
1051
  // Not a match, so rewind
@@ -1066,11 +1066,11 @@ var createParse = exports.createParse = /* #__PURE__ */(0, _factory.factory)(nam
1066
1066
  }
1067
1067
 
1068
1068
  /**
1069
- * percentage or mod
1069
+ * modulus and percentage
1070
1070
  * @return {Node} node
1071
1071
  * @private
1072
1072
  */
1073
- function parsePercentage(state) {
1073
+ function parseModulusPercentage(state) {
1074
1074
  var node, name, fn, params;
1075
1075
  node = parseUnary(state);
1076
1076
  var operators = {
@@ -1233,7 +1233,7 @@ var createParse = exports.createParse = /* #__PURE__ */(0, _factory.factory)(nam
1233
1233
  if ((0, _object.hasOwnProperty)(CONSTANTS, name)) {
1234
1234
  // true, false, null, ...
1235
1235
  node = new ConstantNode(CONSTANTS[name]);
1236
- } else if (NUMERIC_CONSTANTS.indexOf(name) !== -1) {
1236
+ } else if (NUMERIC_CONSTANTS.includes(name)) {
1237
1237
  // NaN, Infinity
1238
1238
  node = new ConstantNode(numeric(name, 'number'));
1239
1239
  } else {
@@ -1263,7 +1263,7 @@ var createParse = exports.createParse = /* #__PURE__ */(0, _factory.factory)(nam
1263
1263
  */
1264
1264
  function parseAccessors(state, node, types) {
1265
1265
  var params;
1266
- while ((state.token === '(' || state.token === '[' || state.token === '.') && (!types || types.indexOf(state.token) !== -1)) {
1266
+ while ((state.token === '(' || state.token === '[' || state.token === '.') && (!types || types.includes(state.token))) {
1267
1267
  // eslint-disable-line no-unmodified-loop-condition
1268
1268
  params = [];
1269
1269
  if (state.token === '(') {
@@ -163,7 +163,7 @@ var createDerivative = exports.createDerivative = /* #__PURE__ */(0, _factory.fa
163
163
  return constTag(constNodes, node.content, varName);
164
164
  },
165
165
  'Object, FunctionAssignmentNode, string': function ObjectFunctionAssignmentNodeString(constNodes, node, varName) {
166
- if (node.params.indexOf(varName) === -1) {
166
+ if (!node.params.includes(varName)) {
167
167
  constNodes[node] = true;
168
168
  return true;
169
169
  }
@@ -235,7 +235,7 @@ var createRationalize = exports.createRationalize = /* #__PURE__ */(0, _factory.
235
235
  recPoly(node.args[0]);
236
236
  }
237
237
  } else {
238
- if (oper.indexOf(node.op) === -1) {
238
+ if (!oper.includes(node.op)) {
239
239
  throw new Error('Operator ' + node.op + ' invalid in polynomial expression');
240
240
  }
241
241
  for (var i = 0; i < node.args.length; i++) {
@@ -733,7 +733,7 @@ var createRationalize = exports.createRationalize = /* #__PURE__ */(0, _factory.
733
733
  throw new Error('There is an unsolved function call');
734
734
  } else if (tp === 'OperatorNode') {
735
735
  // ***** OperatorName *****
736
- if ('+-*^'.indexOf(node.op) === -1) throw new Error('Operator ' + node.op + ' invalid');
736
+ if (!'+-*^'.includes(node.op)) throw new Error('Operator ' + node.op + ' invalid');
737
737
  if (noPai !== null) {
738
738
  // -(unary),^ : children of *,+,-
739
739
  if ((node.fn === 'unaryMinus' || node.fn === 'pow') && noPai.fn !== 'add' && noPai.fn !== 'subtract' && noPai.fn !== 'multiply') {