diff options
Diffstat (limited to 'node_modules/prompts/lib/util/clear.js')
-rw-r--r-- | node_modules/prompts/lib/util/clear.js | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/node_modules/prompts/lib/util/clear.js b/node_modules/prompts/lib/util/clear.js new file mode 100644 index 0000000..e4772d5 --- /dev/null +++ b/node_modules/prompts/lib/util/clear.js @@ -0,0 +1,22 @@ +'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); +}; |