@pie-lib/math-evaluator 2.20.0 → 2.21.0-mui-update.0

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.
package/CHANGELOG.md CHANGED
@@ -3,7 +3,7 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
- # [2.20.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/math-evaluator@2.19.0...@pie-lib/math-evaluator@2.20.0) (2025-10-16)
6
+ # [2.21.0-mui-update.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/math-evaluator@2.20.0-mui-update.0...@pie-lib/math-evaluator@2.21.0-mui-update.0) (2025-11-03)
7
7
 
8
8
  **Note:** Version bump only for package @pie-lib/math-evaluator
9
9
 
@@ -11,7 +11,15 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
11
11
 
12
12
 
13
13
 
14
- # [2.19.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/math-evaluator@2.17.0...@pie-lib/math-evaluator@2.19.0) (2025-10-16)
14
+ # [2.20.0-mui-update.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/math-evaluator@2.18.0-mui-update.0...@pie-lib/math-evaluator@2.20.0-mui-update.0) (2025-11-03)
15
+
16
+ **Note:** Version bump only for package @pie-lib/math-evaluator
17
+
18
+
19
+
20
+
21
+
22
+ # [2.18.0-mui-update.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/math-evaluator@2.17.1...@pie-lib/math-evaluator@2.18.0-mui-update.0) (2025-10-31)
15
23
 
16
24
  **Note:** Version bump only for package @pie-lib/math-evaluator
17
25
 
package/lib/index.js CHANGED
@@ -1,36 +1,23 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  var _typeof = require("@babel/runtime/helpers/typeof");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
8
  exports.textToMathText = exports.latexToText = exports["default"] = exports.ave = void 0;
11
-
12
9
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
-
14
10
  var mathjs = _interopRequireWildcard(require("mathjs"));
15
-
16
11
  var _mathExpressions = _interopRequireDefault(require("@pie-framework/math-expressions"));
17
-
18
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
19
-
20
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
21
-
22
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
23
-
24
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
25
-
12
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
13
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
14
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } /* eslint-disable no-console */
26
15
  var decimalCommaRegex = /,/g;
27
16
  var decimalRegex = /\.|,/g;
28
17
  var decimalWithThousandSeparatorNumberRegex = /^(?!0+\.00)(?=.{1,9}(\.|$))(?!0(?!\.))\d{1,3}(,\d{3})*(\.\d+)?$/;
29
-
30
18
  var rationalizeAllPossibleSubNodes = function rationalizeAllPossibleSubNodes(expression) {
31
19
  return rationalize(mathjs.parse(expression));
32
20
  };
