| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 | 
							- 'use strict';
 
- const
 
-     CoaParam = require('./coaparam'),
 
-     chalk = require('chalk');
 
- /**
 
-  * Argument
 
-  *
 
-  * Unnamed entity. From command line arguments passed as list of unnamed values.
 
-  *
 
-  * @class Arg
 
-  * @extends CoaParam
 
-  */
 
- module.exports = class Arg extends CoaParam {
 
-     /**
 
-      * @constructs
 
-      * @param {COA.Cmd} cmd - parent command
 
-      */
 
-     constructor(cmd) {
 
-         super(cmd);
 
-         this._cmd._args.push(this);
 
-     }
 
-     _saveVal(args, val) {
 
-         this._val && (val = this._val(val));
 
-         const name = this._name;
 
-         this._arr
 
-             ? (args[name] || (args[name] = [])).push(val)
 
-             : (args[name] = val);
 
-         return val;
 
-     }
 
-     _parse(arg, args) {
 
-         return this._saveVal(args, arg);
 
-     }
 
-     _checkParsed(opts, args) {
 
-         return !args.hasOwnProperty(this._name);
 
-     }
 
-     _usage() {
 
-         const res = [];
 
-         res.push(chalk.magentaBright(this._name.toUpperCase()), ' : ', this._title);
 
-         this._req && res.push(' ', chalk.redBright('(required)'));
 
-         return res.join('');
 
-     }
 
-     _requiredText() {
 
-         return `Missing required argument:\n  ${this._usage()}`;
 
-     }
 
- };
 
 
  |