quicksilver-cli
Version:
Cli tool for Quicksilver
24 lines (23 loc) • 780 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const validator_1 = require("./validator");
const question_1 = require("./question");
const colors = require("colors");
async function prompt(info) {
let result = info.value;
for (let i = 0;; i++) {
const all = info.validators.map(validator => validator_1.validate(validator, result));
try {
await Promise.all(all);
break;
}
catch (e) {
if (i > 0 || i == 0 && info.value != null) {
console.warn(colors.yellow.bold(e.toString()));
}
result = await question_1.question(info.question, info.defaultValue);
}
}
return result;
}
exports.prompt = prompt;