effect 2.4.18 → 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/Readable/package.json +6 -0
- package/Record/package.json +6 -0
- package/RegExp/package.json +6 -0
- package/Subscribable/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/Duration.js +39 -2
- package/dist/cjs/Duration.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 +8 -7
- 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/Readable.js +79 -0
- package/dist/cjs/Readable.js.map +1 -0
- package/dist/cjs/{ReadonlyRecord.js → Record.js} +29 -29
- package/dist/cjs/Record.js.map +1 -0
- package/dist/cjs/RegExp.js +24 -0
- package/dist/cjs/RegExp.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/Subscribable.js +91 -0
- package/dist/cjs/Subscribable.js.map +1 -0
- package/dist/cjs/SubscriptionRef.js.map +1 -1
- package/dist/cjs/TestAnnotation.js +2 -1
- package/dist/cjs/TestAnnotation.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 +14 -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 +6 -5
- 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 +48 -49
- package/dist/cjs/internal/configProvider.js.map +1 -1
- package/dist/cjs/internal/core-effect.js +68 -40
- 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 +41 -114
- 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 +6 -1
- package/dist/cjs/internal/effect/circular.js.map +1 -1
- package/dist/cjs/internal/errors.js +13 -0
- package/dist/cjs/internal/errors.js.map +1 -0
- 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 +106 -66
- 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 +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/matcher.js +5 -4
- package/dist/cjs/internal/matcher.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/ref.js +6 -1
- package/dist/cjs/internal/ref.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/intervals.js +2 -1
- package/dist/cjs/internal/schedule/intervals.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/subscriptionRef.js +8 -0
- package/dist/cjs/internal/subscriptionRef.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 +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 +16 -0
- 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/Readable.d.ts +55 -0
- package/dist/dts/Readable.d.ts.map +1 -0
- package/dist/dts/{ReadonlyRecord.d.ts → Record.d.ts} +29 -30
- package/dist/dts/Record.d.ts.map +1 -0
- package/dist/dts/Ref.d.ts +2 -2
- package/dist/dts/Ref.d.ts.map +1 -1
- package/dist/dts/RegExp.d.ts +17 -0
- package/dist/dts/RegExp.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 +59 -0
- package/dist/dts/Subscribable.d.ts.map +1 -0
- package/dist/dts/SubscriptionRef.d.ts +2 -2
- package/dist/dts/SubscriptionRef.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 +22 -4
- 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/errors.d.ts +5 -0
- package/dist/dts/internal/errors.d.ts.map +1 -0
- 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/Duration.js +38 -1
- package/dist/esm/Duration.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 +7 -6
- 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/Readable.js +45 -0
- package/dist/esm/Readable.js.map +1 -0
- package/dist/esm/{ReadonlyRecord.js → Record.js} +29 -29
- package/dist/esm/Record.js.map +1 -0
- package/dist/esm/RegExp.js +17 -0
- package/dist/esm/RegExp.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/Subscribable.js +56 -0
- package/dist/esm/Subscribable.js.map +1 -0
- package/dist/esm/SubscriptionRef.js.map +1 -1
- package/dist/esm/TestAnnotation.js +2 -1
- package/dist/esm/TestAnnotation.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 +22 -4
- 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 +6 -5
- 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 +48 -49
- package/dist/esm/internal/configProvider.js.map +1 -1
- package/dist/esm/internal/core-effect.js +64 -38
- 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 +37 -108
- 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 +6 -1
- package/dist/esm/internal/effect/circular.js.map +1 -1
- package/dist/esm/internal/errors.js +6 -0
- package/dist/esm/internal/errors.js.map +1 -0
- 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 +104 -63
- 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 +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/matcher.js +4 -3
- package/dist/esm/internal/matcher.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/ref.js +6 -1
- package/dist/esm/internal/ref.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/intervals.js +2 -1
- package/dist/esm/internal/schedule/intervals.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/subscriptionRef.js +8 -0
- package/dist/esm/internal/subscriptionRef.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 +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 +45 -13
- 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/Duration.ts +54 -1
- 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 +8 -7
- 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/Readable.ts +92 -0
- package/src/{ReadonlyRecord.ts → Record.ts} +28 -29
- package/src/Ref.ts +2 -2
- package/src/RegExp.ts +17 -0
- 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/Subscribable.ts +99 -0
- package/src/SubscriptionRef.ts +2 -2
- package/src/TestAnnotation.ts +2 -1
- 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 +26 -4
- package/src/internal/{readonlyArray.ts → array.ts} +1 -1
- package/src/internal/cache.ts +40 -40
- package/src/internal/cause.ts +8 -8
- 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 +51 -55
- package/src/internal/core-effect.ts +149 -134
- package/src/internal/core-stream.ts +5 -2
- package/src/internal/core.ts +64 -200
- package/src/internal/dataSource.ts +19 -20
- package/src/internal/differ/readonlyArrayPatch.ts +6 -6
- package/src/internal/effect/circular.ts +9 -3
- package/src/internal/errors.ts +7 -0
- 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 +157 -123
- package/src/internal/groupBy.ts +4 -4
- package/src/internal/hashMap.ts +1 -2
- 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/matcher.ts +5 -3
- 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/ref.ts +8 -2
- package/src/internal/reloadable.ts +1 -1
- package/src/internal/runtime.ts +5 -5
- package/src/internal/schedule/intervals.ts +2 -1
- 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/subscriptionRef.ts +8 -0
- 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 +1 -2
- 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
|
@@ -95,7 +95,7 @@ export class ChannelExecutor {
|
|
|
95
95
|
}));
|
|
96
96
|
result = ChannelState.fromEffect(Effect.flatMap(Effect.forkDaemon(drainer()), fiber => Effect.sync(() => this.addFinalizer(exit => Effect.flatMap(Fiber.interrupt(fiber), () => Effect.suspend(() => {
|
|
97
97
|
const effect = this.restorePipe(exit, inputExecutor);
|
|
98
|
-
return effect !== undefined ? effect : Effect.
|
|
98
|
+
return effect !== undefined ? effect : Effect.void;
|
|
99
99
|
}))))));
|
|
100
100
|
}
|
|
101
101
|
break;
|
|
@@ -103,7 +103,7 @@ export class ChannelExecutor {
|
|
|
103
103
|
case ChannelOpCodes.OP_CONCAT_ALL:
|
|
104
104
|
{
|
|
105
105
|
const executor = new ChannelExecutor(this._currentChannel.value(), this._providedEnv, effect => Effect.sync(() => {
|
|
106
|
-
const prevLastClose = this._closeLastSubstream === undefined ? Effect.
|
|
106
|
+
const prevLastClose = this._closeLastSubstream === undefined ? Effect.void : this._closeLastSubstream;
|
|
107
107
|
this._closeLastSubstream = pipe(prevLastClose, Effect.zipRight(effect));
|
|
108
108
|
}));
|
|
109
109
|
executor._input = this._input;
|
|
@@ -116,7 +116,7 @@ export class ChannelExecutor {
|
|
|
116
116
|
case ChannelOpCodes.OP_EMIT:
|
|
117
117
|
{
|
|
118
118
|
this._emitted = this._currentChannel.out;
|
|
119
|
-
this._currentChannel = this._activeSubexecutor !== undefined ? undefined : core.
|
|
119
|
+
this._currentChannel = this._activeSubexecutor !== undefined ? undefined : core.void;
|
|
120
120
|
result = ChannelState.Emit();
|
|
121
121
|
break;
|
|
122
122
|
}
|
|
@@ -142,11 +142,11 @@ export class ChannelExecutor {
|
|
|
142
142
|
result = ChannelState.fromEffect(Effect.matchCauseEffect(effect, {
|
|
143
143
|
onFailure: cause => {
|
|
144
144
|
const state = this.doneHalt(cause);
|
|
145
|
-
return state !== undefined && ChannelState.isFromEffect(state) ? state.effect : Effect.
|
|
145
|
+
return state !== undefined && ChannelState.isFromEffect(state) ? state.effect : Effect.void;
|
|
146
146
|
},
|
|
147
147
|
onSuccess: value => {
|
|
148
148
|
const state = this.doneSucceed(value);
|
|
149
|
-
return state !== undefined && ChannelState.isFromEffect(state) ? state.effect : Effect.
|
|
149
|
+
return state !== undefined && ChannelState.isFromEffect(state) ? state.effect : Effect.void;
|
|
150
150
|
}
|
|
151
151
|
}));
|
|
152
152
|
break;
|
|
@@ -159,7 +159,7 @@ export class ChannelExecutor {
|
|
|
159
159
|
this._input = leftExec;
|
|
160
160
|
this.addFinalizer(exit => {
|
|
161
161
|
const effect = this.restorePipe(exit, previousInput);
|
|
162
|
-
return effect !== undefined ? effect : Effect.
|
|
162
|
+
return effect !== undefined ? effect : Effect.void;
|
|
163
163
|
});
|
|
164
164
|
this._currentChannel = this._currentChannel.right();
|
|
165
165
|
break;
|
|
@@ -247,7 +247,7 @@ export class ChannelExecutor {
|
|
|
247
247
|
}
|
|
248
248
|
next = this._doneStack.pop();
|
|
249
249
|
}
|
|
250
|
-
const effect = finalizers.length === 0 ? Effect.
|
|
250
|
+
const effect = finalizers.length === 0 ? Effect.void : runFinalizers(finalizers, exit);
|
|
251
251
|
this.storeInProgressFinalizer(effect);
|
|
252
252
|
return effect;
|
|
253
253
|
}
|
|
@@ -270,7 +270,7 @@ export class ChannelExecutor {
|
|
|
270
270
|
const effect = currInput.close(exit);
|
|
271
271
|
return effect;
|
|
272
272
|
}
|
|
273
|
-
return Effect.
|
|
273
|
+
return Effect.void;
|
|
274
274
|
}
|
|
275
275
|
close(exit) {
|
|
276
276
|
let runInProgressFinalizers = undefined;
|
|
@@ -403,10 +403,10 @@ export class ChannelExecutor {
|
|
|
403
403
|
onSuccess: value => this.doneSucceed(value)
|
|
404
404
|
});
|
|
405
405
|
this._activeSubexecutor = undefined;
|
|
406
|
-
return state === undefined ? Effect.
|
|
406
|
+
return state === undefined ? Effect.void : ChannelState.effect(state);
|
|
407
407
|
}
|
|
408
408
|
finishSubexecutorWithCloseEffect(subexecutorDone, ...closeFuncs) {
|
|
409
|
-
this.addFinalizer(() => pipe(closeFuncs, Effect.forEach(closeFunc => pipe(Effect.sync(() => closeFunc(subexecutorDone)), Effect.flatMap(closeEffect => closeEffect !== undefined ? closeEffect : Effect.
|
|
409
|
+
this.addFinalizer(() => pipe(closeFuncs, Effect.forEach(closeFunc => pipe(Effect.sync(() => closeFunc(subexecutorDone)), Effect.flatMap(closeEffect => closeEffect !== undefined ? closeEffect : Effect.void)), {
|
|
410
410
|
discard: true
|
|
411
411
|
})));
|
|
412
412
|
const state = pipe(subexecutorDone, Exit.match({
|
|
@@ -503,7 +503,7 @@ export class ChannelExecutor {
|
|
|
503
503
|
}
|
|
504
504
|
performPullFromUpstream(subexecutor) {
|
|
505
505
|
return ChannelState.Read(subexecutor.upstreamExecutor, effect => {
|
|
506
|
-
const closeLastSubstream = this._closeLastSubstream === undefined ? Effect.
|
|
506
|
+
const closeLastSubstream = this._closeLastSubstream === undefined ? Effect.void : this._closeLastSubstream;
|
|
507
507
|
this._closeLastSubstream = undefined;
|
|
508
508
|
return pipe(this._executeCloseLastSubstream(closeLastSubstream), Effect.zipRight(effect));
|
|
509
509
|
}, emitted => {
|
|
@@ -571,9 +571,9 @@ export class ChannelExecutor {
|
|
|
571
571
|
return undefined;
|
|
572
572
|
}
|
|
573
573
|
}
|
|
574
|
-
const ifNotNull = effect => effect !== undefined ? effect : Effect.
|
|
574
|
+
const ifNotNull = effect => effect !== undefined ? effect : Effect.void;
|
|
575
575
|
const runFinalizers = (finalizers, exit) => {
|
|
576
|
-
return pipe(Effect.forEach(finalizers, fin => Effect.exit(fin(exit))), Effect.map(exits => pipe(Exit.all(exits), Option.getOrElse(() => Exit.
|
|
576
|
+
return pipe(Effect.forEach(finalizers, fin => Effect.exit(fin(exit))), Effect.map(exits => pipe(Exit.all(exits), Option.getOrElse(() => Exit.void))), Effect.flatMap(exit => Effect.suspend(() => exit)));
|
|
577
577
|
};
|
|
578
578
|
/**
|
|
579
579
|
* @internal
|
|
@@ -632,7 +632,7 @@ export const readUpstream = (r, onSuccess, onFailure) => {
|
|
|
632
632
|
readStack.push(current);
|
|
633
633
|
return pipe(current.onEffect(state.effect), Effect.catchAllCause(cause => Effect.suspend(() => {
|
|
634
634
|
const doneEffect = current.onDone(Exit.failCause(cause));
|
|
635
|
-
return doneEffect === undefined ? Effect.
|
|
635
|
+
return doneEffect === undefined ? Effect.void : doneEffect;
|
|
636
636
|
})), Effect.matchCauseEffect({
|
|
637
637
|
onFailure,
|
|
638
638
|
onSuccess: () => read()
|
|
@@ -655,7 +655,7 @@ export const runScoped = self => {
|
|
|
655
655
|
const run = (channelDeferred, scopeDeferred, scope) => Effect.acquireUseRelease(Effect.sync(() => new ChannelExecutor(self, void 0, identity)), exec => Effect.suspend(() => pipe(runScopedInterpret(exec.run(), exec), Effect.intoDeferred(channelDeferred), Effect.zipRight(Deferred.await(channelDeferred)), Effect.zipLeft(Deferred.await(scopeDeferred)))), (exec, exit) => {
|
|
656
656
|
const finalize = exec.close(exit);
|
|
657
657
|
if (finalize === undefined) {
|
|
658
|
-
return Effect.
|
|
658
|
+
return Effect.void;
|
|
659
659
|
}
|
|
660
660
|
return Effect.tapErrorCause(finalize, cause => Scope.addFinalizer(scope, Effect.failCause(cause)));
|
|
661
661
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"channelExecutor.js","names":["Cause","Deferred","Effect","ExecutionStrategy","Exit","Fiber","identity","pipe","Option","Scope","core","ChannelOpCodes","ChildExecutorDecisionOpCodes","ChannelStateOpCodes","UpstreamPullStrategyOpCodes","ContinuationOpCodes","ChannelState","Continuation","Subexecutor","upstreamPullRequest","ChannelExecutor","_activeSubexecutor","undefined","_cancelled","_closeLastSubstream","_currentChannel","_done","_doneStack","_emitted","_executeCloseLastSubstream","_input","_inProgressFinalizer","_providedEnv","constructor","initialChannel","providedEnv","executeCloseLastSubstream","run","result","processCancellation","runSubexecutor","Done","isEffect","fromEffect","_tag","OP_BRACKET_OUT","runBracketOut","OP_BRIDGE","bridgeInput","input","channel","inputExecutor","drainer","flatMap","awaitRead","suspend","state","OP_DONE","match","getDone","onFailure","cause","error","onSuccess","value","done","OP_EMIT","emit","getEmit","OP_FROM_EFFECT","matchCauseEffect","effect","OP_READ","readUpstream","forkDaemon","fiber","sync","addFinalizer","exit","interrupt","restorePipe","unit","OP_CONCAT_ALL","executor","prevLastClose","zipRight","PullFromUpstream","k","x","y","combineInners","combineAll","request","onPull","onEmit","out","Emit","OP_ENSURING","runEnsuring","OP_FAIL","doneHalt","OP_FOLD","push","provide","isFromEffect","doneSucceed","OP_PIPE_TO","previousInput","leftExec","left","right","OP_PROVIDE","previousEnv","context","inner","read","Read","emitted","more","onExit","die","OP_SUCCEED","evaluate","OP_SUCCEED_NOW","terminal","OP_SUSPEND","failCause","cancelWith","clearInProgressFinalizer","storeInProgressFinalizer","finalizer","popAllFinalizers","finalizers","next","pop","length","runFinalizers","popNextFinalizers","builder","cont","OP_CONTINUATION_K","prev","currInput","close","runInProgressFinalizers","ensuring","closeSelf","selfFinalizers","closeSubexecutors","ifNotNull","zip","map","exit1","exit2","exit3","uninterruptible","succeed","head","reverse","finalizerEffect","f","onHalt","bracketOut","acquire","write","ContinuationFinalizerImpl","subexecutor","OP_PULL_FROM_CHILD","pullFromChild","childExecutor","parentSubexecutor","OP_PULL_FROM_UPSTREAM","pullFromUpstream","OP_DRAIN_CHILD_EXECUTORS","drainChildExecutors","replaceSubexecutor","nextSubExec","finishWithExit","finishSubexecutorWithCloseEffect","subexecutorDone","closeFuncs","forEach","closeFunc","closeEffect","discard","applyUpstreamPullStrategy","upstreamFinished","queue","strategy","OP_PULL_AFTER_NEXT","shouldPrepend","some","emitSeparator","OP_PULL_AFTER_ALL_ENQUEUED","shouldEnqueue","onEmitted","childExecutorDecision","OP_CONTINUE","OP_CLOSE","finishWithDoneValue","OP_YIELD","modifiedParent","enqueuePullFromChild","handleSubexecutorFailure","effectOrUndefinedIgnored","doneValue","upstreamExecutor","createChild","lastDone","combineChildResults","activeChildExecutors","combineWithChildResult","DrainChildExecutors","upstreamDone","performPullFromUpstream","activeChild","slice","PullFromChild","closeLastSubstream","updatedChildExecutors","Pulled","isSome","drain","a","lastClose","rest","remainingExecutors","NoUpstream","reduce","n","curr","fin","exits","all","getOrElse","r","readStack","current","upstream","dieMessage","emitEffect","doneEffect","onDone","onEffect","catchAllCause","self","runScoped","scoped","channelDeferred","scopeDeferred","scope","acquireUseRelease","exec","runScopedInterpret","intoDeferred","await","zipLeft","finalize","tapErrorCause","uninterruptibleMask","restore","parent","fork","sequential","make","child","forkScoped","inheritAll","channelState","op"],"sources":["../../../../src/internal/channel/channelExecutor.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"channelExecutor.js","names":["Cause","Deferred","Effect","ExecutionStrategy","Exit","Fiber","identity","pipe","Option","Scope","core","ChannelOpCodes","ChildExecutorDecisionOpCodes","ChannelStateOpCodes","UpstreamPullStrategyOpCodes","ContinuationOpCodes","ChannelState","Continuation","Subexecutor","upstreamPullRequest","ChannelExecutor","_activeSubexecutor","undefined","_cancelled","_closeLastSubstream","_currentChannel","_done","_doneStack","_emitted","_executeCloseLastSubstream","_input","_inProgressFinalizer","_providedEnv","constructor","initialChannel","providedEnv","executeCloseLastSubstream","run","result","processCancellation","runSubexecutor","Done","isEffect","fromEffect","_tag","OP_BRACKET_OUT","runBracketOut","OP_BRIDGE","bridgeInput","input","channel","inputExecutor","drainer","flatMap","awaitRead","suspend","state","OP_DONE","match","getDone","onFailure","cause","error","onSuccess","value","done","OP_EMIT","emit","getEmit","OP_FROM_EFFECT","matchCauseEffect","effect","OP_READ","readUpstream","forkDaemon","fiber","sync","addFinalizer","exit","interrupt","restorePipe","void","OP_CONCAT_ALL","executor","prevLastClose","zipRight","PullFromUpstream","k","x","y","combineInners","combineAll","request","onPull","onEmit","out","Emit","OP_ENSURING","runEnsuring","OP_FAIL","doneHalt","OP_FOLD","push","provide","isFromEffect","doneSucceed","OP_PIPE_TO","previousInput","leftExec","left","right","OP_PROVIDE","previousEnv","context","inner","read","Read","emitted","more","onExit","die","OP_SUCCEED","evaluate","OP_SUCCEED_NOW","terminal","OP_SUSPEND","failCause","cancelWith","clearInProgressFinalizer","storeInProgressFinalizer","finalizer","popAllFinalizers","finalizers","next","pop","length","runFinalizers","popNextFinalizers","builder","cont","OP_CONTINUATION_K","prev","currInput","close","runInProgressFinalizers","ensuring","closeSelf","selfFinalizers","closeSubexecutors","ifNotNull","zip","map","exit1","exit2","exit3","uninterruptible","succeed","head","reverse","finalizerEffect","f","onHalt","bracketOut","acquire","write","ContinuationFinalizerImpl","subexecutor","OP_PULL_FROM_CHILD","pullFromChild","childExecutor","parentSubexecutor","OP_PULL_FROM_UPSTREAM","pullFromUpstream","OP_DRAIN_CHILD_EXECUTORS","drainChildExecutors","replaceSubexecutor","nextSubExec","finishWithExit","finishSubexecutorWithCloseEffect","subexecutorDone","closeFuncs","forEach","closeFunc","closeEffect","discard","applyUpstreamPullStrategy","upstreamFinished","queue","strategy","OP_PULL_AFTER_NEXT","shouldPrepend","some","emitSeparator","OP_PULL_AFTER_ALL_ENQUEUED","shouldEnqueue","onEmitted","childExecutorDecision","OP_CONTINUE","OP_CLOSE","finishWithDoneValue","OP_YIELD","modifiedParent","enqueuePullFromChild","handleSubexecutorFailure","effectOrUndefinedIgnored","doneValue","upstreamExecutor","createChild","lastDone","combineChildResults","activeChildExecutors","combineWithChildResult","DrainChildExecutors","upstreamDone","performPullFromUpstream","activeChild","slice","PullFromChild","closeLastSubstream","updatedChildExecutors","Pulled","isSome","drain","a","lastClose","rest","remainingExecutors","NoUpstream","reduce","n","curr","fin","exits","all","getOrElse","r","readStack","current","upstream","dieMessage","emitEffect","doneEffect","onDone","onEffect","catchAllCause","self","runScoped","scoped","channelDeferred","scopeDeferred","scope","acquireUseRelease","exec","runScopedInterpret","intoDeferred","await","zipLeft","finalize","tapErrorCause","uninterruptibleMask","restore","parent","fork","sequential","make","child","forkScoped","inheritAll","channelState","op"],"sources":["../../../../src/internal/channel/channelExecutor.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -53,7 +53,7 @@ export const isFromEffect = self => self._tag === OpCodes.OP_FROM_EFFECT;
|
|
|
53
53
|
/** @internal */
|
|
54
54
|
export const isRead = self => self._tag === OpCodes.OP_READ;
|
|
55
55
|
/** @internal */
|
|
56
|
-
export const effect = self => isFromEffect(self) ? self.effect : Effect.
|
|
56
|
+
export const effect = self => isFromEffect(self) ? self.effect : Effect.void;
|
|
57
57
|
/** @internal */
|
|
58
58
|
export const effectOrUndefinedIgnored = self => isFromEffect(self) ? Effect.ignore(self.effect) : undefined;
|
|
59
59
|
//# sourceMappingURL=channelState.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"channelState.js","names":["Effect","hasProperty","OpCodes","ChannelStateTypeId","Symbol","for","channelStateVariance","_E","_","_R","proto","Done","op","Object","create","_tag","OP_DONE","Emit","OP_EMIT","fromEffect","effect","OP_FROM_EFFECT","Read","upstream","onEffect","onEmit","onDone","OP_READ","isChannelState","u","isDone","self","isEmit","isFromEffect","isRead","
|
|
1
|
+
{"version":3,"file":"channelState.js","names":["Effect","hasProperty","OpCodes","ChannelStateTypeId","Symbol","for","channelStateVariance","_E","_","_R","proto","Done","op","Object","create","_tag","OP_DONE","Emit","OP_EMIT","fromEffect","effect","OP_FROM_EFFECT","Read","upstream","onEffect","onEmit","onDone","OP_READ","isChannelState","u","isDone","self","isEmit","isFromEffect","isRead","void","effectOrUndefinedIgnored","ignore","undefined"],"sources":["../../../../src/internal/channel/channelState.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAO,KAAKA,MAAM,MAAM,iBAAiB;AAEzC,SAASC,WAAW,QAAQ,oBAAoB;AAEhD,OAAO,KAAKC,OAAO,MAAM,4BAA4B;AAGrD;AACA,OAAO,MAAMC,kBAAkB,gBAAGC,MAAM,CAACC,GAAG,CAAC,qBAAqB,CAAC;AAkBnE,MAAMC,oBAAoB,GAAG;EAC3B;EACAC,EAAE,EAAGC,CAAQ,IAAKA,CAAC;EACnB;EACAC,EAAE,EAAGD,CAAQ,IAAKA;CACnB;AAED;AACA,MAAME,KAAK,GAAG;EACZ,CAACP,kBAAkB,GAAGG;CACvB;AAqCD;AACA,OAAO,MAAMK,IAAI,GAAGA,CAAA,KAAiC;EACnD,MAAMC,EAAE,GAAGC,MAAM,CAACC,MAAM,CAACJ,KAAK,CAAC;EAC/BE,EAAE,CAACG,IAAI,GAAGb,OAAO,CAACc,OAAO;EACzB,OAAOJ,EAAE;AACX,CAAC;AAED;AACA,OAAO,MAAMK,IAAI,GAAGA,CAAA,KAAiC;EACnD,MAAML,EAAE,GAAGC,MAAM,CAACC,MAAM,CAACJ,KAAK,CAAC;EAC/BE,EAAE,CAACG,IAAI,GAAGb,OAAO,CAACgB,OAAO;EACzB,OAAON,EAAE;AACX,CAAC;AAED;AACA,OAAO,MAAMO,UAAU,GAAaC,MAA8B,IAAwB;EACxF,MAAMR,EAAE,GAAGC,MAAM,CAACC,MAAM,CAACJ,KAAK,CAAC;EAC/BE,EAAE,CAACG,IAAI,GAAGb,OAAO,CAACmB,cAAc;EAChCT,EAAE,CAACQ,MAAM,GAAGA,MAAM;EAClB,OAAOR,EAAE;AACX,CAAC;AAED;AACA,OAAO,MAAMU,IAAI,GAAGA,CAClBC,QAA2B,EAC3BC,QAAkF,EAClFC,MAAqE,EACrEC,MAAwF,KAC9D;EAC1B,MAAMd,EAAE,GAAGC,MAAM,CAACC,MAAM,CAACJ,KAAK,CAAC;EAC/BE,EAAE,CAACG,IAAI,GAAGb,OAAO,CAACyB,OAAO;EACzBf,EAAE,CAACW,QAAQ,GAAGA,QAAQ;EACtBX,EAAE,CAACY,QAAQ,GAAGA,QAAQ;EACtBZ,EAAE,CAACa,MAAM,GAAGA,MAAM;EAClBb,EAAE,CAACc,MAAM,GAAGA,MAAM;EAClB,OAAOd,EAAE;AACX,CAAC;AAED;AACA,OAAO,MAAMgB,cAAc,GAAIC,CAAU,IAA0C5B,WAAW,CAAC4B,CAAC,EAAE1B,kBAAkB,CAAC;AAErH;AACA,OAAO,MAAM2B,MAAM,GAAUC,IAAwB,IAAoBA,IAAkB,CAAChB,IAAI,KAAKb,OAAO,CAACc,OAAO;AAEpH;AACA,OAAO,MAAMgB,MAAM,GAAUD,IAAwB,IAAoBA,IAAkB,CAAChB,IAAI,KAAKb,OAAO,CAACgB,OAAO;AAEpH;AACA,OAAO,MAAMe,YAAY,GAAUF,IAAwB,IACxDA,IAAkB,CAAChB,IAAI,KAAKb,OAAO,CAACmB,cAAc;AAErD;AACA,OAAO,MAAMa,MAAM,GAAUH,IAAwB,IAAoBA,IAAkB,CAAChB,IAAI,KAAKb,OAAO,CAACyB,OAAO;AAEpH;AACA,OAAO,MAAMP,MAAM,GAAUW,IAAwB,IACnDE,YAAY,CAACF,IAAI,CAAC,GAAGA,IAAI,CAACX,MAAmC,GAAGpB,MAAM,CAACmC,IAAI;AAE7E;AACA,OAAO,MAAMC,wBAAwB,GAAUL,IAAwB,IACrEE,YAAY,CAACF,IAAI,CAAC,GAAG/B,MAAM,CAACqC,MAAM,CAACN,IAAI,CAACX,MAAmC,CAAC,GAAGkB,SAAS","ignoreList":[]}
|
|
@@ -40,7 +40,7 @@ class SingleProducerAsyncInputImpl {
|
|
|
40
40
|
this.ref = ref;
|
|
41
41
|
}
|
|
42
42
|
awaitRead() {
|
|
43
|
-
return Effect.flatten(Ref.modify(this.ref, state => state._tag === OP_STATE_EMPTY ? [Deferred.await(state.notifyProducer), state] : [Effect.
|
|
43
|
+
return Effect.flatten(Ref.modify(this.ref, state => state._tag === OP_STATE_EMPTY ? [Deferred.await(state.notifyProducer), state] : [Effect.void, state]));
|
|
44
44
|
}
|
|
45
45
|
get close() {
|
|
46
46
|
return Effect.fiberIdWith(fiberId => this.error(Cause.interrupt(fiberId)));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"singleProducerAsyncInput.js","names":["Cause","Deferred","Effect","Either","Exit","pipe","Ref","OP_STATE_EMPTY","OP_STATE_EMIT","OP_STATE_ERROR","OP_STATE_DONE","stateEmpty","notifyProducer","_tag","stateEmit","notifyConsumers","stateError","cause","stateDone","done","SingleProducerAsyncInputImpl","ref","constructor","awaitRead","flatten","modify","state","await","
|
|
1
|
+
{"version":3,"file":"singleProducerAsyncInput.js","names":["Cause","Deferred","Effect","Either","Exit","pipe","Ref","OP_STATE_EMPTY","OP_STATE_EMIT","OP_STATE_ERROR","OP_STATE_DONE","stateEmpty","notifyProducer","_tag","stateEmit","notifyConsumers","stateError","cause","stateDone","done","SingleProducerAsyncInputImpl","ref","constructor","awaitRead","flatten","modify","state","await","void","close","fiberIdWith","fiberId","error","interrupt","value","forEach","deferred","succeed","left","discard","emit","element","flatMap","make","notifyConsumer","slice","undefined","right","length","Error","failCause","take","takeWith","map","elem","fail","onError","onElement","onDone","zipRight","matchCause","onFailure","onSuccess","match","onLeft","onRight"],"sources":["../../../../src/internal/channel/singleProducerAsyncInput.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -26,11 +26,11 @@ import * as MergeStateOpCodes from "./opCodes/channelMergeState.js";
|
|
|
26
26
|
import * as ChannelStateOpCodes from "./opCodes/channelState.js";
|
|
27
27
|
import * as tracer from "./tracer.js";
|
|
28
28
|
/** @internal */
|
|
29
|
-
export const acquireUseRelease = (acquire, use, release) => core.flatMap(core.fromEffect(Ref.make(() => Effect.
|
|
29
|
+
export const acquireUseRelease = (acquire, use, release) => core.flatMap(core.fromEffect(Ref.make(() => Effect.void)), ref => pipe(core.fromEffect(Effect.uninterruptible(Effect.tap(acquire, a => Ref.set(ref, exit => release(a, exit))))), core.flatMap(use), core.ensuringWith(exit => Effect.flatMap(Ref.get(ref), f => f(exit)))));
|
|
30
30
|
/** @internal */
|
|
31
31
|
export const as = /*#__PURE__*/dual(2, (self, value) => map(self, () => value));
|
|
32
32
|
/** @internal */
|
|
33
|
-
export const
|
|
33
|
+
export const asVoid = self => map(self, constVoid);
|
|
34
34
|
/** @internal */
|
|
35
35
|
export const buffer = options => core.suspend(() => {
|
|
36
36
|
const doBuffer = (empty, isEmpty, ref) => unwrap(Ref.modify(ref, inElem => isEmpty(inElem) ? [core.readWith({
|
|
@@ -253,12 +253,12 @@ export const mapOutEffectPar = /*#__PURE__*/dual(3, (self, f, n) => pipe(Effect.
|
|
|
253
253
|
onSuccess: either => Either.match(either, {
|
|
254
254
|
onLeft: outDone => {
|
|
255
255
|
const lock = withPermits(n);
|
|
256
|
-
return Effect.zipRight(Effect.interruptible(lock(Effect.
|
|
256
|
+
return Effect.zipRight(Effect.interruptible(lock(Effect.void)), Effect.asVoid(Queue.offer(queue, Effect.succeed(Either.left(outDone)))));
|
|
257
257
|
},
|
|
258
258
|
onRight: outElem => Effect.gen(function* ($) {
|
|
259
259
|
const deferred = yield* $(Deferred.make());
|
|
260
260
|
const latch = yield* $(Deferred.make());
|
|
261
|
-
yield* $(Effect.
|
|
261
|
+
yield* $(Effect.asVoid(Queue.offer(queue, Effect.map(Deferred.await(deferred), Either.right))));
|
|
262
262
|
yield* $(Deferred.succeed(latch, void 0), Effect.zipRight(pipe(Effect.uninterruptibleMask(restore => pipe(Effect.exit(restore(Deferred.await(errorSignal))), Effect.raceFirst(Effect.exit(restore(f(outElem)))),
|
|
263
263
|
// TODO: remove
|
|
264
264
|
Effect.flatMap(exit => Effect.suspend(() => exit)))), Effect.tapErrorCause(cause => Deferred.failCause(errorSignal, cause)), Effect.intoDeferred(deferred))), withPermits(1), Effect.forkScoped);
|
|
@@ -312,11 +312,11 @@ export const mergeAllWith = ({
|
|
|
312
312
|
}), Effect.flatMap(outDone => Ref.update(lastDone, Option.match({
|
|
313
313
|
onNone: () => Option.some(outDone.value),
|
|
314
314
|
onSome: lastDone => Option.some(f(lastDone, outDone.value))
|
|
315
|
-
}))), Effect.catchAllCause(cause => Cause.isInterrupted(cause) ? Effect.failCause(cause) : pipe(Queue.offer(queue, Effect.failCause(cause)), Effect.zipRight(Deferred.succeed(errorSignal, void 0)), Effect.
|
|
315
|
+
}))), Effect.catchAllCause(cause => Cause.isInterrupted(cause) ? Effect.failCause(cause) : pipe(Queue.offer(queue, Effect.failCause(cause)), Effect.zipRight(Deferred.succeed(errorSignal, void 0)), Effect.asVoid)));
|
|
316
316
|
yield* $(Effect.matchCauseEffect(pull, {
|
|
317
317
|
onFailure: cause => pipe(Queue.offer(queue, Effect.failCause(cause)), Effect.zipRight(Effect.succeed(false))),
|
|
318
318
|
onSuccess: Either.match({
|
|
319
|
-
onLeft: outDone => Effect.raceWith(Effect.interruptible(Deferred.await(errorSignal)), Effect.interruptible(withPermits(concurrencyN)(Effect.
|
|
319
|
+
onLeft: outDone => Effect.raceWith(Effect.interruptible(Deferred.await(errorSignal)), Effect.interruptible(withPermits(concurrencyN)(Effect.void)), {
|
|
320
320
|
onSelfDone: (_, permitAcquisition) => Effect.as(Fiber.interrupt(permitAcquisition), false),
|
|
321
321
|
onOtherDone: (_, failureAwait) => Effect.zipRight(Fiber.interrupt(failureAwait), pipe(Ref.get(lastDone), Effect.flatMap(Option.match({
|
|
322
322
|
onNone: () => Queue.offer(queue, Effect.succeed(Either.left(outDone))),
|
|
@@ -570,7 +570,7 @@ export const toPubSub = pubsub => toQueue(pubsub);
|
|
|
570
570
|
/** @internal */
|
|
571
571
|
export const toPull = self => Effect.map(Effect.acquireRelease(Effect.sync(() => new executor.ChannelExecutor(self, void 0, identity)), (exec, exit) => {
|
|
572
572
|
const finalize = exec.close(exit);
|
|
573
|
-
return finalize === undefined ? Effect.
|
|
573
|
+
return finalize === undefined ? Effect.void : finalize;
|
|
574
574
|
}), exec => Effect.suspend(() => interpretToPull(exec.run(), exec)));
|
|
575
575
|
/** @internal */
|
|
576
576
|
const interpretToPull = (channelState, exec) => {
|
|
@@ -621,7 +621,7 @@ export const writeAll = (...outs) => writeChunk(Chunk.fromIterable(outs));
|
|
|
621
621
|
export const writeChunk = outs => writeChunkWriter(0, outs.length, outs);
|
|
622
622
|
/** @internal */
|
|
623
623
|
const writeChunkWriter = (idx, len, chunk) => {
|
|
624
|
-
return idx === len ? core.
|
|
624
|
+
return idx === len ? core.void : pipe(core.write(pipe(chunk, Chunk.unsafeGet(idx))), core.flatMap(() => writeChunkWriter(idx + 1, len, chunk)));
|
|
625
625
|
};
|
|
626
626
|
/** @internal */
|
|
627
627
|
export const zip = /*#__PURE__*/dual(args => core.isChannel(args[1]), (self, that, options) => options?.concurrent ? mergeWith(self, {
|