removeSpecificDependencies method

Future<void> removeSpecificDependencies(
  1. List<String> unusedDependencies
)

Implementation

Future<void> removeSpecificDependencies(
    List<String> unusedDependencies) async {
  print("");
  MsgUtils.showInfo(
      "Select dependencies to remove (comma-separated numbers):");
  print("---------------------------------------");
  unusedDependencies.asMap().forEach((i, dep) {
    MsgUtils.showList("${i + 1}. $dep");
  });
  print("---------------------------------------");

  stdout.write("➢ Your choice: ");
  var input = stdin.readLineSync();
  var indexes = input
          ?.split(',')
          .map(int.tryParse)
          .where((n) => n != null && n > 0 && n <= unusedDependencies.length)
          .toList() ??
      [];

  if (indexes.isEmpty) {
    MsgUtils.showError("No valid dependencies selected. Exiting...");
    return;
  }

  var selectedDeps = indexes.map((i) => unusedDependencies[i! - 1]).toList();
  removeDependencies(selectedDeps, selectedName: selectedDeps.first);
}