Actualizacion maquina principal
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-prettier / node_modules / inquirer / lib / objects / choice.js
diff --git a/.config/coc/extensions/node_modules/coc-prettier/node_modules/inquirer/lib/objects/choice.js b/.config/coc/extensions/node_modules/coc-prettier/node_modules/inquirer/lib/objects/choice.js
new file mode 100644 (file)
index 0000000..107f578
--- /dev/null
@@ -0,0 +1,43 @@
+'use strict';
+var _ = {
+  isString: require('lodash/isString'),
+  isNumber: require('lodash/isNumber'),
+  extend: require('lodash/extend'),
+  isFunction: require('lodash/isFunction'),
+};
+
+/**
+ * Choice object
+ * Normalize input as choice object
+ * @constructor
+ * @param {Number|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') {
+      // eslint-disable-next-line no-constructor-return
+      return val;
+    }
+
+    if (_.isString(val) || _.isNumber(val)) {
+      this.name = String(val);
+      this.value = val;
+      this.short = String(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;
+    }
+  }
+};