UNPKG

very-small-parser

Version:

A very small Markdown, HTML, and CSS parser.

35 lines (34 loc) 995 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.MdInlineParser = void 0; const Parser_1 = require("../../Parser"); class MdInlineParser extends Parser_1.Parser { // biome-ignore lint: keep constructor for typing constructor(opts) { super(opts); } parse(src) { const tokens = super.parse(src); // Merge adjacent text tokens. const merged = []; const length = tokens.length; let text; for (let i = 0; i < length; i++) { const tok = tokens[i]; if (tok.type === 'text') { if (text) { text.value += tok.value; text.len += tok.len; } else merged.push((text = tok)); } else { merged.push(tok); text = void 0; } } return merged; } } exports.MdInlineParser = MdInlineParser;