@digabi/exam-engine-mastering 19.8.0 → 19.8.1
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/__tests__/testExamMastering.js +28 -21
- package/dist/__tests__/testExamMastering.js.map +1 -1
- package/dist/__tests__/testMexCreation.js +10 -10
- package/dist/__tests__/testMexCreation.js.map +1 -1
- package/dist/__tests__/tsconfig.tsbuildinfo +1 -1
- package/dist/createMex.js +4 -4
- package/dist/createMex.js.map +1 -1
- package/dist/crypto-utils.js +1 -1
- package/dist/crypto-utils.js.map +1 -1
- package/dist/i18n/index.js +4 -4
- package/dist/mastering/createGradingStructure.js +7 -7
- package/dist/mastering/createGradingStructure.js.map +1 -1
- package/dist/mastering/createTranslationFile.js +2 -2
- package/dist/mastering/createTranslationFile.js.map +1 -1
- package/dist/mastering/index.d.ts.map +1 -1
- package/dist/mastering/index.js +43 -36
- package/dist/mastering/index.js.map +1 -1
- package/dist/mastering/render-formula.js +6 -6
- package/dist/mastering/render-formula.js.map +1 -1
- package/dist/mastering/utils.js +1 -1
- package/dist/mastering/utils.js.map +1 -1
- package/dist/migrations/migrateFrom01To02.js +2 -2
- package/dist/migrations/migrateFrom01To02.js.map +1 -1
- package/dist/migrations/migrateFrom02To03.js +1 -1
- package/dist/migrations/migrateFrom02To03.js.map +1 -1
- package/dist/migrations.js +1 -1
- package/package.json +5 -5
package/dist/createMex.js
CHANGED
|
@@ -40,7 +40,7 @@ async function createMex(xml, attachments, nsaScripts, securityCodes, passphrase
|
|
|
40
40
|
const bundleDir = path_1.default.dirname(require.resolve('@digabi/exam-engine-core/dist/main-bundle.js'));
|
|
41
41
|
const renderingFiles = await (0, glob_promise_1.default)(`${bundleDir}/{main-bundle.js,main.css,assets/*}`, {
|
|
42
42
|
nodir: true,
|
|
43
|
-
realpath: true
|
|
43
|
+
realpath: true
|
|
44
44
|
});
|
|
45
45
|
const zipFile = new yazl_1.default.ZipFile();
|
|
46
46
|
const keyAndIv = (0, crypto_utils_1.deriveAES256KeyAndIv)(passphrase);
|
|
@@ -60,13 +60,13 @@ async function createMex(xml, attachments, nsaScripts, securityCodes, passphrase
|
|
|
60
60
|
encryptAndSign(zipFile, 'koe-update.zip', keyAndIv, answersPrivateKey, koeUpdateCloneable.clone());
|
|
61
61
|
sign(zipFile, 'koe-update.zip', answersPrivateKey, koeUpdateCloneable);
|
|
62
62
|
}
|
|
63
|
-
encryptAndSignFiles(zipFile, 'rendering.zip', keyAndIv, answersPrivateKey, renderingFiles.map(
|
|
63
|
+
encryptAndSignFiles(zipFile, 'rendering.zip', keyAndIv, answersPrivateKey, renderingFiles.map(renderingFile => ({
|
|
64
64
|
contents: fs_1.default.createReadStream(renderingFile),
|
|
65
|
-
filename: path_1.default.relative(bundleDir, renderingFile)
|
|
65
|
+
filename: path_1.default.relative(bundleDir, renderingFile)
|
|
66
66
|
})));
|
|
67
67
|
encryptAndSignFiles(zipFile, 'attachments.zip', keyAndIv, answersPrivateKey, attachments.map(({ filename, contents, restricted }) => ({
|
|
68
68
|
filename: restricted ? path_1.default.join('restricted', filename) : filename,
|
|
69
|
-
contents
|
|
69
|
+
contents
|
|
70
70
|
})));
|
|
71
71
|
const promise = pipeline(zipFile.outputStream, outputStream);
|
|
72
72
|
zipFile.end();
|
package/dist/createMex.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createMex.js","sourceRoot":"","sources":["../src/createMex.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAAmB;AACnB,gEAA+B;AAC/B,gDAAuB;AACvB,iDAAmD;AACnD,gDAAoC;AACpC,iDAAsH;AACtH,4EAA0C;AAC1C,+BAAgC;AAEhC,MAAM,QAAQ,GAAG,IAAA,gBAAS,EAAC,gBAAM,CAAC,QAAQ,CAAC,CAAA;AAcpC,KAAK,UAAU,SAAS,CAC7B,GAAW,EACX,WAA6B,EAC7B,UAAoB,EACpB,aAA8B,EAC9B,UAAkB,EAClB,iBAAyB,EACzB,YAAsB,EACtB,IAAoB,EACpB,SAAoB,EACpB,SAAoB;IAEpB,MAAM,SAAS,GAAG,cAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,8CAA8C,CAAC,CAAC,CAAA;IAC/F,MAAM,cAAc,GAAG,MAAM,IAAA,sBAAI,EAAC,GAAG,SAAS,qCAAqC,EAAE;QACnF,KAAK,EAAE,IAAI;QACX,QAAQ,EAAE,IAAI;KACf,CAAC,CAAA;IAEF,MAAM,OAAO,GAAG,IAAI,cAAI,CAAC,OAAO,EAAE,CAAA;IAClC,MAAM,QAAQ,GAAG,IAAA,mCAAoB,EAAC,UAAU,CAAC,CAAA;IAEjD,cAAc,CACZ,OAAO,EACP,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,UAAU,EACrC,QAAQ,EACR,iBAAiB,EACjB,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAC3B,CAAA;IAED,IAAI,IAAI,EAAE;QACR,cAAc,CAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,iBAAiB,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAA;KAClF;IACD,cAAc,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,iBAAiB,EAAE,UAAU,CAAC,CAAA;IAC3E,IAAI,aAAa,EAAE;QACjB,cAAc,CAAC,OAAO,EAAE,qBAAqB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,aAAa,CAAC,CAAA;KAC3F;IACD,IAAI,SAAS,EAAE;QACb,cAAc,CAAC,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,SAAS,CAAC,CAAA;KAClF;IACD,IAAI,SAAS,EAAE;QACb,MAAM,kBAAkB,GAAG,IAAA,4BAAS,EAAC,SAAS,CAAC,CAAA;QAC/C,cAAc,CAAC,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,kBAAkB,CAAC,KAAK,EAAE,CAAC,CAAA;QAClG,IAAI,CAAC,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,kBAAkB,CAAC,CAAA;KACvE;IACD,mBAAmB,CACjB,OAAO,EACP,eAAe,EACf,QAAQ,EACR,iBAAiB,EACjB,cAAc,CAAC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"createMex.js","sourceRoot":"","sources":["../src/createMex.ts"],"names":[],"mappings":"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"}
|
package/dist/crypto-utils.js
CHANGED
|
@@ -21,7 +21,7 @@ function signWithSHA256AndRSA(input, privateKeyPem) {
|
|
|
21
21
|
output.push(signer.sign(privateKeyPem, 'base64'));
|
|
22
22
|
output.push(null);
|
|
23
23
|
});
|
|
24
|
-
signerStream.on('error',
|
|
24
|
+
signerStream.on('error', error => output.destroy(error));
|
|
25
25
|
return output;
|
|
26
26
|
}
|
|
27
27
|
exports.signWithSHA256AndRSA = signWithSHA256AndRSA;
|
package/dist/crypto-utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crypto-utils.js","sourceRoot":"","sources":["../src/crypto-utils.ts"],"names":[],"mappings":";;;;;;AAAA,oDAA2B;AAC3B,mCAAiC;AAEjC,MAAM,aAAa,GAAG,aAAa,CAAA;AACnC,MAAM,QAAQ,GAAG,YAAY,CAAA;AAC7B,MAAM,aAAa,GAAG,MAAM,CAAA;AAO5B,SAAgB,+BAA+B,CAAC,EAAE,GAAG,EAAE,EAAE,EAAY;IACnE,OAAO,gBAAM,CAAC,cAAc,CAAC,aAAa,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAA;AAC1E,CAAC;AAFD,0EAEC;AAED,SAAgB,oBAAoB,CAAC,KAA4B,EAAE,aAAqB;IACtF,MAAM,MAAM,GAAG,gBAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;IAC1C,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACvC,MAAM,MAAM,GAAG,IAAI,iBAAQ,EAAE,CAAA;IAE7B,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;QAC7B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAA;QACjD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACnB,CAAC,CAAC,CAAA;IACF,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"crypto-utils.js","sourceRoot":"","sources":["../src/crypto-utils.ts"],"names":[],"mappings":";;;;;;AAAA,oDAA2B;AAC3B,mCAAiC;AAEjC,MAAM,aAAa,GAAG,aAAa,CAAA;AACnC,MAAM,QAAQ,GAAG,YAAY,CAAA;AAC7B,MAAM,aAAa,GAAG,MAAM,CAAA;AAO5B,SAAgB,+BAA+B,CAAC,EAAE,GAAG,EAAE,EAAE,EAAY;IACnE,OAAO,gBAAM,CAAC,cAAc,CAAC,aAAa,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAA;AAC1E,CAAC;AAFD,0EAEC;AAED,SAAgB,oBAAoB,CAAC,KAA4B,EAAE,aAAqB;IACtF,MAAM,MAAM,GAAG,gBAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;IAC1C,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACvC,MAAM,MAAM,GAAG,IAAI,iBAAQ,EAAE,CAAA;IAE7B,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;QAC7B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAA;QACjD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACnB,CAAC,CAAC,CAAA;IACF,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAA;IAExD,OAAO,MAAM,CAAA;AACf,CAAC;AAZD,oDAYC;AAED,SAAgB,sBAAsB,CAAC,gBAAwB,EAAE,SAAiB,EAAE,SAAiB;IACnG,MAAM,QAAQ,GAAG,gBAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAA;IAC9C,QAAQ,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAA;IACjC,OAAO,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAA;AACxD,CAAC;AAJD,wDAIC;AAED,SAAgB,oBAAoB,CAAC,QAAgB;IACnD,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IACnD,MAAM,WAAW,GAAG,gBAAM,CAAC,UAAU,CAAC,eAAe,EAAE,eAAe,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,aAAa,CAAC,CAAA,CAAC,4DAA4D;IAClK,MAAM,GAAG,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;IACpC,MAAM,EAAE,GAAG,WAAW,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;IACpC,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,CAAA;AACpB,CAAC;AAND,oDAMC;AAED,SAAS,QAAQ,CAAC,GAAoB;IACpC,OAAO,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;AAChE,CAAC"}
|
package/dist/i18n/index.js
CHANGED
|
@@ -13,12 +13,12 @@ const exam_titles_sv_FI_json_1 = __importDefault(require("./exam_titles_sv-FI.js
|
|
|
13
13
|
const resources = {
|
|
14
14
|
'fi-FI': {
|
|
15
15
|
'exam-title': exam_titles_fi_FI_json_1.default,
|
|
16
|
-
'exam-footer': exam_footers_fi_FI_json_1.default
|
|
16
|
+
'exam-footer': exam_footers_fi_FI_json_1.default
|
|
17
17
|
},
|
|
18
18
|
'sv-FI': {
|
|
19
19
|
'exam-title': exam_titles_sv_FI_json_1.default,
|
|
20
|
-
'exam-footer': exam_footers_sv_FI_json_1.default
|
|
21
|
-
}
|
|
20
|
+
'exam-footer': exam_footers_sv_FI_json_1.default
|
|
21
|
+
}
|
|
22
22
|
};
|
|
23
23
|
function initI18n(lng) {
|
|
24
24
|
return i18next_1.default.createInstance({
|
|
@@ -26,7 +26,7 @@ function initI18n(lng) {
|
|
|
26
26
|
resources,
|
|
27
27
|
lng,
|
|
28
28
|
fallbackLng: 'fi-FI',
|
|
29
|
-
debug: false
|
|
29
|
+
debug: false
|
|
30
30
|
}, lodash_1.default.noop // Force i18next to initialize the instance.
|
|
31
31
|
);
|
|
32
32
|
}
|
|
@@ -9,7 +9,7 @@ const schema_1 = require("./schema");
|
|
|
9
9
|
const utils_1 = require("./utils");
|
|
10
10
|
function createGradingStructure(exam, generateId, options) {
|
|
11
11
|
const questions = lodash_1.default.chain(exam.topLevelQuestions)
|
|
12
|
-
.flatMap(
|
|
12
|
+
.flatMap(question => {
|
|
13
13
|
const questionAnswers = collectAnswers(question);
|
|
14
14
|
const questionDisplayNumber = (0, utils_1.getAttribute)('display-number', question.element);
|
|
15
15
|
return lodash_1.default.chain(questionAnswers)
|
|
@@ -21,7 +21,7 @@ function createGradingStructure(exam, generateId, options) {
|
|
|
21
21
|
case 'choice':
|
|
22
22
|
return (options === null || options === void 0 ? void 0 : options.groupChoiceAnswers)
|
|
23
23
|
? [mkChoiceGroupQuestion(answers, questionDisplayNumber, generateId)]
|
|
24
|
-
: answers.map(
|
|
24
|
+
: answers.map(answer => mkSingleChoiceGroupQuestion(answer, generateId));
|
|
25
25
|
default:
|
|
26
26
|
throw new Error(`Bug: grading structure generation not implemented for ${questionType}`);
|
|
27
27
|
}
|
|
@@ -60,7 +60,7 @@ function mkTextQuestion(answer) {
|
|
|
60
60
|
displayNumber,
|
|
61
61
|
maxScore,
|
|
62
62
|
type: 'text',
|
|
63
|
-
...(maxLength && { maxLength })
|
|
63
|
+
...(maxLength && { maxLength })
|
|
64
64
|
};
|
|
65
65
|
if (type === 'text-answer') {
|
|
66
66
|
return question;
|
|
@@ -68,7 +68,7 @@ function mkTextQuestion(answer) {
|
|
|
68
68
|
else {
|
|
69
69
|
const correctAnswers = answer.element
|
|
70
70
|
.find('./e:accepted-answer', schema_1.ns)
|
|
71
|
-
.map(
|
|
71
|
+
.map(e => ({ text: e.text(), score: (0, utils_1.getNumericAttribute)('score', e) }));
|
|
72
72
|
return { ...question, correctAnswers };
|
|
73
73
|
}
|
|
74
74
|
}
|
|
@@ -82,7 +82,7 @@ function mkSingleChoiceGroupQuestion(answer, generateId) {
|
|
|
82
82
|
id: generateId(),
|
|
83
83
|
displayNumber: choiceGroupChoice.displayNumber,
|
|
84
84
|
type: 'choicegroup',
|
|
85
|
-
choices: [choiceGroupChoice]
|
|
85
|
+
choices: [choiceGroupChoice]
|
|
86
86
|
};
|
|
87
87
|
}
|
|
88
88
|
function mkChoiceGroupChoice(answer) {
|
|
@@ -91,7 +91,7 @@ function mkChoiceGroupChoice(answer) {
|
|
|
91
91
|
const maxScore = (0, utils_1.getNumericAttribute)('max-score', answer.element);
|
|
92
92
|
const options = answer.element
|
|
93
93
|
.find((0, utils_1.xpathOr)(schema_1.choiceAnswerOptionTypes), schema_1.ns)
|
|
94
|
-
.map(
|
|
94
|
+
.map(option => {
|
|
95
95
|
const id = (0, utils_1.getNumericAttribute)('option-id', option);
|
|
96
96
|
const score = (0, utils_1.getNumericAttribute)('score', option, 0);
|
|
97
97
|
const correct = score > 0 && score === maxScore;
|
|
@@ -101,7 +101,7 @@ function mkChoiceGroupChoice(answer) {
|
|
|
101
101
|
id: questionId,
|
|
102
102
|
displayNumber,
|
|
103
103
|
type: 'choice',
|
|
104
|
-
options
|
|
104
|
+
options
|
|
105
105
|
};
|
|
106
106
|
}
|
|
107
107
|
const getDigit = (digit) => (question) => Number(question.displayNumber.split('.')[digit]) || -1;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createGradingStructure.js","sourceRoot":"","sources":["../../src/mastering/createGradingStructure.ts"],"names":[],"mappings":";;;;;;AASA,oDAAsB;AAEtB,qCAA8E;AAC9E,mCAAoE;AASpE,SAAgB,sBAAsB,CACpC,IAAU,EACV,UAAsB,EACtB,OAAiC;IAEjC,MAAM,SAAS,GAAG,gBAAC,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC;SAC9C,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"createGradingStructure.js","sourceRoot":"","sources":["../../src/mastering/createGradingStructure.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,8 +4,8 @@ exports.createTranslationFile = void 0;
|
|
|
4
4
|
const schema_1 = require("./schema");
|
|
5
5
|
const createTranslationFile = (doc) => doc
|
|
6
6
|
.find(`//e:*[@lang='fi-FI']`, schema_1.ns)
|
|
7
|
-
.map(
|
|
8
|
-
.filter(
|
|
7
|
+
.map(element => element.text().trim().replace(/\s+/g, ' '))
|
|
8
|
+
.filter(s => s.length > 0)
|
|
9
9
|
.join('\n\n');
|
|
10
10
|
exports.createTranslationFile = createTranslationFile;
|
|
11
11
|
//# sourceMappingURL=createTranslationFile.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createTranslationFile.js","sourceRoot":"","sources":["../../src/mastering/createTranslationFile.ts"],"names":[],"mappings":";;;AACA,qCAA6B;AAEtB,MAAM,qBAAqB,GAAG,CAAC,GAAa,EAAU,EAAE,CAC7D,GAAG;KACA,IAAI,CAAU,sBAAsB,EAAE,WAAE,CAAC;KACzC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"createTranslationFile.js","sourceRoot":"","sources":["../../src/mastering/createTranslationFile.ts"],"names":[],"mappings":";;;AACA,qCAA6B;AAEtB,MAAM,qBAAqB,GAAG,CAAC,GAAa,EAAU,EAAE,CAC7D,GAAG;KACA,IAAI,CAAU,sBAAsB,EAAE,WAAE,CAAC;KACzC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KAC1D,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;KACzB,IAAI,CAAC,MAAM,CAAC,CAAA;AALJ,QAAA,qBAAqB,yBAKjB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mastering/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAG3D,OAAO,EAAE,QAAQ,EAAwC,MAAM,WAAW,CAAA;AAmC1E,UAAU,aAAa;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;CACf;AACD,UAAU,aAAa;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;CACf;AACD,UAAU,aAAa;IACrB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,mBAAmB,GAAG,kBAAkB,CAAA;AAE1E,MAAM,MAAM,YAAY,GAAG,CAAC,QAAQ,CAAC,EAAE;IACrC,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,QAAQ,CAAA;CACf,KAAK,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAA;AAG9B,MAAM,MAAM,gBAAgB,GAAG,CAC7B,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,KAC9B,OAAO,CAAC,aAAa,GAAG,aAAa,GAAG,aAAa,CAAC,CAAA;AAE3D,MAAM,WAAW,gBAAgB;IAC/B;;;;;;;OAOG;IACH,wBAAwB,CAAC,EAAE,MAAM,CAAA;IACjC;;;OAGG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAE3B;;;OAGG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAC7B;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mastering/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAG3D,OAAO,EAAE,QAAQ,EAAwC,MAAM,WAAW,CAAA;AAmC1E,UAAU,aAAa;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;CACf;AACD,UAAU,aAAa;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;CACf;AACD,UAAU,aAAa;IACrB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,mBAAmB,GAAG,kBAAkB,CAAA;AAE1E,MAAM,MAAM,YAAY,GAAG,CAAC,QAAQ,CAAC,EAAE;IACrC,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,QAAQ,CAAA;CACf,KAAK,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAA;AAG9B,MAAM,MAAM,gBAAgB,GAAG,CAC7B,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,KAC9B,OAAO,CAAC,aAAa,GAAG,aAAa,GAAG,aAAa,CAAC,CAAA;AAE3D,MAAM,WAAW,gBAAgB;IAC/B;;;;;;;OAOG;IACH,wBAAwB,CAAC,EAAE,MAAM,CAAA;IACjC;;;OAGG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAE3B;;;OAGG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAC7B;AAoGD;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,UAAQ,GAAG,QAAQ,CAMjE;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,OAAO,CAAA;IACnB,4BAA4B,EAAE,OAAO,CAAA;IACrC,wBAAwB,EAAE,OAAO,CAAA;CAClC;AAED,MAAM,WAAW,eAAe;IAC9B,iDAAiD;IACjD,WAAW,EAAE,UAAU,EAAE,CAAA;IACzB,4BAA4B;IAC5B,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,gEAAgE;IAChE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,iEAAiE;IACjE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,0DAA0D;IAC1D,QAAQ,EAAE,MAAM,CAAA;IAChB,oEAAoE;IACpE,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,wDAAwD;IACxD,WAAW,EAAE,MAAM,CAAA;IACnB,4FAA4F;IAC5F,QAAQ,EAAE,MAAM,CAAA;IAChB,sCAAsC;IACtC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,2BAA2B;IAC3B,IAAI,EAAE,QAAQ,CAAA;IACd,wBAAwB;IACxB,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,MAAM,MAAM,UAAU,GAAG,MAAM,MAAM,CAAA;AAErC;;GAEG;AACH,wBAAsB,UAAU,CAC9B,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,YAAY,EAC1B,gBAAgB,EAAE,gBAAgB,EAClC,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,eAAe,EAAE,CAAC,CAc5B"}
|
package/dist/mastering/index.js
CHANGED
|
@@ -18,18 +18,18 @@ const utils_1 = require("./utils");
|
|
|
18
18
|
const alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZÅÄÖ';
|
|
19
19
|
const schemaDir = path_1.default.resolve(__dirname, '../../schema');
|
|
20
20
|
const schema = (0, libxmljs2_1.parseXml)((0, fs_1.readFileSync)(path_1.default.resolve(schemaDir, 'exam.xsd')).toString(), {
|
|
21
|
-
baseUrl: `${schemaDir}
|
|
21
|
+
baseUrl: `${schemaDir}/`
|
|
22
22
|
});
|
|
23
23
|
const defaultOptions = {
|
|
24
24
|
multiChoiceShuffleSecret: 'tJXjzAhY3dT4B26aikG2tPmPRlWRTKXF5eVpOR2eDFz3Aj4a3FHF1jB3tswVWPhc',
|
|
25
25
|
removeCorrectAnswers: true,
|
|
26
|
-
throwOnLatexError: true
|
|
26
|
+
throwOnLatexError: true
|
|
27
27
|
};
|
|
28
28
|
function assertExamIsValid(doc) {
|
|
29
29
|
if (!doc.validate(schema)) {
|
|
30
30
|
// The Exam and XHTML schemas import each other, which causes libxml to add some extra warnings as error messages.
|
|
31
31
|
// Filter them out, they aren't interesting.
|
|
32
|
-
const error = doc.validationErrors.find(
|
|
32
|
+
const error = doc.validationErrors.find(err => err.level > 1);
|
|
33
33
|
if (error.message.includes(`is not an element of the set {'${migrations_1.currentExamSchemaVersion}'}.`)) {
|
|
34
34
|
// Throw a more user-friendly error if exam-schema-version doesn't match.
|
|
35
35
|
error.message = `This exam uses an outdated schema. Use the \`ee migrate\` tool to convert it to the current schema.
|
|
@@ -39,11 +39,18 @@ function assertExamIsValid(doc) {
|
|
|
39
39
|
}
|
|
40
40
|
throw error;
|
|
41
41
|
}
|
|
42
|
+
const sections = doc.find('//e:section', schema_1.ns).slice(1);
|
|
43
|
+
for (const section of sections) {
|
|
44
|
+
const casForbidden = (0, utils_1.getAttribute)('cas-forbidden', section, 'false');
|
|
45
|
+
if (casForbidden == 'true') {
|
|
46
|
+
throw mkError('cas-forbidden attribute can be true only on first section', section);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
42
49
|
for (const answer of doc.find((0, utils_1.xpathOr)(schema_1.answerTypes), schema_1.ns)) {
|
|
43
50
|
// Ensure that the each answer element is directly within a question,
|
|
44
51
|
// ignoring a few special HTML-like exam elements.
|
|
45
52
|
const htmlLikeExamElements = ['hints', 'scored-text-answers', 'localization', 'attachment', 'audio-group'];
|
|
46
|
-
const maybeParentQuestion = (0, utils_1.queryAncestors)(answer,
|
|
53
|
+
const maybeParentQuestion = (0, utils_1.queryAncestors)(answer, e => { var _a; return ((_a = e.namespace()) === null || _a === void 0 ? void 0 : _a.href()) === schema_1.ns.e && !htmlLikeExamElements.includes(e.name()); });
|
|
47
54
|
if ((maybeParentQuestion === null || maybeParentQuestion === void 0 ? void 0 : maybeParentQuestion.name()) !== 'question') {
|
|
48
55
|
throw mkError('All answers must be within a question.', answer);
|
|
49
56
|
}
|
|
@@ -60,7 +67,7 @@ function assertExamIsValid(doc) {
|
|
|
60
67
|
throw mkError('A scored-text-answer element must contain either a max-score attribute or contain accepted-answers', answer);
|
|
61
68
|
}
|
|
62
69
|
else if (maxScore != null &&
|
|
63
|
-
acceptedAnswers.some(
|
|
70
|
+
acceptedAnswers.some(acceptedAnswer => (0, utils_1.getNumericAttribute)('score', acceptedAnswer) > maxScore)) {
|
|
64
71
|
throw mkError('The max-score of a scored-text-answer cannot be smaller than the score of some of its accepted-answers', answer);
|
|
65
72
|
}
|
|
66
73
|
}
|
|
@@ -109,9 +116,9 @@ exports.parseExam = parseExam;
|
|
|
109
116
|
*/
|
|
110
117
|
async function masterExam(xml, generateUuid, getMediaMetadata, options) {
|
|
111
118
|
const doc = parseExam(xml, true);
|
|
112
|
-
const examVersions = doc.find('./e:exam-versions/e:exam-version', schema_1.ns).map(
|
|
119
|
+
const examVersions = doc.find('./e:exam-versions/e:exam-version', schema_1.ns).map(examVersion => ({
|
|
113
120
|
language: (0, utils_1.getAttribute)('lang', examVersion),
|
|
114
|
-
type: (0, utils_1.getAttribute)('exam-type', examVersion, 'normal')
|
|
121
|
+
type: (0, utils_1.getAttribute)('exam-type', examVersion, 'normal')
|
|
115
122
|
}));
|
|
116
123
|
const memoizedGetMediaMetadata = lodash_1.default.memoize(getMediaMetadata, lodash_1.default.join);
|
|
117
124
|
const optionsWithDefaults = { ...defaultOptions, ...options };
|
|
@@ -165,7 +172,7 @@ async function masterExamVersion(doc, language, type, generateUuid, getMediaMeta
|
|
|
165
172
|
language,
|
|
166
173
|
title: (_b = (_a = root.get('//e:exam-title', schema_1.ns)) === null || _a === void 0 ? void 0 : _a.text().trim()) !== null && _b !== void 0 ? _b : null,
|
|
167
174
|
type,
|
|
168
|
-
xml: doc.toString(false)
|
|
175
|
+
xml: doc.toString(false)
|
|
169
176
|
};
|
|
170
177
|
}
|
|
171
178
|
async function addMediaMetadata(attachments, getMediaMetadata) {
|
|
@@ -191,16 +198,16 @@ function collectAttachments(exam, attachments) {
|
|
|
191
198
|
filename,
|
|
192
199
|
restricted,
|
|
193
200
|
visibleInGradingInstructions,
|
|
194
|
-
withinGradingInstruction
|
|
201
|
+
withinGradingInstruction
|
|
195
202
|
});
|
|
196
203
|
const maybeCustomStylesheet = (0, utils_1.getAttribute)('exam-stylesheet', exam, null);
|
|
197
204
|
return lodash_1.default.uniqWith([
|
|
198
|
-
...attachments.map(
|
|
199
|
-
...(maybeCustomStylesheet ? [mkAttachment(maybeCustomStylesheet)] : [])
|
|
205
|
+
...attachments.map(a => mkAttachment((0, utils_1.getAttribute)('src', a), a.attr('times') != null, isVisibleInGradingInstructions(a), isWithinGradingInstructions(a))),
|
|
206
|
+
...(maybeCustomStylesheet ? [mkAttachment(maybeCustomStylesheet)] : [])
|
|
200
207
|
], lodash_1.default.isEqual);
|
|
201
208
|
}
|
|
202
209
|
function isVisibleInGradingInstructions(attachment) {
|
|
203
|
-
return !!(0, utils_1.queryAncestors)(attachment,
|
|
210
|
+
return !!(0, utils_1.queryAncestors)(attachment, e => [
|
|
204
211
|
// Keep in sync with lists in core's GradingInstructions.tsx
|
|
205
212
|
'answer-grading-instruction',
|
|
206
213
|
'choice-answer-option',
|
|
@@ -209,11 +216,11 @@ function isVisibleInGradingInstructions(attachment) {
|
|
|
209
216
|
'question-grading-instruction',
|
|
210
217
|
'hint',
|
|
211
218
|
'question-title',
|
|
212
|
-
'question-instruction'
|
|
219
|
+
'question-instruction'
|
|
213
220
|
].includes(e.name()));
|
|
214
221
|
}
|
|
215
222
|
function isWithinGradingInstructions(attachment) {
|
|
216
|
-
return !!(0, utils_1.queryAncestors)(attachment,
|
|
223
|
+
return !!(0, utils_1.queryAncestors)(attachment, e => ['exam-grading-instruction', 'question-grading-instruction', 'answer-grading-instruction'].includes(e.name()));
|
|
217
224
|
}
|
|
218
225
|
async function addExamMetadata(exam, generateUuid, language, type) {
|
|
219
226
|
const examCode = (0, utils_1.getAttribute)('exam-code', exam, null);
|
|
@@ -260,7 +267,7 @@ function addYoCustomizations(exam, language, type) {
|
|
|
260
267
|
DC: 'sme-FI',
|
|
261
268
|
QC: 'sms-FI',
|
|
262
269
|
VA: 'ru-RU',
|
|
263
|
-
VC: 'ru-RU'
|
|
270
|
+
VC: 'ru-RU'
|
|
264
271
|
};
|
|
265
272
|
const maybeLang = subjectLanguages[key];
|
|
266
273
|
if (maybeLang) {
|
|
@@ -295,10 +302,10 @@ function addYoCustomizations(exam, language, type) {
|
|
|
295
302
|
}
|
|
296
303
|
}
|
|
297
304
|
function removeComments(exam) {
|
|
298
|
-
exam.find('//comment()').forEach(
|
|
305
|
+
exam.find('//comment()').forEach(e => e.remove());
|
|
299
306
|
}
|
|
300
307
|
function removeHiddenElements(exam) {
|
|
301
|
-
exam.find('//e:*[@hidden=true()]', schema_1.ns).forEach(
|
|
308
|
+
exam.find('//e:*[@hidden=true()]', schema_1.ns).forEach(e => e.remove());
|
|
302
309
|
}
|
|
303
310
|
function removeHvpMetadata(exam) {
|
|
304
311
|
exam
|
|
@@ -306,9 +313,9 @@ function removeHvpMetadata(exam) {
|
|
|
306
313
|
'exam-grading-instruction',
|
|
307
314
|
'question-grading-instruction',
|
|
308
315
|
'answer-grading-instruction',
|
|
309
|
-
'audio-transcription'
|
|
316
|
+
'audio-transcription'
|
|
310
317
|
]), schema_1.ns)
|
|
311
|
-
.forEach(
|
|
318
|
+
.forEach(e => e.remove());
|
|
312
319
|
}
|
|
313
320
|
function updateMaxScoresToAnswers(exam) {
|
|
314
321
|
for (const { element } of exam.answers) {
|
|
@@ -319,7 +326,7 @@ function updateMaxScoresToAnswers(exam) {
|
|
|
319
326
|
if (element.attr('max-score') == null) {
|
|
320
327
|
const scores = element
|
|
321
328
|
.find('./e:choice-answer-option | ./e:dropdown-answer-option | ./e:accepted-answer', schema_1.ns)
|
|
322
|
-
.map(
|
|
329
|
+
.map(option => (0, utils_1.getNumericAttribute)('score', option, 0));
|
|
323
330
|
const maxScore = lodash_1.default.max(scores);
|
|
324
331
|
element.attr('max-score', String(maxScore));
|
|
325
332
|
}
|
|
@@ -340,7 +347,7 @@ function removeCorrectAnswers(exam) {
|
|
|
340
347
|
}
|
|
341
348
|
break;
|
|
342
349
|
case 'scored-text-answer': {
|
|
343
|
-
element.find('.//e:accepted-answer', schema_1.ns).forEach(
|
|
350
|
+
element.find('.//e:accepted-answer', schema_1.ns).forEach(e => e.remove());
|
|
344
351
|
}
|
|
345
352
|
}
|
|
346
353
|
}
|
|
@@ -350,7 +357,7 @@ function removeCorrectAnswers(exam) {
|
|
|
350
357
|
* in the browser console, remove them during mastering.
|
|
351
358
|
*/
|
|
352
359
|
function removeTableWhitespaceNodes(exam) {
|
|
353
|
-
const tableElements = ['table', 'thead', 'tbody', 'tr'].map(
|
|
360
|
+
const tableElements = ['table', 'thead', 'tbody', 'tr'].map(e => `self::xhtml:${e}`).join(' or ');
|
|
354
361
|
for (const textNode of exam.find(`//*[${tableElements}]/text()`, schema_1.ns)) {
|
|
355
362
|
if (textNode.text().trim() === '') {
|
|
356
363
|
textNode.remove();
|
|
@@ -363,7 +370,7 @@ function applyLocalizations(exam, language, type) {
|
|
|
363
370
|
for (const localization of exam.find('//e:localization', schema_1.ns)) {
|
|
364
371
|
if ((0, utils_1.getAttribute)('lang', localization, language) !== language ||
|
|
365
372
|
!(0, utils_1.getAttribute)('exam-type', localization, type).includes(type) ||
|
|
366
|
-
localization.childNodes().every(
|
|
373
|
+
localization.childNodes().every(c => c instanceof libxmljs2_1.Text && c.text().trim().length === 0)) {
|
|
367
374
|
localization.remove();
|
|
368
375
|
}
|
|
369
376
|
else {
|
|
@@ -372,7 +379,7 @@ function applyLocalizations(exam, language, type) {
|
|
|
372
379
|
}
|
|
373
380
|
exam
|
|
374
381
|
.find(`//e:*[(@lang and @lang!='${language}') or (@exam-type and not(contains(@exam-type, '${type}')))]`, schema_1.ns)
|
|
375
|
-
.forEach(
|
|
382
|
+
.forEach(element => element.remove());
|
|
376
383
|
}
|
|
377
384
|
function addSectionNumbers(exam) {
|
|
378
385
|
exam.sections.forEach((section, i) => section.element.attr('display-number', String(i + 1)));
|
|
@@ -430,14 +437,14 @@ function countSectionMaxAndMinAnswers(exam) {
|
|
|
430
437
|
}
|
|
431
438
|
for (const section of exam.sections) {
|
|
432
439
|
const maxAnswers = (0, utils_1.getNumericAttribute)('max-answers', section.element);
|
|
433
|
-
const otherSectionMaxAnswers = lodash_1.default.sumBy(exam.sections.filter(
|
|
440
|
+
const otherSectionMaxAnswers = lodash_1.default.sumBy(exam.sections.filter(s => s !== section), otherSection => (0, utils_1.getNumericAttribute)('max-answers', otherSection.element));
|
|
434
441
|
const minAnswers = lodash_1.default.clamp(maxAnswers, 0, examMaxAnswers - otherSectionMaxAnswers);
|
|
435
442
|
section.element.attr('min-answers', String(minAnswers));
|
|
436
443
|
}
|
|
437
444
|
}
|
|
438
445
|
function countMaxScores(exam) {
|
|
439
446
|
function countMaxScore(answerables, maxAnswers) {
|
|
440
|
-
const maxScores = answerables.map(
|
|
447
|
+
const maxScores = answerables.map(a => (0, utils_1.getNumericAttribute)('max-score', a.element));
|
|
441
448
|
return lodash_1.default.sum(lodash_1.default.take(lodash_1.default.orderBy(maxScores, lodash_1.default.identity, 'desc'), maxAnswers !== null && maxAnswers !== void 0 ? maxAnswers : answerables.length));
|
|
442
449
|
}
|
|
443
450
|
function countQuestionMaxScores(question) {
|
|
@@ -457,10 +464,10 @@ function countMaxScores(exam) {
|
|
|
457
464
|
}
|
|
458
465
|
function countExamMaxScore() {
|
|
459
466
|
const examMaxAnswers = (0, utils_1.getNumericAttribute)('max-answers', exam.element, null);
|
|
460
|
-
const questionsWithHighestMaxScoresPerSection = lodash_1.default.flatMap(exam.sections,
|
|
467
|
+
const questionsWithHighestMaxScoresPerSection = lodash_1.default.flatMap(exam.sections, section => {
|
|
461
468
|
const sectionMaxAnswers = (0, utils_1.getNumericAttribute)('max-answers', section.element, null);
|
|
462
469
|
const questions = section.questions;
|
|
463
|
-
return lodash_1.default.take(lodash_1.default.orderBy(questions,
|
|
470
|
+
return lodash_1.default.take(lodash_1.default.orderBy(questions, question => (0, utils_1.getNumericAttribute)('max-score', question.element), 'desc'), sectionMaxAnswers !== null && sectionMaxAnswers !== void 0 ? sectionMaxAnswers : questions.length);
|
|
464
471
|
});
|
|
465
472
|
const maxScore = countMaxScore(questionsWithHighestMaxScoresPerSection, examMaxAnswers);
|
|
466
473
|
exam.element.attr('max-score', String(maxScore !== null && maxScore !== void 0 ? maxScore : 0));
|
|
@@ -471,7 +478,7 @@ function countMaxScores(exam) {
|
|
|
471
478
|
function addAnswerOptionIds(exam, generateId) {
|
|
472
479
|
for (const { element } of exam.answers) {
|
|
473
480
|
if (lodash_1.default.includes(schema_1.choiceAnswerTypes, element.name())) {
|
|
474
|
-
element.find((0, utils_1.xpathOr)(schema_1.choiceAnswerOptionTypes), schema_1.ns).forEach(
|
|
481
|
+
element.find((0, utils_1.xpathOr)(schema_1.choiceAnswerOptionTypes), schema_1.ns).forEach(answerOption => {
|
|
475
482
|
answerOption.attr('option-id', String(generateId()));
|
|
476
483
|
});
|
|
477
484
|
}
|
|
@@ -490,18 +497,18 @@ function shuffleAnswerOptions(exam, multichoiceShuffleSecret) {
|
|
|
490
497
|
return hash.digest('hex');
|
|
491
498
|
};
|
|
492
499
|
return exam.answers
|
|
493
|
-
.map(
|
|
500
|
+
.map(a => a.element)
|
|
494
501
|
.filter((0, utils_1.byLocalName)(...schema_1.choiceAnswerTypes))
|
|
495
502
|
.filter(lodash_1.default.negate((0, utils_1.byAttribute)('ordering', 'fixed')))
|
|
496
|
-
.forEach(
|
|
503
|
+
.forEach(answer => {
|
|
497
504
|
const options = answer.find('./e:choice-answer-option | ./e:dropdown-answer-option', schema_1.ns);
|
|
498
505
|
const answerKey = String(options.length) + (0, utils_1.getAttribute)('question-id', answer);
|
|
499
|
-
const sortedOptions = lodash_1.default.sortBy(options,
|
|
506
|
+
const sortedOptions = lodash_1.default.sortBy(options, option => createHash(answerKey + String(options.indexOf(option)) + multichoiceShuffleSecret));
|
|
500
507
|
for (const option of sortedOptions) {
|
|
501
508
|
answer.addChild(option);
|
|
502
509
|
}
|
|
503
510
|
// A no-answer option should always be the last
|
|
504
|
-
const noAnswerOption = options.find(
|
|
511
|
+
const noAnswerOption = options.find(option => (0, utils_1.getAttribute)('type', option, 'normal') === 'no-answer');
|
|
505
512
|
if (noAnswerOption)
|
|
506
513
|
answer.addChild(noAnswerOption);
|
|
507
514
|
});
|
|
@@ -531,7 +538,7 @@ function mkError(message, element) {
|
|
|
531
538
|
}
|
|
532
539
|
function parseExamStructure(element) {
|
|
533
540
|
const sections = element.find('//e:section', schema_1.ns).map(parseSection);
|
|
534
|
-
const topLevelQuestions = sections.flatMap(
|
|
541
|
+
const topLevelQuestions = sections.flatMap(s => s.questions);
|
|
535
542
|
const questions = [];
|
|
536
543
|
const answers = [];
|
|
537
544
|
const collect = (question) => {
|
|
@@ -554,13 +561,13 @@ function parseAnswer(element, question) {
|
|
|
554
561
|
function parseQuestion(question) {
|
|
555
562
|
const childQuestions = question
|
|
556
563
|
.find('.//e:question', schema_1.ns)
|
|
557
|
-
.filter(
|
|
564
|
+
.filter(childQuestion => childQuestion.get('./ancestor::e:question[1]', schema_1.ns) === question)
|
|
558
565
|
.map(parseQuestion);
|
|
559
566
|
if (childQuestions.length) {
|
|
560
567
|
return { element: question, childQuestions, answers: [] };
|
|
561
568
|
}
|
|
562
569
|
else {
|
|
563
|
-
const answers = question.find((0, utils_1.xpathOr)(schema_1.answerTypes), schema_1.ns).map(
|
|
570
|
+
const answers = question.find((0, utils_1.xpathOr)(schema_1.answerTypes), schema_1.ns).map(element => parseAnswer(element, question));
|
|
564
571
|
return { element: question, childQuestions: [], answers };
|
|
565
572
|
}
|
|
566
573
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mastering/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mastering/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,9 +4,9 @@ mjAPI.config({
|
|
|
4
4
|
extensions: 'TeX/mhchem.js',
|
|
5
5
|
MathJax: {
|
|
6
6
|
SVG: {
|
|
7
|
-
font: 'Latin-Modern'
|
|
8
|
-
}
|
|
9
|
-
}
|
|
7
|
+
font: 'Latin-Modern'
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
10
|
});
|
|
11
11
|
mjAPI.start();
|
|
12
12
|
const errorSvg = `<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
|
|
@@ -37,10 +37,10 @@ function renderFormula(formula, mode, throwOnLatexError) {
|
|
|
37
37
|
math: formula,
|
|
38
38
|
format: mode === 'display' ? 'TeX' : 'inline-TeX',
|
|
39
39
|
svg: true,
|
|
40
|
-
ex: 9
|
|
40
|
+
ex: 9 // Noto Sans 16px
|
|
41
41
|
})
|
|
42
|
-
.then(
|
|
43
|
-
.catch(
|
|
42
|
+
.then(result => result.svg)
|
|
43
|
+
.catch(errors => {
|
|
44
44
|
if (throwOnLatexError) {
|
|
45
45
|
throw errors;
|
|
46
46
|
}
|