long-git-cli
Version:
A CLI tool for Git tag management.
63 lines • 1.62 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.confirm = confirm;
exports.input = input;
exports.select = select;
const inquirer_1 = __importDefault(require("inquirer"));
/**
* 通用确认交互
* @param message 提示信息
* @param def 默认值
*/
async function confirm(message, def = true) {
const { result } = await inquirer_1.default.prompt([
{
type: 'confirm',
name: 'result',
message,
default: def
}
]);
return result;
}
/**
* 通用输入交互
* @param message 提示信息
* @param validate 校验函数
*/
async function input(message, validate) {
if (typeof validate !== 'function') {
// inquirer 9.x 某些实现会尝试调用 undefined.apply
// 这里强制传递一个恒为 true 的函数,彻底避免 undefined
validate = () => true;
}
const { result } = await inquirer_1.default.prompt([
{
type: 'input',
name: 'result',
message,
validate
}
]);
return result;
}
/**
* 通用选择交互
* @param message 提示信息
* @param choices 选项
*/
async function select(message, choices) {
const { result } = await inquirer_1.default.prompt([
{
type: 'list',
name: 'result',
message,
choices
}
]);
return result;
}
//# sourceMappingURL=prompt.js.map