vue hello world项目
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

46 lines
1.2 KiB

'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;
};