effect 2.4.19 → 3.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/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 +306 -0
- package/dist/cjs/FiberHandle.js.map +1 -0
- package/dist/cjs/FiberMap.js +105 -28
- 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 +47 -48
- 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} +42 -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 +265 -0
- package/dist/esm/FiberHandle.js.map +1 -0
- package/dist/esm/FiberMap.js +103 -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 +47 -48
- 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} +50 -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 +433 -0
- package/src/FiberMap.ts +200 -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 +50 -53
- 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/cache.ts
CHANGED
|
@@ -29,13 +29,13 @@ import * as fiberRuntime from "./fiberRuntime.js"
|
|
|
29
29
|
*
|
|
30
30
|
* @internal
|
|
31
31
|
*/
|
|
32
|
-
export type MapValue<Key,
|
|
33
|
-
| Complete<Key,
|
|
34
|
-
| Pending<Key,
|
|
35
|
-
| Refreshing<Key,
|
|
32
|
+
export type MapValue<Key, Value, Error> =
|
|
33
|
+
| Complete<Key, Value, Error>
|
|
34
|
+
| Pending<Key, Value, Error>
|
|
35
|
+
| Refreshing<Key, Value, Error>
|
|
36
36
|
|
|
37
37
|
/** @internal */
|
|
38
|
-
export interface Complete<out Key, out
|
|
38
|
+
export interface Complete<out Key, out Value, out Error> {
|
|
39
39
|
readonly _tag: "Complete"
|
|
40
40
|
readonly key: MapKey<Key>
|
|
41
41
|
readonly exit: Exit.Exit<Value, Error>
|
|
@@ -44,26 +44,26 @@ export interface Complete<out Key, out Error, out Value> {
|
|
|
44
44
|
}
|
|
45
45
|
|
|
46
46
|
/** @internal */
|
|
47
|
-
export interface Pending<out Key, in out
|
|
47
|
+
export interface Pending<out Key, in out Value, in out Error> {
|
|
48
48
|
readonly _tag: "Pending"
|
|
49
49
|
readonly key: MapKey<Key>
|
|
50
50
|
readonly deferred: Deferred.Deferred<Value, Error>
|
|
51
51
|
}
|
|
52
52
|
|
|
53
53
|
/** @internal */
|
|
54
|
-
export interface Refreshing<out Key, in out
|
|
54
|
+
export interface Refreshing<out Key, in out Value, in out Error> {
|
|
55
55
|
readonly _tag: "Refreshing"
|
|
56
56
|
readonly deferred: Deferred.Deferred<Value, Error>
|
|
57
|
-
readonly complete: Complete<Key,
|
|
57
|
+
readonly complete: Complete<Key, Value, Error>
|
|
58
58
|
}
|
|
59
59
|
|
|
60
60
|
/** @internal */
|
|
61
|
-
export const complete = <Key,
|
|
61
|
+
export const complete = <Key, Value, Error>(
|
|
62
62
|
key: MapKey<Key>,
|
|
63
63
|
exit: Exit.Exit<Value, Error>,
|
|
64
64
|
entryStats: Cache.EntryStats,
|
|
65
65
|
timeToLiveMillis: number
|
|
66
|
-
): MapValue<Key,
|
|
66
|
+
): MapValue<Key, Value, Error> =>
|
|
67
67
|
Data.struct({
|
|
68
68
|
_tag: "Complete" as const,
|
|
69
69
|
key,
|
|
@@ -73,10 +73,10 @@ export const complete = <Key, Error, Value>(
|
|
|
73
73
|
})
|
|
74
74
|
|
|
75
75
|
/** @internal */
|
|
76
|
-
export const pending = <Key,
|
|
76
|
+
export const pending = <Key, Value, Error>(
|
|
77
77
|
key: MapKey<Key>,
|
|
78
78
|
deferred: Deferred.Deferred<Value, Error>
|
|
79
|
-
): MapValue<Key,
|
|
79
|
+
): MapValue<Key, Value, Error> =>
|
|
80
80
|
Data.struct({
|
|
81
81
|
_tag: "Pending" as const,
|
|
82
82
|
key,
|
|
@@ -84,10 +84,10 @@ export const pending = <Key, Error, Value>(
|
|
|
84
84
|
})
|
|
85
85
|
|
|
86
86
|
/** @internal */
|
|
87
|
-
export const refreshing = <Key,
|
|
87
|
+
export const refreshing = <Key, Value, Error>(
|
|
88
88
|
deferred: Deferred.Deferred<Value, Error>,
|
|
89
|
-
complete: Complete<Key,
|
|
90
|
-
): MapValue<Key,
|
|
89
|
+
complete: Complete<Key, Value, Error>
|
|
90
|
+
): MapValue<Key, Value, Error> =>
|
|
91
91
|
Data.struct({
|
|
92
92
|
_tag: "Refreshing" as const,
|
|
93
93
|
deferred,
|
|
@@ -216,8 +216,8 @@ export const makeKeySet = <K>(): KeySet<K> => new KeySetImpl<K>()
|
|
|
216
216
|
*
|
|
217
217
|
* @internal
|
|
218
218
|
*/
|
|
219
|
-
export interface CacheState<in out Key, in out
|
|
220
|
-
map: MutableHashMap.MutableHashMap<Key, MapValue<Key,
|
|
219
|
+
export interface CacheState<in out Key, in out Value, in out Error> {
|
|
220
|
+
map: MutableHashMap.MutableHashMap<Key, MapValue<Key, Value, Error>> // mutable by design
|
|
221
221
|
keys: KeySet<Key> // mutable by design
|
|
222
222
|
accesses: MutableQueue.MutableQueue<MapKey<Key>> // mutable by design
|
|
223
223
|
updating: MutableRef.MutableRef<boolean> // mutable by design
|
|
@@ -230,14 +230,14 @@ export interface CacheState<in out Key, in out Error, in out Value> {
|
|
|
230
230
|
*
|
|
231
231
|
* @internal
|
|
232
232
|
*/
|
|
233
|
-
export const makeCacheState = <Key,
|
|
234
|
-
map: MutableHashMap.MutableHashMap<Key, MapValue<Key,
|
|
233
|
+
export const makeCacheState = <Key, Value, Error>(
|
|
234
|
+
map: MutableHashMap.MutableHashMap<Key, MapValue<Key, Value, Error>>,
|
|
235
235
|
keys: KeySet<Key>,
|
|
236
236
|
accesses: MutableQueue.MutableQueue<MapKey<Key>>,
|
|
237
237
|
updating: MutableRef.MutableRef<boolean>,
|
|
238
238
|
hits: number,
|
|
239
239
|
misses: number
|
|
240
|
-
): CacheState<Key,
|
|
240
|
+
): CacheState<Key, Value, Error> => ({
|
|
241
241
|
map,
|
|
242
242
|
keys,
|
|
243
243
|
accesses,
|
|
@@ -251,7 +251,7 @@ export const makeCacheState = <Key, Error, Value>(
|
|
|
251
251
|
*
|
|
252
252
|
* @internal
|
|
253
253
|
*/
|
|
254
|
-
export const initialCacheState = <Key,
|
|
254
|
+
export const initialCacheState = <Key, Value, Error>(): CacheState<Key, Value, Error> =>
|
|
255
255
|
makeCacheState(
|
|
256
256
|
MutableHashMap.empty(),
|
|
257
257
|
makeKeySet(),
|
|
@@ -292,14 +292,14 @@ export const makeEntryStats = (loadedMillis: number): Cache.EntryStats => ({
|
|
|
292
292
|
loadedMillis
|
|
293
293
|
})
|
|
294
294
|
|
|
295
|
-
class CacheImpl<in out Key, in out
|
|
295
|
+
class CacheImpl<in out Key, in out Value, in out Error> implements Cache.Cache<Key, Value, Error> {
|
|
296
296
|
readonly [CacheTypeId] = cacheVariance
|
|
297
|
-
readonly cacheState: CacheState<Key,
|
|
297
|
+
readonly cacheState: CacheState<Key, Value, Error>
|
|
298
298
|
constructor(
|
|
299
299
|
readonly capacity: number,
|
|
300
300
|
readonly context: Context.Context<any>,
|
|
301
301
|
readonly fiberId: FiberId.FiberId,
|
|
302
|
-
readonly lookup: Cache.Lookup<Key,
|
|
302
|
+
readonly lookup: Cache.Lookup<Key, Value, Error, any>,
|
|
303
303
|
readonly timeToLive: (exit: Exit.Exit<Value, Error>) => Duration.DurationInput
|
|
304
304
|
) {
|
|
305
305
|
this.cacheState = initialCacheState()
|
|
@@ -443,7 +443,7 @@ class CacheImpl<in out Key, in out Error, in out Value> implements Cache.Cache<K
|
|
|
443
443
|
}
|
|
444
444
|
}
|
|
445
445
|
if (value === undefined) {
|
|
446
|
-
return core.
|
|
446
|
+
return core.asVoid(this.lookupValueOf(key, deferred))
|
|
447
447
|
} else {
|
|
448
448
|
switch (value._tag) {
|
|
449
449
|
case "Complete": {
|
|
@@ -452,7 +452,7 @@ class CacheImpl<in out Key, in out Error, in out Value> implements Cache.Cache<K
|
|
|
452
452
|
if (Equal.equals(found, value)) {
|
|
453
453
|
MutableHashMap.remove(this.cacheState.map, k)
|
|
454
454
|
}
|
|
455
|
-
return core.
|
|
455
|
+
return core.asVoid(this.get(key))
|
|
456
456
|
}
|
|
457
457
|
// Only trigger the lookup if we're still the current value, `completedResult`
|
|
458
458
|
return pipe(
|
|
@@ -460,13 +460,13 @@ class CacheImpl<in out Key, in out Error, in out Value> implements Cache.Cache<K
|
|
|
460
460
|
effect.when(() => {
|
|
461
461
|
const current = Option.getOrUndefined(MutableHashMap.get(this.cacheState.map, k))
|
|
462
462
|
if (Equal.equals(current, value)) {
|
|
463
|
-
const mapValue = refreshing(deferred, value as Complete<Key,
|
|
463
|
+
const mapValue = refreshing(deferred, value as Complete<Key, Value, Error>)
|
|
464
464
|
MutableHashMap.set(this.cacheState.map, k, mapValue)
|
|
465
465
|
return true
|
|
466
466
|
}
|
|
467
467
|
return false
|
|
468
468
|
}),
|
|
469
|
-
core.
|
|
469
|
+
core.asVoid
|
|
470
470
|
)
|
|
471
471
|
}
|
|
472
472
|
case "Pending": {
|
|
@@ -496,7 +496,7 @@ class CacheImpl<in out Key, in out Error, in out Value> implements Cache.Cache<K
|
|
|
496
496
|
MutableHashMap.set(
|
|
497
497
|
this.cacheState.map,
|
|
498
498
|
k,
|
|
499
|
-
mapValue as Complete<Key,
|
|
499
|
+
mapValue as Complete<Key, Value, Error>
|
|
500
500
|
)
|
|
501
501
|
})
|
|
502
502
|
)
|
|
@@ -545,7 +545,7 @@ class CacheImpl<in out Key, in out Error, in out Value> implements Cache.Cache<K
|
|
|
545
545
|
}
|
|
546
546
|
|
|
547
547
|
resolveMapValue(
|
|
548
|
-
value: MapValue<Key,
|
|
548
|
+
value: MapValue<Key, Value, Error>,
|
|
549
549
|
ignorePending = false
|
|
550
550
|
): Effect.Effect<Option.Option<Value>, Error> {
|
|
551
551
|
return effect.clockWith((clock) => {
|
|
@@ -665,13 +665,13 @@ class CacheImpl<in out Key, in out Error, in out Value> implements Cache.Cache<K
|
|
|
665
665
|
}
|
|
666
666
|
|
|
667
667
|
/** @internal */
|
|
668
|
-
export const make = <Key,
|
|
668
|
+
export const make = <Key, Value, Error = never, Environment = never>(
|
|
669
669
|
options: {
|
|
670
670
|
readonly capacity: number
|
|
671
671
|
readonly timeToLive: Duration.DurationInput
|
|
672
|
-
readonly lookup: Cache.Lookup<Key,
|
|
672
|
+
readonly lookup: Cache.Lookup<Key, Value, Error, Environment>
|
|
673
673
|
}
|
|
674
|
-
): Effect.Effect<Cache.Cache<Key,
|
|
674
|
+
): Effect.Effect<Cache.Cache<Key, Value, Error>, never, Environment> => {
|
|
675
675
|
const timeToLive = Duration.decode(options.timeToLive)
|
|
676
676
|
return makeWith({
|
|
677
677
|
capacity: options.capacity,
|
|
@@ -681,13 +681,13 @@ export const make = <Key, Environment, Error, Value>(
|
|
|
681
681
|
}
|
|
682
682
|
|
|
683
683
|
/** @internal */
|
|
684
|
-
export const makeWith = <Key,
|
|
684
|
+
export const makeWith = <Key, Value, Error = never, Environment = never>(
|
|
685
685
|
options: {
|
|
686
686
|
readonly capacity: number
|
|
687
|
-
readonly lookup: Cache.Lookup<Key,
|
|
687
|
+
readonly lookup: Cache.Lookup<Key, Value, Error, Environment>
|
|
688
688
|
readonly timeToLive: (exit: Exit.Exit<Value, Error>) => Duration.DurationInput
|
|
689
689
|
}
|
|
690
|
-
): Effect.Effect<Cache.Cache<Key,
|
|
690
|
+
): Effect.Effect<Cache.Cache<Key, Value, Error>, never, Environment> =>
|
|
691
691
|
core.map(
|
|
692
692
|
fiberRuntime.all([core.context<Environment>(), core.fiberId]),
|
|
693
693
|
([context, fiberId]) =>
|
|
@@ -701,12 +701,12 @@ export const makeWith = <Key, Environment, Error, Value>(
|
|
|
701
701
|
)
|
|
702
702
|
|
|
703
703
|
/** @internal */
|
|
704
|
-
export const unsafeMakeWith = <Key,
|
|
704
|
+
export const unsafeMakeWith = <Key, Value, Error = never>(
|
|
705
705
|
capacity: number,
|
|
706
|
-
lookup: Cache.Lookup<Key,
|
|
706
|
+
lookup: Cache.Lookup<Key, Value, Error>,
|
|
707
707
|
timeToLive: (exit: Exit.Exit<Value, Error>) => Duration.DurationInput
|
|
708
|
-
): Cache.Cache<Key,
|
|
709
|
-
new CacheImpl<Key,
|
|
708
|
+
): Cache.Cache<Key, Value, Error> =>
|
|
709
|
+
new CacheImpl<Key, Value, Error>(
|
|
710
710
|
capacity,
|
|
711
711
|
Context.empty() as Context.Context<any>,
|
|
712
712
|
none,
|
package/src/internal/cause.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import * as Arr from "../Array.js"
|
|
1
2
|
import type * as Cause from "../Cause.js"
|
|
2
3
|
import * as Chunk from "../Chunk.js"
|
|
3
4
|
import * as Either from "../Either.js"
|
|
@@ -11,9 +12,7 @@ import * as Option from "../Option.js"
|
|
|
11
12
|
import { pipeArguments } from "../Pipeable.js"
|
|
12
13
|
import { hasProperty, isFunction } from "../Predicate.js"
|
|
13
14
|
import type { Predicate, Refinement } from "../Predicate.js"
|
|
14
|
-
import
|
|
15
|
-
import type { ParentSpan, Span } from "../Tracer.js"
|
|
16
|
-
import type { NoInfer } from "../Types.js"
|
|
15
|
+
import type { AnySpan, Span } from "../Tracer.js"
|
|
17
16
|
import { getBugErrorMessage } from "./errors.js"
|
|
18
17
|
import * as OpCodes from "./opCodes/cause.js"
|
|
19
18
|
|
|
@@ -585,7 +584,7 @@ const flattenCauseLoop = (
|
|
|
585
584
|
while (1) {
|
|
586
585
|
const [parallel, sequential] = pipe(
|
|
587
586
|
causes,
|
|
588
|
-
|
|
587
|
+
Arr.reduce(
|
|
589
588
|
[HashSet.empty<unknown>(), Chunk.empty<Cause.Cause<unknown>>()] as const,
|
|
590
589
|
([parallel, sequential], cause) => {
|
|
591
590
|
const [par, seq] = evaluateCause(cause)
|
|
@@ -991,7 +990,7 @@ export const pretty = <E>(cause: Cause.Cause<E>): string => {
|
|
|
991
990
|
message += `\r\n${filterStack(e.stack)}`
|
|
992
991
|
}
|
|
993
992
|
if (e.span) {
|
|
994
|
-
let current: Span |
|
|
993
|
+
let current: Span | AnySpan | undefined = e.span
|
|
995
994
|
let i = 0
|
|
996
995
|
while (current && current._tag === "Span" && i < 10) {
|
|
997
996
|
message += `\r\n at ${current.name}`
|
|
@@ -1047,7 +1046,7 @@ export const prettyErrorMessage = (u: unknown): string => {
|
|
|
1047
1046
|
hasProperty(u, "toString") &&
|
|
1048
1047
|
isFunction(u["toString"]) &&
|
|
1049
1048
|
u["toString"] !== Object.prototype.toString &&
|
|
1050
|
-
u["toString"] !== Array.prototype.toString
|
|
1049
|
+
u["toString"] !== globalThis.Array.prototype.toString
|
|
1051
1050
|
) {
|
|
1052
1051
|
return u["toString"]()
|
|
1053
1052
|
}
|
|
@@ -162,7 +162,7 @@ export class ChannelExecutor<
|
|
|
162
162
|
Effect.flatMap(Fiber.interrupt(fiber), () =>
|
|
163
163
|
Effect.suspend(() => {
|
|
164
164
|
const effect = this.restorePipe(exit, inputExecutor)
|
|
165
|
-
return effect !== undefined ? effect : Effect.
|
|
165
|
+
return effect !== undefined ? effect : Effect.void
|
|
166
166
|
}))
|
|
167
167
|
)
|
|
168
168
|
)
|
|
@@ -188,7 +188,7 @@ export class ChannelExecutor<
|
|
|
188
188
|
(effect) =>
|
|
189
189
|
Effect.sync(() => {
|
|
190
190
|
const prevLastClose = this._closeLastSubstream === undefined
|
|
191
|
-
? Effect.
|
|
191
|
+
? Effect.void
|
|
192
192
|
: this._closeLastSubstream
|
|
193
193
|
this._closeLastSubstream = pipe(prevLastClose, Effect.zipRight(effect))
|
|
194
194
|
})
|
|
@@ -217,7 +217,7 @@ export class ChannelExecutor<
|
|
|
217
217
|
this._emitted = this._currentChannel.out
|
|
218
218
|
this._currentChannel = (this._activeSubexecutor !== undefined ?
|
|
219
219
|
undefined :
|
|
220
|
-
core.
|
|
220
|
+
core.void) as core.Primitive | undefined
|
|
221
221
|
result = ChannelState.Emit()
|
|
222
222
|
break
|
|
223
223
|
}
|
|
@@ -252,13 +252,13 @@ export class ChannelExecutor<
|
|
|
252
252
|
const state = this.doneHalt(cause)
|
|
253
253
|
return state !== undefined && ChannelState.isFromEffect(state) ?
|
|
254
254
|
state.effect :
|
|
255
|
-
Effect.
|
|
255
|
+
Effect.void
|
|
256
256
|
},
|
|
257
257
|
onSuccess: (value) => {
|
|
258
258
|
const state = this.doneSucceed(value)
|
|
259
259
|
return state !== undefined && ChannelState.isFromEffect(state) ?
|
|
260
260
|
state.effect :
|
|
261
|
-
Effect.
|
|
261
|
+
Effect.void
|
|
262
262
|
}
|
|
263
263
|
})
|
|
264
264
|
) as ChannelState.ChannelState<unknown, Env> | undefined
|
|
@@ -279,7 +279,7 @@ export class ChannelExecutor<
|
|
|
279
279
|
|
|
280
280
|
this.addFinalizer((exit) => {
|
|
281
281
|
const effect = this.restorePipe(exit, previousInput)
|
|
282
|
-
return effect !== undefined ? effect : Effect.
|
|
282
|
+
return effect !== undefined ? effect : Effect.void
|
|
283
283
|
})
|
|
284
284
|
|
|
285
285
|
this._currentChannel = this._currentChannel.right() as core.Primitive
|
|
@@ -382,7 +382,7 @@ export class ChannelExecutor<
|
|
|
382
382
|
}
|
|
383
383
|
next = this._doneStack.pop() as Continuation.Primitive | undefined
|
|
384
384
|
}
|
|
385
|
-
const effect = (finalizers.length === 0 ? Effect.
|
|
385
|
+
const effect = (finalizers.length === 0 ? Effect.void : runFinalizers(finalizers, exit)) as Effect.Effect<
|
|
386
386
|
unknown,
|
|
387
387
|
never,
|
|
388
388
|
Env
|
|
@@ -414,7 +414,7 @@ export class ChannelExecutor<
|
|
|
414
414
|
const effect = currInput.close(exit)
|
|
415
415
|
return effect
|
|
416
416
|
}
|
|
417
|
-
return Effect.
|
|
417
|
+
return Effect.void
|
|
418
418
|
}
|
|
419
419
|
|
|
420
420
|
close(exit: Exit.Exit<unknown, unknown>): Effect.Effect<unknown, never, Env> | undefined {
|
|
@@ -608,7 +608,7 @@ export class ChannelExecutor<
|
|
|
608
608
|
})
|
|
609
609
|
this._activeSubexecutor = undefined
|
|
610
610
|
return state === undefined ?
|
|
611
|
-
Effect.
|
|
611
|
+
Effect.void :
|
|
612
612
|
ChannelState.effect(state)
|
|
613
613
|
}
|
|
614
614
|
|
|
@@ -622,7 +622,7 @@ export class ChannelExecutor<
|
|
|
622
622
|
Effect.forEach((closeFunc) =>
|
|
623
623
|
pipe(
|
|
624
624
|
Effect.sync(() => closeFunc(subexecutorDone)),
|
|
625
|
-
Effect.flatMap((closeEffect) => closeEffect !== undefined ? closeEffect : Effect.
|
|
625
|
+
Effect.flatMap((closeEffect) => closeEffect !== undefined ? closeEffect : Effect.void)
|
|
626
626
|
), { discard: true })
|
|
627
627
|
)
|
|
628
628
|
)
|
|
@@ -802,7 +802,7 @@ export class ChannelExecutor<
|
|
|
802
802
|
return ChannelState.Read(
|
|
803
803
|
subexecutor.upstreamExecutor,
|
|
804
804
|
(effect) => {
|
|
805
|
-
const closeLastSubstream = this._closeLastSubstream === undefined ? Effect.
|
|
805
|
+
const closeLastSubstream = this._closeLastSubstream === undefined ? Effect.void : this._closeLastSubstream
|
|
806
806
|
this._closeLastSubstream = undefined
|
|
807
807
|
return pipe(
|
|
808
808
|
this._executeCloseLastSubstream(closeLastSubstream),
|
|
@@ -999,7 +999,7 @@ export class ChannelExecutor<
|
|
|
999
999
|
}
|
|
1000
1000
|
|
|
1001
1001
|
const ifNotNull = <Env>(effect: Effect.Effect<unknown, never, Env> | undefined): Effect.Effect<unknown, never, Env> =>
|
|
1002
|
-
effect !== undefined ? effect : Effect.
|
|
1002
|
+
effect !== undefined ? effect : Effect.void
|
|
1003
1003
|
|
|
1004
1004
|
const runFinalizers = <Env>(
|
|
1005
1005
|
finalizers: Array<ErasedFinalizer<Env>>,
|
|
@@ -1007,7 +1007,7 @@ const runFinalizers = <Env>(
|
|
|
1007
1007
|
): Effect.Effect<unknown, never, Env> => {
|
|
1008
1008
|
return pipe(
|
|
1009
1009
|
Effect.forEach(finalizers, (fin) => Effect.exit(fin(exit))),
|
|
1010
|
-
Effect.map((exits) => pipe(Exit.all(exits), Option.getOrElse(() => Exit.
|
|
1010
|
+
Effect.map((exits) => pipe(Exit.all(exits), Option.getOrElse(() => Exit.void))),
|
|
1011
1011
|
Effect.flatMap((exit) => Effect.suspend(() => exit as Exit.Exit<unknown>))
|
|
1012
1012
|
)
|
|
1013
1013
|
}
|
|
@@ -1075,7 +1075,7 @@ export const readUpstream = <A, E2, R, E>(
|
|
|
1075
1075
|
Effect.catchAllCause((cause) =>
|
|
1076
1076
|
Effect.suspend(() => {
|
|
1077
1077
|
const doneEffect = current.onDone(Exit.failCause(cause)) as Effect.Effect<void>
|
|
1078
|
-
return doneEffect === undefined ? Effect.
|
|
1078
|
+
return doneEffect === undefined ? Effect.void : doneEffect
|
|
1079
1079
|
})
|
|
1080
1080
|
),
|
|
1081
1081
|
Effect.matchCauseEffect({ onFailure, onSuccess: () => read() })
|
|
@@ -1120,7 +1120,7 @@ export const runScoped = <Env, InErr, InDone, OutErr, OutDone>(
|
|
|
1120
1120
|
(exec, exit) => {
|
|
1121
1121
|
const finalize = exec.close(exit)
|
|
1122
1122
|
if (finalize === undefined) {
|
|
1123
|
-
return Effect.
|
|
1123
|
+
return Effect.void
|
|
1124
1124
|
}
|
|
1125
1125
|
return Effect.tapErrorCause(
|
|
1126
1126
|
finalize,
|
|
@@ -127,7 +127,7 @@ export const isRead = <E, R>(self: ChannelState<E, R>): self is Read => (self as
|
|
|
127
127
|
|
|
128
128
|
/** @internal */
|
|
129
129
|
export const effect = <E, R>(self: ChannelState<E, R>): Effect.Effect<void, E, R> =>
|
|
130
|
-
isFromEffect(self) ? self.effect as Effect.Effect<void, E, R> : Effect.
|
|
130
|
+
isFromEffect(self) ? self.effect as Effect.Effect<void, E, R> : Effect.void
|
|
131
131
|
|
|
132
132
|
/** @internal */
|
|
133
133
|
export const effectOrUndefinedIgnored = <E, R>(self: ChannelState<E, R>): Effect.Effect<void, E, R> | undefined =>
|
|
@@ -100,7 +100,7 @@ class SingleProducerAsyncInputImpl<in out Err, in out Elem, in out Done>
|
|
|
100
100
|
Ref.modify(this.ref, (state) =>
|
|
101
101
|
state._tag === OP_STATE_EMPTY ?
|
|
102
102
|
[Deferred.await(state.notifyProducer), state as State<Err, Elem, Done>] :
|
|
103
|
-
[Effect.
|
|
103
|
+
[Effect.void, state])
|
|
104
104
|
)
|
|
105
105
|
}
|
|
106
106
|
|
package/src/internal/channel.ts
CHANGED
|
@@ -44,7 +44,7 @@ export const acquireUseRelease = <Acquired, OutErr, Env, OutElem1, InElem, InErr
|
|
|
44
44
|
core.fromEffect(
|
|
45
45
|
Ref.make<
|
|
46
46
|
(exit: Exit.Exit<OutDone, OutErr>) => Effect.Effect<any, never, Env>
|
|
47
|
-
>(() => Effect.
|
|
47
|
+
>(() => Effect.void)
|
|
48
48
|
),
|
|
49
49
|
(ref) =>
|
|
50
50
|
pipe(
|
|
@@ -78,7 +78,7 @@ export const as = dual<
|
|
|
78
78
|
): Channel.Channel<OutElem, InElem, OutErr, InErr, OutDone2, InDone, Env> => map(self, () => value))
|
|
79
79
|
|
|
80
80
|
/** @internal */
|
|
81
|
-
export const
|
|
81
|
+
export const asVoid = <OutElem, InElem, OutErr, InErr, OutDone, InDone, Env>(
|
|
82
82
|
self: Channel.Channel<OutElem, InElem, OutErr, InErr, OutDone, InDone, Env>
|
|
83
83
|
): Channel.Channel<OutElem, InElem, OutErr, InErr, void, InDone, Env> => map(self, constVoid)
|
|
84
84
|
|
|
@@ -931,8 +931,8 @@ export const mapOutEffectPar = dual<
|
|
|
931
931
|
onLeft: (outDone) => {
|
|
932
932
|
const lock = withPermits(n)
|
|
933
933
|
return Effect.zipRight(
|
|
934
|
-
Effect.interruptible(lock(Effect.
|
|
935
|
-
Effect.
|
|
934
|
+
Effect.interruptible(lock(Effect.void)),
|
|
935
|
+
Effect.asVoid(Queue.offer(
|
|
936
936
|
queue,
|
|
937
937
|
Effect.succeed(Either.left(outDone))
|
|
938
938
|
))
|
|
@@ -942,7 +942,7 @@ export const mapOutEffectPar = dual<
|
|
|
942
942
|
Effect.gen(function*($) {
|
|
943
943
|
const deferred = yield* $(Deferred.make<OutElem1, OutErr1>())
|
|
944
944
|
const latch = yield* $(Deferred.make<void>())
|
|
945
|
-
yield* $(Effect.
|
|
945
|
+
yield* $(Effect.asVoid(Queue.offer(
|
|
946
946
|
queue,
|
|
947
947
|
Effect.map(Deferred.await(deferred), Either.right)
|
|
948
948
|
)))
|
|
@@ -1189,7 +1189,7 @@ export const mergeAllWith = (
|
|
|
1189
1189
|
pipe(
|
|
1190
1190
|
Queue.offer(queue, Effect.failCause(cause)),
|
|
1191
1191
|
Effect.zipRight(Deferred.succeed(errorSignal, void 0)),
|
|
1192
|
-
Effect.
|
|
1192
|
+
Effect.asVoid
|
|
1193
1193
|
)
|
|
1194
1194
|
)
|
|
1195
1195
|
)
|
|
@@ -1204,7 +1204,7 @@ export const mergeAllWith = (
|
|
|
1204
1204
|
onLeft: (outDone) =>
|
|
1205
1205
|
Effect.raceWith(
|
|
1206
1206
|
Effect.interruptible(Deferred.await(errorSignal)),
|
|
1207
|
-
Effect.interruptible(withPermits(concurrencyN)(Effect.
|
|
1207
|
+
Effect.interruptible(withPermits(concurrencyN)(Effect.void)),
|
|
1208
1208
|
{
|
|
1209
1209
|
onSelfDone: (_, permitAcquisition) => Effect.as(Fiber.interrupt(permitAcquisition), false),
|
|
1210
1210
|
onOtherDone: (_, failureAwait) =>
|
|
@@ -2211,7 +2211,7 @@ export const toPull = <OutElem, InElem, OutErr, InErr, OutDone, InDone, Env>(
|
|
|
2211
2211
|
Effect.sync(() => new executor.ChannelExecutor(self, void 0, identity)),
|
|
2212
2212
|
(exec, exit) => {
|
|
2213
2213
|
const finalize = exec.close(exit)
|
|
2214
|
-
return finalize === undefined ? Effect.
|
|
2214
|
+
return finalize === undefined ? Effect.void : finalize
|
|
2215
2215
|
}
|
|
2216
2216
|
),
|
|
2217
2217
|
(exec) => Effect.suspend(() => interpretToPull(exec.run() as ChannelState.ChannelState<OutErr, Env>, exec))
|
|
@@ -2316,7 +2316,7 @@ export const withSpan = dual<
|
|
|
2316
2316
|
options?: {
|
|
2317
2317
|
readonly attributes?: Record<string, unknown> | undefined
|
|
2318
2318
|
readonly links?: ReadonlyArray<Tracer.SpanLink> | undefined
|
|
2319
|
-
readonly parent?: Tracer.
|
|
2319
|
+
readonly parent?: Tracer.AnySpan | undefined
|
|
2320
2320
|
readonly root?: boolean | undefined
|
|
2321
2321
|
readonly context?: Context.Context<never> | undefined
|
|
2322
2322
|
}
|
|
@@ -2329,7 +2329,7 @@ export const withSpan = dual<
|
|
|
2329
2329
|
options?: {
|
|
2330
2330
|
readonly attributes?: Record<string, unknown> | undefined
|
|
2331
2331
|
readonly links?: ReadonlyArray<Tracer.SpanLink> | undefined
|
|
2332
|
-
readonly parent?: Tracer.
|
|
2332
|
+
readonly parent?: Tracer.AnySpan | undefined
|
|
2333
2333
|
readonly root?: boolean | undefined
|
|
2334
2334
|
readonly context?: Context.Context<never> | undefined
|
|
2335
2335
|
}
|
|
@@ -2363,7 +2363,7 @@ const writeChunkWriter = <OutElem>(
|
|
|
2363
2363
|
chunk: Chunk.Chunk<OutElem>
|
|
2364
2364
|
): Channel.Channel<OutElem> => {
|
|
2365
2365
|
return idx === len
|
|
2366
|
-
? core.
|
|
2366
|
+
? core.void
|
|
2367
2367
|
: pipe(
|
|
2368
2368
|
core.write(pipe(chunk, Chunk.unsafeGet(idx))),
|
|
2369
2369
|
core.flatMap(() => writeChunkWriter(idx + 1, len, chunk))
|
package/src/internal/clock.ts
CHANGED
|
@@ -85,8 +85,8 @@ class ClockImpl implements Clock.Clock {
|
|
|
85
85
|
|
|
86
86
|
sleep(duration: Duration.Duration): Effect.Effect<void> {
|
|
87
87
|
return core.async<void>((resume) => {
|
|
88
|
-
const canceler = globalClockScheduler.unsafeSchedule(() => resume(core.
|
|
89
|
-
return core.
|
|
88
|
+
const canceler = globalClockScheduler.unsafeSchedule(() => resume(core.void), duration)
|
|
89
|
+
return core.asVoid(core.sync(canceler))
|
|
90
90
|
})
|
|
91
91
|
}
|
|
92
92
|
}
|