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
422 B
16 lines
422 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;
|
|
|