@hyperlane-xyz/core
Version:
Core solidity contracts for Hyperlane
17 lines (14 loc) • 422 B
JavaScript
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;