effect 2.3.8 → 2.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/BigInt.js +14 -1
- package/dist/cjs/BigInt.js.map +1 -1
- package/dist/cjs/Effect.js +48 -61
- package/dist/cjs/Effect.js.map +1 -1
- package/dist/cjs/Either.js +35 -6
- package/dist/cjs/Either.js.map +1 -1
- package/dist/cjs/Equal.js +1 -1
- package/dist/cjs/Equal.js.map +1 -1
- package/dist/cjs/Exit.js +1 -1
- package/dist/cjs/Number.js +25 -1
- package/dist/cjs/Number.js.map +1 -1
- package/dist/cjs/Predicate.js +40 -3
- package/dist/cjs/Predicate.js.map +1 -1
- package/dist/cjs/ReadonlyArray.js +2 -2
- package/dist/cjs/ReadonlyArray.js.map +1 -1
- package/dist/cjs/ReadonlyRecord.js +71 -76
- package/dist/cjs/ReadonlyRecord.js.map +1 -1
- package/dist/cjs/STM.js.map +1 -1
- package/dist/cjs/Schedule.js.map +1 -1
- package/dist/cjs/Sink.js.map +1 -1
- package/dist/cjs/Stream.js +3 -23
- package/dist/cjs/Stream.js.map +1 -1
- package/dist/cjs/Struct.js +3 -1
- package/dist/cjs/Struct.js.map +1 -1
- package/dist/cjs/TestAnnotation.js.map +1 -1
- package/dist/cjs/internal/channel/channelExecutor.js +5 -5
- package/dist/cjs/internal/channel/channelExecutor.js.map +1 -1
- package/dist/cjs/internal/channel/channelState.js +5 -5
- package/dist/cjs/internal/channel/channelState.js.map +1 -1
- package/dist/cjs/internal/channel.js.map +1 -1
- package/dist/cjs/internal/clock.js +3 -4
- package/dist/cjs/internal/clock.js.map +1 -1
- package/dist/cjs/internal/core-effect.js +6 -23
- package/dist/cjs/internal/core-effect.js.map +1 -1
- package/dist/cjs/internal/core.js +11 -27
- package/dist/cjs/internal/core.js.map +1 -1
- package/dist/cjs/internal/effect/circular.js +4 -5
- package/dist/cjs/internal/effect/circular.js.map +1 -1
- package/dist/cjs/internal/either.js +3 -3
- package/dist/cjs/internal/either.js.map +1 -1
- package/dist/cjs/internal/groupBy.js.map +1 -1
- package/dist/cjs/internal/layer.js +0 -2
- package/dist/cjs/internal/layer.js.map +1 -1
- package/dist/cjs/internal/runtime.js +12 -1
- package/dist/cjs/internal/runtime.js.map +1 -1
- package/dist/cjs/internal/schedule.js +4 -4
- package/dist/cjs/internal/schedule.js.map +1 -1
- package/dist/cjs/internal/sink.js +0 -2
- package/dist/cjs/internal/sink.js.map +1 -1
- package/dist/cjs/internal/stm/stm.js +1 -0
- package/dist/cjs/internal/stm/stm.js.map +1 -1
- package/dist/cjs/internal/stream.js +51 -64
- package/dist/cjs/internal/stream.js.map +1 -1
- package/dist/cjs/internal/version.js +1 -1
- package/dist/dts/BigInt.d.ts +7 -0
- package/dist/dts/BigInt.d.ts.map +1 -1
- package/dist/dts/Brand.d.ts +1 -1
- package/dist/dts/Brand.d.ts.map +1 -1
- package/dist/dts/Cause.d.ts +1 -1
- package/dist/dts/Cause.d.ts.map +1 -1
- package/dist/dts/Channel.d.ts +11 -11
- package/dist/dts/Channel.d.ts.map +1 -1
- package/dist/dts/Chunk.d.ts +3 -3
- package/dist/dts/Config.d.ts +4 -4
- package/dist/dts/Config.d.ts.map +1 -1
- package/dist/dts/Cron.d.ts +1 -1
- package/dist/dts/Cron.d.ts.map +1 -1
- package/dist/dts/Differ.d.ts +2 -2
- package/dist/dts/Differ.d.ts.map +1 -1
- package/dist/dts/Effect.d.ts +84 -108
- package/dist/dts/Effect.d.ts.map +1 -1
- package/dist/dts/Either.d.ts +126 -83
- package/dist/dts/Either.d.ts.map +1 -1
- package/dist/dts/Encoding.d.ts +6 -6
- package/dist/dts/Encoding.d.ts.map +1 -1
- package/dist/dts/Equal.d.ts.map +1 -1
- package/dist/dts/Exit.d.ts +2 -2
- package/dist/dts/Fiber.d.ts +2 -2
- package/dist/dts/Fiber.d.ts.map +1 -1
- package/dist/dts/GroupBy.d.ts +12 -12
- package/dist/dts/GroupBy.d.ts.map +1 -1
- package/dist/dts/Layer.d.ts +26 -26
- package/dist/dts/Layer.d.ts.map +1 -1
- package/dist/dts/List.d.ts +2 -2
- package/dist/dts/Logger.d.ts +4 -4
- package/dist/dts/Match.d.ts +2 -2
- package/dist/dts/Match.d.ts.map +1 -1
- package/dist/dts/MergeDecision.d.ts +1 -1
- package/dist/dts/MergeState.d.ts +5 -5
- package/dist/dts/MergeState.d.ts.map +1 -1
- package/dist/dts/Metric.d.ts +13 -13
- package/dist/dts/Metric.d.ts.map +1 -1
- package/dist/dts/MetricPolling.d.ts +4 -4
- package/dist/dts/MetricPolling.d.ts.map +1 -1
- package/dist/dts/Number.d.ts +8 -0
- package/dist/dts/Number.d.ts.map +1 -1
- package/dist/dts/Option.d.ts +11 -11
- package/dist/dts/Predicate.d.ts +37 -2
- package/dist/dts/Predicate.d.ts.map +1 -1
- package/dist/dts/ReadonlyArray.d.ts +9 -8
- package/dist/dts/ReadonlyArray.d.ts.map +1 -1
- package/dist/dts/ReadonlyRecord.d.ts +111 -94
- package/dist/dts/ReadonlyRecord.d.ts.map +1 -1
- package/dist/dts/Reloadable.d.ts +4 -4
- package/dist/dts/Reloadable.d.ts.map +1 -1
- package/dist/dts/RequestResolver.d.ts +13 -13
- package/dist/dts/RequestResolver.d.ts.map +1 -1
- package/dist/dts/Resource.d.ts +1 -1
- package/dist/dts/Resource.d.ts.map +1 -1
- package/dist/dts/STM.d.ts +144 -139
- package/dist/dts/STM.d.ts.map +1 -1
- package/dist/dts/Schedule.d.ts +171 -179
- package/dist/dts/Schedule.d.ts.map +1 -1
- package/dist/dts/SingleProducerAsyncInput.d.ts +1 -1
- package/dist/dts/SingleProducerAsyncInput.d.ts.map +1 -1
- package/dist/dts/Sink.d.ts +13 -13
- package/dist/dts/Sink.d.ts.map +1 -1
- package/dist/dts/Stream.d.ts +355 -366
- package/dist/dts/Stream.d.ts.map +1 -1
- package/dist/dts/Struct.d.ts +3 -3
- package/dist/dts/Struct.d.ts.map +1 -1
- package/dist/dts/SubscriptionRef.d.ts +2 -2
- package/dist/dts/TArray.d.ts +2 -2
- package/dist/dts/TDeferred.d.ts +3 -3
- package/dist/dts/TMap.d.ts +10 -10
- package/dist/dts/TSet.d.ts +4 -4
- package/dist/dts/Take.d.ts +2 -2
- package/dist/dts/TestAnnotation.d.ts +2 -2
- package/dist/dts/TestAnnotation.d.ts.map +1 -1
- package/dist/dts/Types.d.ts +7 -0
- package/dist/dts/Types.d.ts.map +1 -1
- package/dist/dts/internal/stm/stm.d.ts +2 -15
- package/dist/dts/internal/stm/stm.d.ts.map +1 -1
- package/dist/esm/BigInt.js +12 -0
- package/dist/esm/BigInt.js.map +1 -1
- package/dist/esm/Effect.js +45 -58
- package/dist/esm/Effect.js.map +1 -1
- package/dist/esm/Either.js +42 -5
- package/dist/esm/Either.js.map +1 -1
- package/dist/esm/Equal.js +1 -1
- package/dist/esm/Equal.js.map +1 -1
- package/dist/esm/Exit.js +1 -1
- package/dist/esm/Number.js +23 -0
- package/dist/esm/Number.js.map +1 -1
- package/dist/esm/Predicate.js +37 -2
- package/dist/esm/Predicate.js.map +1 -1
- package/dist/esm/ReadonlyArray.js +2 -2
- package/dist/esm/ReadonlyArray.js.map +1 -1
- package/dist/esm/ReadonlyRecord.js +70 -75
- package/dist/esm/ReadonlyRecord.js.map +1 -1
- package/dist/esm/STM.js.map +1 -1
- package/dist/esm/Schedule.js.map +1 -1
- package/dist/esm/Sink.js.map +1 -1
- package/dist/esm/Stream.js +5 -22
- package/dist/esm/Stream.js.map +1 -1
- package/dist/esm/Struct.js +3 -1
- package/dist/esm/Struct.js.map +1 -1
- package/dist/esm/TestAnnotation.js.map +1 -1
- package/dist/esm/internal/channel/channelExecutor.js +5 -5
- package/dist/esm/internal/channel/channelExecutor.js.map +1 -1
- package/dist/esm/internal/channel/channelState.js +3 -3
- package/dist/esm/internal/channel/channelState.js.map +1 -1
- package/dist/esm/internal/channel.js.map +1 -1
- package/dist/esm/internal/clock.js +3 -4
- package/dist/esm/internal/clock.js.map +1 -1
- package/dist/esm/internal/core-effect.js +4 -20
- package/dist/esm/internal/core-effect.js.map +1 -1
- package/dist/esm/internal/core.js +8 -22
- package/dist/esm/internal/core.js.map +1 -1
- package/dist/esm/internal/effect/circular.js +4 -5
- package/dist/esm/internal/effect/circular.js.map +1 -1
- package/dist/esm/internal/either.js +3 -3
- package/dist/esm/internal/either.js.map +1 -1
- package/dist/esm/internal/groupBy.js.map +1 -1
- package/dist/esm/internal/layer.js +0 -2
- package/dist/esm/internal/layer.js.map +1 -1
- package/dist/esm/internal/runtime.js +12 -1
- package/dist/esm/internal/runtime.js.map +1 -1
- package/dist/esm/internal/schedule.js +4 -4
- package/dist/esm/internal/schedule.js.map +1 -1
- package/dist/esm/internal/sink.js +0 -2
- package/dist/esm/internal/sink.js.map +1 -1
- package/dist/esm/internal/stm/stm.js +1 -0
- package/dist/esm/internal/stm/stm.js.map +1 -1
- package/dist/esm/internal/stream.js +49 -59
- package/dist/esm/internal/stream.js.map +1 -1
- package/dist/esm/internal/version.js +1 -1
- package/package.json +1 -1
- package/src/BigInt.ts +13 -0
- package/src/Brand.ts +4 -4
- package/src/Cause.ts +1 -1
- package/src/Channel.ts +17 -17
- package/src/Chunk.ts +4 -4
- package/src/Config.ts +4 -4
- package/src/Cron.ts +2 -2
- package/src/Differ.ts +2 -2
- package/src/Effect.ts +100 -145
- package/src/Either.ts +215 -133
- package/src/Encoding.ts +3 -3
- package/src/Equal.ts +1 -1
- package/src/Exit.ts +2 -2
- package/src/Fiber.ts +2 -2
- package/src/GroupBy.ts +16 -16
- package/src/Layer.ts +32 -32
- package/src/List.ts +3 -3
- package/src/Logger.ts +4 -4
- package/src/Match.ts +3 -3
- package/src/MergeDecision.ts +1 -1
- package/src/MergeState.ts +8 -8
- package/src/Metric.ts +13 -13
- package/src/MetricPolling.ts +9 -9
- package/src/Number.ts +26 -0
- package/src/Option.ts +17 -17
- package/src/Predicate.ts +39 -2
- package/src/ReadonlyArray.ts +23 -15
- package/src/ReadonlyRecord.ts +421 -265
- package/src/Reloadable.ts +4 -4
- package/src/RequestResolver.ts +19 -19
- package/src/Resource.ts +3 -3
- package/src/STM.ts +166 -213
- package/src/Schedule.ts +331 -361
- package/src/SingleProducerAsyncInput.ts +1 -1
- package/src/Sink.ts +19 -19
- package/src/Stream.ts +449 -456
- package/src/Struct.ts +8 -5
- package/src/SubscriptionRef.ts +2 -2
- package/src/TArray.ts +2 -2
- package/src/TDeferred.ts +4 -4
- package/src/TMap.ts +10 -10
- package/src/TSet.ts +4 -4
- package/src/Take.ts +4 -4
- package/src/TestAnnotation.ts +5 -8
- package/src/Types.ts +11 -0
- package/src/internal/blockedRequests.ts +2 -2
- package/src/internal/cause.ts +2 -2
- package/src/internal/channel/channelExecutor.ts +26 -26
- package/src/internal/channel/channelState.ts +13 -13
- package/src/internal/channel/mergeDecision.ts +1 -1
- package/src/internal/channel/mergeState.ts +6 -6
- package/src/internal/channel/singleProducerAsyncInput.ts +5 -5
- package/src/internal/channel.ts +43 -43
- package/src/internal/clock.ts +3 -4
- package/src/internal/config.ts +7 -7
- package/src/internal/configError.ts +1 -1
- package/src/internal/configProvider/pathPatch.ts +2 -2
- package/src/internal/configProvider.ts +1 -1
- package/src/internal/core-effect.ts +28 -43
- package/src/internal/core.ts +15 -40
- package/src/internal/dataSource.ts +26 -26
- package/src/internal/differ/orPatch.ts +7 -7
- package/src/internal/differ.ts +2 -2
- package/src/internal/effect/circular.ts +9 -10
- package/src/internal/either.ts +25 -22
- package/src/internal/encoding/base64.ts +1 -1
- package/src/internal/encoding/base64Url.ts +1 -1
- package/src/internal/encoding/hex.ts +1 -1
- package/src/internal/fiber.ts +2 -2
- package/src/internal/fiberRuntime.ts +9 -9
- package/src/internal/groupBy.ts +40 -40
- package/src/internal/layer/circular.ts +4 -4
- package/src/internal/layer.ts +52 -54
- package/src/internal/matcher.ts +5 -5
- package/src/internal/metric/polling.ts +8 -8
- package/src/internal/metric.ts +6 -6
- package/src/internal/reloadable.ts +4 -4
- package/src/internal/resource.ts +2 -2
- package/src/internal/runtime.ts +32 -19
- package/src/internal/schedule.ts +430 -500
- package/src/internal/sink.ts +27 -29
- package/src/internal/stm/core.ts +23 -23
- package/src/internal/stm/stm.ts +158 -157
- package/src/internal/stm/tArray.ts +3 -3
- package/src/internal/stm/tDeferred.ts +5 -5
- package/src/internal/stm/tMap.ts +13 -13
- package/src/internal/stm/tSet.ts +4 -4
- package/src/internal/stream.ts +688 -723
- package/src/internal/subscriptionRef.ts +3 -3
- package/src/internal/take.ts +6 -6
- package/src/internal/version.ts +1 -1
package/src/internal/stream.ts
CHANGED
|
@@ -10,8 +10,8 @@ import * as Either from "../Either.js"
|
|
|
10
10
|
import * as Equal from "../Equal.js"
|
|
11
11
|
import * as Exit from "../Exit.js"
|
|
12
12
|
import * as Fiber from "../Fiber.js"
|
|
13
|
-
import { constTrue, dual, identity, pipe } from "../Function.js"
|
|
14
13
|
import type { LazyArg } from "../Function.js"
|
|
14
|
+
import { constTrue, dual, identity, pipe } from "../Function.js"
|
|
15
15
|
import * as Layer from "../Layer.js"
|
|
16
16
|
import * as MergeDecision from "../MergeDecision.js"
|
|
17
17
|
import * as Option from "../Option.js"
|
|
@@ -31,7 +31,7 @@ import * as HaltStrategy from "../StreamHaltStrategy.js"
|
|
|
31
31
|
import type * as Take from "../Take.js"
|
|
32
32
|
import type * as Tracer from "../Tracer.js"
|
|
33
33
|
import * as Tuple from "../Tuple.js"
|
|
34
|
-
import type { NoInfer } from "../Types.js"
|
|
34
|
+
import type { MergeRecord, NoInfer } from "../Types.js"
|
|
35
35
|
import * as channel from "./channel.js"
|
|
36
36
|
import * as channelExecutor from "./channel/channelExecutor.js"
|
|
37
37
|
import * as MergeStrategy from "./channel/mergeStrategy.js"
|
|
@@ -48,7 +48,7 @@ import * as pull from "./stream/pull.js"
|
|
|
48
48
|
import * as SinkEndReason from "./stream/sinkEndReason.js"
|
|
49
49
|
import * as ZipAllState from "./stream/zipAllState.js"
|
|
50
50
|
import * as ZipChunksState from "./stream/zipChunksState.js"
|
|
51
|
-
import * as
|
|
51
|
+
import * as InternalTake from "./take.js"
|
|
52
52
|
|
|
53
53
|
/** @internal */
|
|
54
54
|
const StreamSymbolKey = "effect/Stream"
|
|
@@ -109,9 +109,9 @@ export const accumulateChunks = <A, E, R>(self: Stream.Stream<A, E, R>): Stream.
|
|
|
109
109
|
}
|
|
110
110
|
|
|
111
111
|
/** @internal */
|
|
112
|
-
export const acquireRelease = <A, E, R, R2,
|
|
112
|
+
export const acquireRelease = <A, E, R, R2, X>(
|
|
113
113
|
acquire: Effect.Effect<A, E, R>,
|
|
114
|
-
release: (resource: A, exit: Exit.Exit<unknown, unknown>) => Effect.Effect<
|
|
114
|
+
release: (resource: A, exit: Exit.Exit<unknown, unknown>) => Effect.Effect<X, never, R2>
|
|
115
115
|
): Stream.Stream<A, E, R | R2> => scoped(Effect.acquireRelease(acquire, release))
|
|
116
116
|
|
|
117
117
|
/** @internal */
|
|
@@ -133,21 +133,21 @@ export const aggregate = dual<
|
|
|
133
133
|
|
|
134
134
|
/** @internal */
|
|
135
135
|
export const aggregateWithin = dual<
|
|
136
|
-
<B, A, A2, E2, R2,
|
|
136
|
+
<B, A, A2, E2, R2, C, R3>(
|
|
137
137
|
sink: Sink.Sink<B, A | A2, A2, E2, R2>,
|
|
138
|
-
schedule: Schedule.Schedule<
|
|
138
|
+
schedule: Schedule.Schedule<C, Option.Option<B>, R3>
|
|
139
139
|
) => <E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<B, E2 | E, R2 | R3 | R>,
|
|
140
|
-
<A, E, R, B, A2, E2, R2,
|
|
140
|
+
<A, E, R, B, A2, E2, R2, C, R3>(
|
|
141
141
|
self: Stream.Stream<A, E, R>,
|
|
142
142
|
sink: Sink.Sink<B, A | A2, A2, E2, R2>,
|
|
143
|
-
schedule: Schedule.Schedule<
|
|
143
|
+
schedule: Schedule.Schedule<C, Option.Option<B>, R3>
|
|
144
144
|
) => Stream.Stream<B, E2 | E, R2 | R3 | R>
|
|
145
145
|
>(
|
|
146
146
|
3,
|
|
147
|
-
<A, E, R, B, A2, E2, R2,
|
|
147
|
+
<A, E, R, B, A2, E2, R2, C, R3>(
|
|
148
148
|
self: Stream.Stream<A, E, R>,
|
|
149
149
|
sink: Sink.Sink<B, A | A2, A2, E2, R2>,
|
|
150
|
-
schedule: Schedule.Schedule<
|
|
150
|
+
schedule: Schedule.Schedule<C, Option.Option<B>, R3>
|
|
151
151
|
): Stream.Stream<B, E2 | E, R2 | R3 | R> =>
|
|
152
152
|
filterMap(
|
|
153
153
|
aggregateWithinEither(self, sink, schedule),
|
|
@@ -161,22 +161,22 @@ export const aggregateWithin = dual<
|
|
|
161
161
|
|
|
162
162
|
/** @internal */
|
|
163
163
|
export const aggregateWithinEither = dual<
|
|
164
|
-
<B, A, A2, E2, R2,
|
|
164
|
+
<B, A, A2, E2, R2, C, R3>(
|
|
165
165
|
sink: Sink.Sink<B, A | A2, A2, E2, R2>,
|
|
166
|
-
schedule: Schedule.Schedule<
|
|
167
|
-
) => <E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<Either.Either<
|
|
168
|
-
<A, E, R, B, A2, E2, R2,
|
|
166
|
+
schedule: Schedule.Schedule<C, Option.Option<B>, R3>
|
|
167
|
+
) => <E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<Either.Either<B, C>, E2 | E, R2 | R3 | R>,
|
|
168
|
+
<A, E, R, B, A2, E2, R2, C, R3>(
|
|
169
169
|
self: Stream.Stream<A, E, R>,
|
|
170
170
|
sink: Sink.Sink<B, A | A2, A2, E2, R2>,
|
|
171
|
-
schedule: Schedule.Schedule<
|
|
172
|
-
) => Stream.Stream<Either.Either<
|
|
171
|
+
schedule: Schedule.Schedule<C, Option.Option<B>, R3>
|
|
172
|
+
) => Stream.Stream<Either.Either<B, C>, E2 | E, R2 | R3 | R>
|
|
173
173
|
>(
|
|
174
174
|
3,
|
|
175
|
-
<A, E, R, B, A2, E2, R2,
|
|
175
|
+
<A, E, R, B, A2, E2, R2, C, R3>(
|
|
176
176
|
self: Stream.Stream<A, E, R>,
|
|
177
177
|
sink: Sink.Sink<B, A | A2, A2, E2, R2>,
|
|
178
|
-
schedule: Schedule.Schedule<
|
|
179
|
-
): Stream.Stream<Either.Either<
|
|
178
|
+
schedule: Schedule.Schedule<C, Option.Option<B>, R3>
|
|
179
|
+
): Stream.Stream<Either.Either<B, C>, E2 | E, R2 | R3 | R> => {
|
|
180
180
|
const layer = Effect.all([
|
|
181
181
|
Handoff.make<HandoffSignal.HandoffSignal<A, E | E2>>(),
|
|
182
182
|
Ref.make<SinkEndReason.SinkEndReason>(SinkEndReason.ScheduleEnd),
|
|
@@ -284,7 +284,7 @@ export const aggregateWithinEither = dual<
|
|
|
284
284
|
sinkFiber: Fiber.RuntimeFiber<readonly [Chunk.Chunk<Chunk.Chunk<A | A2>>, B], E | E2>,
|
|
285
285
|
scheduleFiber: Fiber.RuntimeFiber<C, Option.Option<never>>,
|
|
286
286
|
scope: Scope.Scope
|
|
287
|
-
): Channel.Channel<Chunk.Chunk<Either.Either<
|
|
287
|
+
): Channel.Channel<Chunk.Chunk<Either.Either<B, C>>, unknown, E | E2, unknown, unknown, unknown, R2 | R3> => {
|
|
288
288
|
const forkSink = pipe(
|
|
289
289
|
Ref.set(consumed, false),
|
|
290
290
|
Effect.zipRight(Ref.set(endAfterEmit, false)),
|
|
@@ -302,7 +302,7 @@ export const aggregateWithinEither = dual<
|
|
|
302
302
|
leftovers: Chunk.Chunk<Chunk.Chunk<A | A2>>,
|
|
303
303
|
b: B,
|
|
304
304
|
c: Option.Option<C>
|
|
305
|
-
): Channel.Channel<Chunk.Chunk<Either.Either<
|
|
305
|
+
): Channel.Channel<Chunk.Chunk<Either.Either<B, C>>, unknown, E | E2, unknown, unknown, unknown, R2 | R3> =>
|
|
306
306
|
pipe(
|
|
307
307
|
Ref.set(sinkLeftovers, Chunk.flatten(leftovers)),
|
|
308
308
|
Effect.zipRight(
|
|
@@ -319,8 +319,8 @@ export const aggregateWithinEither = dual<
|
|
|
319
319
|
const toWrite = pipe(
|
|
320
320
|
c,
|
|
321
321
|
Option.match({
|
|
322
|
-
onNone: (): Chunk.Chunk<Either.Either<
|
|
323
|
-
onSome: (c): Chunk.Chunk<Either.Either<
|
|
322
|
+
onNone: (): Chunk.Chunk<Either.Either<B, C>> => Chunk.of(Either.right(b)),
|
|
323
|
+
onSome: (c): Chunk.Chunk<Either.Either<B, C>> =>
|
|
324
324
|
Chunk.make(Either.right(b), Either.left(c))
|
|
325
325
|
})
|
|
326
326
|
)
|
|
@@ -340,7 +340,7 @@ export const aggregateWithinEither = dual<
|
|
|
340
340
|
Ref.get(consumed),
|
|
341
341
|
Effect.map((wasConsumed) =>
|
|
342
342
|
wasConsumed ?
|
|
343
|
-
core.write(Chunk.of<Either.Either<
|
|
343
|
+
core.write(Chunk.of<Either.Either<B, C>>(Either.right(b))) :
|
|
344
344
|
core.unit
|
|
345
345
|
),
|
|
346
346
|
channel.unwrap
|
|
@@ -456,18 +456,62 @@ export const aggregateWithinEither = dual<
|
|
|
456
456
|
/** @internal */
|
|
457
457
|
export const as = dual<
|
|
458
458
|
<B>(value: B) => <A, E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<B, E, R>,
|
|
459
|
-
<
|
|
460
|
-
>(2, <
|
|
459
|
+
<A, E, R, B>(self: Stream.Stream<A, E, R>, value: B) => Stream.Stream<B, E, R>
|
|
460
|
+
>(2, <A, E, R, B>(self: Stream.Stream<A, E, R>, value: B): Stream.Stream<B, E, R> => map(self, () => value))
|
|
461
461
|
|
|
462
462
|
/** @internal */
|
|
463
463
|
export const _async = <A, E = never, R = never>(
|
|
464
|
-
register: (
|
|
464
|
+
register: (
|
|
465
|
+
emit: Emit.Emit<R, E, A, void>
|
|
466
|
+
) => Effect.Effect<void, never, R> | void,
|
|
465
467
|
outputBuffer = 16
|
|
466
468
|
): Stream.Stream<A, E, R> =>
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
469
|
+
Effect.acquireRelease(
|
|
470
|
+
Queue.bounded<Take.Take<A, E>>(outputBuffer),
|
|
471
|
+
(queue) => Queue.shutdown(queue)
|
|
472
|
+
).pipe(
|
|
473
|
+
Effect.flatMap((output) =>
|
|
474
|
+
Effect.runtime<R>().pipe(
|
|
475
|
+
Effect.flatMap((runtime) =>
|
|
476
|
+
Effect.sync(() => {
|
|
477
|
+
const runPromiseExit = Runtime.runPromiseExit(runtime)
|
|
478
|
+
const canceler = register(emit.make<R, E, A, void>((resume) =>
|
|
479
|
+
InternalTake.fromPull(resume).pipe(
|
|
480
|
+
Effect.flatMap((take) => Queue.offer(output, take)),
|
|
481
|
+
Effect.asUnit,
|
|
482
|
+
runPromiseExit
|
|
483
|
+
).then((exit) => {
|
|
484
|
+
if (Exit.isFailure(exit)) {
|
|
485
|
+
if (!Cause.isInterrupted(exit.cause)) {
|
|
486
|
+
throw Cause.squash(exit.cause)
|
|
487
|
+
}
|
|
488
|
+
}
|
|
489
|
+
})
|
|
490
|
+
))
|
|
491
|
+
return canceler
|
|
492
|
+
})
|
|
493
|
+
),
|
|
494
|
+
Effect.map((value) => {
|
|
495
|
+
const loop: Channel.Channel<Chunk.Chunk<A>, unknown, E, unknown, void, unknown> = Queue.take(output).pipe(
|
|
496
|
+
Effect.flatMap((take) => InternalTake.done(take)),
|
|
497
|
+
Effect.match({
|
|
498
|
+
onFailure: (maybeError) =>
|
|
499
|
+
core.fromEffect(Queue.shutdown(output)).pipe(
|
|
500
|
+
channel.zipRight(Option.match(maybeError, {
|
|
501
|
+
onNone: () => core.unit,
|
|
502
|
+
onSome: (error) => core.fail(error)
|
|
503
|
+
}))
|
|
504
|
+
),
|
|
505
|
+
onSuccess: (chunk) => core.write(chunk).pipe(core.flatMap(() => loop))
|
|
506
|
+
}),
|
|
507
|
+
channel.unwrap
|
|
508
|
+
)
|
|
509
|
+
return fromChannel(loop).pipe(ensuring(value ?? Effect.unit))
|
|
510
|
+
})
|
|
511
|
+
)
|
|
512
|
+
),
|
|
513
|
+
unwrapScoped
|
|
514
|
+
)
|
|
471
515
|
|
|
472
516
|
/** @internal */
|
|
473
517
|
export const asyncEffect = <A, E = never, R = never>(
|
|
@@ -487,7 +531,7 @@ export const asyncEffect = <A, E = never, R = never>(
|
|
|
487
531
|
register(
|
|
488
532
|
emit.make((k) =>
|
|
489
533
|
pipe(
|
|
490
|
-
|
|
534
|
+
InternalTake.fromPull(k),
|
|
491
535
|
Effect.flatMap((take) => Queue.offer(output, take)),
|
|
492
536
|
Effect.asUnit,
|
|
493
537
|
Runtime.runPromiseExit(runtime)
|
|
@@ -503,7 +547,7 @@ export const asyncEffect = <A, E = never, R = never>(
|
|
|
503
547
|
Effect.map(() => {
|
|
504
548
|
const loop: Channel.Channel<Chunk.Chunk<A>, unknown, E, unknown, void, unknown> = pipe(
|
|
505
549
|
Queue.take(output),
|
|
506
|
-
Effect.flatMap(
|
|
550
|
+
Effect.flatMap(InternalTake.done),
|
|
507
551
|
Effect.match({
|
|
508
552
|
onFailure: (maybeError) =>
|
|
509
553
|
pipe(
|
|
@@ -524,84 +568,6 @@ export const asyncEffect = <A, E = never, R = never>(
|
|
|
524
568
|
fromChannel
|
|
525
569
|
)
|
|
526
570
|
|
|
527
|
-
/** @internal */
|
|
528
|
-
export const asyncInterrupt = <A, E = never, R = never>(
|
|
529
|
-
register: (
|
|
530
|
-
emit: Emit.Emit<R, E, A, void>
|
|
531
|
-
) => Either.Either<Effect.Effect<unknown, never, R>, Stream.Stream<A, E, R>>,
|
|
532
|
-
outputBuffer = 16
|
|
533
|
-
): Stream.Stream<A, E, R> =>
|
|
534
|
-
pipe(
|
|
535
|
-
Effect.acquireRelease(
|
|
536
|
-
Queue.bounded<Take.Take<A, E>>(outputBuffer),
|
|
537
|
-
(queue) => Queue.shutdown(queue)
|
|
538
|
-
),
|
|
539
|
-
Effect.flatMap((output) =>
|
|
540
|
-
pipe(
|
|
541
|
-
Effect.runtime<R>(),
|
|
542
|
-
Effect.flatMap((runtime) =>
|
|
543
|
-
pipe(
|
|
544
|
-
Effect.sync(() =>
|
|
545
|
-
register(
|
|
546
|
-
emit.make((k) =>
|
|
547
|
-
pipe(
|
|
548
|
-
_take.fromPull(k),
|
|
549
|
-
Effect.flatMap((take) => Queue.offer(output, take)),
|
|
550
|
-
Effect.asUnit,
|
|
551
|
-
Runtime.runPromiseExit(runtime)
|
|
552
|
-
).then((exit) => {
|
|
553
|
-
if (Exit.isFailure(exit)) {
|
|
554
|
-
if (!Cause.isInterrupted(exit.cause)) {
|
|
555
|
-
throw Cause.squash(exit.cause)
|
|
556
|
-
}
|
|
557
|
-
}
|
|
558
|
-
})
|
|
559
|
-
)
|
|
560
|
-
)
|
|
561
|
-
),
|
|
562
|
-
Effect.map(Either.match({
|
|
563
|
-
onLeft: (canceler) => {
|
|
564
|
-
const loop: Channel.Channel<Chunk.Chunk<A>, unknown, E, unknown, void, unknown> = pipe(
|
|
565
|
-
Queue.take(output),
|
|
566
|
-
Effect.flatMap(_take.done),
|
|
567
|
-
Effect.match({
|
|
568
|
-
onFailure: (maybeError) =>
|
|
569
|
-
channel.zipRight(
|
|
570
|
-
core.fromEffect(Queue.shutdown(output)),
|
|
571
|
-
Option.match(maybeError, {
|
|
572
|
-
onNone: () => core.unit,
|
|
573
|
-
onSome: core.fail
|
|
574
|
-
})
|
|
575
|
-
),
|
|
576
|
-
onSuccess: (chunk) => pipe(core.write(chunk), core.flatMap(() => loop))
|
|
577
|
-
}),
|
|
578
|
-
channel.unwrap
|
|
579
|
-
)
|
|
580
|
-
return pipe(fromChannel(loop), ensuring(canceler))
|
|
581
|
-
},
|
|
582
|
-
onRight: (stream) => unwrap(pipe(Queue.shutdown(output), Effect.as(stream)))
|
|
583
|
-
}))
|
|
584
|
-
)
|
|
585
|
-
)
|
|
586
|
-
)
|
|
587
|
-
),
|
|
588
|
-
unwrapScoped
|
|
589
|
-
)
|
|
590
|
-
|
|
591
|
-
/** @internal */
|
|
592
|
-
export const asyncOption = <A, E = never, R = never>(
|
|
593
|
-
register: (emit: Emit.Emit<R, E, A, void>) => Option.Option<Stream.Stream<A, E, R>>,
|
|
594
|
-
outputBuffer = 16
|
|
595
|
-
): Stream.Stream<A, E, R> =>
|
|
596
|
-
asyncInterrupt(
|
|
597
|
-
(emit) =>
|
|
598
|
-
Option.match(register(emit), {
|
|
599
|
-
onNone: () => Either.left(Effect.unit),
|
|
600
|
-
onSome: Either.right
|
|
601
|
-
}),
|
|
602
|
-
outputBuffer
|
|
603
|
-
)
|
|
604
|
-
|
|
605
571
|
/** @internal */
|
|
606
572
|
export const asyncScoped = <A, E = never, R = never>(
|
|
607
573
|
register: (emit: Emit.Emit<R, E, A, void>) => Effect.Effect<unknown, E, R | Scope.Scope>,
|
|
@@ -620,7 +586,7 @@ export const asyncScoped = <A, E = never, R = never>(
|
|
|
620
586
|
register(
|
|
621
587
|
emit.make((k) =>
|
|
622
588
|
pipe(
|
|
623
|
-
|
|
589
|
+
InternalTake.fromPull(k),
|
|
624
590
|
Effect.flatMap((take) => Queue.offer(output, take)),
|
|
625
591
|
Effect.asUnit,
|
|
626
592
|
Runtime.runPromiseExit(runtime)
|
|
@@ -642,7 +608,7 @@ export const asyncScoped = <A, E = never, R = never>(
|
|
|
642
608
|
pull.end() :
|
|
643
609
|
pipe(
|
|
644
610
|
Queue.take(output),
|
|
645
|
-
Effect.flatMap(
|
|
611
|
+
Effect.flatMap(InternalTake.done),
|
|
646
612
|
Effect.onError(() =>
|
|
647
613
|
pipe(
|
|
648
614
|
Ref.set(ref, true),
|
|
@@ -666,15 +632,15 @@ export const branchAfter = dual<
|
|
|
666
632
|
<A, A2, E2, R2>(
|
|
667
633
|
n: number,
|
|
668
634
|
f: (input: Chunk.Chunk<A>) => Stream.Stream<A2, E2, R2>
|
|
669
|
-
) => <
|
|
670
|
-
<A, E, R,
|
|
635
|
+
) => <E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A2, E2 | E, R2 | R>,
|
|
636
|
+
<A, E, R, A2, E2, R2>(
|
|
671
637
|
self: Stream.Stream<A, E, R>,
|
|
672
638
|
n: number,
|
|
673
639
|
f: (input: Chunk.Chunk<A>) => Stream.Stream<A2, E2, R2>
|
|
674
640
|
) => Stream.Stream<A2, E2 | E, R2 | R>
|
|
675
641
|
>(
|
|
676
642
|
3,
|
|
677
|
-
<A, E, R,
|
|
643
|
+
<A, E, R, A2, E2, R2>(
|
|
678
644
|
self: Stream.Stream<A, E, R>,
|
|
679
645
|
n: number,
|
|
680
646
|
f: (input: Chunk.Chunk<A>) => Stream.Stream<A2, E2, R2>
|
|
@@ -884,7 +850,7 @@ export const bufferChunks = dual<
|
|
|
884
850
|
Effect.map(queue, (queue) => {
|
|
885
851
|
const process: Channel.Channel<Chunk.Chunk<A>, unknown, E, unknown, void, unknown> = pipe(
|
|
886
852
|
core.fromEffect(Queue.take(queue)),
|
|
887
|
-
core.flatMap(
|
|
853
|
+
core.flatMap(InternalTake.match({
|
|
888
854
|
onEnd: () => core.unit,
|
|
889
855
|
onFailure: core.failCause,
|
|
890
856
|
onSuccess: (value) => pipe(core.write(value), core.flatMap(() => process))
|
|
@@ -947,7 +913,7 @@ const bufferUnbounded = <A, E, R>(self: Stream.Stream<A, E, R>): Stream.Stream<A
|
|
|
947
913
|
Effect.map(queue, (queue) => {
|
|
948
914
|
const process: Channel.Channel<Chunk.Chunk<A>, unknown, E, unknown, void, unknown> = pipe(
|
|
949
915
|
core.fromEffect(Queue.take(queue)),
|
|
950
|
-
core.flatMap(
|
|
916
|
+
core.flatMap(InternalTake.match({
|
|
951
917
|
onEnd: () => core.unit,
|
|
952
918
|
onFailure: core.failCause,
|
|
953
919
|
onSuccess: (value) => core.flatMap(core.write(value), () => process)
|
|
@@ -989,7 +955,7 @@ const bufferSignal = <A, E, R>(
|
|
|
989
955
|
Effect.flatMap(
|
|
990
956
|
(deferred) =>
|
|
991
957
|
pipe(
|
|
992
|
-
Queue.offer(queue, [
|
|
958
|
+
Queue.offer(queue, [InternalTake.chunk(input), deferred] as const),
|
|
993
959
|
Effect.flatMap((added) => pipe(Ref.set(ref, deferred), Effect.when(() => added)))
|
|
994
960
|
)
|
|
995
961
|
),
|
|
@@ -997,8 +963,8 @@ const bufferSignal = <A, E, R>(
|
|
|
997
963
|
core.fromEffect,
|
|
998
964
|
core.flatMap(() => producer(queue, ref))
|
|
999
965
|
),
|
|
1000
|
-
onFailure: (error) => terminate(
|
|
1001
|
-
onDone: () => terminate(
|
|
966
|
+
onFailure: (error) => terminate(InternalTake.failCause(error)),
|
|
967
|
+
onDone: () => terminate(InternalTake.end)
|
|
1002
968
|
})
|
|
1003
969
|
}
|
|
1004
970
|
const consumer = (
|
|
@@ -1009,7 +975,7 @@ const bufferSignal = <A, E, R>(
|
|
|
1009
975
|
core.flatMap(([take, deferred]) =>
|
|
1010
976
|
channel.zipRight(
|
|
1011
977
|
core.fromEffect(Deferred.succeed(deferred, void 0)),
|
|
1012
|
-
|
|
978
|
+
InternalTake.match(take, {
|
|
1013
979
|
onEnd: () => core.unit,
|
|
1014
980
|
onFailure: core.failCause,
|
|
1015
981
|
onSuccess: (value) => pipe(core.write(value), core.flatMap(() => process))
|
|
@@ -1048,14 +1014,14 @@ const bufferSignal = <A, E, R>(
|
|
|
1048
1014
|
|
|
1049
1015
|
/** @internal */
|
|
1050
1016
|
export const catchAll = dual<
|
|
1051
|
-
<E,
|
|
1017
|
+
<E, A2, E2, R2>(
|
|
1052
1018
|
f: (error: E) => Stream.Stream<A2, E2, R2>
|
|
1053
|
-
) => <
|
|
1054
|
-
<
|
|
1019
|
+
) => <A, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A2 | A, E2, R2 | R>,
|
|
1020
|
+
<A, E, R, A2, E2, R2>(
|
|
1055
1021
|
self: Stream.Stream<A, E, R>,
|
|
1056
1022
|
f: (error: E) => Stream.Stream<A2, E2, R2>
|
|
1057
1023
|
) => Stream.Stream<A2 | A, E2, R2 | R>
|
|
1058
|
-
>(2, <
|
|
1024
|
+
>(2, <A, E, R, A2, E2, R2>(
|
|
1059
1025
|
self: Stream.Stream<A, E, R>,
|
|
1060
1026
|
f: (error: E) => Stream.Stream<A2, E2, R2>
|
|
1061
1027
|
): Stream.Stream<A2 | A, E2, R2 | R> =>
|
|
@@ -1067,16 +1033,16 @@ export const catchAll = dual<
|
|
|
1067
1033
|
|
|
1068
1034
|
/** @internal */
|
|
1069
1035
|
export const catchAllCause = dual<
|
|
1070
|
-
<E,
|
|
1036
|
+
<E, A2, E2, R2>(
|
|
1071
1037
|
f: (cause: Cause.Cause<E>) => Stream.Stream<A2, E2, R2>
|
|
1072
|
-
) => <
|
|
1073
|
-
<
|
|
1038
|
+
) => <A, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A2 | A, E2, R2 | R>,
|
|
1039
|
+
<A, E, R, A2, E2, R2>(
|
|
1074
1040
|
self: Stream.Stream<A, E, R>,
|
|
1075
1041
|
f: (cause: Cause.Cause<E>) => Stream.Stream<A2, E2, R2>
|
|
1076
1042
|
) => Stream.Stream<A2 | A, E2, R2 | R>
|
|
1077
1043
|
>(
|
|
1078
1044
|
2,
|
|
1079
|
-
<
|
|
1045
|
+
<A, E, R, A2, E2, R2>(
|
|
1080
1046
|
self: Stream.Stream<A, E, R>,
|
|
1081
1047
|
f: (cause: Cause.Cause<E>) => Stream.Stream<A2, E2, R2>
|
|
1082
1048
|
): Stream.Stream<A | A2, E2, R | R2> =>
|
|
@@ -1085,16 +1051,16 @@ export const catchAllCause = dual<
|
|
|
1085
1051
|
|
|
1086
1052
|
/** @internal */
|
|
1087
1053
|
export const catchSome = dual<
|
|
1088
|
-
<E,
|
|
1054
|
+
<E, A2, E2, R2>(
|
|
1089
1055
|
pf: (error: E) => Option.Option<Stream.Stream<A2, E2, R2>>
|
|
1090
|
-
) => <
|
|
1091
|
-
<
|
|
1056
|
+
) => <A, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A2 | A, E | E2, R2 | R>,
|
|
1057
|
+
<A, E, R, A2, E2, R2>(
|
|
1092
1058
|
self: Stream.Stream<A, E, R>,
|
|
1093
1059
|
pf: (error: E) => Option.Option<Stream.Stream<A2, E2, R2>>
|
|
1094
1060
|
) => Stream.Stream<A2 | A, E | E2, R2 | R>
|
|
1095
1061
|
>(
|
|
1096
1062
|
2,
|
|
1097
|
-
<
|
|
1063
|
+
<A, E, R, A2, E2, R2>(
|
|
1098
1064
|
self: Stream.Stream<A, E, R>,
|
|
1099
1065
|
pf: (error: E) => Option.Option<Stream.Stream<A2, E2, R2>>
|
|
1100
1066
|
): Stream.Stream<A2 | A, E | E2, R2 | R> =>
|
|
@@ -1103,16 +1069,16 @@ export const catchSome = dual<
|
|
|
1103
1069
|
|
|
1104
1070
|
/** @internal */
|
|
1105
1071
|
export const catchSomeCause = dual<
|
|
1106
|
-
<E,
|
|
1072
|
+
<E, A2, E2, R2>(
|
|
1107
1073
|
pf: (cause: Cause.Cause<E>) => Option.Option<Stream.Stream<A2, E2, R2>>
|
|
1108
|
-
) => <
|
|
1109
|
-
<
|
|
1074
|
+
) => <A, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A2 | A, E | E2, R2 | R>,
|
|
1075
|
+
<A, E, R, A2, E2, R2>(
|
|
1110
1076
|
self: Stream.Stream<A, E, R>,
|
|
1111
1077
|
pf: (cause: Cause.Cause<E>) => Option.Option<Stream.Stream<A2, E2, R2>>
|
|
1112
1078
|
) => Stream.Stream<A2 | A, E | E2, R2 | R>
|
|
1113
1079
|
>(
|
|
1114
1080
|
2,
|
|
1115
|
-
<
|
|
1081
|
+
<A, E, R, A2, E2, R2>(
|
|
1116
1082
|
self: Stream.Stream<A, E, R>,
|
|
1117
1083
|
pf: (cause: Cause.Cause<E>) => Option.Option<Stream.Stream<A2, E2, R2>>
|
|
1118
1084
|
): Stream.Stream<A2 | A, E | E2, R2 | R> =>
|
|
@@ -1121,11 +1087,11 @@ export const catchSomeCause = dual<
|
|
|
1121
1087
|
|
|
1122
1088
|
/* @internal */
|
|
1123
1089
|
export const catchTag = dual<
|
|
1124
|
-
<K extends E["_tag"] & string, E extends { _tag: string },
|
|
1090
|
+
<K extends E["_tag"] & string, E extends { _tag: string }, A1, E1, R1>(
|
|
1125
1091
|
k: K,
|
|
1126
1092
|
f: (e: Extract<E, { _tag: K }>) => Stream.Stream<A1, E1, R1>
|
|
1127
|
-
) => <
|
|
1128
|
-
<
|
|
1093
|
+
) => <A, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A | A1, Exclude<E, { _tag: K }> | E1, R | R1>,
|
|
1094
|
+
<A, E extends { _tag: string }, R, K extends E["_tag"] & string, A1, E1, R1>(
|
|
1129
1095
|
self: Stream.Stream<A, E, R>,
|
|
1130
1096
|
k: K,
|
|
1131
1097
|
f: (e: Extract<E, { _tag: K }>) => Stream.Stream<A1, E1, R1>
|
|
@@ -1147,7 +1113,7 @@ export const catchTags: {
|
|
|
1147
1113
|
}
|
|
1148
1114
|
>(
|
|
1149
1115
|
cases: Cases
|
|
1150
|
-
): <
|
|
1116
|
+
): <A, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<
|
|
1151
1117
|
| A
|
|
1152
1118
|
| {
|
|
1153
1119
|
[K in keyof Cases]: Cases[K] extends
|
|
@@ -1168,9 +1134,9 @@ export const catchTags: {
|
|
|
1168
1134
|
}[keyof Cases]
|
|
1169
1135
|
>
|
|
1170
1136
|
<
|
|
1171
|
-
R,
|
|
1172
|
-
E extends { _tag: string },
|
|
1173
1137
|
A,
|
|
1138
|
+
E extends { _tag: string },
|
|
1139
|
+
R,
|
|
1174
1140
|
Cases extends {
|
|
1175
1141
|
[K in E["_tag"]]+?: (error: Extract<E, { _tag: K }>) => Stream.Stream<any, any, any>
|
|
1176
1142
|
}
|
|
@@ -1212,7 +1178,7 @@ export const changes = <A, E, R>(self: Stream.Stream<A, E, R>): Stream.Stream<A,
|
|
|
1212
1178
|
|
|
1213
1179
|
/** @internal */
|
|
1214
1180
|
export const changesWith = dual<
|
|
1215
|
-
<A>(f: (x: A, y: A) => boolean) => <
|
|
1181
|
+
<A>(f: (x: A, y: A) => boolean) => <E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A, E, R>,
|
|
1216
1182
|
<A, E, R>(self: Stream.Stream<A, E, R>, f: (x: A, y: A) => boolean) => Stream.Stream<A, E, R>
|
|
1217
1183
|
>(2, <A, E, R>(self: Stream.Stream<A, E, R>, f: (x: A, y: A) => boolean): Stream.Stream<A, E, R> => {
|
|
1218
1184
|
const writer = (
|
|
@@ -1243,16 +1209,16 @@ export const changesWith = dual<
|
|
|
1243
1209
|
|
|
1244
1210
|
/** @internal */
|
|
1245
1211
|
export const changesWithEffect = dual<
|
|
1246
|
-
<A,
|
|
1212
|
+
<A, E2, R2>(
|
|
1247
1213
|
f: (x: A, y: A) => Effect.Effect<boolean, E2, R2>
|
|
1248
|
-
) => <
|
|
1249
|
-
<
|
|
1214
|
+
) => <E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A, E2 | E, R2 | R>,
|
|
1215
|
+
<A, E, R, E2, R2>(
|
|
1250
1216
|
self: Stream.Stream<A, E, R>,
|
|
1251
1217
|
f: (x: A, y: A) => Effect.Effect<boolean, E2, R2>
|
|
1252
1218
|
) => Stream.Stream<A, E2 | E, R2 | R>
|
|
1253
1219
|
>(
|
|
1254
1220
|
2,
|
|
1255
|
-
<
|
|
1221
|
+
<A, E, R, E2, R2>(
|
|
1256
1222
|
self: Stream.Stream<A, E, R>,
|
|
1257
1223
|
f: (x: A, y: A) => Effect.Effect<boolean, E2, R2>
|
|
1258
1224
|
): Stream.Stream<A, E2 | E, R2 | R> => {
|
|
@@ -1302,16 +1268,16 @@ export const chunks = <A, E, R>(self: Stream.Stream<A, E, R>): Stream.Stream<Chu
|
|
|
1302
1268
|
|
|
1303
1269
|
/** @internal */
|
|
1304
1270
|
export const chunksWith = dual<
|
|
1305
|
-
<
|
|
1271
|
+
<A, E, R, A2, E2, R2>(
|
|
1306
1272
|
f: (stream: Stream.Stream<Chunk.Chunk<A>, E, R>) => Stream.Stream<Chunk.Chunk<A2>, E2, R2>
|
|
1307
1273
|
) => (self: Stream.Stream<A, E, R>) => Stream.Stream<A2, E | E2, R | R2>,
|
|
1308
|
-
<
|
|
1274
|
+
<A, E, R, A2, E2, R2>(
|
|
1309
1275
|
self: Stream.Stream<A, E, R>,
|
|
1310
1276
|
f: (stream: Stream.Stream<Chunk.Chunk<A>, E, R>) => Stream.Stream<Chunk.Chunk<A2>, E2, R2>
|
|
1311
1277
|
) => Stream.Stream<A2, E | E2, R | R2>
|
|
1312
1278
|
>(
|
|
1313
1279
|
2,
|
|
1314
|
-
<
|
|
1280
|
+
<A, E, R, A2, E2, R2>(
|
|
1315
1281
|
self: Stream.Stream<A, E, R>,
|
|
1316
1282
|
f: (stream: Stream.Stream<Chunk.Chunk<A>, E, R>) => Stream.Stream<Chunk.Chunk<A2>, E2, R2>
|
|
1317
1283
|
): Stream.Stream<A2, E | E2, R | R2> => flattenChunks(f(chunks(self)))
|
|
@@ -1325,7 +1291,7 @@ const unsome = <A, E, R>(effect: Effect.Effect<A, Option.Option<E>, R>): Effect.
|
|
|
1325
1291
|
|
|
1326
1292
|
/** @internal */
|
|
1327
1293
|
export const combine = dual<
|
|
1328
|
-
<
|
|
1294
|
+
<A2, E2, R2, S, R3, E, A, R4, R5, A3>(
|
|
1329
1295
|
that: Stream.Stream<A2, E2, R2>,
|
|
1330
1296
|
s: S,
|
|
1331
1297
|
f: (
|
|
@@ -1334,7 +1300,7 @@ export const combine = dual<
|
|
|
1334
1300
|
pullRight: Effect.Effect<A2, Option.Option<E2>, R4>
|
|
1335
1301
|
) => Effect.Effect<Exit.Exit<readonly [A3, S], Option.Option<E2 | E>>, never, R5>
|
|
1336
1302
|
) => <R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A3, E2 | E, R2 | R3 | R4 | R5 | R>,
|
|
1337
|
-
<R,
|
|
1303
|
+
<R, A2, E2, R2, S, R3, E, A, R4, R5, A3>(
|
|
1338
1304
|
self: Stream.Stream<A, E, R>,
|
|
1339
1305
|
that: Stream.Stream<A2, E2, R2>,
|
|
1340
1306
|
s: S,
|
|
@@ -1344,7 +1310,7 @@ export const combine = dual<
|
|
|
1344
1310
|
pullRight: Effect.Effect<A2, Option.Option<E2>, R4>
|
|
1345
1311
|
) => Effect.Effect<Exit.Exit<readonly [A3, S], Option.Option<E2 | E>>, never, R5>
|
|
1346
1312
|
) => Stream.Stream<A3, E2 | E, R2 | R3 | R4 | R5 | R>
|
|
1347
|
-
>(4, <R,
|
|
1313
|
+
>(4, <R, A2, E2, R2, S, R3, E, A, R4, R5, A3>(
|
|
1348
1314
|
self: Stream.Stream<A, E, R>,
|
|
1349
1315
|
that: Stream.Stream<A2, E2, R2>,
|
|
1350
1316
|
s: S,
|
|
@@ -1429,7 +1395,7 @@ export const combine = dual<
|
|
|
1429
1395
|
|
|
1430
1396
|
/** @internal */
|
|
1431
1397
|
export const combineChunks = dual<
|
|
1432
|
-
<
|
|
1398
|
+
<A2, E2, R2, S, R3, E, A, R4, R5, A3>(
|
|
1433
1399
|
that: Stream.Stream<A2, E2, R2>,
|
|
1434
1400
|
s: S,
|
|
1435
1401
|
f: (
|
|
@@ -1438,7 +1404,7 @@ export const combineChunks = dual<
|
|
|
1438
1404
|
pullRight: Effect.Effect<Chunk.Chunk<A2>, Option.Option<E2>, R4>
|
|
1439
1405
|
) => Effect.Effect<Exit.Exit<readonly [Chunk.Chunk<A3>, S], Option.Option<E2 | E>>, never, R5>
|
|
1440
1406
|
) => <R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A3, E2 | E, R2 | R3 | R4 | R5 | R>,
|
|
1441
|
-
<R,
|
|
1407
|
+
<R, A2, E2, R2, S, R3, E, A, R4, R5, A3>(
|
|
1442
1408
|
self: Stream.Stream<A, E, R>,
|
|
1443
1409
|
that: Stream.Stream<A2, E2, R2>,
|
|
1444
1410
|
s: S,
|
|
@@ -1448,7 +1414,7 @@ export const combineChunks = dual<
|
|
|
1448
1414
|
pullRight: Effect.Effect<Chunk.Chunk<A2>, Option.Option<E2>, R4>
|
|
1449
1415
|
) => Effect.Effect<Exit.Exit<readonly [Chunk.Chunk<A3>, S], Option.Option<E2 | E>>, never, R5>
|
|
1450
1416
|
) => Stream.Stream<A3, E2 | E, R2 | R3 | R4 | R5 | R>
|
|
1451
|
-
>(4, <R,
|
|
1417
|
+
>(4, <R, A2, E2, R2, S, R3, E, A, R4, R5, A3>(
|
|
1452
1418
|
self: Stream.Stream<A, E, R>,
|
|
1453
1419
|
that: Stream.Stream<A2, E2, R2>,
|
|
1454
1420
|
s: S,
|
|
@@ -1469,7 +1435,7 @@ export const combineChunks = dual<
|
|
|
1469
1435
|
core.flatMap(
|
|
1470
1436
|
core.fromEffect(pipe(
|
|
1471
1437
|
handoff,
|
|
1472
|
-
Handoff.offer<Take.Take<Elem, Err>>(
|
|
1438
|
+
Handoff.offer<Take.Take<Elem, Err>>(InternalTake.chunk(input))
|
|
1473
1439
|
)),
|
|
1474
1440
|
() => producer(handoff, latch)
|
|
1475
1441
|
),
|
|
@@ -1477,11 +1443,11 @@ export const combineChunks = dual<
|
|
|
1477
1443
|
core.fromEffect(
|
|
1478
1444
|
Handoff.offer<Take.Take<Elem, Err>>(
|
|
1479
1445
|
handoff,
|
|
1480
|
-
|
|
1446
|
+
InternalTake.failCause(cause)
|
|
1481
1447
|
)
|
|
1482
1448
|
),
|
|
1483
1449
|
onDone: (): Channel.Channel<never, Chunk.Chunk<Elem>, never, Err, unknown, unknown, R> =>
|
|
1484
|
-
core.fromEffect(Handoff.offer<Take.Take<Elem, Err>>(handoff,
|
|
1450
|
+
core.fromEffect(Handoff.offer<Take.Take<Elem, Err>>(handoff, InternalTake.end))
|
|
1485
1451
|
})
|
|
1486
1452
|
)
|
|
1487
1453
|
return new StreamImpl(
|
|
@@ -1515,7 +1481,7 @@ export const combineChunks = dual<
|
|
|
1515
1481
|
Effect.zipRight(
|
|
1516
1482
|
pipe(
|
|
1517
1483
|
Handoff.take(left),
|
|
1518
|
-
Effect.flatMap(
|
|
1484
|
+
Effect.flatMap(InternalTake.done)
|
|
1519
1485
|
)
|
|
1520
1486
|
)
|
|
1521
1487
|
)
|
|
@@ -1525,7 +1491,7 @@ export const combineChunks = dual<
|
|
|
1525
1491
|
Effect.zipRight(
|
|
1526
1492
|
pipe(
|
|
1527
1493
|
Handoff.take(right),
|
|
1528
|
-
Effect.flatMap(
|
|
1494
|
+
Effect.flatMap(InternalTake.done)
|
|
1529
1495
|
)
|
|
1530
1496
|
)
|
|
1531
1497
|
)
|
|
@@ -1538,16 +1504,16 @@ export const combineChunks = dual<
|
|
|
1538
1504
|
|
|
1539
1505
|
/** @internal */
|
|
1540
1506
|
export const concat = dual<
|
|
1541
|
-
<
|
|
1507
|
+
<A2, E2, R2>(
|
|
1542
1508
|
that: Stream.Stream<A2, E2, R2>
|
|
1543
1509
|
) => <A, E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A2 | A, E2 | E, R2 | R>,
|
|
1544
|
-
<
|
|
1510
|
+
<A, E, R, A2, E2, R2>(
|
|
1545
1511
|
self: Stream.Stream<A, E, R>,
|
|
1546
1512
|
that: Stream.Stream<A2, E2, R2>
|
|
1547
1513
|
) => Stream.Stream<A2 | A, E2 | E, R2 | R>
|
|
1548
1514
|
>(
|
|
1549
1515
|
2,
|
|
1550
|
-
<
|
|
1516
|
+
<A, E, R, A2, E2, R2>(
|
|
1551
1517
|
self: Stream.Stream<A, E, R>,
|
|
1552
1518
|
that: Stream.Stream<A2, E2, R2>
|
|
1553
1519
|
): Stream.Stream<A2 | A, E2 | E, R2 | R> =>
|
|
@@ -1560,16 +1526,16 @@ export const concatAll = <A, E, R>(streams: Chunk.Chunk<Stream.Stream<A, E, R>>)
|
|
|
1560
1526
|
|
|
1561
1527
|
/** @internal */
|
|
1562
1528
|
export const cross = dual<
|
|
1563
|
-
<
|
|
1529
|
+
<A2, E2, R2>(
|
|
1564
1530
|
that: Stream.Stream<A2, E2, R2>
|
|
1565
1531
|
) => <A, E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<[A, A2], E2 | E, R2 | R>,
|
|
1566
|
-
<
|
|
1532
|
+
<A, E, R, A2, E2, R2>(
|
|
1567
1533
|
self: Stream.Stream<A, E, R>,
|
|
1568
1534
|
that: Stream.Stream<A2, E2, R2>
|
|
1569
1535
|
) => Stream.Stream<[A, A2], E2 | E, R2 | R>
|
|
1570
1536
|
>(
|
|
1571
1537
|
2,
|
|
1572
|
-
<
|
|
1538
|
+
<A, E, R, A2, E2, R2>(
|
|
1573
1539
|
self: Stream.Stream<A, E, R>,
|
|
1574
1540
|
that: Stream.Stream<A2, E2, R2>
|
|
1575
1541
|
): Stream.Stream<[A, A2], E2 | E, R2 | R> => pipe(self, crossWith(that, (a, a2) => [a, a2]))
|
|
@@ -1577,16 +1543,16 @@ export const cross = dual<
|
|
|
1577
1543
|
|
|
1578
1544
|
/** @internal */
|
|
1579
1545
|
export const crossLeft = dual<
|
|
1580
|
-
<
|
|
1546
|
+
<A2, E2, R2>(
|
|
1581
1547
|
that: Stream.Stream<A2, E2, R2>
|
|
1582
1548
|
) => <A, E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A, E2 | E, R2 | R>,
|
|
1583
|
-
<
|
|
1549
|
+
<A, E, R, A2, E2, R2>(
|
|
1584
1550
|
self: Stream.Stream<A, E, R>,
|
|
1585
1551
|
that: Stream.Stream<A2, E2, R2>
|
|
1586
1552
|
) => Stream.Stream<A, E2 | E, R2 | R>
|
|
1587
1553
|
>(
|
|
1588
1554
|
2,
|
|
1589
|
-
<
|
|
1555
|
+
<A, E, R, A2, E2, R2>(
|
|
1590
1556
|
self: Stream.Stream<A, E, R>,
|
|
1591
1557
|
that: Stream.Stream<A2, E2, R2>
|
|
1592
1558
|
): Stream.Stream<A, E2 | E, R2 | R> => pipe(self, crossWith(that, (a, _) => a))
|
|
@@ -1594,16 +1560,16 @@ export const crossLeft = dual<
|
|
|
1594
1560
|
|
|
1595
1561
|
/** @internal */
|
|
1596
1562
|
export const crossRight = dual<
|
|
1597
|
-
<
|
|
1563
|
+
<A2, E2, R2>(
|
|
1598
1564
|
that: Stream.Stream<A2, E2, R2>
|
|
1599
1565
|
) => <A, E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A2, E2 | E, R2 | R>,
|
|
1600
|
-
<
|
|
1566
|
+
<A, E, R, A2, E2, R2>(
|
|
1601
1567
|
self: Stream.Stream<A, E, R>,
|
|
1602
1568
|
that: Stream.Stream<A2, E2, R2>
|
|
1603
1569
|
) => Stream.Stream<A2, E2 | E, R2 | R>
|
|
1604
1570
|
>(
|
|
1605
1571
|
2,
|
|
1606
|
-
<
|
|
1572
|
+
<A, E, R, A2, E2, R2>(
|
|
1607
1573
|
self: Stream.Stream<A, E, R>,
|
|
1608
1574
|
that: Stream.Stream<A2, E2, R2>
|
|
1609
1575
|
): Stream.Stream<A2, E2 | E, R2 | R> => flatMap(self, () => that)
|
|
@@ -1611,18 +1577,18 @@ export const crossRight = dual<
|
|
|
1611
1577
|
|
|
1612
1578
|
/** @internal */
|
|
1613
1579
|
export const crossWith = dual<
|
|
1614
|
-
<
|
|
1580
|
+
<B, E2, R2, A, C>(
|
|
1615
1581
|
that: Stream.Stream<B, E2, R2>,
|
|
1616
1582
|
f: (a: A, b: B) => C
|
|
1617
|
-
) => <
|
|
1618
|
-
<
|
|
1583
|
+
) => <E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<C, E2 | E, R2 | R>,
|
|
1584
|
+
<A, E, R, B, E2, R2, C>(
|
|
1619
1585
|
self: Stream.Stream<A, E, R>,
|
|
1620
1586
|
that: Stream.Stream<B, E2, R2>,
|
|
1621
1587
|
f: (a: A, b: B) => C
|
|
1622
1588
|
) => Stream.Stream<C, E2 | E, R2 | R>
|
|
1623
1589
|
>(
|
|
1624
1590
|
3,
|
|
1625
|
-
<
|
|
1591
|
+
<A, E, R, B, E2, R2, C>(
|
|
1626
1592
|
self: Stream.Stream<A, E, R>,
|
|
1627
1593
|
that: Stream.Stream<B, E2, R2>,
|
|
1628
1594
|
f: (a: A, b: B) => C
|
|
@@ -1793,14 +1759,14 @@ export const distributedWith = dual<
|
|
|
1793
1759
|
readonly maximumLag: number
|
|
1794
1760
|
readonly decide: (a: A) => Effect.Effect<Predicate<number>>
|
|
1795
1761
|
}
|
|
1796
|
-
) => <
|
|
1762
|
+
) => <E, R>(
|
|
1797
1763
|
self: Stream.Stream<A, E, R>
|
|
1798
1764
|
) => Effect.Effect<
|
|
1799
1765
|
Stream.Stream.DynamicTuple<Queue.Dequeue<Exit.Exit<A, Option.Option<E>>>, N>,
|
|
1800
1766
|
never,
|
|
1801
1767
|
Scope.Scope | R
|
|
1802
1768
|
>,
|
|
1803
|
-
<
|
|
1769
|
+
<A, E, R, N extends number>(
|
|
1804
1770
|
self: Stream.Stream<A, E, R>,
|
|
1805
1771
|
options: {
|
|
1806
1772
|
readonly size: N
|
|
@@ -1814,7 +1780,7 @@ export const distributedWith = dual<
|
|
|
1814
1780
|
>
|
|
1815
1781
|
>(
|
|
1816
1782
|
2,
|
|
1817
|
-
<
|
|
1783
|
+
<A, E, R, N extends number>(
|
|
1818
1784
|
self: Stream.Stream<A, E, R>,
|
|
1819
1785
|
options: {
|
|
1820
1786
|
readonly size: N
|
|
@@ -1883,19 +1849,19 @@ const newDistributedWithDynamicId = () => {
|
|
|
1883
1849
|
|
|
1884
1850
|
/** @internal */
|
|
1885
1851
|
export const distributedWithDynamic = dual<
|
|
1886
|
-
<
|
|
1852
|
+
<A>(
|
|
1887
1853
|
options: {
|
|
1888
1854
|
readonly maximumLag: number
|
|
1889
1855
|
readonly decide: (a: A) => Effect.Effect<Predicate<number>>
|
|
1890
1856
|
}
|
|
1891
|
-
) => <R>(
|
|
1857
|
+
) => <E, R>(
|
|
1892
1858
|
self: Stream.Stream<A, E, R>
|
|
1893
1859
|
) => Effect.Effect<
|
|
1894
1860
|
Effect.Effect<[number, Queue.Dequeue<Exit.Exit<A, Option.Option<E>>>]>,
|
|
1895
1861
|
never,
|
|
1896
1862
|
Scope.Scope | R
|
|
1897
1863
|
>,
|
|
1898
|
-
<
|
|
1864
|
+
<A, E, R>(
|
|
1899
1865
|
self: Stream.Stream<A, E, R>,
|
|
1900
1866
|
options: {
|
|
1901
1867
|
readonly maximumLag: number
|
|
@@ -1906,7 +1872,7 @@ export const distributedWithDynamic = dual<
|
|
|
1906
1872
|
never,
|
|
1907
1873
|
Scope.Scope | R
|
|
1908
1874
|
>
|
|
1909
|
-
>(2, <
|
|
1875
|
+
>(2, <A, E, R>(
|
|
1910
1876
|
self: Stream.Stream<A, E, R>,
|
|
1911
1877
|
options: {
|
|
1912
1878
|
readonly maximumLag: number
|
|
@@ -1920,10 +1886,10 @@ export const distributedWithDynamic = dual<
|
|
|
1920
1886
|
|
|
1921
1887
|
/** @internal */
|
|
1922
1888
|
export const distributedWithDynamicCallback = dual<
|
|
1923
|
-
<
|
|
1889
|
+
<A, E, X>(
|
|
1924
1890
|
maximumLag: number,
|
|
1925
1891
|
decide: (a: A) => Effect.Effect<Predicate<number>>,
|
|
1926
|
-
done: (exit: Exit.Exit<never, Option.Option<E>>) => Effect.Effect<
|
|
1892
|
+
done: (exit: Exit.Exit<never, Option.Option<E>>) => Effect.Effect<X>
|
|
1927
1893
|
) => <R>(
|
|
1928
1894
|
self: Stream.Stream<A, E, R>
|
|
1929
1895
|
) => Effect.Effect<
|
|
@@ -1931,21 +1897,21 @@ export const distributedWithDynamicCallback = dual<
|
|
|
1931
1897
|
never,
|
|
1932
1898
|
Scope.Scope | R
|
|
1933
1899
|
>,
|
|
1934
|
-
<
|
|
1900
|
+
<A, E, R, X>(
|
|
1935
1901
|
self: Stream.Stream<A, E, R>,
|
|
1936
1902
|
maximumLag: number,
|
|
1937
1903
|
decide: (a: A) => Effect.Effect<Predicate<number>>,
|
|
1938
|
-
done: (exit: Exit.Exit<never, Option.Option<E>>) => Effect.Effect<
|
|
1904
|
+
done: (exit: Exit.Exit<never, Option.Option<E>>) => Effect.Effect<X>
|
|
1939
1905
|
) => Effect.Effect<
|
|
1940
1906
|
Effect.Effect<[number, Queue.Dequeue<Exit.Exit<A, Option.Option<E>>>]>,
|
|
1941
1907
|
never,
|
|
1942
1908
|
Scope.Scope | R
|
|
1943
1909
|
>
|
|
1944
|
-
>(4, <
|
|
1910
|
+
>(4, <A, E, R, X>(
|
|
1945
1911
|
self: Stream.Stream<A, E, R>,
|
|
1946
1912
|
maximumLag: number,
|
|
1947
1913
|
decide: (a: A) => Effect.Effect<Predicate<number>>,
|
|
1948
|
-
done: (exit: Exit.Exit<never, Option.Option<E>>) => Effect.Effect<
|
|
1914
|
+
done: (exit: Exit.Exit<never, Option.Option<E>>) => Effect.Effect<X>
|
|
1949
1915
|
): Effect.Effect<
|
|
1950
1916
|
Effect.Effect<[number, Queue.Dequeue<Exit.Exit<A, Option.Option<E>>>]>,
|
|
1951
1917
|
never,
|
|
@@ -2081,16 +2047,16 @@ export const drain = <A, E, R>(self: Stream.Stream<A, E, R>): Stream.Stream<neve
|
|
|
2081
2047
|
|
|
2082
2048
|
/** @internal */
|
|
2083
2049
|
export const drainFork = dual<
|
|
2084
|
-
<
|
|
2050
|
+
<A2, E2, R2>(
|
|
2085
2051
|
that: Stream.Stream<A2, E2, R2>
|
|
2086
2052
|
) => <A, E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A, E2 | E, R2 | R>,
|
|
2087
|
-
<
|
|
2053
|
+
<A, E, R, A2, E2, R2>(
|
|
2088
2054
|
self: Stream.Stream<A, E, R>,
|
|
2089
2055
|
that: Stream.Stream<A2, E2, R2>
|
|
2090
2056
|
) => Stream.Stream<A, E2 | E, R2 | R>
|
|
2091
2057
|
>(
|
|
2092
2058
|
2,
|
|
2093
|
-
<
|
|
2059
|
+
<A, E, R, A2, E2, R2>(
|
|
2094
2060
|
self: Stream.Stream<A, E, R>,
|
|
2095
2061
|
that: Stream.Stream<A2, E2, R2>
|
|
2096
2062
|
): Stream.Stream<A, E2 | E, R2 | R> =>
|
|
@@ -2168,7 +2134,7 @@ export const dropRight = dual<
|
|
|
2168
2134
|
|
|
2169
2135
|
/** @internal */
|
|
2170
2136
|
export const dropUntil = dual<
|
|
2171
|
-
<A>(predicate: Predicate<NoInfer<A>>) => <
|
|
2137
|
+
<A>(predicate: Predicate<NoInfer<A>>) => <E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A, E, R>,
|
|
2172
2138
|
<A, E, R>(self: Stream.Stream<A, E, R>, predicate: Predicate<A>) => Stream.Stream<A, E, R>
|
|
2173
2139
|
>(
|
|
2174
2140
|
2,
|
|
@@ -2178,16 +2144,16 @@ export const dropUntil = dual<
|
|
|
2178
2144
|
|
|
2179
2145
|
/** @internal */
|
|
2180
2146
|
export const dropUntilEffect = dual<
|
|
2181
|
-
<A,
|
|
2147
|
+
<A, E2, R2>(
|
|
2182
2148
|
predicate: (a: NoInfer<A>) => Effect.Effect<boolean, E2, R2>
|
|
2183
|
-
) => <
|
|
2184
|
-
<
|
|
2149
|
+
) => <E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A, E2 | E, R2 | R>,
|
|
2150
|
+
<A, E, R, E2, R2>(
|
|
2185
2151
|
self: Stream.Stream<A, E, R>,
|
|
2186
2152
|
predicate: (a: NoInfer<A>) => Effect.Effect<boolean, E2, R2>
|
|
2187
2153
|
) => Stream.Stream<A, E2 | E, R2 | R>
|
|
2188
2154
|
>(
|
|
2189
2155
|
2,
|
|
2190
|
-
<
|
|
2156
|
+
<A, E, R, E2, R2>(
|
|
2191
2157
|
self: Stream.Stream<A, E, R>,
|
|
2192
2158
|
predicate: (a: NoInfer<A>) => Effect.Effect<boolean, E2, R2>
|
|
2193
2159
|
): Stream.Stream<A, E2 | E, R2 | R> => {
|
|
@@ -2217,7 +2183,7 @@ export const dropUntilEffect = dual<
|
|
|
2217
2183
|
|
|
2218
2184
|
/** @internal */
|
|
2219
2185
|
export const dropWhile = dual<
|
|
2220
|
-
<A>(predicate: Predicate<NoInfer<A>>) => <
|
|
2186
|
+
<A>(predicate: Predicate<NoInfer<A>>) => <E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A, E, R>,
|
|
2221
2187
|
<A, E, R>(self: Stream.Stream<A, E, R>, predicate: Predicate<A>) => Stream.Stream<A, E, R>
|
|
2222
2188
|
>(2, <A, E, R>(self: Stream.Stream<A, E, R>, predicate: Predicate<A>): Stream.Stream<A, E, R> => {
|
|
2223
2189
|
const loop: Channel.Channel<Chunk.Chunk<A>, Chunk.Chunk<A>, never, never, unknown, unknown> = core.readWith({
|
|
@@ -2239,16 +2205,16 @@ export const dropWhile = dual<
|
|
|
2239
2205
|
|
|
2240
2206
|
/** @internal */
|
|
2241
2207
|
export const dropWhileEffect = dual<
|
|
2242
|
-
<A,
|
|
2208
|
+
<A, E2, R2>(
|
|
2243
2209
|
predicate: (a: NoInfer<A>) => Effect.Effect<boolean, E2, R2>
|
|
2244
|
-
) => <
|
|
2245
|
-
<
|
|
2210
|
+
) => <E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A, E2 | E, R2 | R>,
|
|
2211
|
+
<A, E, R, E2, R2>(
|
|
2246
2212
|
self: Stream.Stream<A, E, R>,
|
|
2247
2213
|
predicate: (a: A) => Effect.Effect<boolean, E2, R2>
|
|
2248
2214
|
) => Stream.Stream<A, E2 | E, R2 | R>
|
|
2249
2215
|
>(
|
|
2250
2216
|
2,
|
|
2251
|
-
<
|
|
2217
|
+
<A, E, R, E2, R2>(
|
|
2252
2218
|
self: Stream.Stream<A, E, R>,
|
|
2253
2219
|
predicate: (a: A) => Effect.Effect<boolean, E2, R2>
|
|
2254
2220
|
): Stream.Stream<A, E2 | E, R2 | R> => {
|
|
@@ -2280,7 +2246,7 @@ export const dropWhileEffect = dual<
|
|
|
2280
2246
|
)
|
|
2281
2247
|
|
|
2282
2248
|
/** @internal */
|
|
2283
|
-
export const either = <A, E, R>(self: Stream.Stream<A, E, R>): Stream.Stream<Either.Either<
|
|
2249
|
+
export const either = <A, E, R>(self: Stream.Stream<A, E, R>): Stream.Stream<Either.Either<A, E>, never, R> =>
|
|
2284
2250
|
pipe(self, map(Either.right), catchAll((error) => make(Either.left(error))))
|
|
2285
2251
|
|
|
2286
2252
|
/** @internal */
|
|
@@ -2288,13 +2254,13 @@ export const empty: Stream.Stream<never> = new StreamImpl(core.write(Chunk.empty
|
|
|
2288
2254
|
|
|
2289
2255
|
/** @internal */
|
|
2290
2256
|
export const ensuring = dual<
|
|
2291
|
-
<
|
|
2292
|
-
finalizer: Effect.Effect<
|
|
2257
|
+
<X, R2>(
|
|
2258
|
+
finalizer: Effect.Effect<X, never, R2>
|
|
2293
2259
|
) => <A, E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A, E, R2 | R>,
|
|
2294
|
-
<
|
|
2260
|
+
<A, E, R, X, R2>(self: Stream.Stream<A, E, R>, finalizer: Effect.Effect<X, never, R2>) => Stream.Stream<A, E, R2 | R>
|
|
2295
2261
|
>(
|
|
2296
2262
|
2,
|
|
2297
|
-
<
|
|
2263
|
+
<A, E, R, X, R2>(self: Stream.Stream<A, E, R>, finalizer: Effect.Effect<X, never, R2>): Stream.Stream<A, E, R2 | R> =>
|
|
2298
2264
|
new StreamImpl(pipe(toChannel(self), channel.ensuring(finalizer)))
|
|
2299
2265
|
)
|
|
2300
2266
|
|
|
@@ -2302,8 +2268,8 @@ export const ensuring = dual<
|
|
|
2302
2268
|
export const ensuringWith = dual<
|
|
2303
2269
|
<E, R2>(
|
|
2304
2270
|
finalizer: (exit: Exit.Exit<unknown, E>) => Effect.Effect<unknown, never, R2>
|
|
2305
|
-
) => <
|
|
2306
|
-
<
|
|
2271
|
+
) => <A, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A, E, R | R2>,
|
|
2272
|
+
<A, E, R, R2>(
|
|
2307
2273
|
self: Stream.Stream<A, E, R>,
|
|
2308
2274
|
finalizer: (exit: Exit.Exit<unknown, E>) => Effect.Effect<unknown, never, R2>
|
|
2309
2275
|
) => Stream.Stream<A, E, R | R2>
|
|
@@ -2317,17 +2283,17 @@ export const contextWith = <R, A>(f: (env: Context.Context<R>) => A): Stream.Str
|
|
|
2317
2283
|
pipe(context<R>(), map(f))
|
|
2318
2284
|
|
|
2319
2285
|
/** @internal */
|
|
2320
|
-
export const contextWithEffect = <R0,
|
|
2286
|
+
export const contextWithEffect = <R0, A, E, R>(
|
|
2321
2287
|
f: (env: Context.Context<R0>) => Effect.Effect<A, E, R>
|
|
2322
2288
|
): Stream.Stream<A, E, R0 | R> => pipe(context<R0>(), mapEffectSequential(f))
|
|
2323
2289
|
|
|
2324
2290
|
/** @internal */
|
|
2325
|
-
export const contextWithStream = <R0,
|
|
2291
|
+
export const contextWithStream = <R0, A, E, R>(
|
|
2326
2292
|
f: (env: Context.Context<R0>) => Stream.Stream<A, E, R>
|
|
2327
2293
|
): Stream.Stream<A, E, R0 | R> => pipe(context<R0>(), flatMap(f))
|
|
2328
2294
|
|
|
2329
2295
|
/** @internal */
|
|
2330
|
-
export const execute = <
|
|
2296
|
+
export const execute = <X, E, R>(effect: Effect.Effect<X, E, R>): Stream.Stream<never, E, R> =>
|
|
2331
2297
|
drain(fromEffect(effect))
|
|
2332
2298
|
|
|
2333
2299
|
/** @internal */
|
|
@@ -2348,9 +2314,9 @@ export const failCauseSync = <E>(evaluate: LazyArg<Cause.Cause<E>>): Stream.Stre
|
|
|
2348
2314
|
export const filter: {
|
|
2349
2315
|
<A, B extends A>(
|
|
2350
2316
|
refinement: Refinement<NoInfer<A>, B>
|
|
2351
|
-
): <
|
|
2352
|
-
<A, B extends A>(predicate: Predicate<B>): <
|
|
2353
|
-
<
|
|
2317
|
+
): <E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<B, E, R>
|
|
2318
|
+
<A, B extends A>(predicate: Predicate<B>): <E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A, E, R>
|
|
2319
|
+
<A, E, R, B extends A>(self: Stream.Stream<A, E, R>, refinement: Refinement<A, B>): Stream.Stream<B, E, R>
|
|
2354
2320
|
<A, E, R>(self: Stream.Stream<A, E, R>, predicate: Predicate<A>): Stream.Stream<A, E, R>
|
|
2355
2321
|
} = dual(
|
|
2356
2322
|
2,
|
|
@@ -2359,16 +2325,16 @@ export const filter: {
|
|
|
2359
2325
|
|
|
2360
2326
|
/** @internal */
|
|
2361
2327
|
export const filterEffect = dual<
|
|
2362
|
-
<A,
|
|
2328
|
+
<A, E2, R2>(
|
|
2363
2329
|
f: (a: NoInfer<A>) => Effect.Effect<boolean, E2, R2>
|
|
2364
|
-
) => <
|
|
2365
|
-
<
|
|
2330
|
+
) => <E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A, E2 | E, R2 | R>,
|
|
2331
|
+
<A, E, R, E2, R2>(
|
|
2366
2332
|
self: Stream.Stream<A, E, R>,
|
|
2367
2333
|
f: (a: A) => Effect.Effect<boolean, E2, R2>
|
|
2368
2334
|
) => Stream.Stream<A, E2 | E, R2 | R>
|
|
2369
2335
|
>(
|
|
2370
2336
|
2,
|
|
2371
|
-
<
|
|
2337
|
+
<A, E, R, E2, R2>(
|
|
2372
2338
|
self: Stream.Stream<A, E, R>,
|
|
2373
2339
|
f: (a: A) => Effect.Effect<boolean, E2, R2>
|
|
2374
2340
|
): Stream.Stream<A, E2 | E, R2 | R> => {
|
|
@@ -2402,26 +2368,26 @@ export const filterEffect = dual<
|
|
|
2402
2368
|
|
|
2403
2369
|
/** @internal */
|
|
2404
2370
|
export const filterMap = dual<
|
|
2405
|
-
<A, B>(pf: (a: A) => Option.Option<B>) => <
|
|
2406
|
-
<
|
|
2371
|
+
<A, B>(pf: (a: A) => Option.Option<B>) => <E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<B, E, R>,
|
|
2372
|
+
<A, E, R, B>(self: Stream.Stream<A, E, R>, pf: (a: A) => Option.Option<B>) => Stream.Stream<B, E, R>
|
|
2407
2373
|
>(
|
|
2408
2374
|
2,
|
|
2409
|
-
<
|
|
2375
|
+
<A, E, R, B>(self: Stream.Stream<A, E, R>, pf: (a: A) => Option.Option<B>): Stream.Stream<B, E, R> =>
|
|
2410
2376
|
mapChunks(self, Chunk.filterMap(pf))
|
|
2411
2377
|
)
|
|
2412
2378
|
|
|
2413
2379
|
/** @internal */
|
|
2414
2380
|
export const filterMapEffect = dual<
|
|
2415
|
-
<A,
|
|
2381
|
+
<A, A2, E2, R2>(
|
|
2416
2382
|
pf: (a: A) => Option.Option<Effect.Effect<A2, E2, R2>>
|
|
2417
|
-
) => <
|
|
2418
|
-
<
|
|
2383
|
+
) => <E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A2, E2 | E, R2 | R>,
|
|
2384
|
+
<A, E, R, A2, E2, R2>(
|
|
2419
2385
|
self: Stream.Stream<A, E, R>,
|
|
2420
2386
|
pf: (a: A) => Option.Option<Effect.Effect<A2, E2, R2>>
|
|
2421
2387
|
) => Stream.Stream<A2, E2 | E, R2 | R>
|
|
2422
2388
|
>(
|
|
2423
2389
|
2,
|
|
2424
|
-
<
|
|
2390
|
+
<A, E, R, A2, E2, R2>(
|
|
2425
2391
|
self: Stream.Stream<A, E, R>,
|
|
2426
2392
|
pf: (a: A) => Option.Option<Effect.Effect<A2, E2, R2>>
|
|
2427
2393
|
): Stream.Stream<A2, E | E2, R | R2> =>
|
|
@@ -2455,11 +2421,11 @@ export const filterMapEffect = dual<
|
|
|
2455
2421
|
export const filterMapWhile = dual<
|
|
2456
2422
|
<A, A2>(
|
|
2457
2423
|
pf: (a: A) => Option.Option<A2>
|
|
2458
|
-
) => <
|
|
2459
|
-
<
|
|
2424
|
+
) => <E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A2, E, R>,
|
|
2425
|
+
<A, E, R, A2>(self: Stream.Stream<A, E, R>, pf: (a: A) => Option.Option<A2>) => Stream.Stream<A2, E, R>
|
|
2460
2426
|
>(
|
|
2461
2427
|
2,
|
|
2462
|
-
<
|
|
2428
|
+
<A, E, R, A2>(self: Stream.Stream<A, E, R>, pf: (a: A) => Option.Option<A2>) => {
|
|
2463
2429
|
const loop: Channel.Channel<Chunk.Chunk<A2>, Chunk.Chunk<A>, E, E, unknown, unknown> = core.readWith({
|
|
2464
2430
|
onInput: (input: Chunk.Chunk<A>) => {
|
|
2465
2431
|
const mapped = Chunk.filterMapWhile(input, pf)
|
|
@@ -2477,16 +2443,16 @@ export const filterMapWhile = dual<
|
|
|
2477
2443
|
|
|
2478
2444
|
/** @internal */
|
|
2479
2445
|
export const filterMapWhileEffect = dual<
|
|
2480
|
-
<A,
|
|
2446
|
+
<A, A2, E2, R2>(
|
|
2481
2447
|
pf: (a: A) => Option.Option<Effect.Effect<A2, E2, R2>>
|
|
2482
|
-
) => <
|
|
2483
|
-
<
|
|
2448
|
+
) => <E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A2, E2 | E, R2 | R>,
|
|
2449
|
+
<A, E, R, A2, E2, R2>(
|
|
2484
2450
|
self: Stream.Stream<A, E, R>,
|
|
2485
2451
|
pf: (a: A) => Option.Option<Effect.Effect<A2, E2, R2>>
|
|
2486
2452
|
) => Stream.Stream<A2, E2 | E, R2 | R>
|
|
2487
2453
|
>(
|
|
2488
2454
|
2,
|
|
2489
|
-
<
|
|
2455
|
+
<A, E, R, A2, E2, R2>(
|
|
2490
2456
|
self: Stream.Stream<A, E, R>,
|
|
2491
2457
|
pf: (a: A) => Option.Option<Effect.Effect<A2, E2, R2>>
|
|
2492
2458
|
): Stream.Stream<A2, E | E2, R | R2> =>
|
|
@@ -2517,16 +2483,16 @@ export const filterMapWhileEffect = dual<
|
|
|
2517
2483
|
)
|
|
2518
2484
|
|
|
2519
2485
|
/** @internal */
|
|
2520
|
-
export const finalizer = <R,
|
|
2486
|
+
export const finalizer = <R, X>(finalizer: Effect.Effect<X, never, R>): Stream.Stream<void, never, R> =>
|
|
2521
2487
|
acquireRelease(Effect.unit, () => finalizer)
|
|
2522
2488
|
|
|
2523
2489
|
/** @internal */
|
|
2524
2490
|
export const find: {
|
|
2525
2491
|
<A, B extends A>(
|
|
2526
2492
|
refinement: Refinement<NoInfer<A>, B>
|
|
2527
|
-
): <
|
|
2528
|
-
<A>(predicate: Predicate<NoInfer<A>>): <
|
|
2529
|
-
<
|
|
2493
|
+
): <E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<B, E, R>
|
|
2494
|
+
<A>(predicate: Predicate<NoInfer<A>>): <E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A, E, R>
|
|
2495
|
+
<A, E, R, B extends A>(self: Stream.Stream<A, E, R>, refinement: Refinement<A, B>): Stream.Stream<B, E, R>
|
|
2530
2496
|
<A, E, R>(self: Stream.Stream<A, E, R>, predicate: Predicate<A>): Stream.Stream<A, E, R>
|
|
2531
2497
|
} = dual(2, <A, E, R>(self: Stream.Stream<A, E, R>, predicate: Predicate<A>): Stream.Stream<A, E, R> => {
|
|
2532
2498
|
const loop: Channel.Channel<Chunk.Chunk<A>, Chunk.Chunk<A>, E, E, unknown, unknown, R> = core.readWith({
|
|
@@ -2543,16 +2509,16 @@ export const find: {
|
|
|
2543
2509
|
|
|
2544
2510
|
/** @internal */
|
|
2545
2511
|
export const findEffect: {
|
|
2546
|
-
<A,
|
|
2512
|
+
<A, E2, R2>(
|
|
2547
2513
|
predicate: (a: NoInfer<A>) => Effect.Effect<boolean, E2, R2>
|
|
2548
|
-
): <
|
|
2549
|
-
<
|
|
2514
|
+
): <E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A, E2 | E, R2 | R>
|
|
2515
|
+
<A, E, R, E2, R2>(
|
|
2550
2516
|
self: Stream.Stream<A, E, R>,
|
|
2551
2517
|
predicate: (a: NoInfer<A>) => Effect.Effect<boolean, E2, R2>
|
|
2552
2518
|
): Stream.Stream<A, E | E2, R | R2>
|
|
2553
2519
|
} = dual(
|
|
2554
2520
|
2,
|
|
2555
|
-
<
|
|
2521
|
+
<A, E, R, E2, R2>(
|
|
2556
2522
|
self: Stream.Stream<A, E, R>,
|
|
2557
2523
|
predicate: (a: NoInfer<A>) => Effect.Effect<boolean, E2, R2>
|
|
2558
2524
|
): Stream.Stream<A, E | E2, R | R2> => {
|
|
@@ -2575,15 +2541,15 @@ export const findEffect: {
|
|
|
2575
2541
|
|
|
2576
2542
|
/** @internal */
|
|
2577
2543
|
export const flatMap = dual<
|
|
2578
|
-
<A,
|
|
2544
|
+
<A, A2, E2, R2>(
|
|
2579
2545
|
f: (a: A) => Stream.Stream<A2, E2, R2>,
|
|
2580
2546
|
options?: {
|
|
2581
2547
|
readonly concurrency?: number | "unbounded" | undefined
|
|
2582
2548
|
readonly bufferSize?: number | undefined
|
|
2583
2549
|
readonly switch?: boolean | undefined
|
|
2584
2550
|
}
|
|
2585
|
-
) => <
|
|
2586
|
-
<
|
|
2551
|
+
) => <E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A2, E2 | E, R2 | R>,
|
|
2552
|
+
<A, E, R, A2, E2, R2>(
|
|
2587
2553
|
self: Stream.Stream<A, E, R>,
|
|
2588
2554
|
f: (a: A) => Stream.Stream<A2, E2, R2>,
|
|
2589
2555
|
options?: {
|
|
@@ -2594,7 +2560,7 @@ export const flatMap = dual<
|
|
|
2594
2560
|
) => Stream.Stream<A2, E2 | E, R2 | R>
|
|
2595
2561
|
>(
|
|
2596
2562
|
(args) => isStream(args[0]),
|
|
2597
|
-
<
|
|
2563
|
+
<A, E, R, A2, E2, R2>(
|
|
2598
2564
|
self: Stream.Stream<A, E, R>,
|
|
2599
2565
|
f: (a: A) => Stream.Stream<A2, E2, R2>,
|
|
2600
2566
|
options?: {
|
|
@@ -2659,12 +2625,12 @@ export const matchConcurrency = <A>(
|
|
|
2659
2625
|
}
|
|
2660
2626
|
|
|
2661
2627
|
const flatMapParSwitchBuffer = dual<
|
|
2662
|
-
<A,
|
|
2628
|
+
<A, A2, E2, R2>(
|
|
2663
2629
|
n: number,
|
|
2664
2630
|
bufferSize: number,
|
|
2665
2631
|
f: (a: A) => Stream.Stream<A2, E2, R2>
|
|
2666
|
-
) => <
|
|
2667
|
-
<
|
|
2632
|
+
) => <E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A2, E2 | E, R2 | R>,
|
|
2633
|
+
<A, E, R, A2, E2, R2>(
|
|
2668
2634
|
self: Stream.Stream<A, E, R>,
|
|
2669
2635
|
n: number,
|
|
2670
2636
|
bufferSize: number,
|
|
@@ -2672,7 +2638,7 @@ const flatMapParSwitchBuffer = dual<
|
|
|
2672
2638
|
) => Stream.Stream<A2, E2 | E, R2 | R>
|
|
2673
2639
|
>(
|
|
2674
2640
|
4,
|
|
2675
|
-
<
|
|
2641
|
+
<A, E, R, A2, E2, R2>(
|
|
2676
2642
|
self: Stream.Stream<A, E, R>,
|
|
2677
2643
|
n: number,
|
|
2678
2644
|
bufferSize: number,
|
|
@@ -2696,10 +2662,10 @@ export const flatten = dual<
|
|
|
2696
2662
|
(options?: {
|
|
2697
2663
|
readonly concurrency?: number | "unbounded" | undefined
|
|
2698
2664
|
readonly bufferSize?: number | undefined
|
|
2699
|
-
}) => <
|
|
2665
|
+
}) => <A, E2, R2, E, R>(
|
|
2700
2666
|
self: Stream.Stream<Stream.Stream<A, E2, R2>, E, R>
|
|
2701
2667
|
) => Stream.Stream<A, E | E2, R | R2>,
|
|
2702
|
-
<
|
|
2668
|
+
<A, E2, R2, E, R>(
|
|
2703
2669
|
self: Stream.Stream<Stream.Stream<A, E2, R2>, E, R>,
|
|
2704
2670
|
options?: {
|
|
2705
2671
|
readonly concurrency?: number | "unbounded" | undefined
|
|
@@ -2730,10 +2696,10 @@ export const flattenEffect = dual<
|
|
|
2730
2696
|
readonly concurrency?: number | "unbounded" | undefined
|
|
2731
2697
|
readonly unordered?: boolean | undefined
|
|
2732
2698
|
}
|
|
2733
|
-
) => <
|
|
2699
|
+
) => <A, E2, R2, E, R>(
|
|
2734
2700
|
self: Stream.Stream<Effect.Effect<A, E2, R2>, E, R>
|
|
2735
2701
|
) => Stream.Stream<A, E | E2, R | R2>,
|
|
2736
|
-
<
|
|
2702
|
+
<A, E2, R2, E, R>(
|
|
2737
2703
|
self: Stream.Stream<Effect.Effect<A, E2, R2>, E, R>,
|
|
2738
2704
|
options?: {
|
|
2739
2705
|
readonly concurrency?: number | "unbounded" | undefined
|
|
@@ -2761,7 +2727,7 @@ export const flattenEffect = dual<
|
|
|
2761
2727
|
)
|
|
2762
2728
|
|
|
2763
2729
|
/** @internal */
|
|
2764
|
-
export const flattenExitOption = <
|
|
2730
|
+
export const flattenExitOption = <A, E2, E, R>(
|
|
2765
2731
|
self: Stream.Stream<Exit.Exit<A, Option.Option<E2>>, E, R>
|
|
2766
2732
|
): Stream.Stream<A, E | E2, R> => {
|
|
2767
2733
|
const processChunk = (
|
|
@@ -2816,7 +2782,7 @@ export const flattenIterables = <A, E, R>(self: Stream.Stream<Iterable<A>, E, R>
|
|
|
2816
2782
|
pipe(self, map(Chunk.fromIterable), flattenChunks)
|
|
2817
2783
|
|
|
2818
2784
|
/** @internal */
|
|
2819
|
-
export const flattenTake = <
|
|
2785
|
+
export const flattenTake = <A, E2, E, R>(self: Stream.Stream<Take.Take<A, E2>, E, R>): Stream.Stream<A, E | E2, R> =>
|
|
2820
2786
|
flattenChunks(flattenExitOption(pipe(self, map((take) => take.exit))))
|
|
2821
2787
|
|
|
2822
2788
|
/** @internal */
|
|
@@ -3051,7 +3017,7 @@ export const fromQueue = <A>(
|
|
|
3051
3017
|
)
|
|
3052
3018
|
|
|
3053
3019
|
/** @internal */
|
|
3054
|
-
export const fromSchedule = <
|
|
3020
|
+
export const fromSchedule = <A, R>(schedule: Schedule.Schedule<A, unknown, R>): Stream.Stream<A, never, R> =>
|
|
3055
3021
|
pipe(
|
|
3056
3022
|
Schedule.driver(schedule),
|
|
3057
3023
|
Effect.map((driver) => repeatEffectOption(driver.next(void 0))),
|
|
@@ -3133,14 +3099,14 @@ const readChunkStreamByobReader = <E>(
|
|
|
3133
3099
|
export const groupAdjacentBy = dual<
|
|
3134
3100
|
<A, K>(
|
|
3135
3101
|
f: (a: A) => K
|
|
3136
|
-
) => <
|
|
3137
|
-
<
|
|
3102
|
+
) => <E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<[K, Chunk.NonEmptyChunk<A>], E, R>,
|
|
3103
|
+
<A, E, R, K>(
|
|
3138
3104
|
self: Stream.Stream<A, E, R>,
|
|
3139
3105
|
f: (a: A) => K
|
|
3140
3106
|
) => Stream.Stream<[K, Chunk.NonEmptyChunk<A>], E, R>
|
|
3141
3107
|
>(
|
|
3142
3108
|
2,
|
|
3143
|
-
<
|
|
3109
|
+
<A, E, R, K>(
|
|
3144
3110
|
self: Stream.Stream<A, E, R>,
|
|
3145
3111
|
f: (a: A) => K
|
|
3146
3112
|
): Stream.Stream<[K, Chunk.NonEmptyChunk<A>], E, R> => {
|
|
@@ -3260,21 +3226,21 @@ export const groupedWithin = dual<
|
|
|
3260
3226
|
|
|
3261
3227
|
/** @internal */
|
|
3262
3228
|
export const haltWhen = dual<
|
|
3263
|
-
<
|
|
3264
|
-
effect: Effect.Effect<
|
|
3229
|
+
<X, E2, R2>(
|
|
3230
|
+
effect: Effect.Effect<X, E2, R2>
|
|
3265
3231
|
) => <A, E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A, E2 | E, R2 | R>,
|
|
3266
|
-
<
|
|
3232
|
+
<A, E, R, X, E2, R2>(
|
|
3267
3233
|
self: Stream.Stream<A, E, R>,
|
|
3268
|
-
effect: Effect.Effect<
|
|
3234
|
+
effect: Effect.Effect<X, E2, R2>
|
|
3269
3235
|
) => Stream.Stream<A, E2 | E, R2 | R>
|
|
3270
3236
|
>(
|
|
3271
3237
|
2,
|
|
3272
|
-
<
|
|
3238
|
+
<A, E, R, X, E2, R2>(
|
|
3273
3239
|
self: Stream.Stream<A, E, R>,
|
|
3274
|
-
effect: Effect.Effect<
|
|
3240
|
+
effect: Effect.Effect<X, E2, R2>
|
|
3275
3241
|
): Stream.Stream<A, E | E2, R | R2> => {
|
|
3276
3242
|
const writer = (
|
|
3277
|
-
fiber: Fiber.Fiber<
|
|
3243
|
+
fiber: Fiber.Fiber<X, E2>
|
|
3278
3244
|
): Channel.Channel<Chunk.Chunk<A>, Chunk.Chunk<A>, E | E2, E | E2, void, unknown, R2> =>
|
|
3279
3245
|
pipe(
|
|
3280
3246
|
Fiber.poll(fiber),
|
|
@@ -3314,11 +3280,11 @@ export const haltAfter = dual<
|
|
|
3314
3280
|
|
|
3315
3281
|
/** @internal */
|
|
3316
3282
|
export const haltWhenDeferred = dual<
|
|
3317
|
-
<
|
|
3318
|
-
<
|
|
3283
|
+
<X, E2>(deferred: Deferred.Deferred<X, E2>) => <A, E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A, E2 | E, R>,
|
|
3284
|
+
<A, E, R, X, E2>(self: Stream.Stream<A, E, R>, deferred: Deferred.Deferred<X, E2>) => Stream.Stream<A, E2 | E, R>
|
|
3319
3285
|
>(
|
|
3320
3286
|
2,
|
|
3321
|
-
<
|
|
3287
|
+
<A, E, R, X, E2>(self: Stream.Stream<A, E, R>, deferred: Deferred.Deferred<X, E2>): Stream.Stream<A, E | E2, R> => {
|
|
3322
3288
|
const writer: Channel.Channel<Chunk.Chunk<A>, Chunk.Chunk<A>, E | E2, E | E2, void, unknown, R> = pipe(
|
|
3323
3289
|
Deferred.poll(deferred),
|
|
3324
3290
|
Effect.map(Option.match({
|
|
@@ -3348,16 +3314,16 @@ export const identityStream = <A, E = never, R = never>(): Stream.Stream<A, E, R
|
|
|
3348
3314
|
|
|
3349
3315
|
/** @internal */
|
|
3350
3316
|
export const interleave = dual<
|
|
3351
|
-
<
|
|
3317
|
+
<A2, E2, R2>(
|
|
3352
3318
|
that: Stream.Stream<A2, E2, R2>
|
|
3353
3319
|
) => <A, E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A2 | A, E2 | E, R2 | R>,
|
|
3354
|
-
<
|
|
3320
|
+
<A, E, R, A2, E2, R2>(
|
|
3355
3321
|
self: Stream.Stream<A, E, R>,
|
|
3356
3322
|
that: Stream.Stream<A2, E2, R2>
|
|
3357
3323
|
) => Stream.Stream<A2 | A, E2 | E, R2 | R>
|
|
3358
3324
|
>(
|
|
3359
3325
|
2,
|
|
3360
|
-
<
|
|
3326
|
+
<A, E, R, A2, E2, R2>(
|
|
3361
3327
|
self: Stream.Stream<A, E, R>,
|
|
3362
3328
|
that: Stream.Stream<A2, E2, R2>
|
|
3363
3329
|
): Stream.Stream<A2 | A, E2 | E, R2 | R> => pipe(self, interleaveWith(that, forever(make(true, false))))
|
|
@@ -3365,18 +3331,18 @@ export const interleave = dual<
|
|
|
3365
3331
|
|
|
3366
3332
|
/** @internal */
|
|
3367
3333
|
export const interleaveWith = dual<
|
|
3368
|
-
<
|
|
3334
|
+
<A2, E2, R2, E3, R3>(
|
|
3369
3335
|
that: Stream.Stream<A2, E2, R2>,
|
|
3370
3336
|
decider: Stream.Stream<boolean, E3, R3>
|
|
3371
3337
|
) => <A, E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A2 | A, E2 | E3 | E, R2 | R3 | R>,
|
|
3372
|
-
<
|
|
3338
|
+
<A, E, R, A2, E2, R2, E3, R3>(
|
|
3373
3339
|
self: Stream.Stream<A, E, R>,
|
|
3374
3340
|
that: Stream.Stream<A2, E2, R2>,
|
|
3375
3341
|
decider: Stream.Stream<boolean, E3, R3>
|
|
3376
3342
|
) => Stream.Stream<A2 | A, E2 | E3 | E, R2 | R3 | R>
|
|
3377
3343
|
>(
|
|
3378
3344
|
3,
|
|
3379
|
-
<
|
|
3345
|
+
<A, E, R, A2, E2, R2, E3, R3>(
|
|
3380
3346
|
self: Stream.Stream<A, E, R>,
|
|
3381
3347
|
that: Stream.Stream<A2, E2, R2>,
|
|
3382
3348
|
decider: Stream.Stream<boolean, E3, R3>
|
|
@@ -3388,7 +3354,7 @@ export const interleaveWith = dual<
|
|
|
3388
3354
|
onInput: (value: A | A2) =>
|
|
3389
3355
|
core.flatMap(
|
|
3390
3356
|
core.fromEffect(
|
|
3391
|
-
Handoff.offer<Take.Take<A | A2, E | E2 | E3>>(handoff,
|
|
3357
|
+
Handoff.offer<Take.Take<A | A2, E | E2 | E3>>(handoff, InternalTake.of(value))
|
|
3392
3358
|
),
|
|
3393
3359
|
() => producer(handoff)
|
|
3394
3360
|
),
|
|
@@ -3396,12 +3362,12 @@ export const interleaveWith = dual<
|
|
|
3396
3362
|
core.fromEffect(
|
|
3397
3363
|
Handoff.offer<Take.Take<A | A2, E | E2 | E3>>(
|
|
3398
3364
|
handoff,
|
|
3399
|
-
|
|
3365
|
+
InternalTake.failCause(cause)
|
|
3400
3366
|
)
|
|
3401
3367
|
),
|
|
3402
3368
|
onDone: () =>
|
|
3403
3369
|
core.fromEffect(
|
|
3404
|
-
Handoff.offer<Take.Take<A | A2, E | E2 | E3>>(handoff,
|
|
3370
|
+
Handoff.offer<Take.Take<A | A2, E | E2 | E3>>(handoff, InternalTake.end)
|
|
3405
3371
|
)
|
|
3406
3372
|
})
|
|
3407
3373
|
return new StreamImpl(
|
|
@@ -3437,7 +3403,7 @@ export const interleaveWith = dual<
|
|
|
3437
3403
|
if (bool && !leftDone) {
|
|
3438
3404
|
return pipe(
|
|
3439
3405
|
core.fromEffect(Handoff.take(left)),
|
|
3440
|
-
core.flatMap(
|
|
3406
|
+
core.flatMap(InternalTake.match({
|
|
3441
3407
|
onEnd: () => rightDone ? core.unit : process(true, rightDone),
|
|
3442
3408
|
onFailure: core.failCause,
|
|
3443
3409
|
onSuccess: (chunk) => pipe(core.write(chunk), core.flatMap(() => process(leftDone, rightDone)))
|
|
@@ -3447,7 +3413,7 @@ export const interleaveWith = dual<
|
|
|
3447
3413
|
if (!bool && !rightDone) {
|
|
3448
3414
|
return pipe(
|
|
3449
3415
|
core.fromEffect(Handoff.take(right)),
|
|
3450
|
-
core.flatMap(
|
|
3416
|
+
core.flatMap(InternalTake.match({
|
|
3451
3417
|
onEnd: () => leftDone ? core.unit : process(leftDone, true),
|
|
3452
3418
|
onFailure: core.failCause,
|
|
3453
3419
|
onSuccess: (chunk) => pipe(core.write(chunk), core.flatMap(() => process(leftDone, rightDone)))
|
|
@@ -3474,8 +3440,8 @@ export const interleaveWith = dual<
|
|
|
3474
3440
|
/** @internal */
|
|
3475
3441
|
export const intersperse = dual<
|
|
3476
3442
|
<A2>(element: A2) => <A, E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A2 | A, E, R>,
|
|
3477
|
-
<
|
|
3478
|
-
>(2, <
|
|
3443
|
+
<A, E, R, A2>(self: Stream.Stream<A, E, R>, element: A2) => Stream.Stream<A2 | A, E, R>
|
|
3444
|
+
>(2, <A, E, R, A2>(self: Stream.Stream<A, E, R>, element: A2): Stream.Stream<A2 | A, E, R> =>
|
|
3479
3445
|
new StreamImpl(
|
|
3480
3446
|
pipe(
|
|
3481
3447
|
toChannel(self),
|
|
@@ -3520,7 +3486,7 @@ export const intersperseAffixes = dual<
|
|
|
3520
3486
|
readonly end: A4
|
|
3521
3487
|
}
|
|
3522
3488
|
) => <A, E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A2 | A3 | A4 | A, E, R>,
|
|
3523
|
-
<
|
|
3489
|
+
<A, E, R, A2, A3, A4>(
|
|
3524
3490
|
self: Stream.Stream<A, E, R>,
|
|
3525
3491
|
options: {
|
|
3526
3492
|
readonly start: A2
|
|
@@ -3530,7 +3496,7 @@ export const intersperseAffixes = dual<
|
|
|
3530
3496
|
) => Stream.Stream<A2 | A3 | A4 | A, E, R>
|
|
3531
3497
|
>(
|
|
3532
3498
|
2,
|
|
3533
|
-
<
|
|
3499
|
+
<A, E, R, A2, A3, A4>(
|
|
3534
3500
|
self: Stream.Stream<A, E, R>,
|
|
3535
3501
|
{ end, middle, start }: {
|
|
3536
3502
|
readonly start: A2
|
|
@@ -3557,28 +3523,28 @@ export const interruptAfter = dual<
|
|
|
3557
3523
|
|
|
3558
3524
|
/** @internal */
|
|
3559
3525
|
export const interruptWhen = dual<
|
|
3560
|
-
<
|
|
3561
|
-
effect: Effect.Effect<
|
|
3526
|
+
<X, E2, R2>(
|
|
3527
|
+
effect: Effect.Effect<X, E2, R2>
|
|
3562
3528
|
) => <A, E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A, E2 | E, R2 | R>,
|
|
3563
|
-
<
|
|
3529
|
+
<A, E, R, X, E2, R2>(
|
|
3564
3530
|
self: Stream.Stream<A, E, R>,
|
|
3565
|
-
effect: Effect.Effect<
|
|
3531
|
+
effect: Effect.Effect<X, E2, R2>
|
|
3566
3532
|
) => Stream.Stream<A, E2 | E, R2 | R>
|
|
3567
3533
|
>(
|
|
3568
3534
|
2,
|
|
3569
|
-
<
|
|
3535
|
+
<A, E, R, X, E2, R2>(
|
|
3570
3536
|
self: Stream.Stream<A, E, R>,
|
|
3571
|
-
effect: Effect.Effect<
|
|
3537
|
+
effect: Effect.Effect<X, E2, R2>
|
|
3572
3538
|
): Stream.Stream<A, E | E2, R | R2> => new StreamImpl(pipe(toChannel(self), channel.interruptWhen(effect)))
|
|
3573
3539
|
)
|
|
3574
3540
|
|
|
3575
3541
|
/** @internal */
|
|
3576
3542
|
export const interruptWhenDeferred = dual<
|
|
3577
|
-
<
|
|
3578
|
-
<
|
|
3543
|
+
<X, E2>(deferred: Deferred.Deferred<X, E2>) => <A, E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A, E2 | E, R>,
|
|
3544
|
+
<A, E, R, X, E2>(self: Stream.Stream<A, E, R>, deferred: Deferred.Deferred<X, E2>) => Stream.Stream<A, E2 | E, R>
|
|
3579
3545
|
>(
|
|
3580
3546
|
2,
|
|
3581
|
-
<
|
|
3547
|
+
<A, E, R, X, E2>(self: Stream.Stream<A, E, R>, deferred: Deferred.Deferred<X, E2>): Stream.Stream<A, E2 | E, R> =>
|
|
3582
3548
|
new StreamImpl(pipe(toChannel(self), channel.interruptWhenDeferred(deferred)))
|
|
3583
3549
|
)
|
|
3584
3550
|
|
|
@@ -3591,11 +3557,11 @@ export const make = <As extends Array<any>>(...as: As): Stream.Stream<As[number]
|
|
|
3591
3557
|
|
|
3592
3558
|
/** @internal */
|
|
3593
3559
|
export const map = dual<
|
|
3594
|
-
<A, B>(f: (a: A) => B) => <
|
|
3595
|
-
<
|
|
3560
|
+
<A, B>(f: (a: A) => B) => <E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<B, E, R>,
|
|
3561
|
+
<A, E, R, B>(self: Stream.Stream<A, E, R>, f: (a: A) => B) => Stream.Stream<B, E, R>
|
|
3596
3562
|
>(
|
|
3597
3563
|
2,
|
|
3598
|
-
<
|
|
3564
|
+
<A, E, R, B>(self: Stream.Stream<A, E, R>, f: (a: A) => B): Stream.Stream<B, E, R> =>
|
|
3599
3565
|
new StreamImpl(pipe(toChannel(self), channel.mapOut(Chunk.map(f))))
|
|
3600
3566
|
)
|
|
3601
3567
|
|
|
@@ -3604,11 +3570,11 @@ export const mapAccum = dual<
|
|
|
3604
3570
|
<S, A, A2>(
|
|
3605
3571
|
s: S,
|
|
3606
3572
|
f: (s: S, a: A) => readonly [S, A2]
|
|
3607
|
-
) => <
|
|
3608
|
-
<
|
|
3573
|
+
) => <E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A2, E, R>,
|
|
3574
|
+
<A, E, R, S, A2>(self: Stream.Stream<A, E, R>, s: S, f: (s: S, a: A) => readonly [S, A2]) => Stream.Stream<A2, E, R>
|
|
3609
3575
|
>(
|
|
3610
3576
|
3,
|
|
3611
|
-
<
|
|
3577
|
+
<A, E, R, S, A2>(
|
|
3612
3578
|
self: Stream.Stream<A, E, R>,
|
|
3613
3579
|
s: S,
|
|
3614
3580
|
f: (s: S, a: A) => readonly [S, A2]
|
|
@@ -3634,15 +3600,15 @@ export const mapAccumEffect = dual<
|
|
|
3634
3600
|
<S, A, A2, E2, R2>(
|
|
3635
3601
|
s: S,
|
|
3636
3602
|
f: (s: S, a: A) => Effect.Effect<readonly [S, A2], E2, R2>
|
|
3637
|
-
) => <
|
|
3638
|
-
<
|
|
3603
|
+
) => <E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A2, E2 | E, R2 | R>,
|
|
3604
|
+
<A, E, R, S, A2, E2, R2>(
|
|
3639
3605
|
self: Stream.Stream<A, E, R>,
|
|
3640
3606
|
s: S,
|
|
3641
3607
|
f: (s: S, a: A) => Effect.Effect<readonly [S, A2], E2, R2>
|
|
3642
3608
|
) => Stream.Stream<A2, E2 | E, R2 | R>
|
|
3643
3609
|
>(
|
|
3644
3610
|
3,
|
|
3645
|
-
<
|
|
3611
|
+
<A, E, R, S, A2, E2, R2>(
|
|
3646
3612
|
self: Stream.Stream<A, E, R>,
|
|
3647
3613
|
s: S,
|
|
3648
3614
|
f: (s: S, a: A) => Effect.Effect<readonly [S, A2], E2, R2>
|
|
@@ -3695,7 +3661,7 @@ export const mapBoth = dual<
|
|
|
3695
3661
|
readonly onSuccess: (a: A) => A2
|
|
3696
3662
|
}
|
|
3697
3663
|
) => <R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A2, E2, R>,
|
|
3698
|
-
<
|
|
3664
|
+
<A, E, R, E2, A2>(
|
|
3699
3665
|
self: Stream.Stream<A, E, R>,
|
|
3700
3666
|
options: {
|
|
3701
3667
|
readonly onFailure: (e: E) => E2
|
|
@@ -3704,7 +3670,7 @@ export const mapBoth = dual<
|
|
|
3704
3670
|
) => Stream.Stream<A2, E2, R>
|
|
3705
3671
|
>(
|
|
3706
3672
|
2,
|
|
3707
|
-
<
|
|
3673
|
+
<A, E, R, E2, A2>(
|
|
3708
3674
|
self: Stream.Stream<A, E, R>,
|
|
3709
3675
|
options: {
|
|
3710
3676
|
readonly onFailure: (e: E) => E2
|
|
@@ -3718,25 +3684,25 @@ export const mapChunks = dual<
|
|
|
3718
3684
|
<A, B>(
|
|
3719
3685
|
f: (chunk: Chunk.Chunk<A>) => Chunk.Chunk<B>
|
|
3720
3686
|
) => <E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<B, E, R>,
|
|
3721
|
-
<
|
|
3687
|
+
<A, E, R, B>(self: Stream.Stream<A, E, R>, f: (chunk: Chunk.Chunk<A>) => Chunk.Chunk<B>) => Stream.Stream<B, E, R>
|
|
3722
3688
|
>(
|
|
3723
3689
|
2,
|
|
3724
|
-
<
|
|
3690
|
+
<A, E, R, B>(self: Stream.Stream<A, E, R>, f: (chunk: Chunk.Chunk<A>) => Chunk.Chunk<B>): Stream.Stream<B, E, R> =>
|
|
3725
3691
|
new StreamImpl(pipe(toChannel(self), channel.mapOut(f)))
|
|
3726
3692
|
)
|
|
3727
3693
|
|
|
3728
3694
|
/** @internal */
|
|
3729
3695
|
export const mapChunksEffect = dual<
|
|
3730
|
-
<A,
|
|
3696
|
+
<A, B, E2, R2>(
|
|
3731
3697
|
f: (chunk: Chunk.Chunk<A>) => Effect.Effect<Chunk.Chunk<B>, E2, R2>
|
|
3732
|
-
) => <
|
|
3733
|
-
<
|
|
3698
|
+
) => <E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<B, E2 | E, R2 | R>,
|
|
3699
|
+
<A, E, R, B, E2, R2>(
|
|
3734
3700
|
self: Stream.Stream<A, E, R>,
|
|
3735
3701
|
f: (chunk: Chunk.Chunk<A>) => Effect.Effect<Chunk.Chunk<B>, E2, R2>
|
|
3736
3702
|
) => Stream.Stream<B, E2 | E, R2 | R>
|
|
3737
3703
|
>(
|
|
3738
3704
|
2,
|
|
3739
|
-
<
|
|
3705
|
+
<A, E, R, B, E2, R2>(
|
|
3740
3706
|
self: Stream.Stream<A, E, R>,
|
|
3741
3707
|
f: (chunk: Chunk.Chunk<A>) => Effect.Effect<Chunk.Chunk<B>, E2, R2>
|
|
3742
3708
|
): Stream.Stream<B, E2 | E, R2 | R> => new StreamImpl(pipe(toChannel(self), channel.mapOutEffect(f)))
|
|
@@ -3744,36 +3710,36 @@ export const mapChunksEffect = dual<
|
|
|
3744
3710
|
|
|
3745
3711
|
/** @internal */
|
|
3746
3712
|
export const mapConcat = dual<
|
|
3747
|
-
<A, A2>(f: (a: A) => Iterable<A2>) => <
|
|
3748
|
-
<
|
|
3713
|
+
<A, A2>(f: (a: A) => Iterable<A2>) => <E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A2, E, R>,
|
|
3714
|
+
<A, E, R, A2>(self: Stream.Stream<A, E, R>, f: (a: A) => Iterable<A2>) => Stream.Stream<A2, E, R>
|
|
3749
3715
|
>(
|
|
3750
3716
|
2,
|
|
3751
|
-
<
|
|
3717
|
+
<A, E, R, A2>(self: Stream.Stream<A, E, R>, f: (a: A) => Iterable<A2>): Stream.Stream<A2, E, R> =>
|
|
3752
3718
|
pipe(self, mapConcatChunk((a) => Chunk.fromIterable(f(a))))
|
|
3753
3719
|
)
|
|
3754
3720
|
|
|
3755
3721
|
/** @internal */
|
|
3756
3722
|
export const mapConcatChunk = dual<
|
|
3757
|
-
<A, A2>(f: (a: A) => Chunk.Chunk<A2>) => <
|
|
3758
|
-
<
|
|
3723
|
+
<A, A2>(f: (a: A) => Chunk.Chunk<A2>) => <E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A2, E, R>,
|
|
3724
|
+
<A, E, R, A2>(self: Stream.Stream<A, E, R>, f: (a: A) => Chunk.Chunk<A2>) => Stream.Stream<A2, E, R>
|
|
3759
3725
|
>(
|
|
3760
3726
|
2,
|
|
3761
|
-
<
|
|
3727
|
+
<A, E, R, A2>(self: Stream.Stream<A, E, R>, f: (a: A) => Chunk.Chunk<A2>): Stream.Stream<A2, E, R> =>
|
|
3762
3728
|
pipe(self, mapChunks(Chunk.flatMap(f)))
|
|
3763
3729
|
)
|
|
3764
3730
|
|
|
3765
3731
|
/** @internal */
|
|
3766
3732
|
export const mapConcatChunkEffect = dual<
|
|
3767
|
-
<A,
|
|
3733
|
+
<A, A2, E2, R2>(
|
|
3768
3734
|
f: (a: A) => Effect.Effect<Chunk.Chunk<A2>, E2, R2>
|
|
3769
|
-
) => <
|
|
3770
|
-
<
|
|
3735
|
+
) => <E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A2, E2 | E, R2 | R>,
|
|
3736
|
+
<A, E, R, A2, E2, R2>(
|
|
3771
3737
|
self: Stream.Stream<A, E, R>,
|
|
3772
3738
|
f: (a: A) => Effect.Effect<Chunk.Chunk<A2>, E2, R2>
|
|
3773
3739
|
) => Stream.Stream<A2, E2 | E, R2 | R>
|
|
3774
3740
|
>(
|
|
3775
3741
|
2,
|
|
3776
|
-
<
|
|
3742
|
+
<A, E, R, A2, E2, R2>(
|
|
3777
3743
|
self: Stream.Stream<A, E, R>,
|
|
3778
3744
|
f: (a: A) => Effect.Effect<Chunk.Chunk<A2>, E2, R2>
|
|
3779
3745
|
): Stream.Stream<A2, E | E2, R | R2> => pipe(self, mapEffectSequential(f), mapConcatChunk(identity))
|
|
@@ -3781,16 +3747,16 @@ export const mapConcatChunkEffect = dual<
|
|
|
3781
3747
|
|
|
3782
3748
|
/** @internal */
|
|
3783
3749
|
export const mapConcatEffect = dual<
|
|
3784
|
-
<A,
|
|
3750
|
+
<A, A2, E2, R2>(
|
|
3785
3751
|
f: (a: A) => Effect.Effect<Iterable<A2>, E2, R2>
|
|
3786
|
-
) => <
|
|
3787
|
-
<
|
|
3752
|
+
) => <E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A2, E2 | E, R2 | R>,
|
|
3753
|
+
<A, E, R, A2, E2, R2>(
|
|
3788
3754
|
self: Stream.Stream<A, E, R>,
|
|
3789
3755
|
f: (a: A) => Effect.Effect<Iterable<A2>, E2, R2>
|
|
3790
3756
|
) => Stream.Stream<A2, E2 | E, R2 | R>
|
|
3791
3757
|
>(
|
|
3792
3758
|
2,
|
|
3793
|
-
<
|
|
3759
|
+
<A, E, R, A2, E2, R2>(
|
|
3794
3760
|
self: Stream.Stream<A, E, R>,
|
|
3795
3761
|
f: (a: A) => Effect.Effect<Iterable<A2>, E2, R2>
|
|
3796
3762
|
): Stream.Stream<A2, E | E2, R | R2> =>
|
|
@@ -3799,16 +3765,16 @@ export const mapConcatEffect = dual<
|
|
|
3799
3765
|
|
|
3800
3766
|
/** @internal */
|
|
3801
3767
|
export const mapEffectSequential = dual<
|
|
3802
|
-
<A,
|
|
3768
|
+
<A, A2, E2, R2>(
|
|
3803
3769
|
f: (a: A) => Effect.Effect<A2, E2, R2>
|
|
3804
|
-
) => <
|
|
3805
|
-
<
|
|
3770
|
+
) => <E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A2, E2 | E, R2 | R>,
|
|
3771
|
+
<A, E, R, A2, E2, R2>(
|
|
3806
3772
|
self: Stream.Stream<A, E, R>,
|
|
3807
3773
|
f: (a: A) => Effect.Effect<A2, E2, R2>
|
|
3808
3774
|
) => Stream.Stream<A2, E2 | E, R2 | R>
|
|
3809
3775
|
>(
|
|
3810
3776
|
2,
|
|
3811
|
-
<
|
|
3777
|
+
<A, E, R, A2, E2, R2>(
|
|
3812
3778
|
self: Stream.Stream<A, E, R>,
|
|
3813
3779
|
f: (a: A) => Effect.Effect<A2, E2, R2>
|
|
3814
3780
|
): Stream.Stream<A2, E | E2, R | R2> => {
|
|
@@ -3842,18 +3808,18 @@ export const mapEffectSequential = dual<
|
|
|
3842
3808
|
|
|
3843
3809
|
/** @internal */
|
|
3844
3810
|
export const mapEffectPar = dual<
|
|
3845
|
-
<A,
|
|
3811
|
+
<A, A2, E2, R2>(
|
|
3846
3812
|
n: number,
|
|
3847
3813
|
f: (a: A) => Effect.Effect<A2, E2, R2>
|
|
3848
|
-
) => <
|
|
3849
|
-
<
|
|
3814
|
+
) => <E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A2, E2 | E, R2 | R>,
|
|
3815
|
+
<A, E, R, A2, E2, R2>(
|
|
3850
3816
|
self: Stream.Stream<A, E, R>,
|
|
3851
3817
|
n: number,
|
|
3852
3818
|
f: (a: A) => Effect.Effect<A2, E2, R2>
|
|
3853
3819
|
) => Stream.Stream<A2, E2 | E, R2 | R>
|
|
3854
3820
|
>(
|
|
3855
3821
|
3,
|
|
3856
|
-
<
|
|
3822
|
+
<A, E, R, A2, E2, R2>(
|
|
3857
3823
|
self: Stream.Stream<A, E, R>,
|
|
3858
3824
|
n: number,
|
|
3859
3825
|
f: (a: A) => Effect.Effect<A2, E2, R2>
|
|
@@ -3870,11 +3836,11 @@ export const mapEffectPar = dual<
|
|
|
3870
3836
|
|
|
3871
3837
|
/** @internal */
|
|
3872
3838
|
export const mapError = dual<
|
|
3873
|
-
<E, E2>(f: (error: E) => E2) => <
|
|
3874
|
-
<
|
|
3839
|
+
<E, E2>(f: (error: E) => E2) => <A, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A, E2, R>,
|
|
3840
|
+
<A, E, R, E2>(self: Stream.Stream<A, E, R>, f: (error: E) => E2) => Stream.Stream<A, E2, R>
|
|
3875
3841
|
>(
|
|
3876
3842
|
2,
|
|
3877
|
-
<
|
|
3843
|
+
<A, E, R, E2>(self: Stream.Stream<A, E, R>, f: (error: E) => E2): Stream.Stream<A, E2, R> =>
|
|
3878
3844
|
new StreamImpl(pipe(toChannel(self), channel.mapError(f)))
|
|
3879
3845
|
)
|
|
3880
3846
|
|
|
@@ -3882,23 +3848,23 @@ export const mapError = dual<
|
|
|
3882
3848
|
export const mapErrorCause = dual<
|
|
3883
3849
|
<E, E2>(
|
|
3884
3850
|
f: (cause: Cause.Cause<E>) => Cause.Cause<E2>
|
|
3885
|
-
) => <
|
|
3886
|
-
<
|
|
3851
|
+
) => <A, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A, E2, R>,
|
|
3852
|
+
<A, E, R, E2>(self: Stream.Stream<A, E, R>, f: (cause: Cause.Cause<E>) => Cause.Cause<E2>) => Stream.Stream<A, E2, R>
|
|
3887
3853
|
>(
|
|
3888
3854
|
2,
|
|
3889
|
-
<
|
|
3855
|
+
<A, E, R, E2>(self: Stream.Stream<A, E, R>, f: (cause: Cause.Cause<E>) => Cause.Cause<E2>): Stream.Stream<A, E2, R> =>
|
|
3890
3856
|
new StreamImpl(pipe(toChannel(self), channel.mapErrorCause(f)))
|
|
3891
3857
|
)
|
|
3892
3858
|
|
|
3893
3859
|
/** @internal */
|
|
3894
3860
|
export const merge = dual<
|
|
3895
|
-
<
|
|
3861
|
+
<A2, E2, R2>(
|
|
3896
3862
|
that: Stream.Stream<A2, E2, R2>,
|
|
3897
3863
|
options?: {
|
|
3898
3864
|
readonly haltStrategy?: HaltStrategy.HaltStrategyInput | undefined
|
|
3899
3865
|
}
|
|
3900
3866
|
) => <A, E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A2 | A, E2 | E, R2 | R>,
|
|
3901
|
-
<
|
|
3867
|
+
<A, E, R, A2, E2, R2>(
|
|
3902
3868
|
self: Stream.Stream<A, E, R>,
|
|
3903
3869
|
that: Stream.Stream<A2, E2, R2>,
|
|
3904
3870
|
options?: {
|
|
@@ -3907,7 +3873,7 @@ export const merge = dual<
|
|
|
3907
3873
|
) => Stream.Stream<A2 | A, E2 | E, R2 | R>
|
|
3908
3874
|
>(
|
|
3909
3875
|
(args) => isStream(args[1]),
|
|
3910
|
-
<
|
|
3876
|
+
<A, E, R, A2, E2, R2>(
|
|
3911
3877
|
self: Stream.Stream<A, E, R>,
|
|
3912
3878
|
that: Stream.Stream<A2, E2, R2>,
|
|
3913
3879
|
options?: {
|
|
@@ -3935,34 +3901,34 @@ export const mergeAll = dual<
|
|
|
3935
3901
|
|
|
3936
3902
|
/** @internal */
|
|
3937
3903
|
export const mergeEither = dual<
|
|
3938
|
-
<
|
|
3904
|
+
<A2, E2, R2>(
|
|
3939
3905
|
that: Stream.Stream<A2, E2, R2>
|
|
3940
|
-
) => <A, E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<Either.Either<
|
|
3941
|
-
<
|
|
3906
|
+
) => <A, E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<Either.Either<A2, A>, E2 | E, R2 | R>,
|
|
3907
|
+
<A, E, R, A2, E2, R2>(
|
|
3942
3908
|
self: Stream.Stream<A, E, R>,
|
|
3943
3909
|
that: Stream.Stream<A2, E2, R2>
|
|
3944
|
-
) => Stream.Stream<Either.Either<
|
|
3910
|
+
) => Stream.Stream<Either.Either<A2, A>, E2 | E, R2 | R>
|
|
3945
3911
|
>(
|
|
3946
3912
|
2,
|
|
3947
|
-
<
|
|
3913
|
+
<A, E, R, A2, E2, R2>(
|
|
3948
3914
|
self: Stream.Stream<A, E, R>,
|
|
3949
3915
|
that: Stream.Stream<A2, E2, R2>
|
|
3950
|
-
): Stream.Stream<Either.Either<
|
|
3916
|
+
): Stream.Stream<Either.Either<A2, A>, E2 | E, R2 | R> =>
|
|
3951
3917
|
mergeWith(self, that, { onSelf: Either.left, onOther: Either.right })
|
|
3952
3918
|
)
|
|
3953
3919
|
|
|
3954
3920
|
/** @internal */
|
|
3955
3921
|
export const mergeLeft = dual<
|
|
3956
|
-
<
|
|
3922
|
+
<A2, E2, R2>(
|
|
3957
3923
|
that: Stream.Stream<A2, E2, R2>
|
|
3958
3924
|
) => <A, E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A, E2 | E, R2 | R>,
|
|
3959
|
-
<
|
|
3925
|
+
<A, E, R, A2, E2, R2>(
|
|
3960
3926
|
self: Stream.Stream<A, E, R>,
|
|
3961
3927
|
that: Stream.Stream<A2, E2, R2>
|
|
3962
3928
|
) => Stream.Stream<A, E2 | E, R2 | R>
|
|
3963
3929
|
>(
|
|
3964
3930
|
2,
|
|
3965
|
-
<
|
|
3931
|
+
<A, E, R, A2, E2, R2>(
|
|
3966
3932
|
self: Stream.Stream<A, E, R>,
|
|
3967
3933
|
that: Stream.Stream<A2, E2, R2>
|
|
3968
3934
|
): Stream.Stream<A, E | E2, R | R2> => pipe(self, merge(drain(that)))
|
|
@@ -3970,16 +3936,16 @@ export const mergeLeft = dual<
|
|
|
3970
3936
|
|
|
3971
3937
|
/** @internal */
|
|
3972
3938
|
export const mergeRight = dual<
|
|
3973
|
-
<
|
|
3939
|
+
<A2, E2, R2>(
|
|
3974
3940
|
that: Stream.Stream<A2, E2, R2>
|
|
3975
3941
|
) => <A, E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A2, E2 | E, R2 | R>,
|
|
3976
|
-
<
|
|
3942
|
+
<A, E, R, A2, E2, R2>(
|
|
3977
3943
|
self: Stream.Stream<A, E, R>,
|
|
3978
3944
|
that: Stream.Stream<A2, E2, R2>
|
|
3979
3945
|
) => Stream.Stream<A2, E2 | E, R2 | R>
|
|
3980
3946
|
>(
|
|
3981
3947
|
2,
|
|
3982
|
-
<
|
|
3948
|
+
<A, E, R, A2, E2, R2>(
|
|
3983
3949
|
self: Stream.Stream<A, E, R>,
|
|
3984
3950
|
that: Stream.Stream<A2, E2, R2>
|
|
3985
3951
|
): Stream.Stream<A2, E | E2, R | R2> => pipe(drain(self), merge(that))
|
|
@@ -3987,15 +3953,15 @@ export const mergeRight = dual<
|
|
|
3987
3953
|
|
|
3988
3954
|
/** @internal */
|
|
3989
3955
|
export const mergeWith = dual<
|
|
3990
|
-
<
|
|
3956
|
+
<A2, E2, R2, A, A3, A4>(
|
|
3991
3957
|
other: Stream.Stream<A2, E2, R2>,
|
|
3992
3958
|
options: {
|
|
3993
3959
|
readonly onSelf: (a: A) => A3
|
|
3994
3960
|
readonly onOther: (a2: A2) => A4
|
|
3995
3961
|
readonly haltStrategy?: HaltStrategy.HaltStrategyInput | undefined
|
|
3996
3962
|
}
|
|
3997
|
-
) => <
|
|
3998
|
-
<
|
|
3963
|
+
) => <E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A3 | A4, E2 | E, R2 | R>,
|
|
3964
|
+
<A, E, R, A2, E2, R2, A3, A4>(
|
|
3999
3965
|
self: Stream.Stream<A, E, R>,
|
|
4000
3966
|
other: Stream.Stream<A2, E2, R2>,
|
|
4001
3967
|
options: {
|
|
@@ -4006,7 +3972,7 @@ export const mergeWith = dual<
|
|
|
4006
3972
|
) => Stream.Stream<A3 | A4, E2 | E, R2 | R>
|
|
4007
3973
|
>(
|
|
4008
3974
|
3,
|
|
4009
|
-
<
|
|
3975
|
+
<A, E, R, A2, E2, R2, A3, A4>(
|
|
4010
3976
|
self: Stream.Stream<A, E, R>,
|
|
4011
3977
|
other: Stream.Stream<A2, E2, R2>,
|
|
4012
3978
|
options: {
|
|
@@ -4035,7 +4001,7 @@ export const mergeWith = dual<
|
|
|
4035
4001
|
)
|
|
4036
4002
|
|
|
4037
4003
|
/** @internal */
|
|
4038
|
-
export const mkString = <
|
|
4004
|
+
export const mkString = <E, R>(self: Stream.Stream<string, E, R>): Effect.Effect<string, E, R> =>
|
|
4039
4005
|
run(self, _sink.mkString)
|
|
4040
4006
|
|
|
4041
4007
|
/** @internal */
|
|
@@ -4043,36 +4009,36 @@ export const never: Stream.Stream<never> = fromEffect(Effect.never)
|
|
|
4043
4009
|
|
|
4044
4010
|
/** @internal */
|
|
4045
4011
|
export const onError = dual<
|
|
4046
|
-
<E,
|
|
4047
|
-
cleanup: (cause: Cause.Cause<E>) => Effect.Effect<
|
|
4048
|
-
) => <
|
|
4049
|
-
<
|
|
4012
|
+
<E, X, R2>(
|
|
4013
|
+
cleanup: (cause: Cause.Cause<E>) => Effect.Effect<X, never, R2>
|
|
4014
|
+
) => <A, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A, E, R2 | R>,
|
|
4015
|
+
<A, E, R, X, R2>(
|
|
4050
4016
|
self: Stream.Stream<A, E, R>,
|
|
4051
|
-
cleanup: (cause: Cause.Cause<E>) => Effect.Effect<
|
|
4017
|
+
cleanup: (cause: Cause.Cause<E>) => Effect.Effect<X, never, R2>
|
|
4052
4018
|
) => Stream.Stream<A, E, R2 | R>
|
|
4053
4019
|
>(
|
|
4054
4020
|
2,
|
|
4055
|
-
<
|
|
4021
|
+
<A, E, R, X, R2>(
|
|
4056
4022
|
self: Stream.Stream<A, E, R>,
|
|
4057
|
-
cleanup: (cause: Cause.Cause<E>) => Effect.Effect<
|
|
4023
|
+
cleanup: (cause: Cause.Cause<E>) => Effect.Effect<X, never, R2>
|
|
4058
4024
|
): Stream.Stream<A, E, R | R2> =>
|
|
4059
4025
|
pipe(self, catchAllCause((cause) => fromEffect(pipe(cleanup(cause), Effect.zipRight(Effect.failCause(cause))))))
|
|
4060
4026
|
)
|
|
4061
4027
|
|
|
4062
4028
|
/** @internal */
|
|
4063
4029
|
export const onDone = dual<
|
|
4064
|
-
<
|
|
4065
|
-
cleanup: () => Effect.Effect<
|
|
4030
|
+
<X, R2>(
|
|
4031
|
+
cleanup: () => Effect.Effect<X, never, R2>
|
|
4066
4032
|
) => <A, E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A, E, R2 | R>,
|
|
4067
|
-
<
|
|
4033
|
+
<A, E, R, X, R2>(
|
|
4068
4034
|
self: Stream.Stream<A, E, R>,
|
|
4069
|
-
cleanup: () => Effect.Effect<
|
|
4035
|
+
cleanup: () => Effect.Effect<X, never, R2>
|
|
4070
4036
|
) => Stream.Stream<A, E, R2 | R>
|
|
4071
4037
|
>(
|
|
4072
4038
|
2,
|
|
4073
|
-
<
|
|
4039
|
+
<A, E, R, X, R2>(
|
|
4074
4040
|
self: Stream.Stream<A, E, R>,
|
|
4075
|
-
cleanup: () => Effect.Effect<
|
|
4041
|
+
cleanup: () => Effect.Effect<X, never, R2>
|
|
4076
4042
|
): Stream.Stream<A, E, R | R2> =>
|
|
4077
4043
|
new StreamImpl<A, E, R | R2>(
|
|
4078
4044
|
pipe(toChannel(self), core.ensuringWith((exit) => Exit.isSuccess(exit) ? cleanup() : Effect.unit))
|
|
@@ -4085,26 +4051,26 @@ export const orDie = <A, E, R>(self: Stream.Stream<A, E, R>): Stream.Stream<A, n
|
|
|
4085
4051
|
|
|
4086
4052
|
/** @internal */
|
|
4087
4053
|
export const orDieWith = dual<
|
|
4088
|
-
<E>(f: (e: E) => unknown) => <
|
|
4089
|
-
<
|
|
4054
|
+
<E>(f: (e: E) => unknown) => <A, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A, never, R>,
|
|
4055
|
+
<A, E, R>(self: Stream.Stream<A, E, R>, f: (e: E) => unknown) => Stream.Stream<A, never, R>
|
|
4090
4056
|
>(
|
|
4091
4057
|
2,
|
|
4092
|
-
<
|
|
4058
|
+
<A, E, R>(self: Stream.Stream<A, E, R>, f: (e: E) => unknown): Stream.Stream<A, never, R> =>
|
|
4093
4059
|
new StreamImpl(pipe(toChannel(self), channel.orDieWith(f)))
|
|
4094
4060
|
)
|
|
4095
4061
|
|
|
4096
4062
|
/** @internal */
|
|
4097
4063
|
export const orElse = dual<
|
|
4098
|
-
<
|
|
4064
|
+
<A2, E2, R2>(
|
|
4099
4065
|
that: LazyArg<Stream.Stream<A2, E2, R2>>
|
|
4100
4066
|
) => <A, E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A2 | A, E2, R2 | R>,
|
|
4101
|
-
<
|
|
4067
|
+
<A, E, R, A2, E2, R2>(
|
|
4102
4068
|
self: Stream.Stream<A, E, R>,
|
|
4103
4069
|
that: LazyArg<Stream.Stream<A2, E2, R2>>
|
|
4104
4070
|
) => Stream.Stream<A2 | A, E2, R2 | R>
|
|
4105
4071
|
>(
|
|
4106
4072
|
2,
|
|
4107
|
-
<
|
|
4073
|
+
<A, E, R, A2, E2, R2>(
|
|
4108
4074
|
self: Stream.Stream<A, E, R>,
|
|
4109
4075
|
that: LazyArg<Stream.Stream<A2, E2, R2>>
|
|
4110
4076
|
): Stream.Stream<A2 | A, E2, R2 | R> =>
|
|
@@ -4113,64 +4079,64 @@ export const orElse = dual<
|
|
|
4113
4079
|
|
|
4114
4080
|
/** @internal */
|
|
4115
4081
|
export const orElseEither = dual<
|
|
4116
|
-
<
|
|
4082
|
+
<A2, E2, R2>(
|
|
4117
4083
|
that: LazyArg<Stream.Stream<A2, E2, R2>>
|
|
4118
|
-
) => <A, E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<Either.Either<
|
|
4119
|
-
<
|
|
4084
|
+
) => <A, E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<Either.Either<A2, A>, E2, R2 | R>,
|
|
4085
|
+
<A, E, R, A2, E2, R2>(
|
|
4120
4086
|
self: Stream.Stream<A, E, R>,
|
|
4121
4087
|
that: LazyArg<Stream.Stream<A2, E2, R2>>
|
|
4122
|
-
) => Stream.Stream<Either.Either<
|
|
4088
|
+
) => Stream.Stream<Either.Either<A2, A>, E2, R2 | R>
|
|
4123
4089
|
>(
|
|
4124
4090
|
2,
|
|
4125
|
-
<
|
|
4091
|
+
<A, E, R, A2, E2, R2>(
|
|
4126
4092
|
self: Stream.Stream<A, E, R>,
|
|
4127
4093
|
that: LazyArg<Stream.Stream<A2, E2, R2>>
|
|
4128
|
-
): Stream.Stream<Either.Either<
|
|
4094
|
+
): Stream.Stream<Either.Either<A2, A>, E2, R2 | R> =>
|
|
4129
4095
|
pipe(self, map(Either.left), orElse(() => pipe(that(), map(Either.right))))
|
|
4130
4096
|
)
|
|
4131
4097
|
|
|
4132
4098
|
/** @internal */
|
|
4133
4099
|
export const orElseFail = dual<
|
|
4134
4100
|
<E2>(error: LazyArg<E2>) => <A, E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A, E2, R>,
|
|
4135
|
-
<
|
|
4101
|
+
<A, E, R, E2>(self: Stream.Stream<A, E, R>, error: LazyArg<E2>) => Stream.Stream<A, E2, R>
|
|
4136
4102
|
>(
|
|
4137
4103
|
2,
|
|
4138
|
-
<
|
|
4104
|
+
<A, E, R, E2>(self: Stream.Stream<A, E, R>, error: LazyArg<E2>): Stream.Stream<A, E2, R> =>
|
|
4139
4105
|
pipe(self, orElse(() => failSync(error)))
|
|
4140
4106
|
)
|
|
4141
4107
|
|
|
4142
4108
|
/** @internal */
|
|
4143
4109
|
export const orElseIfEmpty = dual<
|
|
4144
4110
|
<A2>(element: LazyArg<A2>) => <A, E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A2 | A, E, R>,
|
|
4145
|
-
<
|
|
4111
|
+
<A, E, R, A2>(self: Stream.Stream<A, E, R>, element: LazyArg<A2>) => Stream.Stream<A2 | A, E, R>
|
|
4146
4112
|
>(
|
|
4147
4113
|
2,
|
|
4148
|
-
<
|
|
4114
|
+
<A, E, R, A2>(self: Stream.Stream<A, E, R>, element: LazyArg<A2>): Stream.Stream<A | A2, E, R> =>
|
|
4149
4115
|
pipe(self, orElseIfEmptyChunk(() => Chunk.of(element())))
|
|
4150
4116
|
)
|
|
4151
4117
|
|
|
4152
4118
|
/** @internal */
|
|
4153
4119
|
export const orElseIfEmptyChunk = dual<
|
|
4154
4120
|
<A2>(chunk: LazyArg<Chunk.Chunk<A2>>) => <A, E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A2 | A, E, R>,
|
|
4155
|
-
<
|
|
4121
|
+
<A, E, R, A2>(self: Stream.Stream<A, E, R>, chunk: LazyArg<Chunk.Chunk<A2>>) => Stream.Stream<A2 | A, E, R>
|
|
4156
4122
|
>(
|
|
4157
4123
|
2,
|
|
4158
|
-
<
|
|
4124
|
+
<A, E, R, A2>(self: Stream.Stream<A, E, R>, chunk: LazyArg<Chunk.Chunk<A2>>): Stream.Stream<A | A2, E, R> =>
|
|
4159
4125
|
pipe(self, orElseIfEmptyStream(() => new StreamImpl(core.write(chunk()))))
|
|
4160
4126
|
)
|
|
4161
4127
|
|
|
4162
4128
|
/** @internal */
|
|
4163
4129
|
export const orElseIfEmptyStream = dual<
|
|
4164
|
-
<
|
|
4130
|
+
<A2, E2, R2>(
|
|
4165
4131
|
stream: LazyArg<Stream.Stream<A2, E2, R2>>
|
|
4166
4132
|
) => <A, E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A2 | A, E2 | E, R2 | R>,
|
|
4167
|
-
<
|
|
4133
|
+
<A, E, R, A2, E2, R2>(
|
|
4168
4134
|
self: Stream.Stream<A, E, R>,
|
|
4169
4135
|
stream: LazyArg<Stream.Stream<A2, E2, R2>>
|
|
4170
4136
|
) => Stream.Stream<A2 | A, E2 | E, R2 | R>
|
|
4171
4137
|
>(
|
|
4172
4138
|
2,
|
|
4173
|
-
<
|
|
4139
|
+
<A, E, R, A2, E2, R2>(
|
|
4174
4140
|
self: Stream.Stream<A, E, R>,
|
|
4175
4141
|
stream: LazyArg<Stream.Stream<A2, E2, R2>>
|
|
4176
4142
|
): Stream.Stream<A2 | A, E2 | E, R2 | R> => {
|
|
@@ -4196,10 +4162,10 @@ export const orElseIfEmptyStream = dual<
|
|
|
4196
4162
|
/** @internal */
|
|
4197
4163
|
export const orElseSucceed = dual<
|
|
4198
4164
|
<A2>(value: LazyArg<A2>) => <A, E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A2 | A, never, R>,
|
|
4199
|
-
<
|
|
4165
|
+
<A, E, R, A2>(self: Stream.Stream<A, E, R>, value: LazyArg<A2>) => Stream.Stream<A2 | A, never, R>
|
|
4200
4166
|
>(
|
|
4201
4167
|
2,
|
|
4202
|
-
<
|
|
4168
|
+
<A, E, R, A2>(self: Stream.Stream<A, E, R>, value: LazyArg<A2>): Stream.Stream<A2 | A, never, R> =>
|
|
4203
4169
|
pipe(self, orElse(() => sync(value)))
|
|
4204
4170
|
)
|
|
4205
4171
|
|
|
@@ -4226,7 +4192,7 @@ export const paginateChunk = <S, A>(
|
|
|
4226
4192
|
}
|
|
4227
4193
|
|
|
4228
4194
|
/** @internal */
|
|
4229
|
-
export const paginateChunkEffect = <S,
|
|
4195
|
+
export const paginateChunkEffect = <S, A, E, R>(
|
|
4230
4196
|
s: S,
|
|
4231
4197
|
f: (s: S) => Effect.Effect<readonly [Chunk.Chunk<A>, Option.Option<S>], E, R>
|
|
4232
4198
|
): Stream.Stream<A, E, R> => {
|
|
@@ -4242,7 +4208,7 @@ export const paginateChunkEffect = <S, R, E, A>(
|
|
|
4242
4208
|
}
|
|
4243
4209
|
|
|
4244
4210
|
/** @internal */
|
|
4245
|
-
export const paginateEffect = <S,
|
|
4211
|
+
export const paginateEffect = <S, A, E, R>(
|
|
4246
4212
|
s: S,
|
|
4247
4213
|
f: (s: S) => Effect.Effect<readonly [A, Option.Option<S>], E, R>
|
|
4248
4214
|
): Stream.Stream<A, E, R> =>
|
|
@@ -4369,7 +4335,7 @@ export const partition: {
|
|
|
4369
4335
|
options?: {
|
|
4370
4336
|
bufferSize?: number | undefined
|
|
4371
4337
|
}
|
|
4372
|
-
): <
|
|
4338
|
+
): <E, R>(
|
|
4373
4339
|
self: Stream.Stream<C, E, R>
|
|
4374
4340
|
) => Effect.Effect<
|
|
4375
4341
|
[excluded: Stream.Stream<Exclude<C, B>, E>, satisfying: Stream.Stream<B, E>],
|
|
@@ -4381,10 +4347,10 @@ export const partition: {
|
|
|
4381
4347
|
options?: {
|
|
4382
4348
|
bufferSize?: number | undefined
|
|
4383
4349
|
}
|
|
4384
|
-
): <
|
|
4350
|
+
): <E, R>(
|
|
4385
4351
|
self: Stream.Stream<A, E, R>
|
|
4386
4352
|
) => Effect.Effect<[excluded: Stream.Stream<A, E>, satisfying: Stream.Stream<A, E>], E, Scope.Scope | R>
|
|
4387
|
-
<
|
|
4353
|
+
<C extends A, E, R, B extends A, A = C>(
|
|
4388
4354
|
self: Stream.Stream<C, E, R>,
|
|
4389
4355
|
refinement: Refinement<A, B>,
|
|
4390
4356
|
options?: {
|
|
@@ -4424,21 +4390,21 @@ export const partition: {
|
|
|
4424
4390
|
|
|
4425
4391
|
/** @internal */
|
|
4426
4392
|
export const partitionEither = dual<
|
|
4427
|
-
<A,
|
|
4428
|
-
predicate: (a: NoInfer<A>) => Effect.Effect<Either.Either<
|
|
4393
|
+
<A, A3, A2, E2, R2>(
|
|
4394
|
+
predicate: (a: NoInfer<A>) => Effect.Effect<Either.Either<A3, A2>, E2, R2>,
|
|
4429
4395
|
options?: {
|
|
4430
4396
|
readonly bufferSize?: number | undefined
|
|
4431
4397
|
}
|
|
4432
|
-
) => <
|
|
4398
|
+
) => <E, R>(
|
|
4433
4399
|
self: Stream.Stream<A, E, R>
|
|
4434
4400
|
) => Effect.Effect<
|
|
4435
4401
|
[left: Stream.Stream<A2, E2 | E>, right: Stream.Stream<A3, E2 | E>],
|
|
4436
4402
|
E2 | E,
|
|
4437
4403
|
Scope.Scope | R2 | R
|
|
4438
4404
|
>,
|
|
4439
|
-
<
|
|
4405
|
+
<A, E, R, A3, A2, E2, R2>(
|
|
4440
4406
|
self: Stream.Stream<A, E, R>,
|
|
4441
|
-
predicate: (a: A) => Effect.Effect<Either.Either<
|
|
4407
|
+
predicate: (a: A) => Effect.Effect<Either.Either<A3, A2>, E2, R2>,
|
|
4442
4408
|
options?: {
|
|
4443
4409
|
readonly bufferSize?: number | undefined
|
|
4444
4410
|
}
|
|
@@ -4449,9 +4415,9 @@ export const partitionEither = dual<
|
|
|
4449
4415
|
>
|
|
4450
4416
|
>(
|
|
4451
4417
|
(args) => typeof args[1] === "function",
|
|
4452
|
-
<
|
|
4418
|
+
<A, E, R, A3, A2, E2, R2>(
|
|
4453
4419
|
self: Stream.Stream<A, E, R>,
|
|
4454
|
-
predicate: (a: A) => Effect.Effect<Either.Either<
|
|
4420
|
+
predicate: (a: A) => Effect.Effect<Either.Either<A3, A2>, E2, R2>,
|
|
4455
4421
|
options?: {
|
|
4456
4422
|
readonly bufferSize?: number | undefined
|
|
4457
4423
|
}
|
|
@@ -4548,7 +4514,7 @@ export const pipeThroughChannelOrFail = dual<
|
|
|
4548
4514
|
/** @internal */
|
|
4549
4515
|
export const prepend = dual<
|
|
4550
4516
|
<B>(values: Chunk.Chunk<B>) => <A, E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A | B, E, R>,
|
|
4551
|
-
<
|
|
4517
|
+
<A, E, R, B>(self: Stream.Stream<A, E, R>, values: Chunk.Chunk<B>) => Stream.Stream<A | B, E, R>
|
|
4552
4518
|
>(2, (self, values) =>
|
|
4553
4519
|
new StreamImpl(
|
|
4554
4520
|
channel.zipRight(
|
|
@@ -4596,14 +4562,14 @@ export const provideService = dual<
|
|
|
4596
4562
|
tag: T,
|
|
4597
4563
|
resource: Context.Tag.Service<T>
|
|
4598
4564
|
) => <A, E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A, E, Exclude<R, Context.Tag.Identifier<T>>>,
|
|
4599
|
-
<
|
|
4565
|
+
<A, E, R, T extends Context.Tag<any, any>>(
|
|
4600
4566
|
self: Stream.Stream<A, E, R>,
|
|
4601
4567
|
tag: T,
|
|
4602
4568
|
resource: Context.Tag.Service<T>
|
|
4603
4569
|
) => Stream.Stream<A, E, Exclude<R, Context.Tag.Identifier<T>>>
|
|
4604
4570
|
>(
|
|
4605
4571
|
3,
|
|
4606
|
-
<
|
|
4572
|
+
<A, E, R, T extends Context.Tag<any, any>>(
|
|
4607
4573
|
self: Stream.Stream<A, E, R>,
|
|
4608
4574
|
tag: T,
|
|
4609
4575
|
resource: Context.Tag.Service<T>
|
|
@@ -4612,18 +4578,18 @@ export const provideService = dual<
|
|
|
4612
4578
|
|
|
4613
4579
|
/** @internal */
|
|
4614
4580
|
export const provideServiceEffect = dual<
|
|
4615
|
-
<T extends Context.Tag<any, any>,
|
|
4581
|
+
<T extends Context.Tag<any, any>, E2, R2>(
|
|
4616
4582
|
tag: T,
|
|
4617
4583
|
effect: Effect.Effect<Context.Tag.Service<T>, E2, R2>
|
|
4618
4584
|
) => <A, E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A, E2 | E, R2 | Exclude<R, Context.Tag.Identifier<T>>>,
|
|
4619
|
-
<
|
|
4585
|
+
<A, E, R, T extends Context.Tag<any, any>, E2, R2>(
|
|
4620
4586
|
self: Stream.Stream<A, E, R>,
|
|
4621
4587
|
tag: T,
|
|
4622
4588
|
effect: Effect.Effect<Context.Tag.Service<T>, E2, R2>
|
|
4623
4589
|
) => Stream.Stream<A, E2 | E, R2 | Exclude<R, Context.Tag.Identifier<T>>>
|
|
4624
4590
|
>(
|
|
4625
4591
|
3,
|
|
4626
|
-
<
|
|
4592
|
+
<A, E, R, T extends Context.Tag<any, any>, E2, R2>(
|
|
4627
4593
|
self: Stream.Stream<A, E, R>,
|
|
4628
4594
|
tag: T,
|
|
4629
4595
|
effect: Effect.Effect<Context.Tag.Service<T>, E2, R2>
|
|
@@ -4632,18 +4598,18 @@ export const provideServiceEffect = dual<
|
|
|
4632
4598
|
|
|
4633
4599
|
/** @internal */
|
|
4634
4600
|
export const provideServiceStream = dual<
|
|
4635
|
-
<T extends Context.Tag<any, any>,
|
|
4601
|
+
<T extends Context.Tag<any, any>, E2, R2>(
|
|
4636
4602
|
tag: T,
|
|
4637
4603
|
stream: Stream.Stream<Context.Tag.Service<T>, E2, R2>
|
|
4638
4604
|
) => <A, E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A, E2 | E, R2 | Exclude<R, Context.Tag.Identifier<T>>>,
|
|
4639
|
-
<
|
|
4605
|
+
<A, E, R, T extends Context.Tag<any, any>, E2, R2>(
|
|
4640
4606
|
self: Stream.Stream<A, E, R>,
|
|
4641
4607
|
tag: T,
|
|
4642
4608
|
stream: Stream.Stream<Context.Tag.Service<T>, E2, R2>
|
|
4643
4609
|
) => Stream.Stream<A, E2 | E, R2 | Exclude<R, Context.Tag.Identifier<T>>>
|
|
4644
4610
|
>(
|
|
4645
4611
|
3,
|
|
4646
|
-
<
|
|
4612
|
+
<A, E, R, T extends Context.Tag<any, any>, E2, R2>(
|
|
4647
4613
|
self: Stream.Stream<A, E, R>,
|
|
4648
4614
|
tag: T,
|
|
4649
4615
|
stream: Stream.Stream<Context.Tag.Service<T>, E2, R2>
|
|
@@ -4678,13 +4644,13 @@ export const provideSomeLayer = dual<
|
|
|
4678
4644
|
<RIn, E2, ROut>(
|
|
4679
4645
|
layer: Layer.Layer<ROut, E2, RIn>
|
|
4680
4646
|
) => <A, E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A, E2 | E, RIn | Exclude<R, ROut>>,
|
|
4681
|
-
<
|
|
4647
|
+
<A, E, R, RIn, E2, ROut>(
|
|
4682
4648
|
self: Stream.Stream<A, E, R>,
|
|
4683
4649
|
layer: Layer.Layer<ROut, E2, RIn>
|
|
4684
4650
|
) => Stream.Stream<A, E2 | E, RIn | Exclude<R, ROut>>
|
|
4685
4651
|
>(
|
|
4686
4652
|
2,
|
|
4687
|
-
<
|
|
4653
|
+
<A, E, R, RIn, E2, ROut>(
|
|
4688
4654
|
self: Stream.Stream<A, E, R>,
|
|
4689
4655
|
layer: Layer.Layer<ROut, E2, RIn>
|
|
4690
4656
|
): Stream.Stream<A, E2 | E, RIn | Exclude<R, ROut>> =>
|
|
@@ -4802,11 +4768,11 @@ class StreamRechunker<out A, in out E> {
|
|
|
4802
4768
|
|
|
4803
4769
|
/** @internal */
|
|
4804
4770
|
export const refineOrDie = dual<
|
|
4805
|
-
<E, E2>(pf: (error: E) => Option.Option<E2>) => <
|
|
4806
|
-
<
|
|
4771
|
+
<E, E2>(pf: (error: E) => Option.Option<E2>) => <A, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A, E2, R>,
|
|
4772
|
+
<A, E, R, E2>(self: Stream.Stream<A, E, R>, pf: (error: E) => Option.Option<E2>) => Stream.Stream<A, E2, R>
|
|
4807
4773
|
>(
|
|
4808
4774
|
2,
|
|
4809
|
-
<
|
|
4775
|
+
<A, E, R, E2>(self: Stream.Stream<A, E, R>, pf: (error: E) => Option.Option<E2>): Stream.Stream<A, E2, R> =>
|
|
4810
4776
|
pipe(self, refineOrDieWith(pf, identity))
|
|
4811
4777
|
)
|
|
4812
4778
|
|
|
@@ -4815,15 +4781,15 @@ export const refineOrDieWith = dual<
|
|
|
4815
4781
|
<E, E2>(
|
|
4816
4782
|
pf: (error: E) => Option.Option<E2>,
|
|
4817
4783
|
f: (error: E) => unknown
|
|
4818
|
-
) => <
|
|
4819
|
-
<
|
|
4784
|
+
) => <A, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A, E2, R>,
|
|
4785
|
+
<A, E, R, E2>(
|
|
4820
4786
|
self: Stream.Stream<A, E, R>,
|
|
4821
4787
|
pf: (error: E) => Option.Option<E2>,
|
|
4822
4788
|
f: (error: E) => unknown
|
|
4823
4789
|
) => Stream.Stream<A, E2, R>
|
|
4824
4790
|
>(
|
|
4825
4791
|
3,
|
|
4826
|
-
<
|
|
4792
|
+
<A, E, R, E2>(
|
|
4827
4793
|
self: Stream.Stream<A, E, R>,
|
|
4828
4794
|
pf: (error: E) => Option.Option<E2>,
|
|
4829
4795
|
f: (error: E) => unknown
|
|
@@ -4839,18 +4805,18 @@ export const refineOrDieWith = dual<
|
|
|
4839
4805
|
|
|
4840
4806
|
/** @internal */
|
|
4841
4807
|
export const repeat = dual<
|
|
4842
|
-
<
|
|
4843
|
-
schedule: Schedule.Schedule<
|
|
4808
|
+
<B, R2>(
|
|
4809
|
+
schedule: Schedule.Schedule<B, unknown, R2>
|
|
4844
4810
|
) => <A, E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A, E, R2 | R>,
|
|
4845
|
-
<
|
|
4811
|
+
<A, E, R, B, R2>(
|
|
4846
4812
|
self: Stream.Stream<A, E, R>,
|
|
4847
|
-
schedule: Schedule.Schedule<
|
|
4813
|
+
schedule: Schedule.Schedule<B, unknown, R2>
|
|
4848
4814
|
) => Stream.Stream<A, E, R2 | R>
|
|
4849
4815
|
>(
|
|
4850
4816
|
2,
|
|
4851
|
-
<
|
|
4817
|
+
<A, E, R, B, R2>(
|
|
4852
4818
|
self: Stream.Stream<A, E, R>,
|
|
4853
|
-
schedule: Schedule.Schedule<
|
|
4819
|
+
schedule: Schedule.Schedule<B, unknown, R2>
|
|
4854
4820
|
): Stream.Stream<A, E, R | R2> =>
|
|
4855
4821
|
filterMap(
|
|
4856
4822
|
repeatEither(self, schedule),
|
|
@@ -4889,39 +4855,39 @@ export const repeatEffectOption = <A, E, R>(effect: Effect.Effect<A, Option.Opti
|
|
|
4889
4855
|
|
|
4890
4856
|
/** @internal */
|
|
4891
4857
|
export const repeatEither = dual<
|
|
4892
|
-
<
|
|
4893
|
-
schedule: Schedule.Schedule<
|
|
4894
|
-
) => <A, E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<Either.Either<
|
|
4895
|
-
<
|
|
4858
|
+
<B, R2>(
|
|
4859
|
+
schedule: Schedule.Schedule<B, unknown, R2>
|
|
4860
|
+
) => <A, E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<Either.Either<A, B>, E, R2 | R>,
|
|
4861
|
+
<A, E, R, B, R2>(
|
|
4896
4862
|
self: Stream.Stream<A, E, R>,
|
|
4897
|
-
schedule: Schedule.Schedule<
|
|
4898
|
-
) => Stream.Stream<Either.Either<
|
|
4863
|
+
schedule: Schedule.Schedule<B, unknown, R2>
|
|
4864
|
+
) => Stream.Stream<Either.Either<A, B>, E, R2 | R>
|
|
4899
4865
|
>(
|
|
4900
4866
|
2,
|
|
4901
|
-
<
|
|
4867
|
+
<A, E, R, B, R2>(
|
|
4902
4868
|
self: Stream.Stream<A, E, R>,
|
|
4903
|
-
schedule: Schedule.Schedule<
|
|
4904
|
-
): Stream.Stream<Either.Either<
|
|
4869
|
+
schedule: Schedule.Schedule<B, unknown, R2>
|
|
4870
|
+
): Stream.Stream<Either.Either<A, B>, E, R2 | R> =>
|
|
4905
4871
|
repeatWith(self, schedule, {
|
|
4906
|
-
onElement: (a): Either.Either<
|
|
4872
|
+
onElement: (a): Either.Either<A, B> => Either.right(a),
|
|
4907
4873
|
onSchedule: Either.left
|
|
4908
4874
|
})
|
|
4909
4875
|
)
|
|
4910
4876
|
|
|
4911
4877
|
/** @internal */
|
|
4912
4878
|
export const repeatElements = dual<
|
|
4913
|
-
<
|
|
4914
|
-
schedule: Schedule.Schedule<
|
|
4879
|
+
<B, R2>(
|
|
4880
|
+
schedule: Schedule.Schedule<B, unknown, R2>
|
|
4915
4881
|
) => <A, E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A, E, R2 | R>,
|
|
4916
|
-
<
|
|
4882
|
+
<A, E, R, B, R2>(
|
|
4917
4883
|
self: Stream.Stream<A, E, R>,
|
|
4918
|
-
schedule: Schedule.Schedule<
|
|
4884
|
+
schedule: Schedule.Schedule<B, unknown, R2>
|
|
4919
4885
|
) => Stream.Stream<A, E, R2 | R>
|
|
4920
4886
|
>(
|
|
4921
4887
|
2,
|
|
4922
|
-
<
|
|
4888
|
+
<A, E, R, B, R2>(
|
|
4923
4889
|
self: Stream.Stream<A, E, R>,
|
|
4924
|
-
schedule: Schedule.Schedule<
|
|
4890
|
+
schedule: Schedule.Schedule<B, unknown, R2>
|
|
4925
4891
|
): Stream.Stream<A, E, R | R2> =>
|
|
4926
4892
|
filterMap(
|
|
4927
4893
|
repeatElementsWith(self, schedule, { onElement: (a) => Option.some(a), onSchedule: Option.none }),
|
|
@@ -4931,16 +4897,16 @@ export const repeatElements = dual<
|
|
|
4931
4897
|
|
|
4932
4898
|
/** @internal */
|
|
4933
4899
|
export const repeatElementsWith = dual<
|
|
4934
|
-
<
|
|
4935
|
-
schedule: Schedule.Schedule<
|
|
4900
|
+
<B, R2, A, C>(
|
|
4901
|
+
schedule: Schedule.Schedule<B, unknown, R2>,
|
|
4936
4902
|
options: {
|
|
4937
4903
|
readonly onElement: (a: A) => C
|
|
4938
4904
|
readonly onSchedule: (b: B) => C
|
|
4939
4905
|
}
|
|
4940
|
-
) => <
|
|
4941
|
-
<
|
|
4906
|
+
) => <E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<C, E, R2 | R>,
|
|
4907
|
+
<A, E, R, B, R2, C>(
|
|
4942
4908
|
self: Stream.Stream<A, E, R>,
|
|
4943
|
-
schedule: Schedule.Schedule<
|
|
4909
|
+
schedule: Schedule.Schedule<B, unknown, R2>,
|
|
4944
4910
|
options: {
|
|
4945
4911
|
readonly onElement: (a: A) => C
|
|
4946
4912
|
readonly onSchedule: (b: B) => C
|
|
@@ -4948,9 +4914,9 @@ export const repeatElementsWith = dual<
|
|
|
4948
4914
|
) => Stream.Stream<C, E, R2 | R>
|
|
4949
4915
|
>(
|
|
4950
4916
|
3,
|
|
4951
|
-
<
|
|
4917
|
+
<A, E, R, B, R2, C>(
|
|
4952
4918
|
self: Stream.Stream<A, E, R>,
|
|
4953
|
-
schedule: Schedule.Schedule<
|
|
4919
|
+
schedule: Schedule.Schedule<B, unknown, R2>,
|
|
4954
4920
|
options: {
|
|
4955
4921
|
readonly onElement: (a: A) => C
|
|
4956
4922
|
readonly onSchedule: (b: B) => C
|
|
@@ -5020,16 +4986,16 @@ export const repeatValue = <A>(value: A): Stream.Stream<A> =>
|
|
|
5020
4986
|
|
|
5021
4987
|
/** @internal */
|
|
5022
4988
|
export const repeatWith = dual<
|
|
5023
|
-
<
|
|
5024
|
-
schedule: Schedule.Schedule<
|
|
4989
|
+
<B, R2, A, C>(
|
|
4990
|
+
schedule: Schedule.Schedule<B, unknown, R2>,
|
|
5025
4991
|
options: {
|
|
5026
4992
|
readonly onElement: (a: A) => C
|
|
5027
4993
|
readonly onSchedule: (b: B) => C
|
|
5028
4994
|
}
|
|
5029
|
-
) => <
|
|
5030
|
-
<
|
|
4995
|
+
) => <E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<C, E, R2 | R>,
|
|
4996
|
+
<A, E, R, B, R2, C>(
|
|
5031
4997
|
self: Stream.Stream<A, E, R>,
|
|
5032
|
-
schedule: Schedule.Schedule<
|
|
4998
|
+
schedule: Schedule.Schedule<B, unknown, R2>,
|
|
5033
4999
|
options: {
|
|
5034
5000
|
readonly onElement: (a: A) => C
|
|
5035
5001
|
readonly onSchedule: (b: B) => C
|
|
@@ -5037,9 +5003,9 @@ export const repeatWith = dual<
|
|
|
5037
5003
|
) => Stream.Stream<C, E, R2 | R>
|
|
5038
5004
|
>(
|
|
5039
5005
|
3,
|
|
5040
|
-
<
|
|
5006
|
+
<A, E, R, B, R2, C>(
|
|
5041
5007
|
self: Stream.Stream<A, E, R>,
|
|
5042
|
-
schedule: Schedule.Schedule<
|
|
5008
|
+
schedule: Schedule.Schedule<B, unknown, R2>,
|
|
5043
5009
|
options: {
|
|
5044
5010
|
readonly onElement: (a: A) => C
|
|
5045
5011
|
readonly onSchedule: (b: B) => C
|
|
@@ -5073,16 +5039,15 @@ export const repeatWith = dual<
|
|
|
5073
5039
|
}
|
|
5074
5040
|
)
|
|
5075
5041
|
|
|
5076
|
-
|
|
5077
|
-
export const repeatWithSchedule = <R, A, _>(
|
|
5042
|
+
const repeatWithSchedule = <A, R, X>(
|
|
5078
5043
|
value: A,
|
|
5079
|
-
schedule: Schedule.Schedule<
|
|
5044
|
+
schedule: Schedule.Schedule<X, A, R>
|
|
5080
5045
|
): Stream.Stream<A, never, R> => repeatEffectWithSchedule(Effect.succeed(value), schedule)
|
|
5081
5046
|
|
|
5082
5047
|
/** @internal */
|
|
5083
|
-
export const repeatEffectWithSchedule = <
|
|
5048
|
+
export const repeatEffectWithSchedule = <A, E, R, X, A0 extends A, R2>(
|
|
5084
5049
|
effect: Effect.Effect<A, E, R>,
|
|
5085
|
-
schedule: Schedule.Schedule<
|
|
5050
|
+
schedule: Schedule.Schedule<X, A0, R2>
|
|
5086
5051
|
): Stream.Stream<A, E, R | R2> =>
|
|
5087
5052
|
flatMap(
|
|
5088
5053
|
fromEffect(Effect.zip(effect, Schedule.driver(schedule))),
|
|
@@ -5099,18 +5064,18 @@ export const repeatEffectWithSchedule = <R, E, A, A0 extends A, R2, _>(
|
|
|
5099
5064
|
|
|
5100
5065
|
/** @internal */
|
|
5101
5066
|
export const retry = dual<
|
|
5102
|
-
<
|
|
5103
|
-
schedule: Schedule.Schedule<
|
|
5104
|
-
) => <
|
|
5105
|
-
<
|
|
5067
|
+
<E0 extends E, R2, E, X>(
|
|
5068
|
+
schedule: Schedule.Schedule<X, E0, R2>
|
|
5069
|
+
) => <A, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A, E, R2 | R>,
|
|
5070
|
+
<A, E, R, X, E0 extends E, R2>(
|
|
5106
5071
|
self: Stream.Stream<A, E, R>,
|
|
5107
|
-
schedule: Schedule.Schedule<
|
|
5072
|
+
schedule: Schedule.Schedule<X, E0, R2>
|
|
5108
5073
|
) => Stream.Stream<A, E, R2 | R>
|
|
5109
5074
|
>(
|
|
5110
5075
|
2,
|
|
5111
|
-
<
|
|
5076
|
+
<A, E, R, X, E0 extends E, R2>(
|
|
5112
5077
|
self: Stream.Stream<A, E, R>,
|
|
5113
|
-
schedule: Schedule.Schedule<
|
|
5078
|
+
schedule: Schedule.Schedule<X, E0, R2>
|
|
5114
5079
|
): Stream.Stream<A, E, R | R2> =>
|
|
5115
5080
|
unwrap(
|
|
5116
5081
|
Effect.map(Schedule.driver(schedule), (driver) => {
|
|
@@ -5155,26 +5120,26 @@ export const runDrain = <A, E, R>(self: Stream.Stream<A, E, R>): Effect.Effect<v
|
|
|
5155
5120
|
|
|
5156
5121
|
/** @internal */
|
|
5157
5122
|
export const runFold = dual<
|
|
5158
|
-
<S, A>(s: S, f: (s: S, a: A) => S) => <
|
|
5159
|
-
<
|
|
5123
|
+
<S, A>(s: S, f: (s: S, a: A) => S) => <E, R>(self: Stream.Stream<A, E, R>) => Effect.Effect<S, E, R>,
|
|
5124
|
+
<A, E, R, S>(self: Stream.Stream<A, E, R>, s: S, f: (s: S, a: A) => S) => Effect.Effect<S, E, R>
|
|
5160
5125
|
>(
|
|
5161
5126
|
3,
|
|
5162
|
-
<
|
|
5127
|
+
<A, E, R, S>(self: Stream.Stream<A, E, R>, s: S, f: (s: S, a: A) => S): Effect.Effect<S, E, R> =>
|
|
5163
5128
|
pipe(self, runFoldWhileScoped(s, constTrue, f), Effect.scoped)
|
|
5164
5129
|
)
|
|
5165
5130
|
|
|
5166
5131
|
/** @internal */
|
|
5167
5132
|
export const runFoldEffect = dual<
|
|
5168
|
-
<S, A,
|
|
5133
|
+
<S, A, E2, R2>(
|
|
5169
5134
|
s: S,
|
|
5170
5135
|
f: (s: S, a: A) => Effect.Effect<S, E2, R2>
|
|
5171
|
-
) => <
|
|
5172
|
-
<
|
|
5136
|
+
) => <E, R>(self: Stream.Stream<A, E, R>) => Effect.Effect<S, E2 | E, R2 | R>,
|
|
5137
|
+
<A, E, R, S, E2, R2>(
|
|
5173
5138
|
self: Stream.Stream<A, E, R>,
|
|
5174
5139
|
s: S,
|
|
5175
5140
|
f: (s: S, a: A) => Effect.Effect<S, E2, R2>
|
|
5176
5141
|
) => Effect.Effect<S, E2 | E, R2 | R>
|
|
5177
|
-
>(3, <
|
|
5142
|
+
>(3, <A, E, R, S, E2, R2>(
|
|
5178
5143
|
self: Stream.Stream<A, E, R>,
|
|
5179
5144
|
s: S,
|
|
5180
5145
|
f: (s: S, a: A) => Effect.Effect<S, E2, R2>
|
|
@@ -5182,26 +5147,26 @@ export const runFoldEffect = dual<
|
|
|
5182
5147
|
|
|
5183
5148
|
/** @internal */
|
|
5184
5149
|
export const runFoldScoped = dual<
|
|
5185
|
-
<S, A>(s: S, f: (s: S, a: A) => S) => <
|
|
5186
|
-
<
|
|
5150
|
+
<S, A>(s: S, f: (s: S, a: A) => S) => <E, R>(self: Stream.Stream<A, E, R>) => Effect.Effect<S, E, Scope.Scope | R>,
|
|
5151
|
+
<A, E, R, S>(self: Stream.Stream<A, E, R>, s: S, f: (s: S, a: A) => S) => Effect.Effect<S, E, Scope.Scope | R>
|
|
5187
5152
|
>(
|
|
5188
5153
|
3,
|
|
5189
|
-
<
|
|
5154
|
+
<A, E, R, S>(self: Stream.Stream<A, E, R>, s: S, f: (s: S, a: A) => S): Effect.Effect<S, E, Scope.Scope | R> =>
|
|
5190
5155
|
pipe(self, runFoldWhileScoped(s, constTrue, f))
|
|
5191
5156
|
)
|
|
5192
5157
|
|
|
5193
5158
|
/** @internal */
|
|
5194
5159
|
export const runFoldScopedEffect = dual<
|
|
5195
|
-
<S, A,
|
|
5160
|
+
<S, A, E2, R2>(
|
|
5196
5161
|
s: S,
|
|
5197
5162
|
f: (s: S, a: A) => Effect.Effect<S, E2, R2>
|
|
5198
|
-
) => <
|
|
5199
|
-
<
|
|
5163
|
+
) => <E, R>(self: Stream.Stream<A, E, R>) => Effect.Effect<S, E2 | E, Scope.Scope | R2 | R>,
|
|
5164
|
+
<A, E, R, S, E2, R2>(
|
|
5200
5165
|
self: Stream.Stream<A, E, R>,
|
|
5201
5166
|
s: S,
|
|
5202
5167
|
f: (s: S, a: A) => Effect.Effect<S, E2, R2>
|
|
5203
5168
|
) => Effect.Effect<S, E2 | E, Scope.Scope | R2 | R>
|
|
5204
|
-
>(3, <
|
|
5169
|
+
>(3, <A, E, R, S, E2, R2>(
|
|
5205
5170
|
self: Stream.Stream<A, E, R>,
|
|
5206
5171
|
s: S,
|
|
5207
5172
|
f: (s: S, a: A) => Effect.Effect<S, E2, R2>
|
|
@@ -5213,9 +5178,9 @@ export const runFoldWhile = dual<
|
|
|
5213
5178
|
s: S,
|
|
5214
5179
|
cont: Predicate<S>,
|
|
5215
5180
|
f: (s: S, a: A) => S
|
|
5216
|
-
) => <
|
|
5217
|
-
<
|
|
5218
|
-
>(4, <
|
|
5181
|
+
) => <E, R>(self: Stream.Stream<A, E, R>) => Effect.Effect<S, E, R>,
|
|
5182
|
+
<A, E, R, S>(self: Stream.Stream<A, E, R>, s: S, cont: Predicate<S>, f: (s: S, a: A) => S) => Effect.Effect<S, E, R>
|
|
5183
|
+
>(4, <A, E, R, S>(
|
|
5219
5184
|
self: Stream.Stream<A, E, R>,
|
|
5220
5185
|
s: S,
|
|
5221
5186
|
cont: Predicate<S>,
|
|
@@ -5224,18 +5189,18 @@ export const runFoldWhile = dual<
|
|
|
5224
5189
|
|
|
5225
5190
|
/** @internal */
|
|
5226
5191
|
export const runFoldWhileEffect = dual<
|
|
5227
|
-
<S, A,
|
|
5192
|
+
<S, A, E2, R2>(
|
|
5228
5193
|
s: S,
|
|
5229
5194
|
cont: Predicate<S>,
|
|
5230
5195
|
f: (s: S, a: A) => Effect.Effect<S, E2, R2>
|
|
5231
|
-
) => <
|
|
5232
|
-
<
|
|
5196
|
+
) => <E, R>(self: Stream.Stream<A, E, R>) => Effect.Effect<S, E2 | E, R2 | R>,
|
|
5197
|
+
<A, E, R, S, E2, R2>(
|
|
5233
5198
|
self: Stream.Stream<A, E, R>,
|
|
5234
5199
|
s: S,
|
|
5235
5200
|
cont: Predicate<S>,
|
|
5236
5201
|
f: (s: S, a: A) => Effect.Effect<S, E2, R2>
|
|
5237
5202
|
) => Effect.Effect<S, E2 | E, R2 | R>
|
|
5238
|
-
>(4, <
|
|
5203
|
+
>(4, <A, E, R, S, E2, R2>(
|
|
5239
5204
|
self: Stream.Stream<A, E, R>,
|
|
5240
5205
|
s: S,
|
|
5241
5206
|
cont: Predicate<S>,
|
|
@@ -5248,14 +5213,14 @@ export const runFoldWhileScoped = dual<
|
|
|
5248
5213
|
s: S,
|
|
5249
5214
|
cont: Predicate<S>,
|
|
5250
5215
|
f: (s: S, a: A) => S
|
|
5251
|
-
) => <
|
|
5252
|
-
<
|
|
5216
|
+
) => <E, R>(self: Stream.Stream<A, E, R>) => Effect.Effect<S, E, Scope.Scope | R>,
|
|
5217
|
+
<A, E, R, S>(
|
|
5253
5218
|
self: Stream.Stream<A, E, R>,
|
|
5254
5219
|
s: S,
|
|
5255
5220
|
cont: Predicate<S>,
|
|
5256
5221
|
f: (s: S, a: A) => S
|
|
5257
5222
|
) => Effect.Effect<S, E, Scope.Scope | R>
|
|
5258
|
-
>(4, <
|
|
5223
|
+
>(4, <A, E, R, S>(
|
|
5259
5224
|
self: Stream.Stream<A, E, R>,
|
|
5260
5225
|
s: S,
|
|
5261
5226
|
cont: Predicate<S>,
|
|
@@ -5264,18 +5229,18 @@ export const runFoldWhileScoped = dual<
|
|
|
5264
5229
|
|
|
5265
5230
|
/** @internal */
|
|
5266
5231
|
export const runFoldWhileScopedEffect = dual<
|
|
5267
|
-
<S, A,
|
|
5232
|
+
<S, A, E2, R2>(
|
|
5268
5233
|
s: S,
|
|
5269
5234
|
cont: Predicate<S>,
|
|
5270
5235
|
f: (s: S, a: A) => Effect.Effect<S, E2, R2>
|
|
5271
|
-
) => <
|
|
5272
|
-
<
|
|
5236
|
+
) => <E, R>(self: Stream.Stream<A, E, R>) => Effect.Effect<S, E2 | E, Scope.Scope | R2 | R>,
|
|
5237
|
+
<A, E, R, S, E2, R2>(
|
|
5273
5238
|
self: Stream.Stream<A, E, R>,
|
|
5274
5239
|
s: S,
|
|
5275
5240
|
cont: Predicate<S>,
|
|
5276
5241
|
f: (s: S, a: A) => Effect.Effect<S, E2, R2>
|
|
5277
5242
|
) => Effect.Effect<S, E2 | E, Scope.Scope | R2 | R>
|
|
5278
|
-
>(4, <
|
|
5243
|
+
>(4, <A, E, R, S, E2, R2>(
|
|
5279
5244
|
self: Stream.Stream<A, E, R>,
|
|
5280
5245
|
s: S,
|
|
5281
5246
|
cont: Predicate<S>,
|
|
@@ -5284,84 +5249,84 @@ export const runFoldWhileScopedEffect = dual<
|
|
|
5284
5249
|
|
|
5285
5250
|
/** @internal */
|
|
5286
5251
|
export const runForEach = dual<
|
|
5287
|
-
<A,
|
|
5288
|
-
f: (a: A) => Effect.Effect<
|
|
5289
|
-
) => <
|
|
5290
|
-
<
|
|
5252
|
+
<A, X, E2, R2>(
|
|
5253
|
+
f: (a: A) => Effect.Effect<X, E2, R2>
|
|
5254
|
+
) => <E, R>(self: Stream.Stream<A, E, R>) => Effect.Effect<void, E2 | E, R2 | R>,
|
|
5255
|
+
<A, E, R, X, E2, R2>(
|
|
5291
5256
|
self: Stream.Stream<A, E, R>,
|
|
5292
|
-
f: (a: A) => Effect.Effect<
|
|
5257
|
+
f: (a: A) => Effect.Effect<X, E2, R2>
|
|
5293
5258
|
) => Effect.Effect<void, E2 | E, R2 | R>
|
|
5294
|
-
>(2, <
|
|
5259
|
+
>(2, <A, E, R, X, E2, R2>(
|
|
5295
5260
|
self: Stream.Stream<A, E, R>,
|
|
5296
|
-
f: (a: A) => Effect.Effect<
|
|
5261
|
+
f: (a: A) => Effect.Effect<X, E2, R2>
|
|
5297
5262
|
): Effect.Effect<void, E2 | E, R2 | R> => pipe(self, run(_sink.forEach(f))))
|
|
5298
5263
|
|
|
5299
5264
|
/** @internal */
|
|
5300
5265
|
export const runForEachChunk = dual<
|
|
5301
|
-
<A,
|
|
5302
|
-
f: (a: Chunk.Chunk<A>) => Effect.Effect<
|
|
5303
|
-
) => <
|
|
5304
|
-
<
|
|
5266
|
+
<A, X, E2, R2>(
|
|
5267
|
+
f: (a: Chunk.Chunk<A>) => Effect.Effect<X, E2, R2>
|
|
5268
|
+
) => <E, R>(self: Stream.Stream<A, E, R>) => Effect.Effect<void, E2 | E, R2 | R>,
|
|
5269
|
+
<A, E, R, X, E2, R2>(
|
|
5305
5270
|
self: Stream.Stream<A, E, R>,
|
|
5306
|
-
f: (a: Chunk.Chunk<A>) => Effect.Effect<
|
|
5271
|
+
f: (a: Chunk.Chunk<A>) => Effect.Effect<X, E2, R2>
|
|
5307
5272
|
) => Effect.Effect<void, E2 | E, R2 | R>
|
|
5308
|
-
>(2, <
|
|
5273
|
+
>(2, <A, E, R, X, E2, R2>(
|
|
5309
5274
|
self: Stream.Stream<A, E, R>,
|
|
5310
|
-
f: (a: Chunk.Chunk<A>) => Effect.Effect<
|
|
5275
|
+
f: (a: Chunk.Chunk<A>) => Effect.Effect<X, E2, R2>
|
|
5311
5276
|
): Effect.Effect<void, E2 | E, R2 | R> => pipe(self, run(_sink.forEachChunk(f))))
|
|
5312
5277
|
|
|
5313
5278
|
/** @internal */
|
|
5314
5279
|
export const runForEachChunkScoped = dual<
|
|
5315
|
-
<A,
|
|
5316
|
-
f: (a: Chunk.Chunk<A>) => Effect.Effect<
|
|
5317
|
-
) => <
|
|
5318
|
-
<
|
|
5280
|
+
<A, X, E2, R2>(
|
|
5281
|
+
f: (a: Chunk.Chunk<A>) => Effect.Effect<X, E2, R2>
|
|
5282
|
+
) => <E, R>(self: Stream.Stream<A, E, R>) => Effect.Effect<void, E2 | E, Scope.Scope | R2 | R>,
|
|
5283
|
+
<A, E, R, X, E2, R2>(
|
|
5319
5284
|
self: Stream.Stream<A, E, R>,
|
|
5320
|
-
f: (a: Chunk.Chunk<A>) => Effect.Effect<
|
|
5285
|
+
f: (a: Chunk.Chunk<A>) => Effect.Effect<X, E2, R2>
|
|
5321
5286
|
) => Effect.Effect<void, E2 | E, Scope.Scope | R2 | R>
|
|
5322
|
-
>(2, <
|
|
5287
|
+
>(2, <A, E, R, X, E2, R2>(
|
|
5323
5288
|
self: Stream.Stream<A, E, R>,
|
|
5324
|
-
f: (a: Chunk.Chunk<A>) => Effect.Effect<
|
|
5289
|
+
f: (a: Chunk.Chunk<A>) => Effect.Effect<X, E2, R2>
|
|
5325
5290
|
): Effect.Effect<void, E2 | E, Scope.Scope | R2 | R> => pipe(self, runScoped(_sink.forEachChunk(f))))
|
|
5326
5291
|
|
|
5327
5292
|
/** @internal */
|
|
5328
5293
|
export const runForEachScoped = dual<
|
|
5329
|
-
<A,
|
|
5330
|
-
f: (a: A) => Effect.Effect<
|
|
5331
|
-
) => <
|
|
5332
|
-
<
|
|
5294
|
+
<A, X, E2, R2>(
|
|
5295
|
+
f: (a: A) => Effect.Effect<X, E2, R2>
|
|
5296
|
+
) => <E, R>(self: Stream.Stream<A, E, R>) => Effect.Effect<void, E2 | E, R2 | R | Scope.Scope>,
|
|
5297
|
+
<A, E, R, X, E2, R2>(
|
|
5333
5298
|
self: Stream.Stream<A, E, R>,
|
|
5334
|
-
f: (a: A) => Effect.Effect<
|
|
5299
|
+
f: (a: A) => Effect.Effect<X, E2, R2>
|
|
5335
5300
|
) => Effect.Effect<void, E2 | E, R2 | R | Scope.Scope>
|
|
5336
|
-
>(2, <
|
|
5301
|
+
>(2, <A, E, R, X, E2, R2>(
|
|
5337
5302
|
self: Stream.Stream<A, E, R>,
|
|
5338
|
-
f: (a: A) => Effect.Effect<
|
|
5303
|
+
f: (a: A) => Effect.Effect<X, E2, R2>
|
|
5339
5304
|
): Effect.Effect<void, E2 | E, R2 | R | Scope.Scope> => pipe(self, runScoped(_sink.forEach(f))))
|
|
5340
5305
|
|
|
5341
5306
|
/** @internal */
|
|
5342
5307
|
export const runForEachWhile = dual<
|
|
5343
|
-
<A,
|
|
5308
|
+
<A, E2, R2>(
|
|
5344
5309
|
f: (a: A) => Effect.Effect<boolean, E2, R2>
|
|
5345
|
-
) => <
|
|
5346
|
-
<
|
|
5310
|
+
) => <E, R>(self: Stream.Stream<A, E, R>) => Effect.Effect<void, E2 | E, R2 | R>,
|
|
5311
|
+
<A, E, R, E2, R2>(
|
|
5347
5312
|
self: Stream.Stream<A, E, R>,
|
|
5348
5313
|
f: (a: A) => Effect.Effect<boolean, E2, R2>
|
|
5349
5314
|
) => Effect.Effect<void, E2 | E, R2 | R>
|
|
5350
|
-
>(2, <
|
|
5315
|
+
>(2, <A, E, R, E2, R2>(
|
|
5351
5316
|
self: Stream.Stream<A, E, R>,
|
|
5352
5317
|
f: (a: A) => Effect.Effect<boolean, E2, R2>
|
|
5353
5318
|
): Effect.Effect<void, E2 | E, R2 | R> => pipe(self, run(_sink.forEachWhile(f))))
|
|
5354
5319
|
|
|
5355
5320
|
/** @internal */
|
|
5356
5321
|
export const runForEachWhileScoped = dual<
|
|
5357
|
-
<A,
|
|
5322
|
+
<A, E2, R2>(
|
|
5358
5323
|
f: (a: A) => Effect.Effect<boolean, E2, R2>
|
|
5359
|
-
) => <
|
|
5360
|
-
<
|
|
5324
|
+
) => <E, R>(self: Stream.Stream<A, E, R>) => Effect.Effect<void, E2 | E, R2 | R | Scope.Scope>,
|
|
5325
|
+
<A, E, R, E2, R2>(
|
|
5361
5326
|
self: Stream.Stream<A, E, R>,
|
|
5362
5327
|
f: (a: A) => Effect.Effect<boolean, E2, R2>
|
|
5363
5328
|
) => Effect.Effect<void, E2 | E, R2 | R | Scope.Scope>
|
|
5364
|
-
>(2, <
|
|
5329
|
+
>(2, <A, E, R, E2, R2>(
|
|
5365
5330
|
self: Stream.Stream<A, E, R>,
|
|
5366
5331
|
f: (a: A) => Effect.Effect<boolean, E2, R2>
|
|
5367
5332
|
): Effect.Effect<void, E2 | E, R2 | R | Scope.Scope> => pipe(self, runScoped(_sink.forEachWhile(f))))
|
|
@@ -5450,9 +5415,9 @@ export const runIntoQueueScoped = dual<
|
|
|
5450
5415
|
): Effect.Effect<void, never, Scope.Scope | R> => {
|
|
5451
5416
|
const writer: Channel.Channel<Take.Take<A, E>, Chunk.Chunk<A>, never, E, unknown, unknown, R> = core
|
|
5452
5417
|
.readWithCause({
|
|
5453
|
-
onInput: (input: Chunk.Chunk<A>) => core.flatMap(core.write(
|
|
5454
|
-
onFailure: (cause) => core.write(
|
|
5455
|
-
onDone: () => core.write(
|
|
5418
|
+
onInput: (input: Chunk.Chunk<A>) => core.flatMap(core.write(InternalTake.chunk(input)), () => writer),
|
|
5419
|
+
onFailure: (cause) => core.write(InternalTake.failCause(cause)),
|
|
5420
|
+
onDone: () => core.write(InternalTake.end)
|
|
5456
5421
|
})
|
|
5457
5422
|
return pipe(
|
|
5458
5423
|
core.pipeTo(toChannel(self), writer),
|
|
@@ -5488,41 +5453,41 @@ export const runScoped = dual<
|
|
|
5488
5453
|
))
|
|
5489
5454
|
|
|
5490
5455
|
/** @internal */
|
|
5491
|
-
export const runSum = <
|
|
5456
|
+
export const runSum = <E, R>(self: Stream.Stream<number, E, R>): Effect.Effect<number, E, R> =>
|
|
5492
5457
|
pipe(self, run(_sink.sum))
|
|
5493
5458
|
|
|
5494
5459
|
/** @internal */
|
|
5495
5460
|
export const scan = dual<
|
|
5496
|
-
<S, A>(s: S, f: (s: S, a: A) => S) => <
|
|
5497
|
-
<
|
|
5461
|
+
<S, A>(s: S, f: (s: S, a: A) => S) => <E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<S, E, R>,
|
|
5462
|
+
<A, E, R, S>(self: Stream.Stream<A, E, R>, s: S, f: (s: S, a: A) => S) => Stream.Stream<S, E, R>
|
|
5498
5463
|
>(
|
|
5499
5464
|
3,
|
|
5500
|
-
<
|
|
5465
|
+
<A, E, R, S>(self: Stream.Stream<A, E, R>, s: S, f: (s: S, a: A) => S): Stream.Stream<S, E, R> =>
|
|
5501
5466
|
pipe(self, scanEffect(s, (s, a) => Effect.succeed(f(s, a))))
|
|
5502
5467
|
)
|
|
5503
5468
|
|
|
5504
5469
|
/** @internal */
|
|
5505
5470
|
export const scanReduce = dual<
|
|
5506
|
-
<A2, A>(f: (a2: A2 | A, a: A) => A2) => <
|
|
5507
|
-
<
|
|
5471
|
+
<A2, A>(f: (a2: A2 | A, a: A) => A2) => <E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A2 | A, E, R>,
|
|
5472
|
+
<A, E, R, A2>(self: Stream.Stream<A, E, R>, f: (a2: A2 | A, a: A) => A2) => Stream.Stream<A2 | A, E, R>
|
|
5508
5473
|
>(
|
|
5509
5474
|
2,
|
|
5510
|
-
<
|
|
5475
|
+
<A, E, R, A2>(self: Stream.Stream<A, E, R>, f: (a2: A | A2, a: A) => A2): Stream.Stream<A | A2, E, R> =>
|
|
5511
5476
|
pipe(self, scanReduceEffect((a2, a) => Effect.succeed(f(a2, a))))
|
|
5512
5477
|
)
|
|
5513
5478
|
|
|
5514
5479
|
/** @internal */
|
|
5515
5480
|
export const scanReduceEffect = dual<
|
|
5516
|
-
<A2, A,
|
|
5481
|
+
<A2, A, E2, R2>(
|
|
5517
5482
|
f: (a2: A2 | A, a: A) => Effect.Effect<A2 | A, E2, R2>
|
|
5518
|
-
) => <
|
|
5519
|
-
<
|
|
5483
|
+
) => <E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A2 | A, E2 | E, R2 | R>,
|
|
5484
|
+
<A, E, R, A2, E2, R2>(
|
|
5520
5485
|
self: Stream.Stream<A, E, R>,
|
|
5521
5486
|
f: (a2: A2 | A, a: A) => Effect.Effect<A2 | A, E2, R2>
|
|
5522
5487
|
) => Stream.Stream<A2 | A, E2 | E, R2 | R>
|
|
5523
5488
|
>(
|
|
5524
5489
|
2,
|
|
5525
|
-
<
|
|
5490
|
+
<A, E, R, A2, E2, R2>(
|
|
5526
5491
|
self: Stream.Stream<A, E, R>,
|
|
5527
5492
|
f: (a2: A | A2, a: A) => Effect.Effect<A2 | A, E2, R2>
|
|
5528
5493
|
): Stream.Stream<A2 | A, E2 | E, R2 | R> =>
|
|
@@ -5546,18 +5511,18 @@ export const scanReduceEffect = dual<
|
|
|
5546
5511
|
|
|
5547
5512
|
/** @internal */
|
|
5548
5513
|
export const schedule = dual<
|
|
5549
|
-
<
|
|
5550
|
-
schedule: Schedule.Schedule<
|
|
5551
|
-
) => <
|
|
5552
|
-
<
|
|
5514
|
+
<X, A0 extends A, R2, A>(
|
|
5515
|
+
schedule: Schedule.Schedule<X, A0, R2>
|
|
5516
|
+
) => <E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A, E, R2 | R>,
|
|
5517
|
+
<A, E, R, X, A0 extends A, R2>(
|
|
5553
5518
|
self: Stream.Stream<A, E, R>,
|
|
5554
|
-
schedule: Schedule.Schedule<
|
|
5519
|
+
schedule: Schedule.Schedule<X, A0, R2>
|
|
5555
5520
|
) => Stream.Stream<A, E, R2 | R>
|
|
5556
5521
|
>(
|
|
5557
5522
|
2,
|
|
5558
|
-
<
|
|
5523
|
+
<A, E, R, X, A0 extends A, R2>(
|
|
5559
5524
|
self: Stream.Stream<A, E, R>,
|
|
5560
|
-
schedule: Schedule.Schedule<
|
|
5525
|
+
schedule: Schedule.Schedule<X, A0, R2>
|
|
5561
5526
|
): Stream.Stream<A, E, R | R2> =>
|
|
5562
5527
|
filterMap(
|
|
5563
5528
|
scheduleWith(self, schedule, { onElement: Option.some, onSchedule: Option.none }),
|
|
@@ -5567,16 +5532,16 @@ export const schedule = dual<
|
|
|
5567
5532
|
|
|
5568
5533
|
/** @internal */
|
|
5569
5534
|
export const scheduleWith = dual<
|
|
5570
|
-
<
|
|
5571
|
-
schedule: Schedule.Schedule<
|
|
5535
|
+
<B, A0 extends A, R2, A, C>(
|
|
5536
|
+
schedule: Schedule.Schedule<B, A0, R2>,
|
|
5572
5537
|
options: {
|
|
5573
5538
|
readonly onElement: (a: A) => C
|
|
5574
5539
|
readonly onSchedule: (b: B) => C
|
|
5575
5540
|
}
|
|
5576
|
-
) => <
|
|
5577
|
-
<
|
|
5541
|
+
) => <E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<C, E, R2 | R>,
|
|
5542
|
+
<A, E, R, B, A0 extends A, R2, C>(
|
|
5578
5543
|
self: Stream.Stream<A, E, R>,
|
|
5579
|
-
schedule: Schedule.Schedule<
|
|
5544
|
+
schedule: Schedule.Schedule<B, A0, R2>,
|
|
5580
5545
|
options: {
|
|
5581
5546
|
readonly onElement: (a: A) => C
|
|
5582
5547
|
readonly onSchedule: (b: B) => C
|
|
@@ -5584,16 +5549,16 @@ export const scheduleWith = dual<
|
|
|
5584
5549
|
) => Stream.Stream<C, E, R2 | R>
|
|
5585
5550
|
>(
|
|
5586
5551
|
3,
|
|
5587
|
-
<
|
|
5552
|
+
<A, E, R, B, A0 extends A, R2, C>(
|
|
5588
5553
|
self: Stream.Stream<A, E, R>,
|
|
5589
|
-
schedule: Schedule.Schedule<
|
|
5554
|
+
schedule: Schedule.Schedule<B, A0, R2>,
|
|
5590
5555
|
options: {
|
|
5591
5556
|
readonly onElement: (a: A) => C
|
|
5592
5557
|
readonly onSchedule: (b: B) => C
|
|
5593
5558
|
}
|
|
5594
5559
|
): Stream.Stream<C, E, R | R2> => {
|
|
5595
5560
|
const loop = (
|
|
5596
|
-
driver: Schedule.ScheduleDriver<
|
|
5561
|
+
driver: Schedule.ScheduleDriver<B, A0, R2>,
|
|
5597
5562
|
iterator: Iterator<A>
|
|
5598
5563
|
): Channel.Channel<Chunk.Chunk<C>, Chunk.Chunk<A>, E, E, unknown, unknown, R2> => {
|
|
5599
5564
|
const next = iterator.next()
|
|
@@ -5642,18 +5607,18 @@ export const scheduleWith = dual<
|
|
|
5642
5607
|
|
|
5643
5608
|
/** @internal */
|
|
5644
5609
|
export const scanEffect = dual<
|
|
5645
|
-
<S, A,
|
|
5610
|
+
<S, A, E2, R2>(
|
|
5646
5611
|
s: S,
|
|
5647
5612
|
f: (s: S, a: A) => Effect.Effect<S, E2, R2>
|
|
5648
|
-
) => <
|
|
5649
|
-
<
|
|
5613
|
+
) => <E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<S, E2 | E, R2 | R>,
|
|
5614
|
+
<A, E, R, S, E2, R2>(
|
|
5650
5615
|
self: Stream.Stream<A, E, R>,
|
|
5651
5616
|
s: S,
|
|
5652
5617
|
f: (s: S, a: A) => Effect.Effect<S, E2, R2>
|
|
5653
5618
|
) => Stream.Stream<S, E2 | E, R2 | R>
|
|
5654
5619
|
>(
|
|
5655
5620
|
3,
|
|
5656
|
-
<
|
|
5621
|
+
<A, E, R, S, E2, R2>(
|
|
5657
5622
|
self: Stream.Stream<A, E, R>,
|
|
5658
5623
|
s: S,
|
|
5659
5624
|
f: (s: S, a: A) => Effect.Effect<S, E2, R2>
|
|
@@ -5684,20 +5649,20 @@ export const some = <A, E, R>(self: Stream.Stream<Option.Option<A>, E, R>): Stre
|
|
|
5684
5649
|
/** @internal */
|
|
5685
5650
|
export const someOrElse = dual<
|
|
5686
5651
|
<A2>(fallback: LazyArg<A2>) => <A, E, R>(self: Stream.Stream<Option.Option<A>, E, R>) => Stream.Stream<A2 | A, E, R>,
|
|
5687
|
-
<
|
|
5652
|
+
<A, E, R, A2>(self: Stream.Stream<Option.Option<A>, E, R>, fallback: LazyArg<A2>) => Stream.Stream<A2 | A, E, R>
|
|
5688
5653
|
>(
|
|
5689
5654
|
2,
|
|
5690
|
-
<
|
|
5655
|
+
<A, E, R, A2>(self: Stream.Stream<Option.Option<A>, E, R>, fallback: LazyArg<A2>): Stream.Stream<A | A2, E, R> =>
|
|
5691
5656
|
pipe(self, map(Option.getOrElse(fallback)))
|
|
5692
5657
|
)
|
|
5693
5658
|
|
|
5694
5659
|
/** @internal */
|
|
5695
5660
|
export const someOrFail = dual<
|
|
5696
5661
|
<E2>(error: LazyArg<E2>) => <A, E, R>(self: Stream.Stream<Option.Option<A>, E, R>) => Stream.Stream<A, E2 | E, R>,
|
|
5697
|
-
<
|
|
5662
|
+
<A, E, R, E2>(self: Stream.Stream<Option.Option<A>, E, R>, error: LazyArg<E2>) => Stream.Stream<A, E2 | E, R>
|
|
5698
5663
|
>(
|
|
5699
5664
|
2,
|
|
5700
|
-
<
|
|
5665
|
+
<A, E, R, E2>(self: Stream.Stream<Option.Option<A>, E, R>, error: LazyArg<E2>): Stream.Stream<A, E | E2, R> =>
|
|
5701
5666
|
mapEffectSequential(
|
|
5702
5667
|
self,
|
|
5703
5668
|
Option.match({
|
|
@@ -5782,7 +5747,7 @@ export const slidingSize = dual<
|
|
|
5782
5747
|
|
|
5783
5748
|
/** @internal */
|
|
5784
5749
|
export const split = dual<
|
|
5785
|
-
<A>(predicate: Predicate<NoInfer<A>>) => <
|
|
5750
|
+
<A>(predicate: Predicate<NoInfer<A>>) => <E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<Chunk.Chunk<A>, E, R>,
|
|
5786
5751
|
<A, E, R>(self: Stream.Stream<A, E, R>, predicate: Predicate<A>) => Stream.Stream<Chunk.Chunk<A>, E, R>
|
|
5787
5752
|
>(2, <A, E, R>(self: Stream.Stream<A, E, R>, predicate: Predicate<A>): Stream.Stream<Chunk.Chunk<A>, E, R> => {
|
|
5788
5753
|
const split = (
|
|
@@ -5822,7 +5787,7 @@ export const split = dual<
|
|
|
5822
5787
|
|
|
5823
5788
|
/** @internal */
|
|
5824
5789
|
export const splitOnChunk = dual<
|
|
5825
|
-
<A>(delimiter: Chunk.Chunk<A>) => <
|
|
5790
|
+
<A>(delimiter: Chunk.Chunk<A>) => <E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<Chunk.Chunk<A>, E, R>,
|
|
5826
5791
|
<A, E, R>(self: Stream.Stream<A, E, R>, delimiter: Chunk.Chunk<A>) => Stream.Stream<Chunk.Chunk<A>, E, R>
|
|
5827
5792
|
>(2, <A, E, R>(self: Stream.Stream<A, E, R>, delimiter: Chunk.Chunk<A>): Stream.Stream<Chunk.Chunk<A>, E, R> => {
|
|
5828
5793
|
const next = (
|
|
@@ -5880,7 +5845,7 @@ export const splitOnChunk = dual<
|
|
|
5880
5845
|
})
|
|
5881
5846
|
|
|
5882
5847
|
/** @internal */
|
|
5883
|
-
export const splitLines = <
|
|
5848
|
+
export const splitLines = <E, R>(self: Stream.Stream<string, E, R>): Stream.Stream<string, E, R> =>
|
|
5884
5849
|
suspend(() => {
|
|
5885
5850
|
let stringBuilder = ""
|
|
5886
5851
|
let midCRLF = false
|
|
@@ -6034,7 +5999,7 @@ export const takeRight = dual<
|
|
|
6034
5999
|
|
|
6035
6000
|
/** @internal */
|
|
6036
6001
|
export const takeUntil: {
|
|
6037
|
-
<A>(predicate: Predicate<NoInfer<A>>): <
|
|
6002
|
+
<A>(predicate: Predicate<NoInfer<A>>): <E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A, E, R>
|
|
6038
6003
|
<A, E, R>(self: Stream.Stream<A, E, R>, predicate: Predicate<A>): Stream.Stream<A, E, R>
|
|
6039
6004
|
} = dual(2, <A, E, R>(self: Stream.Stream<A, E, R>, predicate: Predicate<A>): Stream.Stream<A, E, R> => {
|
|
6040
6005
|
const loop: Channel.Channel<Chunk.Chunk<A>, Chunk.Chunk<A>, never, never, unknown, unknown> = core.readWith({
|
|
@@ -6054,16 +6019,16 @@ export const takeUntil: {
|
|
|
6054
6019
|
|
|
6055
6020
|
/** @internal */
|
|
6056
6021
|
export const takeUntilEffect: {
|
|
6057
|
-
<A,
|
|
6022
|
+
<A, E2, R2>(
|
|
6058
6023
|
predicate: (a: NoInfer<A>) => Effect.Effect<boolean, E2, R2>
|
|
6059
|
-
): <
|
|
6060
|
-
<
|
|
6024
|
+
): <E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A, E2 | E, R2 | R>
|
|
6025
|
+
<A, E, R, E2, R2>(
|
|
6061
6026
|
self: Stream.Stream<A, E, R>,
|
|
6062
6027
|
predicate: (a: A) => Effect.Effect<boolean, E2, R2>
|
|
6063
6028
|
): Stream.Stream<A, E | E2, R | R2>
|
|
6064
6029
|
} = dual(
|
|
6065
6030
|
2,
|
|
6066
|
-
<
|
|
6031
|
+
<A, E, R, E2, R2>(
|
|
6067
6032
|
self: Stream.Stream<A, E, R>,
|
|
6068
6033
|
predicate: (a: A) => Effect.Effect<boolean, E2, R2>
|
|
6069
6034
|
): Stream.Stream<A, E | E2, R | R2> => {
|
|
@@ -6099,9 +6064,9 @@ export const takeUntilEffect: {
|
|
|
6099
6064
|
export const takeWhile: {
|
|
6100
6065
|
<A, B extends A>(
|
|
6101
6066
|
refinement: Refinement<NoInfer<A>, B>
|
|
6102
|
-
): <
|
|
6103
|
-
<A>(predicate: Predicate<NoInfer<A>>): <
|
|
6104
|
-
<
|
|
6067
|
+
): <E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<B, E, R>
|
|
6068
|
+
<A>(predicate: Predicate<NoInfer<A>>): <E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A, E, R>
|
|
6069
|
+
<A, E, R, B extends A>(self: Stream.Stream<A, E, R>, refinement: Refinement<A, B>): Stream.Stream<B, E, R>
|
|
6105
6070
|
<A, E, R>(self: Stream.Stream<A, E, R>, predicate: Predicate<A>): Stream.Stream<A, E, R>
|
|
6106
6071
|
} = dual(2, <A, E, R>(self: Stream.Stream<A, E, R>, predicate: Predicate<A>): Stream.Stream<A, E, R> => {
|
|
6107
6072
|
const loop: Channel.Channel<Chunk.Chunk<A>, Chunk.Chunk<A>, never, never, unknown, unknown> = core.readWith({
|
|
@@ -6121,30 +6086,30 @@ export const takeWhile: {
|
|
|
6121
6086
|
|
|
6122
6087
|
/** @internal */
|
|
6123
6088
|
export const tap: {
|
|
6124
|
-
<A,
|
|
6125
|
-
f: (a: NoInfer<A>) => Effect.Effect<
|
|
6126
|
-
): <
|
|
6127
|
-
<
|
|
6089
|
+
<A, X, E2, R2>(
|
|
6090
|
+
f: (a: NoInfer<A>) => Effect.Effect<X, E2, R2>
|
|
6091
|
+
): <E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A, E2 | E, R2 | R>
|
|
6092
|
+
<A, E, R, X, E2, R2>(
|
|
6128
6093
|
self: Stream.Stream<A, E, R>,
|
|
6129
|
-
f: (a: NoInfer<A>) => Effect.Effect<
|
|
6094
|
+
f: (a: NoInfer<A>) => Effect.Effect<X, E2, R2>
|
|
6130
6095
|
): Stream.Stream<A, E | E2, R | R2>
|
|
6131
6096
|
} = dual(
|
|
6132
6097
|
2,
|
|
6133
|
-
<
|
|
6098
|
+
<A, E, R, X, E2, R2>(
|
|
6134
6099
|
self: Stream.Stream<A, E, R>,
|
|
6135
|
-
f: (a: NoInfer<A>) => Effect.Effect<
|
|
6100
|
+
f: (a: NoInfer<A>) => Effect.Effect<X, E2, R2>
|
|
6136
6101
|
): Stream.Stream<A, E | E2, R | R2> => mapEffectSequential(self, (a) => Effect.as(f(a), a))
|
|
6137
6102
|
)
|
|
6138
6103
|
|
|
6139
6104
|
/** @internal */
|
|
6140
6105
|
export const tapBoth: {
|
|
6141
|
-
<E,
|
|
6106
|
+
<E, X1, E2, R2, A, X2, E3, R3>(
|
|
6142
6107
|
options: {
|
|
6143
6108
|
readonly onFailure: (e: NoInfer<E>) => Effect.Effect<X1, E2, R2>
|
|
6144
6109
|
readonly onSuccess: (a: NoInfer<A>) => Effect.Effect<X2, E3, R3>
|
|
6145
6110
|
}
|
|
6146
6111
|
): <R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A, E | E2 | E3, R | R2 | R3>
|
|
6147
|
-
<
|
|
6112
|
+
<A, E, R, X1, E2, R2, X2, E3, R3>(
|
|
6148
6113
|
self: Stream.Stream<A, E, R>,
|
|
6149
6114
|
options: {
|
|
6150
6115
|
readonly onFailure: (e: NoInfer<E>) => Effect.Effect<X1, E2, R2>
|
|
@@ -6153,7 +6118,7 @@ export const tapBoth: {
|
|
|
6153
6118
|
): Stream.Stream<A, E | E2 | E3, R | R2 | R3>
|
|
6154
6119
|
} = dual(
|
|
6155
6120
|
2,
|
|
6156
|
-
<
|
|
6121
|
+
<A, E, R, X1, E2, R2, X2, E3, R3>(
|
|
6157
6122
|
self: Stream.Stream<A, E, R>,
|
|
6158
6123
|
options: {
|
|
6159
6124
|
readonly onFailure: (e: NoInfer<E>) => Effect.Effect<X1, E2, R2>
|
|
@@ -6164,36 +6129,36 @@ export const tapBoth: {
|
|
|
6164
6129
|
|
|
6165
6130
|
/** @internal */
|
|
6166
6131
|
export const tapError: {
|
|
6167
|
-
<E,
|
|
6168
|
-
f: (error: NoInfer<E>) => Effect.Effect<
|
|
6169
|
-
): <
|
|
6170
|
-
<
|
|
6132
|
+
<E, X, E2, R2>(
|
|
6133
|
+
f: (error: NoInfer<E>) => Effect.Effect<X, E2, R2>
|
|
6134
|
+
): <A, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A, E | E2, R2 | R>
|
|
6135
|
+
<A, E, R, X, E2, R2>(
|
|
6171
6136
|
self: Stream.Stream<A, E, R>,
|
|
6172
|
-
f: (error: E) => Effect.Effect<
|
|
6137
|
+
f: (error: E) => Effect.Effect<X, E2, R2>
|
|
6173
6138
|
): Stream.Stream<A, E | E2, R | R2>
|
|
6174
6139
|
} = dual(
|
|
6175
6140
|
2,
|
|
6176
|
-
<
|
|
6141
|
+
<A, E, R, X, E2, R2>(
|
|
6177
6142
|
self: Stream.Stream<A, E, R>,
|
|
6178
|
-
f: (error: E) => Effect.Effect<
|
|
6143
|
+
f: (error: E) => Effect.Effect<X, E2, R2>
|
|
6179
6144
|
): Stream.Stream<A, E | E2, R | R2> =>
|
|
6180
6145
|
catchAll(self, (error) => fromEffect(Effect.zipRight(f(error), Effect.fail(error))))
|
|
6181
6146
|
)
|
|
6182
6147
|
|
|
6183
6148
|
/** @internal */
|
|
6184
6149
|
export const tapErrorCause: {
|
|
6185
|
-
<E,
|
|
6186
|
-
f: (cause: Cause.Cause<NoInfer<E>>) => Effect.Effect<
|
|
6187
|
-
): <
|
|
6188
|
-
<
|
|
6150
|
+
<E, X, E2, R2>(
|
|
6151
|
+
f: (cause: Cause.Cause<NoInfer<E>>) => Effect.Effect<X, E2, R2>
|
|
6152
|
+
): <A, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A, E | E2, R2 | R>
|
|
6153
|
+
<A, E, R, X, E2, R2>(
|
|
6189
6154
|
self: Stream.Stream<A, E, R>,
|
|
6190
|
-
f: (cause: Cause.Cause<E>) => Effect.Effect<
|
|
6155
|
+
f: (cause: Cause.Cause<E>) => Effect.Effect<X, E2, R2>
|
|
6191
6156
|
): Stream.Stream<A, E | E2, R | R2>
|
|
6192
6157
|
} = dual(
|
|
6193
6158
|
2,
|
|
6194
|
-
<
|
|
6159
|
+
<A, E, R, X, E2, R2>(
|
|
6195
6160
|
self: Stream.Stream<A, E, R>,
|
|
6196
|
-
f: (cause: Cause.Cause<E>) => Effect.Effect<
|
|
6161
|
+
f: (cause: Cause.Cause<E>) => Effect.Effect<X, E2, R2>
|
|
6197
6162
|
): Stream.Stream<A, E | E2, R | R2> => {
|
|
6198
6163
|
const loop: Channel.Channel<Chunk.Chunk<A>, Chunk.Chunk<A>, E | E2, E, unknown, unknown, R | R2> = core
|
|
6199
6164
|
.readWithCause({
|
|
@@ -6229,7 +6194,7 @@ export const tapSink = dual<
|
|
|
6229
6194
|
.readWithCause({
|
|
6230
6195
|
onInput: (chunk: Chunk.Chunk<A>) =>
|
|
6231
6196
|
pipe(
|
|
6232
|
-
core.fromEffect(Queue.offer(queue,
|
|
6197
|
+
core.fromEffect(Queue.offer(queue, InternalTake.chunk(chunk))),
|
|
6233
6198
|
core.foldCauseChannel({
|
|
6234
6199
|
onFailure: () => core.flatMap(core.write(chunk), () => channel.identityChannel()),
|
|
6235
6200
|
onSuccess: () => core.flatMap(core.write(chunk), () => loop)
|
|
@@ -6237,7 +6202,7 @@ export const tapSink = dual<
|
|
|
6237
6202
|
) as Channel.Channel<Chunk.Chunk<A>, Chunk.Chunk<A>, E | E2, E, unknown, unknown, R2>,
|
|
6238
6203
|
onFailure: (cause: Cause.Cause<E | E2>) =>
|
|
6239
6204
|
pipe(
|
|
6240
|
-
core.fromEffect(Queue.offer(queue,
|
|
6205
|
+
core.fromEffect(Queue.offer(queue, InternalTake.failCause(cause))),
|
|
6241
6206
|
core.foldCauseChannel({
|
|
6242
6207
|
onFailure: () => core.failCause(cause),
|
|
6243
6208
|
onSuccess: () => core.failCause(cause)
|
|
@@ -6245,7 +6210,7 @@ export const tapSink = dual<
|
|
|
6245
6210
|
),
|
|
6246
6211
|
onDone: () =>
|
|
6247
6212
|
pipe(
|
|
6248
|
-
core.fromEffect(Queue.offer(queue,
|
|
6213
|
+
core.fromEffect(Queue.offer(queue, InternalTake.end)),
|
|
6249
6214
|
core.foldCauseChannel({
|
|
6250
6215
|
onFailure: () => core.unit,
|
|
6251
6216
|
onSuccess: () => core.unit
|
|
@@ -6256,7 +6221,7 @@ export const tapSink = dual<
|
|
|
6256
6221
|
new StreamImpl(pipe(
|
|
6257
6222
|
core.pipeTo(toChannel(self), loop),
|
|
6258
6223
|
channel.ensuring(Effect.zipRight(
|
|
6259
|
-
Effect.forkDaemon(Queue.offer(queue,
|
|
6224
|
+
Effect.forkDaemon(Queue.offer(queue, InternalTake.end)),
|
|
6260
6225
|
Deferred.await(deferred)
|
|
6261
6226
|
))
|
|
6262
6227
|
)),
|
|
@@ -6284,7 +6249,7 @@ export const throttle = dual<
|
|
|
6284
6249
|
readonly burst?: number | undefined
|
|
6285
6250
|
readonly strategy?: "enforce" | "shape" | undefined
|
|
6286
6251
|
}
|
|
6287
|
-
) => <
|
|
6252
|
+
) => <E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A, E, R>,
|
|
6288
6253
|
<A, E, R>(
|
|
6289
6254
|
self: Stream.Stream<A, E, R>,
|
|
6290
6255
|
options: {
|
|
@@ -6315,7 +6280,7 @@ export const throttle = dual<
|
|
|
6315
6280
|
|
|
6316
6281
|
/** @internal */
|
|
6317
6282
|
export const throttleEffect = dual<
|
|
6318
|
-
<A,
|
|
6283
|
+
<A, E2, R2>(
|
|
6319
6284
|
options: {
|
|
6320
6285
|
readonly cost: (chunk: Chunk.Chunk<A>) => Effect.Effect<number, E2, R2>
|
|
6321
6286
|
readonly units: number
|
|
@@ -6323,8 +6288,8 @@ export const throttleEffect = dual<
|
|
|
6323
6288
|
readonly burst?: number | undefined
|
|
6324
6289
|
readonly strategy?: "enforce" | "shape" | undefined
|
|
6325
6290
|
}
|
|
6326
|
-
) => <
|
|
6327
|
-
<
|
|
6291
|
+
) => <E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A, E2 | E, R2 | R>,
|
|
6292
|
+
<A, E, R, E2, R2>(
|
|
6328
6293
|
self: Stream.Stream<A, E, R>,
|
|
6329
6294
|
options: {
|
|
6330
6295
|
readonly cost: (chunk: Chunk.Chunk<A>) => Effect.Effect<number, E2, R2>
|
|
@@ -6336,7 +6301,7 @@ export const throttleEffect = dual<
|
|
|
6336
6301
|
) => Stream.Stream<A, E2 | E, R2 | R>
|
|
6337
6302
|
>(
|
|
6338
6303
|
2,
|
|
6339
|
-
<
|
|
6304
|
+
<A, E, R, E2, R2>(
|
|
6340
6305
|
self: Stream.Stream<A, E, R>,
|
|
6341
6306
|
options: {
|
|
6342
6307
|
readonly cost: (chunk: Chunk.Chunk<A>) => Effect.Effect<number, E2, R2>
|
|
@@ -6353,7 +6318,7 @@ export const throttleEffect = dual<
|
|
|
6353
6318
|
}
|
|
6354
6319
|
)
|
|
6355
6320
|
|
|
6356
|
-
const throttleEnforceEffect = <
|
|
6321
|
+
const throttleEnforceEffect = <A, E, R, E2, R2>(
|
|
6357
6322
|
self: Stream.Stream<A, E, R>,
|
|
6358
6323
|
cost: (chunk: Chunk.Chunk<A>) => Effect.Effect<number, E2, R2>,
|
|
6359
6324
|
units: number,
|
|
@@ -6396,7 +6361,7 @@ const throttleEnforceEffect = <R, E, A, R2, E2>(
|
|
|
6396
6361
|
return new StreamImpl(pipe(toChannel(self), channel.pipeToOrFail(throttled)))
|
|
6397
6362
|
}
|
|
6398
6363
|
|
|
6399
|
-
const throttleShapeEffect = <
|
|
6364
|
+
const throttleShapeEffect = <A, E, R, E2, R2>(
|
|
6400
6365
|
self: Stream.Stream<A, E, R>,
|
|
6401
6366
|
costFn: (chunk: Chunk.Chunk<A>) => Effect.Effect<number, E2, R2>,
|
|
6402
6367
|
units: number,
|
|
@@ -6470,14 +6435,14 @@ export const timeoutFail = dual<
|
|
|
6470
6435
|
error: LazyArg<E2>,
|
|
6471
6436
|
duration: Duration.DurationInput
|
|
6472
6437
|
) => <A, E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A, E2 | E, R>,
|
|
6473
|
-
<
|
|
6438
|
+
<A, E, R, E2>(
|
|
6474
6439
|
self: Stream.Stream<A, E, R>,
|
|
6475
6440
|
error: LazyArg<E2>,
|
|
6476
6441
|
duration: Duration.DurationInput
|
|
6477
6442
|
) => Stream.Stream<A, E2 | E, R>
|
|
6478
6443
|
>(
|
|
6479
6444
|
3,
|
|
6480
|
-
<
|
|
6445
|
+
<A, E, R, E2>(
|
|
6481
6446
|
self: Stream.Stream<A, E, R>,
|
|
6482
6447
|
error: LazyArg<E2>,
|
|
6483
6448
|
duration: Duration.DurationInput
|
|
@@ -6490,14 +6455,14 @@ export const timeoutFailCause = dual<
|
|
|
6490
6455
|
cause: LazyArg<Cause.Cause<E2>>,
|
|
6491
6456
|
duration: Duration.DurationInput
|
|
6492
6457
|
) => <A, E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A, E2 | E, R>,
|
|
6493
|
-
<
|
|
6458
|
+
<A, E, R, E2>(
|
|
6494
6459
|
self: Stream.Stream<A, E, R>,
|
|
6495
6460
|
cause: LazyArg<Cause.Cause<E2>>,
|
|
6496
6461
|
duration: Duration.DurationInput
|
|
6497
6462
|
) => Stream.Stream<A, E2 | E, R>
|
|
6498
6463
|
>(
|
|
6499
6464
|
3,
|
|
6500
|
-
<
|
|
6465
|
+
<A, E, R, E2>(
|
|
6501
6466
|
self: Stream.Stream<A, E, R>,
|
|
6502
6467
|
cause: LazyArg<Cause.Cause<E2>>,
|
|
6503
6468
|
duration: Duration.DurationInput
|
|
@@ -6516,18 +6481,18 @@ export const timeoutFailCause = dual<
|
|
|
6516
6481
|
|
|
6517
6482
|
/** @internal */
|
|
6518
6483
|
export const timeoutTo = dual<
|
|
6519
|
-
<
|
|
6484
|
+
<A2, E2, R2>(
|
|
6520
6485
|
duration: Duration.DurationInput,
|
|
6521
6486
|
that: Stream.Stream<A2, E2, R2>
|
|
6522
6487
|
) => <A, E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A2 | A, E2 | E, R2 | R>,
|
|
6523
|
-
<
|
|
6488
|
+
<A, E, R, A2, E2, R2>(
|
|
6524
6489
|
self: Stream.Stream<A, E, R>,
|
|
6525
6490
|
duration: Duration.DurationInput,
|
|
6526
6491
|
that: Stream.Stream<A2, E2, R2>
|
|
6527
6492
|
) => Stream.Stream<A2 | A, E2 | E, R2 | R>
|
|
6528
6493
|
>(
|
|
6529
6494
|
3,
|
|
6530
|
-
<
|
|
6495
|
+
<A, E, R, A2, E2, R2>(
|
|
6531
6496
|
self: Stream.Stream<A, E, R>,
|
|
6532
6497
|
duration: Duration.DurationInput,
|
|
6533
6498
|
that: Stream.Stream<A2, E2, R2>
|
|
@@ -6790,7 +6755,7 @@ export const unfoldChunk = <S, A>(
|
|
|
6790
6755
|
}
|
|
6791
6756
|
|
|
6792
6757
|
/** @internal */
|
|
6793
|
-
export const unfoldChunkEffect = <
|
|
6758
|
+
export const unfoldChunkEffect = <S, A, E, R>(
|
|
6794
6759
|
s: S,
|
|
6795
6760
|
f: (s: S) => Effect.Effect<Option.Option<readonly [Chunk.Chunk<A>, S]>, E, R>
|
|
6796
6761
|
): Stream.Stream<A, E, R> =>
|
|
@@ -6809,7 +6774,7 @@ export const unfoldChunkEffect = <R, E, A, S>(
|
|
|
6809
6774
|
})
|
|
6810
6775
|
|
|
6811
6776
|
/** @internal */
|
|
6812
|
-
export const unfoldEffect = <S,
|
|
6777
|
+
export const unfoldEffect = <S, A, E, R>(
|
|
6813
6778
|
s: S,
|
|
6814
6779
|
f: (s: S) => Effect.Effect<Option.Option<readonly [A, S]>, E, R>
|
|
6815
6780
|
): Stream.Stream<A, E, R> =>
|
|
@@ -6819,12 +6784,12 @@ export const unfoldEffect = <S, R, E, A>(
|
|
|
6819
6784
|
export const unit: Stream.Stream<void> = succeed(void 0)
|
|
6820
6785
|
|
|
6821
6786
|
/** @internal */
|
|
6822
|
-
export const unwrap = <
|
|
6787
|
+
export const unwrap = <A, E2, R2, E, R>(
|
|
6823
6788
|
effect: Effect.Effect<Stream.Stream<A, E2, R2>, E, R>
|
|
6824
6789
|
): Stream.Stream<A, E | E2, R | R2> => flatten(fromEffect(effect))
|
|
6825
6790
|
|
|
6826
6791
|
/** @internal */
|
|
6827
|
-
export const unwrapScoped = <
|
|
6792
|
+
export const unwrapScoped = <A, E2, R2, E, R>(
|
|
6828
6793
|
effect: Effect.Effect<Stream.Stream<A, E2, R2>, E, R>
|
|
6829
6794
|
): Stream.Stream<A, E | E2, Exclude<R, Scope.Scope> | R2> => flatten(scoped(effect))
|
|
6830
6795
|
|
|
@@ -6834,14 +6799,14 @@ export const updateService = dual<
|
|
|
6834
6799
|
tag: T,
|
|
6835
6800
|
f: (service: Context.Tag.Service<T>) => Context.Tag.Service<T>
|
|
6836
6801
|
) => <A, E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A, E, T | R>,
|
|
6837
|
-
<
|
|
6802
|
+
<A, E, R, T extends Context.Tag<any, any>>(
|
|
6838
6803
|
self: Stream.Stream<A, E, R>,
|
|
6839
6804
|
tag: T,
|
|
6840
6805
|
f: (service: Context.Tag.Service<T>) => Context.Tag.Service<T>
|
|
6841
6806
|
) => Stream.Stream<A, E, T | R>
|
|
6842
6807
|
>(
|
|
6843
6808
|
3,
|
|
6844
|
-
<
|
|
6809
|
+
<A, E, R, T extends Context.Tag<any, any>>(
|
|
6845
6810
|
self: Stream.Stream<A, E, R>,
|
|
6846
6811
|
tag: T,
|
|
6847
6812
|
f: (service: Context.Tag.Service<T>) => Context.Tag.Service<T>
|
|
@@ -6868,23 +6833,23 @@ export const when = dual<
|
|
|
6868
6833
|
)
|
|
6869
6834
|
|
|
6870
6835
|
/** @internal */
|
|
6871
|
-
export const whenCase = <A,
|
|
6836
|
+
export const whenCase = <A, A2, E, R>(
|
|
6872
6837
|
evaluate: LazyArg<A>,
|
|
6873
6838
|
pf: (a: A) => Option.Option<Stream.Stream<A2, E, R>>
|
|
6874
6839
|
) => whenCaseEffect(pf)(Effect.sync(evaluate))
|
|
6875
6840
|
|
|
6876
6841
|
/** @internal */
|
|
6877
6842
|
export const whenCaseEffect = dual<
|
|
6878
|
-
<A,
|
|
6843
|
+
<A, A2, E2, R2>(
|
|
6879
6844
|
pf: (a: A) => Option.Option<Stream.Stream<A2, E2, R2>>
|
|
6880
|
-
) => <
|
|
6881
|
-
<
|
|
6845
|
+
) => <E, R>(self: Effect.Effect<A, E, R>) => Stream.Stream<A2, E2 | E, R2 | R>,
|
|
6846
|
+
<A, E, R, A2, E2, R2>(
|
|
6882
6847
|
self: Effect.Effect<A, E, R>,
|
|
6883
6848
|
pf: (a: A) => Option.Option<Stream.Stream<A2, E2, R2>>
|
|
6884
6849
|
) => Stream.Stream<A2, E2 | E, R2 | R>
|
|
6885
6850
|
>(
|
|
6886
6851
|
2,
|
|
6887
|
-
<
|
|
6852
|
+
<A, E, R, A2, E2, R2>(
|
|
6888
6853
|
self: Effect.Effect<A, E, R>,
|
|
6889
6854
|
pf: (a: A) => Option.Option<Stream.Stream<A2, E2, R2>>
|
|
6890
6855
|
): Stream.Stream<A2, E | E2, R | R2> =>
|
|
@@ -6896,16 +6861,16 @@ export const whenCaseEffect = dual<
|
|
|
6896
6861
|
|
|
6897
6862
|
/** @internal */
|
|
6898
6863
|
export const whenEffect = dual<
|
|
6899
|
-
<
|
|
6864
|
+
<E2, R2>(
|
|
6900
6865
|
effect: Effect.Effect<boolean, E2, R2>
|
|
6901
6866
|
) => <A, E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A, E2 | E, R2 | R>,
|
|
6902
|
-
<
|
|
6867
|
+
<A, E, R, E2, R2>(
|
|
6903
6868
|
self: Stream.Stream<A, E, R>,
|
|
6904
6869
|
effect: Effect.Effect<boolean, E2, R2>
|
|
6905
6870
|
) => Stream.Stream<A, E2 | E, R2 | R>
|
|
6906
6871
|
>(
|
|
6907
6872
|
2,
|
|
6908
|
-
<
|
|
6873
|
+
<A, E, R, E2, R2>(
|
|
6909
6874
|
self: Stream.Stream<A, E, R>,
|
|
6910
6875
|
effect: Effect.Effect<boolean, E2, R2>
|
|
6911
6876
|
): Stream.Stream<A, E | E2, R | R2> => pipe(fromEffect(effect), flatMap((bool) => bool ? self : empty))
|
|
@@ -6938,16 +6903,16 @@ export const withSpan = dual<
|
|
|
6938
6903
|
|
|
6939
6904
|
/** @internal */
|
|
6940
6905
|
export const zip = dual<
|
|
6941
|
-
<
|
|
6906
|
+
<A2, E2, R2>(
|
|
6942
6907
|
that: Stream.Stream<A2, E2, R2>
|
|
6943
6908
|
) => <A, E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<[A, A2], E2 | E, R2 | R>,
|
|
6944
|
-
<
|
|
6909
|
+
<A, E, R, A2, E2, R2>(
|
|
6945
6910
|
self: Stream.Stream<A, E, R>,
|
|
6946
6911
|
that: Stream.Stream<A2, E2, R2>
|
|
6947
6912
|
) => Stream.Stream<[A, A2], E2 | E, R2 | R>
|
|
6948
6913
|
>(
|
|
6949
6914
|
2,
|
|
6950
|
-
<
|
|
6915
|
+
<A, E, R, A2, E2, R2>(
|
|
6951
6916
|
self: Stream.Stream<A, E, R>,
|
|
6952
6917
|
that: Stream.Stream<A2, E2, R2>
|
|
6953
6918
|
): Stream.Stream<[A, A2], E2 | E, R2 | R> => pipe(self, zipWith(that, (a, a2) => [a, a2]))
|
|
@@ -6955,18 +6920,18 @@ export const zip = dual<
|
|
|
6955
6920
|
|
|
6956
6921
|
/** @internal */
|
|
6957
6922
|
export const zipFlatten = dual<
|
|
6958
|
-
<
|
|
6923
|
+
<A2, E2, R2>(
|
|
6959
6924
|
that: Stream.Stream<A2, E2, R2>
|
|
6960
|
-
) => <
|
|
6925
|
+
) => <A extends ReadonlyArray<any>, E, R>(
|
|
6961
6926
|
self: Stream.Stream<A, E, R>
|
|
6962
6927
|
) => Stream.Stream<[...A, A2], E2 | E, R2 | R>,
|
|
6963
|
-
<
|
|
6928
|
+
<A extends ReadonlyArray<any>, E, R, A2, E2, R2>(
|
|
6964
6929
|
self: Stream.Stream<A, E, R>,
|
|
6965
6930
|
that: Stream.Stream<A2, E2, R2>
|
|
6966
6931
|
) => Stream.Stream<[...A, A2], E2 | E, R2 | R>
|
|
6967
6932
|
>(
|
|
6968
6933
|
2,
|
|
6969
|
-
<
|
|
6934
|
+
<A extends ReadonlyArray<any>, E, R, A2, E2, R2>(
|
|
6970
6935
|
self: Stream.Stream<A, E, R>,
|
|
6971
6936
|
that: Stream.Stream<A2, E2, R2>
|
|
6972
6937
|
): Stream.Stream<[...A, A2], E2 | E, R2 | R> => pipe(self, zipWith(that, (a, a2) => [...a, a2]))
|
|
@@ -6974,14 +6939,14 @@ export const zipFlatten = dual<
|
|
|
6974
6939
|
|
|
6975
6940
|
/** @internal */
|
|
6976
6941
|
export const zipAll = dual<
|
|
6977
|
-
<
|
|
6942
|
+
<A2, E2, R2, A>(
|
|
6978
6943
|
options: {
|
|
6979
6944
|
readonly other: Stream.Stream<A2, E2, R2>
|
|
6980
6945
|
readonly defaultSelf: A
|
|
6981
6946
|
readonly defaultOther: A2
|
|
6982
6947
|
}
|
|
6983
|
-
) => <
|
|
6984
|
-
<
|
|
6948
|
+
) => <E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<[A, A2], E2 | E, R2 | R>,
|
|
6949
|
+
<A, E, R, A2, E2, R2>(
|
|
6985
6950
|
self: Stream.Stream<A, E, R>,
|
|
6986
6951
|
options: {
|
|
6987
6952
|
readonly other: Stream.Stream<A2, E2, R2>
|
|
@@ -6991,7 +6956,7 @@ export const zipAll = dual<
|
|
|
6991
6956
|
) => Stream.Stream<[A, A2], E2 | E, R2 | R>
|
|
6992
6957
|
>(
|
|
6993
6958
|
2,
|
|
6994
|
-
<
|
|
6959
|
+
<A, E, R, A2, E2, R2>(
|
|
6995
6960
|
self: Stream.Stream<A, E, R>,
|
|
6996
6961
|
options: {
|
|
6997
6962
|
readonly other: Stream.Stream<A2, E2, R2>
|
|
@@ -7009,18 +6974,18 @@ export const zipAll = dual<
|
|
|
7009
6974
|
|
|
7010
6975
|
/** @internal */
|
|
7011
6976
|
export const zipAllLeft = dual<
|
|
7012
|
-
<
|
|
6977
|
+
<A2, E2, R2, A>(
|
|
7013
6978
|
that: Stream.Stream<A2, E2, R2>,
|
|
7014
6979
|
defaultLeft: A
|
|
7015
|
-
) => <
|
|
7016
|
-
<
|
|
6980
|
+
) => <E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A, E2 | E, R2 | R>,
|
|
6981
|
+
<A, E, R, A2, E2, R2>(
|
|
7017
6982
|
self: Stream.Stream<A, E, R>,
|
|
7018
6983
|
that: Stream.Stream<A2, E2, R2>,
|
|
7019
6984
|
defaultLeft: A
|
|
7020
6985
|
) => Stream.Stream<A, E2 | E, R2 | R>
|
|
7021
6986
|
>(
|
|
7022
6987
|
3,
|
|
7023
|
-
<
|
|
6988
|
+
<A, E, R, A2, E2, R2>(
|
|
7024
6989
|
self: Stream.Stream<A, E, R>,
|
|
7025
6990
|
other: Stream.Stream<A2, E2, R2>,
|
|
7026
6991
|
defaultSelf: A
|
|
@@ -7035,18 +7000,18 @@ export const zipAllLeft = dual<
|
|
|
7035
7000
|
|
|
7036
7001
|
/** @internal */
|
|
7037
7002
|
export const zipAllRight = dual<
|
|
7038
|
-
<
|
|
7003
|
+
<A2, E2, R2>(
|
|
7039
7004
|
that: Stream.Stream<A2, E2, R2>,
|
|
7040
7005
|
defaultRight: A2
|
|
7041
7006
|
) => <A, E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A2, E2 | E, R2 | R>,
|
|
7042
|
-
<
|
|
7007
|
+
<A, E, R, A2, E2, R2>(
|
|
7043
7008
|
self: Stream.Stream<A, E, R>,
|
|
7044
7009
|
that: Stream.Stream<A2, E2, R2>,
|
|
7045
7010
|
defaultRight: A2
|
|
7046
7011
|
) => Stream.Stream<A2, E2 | E, R2 | R>
|
|
7047
7012
|
>(
|
|
7048
7013
|
3,
|
|
7049
|
-
<
|
|
7014
|
+
<A, E, R, A2, E2, R2>(
|
|
7050
7015
|
self: Stream.Stream<A, E, R>,
|
|
7051
7016
|
other: Stream.Stream<A2, E2, R2>,
|
|
7052
7017
|
defaultRight: A2
|
|
@@ -7061,17 +7026,17 @@ export const zipAllRight = dual<
|
|
|
7061
7026
|
|
|
7062
7027
|
/** @internal */
|
|
7063
7028
|
export const zipAllSortedByKey = dual<
|
|
7064
|
-
<
|
|
7029
|
+
<A2, E2, R2, A, K>(
|
|
7065
7030
|
options: {
|
|
7066
7031
|
readonly other: Stream.Stream<readonly [K, A2], E2, R2>
|
|
7067
7032
|
readonly defaultSelf: A
|
|
7068
7033
|
readonly defaultOther: A2
|
|
7069
7034
|
readonly order: Order.Order<K>
|
|
7070
7035
|
}
|
|
7071
|
-
) => <
|
|
7036
|
+
) => <E, R>(
|
|
7072
7037
|
self: Stream.Stream<readonly [K, A], E, R>
|
|
7073
7038
|
) => Stream.Stream<[K, [A, A2]], E2 | E, R2 | R>,
|
|
7074
|
-
<
|
|
7039
|
+
<K, A, E, R, A2, E2, R2>(
|
|
7075
7040
|
self: Stream.Stream<readonly [K, A], E, R>,
|
|
7076
7041
|
options: {
|
|
7077
7042
|
readonly other: Stream.Stream<readonly [K, A2], E2, R2>
|
|
@@ -7082,7 +7047,7 @@ export const zipAllSortedByKey = dual<
|
|
|
7082
7047
|
) => Stream.Stream<[K, [A, A2]], E2 | E, R2 | R>
|
|
7083
7048
|
>(
|
|
7084
7049
|
2,
|
|
7085
|
-
<
|
|
7050
|
+
<K, A, E, R, A2, E2, R2>(
|
|
7086
7051
|
self: Stream.Stream<readonly [K, A], E, R>,
|
|
7087
7052
|
options: {
|
|
7088
7053
|
readonly other: Stream.Stream<readonly [K, A2], E2, R2>
|
|
@@ -7102,14 +7067,14 @@ export const zipAllSortedByKey = dual<
|
|
|
7102
7067
|
|
|
7103
7068
|
/** @internal */
|
|
7104
7069
|
export const zipAllSortedByKeyLeft = dual<
|
|
7105
|
-
<
|
|
7070
|
+
<A2, E2, R2, A, K>(
|
|
7106
7071
|
options: {
|
|
7107
7072
|
readonly other: Stream.Stream<readonly [K, A2], E2, R2>
|
|
7108
7073
|
readonly defaultSelf: A
|
|
7109
7074
|
readonly order: Order.Order<K>
|
|
7110
7075
|
}
|
|
7111
|
-
) => <
|
|
7112
|
-
<
|
|
7076
|
+
) => <E, R>(self: Stream.Stream<readonly [K, A], E, R>) => Stream.Stream<[K, A], E2 | E, R2 | R>,
|
|
7077
|
+
<K, A, E, R, A2, E2, R2>(
|
|
7113
7078
|
self: Stream.Stream<readonly [K, A], E, R>,
|
|
7114
7079
|
options: {
|
|
7115
7080
|
readonly other: Stream.Stream<readonly [K, A2], E2, R2>
|
|
@@ -7119,7 +7084,7 @@ export const zipAllSortedByKeyLeft = dual<
|
|
|
7119
7084
|
) => Stream.Stream<[K, A], E2 | E, R2 | R>
|
|
7120
7085
|
>(
|
|
7121
7086
|
2,
|
|
7122
|
-
<
|
|
7087
|
+
<K, A, E, R, A2, E2, R2>(
|
|
7123
7088
|
self: Stream.Stream<readonly [K, A], E, R>,
|
|
7124
7089
|
options: {
|
|
7125
7090
|
readonly other: Stream.Stream<readonly [K, A2], E2, R2>
|
|
@@ -7138,14 +7103,14 @@ export const zipAllSortedByKeyLeft = dual<
|
|
|
7138
7103
|
|
|
7139
7104
|
/** @internal */
|
|
7140
7105
|
export const zipAllSortedByKeyRight = dual<
|
|
7141
|
-
<
|
|
7106
|
+
<K, A2, E2, R2>(
|
|
7142
7107
|
options: {
|
|
7143
7108
|
readonly other: Stream.Stream<readonly [K, A2], E2, R2>
|
|
7144
7109
|
readonly defaultOther: A2
|
|
7145
7110
|
readonly order: Order.Order<K>
|
|
7146
7111
|
}
|
|
7147
7112
|
) => <A, E, R>(self: Stream.Stream<readonly [K, A], E, R>) => Stream.Stream<[K, A2], E2 | E, R2 | R>,
|
|
7148
|
-
<
|
|
7113
|
+
<A, E, R, K, A2, E2, R2>(
|
|
7149
7114
|
self: Stream.Stream<readonly [K, A], E, R>,
|
|
7150
7115
|
options: {
|
|
7151
7116
|
readonly other: Stream.Stream<readonly [K, A2], E2, R2>
|
|
@@ -7155,7 +7120,7 @@ export const zipAllSortedByKeyRight = dual<
|
|
|
7155
7120
|
) => Stream.Stream<[K, A2], E2 | E, R2 | R>
|
|
7156
7121
|
>(
|
|
7157
7122
|
2,
|
|
7158
|
-
<
|
|
7123
|
+
<A, E, R, K, A2, E2, R2>(
|
|
7159
7124
|
self: Stream.Stream<readonly [K, A], E, R>,
|
|
7160
7125
|
options: {
|
|
7161
7126
|
readonly other: Stream.Stream<readonly [K, A2], E2, R2>
|
|
@@ -7174,7 +7139,7 @@ export const zipAllSortedByKeyRight = dual<
|
|
|
7174
7139
|
|
|
7175
7140
|
/** @internal */
|
|
7176
7141
|
export const zipAllSortedByKeyWith = dual<
|
|
7177
|
-
<
|
|
7142
|
+
<K, A2, E2, R2, A, A3>(
|
|
7178
7143
|
options: {
|
|
7179
7144
|
readonly other: Stream.Stream<readonly [K, A2], E2, R2>
|
|
7180
7145
|
readonly onSelf: (a: A) => A3
|
|
@@ -7182,8 +7147,8 @@ export const zipAllSortedByKeyWith = dual<
|
|
|
7182
7147
|
readonly onBoth: (a: A, a2: A2) => A3
|
|
7183
7148
|
readonly order: Order.Order<K>
|
|
7184
7149
|
}
|
|
7185
|
-
) => <
|
|
7186
|
-
<
|
|
7150
|
+
) => <E, R>(self: Stream.Stream<readonly [K, A], E, R>) => Stream.Stream<[K, A3], E2 | E, R2 | R>,
|
|
7151
|
+
<K, A, E, R, A2, E2, R2, A3>(
|
|
7187
7152
|
self: Stream.Stream<readonly [K, A], E, R>,
|
|
7188
7153
|
options: {
|
|
7189
7154
|
readonly other: Stream.Stream<readonly [K, A2], E2, R2>
|
|
@@ -7195,7 +7160,7 @@ export const zipAllSortedByKeyWith = dual<
|
|
|
7195
7160
|
) => Stream.Stream<[K, A3], E2 | E, R2 | R>
|
|
7196
7161
|
>(
|
|
7197
7162
|
2,
|
|
7198
|
-
<
|
|
7163
|
+
<K, A, E, R, A2, E2, R2, A3>(
|
|
7199
7164
|
self: Stream.Stream<readonly [K, A], E, R>,
|
|
7200
7165
|
options: {
|
|
7201
7166
|
readonly other: Stream.Stream<readonly [K, A2], E2, R2>
|
|
@@ -7452,15 +7417,15 @@ export const zipAllSortedByKeyWith = dual<
|
|
|
7452
7417
|
|
|
7453
7418
|
/** @internal */
|
|
7454
7419
|
export const zipAllWith = dual<
|
|
7455
|
-
<
|
|
7420
|
+
<A2, E2, R2, A, A3>(
|
|
7456
7421
|
options: {
|
|
7457
7422
|
readonly other: Stream.Stream<A2, E2, R2>
|
|
7458
7423
|
readonly onSelf: (a: A) => A3
|
|
7459
7424
|
readonly onOther: (a2: A2) => A3
|
|
7460
7425
|
readonly onBoth: (a: A, a2: A2) => A3
|
|
7461
7426
|
}
|
|
7462
|
-
) => <
|
|
7463
|
-
<
|
|
7427
|
+
) => <E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A3, E2 | E, R2 | R>,
|
|
7428
|
+
<A, E, R, A2, E2, R2, A3>(
|
|
7464
7429
|
self: Stream.Stream<A, E, R>,
|
|
7465
7430
|
options: {
|
|
7466
7431
|
readonly other: Stream.Stream<A2, E2, R2>
|
|
@@ -7471,7 +7436,7 @@ export const zipAllWith = dual<
|
|
|
7471
7436
|
) => Stream.Stream<A3, E2 | E, R2 | R>
|
|
7472
7437
|
>(
|
|
7473
7438
|
2,
|
|
7474
|
-
<
|
|
7439
|
+
<A, E, R, A2, E2, R2, A3>(
|
|
7475
7440
|
self: Stream.Stream<A, E, R>,
|
|
7476
7441
|
options: {
|
|
7477
7442
|
readonly other: Stream.Stream<A2, E2, R2>
|
|
@@ -7649,16 +7614,16 @@ export const zipAllWith = dual<
|
|
|
7649
7614
|
|
|
7650
7615
|
/** @internal */
|
|
7651
7616
|
export const zipLatest = dual<
|
|
7652
|
-
<
|
|
7617
|
+
<A2, E2, R2>(
|
|
7653
7618
|
that: Stream.Stream<A2, E2, R2>
|
|
7654
7619
|
) => <A, E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<[A, A2], E2 | E, R2 | R>,
|
|
7655
|
-
<
|
|
7620
|
+
<A, E, R, A2, E2, R2>(
|
|
7656
7621
|
self: Stream.Stream<A, E, R>,
|
|
7657
7622
|
that: Stream.Stream<A2, E2, R2>
|
|
7658
7623
|
) => Stream.Stream<[A, A2], E2 | E, R2 | R>
|
|
7659
7624
|
>(
|
|
7660
7625
|
2,
|
|
7661
|
-
<
|
|
7626
|
+
<A, E, R, A2, E2, R2>(
|
|
7662
7627
|
self: Stream.Stream<A, E, R>,
|
|
7663
7628
|
that: Stream.Stream<A2, E2, R2>
|
|
7664
7629
|
): Stream.Stream<[A, A2], E2 | E, R2 | R> => pipe(self, zipLatestWith(that, (a, a2) => [a, a2]))
|
|
@@ -7666,18 +7631,18 @@ export const zipLatest = dual<
|
|
|
7666
7631
|
|
|
7667
7632
|
/** @internal */
|
|
7668
7633
|
export const zipLatestWith = dual<
|
|
7669
|
-
<
|
|
7634
|
+
<A2, E2, R2, A, A3>(
|
|
7670
7635
|
that: Stream.Stream<A2, E2, R2>,
|
|
7671
7636
|
f: (a: A, a2: A2) => A3
|
|
7672
|
-
) => <
|
|
7673
|
-
<
|
|
7637
|
+
) => <E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A3, E2 | E, R2 | R>,
|
|
7638
|
+
<A, E, R, A2, E2, R2, A3>(
|
|
7674
7639
|
self: Stream.Stream<A, E, R>,
|
|
7675
7640
|
that: Stream.Stream<A2, E2, R2>,
|
|
7676
7641
|
f: (a: A, a2: A2) => A3
|
|
7677
7642
|
) => Stream.Stream<A3, E2 | E, R2 | R>
|
|
7678
7643
|
>(
|
|
7679
7644
|
3,
|
|
7680
|
-
<
|
|
7645
|
+
<A, E, R, A2, E2, R2, A3>(
|
|
7681
7646
|
self: Stream.Stream<A, E, R>,
|
|
7682
7647
|
that: Stream.Stream<A2, E2, R2>,
|
|
7683
7648
|
f: (a: A, a2: A2) => A3
|
|
@@ -7757,16 +7722,16 @@ export const zipLatestWith = dual<
|
|
|
7757
7722
|
|
|
7758
7723
|
/** @internal */
|
|
7759
7724
|
export const zipLeft = dual<
|
|
7760
|
-
<
|
|
7725
|
+
<A2, E2, R2>(
|
|
7761
7726
|
that: Stream.Stream<A2, E2, R2>
|
|
7762
7727
|
) => <A, E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A, E2 | E, R2 | R>,
|
|
7763
|
-
<
|
|
7728
|
+
<A, E, R, A2, E2, R2>(
|
|
7764
7729
|
self: Stream.Stream<A, E, R>,
|
|
7765
7730
|
that: Stream.Stream<A2, E2, R2>
|
|
7766
7731
|
) => Stream.Stream<A, E2 | E, R2 | R>
|
|
7767
7732
|
>(
|
|
7768
7733
|
2,
|
|
7769
|
-
<
|
|
7734
|
+
<A, E, R, A2, E2, R2>(
|
|
7770
7735
|
self: Stream.Stream<A, E, R>,
|
|
7771
7736
|
that: Stream.Stream<A2, E2, R2>
|
|
7772
7737
|
): Stream.Stream<A, E | E2, R | R2> =>
|
|
@@ -7789,16 +7754,16 @@ export const zipLeft = dual<
|
|
|
7789
7754
|
|
|
7790
7755
|
/** @internal */
|
|
7791
7756
|
export const zipRight = dual<
|
|
7792
|
-
<
|
|
7757
|
+
<A2, E2, R2>(
|
|
7793
7758
|
that: Stream.Stream<A2, E2, R2>
|
|
7794
7759
|
) => <A, E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A2, E2 | E, R2 | R>,
|
|
7795
|
-
<
|
|
7760
|
+
<A, E, R, A2, E2, R2>(
|
|
7796
7761
|
self: Stream.Stream<A, E, R>,
|
|
7797
7762
|
that: Stream.Stream<A2, E2, R2>
|
|
7798
7763
|
) => Stream.Stream<A2, E2 | E, R2 | R>
|
|
7799
7764
|
>(
|
|
7800
7765
|
2,
|
|
7801
|
-
<
|
|
7766
|
+
<A, E, R, A2, E2, R2>(
|
|
7802
7767
|
self: Stream.Stream<A, E, R>,
|
|
7803
7768
|
that: Stream.Stream<A2, E2, R2>
|
|
7804
7769
|
): Stream.Stream<A2, E | E2, R | R2> =>
|
|
@@ -7821,18 +7786,18 @@ export const zipRight = dual<
|
|
|
7821
7786
|
|
|
7822
7787
|
/** @internal */
|
|
7823
7788
|
export const zipWith = dual<
|
|
7824
|
-
<
|
|
7789
|
+
<A2, E2, R2, A, A3>(
|
|
7825
7790
|
that: Stream.Stream<A2, E2, R2>,
|
|
7826
7791
|
f: (a: A, a2: A2) => A3
|
|
7827
|
-
) => <
|
|
7828
|
-
<
|
|
7792
|
+
) => <E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A3, E2 | E, R2 | R>,
|
|
7793
|
+
<A, E, R, A2, E2, R2, A3>(
|
|
7829
7794
|
self: Stream.Stream<A, E, R>,
|
|
7830
7795
|
that: Stream.Stream<A2, E2, R2>,
|
|
7831
7796
|
f: (a: A, a2: A2) => A3
|
|
7832
7797
|
) => Stream.Stream<A3, E2 | E, R2 | R>
|
|
7833
7798
|
>(
|
|
7834
7799
|
3,
|
|
7835
|
-
<
|
|
7800
|
+
<A, E, R, A2, E2, R2, A3>(
|
|
7836
7801
|
self: Stream.Stream<A, E, R>,
|
|
7837
7802
|
that: Stream.Stream<A2, E2, R2>,
|
|
7838
7803
|
f: (a: A, a2: A2) => A3
|
|
@@ -7842,28 +7807,28 @@ export const zipWith = dual<
|
|
|
7842
7807
|
|
|
7843
7808
|
/** @internal */
|
|
7844
7809
|
export const zipWithChunks = dual<
|
|
7845
|
-
<
|
|
7810
|
+
<A2, E2, R2, A, A3>(
|
|
7846
7811
|
that: Stream.Stream<A2, E2, R2>,
|
|
7847
7812
|
f: (
|
|
7848
7813
|
left: Chunk.Chunk<A>,
|
|
7849
7814
|
right: Chunk.Chunk<A2>
|
|
7850
|
-
) => readonly [Chunk.Chunk<A3>, Either.Either<Chunk.Chunk<
|
|
7851
|
-
) => <
|
|
7852
|
-
<
|
|
7815
|
+
) => readonly [Chunk.Chunk<A3>, Either.Either<Chunk.Chunk<A2>, Chunk.Chunk<A>>]
|
|
7816
|
+
) => <E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A3, E2 | E, R2 | R>,
|
|
7817
|
+
<A, E, R, A2, E2, R2, A3>(
|
|
7853
7818
|
self: Stream.Stream<A, E, R>,
|
|
7854
7819
|
that: Stream.Stream<A2, E2, R2>,
|
|
7855
7820
|
f: (
|
|
7856
7821
|
left: Chunk.Chunk<A>,
|
|
7857
7822
|
right: Chunk.Chunk<A2>
|
|
7858
|
-
) => readonly [Chunk.Chunk<A3>, Either.Either<Chunk.Chunk<
|
|
7823
|
+
) => readonly [Chunk.Chunk<A3>, Either.Either<Chunk.Chunk<A2>, Chunk.Chunk<A>>]
|
|
7859
7824
|
) => Stream.Stream<A3, E2 | E, R2 | R>
|
|
7860
|
-
>(3, <
|
|
7825
|
+
>(3, <A, E, R, A2, E2, R2, A3>(
|
|
7861
7826
|
self: Stream.Stream<A, E, R>,
|
|
7862
7827
|
that: Stream.Stream<A2, E2, R2>,
|
|
7863
7828
|
f: (
|
|
7864
7829
|
left: Chunk.Chunk<A>,
|
|
7865
7830
|
right: Chunk.Chunk<A2>
|
|
7866
|
-
) => readonly [Chunk.Chunk<A3>, Either.Either<Chunk.Chunk<
|
|
7831
|
+
) => readonly [Chunk.Chunk<A3>, Either.Either<Chunk.Chunk<A2>, Chunk.Chunk<A>>]
|
|
7867
7832
|
): Stream.Stream<A3, E2 | E, R2 | R> => {
|
|
7868
7833
|
const pull = (
|
|
7869
7834
|
state: ZipChunksState.ZipChunksState<A, A2>,
|
|
@@ -8025,7 +7990,7 @@ const zipChunks = <A, B, C>(
|
|
|
8025
7990
|
left: Chunk.Chunk<A>,
|
|
8026
7991
|
right: Chunk.Chunk<B>,
|
|
8027
7992
|
f: (a: A, b: B) => C
|
|
8028
|
-
): [Chunk.Chunk<C>, Either.Either<Chunk.Chunk<
|
|
7993
|
+
): [Chunk.Chunk<C>, Either.Either<Chunk.Chunk<B>, Chunk.Chunk<A>>] => {
|
|
8029
7994
|
if (left.length > right.length) {
|
|
8030
7995
|
return [
|
|
8031
7996
|
pipe(left, Chunk.take(right.length), Chunk.zipWith(right, f)),
|
|
@@ -8045,19 +8010,19 @@ export const Do: Stream.Stream<{}> = succeed({})
|
|
|
8045
8010
|
|
|
8046
8011
|
/** @internal */
|
|
8047
8012
|
export const bind = dual<
|
|
8048
|
-
<N extends string, K,
|
|
8013
|
+
<N extends string, K, A, E2, R2>(
|
|
8049
8014
|
tag: Exclude<N, keyof K>,
|
|
8050
8015
|
f: (_: K) => Stream.Stream<A, E2, R2>,
|
|
8051
8016
|
options?: {
|
|
8052
8017
|
readonly concurrency?: number | "unbounded" | undefined
|
|
8053
8018
|
readonly bufferSize?: number | undefined
|
|
8054
8019
|
}
|
|
8055
|
-
) => <
|
|
8056
|
-
|
|
8020
|
+
) => <E, R>(self: Stream.Stream<K, E, R>) => Stream.Stream<
|
|
8021
|
+
MergeRecord<K, { [k in N]: A }>,
|
|
8057
8022
|
E | E2,
|
|
8058
8023
|
R | R2
|
|
8059
8024
|
>,
|
|
8060
|
-
<
|
|
8025
|
+
<K, E, R, N extends string, A, E2, R2>(
|
|
8061
8026
|
self: Stream.Stream<K, E, R>,
|
|
8062
8027
|
tag: Exclude<N, keyof K>,
|
|
8063
8028
|
f: (_: K) => Stream.Stream<A, E2, R2>,
|
|
@@ -8066,11 +8031,11 @@ export const bind = dual<
|
|
|
8066
8031
|
readonly bufferSize?: number | undefined
|
|
8067
8032
|
}
|
|
8068
8033
|
) => Stream.Stream<
|
|
8069
|
-
|
|
8034
|
+
MergeRecord<K, { [k in N]: A }>,
|
|
8070
8035
|
E | E2,
|
|
8071
8036
|
R | R2
|
|
8072
8037
|
>
|
|
8073
|
-
>((args) => typeof args[0] !== "string", <
|
|
8038
|
+
>((args) => typeof args[0] !== "string", <K, E, R, N extends string, A, E2, R2>(
|
|
8074
8039
|
self: Stream.Stream<K, E, R>,
|
|
8075
8040
|
tag: Exclude<N, keyof K>,
|
|
8076
8041
|
f: (_: K) => Stream.Stream<A, E2, R2>,
|
|
@@ -8082,7 +8047,7 @@ export const bind = dual<
|
|
|
8082
8047
|
flatMap(self, (k) =>
|
|
8083
8048
|
map(
|
|
8084
8049
|
f(k),
|
|
8085
|
-
(a):
|
|
8050
|
+
(a): MergeRecord<K, { [k in N]: A }> => ({ ...k, [tag]: a } as any)
|
|
8086
8051
|
), options))
|
|
8087
8052
|
|
|
8088
8053
|
/* @internal */
|
|
@@ -8092,7 +8057,7 @@ export const bindTo = dual<
|
|
|
8092
8057
|
E,
|
|
8093
8058
|
R
|
|
8094
8059
|
>,
|
|
8095
|
-
<
|
|
8060
|
+
<A, E, R, N extends string>(
|
|
8096
8061
|
self: Stream.Stream<A, E, R>,
|
|
8097
8062
|
tag: N
|
|
8098
8063
|
) => Stream.Stream<
|
|
@@ -8102,7 +8067,7 @@ export const bindTo = dual<
|
|
|
8102
8067
|
>
|
|
8103
8068
|
>(
|
|
8104
8069
|
2,
|
|
8105
|
-
<
|
|
8070
|
+
<A, E, R, N extends string>(self: Stream.Stream<A, E, R>, tag: N): Stream.Stream<Record<N, A>, E, R> =>
|
|
8106
8071
|
map(self, (a) => ({ [tag]: a } as Record<N, A>))
|
|
8107
8072
|
)
|
|
8108
8073
|
|
|
@@ -8111,24 +8076,24 @@ export const let_ = dual<
|
|
|
8111
8076
|
<N extends string, K, A>(
|
|
8112
8077
|
tag: Exclude<N, keyof K>,
|
|
8113
8078
|
f: (_: K) => A
|
|
8114
|
-
) => <
|
|
8115
|
-
|
|
8079
|
+
) => <E, R>(self: Stream.Stream<K, E, R>) => Stream.Stream<
|
|
8080
|
+
MergeRecord<K, { [k in N]: A }>,
|
|
8116
8081
|
E,
|
|
8117
8082
|
R
|
|
8118
8083
|
>,
|
|
8119
|
-
<
|
|
8084
|
+
<K, E, R, N extends string, A>(
|
|
8120
8085
|
self: Stream.Stream<K, E, R>,
|
|
8121
8086
|
tag: Exclude<N, keyof K>,
|
|
8122
8087
|
f: (_: K) => A
|
|
8123
8088
|
) => Stream.Stream<
|
|
8124
|
-
|
|
8089
|
+
MergeRecord<K, { [k in N]: A }>,
|
|
8125
8090
|
E,
|
|
8126
8091
|
R
|
|
8127
8092
|
>
|
|
8128
|
-
>(3, <
|
|
8093
|
+
>(3, <K, E, R, N extends string, A>(self: Stream.Stream<K, E, R>, tag: Exclude<N, keyof K>, f: (_: K) => A) =>
|
|
8129
8094
|
map(
|
|
8130
8095
|
self,
|
|
8131
|
-
(k):
|
|
8096
|
+
(k): MergeRecord<K, { [k in N]: A }> => ({ ...k, [tag]: f(k) } as any)
|
|
8132
8097
|
))
|
|
8133
8098
|
|
|
8134
8099
|
// Circular with Channel
|
|
@@ -8146,8 +8111,8 @@ export const channelToStream = <OutElem, OutErr, OutDone, Env>(
|
|
|
8146
8111
|
|
|
8147
8112
|
/** @internal */
|
|
8148
8113
|
export const decodeText = dual<
|
|
8149
|
-
(encoding?: string) => <
|
|
8150
|
-
<
|
|
8114
|
+
(encoding?: string) => <E, R>(self: Stream.Stream<Uint8Array, E, R>) => Stream.Stream<string, E, R>,
|
|
8115
|
+
<E, R>(self: Stream.Stream<Uint8Array, E, R>, encoding?: string) => Stream.Stream<string, E, R>
|
|
8151
8116
|
>((args) => isStream(args[0]), (self, encoding = "utf-8") =>
|
|
8152
8117
|
suspend(() => {
|
|
8153
8118
|
const decoder = new TextDecoder(encoding)
|
|
@@ -8155,7 +8120,7 @@ export const decodeText = dual<
|
|
|
8155
8120
|
}))
|
|
8156
8121
|
|
|
8157
8122
|
/** @internal */
|
|
8158
|
-
export const encodeText = <
|
|
8123
|
+
export const encodeText = <E, R>(self: Stream.Stream<string, E, R>): Stream.Stream<Uint8Array, E, R> =>
|
|
8159
8124
|
suspend(() => {
|
|
8160
8125
|
const encoder = new TextEncoder()
|
|
8161
8126
|
return map(self, (s) => encoder.encode(s))
|