@longsightgroup/qti3-core 0.7.2 → 0.8.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/README.md +41 -10
- package/dist/content-text.d.ts +14 -0
- package/dist/content-text.d.ts.map +1 -0
- package/dist/content-text.js +58 -0
- package/dist/content-text.js.map +1 -0
- package/dist/index.d.ts +7 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -2
- package/dist/index.js.map +1 -1
- package/dist/package-xml.d.ts +12 -0
- package/dist/package-xml.d.ts.map +1 -0
- package/dist/package-xml.js +17 -0
- package/dist/package-xml.js.map +1 -0
- package/dist/parser-custom-interactions.d.ts +8 -0
- package/dist/parser-custom-interactions.d.ts.map +1 -0
- package/dist/parser-custom-interactions.js +178 -0
- package/dist/parser-custom-interactions.js.map +1 -0
- package/dist/parser-declarations.d.ts +6 -0
- package/dist/parser-declarations.d.ts.map +1 -0
- package/dist/parser-declarations.js +136 -0
- package/dist/parser-declarations.js.map +1 -0
- package/dist/parser-item-metadata.d.ts +9 -0
- package/dist/parser-item-metadata.d.ts.map +1 -0
- package/dist/parser-item-metadata.js +158 -0
- package/dist/parser-item-metadata.js.map +1 -0
- package/dist/parser-processing.d.ts +5 -0
- package/dist/parser-processing.d.ts.map +1 -0
- package/dist/parser-processing.js +642 -0
- package/dist/parser-processing.js.map +1 -0
- package/dist/parser-values.d.ts +8 -0
- package/dist/parser-values.d.ts.map +1 -0
- package/dist/parser-values.js +49 -0
- package/dist/parser-values.js.map +1 -0
- package/dist/parser.d.ts.map +1 -1
- package/dist/parser.js +32 -1086
- package/dist/parser.js.map +1 -1
- package/dist/processing-expression-tags.d.ts +56 -0
- package/dist/processing-expression-tags.d.ts.map +1 -0
- package/dist/processing-expression-tags.js +52 -0
- package/dist/processing-expression-tags.js.map +1 -0
- package/dist/processing-rules.d.ts +3 -0
- package/dist/processing-rules.d.ts.map +1 -0
- package/dist/processing-rules.js +10 -0
- package/dist/processing-rules.js.map +1 -0
- package/dist/serializer-processing-expressions.d.ts +8 -0
- package/dist/serializer-processing-expressions.d.ts.map +1 -0
- package/dist/serializer-processing-expressions.js +198 -0
- package/dist/serializer-processing-expressions.js.map +1 -0
- package/dist/serializer-processing-xml.d.ts +15 -0
- package/dist/serializer-processing-xml.d.ts.map +1 -0
- package/dist/serializer-processing-xml.js +46 -0
- package/dist/serializer-processing-xml.js.map +1 -0
- package/dist/serializer-processing.d.ts +8 -0
- package/dist/serializer-processing.d.ts.map +1 -0
- package/dist/serializer-processing.js +106 -0
- package/dist/serializer-processing.js.map +1 -0
- package/dist/shared-vocabulary-authoring.d.ts +50 -0
- package/dist/shared-vocabulary-authoring.d.ts.map +1 -0
- package/dist/shared-vocabulary-authoring.js +302 -0
- package/dist/shared-vocabulary-authoring.js.map +1 -0
- package/dist/shared-vocabulary-interaction-sets.d.ts +6 -0
- package/dist/shared-vocabulary-interaction-sets.d.ts.map +1 -0
- package/dist/shared-vocabulary-interaction-sets.js +23 -0
- package/dist/shared-vocabulary-interaction-sets.js.map +1 -0
- package/dist/shared-vocabulary-interaction-validation.d.ts +3 -0
- package/dist/shared-vocabulary-interaction-validation.d.ts.map +1 -0
- package/dist/shared-vocabulary-interaction-validation.js +99 -0
- package/dist/shared-vocabulary-interaction-validation.js.map +1 -0
- package/dist/shared-vocabulary-registry-validation.d.ts +5 -0
- package/dist/shared-vocabulary-registry-validation.d.ts.map +1 -0
- package/dist/shared-vocabulary-registry-validation.js +147 -0
- package/dist/shared-vocabulary-registry-validation.js.map +1 -0
- package/dist/shared-vocabulary-support.d.ts.map +1 -1
- package/dist/shared-vocabulary-support.js +96 -56
- package/dist/shared-vocabulary-support.js.map +1 -1
- package/dist/shared-vocabulary.d.ts +6 -0
- package/dist/shared-vocabulary.d.ts.map +1 -1
- package/dist/shared-vocabulary.js +12 -0
- package/dist/shared-vocabulary.js.map +1 -1
- package/dist/support.d.ts +4 -1
- package/dist/support.d.ts.map +1 -1
- package/dist/support.js +159 -10
- package/dist/support.js.map +1 -1
- package/dist/types.d.ts +38 -7
- package/dist/types.d.ts.map +1 -1
- package/dist/validation.d.ts.map +1 -1
- package/dist/validation.js +29 -250
- package/dist/validation.js.map +1 -1
- package/dist/xml.d.ts +10 -0
- package/dist/xml.d.ts.map +1 -1
- package/dist/xml.js +321 -249
- package/dist/xml.js.map +1 -1
- package/package.json +1 -4
- package/src/content-text.ts +80 -0
- package/src/index.ts +67 -0
- package/src/interaction-test-fixtures.ts +44 -0
- package/src/package-xml.ts +30 -0
- package/src/parser-custom-interactions.ts +309 -0
- package/src/parser-declarations.ts +174 -0
- package/src/parser-item-metadata.ts +194 -0
- package/src/parser-processing.ts +701 -0
- package/src/parser-values.ts +61 -0
- package/src/parser.ts +59 -1230
- package/src/processing-expression-tags.ts +65 -0
- package/src/processing-rules.ts +11 -0
- package/src/serializer-processing-expressions.ts +456 -0
- package/src/serializer-processing-xml.ts +67 -0
- package/src/serializer-processing.fixtures.ts +469 -0
- package/src/serializer-processing.ts +196 -0
- package/src/shared-vocabulary-authoring.ts +409 -0
- package/src/shared-vocabulary-interaction-sets.ts +28 -0
- package/src/shared-vocabulary-interaction-validation.ts +143 -0
- package/src/shared-vocabulary-registry-validation.ts +207 -0
- package/src/shared-vocabulary-support.ts +127 -101
- package/src/shared-vocabulary.ts +18 -0
- package/src/support.ts +174 -14
- package/src/types.ts +48 -7
- package/src/validation.ts +33 -341
- package/src/xml.ts +378 -255
package/dist/parser.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* QTI processing-expression element tags used by the structured serializer.
|
|
3
|
+
*
|
|
4
|
+
* The parser still owns XML-to-model recognition in `parser-processing.ts`; when adding a new
|
|
5
|
+
* expression variant, update parser behavior, serializer behavior, and the exhaustive coverage
|
|
6
|
+
* table in `serializer-processing.fixtures.ts`.
|
|
7
|
+
*/
|
|
8
|
+
export declare const identifierExpressionTags: {
|
|
9
|
+
readonly correct: "qti-correct";
|
|
10
|
+
readonly default: "qti-default";
|
|
11
|
+
readonly mapResponse: "qti-map-response";
|
|
12
|
+
readonly mapResponsePoint: "qti-map-response-point";
|
|
13
|
+
readonly variable: "qti-variable";
|
|
14
|
+
};
|
|
15
|
+
export type IdentifierExpressionType = keyof typeof identifierExpressionTags;
|
|
16
|
+
export declare const unaryExpressionTags: {
|
|
17
|
+
readonly containerSize: "qti-container-size";
|
|
18
|
+
readonly round: "qti-round";
|
|
19
|
+
readonly truncate: "qti-truncate";
|
|
20
|
+
readonly integerToFloat: "qti-integer-to-float";
|
|
21
|
+
};
|
|
22
|
+
export type UnaryExpressionType = keyof typeof unaryExpressionTags;
|
|
23
|
+
export declare const naryExpressionTags: {
|
|
24
|
+
readonly multiple: "qti-multiple";
|
|
25
|
+
readonly ordered: "qti-ordered";
|
|
26
|
+
readonly sum: "qti-sum";
|
|
27
|
+
readonly product: "qti-product";
|
|
28
|
+
readonly min: "qti-min";
|
|
29
|
+
readonly max: "qti-max";
|
|
30
|
+
readonly and: "qti-and";
|
|
31
|
+
readonly or: "qti-or";
|
|
32
|
+
readonly gcd: "qti-gcd";
|
|
33
|
+
readonly lcm: "qti-lcm";
|
|
34
|
+
};
|
|
35
|
+
export type NaryExpressionType = keyof typeof naryExpressionTags;
|
|
36
|
+
export declare const leftRightExpressionTags: {
|
|
37
|
+
readonly match: "qti-match";
|
|
38
|
+
readonly subtract: "qti-subtract";
|
|
39
|
+
readonly divide: "qti-divide";
|
|
40
|
+
readonly power: "qti-power";
|
|
41
|
+
readonly integerDivide: "qti-integer-divide";
|
|
42
|
+
readonly integerModulus: "qti-integer-modulus";
|
|
43
|
+
readonly equal: "qti-equal";
|
|
44
|
+
};
|
|
45
|
+
export type LeftRightExpressionType = keyof typeof leftRightExpressionTags;
|
|
46
|
+
export declare const numericCompareTags: {
|
|
47
|
+
readonly lt: "qti-lt";
|
|
48
|
+
readonly lte: "qti-lte";
|
|
49
|
+
readonly gt: "qti-gt";
|
|
50
|
+
readonly gte: "qti-gte";
|
|
51
|
+
};
|
|
52
|
+
export declare const durationCompareTags: {
|
|
53
|
+
readonly lt: "qti-duration-lt";
|
|
54
|
+
readonly gte: "qti-duration-gte";
|
|
55
|
+
};
|
|
56
|
+
//# sourceMappingURL=processing-expression-tags.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"processing-expression-tags.d.ts","sourceRoot":"","sources":["../src/processing-expression-tags.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,eAAO,MAAM,wBAAwB;;;;;;CAM3B,CAAC;AAEX,MAAM,MAAM,wBAAwB,GAAG,MAAM,OAAO,wBAAwB,CAAC;AAE7E,eAAO,MAAM,mBAAmB;;;;;CAKtB,CAAC;AAEX,MAAM,MAAM,mBAAmB,GAAG,MAAM,OAAO,mBAAmB,CAAC;AAEnE,eAAO,MAAM,kBAAkB;;;;;;;;;;;CAWrB,CAAC;AAEX,MAAM,MAAM,kBAAkB,GAAG,MAAM,OAAO,kBAAkB,CAAC;AAEjE,eAAO,MAAM,uBAAuB;;;;;;;;CAQ1B,CAAC;AAEX,MAAM,MAAM,uBAAuB,GAAG,MAAM,OAAO,uBAAuB,CAAC;AAE3E,eAAO,MAAM,kBAAkB;;;;;CAKrB,CAAC;AAEX,eAAO,MAAM,mBAAmB;;;CAGtB,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* QTI processing-expression element tags used by the structured serializer.
|
|
3
|
+
*
|
|
4
|
+
* The parser still owns XML-to-model recognition in `parser-processing.ts`; when adding a new
|
|
5
|
+
* expression variant, update parser behavior, serializer behavior, and the exhaustive coverage
|
|
6
|
+
* table in `serializer-processing.fixtures.ts`.
|
|
7
|
+
*/
|
|
8
|
+
export const identifierExpressionTags = {
|
|
9
|
+
correct: "qti-correct",
|
|
10
|
+
default: "qti-default",
|
|
11
|
+
mapResponse: "qti-map-response",
|
|
12
|
+
mapResponsePoint: "qti-map-response-point",
|
|
13
|
+
variable: "qti-variable",
|
|
14
|
+
};
|
|
15
|
+
export const unaryExpressionTags = {
|
|
16
|
+
containerSize: "qti-container-size",
|
|
17
|
+
round: "qti-round",
|
|
18
|
+
truncate: "qti-truncate",
|
|
19
|
+
integerToFloat: "qti-integer-to-float",
|
|
20
|
+
};
|
|
21
|
+
export const naryExpressionTags = {
|
|
22
|
+
multiple: "qti-multiple",
|
|
23
|
+
ordered: "qti-ordered",
|
|
24
|
+
sum: "qti-sum",
|
|
25
|
+
product: "qti-product",
|
|
26
|
+
min: "qti-min",
|
|
27
|
+
max: "qti-max",
|
|
28
|
+
and: "qti-and",
|
|
29
|
+
or: "qti-or",
|
|
30
|
+
gcd: "qti-gcd",
|
|
31
|
+
lcm: "qti-lcm",
|
|
32
|
+
};
|
|
33
|
+
export const leftRightExpressionTags = {
|
|
34
|
+
match: "qti-match",
|
|
35
|
+
subtract: "qti-subtract",
|
|
36
|
+
divide: "qti-divide",
|
|
37
|
+
power: "qti-power",
|
|
38
|
+
integerDivide: "qti-integer-divide",
|
|
39
|
+
integerModulus: "qti-integer-modulus",
|
|
40
|
+
equal: "qti-equal",
|
|
41
|
+
};
|
|
42
|
+
export const numericCompareTags = {
|
|
43
|
+
lt: "qti-lt",
|
|
44
|
+
lte: "qti-lte",
|
|
45
|
+
gt: "qti-gt",
|
|
46
|
+
gte: "qti-gte",
|
|
47
|
+
};
|
|
48
|
+
export const durationCompareTags = {
|
|
49
|
+
lt: "qti-duration-lt",
|
|
50
|
+
gte: "qti-duration-gte",
|
|
51
|
+
};
|
|
52
|
+
//# sourceMappingURL=processing-expression-tags.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"processing-expression-tags.js","sourceRoot":"","sources":["../src/processing-expression-tags.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,OAAO,EAAE,aAAa;IACtB,OAAO,EAAE,aAAa;IACtB,WAAW,EAAE,kBAAkB;IAC/B,gBAAgB,EAAE,wBAAwB;IAC1C,QAAQ,EAAE,cAAc;CAChB,CAAC;AAIX,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,aAAa,EAAE,oBAAoB;IACnC,KAAK,EAAE,WAAW;IAClB,QAAQ,EAAE,cAAc;IACxB,cAAc,EAAE,sBAAsB;CAC9B,CAAC;AAIX,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,QAAQ,EAAE,cAAc;IACxB,OAAO,EAAE,aAAa;IACtB,GAAG,EAAE,SAAS;IACd,OAAO,EAAE,aAAa;IACtB,GAAG,EAAE,SAAS;IACd,GAAG,EAAE,SAAS;IACd,GAAG,EAAE,SAAS;IACd,EAAE,EAAE,QAAQ;IACZ,GAAG,EAAE,SAAS;IACd,GAAG,EAAE,SAAS;CACN,CAAC;AAIX,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,KAAK,EAAE,WAAW;IAClB,QAAQ,EAAE,cAAc;IACxB,MAAM,EAAE,YAAY;IACpB,KAAK,EAAE,WAAW;IAClB,aAAa,EAAE,oBAAoB;IACnC,cAAc,EAAE,qBAAqB;IACrC,KAAK,EAAE,WAAW;CACV,CAAC;AAIX,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,EAAE,EAAE,QAAQ;IACZ,GAAG,EAAE,SAAS;IACd,EAAE,EAAE,QAAQ;IACZ,GAAG,EAAE,SAAS;CACN,CAAC;AAEX,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,EAAE,EAAE,iBAAiB;IACrB,GAAG,EAAE,kBAAkB;CACf,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"processing-rules.d.ts","sourceRoot":"","sources":["../src/processing-rules.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAExE,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,SAAS,eAAe,EAAE,GAChC,oBAAoB,EAAE,CAMxB"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export function responseConditionsFromRules(rules) {
|
|
2
|
+
return rules.flatMap((rule) => {
|
|
3
|
+
if (rule.type === "responseCondition")
|
|
4
|
+
return [rule.condition];
|
|
5
|
+
if (rule.type === "responseProcessingFragment")
|
|
6
|
+
return responseConditionsFromRules(rule.rules);
|
|
7
|
+
return [];
|
|
8
|
+
});
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=processing-rules.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"processing-rules.js","sourceRoot":"","sources":["../src/processing-rules.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,2BAA2B,CACzC,KAAiC;IAEjC,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QAC5B,IAAI,IAAI,CAAC,IAAI,KAAK,mBAAmB;YAAE,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC/D,IAAI,IAAI,CAAC,IAAI,KAAK,4BAA4B;YAAE,OAAO,2BAA2B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/F,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type SerializationContext } from "./serializer-processing-xml.js";
|
|
2
|
+
import type { QtiProcessingExpression } from "./types.js";
|
|
3
|
+
/**
|
|
4
|
+
* Parser asymmetries that do not map 1:1 to a single expression type tag.
|
|
5
|
+
* See `docs/plans/issue-12-response-processing-serialization-revised.md`.
|
|
6
|
+
*/
|
|
7
|
+
export declare function serializeExpression(expression: QtiProcessingExpression, context: SerializationContext, indent: number): string[];
|
|
8
|
+
//# sourceMappingURL=serializer-processing-expressions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serializer-processing-expressions.d.ts","sourceRoot":"","sources":["../src/serializer-processing-expressions.ts"],"names":[],"mappings":"AAaA,OAAO,EAKL,KAAK,oBAAoB,EAE1B,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,uBAAuB,EAA+B,MAAM,YAAY,CAAC;AAQvF;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,uBAAuB,EACnC,OAAO,EAAE,oBAAoB,EAC7B,MAAM,EAAE,MAAM,GACb,MAAM,EAAE,CAiPV"}
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
import { durationCompareTags, identifierExpressionTags, leftRightExpressionTags, naryExpressionTags, numericCompareTags, unaryExpressionTags, } from "./processing-expression-tags.js";
|
|
2
|
+
import { escapeXmlText } from "./xml.js";
|
|
3
|
+
import { addSerializerDiagnostic, knownAttributesWithBagFallback, renderElement, sortedBagAttributes, } from "./serializer-processing-xml.js";
|
|
4
|
+
import { qtiValueToString } from "./value-format.js";
|
|
5
|
+
/**
|
|
6
|
+
* Parser asymmetries that do not map 1:1 to a single expression type tag.
|
|
7
|
+
* See `docs/plans/issue-12-response-processing-serialization-revised.md`.
|
|
8
|
+
*/
|
|
9
|
+
export function serializeExpression(expression, context, indent) {
|
|
10
|
+
if (isIdentifierExpression(expression)) {
|
|
11
|
+
return identifierExpression(identifierExpressionTags[expression.type], expression.identifier, expression.source, context, indent);
|
|
12
|
+
}
|
|
13
|
+
if (isNaryExpression(expression)) {
|
|
14
|
+
return renderExpressionContainer(naryExpressionTags[expression.type], [], expression.expressions, context, indent);
|
|
15
|
+
}
|
|
16
|
+
if (isUnaryExpression(expression)) {
|
|
17
|
+
return renderExpressionContainer(unaryExpressionTags[expression.type], [], [expression.expression], context, indent);
|
|
18
|
+
}
|
|
19
|
+
if (isLeftRightExpression(expression)) {
|
|
20
|
+
return renderExpressionContainer(leftRightExpressionTags[expression.type], [], [expression.left, expression.right], context, indent);
|
|
21
|
+
}
|
|
22
|
+
switch (expression.type) {
|
|
23
|
+
case "baseValue":
|
|
24
|
+
return serializeBaseValue(expression, context, indent);
|
|
25
|
+
case "null":
|
|
26
|
+
return renderElement("qti-null", [], [], indent);
|
|
27
|
+
case "isNull":
|
|
28
|
+
return serializeIsNull(expression, context, indent);
|
|
29
|
+
case "matchCorrect":
|
|
30
|
+
return serializeMatchCorrect(expression, context, indent);
|
|
31
|
+
case "randomInteger":
|
|
32
|
+
return renderElement("qti-random-integer", knownAttributesWithBagFallback(expression.attributes, [
|
|
33
|
+
{ name: "min", fallback: finiteNumberFallback(expression.min) },
|
|
34
|
+
{ name: "max", fallback: finiteNumberFallback(expression.max) },
|
|
35
|
+
{ name: "step", fallback: finiteNumberFallback(expression.step) },
|
|
36
|
+
]), [], indent);
|
|
37
|
+
case "randomFloat":
|
|
38
|
+
return renderElement("qti-random-float", knownAttributesWithBagFallback(expression.attributes, [
|
|
39
|
+
{ name: "min", fallback: finiteNumberFallback(expression.min) },
|
|
40
|
+
{ name: "max", fallback: finiteNumberFallback(expression.max) },
|
|
41
|
+
]), [], indent);
|
|
42
|
+
case "random":
|
|
43
|
+
return renderElement("qti-random", [], expression.values.flatMap((value) => serializeExpression(value, context, indent + 1)), indent);
|
|
44
|
+
case "index":
|
|
45
|
+
return renderExpressionContainer("qti-index", [["n", expression.n]], [expression.expression], context, indent);
|
|
46
|
+
case "roundTo":
|
|
47
|
+
return renderExpressionContainer("qti-round-to", [
|
|
48
|
+
["rounding-mode", expression.roundingMode],
|
|
49
|
+
["figures", expression.figures],
|
|
50
|
+
], [expression.expression], context, indent);
|
|
51
|
+
case "anyN":
|
|
52
|
+
return renderExpressionContainer("qti-any-n", [
|
|
53
|
+
["min", expression.min],
|
|
54
|
+
["max", expression.max],
|
|
55
|
+
], expression.expressions, context, indent);
|
|
56
|
+
case "not":
|
|
57
|
+
return renderExpressionContainer("qti-not", [], [expression.expression], context, indent);
|
|
58
|
+
case "equalRounded":
|
|
59
|
+
return renderExpressionContainer("qti-equal-rounded", [
|
|
60
|
+
["rounding-mode", expression.roundingMode],
|
|
61
|
+
["figures", expression.figures],
|
|
62
|
+
], [expression.left, expression.right], context, indent);
|
|
63
|
+
case "numericCompare":
|
|
64
|
+
return renderExpressionContainer(numericCompareTags[expression.operator], [], [expression.left, expression.right], context, indent);
|
|
65
|
+
case "durationCompare":
|
|
66
|
+
return renderExpressionContainer(durationCompareTags[expression.operator], [], [expression.left, expression.right], context, indent);
|
|
67
|
+
case "stringMatch":
|
|
68
|
+
return renderExpressionContainer("qti-string-match", [
|
|
69
|
+
["case-sensitive", expression.caseSensitive],
|
|
70
|
+
["substring", expression.substring],
|
|
71
|
+
], [expression.left, expression.right], context, indent);
|
|
72
|
+
case "substring":
|
|
73
|
+
return renderExpressionContainer("qti-substring", [["case-sensitive", expression.caseSensitive]], [expression.left, expression.right], context, indent);
|
|
74
|
+
case "patternMatch":
|
|
75
|
+
return renderExpressionContainer("qti-pattern-match", [["pattern", expression.pattern]], [expression.expression], context, indent);
|
|
76
|
+
case "fieldValue":
|
|
77
|
+
return renderExpressionContainer("qti-field-value", [["field-identifier", expression.fieldIdentifier]], [expression.expression], context, indent);
|
|
78
|
+
case "member":
|
|
79
|
+
return renderExpressionContainer("qti-member", [], [expression.value, expression.collection], context, indent);
|
|
80
|
+
case "delete":
|
|
81
|
+
return renderExpressionContainer("qti-delete", [], [expression.value, expression.collection], context, indent);
|
|
82
|
+
case "contains":
|
|
83
|
+
return renderExpressionContainer("qti-contains", [], [expression.collection, expression.values], context, indent);
|
|
84
|
+
case "inside":
|
|
85
|
+
return renderExpressionContainer("qti-inside", knownAttributesWithBagFallback(expression.attributes, [
|
|
86
|
+
{ name: "shape", fallback: expression.shape },
|
|
87
|
+
{ name: "coords", fallback: expression.coords.join(",") },
|
|
88
|
+
]), [expression.expression], context, indent);
|
|
89
|
+
case "mathConstant":
|
|
90
|
+
return renderElement("qti-math-constant", [["name", expression.name]], [], indent);
|
|
91
|
+
case "mathOperator":
|
|
92
|
+
return renderExpressionContainer("qti-math-operator", [["name", expression.name]], expression.expressions, context, indent);
|
|
93
|
+
case "repeat":
|
|
94
|
+
return renderExpressionContainer("qti-repeat", [["number-repeats", expression.numberRepeats]], expression.expressions, context, indent);
|
|
95
|
+
case "statsOperator":
|
|
96
|
+
return renderExpressionContainer("qti-stats-operator", [["name", expression.name]], [expression.expression], context, indent);
|
|
97
|
+
case "customOperator":
|
|
98
|
+
return renderExpressionContainer("qti-custom-operator", customOperatorAttributes(expression), expression.expressions, context, indent);
|
|
99
|
+
default:
|
|
100
|
+
return unsupportedExpression(expression, context);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
function isIdentifierExpression(expression) {
|
|
104
|
+
return expression.type in identifierExpressionTags;
|
|
105
|
+
}
|
|
106
|
+
function isUnaryExpression(expression) {
|
|
107
|
+
return expression.type in unaryExpressionTags;
|
|
108
|
+
}
|
|
109
|
+
function isNaryExpression(expression) {
|
|
110
|
+
return expression.type in naryExpressionTags;
|
|
111
|
+
}
|
|
112
|
+
function isLeftRightExpression(expression) {
|
|
113
|
+
return expression.type in leftRightExpressionTags;
|
|
114
|
+
}
|
|
115
|
+
function serializeBaseValue(expression, context, indent) {
|
|
116
|
+
if (expression.baseType === undefined) {
|
|
117
|
+
addSerializerDiagnostic(context, "responseProcessing.serialize.invalidAttribute", {
|
|
118
|
+
message: "qti-base-value requires base-type.",
|
|
119
|
+
source: expression.source,
|
|
120
|
+
});
|
|
121
|
+
return [];
|
|
122
|
+
}
|
|
123
|
+
const text = baseValueText(expression);
|
|
124
|
+
if (text === undefined) {
|
|
125
|
+
addSerializerDiagnostic(context, "responseProcessing.serialize.invalidExpression", {
|
|
126
|
+
message: "qti-base-value can serialize only single scalar values.",
|
|
127
|
+
source: expression.source,
|
|
128
|
+
});
|
|
129
|
+
return [];
|
|
130
|
+
}
|
|
131
|
+
return renderElement("qti-base-value", [["base-type", expression.baseType]], escapeXmlText(text), indent);
|
|
132
|
+
}
|
|
133
|
+
function baseValueText(expression) {
|
|
134
|
+
if (expression.rawValue !== undefined)
|
|
135
|
+
return expression.rawValue;
|
|
136
|
+
if (!isSerializableBaseValue(expression.value))
|
|
137
|
+
return undefined;
|
|
138
|
+
return qtiValueToString(expression.value);
|
|
139
|
+
}
|
|
140
|
+
function serializeIsNull(expression, context, indent) {
|
|
141
|
+
if (!requireIdentifier(expression.identifier, "qti-is-null", expression.source, context)) {
|
|
142
|
+
return [];
|
|
143
|
+
}
|
|
144
|
+
return renderElement("qti-is-null", [], renderElement("qti-variable", [["identifier", expression.identifier]], [], indent + 1), indent);
|
|
145
|
+
}
|
|
146
|
+
function serializeMatchCorrect(expression, context, indent) {
|
|
147
|
+
if (!requireIdentifier(expression.identifier, "qti-match", expression.source, context) ||
|
|
148
|
+
!requireIdentifier(expression.correctIdentifier, "qti-match", expression.source, context)) {
|
|
149
|
+
return [];
|
|
150
|
+
}
|
|
151
|
+
return renderElement("qti-match", [], [
|
|
152
|
+
...renderElement("qti-variable", [["identifier", expression.identifier]], [], indent + 1),
|
|
153
|
+
...renderElement("qti-correct", [["identifier", expression.correctIdentifier]], [], indent + 1),
|
|
154
|
+
], indent);
|
|
155
|
+
}
|
|
156
|
+
function customOperatorAttributes(expression) {
|
|
157
|
+
const bag = { ...expression.attributes };
|
|
158
|
+
if (expression.definition !== undefined && bag.definition === undefined) {
|
|
159
|
+
bag.definition = expression.definition;
|
|
160
|
+
}
|
|
161
|
+
if (expression.className !== undefined && bag.class === undefined) {
|
|
162
|
+
bag.class = expression.className;
|
|
163
|
+
}
|
|
164
|
+
return sortedBagAttributes(bag);
|
|
165
|
+
}
|
|
166
|
+
function identifierExpression(tagName, identifier, source, context, indent) {
|
|
167
|
+
if (!requireIdentifier(identifier, tagName, source, context))
|
|
168
|
+
return [];
|
|
169
|
+
return renderElement(tagName, [["identifier", identifier]], [], indent);
|
|
170
|
+
}
|
|
171
|
+
function renderExpressionContainer(tagName, attrs, expressions, context, indent) {
|
|
172
|
+
return renderElement(tagName, attrs, expressions.flatMap((child) => serializeExpression(child, context, indent + 1)), indent);
|
|
173
|
+
}
|
|
174
|
+
function requireIdentifier(identifier, tagName, source, context) {
|
|
175
|
+
if (identifier !== "")
|
|
176
|
+
return true;
|
|
177
|
+
addSerializerDiagnostic(context, "responseProcessing.serialize.invalidAttribute", {
|
|
178
|
+
message: `${tagName} requires a non-empty identifier.`,
|
|
179
|
+
source,
|
|
180
|
+
});
|
|
181
|
+
return false;
|
|
182
|
+
}
|
|
183
|
+
function finiteNumberFallback(value) {
|
|
184
|
+
return Number.isFinite(value) ? value : undefined;
|
|
185
|
+
}
|
|
186
|
+
function isSerializableBaseValue(value) {
|
|
187
|
+
return (typeof value === "string" ||
|
|
188
|
+
typeof value === "boolean" ||
|
|
189
|
+
(typeof value === "number" && Number.isFinite(value)));
|
|
190
|
+
}
|
|
191
|
+
function unsupportedExpression(expression, context) {
|
|
192
|
+
addSerializerDiagnostic(context, "responseProcessing.serialize.unsupportedExpression", {
|
|
193
|
+
message: `Unsupported response-processing expression type: ${expression.type}.`,
|
|
194
|
+
source: expression.source,
|
|
195
|
+
});
|
|
196
|
+
return [];
|
|
197
|
+
}
|
|
198
|
+
//# sourceMappingURL=serializer-processing-expressions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serializer-processing-expressions.js","sourceRoot":"","sources":["../src/serializer-processing-expressions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export type XmlAttribute = readonly [name: string, value: string | number | boolean | undefined];
|
|
2
|
+
export interface SerializationContext {
|
|
3
|
+
diagnostics: import("./types.js").QtiDiagnostic[];
|
|
4
|
+
}
|
|
5
|
+
export declare function renderElement(name: string, attrs: readonly XmlAttribute[], content: readonly string[] | string, indent: number): string[];
|
|
6
|
+
export declare function renderAttributes(attrs: readonly XmlAttribute[]): string;
|
|
7
|
+
export declare function knownAttributesWithBagFallback(bag: Record<string, string> | undefined, known: readonly {
|
|
8
|
+
name: string;
|
|
9
|
+
fallback?: string | number | boolean | undefined;
|
|
10
|
+
}[]): XmlAttribute[];
|
|
11
|
+
export declare function sortedBagAttributes(bag: Record<string, string> | undefined): XmlAttribute[];
|
|
12
|
+
export declare function addSerializerDiagnostic(context: SerializationContext, code: string, diagnostic: Omit<import("./types.js").QtiDiagnostic, "code" | "severity"> & {
|
|
13
|
+
severity?: import("./types.js").QtiDiagnostic["severity"];
|
|
14
|
+
}): void;
|
|
15
|
+
//# sourceMappingURL=serializer-processing-xml.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serializer-processing-xml.d.ts","sourceRoot":"","sources":["../src/serializer-processing-xml.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,YAAY,GAAG,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,CAAC;AAEjG,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,OAAO,YAAY,EAAE,aAAa,EAAE,CAAC;CACnD;AAED,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,SAAS,YAAY,EAAE,EAC9B,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EACnC,MAAM,EAAE,MAAM,GACb,MAAM,EAAE,CAQV;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,YAAY,EAAE,GAAG,MAAM,CAKvE;AAED,wBAAgB,8BAA8B,CAC5C,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EACvC,KAAK,EAAE,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAA;CAAE,EAAE,GACnF,YAAY,EAAE,CAYhB;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,GAAG,YAAY,EAAE,CAI3F;AAED,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,oBAAoB,EAC7B,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,IAAI,CAAC,OAAO,YAAY,EAAE,aAAa,EAAE,MAAM,GAAG,UAAU,CAAC,GAAG;IAC1E,QAAQ,CAAC,EAAE,OAAO,YAAY,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;CAC3D,GACA,IAAI,CAON"}
|