@longsightgroup/qti3-core 0.10.2 → 0.10.4
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 +21 -2
- package/dist/attempt-state.d.ts.map +1 -1
- package/dist/attempt-state.js +20 -27
- package/dist/attempt-state.js.map +1 -1
- package/dist/content-text.d.ts +4 -0
- package/dist/content-text.d.ts.map +1 -1
- package/dist/content-text.js +137 -12
- package/dist/content-text.js.map +1 -1
- package/dist/index.d.ts +6 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -1
- package/dist/index.js.map +1 -1
- package/dist/media-definition.d.ts +55 -0
- package/dist/media-definition.d.ts.map +1 -0
- package/dist/media-definition.js +97 -0
- package/dist/media-definition.js.map +1 -0
- package/dist/package-xml.d.ts +1 -0
- package/dist/package-xml.d.ts.map +1 -1
- package/dist/package-xml.js +1 -0
- package/dist/package-xml.js.map +1 -1
- package/dist/parser-custom-interactions.js +1 -0
- package/dist/parser-custom-interactions.js.map +1 -1
- package/dist/parser-declarations.d.ts +4 -4
- package/dist/parser-declarations.d.ts.map +1 -1
- package/dist/parser-declarations.js +87 -46
- package/dist/parser-declarations.js.map +1 -1
- package/dist/parser-item-metadata.d.ts.map +1 -1
- package/dist/parser-item-metadata.js +5 -3
- package/dist/parser-item-metadata.js.map +1 -1
- package/dist/parser-processing.js +10 -9
- package/dist/parser-processing.js.map +1 -1
- package/dist/parser-values.d.ts +6 -0
- package/dist/parser-values.d.ts.map +1 -1
- package/dist/parser-values.js +35 -2
- package/dist/parser-values.js.map +1 -1
- package/dist/parser.d.ts.map +1 -1
- package/dist/parser.js +81 -47
- package/dist/parser.js.map +1 -1
- package/dist/processing-evaluator-collection.d.ts.map +1 -1
- package/dist/processing-evaluator-collection.js +8 -2
- package/dist/processing-evaluator-collection.js.map +1 -1
- package/dist/processing-evaluator-comparison.d.ts.map +1 -1
- package/dist/processing-evaluator-comparison.js +22 -6
- package/dist/processing-evaluator-comparison.js.map +1 -1
- package/dist/processing-evaluator-numeric.d.ts.map +1 -1
- package/dist/processing-evaluator-numeric.js +8 -1
- package/dist/processing-evaluator-numeric.js.map +1 -1
- package/dist/processing-evaluator-variable.d.ts.map +1 -1
- package/dist/processing-evaluator-variable.js +1 -1
- package/dist/processing-evaluator-variable.js.map +1 -1
- package/dist/processing-expression-children.d.ts.map +1 -1
- package/dist/processing-expression-children.js +2 -1
- package/dist/processing-expression-children.js.map +1 -1
- package/dist/processing-limits.d.ts +3 -0
- package/dist/processing-limits.d.ts.map +1 -0
- package/dist/processing-limits.js +3 -0
- package/dist/processing-limits.js.map +1 -0
- package/dist/processing-mapping.d.ts.map +1 -1
- package/dist/processing-mapping.js +28 -9
- package/dist/processing-mapping.js.map +1 -1
- package/dist/processing-operators.d.ts +2 -0
- package/dist/processing-operators.d.ts.map +1 -1
- package/dist/processing-operators.js +34 -5
- package/dist/processing-operators.js.map +1 -1
- package/dist/processing-values.d.ts +4 -4
- package/dist/processing-values.d.ts.map +1 -1
- package/dist/processing-values.js +28 -14
- package/dist/processing-values.js.map +1 -1
- package/dist/processing-variables.d.ts +3 -1
- package/dist/processing-variables.d.ts.map +1 -1
- package/dist/processing-variables.js +38 -2
- package/dist/processing-variables.js.map +1 -1
- package/dist/qti-namespaces.d.ts +7 -0
- package/dist/qti-namespaces.d.ts.map +1 -0
- package/dist/qti-namespaces.js +7 -0
- package/dist/qti-namespaces.js.map +1 -0
- package/dist/qti-package-items.d.ts.map +1 -1
- package/dist/qti-package-items.js +23 -13
- package/dist/qti-package-items.js.map +1 -1
- package/dist/qti-package-manifest.d.ts.map +1 -1
- package/dist/qti-package-manifest.js +4 -3
- package/dist/qti-package-manifest.js.map +1 -1
- package/dist/qti-package-metadata.d.ts.map +1 -1
- package/dist/qti-package-metadata.js +3 -2
- package/dist/qti-package-metadata.js.map +1 -1
- package/dist/qti-package-xml.d.ts +4 -2
- package/dist/qti-package-xml.d.ts.map +1 -1
- package/dist/qti-package-xml.js +10 -5
- package/dist/qti-package-xml.js.map +1 -1
- package/dist/qti-package-zip.d.ts +17 -1
- package/dist/qti-package-zip.d.ts.map +1 -1
- package/dist/qti-package-zip.js +60 -5
- package/dist/qti-package-zip.js.map +1 -1
- package/dist/qti-package.d.ts +3 -3
- package/dist/qti-package.d.ts.map +1 -1
- package/dist/qti-package.js +10 -4
- package/dist/qti-package.js.map +1 -1
- package/dist/response-validation-policy.d.ts.map +1 -1
- package/dist/response-validation-policy.js +5 -6
- package/dist/response-validation-policy.js.map +1 -1
- package/dist/response-validation.d.ts +12 -2
- package/dist/response-validation.d.ts.map +1 -1
- package/dist/response-validation.js +122 -19
- package/dist/response-validation.js.map +1 -1
- package/dist/serializer-processing-expressions.js +1 -1
- package/dist/serializer-processing-expressions.js.map +1 -1
- package/dist/session.js +1 -1
- package/dist/session.js.map +1 -1
- package/dist/slider-definition.d.ts +59 -0
- package/dist/slider-definition.d.ts.map +1 -0
- package/dist/slider-definition.js +198 -0
- package/dist/slider-definition.js.map +1 -0
- package/dist/support-evidence.d.ts +6 -2
- package/dist/support-evidence.d.ts.map +1 -1
- package/dist/support-evidence.js +15 -11
- package/dist/support-evidence.js.map +1 -1
- package/dist/support.d.ts.map +1 -1
- package/dist/support.js +96 -100
- package/dist/support.js.map +1 -1
- package/dist/trusted-item-session.d.ts.map +1 -1
- package/dist/trusted-item-session.js +5 -3
- package/dist/trusted-item-session.js.map +1 -1
- package/dist/types.d.ts +5 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/validation-declaration-entries.d.ts +13 -0
- package/dist/validation-declaration-entries.d.ts.map +1 -0
- package/dist/validation-declaration-entries.js +136 -0
- package/dist/validation-declaration-entries.js.map +1 -0
- package/dist/validation-interactions.d.ts.map +1 -1
- package/dist/validation-interactions.js +14 -46
- package/dist/validation-interactions.js.map +1 -1
- package/dist/validation-primitives.d.ts +5 -1
- package/dist/validation-primitives.d.ts.map +1 -1
- package/dist/validation-primitives.js +41 -3
- package/dist/validation-primitives.js.map +1 -1
- package/dist/validation-processing.d.ts.map +1 -1
- package/dist/validation-processing.js +125 -1
- package/dist/validation-processing.js.map +1 -1
- package/dist/validation.d.ts.map +1 -1
- package/dist/validation.js +8 -134
- package/dist/validation.js.map +1 -1
- package/dist/xml.d.ts.map +1 -1
- package/dist/xml.js +31 -2
- package/dist/xml.js.map +1 -1
- package/package.json +1 -1
- package/src/attempt-state.ts +22 -26
- package/src/content-text.ts +174 -14
- package/src/index.ts +28 -0
- package/src/media-definition.ts +174 -0
- package/src/package-xml.ts +2 -0
- package/src/parser-custom-interactions.ts +1 -0
- package/src/parser-declarations.ts +134 -40
- package/src/parser-item-metadata.ts +5 -3
- package/src/parser-processing.ts +10 -9
- package/src/parser-values.ts +35 -2
- package/src/parser.ts +137 -103
- package/src/processing-evaluator-collection.ts +7 -2
- package/src/processing-evaluator-comparison.ts +30 -5
- package/src/processing-evaluator-numeric.ts +5 -1
- package/src/processing-evaluator-variable.ts +1 -0
- package/src/processing-expression-children.ts +2 -1
- package/src/processing-limits.ts +2 -0
- package/src/processing-mapping.ts +32 -8
- package/src/processing-operators.ts +38 -5
- package/src/processing-values.ts +59 -14
- package/src/processing-variables.ts +47 -2
- package/src/qti-namespaces.ts +8 -0
- package/src/qti-package-items.ts +56 -49
- package/src/qti-package-manifest.ts +13 -4
- package/src/qti-package-metadata.ts +3 -2
- package/src/qti-package-xml.ts +16 -3
- package/src/qti-package-zip.ts +128 -3
- package/src/qti-package.ts +12 -3
- package/src/response-validation-policy.ts +5 -5
- package/src/response-validation.ts +185 -20
- package/src/serializer-processing-expressions.ts +1 -1
- package/src/session.ts +1 -0
- package/src/slider-definition.ts +363 -0
- package/src/support-evidence.ts +15 -17
- package/src/support.ts +106 -102
- package/src/trusted-item-session.ts +5 -3
- package/src/types.ts +10 -1
- package/src/validation-declaration-entries.ts +162 -0
- package/src/validation-interactions.ts +14 -64
- package/src/validation-primitives.ts +44 -4
- package/src/validation-processing.ts +145 -1
- package/src/validation.ts +11 -151
- package/src/xml.ts +40 -4
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { assertNever } from "./assert-never.js";
|
|
2
|
+
import { parseXmlBoolean } from "./parser-values.js";
|
|
3
|
+
import { isNonNegativeInteger } from "./validation-primitives.js";
|
|
4
|
+
/** Seconds from the start within which a play event counts as a new play experience. */
|
|
5
|
+
export const QTI_MEDIA_RESTART_THRESHOLD_SECONDS = 0.25;
|
|
6
|
+
function diagnostic(interaction, code, message) {
|
|
7
|
+
return {
|
|
8
|
+
code,
|
|
9
|
+
severity: "error",
|
|
10
|
+
message,
|
|
11
|
+
path: interaction.source?.path,
|
|
12
|
+
source: interaction.source,
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
function optionalBoolean(interaction, attribute, diagnostics) {
|
|
16
|
+
const raw = interaction.attributes[attribute];
|
|
17
|
+
if (raw === undefined)
|
|
18
|
+
return false;
|
|
19
|
+
const value = parseXmlBoolean(raw);
|
|
20
|
+
if (value !== undefined)
|
|
21
|
+
return value;
|
|
22
|
+
diagnostics.push(diagnostic(interaction, "interaction.booleanAttribute", `${interaction.qtiName} requires boolean ${attribute}, got ${raw}.`));
|
|
23
|
+
return false;
|
|
24
|
+
}
|
|
25
|
+
function optionalNonNegativeInteger(interaction, attribute, diagnostics) {
|
|
26
|
+
const raw = interaction.attributes[attribute];
|
|
27
|
+
if (raw === undefined)
|
|
28
|
+
return undefined;
|
|
29
|
+
if (!isNonNegativeInteger(raw)) {
|
|
30
|
+
diagnostics.push(diagnostic(interaction, "interaction.integerAttribute", `${interaction.qtiName} requires non-negative integer ${attribute}, got ${raw}.`));
|
|
31
|
+
return undefined;
|
|
32
|
+
}
|
|
33
|
+
return Number(raw);
|
|
34
|
+
}
|
|
35
|
+
function atMaximumPlays(session, maxPlays) {
|
|
36
|
+
return maxPlays !== undefined && session.playCount >= maxPlays;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Refines raw QTI media attributes into the play-count domain shared by validation and players.
|
|
40
|
+
*/
|
|
41
|
+
export function parseQtiMediaDefinition(interaction) {
|
|
42
|
+
const diagnostics = [];
|
|
43
|
+
const minPlaysAttribute = optionalNonNegativeInteger(interaction, "min-plays", diagnostics);
|
|
44
|
+
const maxPlaysAttribute = optionalNonNegativeInteger(interaction, "max-plays", diagnostics);
|
|
45
|
+
const autostart = optionalBoolean(interaction, "autostart", diagnostics);
|
|
46
|
+
const loop = optionalBoolean(interaction, "loop", diagnostics);
|
|
47
|
+
const required = parseXmlBoolean(interaction.attributes.required) === true;
|
|
48
|
+
const maxPlays = maxPlaysAttribute === undefined || maxPlaysAttribute <= 0 ? undefined : maxPlaysAttribute;
|
|
49
|
+
if (minPlaysAttribute !== undefined && maxPlays !== undefined && minPlaysAttribute > maxPlays) {
|
|
50
|
+
diagnostics.push(diagnostic(interaction, "interaction.minMax", `${interaction.qtiName} requires min-plays to be less than or equal to max-plays, unless max-plays is 0 for unlimited.`));
|
|
51
|
+
}
|
|
52
|
+
if (diagnostics.length > 0)
|
|
53
|
+
return { ok: false, diagnostics };
|
|
54
|
+
return {
|
|
55
|
+
ok: true,
|
|
56
|
+
value: {
|
|
57
|
+
minPlays: minPlaysAttribute ?? (required ? 1 : 0),
|
|
58
|
+
maxPlays,
|
|
59
|
+
autostart,
|
|
60
|
+
nativeLoop: loop && maxPlays === undefined,
|
|
61
|
+
},
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
function applyPlayEvent(session, event, maxPlays) {
|
|
65
|
+
if (session.status !== "playing" && atMaximumPlays(session, maxPlays)) {
|
|
66
|
+
return { kind: "blocked", session };
|
|
67
|
+
}
|
|
68
|
+
const counts = session.status === "ended" ||
|
|
69
|
+
(session.status === "idle" && event.currentTime <= QTI_MEDIA_RESTART_THRESHOLD_SECONDS);
|
|
70
|
+
return {
|
|
71
|
+
kind: "applied",
|
|
72
|
+
session: {
|
|
73
|
+
status: "playing",
|
|
74
|
+
playCount: session.playCount + (counts ? 1 : 0),
|
|
75
|
+
},
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
function applySeekedEvent(session, event) {
|
|
79
|
+
if (!event.paused || event.currentTime > QTI_MEDIA_RESTART_THRESHOLD_SECONDS) {
|
|
80
|
+
return { kind: "applied", session };
|
|
81
|
+
}
|
|
82
|
+
return { kind: "applied", session: { status: "idle", playCount: session.playCount } };
|
|
83
|
+
}
|
|
84
|
+
/** Applies one native media event to the QTI play-experience session. */
|
|
85
|
+
export function applyQtiMediaPlaybackEvent(session, event, maxPlays) {
|
|
86
|
+
switch (event.kind) {
|
|
87
|
+
case "play":
|
|
88
|
+
return applyPlayEvent(session, event, maxPlays);
|
|
89
|
+
case "ended":
|
|
90
|
+
return { kind: "applied", session: { status: "ended", playCount: session.playCount } };
|
|
91
|
+
case "seeked":
|
|
92
|
+
return applySeekedEvent(session, event);
|
|
93
|
+
default:
|
|
94
|
+
return assertNever(event);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=media-definition.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"media-definition.js","sourceRoot":"","sources":["../src/media-definition.ts"],"names":[],"mappings":"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"}
|
package/dist/package-xml.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-xml.d.ts","sourceRoot":"","sources":["../src/package-xml.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,iBAAiB,GAAG,SAAS,CAAC;IACpC,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB,CAMrE"}
|
|
1
|
+
{"version":3,"file":"package-xml.d.ts","sourceRoot":"","sources":["../src/package-xml.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,iBAAiB,GAAG,SAAS,CAAC;IACpC,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB,CAMrE"}
|
package/dist/package-xml.js
CHANGED
package/dist/package-xml.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-xml.js","sourceRoot":"","sources":["../src/package-xml.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAgB,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"package-xml.js","sourceRoot":"","sources":["../src/package-xml.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAgB,MAAM,UAAU,CAAC;AAetD,MAAM,UAAU,sBAAsB,CAAC,GAAW;IAChD,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IACjC,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;QAC3D,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC;KACpD,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,IAAa;IACnC,OAAO;QACL,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC;QAC3C,IAAI,EAAE,IAAI,CAAC,IAAI;KAChB,CAAC;AACJ,CAAC"}
|
|
@@ -124,6 +124,7 @@ function parseCustomMarkupNode(node, diagnostics, isInteractionElement, options)
|
|
|
124
124
|
return {
|
|
125
125
|
kind: "element",
|
|
126
126
|
qtiName: node.localName,
|
|
127
|
+
namespaceUri: node.uri,
|
|
127
128
|
attributes: node.attributes,
|
|
128
129
|
children: parseCustomMarkupChildren(node, diagnostics, isInteractionElement, options),
|
|
129
130
|
source: node.source,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser-custom-interactions.js","sourceRoot":"","sources":["../src/parser-custom-interactions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAYjG,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,aAAa,EAAgB,MAAM,UAAU,CAAC;AAc1F,MAAM,+BAA+B,GAAG,YAAY,CAAC;AACrD,MAAM,4BAA4B,GAA+B;IAC/D,iBAAiB,EAAE,CAAC,+BAA+B,CAAC;CACrD,CAAC;AAEF,MAAM,yBAAyB,GAA6B;IAC1D,qBAAqB,EAAE,sCAAsC;IAC7D,WAAW,EAAE,+BAA+B;IAC5C,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,KAAK,+BAA+B;CAC1E,CAAC;AAEF,MAAM,2BAA2B,GAA6B;IAC5D,qBAAqB,EAAE,8CAA8C;IACrE,WAAW,EAAE,wBAAwB;CACtC,CAAC;AAEF,MAAM,UAAU,6BAA6B,CAC3C,IAAa,EACb,eAA+C,EAC/C,WAA4B,EAC5B,oBAAoD;IAKpD,IAAI,IAAI,CAAC,SAAS,KAAK,wBAAwB,EAAE,CAAC;QAChD,OAAO;YACL,iBAAiB,EAAE,gCAAgC,CAAC,IAAI,EAAE,WAAW,EAAE,oBAAoB,CAAC;SAC7F,CAAC;IACJ,CAAC;IACD,IAAI,eAAe,KAAK,gBAAgB,EAAE,CAAC;QACzC,OAAO;YACL,cAAc,EAAE,6BAA6B,CAAC,IAAI,EAAE,WAAW,EAAE,oBAAoB,CAAC;SACvF,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,gCAAgC,CACvC,IAAa,EACb,WAA4B,EAC5B,oBAAoD;IAEpD,OAAO,gCAAgC,CACrC,IAAI,EACJ,WAAW,EACX,oBAAoB,EACpB,yBAAyB,EACzB,4BAA4B,CAC7B,CAAC;AACJ,CAAC;AAED,SAAS,6BAA6B,CACpC,IAAa,EACb,WAA4B,EAC5B,oBAAoD;IAEpD,MAAM,MAAM,GAAG,iBAAiB,CAC9B,IAAI,EACJ,wBAAwB,EACxB,WAAW,EACX,4CAA4C,CAC7C,CAAC;IACF,MAAM,OAAO,GAAG,iBAAiB,CAC/B,IAAI,EACJ,yBAAyB,EACzB,WAAW,EACX,4CAA4C,CAC7C,CAAC;IACF,OAAO;QACL,GAAG,2BAA2B,CAC5B,MAAM,EACN,IAAI,EACJ,WAAW,EACX,oBAAoB,EACpB,2BAA2B,CAC5B;QACD,+BAA+B,EAAE,IAAI,CAAC,UAAU,CAAC,oCAAoC,CAAC;QACtF,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM;QAC9B,kBAAkB,EAAE,OAAO,CAAC,CAAC,CAAC,qCAAqC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS;QACxF,iBAAiB,EAAE,aAAa,CAAC,IAAI,EAAE,uBAAuB,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAC/E,kCAAkC,CAAC,QAAQ,EAAE,UAAU,CAAC,CACzD;QACD,gBAAgB,EAAE,aAAa,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAC7E,kCAAkC,CAAC,QAAQ,EAAE,SAAS,CAAC,CACxD;QACD,WAAW,EAAE,aAAa,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC;QACvE,WAAW,EAAE,gBAAgB,CAC3B,iBAAiB,CACf,IAAI,EACJ,kBAAkB,EAClB,WAAW,EACX,4CAA4C,CAC7C,CACF;KACF,CAAC;AACJ,CAAC;AAED,SAAS,gCAAgC,CACvC,UAAmB,EACnB,WAA4B,EAC5B,oBAAoD,EACpD,aAAuC,EACvC,gBAA6C;IAE7C,MAAM,iBAAiB,GAAG,yBAAyB,CACjD,UAAU,EACV,WAAW,EACX,oBAAoB,EACpB,aAAa,CACd,CAAC;IACF,MAAM,oBAAoB,GAAG,8BAA8B,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;IAC1F,OAAO;QACL,kBAAkB,EAAE,UAAU,CAAC,UAAU,CAAC,qBAAqB,CAAC;QAChE,iBAAiB;QACjB,oBAAoB;QACpB,cAAc,EAAE,8BAA8B,CAAC,UAAU,CAAC;QAC1D,UAAU,EAAE,UAAU,CAAC,UAAU;QACjC,MAAM,EAAE,UAAU,CAAC,MAAM;KAC1B,CAAC;AACJ,CAAC;AAED,SAAS,2BAA2B,CAClC,UAA+B,EAC/B,aAAsB,EACtB,WAA4B,EAC5B,oBAAoD,EACpD,aAAuC;IAEvC,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO;YACL,kBAAkB,EAAE,aAAa,CAAC,UAAU,CAAC,qBAAqB,CAAC;YACnE,iBAAiB,EAAE,EAAE;YACrB,cAAc,EAAE,8BAA8B,CAAC,aAAa,CAAC;YAC7D,UAAU,EAAE,aAAa,CAAC,UAAU;YACpC,MAAM,EAAE,aAAa,CAAC,MAAM;SAC7B,CAAC;IACJ,CAAC;IACD,OAAO;QACL,GAAG,gCAAgC,CACjC,UAAU,EACV,WAAW,EACX,oBAAoB,EACpB,aAAa,CACd;QACD,kBAAkB,EAAE,aAAa,CAAC,UAAU,CAAC,qBAAqB,CAAC;QACnE,cAAc,EAAE,8BAA8B,CAAC,aAAa,CAAC;QAC7D,UAAU,EAAE,aAAa,CAAC,UAAU;QACpC,MAAM,EAAE,aAAa,CAAC,MAAM;KAC7B,CAAC;AACJ,CAAC;AAED,SAAS,8BAA8B,CAAC,IAAa;IACnD,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAC7E,CAAC;AACJ,CAAC;AAED,SAAS,yBAAyB,CAChC,IAAa,EACb,WAA4B,EAC5B,oBAAoD,EACpD,OAAiC;IAEjC,MAAM,OAAO,GAAqB,EAAE,CAAC;IACrC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACjC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,qBAAqB,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YACnD,SAAS;QACX,CAAC;QACD,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC;YAAE,SAAS;QACzC,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,WAAW,EAAE,oBAAoB,EAAE,OAAO,CAAC,CAAC,CAAC;IACzF,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,qBAAqB,CAC5B,IAAa,EACb,WAA4B,EAC5B,oBAAoD,EACpD,OAAiC;IAEjC,IAAI,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,WAAW,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,OAAO,CAAC,qBAAqB;YACnC,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,GAAG,OAAO,CAAC,WAAW,4CAA4C,IAAI,CAAC,SAAS,GAAG;YAC5F,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;YACtB,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC,CAAC;IACL,CAAC;IACD,IAAI,IAAI,CAAC,SAAS,KAAK,sBAAsB,EAAE,CAAC;QAC9C,OAAO;YACL,IAAI,EAAE,iBAAiB;YACvB,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,UAAU,IAAI,EAAE;YAC5C,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM;YAC9B,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,CAAC,SAAS,KAAK,oBAAoB,IAAI,IAAI,CAAC,SAAS,KAAK,qBAAqB,EAAE,CAAC;QACxF,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,YAAY,EAAE,IAAI,CAAC,SAAS,KAAK,oBAAoB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ;YAC1E,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,UAAU,IAAI,EAAE;YAC5C,iBAAiB,EAAE,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,IAAI,EAAE;YAC9D,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;YACnE,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,QAAQ,EAAE,yBAAyB,CAAC,IAAI,EAAE,WAAW,EAAE,oBAAoB,EAAE,OAAO,CAAC;YACrF,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC;IACJ,CAAC;IAED,OAAO;QACL,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,IAAI,CAAC,SAAS;QACvB,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,QAAQ,EAAE,yBAAyB,CAAC,IAAI,EAAE,WAAW,EAAE,oBAAoB,EAAE,OAAO,CAAC;QACrF,MAAM,EAAE,IAAI,CAAC,MAAM;KACpB,CAAC;AACJ,CAAC;AAED,SAAS,qCAAqC,CAAC,IAAa;IAC1D,OAAO;QACL,oBAAoB,EAAE,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC;QAC9D,sBAAsB,EACpB,IAAI,CAAC,UAAU,CAAC,yBAAyB,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,wBAAwB,CAAC;QACzF,OAAO,EAAE,aAAa,CAAC,IAAI,EAAE,wBAAwB,CAAC,CAAC,GAAG,CACxD,oCAAoC,CACrC;QACD,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,MAAM,EAAE,IAAI,CAAC,MAAM;KACpB,CAAC;AACJ,CAAC;AAED,SAAS,oCAAoC,CAAC,IAAa;IACzD,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,EAAE;QACtB,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC;QAC5C,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC;QAC9C,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,MAAM,EAAE,IAAI,CAAC,MAAM;KACpB,CAAC;AACJ,CAAC;AAED,SAAS,kCAAkC,CACzC,IAAa,EACb,IAA8C;IAE9C,OAAO;QACL,IAAI;QACJ,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC;QAChF,kBAAkB,EAAE,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC;QAC1D,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,MAAM,EAAE,IAAI,CAAC,MAAM;KACpB,CAAC;AACJ,CAAC;AAED,SAAS,8BAA8B,CACrC,IAAa,EACb,OAAoC;IAEpC,MAAM,OAAO,GAAG,mBAAmB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACnD,OAAO,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AACzD,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAa,EAAE,OAAoC;IAC9E,MAAM,OAAO,GAAG,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC5F,OAAO,IAAI,CAAC,OAAO;SAChB,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;SAC9E,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC;SAC5F,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAa;IACrC,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;SAC/C,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,KAAK,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC;SACjE,IAAI,CAAC,EAAE,CAAC,CAAC;IACZ,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,IAAI,CAAC,IAAI,GAAG,UAAU,IAAI,CAAC;IACrE,OAAO,IAAI,IAAI,CAAC,IAAI,GAAG,UAAU,IAAI,mBAAmB,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,GAAG,CAAC;AAClF,CAAC"}
|
|
1
|
+
{"version":3,"file":"parser-custom-interactions.js","sourceRoot":"","sources":["../src/parser-custom-interactions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { QtiOutcomeDeclaration, QtiResponseDeclaration, QtiTemplateDeclaration } from "./types.js";
|
|
1
|
+
import type { QtiDiagnostic, QtiOutcomeDeclaration, QtiResponseDeclaration, QtiTemplateDeclaration } from "./types.js";
|
|
2
2
|
import { type XmlNode } from "./xml.js";
|
|
3
|
-
export declare function parseResponseDeclaration(node: XmlNode): QtiResponseDeclaration;
|
|
4
|
-
export declare function parseOutcomeDeclaration(node: XmlNode): QtiOutcomeDeclaration;
|
|
5
|
-
export declare function parseTemplateDeclaration(node: XmlNode): QtiTemplateDeclaration;
|
|
3
|
+
export declare function parseResponseDeclaration(node: XmlNode, diagnostics: QtiDiagnostic[]): QtiResponseDeclaration;
|
|
4
|
+
export declare function parseOutcomeDeclaration(node: XmlNode, diagnostics: QtiDiagnostic[]): QtiOutcomeDeclaration;
|
|
5
|
+
export declare function parseTemplateDeclaration(node: XmlNode, diagnostics: QtiDiagnostic[]): QtiTemplateDeclaration;
|
|
6
6
|
//# sourceMappingURL=parser-declarations.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser-declarations.d.ts","sourceRoot":"","sources":["../src/parser-declarations.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"parser-declarations.d.ts","sourceRoot":"","sources":["../src/parser-declarations.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAEV,aAAa,EAEb,qBAAqB,EACrB,sBAAsB,EAEtB,sBAAsB,EAEvB,MAAM,YAAY,CAAC;AAMpB,OAAO,EAA8B,KAAK,OAAO,EAAE,MAAM,UAAU,CAAC;AAEpE,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,OAAO,EACb,WAAW,EAAE,aAAa,EAAE,GAC3B,sBAAsB,CA8BxB;AAED,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,OAAO,EACb,WAAW,EAAE,aAAa,EAAE,GAC3B,qBAAqB,CAgBvB;AAED,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,OAAO,EACb,WAAW,EAAE,aAAa,EAAE,GAC3B,sBAAsB,CAexB"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { coerceValue, normalizeValueForCardinality, parseBaseType, parseCardinality, parseCoords, parseShape, parseXmlBoolean, } from "./parser-values.js";
|
|
1
|
+
import { coerceValue, normalizeValueForCardinality, parseBaseType, parseCardinality, parseCoords, parseFiniteNumber, parseShape, parseXmlBoolean, } from "./parser-values.js";
|
|
2
|
+
import { validateAreaMapEntryAttributes, validateLookupTableEntryAttributes, validateMapEntryAttributes, } from "./validation-declaration-entries.js";
|
|
2
3
|
import { childElements, textContent } from "./xml.js";
|
|
3
|
-
export function parseResponseDeclaration(node) {
|
|
4
|
+
export function parseResponseDeclaration(node, diagnostics) {
|
|
4
5
|
const cardinality = parseCardinality(node.attributes.cardinality);
|
|
5
6
|
const baseType = parseBaseType(node.attributes["base-type"]);
|
|
6
7
|
return {
|
|
@@ -8,40 +9,40 @@ export function parseResponseDeclaration(node) {
|
|
|
8
9
|
identifier: node.attributes.identifier ?? "",
|
|
9
10
|
cardinality,
|
|
10
11
|
baseType,
|
|
11
|
-
defaultValue: parseVariableValue(childElements(node, "qti-default-value")[0], baseType),
|
|
12
|
-
correctResponse: normalizeValueForCardinality(parseVariableValue(childElements(node, "qti-correct-response")[0], baseType), cardinality),
|
|
13
|
-
mapping: parseMapping(childElements(node, "qti-mapping")[0]),
|
|
14
|
-
areaMapping: parseAreaMapping(childElements(node, "qti-area-mapping")[0]),
|
|
12
|
+
defaultValue: parseVariableValue(childElements(node, "qti-default-value")[0], baseType, diagnostics),
|
|
13
|
+
correctResponse: normalizeValueForCardinality(parseVariableValue(childElements(node, "qti-correct-response")[0], baseType, diagnostics), cardinality),
|
|
14
|
+
mapping: parseMapping(childElements(node, "qti-mapping")[0], node.attributes.identifier ?? "", diagnostics),
|
|
15
|
+
areaMapping: parseAreaMapping(childElements(node, "qti-area-mapping")[0], node.attributes.identifier ?? "", diagnostics),
|
|
15
16
|
attributes: node.attributes,
|
|
16
17
|
source: node.source,
|
|
17
18
|
};
|
|
18
19
|
}
|
|
19
|
-
export function parseOutcomeDeclaration(node) {
|
|
20
|
+
export function parseOutcomeDeclaration(node, diagnostics) {
|
|
20
21
|
const baseType = parseBaseType(node.attributes["base-type"]);
|
|
21
22
|
return {
|
|
22
23
|
kind: "outcome",
|
|
23
24
|
identifier: node.attributes.identifier ?? "",
|
|
24
25
|
cardinality: parseCardinality(node.attributes.cardinality),
|
|
25
26
|
baseType,
|
|
26
|
-
defaultValue: parseVariableValue(childElements(node, "qti-default-value")[0], baseType),
|
|
27
|
-
lookupTable: parseLookupTable(node, baseType),
|
|
27
|
+
defaultValue: parseVariableValue(childElements(node, "qti-default-value")[0], baseType, diagnostics),
|
|
28
|
+
lookupTable: parseLookupTable(node, baseType, diagnostics),
|
|
28
29
|
attributes: node.attributes,
|
|
29
30
|
source: node.source,
|
|
30
31
|
};
|
|
31
32
|
}
|
|
32
|
-
export function parseTemplateDeclaration(node) {
|
|
33
|
+
export function parseTemplateDeclaration(node, diagnostics) {
|
|
33
34
|
const baseType = parseBaseType(node.attributes["base-type"]);
|
|
34
35
|
return {
|
|
35
36
|
kind: "template",
|
|
36
37
|
identifier: node.attributes.identifier ?? "",
|
|
37
38
|
cardinality: parseCardinality(node.attributes.cardinality),
|
|
38
39
|
baseType,
|
|
39
|
-
defaultValue: parseVariableValue(childElements(node, "qti-default-value")[0], baseType),
|
|
40
|
+
defaultValue: parseVariableValue(childElements(node, "qti-default-value")[0], baseType, diagnostics),
|
|
40
41
|
attributes: node.attributes,
|
|
41
42
|
source: node.source,
|
|
42
43
|
};
|
|
43
44
|
}
|
|
44
|
-
function parseVariableValue(node, baseType) {
|
|
45
|
+
function parseVariableValue(node, baseType, diagnostics) {
|
|
45
46
|
if (!node)
|
|
46
47
|
return null;
|
|
47
48
|
const valueNodes = childElements(node, "qti-value");
|
|
@@ -50,6 +51,16 @@ function parseVariableValue(node, baseType) {
|
|
|
50
51
|
value: coerceValue(textContent(valueNode), valueNode.attributes["base-type"] ?? baseType),
|
|
51
52
|
}));
|
|
52
53
|
const recordEntries = entries.filter((entry) => Boolean(entry.fieldIdentifier));
|
|
54
|
+
const fieldedEntryCount = entries.filter((entry) => entry.fieldIdentifier !== undefined).length;
|
|
55
|
+
if (fieldedEntryCount > 0 && fieldedEntryCount < entries.length) {
|
|
56
|
+
diagnostics.push({
|
|
57
|
+
code: "declaration.value.fieldIdentifier.mixed",
|
|
58
|
+
severity: "error",
|
|
59
|
+
message: `${node.localName} must not mix qti-value children with and without field-identifier.`,
|
|
60
|
+
path: node.source.path,
|
|
61
|
+
source: node.source,
|
|
62
|
+
});
|
|
63
|
+
}
|
|
53
64
|
if (recordEntries.length > 0) {
|
|
54
65
|
return Object.fromEntries(recordEntries.map((entry) => [entry.fieldIdentifier, entry.value]));
|
|
55
66
|
}
|
|
@@ -61,76 +72,106 @@ function parseVariableValue(node, baseType) {
|
|
|
61
72
|
return entries[0]?.value ?? null;
|
|
62
73
|
return entries.map((entry) => entry.value);
|
|
63
74
|
}
|
|
64
|
-
function parseMapping(node) {
|
|
75
|
+
function parseMapping(node, declarationIdentifier, diagnostics) {
|
|
65
76
|
if (!node)
|
|
66
77
|
return undefined;
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
78
|
+
const defaultValue = parseFiniteNumber(node.attributes["default-value"]);
|
|
79
|
+
const entries = [];
|
|
80
|
+
for (const entry of childElements(node, "qti-map-entry")) {
|
|
81
|
+
const mappedValue = parseFiniteNumber(entry.attributes["mapped-value"]);
|
|
82
|
+
if (mappedValue === undefined) {
|
|
83
|
+
validateMapEntryAttributes(declarationIdentifier, entry, diagnostics);
|
|
84
|
+
continue;
|
|
85
|
+
}
|
|
86
|
+
entries.push({
|
|
72
87
|
mapKey: entry.attributes["map-key"],
|
|
73
|
-
mappedValue
|
|
88
|
+
mappedValue,
|
|
74
89
|
attributes: entry.attributes,
|
|
75
90
|
source: entry.source,
|
|
76
|
-
})
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
return {
|
|
94
|
+
defaultValue: defaultValue ?? 0,
|
|
95
|
+
attributes: node.attributes,
|
|
96
|
+
source: node.source,
|
|
97
|
+
entries,
|
|
77
98
|
};
|
|
78
99
|
}
|
|
79
|
-
function parseAreaMapping(node) {
|
|
100
|
+
function parseAreaMapping(node, declarationIdentifier, diagnostics) {
|
|
80
101
|
if (!node)
|
|
81
102
|
return undefined;
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
103
|
+
const defaultValue = parseFiniteNumber(node.attributes["default-value"]);
|
|
104
|
+
const entries = [];
|
|
105
|
+
for (const entry of childElements(node, "qti-area-map-entry")) {
|
|
106
|
+
const mappedValue = parseFiniteNumber(entry.attributes["mapped-value"]);
|
|
107
|
+
if (mappedValue === undefined) {
|
|
108
|
+
validateAreaMapEntryAttributes(declarationIdentifier, entry, diagnostics);
|
|
109
|
+
continue;
|
|
110
|
+
}
|
|
111
|
+
entries.push({
|
|
87
112
|
shape: parseShape(entry.attributes.shape),
|
|
88
113
|
coords: parseCoords(entry.attributes.coords),
|
|
89
|
-
mappedValue
|
|
114
|
+
mappedValue,
|
|
90
115
|
attributes: entry.attributes,
|
|
91
116
|
source: entry.source,
|
|
92
|
-
})
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
return {
|
|
120
|
+
defaultValue: defaultValue ?? 0,
|
|
121
|
+
attributes: node.attributes,
|
|
122
|
+
source: node.source,
|
|
123
|
+
entries,
|
|
93
124
|
};
|
|
94
125
|
}
|
|
95
|
-
function parseLookupTable(node, baseType) {
|
|
126
|
+
function parseLookupTable(node, baseType, diagnostics) {
|
|
96
127
|
const matchTable = childElements(node, "qti-match-table")[0];
|
|
97
128
|
if (matchTable)
|
|
98
|
-
return parseMatchTable(matchTable, baseType);
|
|
129
|
+
return parseMatchTable(matchTable, baseType, diagnostics);
|
|
99
130
|
const interpolationTable = childElements(node, "qti-interpolation-table")[0];
|
|
100
131
|
if (interpolationTable)
|
|
101
|
-
return parseInterpolationTable(interpolationTable, baseType);
|
|
132
|
+
return parseInterpolationTable(interpolationTable, baseType, diagnostics);
|
|
102
133
|
return undefined;
|
|
103
134
|
}
|
|
104
|
-
function parseMatchTable(node, baseType) {
|
|
135
|
+
function parseMatchTable(node, baseType, diagnostics) {
|
|
105
136
|
return {
|
|
106
137
|
type: "match",
|
|
107
138
|
defaultValue: parseLookupValue(node.attributes["default-value"], baseType),
|
|
108
139
|
attributes: node.attributes,
|
|
109
140
|
source: node.source,
|
|
110
|
-
entries:
|
|
111
|
-
sourceValue: Number(entry.attributes["source-value"]),
|
|
112
|
-
targetValue: parseLookupValue(entry.attributes["target-value"], baseType),
|
|
113
|
-
attributes: entry.attributes,
|
|
114
|
-
source: entry.source,
|
|
115
|
-
})),
|
|
141
|
+
entries: parseLookupEntries(node, "match", baseType, diagnostics),
|
|
116
142
|
};
|
|
117
143
|
}
|
|
118
|
-
function parseInterpolationTable(node, baseType) {
|
|
144
|
+
function parseInterpolationTable(node, baseType, diagnostics) {
|
|
119
145
|
return {
|
|
120
146
|
type: "interpolation",
|
|
121
147
|
defaultValue: parseLookupValue(node.attributes["default-value"], baseType),
|
|
122
148
|
attributes: node.attributes,
|
|
123
149
|
source: node.source,
|
|
124
|
-
entries:
|
|
125
|
-
sourceValue: Number(entry.attributes["source-value"]),
|
|
126
|
-
targetValue: parseLookupValue(entry.attributes["target-value"], baseType),
|
|
127
|
-
includeBoundary: parseXmlBoolean(entry.attributes["include-boundary"]) ?? true,
|
|
128
|
-
attributes: entry.attributes,
|
|
129
|
-
source: entry.source,
|
|
130
|
-
})),
|
|
150
|
+
entries: parseLookupEntries(node, "interpolation", baseType, diagnostics),
|
|
131
151
|
};
|
|
132
152
|
}
|
|
133
153
|
function parseLookupValue(value, baseType) {
|
|
134
154
|
return value === undefined ? null : coerceValue(value, baseType);
|
|
135
155
|
}
|
|
156
|
+
function parseLookupEntries(node, tableType, baseType, diagnostics) {
|
|
157
|
+
const entryName = tableType === "match" ? "qti-match-table-entry" : "qti-interpolation-table-entry";
|
|
158
|
+
const entries = [];
|
|
159
|
+
for (const entry of childElements(node, entryName)) {
|
|
160
|
+
const sourceValue = parseFiniteNumber(entry.attributes["source-value"]);
|
|
161
|
+
if (sourceValue === undefined) {
|
|
162
|
+
validateLookupTableEntryAttributes(tableType, entry, diagnostics);
|
|
163
|
+
continue;
|
|
164
|
+
}
|
|
165
|
+
entries.push({
|
|
166
|
+
sourceValue,
|
|
167
|
+
targetValue: parseLookupValue(entry.attributes["target-value"], baseType),
|
|
168
|
+
includeBoundary: tableType === "interpolation"
|
|
169
|
+
? (parseXmlBoolean(entry.attributes["include-boundary"]) ?? true)
|
|
170
|
+
: undefined,
|
|
171
|
+
attributes: entry.attributes,
|
|
172
|
+
source: entry.source,
|
|
173
|
+
});
|
|
174
|
+
}
|
|
175
|
+
return entries;
|
|
176
|
+
}
|
|
136
177
|
//# sourceMappingURL=parser-declarations.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser-declarations.js","sourceRoot":"","sources":["../src/parser-declarations.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,4BAA4B,EAC5B,aAAa,EACb,gBAAgB,EAChB,WAAW,EACX,UAAU,EACV,eAAe,GAChB,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"parser-declarations.js","sourceRoot":"","sources":["../src/parser-declarations.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser-item-metadata.d.ts","sourceRoot":"","sources":["../src/parser-item-metadata.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAKV,cAAc,EACd,mBAAmB,EACnB,yBAAyB,EAGzB,aAAa,EAEb,gBAAgB,EAEhB,aAAa,EACd,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"parser-item-metadata.d.ts","sourceRoot":"","sources":["../src/parser-item-metadata.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAKV,cAAc,EACd,mBAAmB,EACnB,yBAAyB,EAGzB,aAAa,EAEb,gBAAgB,EAEhB,aAAa,EACd,MAAM,YAAY,CAAC;AAQpB,OAAO,EAA2C,KAAK,OAAO,EAAE,MAAM,UAAU,CAAC;AAEjF,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,OAAO,EACf,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,aAAa,EAAE,EAC5B,aAAa,EAAE,MAAM,GACpB,OAAO,GAAG,SAAS,CAarB;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG,aAAa,CAS5D;AAED,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,OAAO,EACb,cAAc,EAAE,MAAM,GACrB,mBAAmB,EAAE,CAWvB;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,OAAO,GAAG,gBAAgB,CASlE;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,OAAO,GAAG,SAAS,GAAG,cAAc,GAAG,SAAS,CAWtF;AA+DD,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,OAAO,GAAG,SAAS,EACzB,WAAW,EAAE,aAAa,EAAE,GAC3B,yBAAyB,GAAG,SAAS,CAwCvC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { PARSED_COMPANION_MATERIAL_CHILD_NAMES, pushCompanionMaterialParseWarning, } from "./companion-materials.js";
|
|
2
|
+
import { visibleTextContent } from "./content-text.js";
|
|
2
3
|
import { parseXmlBoolean } from "./parser-values.js";
|
|
3
4
|
import { childElements, descendants, textContent } from "./xml.js";
|
|
4
5
|
export function firstChildElement(parent, childName, diagnostics, duplicateCode) {
|
|
@@ -43,7 +44,7 @@ export function parseModalFeedback(node) {
|
|
|
43
44
|
identifier: node.attributes.identifier ?? "",
|
|
44
45
|
outcomeIdentifier: node.attributes["outcome-identifier"] ?? "",
|
|
45
46
|
showHide,
|
|
46
|
-
text:
|
|
47
|
+
text: visibleTextContent(node),
|
|
47
48
|
source: node.source,
|
|
48
49
|
};
|
|
49
50
|
}
|
|
@@ -85,7 +86,7 @@ function parseCatalogHtmlContent(node) {
|
|
|
85
86
|
if (!node)
|
|
86
87
|
return undefined;
|
|
87
88
|
return {
|
|
88
|
-
text:
|
|
89
|
+
text: visibleTextContent(node),
|
|
89
90
|
children: parseCatalogHtmlChildren(node),
|
|
90
91
|
attributes: node.attributes,
|
|
91
92
|
source: node.source,
|
|
@@ -102,6 +103,7 @@ function parseCatalogHtmlChildren(node) {
|
|
|
102
103
|
content.push({
|
|
103
104
|
kind: "element",
|
|
104
105
|
qtiName: entry.localName,
|
|
106
|
+
namespaceUri: entry.uri,
|
|
105
107
|
attributes: entry.attributes,
|
|
106
108
|
children: parseCatalogHtmlChildren(entry),
|
|
107
109
|
source: entry.source,
|
|
@@ -157,7 +159,7 @@ export function parseCompanionMaterialsInfo(node, diagnostics) {
|
|
|
157
159
|
};
|
|
158
160
|
}
|
|
159
161
|
function parsePhysicalMaterial(node, diagnostics) {
|
|
160
|
-
const text =
|
|
162
|
+
const text = visibleTextContent(node);
|
|
161
163
|
if (text.length === 0) {
|
|
162
164
|
return pushCompanionMaterialParseWarning(diagnostics, "companionMaterials.physicalMaterial.empty", "qti-physical-material requires non-empty text content.", node.source.path, node.source);
|
|
163
165
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser-item-metadata.js","sourceRoot":"","sources":["../src/parser-item-metadata.ts"],"names":[],"mappings":"AAgBA,OAAO,EACL,qCAAqC,EAErC,iCAAiC,GAClC,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,EAAgB,MAAM,UAAU,CAAC;AAEjF,MAAM,UAAU,iBAAiB,CAC/B,MAAe,EACf,SAAiB,EACjB,WAA4B,EAC5B,aAAqB;IAErB,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACjD,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAC7B,IAAI,SAAS,EAAE,CAAC;QACd,WAAW,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,aAAa;YACnB,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,GAAG,MAAM,CAAC,SAAS,uBAAuB,SAAS,SAAS;YACrE,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,IAAI;YAC3B,MAAM,EAAE,SAAS,CAAC,MAAM;SACzB,CAAC,CAAC;IACL,CAAC;IACD,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAa;IAC3C,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,EAAE;QAChC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI;QAC1B,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK;QAC5B,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK;QAC5B,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,MAAM,EAAE,IAAI,CAAC,MAAM;KACpB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,IAAa,EACb,cAAsB;IAEtB,MAAM,UAAU,GAAG;QACjB,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACxD,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC,CAAC;KACjF,CAAC;IACF,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QACpC,WAAW,EAAE,qBAAqB,cAAc,IAAI,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE;QAC3E,KAAK,EAAE,SAAS,CAAC,UAAU,CAAC,oBAAoB,CAAC,IAAI,EAAE;QACvD,OAAO,EAAE,SAAS,CAAC,SAAS;QAC5B,MAAM,EAAE,SAAS,CAAC,MAAM;KACzB,CAAC,CAAC,CAAC;AACN,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,IAAa;IAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;IAC3E,OAAO;QACL,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,UAAU,IAAI,EAAE;QAC5C,iBAAiB,EAAE,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,IAAI,EAAE;QAC9D,QAAQ;QACR,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"parser-item-metadata.js","sourceRoot":"","sources":["../src/parser-item-metadata.ts"],"names":[],"mappings":"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"}
|
|
@@ -584,15 +584,16 @@ function parseExpression(node) {
|
|
|
584
584
|
};
|
|
585
585
|
}
|
|
586
586
|
if (node.localName === "qti-stats-operator") {
|
|
587
|
-
const
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
587
|
+
const expressions = childElements(node)
|
|
588
|
+
.map(parseExpression)
|
|
589
|
+
.filter((expression) => expression !== undefined);
|
|
590
|
+
return {
|
|
591
|
+
type: "statsOperator",
|
|
592
|
+
name: node.attributes.name ?? "",
|
|
593
|
+
expression: expressions[0] ?? { type: "null", source: node.source },
|
|
594
|
+
expressions,
|
|
595
|
+
source: node.source,
|
|
596
|
+
};
|
|
596
597
|
}
|
|
597
598
|
if (node.localName === "qti-custom-operator") {
|
|
598
599
|
return {
|