Sha256: b96682367a7451aff801f3541ad28d8f475c509430ab9a2af662cd24b8a121bb
Contents?: true
Size: 921 Bytes
Versions: 47
Compression:
Stored size: 921 Bytes
Contents
'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 */ module.exports = class Choice { constructor(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; } } };
Version data entries
47 entries across 46 versions & 3 rubygems