Sha256: 4b8c0a743f02af81c7c4b04ec891cff710f7a7a32d979d734af78067d34af8b6
Contents?: true
Size: 1.15 KB
Versions: 26
Compression:
Stored size: 1.15 KB
Contents
'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()}`; } };
Version data entries
26 entries across 25 versions & 8 rubygems