combine3<A, B, C> static method

AsyncBuilder combine3<A, B, C>(
  1. Future<A> snapshot1,
  2. Future<B> snapshot2,
  3. Future<C> snapshot3, {
  4. required Widget onData(
    1. BuildContext context,
    2. A data1,
    3. B data2,
    4. C data3,
    ),
  5. Widget builder(
    1. BuildContext context,
    2. Widget child,
    3. A? data1,
    4. B? data2,
    5. C? data3,
    )?,
  6. ErrorBuilder? onError,
  7. WidgetBuilder? onLoading,
  8. WidgetBuilder? orElse,
})

Implementation

static AsyncBuilder combine3<A, B, C>(
  Future<A> snapshot1,
  Future<B> snapshot2,
  Future<C> snapshot3, {
  required Widget Function(BuildContext context, A data1, B data2, C data3)
      onData,
  Widget Function(
          BuildContext context, Widget child, A? data1, B? data2, C? data3)?
      builder,
  ErrorBuilder? onError,
  WidgetBuilder? onLoading,
  WidgetBuilder? orElse,
}) =>
    AsyncBuilder._(
      snapshots: [snapshot1, snapshot2, snapshot3],
      onData: (context, data) =>
          onData(context, data[0] as A, data[1] as B, data[2] as C),
      builder: (context, child, data) => builder != null
          ? builder.call(
              context, child, data[0] as A?, data[1] as B?, data[2] as C?)
          : child,
      onError: onError,
      onLoading: onLoading,
      orElse: orElse,
    );