function formatLines (...lines) { return [...indentEach(0, lines)].join('\n') + '\n'; } function *indentEach (indent, lines) { for (const line of lines) { if (Array.isArray(line)) { yield * indentEach(indent + 1, line); } else { const padding = ' '.repeat(indent); yield * line.split('\n').map(subline => subline === '' ? '' : padding + subline); } } } module.exports = formatLines;