show method

void show(
  1. String message, {
  2. ComToastConfig? config,
  3. bool skipDuplicateFilter = false,
})

Implementation

void show(
  String message, {
  ComToastConfig? config,
  bool skipDuplicateFilter = false,
}) {
  final finalConfig = _mergeConfigs(config);
  finalConfig.validate();

  if (message.trim().isEmpty && finalConfig.type != ComToastType.custom) {
    return;
  }
  if (finalConfig.type == ComToastType.custom &&
      finalConfig.builder == null) {
    return;
  }

  if (!skipDuplicateFilter) {
    final duplicateKey = _ToastDuplicateKey(
      message: message,
      type: finalConfig.type,
      presentation: finalConfig.presentation,
      variant: finalConfig.type == ComToastType.custom
          ? finalConfig.builder
          : null,
    );
    if (_isDuplicate(duplicateKey)) {
      return;
    }
  }

  if (_isBannerConfig(finalConfig)) {
    _enqueueBanner(message, finalConfig, null);
    return;
  }

  if (_overlayManager.isToastShowing) {
    _dismissCurrentToastImmediately();
  }

  _showToast(message, finalConfig);
}