@qti-components/processing 1.5.0 → 1.6.0

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 (86) hide show
  1. package/dist/components/index.d.ts +4 -0
  2. package/dist/components/index.js +4 -0
  3. package/dist/components/index.js.map +1 -1
  4. package/dist/components/qti-container-size/qti-container-size.d.ts +2 -0
  5. package/dist/components/qti-container-size/qti-container-size.js +3 -0
  6. package/dist/components/qti-container-size/qti-container-size.js.map +1 -1
  7. package/dist/components/qti-contains/qti-contains.d.ts +24 -3
  8. package/dist/components/qti-contains/qti-contains.js +82 -30
  9. package/dist/components/qti-contains/qti-contains.js.map +1 -1
  10. package/dist/components/qti-default/qti-default.js +0 -1
  11. package/dist/components/qti-default/qti-default.js.map +1 -1
  12. package/dist/components/qti-divide/qti-divide.d.ts +3 -0
  13. package/dist/components/qti-divide/qti-divide.js +4 -0
  14. package/dist/components/qti-divide/qti-divide.js.map +1 -1
  15. package/dist/components/qti-equal/qti-equal.d.ts +12 -1
  16. package/dist/components/qti-equal/qti-equal.js +51 -7
  17. package/dist/components/qti-equal/qti-equal.js.map +1 -1
  18. package/dist/components/qti-equal-rounded/qti-equal-rounded.js +9 -1
  19. package/dist/components/qti-equal-rounded/qti-equal-rounded.js.map +1 -1
  20. package/dist/components/qti-exit-response/qti-exit-response.d.ts +17 -0
  21. package/dist/components/qti-exit-response/qti-exit-response.js +16 -0
  22. package/dist/components/qti-exit-response/qti-exit-response.js.map +1 -0
  23. package/dist/components/qti-exit-test/qti-exit-test.d.ts +16 -0
  24. package/dist/components/qti-exit-test/qti-exit-test.js +15 -0
  25. package/dist/components/qti-exit-test/qti-exit-test.js.map +1 -0
  26. package/dist/components/qti-field-value/qti-field-value.d.ts +7 -1
  27. package/dist/components/qti-field-value/qti-field-value.js +15 -12
  28. package/dist/components/qti-field-value/qti-field-value.js.map +1 -1
  29. package/dist/components/qti-gte/qti-gte.js +1 -1
  30. package/dist/components/qti-gte/qti-gte.js.map +1 -1
  31. package/dist/components/qti-integer-divide/qti-integer-divide.d.ts +2 -0
  32. package/dist/components/qti-integer-divide/qti-integer-divide.js +3 -0
  33. package/dist/components/qti-integer-divide/qti-integer-divide.js.map +1 -1
  34. package/dist/components/qti-integer-modulus/qti-integer-modulus.d.ts +3 -1
  35. package/dist/components/qti-integer-modulus/qti-integer-modulus.js +9 -2
  36. package/dist/components/qti-integer-modulus/qti-integer-modulus.js.map +1 -1
  37. package/dist/components/qti-integer-to-float/qti-integer-to-float.d.ts +2 -0
  38. package/dist/components/qti-integer-to-float/qti-integer-to-float.js +3 -0
  39. package/dist/components/qti-integer-to-float/qti-integer-to-float.js.map +1 -1
  40. package/dist/components/qti-is-null/qti-is-null.js +4 -1
  41. package/dist/components/qti-is-null/qti-is-null.js.map +1 -1
  42. package/dist/components/qti-lookup-outcome-value/qti-lookup-outcome-value.d.ts +2 -1
  43. package/dist/components/qti-lookup-outcome-value/qti-lookup-outcome-value.js +29 -5
  44. package/dist/components/qti-lookup-outcome-value/qti-lookup-outcome-value.js.map +1 -1
  45. package/dist/components/qti-lte/qti-lte.js +1 -1
  46. package/dist/components/qti-lte/qti-lte.js.map +1 -1
  47. package/dist/components/qti-map-response-point/qti-map-response-point.js +6 -0
  48. package/dist/components/qti-map-response-point/qti-map-response-point.js.map +1 -1
  49. package/dist/components/qti-math-constant/qti-math-constant.d.ts +20 -0
  50. package/dist/components/qti-math-constant/qti-math-constant.js +40 -0
  51. package/dist/components/qti-math-constant/qti-math-constant.js.map +1 -0
  52. package/dist/components/qti-math-operator/qti-math-operator.d.ts +6 -0
  53. package/dist/components/qti-math-operator/qti-math-operator.js +43 -1
  54. package/dist/components/qti-math-operator/qti-math-operator.js.map +1 -1
  55. package/dist/components/qti-multiple/qti-multiple.js +0 -2
  56. package/dist/components/qti-multiple/qti-multiple.js.map +1 -1
  57. package/dist/components/qti-pattern-match/qti-pattern-match.d.ts +1 -0
  58. package/dist/components/qti-pattern-match/qti-pattern-match.js +28 -4
  59. package/dist/components/qti-pattern-match/qti-pattern-match.js.map +1 -1
  60. package/dist/components/qti-power/qti-power.d.ts +2 -0
  61. package/dist/components/qti-power/qti-power.js +3 -0
  62. package/dist/components/qti-power/qti-power.js.map +1 -1
  63. package/dist/components/qti-random/qti-random.js +0 -1
  64. package/dist/components/qti-random/qti-random.js.map +1 -1
  65. package/dist/components/qti-repeat/qti-repeat.d.ts +0 -8
  66. package/dist/components/qti-repeat/qti-repeat.js +15 -2
  67. package/dist/components/qti-repeat/qti-repeat.js.map +1 -1
  68. package/dist/components/qti-response-processing-fragment/qti-response-processing-fragment.d.ts +19 -0
  69. package/dist/components/qti-response-processing-fragment/qti-response-processing-fragment.js +19 -0
  70. package/dist/components/qti-response-processing-fragment/qti-response-processing-fragment.js.map +1 -0
  71. package/dist/components/qti-round/qti-round.d.ts +2 -0
  72. package/dist/components/qti-round/qti-round.js +3 -0
  73. package/dist/components/qti-round/qti-round.js.map +1 -1
  74. package/dist/components/qti-round-to/qti-round-to.d.ts +2 -0
  75. package/dist/components/qti-round-to/qti-round-to.js +3 -0
  76. package/dist/components/qti-round-to/qti-round-to.js.map +1 -1
  77. package/dist/components/qti-stats-operator/qti-stats-operator.d.ts +3 -1
  78. package/dist/components/qti-stats-operator/qti-stats-operator.js +29 -7
  79. package/dist/components/qti-stats-operator/qti-stats-operator.js.map +1 -1
  80. package/dist/components/qti-truncate/qti-truncate.d.ts +2 -0
  81. package/dist/components/qti-truncate/qti-truncate.js +3 -0
  82. package/dist/components/qti-truncate/qti-truncate.js.map +1 -1
  83. package/dist/elements.d.ts +17 -1
  84. package/dist/elements.js +9 -1
  85. package/dist/elements.js.map +1 -1
  86. package/package.json +4 -4
@@ -11,7 +11,7 @@ import { QtiExpression } from '@qti-components/base';
11
11
  * @documentation https://www.imsglobal.org/spec/qti/v3p0/info/index.html#statsOperator
12
12
  *
13
13
  * Takes 1 container (multiple/ordered) of numerical base-type.
14
- * 'name' attribute identifies function (mean, popSD, popVariance, sampleSD, sampleVariance).
14
+ * 'name' attribute identifies function (mean, median, popVariance, popSD, sampleVariance, sampleSD).
15
15
  * Returns result as a single float.
16
16
  * Special cases: Returns NULL if any values in container are NULL or non-numerical.
17
17
  */
@@ -20,6 +20,9 @@ export class QtiStatsOperator extends QtiExpression {
20
20
  super(...arguments);
21
21
  this.name = '';
22
22
  }
