reduce<C extends Object, P1 extends Object, P2 extends Object, P3 extends Object> static method

ChildPod<Object, C> reduce<C extends Object, P1 extends Object, P2 extends Object, P3 extends Object>(
  1. TResponderFn3<P1, P2, P3> responder,
  2. TReducerFn3<C, P1, P2, P3> reducer
)

Reduces 3 Pods into a ChildPod.

Implementation

static ChildPod<Object, C> reduce<C extends Object, P1 extends Object,
    P2 extends Object, P3 extends Object>(
  TResponderFn3<P1, P2, P3> responder,
  TReducerFn3<C, P1, P2, P3> reducer,
) {
  late (GenericPod<P1>, GenericPod<P2>, GenericPod<P3>) cached;
  return ChildPod<Object, C>(
    responder: () {
      cached = responder();
      return [cached.$1, cached.$2, cached.$3];
    },
    reducer: (_) => reducer(cached.$1, cached.$2, cached.$3),
  );
}