prompt method

Future<String> prompt({
  1. ResponseChecker? checker,
})

Implementation

Future<String> prompt({ResponseChecker? checker}) {
  var completer = Completer<String>();

  var doAsk;
  doAsk = () {
    Console.adapter.write(message);
    Future(() {
      if (secret) Console.adapter.echoMode = false;
      var response = Console.readLine();
      if (secret) Console.adapter.echoMode = true;
      if (checker != null && response != null && !checker(response)) {
        doAsk();
        return;
      }
      completer.complete(response);
    });
  };

  doAsk();

  return completer.future;
}