math-exercises 2.2.39 → 2.2.40

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.
Files changed (22) hide show
  1. package/lib/exercises/math/calculLitteral/distributivity/simpleDistriXCoeff.d.ts.map +1 -1
  2. package/lib/exercises/math/calculLitteral/systems/basicNiceValuesSystemResolution.d.ts.map +1 -1
  3. package/lib/exercises/math/calculLitteral/systems/basicNiceValuesSystemResolution.js +3 -1
  4. package/lib/exercises/math/derivation/derivative/sqrtCompositionDerivation.d.ts.map +1 -1
  5. package/lib/exercises/math/derivation/derivative/sqrtCompositionDerivation.js +10 -8
  6. package/lib/exercises/math/geometry/cartesian/placeAbscissOnLine.d.ts.map +1 -1
  7. package/lib/exercises/math/geometry/cartesian/placeAbscissOnLine.js +3 -2
  8. package/lib/exercises/math/geometry/cartesian/placeAbscissOnSemiLine.d.ts.map +1 -1
  9. package/lib/exercises/math/geometry/cartesian/placeAbscissOnSemiLine.js +3 -1
  10. package/lib/exercises/math/geometry/vectors/drawAVectorInGGB.d.ts.map +1 -1
  11. package/lib/exercises/math/geometry/vectors/drawAVectorInGGB.js +7 -27
  12. package/lib/geogebra/parsers/approxEqual.d.ts +2 -0
  13. package/lib/geogebra/parsers/approxEqual.d.ts.map +1 -0
  14. package/lib/geogebra/parsers/approxEqual.js +7 -0
  15. package/lib/geogebra/parsers/geogebraParser.d.ts +7 -0
  16. package/lib/geogebra/parsers/geogebraParser.d.ts.map +1 -0
  17. package/lib/geogebra/parsers/geogebraParser.js +58 -0
  18. package/lib/geogebra/parsers/geogebraParser.test.d.ts +2 -0
  19. package/lib/geogebra/parsers/geogebraParser.test.d.ts.map +1 -0
  20. package/lib/geogebra/parsers/geogebraParser.test.js +35 -0
  21. package/lib/tree/nodes/operators/fractionNode.d.ts.map +1 -1
  22. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"simpleDistriXCoeff.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calculLitteral/distributivity/simpleDistriXCoeff.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAmBT,MAAM,0BAA0B,CAAC;AAYlC,KAAK,WAAW,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AA8GF,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,WAAW,CAiBpD,CAAC"}
