gg_status_printer 1.1.4 copy "gg_status_printer: ^1.1.4" to clipboard
gg_status_printer: ^1.1.4 copied to clipboard

Prints progress, success, and error messages with Unicode icons for async operations.

gg_status_printer #

Description #

GgStatusPrinter is a Dart package designed to enhance user feedback during the execution of asynchronous operations, commonly represented as "promises" in many programming languages. Although Dart uses Future instead of Promise, the concept remains similar. This package aims to simplify the process of notifying users about the status of these asynchronous operations.

Upon initiating an asynchronous operation, it's often beneficial to provide immediate feedback to the user, indicating that the process has begun. GgStatusPrinter tackles this by automatically displaying a temporary message prefixed with a "⌛️" (hourglass) emoji, signifying that the operation is in progress.

Once the operation completes, the package updates the feedback based on the outcome of the operation. If the operation succeeds, it displays a message prefixed with "✅" (check mark), indicating success. Conversely, if the operation encounters an error or fails, the package shows a message prefixed with "❌" (cross mark), signaling failure.

This package streamlines the process of providing real-time, user-friendly feedback for asynchronous operations, enhancing the overall user experience by keeping users informed about the status of background tasks.

Features #

  • Automatic Feedback on Start: Automatically prints a message with "⌛️" to indicate the beginning of an operation.
  • Success Notification: On successful completion of the asynchronous operation, it prints the original message prefixed with "✅".
  • Error Notification: In case of failure, it prints the original message prefixed with "❌".
  • Customizable Messages: Allows customization of the initial, success, and error messages to fit the needs of different applications.
  • Easy Integration: Designed to be easily integrated into existing Dart projects with minimal configuration.

How It Works #

  • Initialization: Import the GgStatusPrinter package into your Dart project.
  • Wrap Asynchronous Operations: Use to wrap any asynchronous operation, providing a message that describes the operation.
  • Automatic Notifications: The package automatically handles the printing of the appropriate message based on the status of the operation without requiring manual intervention.

Example Usage #

import 'package:gg_status_printer/gg_status_printer.dart';

void main() async {
  print('\nPrint all states one the same line');
  // ⌛️✅ Loading data
  await const GgStatusPrinter<void>(
    message: 'Loading data',
    useCarriageReturn: true,
  ).run(() => Future<void>.delayed(const Duration(seconds: 1)));

  print('\nPrint all states on different lines');
  // ⌛️ Loading data
  // ✅ Loading data
  await const GgStatusPrinter<void>(
    message: 'Loading data',
    useCarriageReturn: false,
  ).run(() => Future<void>.delayed(const Duration(seconds: 1)));

  print('\nPrint fail states');
  // ⌛️ Loading data
  // ❌ Loading data

  try {
    await const GgStatusPrinter<void>(
      message: 'Loading data',
      useCarriageReturn: false,
    ).run(
      () => Future<void>.delayed(const Duration(seconds: 1))
          .then((_) => throw Exception('Failed')),
    );
  } catch (_) {}
}

1
likes
160
points
789
downloads

Publisher

verified publisherinlavigo.com

Weekly Downloads

Prints progress, success, and error messages with Unicode icons for async operations.

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

args, gg_is_github, gg_log, path

More

Packages that depend on gg_status_printer