arafatamim / deferred_type

Modeling asynchronous data made easy in Dart

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

deferred_type for Dart

Pub Version deferred_type Pub Version deferred_type_flutter
GitHub

Modeling asynchronous data in Dart made easy.

Examples

final Deferred<String> idle = Deferred.idle();
final Deferred<String> inProgress = Deferred.inProgress();
final Deferred<String> success = Deferred.success('DATA!');
final Deferred<String> error = Deferred.error('ERROR!');

Flutter

Package deferred_type_flutter contains FutureBuilder2, an alternative "FutureBuilder" which is simpler to use than the bundled one provided by default in Flutter.

import "package:deferred_type_flutter/deferred_type_flutter.dart";

final futureBuilder = FutureBuilder2<String>(
  future: someFuture,
  builder: (context, state) => state.maybeWhen<Widget>(
    inProgress: () => const CircularProgressIndicator(),
    success: (data) => SomeWidget(data),
    error: (error, _stacktrace) => SomeErrorWidget(error),
    // handle fallback cases, must be provided
    // if all states are not handled.
    orElse: () => const FallbackWidget(),
  );
);

API Reference

Detailed API documentation can be found on pub.dev.

Other resources

License

This project is MIT licensed.

About

Modeling asynchronous data made easy in Dart

License:MIT License


Languages

Language:Dart 100.0%