1
+ {"version":3,"file":"simpleDistriXCoeff.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calculLitteral/distributivity/simpleDistriXCoeff.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAmBT,MAAM,0BAA0B,CAAC;AAWlC,KAAK,WAAW,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AA8GF,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,WAAW,CAiBpD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"basicNiceValuesSystemResolution.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calculLitteral/systems/basicNiceValuesSystemResolution.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAST,MAAM,0BAA0B,CAAC;AAOlC,KAAK,WAAW,GAAG;IACjB,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC;AA8CF,eAAO,MAAM,+BAA+B,EAAE,QAAQ,CAAC,WAAW,CAcjE,CAAC"}
1
+ {"version":3,"file":"basicNiceValuesSystemResolution.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/calculLitteral/systems/basicNiceValuesSystemResolution.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAST,MAAM,0BAA0B,CAAC;AAOlC,KAAK,WAAW,GAAG;IACjB,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC;AAgDF,eAAO,MAAM,+BAA+B,EAAE,QAAQ,CAAC,WAAW,CAcjE,CAAC"}
@@ -18,7 +18,9 @@ const getBasicNiceValuesSystemResolutionQuestion = () => {
18
18
  answer,
19
19
  instruction: `Soit le système d'équations suivant :
20
20
 
21
- $${sys.toTex()}$
21
+ $$
22
+ ${sys.toTex()}
23
+ $$
22
24
 
23
25
  Que vaut $${variable}$ ?`,
24
26
  keys: [],
@@ -1 +1 @@
1
- {"version":3,"file":"sqrtCompositionDerivation.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/derivation/derivative/sqrtCompositionDerivation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAST,MAAM,0BAA0B,CAAC;AAQlC,KAAK,WAAW,GAAG;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAwEF,eAAO,MAAM,yBAAyB,EAAE,QAAQ,CAAC,WAAW,CAc3D,CAAC"}
1
+ {"version":3,"file":"sqrtCompositionDerivation.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/derivation/derivative/sqrtCompositionDerivation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAST,MAAM,0BAA0B,CAAC;AASlC,KAAK,WAAW,GAAG;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAoEF,eAAO,MAAM,yBAAyB,EAAE,QAAQ,CAAC,WAAW,CAc3D,CAAC"}
@@ -8,6 +8,7 @@ const randint_1 = require("../../../../math/utils/random/randint");
8
8
  const sqrtNode_1 = require("../../../../tree/nodes/functions/sqrtNode");
9
9
  const fractionNode_1 = require("../../../../tree/nodes/operators/fractionNode");
10
10
  const multiplyNode_1 = require("../../../../tree/nodes/operators/multiplyNode");
11
+ const latexParser_1 = require("../../../../tree/parsers/latexParser");
11
12
  const getSqrtCompositionDerivationQuestion = () => {
12
13
  const affine = affine_1.AffineConstructor.random();
13
14
  const fct = new sqrtNode_1.SqrtNode(affine.toTree());
@@ -37,14 +38,15 @@ const getPropositions = (n, { answer, affineA, affineB }) => {
37
38
  return (0, exercise_1.shuffleProps)(propositions, n);
38
39
  };
39
40
  const isAnswerValid = (ans, { answer, affineA, affineB }) => {
40
- const affine = new affine_1.Affine(affineA, affineB);
41
- const fct = new sqrtNode_1.SqrtNode(affine.toTree());
42
- const fraction = new fractionNode_1.FractionNode(affine.a.toTree(), new multiplyNode_1.MultiplyNode((2).toTree(), fct)).simplify();
43
- const texs = fraction.toAllValidTexs({
44
- allowFractionToDecimal: true,
45
- allowMinusAnywhereInFraction: true,
46
- });
47
- return texs.includes(ans);
41
+ try {
42
+ const parsed = (0, latexParser_1.parseLatex)(ans);
43
+ const simplified = parsed.simplify();
44
+ console.log(simplified.toTex());
45
+ return simplified.toTex() === answer;
46
+ }
47
+ catch (err) {
48
+ return false;
49
+ }
48
50
  };
49
51
  exports.sqrtCompositionDerivation = {
50
52
  id: "sqrtCompositionDerivation",
@@ -1 +1 @@
1
- {"version":3,"file":"placeAbscissOnLine.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/geometry/cartesian/placeAbscissOnLine.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAST,MAAM,0BAA0B,CAAC;AAOlC,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAQvD,KAAK,WAAW,GAAG;IACjB,WAAW,EAAE,UAAU,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAiIF,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,WAAW,CAcpD,CAAC"}
1
+ {"version":3,"file":"placeAbscissOnLine.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/geometry/cartesian/placeAbscissOnLine.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAST,MAAM,0BAA0B,CAAC;AAOlC,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAQvD,KAAK,WAAW,GAAG;IACjB,WAAW,EAAE,UAAU,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAkIF,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,WAAW,CAcpD,CAAC"}
@@ -53,8 +53,9 @@ const getStudentGGBOptions = ({ coeff, oneUnitTex, abscissType, }) => {
53
53
  };
54
54
  const isGGBAnswerValid = (ans, { ggbAnswer, absciss, abscissTex, abscissType, axisUnit, coeff, oneUnitTex }) => {
55
55
  const points = (0, parseGGBPoints_1.parseGGBPoints)(ans).map((p) => (0, ggbPointToCoords_1.ggbPointToCoords)(p));
56
- return points.some((point) => point.y === 0 && Math.abs(point.x - coeff) < 0.1);
57
- return false;
56
+ return (points.length === 1 &&
57
+ points[0].y === 0 &&
58
+ Math.abs(points[0].x - coeff) < 0.1);
58
59
  };
59
60
  const getPlaceAbscissOnLineQuestion = () => {
60
61
  const abscissType = (0, random_1.random)([
@@ -1 +1 @@
1
- {"version":3,"file":"placeAbscissOnSemiLine.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/geometry/cartesian/placeAbscissOnSemiLine.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAST,MAAM,0BAA0B,CAAC;AAOlC,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAQvD,KAAK,WAAW,GAAG;IACjB,WAAW,EAAE,UAAU,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAoIF,eAAO,MAAM,sBAAsB,EAAE,QAAQ,CAAC,WAAW,CAcxD,CAAC"}
1
+ {"version":3,"file":"placeAbscissOnSemiLine.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/geometry/cartesian/placeAbscissOnSemiLine.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAST,MAAM,0BAA0B,CAAC;AAOlC,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAQvD,KAAK,WAAW,GAAG;IACjB,WAAW,EAAE,UAAU,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAsIF,eAAO,MAAM,sBAAsB,EAAE,QAAQ,CAAC,WAAW,CAcxD,CAAC"}
@@ -53,7 +53,9 @@ const getStudentGGBOptions = ({ coeff, oneUnitTex, abscissType, }) => {
53
53
  };
54
54
  const isGGBAnswerValid = (ans, { ggbAnswer, absciss, abscissTex, abscissType, axisUnit, coeff, oneUnitTex }) => {
55
55
  const points = (0, parseGGBPoints_1.parseGGBPoints)(ans).map((p) => (0, ggbPointToCoords_1.ggbPointToCoords)(p));
56
- return points.some((point) => point.y === 0 && Math.abs(point.x - coeff) < 0.1);
56
+ return (points.length === 1 &&
57
+ points[0].y === 0 &&
58
+ Math.abs(points[0].x - coeff) < 0.1);
57
59
  };
58
60
  const getPlaceAbscissOnSemiLineQuestion = () => {
59
61
  const abscissType = (0, random_1.random)([
@@ -1 +1 @@
1
- {"version":3,"file":"drawAVectorInGGB.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/geometry/vectors/drawAVectorInGGB.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAIT,MAAM,0BAA0B,CAAC;AAOlC,KAAK,WAAW,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AAuDF,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,WAAW,CAalD,CAAC"}
1
+ {"version":3,"file":"drawAVectorInGGB.d.ts","sourceRoot":"","sources":["../../../../../src/exercises/math/geometry/vectors/drawAVectorInGGB.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAIT,MAAM,0BAA0B,CAAC;AASlC,KAAK,WAAW,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AAkCF,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,WAAW,CAalD,CAAC"}
@@ -6,6 +6,8 @@ const toolBarConstructor_1 = require("../../../../exercises/utils/geogebra/toolB
6
6
  const vector_1 = require("../../../../math/geometry/vector");
7
7
  const randint_1 = require("../../../../math/utils/random/randint");
8
8
  const geogebraConstructor_1 = require("../../../../geogebra/geogebraConstructor");
9
+ const geogebraParser_1 = require("../../../../geogebra/parsers/geogebraParser");
10
+ const approxEqual_1 = require("../../../../geogebra/parsers/approxEqual");
9
11
  const getDrawAVectorInGgbQuestion = () => {
10
12
  const x = (0, randint_1.randint)(-3, 3);
11
13
  const y = x === 0 ? (0, randint_1.randint)(-3, 3, [0]) : (0, randint_1.randint)(-3, 3);
@@ -29,34 +31,12 @@ const getDrawAVectorInGgbQuestion = () => {
29
31
  return question;
30
32
  };
31
33
  const isGGBAnswerValid = (ans, { ggbAnswer, x, y }) => {
32
- const vector = ans.find((s) => !!s.match(/[a-z]=/)?.length);
33
- if (!vector)
34
+ const parser = new geogebraParser_1.GeogebraParser(ans);
35
+ const vectors = parser.vectors();
36
+ if (vectors.length !== 1)
34
37
  return false;
35
- const points = vector
36
- .substring(vector.indexOf("["))
37
- .replaceAll("[", "")
38
- .replaceAll("]", "")
39
- .replaceAll(" ", "")
40
- .split(",");
41
- const origin = ans.find((s) => s[0] === points[0]);
42
- const end = ans.find((s) => s[0] === points[1]);
43
- if (!origin || !end)
44
- return false;
45
- const originCoords = origin
46
- .split("=")[1]
47
- .replaceAll("(", "")
48
- .replaceAll(")", "")
49
- .split(",");
50
- const endCoords = end
51
- .split("=")[1]
52
- .replaceAll("(", "")
53
- .replaceAll(")", "")
54
- .split(",");
55
- const coords = [
56
- Number(endCoords[0]) - Number(originCoords[0]),
57
- Number(endCoords[1]) - Number(originCoords[1]),
58
- ];
59
- return Number(coords[0]) === x && Number(coords[1]) === y;
38
+ const vector = vectors[0];
39
+ return (0, approxEqual_1.approxEqual)(vector[0], x) && (0, approxEqual_1.approxEqual)(vector[1], y);
60
40
  };
61
41
  exports.drawAVectorInGGB = {
62
42
  id: "drawAVectorInGGB",
@@ -0,0 +1,2 @@
1
+ export declare const approxEqual: (x: number, y: number, margin?: number) => boolean;
2
+ //# sourceMappingURL=approxEqual.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"approxEqual.d.ts","sourceRoot":"","sources":["../../../src/geogebra/parsers/approxEqual.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW,MAAO,MAAM,KAAK,MAAM,WAAU,MAAM,YAE/D,CAAC"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.approxEqual = void 0;
4
+ const approxEqual = (x, y, margin = 0.3) => {
5
+ return Math.abs(x - y) < margin;
6
+ };
7
+ exports.approxEqual = approxEqual;
@@ -0,0 +1,7 @@
1
+ export declare class GeogebraParser {
2
+ commands: string[];
3
+ constructor(studentCommands: string[]);
4
+ pointCoords(name: string): number[] | undefined;
5
+ vectors(): number[][];
6
+ }
7
+ //# sourceMappingURL=geogebraParser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"geogebraParser.d.ts","sourceRoot":"","sources":["../../../src/geogebra/parsers/geogebraParser.ts"],"names":[],"mappings":"AAAA,qBAAa,cAAc;IACzB,QAAQ,EAAE,MAAM,EAAE,CAAC;gBACP,eAAe,EAAE,MAAM,EAAE;IAIrC,WAAW,CAAC,IAAI,EAAE,MAAM;IAWxB,OAAO;CAqCR"}
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GeogebraParser = void 0;
4
+ class GeogebraParser {
5
+ constructor(studentCommands) {
6
+ this.commands = studentCommands;
7
+ }
8
+ pointCoords(name) {
9
+ const command = this.commands.find((c) => c.includes(name + "="));
10
+ if (!command)
11
+ return;
12
+ const coords = command.split("=")[1];
13
+ const [x, y] = coords
14
+ .replace("(", "")
15
+ .replace(")", "")
16
+ .split(",")
17
+ .map(parseFloat);
18
+ return [x, y];
19
+ }
20
+ vectors() {
21
+ //regex find string that starts with a undercase letter and then =vector
22
+ const res = [];
23
+ const vectors = this.commands.filter((cmd) => !!cmd.match(/^[a-z]=Vector/)?.length);
24
+ if (!vectors)
25
+ return [];
26
+ for (const vector of vectors) {
27
+ const pointCoords = [];
28
+ let command = vector.split("=Vector")[1];
29
+ command.replace("]", "").replace("[", "").replaceAll(" ", "");
30
+ let pointMatch = command.match(/[A-Z]|\(\d+(\.\d+)?,\s*\d+(\.\d+)?\)/);
31
+ while (pointMatch?.length) {
32
+ const name = pointMatch[0];
33
+ if (name.match(/[A-Z]/)?.length) {
34
+ const point = this.pointCoords(name);
35
+ if (point)
36
+ pointCoords.push(point);
37
+ }
38
+ else {
39
+ //point is (xxx,yyy)
40
+ const [x, y] = name
41
+ .replace("(", "")
42
+ .replace(")", "")
43
+ .split(",")
44
+ .map(parseFloat);
45
+ pointCoords.push([x, y]);
46
+ }
47
+ command = command.substring(pointMatch.index + 1);
48
+ pointMatch = command.match(/[A-Z]|\(\d+(\.\d+)?,\s*\d+(\.\d+)?\)/);
49
+ }
50
+ res.push([
51
+ pointCoords[1][0] - pointCoords[0][0],
52
+ pointCoords[1][1] - pointCoords[0][1],
53
+ ]);
54
+ }
55
+ return res;
56
+ }
57
+ }
58
+ exports.GeogebraParser = GeogebraParser;
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=geogebraParser.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"geogebraParser.test.d.ts","sourceRoot":"","sources":["../../../src/geogebra/parsers/geogebraParser.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const geogebraParser_1 = require("./geogebraParser");
4
+ const suits = [
5
+ {
6
+ commands: ["u=Vector[(2,1),(1,3)]"],
7
+ expect: [-1, 2],
8
+ },
9
+ {
10
+ commands: ["A=(1,3)", "B=(2,1)", "u=Vector[A,B]"],
11
+ expect: [1, -2],
12
+ },
13
+ {
14
+ commands: ["A=(1,3)", "u=Vector[A,(3,4)]"],
15
+ expect: [2, 1],
16
+ },
17
+ ];
18
+ test("geogebraParser", () => {
19
+ try {
20
+ for (const suit of suits) {
21
+ const parser = new geogebraParser_1.GeogebraParser(suit.commands);
22
+ const vectors = parser.vectors();
23
+ console.log(vectors);
24
+ vectors.forEach((vector) => {
25
+ const [x, y] = vector;
26
+ expect(x).toEqual(suit.expect[0]);
27
+ expect(y).toEqual(suit.expect[1]);
28
+ });
29
+ }
30
+ }
31
+ catch (err) {
32
+ console.log(err);
33
+ throw err;
34
+ }
35
+ });
@@ -1 +1 @@
1
- {"version":3,"file":"fractionNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/operators/fractionNode.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,YAAY,EAAkB,MAAM,gBAAgB,CAAC;AAK3E,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAKlE,wBAAgB,cAAc,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,IAAI,YAAY,CAEzD;AACD,qBAAa,YAAa,YAAW,YAAY;IAC/C,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB;;;OAGG;IACH,EAAE,EAAE,WAAW,CAAC;IAChB,SAAS,EAAE,aAAa,CAAC;IACzB,UAAU,EAAE,aAAa,CAAC;IAC1B,IAAI,EAAE,QAAQ,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;gBAEjB,SAAS,EAAE,aAAa,EACxB,UAAU,EAAE,aAAa,EACzB,IAAI,CAAC,EAAE,WAAW;IAUpB,YAAY,IAAI,MAAM;IAItB,aAAa;;;;;;;;;IAQb,UAAU;IAGV,iBAAiB,CAAC,IAAI,CAAC,EAAE,WAAW;IA+BpC,cAAc,CAAC,IAAI,CAAC,EAAE,WAAW,GAAG,MAAM,EAAE;IAI5C,KAAK,IAAI,MAAM;IAaf,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAMrC,QAAQ,CAAC,IAAI,CAAC,EAAE,eAAe,GAAG,aAAa;IAgJ/C,MAAM,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO;CAOrC"}
1
+ {"version":3,"file":"fractionNode.d.ts","sourceRoot":"","sources":["../../../../src/tree/nodes/operators/fractionNode.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,YAAY,EAAkB,MAAM,gBAAgB,CAAC;AAK3E,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAKlE,wBAAgB,cAAc,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,IAAI,YAAY,CAEzD;AACD,qBAAa,YAAa,YAAW,YAAY;IAC/C,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB;;;OAGG;IACH,EAAE,EAAE,WAAW,CAAC;IAChB,SAAS,EAAE,aAAa,CAAC;IACzB,UAAU,EAAE,aAAa,CAAC;IAC1B,IAAI,EAAE,QAAQ,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;gBAEjB,SAAS,EAAE,aAAa,EACxB,UAAU,EAAE,aAAa,EACzB,IAAI,CAAC,EAAE,WAAW;IAUpB,YAAY,IAAI,MAAM;IAItB,aAAa;;;;;;;;;IAQb,UAAU;IAGV,iBAAiB,CAAC,IAAI,CAAC,EAAE,WAAW;IA+BpC,cAAc,CAAC,IAAI,CAAC,EAAE,WAAW,GAAG,MAAM,EAAE;IAI5C,KAAK,IAAI,MAAM;IAcf,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAMrC,QAAQ,CAAC,IAAI,CAAC,EAAE,eAAe,GAAG,aAAa;IAgJ/C,MAAM,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO;CAOrC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "math-exercises",
3
- "version": "2.2.39",
3
+ "version": "2.2.40",
4
4
  "description": "Math exercises generator for middle school and high school",
5
5
  "main": "lib/index.js",
6
6
  "files": [