MCPcopy
hub / github.com/Effect-TS/effect / reduceKind

Function reduceKind

packages/typeclass/src/Foldable.ts:75–96  ·  view source on GitHub ↗
(F: Foldable<F>)

Source from the content-addressed store, hash-verified

73 * @since 0.24.0
74 */
75export const reduceKind = <F extends TypeLambda>(F: Foldable<F>) =>
76<G extends TypeLambda>(G: Monad<G>): {
77 <B, A, R, O, E>(
78 b: B,
79 f: (b: B, a: A) => Kind<G, R, O, E, B>
80 ): <FR, FO, FE>(self: Kind<F, FR, FO, FE, A>) => Kind<G, R, O, E, B>
81 <FR, FO, FE, A, B, R, O, E>(
82 self: Kind<F, FR, FO, FE, A>,
83 b: B,
84 f: (b: B, a: A) => Kind<G, R, O, E, B>
85 ): Kind<G, R, O, E, B>
86} =>
87 dual(3, <FR, FO, FE, A, B, R, O, E>(
88 self: Kind<F, FR, FO, FE, A>,
89 b: B,
90 f: (b: B, a: A) => Kind<G, R, O, E, B>
91 ): Kind<G, R, O, E, B> =>
92 F.reduce(
93 self,
94 G.of(b),
95 (gb: Kind<G, R, O, E, B>, a) => G.flatMap(gb, (b) => f(b, a))
96 ))
97
98/**
99 * @since 0.24.0

Callers 1

Foldable.test.tsFile · 0.85

Calls 2

ofMethod · 0.65
fFunction · 0.50

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…