23
+ get resultBaseType() {
24
+ return 'float';
25
+ }
23
26
  getResult() {
24
27
  if (!this.name) {
25
28
  console.warn('qti-stats-operator: missing name attribute');
@@ -32,18 +35,37 @@ export class QtiStatsOperator extends QtiExpression {
32
35
  }
33
36
  switch (this.name.toLowerCase()) {
34
37
  case 'mean':
35
- return values.reduce((sum, value) => sum + value, 0) / values.length;
38
+ return this.#mean(values);
39
+ case 'median':
40
+ return this.#median(values);
41
+ case 'popvariance':
42
+ return this.#variance(values, values.length);
36
43
  case 'popsd':
37
- return this.#populationStandardDeviation(values);
44
+ return Math.sqrt(this.#variance(values, values.length));
45
+ case 'samplevariance':
46
+ // A sample variance over a single observation has no denominator.
47
+ return values.length < 2 ? null : this.#variance(values, values.length - 1);
48
+ case 'samplesd':
49
+ return values.length < 2 ? null : Math.sqrt(this.#variance(values, values.length - 1));
38
50
  default:
39
51
  console.warn(`qti-stats-operator: unsupported operator "${this.name}"`);
40
52
  return null;
41
53
  }
42
54
  }
43
- #populationStandardDeviation(values) {
44
- const mean = values.reduce((sum, value) => sum + value, 0) / values.length;
45
- const variance = values.reduce((sum, value) => sum + Math.pow(value - mean, 2), 0) / values.length;
46
- return Math.sqrt(variance);
55
+ #mean(values) {
56
+ return values.reduce((sum, value) => sum + value, 0) / values.length;
57
+ }
58
+ #median(values) {
59
+ const sorted = [...values].sort((a, b) => a - b);
60
+ const middle = Math.floor(sorted.length / 2);
61
+ // An even-sized container has no single middle value, so the two straddling
62
+ // it are averaged.
63
+ return sorted.length % 2 === 0 ? (sorted[middle - 1] + sorted[middle]) / 2 : sorted[middle];
64
+ }
65
+ /** Sum of squared deviations over `denominator` — the population or sample divisor. */
66
+ #variance(values, denominator) {
67
+ const mean = this.#mean(values);
68
+ return values.reduce((sum, value) => sum + Math.pow(value - mean, 2), 0) / denominator;
47
69
  }
48
70
  #collectNumericValues(variables) {
49
71
  const values = [];
@@ -1 +1 @@
1
- {"version":3,"file":"qti-stats-operator.js","sourceRoot":"","sources":["../../../src/components/qti-stats-operator/qti-stats-operator.ts"],"names":[],"mappings":"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","sourcesContent":["import { property } from 'lit/decorators.js';\n\nimport { QtiExpression } from '@qti-components/base';\n\nimport type { ResponseVariable } from '@qti-components/base';\n\n/**\n * @summary The qti-stats-operator performs statistical calculations on a container.\n * @documentation https://www.imsglobal.org/spec/qti/v3p0/info/index.html#statsOperator\n *\n * Takes 1 container (multiple/ordered) of numerical base-type.\n * 'name' attribute identifies function (mean, popSD, popVariance, sampleSD, sampleVariance).\n * Returns result as a single float.\n * Special cases: Returns NULL if any values in container are NULL or non-numerical.\n */\nexport class QtiStatsOperator extends QtiExpression<number | null> {\n @property({ type: String }) name: string = '';\n\n public override getResult(): number | null {\n if (!this.name) {\n console.warn('qti-stats-operator: missing name attribute');\n return null;\n }\n\n const values = this.#collectNumericValues(this.getVariables() as ResponseVariable[]);\n if (values.length === 0) {\n console.warn('qti-stats-operator: no numeric values provided');\n return null;\n }\n\n switch (this.name.toLowerCase()) {\n case 'mean':\n return values.reduce((sum, value) => sum + value, 0) / values.length;\n case 'popsd':\n return this.#populationStandardDeviation(values);\n default:\n console.warn(`qti-stats-operator: unsupported operator \"${this.name}\"`);\n return null;\n }\n }\n\n #populationStandardDeviation(values: number[]): number {\n const mean = values.reduce((sum, value) => sum + value, 0) / values.length;\n const variance = values.reduce((sum, value) => sum + Math.pow(value - mean, 2), 0) / values.length;\n return Math.sqrt(variance);\n }\n\n #collectNumericValues(variables: ResponseVariable[]): number[] {\n const values: number[] = [];\n\n for (const variable of variables) {\n if (!variable) {\n continue;\n }\n\n const pushValue = (raw: unknown) => {\n if (raw === null || raw === undefined) {\n return;\n }\n const numValue = parseFloat(raw.toString());\n if (Number.isNaN(numValue)) {\n console.warn('qti-stats-operator: non-numeric value encountered');\n return;\n }\n values.push(numValue);\n };\n\n if (Array.isArray(variable.value)) {\n variable.value.forEach(item => pushValue(item));\n continue;\n }\n\n pushValue(variable.value);\n }\n\n return values;\n }\n}\n"]}
1
+ {"version":3,"file":"qti-stats-operator.js","sourceRoot":"","sources":["../../../src/components/qti-stats-operator/qti-stats-operator.ts"],"names":[],"mappings":"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","sourcesContent":["import { property } from 'lit/decorators.js';\n\nimport { QtiExpression } from '@qti-components/base';\n\nimport type { BaseType, ResponseVariable } from '@qti-components/base';\n\n/**\n * @summary The qti-stats-operator performs statistical calculations on a container.\n * @documentation https://www.imsglobal.org/spec/qti/v3p0/info/index.html#statsOperator\n *\n * Takes 1 container (multiple/ordered) of numerical base-type.\n * 'name' attribute identifies function (mean, median, popVariance, popSD, sampleVariance, sampleSD).\n * Returns result as a single float.\n * Special cases: Returns NULL if any values in container are NULL or non-numerical.\n */\nexport class QtiStatsOperator extends QtiExpression<number | null> {\n @property({ type: String }) name: string = '';\n\n public override get resultBaseType(): BaseType {\n return 'float';\n }\n\n public override getResult(): number | null {\n if (!this.name) {\n console.warn('qti-stats-operator: missing name attribute');\n return null;\n }\n\n const values = this.#collectNumericValues(this.getVariables() as ResponseVariable[]);\n if (values.length === 0) {\n console.warn('qti-stats-operator: no numeric values provided');\n return null;\n }\n\n switch (this.name.toLowerCase()) {\n case 'mean':\n return this.#mean(values);\n case 'median':\n return this.#median(values);\n case 'popvariance':\n return this.#variance(values, values.length);\n case 'popsd':\n return Math.sqrt(this.#variance(values, values.length));\n case 'samplevariance':\n // A sample variance over a single observation has no denominator.\n return values.length < 2 ? null : this.#variance(values, values.length - 1);\n case 'samplesd':\n return values.length < 2 ? null : Math.sqrt(this.#variance(values, values.length - 1));\n default:\n console.warn(`qti-stats-operator: unsupported operator \"${this.name}\"`);\n return null;\n }\n }\n\n #mean(values: number[]): number {\n return values.reduce((sum, value) => sum + value, 0) / values.length;\n }\n\n #median(values: number[]): number {\n const sorted = [...values].sort((a, b) => a - b);\n const middle = Math.floor(sorted.length / 2);\n // An even-sized container has no single middle value, so the two straddling\n // it are averaged.\n return sorted.length % 2 === 0 ? (sorted[middle - 1] + sorted[middle]) / 2 : sorted[middle];\n }\n\n /** Sum of squared deviations over `denominator` — the population or sample divisor. */\n #variance(values: number[], denominator: number): number {\n const mean = this.#mean(values);\n return values.reduce((sum, value) => sum + Math.pow(value - mean, 2), 0) / denominator;\n }\n\n #collectNumericValues(variables: ResponseVariable[]): number[] {\n const values: number[] = [];\n\n for (const variable of variables) {\n if (!variable) {\n continue;\n }\n\n const pushValue = (raw: unknown) => {\n if (raw === null || raw === undefined) {\n return;\n }\n const numValue = parseFloat(raw.toString());\n if (Number.isNaN(numValue)) {\n console.warn('qti-stats-operator: non-numeric value encountered');\n return;\n }\n values.push(numValue);\n };\n\n if (Array.isArray(variable.value)) {\n variable.value.forEach(item => pushValue(item));\n continue;\n }\n\n pushValue(variable.value);\n }\n\n return values;\n }\n}\n"]}
@@ -1,4 +1,5 @@
1
1
  import { QtiExpression } from '@qti-components/base';
