Toast.completer constructor

Toast.completer({
  1. String? id,
  2. required String message,
  3. required ToastType type,
  4. required ToastAction action,
  5. Duration? duration = const Duration(seconds: 5),
  6. required Completer<bool> completer,
})

Implementation

Toast.completer(
    {String? id,
    required this.message,
    required this.type,
    required ToastAction action,
    Duration? duration = const Duration(seconds: 5),
    required Completer<bool> completer})
    : created = clock.now(),
      expireAt = duration != null ? clock.now().add(duration) : null,
      id = id ?? _generateId(),
      action = ToastAction(
          action: () {
            completer.complete(true);
            action.action();
          },
          actionText: action.actionText),
      onDismiss = (() {
        if (!completer.isCompleted) completer.complete(false);
      });