UNPKG

mathsteps-experimental-fork

Version:

Step by step math solutions. Experimental Fork

28 lines (25 loc) 932 B
import math from '../index.js'; import { assessUserEquationSteps } from '../simplifyExpression/equationEvaluation.js'; function getNodeStepsToSolveEquation(equation, variable = null) { if (typeof equation === "object") equation = `${equation.left}=${equation.right}`; const equationSteps = []; const unknownVariable = variable ?? equation.toLowerCase().match(/[a-z]/i)?.[0] ?? "x"; math.solveEquation({ equationAsText: equation, unknownVariable, onStepCb(step) { equationSteps.push({ ...step, equationString: step.equation.toString() }); } }); return equationSteps; } const getAssessSolvedProblemSteps = (problem) => { const steps = getNodeStepsToSolveEquation(problem); const stepsAsText = steps.map((step) => step.equationString); return { steps, assessedSteps: assessUserEquationSteps(stepsAsText) }; }; export { getAssessSolvedProblemSteps, getNodeStepsToSolveEquation };