flatFuture<A, B, C> function

Widget flatFuture<A, B, C>(
  1. BuildContext context, {
  2. FutureOr<A?> a,
  3. FutureOr<B?> b,
  4. FutureOr<C?> c,
  5. String? observerName,
  6. String? debugName,
  7. bool sliver = false,
  8. required Widget builder(
    1. BuildContext context, [
    2. A? a,
    3. B? b,
    4. C? c,
    ]),
  9. Widget errorBuilder(
    1. BuildContext context,
    2. dynamic error
    )?,
  10. Widget spinner(
    1. BuildContext context
    )?,
})

Shorthand for FutureBuilder - waits for multiple futures

Implementation

Widget flatFuture<A, B, C>(BuildContext context,
    {FutureOr<A?> a,
    FutureOr<B?> b,
    FutureOr<C?> c,
    String? observerName,
    String? debugName,
    bool sliver = false,
    required Widget builder(BuildContext context, [A? a, B? b, C? c]),
    Widget errorBuilder(BuildContext context, error)?,
    Widget spinner(BuildContext context)?}) {
  return futures<dynamic>(
    context,
    debugName: debugName,
    waitFor: [a, b, c],
    sliver: sliver,
    observerName: observerName,
    builder: (context, resolved) {
      _log.finer(
          "futures: of ${uncapitalize(resolved?.runtimeType.toString() ?? "null")} changed");
      return builder(context, resolved!.tryGet(0) as A?,
          resolved.tryGet(1) as B?, resolved.tryGet(2) as C?);
    },
    errorBuilder: errorBuilder,
    spinner: spinner,
  );
}