effect 2.3.8 → 2.4.0
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 +16 -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/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 +52 -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/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 +13 -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/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 +68 -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/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/sink.ts
CHANGED
|
@@ -308,8 +308,7 @@ export const collectAllWhileWith: {
|
|
|
308
308
|
}
|
|
309
309
|
)
|
|
310
310
|
|
|
311
|
-
|
|
312
|
-
const collectAllWhileWithLoop = <R, E, In, L extends In, Z, S>(
|
|
311
|
+
const collectAllWhileWithLoop = <Z, In, L extends In, E, R, S>(
|
|
313
312
|
self: Sink.Sink<Z, In, L, E, R>,
|
|
314
313
|
leftoversRef: Ref.Ref<Chunk.Chunk<In>>,
|
|
315
314
|
upstreamDoneRef: Ref.Ref<boolean>,
|
|
@@ -474,12 +473,12 @@ export const dimap = dual<
|
|
|
474
473
|
|
|
475
474
|
/** @internal */
|
|
476
475
|
export const dimapEffect = dual<
|
|
477
|
-
<In0,
|
|
476
|
+
<In0, In, E2, R2, A, A2, E3, R3>(
|
|
478
477
|
options: {
|
|
479
478
|
readonly onInput: (input: In0) => Effect.Effect<In, E2, R2>
|
|
480
479
|
readonly onDone: (a: A) => Effect.Effect<A2, E3, R3>
|
|
481
480
|
}
|
|
482
|
-
) => <
|
|
481
|
+
) => <L, E, R>(self: Sink.Sink<A, In, L, E, R>) => Sink.Sink<A2, In0, L, E2 | E3 | E, R2 | R3 | R>,
|
|
483
482
|
<A, In, L, E, R, In0, E2, R2, A2, E3, R3>(
|
|
484
483
|
self: Sink.Sink<A, In, L, E, R>,
|
|
485
484
|
options: {
|
|
@@ -527,7 +526,7 @@ export const dimapChunksEffect = dual<
|
|
|
527
526
|
readonly onInput: (chunk: Chunk.Chunk<In0>) => Effect.Effect<Chunk.Chunk<In>, E2, R2>
|
|
528
527
|
readonly onDone: (a: A) => Effect.Effect<A2, E3, R3>
|
|
529
528
|
}
|
|
530
|
-
) => <
|
|
529
|
+
) => <L, E, R>(self: Sink.Sink<A, In, L, E, R>) => Sink.Sink<A2, In0, L, E2 | E3 | E, R2 | R3 | R>,
|
|
531
530
|
<A, In, L, E, R, In0, E2, R2, A2, E3, R3>(
|
|
532
531
|
self: Sink.Sink<A, In, L, E, R>,
|
|
533
532
|
options: {
|
|
@@ -655,12 +654,12 @@ const dropWhileEffectReader = <In, R, E>(
|
|
|
655
654
|
|
|
656
655
|
/** @internal */
|
|
657
656
|
export const ensuring = dual<
|
|
658
|
-
<
|
|
659
|
-
finalizer: Effect.Effect<
|
|
657
|
+
<X, R2>(
|
|
658
|
+
finalizer: Effect.Effect<X, never, R2>
|
|
660
659
|
) => <A, In, L, E, R>(self: Sink.Sink<A, In, L, E, R>) => Sink.Sink<A, In, L, E, R2 | R>,
|
|
661
|
-
<A, In, L, E, R,
|
|
660
|
+
<A, In, L, E, R, X, R2>(
|
|
662
661
|
self: Sink.Sink<A, In, L, E, R>,
|
|
663
|
-
finalizer: Effect.Effect<
|
|
662
|
+
finalizer: Effect.Effect<X, never, R2>
|
|
664
663
|
) => Sink.Sink<A, In, L, E, R2 | R>
|
|
665
664
|
>(
|
|
666
665
|
2,
|
|
@@ -669,12 +668,12 @@ export const ensuring = dual<
|
|
|
669
668
|
|
|
670
669
|
/** @internal */
|
|
671
670
|
export const ensuringWith = dual<
|
|
672
|
-
<A, E,
|
|
673
|
-
finalizer: (exit: Exit.Exit<A, E>) => Effect.Effect<
|
|
671
|
+
<A, E, X, R2>(
|
|
672
|
+
finalizer: (exit: Exit.Exit<A, E>) => Effect.Effect<X, never, R2>
|
|
674
673
|
) => <In, L, R>(self: Sink.Sink<A, In, L, E, R>) => Sink.Sink<A, In, L, E, R2 | R>,
|
|
675
|
-
<A, In, L, E, R,
|
|
674
|
+
<A, In, L, E, R, X, R2>(
|
|
676
675
|
self: Sink.Sink<A, In, L, E, R>,
|
|
677
|
-
finalizer: (exit: Exit.Exit<A, E>) => Effect.Effect<
|
|
676
|
+
finalizer: (exit: Exit.Exit<A, E>) => Effect.Effect<X, never, R2>
|
|
678
677
|
) => Sink.Sink<A, In, L, E, R2 | R>
|
|
679
678
|
>(
|
|
680
679
|
2,
|
|
@@ -1245,8 +1244,7 @@ export const foldWeightedEffect = <S, In, E, R, E2, R2>(
|
|
|
1245
1244
|
decompose: (input) => Effect.succeed(Chunk.of(input))
|
|
1246
1245
|
})
|
|
1247
1246
|
|
|
1248
|
-
|
|
1249
|
-
const foldWeightedDecomposeEffectLoop = <S, In, R, E, R2, E2, R3, E3>(
|
|
1247
|
+
const foldWeightedDecomposeEffectLoop = <S, In, E, R, E2, R2, E3, R3>(
|
|
1250
1248
|
s: S,
|
|
1251
1249
|
max: number,
|
|
1252
1250
|
costFn: (s: S, input: In) => Effect.Effect<number, E, R>,
|
|
@@ -1274,7 +1272,7 @@ const foldWeightedDecomposeEffectLoop = <S, In, R, E, R2, E2, R3, E3>(
|
|
|
1274
1272
|
})
|
|
1275
1273
|
|
|
1276
1274
|
/** @internal */
|
|
1277
|
-
const foldWeightedDecomposeEffectFold = <S, In, R,
|
|
1275
|
+
const foldWeightedDecomposeEffectFold = <S, In, E, R, E2, R2, E3, R3>(
|
|
1278
1276
|
s: S,
|
|
1279
1277
|
max: number,
|
|
1280
1278
|
costFn: (s: S, input: In) => Effect.Effect<number, E, R>,
|
|
@@ -1343,7 +1341,7 @@ export const flatMap = dual<
|
|
|
1343
1341
|
)
|
|
1344
1342
|
|
|
1345
1343
|
/** @internal */
|
|
1346
|
-
export const forEach = <In,
|
|
1344
|
+
export const forEach = <In, X, E, R>(f: (input: In) => Effect.Effect<X, E, R>): Sink.Sink<void, In, never, E, R> => {
|
|
1347
1345
|
const process: Channel.Channel<never, Chunk.Chunk<In>, E, E, void, unknown, R> = core.readWithCause({
|
|
1348
1346
|
onInput: (input: Chunk.Chunk<In>) =>
|
|
1349
1347
|
pipe(core.fromEffect(Effect.forEach(input, (v) => f(v), { discard: true })), core.flatMap(() => process)),
|
|
@@ -1354,8 +1352,8 @@ export const forEach = <In, _, E, R>(f: (input: In) => Effect.Effect<_, E, R>):
|
|
|
1354
1352
|
}
|
|
1355
1353
|
|
|
1356
1354
|
/** @internal */
|
|
1357
|
-
export const forEachChunk = <In,
|
|
1358
|
-
f: (input: Chunk.Chunk<In>) => Effect.Effect<
|
|
1355
|
+
export const forEachChunk = <In, X, E, R>(
|
|
1356
|
+
f: (input: Chunk.Chunk<In>) => Effect.Effect<X, E, R>
|
|
1359
1357
|
): Sink.Sink<void, In, never, E, R> => {
|
|
1360
1358
|
const process: Channel.Channel<never, Chunk.Chunk<In>, E, E, void, unknown, R> = core.readWithCause({
|
|
1361
1359
|
onInput: (input: Chunk.Chunk<In>) => pipe(core.fromEffect(f(input)), core.flatMap(() => process)),
|
|
@@ -1433,19 +1431,19 @@ export const fromPubSub = <In>(
|
|
|
1433
1431
|
): Sink.Sink<void, In> => fromQueue(pubsub, options)
|
|
1434
1432
|
|
|
1435
1433
|
/** @internal */
|
|
1436
|
-
export const fromPush = <In,
|
|
1434
|
+
export const fromPush = <In, L0, R0, L, R>(
|
|
1437
1435
|
push: Effect.Effect<
|
|
1438
|
-
(_: Option.Option<Chunk.Chunk<In>>) => Effect.Effect<void, readonly [Either.Either<
|
|
1436
|
+
(_: Option.Option<Chunk.Chunk<In>>) => Effect.Effect<void, readonly [Either.Either<R0, L0>, Chunk.Chunk<L>], R>,
|
|
1439
1437
|
never,
|
|
1440
1438
|
R
|
|
1441
1439
|
>
|
|
1442
|
-
): Sink.Sink<
|
|
1440
|
+
): Sink.Sink<R0, In, L, L0, Exclude<R, Scope.Scope>> =>
|
|
1443
1441
|
new SinkImpl(channel.unwrapScoped(pipe(push, Effect.map(fromPushPull))))
|
|
1444
1442
|
|
|
1445
|
-
const fromPushPull = <
|
|
1443
|
+
const fromPushPull = <In, Z, E, L, R>(
|
|
1446
1444
|
push: (
|
|
1447
1445
|
option: Option.Option<Chunk.Chunk<In>>
|
|
1448
|
-
) => Effect.Effect<void, readonly [Either.Either<
|
|
1446
|
+
) => Effect.Effect<void, readonly [Either.Either<Z, E>, Chunk.Chunk<L>], R>
|
|
1449
1447
|
): Channel.Channel<Chunk.Chunk<L>, Chunk.Chunk<In>, E, never, Z, unknown, R> =>
|
|
1450
1448
|
core.readWith({
|
|
1451
1449
|
onInput: (input: Chunk.Chunk<In>) =>
|
|
@@ -1590,7 +1588,7 @@ export const provideContext = dual<
|
|
|
1590
1588
|
export const race = dual<
|
|
1591
1589
|
<R1, E1, In1, L1, A1>(
|
|
1592
1590
|
that: Sink.Sink<A1, In1, L1, E1, R1>
|
|
1593
|
-
) => <
|
|
1591
|
+
) => <A, In, L, E, R>(self: Sink.Sink<A, In, L, E, R>) => Sink.Sink<A1 | A, In & In1, L1 | L, E1 | E, R1 | R>,
|
|
1594
1592
|
<A, In, L, E, R, A1, In1, L1, E1, R1>(
|
|
1595
1593
|
self: Sink.Sink<A, In, L, E, R>,
|
|
1596
1594
|
that: Sink.Sink<A1, In1, L1, E1, R1>
|
|
@@ -1609,14 +1607,14 @@ export const raceBoth = dual<
|
|
|
1609
1607
|
}
|
|
1610
1608
|
) => <A, In, L, E, R>(
|
|
1611
1609
|
self: Sink.Sink<A, In, L, E, R>
|
|
1612
|
-
) => Sink.Sink<Either.Either<
|
|
1610
|
+
) => Sink.Sink<Either.Either<A1, A>, In & In1, L1 | L, E1 | E, R1 | R>,
|
|
1613
1611
|
<A, In, L, E, R, A1, In1, L1, E1, R1>(
|
|
1614
1612
|
self: Sink.Sink<A, In, L, E, R>,
|
|
1615
1613
|
that: Sink.Sink<A1, In1, L1, E1, R1>,
|
|
1616
1614
|
options?: {
|
|
1617
1615
|
readonly capacity?: number | undefined
|
|
1618
1616
|
}
|
|
1619
|
-
) => Sink.Sink<Either.Either<
|
|
1617
|
+
) => Sink.Sink<Either.Either<A1, A>, In & In1, L1 | L, E1 | E, R1 | R>
|
|
1620
1618
|
>(
|
|
1621
1619
|
(args) => isSink(args[1]),
|
|
1622
1620
|
(self, that, options) =>
|
|
@@ -1660,7 +1658,7 @@ export const raceWith = dual<
|
|
|
1660
1658
|
): Sink.Sink<A3 | A4, In & In2, L2 | L, E2 | E, R2 | R> => {
|
|
1661
1659
|
const scoped = Effect.gen(function*($) {
|
|
1662
1660
|
const pubsub = yield* $(
|
|
1663
|
-
PubSub.bounded<Either.Either<
|
|
1661
|
+
PubSub.bounded<Either.Either<Chunk.Chunk<In & In2>, Exit.Exit<unknown>>>(options?.capacity ?? 16)
|
|
1664
1662
|
)
|
|
1665
1663
|
const channel1 = yield* $(channel.fromPubSubScoped(pubsub))
|
|
1666
1664
|
const channel2 = yield* $(channel.fromPubSubScoped(pubsub))
|
|
@@ -1907,7 +1905,7 @@ export const take = <In>(n: number): Sink.Sink<Chunk.Chunk<In>, In, In> =>
|
|
|
1907
1905
|
)
|
|
1908
1906
|
|
|
1909
1907
|
/** @internal */
|
|
1910
|
-
export const toChannel = <
|
|
1908
|
+
export const toChannel = <A, In, L, E, R>(
|
|
1911
1909
|
self: Sink.Sink<A, In, L, E, R>
|
|
1912
1910
|
): Channel.Channel<Chunk.Chunk<L>, Chunk.Chunk<In>, E, never, A, unknown, R> =>
|
|
1913
1911
|
Effect.isEffect(self) ?
|
package/src/internal/stm/core.ts
CHANGED
|
@@ -414,7 +414,7 @@ export const contextWith = <R0, R>(f: (environment: Context.Context<R0>) => R):
|
|
|
414
414
|
map(context<R0>(), f)
|
|
415
415
|
|
|
416
416
|
/** @internal */
|
|
417
|
-
export const contextWithSTM = <R0,
|
|
417
|
+
export const contextWithSTM = <R0, A, E, R>(
|
|
418
418
|
f: (environment: Context.Context<R0>) => STM.STM<A, E, R>
|
|
419
419
|
): STM.STM<A, E, R0 | R> => flatMap(context<R0>(), f)
|
|
420
420
|
|
|
@@ -579,12 +579,12 @@ export class STMDriver<in out R, out E, out A> {
|
|
|
579
579
|
|
|
580
580
|
/** @internal */
|
|
581
581
|
export const catchAll = dual<
|
|
582
|
-
<E,
|
|
582
|
+
<E, B, E1, R1>(
|
|
583
583
|
f: (e: E) => STM.STM<B, E1, R1>
|
|
584
|
-
) => <
|
|
584
|
+
) => <A, R>(
|
|
585
585
|
self: STM.STM<A, E, R>
|
|
586
586
|
) => STM.STM<B | A, E1, R1 | R>,
|
|
587
|
-
<
|
|
587
|
+
<A, E, R, B, E1, R1>(
|
|
588
588
|
self: STM.STM<A, E, R>,
|
|
589
589
|
f: (e: E) => STM.STM<B, E1, R1>
|
|
590
590
|
) => STM.STM<B | A, E1, R1 | R>
|
|
@@ -634,7 +634,7 @@ export const effect = <R, A>(
|
|
|
634
634
|
/** @internal */
|
|
635
635
|
export const ensuring = dual<
|
|
636
636
|
<R1, B>(finalizer: STM.STM<B, never, R1>) => <A, E, R>(self: STM.STM<A, E, R>) => STM.STM<A, E, R1 | R>,
|
|
637
|
-
<
|
|
637
|
+
<A, E, R, R1, B>(self: STM.STM<A, E, R>, finalizer: STM.STM<B, never, R1>) => STM.STM<A, E, R1 | R>
|
|
638
638
|
>(2, (self, finalizer) =>
|
|
639
639
|
matchSTM(self, {
|
|
640
640
|
onFailure: (e) => zipRight(finalizer, fail(e)),
|
|
@@ -653,8 +653,8 @@ export const failSync = <E>(evaluate: LazyArg<E>): STM.STM<never, E> => {
|
|
|
653
653
|
|
|
654
654
|
/** @internal */
|
|
655
655
|
export const flatMap = dual<
|
|
656
|
-
<A,
|
|
657
|
-
<
|
|
656
|
+
<A, A2, E1, R1>(f: (a: A) => STM.STM<A2, E1, R1>) => <E, R>(self: STM.STM<A, E, R>) => STM.STM<A2, E1 | E, R1 | R>,
|
|
657
|
+
<A, E, R, A2, E1, R1>(self: STM.STM<A, E, R>, f: (a: A) => STM.STM<A2, E1, R1>) => STM.STM<A2, E1 | E, R1 | R>
|
|
658
658
|
>(2, (self, f) => {
|
|
659
659
|
const stm = new STMPrimitive(OpCodes.OP_ON_SUCCESS)
|
|
660
660
|
stm.i1 = self
|
|
@@ -664,20 +664,20 @@ export const flatMap = dual<
|
|
|
664
664
|
|
|
665
665
|
/** @internal */
|
|
666
666
|
export const matchSTM = dual<
|
|
667
|
-
<E,
|
|
667
|
+
<E, A1, E1, R1, A, A2, E2, R2>(
|
|
668
668
|
options: {
|
|
669
669
|
readonly onFailure: (e: E) => STM.STM<A1, E1, R1>
|
|
670
670
|
readonly onSuccess: (a: A) => STM.STM<A2, E2, R2>
|
|
671
671
|
}
|
|
672
672
|
) => <R>(self: STM.STM<A, E, R>) => STM.STM<A1 | A2, E1 | E2, R1 | R2 | R>,
|
|
673
|
-
<
|
|
673
|
+
<A, E, R, A1, E1, R1, A2, E2, R2>(
|
|
674
674
|
self: STM.STM<A, E, R>,
|
|
675
675
|
options: {
|
|
676
676
|
readonly onFailure: (e: E) => STM.STM<A1, E1, R1>
|
|
677
677
|
readonly onSuccess: (a: A) => STM.STM<A2, E2, R2>
|
|
678
678
|
}
|
|
679
679
|
) => STM.STM<A1 | A2, E1 | E2, R1 | R2 | R>
|
|
680
|
-
>(2, <
|
|
680
|
+
>(2, <A, E, R, A1, E1, R1, A2, E2, R2>(
|
|
681
681
|
self: STM.STM<A, E, R>,
|
|
682
682
|
{ onFailure, onSuccess }: {
|
|
683
683
|
readonly onFailure: (e: E) => STM.STM<A1, E1, R1>
|
|
@@ -725,18 +725,18 @@ export const interruptAs = (fiberId: FiberId.FiberId): STM.STM<never> => {
|
|
|
725
725
|
|
|
726
726
|
/** @internal */
|
|
727
727
|
export const map = dual<
|
|
728
|
-
<A, B>(f: (a: A) => B) => <
|
|
729
|
-
<
|
|
728
|
+
<A, B>(f: (a: A) => B) => <E, R>(self: STM.STM<A, E, R>) => STM.STM<B, E, R>,
|
|
729
|
+
<A, E, R, B>(self: STM.STM<A, E, R>, f: (a: A) => B) => STM.STM<B, E, R>
|
|
730
730
|
>(2, (self, f) => pipe(self, flatMap((a) => sync(() => f(a)))))
|
|
731
731
|
|
|
732
732
|
/** @internal */
|
|
733
733
|
export const orTry = dual<
|
|
734
|
-
<
|
|
734
|
+
<A1, E1, R1>(
|
|
735
735
|
that: LazyArg<STM.STM<A1, E1, R1>>
|
|
736
736
|
) => <A, E, R>(
|
|
737
737
|
self: STM.STM<A, E, R>
|
|
738
738
|
) => STM.STM<A1 | A, E1 | E, R1 | R>,
|
|
739
|
-
<
|
|
739
|
+
<A, E, R, A1, E1, R1>(
|
|
740
740
|
self: STM.STM<A, E, R>,
|
|
741
741
|
that: LazyArg<STM.STM<A1, E1, R1>>
|
|
742
742
|
) => STM.STM<A1 | A, E1 | E, R1 | R>
|
|
@@ -766,12 +766,12 @@ export const sync = <A>(evaluate: () => A): STM.STM<A> => {
|
|
|
766
766
|
|
|
767
767
|
/** @internal */
|
|
768
768
|
export const zip = dual<
|
|
769
|
-
<
|
|
769
|
+
<A1, E1, R1>(
|
|
770
770
|
that: STM.STM<A1, E1, R1>
|
|
771
771
|
) => <A, E, R>(
|
|
772
772
|
self: STM.STM<A, E, R>
|
|
773
773
|
) => STM.STM<[A, A1], E1 | E, R1 | R>,
|
|
774
|
-
<
|
|
774
|
+
<A, E, R, A1, E1, R1>(
|
|
775
775
|
self: STM.STM<A, E, R>,
|
|
776
776
|
that: STM.STM<A1, E1, R1>
|
|
777
777
|
) => STM.STM<[A, A1], E1 | E, R1 | R>
|
|
@@ -779,25 +779,25 @@ export const zip = dual<
|
|
|
779
779
|
|
|
780
780
|
/** @internal */
|
|
781
781
|
export const zipLeft = dual<
|
|
782
|
-
<
|
|
783
|
-
<
|
|
782
|
+
<A1, E1, R1>(that: STM.STM<A1, E1, R1>) => <A, E, R>(self: STM.STM<A, E, R>) => STM.STM<A, E1 | E, R1 | R>,
|
|
783
|
+
<A, E, R, A1, E1, R1>(self: STM.STM<A, E, R>, that: STM.STM<A1, E1, R1>) => STM.STM<A, E1 | E, R1 | R>
|
|
784
784
|
>(2, (self, that) => pipe(self, flatMap((a) => pipe(that, map(() => a)))))
|
|
785
785
|
|
|
786
786
|
/** @internal */
|
|
787
787
|
export const zipRight = dual<
|
|
788
|
-
<
|
|
789
|
-
<
|
|
788
|
+
<A1, E1, R1>(that: STM.STM<A1, E1, R1>) => <A, E, R>(self: STM.STM<A, E, R>) => STM.STM<A1, E1 | E, R1 | R>,
|
|
789
|
+
<A, E, R, A1, E1, R1>(self: STM.STM<A, E, R>, that: STM.STM<A1, E1, R1>) => STM.STM<A1, E1 | E, R1 | R>
|
|
790
790
|
>(2, (self, that) => pipe(self, flatMap(() => that)))
|
|
791
791
|
|
|
792
792
|
/** @internal */
|
|
793
793
|
export const zipWith = dual<
|
|
794
|
-
<
|
|
794
|
+
<A1, E1, R1, A, A2>(
|
|
795
795
|
that: STM.STM<A1, E1, R1>,
|
|
796
796
|
f: (a: A, b: A1) => A2
|
|
797
|
-
) => <
|
|
797
|
+
) => <E, R>(
|
|
798
798
|
self: STM.STM<A, E, R>
|
|
799
799
|
) => STM.STM<A2, E1 | E, R1 | R>,
|
|
800
|
-
<
|
|
800
|
+
<A, E, R, A1, E1, R1, A2>(
|
|
801
801
|
self: STM.STM<A, E, R>,
|
|
802
802
|
that: STM.STM<A1, E1, R1>,
|
|
803
803
|
f: (a: A, b: A1) => A2
|