@sap/cds-dk
Version:
Command line client and development toolkit for the SAP Cloud Application Programming Model
32 lines (25 loc) • 792 B
JavaScript
const readline = require('node:readline')
async function ask4(...args) {
// If not in interactive mode, read all input at once.
if (!process.stdin.isTTY) {
const data = await new Promise(resolve => {
let result = ''
process.stdin.on('data', chunk => result += chunk)
process.stdin.on('end', () => resolve(result))
})
return data.split(/\r?\n/).slice(0, args.length)
}
const answers = []
const rl = readline.createInterface({ input: process.stdin, output: process.stdout })
const askQuestion = question =>
new Promise(resolve => rl.question(question, answer => {
answers.push(answer)
resolve()
}))
for (const question of args) {
await askQuestion(question)
}
rl.close()
return answers
}
module.exports = { ask4 }