UNPKG

ecmarkup

Version:

Custom element definitions and core utilities for markup that specifies ECMAScript and related technologies.

36 lines (35 loc) 1.1 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.printText = void 0; const line_builder_1 = require("./line-builder"); function printText(text, indent) { const output = new line_builder_1.LineBuilder(indent); if (text === '') { return output; } const leadingSpace = text[0] === ' ' || text[0] === '\t'; const trailingSpace = text[text.length - 1] === ' ' || text[text.length - 1] === '\t'; const lines = text.split('\n').map(l => l.trim()); if (leadingSpace) { output.appendText(' '); } if (lines.length === 1) { if (lines[0] !== '') { output.appendText(lines[0]); if (trailingSpace) { output.appendText(' '); } } return output; } for (let i = 0; i < lines.length - 1; ++i) { output.appendText(lines[i]); output.linebreak(); } output.appendText(lines[lines.length - 1]); if (trailingSpace && output.last !== '') { output.appendText(' '); } return output; } exports.printText = printText;