react / wstein / node_modules / jest-cli / node_modules / istanbul / node_modules / js-yaml / node_modules / argparse / lib / argument / group.js
80728 views/** internal1* class ArgumentGroup2*3* Group arguments.4* By default, ArgumentParser groups command-line arguments5* into “positional arguments” and “optional arguments”6* when displaying help messages. When there is a better7* conceptual grouping of arguments than this default one,8* appropriate groups can be created using the addArgumentGroup() method9*10* This class inherited from [[ArgumentContainer]]11**/12'use strict';1314var util = require('util');1516var ActionContainer = require('../action_container');171819/**20* new ArgumentGroup(container, options)21* - container (object): main container22* - options (object): hash of group options23*24* #### options25* - **prefixChars** group name prefix26* - **argumentDefault** default argument value27* - **title** group title28* - **description** group description29*30**/31var ArgumentGroup = module.exports = function ArgumentGroup(container, options) {3233options = options || {};3435// add any missing keyword arguments by checking the container36options.conflictHandler = (options.conflictHandler || container.conflictHandler);37options.prefixChars = (options.prefixChars || container.prefixChars);38options.argumentDefault = (options.argumentDefault || container.argumentDefault);3940ActionContainer.call(this, options);4142// group attributes43this.title = options.title;44this._groupActions = [];4546// share most attributes with the container47this._container = container;48this._registries = container._registries;49this._actions = container._actions;50this._optionStringActions = container._optionStringActions;51this._defaults = container._defaults;52this._hasNegativeNumberOptionals = container._hasNegativeNumberOptionals;53this._mutuallyExclusiveGroups = container._mutuallyExclusiveGroups;54};55util.inherits(ArgumentGroup, ActionContainer);565758ArgumentGroup.prototype._addAction = function (action) {59// Parent add action60action = ActionContainer.prototype._addAction.call(this, action);61this._groupActions.push(action);62return action;63};646566ArgumentGroup.prototype._removeAction = function (action) {67// Parent remove action68ActionContainer.prototype._removeAction.call(this, action);69var actionIndex = this._groupActions.indexOf(action);70if (actionIndex >= 0) {71this._groupActions.splice(actionIndex, 1);72}73};74757677