Index: node_modules/vulcanize/node_modules/update-notifier/node_modules/configstore/node_modules/js-yaml/node_modules/argparse/lib/action.js |
diff --git a/node_modules/vulcanize/node_modules/update-notifier/node_modules/configstore/node_modules/js-yaml/node_modules/argparse/lib/action.js b/node_modules/vulcanize/node_modules/update-notifier/node_modules/configstore/node_modules/js-yaml/node_modules/argparse/lib/action.js |
new file mode 100644 |
index 0000000000000000000000000000000000000000..6f7e9a56ccc6672c7449bf5a3ba49e0ad7b83adf |
--- /dev/null |
+++ b/node_modules/vulcanize/node_modules/update-notifier/node_modules/configstore/node_modules/js-yaml/node_modules/argparse/lib/action.js |
@@ -0,0 +1,146 @@ |
+/** |
+ * class Action |
+ * |
+ * Base class for all actions |
+ * Do not call in your code, use this class only for inherits your own action |
+ * |
+ * Information about how to convert command line strings to Javascript objects. |
+ * Action objects are used by an ArgumentParser to represent the information |
+ * needed to parse a single argument from one or more strings from the command |
+ * line. The keyword arguments to the Action constructor are also all attributes |
+ * of Action instances. |
+ * |
+ * #####Alowed keywords: |
+ * |
+ * - `store` |
+ * - `storeConstant` |
+ * - `storeTrue` |
+ * - `storeFalse` |
+ * - `append` |
+ * - `appendConstant` |
+ * - `count` |
+ * - `help` |
+ * - `version` |
+ * |
+ * Information about action options see [[Action.new]] |
+ * |
+ * See also [original guide](http://docs.python.org/dev/library/argparse.html#action) |
+ * |
+ **/ |
+ |
+'use strict'; |
+ |
+ |
+// Constants |
+var $$ = require('./const'); |
+ |
+ |
+/** |
+ * new Action(options) |
+ * |
+ * Base class for all actions. Used only for inherits |
+ * |
+ * |
+ * ##### Options: |
+ * |
+ * - `optionStrings` A list of command-line option strings for the action. |
+ * - `dest` Attribute to hold the created object(s) |
+ * - `nargs` The number of command-line arguments that should be consumed. |
+ * By default, one argument will be consumed and a single value will be |
+ * produced. |
+ * - `constant` Default value for an action with no value. |
+ * - `defaultValue` The value to be produced if the option is not specified. |
+ * - `type` Cast to 'string'|'int'|'float'|'complex'|function (string). If |
+ * None, 'string'. |
+ * - `choices` The choices available. |
+ * - `required` True if the action must always be specified at the command |
+ * line. |
+ * - `help` The help describing the argument. |
+ * - `metavar` The name to be used for the option's argument with the help |
+ * string. If None, the 'dest' value will be used as the name. |
+ * |
+ * ##### nargs supported values: |
+ * |
+ * - `N` (an integer) consumes N arguments (and produces a list) |
+ * - `?` consumes zero or one arguments |
+ * - `*` consumes zero or more arguments (and produces a list) |
+ * - `+` consumes one or more arguments (and produces a list) |
+ * |
+ * Note: that the difference between the default and nargs=1 is that with the |
+ * default, a single value will be produced, while with nargs=1, a list |
+ * containing a single value will be produced. |
+ **/ |
+var Action = module.exports = function Action(options) { |
+ options = options || {}; |
+ this.optionStrings = options.optionStrings || []; |
+ this.dest = options.dest; |
+ this.nargs = options.nargs !== undefined ? options.nargs : null; |
+ this.constant = options.constant !== undefined ? options.constant : null; |
+ this.defaultValue = options.defaultValue; |
+ this.type = options.type !== undefined ? options.type : null; |
+ this.choices = options.choices !== undefined ? options.choices : null; |
+ this.required = options.required !== undefined ? options.required: false; |
+ this.help = options.help !== undefined ? options.help : null; |
+ this.metavar = options.metavar !== undefined ? options.metavar : null; |
+ |
+ if (!(this.optionStrings instanceof Array)) { |
+ throw new Error('optionStrings should be an array'); |
+ } |
+ if (this.required !== undefined && typeof(this.required) !== 'boolean') { |
+ throw new Error('required should be a boolean'); |
+ } |
+}; |
+ |
+/** |
+ * Action#getName -> String |
+ * |
+ * Tells action name |
+ **/ |
+Action.prototype.getName = function () { |
+ if (this.optionStrings.length > 0) { |
+ return this.optionStrings.join('/'); |
+ } else if (this.metavar !== null && this.metavar !== $$.SUPPRESS) { |
+ return this.metavar; |
+ } else if (this.dest !== undefined && this.dest !== $$.SUPPRESS) { |
+ return this.dest; |
+ } |
+ return null; |
+}; |
+ |
+/** |
+ * Action#isOptional -> Boolean |
+ * |
+ * Return true if optional |
+ **/ |
+Action.prototype.isOptional = function () { |
+ return !this.isPositional(); |
+}; |
+ |
+/** |
+ * Action#isPositional -> Boolean |
+ * |
+ * Return true if positional |
+ **/ |
+Action.prototype.isPositional = function () { |
+ return (this.optionStrings.length === 0); |
+}; |
+ |
+/** |
+ * Action#call(parser, namespace, values, optionString) -> Void |
+ * - parser (ArgumentParser): current parser |
+ * - namespace (Namespace): namespace for output data |
+ * - values (Array): parsed values |
+ * - optionString (Array): input option string(not parsed) |
+ * |
+ * Call the action. Should be implemented in inherited classes |
+ * |
+ * ##### Example |
+ * |
+ * ActionCount.prototype.call = function (parser, namespace, values, optionString) { |
+ * namespace.set(this.dest, (namespace[this.dest] || 0) + 1); |
+ * }; |
+ * |
+ **/ |
+Action.prototype.call = function () { |
+ throw new Error('.call() not defined');// Not Implemented error |
+}; |