-
Notifications
You must be signed in to change notification settings - Fork 1
/
index.js
34 lines (28 loc) · 850 Bytes
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
var inquirer = require('inquirer-bluebird');
var clone = require('clone');
var prompt = inquirer.prompt;
inquirer.prompt = function(_params, cb) {
if (!Array.isArray(_params) && (typeof _params.choices === 'object') && !Array.isArray(_params.choices)) {
var params = clone(_params);
params.name = 'x';
var choices = params.choices;
params.choices = Object.keys(choices).map(function(key) {
var val = choices[key];
if (key === '_____') {
return (new inquirer.Separator(val));
} else {
return {
name: key,
value: key
};
}
});
return prompt(params, cb).then(function(answers) {
var res = choices[answers.x];
return typeof res === 'function' ? res() : res;
});
} else {
return prompt(_params, cb);
}
};
module.exports = inquirer;