@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 +10 -2
- package/lib/index.js +17 -50
- package/lib/index.js.map +1 -1
- package/package.json +3 -3
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.
|
|
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.
|
|
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
|
|
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;
|
|
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];
|
|
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
|
-
}
|
|
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];
|
|
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
|
-
|
|
150
|
-
|
|
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.
|
|
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.
|
|
26
|
+
"@pie-lib/test-utils": "^0.22.0-mui-update.0"
|
|
27
27
|
},
|
|
28
28
|
"scripts": {},
|
|
29
|
-
"gitHead": "
|
|
29
|
+
"gitHead": "622d5627dc85e393cdf13e3362970299cc485cc5"
|
|
30
30
|
}
|