effect 2.4.19 → 3.0.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/Array/package.json +6 -0
- package/FiberHandle/package.json +6 -0
- package/Record/package.json +6 -0
- package/dist/cjs/{ReadonlyArray.js → Array.js} +46 -23
- package/dist/cjs/Array.js.map +1 -0
- package/dist/cjs/Brand.js +2 -2
- package/dist/cjs/Brand.js.map +1 -1
- package/dist/cjs/Channel.js +4 -8
- package/dist/cjs/Channel.js.map +1 -1
- package/dist/cjs/Chunk.js +5 -1
- package/dist/cjs/Chunk.js.map +1 -1
- package/dist/cjs/ConfigError.js.map +1 -1
- package/dist/cjs/Cron.js +13 -13
- package/dist/cjs/Cron.js.map +1 -1
- package/dist/cjs/Effect.js +14 -10
- package/dist/cjs/Effect.js.map +1 -1
- package/dist/cjs/Either.js +4 -1
- package/dist/cjs/Either.js.map +1 -1
- package/dist/cjs/ExecutionStrategy.js.map +1 -1
- package/dist/cjs/Exit.js +3 -9
- package/dist/cjs/Exit.js.map +1 -1
- package/dist/cjs/Fiber.js +2 -8
- package/dist/cjs/Fiber.js.map +1 -1
- package/dist/cjs/FiberHandle.js +288 -0
- package/dist/cjs/FiberHandle.js.map +1 -0
- package/dist/cjs/FiberMap.js +86 -27
- package/dist/cjs/FiberMap.js.map +1 -1
- package/dist/cjs/FiberRefs.js.map +1 -1
- package/dist/cjs/FiberSet.js +51 -15
- package/dist/cjs/FiberSet.js.map +1 -1
- package/dist/cjs/HashMap.js.map +1 -1
- package/dist/cjs/HashSet.js.map +1 -1
- package/dist/cjs/Iterable.js +40 -5
- package/dist/cjs/Iterable.js.map +1 -1
- package/dist/cjs/Layer.js.map +1 -1
- package/dist/cjs/List.js +3 -3
- package/dist/cjs/List.js.map +1 -1
- package/dist/cjs/Metric.js +3 -1
- package/dist/cjs/Metric.js.map +1 -1
- package/dist/cjs/MetricKey.js.map +1 -1
- package/dist/cjs/MetricKeyType.js.map +1 -1
- package/dist/cjs/MutableHashMap.js +0 -4
- package/dist/cjs/MutableHashMap.js.map +1 -1
- package/dist/cjs/Option.js +3 -6
- package/dist/cjs/Option.js.map +1 -1
- package/dist/cjs/{ReadonlyRecord.js → Record.js} +29 -29
- package/dist/cjs/Record.js.map +1 -0
- package/dist/cjs/STM.js +4 -10
- package/dist/cjs/STM.js.map +1 -1
- package/dist/cjs/Schedule.js +2 -2
- package/dist/cjs/Schedule.js.map +1 -1
- package/dist/cjs/ScopedCache.js.map +1 -1
- package/dist/cjs/Stream.js +3 -9
- package/dist/cjs/Stream.js.map +1 -1
- package/dist/cjs/StreamHaltStrategy.js +2 -0
- package/dist/cjs/StreamHaltStrategy.js.map +1 -1
- package/dist/cjs/String.js +44 -2
- package/dist/cjs/String.js.map +1 -1
- package/dist/cjs/TestAnnotations.js +1 -1
- package/dist/cjs/TestAnnotations.js.map +1 -1
- package/dist/cjs/TestClock.js +3 -3
- package/dist/cjs/TestClock.js.map +1 -1
- package/dist/cjs/Tracer.js.map +1 -1
- package/dist/cjs/index.js +8 -6
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/internal/{readonlyArray.js → array.js} +1 -1
- package/dist/cjs/internal/array.js.map +1 -0
- package/dist/cjs/internal/cache.js +3 -3
- package/dist/cjs/internal/cache.js.map +1 -1
- package/dist/cjs/internal/cause.js +3 -3
- package/dist/cjs/internal/cause.js.map +1 -1
- package/dist/cjs/internal/channel/channelExecutor.js +15 -15
- package/dist/cjs/internal/channel/channelExecutor.js.map +1 -1
- package/dist/cjs/internal/channel/channelState.js +1 -1
- package/dist/cjs/internal/channel/channelState.js.map +1 -1
- package/dist/cjs/internal/channel/singleProducerAsyncInput.js +1 -1
- package/dist/cjs/internal/channel/singleProducerAsyncInput.js.map +1 -1
- package/dist/cjs/internal/channel.js +10 -10
- package/dist/cjs/internal/channel.js.map +1 -1
- package/dist/cjs/internal/clock.js +2 -2
- package/dist/cjs/internal/clock.js.map +1 -1
- package/dist/cjs/internal/configError.js +20 -19
- package/dist/cjs/internal/configError.js.map +1 -1
- package/dist/cjs/internal/configProvider/pathPatch.js +1 -1
- package/dist/cjs/internal/configProvider/pathPatch.js.map +1 -1
- package/dist/cjs/internal/configProvider.js +46 -47
- package/dist/cjs/internal/configProvider.js.map +1 -1
- package/dist/cjs/internal/core-effect.js +42 -28
- package/dist/cjs/internal/core-effect.js.map +1 -1
- package/dist/cjs/internal/core-stream.js +2 -3
- package/dist/cjs/internal/core-stream.js.map +1 -1
- package/dist/cjs/internal/core.js +27 -31
- package/dist/cjs/internal/core.js.map +1 -1
- package/dist/cjs/internal/dataSource.js +19 -2
- package/dist/cjs/internal/dataSource.js.map +1 -1
- package/dist/cjs/internal/differ/readonlyArrayPatch.js +6 -6
- package/dist/cjs/internal/differ/readonlyArrayPatch.js.map +1 -1
- package/dist/cjs/internal/effect/circular.js +1 -1
- package/dist/cjs/internal/effect/circular.js.map +1 -1
- package/dist/cjs/internal/executionStrategy.js +4 -4
- package/dist/cjs/internal/executionStrategy.js.map +1 -1
- package/dist/cjs/internal/fiber.js +5 -6
- package/dist/cjs/internal/fiber.js.map +1 -1
- package/dist/cjs/internal/fiberRefs/patch.js +1 -1
- package/dist/cjs/internal/fiberRefs/patch.js.map +1 -1
- package/dist/cjs/internal/fiberRefs.js +1 -1
- package/dist/cjs/internal/fiberRefs.js.map +1 -1
- package/dist/cjs/internal/fiberRuntime.js +33 -33
- package/dist/cjs/internal/fiberRuntime.js.map +1 -1
- package/dist/cjs/internal/groupBy.js +3 -3
- package/dist/cjs/internal/groupBy.js.map +1 -1
- package/dist/cjs/internal/hashMap.js.map +1 -1
- package/dist/cjs/internal/hashSet.js.map +1 -1
- package/dist/cjs/internal/layer/circular.js.map +1 -1
- package/dist/cjs/internal/layer.js +5 -5
- package/dist/cjs/internal/layer.js.map +1 -1
- package/dist/cjs/internal/logger.js +28 -8
- package/dist/cjs/internal/logger.js.map +1 -1
- package/dist/cjs/internal/managedRuntime.js +1 -1
- package/dist/cjs/internal/managedRuntime.js.map +1 -1
- package/dist/cjs/internal/metric/boundaries.js +4 -4
- package/dist/cjs/internal/metric/boundaries.js.map +1 -1
- package/dist/cjs/internal/metric/hook.js +20 -17
- package/dist/cjs/internal/metric/hook.js.map +1 -1
- package/dist/cjs/internal/metric/key.js +4 -4
- package/dist/cjs/internal/metric/key.js.map +1 -1
- package/dist/cjs/internal/metric/keyType.js +6 -1
- package/dist/cjs/internal/metric/keyType.js.map +1 -1
- package/dist/cjs/internal/metric/state.js +4 -4
- package/dist/cjs/internal/metric/state.js.map +1 -1
- package/dist/cjs/internal/metric.js +4 -4
- package/dist/cjs/internal/metric.js.map +1 -1
- package/dist/cjs/internal/pool.js +11 -11
- package/dist/cjs/internal/pool.js.map +1 -1
- package/dist/cjs/internal/pubsub.js +5 -5
- package/dist/cjs/internal/pubsub.js.map +1 -1
- package/dist/cjs/internal/query.js +2 -2
- package/dist/cjs/internal/query.js.map +1 -1
- package/dist/cjs/internal/queue.js +9 -9
- package/dist/cjs/internal/queue.js.map +1 -1
- package/dist/cjs/internal/rateLimiter.js +1 -1
- package/dist/cjs/internal/rateLimiter.js.map +1 -1
- package/dist/cjs/internal/redBlackTree/iterator.js +2 -2
- package/dist/cjs/internal/redBlackTree/iterator.js.map +1 -1
- package/dist/cjs/internal/reloadable.js +1 -1
- package/dist/cjs/internal/reloadable.js.map +1 -1
- package/dist/cjs/internal/runtime.js +4 -4
- package/dist/cjs/internal/runtime.js.map +1 -1
- package/dist/cjs/internal/schedule.js +5 -5
- package/dist/cjs/internal/schedule.js.map +1 -1
- package/dist/cjs/internal/scopedCache.js +7 -7
- package/dist/cjs/internal/scopedCache.js.map +1 -1
- package/dist/cjs/internal/scopedRef.js +4 -4
- package/dist/cjs/internal/scopedRef.js.map +1 -1
- package/dist/cjs/internal/secret.js +2 -2
- package/dist/cjs/internal/secret.js.map +1 -1
- package/dist/cjs/internal/sink.js +10 -10
- package/dist/cjs/internal/sink.js.map +1 -1
- package/dist/cjs/internal/stm/stm/tExit.js +2 -4
- package/dist/cjs/internal/stm/stm/tExit.js.map +1 -1
- package/dist/cjs/internal/stm/stm.js +11 -11
- package/dist/cjs/internal/stm/stm.js.map +1 -1
- package/dist/cjs/internal/stm/tMap.js +3 -3
- package/dist/cjs/internal/stm/tMap.js.map +1 -1
- package/dist/cjs/internal/stm/tPriorityQueue.js +11 -11
- package/dist/cjs/internal/stm/tPriorityQueue.js.map +1 -1
- package/dist/cjs/internal/stm/tPubSub.js +3 -3
- package/dist/cjs/internal/stm/tPubSub.js.map +1 -1
- package/dist/cjs/internal/stm/tQueue.js +3 -3
- package/dist/cjs/internal/stm/tQueue.js.map +1 -1
- package/dist/cjs/internal/stm/tSet.js +1 -1
- package/dist/cjs/internal/stm/tSet.js.map +1 -1
- package/dist/cjs/internal/stream/haltStrategy.js +5 -5
- package/dist/cjs/internal/stream/haltStrategy.js.map +1 -1
- package/dist/cjs/internal/stream.js +84 -85
- package/dist/cjs/internal/stream.js.map +1 -1
- package/dist/cjs/internal/supervisor.js +1 -1
- package/dist/cjs/internal/supervisor.js.map +1 -1
- package/dist/cjs/internal/take.js +1 -1
- package/dist/cjs/internal/take.js.map +1 -1
- package/dist/cjs/internal/tracer.js.map +1 -1
- package/dist/cjs/internal/trie.js.map +1 -1
- package/dist/cjs/internal/version.js +1 -1
- package/dist/cjs/internal/version.js.map +1 -1
- package/dist/dts/{ReadonlyArray.d.ts → Array.d.ts} +39 -18
- package/dist/dts/Array.d.ts.map +1 -0
- package/dist/dts/BigDecimal.d.ts.map +1 -1
- package/dist/dts/BigInt.d.ts.map +1 -1
- package/dist/dts/Brand.d.ts +1 -19
- package/dist/dts/Brand.d.ts.map +1 -1
- package/dist/dts/Cache.d.ts +10 -10
- package/dist/dts/Cache.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 +6 -4
- package/dist/dts/Channel.d.ts.map +1 -1
- package/dist/dts/Chunk.d.ts +1 -4
- package/dist/dts/Chunk.d.ts.map +1 -1
- package/dist/dts/ConfigError.d.ts +7 -6
- package/dist/dts/ConfigError.d.ts.map +1 -1
- package/dist/dts/Cron.d.ts +0 -5
- package/dist/dts/Cron.d.ts.map +1 -1
- package/dist/dts/Duration.d.ts.map +1 -1
- package/dist/dts/Effect.d.ts +38 -33
- package/dist/dts/Effect.d.ts.map +1 -1
- package/dist/dts/Either.d.ts +5 -2
- package/dist/dts/Either.d.ts.map +1 -1
- package/dist/dts/Encoding.d.ts.map +1 -1
- package/dist/dts/Equivalence.d.ts.map +1 -1
- package/dist/dts/ExecutionStrategy.d.ts +10 -2
- package/dist/dts/ExecutionStrategy.d.ts.map +1 -1
- package/dist/dts/Exit.d.ts +4 -3
- package/dist/dts/Exit.d.ts.map +1 -1
- package/dist/dts/Fiber.d.ts +4 -2
- package/dist/dts/Fiber.d.ts.map +1 -1
- package/dist/dts/FiberHandle.d.ts +189 -0
- package/dist/dts/FiberHandle.d.ts.map +1 -0
- package/dist/dts/FiberMap.d.ts +48 -12
- package/dist/dts/FiberMap.d.ts.map +1 -1
- package/dist/dts/FiberRefs.d.ts +1 -1
- package/dist/dts/FiberRefs.d.ts.map +1 -1
- package/dist/dts/FiberSet.d.ts +9 -5
- package/dist/dts/FiberSet.d.ts.map +1 -1
- package/dist/dts/Function.d.ts.map +1 -1
- package/dist/dts/GroupBy.d.ts +1 -1
- package/dist/dts/GroupBy.d.ts.map +1 -1
- package/dist/dts/HashMap.d.ts +0 -1
- package/dist/dts/HashMap.d.ts.map +1 -1
- package/dist/dts/HashSet.d.ts +0 -1
- package/dist/dts/HashSet.d.ts.map +1 -1
- package/dist/dts/Iterable.d.ts +12 -5
- package/dist/dts/Iterable.d.ts.map +1 -1
- package/dist/dts/Layer.d.ts +6 -6
- package/dist/dts/Layer.d.ts.map +1 -1
- package/dist/dts/List.d.ts +0 -11
- package/dist/dts/List.d.ts.map +1 -1
- package/dist/dts/Logger.d.ts +2 -2
- package/dist/dts/Logger.d.ts.map +1 -1
- package/dist/dts/Metric.d.ts +7 -2
- package/dist/dts/Metric.d.ts.map +1 -1
- package/dist/dts/MetricKey.d.ts +4 -1
- package/dist/dts/MetricKey.d.ts.map +1 -1
- package/dist/dts/MetricKeyType.d.ts +4 -1
- package/dist/dts/MetricKeyType.d.ts.map +1 -1
- package/dist/dts/MutableHashMap.d.ts.map +1 -1
- package/dist/dts/Option.d.ts +5 -3
- package/dist/dts/Option.d.ts.map +1 -1
- package/dist/dts/Order.d.ts.map +1 -1
- package/dist/dts/{ReadonlyRecord.d.ts → Record.d.ts} +29 -30
- package/dist/dts/Record.d.ts.map +1 -0
- package/dist/dts/Request.d.ts +1 -1
- package/dist/dts/Request.d.ts.map +1 -1
- package/dist/dts/RequestResolver.d.ts +2 -2
- package/dist/dts/RequestResolver.d.ts.map +1 -1
- package/dist/dts/STM.d.ts +6 -4
- package/dist/dts/STM.d.ts.map +1 -1
- package/dist/dts/Schedule.d.ts +1 -1
- package/dist/dts/Scheduler.d.ts.map +1 -1
- package/dist/dts/ScopedCache.d.ts +9 -9
- package/dist/dts/ScopedCache.d.ts.map +1 -1
- package/dist/dts/SortedMap.d.ts.map +1 -1
- package/dist/dts/SortedSet.d.ts +1 -1
- package/dist/dts/SortedSet.d.ts.map +1 -1
- package/dist/dts/Stream.d.ts +8 -6
- package/dist/dts/Stream.d.ts.map +1 -1
- package/dist/dts/StreamHaltStrategy.d.ts +14 -2
- package/dist/dts/StreamHaltStrategy.d.ts.map +1 -1
- package/dist/dts/String.d.ts +25 -1
- package/dist/dts/String.d.ts.map +1 -1
- package/dist/dts/Subscribable.d.ts.map +1 -1
- package/dist/dts/TestAnnotation.d.ts.map +1 -1
- package/dist/dts/TestAnnotationMap.d.ts.map +1 -1
- package/dist/dts/TestAnnotations.d.ts +0 -3
- package/dist/dts/TestAnnotations.d.ts.map +1 -1
- package/dist/dts/TestClock.d.ts.map +1 -1
- package/dist/dts/TestLive.d.ts.map +1 -1
- package/dist/dts/TestServices.d.ts.map +1 -1
- package/dist/dts/TestSized.d.ts.map +1 -1
- package/dist/dts/Tracer.d.ts +12 -5
- package/dist/dts/Tracer.d.ts.map +1 -1
- package/dist/dts/Trie.d.ts +1 -1
- package/dist/dts/Trie.d.ts.map +1 -1
- package/dist/dts/Types.d.ts +0 -7
- package/dist/dts/Types.d.ts.map +1 -1
- package/dist/dts/index.d.ts +11 -7
- package/dist/dts/index.d.ts.map +1 -1
- package/dist/dts/internal/array.d.ts +5 -0
- package/dist/dts/internal/array.d.ts.map +1 -0
- package/dist/dts/internal/core-stream.d.ts +4 -0
- package/dist/dts/internal/core-stream.d.ts.map +1 -1
- package/dist/dts/internal/core.d.ts +3 -1
- package/dist/dts/internal/core.d.ts.map +1 -1
- package/dist/dts/internal/fiber.d.ts +5 -1
- package/dist/dts/internal/fiber.d.ts.map +1 -1
- package/dist/dts/internal/hashMap.d.ts.map +1 -1
- package/dist/dts/internal/logger.d.ts.map +1 -1
- package/dist/dts/internal/metric/keyType.d.ts +3 -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/random.d.ts.map +1 -1
- package/dist/dts/internal/runtimeFlags.d.ts.map +1 -1
- package/dist/dts/internal/stm/stm/tExit.d.ts +4 -1
- package/dist/dts/internal/stm/stm/tExit.d.ts.map +1 -1
- package/dist/dts/internal/stm/stm.d.ts +3 -0
- package/dist/dts/internal/stm/stm.d.ts.map +1 -1
- package/dist/dts/internal/stream.d.ts +5 -1
- package/dist/dts/internal/stream.d.ts.map +1 -1
- package/dist/esm/{ReadonlyArray.js → Array.js} +42 -20
- package/dist/esm/Array.js.map +1 -0
- package/dist/esm/Brand.js +2 -2
- package/dist/esm/Brand.js.map +1 -1
- package/dist/esm/Channel.js +4 -2
- package/dist/esm/Channel.js.map +1 -1
- package/dist/esm/Chunk.js +4 -1
- package/dist/esm/Chunk.js.map +1 -1
- package/dist/esm/ConfigError.js.map +1 -1
- package/dist/esm/Cron.js +13 -13
- package/dist/esm/Cron.js.map +1 -1
- package/dist/esm/Effect.js +11 -2
- package/dist/esm/Effect.js.map +1 -1
- package/dist/esm/Either.js +4 -1
- package/dist/esm/Either.js.map +1 -1
- package/dist/esm/ExecutionStrategy.js.map +1 -1
- package/dist/esm/Exit.js +4 -2
- package/dist/esm/Exit.js.map +1 -1
- package/dist/esm/Fiber.js +3 -1
- package/dist/esm/Fiber.js.map +1 -1
- package/dist/esm/FiberHandle.js +247 -0
- package/dist/esm/FiberHandle.js.map +1 -0
- package/dist/esm/FiberMap.js +85 -26
- package/dist/esm/FiberMap.js.map +1 -1
- package/dist/esm/FiberRefs.js.map +1 -1
- package/dist/esm/FiberSet.js +51 -15
- package/dist/esm/FiberSet.js.map +1 -1
- package/dist/esm/HashMap.js.map +1 -1
- package/dist/esm/HashSet.js.map +1 -1
- package/dist/esm/Iterable.js +39 -4
- package/dist/esm/Iterable.js.map +1 -1
- package/dist/esm/Layer.js.map +1 -1
- package/dist/esm/List.js +3 -3
- package/dist/esm/List.js.map +1 -1
- package/dist/esm/Metric.js +3 -1
- package/dist/esm/Metric.js.map +1 -1
- package/dist/esm/MetricKey.js.map +1 -1
- package/dist/esm/MetricKeyType.js.map +1 -1
- package/dist/esm/MutableHashMap.js +0 -3
- package/dist/esm/MutableHashMap.js.map +1 -1
- package/dist/esm/Option.js +4 -2
- package/dist/esm/Option.js.map +1 -1
- package/dist/esm/{ReadonlyRecord.js → Record.js} +29 -29
- package/dist/esm/Record.js.map +1 -0
- package/dist/esm/STM.js +5 -3
- package/dist/esm/STM.js.map +1 -1
- package/dist/esm/Schedule.js +1 -1
- package/dist/esm/Schedule.js.map +1 -1
- package/dist/esm/ScopedCache.js.map +1 -1
- package/dist/esm/Stream.js +5 -3
- package/dist/esm/Stream.js.map +1 -1
- package/dist/esm/StreamHaltStrategy.js +2 -0
- package/dist/esm/StreamHaltStrategy.js.map +1 -1
- package/dist/esm/String.js +37 -1
- package/dist/esm/String.js.map +1 -1
- package/dist/esm/TestAnnotations.js +1 -1
- package/dist/esm/TestAnnotations.js.map +1 -1
- package/dist/esm/TestClock.js +3 -3
- package/dist/esm/TestClock.js.map +1 -1
- package/dist/esm/Tracer.js.map +1 -1
- package/dist/esm/index.js +11 -7
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/internal/{readonlyArray.js → array.js} +1 -1
- package/dist/esm/internal/array.js.map +1 -0
- package/dist/esm/internal/cache.js +3 -3
- package/dist/esm/internal/cache.js.map +1 -1
- package/dist/esm/internal/cause.js +3 -3
- package/dist/esm/internal/cause.js.map +1 -1
- package/dist/esm/internal/channel/channelExecutor.js +15 -15
- package/dist/esm/internal/channel/channelExecutor.js.map +1 -1
- package/dist/esm/internal/channel/channelState.js +1 -1
- package/dist/esm/internal/channel/channelState.js.map +1 -1
- package/dist/esm/internal/channel/singleProducerAsyncInput.js +1 -1
- package/dist/esm/internal/channel/singleProducerAsyncInput.js.map +1 -1
- package/dist/esm/internal/channel.js +8 -8
- package/dist/esm/internal/channel.js.map +1 -1
- package/dist/esm/internal/clock.js +2 -2
- package/dist/esm/internal/clock.js.map +1 -1
- package/dist/esm/internal/configError.js +20 -19
- package/dist/esm/internal/configError.js.map +1 -1
- package/dist/esm/internal/configProvider/pathPatch.js +1 -1
- package/dist/esm/internal/configProvider/pathPatch.js.map +1 -1
- package/dist/esm/internal/configProvider.js +46 -47
- package/dist/esm/internal/configProvider.js.map +1 -1
- package/dist/esm/internal/core-effect.js +39 -26
- package/dist/esm/internal/core-effect.js.map +1 -1
- package/dist/esm/internal/core-stream.js +3 -2
- package/dist/esm/internal/core-stream.js.map +1 -1
- package/dist/esm/internal/core.js +24 -26
- package/dist/esm/internal/core.js.map +1 -1
- package/dist/esm/internal/dataSource.js +19 -2
- package/dist/esm/internal/dataSource.js.map +1 -1
- package/dist/esm/internal/differ/readonlyArrayPatch.js +6 -6
- package/dist/esm/internal/differ/readonlyArrayPatch.js.map +1 -1
- package/dist/esm/internal/effect/circular.js +1 -1
- package/dist/esm/internal/effect/circular.js.map +1 -1
- package/dist/esm/internal/executionStrategy.js +4 -4
- package/dist/esm/internal/executionStrategy.js.map +1 -1
- package/dist/esm/internal/fiber.js +6 -5
- package/dist/esm/internal/fiber.js.map +1 -1
- package/dist/esm/internal/fiberRefs/patch.js +1 -1
- package/dist/esm/internal/fiberRefs/patch.js.map +1 -1
- package/dist/esm/internal/fiberRefs.js +1 -1
- package/dist/esm/internal/fiberRefs.js.map +1 -1
- package/dist/esm/internal/fiberRuntime.js +33 -33
- package/dist/esm/internal/fiberRuntime.js.map +1 -1
- package/dist/esm/internal/groupBy.js +3 -3
- package/dist/esm/internal/groupBy.js.map +1 -1
- package/dist/esm/internal/hashMap.js.map +1 -1
- package/dist/esm/internal/hashSet.js.map +1 -1
- package/dist/esm/internal/layer/circular.js.map +1 -1
- package/dist/esm/internal/layer.js +5 -5
- package/dist/esm/internal/layer.js.map +1 -1
- package/dist/esm/internal/logger.js +28 -8
- package/dist/esm/internal/logger.js.map +1 -1
- package/dist/esm/internal/managedRuntime.js +1 -1
- package/dist/esm/internal/managedRuntime.js.map +1 -1
- package/dist/esm/internal/metric/boundaries.js +4 -4
- package/dist/esm/internal/metric/boundaries.js.map +1 -1
- package/dist/esm/internal/metric/hook.js +20 -17
- package/dist/esm/internal/metric/hook.js.map +1 -1
- package/dist/esm/internal/metric/key.js +4 -4
- package/dist/esm/internal/metric/key.js.map +1 -1
- package/dist/esm/internal/metric/keyType.js +5 -1
- package/dist/esm/internal/metric/keyType.js.map +1 -1
- package/dist/esm/internal/metric/state.js +4 -4
- package/dist/esm/internal/metric/state.js.map +1 -1
- package/dist/esm/internal/metric.js +4 -4
- package/dist/esm/internal/metric.js.map +1 -1
- package/dist/esm/internal/pool.js +11 -11
- package/dist/esm/internal/pool.js.map +1 -1
- package/dist/esm/internal/pubsub.js +5 -5
- package/dist/esm/internal/pubsub.js.map +1 -1
- package/dist/esm/internal/query.js +2 -2
- package/dist/esm/internal/query.js.map +1 -1
- package/dist/esm/internal/queue.js +9 -9
- package/dist/esm/internal/queue.js.map +1 -1
- package/dist/esm/internal/rateLimiter.js +1 -1
- package/dist/esm/internal/rateLimiter.js.map +1 -1
- package/dist/esm/internal/redBlackTree/iterator.js +2 -2
- package/dist/esm/internal/redBlackTree/iterator.js.map +1 -1
- package/dist/esm/internal/reloadable.js +1 -1
- package/dist/esm/internal/reloadable.js.map +1 -1
- package/dist/esm/internal/runtime.js +4 -4
- package/dist/esm/internal/runtime.js.map +1 -1
- package/dist/esm/internal/schedule.js +3 -3
- package/dist/esm/internal/schedule.js.map +1 -1
- package/dist/esm/internal/scopedCache.js +7 -7
- package/dist/esm/internal/scopedCache.js.map +1 -1
- package/dist/esm/internal/scopedRef.js +4 -4
- package/dist/esm/internal/scopedRef.js.map +1 -1
- package/dist/esm/internal/secret.js +2 -2
- package/dist/esm/internal/secret.js.map +1 -1
- package/dist/esm/internal/sink.js +10 -10
- package/dist/esm/internal/sink.js.map +1 -1
- package/dist/esm/internal/stm/stm/tExit.js +3 -2
- package/dist/esm/internal/stm/stm/tExit.js.map +1 -1
- package/dist/esm/internal/stm/stm.js +11 -9
- package/dist/esm/internal/stm/stm.js.map +1 -1
- package/dist/esm/internal/stm/tMap.js +3 -3
- package/dist/esm/internal/stm/tMap.js.map +1 -1
- package/dist/esm/internal/stm/tPriorityQueue.js +11 -11
- package/dist/esm/internal/stm/tPriorityQueue.js.map +1 -1
- package/dist/esm/internal/stm/tPubSub.js +3 -3
- package/dist/esm/internal/stm/tPubSub.js.map +1 -1
- package/dist/esm/internal/stm/tQueue.js +3 -3
- package/dist/esm/internal/stm/tQueue.js.map +1 -1
- package/dist/esm/internal/stm/tSet.js +1 -1
- package/dist/esm/internal/stm/tSet.js.map +1 -1
- package/dist/esm/internal/stream/haltStrategy.js +5 -5
- package/dist/esm/internal/stream/haltStrategy.js.map +1 -1
- package/dist/esm/internal/stream.js +85 -84
- package/dist/esm/internal/stream.js.map +1 -1
- package/dist/esm/internal/supervisor.js +1 -1
- package/dist/esm/internal/supervisor.js.map +1 -1
- package/dist/esm/internal/take.js +1 -1
- package/dist/esm/internal/take.js.map +1 -1
- package/dist/esm/internal/tracer.js.map +1 -1
- package/dist/esm/internal/trie.js.map +1 -1
- package/dist/esm/internal/version.js +1 -1
- package/dist/esm/internal/version.js.map +1 -1
- package/package.json +23 -15
- package/src/{ReadonlyArray.ts → Array.ts} +47 -24
- package/src/Brand.ts +3 -3
- package/src/Cache.ts +12 -10
- package/src/Cause.ts +1 -1
- package/src/Channel.ts +12 -9
- package/src/Chunk.ts +3 -3
- package/src/ConfigError.ts +7 -6
- package/src/Cron.ts +17 -17
- package/src/Effect.ts +46 -57
- package/src/Either.ts +7 -7
- package/src/ExecutionStrategy.ts +10 -2
- package/src/Exit.ts +11 -9
- package/src/Fiber.ts +11 -8
- package/src/FiberHandle.ts +414 -0
- package/src/FiberMap.ts +181 -73
- package/src/FiberRefs.ts +1 -1
- package/src/FiberSet.ts +96 -36
- package/src/GroupBy.ts +1 -1
- package/src/HashMap.ts +0 -1
- package/src/HashSet.ts +0 -1
- package/src/Iterable.ts +48 -10
- package/src/Layer.ts +6 -6
- package/src/List.ts +3 -4
- package/src/Logger.ts +2 -2
- package/src/Metric.ts +9 -2
- package/src/MetricKey.ts +9 -1
- package/src/MetricKeyType.ts +6 -1
- package/src/MutableHashMap.ts +1 -1
- package/src/Option.ts +9 -6
- package/src/{ReadonlyRecord.ts → Record.ts} +28 -29
- package/src/Request.ts +1 -1
- package/src/RequestResolver.ts +4 -4
- package/src/STM.ts +12 -9
- package/src/Schedule.ts +1 -1
- package/src/ScopedCache.ts +11 -9
- package/src/SortedSet.ts +1 -1
- package/src/Stream.ts +14 -11
- package/src/StreamHaltStrategy.ts +14 -2
- package/src/String.ts +45 -2
- package/src/TestAnnotations.ts +1 -1
- package/src/TestClock.ts +3 -3
- package/src/Tracer.ts +13 -5
- package/src/Trie.ts +1 -1
- package/src/Types.ts +0 -8
- package/src/index.ts +13 -8
- package/src/internal/{readonlyArray.ts → array.ts} +1 -1
- package/src/internal/cache.ts +40 -40
- package/src/internal/cause.ts +5 -6
- package/src/internal/channel/channelExecutor.ts +15 -15
- package/src/internal/channel/channelState.ts +1 -1
- package/src/internal/channel/singleProducerAsyncInput.ts +1 -1
- package/src/internal/channel.ts +11 -11
- package/src/internal/clock.ts +2 -2
- package/src/internal/configError.ts +22 -21
- package/src/internal/configProvider/pathPatch.ts +1 -1
- package/src/internal/configProvider.ts +49 -52
- package/src/internal/core-effect.ts +73 -70
- package/src/internal/core-stream.ts +5 -2
- package/src/internal/core.ts +51 -50
- package/src/internal/dataSource.ts +19 -20
- package/src/internal/differ/readonlyArrayPatch.ts +6 -6
- package/src/internal/effect/circular.ts +2 -2
- package/src/internal/executionStrategy.ts +14 -12
- package/src/internal/fiber.ts +8 -5
- package/src/internal/fiberRefs/patch.ts +1 -1
- package/src/internal/fiberRefs.ts +1 -1
- package/src/internal/fiberRuntime.ts +45 -45
- package/src/internal/groupBy.ts +4 -4
- package/src/internal/hashMap.ts +0 -1
- package/src/internal/hashSet.ts +0 -1
- package/src/internal/layer/circular.ts +2 -2
- package/src/internal/layer.ts +9 -9
- package/src/internal/logger.ts +28 -8
- package/src/internal/managedRuntime.ts +1 -1
- package/src/internal/metric/boundaries.ts +5 -5
- package/src/internal/metric/hook.ts +21 -18
- package/src/internal/metric/key.ts +8 -5
- package/src/internal/metric/keyType.ts +5 -2
- package/src/internal/metric/state.ts +5 -5
- package/src/internal/metric.ts +8 -6
- package/src/internal/pool.ts +11 -11
- package/src/internal/pubsub.ts +6 -6
- package/src/internal/query.ts +4 -4
- package/src/internal/queue.ts +11 -11
- package/src/internal/rateLimiter.ts +1 -1
- package/src/internal/redBlackTree/iterator.ts +2 -2
- package/src/internal/reloadable.ts +1 -1
- package/src/internal/runtime.ts +5 -5
- package/src/internal/schedule.ts +8 -9
- package/src/internal/scopedCache.ts +53 -53
- package/src/internal/scopedRef.ts +4 -4
- package/src/internal/secret.ts +2 -2
- package/src/internal/sink.ts +10 -10
- package/src/internal/stm/stm/tExit.ts +5 -2
- package/src/internal/stm/stm.ts +13 -9
- package/src/internal/stm/tMap.ts +3 -3
- package/src/internal/stm/tPriorityQueue.ts +11 -11
- package/src/internal/stm/tPubSub.ts +3 -3
- package/src/internal/stm/tQueue.ts +3 -3
- package/src/internal/stm/tSet.ts +1 -1
- package/src/internal/stream/haltStrategy.ts +23 -14
- package/src/internal/stream.ts +91 -88
- package/src/internal/supervisor.ts +1 -1
- package/src/internal/take.ts +1 -1
- package/src/internal/tracer.ts +2 -2
- package/src/internal/trie.ts +0 -1
- package/src/internal/version.ts +1 -1
- package/ReadonlyArray/package.json +0 -6
- package/ReadonlyRecord/package.json +0 -6
- package/dist/cjs/ReadonlyArray.js.map +0 -1
- package/dist/cjs/ReadonlyRecord.js.map +0 -1
- package/dist/cjs/internal/Iterable.js +0 -61
- package/dist/cjs/internal/Iterable.js.map +0 -1
- package/dist/cjs/internal/readonlyArray.js.map +0 -1
- package/dist/dts/ReadonlyArray.d.ts.map +0 -1
- package/dist/dts/ReadonlyRecord.d.ts.map +0 -1
- package/dist/dts/internal/Iterable.d.ts +0 -2
- package/dist/dts/internal/Iterable.d.ts.map +0 -1
- package/dist/dts/internal/readonlyArray.d.ts +0 -5
- package/dist/dts/internal/readonlyArray.d.ts.map +0 -1
- package/dist/esm/ReadonlyArray.js.map +0 -1
- package/dist/esm/ReadonlyRecord.js.map +0 -1
- package/dist/esm/internal/Iterable.js +0 -53
- package/dist/esm/internal/Iterable.js.map +0 -1
- package/dist/esm/internal/readonlyArray.js.map +0 -1
- package/src/internal/Iterable.ts +0 -54
package/src/internal/core.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import * as Array from "../Array.js"
|
|
1
2
|
import type * as Cause from "../Cause.js"
|
|
2
3
|
import * as Chunk from "../Chunk.js"
|
|
3
4
|
import * as Context from "../Context.js"
|
|
@@ -27,7 +28,6 @@ import * as MutableRef from "../MutableRef.js"
|
|
|
27
28
|
import * as Option from "../Option.js"
|
|
28
29
|
import { pipeArguments } from "../Pipeable.js"
|
|
29
30
|
import { hasProperty, isObject, isPromiseLike, isString, type Predicate, type Refinement } from "../Predicate.js"
|
|
30
|
-
import * as ReadonlyArray from "../ReadonlyArray.js"
|
|
31
31
|
import type * as Request from "../Request.js"
|
|
32
32
|
import type * as BlockedRequests from "../RequestBlock.js"
|
|
33
33
|
import type * as RequestResolver from "../RequestResolver.js"
|
|
@@ -35,7 +35,7 @@ import type * as RuntimeFlags from "../RuntimeFlags.js"
|
|
|
35
35
|
import * as RuntimeFlagsPatch from "../RuntimeFlagsPatch.js"
|
|
36
36
|
import type * as Scope from "../Scope.js"
|
|
37
37
|
import type * as Tracer from "../Tracer.js"
|
|
38
|
-
import type {
|
|
38
|
+
import type { NotFunction } from "../Types.js"
|
|
39
39
|
import * as _blockedRequests from "./blockedRequests.js"
|
|
40
40
|
import * as internalCause from "./cause.js"
|
|
41
41
|
import * as deferred from "./deferred.js"
|
|
@@ -430,7 +430,7 @@ export const as: {
|
|
|
430
430
|
)
|
|
431
431
|
|
|
432
432
|
/* @internal */
|
|
433
|
-
export const
|
|
433
|
+
export const asVoid = <A, E, R>(self: Effect.Effect<A, E, R>): Effect.Effect<void, E, R> => as(self, void 0)
|
|
434
434
|
|
|
435
435
|
/* @internal */
|
|
436
436
|
export const custom: {
|
|
@@ -515,7 +515,7 @@ export const async = <A, E = never, R = never>(
|
|
|
515
515
|
if (controllerRef) {
|
|
516
516
|
controllerRef.abort()
|
|
517
517
|
}
|
|
518
|
-
return cancelerRef ??
|
|
518
|
+
return cancelerRef ?? void_
|
|
519
519
|
}) :
|
|
520
520
|
effect
|
|
521
521
|
})
|
|
@@ -886,8 +886,8 @@ export const forEachSequential: {
|
|
|
886
886
|
2,
|
|
887
887
|
<A, B, E, R>(self: Iterable<A>, f: (a: A, i: number) => Effect.Effect<B, E, R>): Effect.Effect<Array<B>, E, R> =>
|
|
888
888
|
suspend(() => {
|
|
889
|
-
const arr =
|
|
890
|
-
const ret =
|
|
889
|
+
const arr = Array.fromIterable(self)
|
|
890
|
+
const ret = Array.allocate<B>(arr.length)
|
|
891
891
|
let i = 0
|
|
892
892
|
return as(
|
|
893
893
|
whileLoop({
|
|
@@ -897,7 +897,7 @@ export const forEachSequential: {
|
|
|
897
897
|
ret[i++] = b
|
|
898
898
|
}
|
|
899
899
|
}),
|
|
900
|
-
ret
|
|
900
|
+
ret as Array<B>
|
|
901
901
|
)
|
|
902
902
|
})
|
|
903
903
|
)
|
|
@@ -910,7 +910,7 @@ export const forEachSequentialDiscard: {
|
|
|
910
910
|
2,
|
|
911
911
|
<A, B, E, R>(self: Iterable<A>, f: (a: A, i: number) => Effect.Effect<B, E, R>): Effect.Effect<void, E, R> =>
|
|
912
912
|
suspend(() => {
|
|
913
|
-
const arr =
|
|
913
|
+
const arr = Array.fromIterable(self)
|
|
914
914
|
let i = 0
|
|
915
915
|
return whileLoop({
|
|
916
916
|
while: () => i < arr.length,
|
|
@@ -926,35 +926,33 @@ export const forEachSequentialDiscard: {
|
|
|
926
926
|
export const if_ = dual<
|
|
927
927
|
<A1, E1, R1, A2, E2, R2>(
|
|
928
928
|
options: {
|
|
929
|
-
readonly onTrue: Effect.Effect<A1, E1, R1
|
|
930
|
-
readonly onFalse: Effect.Effect<A2, E2, R2
|
|
929
|
+
readonly onTrue: LazyArg<Effect.Effect<A1, E1, R1>>
|
|
930
|
+
readonly onFalse: LazyArg<Effect.Effect<A2, E2, R2>>
|
|
931
931
|
}
|
|
932
932
|
) => <E = never, R = never>(
|
|
933
933
|
self: Effect.Effect<boolean, E, R> | boolean
|
|
934
934
|
) => Effect.Effect<A1 | A2, E | E1 | E2, R | R1 | R2>,
|
|
935
|
-
|
|
936
|
-
<
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
|
|
942
|
-
): Effect.Effect<A1 | A2, E1 | E2, R1 | R2>
|
|
943
|
-
<E, R, A1, E1, R1, A2, E2, R2>(
|
|
944
|
-
self: Effect.Effect<boolean, E, R>,
|
|
945
|
-
options: {
|
|
946
|
-
readonly onTrue: Effect.Effect<A1, E1, R1>
|
|
947
|
-
readonly onFalse: Effect.Effect<A2, E2, R2>
|
|
948
|
-
}
|
|
949
|
-
): Effect.Effect<A1 | A2, E1 | E2 | E, R1 | R2 | R>
|
|
950
|
-
}
|
|
935
|
+
<A1, E1, R1, A2, E2, R2, E = never, R = never>(
|
|
936
|
+
self: Effect.Effect<boolean, E, R> | boolean,
|
|
937
|
+
options: {
|
|
938
|
+
readonly onTrue: LazyArg<Effect.Effect<A1, E1, R1>>
|
|
939
|
+
readonly onFalse: LazyArg<Effect.Effect<A2, E2, R2>>
|
|
940
|
+
}
|
|
941
|
+
) => Effect.Effect<A1 | A2, E1 | E2 | E, R1 | R2 | R>
|
|
951
942
|
>(
|
|
952
943
|
(args) => typeof args[0] === "boolean" || isEffect(args[0]),
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
|
|
944
|
+
<A1, E1, R1, A2, E2, R2, E = never, R = never>(
|
|
945
|
+
self: Effect.Effect<boolean, E, R> | boolean,
|
|
946
|
+
options: {
|
|
947
|
+
readonly onTrue: LazyArg<Effect.Effect<A1, E1, R1>>
|
|
948
|
+
readonly onFalse: LazyArg<Effect.Effect<A2, E2, R2>>
|
|
949
|
+
}
|
|
950
|
+
): Effect.Effect<A1 | A2, E1 | E2 | E, R1 | R2 | R> =>
|
|
951
|
+
isEffect(self)
|
|
952
|
+
? flatMap(self, (b): Effect.Effect<A1 | A2, E1 | E2, R1 | R2> => (b ? options.onTrue() : options.onFalse()))
|
|
953
|
+
: self
|
|
954
|
+
? options.onTrue()
|
|
955
|
+
: options.onFalse()
|
|
958
956
|
)
|
|
959
957
|
|
|
960
958
|
/* @internal */
|
|
@@ -1065,7 +1063,7 @@ export const onError: {
|
|
|
1065
1063
|
self: Effect.Effect<A, E, R>,
|
|
1066
1064
|
cleanup: (cause: Cause.Cause<E>) => Effect.Effect<X, never, R2>
|
|
1067
1065
|
): Effect.Effect<A, E, R2 | R> =>
|
|
1068
|
-
onExit(self, (exit) => exitIsSuccess(exit) ?
|
|
1066
|
+
onExit(self, (exit) => exitIsSuccess(exit) ? void_ : cleanup(exit.effect_instruction_i0)))
|
|
1069
1067
|
|
|
1070
1068
|
/* @internal */
|
|
1071
1069
|
export const onExit: {
|
|
@@ -1114,9 +1112,9 @@ export const onInterrupt: {
|
|
|
1114
1112
|
exitMatch({
|
|
1115
1113
|
onFailure: (cause) =>
|
|
1116
1114
|
internalCause.isInterruptedOnly(cause)
|
|
1117
|
-
?
|
|
1118
|
-
:
|
|
1119
|
-
onSuccess: () =>
|
|
1115
|
+
? asVoid(cleanup(internalCause.interruptors(cause)))
|
|
1116
|
+
: void_,
|
|
1117
|
+
onSuccess: () => void_
|
|
1120
1118
|
})
|
|
1121
1119
|
))
|
|
1122
1120
|
|
|
@@ -1158,7 +1156,7 @@ export const partitionMap = <A, A1, A2>(
|
|
|
1158
1156
|
elements: Iterable<A>,
|
|
1159
1157
|
f: (a: A) => Either.Either<A2, A1>
|
|
1160
1158
|
): [left: Array<A1>, right: Array<A2>] =>
|
|
1161
|
-
|
|
1159
|
+
Array.fromIterable(elements).reduceRight(
|
|
1162
1160
|
([lefts, rights], current) => {
|
|
1163
1161
|
const either = f(current)
|
|
1164
1162
|
switch (either._tag) {
|
|
@@ -1170,7 +1168,7 @@ export const partitionMap = <A, A1, A2>(
|
|
|
1170
1168
|
}
|
|
1171
1169
|
}
|
|
1172
1170
|
},
|
|
1173
|
-
[
|
|
1171
|
+
[Array.empty<A1>(), Array.empty<A2>()]
|
|
1174
1172
|
)
|
|
1175
1173
|
|
|
1176
1174
|
/* @internal */
|
|
@@ -1302,8 +1300,11 @@ export const uninterruptibleMask = <A, E, R>(
|
|
|
1302
1300
|
return effect
|
|
1303
1301
|
})
|
|
1304
1302
|
|
|
1305
|
-
|
|
1306
|
-
export
|
|
1303
|
+
const void_: Effect.Effect<void> = succeed(void 0)
|
|
1304
|
+
export {
|
|
1305
|
+
/* @internal */
|
|
1306
|
+
void_ as void
|
|
1307
|
+
}
|
|
1307
1308
|
|
|
1308
1309
|
/* @internal */
|
|
1309
1310
|
export const updateRuntimeFlags = (patch: RuntimeFlagsPatch.RuntimeFlagsPatch): Effect.Effect<void> => {
|
|
@@ -1668,7 +1669,7 @@ export const fiberRefSet = dual<
|
|
|
1668
1669
|
export const fiberRefDelete = <A>(self: FiberRef.FiberRef<A>): Effect.Effect<void> =>
|
|
1669
1670
|
withFiberRuntime((state) => {
|
|
1670
1671
|
state.unsafeDeleteFiberRef(self)
|
|
1671
|
-
return
|
|
1672
|
+
return void_
|
|
1672
1673
|
})
|
|
1673
1674
|
|
|
1674
1675
|
/* @internal */
|
|
@@ -1999,7 +2000,7 @@ export const withUnhandledErrorLogLevel = dual<
|
|
|
1999
2000
|
/** @internal */
|
|
2000
2001
|
export const currentMetricLabels: FiberRef.FiberRef<ReadonlyArray<MetricLabel.MetricLabel>> = globalValue(
|
|
2001
2002
|
Symbol.for("effect/FiberRef/currentMetricLabels"),
|
|
2002
|
-
() => fiberRefUnsafeMakeReadonlyArray(
|
|
2003
|
+
() => fiberRefUnsafeMakeReadonlyArray(Array.empty())
|
|
2003
2004
|
)
|
|
2004
2005
|
|
|
2005
2006
|
/* @internal */
|
|
@@ -2067,7 +2068,7 @@ export const CloseableScopeTypeId: Scope.CloseableScopeTypeId = Symbol.for(
|
|
|
2067
2068
|
export const scopeAddFinalizer = (
|
|
2068
2069
|
self: Scope.Scope,
|
|
2069
2070
|
finalizer: Effect.Effect<unknown>
|
|
2070
|
-
): Effect.Effect<void> => self.addFinalizer(() =>
|
|
2071
|
+
): Effect.Effect<void> => self.addFinalizer(() => asVoid(finalizer))
|
|
2071
2072
|
|
|
2072
2073
|
/* @internal */
|
|
2073
2074
|
export const scopeAddFinalizerExit = (
|
|
@@ -2109,8 +2110,8 @@ export const causeSquashWith = dual<
|
|
|
2109
2110
|
Chunk.head,
|
|
2110
2111
|
Option.match({
|
|
2111
2112
|
onNone: () => {
|
|
2112
|
-
const interrupts = Array.
|
|
2113
|
-
Array.
|
|
2113
|
+
const interrupts = Array.fromIterable(internalCause.interruptors(self)).flatMap((fiberId) =>
|
|
2114
|
+
Array.fromIterable(FiberId.ids(fiberId)).map((id) => `#${id}`)
|
|
2114
2115
|
)
|
|
2115
2116
|
return new InterruptedException(interrupts ? `Interrupted by fibers: ${interrupts.join(", ")}` : void 0)
|
|
2116
2117
|
},
|
|
@@ -2310,7 +2311,7 @@ export const exitAs = dual<
|
|
|
2310
2311
|
})
|
|
2311
2312
|
|
|
2312
2313
|
/** @internal */
|
|
2313
|
-
export const
|
|
2314
|
+
export const exitAsVoid = <A, E>(self: Exit.Exit<A, E>): Exit.Exit<void, E> => exitAs(self, void 0)
|
|
2314
2315
|
|
|
2315
2316
|
/** @internal */
|
|
2316
2317
|
export const exitCauseOption = <A, E>(self: Exit.Exit<A, E>): Option.Option<Cause.Cause<E>> => {
|
|
@@ -2578,7 +2579,7 @@ export const exitSucceed = <A>(value: A): Exit.Exit<A> => {
|
|
|
2578
2579
|
}
|
|
2579
2580
|
|
|
2580
2581
|
/** @internal */
|
|
2581
|
-
export const
|
|
2582
|
+
export const exitVoid: Exit.Exit<void> = exitSucceed(void 0)
|
|
2582
2583
|
|
|
2583
2584
|
/** @internal */
|
|
2584
2585
|
export const exitZip = dual<
|
|
@@ -2693,7 +2694,7 @@ const exitCollectAllInternal = <A, E>(
|
|
|
2693
2694
|
}
|
|
2694
2695
|
return pipe(
|
|
2695
2696
|
Chunk.tailNonEmpty(list),
|
|
2696
|
-
|
|
2697
|
+
Array.reduce(
|
|
2697
2698
|
pipe(Chunk.headNonEmpty(list), exitMap<A, Chunk.Chunk<A>>(Chunk.of)),
|
|
2698
2699
|
(accumulator, current) =>
|
|
2699
2700
|
pipe(
|
|
@@ -2705,7 +2706,7 @@ const exitCollectAllInternal = <A, E>(
|
|
|
2705
2706
|
)
|
|
2706
2707
|
),
|
|
2707
2708
|
exitMap(Chunk.reverse),
|
|
2708
|
-
exitMap((chunk) =>
|
|
2709
|
+
exitMap((chunk) => Chunk.toReadonlyArray(chunk) as Array<A>),
|
|
2709
2710
|
Option.some
|
|
2710
2711
|
)
|
|
2711
2712
|
}
|
|
@@ -2949,7 +2950,7 @@ export const mapInputContext = dual<
|
|
|
2949
2950
|
/** @internal */
|
|
2950
2951
|
export const currentSpanFromFiber = <A, E>(fiber: Fiber.RuntimeFiber<A, E>): Option.Option<Tracer.Span> => {
|
|
2951
2952
|
const span = fiber.getFiberRef(currentContext).unsafeMap.get(internalTracer.spanTag.key) as
|
|
2952
|
-
| Tracer.
|
|
2953
|
+
| Tracer.AnySpan
|
|
2953
2954
|
| undefined
|
|
2954
2955
|
return span !== undefined && span._tag === "Span" ? Option.some(span) : Option.none()
|
|
2955
2956
|
}
|
|
@@ -2966,7 +2967,7 @@ const NoopSpanProto: Tracer.Span = {
|
|
|
2966
2967
|
_tag: "Ended",
|
|
2967
2968
|
startTime: BigInt(0),
|
|
2968
2969
|
endTime: BigInt(0),
|
|
2969
|
-
exit:
|
|
2970
|
+
exit: exitVoid
|
|
2970
2971
|
},
|
|
2971
2972
|
attributes: new Map(),
|
|
2972
2973
|
links: [],
|
|
@@ -1,13 +1,12 @@
|
|
|
1
|
+
import * as RA from "../Array.js"
|
|
1
2
|
import * as Cause from "../Cause.js"
|
|
2
3
|
import * as Chunk from "../Chunk.js"
|
|
3
4
|
import type * as Context from "../Context.js"
|
|
4
5
|
import * as Effect from "../Effect.js"
|
|
5
6
|
import type * as Either from "../Either.js"
|
|
6
7
|
import { dual, pipe } from "../Function.js"
|
|
7
|
-
import * as RA from "../ReadonlyArray.js"
|
|
8
8
|
import type * as Request from "../Request.js"
|
|
9
9
|
import type * as RequestResolver from "../RequestResolver.js"
|
|
10
|
-
import type { NoInfer } from "../Types.js"
|
|
11
10
|
import * as core from "./core.js"
|
|
12
11
|
import { invokeWithInterrupt, zipWithOptions } from "./fiberRuntime.js"
|
|
13
12
|
import { complete } from "./request.js"
|
|
@@ -28,24 +27,24 @@ export const makeBatched = <A extends Request.Request<any, any>, R>(
|
|
|
28
27
|
run: (requests: Array<A>) => Effect.Effect<void, never, R>
|
|
29
28
|
): RequestResolver.RequestResolver<A, R> =>
|
|
30
29
|
new core.RequestResolverImpl<A, R>(
|
|
31
|
-
(requests) =>
|
|
32
|
-
requests.length > 1
|
|
33
|
-
core.forEachSequentialDiscard(requests, (block) =>
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
(
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
30
|
+
(requests) => {
|
|
31
|
+
if (requests.length > 1) {
|
|
32
|
+
return core.forEachSequentialDiscard(requests, (block) => {
|
|
33
|
+
const filtered = block.filter((_) => !_.state.completed).map((_) => _.request)
|
|
34
|
+
if (filtered.length === 0) {
|
|
35
|
+
return core.void
|
|
36
|
+
}
|
|
37
|
+
return invokeWithInterrupt(run(filtered), block)
|
|
38
|
+
})
|
|
39
|
+
} else if (requests.length === 1) {
|
|
40
|
+
const filtered = requests[0].filter((_) => !_.state.completed).map((_) => _.request)
|
|
41
|
+
if (filtered.length === 0) {
|
|
42
|
+
return core.void
|
|
43
|
+
}
|
|
44
|
+
return run(filtered)
|
|
45
|
+
}
|
|
46
|
+
return core.void
|
|
47
|
+
}
|
|
49
48
|
)
|
|
50
49
|
|
|
51
50
|
/** @internal */
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
+
import * as Array from "../../Array.js"
|
|
1
2
|
import type * as Differ from "../../Differ.js"
|
|
2
3
|
import * as Equal from "../../Equal.js"
|
|
3
4
|
import * as Dual from "../../Function.js"
|
|
4
|
-
import * as ReadonlyArray from "../../ReadonlyArray.js"
|
|
5
5
|
import * as Data from "../data.js"
|
|
6
6
|
|
|
7
7
|
/** @internal */
|
|
@@ -135,7 +135,7 @@ export const diff = <Value, Patch>(
|
|
|
135
135
|
patch = combine(patch, makeSlice(0, i))
|
|
136
136
|
}
|
|
137
137
|
if (i < options.newValue.length) {
|
|
138
|
-
patch = combine(patch, makeAppend(
|
|
138
|
+
patch = combine(patch, makeAppend(Array.drop(i)(options.newValue)))
|
|
139
139
|
}
|
|
140
140
|
return patch
|
|
141
141
|
}
|
|
@@ -173,10 +173,10 @@ export const patch = Dual.dual<
|
|
|
173
173
|
return oldValue
|
|
174
174
|
}
|
|
175
175
|
let readonlyArray = oldValue.slice()
|
|
176
|
-
let patches: Array<Differ.Differ.ReadonlyArray.Patch<Value, Patch>> =
|
|
177
|
-
while (
|
|
178
|
-
const head: Instruction =
|
|
179
|
-
const tail =
|
|
176
|
+
let patches: Array<Differ.Differ.ReadonlyArray.Patch<Value, Patch>> = Array.of(self)
|
|
177
|
+
while (Array.isNonEmptyArray(patches)) {
|
|
178
|
+
const head: Instruction = Array.headNonEmpty(patches) as Instruction
|
|
179
|
+
const tail = Array.tailNonEmpty(patches)
|
|
180
180
|
switch (head._tag) {
|
|
181
181
|
case "Empty": {
|
|
182
182
|
patches = tail
|
|
@@ -289,8 +289,8 @@ export const forkIn = dual<
|
|
|
289
289
|
child.addFinalizer(() =>
|
|
290
290
|
core.fiberIdWith((fiberId) =>
|
|
291
291
|
Equal.equals(fiberId, fiber.id()) ?
|
|
292
|
-
core.
|
|
293
|
-
core.
|
|
292
|
+
core.void :
|
|
293
|
+
core.asVoid(core.interruptFiber(fiber))
|
|
294
294
|
)
|
|
295
295
|
)
|
|
296
296
|
)
|
|
@@ -46,27 +46,29 @@ export const isParallelN = (self: ExecutionStrategy.ExecutionStrategy): self is
|
|
|
46
46
|
|
|
47
47
|
/** @internal */
|
|
48
48
|
export const match = dual<
|
|
49
|
-
<A>(
|
|
50
|
-
onSequential: LazyArg<A
|
|
51
|
-
onParallel: LazyArg<A
|
|
52
|
-
onParallelN: (n: number) => A
|
|
53
|
-
) => (self: ExecutionStrategy.ExecutionStrategy) => A,
|
|
49
|
+
<A>(options: {
|
|
50
|
+
readonly onSequential: LazyArg<A>
|
|
51
|
+
readonly onParallel: LazyArg<A>
|
|
52
|
+
readonly onParallelN: (n: number) => A
|
|
53
|
+
}) => (self: ExecutionStrategy.ExecutionStrategy) => A,
|
|
54
54
|
<A>(
|
|
55
55
|
self: ExecutionStrategy.ExecutionStrategy,
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
56
|
+
options: {
|
|
57
|
+
readonly onSequential: LazyArg<A>
|
|
58
|
+
readonly onParallel: LazyArg<A>
|
|
59
|
+
readonly onParallelN: (n: number) => A
|
|
60
|
+
}
|
|
59
61
|
) => A
|
|
60
|
-
>(
|
|
62
|
+
>(2, (self, options) => {
|
|
61
63
|
switch (self._tag) {
|
|
62
64
|
case OP_SEQUENTIAL: {
|
|
63
|
-
return onSequential()
|
|
65
|
+
return options.onSequential()
|
|
64
66
|
}
|
|
65
67
|
case OP_PARALLEL: {
|
|
66
|
-
return onParallel()
|
|
68
|
+
return options.onParallel()
|
|
67
69
|
}
|
|
68
70
|
case OP_PARALLEL_N: {
|
|
69
|
-
return onParallelN(self.parallelism)
|
|
71
|
+
return options.onParallelN(self.parallelism)
|
|
70
72
|
}
|
|
71
73
|
}
|
|
72
74
|
})
|
package/src/internal/fiber.ts
CHANGED
|
@@ -81,9 +81,9 @@ export const done = <A, E>(exit: Exit.Exit<A, E>): Fiber.Fiber<A, E> => ({
|
|
|
81
81
|
id: () => FiberId.none,
|
|
82
82
|
await: core.succeed(exit),
|
|
83
83
|
children: core.succeed([]),
|
|
84
|
-
inheritAll: core.
|
|
84
|
+
inheritAll: core.void,
|
|
85
85
|
poll: core.succeed(Option.some(exit)),
|
|
86
|
-
interruptAsFork: () => core.
|
|
86
|
+
interruptAsFork: () => core.void
|
|
87
87
|
})
|
|
88
88
|
|
|
89
89
|
/** @internal */
|
|
@@ -254,7 +254,7 @@ export const orElse = dual<
|
|
|
254
254
|
pipe(
|
|
255
255
|
core.interruptAsFiber(self, id),
|
|
256
256
|
core.zipRight(pipe(that, core.interruptAsFiber(id))),
|
|
257
|
-
core.
|
|
257
|
+
core.asVoid
|
|
258
258
|
)
|
|
259
259
|
}))
|
|
260
260
|
|
|
@@ -334,8 +334,11 @@ export const status = <A, E>(self: Fiber.RuntimeFiber<A, E>): Effect.Effect<Fibe
|
|
|
334
334
|
/** @internal */
|
|
335
335
|
export const succeed = <A>(value: A): Fiber.Fiber<A> => done(Exit.succeed(value))
|
|
336
336
|
|
|
337
|
-
|
|
338
|
-
export
|
|
337
|
+
const void_: Fiber.Fiber<void> = succeed(void 0)
|
|
338
|
+
export {
|
|
339
|
+
/** @internal */
|
|
340
|
+
void_ as void
|
|
341
|
+
}
|
|
339
342
|
|
|
340
343
|
/** @internal */
|
|
341
344
|
export const currentFiberURI = "effect/FiberCurrent"
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
+
import * as Arr from "../../Array.js"
|
|
1
2
|
import { equals } from "../../Equal.js"
|
|
2
3
|
import type * as FiberId from "../../FiberId.js"
|
|
3
4
|
import type * as FiberRefs from "../../FiberRefs.js"
|
|
4
5
|
import type * as FiberRefsPatch from "../../FiberRefsPatch.js"
|
|
5
6
|
import { dual } from "../../Function.js"
|
|
6
|
-
import * as Arr from "../../ReadonlyArray.js"
|
|
7
7
|
import * as _fiberRefs from "../fiberRefs.js"
|
|
8
8
|
|
|
9
9
|
/** @internal */
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import * as Arr from "../Array.js"
|
|
1
2
|
import type * as Effect from "../Effect.js"
|
|
2
3
|
import * as Equal from "../Equal.js"
|
|
3
4
|
import type * as FiberId from "../FiberId.js"
|
|
@@ -7,7 +8,6 @@ import { dual, pipe } from "../Function.js"
|
|
|
7
8
|
import * as HashSet from "../HashSet.js"
|
|
8
9
|
import * as Option from "../Option.js"
|
|
9
10
|
import { pipeArguments } from "../Pipeable.js"
|
|
10
|
-
import * as Arr from "../ReadonlyArray.js"
|
|
11
11
|
import * as core from "./core.js"
|
|
12
12
|
|
|
13
13
|
/** @internal */
|