| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 | 
							- /** internal
 
-  * class MutuallyExclusiveGroup
 
-  *
 
-  * Group arguments.
 
-  * By default, ArgumentParser groups command-line arguments
 
-  * into “positional arguments” and “optional arguments”
 
-  * when displaying help messages. When there is a better
 
-  * conceptual grouping of arguments than this default one,
 
-  * appropriate groups can be created using the addArgumentGroup() method
 
-  *
 
-  * This class inherited from [[ArgumentContainer]]
 
-  **/
 
- 'use strict';
 
- var util = require('util');
 
- var ArgumentGroup = require('./group');
 
- /**
 
-  * new MutuallyExclusiveGroup(container, options)
 
-  * - container (object): main container
 
-  * - options (object): options.required -> true/false
 
-  *
 
-  * `required` could be an argument itself, but making it a property of
 
-  * the options argument is more consistent with the JS adaptation of the Python)
 
-  **/
 
- var MutuallyExclusiveGroup = module.exports = function MutuallyExclusiveGroup(container, options) {
 
-   var required;
 
-   options = options || {};
 
-   required = options.required || false;
 
-   ArgumentGroup.call(this, container);
 
-   this.required = required;
 
- };
 
- util.inherits(MutuallyExclusiveGroup, ArgumentGroup);
 
- MutuallyExclusiveGroup.prototype._addAction = function (action) {
 
-   var msg;
 
-   if (action.required) {
 
-     msg = 'mutually exclusive arguments must be optional';
 
-     throw new Error(msg);
 
-   }
 
-   action = this._container._addAction(action);
 
-   this._groupActions.push(action);
 
-   return action;
 
- };
 
- MutuallyExclusiveGroup.prototype._removeAction = function (action) {
 
-   this._container._removeAction(action);
 
-   this._groupActions.remove(action);
 
- };
 
 
  |