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

Function onSuccess

packages/effect/src/Stream.ts:6970–6995  ·  view source on GitHub ↗
(arr)

Source from the content-addressed store, hash-verified

6968 E | Cause.Done
6969 > = Effect.matchCauseEffect(upstream, {
6970 onSuccess(arr) {
6971 MutableList.appendAllUnsafe(list, arr)
6972 if (skip > 0) {
6973 const length = list.length
6974 MutableList.takeNVoid(list, skip)
6975 skip = Math.max(0, skip - length)
6976 }
6977 if (list.length < chunkSize) return pull
6978 emitted = true
6979 const chunks = [] as any as Arr.NonEmptyArray<Arr.NonEmptyReadonlyArray<A>>
6980 while (list.length >= chunkSize) {
6981 if (chunkSize === stepSize) {
6982 chunks.push(MutableList.takeN(list, chunkSize) as any)
6983 } else {
6984 chunks.push(MutableList.toArrayN(list, chunkSize) as any)
6985 if (chunkSize === 1 && stepSize <= 0) {
6986 MutableList.take(list)
6987 } else {
6988 const length = list.length
6989 MutableList.takeNVoid(list, stepSize)
6990 skip = Math.max(0, stepSize - length)
6991 }
6992 }
6993 }
6994 return Effect.succeed(chunks)
6995 },
6996 onFailure(cause_) {
6997 if (emitted) MutableList.takeNVoid(list, chunkSize - stepSize)
6998 if (list.length === 0) return Effect.failCause(cause_)

Callers 1

Result.tsFile · 0.70

Calls 4

pushMethod · 0.80
takeNMethod · 0.65
takeMethod · 0.65
succeedMethod · 0.45

Tested by

no test coverage detected