UNPKG

course-renderer

Version:

Manages CA School Courses file system storage and HTML conversion

40 lines (39 loc) 1.35 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const Token_1 = require("../Token"); const handlers_1 = require("../handlers"); const SECTION_MARKER = 0x2B; /* + */ function section(reader, tokens, silent = false, options) { let pos = reader.getCurrentLineStartPos(); if (reader.getCharCode(pos++) !== SECTION_MARKER || reader.getCharCode(pos++) !== SECTION_MARKER || reader.getCharCode(pos++) !== SECTION_MARKER) { return false; } if (silent) return true; if (options.sectionMode) { options.sectionMode = false; reader.nextNonEmptyLines(); return true; } else { reader.nextNonEmptyLines(); options.sectionMode = true; const start = reader.currentLine; while (!reader.isEnd()) { if (handlers_1.question(reader, tokens, true, options) || handlers_1.series(reader, tokens, true, options)) break; reader.nextLine(); } reader.currentLine--; const label = reader.getLines(start, reader.currentLine); const token = new Token_1.default('SECTION'); token.setContent(label); token.setChapter(options.chapter); tokens.push(token); reader.nextNonEmptyLines(); return true; } } exports.section = section;