syllabusobject
Version:
A deterministic builder for static syllabus structures with filename-safe output.
14 lines (11 loc) • 720 B
JavaScript
// utils/slugGenerator.js
export function generateSlug({ tcodeName, chapterId, exerciseName, questionNo, questionPart = "" }) {
const safeExercise = exerciseName.replace(/[ .]/g, "_").toLowerCase();
const suffix = questionPart ? `${questionNo}${questionPart}` : `${questionNo}`;
return `${tcodeName}:${chapterId}:${safeExercise}:${suffix}`;
}
export function generateTcodeUrl({ tcodeName, chapterId, exerciseName, questionNo, questionPart = "" }) {
const safeExercise = exerciseName.replace(/[ .]/g, "_").toLowerCase();
const suffix = questionPart ? `${questionNo}${questionPart}` : `${questionNo}`;
return `filename=${tcodeName}-chapter-${chapterId}-ex${safeExercise}-q${suffix}`;
}