@sap/cds-dk
Version:
Command line client and development toolkit for the SAP Cloud Application Programming Model
51 lines (44 loc) • 1.41 kB
JavaScript
const readline = require('readline');
module.exports = class Question {
static askQuestion(question, defaultValue, hidden = false) {
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
if (defaultValue) {
question += '(' + defaultValue + ') ';
}
return new Promise(resolve => {
rl.question(question, answer => {
answer = answer.replace(/\r?\n|\r/g, '');
if (answer.length === 0 && defaultValue) {
answer = defaultValue;
}
resolve(answer);
rl.close();
});
if (hidden) {
const rla = rl;
rla._writeToOutput = function _writeToOutput() {
rla.output.write('*');
};
}
});
}
static askBooleanQuestion(question) {
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
return new Promise(resolve => {
rl.question(question, answer => {
if (answer === 'y' || answer === 'Y') {
resolve(true);
} else {
resolve(false);
}
rl.close();
});
});
}
}