aboutsummaryrefslogtreecommitdiff
path: root/node_modules/prompts/lib/util/clear.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/prompts/lib/util/clear.js')
-rw-r--r--node_modules/prompts/lib/util/clear.js22
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);
+};