futurize method

void futurize(
  1. Future<T> body(), {
  2. T? initialData,
  3. String? errorMessage,
  4. bool useEmpty = true,
})

Implementation

void futurize(
  Future<T> Function() body, {
  T? initialData,
  String? errorMessage,
  bool useEmpty = true,
}) {
  final compute = body;
  _value ??= initialData;
  status = GetStatus<T>.loading();
  compute().then(
    (newValue) {
      if ((newValue == null || newValue._isEmpty()) && useEmpty) {
        status = GetStatus<T>.empty();
      } else {
        status = GetStatus<T>.success(newValue);
      }

      refresh();
    },
    onError: (err) {
      status = GetStatus.error(
        err is Exception ? err : Exception(errorMessage ?? err.toString()),
      );
      refresh();
    },
  );
}