select9<SubState1, SubState2, SubState3, SubState4, SubState5, SubState6, SubState7, SubState8, SubState9, Result> method

StateStream<Result> select9<SubState1, SubState2, SubState3, SubState4, SubState5, SubState6, SubState7, SubState8, SubState9, Result>(
  1. Selector<State, SubState1> selector1,
  2. Selector<State, SubState2> selector2,
  3. Selector<State, SubState3> selector3,
  4. Selector<State, SubState4> selector4,
  5. Selector<State, SubState5> selector5,
  6. Selector<State, SubState6> selector6,
  7. Selector<State, SubState7> selector7,
  8. Selector<State, SubState8> selector8,
  9. Selector<State, SubState9> selector9,
  10. Result projector(
    1. SubState1 subState1,
    2. SubState2 subState2,
    3. SubState3 subState3,
    4. SubState4 subState4,
    5. SubState5 subState5,
    6. SubState6 subState6,
    7. SubState7 subState7,
    8. SubState8 subState8,
    9. SubState9 subState9,
    ), {
  11. Equality<SubState1>? equals1,
  12. Equality<SubState2>? equals2,
  13. Equality<SubState3>? equals3,
  14. Equality<SubState4>? equals4,
  15. Equality<SubState5>? equals5,
  16. Equality<SubState6>? equals6,
  17. Equality<SubState7>? equals7,
  18. Equality<SubState8>? equals8,
  19. Equality<SubState9>? equals9,
  20. Equality<Result>? equals,
})

Select nine sub states and combine them by projector.

The returned Stream is a single-subscription Stream.

Implementation

StateStream<Result> select9<SubState1, SubState2, SubState3, SubState4,
    SubState5, SubState6, SubState7, SubState8, SubState9, Result>(
  Selector<State, SubState1> selector1,
  Selector<State, SubState2> selector2,
  Selector<State, SubState3> selector3,
  Selector<State, SubState4> selector4,
  Selector<State, SubState5> selector5,
  Selector<State, SubState6> selector6,
  Selector<State, SubState7> selector7,
  Selector<State, SubState8> selector8,
  Selector<State, SubState9> selector9,
  Result Function(
    SubState1 subState1,
    SubState2 subState2,
    SubState3 subState3,
    SubState4 subState4,
    SubState5 subState5,
    SubState6 subState6,
    SubState7 subState7,
    SubState8 subState8,
    SubState9 subState9,
  )
      projector, {
  Equality<SubState1>? equals1,
  Equality<SubState2>? equals2,
  Equality<SubState3>? equals3,
  Equality<SubState4>? equals4,
  Equality<SubState5>? equals5,
  Equality<SubState6>? equals6,
  Equality<SubState7>? equals7,
  Equality<SubState8>? equals8,
  Equality<SubState9>? equals9,
  Equality<Result>? equals,
}) {
  return selectMany<Object?, Result>(
    [
      selector1,
      selector2,
      selector3,
      selector4,
      selector5,
      selector6,
      selector7,
      selector8,
      selector9,
    ],
    [
      _castToDynamicParams<SubState1>(equals1),
      _castToDynamicParams<SubState2>(equals2),
      _castToDynamicParams<SubState3>(equals3),
      _castToDynamicParams<SubState4>(equals4),
      _castToDynamicParams<SubState5>(equals5),
      _castToDynamicParams<SubState6>(equals6),
      _castToDynamicParams<SubState7>(equals7),
      _castToDynamicParams<SubState8>(equals8),
      _castToDynamicParams<SubState9>(equals9),
    ],
    (subStates) => projector(
      subStates[0] as SubState1,
      subStates[1] as SubState2,
      subStates[2] as SubState3,
      subStates[3] as SubState4,
      subStates[4] as SubState5,
      subStates[5] as SubState6,
      subStates[6] as SubState7,
      subStates[7] as SubState8,
      subStates[8] as SubState9,
    ),
    equals: equals,
  );
}