UNPKG

grading

Version:

Grading of student submissions, in particular programming tests.

40 lines 1.34 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.preconditionText = exports.gradingText = exports.readGradingSchema = exports.GRADING_SCHEMA_IN_PACKAGE = void 0; const cliUtil_1 = require("../cli/cliUtil"); exports.GRADING_SCHEMA_IN_PACKAGE = "https://gitlab.bht-berlin.de/nodepackages/grading/-/raw/main/src/grade/grading.schema.json"; 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