toBuild method

Widget toBuild({
  1. required Widget onSuccess(
    1. T? data
    ),
  2. required Widget loadingWidget,
  3. required Widget notFoundWidget,
  4. required Widget onError,
  5. T? data,
})

It will create your future request on widget tree by using future builder.

Implementation

Widget toBuild({
  required Widget Function(T? data) onSuccess,
  required Widget loadingWidget,
  required Widget notFoundWidget,
  required Widget onError,
  T? data,
}) {
  return FutureBuilder<T>(
    future: this,
    initialData: data,
    builder: (BuildContext context, AsyncSnapshot<T> snapshot) {
      switch (snapshot.connectionState) {
        case ConnectionState.waiting:
        case ConnectionState.active:
          return loadingWidget;
        case ConnectionState.done:
          if (snapshot.hasData) return onSuccess(snapshot.data);
          return onError;

        case ConnectionState.none:
          return notFoundWidget;
      }
    },
  );
}