combine4<A, B, C, D> static method

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

Implementation

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