diff options
Diffstat (limited to 'tools/node_modules/eslint/node_modules/inquirer/lib/objects/choice.js')
-rw-r--r-- | tools/node_modules/eslint/node_modules/inquirer/lib/objects/choice.js | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/tools/node_modules/eslint/node_modules/inquirer/lib/objects/choice.js b/tools/node_modules/eslint/node_modules/inquirer/lib/objects/choice.js new file mode 100644 index 0000000000..51affac6dc --- /dev/null +++ b/tools/node_modules/eslint/node_modules/inquirer/lib/objects/choice.js @@ -0,0 +1,35 @@ +'use strict'; +var _ = require('lodash'); + +/** + * Choice object + * Normalize input as choice object + * @constructor + * @param {String|Object} val Choice value. If an object is passed, it should contains + * at least one of `value` or `name` property + */ + +var Choice = module.exports = function (val, answers) { + // Don't process Choice and Separator object + if (val instanceof Choice || val.type === 'separator') { + return val; + } + + if (_.isString(val)) { + this.name = val; + this.value = val; + this.short = val; + } else { + _.extend(this, val, { + name: val.name || val.value, + value: 'value' in val ? val.value : val.name, + short: val.short || val.name || val.value + }); + } + + if (_.isFunction(val.disabled)) { + this.disabled = val.disabled(answers); + } else { + this.disabled = val.disabled; + } +}; |