mathjs 12.4.1 → 12.4.3

Sign up to get free protection for your applications and to get access to all the features.
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') {