Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var readInput = async () => {
- var question = async (query, password = false) => {
- return new Promise((resolve, reject) => {
- var result = ''
- process.stdin.setEncoding('utf8')
- process.stdin.setRawMode(true)
- process.stdout.write(query)
- const onReadable = () => {
- const chunk = process.stdin.read()
- if (chunk !== null) {
- if (chunk === '\n' || chunk === '\r' || chunk === '\u0004') {
- process.stdout.write('\n')
- process.stdin.setRawMode(false)
- process.stdin.removeListener('readable', onReadable)
- resolve(result)
- } else if (chunk === '\u0003') {
- process.stdout.write('\n')
- process.stdin.setRawMode(false)
- process.stdin.removeListener('readable', onReadable)
- reject(new Error('Input interrupted'))
- } else {
- result += chunk
- if (password) {
- process.stdout.write('*')
- } else {
- process.stdout.write(chunk)
- }
- }
- }
- }
- process.stdin.on('readable', onReadable)
- })
- }
- var result = {}
- try {
- result.username = await question('username : ')
- result.password = await question('password : ', true)
- } catch (error) {
- process.stdin.emit('end')
- throw error
- }
- process.stdin.emit('end')
- return result
- }
Add Comment
Please, Sign In to add comment