createSelector5<S, R1, R2, R3, R4, R5, T> function Null safety

Selector<S, T> createSelector5<S, R1, R2, R3, R4, R5, T>(
  1. Selector<S, R1> selector1,
  2. Selector<S, R2> selector2,
  3. Selector<S, R3> selector3,
  4. Selector<S, R4> selector4,
  5. Selector<S, R5> selector5,
  6. T mapFn(
    1. R1,
    2. R2,
    3. R3,
    4. R4,
    5. R5,
    6. dynamic
    )
)

Create a selector composed from five other selectors.

Creates a memoized selector. The result of the function will only be recomputed when one of the composed selectors returns a new value.

Implementation

Selector<S, T> createSelector5<S, R1, R2, R3, R4, R5, T>(
  Selector<S, R1> selector1,
  Selector<S, R2> selector2,
  Selector<S, R3> selector3,
  Selector<S, R4> selector4,
  Selector<S, R5> selector5,
  T Function(R1, R2, R3, R4, R5, dynamic) mapFn,
) {
  final memoized = memo6(mapFn);

  return (S state, dynamic props) {
    return memoized(
      selector1(state, props),
      selector2(state, props),
      selector3(state, props),
      selector4(state, props),
      selector5(state, props),
      props,
    );
  };
}