toArgumentsList method
Converts this instances to a String
line.
The inverse of parse.
Implementation
List<String> toArgumentsList(
{bool abbreviateFlags = true, bool abbreviateParameters = false}) {
var arguments = <String>[];
var keysAbbreviations = abbreviateFlags || abbreviateParameters
? this.keysAbbreviations
: abbreviations;
for (var f in flags) {
if (abbreviateFlags) {
var abbrev = keysAbbreviations[f];
if (abbrev != null) {
f = abbrev;
}
}
arguments.add('-$f');
}
for (var e in parameters.entries) {
var k = e.key;
if (abbreviateParameters) {
var abbrev = keysAbbreviations[k];
if (abbrev != null) {
k = abbrev;
}
}
var v = e.value;
if (v is Iterable) {
for (var val in v) {
arguments.add('--$k');
arguments.add('$val');
}
} else {
arguments.add('--$k');
arguments.add('$v');
}
}
return arguments;
}