math-exercises 3.0.131 → 3.0.133

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 (109) hide show
  1. package/lib/exercises/exercise.d.ts +37 -30
  2. package/lib/exercises/exercise.d.ts.map +1 -1
  3. package/lib/exercises/math/calcul/mentalCaluls/mentalProgramSolve.d.ts +2 -2
  4. package/lib/exercises/math/calcul/mentalCaluls/mentalProgramSolve.d.ts.map +1 -1
  5. package/lib/exercises/math/calcul/mentalCaluls/mentalProgramSolve.js +44 -40
  6. package/lib/exercises/math/calcul/ordering/compareA10N.d.ts +1 -1
  7. package/lib/exercises/math/calcul/ordering/compareA10N.d.ts.map +1 -1
  8. package/lib/exercises/math/calcul/ordering/compareA10N.js +15 -10
  9. package/lib/exercises/math/calcul/ordering/compareFracABWithFracAPlusCBPlusC.d.ts.map +1 -1
  10. package/lib/exercises/math/calcul/ordering/compareFracABWithFracAPlusCBPlusC.js +0 -1
  11. package/lib/exercises/math/calcul/ordering/compareFracAndDec.d.ts +1 -1
  12. package/lib/exercises/math/calcul/ordering/compareFracAndDec.js +1 -1
  13. package/lib/exercises/math/calcul/proportionality/findCoeffInProportionalTableNonIntegers.js +1 -1
  14. package/lib/exercises/math/calcul/proportionality/isTableProportionalNonInteger.d.ts.map +1 -1
  15. package/lib/exercises/math/calcul/proportionality/isTableProportionalNonInteger.js +2 -0
  16. package/lib/exercises/math/calcul/rounding/estimatePow10NPlusPow10MinusN.d.ts.map +1 -1
  17. package/lib/exercises/math/calcul/rounding/estimatePow10NPlusPow10MinusN.js +8 -6
  18. package/lib/exercises/math/calcul/rounding/rounding.d.ts +1 -1
  19. package/lib/exercises/math/calcul/rounding/rounding.d.ts.map +1 -1
  20. package/lib/exercises/math/calcul/rounding/rounding.js +7 -6
  21. package/lib/exercises/math/calculLitteral/equation/equationFromProblem.d.ts.map +1 -1
  22. package/lib/exercises/math/calculLitteral/equation/equationFromProblem.js +8 -9
  23. package/lib/exercises/math/calculLitteral/simplifying/compareATimes0.d.ts.map +1 -1
  24. package/lib/exercises/math/calculLitteral/simplifying/compareATimes0.js +4 -4
  25. package/lib/exercises/math/calculLitteral/writing/writeLitExpFromFrenchExp.d.ts.map +1 -1
  26. package/lib/exercises/math/calculLitteral/writing/writeLitExpFromFrenchExp.js +15 -60
  27. package/lib/exercises/math/conversion/kmPerMinToKmPerHourConversion.js +14 -10
  28. package/lib/exercises/math/conversion/lengthConversion.d.ts.map +1 -1
  29. package/lib/exercises/math/conversion/lengthConversion.js +1 -0
  30. package/lib/exercises/math/conversion/prefixToNumber.d.ts +0 -2
  31. package/lib/exercises/math/conversion/prefixToNumber.d.ts.map +1 -1
  32. package/lib/exercises/math/conversion/prefixToNumber.js +31 -24
  33. package/lib/exercises/math/conversion/secondsToHours.js +1 -1
  34. package/lib/exercises/math/functions/affines/drawAffineFromPointAndLeadingCoeff.js +2 -2
  35. package/lib/exercises/math/functions/affines/drawAffineFromProgCalc.d.ts +1 -1
  36. package/lib/exercises/math/functions/affines/drawAffineFromProgCalc.d.ts.map +1 -1
  37. package/lib/exercises/math/functions/affines/drawAffineFromProgCalc.js +4 -5
  38. package/lib/exercises/math/functions/affines/leadingCoefficient.js +1 -1
  39. package/lib/exercises/math/geometry/angles/anglesUsingIsParallel.d.ts +1 -1
  40. package/lib/exercises/math/geometry/angles/anglesUsingIsParallel.d.ts.map +1 -1
  41. package/lib/exercises/math/geometry/angles/anglesUsingIsParallel.js +10 -11
  42. package/lib/exercises/math/geometry/angles/isParallelUsingAngles.d.ts +1 -1
  43. package/lib/exercises/math/geometry/angles/isParallelUsingAngles.d.ts.map +1 -1
  44. package/lib/exercises/math/geometry/angles/isParallelUsingAngles.js +8 -8
  45. package/lib/exercises/math/geometry/cartesian/index.d.ts +1 -0
  46. package/lib/exercises/math/geometry/cartesian/index.d.ts.map +1 -1
  47. package/lib/exercises/math/geometry/cartesian/index.js +1 -0
  48. package/lib/exercises/math/geometry/cartesian/placeAbscissOnSemiLine.d.ts +6 -9
  49. package/lib/exercises/math/geometry/cartesian/placeAbscissOnSemiLine.d.ts.map +1 -1
  50. package/lib/exercises/math/geometry/cartesian/placeAbscissOnSemiLine.js +60 -137
  51. package/lib/exercises/math/geometry/cartesian/placeAbscissOnSemiLineV2.d.ts +16 -0
  52. package/lib/exercises/math/geometry/cartesian/placeAbscissOnSemiLineV2.d.ts.map +1 -0
  53. package/lib/exercises/math/geometry/cartesian/placeAbscissOnSemiLineV2.js +213 -0
  54. package/lib/exercises/math/percent/evolutions/globalPercent.d.ts +4 -1
  55. package/lib/exercises/math/percent/evolutions/globalPercent.d.ts.map +1 -1
  56. package/lib/exercises/math/percent/evolutions/globalPercent.js +37 -21
  57. package/lib/exercises/math/percent/findProportion.d.ts.map +1 -1
  58. package/lib/exercises/math/percent/findProportion.js +24 -26
  59. package/lib/exercises/math/percent/percentToDecimal.d.ts +4 -1
  60. package/lib/exercises/math/percent/percentToDecimal.d.ts.map +1 -1
  61. package/lib/exercises/math/percent/percentToDecimal.js +55 -35
  62. package/lib/exercises/math/powers/calculateNegativePower.d.ts +1 -1
  63. package/lib/exercises/math/powers/calculateNegativePower.d.ts.map +1 -1
  64. package/lib/exercises/math/powers/calculateNegativePower.js +17 -10
  65. package/lib/exercises/math/probaStat/basicProbas/possibleValuesForProba.js +2 -2
  66. package/lib/exercises/math/probaStat/basicStats/calculateFrequencyInList.d.ts +5 -1
  67. package/lib/exercises/math/probaStat/basicStats/calculateFrequencyInList.d.ts.map +1 -1
  68. package/lib/exercises/math/probaStat/basicStats/calculateFrequencyInList.js +76 -12
  69. package/lib/exercises/math/probaStat/conditionalProbaWriteFromFrench.js +7 -7
  70. package/lib/exercises/math/probaStat/probaAsSumOfProbas.d.ts +2 -3
  71. package/lib/exercises/math/probaStat/probaAsSumOfProbas.d.ts.map +1 -1
  72. package/lib/exercises/math/probaStat/probaAsSumOfProbas.js +60 -95
  73. package/lib/exercises/math/probaStat/probaFromTableWithContext.d.ts +12 -5
  74. package/lib/exercises/math/probaStat/probaFromTableWithContext.d.ts.map +1 -1
  75. package/lib/exercises/math/probaStat/probaFromTableWithContext.js +354 -94
  76. package/lib/exercises/math/probaStat/stats1var/medianWithList.d.ts +4 -1
  77. package/lib/exercises/math/probaStat/stats1var/medianWithList.d.ts.map +1 -1
  78. package/lib/exercises/math/probaStat/stats1var/medianWithList.js +43 -23
  79. package/lib/exercises/math/probaStat/stats1var/plausibilityOfAverage.d.ts.map +1 -1
  80. package/lib/exercises/math/probaStat/stats1var/plausibilityOfAverage.js +70 -23
  81. package/lib/exercises/math/probaStat/stats1var/quartilesList.d.ts +1 -1
  82. package/lib/exercises/math/probaStat/stats1var/quartilesList.d.ts.map +1 -1
  83. package/lib/exercises/math/probaStat/stats1var/quartilesList.js +4 -4
  84. package/lib/exercises/pc/index.d.ts +0 -1
  85. package/lib/exercises/pc/index.d.ts.map +1 -1
  86. package/lib/exercises/pc/index.js +0 -1
  87. package/lib/exercises/pc/motion/averageSpeed.d.ts +0 -2
  88. package/lib/exercises/pc/motion/averageSpeed.d.ts.map +1 -1
  89. package/lib/exercises/pc/motion/averageSpeed.js +40 -45
  90. package/lib/exercises/pc/optics/lensFormula.d.ts +1 -2
  91. package/lib/exercises/pc/optics/lensFormula.d.ts.map +1 -1
  92. package/lib/exercises/pc/optics/lensFormula.js +7 -10
  93. package/lib/exercises/pc/weight/calculateWeight.d.ts +1 -3
  94. package/lib/exercises/pc/weight/calculateWeight.d.ts.map +1 -1
  95. package/lib/exercises/pc/weight/calculateWeight.js +38 -30
  96. package/lib/index.d.ts +932 -948
  97. package/lib/index.d.ts.map +1 -1
  98. package/lib/math/progCalc/progCalc.d.ts +2 -2
  99. package/lib/math/progCalc/progCalc.d.ts.map +1 -1
  100. package/lib/math/progCalc/progCalc.js +4 -11
  101. package/lib/playgroundUtils.d.ts +3 -0
  102. package/lib/playgroundUtils.d.ts.map +1 -0
  103. package/lib/playgroundUtils.js +13 -0
  104. package/lib/server.js +121 -0
  105. package/lib/tests/exoTest.d.ts.map +1 -1
  106. package/lib/tests/exoTest.js +13 -0
  107. package/lib/types/keyIds.d.ts +1 -1
  108. package/lib/types/keyIds.d.ts.map +1 -1
  109. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,aAAa,MAAM,2BAA2B,CAAC;AAE3D,OAAO,4BAA4B,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,QAAA,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0EAA+B,CAAC;AACnD,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kEAA6B,CAAC;AAE/C,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,aAAa,MAAM,2BAA2B,CAAC;AAE3D,OAAO,4BAA4B,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,QAAA,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kDAA+B,CAAC;AACnD,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kDAA6B,CAAC;AAE/C,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC"}
