UNPKG

poem-tm-cli

Version:

CLI application for the Poem Project

30 lines (28 loc) 746 B
const readline = require('readline'); const hiddenQuestion = query => new Promise((resolve, reject) => { const rl = readline.createInterface({ input: process.stdin, output: process.stdout }); const stdin = process.openStdin(); process.stdin.on('data', char => { char = char + ''; switch (char) { case '\n': case '\r': case '\u0004': stdin.pause(); break; default: process.stdout.clearLine(); readline.cursorTo(process.stdout, 0); process.stdout.write(query + Array(rl.line.length + 1).join('*')); break; } }); rl.question(query, value => { rl.history = rl.history.slice(1); resolve(value); }); }); module.exports = hiddenQuestion;