Adds a CLI Argument parser
This commit is contained in:
parent
4ac95f605b
commit
7d045bd49f
8 changed files with 328 additions and 1 deletions
24
lib/argparse/types/Bool.dart
Normal file
24
lib/argparse/types/Bool.dart
Normal file
|
@ -0,0 +1,24 @@
|
|||
import 'package:libac_dart/argparse/Args.dart';
|
||||
|
||||
class BoolArgument extends Argument<bool> {
|
||||
bool _value = false;
|
||||
BoolArgument({required super.name, super.description = ""}) {
|
||||
hasValue = true;
|
||||
_value = true;
|
||||
}
|
||||
|
||||
@override
|
||||
ArgumentType getType() {
|
||||
return ArgumentType.BOOL;
|
||||
}
|
||||
|
||||
@override
|
||||
bool getValue() {
|
||||
return _value;
|
||||
}
|
||||
|
||||
@override
|
||||
String toString() {
|
||||
return "BooleanArgument{ ${name}=${_value} }";
|
||||
}
|
||||
}
|
49
lib/argparse/types/Integers.dart
Normal file
49
lib/argparse/types/Integers.dart
Normal file
|
@ -0,0 +1,49 @@
|
|||
import 'package:libac_dart/argparse/Args.dart';
|
||||
|
||||
class IntegerArgument extends Argument<int> {
|
||||
final int value;
|
||||
|
||||
IntegerArgument(
|
||||
{required super.name, required this.value, super.description = ""}) {
|
||||
hasValue = value != 0;
|
||||
}
|
||||
|
||||
@override
|
||||
int getValue() {
|
||||
return value;
|
||||
}
|
||||
|
||||
@override
|
||||
ArgumentType getType() {
|
||||
return ArgumentType.INTEGER;
|
||||
}
|
||||
|
||||
@override
|
||||
String toString() {
|
||||
return "IntegerArgument{ ${name}=${value} }";
|
||||
}
|
||||
}
|
||||
|
||||
class DoubleArgument extends Argument<double> {
|
||||
final double value;
|
||||
|
||||
DoubleArgument(
|
||||
{required super.name, required this.value, super.description = ""}) {
|
||||
hasValue = value != 0.0;
|
||||
}
|
||||
|
||||
@override
|
||||
ArgumentType getType() {
|
||||
return ArgumentType.DOUBLE;
|
||||
}
|
||||
|
||||
@override
|
||||
double getValue() {
|
||||
return value;
|
||||
}
|
||||
|
||||
@override
|
||||
String toString() {
|
||||
return "DoubleArgument{ ${name}=${value} }";
|
||||
}
|
||||
}
|
24
lib/argparse/types/String.dart
Normal file
24
lib/argparse/types/String.dart
Normal file
|
@ -0,0 +1,24 @@
|
|||
import 'package:libac_dart/argparse/Args.dart';
|
||||
|
||||
class StringArgument extends Argument<String> {
|
||||
final String value;
|
||||
|
||||
StringArgument({required super.name, required this.value}) {
|
||||
hasValue = value.isNotEmpty;
|
||||
}
|
||||
|
||||
@override
|
||||
String getValue() {
|
||||
return value;
|
||||
}
|
||||
|
||||
@override
|
||||
ArgumentType getType() {
|
||||
return ArgumentType.STRING;
|
||||
}
|
||||
|
||||
@override
|
||||
String toString() {
|
||||
return "StringArgument{ ${name}=${value} }";
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue