Resultify

A Dart package for result-oriented programming, providing a Result<R, E> type with convenient methods for streamlined error handling.

Usage

To use this package, add resultify as a dependency in your pubspec.yaml:

dependencies:
    resultify: <latest-version>

Now you can import the package in your Dart code:

import 'package:resultify/resultify.dart';

Result Type

The Result<R, E> type encapsulates either a successful result (R) or an error (E).

Result<int, String> divide(int a, int b) {
    if (b == 0) return Result.error("Cannot divide by zero");
    return Result.success(a ~/ b);
}

Convinient methods

The package provides convenient methods for working with results:

  • getResultOrDefault: Gets the result or a default value.
  • getErrorOrDefault: Gets the error or a default value.
  • match: Matches the result, invoking callbacks based on success or error.
  • wrap: Executes a function and wraps the result, handling exceptions.

For more examples and detailed usage, please refer to the example directory.

Issues and Contributions

Feel free to report issues or contribute to the project on GitHub.

Libraries

resultify
The resultify library provides a generic Result<R, E> type for result-oriented programming in Dart. It introduces convenient methods for handling success and error outcomes, allowing developers to streamline error management and enhance code clarity. The library is designed to improve the robustness and expressiveness of Dart applications by offering a concise and flexible approach to result handling.