UNPKG

mathsteps-experimental-fork

Version:

Step by step math solutions. Experimental Fork

33 lines (28 loc) 1.12 kB
'use strict'; Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); const index = require('../index.js'); const equationEvaluation = require('../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"; index.default.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: equationEvaluation.assessUserEquationSteps(stepsAsText) }; }; exports.getAssessSolvedProblemSteps = getAssessSolvedProblemSteps; exports.getNodeStepsToSolveEquation = getNodeStepsToSolveEquation;