UNPKG

quicksilver-cli

Version:
24 lines (23 loc) 780 B
"use strict"; 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;