runSpinnerTask<T> function

Future<T> runSpinnerTask<T>({
  1. required String message,
  2. required Future<T> task(),
  3. Spinner spinner = Spinners.miniDot,
  4. required Terminal terminal,
  5. ProgramOptions? options,
})

Runs an animated spinner while executing task, returning its result.

Implementation

Future<T> runSpinnerTask<T>({
  required String message,
  required Future<T> Function() task,
  Spinner spinner = Spinners.miniDot,
  required Terminal terminal,
  ProgramOptions? options,
}) async {
  final controller = _PromptController<T>();
  final program = Program(
    _SpinnerTaskModel<T>(
      message: message,
      task: task,
      spinner: spinner,
      controller: controller,
    ),
    options: options ?? promptProgramOptions,
    terminal: terminal,
  );
  await program.run();
  return await controller.future;
}