mathsteps-experimental-fork
Version:
Step by step math solutions. Experimental Fork
35 lines (32 loc) • 1.11 kB
JavaScript
import Equation from './kemuEquation/Equation.js';
import { eqSolver0 } from './kemuEquation/EquationSolver.js';
import { parseText } from './newServices/nodeServices/parseText.js';
import stepThrough from './simplifyExpression/index.js';
const simplifyExpression = (optionsOrExpressionAsText) => {
let rv = null;
try {
let expressionNode = null;
let options = {};
if (typeof optionsOrExpressionAsText === "string") {
expressionNode = parseText(optionsOrExpressionAsText);
} else {
options = optionsOrExpressionAsText;
if (options.expressionAsText != null)
expressionNode = parseText(options.expressionAsText);
else if (options.expressionNode != null)
expressionNode = options.expressionNode;
}
if (expressionNode == null)
throw "missing expression";
rv = stepThrough.newApi(expressionNode, options);
} catch (err) {
throw err;
}
return rv;
};
function solveEquation(options) {
const equation = new Equation(options);
eqSolver0.solveEquation(equation);
return equation;
}
export { simplifyExpression, solveEquation };