UNPKG

grading

Version:

Grading of student submissions, in particular programming tests.

39 lines 1.18 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.preconditionText = exports.gradingText = exports.readGradingSchema = void 0; const cliUtil_1 = require("../cli/cliUtil"); async function readGradingSchema(schemaFile) { const gradingSchema = await (0, cliUtil_1.parseJsonWithComments)(schemaFile); // post processing gradingSchema.tasks.forEach(task => { if (!task.grading) { task.grading = []; } }); return gradingSchema; } exports.readGradingSchema = readGradingSchema; /** * If not provided, text of first test is used. */ function gradingText(grading) { if (grading.text) { return grading.text; } if (grading.tests.length > 0) { return grading.tests[0]; } throw new Error("Grading does not define any tests (and no text)."); } exports.gradingText = gradingText; /** * If not provided, text of first test is used. */ function preconditionText(precondition) { if (precondition.failure) { return precondition.failure; } return precondition.test; } exports.preconditionText = preconditionText; //# sourceMappingURL=gradingschema.js.map