askOptionsWithInput static method
Implementation
static String askOptionsWithInput(
String title,
List<Map<String, dynamic>> options,
) {
printBold(title);
for (var i = 0; i < options.length; i++) {
printText('${options[i]['value']}. ${options[i]['label']}');
}
stdout.write('\nYour choice ? ');
String input = stdin.readLineSync() ?? '';
List<String> availableOptions =
options.map((e) => e['value'].toString()).toList();
if (availableOptions.contains(input) == false) {
askOptionsWithInput(title, options);
}
for (var i = 0; i < options.length; i++) {
if (options[i]['value'] == input) {
options[i]['action']();
break;
}
}
return input;
}