| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 | 'use strict';const utils = require('./utils');const roles = {  default(prompt, choice) {    return choice;  },  checkbox(prompt, choice) {    throw new Error('checkbox role is not implemented yet');  },  editable(prompt, choice) {    throw new Error('editable role is not implemented yet');  },  expandable(prompt, choice) {    throw new Error('expandable role is not implemented yet');  },  heading(prompt, choice) {    choice.disabled = '';    choice.indicator = [choice.indicator, ' '].find(v => v != null);    choice.message = choice.message || '';    return choice;  },  input(prompt, choice) {    throw new Error('input role is not implemented yet');  },  option(prompt, choice) {    return roles.default(prompt, choice);  },  radio(prompt, choice) {    throw new Error('radio role is not implemented yet');  },  separator(prompt, choice) {    choice.disabled = '';    choice.indicator = [choice.indicator, ' '].find(v => v != null);    choice.message = choice.message || prompt.symbols.line.repeat(5);    return choice;  },  spacer(prompt, choice) {    return choice;  }};module.exports = (name, options = {}) => {  let role = utils.merge({}, roles, options.roles);  return role[name] || role.default;};
 |