3 const utils = require('./utils');
5 default(prompt, choice) {
8 checkbox(prompt, choice) {
9 throw new Error('checkbox role is not implemented yet');
11 editable(prompt, choice) {
12 throw new Error('editable role is not implemented yet');
14 expandable(prompt, choice) {
15 throw new Error('expandable role is not implemented yet');
17 heading(prompt, choice) {
19 choice.indicator = [choice.indicator, ' '].find(v => v != null);
20 choice.message = choice.message || '';
23 input(prompt, choice) {
24 throw new Error('input role is not implemented yet');
26 option(prompt, choice) {
27 return roles.default(prompt, choice);
29 radio(prompt, choice) {
30 throw new Error('radio role is not implemented yet');
32 separator(prompt, choice) {
34 choice.indicator = [choice.indicator, ' '].find(v => v != null);
35 choice.message = choice.message || prompt.symbols.line.repeat(5);
38 spacer(prompt, choice) {
43 module.exports = (name, options = {}) => {
44 let role = utils.merge({}, roles, options.roles);
45 return role[name] || role.default;