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

AsyncValueBuilder combine4<A, B, C, D>(
  1. AsyncValue<A> asyncValue1,
  2. AsyncValue<B> asyncValue2,
  3. AsyncValue<C> asyncValue3,
  4. AsyncValue<D> asyncValue4, {
  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 AsyncValueBuilder combine4<A, B, C, D>(
  AsyncValue<A> asyncValue1,
  AsyncValue<B> asyncValue2,
  AsyncValue<C> asyncValue3,
  AsyncValue<D> asyncValue4, {
  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,
}) =>
    AsyncValueBuilder._(
      asyncValues: [asyncValue1, asyncValue2, asyncValue3, asyncValue4],
      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,
    );