MCPcopy Create free account
hub / github.com/Effect-TS/effect / run

Function run

packages/effect/test/Sink.test.ts:128–146  ·  view source on GitHub ↗
(stream: Stream.Stream<number, E>)

Source from the content-addressed store, hash-verified

126 const double = Stream.make(1, 2)
127 const failed = Stream.fail("Ouch")
128 const run = <E>(stream: Stream.Stream<number, E>) =>
129 Ref.make(Array.empty<number>()).pipe(
130 Effect.flatMap((ref) =>
131 stream.pipe(
132 Stream.transduce(Sink.reduceWhileEffect(
133 () => 0,
134 constTrue,
135 (_, y: number) => Effect.as(Ref.update(ref, Array.append(y)), 30)
136 )),
137 Stream.runCollect,
138 Effect.flatMap((exit) =>
139 Ref.get(ref).pipe(
140 Effect.map((result) => [exit, result])
141 )
142 )
143 )
144 ),
145 Effect.exit
146 )
147 const result1 = yield* run(empty)
148 const result2 = yield* run(single)
149 const result3 = yield* run(double)

Callers 5

FiberSet.test.tsFile · 0.70
Sink.test.tsFile · 0.70
FiberMap.test.tsFile · 0.70

Calls 5

pipeMethod · 0.65
makeMethod · 0.65
getMethod · 0.65
updateMethod · 0.45
mapMethod · 0.45

Tested by

no test coverage detected