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

Function entries

packages/platform/node-shared/test/NodeSink.test.ts:127–153  ·  view source on GitHub ↗
(
  input: Stream.Stream<Uint8Array, E, R>
)

Source from the content-addressed store, hash-verified

125}> {}
126
127const entries = <R, E>(
128 input: Stream.Stream<Uint8Array, E, R>
129): Stream.Stream<Tar.ReadEntry, TarError | E, R> =>
130 Effect.gen(function*() {
131 const parser = new Tar.Parser()
132
133 yield* input.pipe(
134 Stream.run(
135 NodeSink.fromWritable({
136 evaluate: () => parser,
137 onError: (error) => new TarError({ error })
138 })
139 ),
140 Effect.forkScoped
141 )
142
143 return Stream.callback<Tar.ReadEntry, TarError>((queue) =>
144 Effect.sync(() => {
145 parser.on("entry", (entry) => {
146 Queue.offerUnsafe(queue, entry)
147 })
148 parser.on("close", () => {
149 Queue.endUnsafe(queue)
150 })
151 })
152 )
153 }).pipe(Stream.unwrap)

Callers 1

NodeSink.test.tsFile · 0.70

Calls 5

offerUnsafeMethod · 0.80
pipeMethod · 0.65
onMethod · 0.65
runMethod · 0.45
syncMethod · 0.45

Tested by

no test coverage detected