UNPKG

course-renderer

Version:

Manages CA School Courses file system storage and HTML conversion

40 lines (29 loc) 1.27 kB
import Token from '../Token' import Reader from '../reader' import { question, series, section, HandlerOptionInterface } from '../handlers' export function text(reader: Reader, tokens: Token[], silent: boolean, options: HandlerOptionInterface): boolean { const start = reader.currentLine while(!reader.isEnd()) { if (question(reader, tokens, true, options) || series(reader, tokens, true, options) || section(reader, tokens, true, options)) break reader.nextLine() } reader.currentLine-- const label = reader.getLines(start, reader.currentLine) if (label) { const token = new Token('text') token.setContent(label) token.setChapter(options.chapter) const lastToken = tokens[tokens.length - 1] if (options.sectionMode && options.replMode) { const sectionTokChildren = tokens[tokens.length - 1].children const replTok = sectionTokChildren[sectionTokChildren.length - 1] replTok.addChild(token) } else if (options.sectionMode && !options.replMode) { tokens[tokens.length - 1].addChild(token) } else { tokens.push(token) } } reader.nextNonEmptyLines() return true }