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
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import * as RA from "../Array.js";
|
|
1
2
|
import * as Boolean from "../Boolean.js";
|
|
2
3
|
import * as Chunk from "../Chunk.js";
|
|
3
4
|
import * as Context from "../Context.js";
|
|
@@ -18,7 +19,6 @@ import * as MRef from "../MutableRef.js";
|
|
|
18
19
|
import * as Option from "../Option.js";
|
|
19
20
|
import { pipeArguments } from "../Pipeable.js";
|
|
20
21
|
import * as Predicate from "../Predicate.js";
|
|
21
|
-
import * as RA from "../ReadonlyArray.js";
|
|
22
22
|
import * as Ref from "../Ref.js";
|
|
23
23
|
import * as RuntimeFlagsPatch from "../RuntimeFlagsPatch.js";
|
|
24
24
|
import { currentScheduler } from "../Scheduler.js";
|
|
@@ -113,7 +113,7 @@ const contOpSuccess = {
|
|
|
113
113
|
self.pushStack(cont);
|
|
114
114
|
return cont.effect_instruction_i1();
|
|
115
115
|
} else {
|
|
116
|
-
return core.
|
|
116
|
+
return core.void;
|
|
117
117
|
}
|
|
118
118
|
}
|
|
119
119
|
};
|
|
@@ -561,7 +561,7 @@ export class FiberRuntime {
|
|
|
561
561
|
const body = () => {
|
|
562
562
|
const next = it.next();
|
|
563
563
|
if (!next.done) {
|
|
564
|
-
return core.
|
|
564
|
+
return core.asVoid(next.value.await);
|
|
565
565
|
} else {
|
|
566
566
|
return core.sync(() => {
|
|
567
567
|
isDone = true;
|
|
@@ -700,10 +700,10 @@ export class FiberRuntime {
|
|
|
700
700
|
if (op._op === OpCodes.OP_YIELD) {
|
|
701
701
|
if (_runtimeFlags.cooperativeYielding(this._runtimeFlags)) {
|
|
702
702
|
this.tell(FiberMessage.yieldNow());
|
|
703
|
-
this.tell(FiberMessage.resume(core.
|
|
703
|
+
this.tell(FiberMessage.resume(core.exitVoid));
|
|
704
704
|
effect = null;
|
|
705
705
|
} else {
|
|
706
|
-
effect = core.
|
|
706
|
+
effect = core.exitVoid;
|
|
707
707
|
}
|
|
708
708
|
} else if (op._op === OpCodes.OP_ASYNC) {
|
|
709
709
|
// Terminate this evaluation, async resumption will continue evaluation:
|
|
@@ -982,7 +982,7 @@ export class FiberRuntime {
|
|
|
982
982
|
this.pushStack(new core.RevertFlags(revertFlags, op));
|
|
983
983
|
return op.effect_instruction_i1(oldRuntimeFlags);
|
|
984
984
|
} else {
|
|
985
|
-
return core.
|
|
985
|
+
return core.exitVoid;
|
|
986
986
|
}
|
|
987
987
|
}
|
|
988
988
|
}
|
|
@@ -1020,7 +1020,7 @@ export class FiberRuntime {
|
|
|
1020
1020
|
this.pushStack(op);
|
|
1021
1021
|
return body();
|
|
1022
1022
|
} else {
|
|
1023
|
-
return core.
|
|
1023
|
+
return core.exitVoid;
|
|
1024
1024
|
}
|
|
1025
1025
|
}
|
|
1026
1026
|
[OpCodes.OP_COMMIT](op) {
|
|
@@ -1151,7 +1151,7 @@ export const batchedLogger = /*#__PURE__*/dual(3, (self, window, f) => core.flat
|
|
|
1151
1151
|
let buffer = [];
|
|
1152
1152
|
const flush = core.suspend(() => {
|
|
1153
1153
|
if (buffer.length === 0) {
|
|
1154
|
-
return core.
|
|
1154
|
+
return core.void;
|
|
1155
1155
|
}
|
|
1156
1156
|
const arr = buffer;
|
|
1157
1157
|
buffer = [];
|
|
@@ -1191,8 +1191,8 @@ export const daemonChildren = self => {
|
|
|
1191
1191
|
const _existsParFound = /*#__PURE__*/Symbol.for("effect/Effect/existsPar/found");
|
|
1192
1192
|
/* @internal */
|
|
1193
1193
|
export const exists = /*#__PURE__*/dual(args => Predicate.isIterable(args[0]), (elements, f, options) => concurrency.matchSimple(options?.concurrency, () => core.suspend(() => existsLoop(elements[Symbol.iterator](), 0, f)), () => core.matchEffect(forEach(elements, (a, i) => core.if_(f(a, i), {
|
|
1194
|
-
onTrue: core.fail(_existsParFound),
|
|
1195
|
-
onFalse: core.
|
|
1194
|
+
onTrue: () => core.fail(_existsParFound),
|
|
1195
|
+
onFalse: () => core.void
|
|
1196
1196
|
}), options), {
|
|
1197
1197
|
onFailure: e => e === _existsParFound ? core.succeed(true) : core.fail(e),
|
|
1198
1198
|
onSuccess: () => core.succeed(false)
|
|
@@ -1252,7 +1252,7 @@ const allValidate = (effects, reconcile, options) => {
|
|
|
1252
1252
|
if (errored) {
|
|
1253
1253
|
return reconcile._tag === "Some" ? core.fail(reconcile.value(errors)) : core.fail(errors);
|
|
1254
1254
|
} else if (options?.discard) {
|
|
1255
|
-
return core.
|
|
1255
|
+
return core.void;
|
|
1256
1256
|
}
|
|
1257
1257
|
return reconcile._tag === "Some" ? core.succeed(reconcile.value(successes)) : core.succeed(successes);
|
|
1258
1258
|
});
|
|
@@ -1314,7 +1314,7 @@ export const forEachConcurrentDiscard = (self, f, batching, processAll, n) => co
|
|
|
1314
1314
|
let todos = Array.from(self).reverse();
|
|
1315
1315
|
let target = todos.length;
|
|
1316
1316
|
if (target === 0) {
|
|
1317
|
-
return core.
|
|
1317
|
+
return core.void;
|
|
1318
1318
|
}
|
|
1319
1319
|
let counter = 0;
|
|
1320
1320
|
let interrupted = false;
|
|
@@ -1336,7 +1336,7 @@ export const forEachConcurrentDiscard = (self, f, batching, processAll, n) => co
|
|
|
1336
1336
|
exit
|
|
1337
1337
|
}) => exit);
|
|
1338
1338
|
if (exits.length === 0) {
|
|
1339
|
-
exits.push(core.
|
|
1339
|
+
exits.push(core.exitVoid);
|
|
1340
1340
|
}
|
|
1341
1341
|
return exits;
|
|
1342
1342
|
};
|
|
@@ -1414,12 +1414,12 @@ export const forEachConcurrentDiscard = (self, f, batching, processAll, n) => co
|
|
|
1414
1414
|
if (results.length === target) {
|
|
1415
1415
|
resume(core.succeed(Option.getOrElse(core.exitCollectAll(collectExits(), {
|
|
1416
1416
|
parallel: true
|
|
1417
|
-
}), () => core.
|
|
1417
|
+
}), () => core.exitVoid)));
|
|
1418
1418
|
} else if (residual.length + results.length === target) {
|
|
1419
1419
|
const requests = residual.map(blocked => blocked.effect_instruction_i0).reduce(_RequestBlock.par);
|
|
1420
1420
|
resume(core.succeed(core.blocked(requests, forEachConcurrentDiscard([Option.getOrElse(core.exitCollectAll(collectExits(), {
|
|
1421
1421
|
parallel: true
|
|
1422
|
-
}), () => core.
|
|
1422
|
+
}), () => core.exitVoid), ...residual.map(blocked => blocked.effect_instruction_i1)], i => i, batching, true, n))));
|
|
1423
1423
|
} else {
|
|
1424
1424
|
next();
|
|
1425
1425
|
}
|
|
@@ -1430,7 +1430,7 @@ export const forEachConcurrentDiscard = (self, f, batching, processAll, n) => co
|
|
|
1430
1430
|
next();
|
|
1431
1431
|
}
|
|
1432
1432
|
}));
|
|
1433
|
-
return core.
|
|
1433
|
+
return core.asVoid(core.onExit(core.flatten(restore(internalFiber.join(processingFiber))), core.exitMatch({
|
|
1434
1434
|
onFailure: () => {
|
|
1435
1435
|
onInterruptSignal();
|
|
1436
1436
|
const target = residual.length + 1;
|
|
@@ -1522,7 +1522,7 @@ export const partition = /*#__PURE__*/dual(args => Predicate.isIterable(args[0])
|
|
|
1522
1522
|
export const validateAll = /*#__PURE__*/dual(args => Predicate.isIterable(args[0]), (elements, f, options) => core.flatMap(partition(elements, f, {
|
|
1523
1523
|
concurrency: options?.concurrency,
|
|
1524
1524
|
batching: options?.batching
|
|
1525
|
-
}), ([es, bs]) => es.length === 0 ? options?.discard ? core.
|
|
1525
|
+
}), ([es, bs]) => es.length === 0 ? options?.discard ? core.void : core.succeed(bs) : core.fail(es)));
|
|
1526
1526
|
/* @internal */
|
|
1527
1527
|
export const raceAll = all => {
|
|
1528
1528
|
const list = Chunk.fromIterable(all);
|
|
@@ -1532,11 +1532,11 @@ export const raceAll = all => {
|
|
|
1532
1532
|
const self = Chunk.headNonEmpty(list);
|
|
1533
1533
|
const effects = Chunk.tailNonEmpty(list);
|
|
1534
1534
|
const inheritAll = res => pipe(internalFiber.inheritAll(res[1]), core.as(res[0]));
|
|
1535
|
-
return pipe(core.deferredMake(), core.flatMap(done => pipe(Ref.make(effects.length), core.flatMap(fails => core.uninterruptibleMask(restore => pipe(fork(core.interruptible(self)), core.flatMap(head => pipe(effects, core.forEachSequential(effect => fork(core.interruptible(effect))), core.map(fibers => Chunk.unsafeFromArray(fibers)), core.map(tail => pipe(tail, Chunk.prepend(head))), core.tap(fibers => pipe(fibers, RA.reduce(core.
|
|
1535
|
+
return pipe(core.deferredMake(), core.flatMap(done => pipe(Ref.make(effects.length), core.flatMap(fails => core.uninterruptibleMask(restore => pipe(fork(core.interruptible(self)), core.flatMap(head => pipe(effects, core.forEachSequential(effect => fork(core.interruptible(effect))), core.map(fibers => Chunk.unsafeFromArray(fibers)), core.map(tail => pipe(tail, Chunk.prepend(head))), core.tap(fibers => pipe(fibers, RA.reduce(core.void, (effect, fiber) => pipe(effect, core.zipRight(pipe(internalFiber._await(fiber), core.flatMap(raceAllArbiter(fibers, fiber, done, fails)), fork, core.asVoid)))))), core.flatMap(fibers => pipe(restore(pipe(Deferred.await(done), core.flatMap(inheritAll))), core.onInterrupt(() => pipe(fibers, RA.reduce(core.void, (effect, fiber) => pipe(effect, core.zipLeft(core.interruptFiber(fiber))))))))))))))));
|
|
1536
1536
|
};
|
|
1537
1537
|
const raceAllArbiter = (fibers, winner, deferred, fails) => exit => core.exitMatchEffect(exit, {
|
|
1538
|
-
onFailure: cause => pipe(Ref.modify(fails, fails => [fails === 0 ? pipe(core.deferredFailCause(deferred, cause), core.
|
|
1539
|
-
onSuccess: value => pipe(core.deferredSucceed(deferred, [value, winner]), core.flatMap(set => set ? pipe(Chunk.fromIterable(fibers), RA.reduce(core.
|
|
1538
|
+
onFailure: cause => pipe(Ref.modify(fails, fails => [fails === 0 ? pipe(core.deferredFailCause(deferred, cause), core.asVoid) : core.void, fails - 1]), core.flatten),
|
|
1539
|
+
onSuccess: value => pipe(core.deferredSucceed(deferred, [value, winner]), core.flatMap(set => set ? pipe(Chunk.fromIterable(fibers), RA.reduce(core.void, (effect, fiber) => fiber === winner ? effect : pipe(effect, core.zipLeft(core.interruptFiber(fiber))))) : core.void))
|
|
1540
1540
|
});
|
|
1541
1541
|
/* @internal */
|
|
1542
1542
|
export const reduceEffect = /*#__PURE__*/dual(args => Predicate.isIterable(args[0]), (elements, zero, f, options) => concurrency.matchSimple(options?.concurrency, () => RA.fromIterable(elements).reduce((acc, a, i) => core.zipWith(acc, a, (acc, a) => f(acc, a, i)), zero), () => core.suspend(() => pipe(mergeAll([zero, ...elements], Option.none(), (acc, elem, i) => {
|
|
@@ -1603,7 +1603,7 @@ export const finalizersMask = strategy => self => core.contextWithEffect(context
|
|
|
1603
1603
|
/* @internal */
|
|
1604
1604
|
export const scopeWith = f => core.flatMap(scopeTag, f);
|
|
1605
1605
|
/* @internal */
|
|
1606
|
-
export const scopedEffect = effect => core.flatMap(scopeMake(), scope => scopeUse(scope)
|
|
1606
|
+
export const scopedEffect = effect => core.flatMap(scopeMake(), scope => scopeUse(effect, scope));
|
|
1607
1607
|
/* @internal */
|
|
1608
1608
|
export const sequentialFinalizers = self => core.contextWithEffect(context => Option.match(Context.getOption(context, scopeTag), {
|
|
1609
1609
|
onNone: () => self,
|
|
@@ -1633,7 +1633,7 @@ export const validateWith = /*#__PURE__*/dual(args => core.isEffect(args[1]), (s
|
|
|
1633
1633
|
/* @internal */
|
|
1634
1634
|
export const validateAllPar = /*#__PURE__*/dual(2, (elements, f) => core.flatMap(partition(elements, f), ([es, bs]) => es.length === 0 ? core.succeed(bs) : core.fail(es)));
|
|
1635
1635
|
/* @internal */
|
|
1636
|
-
export const validateAllParDiscard = /*#__PURE__*/dual(2, (elements, f) => core.flatMap(partition(elements, f), ([es, _]) => es.length === 0 ? core.
|
|
1636
|
+
export const validateAllParDiscard = /*#__PURE__*/dual(2, (elements, f) => core.flatMap(partition(elements, f), ([es, _]) => es.length === 0 ? core.void : core.fail(es)));
|
|
1637
1637
|
/* @internal */
|
|
1638
1638
|
export const validateFirst = /*#__PURE__*/dual(args => Predicate.isIterable(args[0]), (elements, f, options) => core.flip(forEach(elements, (a, i) => core.flip(f(a, i)), options)));
|
|
1639
1639
|
/* @internal */
|
|
@@ -1668,58 +1668,88 @@ export const zipWithOptions = /*#__PURE__*/dual(args => core.isEffect(args[1]),
|
|
|
1668
1668
|
/* @internal */
|
|
1669
1669
|
export const withRuntimeFlagsScoped = update => {
|
|
1670
1670
|
if (update === RuntimeFlagsPatch.empty) {
|
|
1671
|
-
return core.
|
|
1671
|
+
return core.void;
|
|
1672
1672
|
}
|
|
1673
1673
|
return pipe(core.runtimeFlags, core.flatMap(runtimeFlags => {
|
|
1674
1674
|
const updatedRuntimeFlags = _runtimeFlags.patch(runtimeFlags, update);
|
|
1675
1675
|
const revertRuntimeFlags = _runtimeFlags.diff(updatedRuntimeFlags, runtimeFlags);
|
|
1676
|
-
return pipe(core.updateRuntimeFlags(update), core.zipRight(addFinalizer(() => core.updateRuntimeFlags(revertRuntimeFlags))), core.
|
|
1676
|
+
return pipe(core.updateRuntimeFlags(update), core.zipRight(addFinalizer(() => core.updateRuntimeFlags(revertRuntimeFlags))), core.asVoid);
|
|
1677
1677
|
}), core.uninterruptible);
|
|
1678
1678
|
};
|
|
1679
|
-
// circular with ReleaseMap
|
|
1680
|
-
/* @internal */
|
|
1681
|
-
export const releaseMapReleaseAll = (strategy, exit) => self => core.suspend(() => {
|
|
1682
|
-
switch (self.state._tag) {
|
|
1683
|
-
case "Exited":
|
|
1684
|
-
{
|
|
1685
|
-
return core.unit;
|
|
1686
|
-
}
|
|
1687
|
-
case "Running":
|
|
1688
|
-
{
|
|
1689
|
-
const finalizersMap = self.state.finalizers;
|
|
1690
|
-
const update = self.state.update;
|
|
1691
|
-
const finalizers = Array.from(finalizersMap.keys()).sort((a, b) => b - a).map(key => finalizersMap.get(key));
|
|
1692
|
-
self.state = {
|
|
1693
|
-
_tag: "Exited",
|
|
1694
|
-
nextKey: self.state.nextKey,
|
|
1695
|
-
exit,
|
|
1696
|
-
update
|
|
1697
|
-
};
|
|
1698
|
-
return executionStrategy.isSequential(strategy) ? pipe(finalizers, core.forEachSequential(fin => core.exit(update(fin)(exit))), core.flatMap(results => pipe(core.exitCollectAll(results), Option.map(core.exitAsUnit), Option.getOrElse(() => core.exitUnit)))) : executionStrategy.isParallel(strategy) ? pipe(forEachParUnbounded(finalizers, fin => core.exit(update(fin)(exit)), false), core.flatMap(results => pipe(core.exitCollectAll(results, {
|
|
1699
|
-
parallel: true
|
|
1700
|
-
}), Option.map(core.exitAsUnit), Option.getOrElse(() => core.exitUnit)))) : pipe(forEachParN(finalizers, strategy.parallelism, fin => core.exit(update(fin)(exit)), false), core.flatMap(results => pipe(core.exitCollectAll(results, {
|
|
1701
|
-
parallel: true
|
|
1702
|
-
}), Option.map(core.exitAsUnit), Option.getOrElse(() => core.exitUnit))));
|
|
1703
|
-
}
|
|
1704
|
-
}
|
|
1705
|
-
});
|
|
1706
1679
|
// circular with Scope
|
|
1707
1680
|
/** @internal */
|
|
1708
1681
|
export const scopeTag = /*#__PURE__*/Context.GenericTag("effect/Scope");
|
|
1709
1682
|
/* @internal */
|
|
1710
1683
|
export const scope = scopeTag;
|
|
1711
|
-
|
|
1712
|
-
|
|
1684
|
+
const scopeUnsafeAddFinalizer = (scope, fin) => {
|
|
1685
|
+
if (scope.state._tag === "Open") {
|
|
1686
|
+
scope.state.finalizers.add(fin);
|
|
1687
|
+
}
|
|
1688
|
+
};
|
|
1689
|
+
const ScopeImplProto = {
|
|
1713
1690
|
[core.ScopeTypeId]: core.ScopeTypeId,
|
|
1714
1691
|
[core.CloseableScopeTypeId]: core.CloseableScopeTypeId,
|
|
1715
|
-
strategy,
|
|
1716
1692
|
pipe() {
|
|
1717
1693
|
return pipeArguments(this, arguments);
|
|
1718
1694
|
},
|
|
1719
|
-
fork
|
|
1720
|
-
|
|
1721
|
-
|
|
1722
|
-
|
|
1695
|
+
fork(strategy) {
|
|
1696
|
+
return core.sync(() => {
|
|
1697
|
+
const newScope = scopeUnsafeMake(strategy);
|
|
1698
|
+
if (this.state._tag === "Closed") {
|
|
1699
|
+
newScope.state = this.state;
|
|
1700
|
+
return newScope;
|
|
1701
|
+
}
|
|
1702
|
+
const fin = exit => newScope.close(exit);
|
|
1703
|
+
this.state.finalizers.add(fin);
|
|
1704
|
+
scopeUnsafeAddFinalizer(newScope, _ => core.sync(() => {
|
|
1705
|
+
if (this.state._tag === "Open") {
|
|
1706
|
+
this.state.finalizers.delete(fin);
|
|
1707
|
+
}
|
|
1708
|
+
}));
|
|
1709
|
+
return newScope;
|
|
1710
|
+
});
|
|
1711
|
+
},
|
|
1712
|
+
close(exit) {
|
|
1713
|
+
return core.suspend(() => {
|
|
1714
|
+
if (this.state._tag === "Closed") {
|
|
1715
|
+
return core.void;
|
|
1716
|
+
}
|
|
1717
|
+
const finalizers = Array.from(this.state.finalizers.values()).reverse();
|
|
1718
|
+
this.state = {
|
|
1719
|
+
_tag: "Closed",
|
|
1720
|
+
exit
|
|
1721
|
+
};
|
|
1722
|
+
if (finalizers.length === 0) {
|
|
1723
|
+
return core.void;
|
|
1724
|
+
}
|
|
1725
|
+
return executionStrategy.isSequential(this.strategy) ? pipe(core.forEachSequential(finalizers, fin => core.exit(fin(exit))), core.flatMap(results => pipe(core.exitCollectAll(results), Option.map(core.exitAsVoid), Option.getOrElse(() => core.exitVoid)))) : executionStrategy.isParallel(this.strategy) ? pipe(forEachParUnbounded(finalizers, fin => core.exit(fin(exit)), false), core.flatMap(results => pipe(core.exitCollectAll(results, {
|
|
1726
|
+
parallel: true
|
|
1727
|
+
}), Option.map(core.exitAsVoid), Option.getOrElse(() => core.exitVoid)))) : pipe(forEachParN(finalizers, this.strategy.parallelism, fin => core.exit(fin(exit)), false), core.flatMap(results => pipe(core.exitCollectAll(results, {
|
|
1728
|
+
parallel: true
|
|
1729
|
+
}), Option.map(core.exitAsVoid), Option.getOrElse(() => core.exitVoid))));
|
|
1730
|
+
});
|
|
1731
|
+
},
|
|
1732
|
+
addFinalizer(fin) {
|
|
1733
|
+
return core.suspend(() => {
|
|
1734
|
+
if (this.state._tag === "Closed") {
|
|
1735
|
+
return fin(this.state.exit);
|
|
1736
|
+
}
|
|
1737
|
+
this.state.finalizers.add(fin);
|
|
1738
|
+
return core.void;
|
|
1739
|
+
});
|
|
1740
|
+
}
|
|
1741
|
+
};
|
|
1742
|
+
const scopeUnsafeMake = (strategy = executionStrategy.sequential) => {
|
|
1743
|
+
const scope = Object.create(ScopeImplProto);
|
|
1744
|
+
scope.strategy = strategy;
|
|
1745
|
+
scope.state = {
|
|
1746
|
+
_tag: "Open",
|
|
1747
|
+
finalizers: new Set()
|
|
1748
|
+
};
|
|
1749
|
+
return scope;
|
|
1750
|
+
};
|
|
1751
|
+
/* @internal */
|
|
1752
|
+
export const scopeMake = (strategy = executionStrategy.sequential) => core.sync(() => scopeUnsafeMake(strategy));
|
|
1723
1753
|
/* @internal */
|
|
1724
1754
|
export const scopeExtend = /*#__PURE__*/dual(2, (effect, scope) => core.mapInputContext(effect,
|
|
1725
1755
|
// @ts-expect-error
|
|
@@ -1734,7 +1764,7 @@ export const fiberRefUnsafeMakeSupervisor = initial => core.fiberRefUnsafeMakePa
|
|
|
1734
1764
|
});
|
|
1735
1765
|
// circular with FiberRef
|
|
1736
1766
|
/* @internal */
|
|
1737
|
-
export const fiberRefLocallyScoped = /*#__PURE__*/dual(2, (self, value) => core.
|
|
1767
|
+
export const fiberRefLocallyScoped = /*#__PURE__*/dual(2, (self, value) => core.asVoid(acquireRelease(core.flatMap(core.fiberRefGet(self), oldValue => core.as(core.fiberRefSet(self, value), oldValue)), oldValue => core.fiberRefSet(self, oldValue))));
|
|
1738
1768
|
/* @internal */
|
|
1739
1769
|
export const fiberRefLocallyScopedWith = /*#__PURE__*/dual(2, (self, f) => core.fiberRefGetWith(self, a => fiberRefLocallyScoped(self, f(a))));
|
|
1740
1770
|
/* @internal */
|
|
@@ -1751,7 +1781,7 @@ export const currentRuntimeFlags = /*#__PURE__*/core.fiberRefUnsafeMakeRuntimeFl
|
|
|
1751
1781
|
export const currentSupervisor = /*#__PURE__*/fiberRefUnsafeMakeSupervisor(supervisor.none);
|
|
1752
1782
|
// circular with Fiber
|
|
1753
1783
|
/* @internal */
|
|
1754
|
-
export const fiberAwaitAll = fibers => core.
|
|
1784
|
+
export const fiberAwaitAll = fibers => core.asVoid(internalFiber._await(fiberAll(fibers)));
|
|
1755
1785
|
/** @internal */
|
|
1756
1786
|
export const fiberAll = fibers => ({
|
|
1757
1787
|
[internalFiber.FiberTypeId]: internalFiber.fiberVariance,
|
|
@@ -1789,9 +1819,9 @@ export const fiberAll = fibers => ({
|
|
|
1789
1819
|
}
|
|
1790
1820
|
});
|
|
1791
1821
|
/* @internal */
|
|
1792
|
-
export const fiberInterruptFork = self => core.
|
|
1822
|
+
export const fiberInterruptFork = self => core.asVoid(forkDaemon(core.interruptFiber(self)));
|
|
1793
1823
|
/* @internal */
|
|
1794
|
-
export const fiberJoinAll = fibers =>
|
|
1824
|
+
export const fiberJoinAll = fibers => internalFiber.join(fiberAll(fibers));
|
|
1795
1825
|
/* @internal */
|
|
1796
1826
|
export const fiberScoped = self => acquireRelease(core.succeed(self), core.interruptFiber);
|
|
1797
1827
|
//
|
|
@@ -1905,7 +1935,18 @@ export const interruptWhenPossible = /*#__PURE__*/dual(2, (self, all) => core.fi
|
|
|
1905
1935
|
})));
|
|
1906
1936
|
// circular Tracer
|
|
1907
1937
|
/** @internal */
|
|
1908
|
-
export const makeSpanScoped = (name, options) =>
|
|
1938
|
+
export const makeSpanScoped = (name, options) => core.uninterruptible(core.withFiberRuntime(fiber => {
|
|
1939
|
+
const scope = Context.unsafeGet(fiber.getFiberRef(core.currentContext), scopeTag);
|
|
1940
|
+
const span = internalEffect.unsafeMakeSpan(fiber, name, options);
|
|
1941
|
+
const timingEnabled = fiber.getFiberRef(core.currentTracerTimingEnabled);
|
|
1942
|
+
const clock_ = Context.get(fiber.getFiberRef(defaultServices.currentServices), clock.clockTag);
|
|
1943
|
+
return core.as(core.scopeAddFinalizerExit(scope, exit => core.sync(() => {
|
|
1944
|
+
if (span.status._tag === "Ended") {
|
|
1945
|
+
return;
|
|
1946
|
+
}
|
|
1947
|
+
span.end(timingEnabled ? clock_.unsafeCurrentTimeNanos() : BigInt(0), exit);
|
|
1948
|
+
})), span);
|
|
1949
|
+
}));
|
|
1909
1950
|
/* @internal */
|
|
1910
1951
|
export const withTracerScoped = value => fiberRefLocallyScopedWith(defaultServices.currentServices, Context.add(tracer.tracerTag, value));
|
|
1911
1952
|
/** @internal */
|