You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
16 lines
424 B
16 lines
424 B
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;
|
|
|