.gitignore added
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-prettier / node_modules / enquirer / lib / roles.js
1 'use strict';
2
3 const utils = require('./utils');
4 const roles = {
5   default(prompt, choice) {
6     return choice;
7   },
8   checkbox(prompt, choice) {
9     throw new Error('checkbox role is not implemented yet');
10   },
11   editable(prompt, choice) {
12     throw new Error('editable role is not implemented yet');
13   },
14   expandable(prompt, choice) {
15     throw new Error('expandable role is not implemented yet');
16   },
17   heading(prompt, choice) {
18     choice.disabled = '';
19     choice.indicator = [choice.indicator, ' '].find(v => v != null);
20     choice.message = choice.message || '';
21     return choice;
22   },
23   input(prompt, choice) {
24     throw new Error('input role is not implemented yet');
25   },
26   option(prompt, choice) {
27     return roles.default(prompt, choice);
28   },
29   radio(prompt, choice) {
30     throw new Error('radio role is not implemented yet');
31   },
32   separator(prompt, choice) {
33     choice.disabled = '';
34     choice.indicator = [choice.indicator, ' '].find(v => v != null);
35     choice.message = choice.message || prompt.symbols.line.repeat(5);
36     return choice;
37   },
38   spacer(prompt, choice) {
39     return choice;
40   }
41 };
42
43 module.exports = (name, options = {}) => {
44   let role = utils.merge({}, roles, options.roles);
45   return role[name] || role.default;
46 };