@qti-components/processing 1.3.3 → 1.4.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.
- package/dist/components/qti-and/qti-and.js +2 -13
- package/dist/components/qti-and/qti-and.js.map +1 -1
- package/dist/components/qti-any-n/qti-any-n.js +0 -1
- package/dist/components/qti-any-n/qti-any-n.js.map +1 -1
- package/dist/components/qti-basevalue/qti-basevalue.js +0 -1
- package/dist/components/qti-basevalue/qti-basevalue.js.map +1 -1
- package/dist/components/qti-condition/qti-condition-base.d.ts +48 -0
- package/dist/components/qti-condition/qti-condition-base.js +79 -0
- package/dist/components/qti-condition/qti-condition-base.js.map +1 -0
- package/dist/components/qti-container-size/qti-container-size.js +0 -1
- package/dist/components/qti-container-size/qti-container-size.js.map +1 -1
- package/dist/components/qti-contains/qti-contains.js +0 -1
- package/dist/components/qti-contains/qti-contains.js.map +1 -1
- package/dist/components/qti-correct/qti-correct.js +0 -1
- package/dist/components/qti-correct/qti-correct.js.map +1 -1
- package/dist/components/qti-default/qti-default.js +0 -1
- package/dist/components/qti-default/qti-default.js.map +1 -1
- package/dist/components/qti-delete/qti-delete.js +0 -1
- package/dist/components/qti-delete/qti-delete.js.map +1 -1
- package/dist/components/qti-divide/qti-divide.js +0 -1
- package/dist/components/qti-divide/qti-divide.js.map +1 -1
- package/dist/components/qti-duration-gte/qti-duration-gte.js +0 -1
- package/dist/components/qti-duration-gte/qti-duration-gte.js.map +1 -1
- package/dist/components/qti-duration-lt/qti-duration-lt.js +0 -1
- package/dist/components/qti-duration-lt/qti-duration-lt.js.map +1 -1
- package/dist/components/qti-equal/qti-equal.js +0 -1
- package/dist/components/qti-equal/qti-equal.js.map +1 -1
- package/dist/components/qti-equal-rounded/qti-equal-rounded.js +0 -1
- package/dist/components/qti-equal-rounded/qti-equal-rounded.js.map +1 -1
- package/dist/components/qti-field-value/qti-field-value.js +0 -1
- package/dist/components/qti-field-value/qti-field-value.js.map +1 -1
- package/dist/components/qti-gcd/qti.gcd.js +0 -1
- package/dist/components/qti-gcd/qti.gcd.js.map +1 -1
- package/dist/components/qti-gt/qti-gt.js +0 -1
- package/dist/components/qti-gt/qti-gt.js.map +1 -1
- package/dist/components/qti-gte/qti-gte.js +0 -1
- package/dist/components/qti-gte/qti-gte.js.map +1 -1
- package/dist/components/qti-index/qti-index.js +3 -7
- package/dist/components/qti-index/qti-index.js.map +1 -1
- package/dist/components/qti-inside/qti-inside.js +2 -4
- package/dist/components/qti-inside/qti-inside.js.map +1 -1
- package/dist/components/qti-integer-divide/qti-integer-divide.js +0 -1
- package/dist/components/qti-integer-divide/qti-integer-divide.js.map +1 -1
- package/dist/components/qti-integer-modulus/qti-integer-modulus.js +0 -1
- package/dist/components/qti-integer-modulus/qti-integer-modulus.js.map +1 -1
- package/dist/components/qti-integer-to-float/qti-integer-to-float.js +0 -1
- package/dist/components/qti-integer-to-float/qti-integer-to-float.js.map +1 -1
- package/dist/components/qti-is-null/qti-is-null.js +0 -1
- package/dist/components/qti-is-null/qti-is-null.js.map +1 -1
- package/dist/components/qti-lcm/qti-lcm.js +0 -1
- package/dist/components/qti-lcm/qti-lcm.js.map +1 -1
- package/dist/components/qti-lookup-outcome-value/qti-lookup-outcome-value.js +0 -1
- package/dist/components/qti-lookup-outcome-value/qti-lookup-outcome-value.js.map +1 -1
- package/dist/components/qti-lt/qti-lt.js +0 -1
- package/dist/components/qti-lt/qti-lt.js.map +1 -1
- package/dist/components/qti-lte/qti-lte.js +0 -1
- package/dist/components/qti-lte/qti-lte.js.map +1 -1
- package/dist/components/qti-map-response/qti-map-response.js +0 -1
- package/dist/components/qti-map-response/qti-map-response.js.map +1 -1
- package/dist/components/qti-map-response-point/qti-map-response-point.js +0 -1
- package/dist/components/qti-map-response-point/qti-map-response-point.js.map +1 -1
- package/dist/components/qti-match/qti-match.js +0 -1
- package/dist/components/qti-match/qti-match.js.map +1 -1
- package/dist/components/qti-math-operator/qti-math-operator.js +0 -1
- package/dist/components/qti-math-operator/qti-math-operator.js.map +1 -1
- package/dist/components/qti-max/qti-max.js +0 -1
- package/dist/components/qti-max/qti-max.js.map +1 -1
- package/dist/components/qti-member/qti-member.js +0 -1
- package/dist/components/qti-member/qti-member.js.map +1 -1
- package/dist/components/qti-min/qti-min.js +0 -1
- package/dist/components/qti-min/qti-min.js.map +1 -1
- package/dist/components/qti-multiple/qti-multiple.js +0 -1
- package/dist/components/qti-multiple/qti-multiple.js.map +1 -1
- package/dist/components/qti-not/qti-not.js +0 -1
- package/dist/components/qti-not/qti-not.js.map +1 -1
- package/dist/components/qti-null/qti-null.js +0 -1
- package/dist/components/qti-null/qti-null.js.map +1 -1
- package/dist/components/qti-or/qti-or.js +0 -1
- package/dist/components/qti-or/qti-or.js.map +1 -1
- package/dist/components/qti-ordered/qti-ordered.js +0 -1
- package/dist/components/qti-ordered/qti-ordered.js.map +1 -1
- package/dist/components/qti-outcome-condition/qti-outcome-condition.d.ts +3 -0
- package/dist/components/qti-outcome-condition/qti-outcome-condition.js +4 -0
- package/dist/components/qti-outcome-condition/qti-outcome-condition.js.map +1 -0
- package/dist/components/qti-outcome-else/qti-outcome-else.d.ts +3 -0
- package/dist/components/qti-outcome-else/qti-outcome-else.js +4 -0
- package/dist/components/qti-outcome-else/qti-outcome-else.js.map +1 -0
- package/dist/components/qti-outcome-else-if/qti-outcome-else-if.d.ts +3 -0
- package/dist/components/qti-outcome-else-if/qti-outcome-else-if.js +4 -0
- package/dist/components/qti-outcome-else-if/qti-outcome-else-if.js.map +1 -0
- package/dist/components/qti-outcome-if/qti-outcome-if.d.ts +3 -0
- package/dist/components/qti-outcome-if/qti-outcome-if.js +4 -0
- package/dist/components/qti-outcome-if/qti-outcome-if.js.map +1 -0
- package/dist/components/qti-pattern-match/qti-pattern-match.js +0 -1
- package/dist/components/qti-pattern-match/qti-pattern-match.js.map +1 -1
- package/dist/components/qti-power/qti-power.js +0 -1
- package/dist/components/qti-power/qti-power.js.map +1 -1
- package/dist/components/qti-printed-variable/qti-printed-variable.js +0 -1
- package/dist/components/qti-printed-variable/qti-printed-variable.js.map +1 -1
- package/dist/components/qti-product/qti-product.js +0 -1
- package/dist/components/qti-product/qti-product.js.map +1 -1
- package/dist/components/qti-random/qti-random.js +0 -1
- package/dist/components/qti-random/qti-random.js.map +1 -1
- package/dist/components/qti-random-integer/qti-random-integer.js +0 -1
- package/dist/components/qti-random-integer/qti-random-integer.js.map +1 -1
- package/dist/components/qti-repeat/qti-repeat.js +0 -1
- package/dist/components/qti-repeat/qti-repeat.js.map +1 -1
- package/dist/components/qti-response-condition/qti-response-condition.d.ts +2 -4
- package/dist/components/qti-response-condition/qti-response-condition.js +2 -17
- package/dist/components/qti-response-condition/qti-response-condition.js.map +1 -1
- package/dist/components/qti-response-else/qti-response-else.d.ts +2 -7
- package/dist/components/qti-response-else/qti-response-else.js +2 -19
- package/dist/components/qti-response-else/qti-response-else.js.map +1 -1
- package/dist/components/qti-response-else-if/qti-response-else-if.d.ts +0 -1
- package/dist/components/qti-response-else-if/qti-response-else-if.js +0 -5
- package/dist/components/qti-response-else-if/qti-response-else-if.js.map +1 -1
- package/dist/components/qti-response-if/qti-response-if.d.ts +2 -5
- package/dist/components/qti-response-if/qti-response-if.js +2 -15
- package/dist/components/qti-response-if/qti-response-if.js.map +1 -1
- package/dist/components/qti-round/qti-round.js +0 -1
- package/dist/components/qti-round/qti-round.js.map +1 -1
- package/dist/components/qti-round-to/qti-round-to.js +0 -1
- package/dist/components/qti-round-to/qti-round-to.js.map +1 -1
- package/dist/components/qti-rule/qti-rule.js +2 -13
- package/dist/components/qti-rule/qti-rule.js.map +1 -1
- package/dist/components/qti-set-correct-response/qti-set-correct-response.js +0 -1
- package/dist/components/qti-set-correct-response/qti-set-correct-response.js.map +1 -1
- package/dist/components/qti-set-outcome-value/qti-set-outcome-value.js +0 -1
- package/dist/components/qti-set-outcome-value/qti-set-outcome-value.js.map +1 -1
- package/dist/components/qti-set-template-value/qti-set-template-value.js +0 -1
- package/dist/components/qti-set-template-value/qti-set-template-value.js.map +1 -1
- package/dist/components/qti-stats-operator/qti-stats-operator.js +0 -1
- package/dist/components/qti-stats-operator/qti-stats-operator.js.map +1 -1
- package/dist/components/qti-string-match/qti-string-match.js +0 -1
- package/dist/components/qti-string-match/qti-string-match.js.map +1 -1
- package/dist/components/qti-substring/qti-substring.js +4 -2
- package/dist/components/qti-substring/qti-substring.js.map +1 -1
- package/dist/components/qti-subtract/index.d.ts +1 -1
- package/dist/components/qti-subtract/index.js +0 -2
- package/dist/components/qti-subtract/index.js.map +1 -1
- package/dist/components/qti-sum/qti-sum.js +0 -1
- package/dist/components/qti-sum/qti-sum.js.map +1 -1
- package/dist/components/qti-truncate/qti-truncate.js +0 -1
- package/dist/components/qti-truncate/qti-truncate.js.map +1 -1
- package/dist/components/qti-variable/qti-variable.js +0 -1
- package/dist/components/qti-variable/qti-variable.js.map +1 -1
- package/dist/elements.d.ts +270 -0
- package/dist/elements.js +138 -0
- package/dist/elements.js.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/dist/register.d.ts +1 -0
- package/dist/register.js +7 -0
- package/dist/register.js.map +1 -0
- package/package.json +17 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"qti-member.js","sourceRoot":"","sources":["../../../src/components/qti-member/qti-member.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAIrD,MAAM,OAAO,SAAU,SAAQ,aAA6B;IAC1C,SAAS;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,EAAwB,CAAC;QAEzD,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;YAClC,OAAO,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;QAChE,CAAC;QAED,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC;QAEhC,IACE,CAAC,CACC,MAAM,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ;YACnC,CAAC,MAAM,CAAC,QAAQ,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,KAAK,OAAO,CAAC;YAC9D,CAAC,MAAM,CAAC,QAAQ,KAAK,OAAO,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,CAAC,CAC/D,EACD,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;QAC1D,CAAC;QACD,IAAI,CAAC,CAAC,MAAM,CAAC,WAAW,KAAK,UAAU,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,CAAC,EAAE,CAAC;YAC7E,OAAO,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;QACzE,CAAC;QACD,IAAI,MAAM,CAAC,QAAQ,KAAK,OAAO,IAAI,MAAM,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YAC/D,OAAO,CAAC,IAAI,CAAC,qFAAqF,CAAC,CAAC;QACtG,CAAC;QACD,IAAI,MAAM,CAAC,QAAQ,KAAK,UAAU,IAAI,MAAM,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;YACrE,OAAO,CAAC,IAAI,CAAC,qEAAqE,CAAC,CAAC;QACtF,CAAC;QAED,2EAA2E;QAC3E,IAAI,MAAM,CAAC,KAAK,KAAK,IAAI,IAAI,MAAM,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YACnD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,iKAAiK;QACjK,MAAM,WAAW,GAAG,MAAM,CAAC,KAAe,CAAC;QAC3C,MAAM,WAAW,GAAG,MAAM,CAAC,KAAiB,CAAC;QAC7C,OAAO,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC3C,CAAC;CACF
|
|
1
|
+
{"version":3,"file":"qti-member.js","sourceRoot":"","sources":["../../../src/components/qti-member/qti-member.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAIrD,MAAM,OAAO,SAAU,SAAQ,aAA6B;IAC1C,SAAS;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,EAAwB,CAAC;QAEzD,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;YAClC,OAAO,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;QAChE,CAAC;QAED,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC;QAEhC,IACE,CAAC,CACC,MAAM,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ;YACnC,CAAC,MAAM,CAAC,QAAQ,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,KAAK,OAAO,CAAC;YAC9D,CAAC,MAAM,CAAC,QAAQ,KAAK,OAAO,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,CAAC,CAC/D,EACD,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;QAC1D,CAAC;QACD,IAAI,CAAC,CAAC,MAAM,CAAC,WAAW,KAAK,UAAU,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,CAAC,EAAE,CAAC;YAC7E,OAAO,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;QACzE,CAAC;QACD,IAAI,MAAM,CAAC,QAAQ,KAAK,OAAO,IAAI,MAAM,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YAC/D,OAAO,CAAC,IAAI,CAAC,qFAAqF,CAAC,CAAC;QACtG,CAAC;QACD,IAAI,MAAM,CAAC,QAAQ,KAAK,UAAU,IAAI,MAAM,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;YACrE,OAAO,CAAC,IAAI,CAAC,qEAAqE,CAAC,CAAC;QACtF,CAAC;QAED,2EAA2E;QAC3E,IAAI,MAAM,CAAC,KAAK,KAAK,IAAI,IAAI,MAAM,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YACnD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,iKAAiK;QACjK,MAAM,WAAW,GAAG,MAAM,CAAC,KAAe,CAAC;QAC3C,MAAM,WAAW,GAAG,MAAM,CAAC,KAAiB,CAAC;QAC7C,OAAO,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC3C,CAAC;CACF","sourcesContent":["import { QtiExpression } from '@qti-components/base';\n\nimport type { ResponseVariable } from '@qti-components/base';\n\nexport class QtiMember extends QtiExpression<boolean | null> {\n public override getResult() {\n const values = this.getVariables() as ResponseVariable[];\n\n if (!(this.children.length === 2)) {\n console.warn('The member operator takes two sub-expressions');\n }\n\n const [value1, value2] = values;\n\n if (\n !(\n value1.baseType === value2.baseType ||\n (value1.baseType === 'integer' && value2.baseType === 'float') ||\n (value1.baseType === 'float' && value2.baseType === 'integer')\n )\n ) {\n console.warn('Which must both have the same base-type');\n }\n if (!(value2.cardinality === 'multiple' || value2.cardinality === 'ordered')) {\n console.warn('and the second must be a multiple or ordered container');\n }\n if (value1.baseType === 'float' || value2.baseType === 'float') {\n console.warn('The member operator should not be used on sub-expressions with a base-type of float');\n }\n if (value1.baseType === 'duration' || value2.baseType === 'duration') {\n console.warn('It must not be used on sub-expressions with a base-type of duration');\n }\n\n // If either sub-expression is NULL then the result of the operator is NULL\n if (value1.value === null || value2.value === null) {\n return null;\n }\n\n // The result is a single boolean with a value of 'true' if the value given by the first sub-expression is in the container defined by the second sub-expression.\n const projection1 = value1.value as string;\n const projection2 = value2.value as string[];\n return projection2.includes(projection1);\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"qti-min.js","sourceRoot":"","sources":["../../../src/components/qti-min/qti-min.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAIrD;;;;;;;GAOG;AACH,MAAM,OAAO,MAAO,SAAQ,aAA4B;IACtC,SAAS;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,YAAY,EAAwB,CAAC,CAAC;QACrF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;YACpD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;IAC7B,CAAC;IAED,qBAAqB,CAAC,SAA6B;QACjD,MAAM,MAAM,GAAa,EAAE,CAAC;QAE5B,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,SAAS;YACX,CAAC;YAED,MAAM,SAAS,GAAG,CAAC,GAAY,EAAE,EAAE;gBACjC,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;oBACtC,OAAO;gBACT,CAAC;gBACD,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAC5C,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC3B,OAAO,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;oBACvD,OAAO;gBACT,CAAC;gBACD,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACxB,CAAC,CAAC;YAEF,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBAClC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;gBAChD,SAAS;YACX,CAAC;YAED,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF
|
|
1
|
+
{"version":3,"file":"qti-min.js","sourceRoot":"","sources":["../../../src/components/qti-min/qti-min.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAIrD;;;;;;;GAOG;AACH,MAAM,OAAO,MAAO,SAAQ,aAA4B;IACtC,SAAS;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,YAAY,EAAwB,CAAC,CAAC;QACrF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;YACpD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;IAC7B,CAAC;IAED,qBAAqB,CAAC,SAA6B;QACjD,MAAM,MAAM,GAAa,EAAE,CAAC;QAE5B,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,SAAS;YACX,CAAC;YAED,MAAM,SAAS,GAAG,CAAC,GAAY,EAAE,EAAE;gBACjC,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;oBACtC,OAAO;gBACT,CAAC;gBACD,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAC5C,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC3B,OAAO,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;oBACvD,OAAO;gBACT,CAAC;gBACD,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACxB,CAAC,CAAC;YAEF,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBAClC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;gBAChD,SAAS;YACX,CAAC;YAED,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF","sourcesContent":["import { QtiExpression } from '@qti-components/base';\n\nimport type { ResponseVariable } from '@qti-components/base';\n\n/**\n * @summary The qti-min operator finds the smallest value in a numerical set.\n * @documentation https://www.imsglobal.org/spec/qti/v3p0/info/index.html#min\n *\n * Takes 1 or more numerical sub-expressions of any cardinality.\n * Returns the smallest value in the collection.\n * Special cases: Returns NULL if any argument is NULL or non-numerical.\n */\nexport class QtiMin extends QtiExpression<number | null> {\n public override getResult(): number | null {\n const values = this.#collectNumericValues(this.getVariables() as ResponseVariable[]);\n if (values.length === 0) {\n console.warn('qti-min: no numeric values provided');\n return null;\n }\n\n return Math.min(...values);\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-min: 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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"qti-multiple.js","sourceRoot":"","sources":["../../../src/components/qti-multiple/qti-multiple.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAGrD,MAAM,OAAO,WAAY,SAAQ,aAAuD;IACtE,SAAS;QACvB,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC/D,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAwB,CAAC;QAE5D,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;YAC/D,OAAO,IAAI,CAAC;QACd,CAAC;QACD,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,IAAI,QAAQ,CAAC,WAAW,KAAK,UAAU,IAAI,QAAQ,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;gBAC7E,OAAO,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;gBACxD,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC;QAED,8CAA8C;QAC9C,0BAA0B;QAC1B,sFAAsF;QACtF,kEAAkE;QAClE,UAAU;QACV,yBAAyB;QAEzB,OAAO,SAAS,CAAC;IACnB,CAAC;CACF
|
|
1
|
+
{"version":3,"file":"qti-multiple.js","sourceRoot":"","sources":["../../../src/components/qti-multiple/qti-multiple.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAGrD,MAAM,OAAO,WAAY,SAAQ,aAAuD;IACtE,SAAS;QACvB,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC/D,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAwB,CAAC;QAE5D,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;YAC/D,OAAO,IAAI,CAAC;QACd,CAAC;QACD,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,IAAI,QAAQ,CAAC,WAAW,KAAK,UAAU,IAAI,QAAQ,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;gBAC7E,OAAO,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;gBACxD,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC;QAED,8CAA8C;QAC9C,0BAA0B;QAC1B,sFAAsF;QACtF,kEAAkE;QAClE,UAAU;QACV,yBAAyB;QAEzB,OAAO,SAAS,CAAC;IACnB,CAAC;CACF","sourcesContent":["import { QtiExpression } from '@qti-components/base';\n\nimport type { ResponseVariable, VariableDeclaration } from '@qti-components/base';\nexport class QtiMultiple extends QtiExpression<VariableDeclaration<string | string[]>[]> {\n public override getResult(): ResponseVariable[] {\n console.debug('qti-multiple getResult called', this.innerHTML);\n const variables = this.getVariables() as ResponseVariable[];\n\n if (variables.length === 0) {\n console.error('unexpected number of children in qti multiple');\n return null;\n }\n for (const variable of variables) {\n if (variable.cardinality !== 'multiple' && variable.cardinality !== 'single') {\n console.error('unexpected cardinality in qti multiple');\n return [];\n }\n }\n\n // const values = variables.map(v => v.value);\n // console.log(variables);\n // const flattenedArray = values.reduce((acc: string[], value: string | string[]) => {\n // return acc.concat(Array.isArray(value) ? [...value] : value);\n // }, []);\n // return flattenedArray;\n\n return variables;\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"qti-not.js","sourceRoot":"","sources":["../../../src/components/qti-not/qti-not.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAE3B,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD;;;;;;;GAOG;AACH,MAAM,OAAO,MAAO,SAAQ,aAAsB;IACvC,MAAM;QACb,OAAO,IAAI,CAAA,GAAG,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;IACjC,CAAC;IAEe,SAAS;QACvB,MAAM,UAAU,GAAG,IAAI,CAAC,iBAA2C,CAAC;QACpE,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,EAAa,CAAC;QACjD,OAAO,CAAC,MAAM,CAAC;IACjB,CAAC;CACF
|
|
1
|
+
{"version":3,"file":"qti-not.js","sourceRoot":"","sources":["../../../src/components/qti-not/qti-not.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAE3B,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD;;;;;;;GAOG;AACH,MAAM,OAAO,MAAO,SAAQ,aAAsB;IACvC,MAAM;QACb,OAAO,IAAI,CAAA,GAAG,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;IACjC,CAAC;IAEe,SAAS;QACvB,MAAM,UAAU,GAAG,IAAI,CAAC,iBAA2C,CAAC;QACpE,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,EAAa,CAAC;QACjD,OAAO,CAAC,MAAM,CAAC;IACjB,CAAC;CACF","sourcesContent":["import { html } from 'lit';\n\nimport { QtiExpression } from '@qti-components/base';\n\n/**\n * @summary The qti-not operator performs logical negation.\n * @documentation https://www.imsglobal.org/spec/qti/v3p0/info/index.html#not\n *\n * Takes exactly 1 sub-expression with base-type boolean and single cardinality.\n * Returns true if sub-expression is false, and false if sub-expression is true.\n * Special cases: Returns NULL if sub-expression is NULL.\n */\nexport class QtiNot extends QtiExpression<boolean> {\n override render() {\n return html`${super.render()}`;\n }\n\n public override getResult() {\n const expression = this.firstElementChild as QtiExpression<boolean>;\n const result = expression.calculate() as boolean;\n return !result;\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"qti-null.js","sourceRoot":"","sources":["../../../src/components/qti-null/qti-null.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD;;;;;;GAMG;AACH,MAAM,OAAO,OAAQ,SAAQ,aAAmB;IAC9B,SAAS;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;CACF
|
|
1
|
+
{"version":3,"file":"qti-null.js","sourceRoot":"","sources":["../../../src/components/qti-null/qti-null.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD;;;;;;GAMG;AACH,MAAM,OAAO,OAAQ,SAAQ,aAAmB;IAC9B,SAAS;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;CACF","sourcesContent":["import { QtiExpression } from '@qti-components/base';\n\n/**\n * @summary The qti-null expression returns the NULL value.\n * @documentation https://www.imsglobal.org/spec/qti/v3p0/impl#h.null\n *\n * A simple expression that returns the NULL value. The null value is treated\n * as if it is of any desired base-type.\n */\nexport class QtiNull extends QtiExpression<null> {\n public override getResult(): null {\n return null;\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"qti-or.js","sourceRoot":"","sources":["../../../src/components/qti-or/qti-or.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAI9D;;;;;;;GAOG;AACH,MAAM,OAAO,KAAM,SAAQ,sBAAsB;IAC/B,SAAS;QACvB,uEAAuE;QACvE,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YAC/C,MAAM,SAAS,GAAG,CAAuB,CAAC;YAC1C,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;gBACzB,OAAO,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;gBAClE,OAAO,IAAI,CAAC;YACd,CAAC;YACD,MAAM,KAAK,GAAG,SAAS,CAAC,SAAS,EAAE,CAAC;YACpC,IAAI,GAAG,GAAG,KAAK,CAAC;YAChB,kEAAkE;YAClE,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;oBACrB,GAAG,GAAG,IAAI,CAAC;gBACb,CAAC;qBAAM,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;oBAC7B,GAAG,GAAG,KAAK,CAAC;gBACd,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;oBAC5D,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;oBAC/B,GAAG,GAAG,KAAK,CAAC;gBACd,CAAC;YACH,CAAC;YACD,OAAO,GAAG,CAAC;QACb,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;YACrB,OAAO,OAAO,CAAC,KAAK,SAAS,IAAI,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;IACL,CAAC;CACF
|
|
1
|
+
{"version":3,"file":"qti-or.js","sourceRoot":"","sources":["../../../src/components/qti-or/qti-or.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAI9D;;;;;;;GAOG;AACH,MAAM,OAAO,KAAM,SAAQ,sBAAsB;IAC/B,SAAS;QACvB,uEAAuE;QACvE,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YAC/C,MAAM,SAAS,GAAG,CAAuB,CAAC;YAC1C,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;gBACzB,OAAO,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;gBAClE,OAAO,IAAI,CAAC;YACd,CAAC;YACD,MAAM,KAAK,GAAG,SAAS,CAAC,SAAS,EAAE,CAAC;YACpC,IAAI,GAAG,GAAG,KAAK,CAAC;YAChB,kEAAkE;YAClE,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;oBACrB,GAAG,GAAG,IAAI,CAAC;gBACb,CAAC;qBAAM,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;oBAC7B,GAAG,GAAG,KAAK,CAAC;gBACd,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;oBAC5D,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;oBAC/B,GAAG,GAAG,KAAK,CAAC;gBACd,CAAC;YACH,CAAC;YACD,OAAO,GAAG,CAAC;QACb,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;YACrB,OAAO,OAAO,CAAC,KAAK,SAAS,IAAI,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;IACL,CAAC;CACF","sourcesContent":["import { QtiConditionExpression } from '@qti-components/base';\n\nimport type { QtiExpression } from '@qti-components/base';\n\n/**\n * @summary The qti-or operator evaluates if any provided boolean expressions are true.\n * @documentation https://www.imsglobal.org/spec/qti/v3p0/info/index.html#or\n *\n * Takes 1 or more sub-expressions with base-type boolean and single cardinality.\n * Returns true if at least one sub-expression is true, false if all are false.\n * Special cases: Returns NULL if any sub-expression is NULL and all others are false.\n */\nexport class QtiOr extends QtiConditionExpression {\n public override getResult() {\n // children can be a mix of qti-expression and qti-condition-expression\n const values = Array.from(this.children).map(c => {\n const condition = c as QtiExpression<any>;\n if (!condition.calculate) {\n console.error(\"Element doesn't implement QtiConditionExpression\");\n return null;\n }\n const value = condition.calculate();\n let val = false;\n // convert string value to boolean and return null if not possible\n if (typeof value === 'string') {\n if (value === 'true') {\n val = true;\n } else if (value === 'false') {\n val = false;\n } else {\n console.error('unexpected val in qti-or, expected boolean');\n return null;\n }\n } else {\n if (typeof value === 'boolean') {\n val = value;\n }\n }\n return val;\n });\n return values.some(e => {\n return typeof e === 'boolean' && e;\n });\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"qti-ordered.js","sourceRoot":"","sources":["../../../src/components/qti-ordered/qti-ordered.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAGrD,MAAM,OAAO,UAAW,SAAQ,aAAiC;IAC/C,SAAS;QACvB,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAwB,CAAC;QAC5D,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;YAC/D,OAAO,IAAI,CAAC;QACd,CAAC;QACD,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,IAAI,QAAQ,CAAC,WAAW,KAAK,SAAS,IAAI,QAAQ,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;gBAC5E,OAAO,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;gBACvD,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;CACF
|
|
1
|
+
{"version":3,"file":"qti-ordered.js","sourceRoot":"","sources":["../../../src/components/qti-ordered/qti-ordered.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAGrD,MAAM,OAAO,UAAW,SAAQ,aAAiC;IAC/C,SAAS;QACvB,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAwB,CAAC;QAC5D,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;YAC/D,OAAO,IAAI,CAAC;QACd,CAAC;QACD,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,IAAI,QAAQ,CAAC,WAAW,KAAK,SAAS,IAAI,QAAQ,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;gBAC5E,OAAO,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;gBACvD,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;CACF","sourcesContent":["import { QtiExpression } from '@qti-components/base';\n\nimport type { ResponseVariable } from '@qti-components/base';\nexport class QtiOrdered extends QtiExpression<ResponseVariable[]> {\n public override getResult(): ResponseVariable[] {\n const variables = this.getVariables() as ResponseVariable[];\n if (variables.length === 0) {\n console.error('unexpected number of children in qti multiple');\n return null;\n }\n for (const variable of variables) {\n if (variable.cardinality !== 'ordered' && variable.cardinality !== 'single') {\n console.error('unexpected cardinality in qti ordered');\n return [];\n }\n }\n return variables;\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"qti-outcome-condition.js","sourceRoot":"","sources":["../../../src/components/qti-outcome-condition/qti-outcome-condition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAEvE,MAAM,OAAO,mBAAoB,SAAQ,gBAAgB;CAAG","sourcesContent":["import { QtiConditionBase } from '../qti-condition/qti-condition-base';\n\nexport class QtiOutcomeCondition extends QtiConditionBase {}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"qti-outcome-else.js","sourceRoot":"","sources":["../../../src/components/qti-outcome-else/qti-outcome-else.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAE3E,MAAM,OAAO,cAAe,SAAQ,oBAAoB;CAAG","sourcesContent":["import { QtiConditionElseBase } from '../qti-condition/qti-condition-base';\n\nexport class QtiOutcomeElse extends QtiConditionElseBase {}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"qti-outcome-else-if.js","sourceRoot":"","sources":["../../../src/components/qti-outcome-else-if/qti-outcome-else-if.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAEhE,MAAM,OAAO,gBAAiB,SAAQ,YAAY;CAAG","sourcesContent":["import { QtiOutcomeIf } from '../qti-outcome-if/qti-outcome-if';\n\nexport class QtiOutcomeElseIf extends QtiOutcomeIf {}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"qti-outcome-if.js","sourceRoot":"","sources":["../../../src/components/qti-outcome-if/qti-outcome-if.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAEzE,MAAM,OAAO,YAAa,SAAQ,kBAAkB;CAAG","sourcesContent":["import { QtiConditionIfBase } from '../qti-condition/qti-condition-base';\n\nexport class QtiOutcomeIf extends QtiConditionIfBase {}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"qti-pattern-match.js","sourceRoot":"","sources":["../../../src/components/qti-pattern-match/qti-pattern-match.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAIrD;;;;;;;GAOG;AACH,MAAM,OAAO,eAAgB,SAAQ,aAA6B;IAAlE;;QAC8B,YAAO,GAAG,EAAE,CAAC;IA+B3C,CAAC;IA7BiB,SAAS;QACvB,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAwB,CAAC;QAE5D,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAC;YACzE,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;YAChE,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,+CAA+C,CAAC,CAAC;YAC/D,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,IAAI,CAAC;YACH,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QAClE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,uDAAuD,EAAE,KAAK,CAAC,CAAC;YAC9E,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;CACF;AA/B6B;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;gDAAc
|
|
1
|
+
{"version":3,"file":"qti-pattern-match.js","sourceRoot":"","sources":["../../../src/components/qti-pattern-match/qti-pattern-match.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAIrD;;;;;;;GAOG;AACH,MAAM,OAAO,eAAgB,SAAQ,aAA6B;IAAlE;;QAC8B,YAAO,GAAG,EAAE,CAAC;IA+B3C,CAAC;IA7BiB,SAAS;QACvB,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAwB,CAAC;QAE5D,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAC;YACzE,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;YAChE,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,+CAA+C,CAAC,CAAC;YAC/D,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,IAAI,CAAC;YACH,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QAClE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,uDAAuD,EAAE,KAAK,CAAC,CAAC;YAC9E,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;CACF;AA/B6B;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;gDAAc","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-pattern-match operator checks a string against a regular expression.\n * @documentation https://www.imsglobal.org/spec/qti/v3p0/info/index.html#patternMatch\n *\n * Takes 1 string sub-expression; 'pattern' attribute contains the regex.\n * Returns true if the string matches the pattern, false otherwise.\n * Special cases: Returns NULL if sub-expression is NULL.\n */\nexport class QtiPatternMatch extends QtiExpression<boolean | null> {\n @property({ type: String }) pattern = '';\n\n public override getResult(): boolean | null {\n const variables = this.getVariables() as ResponseVariable[];\n\n if (variables.length !== 1) {\n console.error('qti-pattern-match requires exactly one child expression');\n return null;\n }\n\n if (!this.pattern) {\n console.error('qti-pattern-match requires a pattern attribute');\n return null;\n }\n\n const variable = variables[0];\n if (variable.cardinality !== 'single' || Array.isArray(variable.value)) {\n console.error('qti-pattern-match requires single cardinality');\n return null;\n }\n if (variable.value === null || variable.value === undefined) {\n return null;\n }\n\n try {\n return new RegExp(this.pattern).test(variable.value.toString());\n } catch (error) {\n console.error('qti-pattern-match requires a valid regular expression', error);\n return null;\n }\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"qti-power.js","sourceRoot":"","sources":["../../../src/components/qti-power/qti-power.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"qti-power.js","sourceRoot":"","sources":["../../../src/components/qti-power/qti-power.ts"],"names":[],"mappings":"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","sourcesContent":["import { QtiExpression } from '@qti-components/base';\n\nimport type { ResponseVariable } from '@qti-components/base';\n\n/**\n * @summary The qti-power operator raises the first expression to the power of the second.\n * @documentation https://www.imsglobal.org/spec/qti/v3p0/impl#h.power\n *\n * Takes 2 sub-expressions with single cardinality and numerical base-types.\n * Returns a single float corresponding to the first expression raised to the power of the second.\n * Returns NULL if either expression is NULL or if the result is outside the float value set.\n */\nexport class QtiPower extends QtiExpression<number | null> {\n public override getResult(): number | null {\n if (this.children.length !== 2) {\n console.error('qti-power must have exactly two child expressions');\n return null;\n }\n\n const variables = this.getVariables() as ResponseVariable[];\n if (!variables || variables.length !== 2) {\n return null;\n }\n\n const [base, exponent] = variables;\n\n // Check cardinality for both expressions\n if (base.cardinality !== 'single' || exponent.cardinality !== 'single') {\n console.error('qti-power requires single cardinality for both expressions');\n return null;\n }\n\n // Check if values are arrays (shouldn't be for single cardinality)\n if (Array.isArray(base.value) || Array.isArray(exponent.value)) {\n console.error('qti-power unexpected array value for single cardinality');\n return null;\n }\n\n // Handle null values\n if (base.value === null || base.value === undefined || exponent.value === null || exponent.value === undefined) {\n return null;\n }\n\n // Check base types\n if (\n (base.baseType !== 'integer' && base.baseType !== 'float') ||\n (exponent.baseType !== 'integer' && exponent.baseType !== 'float')\n ) {\n console.error('qti-power requires numerical base-types');\n return null;\n }\n\n // Convert to numbers\n const baseValue = parseFloat(base.value as string);\n const exponentValue = parseFloat(exponent.value as string);\n\n // Check for NaN values\n if (isNaN(baseValue) || isNaN(exponentValue)) {\n console.error('qti-power: non-numerical values encountered');\n return null;\n }\n\n // Handle special cases that should return NULL according to mathematical rules\n if (baseValue === 0 && exponentValue <= 0) {\n // 0^0, 0^(-n) are undefined\n return null;\n }\n\n if (baseValue < 0 && !Number.isInteger(exponentValue)) {\n // Negative base with non-integer exponent results in complex number\n return null;\n }\n\n // Calculate the power\n let result: number;\n try {\n result = Math.pow(baseValue, exponentValue);\n } catch (error) {\n console.error('qti-power: error calculating power:', error);\n return null;\n }\n\n // Check if result is within valid float range\n if (isNaN(result)) {\n return null;\n }\n\n // Allow positive and negative infinity as per spec\n if (result === Infinity || result === -Infinity) {\n return result;\n }\n\n // Check if result is within JavaScript's safe number range\n // This is a practical limit for what can be represented as a float\n if (!isFinite(result)) {\n return null;\n }\n\n // Additional check for extremely large or small numbers that might cause issues\n if (Math.abs(result) > Number.MAX_VALUE) {\n return null;\n }\n\n // Check for underflow (extremely small numbers that round to 0)\n if (result !== 0 && Math.abs(result) < Number.MIN_VALUE) {\n return null;\n }\n if (isFinite(result) && result !== 0) {\n // Determine appropriate precision based on the magnitude of the result\n const magnitude = Math.floor(Math.log10(Math.abs(result)));\n const precision = Math.max(0, 14 - magnitude); // Maintain 14 significant digits\n const factor = Math.pow(10, precision);\n result = Math.round(result * factor) / factor;\n }\n\n return result;\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"qti-printed-variable.js","sourceRoot":"","sources":["../../../src/components/qti-printed-variable/qti-printed-variable.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAKnD,MAAM,OAAO,kBAAmB,SAAQ,UAAU;IAQvC,MAAM;QACb,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,IAAI,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC;QACzF,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAA,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;IAC5E,CAAC;IAEM,SAAS;QACd,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC;QAC1F,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAfC;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;sDACR;AAIT;IAFT,OAAO,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAClD,KAAK,EAAE;mDACwB
|
|
1
|
+
{"version":3,"file":"qti-printed-variable.js","sourceRoot":"","sources":["../../../src/components/qti-printed-variable/qti-printed-variable.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAKnD,MAAM,OAAO,kBAAmB,SAAQ,UAAU;IAQvC,MAAM;QACb,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,IAAI,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC;QACzF,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAA,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;IAC5E,CAAC;IAEM,SAAS;QACd,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC;QAC1F,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAfC;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;sDACR;AAIT;IAFT,OAAO,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAClD,KAAK,EAAE;mDACwB","sourcesContent":["import { consume } from '@lit/context';\nimport { LitElement, html, nothing } from 'lit';\nimport { property, state } from 'lit/decorators.js';\n\nimport { itemContext } from '@qti-components/base';\n\nimport type { VariableDeclaration } from '@qti-components/base';\nimport type { ItemContext } from '@qti-components/base';\n\nexport class QtiPrintedVariable extends LitElement {\n @property({ type: String })\n identifier: string;\n\n @consume({ context: itemContext, subscribe: true })\n @state()\n protected context?: ItemContext;\n\n override render() {\n const value = this.context?.variables.find(v => v.identifier === this.identifier)?.value;\n return value === null ? nothing : html`${JSON.stringify(value, null, 2)}`;\n }\n\n public calculate(): VariableDeclaration<string | string[]> {\n const result = this.context.variables.find(v => v.identifier === this.identifier) || null;\n return result;\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"qti-product.js","sourceRoot":"","sources":["../../../src/components/qti-product/qti-product.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAIrD;;;;;;;GAOG;AACH,MAAM,OAAO,UAAW,SAAQ,aAAqB;IACnC,SAAS;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,EAAwB,CAAC;QACzD,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,YAAY,EAAE,EAAE;YAC1D,IAAI,YAAY,CAAC,QAAQ,IAAI,OAAO,IAAI,YAAY,CAAC,QAAQ,IAAI,SAAS,EAAE,CAAC;gBAC3E,IAAI,CAAC;oBACH,OAAO,WAAW,GAAG,UAAU,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACjE,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;gBAC5C,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,IAAI,CAAC,wBAAwB,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;YAChE,CAAC;YACD,OAAO,WAAW,CAAC;QACrB,CAAC,EAAE,CAAC,CAAC,CAAC;QACN,OAAO,OAAO,CAAC;IACjB,CAAC;CACF
|
|
1
|
+
{"version":3,"file":"qti-product.js","sourceRoot":"","sources":["../../../src/components/qti-product/qti-product.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAIrD;;;;;;;GAOG;AACH,MAAM,OAAO,UAAW,SAAQ,aAAqB;IACnC,SAAS;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,EAAwB,CAAC;QACzD,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,YAAY,EAAE,EAAE;YAC1D,IAAI,YAAY,CAAC,QAAQ,IAAI,OAAO,IAAI,YAAY,CAAC,QAAQ,IAAI,SAAS,EAAE,CAAC;gBAC3E,IAAI,CAAC;oBACH,OAAO,WAAW,GAAG,UAAU,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACjE,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;gBAC5C,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,IAAI,CAAC,wBAAwB,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;YAChE,CAAC;YACD,OAAO,WAAW,CAAC;QACrB,CAAC,EAAE,CAAC,CAAC,CAAC;QACN,OAAO,OAAO,CAAC;IACjB,CAAC;CACF","sourcesContent":["import { QtiExpression } from '@qti-components/base';\n\nimport type { ResponseVariable } from '@qti-components/base';\n\n/**\n * @summary The qti-product operator calculates the product of multiple numerical values.\n * @documentation https://www.imsglobal.org/spec/qti/v3p0/info/index.html#product\n *\n * Takes 1 or more sub-expressions with numerical base-types and any cardinality.\n * Returns a single float (or integer if all arguments are integers).\n * Special cases: Returns NULL if any sub-expression is NULL.\n */\nexport class QtiProduct extends QtiExpression<number> {\n public override getResult() {\n const values = this.getVariables() as ResponseVariable[];\n const product = values.reduce((accumulator, currentValue) => {\n if (currentValue.baseType == 'float' || currentValue.baseType == 'integer') {\n try {\n return accumulator * parseFloat(currentValue.value.toString());\n } catch (error) {\n console.warn(`can not convert to number`);\n }\n } else {\n console.warn(`has another baseType ${currentValue.baseType}`);\n }\n return accumulator;\n }, 1);\n return product;\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"qti-random.js","sourceRoot":"","sources":["../../../src/components/qti-random/qti-random.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,MAAM,OAAO,SAAU,SAAQ,aAAqB;IAClC,SAAS;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACnC,uBAAuB;QAEvB,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YAC9B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzB,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;gBAC7D,OAAO,KAAK,CAAC,WAAW,CAAC,CAAC;YAC5B,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC;IACd,CAAC;CACF
|
|
1
|
+
{"version":3,"file":"qti-random.js","sourceRoot":"","sources":["../../../src/components/qti-random/qti-random.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,MAAM,OAAO,SAAU,SAAQ,aAAqB;IAClC,SAAS;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACnC,uBAAuB;QAEvB,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YAC9B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzB,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;gBAC7D,OAAO,KAAK,CAAC,WAAW,CAAC,CAAC;YAC5B,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC;IACd,CAAC;CACF","sourcesContent":["import { QtiExpression } from '@qti-components/base';\n\nexport class QtiRandom extends QtiExpression<string> {\n public override getResult() {\n const values = this.getVariables();\n // console.log(values);\n\n if (values.length === 1) {\n const value = values[0].value;\n if (Array.isArray(value)) {\n const randomIndex = Math.floor(Math.random() * value.length);\n return value[randomIndex];\n }\n return value;\n }\n console.error('unexpected number of children in match');\n return null;\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"qti-random-integer.js","sourceRoot":"","sources":["../../../src/components/qti-random-integer/qti-random-integer.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"qti-random-integer.js","sourceRoot":"","sources":["../../../src/components/qti-random-integer/qti-random-integer.ts"],"names":[],"mappings":"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","sourcesContent":["import { property } from 'lit/decorators.js';\n\nimport { QtiExpression } from '@qti-components/base';\n\n/**\n * @summary The qti-random-integer operator selects a random integer from a specified range.\n * @documentation https://www.imsglobal.org/spec/qti/v3p0/impl#h.random-integer\n *\n * Selects a random integer from the range [min,max] satisfying min + step * n for some integer n.\n * For example, with min=2, max=11 and step=3 the values {2,5,8,11} are possible.\n */\nexport class QtiRandomInteger extends QtiExpression<number> {\n @property({ type: Number }) min: number = 0;\n @property({ type: Number }) max: number = 10;\n @property({ type: Number }) step: number = 1;\n\n public override getResult(): number {\n // Validate attributes\n if (this.min > this.max) {\n console.error('qti-random-integer: min cannot be greater than max');\n return this.min;\n }\n\n if (this.step <= 0) {\n console.error('qti-random-integer: step must be positive');\n return this.min;\n }\n\n // Calculate all possible values in the range\n const possibleValues: number[] = [];\n\n // Generate values using the formula: min + step * n for integer n\n let n = 0;\n while (true) {\n const value = this.min + this.step * n;\n if (value > this.max) {\n break;\n }\n // Only add integer values\n if (Number.isInteger(value)) {\n possibleValues.push(value);\n }\n n++;\n }\n\n // If no valid integer values found, return min (if it's an integer) or floor(min)\n if (possibleValues.length === 0) {\n console.warn('qti-random-integer: no valid integer values in range');\n return Number.isInteger(this.min) ? this.min : Math.floor(this.min);\n }\n\n // Select a random value from the possible values\n const randomIndex = Math.floor(Math.random() * possibleValues.length);\n return possibleValues[randomIndex];\n }\n\n /**\n * Get all possible values for testing purposes\n */\n public getPossibleValues(): number[] {\n const possibleValues: number[] = [];\n\n if (this.min > this.max || this.step <= 0) {\n return [Number.isInteger(this.min) ? this.min : Math.floor(this.min)];\n }\n\n let n = 0;\n while (true) {\n const value = this.min + this.step * n;\n if (value > this.max) {\n break;\n }\n // Only add integer values\n if (Number.isInteger(value)) {\n possibleValues.push(value);\n }\n n++;\n }\n\n return possibleValues.length > 0 ? possibleValues : [Number.isInteger(this.min) ? this.min : Math.floor(this.min)];\n }\n}\n"]}
|
|
@@ -109,5 +109,4 @@ export class QtiRepeat extends QtiExpression {
|
|
|
109
109
|
__decorate([
|
|
110
110
|
property({ type: String, attribute: 'number-repeats' })
|
|
111
111
|
], QtiRepeat.prototype, "numberRepeats", void 0);
|
|
112
|
-
customElements.define('qti-repeat', QtiRepeat);
|
|
113
112
|
//# sourceMappingURL=qti-repeat.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"qti-repeat.js","sourceRoot":"","sources":["../../../src/components/qti-repeat/qti-repeat.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"qti-repeat.js","sourceRoot":"","sources":["../../../src/components/qti-repeat/qti-repeat.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-repeat operator generates a container by repeating an expression.\n * @documentation https://www.imsglobal.org/spec/qti/v3p0/info/index.html#repeat\n *\n * Attributes 'number-repeats' determines the count of iterations.\n * Returns an ordered container filled with results of the evaluated sub-expressions.\n * Special cases: Returns NULL if number-repeats < 1; ignores evaluated NULL values.\n */\nexport class QtiRepeat extends QtiExpression<ResponseVariable[]> {\n @property({ type: String, attribute: 'number-repeats' }) numberRepeats: string = '';\n\n public override getResult(): ResponseVariable[] {\n const count = this.#resolveRepeatCount();\n if (count <= 0) {\n return [];\n }\n\n const expression = this.firstElementChild as QtiExpression<unknown> | null;\n if (!expression) {\n console.warn('qti-repeat: missing child expression');\n return [];\n }\n\n const results: ResponseVariable[] = [];\n for (let i = 0; i < count; i++) {\n const value = expression.calculate();\n const variable = this.#toResponseVariable(value);\n if (variable) {\n results.push(variable);\n }\n }\n\n return results;\n }\n\n #resolveRepeatCount(): number {\n if (!this.numberRepeats) {\n console.warn('qti-repeat: missing number-repeats attribute');\n return 0;\n }\n\n const numericCount = parseInt(this.numberRepeats, 10);\n if (!Number.isNaN(numericCount)) {\n return numericCount;\n }\n\n const identifier = this.numberRepeats;\n const variable = this.context?.variables?.find(v => v.identifier === identifier);\n if (!variable) {\n console.warn(`qti-repeat: unknown identifier \"${identifier}\"`);\n return 0;\n }\n\n const rawValue = Array.isArray(variable.value) ? variable.value[0] : variable.value;\n const resolvedCount = parseInt(rawValue?.toString() ?? '', 10);\n\n if (Number.isNaN(resolvedCount)) {\n console.warn(`qti-repeat: invalid repeat count from \"${identifier}\"`);\n return 0;\n }\n\n return resolvedCount;\n }\n\n #toResponseVariable(value: unknown): ResponseVariable | null {\n if (value === null || value === undefined) {\n return null;\n }\n\n if (typeof value === 'number') {\n return {\n identifier: '',\n cardinality: 'single',\n baseType: Number.isInteger(value) ? 'integer' : 'float',\n value: value.toString(),\n type: 'response'\n } as ResponseVariable;\n }\n\n if (typeof value === 'string') {\n const numericValue = parseFloat(value);\n if (!Number.isNaN(numericValue)) {\n return {\n identifier: '',\n cardinality: 'single',\n baseType: Number.isInteger(numericValue) ? 'integer' : 'float',\n value: value.toString(),\n type: 'response'\n } as ResponseVariable;\n }\n }\n\n if (value && typeof value === 'object' && 'value' in (value as ResponseVariable)) {\n const responseValue = (value as ResponseVariable).value;\n return {\n identifier: '',\n cardinality: 'single',\n baseType: (value as ResponseVariable).baseType ?? 'string',\n value: responseValue !== null && responseValue !== undefined ? responseValue.toString() : null,\n type: 'response'\n } as ResponseVariable;\n }\n\n return {\n identifier: '',\n cardinality: 'single',\n baseType: 'string',\n value: value.toString(),\n type: 'response'\n } as ResponseVariable;\n }\n}\n"]}
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare class QtiResponseCondition extends
|
|
3
|
-
render(): import("lit").TemplateResult<1>;
|
|
4
|
-
process(): void;
|
|
1
|
+
import { QtiConditionBase } from '../qti-condition/qti-condition-base';
|
|
2
|
+
export declare class QtiResponseCondition extends QtiConditionBase {
|
|
5
3
|
}
|
|
@@ -1,19 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
export class QtiResponseCondition extends QtiRule {
|
|
4
|
-
render() {
|
|
5
|
-
return html `<slot></slot>`;
|
|
6
|
-
}
|
|
7
|
-
process() {
|
|
8
|
-
const branches = [...this.children];
|
|
9
|
-
for (let i = 0; i < branches.length; i++) {
|
|
10
|
-
const branch = branches[i];
|
|
11
|
-
if (branch.calculate()) {
|
|
12
|
-
branch.process();
|
|
13
|
-
return;
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
}
|
|
1
|
+
import { QtiConditionBase } from '../qti-condition/qti-condition-base';
|
|
2
|
+
export class QtiResponseCondition extends QtiConditionBase {
|
|
17
3
|
}
|
|
18
|
-
customElements.define('qti-response-condition', QtiResponseCondition);
|
|
19
4
|
//# sourceMappingURL=qti-response-condition.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"qti-response-condition.js","sourceRoot":"","sources":["../../../src/components/qti-response-condition/qti-response-condition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"qti-response-condition.js","sourceRoot":"","sources":["../../../src/components/qti-response-condition/qti-response-condition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAEvE,MAAM,OAAO,oBAAqB,SAAQ,gBAAgB;CAAG","sourcesContent":["import { QtiConditionBase } from '../qti-condition/qti-condition-base';\n\nexport class QtiResponseCondition extends QtiConditionBase {}\n"]}
|
|
@@ -1,8 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
export declare class QtiResponseElse extends LitElement {
|
|
4
|
-
render(): import("lit").TemplateResult<1>;
|
|
5
|
-
calculate(): boolean;
|
|
6
|
-
getSubRules(): QtiRule[];
|
|
7
|
-
process(): void;
|
|
1
|
+
import { QtiConditionElseBase } from '../qti-condition/qti-condition-base';
|
|
2
|
+
export declare class QtiResponseElse extends QtiConditionElseBase {
|
|
8
3
|
}
|
|
@@ -1,21 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export class QtiResponseElse extends
|
|
3
|
-
render() {
|
|
4
|
-
return html `<slot></slot>`;
|
|
5
|
-
}
|
|
6
|
-
calculate() {
|
|
7
|
-
return true;
|
|
8
|
-
}
|
|
9
|
-
getSubRules() {
|
|
10
|
-
return [...this.children];
|
|
11
|
-
}
|
|
12
|
-
process() {
|
|
13
|
-
const subRules = this.getSubRules();
|
|
14
|
-
for (let i = 0; i < subRules.length; i++) {
|
|
15
|
-
const subRule = subRules[i];
|
|
16
|
-
subRule.process();
|
|
17
|
-
}
|
|
18
|
-
}
|
|
1
|
+
import { QtiConditionElseBase } from '../qti-condition/qti-condition-base';
|
|
2
|
+
export class QtiResponseElse extends QtiConditionElseBase {
|
|
19
3
|
}
|
|
20
|
-
customElements.define('qti-response-else', QtiResponseElse);
|
|
21
4
|
//# sourceMappingURL=qti-response-else.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"qti-response-else.js","sourceRoot":"","sources":["../../../src/components/qti-response-else/qti-response-else.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"qti-response-else.js","sourceRoot":"","sources":["../../../src/components/qti-response-else/qti-response-else.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAE3E,MAAM,OAAO,eAAgB,SAAQ,oBAAoB;CAAG","sourcesContent":["import { QtiConditionElseBase } from '../qti-condition/qti-condition-base';\n\nexport class QtiResponseElse extends QtiConditionElseBase {}\n"]}
|
|
@@ -1,9 +1,4 @@
|
|
|
1
|
-
import { html } from 'lit';
|
|
2
1
|
import { QtiResponseIf } from '../qti-response-if/qti-response-if';
|
|
3
2
|
export class QtiResponseElseIf extends QtiResponseIf {
|
|
4
|
-
render() {
|
|
5
|
-
return html `${super.render()}`;
|
|
6
|
-
}
|
|
7
3
|
}
|
|
8
|
-
customElements.define('qti-response-else-if', QtiResponseElseIf);
|
|
9
4
|
//# sourceMappingURL=qti-response-else-if.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"qti-response-else-if.js","sourceRoot":"","sources":["../../../src/components/qti-response-else-if/qti-response-else-if.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"qti-response-else-if.js","sourceRoot":"","sources":["../../../src/components/qti-response-else-if/qti-response-else-if.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAEnE,MAAM,OAAO,iBAAkB,SAAQ,aAAa;CAAG","sourcesContent":["import { QtiResponseIf } from '../qti-response-if/qti-response-if';\n\nexport class QtiResponseElseIf extends QtiResponseIf {}\n"]}
|
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
export declare class QtiResponseIf extends QtiResponseElse {
|
|
4
|
-
calculate(): boolean;
|
|
5
|
-
getSubRules(): QtiRule[];
|
|
1
|
+
import { QtiConditionIfBase } from '../qti-condition/qti-condition-base';
|
|
2
|
+
export declare class QtiResponseIf extends QtiConditionIfBase {
|
|
6
3
|
}
|
|
@@ -1,17 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export class QtiResponseIf extends
|
|
3
|
-
calculate() {
|
|
4
|
-
const expression = this.firstElementChild;
|
|
5
|
-
const result = expression.calculate();
|
|
6
|
-
return result;
|
|
7
|
-
}
|
|
8
|
-
getSubRules() {
|
|
9
|
-
const result = [];
|
|
10
|
-
for (let i = 1; i < this.children.length; i++) {
|
|
11
|
-
result.push(this.children[i]);
|
|
12
|
-
}
|
|
13
|
-
return result;
|
|
14
|
-
}
|
|
1
|
+
import { QtiConditionIfBase } from '../qti-condition/qti-condition-base';
|
|
2
|
+
export class QtiResponseIf extends QtiConditionIfBase {
|
|
15
3
|
}
|
|
16
|
-
customElements.define('qti-response-if', QtiResponseIf);
|
|
17
4
|
//# sourceMappingURL=qti-response-if.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"qti-response-if.js","sourceRoot":"","sources":["../../../src/components/qti-response-if/qti-response-if.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"qti-response-if.js","sourceRoot":"","sources":["../../../src/components/qti-response-if/qti-response-if.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAEzE,MAAM,OAAO,aAAc,SAAQ,kBAAkB;CAAG","sourcesContent":["import { QtiConditionIfBase } from '../qti-condition/qti-condition-base';\n\nexport class QtiResponseIf extends QtiConditionIfBase {}\n"]}
|