()
| 103 | } |
| 104 | |
| 105 | export function getCurriculumStructure() { |
| 106 | const curriculumPath = resolve(STRUCTURE_DIR, 'curriculum.json'); |
| 107 | if (!existsSync(curriculumPath)) { |
| 108 | throw new Error(`Curriculum file not found: ${curriculumPath}`); |
| 109 | } |
| 110 | |
| 111 | return JSON.parse(readFileSync(curriculumPath, 'utf8')) as { |
| 112 | superblocks: SuperBlocks[]; |
| 113 | certifications: string[]; |
| 114 | }; |
| 115 | } |
| 116 | |
| 117 | export function getBlockStructurePath(block: string) { |
| 118 | return resolve(BLOCK_STRUCTURE_DIR, `${block}.json`); |
no outgoing calls