2
+ import type { BaseType } from '@qti-components/base';
2
3
  /**
3
4
  * @summary The qti-truncate operator removes fractional parts of a number.
4
5
  * @documentation https://www.imsglobal.org/spec/qti/v3p0/info/index.html#truncate
@@ -8,5 +9,6 @@ import { QtiExpression } from '@qti-components/base';
8
9
  * Special cases: Returns NULL if input is NULL or NaN.
9
10
  */
10
11
  export declare class QtiTruncate extends QtiExpression<number | null> {
12
+ get resultBaseType(): BaseType;
11
13
  getResult(): number | null;
12
14
  }
@@ -8,6 +8,9 @@ import { QtiExpression } from '@qti-components/base';
8
8
  * Special cases: Returns NULL if input is NULL or NaN.
9
9
  */
10
10
  export class QtiTruncate extends QtiExpression {
11
+ get resultBaseType() {
12
+ return 'integer';
13
+ }
11
14
  getResult() {
12
15
  const variables = this.getVariables();
13
16
  if (variables.length !== 1) {
@@ -1 +1 @@
1
- {"version":3,"file":"qti-truncate.js","sourceRoot":"","sources":["../../../src/components/qti-truncate/qti-truncate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAIrD;;;;;;;GAOG;AACH,MAAM,OAAO,WAAY,SAAQ,aAA4B;IAC3C,SAAS;QACvB,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAwB,CAAC;QAE5D,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO,CAAC,KAAK,CAAC,oDAAoD,CAAC,CAAC;YACpE,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QAC9B,IAAI,QAAQ,CAAC,WAAW,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACvE,OAAO,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;YAC1D,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,QAAQ,CAAC,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YACrE,OAAO,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;YAC3D,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,QAAQ,CAAC,KAAK,KAAK,IAAI,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC5D,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAe,CAAC,CAAC;QAC1D,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;YACzD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;CACF","sourcesContent":["import { QtiExpression } from '@qti-components/base';\n\nimport type { ResponseVariable } from '@qti-components/base';\n\n/**\n * @summary The qti-truncate operator removes fractional parts of a number.\n * @documentation https://www.imsglobal.org/spec/qti/v3p0/info/index.html#truncate\n *\n * Takes 1 numerical sub-expression of single cardinality.\n * Returns integer formed by truncating value toward zero.\n * Special cases: Returns NULL if input is NULL or NaN.\n */\nexport class QtiTruncate extends QtiExpression<number | null> {\n public override getResult(): number | null {\n const variables = this.getVariables() as ResponseVariable[];\n\n if (variables.length !== 1) {\n console.error('qti-truncate requires exactly one child expression');\n return null;\n }\n\n const variable = variables[0];\n if (variable.cardinality !== 'single' || Array.isArray(variable.value)) {\n console.error('qti-truncate requires single cardinality');\n return null;\n }\n if (variable.baseType !== 'integer' && variable.baseType !== 'float') {\n console.error('qti-truncate requires numerical base-type');\n return null;\n }\n if (variable.value === null || variable.value === undefined) {\n return null;\n }\n\n const value = Number.parseFloat(variable.value as string);\n if (Number.isNaN(value)) {\n console.error('qti-truncate requires a numerical value');\n return null;\n }\n\n return Math.trunc(value);\n }\n}\n"]}
1
+ {"version":3,"file":"qti-truncate.js","sourceRoot":"","sources":["../../../src/components/qti-truncate/qti-truncate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAIrD;;;;;;;GAOG;AACH,MAAM,OAAO,WAAY,SAAQ,aAA4B;IAC3D,IAAoB,cAAc;QAChC,OAAO,SAAS,CAAC;IACnB,CAAC;IAEe,SAAS;QACvB,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAwB,CAAC;QAE5D,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO,CAAC,KAAK,CAAC,oDAAoD,CAAC,CAAC;YACpE,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QAC9B,IAAI,QAAQ,CAAC,WAAW,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACvE,OAAO,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;YAC1D,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,QAAQ,CAAC,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YACrE,OAAO,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;YAC3D,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,QAAQ,CAAC,KAAK,KAAK,IAAI,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC5D,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAe,CAAC,CAAC;QAC1D,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;YACzD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;CACF","sourcesContent":["import { QtiExpression } from '@qti-components/base';\n\nimport type { BaseType, ResponseVariable } from '@qti-components/base';\n\n/**\n * @summary The qti-truncate operator removes fractional parts of a number.\n * @documentation https://www.imsglobal.org/spec/qti/v3p0/info/index.html#truncate\n *\n * Takes 1 numerical sub-expression of single cardinality.\n * Returns integer formed by truncating value toward zero.\n * Special cases: Returns NULL if input is NULL or NaN.\n */\nexport class QtiTruncate extends QtiExpression<number | null> {\n public override get resultBaseType(): BaseType {\n return 'integer';\n }\n\n public override getResult(): number | null {\n const variables = this.getVariables() as ResponseVariable[];\n\n if (variables.length !== 1) {\n console.error('qti-truncate requires exactly one child expression');\n return null;\n }\n\n const variable = variables[0];\n if (variable.cardinality !== 'single' || Array.isArray(variable.value)) {\n console.error('qti-truncate requires single cardinality');\n return null;\n }\n if (variable.baseType !== 'integer' && variable.baseType !== 'float') {\n console.error('qti-truncate requires numerical base-type');\n return null;\n }\n if (variable.value === null || variable.value === undefined) {\n return null;\n }\n\n const value = Number.parseFloat(variable.value as string);\n if (Number.isNaN(value)) {\n console.error('qti-truncate requires a numerical value');\n return null;\n }\n\n return Math.trunc(value);\n }\n}\n"]}
@@ -11,6 +11,8 @@ import { QtiDurationGte } from './components/qti-duration-gte/qti-duration-gte';
11
11
  import { QtiDurationLt } from './components/qti-duration-lt/qti-duration-lt';
12
12
  import { QtiEqualRounded } from './components/qti-equal-rounded/qti-equal-rounded';
13
13
  import { QtiEqual } from './components/qti-equal/qti-equal';
14
+ import { QtiExitResponse } from './components/qti-exit-response/qti-exit-response';
15
+ import { QtiExitTest } from './components/qti-exit-test/qti-exit-test';
14
16
  import { QtiFieldValue } from './components/qti-field-value/qti-field-value';
15
17
  import { QtiGcd } from './components/qti-gcd/qti.gcd';
16
18
  import { QtiGt } from './components/qti-gt/qti-gt';
@@ -28,6 +30,7 @@ import { QtiLte } from './components/qti-lte/qti-lte';
28
30
  import { QtiMapResponsePoint } from './components/qti-map-response-point/qti-map-response-point';
29
31
  import { QtiMapResponse } from './components/qti-map-response/qti-map-response';
30
32
  import { QtiMatch } from './components/qti-match/qti-match';
33
+ import { QtiMathConstant } from './components/qti-math-constant/qti-math-constant';
31
34
  import { QtiMathOperator } from './components/qti-math-operator/qti-math-operator';
32
35
  import { QtiMax } from './components/qti-max/qti-max';
33
36
  import { QtiMember } from './components/qti-member/qti-member';
@@ -52,6 +55,7 @@ import { QtiResponseCondition } from './components/qti-response-condition/qti-re
52
55
  import { QtiResponseElseIf } from './components/qti-response-else-if/qti-response-else-if';
53
56
  import { QtiResponseElse } from './components/qti-response-else/qti-response-else';
54
57
  import { QtiResponseIf } from './components/qti-response-if/qti-response-if';
58
+ import { QtiResponseProcessingFragment } from './components/qti-response-processing-fragment/qti-response-processing-fragment';
55
59
  import { QtiRoundTo } from './components/qti-round-to/qti-round-to';
56
60
  import { QtiRound } from './components/qti-round/qti-round';
57
61
  import { QtiRule } from './components/qti-rule/qti-rule';
@@ -65,7 +69,7 @@ import { QtiSubtract } from './components/qti-subtract/qti-subtract';
65
69
  import { QtiSum } from './components/qti-sum/qti-sum';
66
70
  import { QtiTruncate } from './components/qti-truncate/qti-truncate';
67
71
  import { QtiVariable } from './components/qti-variable/qti-variable';
68
- export { QtiAnd, QtiAnyN, QtiBaseValue, QtiContainerSize, QtiContains, QtiCorrect, QtiDefault, QtiDelete, QtiDivide, QtiDurationGte, QtiDurationLt, QtiEqual, QtiEqualRounded, QtiFieldValue, QtiGcd, QtiGt, QtiGte, QtiIndex, QtiInside, QtiIntegerDivide, QtiIntegerModulus, QtiIntegerToFloat, QtiIsNull, QtiLcm, QtiLookupOutcomeValue, QtiLt, QtiLte, QtiMapResponse, QtiMapResponsePoint, QtiMatch, QtiMathOperator, QtiMax, QtiMember, QtiMin, QtiMultiple, QtiNot, QtiNull, QtiOr, QtiOrdered, QtiOutcomeCondition, QtiOutcomeElse, QtiOutcomeElseIf, QtiOutcomeIf, QtiPatternMatch, QtiPower, QtiPrintedVariable, QtiProduct, QtiRandom, QtiRandomInteger, QtiRepeat, QtiResponseCondition, QtiResponseElse, QtiResponseElseIf, QtiResponseIf, QtiRound, QtiRoundTo, QtiRule, QtiSetCorrectResponse, QtiSetOutcomeValue, QtiSetTemplateValue, QtiStatsOperator, QtiStringMatch, QtiSubstring, QtiSubtract, QtiSum, QtiTruncate, QtiVariable };
72
+ export { QtiAnd, QtiAnyN, QtiBaseValue, QtiContainerSize, QtiContains, QtiCorrect, QtiDefault, QtiDelete, QtiDivide, QtiDurationGte, QtiDurationLt, QtiEqual, QtiEqualRounded, QtiExitResponse, QtiExitTest, QtiFieldValue, QtiGcd, QtiGt, QtiGte, QtiIndex, QtiInside, QtiIntegerDivide, QtiIntegerModulus, QtiIntegerToFloat, QtiIsNull, QtiLcm, QtiLookupOutcomeValue, QtiLt, QtiLte, QtiMapResponse, QtiMapResponsePoint, QtiMatch, QtiMathConstant, QtiMathOperator, QtiMax, QtiMember, QtiMin, QtiMultiple, QtiNot, QtiNull, QtiOr, QtiOrdered, QtiOutcomeCondition, QtiOutcomeElse, QtiOutcomeElseIf, QtiOutcomeIf, QtiPatternMatch, QtiPower, QtiPrintedVariable, QtiProduct, QtiRandom, QtiRandomInteger, QtiRepeat, QtiResponseCondition, QtiResponseElse, QtiResponseElseIf, QtiResponseIf, QtiResponseProcessingFragment, QtiRound, QtiRoundTo, QtiRule, QtiSetCorrectResponse, QtiSetOutcomeValue, QtiSetTemplateValue, QtiStatsOperator, QtiStringMatch, QtiSubstring, QtiSubtract, QtiSum, QtiTruncate, QtiVariable };
69
73
  export declare const qtiProcessingElements: readonly [{
70
74
  readonly tag: "qti-and";
71
75
  readonly ctor: typeof QtiAnd;
@@ -105,6 +109,12 @@ export declare const qtiProcessingElements: readonly [{
105
109
  }, {
106
110
  readonly tag: "qti-equal-rounded";
107
111
  readonly ctor: typeof QtiEqualRounded;
112
+ }, {
113
+ readonly tag: "qti-exit-response";
114
+ readonly ctor: typeof QtiExitResponse;
115
+ }, {
116
+ readonly tag: "qti-exit-test";
117
+ readonly ctor: typeof QtiExitTest;
108
118
  }, {
109
119
  readonly tag: "qti-field-value";
110
120
  readonly ctor: typeof QtiFieldValue;
@@ -156,6 +166,9 @@ export declare const qtiProcessingElements: readonly [{
156
166
  }, {
157
167
  readonly tag: "qti-match";
158
168
  readonly ctor: typeof QtiMatch;
169
+ }, {
170
+ readonly tag: "qti-math-constant";
171
+ readonly ctor: typeof QtiMathConstant;
159
172
  }, {
160
173
  readonly tag: "qti-math-operator";
161
174
  readonly ctor: typeof QtiMathOperator;
@@ -228,6 +241,9 @@ export declare const qtiProcessingElements: readonly [{
228
241
  }, {
229
242
  readonly tag: "qti-response-if";
230
243
  readonly ctor: typeof QtiResponseIf;
244
+ }, {
245
+ readonly tag: "qti-response-processing-fragment";
246
+ readonly ctor: typeof QtiResponseProcessingFragment;
231
247
  }, {
232
248
  readonly tag: "qti-round";
233
249
  readonly ctor: typeof QtiRound;
package/dist/elements.js CHANGED
@@ -11,6 +11,8 @@ import { QtiDurationGte } from './components/qti-duration-gte/qti-duration-gte';
11
11
  import { QtiDurationLt } from './components/qti-duration-lt/qti-duration-lt';
12
12
  import { QtiEqualRounded } from './components/qti-equal-rounded/qti-equal-rounded';
13
13
  import { QtiEqual } from './components/qti-equal/qti-equal';
14
+ import { QtiExitResponse } from './components/qti-exit-response/qti-exit-response';
15
+ import { QtiExitTest } from './components/qti-exit-test/qti-exit-test';
14
16
  import { QtiFieldValue } from './components/qti-field-value/qti-field-value';
15
17
  import { QtiGcd } from './components/qti-gcd/qti.gcd';
16
18
  import { QtiGt } from './components/qti-gt/qti-gt';
@@ -28,6 +30,7 @@ import { QtiLte } from './components/qti-lte/qti-lte';
28
30
  import { QtiMapResponsePoint } from './components/qti-map-response-point/qti-map-response-point';
29
31
  import { QtiMapResponse } from './components/qti-map-response/qti-map-response';
30
32
  import { QtiMatch } from './components/qti-match/qti-match';
33
+ import { QtiMathConstant } from './components/qti-math-constant/qti-math-constant';
31
34
  import { QtiMathOperator } from './components/qti-math-operator/qti-math-operator';
32
35
  import { QtiMax } from './components/qti-max/qti-max';
33
36
  import { QtiMember } from './components/qti-member/qti-member';
@@ -52,6 +55,7 @@ import { QtiResponseCondition } from './components/qti-response-condition/qti-re
52
55
  import { QtiResponseElseIf } from './components/qti-response-else-if/qti-response-else-if';
53
56
  import { QtiResponseElse } from './components/qti-response-else/qti-response-else';
54
57
  import { QtiResponseIf } from './components/qti-response-if/qti-response-if';
58
+ import { QtiResponseProcessingFragment } from './components/qti-response-processing-fragment/qti-response-processing-fragment';
55
59
  import { QtiRoundTo } from './components/qti-round-to/qti-round-to';
56
60
  import { QtiRound } from './components/qti-round/qti-round';
57
61
  import { QtiRule } from './components/qti-rule/qti-rule';
@@ -65,7 +69,7 @@ import { QtiSubtract } from './components/qti-subtract/qti-subtract';
65
69
  import { QtiSum } from './components/qti-sum/qti-sum';
66
70
  import { QtiTruncate } from './components/qti-truncate/qti-truncate';
67
71
  import { QtiVariable } from './components/qti-variable/qti-variable';
68
- export { QtiAnd, QtiAnyN, QtiBaseValue, QtiContainerSize, QtiContains, QtiCorrect, QtiDefault, QtiDelete, QtiDivide, QtiDurationGte, QtiDurationLt, QtiEqual, QtiEqualRounded, QtiFieldValue, QtiGcd, QtiGt, QtiGte, QtiIndex, QtiInside, QtiIntegerDivide, QtiIntegerModulus, QtiIntegerToFloat, QtiIsNull, QtiLcm, QtiLookupOutcomeValue, QtiLt, QtiLte, QtiMapResponse, QtiMapResponsePoint, QtiMatch, QtiMathOperator, QtiMax, QtiMember, QtiMin, QtiMultiple, QtiNot, QtiNull, QtiOr, QtiOrdered, QtiOutcomeCondition, QtiOutcomeElse, QtiOutcomeElseIf, QtiOutcomeIf, QtiPatternMatch, QtiPower, QtiPrintedVariable, QtiProduct, QtiRandom, QtiRandomInteger, QtiRepeat, QtiResponseCondition, QtiResponseElse, QtiResponseElseIf, QtiResponseIf, QtiRound, QtiRoundTo, QtiRule, QtiSetCorrectResponse, QtiSetOutcomeValue, QtiSetTemplateValue, QtiStatsOperator, QtiStringMatch, QtiSubstring, QtiSubtract, QtiSum, QtiTruncate, QtiVariable };
72
+ export { QtiAnd, QtiAnyN, QtiBaseValue, QtiContainerSize, QtiContains, QtiCorrect, QtiDefault, QtiDelete, QtiDivide, QtiDurationGte, QtiDurationLt, QtiEqual, QtiEqualRounded, QtiExitResponse, QtiExitTest, QtiFieldValue, QtiGcd, QtiGt, QtiGte, QtiIndex, QtiInside, QtiIntegerDivide, QtiIntegerModulus, QtiIntegerToFloat, QtiIsNull, QtiLcm, QtiLookupOutcomeValue, QtiLt, QtiLte, QtiMapResponse, QtiMapResponsePoint, QtiMatch, QtiMathConstant, QtiMathOperator, QtiMax, QtiMember, QtiMin, QtiMultiple, QtiNot, QtiNull, QtiOr, QtiOrdered, QtiOutcomeCondition, QtiOutcomeElse, QtiOutcomeElseIf, QtiOutcomeIf, QtiPatternMatch, QtiPower, QtiPrintedVariable, QtiProduct, QtiRandom, QtiRandomInteger, QtiRepeat, QtiResponseCondition, QtiResponseElse, QtiResponseElseIf, QtiResponseIf, QtiResponseProcessingFragment, QtiRound, QtiRoundTo, QtiRule, QtiSetCorrectResponse, QtiSetOutcomeValue, QtiSetTemplateValue, QtiStatsOperator, QtiStringMatch, QtiSubstring, QtiSubtract, QtiSum, QtiTruncate, QtiVariable };
69
73
  export const qtiProcessingElements = [
70
74
  { tag: 'qti-and', ctor: QtiAnd },
71
75
  { tag: 'qti-any-n', ctor: QtiAnyN },
@@ -80,6 +84,8 @@ export const qtiProcessingElements = [
80
84
  { tag: 'qti-duration-lt', ctor: QtiDurationLt },
81
85
  { tag: 'qti-equal', ctor: QtiEqual },
82
86
  { tag: 'qti-equal-rounded', ctor: QtiEqualRounded },
87
+ { tag: 'qti-exit-response', ctor: QtiExitResponse },
88
+ { tag: 'qti-exit-test', ctor: QtiExitTest },
83
89
  { tag: 'qti-field-value', ctor: QtiFieldValue },
84
90
  { tag: 'qti-gcd', ctor: QtiGcd },
85
91
  { tag: 'qti-gt', ctor: QtiGt },
@@ -97,6 +103,7 @@ export const qtiProcessingElements = [
97
103
  { tag: 'qti-map-response', ctor: QtiMapResponse },
98
104
  { tag: 'qti-map-response-point', ctor: QtiMapResponsePoint },
99
105
  { tag: 'qti-match', ctor: QtiMatch },
106
+ { tag: 'qti-math-constant', ctor: QtiMathConstant },
100
107
  { tag: 'qti-math-operator', ctor: QtiMathOperator },
101
108
  { tag: 'qti-max', ctor: QtiMax },
102
109
  { tag: 'qti-member', ctor: QtiMember },
@@ -121,6 +128,7 @@ export const qtiProcessingElements = [
121
128
  { tag: 'qti-response-else', ctor: QtiResponseElse },
122
129
  { tag: 'qti-response-else-if', ctor: QtiResponseElseIf },
123
130
  { tag: 'qti-response-if', ctor: QtiResponseIf },
131
+ { tag: 'qti-response-processing-fragment', ctor: QtiResponseProcessingFragment },
124
132
  { tag: 'qti-round', ctor: QtiRound },
125
133
  { tag: 'qti-round-to', ctor: QtiRoundTo },
126
134
  { tag: 'qti-rule', ctor: QtiRule },
@@ -1 +1 @@
1
- {"version":3,"file":"elements.js","sourceRoot":"","sources":["../src/elements.ts"],"names":[],"mappings":"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","sourcesContent":["import { QtiAnd } from './components/qti-and/qti-and';\nimport { QtiAnyN } from './components/qti-any-n/qti-any-n';\nimport { QtiBaseValue } from './components/qti-basevalue/qti-basevalue';\nimport { QtiContainerSize } from './components/qti-container-size/qti-container-size';\nimport { QtiContains } from './components/qti-contains/qti-contains';\nimport { QtiCorrect } from './components/qti-correct/qti-correct';\nimport { QtiDefault } from './components/qti-default/qti-default';\nimport { QtiDelete } from './components/qti-delete/qti-delete';\nimport { QtiDivide } from './components/qti-divide/qti-divide';\nimport { QtiDurationGte } from './components/qti-duration-gte/qti-duration-gte';\nimport { QtiDurationLt } from './components/qti-duration-lt/qti-duration-lt';\nimport { QtiEqualRounded } from './components/qti-equal-rounded/qti-equal-rounded';\nimport { QtiEqual } from './components/qti-equal/qti-equal';\nimport { QtiFieldValue } from './components/qti-field-value/qti-field-value';\nimport { QtiGcd } from './components/qti-gcd/qti.gcd';\nimport { QtiGt } from './components/qti-gt/qti-gt';\nimport { QtiGte } from './components/qti-gte/qti-gte';\nimport { QtiIndex } from './components/qti-index/qti-index';\nimport { QtiInside } from './components/qti-inside/qti-inside';\nimport { QtiIntegerDivide } from './components/qti-integer-divide/qti-integer-divide';\nimport { QtiIntegerModulus } from './components/qti-integer-modulus/qti-integer-modulus';\nimport { QtiIntegerToFloat } from './components/qti-integer-to-float/qti-integer-to-float';\nimport { QtiIsNull } from './components/qti-is-null/qti-is-null';\nimport { QtiLcm } from './components/qti-lcm/qti-lcm';\nimport { QtiLookupOutcomeValue } from './components/qti-lookup-outcome-value/qti-lookup-outcome-value';\nimport { QtiLt } from './components/qti-lt/qti-lt';\nimport { QtiLte } from './components/qti-lte/qti-lte';\nimport { QtiMapResponsePoint } from './components/qti-map-response-point/qti-map-response-point';\nimport { QtiMapResponse } from './components/qti-map-response/qti-map-response';\nimport { QtiMatch } from './components/qti-match/qti-match';\nimport { QtiMathOperator } from './components/qti-math-operator/qti-math-operator';\nimport { QtiMax } from './components/qti-max/qti-max';\nimport { QtiMember } from './components/qti-member/qti-member';\nimport { QtiMin } from './components/qti-min/qti-min';\nimport { QtiMultiple } from './components/qti-multiple/qti-multiple';\nimport { QtiNot } from './components/qti-not/qti-not';\nimport { QtiNull } from './components/qti-null/qti-null';\nimport { QtiOr } from './components/qti-or/qti-or';\nimport { QtiOrdered } from './components/qti-ordered/qti-ordered';\nimport { QtiOutcomeCondition } from './components/qti-outcome-condition/qti-outcome-condition';\nimport { QtiOutcomeElseIf } from './components/qti-outcome-else-if/qti-outcome-else-if';\nimport { QtiOutcomeElse } from './components/qti-outcome-else/qti-outcome-else';\nimport { QtiOutcomeIf } from './components/qti-outcome-if/qti-outcome-if';\nimport { QtiPatternMatch } from './components/qti-pattern-match/qti-pattern-match';\nimport { QtiPower } from './components/qti-power/qti-power';\nimport { QtiPrintedVariable } from './components/qti-printed-variable/qti-printed-variable';\nimport { QtiProduct } from './components/qti-product/qti-product';\nimport { QtiRandomInteger } from './components/qti-random-integer/qti-random-integer';\nimport { QtiRandom } from './components/qti-random/qti-random';\nimport { QtiRepeat } from './components/qti-repeat/qti-repeat';\nimport { QtiResponseCondition } from './components/qti-response-condition/qti-response-condition';\nimport { QtiResponseElseIf } from './components/qti-response-else-if/qti-response-else-if';\nimport { QtiResponseElse } from './components/qti-response-else/qti-response-else';\nimport { QtiResponseIf } from './components/qti-response-if/qti-response-if';\nimport { QtiRoundTo } from './components/qti-round-to/qti-round-to';\nimport { QtiRound } from './components/qti-round/qti-round';\nimport { QtiRule } from './components/qti-rule/qti-rule';\nimport { QtiSetCorrectResponse } from './components/qti-set-correct-response/qti-set-correct-response';\nimport { QtiSetOutcomeValue } from './components/qti-set-outcome-value/qti-set-outcome-value';\nimport { QtiSetTemplateValue } from './components/qti-set-template-value/qti-set-template-value';\nimport { QtiStatsOperator } from './components/qti-stats-operator/qti-stats-operator';\nimport { QtiStringMatch } from './components/qti-string-match/qti-string-match';\nimport { QtiSubstring } from './components/qti-substring/qti-substring';\nimport { QtiSubtract } from './components/qti-subtract/qti-subtract';\nimport { QtiSum } from './components/qti-sum/qti-sum';\nimport { QtiTruncate } from './components/qti-truncate/qti-truncate';\nimport { QtiVariable } from './components/qti-variable/qti-variable';\n\nexport {\n QtiAnd,\n QtiAnyN,\n QtiBaseValue,\n QtiContainerSize,\n QtiContains,\n QtiCorrect,\n QtiDefault,\n QtiDelete,\n QtiDivide,\n QtiDurationGte,\n QtiDurationLt,\n QtiEqual,\n QtiEqualRounded,\n QtiFieldValue,\n QtiGcd,\n QtiGt,\n QtiGte,\n QtiIndex,\n QtiInside,\n QtiIntegerDivide,\n QtiIntegerModulus,\n QtiIntegerToFloat,\n QtiIsNull,\n QtiLcm,\n QtiLookupOutcomeValue,\n QtiLt,\n QtiLte,\n QtiMapResponse,\n QtiMapResponsePoint,\n QtiMatch,\n QtiMathOperator,\n QtiMax,\n QtiMember,\n QtiMin,\n QtiMultiple,\n QtiNot,\n QtiNull,\n QtiOr,\n QtiOrdered,\n QtiOutcomeCondition,\n QtiOutcomeElse,\n QtiOutcomeElseIf,\n QtiOutcomeIf,\n QtiPatternMatch,\n QtiPower,\n QtiPrintedVariable,\n QtiProduct,\n QtiRandom,\n QtiRandomInteger,\n QtiRepeat,\n QtiResponseCondition,\n QtiResponseElse,\n QtiResponseElseIf,\n QtiResponseIf,\n QtiRound,\n QtiRoundTo,\n QtiRule,\n QtiSetCorrectResponse,\n QtiSetOutcomeValue,\n QtiSetTemplateValue,\n QtiStatsOperator,\n QtiStringMatch,\n QtiSubstring,\n QtiSubtract,\n QtiSum,\n QtiTruncate,\n QtiVariable\n};\n\nexport const qtiProcessingElements = [\n { tag: 'qti-and', ctor: QtiAnd },\n { tag: 'qti-any-n', ctor: QtiAnyN },\n { tag: 'qti-base-value', ctor: QtiBaseValue },\n { tag: 'qti-container-size', ctor: QtiContainerSize },\n { tag: 'qti-contains', ctor: QtiContains },\n { tag: 'qti-correct', ctor: QtiCorrect },\n { tag: 'qti-default', ctor: QtiDefault },\n { tag: 'qti-delete', ctor: QtiDelete },\n { tag: 'qti-divide', ctor: QtiDivide },\n { tag: 'qti-duration-gte', ctor: QtiDurationGte },\n { tag: 'qti-duration-lt', ctor: QtiDurationLt },\n { tag: 'qti-equal', ctor: QtiEqual },\n { tag: 'qti-equal-rounded', ctor: QtiEqualRounded },\n { tag: 'qti-field-value', ctor: QtiFieldValue },\n { tag: 'qti-gcd', ctor: QtiGcd },\n { tag: 'qti-gt', ctor: QtiGt },\n { tag: 'qti-gte', ctor: QtiGte },\n { tag: 'qti-index', ctor: QtiIndex },\n { tag: 'qti-inside', ctor: QtiInside },\n { tag: 'qti-integer-divide', ctor: QtiIntegerDivide },\n { tag: 'qti-integer-modulus', ctor: QtiIntegerModulus },\n { tag: 'qti-integer-to-float', ctor: QtiIntegerToFloat },\n { tag: 'qti-is-null', ctor: QtiIsNull },\n { tag: 'qti-lcm', ctor: QtiLcm },\n { tag: 'qti-lookup-outcome-value', ctor: QtiLookupOutcomeValue },\n { tag: 'qti-lt', ctor: QtiLt },\n { tag: 'qti-lte', ctor: QtiLte },\n { tag: 'qti-map-response', ctor: QtiMapResponse },\n { tag: 'qti-map-response-point', ctor: QtiMapResponsePoint },\n { tag: 'qti-match', ctor: QtiMatch },\n { tag: 'qti-math-operator', ctor: QtiMathOperator },\n { tag: 'qti-max', ctor: QtiMax },\n { tag: 'qti-member', ctor: QtiMember },\n { tag: 'qti-min', ctor: QtiMin },\n { tag: 'qti-multiple', ctor: QtiMultiple },\n { tag: 'qti-not', ctor: QtiNot },\n { tag: 'qti-null', ctor: QtiNull },\n { tag: 'qti-or', ctor: QtiOr },\n { tag: 'qti-ordered', ctor: QtiOrdered },\n { tag: 'qti-outcome-condition', ctor: QtiOutcomeCondition },\n { tag: 'qti-outcome-else', ctor: QtiOutcomeElse },\n { tag: 'qti-outcome-else-if', ctor: QtiOutcomeElseIf },\n { tag: 'qti-outcome-if', ctor: QtiOutcomeIf },\n { tag: 'qti-pattern-match', ctor: QtiPatternMatch },\n { tag: 'qti-power', ctor: QtiPower },\n { tag: 'qti-printed-variable', ctor: QtiPrintedVariable },\n { tag: 'qti-product', ctor: QtiProduct },\n { tag: 'qti-random', ctor: QtiRandom },\n { tag: 'qti-random-integer', ctor: QtiRandomInteger },\n { tag: 'qti-repeat', ctor: QtiRepeat },\n { tag: 'qti-response-condition', ctor: QtiResponseCondition },\n { tag: 'qti-response-else', ctor: QtiResponseElse },\n { tag: 'qti-response-else-if', ctor: QtiResponseElseIf },\n { tag: 'qti-response-if', ctor: QtiResponseIf },\n { tag: 'qti-round', ctor: QtiRound },\n { tag: 'qti-round-to', ctor: QtiRoundTo },\n { tag: 'qti-rule', ctor: QtiRule },\n { tag: 'qti-set-correct-response', ctor: QtiSetCorrectResponse },\n { tag: 'qti-set-outcome-value', ctor: QtiSetOutcomeValue },\n { tag: 'qti-set-template-value', ctor: QtiSetTemplateValue },\n { tag: 'qti-stats-operator', ctor: QtiStatsOperator },\n { tag: 'qti-string-match', ctor: QtiStringMatch },\n { tag: 'qti-substring', ctor: QtiSubstring },\n { tag: 'qti-subtract', ctor: QtiSubtract },\n { tag: 'qti-sum', ctor: QtiSum },\n { tag: 'qti-truncate', ctor: QtiTruncate },\n { tag: 'qti-variable', ctor: QtiVariable }\n] as const;\n"]}
1
+ {"version":3,"file":"elements.js","sourceRoot":"","sources":["../src/elements.ts"],"names":[],"mappings":"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","sourcesContent":["import { QtiAnd } from './components/qti-and/qti-and';\nimport { QtiAnyN } from './components/qti-any-n/qti-any-n';\nimport { QtiBaseValue } from './components/qti-basevalue/qti-basevalue';\nimport { QtiContainerSize } from './components/qti-container-size/qti-container-size';\nimport { QtiContains } from './components/qti-contains/qti-contains';\nimport { QtiCorrect } from './components/qti-correct/qti-correct';\nimport { QtiDefault } from './components/qti-default/qti-default';\nimport { QtiDelete } from './components/qti-delete/qti-delete';\nimport { QtiDivide } from './components/qti-divide/qti-divide';\nimport { QtiDurationGte } from './components/qti-duration-gte/qti-duration-gte';\nimport { QtiDurationLt } from './components/qti-duration-lt/qti-duration-lt';\nimport { QtiEqualRounded } from './components/qti-equal-rounded/qti-equal-rounded';\nimport { QtiEqual } from './components/qti-equal/qti-equal';\nimport { QtiExitResponse } from './components/qti-exit-response/qti-exit-response';\nimport { QtiExitTest } from './components/qti-exit-test/qti-exit-test';\nimport { QtiFieldValue } from './components/qti-field-value/qti-field-value';\nimport { QtiGcd } from './components/qti-gcd/qti.gcd';\nimport { QtiGt } from './components/qti-gt/qti-gt';\nimport { QtiGte } from './components/qti-gte/qti-gte';\nimport { QtiIndex } from './components/qti-index/qti-index';\nimport { QtiInside } from './components/qti-inside/qti-inside';\nimport { QtiIntegerDivide } from './components/qti-integer-divide/qti-integer-divide';\nimport { QtiIntegerModulus } from './components/qti-integer-modulus/qti-integer-modulus';\nimport { QtiIntegerToFloat } from './components/qti-integer-to-float/qti-integer-to-float';\nimport { QtiIsNull } from './components/qti-is-null/qti-is-null';\nimport { QtiLcm } from './components/qti-lcm/qti-lcm';\nimport { QtiLookupOutcomeValue } from './components/qti-lookup-outcome-value/qti-lookup-outcome-value';\nimport { QtiLt } from './components/qti-lt/qti-lt';\nimport { QtiLte } from './components/qti-lte/qti-lte';\nimport { QtiMapResponsePoint } from './components/qti-map-response-point/qti-map-response-point';\nimport { QtiMapResponse } from './components/qti-map-response/qti-map-response';\nimport { QtiMatch } from './components/qti-match/qti-match';\nimport { QtiMathConstant } from './components/qti-math-constant/qti-math-constant';\nimport { QtiMathOperator } from './components/qti-math-operator/qti-math-operator';\nimport { QtiMax } from './components/qti-max/qti-max';\nimport { QtiMember } from './components/qti-member/qti-member';\nimport { QtiMin } from './components/qti-min/qti-min';\nimport { QtiMultiple } from './components/qti-multiple/qti-multiple';\nimport { QtiNot } from './components/qti-not/qti-not';\nimport { QtiNull } from './components/qti-null/qti-null';\nimport { QtiOr } from './components/qti-or/qti-or';\nimport { QtiOrdered } from './components/qti-ordered/qti-ordered';\nimport { QtiOutcomeCondition } from './components/qti-outcome-condition/qti-outcome-condition';\nimport { QtiOutcomeElseIf } from './components/qti-outcome-else-if/qti-outcome-else-if';\nimport { QtiOutcomeElse } from './components/qti-outcome-else/qti-outcome-else';\nimport { QtiOutcomeIf } from './components/qti-outcome-if/qti-outcome-if';\nimport { QtiPatternMatch } from './components/qti-pattern-match/qti-pattern-match';\nimport { QtiPower } from './components/qti-power/qti-power';\nimport { QtiPrintedVariable } from './components/qti-printed-variable/qti-printed-variable';\nimport { QtiProduct } from './components/qti-product/qti-product';\nimport { QtiRandomInteger } from './components/qti-random-integer/qti-random-integer';\nimport { QtiRandom } from './components/qti-random/qti-random';\nimport { QtiRepeat } from './components/qti-repeat/qti-repeat';\nimport { QtiResponseCondition } from './components/qti-response-condition/qti-response-condition';\nimport { QtiResponseElseIf } from './components/qti-response-else-if/qti-response-else-if';\nimport { QtiResponseElse } from './components/qti-response-else/qti-response-else';\nimport { QtiResponseIf } from './components/qti-response-if/qti-response-if';\nimport { QtiResponseProcessingFragment } from './components/qti-response-processing-fragment/qti-response-processing-fragment';\nimport { QtiRoundTo } from './components/qti-round-to/qti-round-to';\nimport { QtiRound } from './components/qti-round/qti-round';\nimport { QtiRule } from './components/qti-rule/qti-rule';\nimport { QtiSetCorrectResponse } from './components/qti-set-correct-response/qti-set-correct-response';\nimport { QtiSetOutcomeValue } from './components/qti-set-outcome-value/qti-set-outcome-value';\nimport { QtiSetTemplateValue } from './components/qti-set-template-value/qti-set-template-value';\nimport { QtiStatsOperator } from './components/qti-stats-operator/qti-stats-operator';\nimport { QtiStringMatch } from './components/qti-string-match/qti-string-match';\nimport { QtiSubstring } from './components/qti-substring/qti-substring';\nimport { QtiSubtract } from './components/qti-subtract/qti-subtract';\nimport { QtiSum } from './components/qti-sum/qti-sum';\nimport { QtiTruncate } from './components/qti-truncate/qti-truncate';\nimport { QtiVariable } from './components/qti-variable/qti-variable';\n\nexport {\n QtiAnd,\n QtiAnyN,\n QtiBaseValue,\n QtiContainerSize,\n QtiContains,\n QtiCorrect,\n QtiDefault,\n QtiDelete,\n QtiDivide,\n QtiDurationGte,\n QtiDurationLt,\n QtiEqual,\n QtiEqualRounded,\n QtiExitResponse,\n QtiExitTest,\n QtiFieldValue,\n QtiGcd,\n QtiGt,\n QtiGte,\n QtiIndex,\n QtiInside,\n QtiIntegerDivide,\n QtiIntegerModulus,\n QtiIntegerToFloat,\n QtiIsNull,\n QtiLcm,\n QtiLookupOutcomeValue,\n QtiLt,\n QtiLte,\n QtiMapResponse,\n QtiMapResponsePoint,\n QtiMatch,\n QtiMathConstant,\n QtiMathOperator,\n QtiMax,\n QtiMember,\n QtiMin,\n QtiMultiple,\n QtiNot,\n QtiNull,\n QtiOr,\n QtiOrdered,\n QtiOutcomeCondition,\n QtiOutcomeElse,\n QtiOutcomeElseIf,\n QtiOutcomeIf,\n QtiPatternMatch,\n QtiPower,\n QtiPrintedVariable,\n QtiProduct,\n QtiRandom,\n QtiRandomInteger,\n QtiRepeat,\n QtiResponseCondition,\n QtiResponseElse,\n QtiResponseElseIf,\n QtiResponseIf,\n QtiResponseProcessingFragment,\n QtiRound,\n QtiRoundTo,\n QtiRule,\n QtiSetCorrectResponse,\n QtiSetOutcomeValue,\n QtiSetTemplateValue,\n QtiStatsOperator,\n QtiStringMatch,\n QtiSubstring,\n QtiSubtract,\n QtiSum,\n QtiTruncate,\n QtiVariable\n};\n\nexport const qtiProcessingElements = [\n { tag: 'qti-and', ctor: QtiAnd },\n { tag: 'qti-any-n', ctor: QtiAnyN },\n { tag: 'qti-base-value', ctor: QtiBaseValue },\n { tag: 'qti-container-size', ctor: QtiContainerSize },\n { tag: 'qti-contains', ctor: QtiContains },\n { tag: 'qti-correct', ctor: QtiCorrect },\n { tag: 'qti-default', ctor: QtiDefault },\n { tag: 'qti-delete', ctor: QtiDelete },\n { tag: 'qti-divide', ctor: QtiDivide },\n { tag: 'qti-duration-gte', ctor: QtiDurationGte },\n { tag: 'qti-duration-lt', ctor: QtiDurationLt },\n { tag: 'qti-equal', ctor: QtiEqual },\n { tag: 'qti-equal-rounded', ctor: QtiEqualRounded },\n { tag: 'qti-exit-response', ctor: QtiExitResponse },\n { tag: 'qti-exit-test', ctor: QtiExitTest },\n { tag: 'qti-field-value', ctor: QtiFieldValue },\n { tag: 'qti-gcd', ctor: QtiGcd },\n { tag: 'qti-gt', ctor: QtiGt },\n { tag: 'qti-gte', ctor: QtiGte },\n { tag: 'qti-index', ctor: QtiIndex },\n { tag: 'qti-inside', ctor: QtiInside },\n { tag: 'qti-integer-divide', ctor: QtiIntegerDivide },\n { tag: 'qti-integer-modulus', ctor: QtiIntegerModulus },\n { tag: 'qti-integer-to-float', ctor: QtiIntegerToFloat },\n { tag: 'qti-is-null', ctor: QtiIsNull },\n { tag: 'qti-lcm', ctor: QtiLcm },\n { tag: 'qti-lookup-outcome-value', ctor: QtiLookupOutcomeValue },\n { tag: 'qti-lt', ctor: QtiLt },\n { tag: 'qti-lte', ctor: QtiLte },\n { tag: 'qti-map-response', ctor: QtiMapResponse },\n { tag: 'qti-map-response-point', ctor: QtiMapResponsePoint },\n { tag: 'qti-match', ctor: QtiMatch },\n { tag: 'qti-math-constant', ctor: QtiMathConstant },\n { tag: 'qti-math-operator', ctor: QtiMathOperator },\n { tag: 'qti-max', ctor: QtiMax },\n { tag: 'qti-member', ctor: QtiMember },\n { tag: 'qti-min', ctor: QtiMin },\n { tag: 'qti-multiple', ctor: QtiMultiple },\n { tag: 'qti-not', ctor: QtiNot },\n { tag: 'qti-null', ctor: QtiNull },\n { tag: 'qti-or', ctor: QtiOr },\n { tag: 'qti-ordered', ctor: QtiOrdered },\n { tag: 'qti-outcome-condition', ctor: QtiOutcomeCondition },\n { tag: 'qti-outcome-else', ctor: QtiOutcomeElse },\n { tag: 'qti-outcome-else-if', ctor: QtiOutcomeElseIf },\n { tag: 'qti-outcome-if', ctor: QtiOutcomeIf },\n { tag: 'qti-pattern-match', ctor: QtiPatternMatch },\n { tag: 'qti-power', ctor: QtiPower },\n { tag: 'qti-printed-variable', ctor: QtiPrintedVariable },\n { tag: 'qti-product', ctor: QtiProduct },\n { tag: 'qti-random', ctor: QtiRandom },\n { tag: 'qti-random-integer', ctor: QtiRandomInteger },\n { tag: 'qti-repeat', ctor: QtiRepeat },\n { tag: 'qti-response-condition', ctor: QtiResponseCondition },\n { tag: 'qti-response-else', ctor: QtiResponseElse },\n { tag: 'qti-response-else-if', ctor: QtiResponseElseIf },\n { tag: 'qti-response-if', ctor: QtiResponseIf },\n { tag: 'qti-response-processing-fragment', ctor: QtiResponseProcessingFragment },\n { tag: 'qti-round', ctor: QtiRound },\n { tag: 'qti-round-to', ctor: QtiRoundTo },\n { tag: 'qti-rule', ctor: QtiRule },\n { tag: 'qti-set-correct-response', ctor: QtiSetCorrectResponse },\n { tag: 'qti-set-outcome-value', ctor: QtiSetOutcomeValue },\n { tag: 'qti-set-template-value', ctor: QtiSetTemplateValue },\n { tag: 'qti-stats-operator', ctor: QtiStatsOperator },\n { tag: 'qti-string-match', ctor: QtiStringMatch },\n { tag: 'qti-substring', ctor: QtiSubstring },\n { tag: 'qti-subtract', ctor: QtiSubtract },\n { tag: 'qti-sum', ctor: QtiSum },\n { tag: 'qti-truncate', ctor: QtiTruncate },\n { tag: 'qti-variable', ctor: QtiVariable }\n] as const;\n"]}
package/package.json CHANGED
@@ -1,15 +1,15 @@
1
1
  {
2
2
  "name": "@qti-components/processing",
3
3
  "description": "QTI processing utilities",
4
- "version": "1.5.0",
4
+ "version": "1.6.0",
5
5
  "author": "",
6
6
  "dependencies": {
7
- "@qti-components/base": "^2.2.0",
7
+ "@qti-components/base": "^2.3.0",
8
8
  "@qti-components/utilities": "^1.3.3"
9
9
  },
10
10
  "devDependencies": {
11
11
  "@lit/context": "^1.1.6",
12
- "lit": "^3.3.3"
12
+ "lit": "^3.3.1"
13
13
  },
14
14
  "keywords": [
15
15
  "processing",
@@ -52,7 +52,7 @@
52
52
  },
53
53
  "scripts": {
54
54
  "attw": "attw --profile esm-only --pack",
55
- "build": "tsc --paths null",
55
+ "build": "pnpm run clean && tsc --paths null",
56
56
  "clean": "rm -rf dist"
57
57
  }
58
58
  }