33
-
34
21
  var rationalize = function rationalize(tree) {
35
22
  var transformedTree = tree.transform(function (node) {
36
23
  try {
@@ -42,7 +29,6 @@ var rationalize = function rationalize(tree) {
42
29
  });
43
30
  return transformedTree;
44
31
  };
45
-
46
32
  function prepareExpression(string, isLatex) {
47
33
  var returnValue = string ? string.trim() : '';
48
34
  returnValue = returnValue.replace(decimalCommaRegex, '.');
@@ -52,15 +38,12 @@ function prepareExpression(string, isLatex) {
52
38
  returnValue = returnValue.replace('=', '==');
53
39
  return rationalizeAllPossibleSubNodes(returnValue);
54
40
  }
55
-
56
41
  var latexToAstOpts = {
57
42
  missingFactor: function missingFactor(token, e) {
58
43
  console.warn('missing factor for: ', token.token_type);
59
-
60
44
  if (token.token_type === 'NUMBER') {
61
45
  throw e;
62
46
  }
63
-
64
47
  return 0;
65
48
  },
66
49
  unknownCommandBehavior: 'passthrough'
@@ -75,45 +58,41 @@ var astToTextOpts = {
75
58
  }
76
59
  }
77
60
  };
78
-
79
- var latexToText = function latexToText(latex) {
61
+ var latexToText = exports.latexToText = function latexToText(latex) {
80
62
  var extraOtps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
81
63
  var la = new _mathExpressions["default"].converters.latexToAstObj(_objectSpread(_objectSpread({}, latexToAstOpts), extraOtps));
82
64
  var at = new _mathExpressions["default"].converters.astToTextObj(_objectSpread(_objectSpread({}, astToTextOpts), extraOtps));
83
65
  var ast = la.convert(latex);
84
66
  return at.convert(ast);
85
67
  };
86
-
87
- exports.latexToText = latexToText;
88
-
89
- var textToMathText = function textToMathText(latex) {
68
+ var textToMathText = exports.textToMathText = function textToMathText(latex) {
90
69
  var extraOtps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
91
70
  var la = new _mathExpressions["default"].converters.textToAstObj(_objectSpread(_objectSpread({}, latexToAstOpts), extraOtps));
92
71
  var at = new _mathExpressions["default"].converters.astToTextObj(_objectSpread(_objectSpread({}, astToTextOpts), extraOtps));
93
72
  var ast = la.convert(latex);
94
73
  return at.convert(ast);
95
74
  };
96
-
97
- exports.textToMathText = textToMathText;
98
-
99
75
  function shouldRationalizeEntireTree(tree) {
100
- var shouldDoIt = true; // we need to iterate the entire tree to check for some conditions that might make rationalization impossible
76
+ var shouldDoIt = true;
101
77
 
78
+ // we need to iterate the entire tree to check for some conditions that might make rationalization impossible
102
79
  try {
103
80
  tree.traverse(function (node) {
104
81
  // if we have a variable as an exponent for power operation, we should not rationalize
105
82
  // try to see if there are power operations with variable exponents
106
83
  if (node.type === 'OperatorNode' && node.fn === 'pow') {
107
- var exponent = node.args[1]; // try to see if it can be compiled and evaluated - if it's a non-numerical value, it'll throw an error
84
+ var exponent = node.args[1];
108
85
 
86
+ // try to see if it can be compiled and evaluated - if it's a non-numerical value, it'll throw an error
109
87
  exponent.compile().eval();
110
- } // we cannot have variables for unresolved function calls either
111
-
88
+ }
112
89
 
90
+ // we cannot have variables for unresolved function calls either
113
91
  if (node.type === 'FunctionNode') {
114
92
  //try to see if the argument that the function is called with can be resolved as non-variable
115
- var functionParameter = node.args[0]; // if it holds variables, this will throw an error
93
+ var functionParameter = node.args[0];
116
94
 
95
+ // if it holds variables, this will throw an error
117
96
  functionParameter.compile().eval();
118
97
  }
119
98
  });
@@ -121,15 +100,12 @@ function shouldRationalizeEntireTree(tree) {
121
100
  } catch (_unused2) {
122
101
  shouldDoIt = false;
123
102
  }
124
-
125
103
  return shouldDoIt;
126
104
  }
127
-
128
105
  function containsDecimal() {
129
106
  var expression = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
130
107
  return expression.match(decimalRegex);
131
108
  }
132
-
133
109
  var SIMPLIFY_RULES = [{
134
110
  l: 'n1^(1/n2)',
135
111
  r: 'nthRoot(n1, n2)'
@@ -137,20 +113,17 @@ var SIMPLIFY_RULES = [{
137
113
  l: 'sqrt(n1)',
138
114
  r: 'nthRoot(n1, 2)'
139
115
  }];
140
-
141
116
  var simplify = function simplify(v) {
142
117
  return mathjs.simplify(v, SIMPLIFY_RULES.concat(mathjs.simplify.rules));
143
118
  }; //.concat(SIMPLIFY_RULES));
144
119
 
145
-
146
120
  var areValuesEqual = function areValuesEqual(valueOne, valueTwo) {
147
121
  var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
148
122
  var allowDecimals = options.allowDecimals,
149
- isLatex = options.isLatex,
150
- inverse = options.inverse;
123
+ isLatex = options.isLatex,
124
+ inverse = options.inverse;
151
125
  var valueOneToUse = valueOne;
152
126
  var valueTwoToUse = valueTwo;
153
-
154
127
  if (allowDecimals === false) {
155
128
  if (containsDecimal(valueOne) || containsDecimal(valueTwo)) {
156
129
  return false;
@@ -159,12 +132,10 @@ var areValuesEqual = function areValuesEqual(valueOne, valueTwo) {
159
132
  if (containsDecimal(valueOne) && decimalWithThousandSeparatorNumberRegex.test(valueOne)) {
160
133
  valueOneToUse = valueOne.replace(decimalCommaRegex, '');
161
134
  }
162
-
163
135
  if (containsDecimal(valueTwo) && decimalWithThousandSeparatorNumberRegex.test(valueTwo)) {
164
136
  valueTwoToUse = valueTwo.replace(decimalCommaRegex, '');
165
137
  }
166
138
  }
167
-
168
139
  var preparedValueOne = prepareExpression(valueOneToUse, isLatex, allowDecimals);
169
140
  var preparedValueTwo = prepareExpression(valueTwoToUse, isLatex, allowDecimals);
170
141
  var one = shouldRationalizeEntireTree(preparedValueOne) ? mathjs.rationalize(preparedValueOne) : preparedValueOne;
@@ -174,16 +145,12 @@ var areValuesEqual = function areValuesEqual(valueOne, valueTwo) {
174
145
  var equals = one.equals(two);
175
146
  return inverse ? !equals : equals;
176
147
  };
177
-
178
- var ave = function ave(a, b) {
148
+ var ave = exports.ave = function ave(a, b) {
179
149
  var am = mathjs.parse(a);
180
150
  var bm = mathjs.parse(b);
181
151
  var arm = simplify(am);
182
152
  var brm = simplify(bm);
183
153
  return arm.equals(brm);
184
154
  };
185
-
186
- exports.ave = ave;
187
- var _default = areValuesEqual;
188
- exports["default"] = _default;
155
+ var _default = exports["default"] = areValuesEqual;
189
156
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.js"],"names":["decimalCommaRegex","decimalRegex","decimalWithThousandSeparatorNumberRegex","rationalizeAllPossibleSubNodes","expression","rationalize","mathjs","parse","tree","transformedTree","transform","node","rationalizedNode","prepareExpression","string","isLatex","returnValue","trim","replace","latexToText","textToMathText","unknownCommands","toString","latexToAstOpts","missingFactor","token","e","console","warn","token_type","unknownCommandBehavior","astToTextOpts","unicode_operators","ne","operands","join","latex","extraOtps","la","me","converters","latexToAstObj","at","astToTextObj","ast","convert","textToAstObj","shouldRationalizeEntireTree","shouldDoIt","traverse","type","fn","exponent","args","compile","eval","functionParameter","containsDecimal","match","SIMPLIFY_RULES","l","r","simplify","v","concat","rules","areValuesEqual","valueOne","valueTwo","options","allowDecimals","inverse","valueOneToUse","valueTwoToUse","test","preparedValueOne","preparedValueTwo","one","two","equals","ave","a","b","am","bm","arm","brm"],"mappings":"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","sourcesContent":["/* eslint-disable no-console */\nimport * as mathjs from 'mathjs';\nimport me from '@pie-framework/math-expressions';\n\nconst decimalCommaRegex = /,/g;\nconst decimalRegex = /\\.|,/g;\nconst decimalWithThousandSeparatorNumberRegex = /^(?!0+\\.00)(?=.{1,9}(\\.|$))(?!0(?!\\.))\\d{1,3}(,\\d{3})*(\\.\\d+)?$/;\n\nconst rationalizeAllPossibleSubNodes = (expression) => rationalize(mathjs.parse(expression));\nconst rationalize = (tree) => {\n const transformedTree = tree.transform((node) => {\n try {\n const rationalizedNode = mathjs.rationalize(node);\n return rationalizedNode;\n } catch {\n return node;\n }\n });\n return transformedTree;\n};\n\nfunction prepareExpression(string, isLatex) {\n let returnValue = string ? string.trim() : '';\n\n returnValue = returnValue.replace(decimalCommaRegex, '.');\n\n returnValue = isLatex\n ? latexToText(`${returnValue}`)\n : textToMathText(`${returnValue}`, { unknownCommands: 'passthrough' }).toString();\n\n returnValue = returnValue.replace('=', '==');\n return rationalizeAllPossibleSubNodes(returnValue);\n}\n\nconst latexToAstOpts = {\n missingFactor: (token, e) => {\n console.warn('missing factor for: ', token.token_type);\n if (token.token_type === 'NUMBER') {\n throw e;\n }\n return 0;\n },\n unknownCommandBehavior: 'passthrough',\n};\n\nconst astToTextOpts = {\n unicode_operators: {\n ne: function(operands) {\n return operands.join(' != ');\n },\n '%': function(operands) {\n return `percent(${operands[0]})`;\n },\n },\n};\n\nexport const latexToText = (latex, extraOtps = {}) => {\n const la = new me.converters.latexToAstObj({ ...latexToAstOpts, ...extraOtps });\n\n const at = new me.converters.astToTextObj({ ...astToTextOpts, ...extraOtps });\n\n const ast = la.convert(latex);\n\n return at.convert(ast);\n};\n\nexport const textToMathText = (latex, extraOtps = {}) => {\n const la = new me.converters.textToAstObj({ ...latexToAstOpts, ...extraOtps });\n\n const at = new me.converters.astToTextObj({ ...astToTextOpts, ...extraOtps });\n\n const ast = la.convert(latex);\n\n return at.convert(ast);\n};\n\nfunction shouldRationalizeEntireTree(tree) {\n let shouldDoIt = true;\n\n // we need to iterate the entire tree to check for some conditions that might make rationalization impossible\n try {\n tree.traverse((node) => {\n // if we have a variable as an exponent for power operation, we should not rationalize\n // try to see if there are power operations with variable exponents\n if (node.type === 'OperatorNode' && node.fn === 'pow') {\n const exponent = node.args[1];\n\n // try to see if it can be compiled and evaluated - if it's a non-numerical value, it'll throw an error\n exponent.compile().eval();\n }\n\n // we cannot have variables for unresolved function calls either\n if (node.type === 'FunctionNode') {\n //try to see if the argument that the function is called with can be resolved as non-variable\n const functionParameter = node.args[0];\n\n // if it holds variables, this will throw an error\n functionParameter.compile().eval();\n }\n });\n\n mathjs.rationalize(tree);\n } catch {\n shouldDoIt = false;\n }\n\n return shouldDoIt;\n}\n\nfunction containsDecimal(expression = '') {\n return expression.match(decimalRegex);\n}\nconst SIMPLIFY_RULES = [\n { l: 'n1^(1/n2)', r: 'nthRoot(n1, n2)' },\n { l: 'sqrt(n1)', r: 'nthRoot(n1, 2)' },\n];\n\nconst simplify = (v) => mathjs.simplify(v, SIMPLIFY_RULES.concat(mathjs.simplify.rules)); //.concat(SIMPLIFY_RULES));\n\nconst areValuesEqual = (valueOne, valueTwo, options = {}) => {\n const {\n // if explicitly set to false, having a decimal value in either side will result in a false equality\n // regardless of mathematical correctness\n allowDecimals,\n isLatex, // if the passed in values are latex, they need to be escaped\n inverse, // returns inverse for the comparison result\n } = options;\n\n let valueOneToUse = valueOne;\n let valueTwoToUse = valueTwo;\n\n if (allowDecimals === false) {\n if (containsDecimal(valueOne) || containsDecimal(valueTwo)) {\n return false;\n }\n } else if (allowDecimals === true) {\n if (containsDecimal(valueOne) && decimalWithThousandSeparatorNumberRegex.test(valueOne)) {\n valueOneToUse = valueOne.replace(decimalCommaRegex, '');\n }\n\n if (containsDecimal(valueTwo) && decimalWithThousandSeparatorNumberRegex.test(valueTwo)) {\n valueTwoToUse = valueTwo.replace(decimalCommaRegex, '');\n }\n }\n\n const preparedValueOne = prepareExpression(valueOneToUse, isLatex, allowDecimals);\n const preparedValueTwo = prepareExpression(valueTwoToUse, isLatex, allowDecimals);\n\n let one = shouldRationalizeEntireTree(preparedValueOne) ? mathjs.rationalize(preparedValueOne) : preparedValueOne;\n let two = shouldRationalizeEntireTree(preparedValueTwo) ? mathjs.rationalize(preparedValueTwo) : preparedValueTwo;\n\n one = simplify(one);\n two = simplify(two);\n\n const equals = one.equals(two);\n\n return inverse ? !equals : equals;\n};\n\nexport const ave = (a, b) => {\n const am = mathjs.parse(a);\n const bm = mathjs.parse(b);\n\n const arm = simplify(am);\n const brm = simplify(bm);\n return arm.equals(brm);\n};\n\nexport default areValuesEqual;\n"],"file":"index.js"}
1
+ {"version":3,"file":"index.js","names":["mathjs","_interopRequireWildcard","require","_mathExpressions","_interopRequireDefault","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","decimalCommaRegex","decimalRegex","decimalWithThousandSeparatorNumberRegex","rationalizeAllPossibleSubNodes","expression","rationalize","parse","tree","transformedTree","transform","node","rationalizedNode","_unused","prepareExpression","string","isLatex","returnValue","trim","replace","latexToText","concat","textToMathText","unknownCommands","toString","latexToAstOpts","missingFactor","token","console","warn","token_type","unknownCommandBehavior","astToTextOpts","unicode_operators","ne","operands","join","_","exports","latex","extraOtps","undefined","la","me","converters","latexToAstObj","at","astToTextObj","ast","convert","textToAstObj","shouldRationalizeEntireTree","shouldDoIt","traverse","type","fn","exponent","args","compile","eval","functionParameter","_unused2","containsDecimal","match","SIMPLIFY_RULES","l","simplify","v","rules","areValuesEqual","valueOne","valueTwo","options","allowDecimals","inverse","valueOneToUse","valueTwoToUse","test","preparedValueOne","preparedValueTwo","one","two","equals","ave","a","b","am","bm","arm","brm","_default"],"sources":["../src/index.js"],"sourcesContent":["/* eslint-disable no-console */\nimport * as mathjs from 'mathjs';\nimport me from '@pie-framework/math-expressions';\n\nconst decimalCommaRegex = /,/g;\nconst decimalRegex = /\\.|,/g;\nconst decimalWithThousandSeparatorNumberRegex = /^(?!0+\\.00)(?=.{1,9}(\\.|$))(?!0(?!\\.))\\d{1,3}(,\\d{3})*(\\.\\d+)?$/;\n\nconst rationalizeAllPossibleSubNodes = (expression) => rationalize(mathjs.parse(expression));\nconst rationalize = (tree) => {\n const transformedTree = tree.transform((node) => {\n try {\n const rationalizedNode = mathjs.rationalize(node);\n return rationalizedNode;\n } catch {\n return node;\n }\n });\n return transformedTree;\n};\n\nfunction prepareExpression(string, isLatex) {\n let returnValue = string ? string.trim() : '';\n\n returnValue = returnValue.replace(decimalCommaRegex, '.');\n\n returnValue = isLatex\n ? latexToText(`${returnValue}`)\n : textToMathText(`${returnValue}`, { unknownCommands: 'passthrough' }).toString();\n\n returnValue = returnValue.replace('=', '==');\n return rationalizeAllPossibleSubNodes(returnValue);\n}\n\nconst latexToAstOpts = {\n missingFactor: (token, e) => {\n console.warn('missing factor for: ', token.token_type);\n if (token.token_type === 'NUMBER') {\n throw e;\n }\n return 0;\n },\n unknownCommandBehavior: 'passthrough',\n};\n\nconst astToTextOpts = {\n unicode_operators: {\n ne: function(operands) {\n return operands.join(' != ');\n },\n '%': function(operands) {\n return `percent(${operands[0]})`;\n },\n },\n};\n\nexport const latexToText = (latex, extraOtps = {}) => {\n const la = new me.converters.latexToAstObj({ ...latexToAstOpts, ...extraOtps });\n\n const at = new me.converters.astToTextObj({ ...astToTextOpts, ...extraOtps });\n\n const ast = la.convert(latex);\n\n return at.convert(ast);\n};\n\nexport const textToMathText = (latex, extraOtps = {}) => {\n const la = new me.converters.textToAstObj({ ...latexToAstOpts, ...extraOtps });\n\n const at = new me.converters.astToTextObj({ ...astToTextOpts, ...extraOtps });\n\n const ast = la.convert(latex);\n\n return at.convert(ast);\n};\n\nfunction shouldRationalizeEntireTree(tree) {\n let shouldDoIt = true;\n\n // we need to iterate the entire tree to check for some conditions that might make rationalization impossible\n try {\n tree.traverse((node) => {\n // if we have a variable as an exponent for power operation, we should not rationalize\n // try to see if there are power operations with variable exponents\n if (node.type === 'OperatorNode' && node.fn === 'pow') {\n const exponent = node.args[1];\n\n // try to see if it can be compiled and evaluated - if it's a non-numerical value, it'll throw an error\n exponent.compile().eval();\n }\n\n // we cannot have variables for unresolved function calls either\n if (node.type === 'FunctionNode') {\n //try to see if the argument that the function is called with can be resolved as non-variable\n const functionParameter = node.args[0];\n\n // if it holds variables, this will throw an error\n functionParameter.compile().eval();\n }\n });\n\n mathjs.rationalize(tree);\n } catch {\n shouldDoIt = false;\n }\n\n return shouldDoIt;\n}\n\nfunction containsDecimal(expression = '') {\n return expression.match(decimalRegex);\n}\nconst SIMPLIFY_RULES = [\n { l: 'n1^(1/n2)', r: 'nthRoot(n1, n2)' },\n { l: 'sqrt(n1)', r: 'nthRoot(n1, 2)' },\n];\n\nconst simplify = (v) => mathjs.simplify(v, SIMPLIFY_RULES.concat(mathjs.simplify.rules)); //.concat(SIMPLIFY_RULES));\n\nconst areValuesEqual = (valueOne, valueTwo, options = {}) => {\n const {\n // if explicitly set to false, having a decimal value in either side will result in a false equality\n // regardless of mathematical correctness\n allowDecimals,\n isLatex, // if the passed in values are latex, they need to be escaped\n inverse, // returns inverse for the comparison result\n } = options;\n\n let valueOneToUse = valueOne;\n let valueTwoToUse = valueTwo;\n\n if (allowDecimals === false) {\n if (containsDecimal(valueOne) || containsDecimal(valueTwo)) {\n return false;\n }\n } else if (allowDecimals === true) {\n if (containsDecimal(valueOne) && decimalWithThousandSeparatorNumberRegex.test(valueOne)) {\n valueOneToUse = valueOne.replace(decimalCommaRegex, '');\n }\n\n if (containsDecimal(valueTwo) && decimalWithThousandSeparatorNumberRegex.test(valueTwo)) {\n valueTwoToUse = valueTwo.replace(decimalCommaRegex, '');\n }\n }\n\n const preparedValueOne = prepareExpression(valueOneToUse, isLatex, allowDecimals);\n const preparedValueTwo = prepareExpression(valueTwoToUse, isLatex, allowDecimals);\n\n let one = shouldRationalizeEntireTree(preparedValueOne) ? mathjs.rationalize(preparedValueOne) : preparedValueOne;\n let two = shouldRationalizeEntireTree(preparedValueTwo) ? mathjs.rationalize(preparedValueTwo) : preparedValueTwo;\n\n one = simplify(one);\n two = simplify(two);\n\n const equals = one.equals(two);\n\n return inverse ? !equals : equals;\n};\n\nexport const ave = (a, b) => {\n const am = mathjs.parse(a);\n const bm = mathjs.parse(b);\n\n const arm = simplify(am);\n const brm = simplify(bm);\n return arm.equals(brm);\n};\n\nexport default areValuesEqual;\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "publishConfig": {
4
4
  "access": "public"
5
5
  },
6
- "version": "2.20.0",
6
+ "version": "2.21.0-mui-update.0",
7
7
  "description": "Math evaluator tool for comparing expressions for equality",
8
8
  "keywords": [
9
9
  "math",
@@ -23,8 +23,8 @@
23
23
  "mathjs": "^7.0.1"
24
24
  },
25
25
  "devDependencies": {
26
- "@pie-lib/test-utils": "^0.21.0"
26
+ "@pie-lib/test-utils": "^0.22.0-mui-update.0"
27
27
  },
28
28
  "scripts": {},
29
- "gitHead": "e65a495136968b1a07642bde2efd887f46548d25"
29
+ "gitHead": "622d5627dc85e393cdf13e3362970299cc485cc5"
30
30
  }