@pie-lib/math-evaluator 3.1.1-next.0 → 3.2.0-next.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/lib/index.js CHANGED
@@ -1,18 +1,5 @@
1
1
  "use strict";
2
2
 
3
- require("core-js/modules/es.symbol.js");
4
- require("core-js/modules/es.array.filter.js");
5
- require("core-js/modules/es.array.for-each.js");
6
- require("core-js/modules/es.array.iterator.js");
7
- require("core-js/modules/es.object.define-properties.js");
8
- require("core-js/modules/es.object.define-property.js");
9
- require("core-js/modules/es.object.get-own-property-descriptor.js");
10
- require("core-js/modules/es.object.get-own-property-descriptors.js");
11
- require("core-js/modules/es.object.keys.js");
12
- require("core-js/modules/es.string.iterator.js");
13
- require("core-js/modules/es.weak-map.js");
14
- require("core-js/modules/web.dom-collections.for-each.js");
15
- require("core-js/modules/web.dom-collections.iterator.js");
16
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
17
4
  var _typeof = require("@babel/runtime/helpers/typeof");
18
5
  Object.defineProperty(exports, "__esModule", {
@@ -20,15 +7,6 @@ Object.defineProperty(exports, "__esModule", {
20
7
  });
21
8
  exports.textToMathText = exports.latexToText = exports["default"] = exports.ave = void 0;
22
9
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
23
- require("core-js/modules/es.array.concat.js");
24
- require("core-js/modules/es.array.join.js");
25
- require("core-js/modules/es.date.to-string.js");
26
- require("core-js/modules/es.object.to-string.js");
27
- require("core-js/modules/es.regexp.exec.js");
28
- require("core-js/modules/es.regexp.to-string.js");
29
- require("core-js/modules/es.string.match.js");
30
- require("core-js/modules/es.string.replace.js");
31
- require("core-js/modules/es.string.trim.js");
32
10
  var mathjs = _interopRequireWildcard(require("mathjs"));
33
11
  var _mathExpressions = _interopRequireDefault(require("@pie-framework/math-expressions"));
34
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); }
package/lib/index.js.map CHANGED
@@ -1 +1 @@
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":[]}
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": "3.1.1-next.0",
6
+ "version": "3.2.0-next.0+c7578ca",
7
7
  "description": "Math evaluator tool for comparing expressions for equality",
8
8
  "keywords": [
9
9
  "math",
@@ -11,20 +11,23 @@
11
11
  "equations",
12
12
  "expressions"
13
13
  ],
14
- "repository": "pie-framework/pie-lib",
15
14
  "main": "lib/index.js",
16
15
  "module": "src/index.js",
17
16
  "author": "",
18
17
  "license": "ISC",
18
+ "repository": {
19
+ "type": "git",
20
+ "url": "https://github.com/pie-framework/pie-lib"
21
+ },
19
22
  "dependencies": {
20
23
  "@pie-framework/math-expressions": "^3.0.0",
21
24
  "jsesc": "^2.5.2",
22
- "lodash": "^4.17.23",
25
+ "lodash-es": "^4.17.23",
23
26
  "mathjs": "^7.0.1"
24
27
  },
25
28
  "devDependencies": {
26
- "@pie-lib/test-utils": "^1.1.1-next.0"
29
+ "@pie-lib/test-utils": "^1.2.0-next.0+c7578ca"
27
30
  },
28
31
  "scripts": {},
29
- "gitHead": "7bb08145106e65c83a8f4a51902cf669d1be19ac"
32
+ "gitHead": "c7578cae82de46ec0dae41b7d1ef924401e6226d"
30
33
  }
@@ -1,5 +1,5 @@
1
1
  import areValuesEqual, { ave, latexToText } from '../index';
2
- import _ from 'lodash';
2
+ import { chunk } from 'lodash-es';
3
3
 
4
4
  describe('math-evaluator', () => {
5
5
  describe('latexToText', () => {
@@ -23,9 +23,9 @@ describe('math-evaluator', () => {
23
23
  });
24
24
 
25
25
  const assert = (isEqual, opts) => (label) =>
26
- function() {
26
+ function () {
27
27
  const args = Array.from(arguments);
28
- const pairs = _.chunk(args, 2);
28
+ const pairs = chunk(args, 2);
29
29
 
30
30
  describe(label, () => {
31
31
  pairs.forEach(([a, b]) => {
@@ -1 +0,0 @@
1
- []