33 lines
1.1 KiB
Dart
33 lines
1.1 KiB
Dart
import 'dart:io';
|
|
|
|
import 'package:dart/constants.dart';
|
|
import 'package:libac_dart/argparse/Args.dart';
|
|
import 'package:libac_dart/argparse/Builder.dart';
|
|
import 'package:libac_dart/argparse/CLIHelper.dart';
|
|
import 'package:libac_dart/argparse/types/Bool.dart';
|
|
import 'package:libac_dart/argparse/types/String.dart';
|
|
import 'package:libac_dart/utils/DBIKC.dart';
|
|
|
|
Future<int> main(List<String> args) async {
|
|
Arguments defaults = ArgumentsBuilder.builder()
|
|
.withArgument(StringArgument(
|
|
name: "value", value: "", description: "Text to encode/decode"))
|
|
.withArgument(BoolArgument(name: "help", description: "This help text"))
|
|
.build();
|
|
|
|
var helpText = CLIHelper.makeArgCLIHelp(defaults);
|
|
var HEADER =
|
|
"Double Breasted Interrupted Key Cipher\nVersion: ${HelperConsts.DBIKC_VERSION}\n\n";
|
|
|
|
Arguments parsed = await CLIHelper.parseArgs(args, Arguments());
|
|
if (parsed.hasArg("help") || !parsed.hasArg("value")) {
|
|
print("$HEADER$helpText");
|
|
exit(0);
|
|
return 0;
|
|
} else {
|
|
print(DoubleBreastedInterruptedKeyCipher.encode(
|
|
parsed.getArg("value")!.getValue()));
|
|
}
|
|
|
|
return 0;
|
|
}
|