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.
22 lines
489 B
22 lines
489 B
'use strict'; |
|
|
|
const strip = require('./strip'); |
|
const { erase, cursor } = require('sisteransi'); |
|
|
|
const width = str => [...strip(str)].length; |
|
|
|
/** |
|
* @param {string} prompt |
|
* @param {number} perLine |
|
*/ |
|
module.exports = function(prompt, perLine) { |
|
if (!perLine) return erase.line + cursor.to(0); |
|
|
|
let rows = 0; |
|
const lines = prompt.split(/\r?\n/); |
|
for (let line of lines) { |
|
rows += 1 + Math.floor(Math.max(width(line) - 1, 0) / perLine); |
|
} |
|
|
|
return erase.lines(rows); |
|
};
|
|
|