@@ -18,9 +18,9 @@ export type ProgCalcOperationIdentifiers = {
18
18
  export declare class ProgCalcOperation {
19
19
  operationIds: ProgCalcOperationIdentifiers;
20
20
  strFrench: string;
21
- func: (node: AlgebraicNode) => AlgebraicNode | undefined;
21
+ func: (node: AlgebraicNode) => AlgebraicNode;
22
22
  inverseOperationIds: ProgCalcOperationIdentifiers;
23
- constructor(operationIds: ProgCalcOperationIdentifiers, strFrench: string, func: (node: AlgebraicNode) => AlgebraicNode | undefined, inverseOperationIds: ProgCalcOperationIdentifiers);
23
+ constructor(operationIds: ProgCalcOperationIdentifiers, strFrench: string, func: (node: AlgebraicNode) => AlgebraicNode, inverseOperationIds: ProgCalcOperationIdentifiers);
24
24
  getInverseOperation(): ProgCalcOperation;
25
25
  toIdentifiers(): ProgCalcOperationIdentifiers;
26
26
  }
@@ -1 +1 @@
1
- {"version":3,"file":"progCalc.d.ts","sourceRoot":"","sources":["../../../src/math/progCalc/progCalc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAMlE,OAAO,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAC;AAI1E,OAAO,EAEL,eAAe,EAChB,MAAM,qCAAqC,CAAC;AAG7C,MAAM,MAAM,gBAAgB,GACxB,UAAU,GACV,SAAS,GACT,KAAK,GACL,UAAU,GACV,UAAU,GACV,QAAQ,CAAC;AAEb,MAAM,WAAW,iCAAiC;IAChD,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,WAAW,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;CACvC;AAED,eAAO,MAAM,qBAAqB,EAAE,iCAAiC,EA2BpE,CAAC;AAEF,8BAAsB,4BAA4B;IAChD,MAAM,CAAC,qBAAqB,CAAC,WAAW,EAAE,iCAAiC;IAS3E,MAAM,CAAC,eAAe,CAAC,KAAK,EAAE,4BAA4B;CA8E3D;AAED,MAAM,MAAM,4BAA4B,GAAG;IACzC,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,KAAK,CAAC,EAAE,eAAe,CAAC;CACzB,CAAC;AAEF,qBAAa,iBAAiB;IAC5B,YAAY,EAAE,4BAA4B,CAAC;IAC3C,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,aAAa,GAAG,SAAS,CAAC;IACzD,mBAAmB,EAAE,4BAA4B,CAAC;gBAGhD,YAAY,EAAE,4BAA4B,EAC1C,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,aAAa,GAAG,SAAS,EACxD,mBAAmB,EAAE,4BAA4B;IAQnD,mBAAmB,IAAI,iBAAiB;IAMxC,aAAa,IAAI,4BAA4B;CAG9C;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,YAAY,EAAE,4BAA4B,EAAE,CAAC;CAC9C,CAAC;AAEF,8BAAsB,mBAAmB;IACvC,MAAM,CAAC,MAAM,CACX,OAAO,EAAE,MAAM,EACf,oBAAoB,GAAE,OAAc,EACpC,uBAAuB,GAAE,iCAAiC,EAA0B;IAatF,MAAM,CAAC,mBAAmB,CACxB,OAAO,EAAE,MAAM,EACf,oBAAoB,EAAE,OAAO,EAC7B,uBAAuB,EAAE,iCAAiC,EAAE,EAC5D,iBAAiB,EAAE,iCAAiC,EAAE;IAyBxD,MAAM,CAAC,mBAAmB,CACxB,OAAO,GAAE,MAAU,EACnB,oBAAoB,GAAE,OAAc;IA6CtC,MAAM,CAAC,YAAY,CACjB,OAAO,EAAE,MAAM,EACf,kBAAkB,EAAE,aAAa,EACjC,QAAQ,GAAE,MAAU,EACpB,oBAAoB,GAAE,OAAc;IA4EtC,MAAM,CAAC,eAAe,CAAC,KAAK,EAAE,mBAAmB;CAMlD;AAED,qBAAa,QAAQ;IACnB,UAAU,EAAE,iBAAiB,EAAE,CAAC;gBAEpB,YAAY,EAAE,iBAAiB,EAAE;IAI7C,KAAK,CAAC,IAAI,EAAE,aAAa,GAAG,aAAa,GAAG,SAAS;IAYrD,qBAAqB,IAAI,MAAM,EAAE;IAIjC,kBAAkB,IAAI,QAAQ,GAAG,SAAS;IAO1C,MAAM,CAAC,YAAY,EAAE,YAAY,GAAG,aAAa;IAIjD,aAAa,IAAI,mBAAmB;CAOrC"}
1
+ {"version":3,"file":"progCalc.d.ts","sourceRoot":"","sources":["../../../src/math/progCalc/progCalc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAMlE,OAAO,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAC;AAI1E,OAAO,EAEL,eAAe,EAChB,MAAM,qCAAqC,CAAC;AAG7C,MAAM,MAAM,gBAAgB,GACxB,UAAU,GACV,SAAS,GACT,KAAK,GACL,UAAU,GACV,UAAU,GACV,QAAQ,CAAC;AAEb,MAAM,WAAW,iCAAiC;IAChD,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,WAAW,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;CACvC;AAED,eAAO,MAAM,qBAAqB,EAAE,iCAAiC,EA2BpE,CAAC;AAEF,8BAAsB,4BAA4B;IAChD,MAAM,CAAC,qBAAqB,CAAC,WAAW,EAAE,iCAAiC;IAS3E,MAAM,CAAC,eAAe,CAAC,KAAK,EAAE,4BAA4B;CAwE3D;AAED,MAAM,MAAM,4BAA4B,GAAG;IACzC,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,KAAK,CAAC,EAAE,eAAe,CAAC;CACzB,CAAC;AAEF,qBAAa,iBAAiB;IAC5B,YAAY,EAAE,4BAA4B,CAAC;IAC3C,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,aAAa,CAAC;IAC7C,mBAAmB,EAAE,4BAA4B,CAAC;gBAGhD,YAAY,EAAE,4BAA4B,EAC1C,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,aAAa,EAC5C,mBAAmB,EAAE,4BAA4B;IAQnD,mBAAmB,IAAI,iBAAiB;IAMxC,aAAa,IAAI,4BAA4B;CAG9C;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,YAAY,EAAE,4BAA4B,EAAE,CAAC;CAC9C,CAAC;AAEF,8BAAsB,mBAAmB;IACvC,MAAM,CAAC,MAAM,CACX,OAAO,EAAE,MAAM,EACf,oBAAoB,GAAE,OAAc,EACpC,uBAAuB,GAAE,iCAAiC,EAA0B;IAatF,MAAM,CAAC,mBAAmB,CACxB,OAAO,EAAE,MAAM,EACf,oBAAoB,EAAE,OAAO,EAC7B,uBAAuB,EAAE,iCAAiC,EAAE,EAC5D,iBAAiB,EAAE,iCAAiC,EAAE;IAyBxD,MAAM,CAAC,mBAAmB,CACxB,OAAO,GAAE,MAAU,EACnB,oBAAoB,GAAE,OAAc;IA6CtC,MAAM,CAAC,YAAY,CACjB,OAAO,EAAE,MAAM,EACf,kBAAkB,EAAE,aAAa,EACjC,QAAQ,GAAE,MAAU,EACpB,oBAAoB,GAAE,OAAc;IA2EtC,MAAM,CAAC,eAAe,CAAC,KAAK,EAAE,mBAAmB;CAMlD;AAED,qBAAa,QAAQ;IACnB,UAAU,EAAE,iBAAiB,EAAE,CAAC;gBAEpB,YAAY,EAAE,iBAAiB,EAAE;IAI7C,KAAK,CAAC,IAAI,EAAE,aAAa,GAAG,aAAa,GAAG,SAAS;IAYrD,qBAAqB,IAAI,MAAM,EAAE;IAIjC,kBAAkB,IAAI,QAAQ,GAAG,SAAS;IAO1C,MAAM,CAAC,YAAY,EAAE,YAAY,GAAG,aAAa;IAIjD,aAAa,IAAI,mBAAmB;CAOrC"}
@@ -47,14 +47,7 @@ export class ProgCalcOperationConstructor {
47
47
  case "opposite":
48
48
  return new ProgCalcOperation(opIds, `Prendre l'opposé`, (node) => opposite(node), { operator: "opposite" });
49
49
  case "inverse":
50
- return new ProgCalcOperation(opIds, `Prendre l'inverse`, (node) => {
51
- if (node.simplify().evaluate() === 0) {
52
- return undefined;
53
- }
54
- else {
55
- return frac(1, node);
56
- }
57
- }, { operator: "inverse" });
50
+ return new ProgCalcOperation(opIds, `Prendre l'inverse`, (node) => frac(1, node), { operator: "inverse" });
58
51
  case "add": {
59
52
  const nodeParam = NodeConstructor.fromIdentifiers(opIds.param);
60
53
  return new ProgCalcOperation(opIds, `Ajouter $ ${nodeParam.toTex()} $`, (nodeX) => add(nodeX, nodeParam), { operator: "subtract", param: opIds.param });
@@ -63,7 +56,7 @@ export class ProgCalcOperationConstructor {
63
56
  const nodeParam = NodeConstructor.fromIdentifiers(opIds.param);
64
57
  const strFrench = random([
65
58
  `Soustraire $ ${nodeParam.toTex()} $`,
66
- `Oter $ ${nodeParam.toTex()} $`,
59
+ `Ôter $ ${nodeParam.toTex()} $`,
67
60
  `Enlever $ ${nodeParam.toTex()} $`,
68
61
  ]);
69
62
  return new ProgCalcOperation(opIds, strFrench, (nodeX) => substract(nodeX, nodeParam), { operator: "add", param: opIds.param });
@@ -192,8 +185,8 @@ export class ProgCalcConstructor {
192
185
  operation =
193
186
  ProgCalcOperationConstructor.randomFromOpGenConfig(opGenConfig);
194
187
  const nodeResult = operation.func(nodeCurrent);
195
- const numberResult = nodeResult && nodeResult.evaluate();
196
- const isValidResult = numberResult && isInt(numberResult * Math.pow(10, nbDigits));
188
+ const numberResult = nodeResult.evaluate();
189
+ const isValidResult = isInt(numberResult * Math.pow(10, nbDigits));
197
190
  if (isValidResult) {
198
191
  isOperationValid = true;
199
192
  nodeCurrent = nodeResult;
@@ -0,0 +1,3 @@
1
+ export declare const viewerUrlExample: () => string;
2
+ export declare const getViewerURLForGetQuestionFromIdentifiers: (exoId: string, identifiers: object, options?: Record<string, string | string[] | boolean>) => string;
3
+ //# sourceMappingURL=playgroundUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"playgroundUtils.d.ts","sourceRoot":"","sources":["../src/playgroundUtils.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB,cAQ5B,CAAC;AAEF,eAAO,MAAM,yCAAyC,GACpD,OAAO,MAAM,EACb,aAAa,MAAM,EACnB,UAAU,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,WAKtD,CAAC"}
@@ -0,0 +1,13 @@
1
+ export const viewerUrlExample = () => {
2
+ const exoId = "primeNumbers";
3
+ const identifiers = {
4
+ nb: 20,
5
+ };
6
+ const options = {};
7
+ return getViewerURLForGetQuestionFromIdentifiers(exoId, identifiers, options);
8
+ };
9
+ export const getViewerURLForGetQuestionFromIdentifiers = (exoId, identifiers, options) => {
10
+ const exoIdentifiers = JSON.stringify(identifiers);
11
+ const exoOptions = JSON.stringify(options);
12
+ return `http://localhost:5173/exo?exoId=${exoId}&identifiers=${exoIdentifiers}&options=${exoOptions}`;
13
+ };
package/lib/server.js CHANGED
@@ -41,6 +41,127 @@ const runServer = () => {
41
41
  app.get("/xplive", (_req, res) => {
42
42
  res.json(pcExercises);
43
43
  });
44
+ app.get("/generator", (req, res) => {
45
+ const n = Number(req.query.n);
46
+ const exoId = req.query.exoId;
47
+ const options = req.query.options
48
+ ? JSON.parse(req.query.options)
49
+ : undefined;
50
+ const exo = allExercises.find((exo) => exo.id == exoId);
51
+ if (!exo) {
52
+ res.send("Exo not found");
53
+ return;
54
+ }
55
+ const questions = exo?.generator(n, options);
56
+ res.json(questions);
57
+ });
58
+ app.get("/getQuestionFromIdentifiers", (req, res) => {
59
+ const exoId = req.query.exoId;
60
+ const exo = allExercises.find((exo) => exo.id == exoId);
61
+ if (!exo) {
62
+ res.send("Exo not found");
63
+ return;
64
+ }
65
+ const identifiers = req.query.identifiers
66
+ ? JSON.parse(req.query.identifiers)
67
+ : undefined;
68
+ const options = req.query.options
69
+ ? JSON.parse(req.query.options)
70
+ : undefined;
71
+ const question = exo?.getQuestionFromIdentifiers(identifiers, options);
72
+ res.json({
73
+ exercise: exo,
74
+ question,
75
+ });
76
+ });
77
+ app.get("/getPropositions", (req, res) => {
78
+ const n = Number(req.query.n) || 4;
79
+ const exoId = req.query.exoId;
80
+ const options = req.query.options
81
+ ? JSON.parse(req.query.options)
82
+ : undefined;
83
+ const identifiers = req.query.identifiers
84
+ ? JSON.parse(req.query.identifiers)
85
+ : undefined;
86
+ const answer = req.query.answer;
87
+ const exo = allExercises.find((exo) => exo.id == exoId);
88
+ if (!exo) {
89
+ res.send("Exo not found");
90
+ return;
91
+ }
92
+ if (!exo?.getPropositions) {
93
+ res.send("no getPropositions");
94
+ return;
95
+ }
96
+ const props = exo.getPropositions(n, { answer, ...identifiers }, options);
97
+ res.json(props);
98
+ });
99
+ app.get("/isAnswerTableValid", (req, res) => {
100
+ const exoId = req.query.exoId;
101
+ const options = req.query.options
102
+ ? JSON.parse(req.query.options)
103
+ : undefined;
104
+ const identifiers = req.query.identifiers
105
+ ? JSON.parse(req.query.identifiers)
106
+ : undefined;
107
+ const studentAnswer = JSON.parse(req.query.studentAnswer);
108
+ const answerTable = JSON.parse(req.query.answerTable);
109
+ const exo = allExercises.find((exo) => exo.id == exoId);
110
+ if (!exo) {
111
+ res.send("Exo not found");
112
+ return;
113
+ }
114
+ if (!exo?.isAnswerTableValid) {
115
+ res.send("no isAnswerTableValid");
116
+ return;
117
+ }
118
+ const valid = exo.isAnswerTableValid(studentAnswer, { answerTable, ...identifiers }, options);
119
+ res.json(valid);
120
+ });
121
+ app.get("/isAnswerValid", (req, res) => {
122
+ const exoId = req.query.exoId;
123
+ const options = req.query.options
124
+ ? JSON.parse(req.query.options)
125
+ : undefined;
126
+ const identifiers = req.query.identifiers
127
+ ? JSON.parse(req.query.identifiers)
128
+ : undefined;
129
+ const studentAnswer = JSON.parse(req.query.studentAnswer);
130
+ const answer = JSON.parse(req.query.answer);
131
+ const exo = allExercises.find((exo) => exo.id == exoId);
132
+ if (!exo) {
133
+ res.send("Exo not found");
134
+ return;
135
+ }
136
+ if (!exo?.isAnswerValid) {
137
+ res.send("no isAnswerValid");
138
+ return;
139
+ }
140
+ const valid = exo.isAnswerValid(studentAnswer, { answer, ...identifiers }, options);
141
+ res.json(valid);
142
+ });
143
+ app.get("/isGGBAnswerValid", (req, res) => {
144
+ const exoId = req.query.exoId;
145
+ const options = req.query.options
146
+ ? JSON.parse(req.query.options)
147
+ : undefined;
148
+ const identifiers = req.query.identifiers
149
+ ? JSON.parse(req.query.identifiers)
150
+ : undefined;
151
+ const studentAnswer = JSON.parse(req.query.studentAnswer);
152
+ const ggbAnswer = JSON.parse(req.query.ggbAnswer);
153
+ const exo = allExercises.find((exo) => exo.id == exoId);
154
+ if (!exo) {
155
+ res.send("Exo not found");
156
+ return;
157
+ }
158
+ if (!exo?.isGGBAnswerValid) {
159
+ res.send("no isGGBAnswerValid");
160
+ return;
161
+ }
162
+ const valid = exo.isGGBAnswerValid(studentAnswer, { ggbAnswer, ...identifiers }, options);
163
+ res.json(valid);
164
+ });
44
165
  app.get("/question", (req, res) => {
45
166
  const exoId = req.query.exoId;
46
167
  const options = req.query.options
@@ -1 +1 @@
1
- {"version":3,"file":"exoTest.d.ts","sourceRoot":"","sources":["../../src/tests/exoTest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAIvD,eAAO,MAAM,OAAO,GAAI,KAAK,QAAQ,CAAC,MAAM,CAAC;;;;CA0G5C,CAAC"}
1
+ {"version":3,"file":"exoTest.d.ts","sourceRoot":"","sources":["../../src/tests/exoTest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAuB,MAAM,6BAA6B,CAAC;AAI5E,eAAO,MAAM,OAAO,GAAI,KAAK,QAAQ,CAAC,MAAM,CAAC;;;;CA0H5C,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { GeneratorOptionType } from "../exercises/exercise.js";
1
2
  import { latexTester } from "../latexTester.js";
2
3
  import { questionTest } from "./questionTest.js";
3
4
  export const exoTest = (exo) => {
@@ -14,6 +15,18 @@ export const exoTest = (exo) => {
14
15
  throw new Error(`exo ${exo.id} has no label`);
15
16
  if (!latexTester(exo.label))
16
17
  throw new Error(`exo ${exo.id} has invalid label`);
18
+ if (exo.options) {
19
+ for (const opt of exo.options) {
20
+ if (opt.type === GeneratorOptionType.select &&
21
+ !opt.values.includes(opt.defaultValue)) {
22
+ throw new Error(`default value not in values ${exo.id}`);
23
+ }
24
+ if (opt.type === GeneratorOptionType.multiselect &&
25
+ opt.defaultValue.some((v) => !opt.values.includes(v))) {
26
+ throw new Error(`default value not in values ${exo.id}`);
27
+ }
28
+ }
29
+ }
17
30
  const before = Date.now();
18
31
  console.log("generate questions : ", exo.id);
19
32
  const questions = exo.generator(30);
@@ -2,7 +2,7 @@ export type KeyId =
2
2
  /**quantities */
3
3
  "volumeMere" | "volumeFille" | "concentrationMere" | "concentrationFille"
4
4
  /**units */
5
- | "cm" | "cm2" | "celsius" | "Hz" | "mol" | "kJ" | "mL" | "minutes" | "hours" | "timesTenPower"
5
+ | "cm" | "cm2" | "celsius" | "Hz" | "mol" | "kJ" | "mL" | "seconds" | "minutes" | "hours" | "timesTenPower"
6
6
  /**utility */
7
7
  | "custom" | "right" | "left" | "rightarrow" | "del" | "close" | "switch" | "maj"
8
8
  /**words */
@@ -1 +1 @@
1
- {"version":3,"file":"keyIds.d.ts","sourceRoot":"","sources":["../../src/types/keyIds.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"keyIds.d.ts","sourceRoot":"","sources":["../../src/types/keyIds.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "math-exercises",
3
3
  "type": "module",
4
- "version": "3.0.131",
4
+ "version": "3.0.133",
5
5
  "description": "Math exercises generator for middle school and high school",
6
6
  "main": "lib/index.js",
7
7
  "files": [