MCPcopy Index your code
hub / github.com/Effect-TS/effect / tap

Function tap

packages/typeclass/src/Chainable.ts:42–57  ·  view source on GitHub ↗
(F: Chainable<F>)

Source from the content-addressed store, hash-verified

40 * @since 0.24.0
41 */
42export const tap = <F extends TypeLambda>(F: Chainable<F>): {
43 <A, R2, O2, E2, _>(
44 f: (a: A) => Kind<F, R2, O2, E2, _>
45 ): <R1, O1, E1>(self: Kind<F, R1, O1, E1, A>) => Kind<F, R1 & R2, O2 | O1, E2 | E1, A>
46 <R1, O1, E1, A, R2, O2, E2, _>(
47 self: Kind<F, R1, O1, E1, A>,
48 f: (a: A) => Kind<F, R2, O2, E2, _>
49 ): Kind<F, R1 & R2, O1 | O2, E1 | E2, A>
50} =>
51 dual(
52 2,
53 <R1, O1, E1, A, R2, O2, E2, _>(
54 self: Kind<F, R1, O1, E1, A>,
55 f: (a: A) => Kind<F, R2, O2, E2, _>
56 ): Kind<F, R1 & R2, O1 | O2, E1 | E2, A> => F.flatMap(self, (a) => F.map(f(a), () => a))
57 )
58
59/**
60 * @category do notation

Callers 6

Chainable.test.tsFile · 0.85
zipLeftFunction · 0.85
acquireReleaseFunction · 0.85
Micro.tsFile · 0.85
Option.tsFile · 0.85
stream.tsFile · 0.85

Calls 2

mapMethod · 0.65
fFunction · 0.50

Tested by

no test coverage detected