effect 2.3.7 → 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/BigDecimal.js +1 -1
- package/dist/cjs/BigDecimal.js.map +1 -1
- package/dist/cjs/BigInt.js +14 -1
- package/dist/cjs/BigInt.js.map +1 -1
- package/dist/cjs/Chunk.js +1 -1
- package/dist/cjs/Chunk.js.map +1 -1
- package/dist/cjs/Cron.js +1 -1
- package/dist/cjs/Cron.js.map +1 -1
- package/dist/cjs/Duration.js +1 -1
- package/dist/cjs/Duration.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/FiberMap.js.map +1 -1
- package/dist/cjs/Hash.js +29 -1
- package/dist/cjs/Hash.js.map +1 -1
- package/dist/cjs/List.js +3 -2
- package/dist/cjs/List.js.map +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/SortedMap.js +1 -1
- package/dist/cjs/SortedMap.js.map +1 -1
- package/dist/cjs/SortedSet.js +1 -1
- package/dist/cjs/SortedSet.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 +1 -1
- package/dist/cjs/TestAnnotation.js.map +1 -1
- package/dist/cjs/internal/cache.js +1 -1
- package/dist/cjs/internal/cache.js.map +1 -1
- package/dist/cjs/internal/cause.js +1 -1
- package/dist/cjs/internal/cause.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/context.js +1 -1
- package/dist/cjs/internal/context.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 +15 -31
- package/dist/cjs/internal/core.js.map +1 -1
- package/dist/cjs/internal/data.js +1 -1
- package/dist/cjs/internal/data.js.map +1 -1
- package/dist/cjs/internal/effect/circular.js +5 -6
- package/dist/cjs/internal/effect/circular.js.map +1 -1
- package/dist/cjs/internal/effectable.js +2 -2
- package/dist/cjs/internal/effectable.js.map +1 -1
- package/dist/cjs/internal/either.js +1 -1
- package/dist/cjs/internal/either.js.map +1 -1
- package/dist/cjs/internal/fiberId.js +2 -9
- package/dist/cjs/internal/fiberId.js.map +1 -1
- package/dist/cjs/internal/fiberStatus.js +4 -3
- package/dist/cjs/internal/fiberStatus.js.map +1 -1
- package/dist/cjs/internal/groupBy.js.map +1 -1
- package/dist/cjs/internal/hashMap.js +1 -1
- package/dist/cjs/internal/hashMap.js.map +1 -1
- package/dist/cjs/internal/hashSet.js +1 -1
- package/dist/cjs/internal/hashSet.js.map +1 -1
- package/dist/cjs/internal/keyedPool.js +2 -2
- package/dist/cjs/internal/keyedPool.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/metric/keyType.js +4 -4
- package/dist/cjs/internal/metric/keyType.js.map +1 -1
- package/dist/cjs/internal/metric/state.js +5 -9
- package/dist/cjs/internal/metric/state.js.map +1 -1
- package/dist/cjs/internal/option.js +1 -1
- package/dist/cjs/internal/option.js.map +1 -1
- package/dist/cjs/internal/pool.js +1 -1
- package/dist/cjs/internal/pool.js.map +1 -1
- package/dist/cjs/internal/redBlackTree.js +1 -1
- package/dist/cjs/internal/redBlackTree.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/secret.js +1 -1
- package/dist/cjs/internal/secret.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/core.js +1 -1
- package/dist/cjs/internal/stm/core.js.map +1 -1
- package/dist/cjs/internal/stm/stm/stmState.js +6 -4
- package/dist/cjs/internal/stm/stm/stmState.js.map +1 -1
- package/dist/cjs/internal/stm/stm/tExit.js +7 -6
- package/dist/cjs/internal/stm/stm/tExit.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/trie.js +1 -1
- package/dist/cjs/internal/trie.js.map +1 -1
- package/dist/cjs/internal/version.js +1 -1
- package/dist/dts/BigDecimal.d.ts.map +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/FiberMap.d.ts +4 -5
- package/dist/dts/FiberMap.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/Hash.d.ts +8 -0
- package/dist/dts/Hash.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/List.d.ts.map +1 -1
- 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/SortedMap.d.ts.map +1 -1
- package/dist/dts/SortedSet.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/metric/keyType.d.ts.map +1 -1
- package/dist/dts/internal/metric/state.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/BigDecimal.js +1 -1
- package/dist/esm/BigDecimal.js.map +1 -1
- package/dist/esm/BigInt.js +12 -0
- package/dist/esm/BigInt.js.map +1 -1
- package/dist/esm/Chunk.js +1 -1
- package/dist/esm/Chunk.js.map +1 -1
- package/dist/esm/Cron.js +1 -1
- package/dist/esm/Cron.js.map +1 -1
- package/dist/esm/Duration.js +1 -1
- package/dist/esm/Duration.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/FiberMap.js.map +1 -1
- package/dist/esm/Hash.js +27 -0
- package/dist/esm/Hash.js.map +1 -1
- package/dist/esm/List.js +3 -2
- package/dist/esm/List.js.map +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/SortedMap.js +1 -1
- package/dist/esm/SortedMap.js.map +1 -1
- package/dist/esm/SortedSet.js +1 -1
- package/dist/esm/SortedSet.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 +1 -1
- package/dist/esm/TestAnnotation.js.map +1 -1
- package/dist/esm/internal/cache.js +1 -1
- package/dist/esm/internal/cache.js.map +1 -1
- package/dist/esm/internal/cause.js +1 -1
- package/dist/esm/internal/cause.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/context.js +1 -1
- package/dist/esm/internal/context.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 +12 -26
- package/dist/esm/internal/core.js.map +1 -1
- package/dist/esm/internal/data.js +1 -1
- package/dist/esm/internal/data.js.map +1 -1
- package/dist/esm/internal/effect/circular.js +5 -6
- package/dist/esm/internal/effect/circular.js.map +1 -1
- package/dist/esm/internal/effectable.js +2 -2
- package/dist/esm/internal/effectable.js.map +1 -1
- package/dist/esm/internal/either.js +1 -1
- package/dist/esm/internal/either.js.map +1 -1
- package/dist/esm/internal/fiberId.js +2 -9
- package/dist/esm/internal/fiberId.js.map +1 -1
- package/dist/esm/internal/fiberStatus.js +4 -3
- package/dist/esm/internal/fiberStatus.js.map +1 -1
- package/dist/esm/internal/groupBy.js.map +1 -1
- package/dist/esm/internal/hashMap.js +1 -1
- package/dist/esm/internal/hashMap.js.map +1 -1
- package/dist/esm/internal/hashSet.js +1 -1
- package/dist/esm/internal/hashSet.js.map +1 -1
- package/dist/esm/internal/keyedPool.js +2 -2
- package/dist/esm/internal/keyedPool.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/metric/keyType.js +4 -4
- package/dist/esm/internal/metric/keyType.js.map +1 -1
- package/dist/esm/internal/metric/state.js +5 -9
- package/dist/esm/internal/metric/state.js.map +1 -1
- package/dist/esm/internal/option.js +1 -1
- package/dist/esm/internal/option.js.map +1 -1
- package/dist/esm/internal/pool.js +1 -1
- package/dist/esm/internal/pool.js.map +1 -1
- package/dist/esm/internal/redBlackTree.js +1 -1
- package/dist/esm/internal/redBlackTree.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/secret.js +1 -1
- package/dist/esm/internal/secret.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/core.js +1 -1
- package/dist/esm/internal/stm/core.js.map +1 -1
- package/dist/esm/internal/stm/stm/stmState.js +5 -3
- package/dist/esm/internal/stm/stm/stmState.js.map +1 -1
- package/dist/esm/internal/stm/stm/tExit.js +6 -5
- package/dist/esm/internal/stm/stm/tExit.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/trie.js +1 -1
- package/dist/esm/internal/trie.js.map +1 -1
- package/dist/esm/internal/version.js +1 -1
- package/package.json +3 -2
- package/src/BigDecimal.ts +2 -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 +5 -5
- package/src/Config.ts +4 -4
- package/src/Cron.ts +4 -3
- package/src/Differ.ts +2 -2
- package/src/Duration.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/FiberMap.ts +0 -1
- package/src/GroupBy.ts +16 -16
- package/src/Hash.ts +31 -0
- package/src/Layer.ts +32 -32
- package/src/List.ts +6 -5
- 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/SortedMap.ts +5 -1
- package/src/SortedSet.ts +5 -1
- 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 +7 -9
- package/src/Types.ts +11 -0
- package/src/internal/blockedRequests.ts +2 -2
- package/src/internal/cache.ts +2 -1
- package/src/internal/cause.ts +4 -3
- 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/context.ts +1 -1
- package/src/internal/core-effect.ts +28 -43
- package/src/internal/core.ts +19 -44
- package/src/internal/data.ts +1 -1
- 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 +10 -11
- package/src/internal/effectable.ts +3 -3
- package/src/internal/either.ts +23 -20
- 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/fiberId.ts +7 -13
- package/src/internal/fiberRuntime.ts +9 -9
- package/src/internal/fiberStatus.ts +7 -6
- package/src/internal/groupBy.ts +40 -40
- package/src/internal/hashMap.ts +2 -2
- package/src/internal/hashSet.ts +4 -1
- package/src/internal/keyedPool.ts +4 -2
- 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/keyType.ts +7 -5
- package/src/internal/metric/polling.ts +8 -8
- package/src/internal/metric/state.ts +11 -10
- package/src/internal/metric.ts +6 -6
- package/src/internal/option.ts +1 -1
- package/src/internal/pool.ts +2 -1
- package/src/internal/redBlackTree.ts +2 -2
- 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/secret.ts +2 -1
- package/src/internal/sink.ts +27 -29
- package/src/internal/stm/core.ts +24 -24
- package/src/internal/stm/stm/stmState.ts +16 -11
- package/src/internal/stm/stm/tExit.ts +15 -9
- 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/trie.ts +2 -2
- package/src/internal/version.ts +1 -1
|
@@ -39,7 +39,7 @@ import * as pull from "./stream/pull.js";
|
|
|
39
39
|
import * as SinkEndReason from "./stream/sinkEndReason.js";
|
|
40
40
|
import * as ZipAllState from "./stream/zipAllState.js";
|
|
41
41
|
import * as ZipChunksState from "./stream/zipChunksState.js";
|
|
42
|
-
import * as
|
|
42
|
+
import * as InternalTake from "./take.js";
|
|
43
43
|
/** @internal */
|
|
44
44
|
const StreamSymbolKey = "effect/Stream";
|
|
45
45
|
/** @internal */
|
|
@@ -162,19 +162,35 @@ export const aggregateWithinEither = /*#__PURE__*/dual(3, (self, sink, schedule)
|
|
|
162
162
|
/** @internal */
|
|
163
163
|
export const as = /*#__PURE__*/dual(2, (self, value) => map(self, () => value));
|
|
164
164
|
/** @internal */
|
|
165
|
-
export const _async = (register, outputBuffer = 16) =>
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
165
|
+
export const _async = (register, outputBuffer = 16) => Effect.acquireRelease(Queue.bounded(outputBuffer), queue => Queue.shutdown(queue)).pipe(Effect.flatMap(output => Effect.runtime().pipe(Effect.flatMap(runtime => Effect.sync(() => {
|
|
166
|
+
const runPromiseExit = Runtime.runPromiseExit(runtime);
|
|
167
|
+
const canceler = register(emit.make(resume => InternalTake.fromPull(resume).pipe(Effect.flatMap(take => Queue.offer(output, take)), Effect.asUnit, runPromiseExit).then(exit => {
|
|
168
|
+
if (Exit.isFailure(exit)) {
|
|
169
|
+
if (!Cause.isInterrupted(exit.cause)) {
|
|
170
|
+
throw Cause.squash(exit.cause);
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
})));
|
|
174
|
+
return canceler;
|
|
175
|
+
})), Effect.map(value => {
|
|
176
|
+
const loop = Queue.take(output).pipe(Effect.flatMap(take => InternalTake.done(take)), Effect.match({
|
|
177
|
+
onFailure: maybeError => core.fromEffect(Queue.shutdown(output)).pipe(channel.zipRight(Option.match(maybeError, {
|
|
178
|
+
onNone: () => core.unit,
|
|
179
|
+
onSome: error => core.fail(error)
|
|
180
|
+
}))),
|
|
181
|
+
onSuccess: chunk => core.write(chunk).pipe(core.flatMap(() => loop))
|
|
182
|
+
}), channel.unwrap);
|
|
183
|
+
return fromChannel(loop).pipe(ensuring(value ?? Effect.unit));
|
|
184
|
+
}))), unwrapScoped);
|
|
169
185
|
/** @internal */
|
|
170
|
-
export const asyncEffect = (register, outputBuffer = 16) => pipe(Effect.acquireRelease(Queue.bounded(outputBuffer), queue => Queue.shutdown(queue)), Effect.flatMap(output => pipe(Effect.runtime(), Effect.flatMap(runtime => pipe(register(emit.make(k => pipe(
|
|
186
|
+
export const asyncEffect = (register, outputBuffer = 16) => pipe(Effect.acquireRelease(Queue.bounded(outputBuffer), queue => Queue.shutdown(queue)), Effect.flatMap(output => pipe(Effect.runtime(), Effect.flatMap(runtime => pipe(register(emit.make(k => pipe(InternalTake.fromPull(k), Effect.flatMap(take => Queue.offer(output, take)), Effect.asUnit, Runtime.runPromiseExit(runtime)).then(exit => {
|
|
171
187
|
if (Exit.isFailure(exit)) {
|
|
172
188
|
if (!Cause.isInterrupted(exit.cause)) {
|
|
173
189
|
throw Cause.squash(exit.cause);
|
|
174
190
|
}
|
|
175
191
|
}
|
|
176
192
|
}))), Effect.map(() => {
|
|
177
|
-
const loop = pipe(Queue.take(output), Effect.flatMap(
|
|
193
|
+
const loop = pipe(Queue.take(output), Effect.flatMap(InternalTake.done), Effect.match({
|
|
178
194
|
onFailure: maybeError => pipe(core.fromEffect(Queue.shutdown(output)), channel.zipRight(Option.match(maybeError, {
|
|
179
195
|
onNone: () => core.unit,
|
|
180
196
|
onSome: core.fail
|
|
@@ -184,38 +200,13 @@ export const asyncEffect = (register, outputBuffer = 16) => pipe(Effect.acquireR
|
|
|
184
200
|
return loop;
|
|
185
201
|
}))))), channel.unwrapScoped, fromChannel);
|
|
186
202
|
/** @internal */
|
|
187
|
-
export const
|
|
188
|
-
if (Exit.isFailure(exit)) {
|
|
189
|
-
if (!Cause.isInterrupted(exit.cause)) {
|
|
190
|
-
throw Cause.squash(exit.cause);
|
|
191
|
-
}
|
|
192
|
-
}
|
|
193
|
-
})))), Effect.map(Either.match({
|
|
194
|
-
onLeft: canceler => {
|
|
195
|
-
const loop = pipe(Queue.take(output), Effect.flatMap(_take.done), Effect.match({
|
|
196
|
-
onFailure: maybeError => channel.zipRight(core.fromEffect(Queue.shutdown(output)), Option.match(maybeError, {
|
|
197
|
-
onNone: () => core.unit,
|
|
198
|
-
onSome: core.fail
|
|
199
|
-
})),
|
|
200
|
-
onSuccess: chunk => pipe(core.write(chunk), core.flatMap(() => loop))
|
|
201
|
-
}), channel.unwrap);
|
|
202
|
-
return pipe(fromChannel(loop), ensuring(canceler));
|
|
203
|
-
},
|
|
204
|
-
onRight: stream => unwrap(pipe(Queue.shutdown(output), Effect.as(stream)))
|
|
205
|
-
})))))), unwrapScoped);
|
|
206
|
-
/** @internal */
|
|
207
|
-
export const asyncOption = (register, outputBuffer = 16) => asyncInterrupt(emit => Option.match(register(emit), {
|
|
208
|
-
onNone: () => Either.left(Effect.unit),
|
|
209
|
-
onSome: Either.right
|
|
210
|
-
}), outputBuffer);
|
|
211
|
-
/** @internal */
|
|
212
|
-
export const asyncScoped = (register, outputBuffer = 16) => pipe(Effect.acquireRelease(Queue.bounded(outputBuffer), queue => Queue.shutdown(queue)), Effect.flatMap(output => pipe(Effect.runtime(), Effect.flatMap(runtime => pipe(register(emit.make(k => pipe(_take.fromPull(k), Effect.flatMap(take => Queue.offer(output, take)), Effect.asUnit, Runtime.runPromiseExit(runtime)).then(exit => {
|
|
203
|
+
export const asyncScoped = (register, outputBuffer = 16) => pipe(Effect.acquireRelease(Queue.bounded(outputBuffer), queue => Queue.shutdown(queue)), Effect.flatMap(output => pipe(Effect.runtime(), Effect.flatMap(runtime => pipe(register(emit.make(k => pipe(InternalTake.fromPull(k), Effect.flatMap(take => Queue.offer(output, take)), Effect.asUnit, Runtime.runPromiseExit(runtime)).then(exit => {
|
|
213
204
|
if (Exit.isFailure(exit)) {
|
|
214
205
|
if (!Cause.isInterrupted(exit.cause)) {
|
|
215
206
|
throw Cause.squash(exit.cause);
|
|
216
207
|
}
|
|
217
208
|
}
|
|
218
|
-
}))), Effect.zipRight(Ref.make(false)), Effect.flatMap(ref => pipe(Ref.get(ref), Effect.map(isDone => isDone ? pull.end() : pipe(Queue.take(output), Effect.flatMap(
|
|
209
|
+
}))), Effect.zipRight(Ref.make(false)), Effect.flatMap(ref => pipe(Ref.get(ref), Effect.map(isDone => isDone ? pull.end() : pipe(Queue.take(output), Effect.flatMap(InternalTake.done), Effect.onError(() => pipe(Ref.set(ref, true), Effect.zipRight(Queue.shutdown(output)))))))))))), scoped, flatMap(repeatEffectChunkOption));
|
|
219
210
|
/** @internal */
|
|
220
211
|
export const branchAfter = /*#__PURE__*/dual(3, (self, n, f) => suspend(() => {
|
|
221
212
|
const buffering = acc => core.readWith({
|
|
@@ -275,7 +266,7 @@ export const bufferChunks = /*#__PURE__*/dual(2, (self, options) => {
|
|
|
275
266
|
}
|
|
276
267
|
const queue = toQueue(self, options);
|
|
277
268
|
return new StreamImpl(channel.unwrapScoped(Effect.map(queue, queue => {
|
|
278
|
-
const process = pipe(core.fromEffect(Queue.take(queue)), core.flatMap(
|
|
269
|
+
const process = pipe(core.fromEffect(Queue.take(queue)), core.flatMap(InternalTake.match({
|
|
279
270
|
onEnd: () => core.unit,
|
|
280
271
|
onFailure: core.failCause,
|
|
281
272
|
onSuccess: value => pipe(core.write(value), core.flatMap(() => process))
|
|
@@ -304,7 +295,7 @@ const bufferUnbounded = self => {
|
|
|
304
295
|
strategy: "unbounded"
|
|
305
296
|
});
|
|
306
297
|
return new StreamImpl(channel.unwrapScoped(Effect.map(queue, queue => {
|
|
307
|
-
const process = pipe(core.fromEffect(Queue.take(queue)), core.flatMap(
|
|
298
|
+
const process = pipe(core.fromEffect(Queue.take(queue)), core.flatMap(InternalTake.match({
|
|
308
299
|
onEnd: () => core.unit,
|
|
309
300
|
onFailure: core.failCause,
|
|
310
301
|
onSuccess: value => core.flatMap(core.write(value), () => process)
|
|
@@ -316,13 +307,13 @@ const bufferSignal = (scoped, bufferChannel) => {
|
|
|
316
307
|
const producer = (queue, ref) => {
|
|
317
308
|
const terminate = take => pipe(Ref.get(ref), Effect.tap(Deferred.await), Effect.zipRight(Deferred.make()), Effect.flatMap(deferred => pipe(Queue.offer(queue, [take, deferred]), Effect.zipRight(Ref.set(ref, deferred)), Effect.zipRight(Deferred.await(deferred)))), Effect.asUnit, core.fromEffect);
|
|
318
309
|
return core.readWithCause({
|
|
319
|
-
onInput: input => pipe(Deferred.make(), Effect.flatMap(deferred => pipe(Queue.offer(queue, [
|
|
320
|
-
onFailure: error => terminate(
|
|
321
|
-
onDone: () => terminate(
|
|
310
|
+
onInput: input => pipe(Deferred.make(), Effect.flatMap(deferred => pipe(Queue.offer(queue, [InternalTake.chunk(input), deferred]), Effect.flatMap(added => pipe(Ref.set(ref, deferred), Effect.when(() => added))))), Effect.asUnit, core.fromEffect, core.flatMap(() => producer(queue, ref))),
|
|
311
|
+
onFailure: error => terminate(InternalTake.failCause(error)),
|
|
312
|
+
onDone: () => terminate(InternalTake.end)
|
|
322
313
|
});
|
|
323
314
|
};
|
|
324
315
|
const consumer = queue => {
|
|
325
|
-
const process = pipe(core.fromEffect(Queue.take(queue)), core.flatMap(([take, deferred]) => channel.zipRight(core.fromEffect(Deferred.succeed(deferred, void 0)),
|
|
316
|
+
const process = pipe(core.fromEffect(Queue.take(queue)), core.flatMap(([take, deferred]) => channel.zipRight(core.fromEffect(Deferred.succeed(deferred, void 0)), InternalTake.match(take, {
|
|
326
317
|
onEnd: () => core.unit,
|
|
327
318
|
onFailure: core.failCause,
|
|
328
319
|
onSuccess: value => pipe(core.write(value), core.flatMap(() => process))
|
|
@@ -421,13 +412,13 @@ export const combine = /*#__PURE__*/dual(4, (self, that, s, f) => {
|
|
|
421
412
|
/** @internal */
|
|
422
413
|
export const combineChunks = /*#__PURE__*/dual(4, (self, that, s, f) => {
|
|
423
414
|
const producer = (handoff, latch) => channel.zipRight(core.fromEffect(Handoff.take(latch)), core.readWithCause({
|
|
424
|
-
onInput: input => core.flatMap(core.fromEffect(pipe(handoff, Handoff.offer(
|
|
425
|
-
onFailure: cause => core.fromEffect(Handoff.offer(handoff,
|
|
426
|
-
onDone: () => core.fromEffect(Handoff.offer(handoff,
|
|
415
|
+
onInput: input => core.flatMap(core.fromEffect(pipe(handoff, Handoff.offer(InternalTake.chunk(input)))), () => producer(handoff, latch)),
|
|
416
|
+
onFailure: cause => core.fromEffect(Handoff.offer(handoff, InternalTake.failCause(cause))),
|
|
417
|
+
onDone: () => core.fromEffect(Handoff.offer(handoff, InternalTake.end))
|
|
427
418
|
}));
|
|
428
419
|
return new StreamImpl(pipe(Effect.all([Handoff.make(), Handoff.make(), Handoff.make(), Handoff.make()]), Effect.tap(([left, _, latchL]) => pipe(toChannel(self), core.pipeTo(producer(left, latchL)), channelExecutor.runScoped, Effect.forkScoped)), Effect.tap(([_, right, __, latchR]) => pipe(toChannel(that), core.pipeTo(producer(right, latchR)), channelExecutor.runScoped, Effect.forkScoped)), Effect.map(([left, right, latchL, latchR]) => {
|
|
429
|
-
const pullLeft = pipe(latchL, Handoff.offer(void 0), Effect.zipRight(pipe(Handoff.take(left), Effect.flatMap(
|
|
430
|
-
const pullRight = pipe(latchR, Handoff.offer(void 0), Effect.zipRight(pipe(Handoff.take(right), Effect.flatMap(
|
|
420
|
+
const pullLeft = pipe(latchL, Handoff.offer(void 0), Effect.zipRight(pipe(Handoff.take(left), Effect.flatMap(InternalTake.done))));
|
|
421
|
+
const pullRight = pipe(latchR, Handoff.offer(void 0), Effect.zipRight(pipe(Handoff.take(right), Effect.flatMap(InternalTake.done))));
|
|
431
422
|
return toChannel(unfoldChunkEffect(s, s => Effect.flatMap(f(s, pullLeft, pullRight), unsome)));
|
|
432
423
|
}), channel.unwrapScoped));
|
|
433
424
|
});
|
|
@@ -1121,22 +1112,22 @@ export const interleave = /*#__PURE__*/dual(2, (self, that) => pipe(self, interl
|
|
|
1121
1112
|
/** @internal */
|
|
1122
1113
|
export const interleaveWith = /*#__PURE__*/dual(3, (self, that, decider) => {
|
|
1123
1114
|
const producer = handoff => core.readWithCause({
|
|
1124
|
-
onInput: value => core.flatMap(core.fromEffect(Handoff.offer(handoff,
|
|
1125
|
-
onFailure: cause => core.fromEffect(Handoff.offer(handoff,
|
|
1126
|
-
onDone: () => core.fromEffect(Handoff.offer(handoff,
|
|
1115
|
+
onInput: value => core.flatMap(core.fromEffect(Handoff.offer(handoff, InternalTake.of(value))), () => producer(handoff)),
|
|
1116
|
+
onFailure: cause => core.fromEffect(Handoff.offer(handoff, InternalTake.failCause(cause))),
|
|
1117
|
+
onDone: () => core.fromEffect(Handoff.offer(handoff, InternalTake.end))
|
|
1127
1118
|
});
|
|
1128
1119
|
return new StreamImpl(channel.unwrapScoped(pipe(Handoff.make(), Effect.zip(Handoff.make()), Effect.tap(([left]) => pipe(toChannel(self), channel.concatMap(channel.writeChunk), core.pipeTo(producer(left)), channelExecutor.runScoped, Effect.forkScoped)), Effect.tap(([_, right]) => pipe(toChannel(that), channel.concatMap(channel.writeChunk), core.pipeTo(producer(right)), channelExecutor.runScoped, Effect.forkScoped)), Effect.map(([left, right]) => {
|
|
1129
1120
|
const process = (leftDone, rightDone) => core.readWithCause({
|
|
1130
1121
|
onInput: bool => {
|
|
1131
1122
|
if (bool && !leftDone) {
|
|
1132
|
-
return pipe(core.fromEffect(Handoff.take(left)), core.flatMap(
|
|
1123
|
+
return pipe(core.fromEffect(Handoff.take(left)), core.flatMap(InternalTake.match({
|
|
1133
1124
|
onEnd: () => rightDone ? core.unit : process(true, rightDone),
|
|
1134
1125
|
onFailure: core.failCause,
|
|
1135
1126
|
onSuccess: chunk => pipe(core.write(chunk), core.flatMap(() => process(leftDone, rightDone)))
|
|
1136
1127
|
})));
|
|
1137
1128
|
}
|
|
1138
1129
|
if (!bool && !rightDone) {
|
|
1139
|
-
return pipe(core.fromEffect(Handoff.take(right)), core.flatMap(
|
|
1130
|
+
return pipe(core.fromEffect(Handoff.take(right)), core.flatMap(InternalTake.match({
|
|
1140
1131
|
onEnd: () => leftDone ? core.unit : process(leftDone, true),
|
|
1141
1132
|
onFailure: core.failCause,
|
|
1142
1133
|
onSuccess: chunk => pipe(core.write(chunk), core.flatMap(() => process(leftDone, rightDone)))
|
|
@@ -1590,8 +1581,7 @@ export const repeatWith = /*#__PURE__*/dual(3, (self, schedule, options) => {
|
|
|
1590
1581
|
return new StreamImpl(pipe(process, channel.zipRight(loop)));
|
|
1591
1582
|
}), unwrap);
|
|
1592
1583
|
});
|
|
1593
|
-
|
|
1594
|
-
export const repeatWithSchedule = (value, schedule) => repeatEffectWithSchedule(Effect.succeed(value), schedule);
|
|
1584
|
+
const repeatWithSchedule = (value, schedule) => repeatEffectWithSchedule(Effect.succeed(value), schedule);
|
|
1595
1585
|
/** @internal */
|
|
1596
1586
|
export const repeatEffectWithSchedule = (effect, schedule) => flatMap(fromEffect(Effect.zip(effect, Schedule.driver(schedule))), ([a, driver]) => concat(succeed(a), unfoldEffect(a, s => Effect.matchEffect(driver.next(s), {
|
|
1597
1587
|
onFailure: Effect.succeed,
|
|
@@ -1661,9 +1651,9 @@ export const runIntoQueueElementsScoped = /*#__PURE__*/dual(2, (self, queue) =>
|
|
|
1661
1651
|
/** @internal */
|
|
1662
1652
|
export const runIntoQueueScoped = /*#__PURE__*/dual(2, (self, queue) => {
|
|
1663
1653
|
const writer = core.readWithCause({
|
|
1664
|
-
onInput: input => core.flatMap(core.write(
|
|
1665
|
-
onFailure: cause => core.write(
|
|
1666
|
-
onDone: () => core.write(
|
|
1654
|
+
onInput: input => core.flatMap(core.write(InternalTake.chunk(input)), () => writer),
|
|
1655
|
+
onFailure: cause => core.write(InternalTake.failCause(cause)),
|
|
1656
|
+
onDone: () => core.write(InternalTake.end)
|
|
1667
1657
|
});
|
|
1668
1658
|
return pipe(core.pipeTo(toChannel(self), writer), channel.mapOutEffect(take => Queue.offer(queue, take)), channel.drain, channelExecutor.runScoped, Effect.asUnit);
|
|
1669
1659
|
});
|
|
@@ -2008,20 +1998,20 @@ export const tapSink = /*#__PURE__*/dual(2, (self, sink) => pipe(fromEffect(Effe
|
|
|
2008
1998
|
maxChunkSize: 1
|
|
2009
1999
|
}));
|
|
2010
2000
|
const loop = core.readWithCause({
|
|
2011
|
-
onInput: chunk => pipe(core.fromEffect(Queue.offer(queue,
|
|
2001
|
+
onInput: chunk => pipe(core.fromEffect(Queue.offer(queue, InternalTake.chunk(chunk))), core.foldCauseChannel({
|
|
2012
2002
|
onFailure: () => core.flatMap(core.write(chunk), () => channel.identityChannel()),
|
|
2013
2003
|
onSuccess: () => core.flatMap(core.write(chunk), () => loop)
|
|
2014
2004
|
})),
|
|
2015
|
-
onFailure: cause => pipe(core.fromEffect(Queue.offer(queue,
|
|
2005
|
+
onFailure: cause => pipe(core.fromEffect(Queue.offer(queue, InternalTake.failCause(cause))), core.foldCauseChannel({
|
|
2016
2006
|
onFailure: () => core.failCause(cause),
|
|
2017
2007
|
onSuccess: () => core.failCause(cause)
|
|
2018
2008
|
})),
|
|
2019
|
-
onDone: () => pipe(core.fromEffect(Queue.offer(queue,
|
|
2009
|
+
onDone: () => pipe(core.fromEffect(Queue.offer(queue, InternalTake.end)), core.foldCauseChannel({
|
|
2020
2010
|
onFailure: () => core.unit,
|
|
2021
2011
|
onSuccess: () => core.unit
|
|
2022
2012
|
}))
|
|
2023
2013
|
});
|
|
2024
|
-
return pipe(new StreamImpl(pipe(core.pipeTo(toChannel(self), loop), channel.ensuring(Effect.zipRight(Effect.forkDaemon(Queue.offer(queue,
|
|
2014
|
+
return pipe(new StreamImpl(pipe(core.pipeTo(toChannel(self), loop), channel.ensuring(Effect.zipRight(Effect.forkDaemon(Queue.offer(queue, InternalTake.end)), Deferred.await(deferred))))), merge(execute(pipe(run(right, sink), Effect.ensuring(Effect.zipRight(Queue.shutdown(queue), Deferred.succeed(deferred, void 0)))))));
|
|
2025
2015
|
})));
|
|
2026
2016
|
/** @internal */
|
|
2027
2017
|
export const throttle = /*#__PURE__*/dual(2, (self, options) => throttleEffect(self, {
|