1 | "use strict";
|
2 |
|
3 | Object.defineProperty(exports, "__esModule", {
|
4 | value: true
|
5 | });
|
6 | exports.createPromptConfirmLoader = createPromptConfirmLoader;
|
7 | exports.promptInput = exports.limit = void 0;
|
8 |
|
9 | var _inquirer = _interopRequireDefault(require("inquirer"));
|
10 |
|
11 | var _pLimit = _interopRequireDefault(require("p-limit"));
|
12 |
|
13 | var _dataloader = _interopRequireDefault(require("dataloader"));
|
14 |
|
15 | var _chalk = _interopRequireDefault(require("chalk"));
|
16 |
|
17 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
18 |
|
19 | let limit = (0, _pLimit.default)(1);
|
20 |
|
21 | exports.limit = limit;
|
22 | let prefix = `🎁 ${_chalk.default.green("?")}`;
|
23 |
|
24 | function createPromptConfirmLoader(message) {
|
25 | let loader = new _dataloader.default(pkgs => limit(() => (async () => {
|
26 | if (pkgs.length === 1) {
|
27 | let {
|
28 | confirm
|
29 | } = await _inquirer.default.prompt([{
|
30 | type: "confirm",
|
31 | name: "confirm",
|
32 | message,
|
33 | prefix: prefix + " " + pkgs[0].name
|
34 | }]);
|
35 | return [confirm];
|
36 | }
|
37 |
|
38 | let {
|
39 | answers
|
40 | } = await _inquirer.default.prompt([{
|
41 | type: "checkbox",
|
42 | name: "answers",
|
43 | message,
|
44 | choices: pkgs.map(pkg => ({
|
45 | name: pkg.name,
|
46 | checked: true
|
47 | })),
|
48 | prefix
|
49 | }]);
|
50 | return pkgs.map(pkg => {
|
51 | return answers.includes(pkg.name);
|
52 | });
|
53 | })(), {
|
54 | cache: false
|
55 | }));
|
56 | return pkg => loader.load(pkg);
|
57 | }
|
58 |
|
59 | let doPromptInput = async (message, pkg, defaultAnswer) => {
|
60 | let {
|
61 | input
|
62 | } = await _inquirer.default.prompt([{
|
63 | type: "input",
|
64 | name: "input",
|
65 | message,
|
66 | prefix: prefix + " " + pkg.name,
|
67 | default: defaultAnswer
|
68 | }]);
|
69 | return input;
|
70 | };
|
71 |
|
72 | let promptInput = (message, pkg, defaultAnswer) => limit(() => doPromptInput(message, pkg, defaultAnswer));
|
73 |
|
74 | exports.promptInput = promptInput; |
\ | No newline at end of file |