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
package/src/internal/sink.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import * as Array from "../Array.js"
|
|
1
2
|
import * as Cause from "../Cause.js"
|
|
2
3
|
import type * as Channel from "../Channel.js"
|
|
3
4
|
import * as Chunk from "../Chunk.js"
|
|
@@ -17,7 +18,6 @@ import { pipeArguments } from "../Pipeable.js"
|
|
|
17
18
|
import { hasProperty, type Predicate, type Refinement } from "../Predicate.js"
|
|
18
19
|
import * as PubSub from "../PubSub.js"
|
|
19
20
|
import * as Queue from "../Queue.js"
|
|
20
|
-
import * as ReadonlyArray from "../ReadonlyArray.js"
|
|
21
21
|
import * as Ref from "../Ref.js"
|
|
22
22
|
import type * as Scope from "../Scope.js"
|
|
23
23
|
import type * as Sink from "../Sink.js"
|
|
@@ -213,7 +213,7 @@ const collectAllWhileReader = <In>(
|
|
|
213
213
|
): Channel.Channel<Chunk.Chunk<In>, Chunk.Chunk<In>, never, never, Chunk.Chunk<In>, unknown> =>
|
|
214
214
|
core.readWith({
|
|
215
215
|
onInput: (input: Chunk.Chunk<In>) => {
|
|
216
|
-
const [collected, leftovers] = pipe(Chunk.toReadonlyArray(input),
|
|
216
|
+
const [collected, leftovers] = pipe(Chunk.toReadonlyArray(input), Array.span(predicate))
|
|
217
217
|
if (leftovers.length === 0) {
|
|
218
218
|
return collectAllWhileReader(
|
|
219
219
|
predicate,
|
|
@@ -565,7 +565,7 @@ const dropLoop = <In>(
|
|
|
565
565
|
)
|
|
566
566
|
},
|
|
567
567
|
onFailure: core.fail,
|
|
568
|
-
onDone: () => core.
|
|
568
|
+
onDone: () => core.void
|
|
569
569
|
})
|
|
570
570
|
|
|
571
571
|
/** @internal */
|
|
@@ -600,7 +600,7 @@ const dropUntilEffectReader = <In, R, E>(
|
|
|
600
600
|
channel.unwrap
|
|
601
601
|
),
|
|
602
602
|
onFailure: core.fail,
|
|
603
|
-
onDone: () => core.
|
|
603
|
+
onDone: () => core.void
|
|
604
604
|
})
|
|
605
605
|
|
|
606
606
|
/** @internal */
|
|
@@ -649,7 +649,7 @@ const dropWhileEffectReader = <In, R, E>(
|
|
|
649
649
|
channel.unwrap
|
|
650
650
|
),
|
|
651
651
|
onFailure: core.fail,
|
|
652
|
-
onDone: () => core.
|
|
652
|
+
onDone: () => core.void
|
|
653
653
|
})
|
|
654
654
|
|
|
655
655
|
/** @internal */
|
|
@@ -1346,7 +1346,7 @@ export const forEach = <In, X, E, R>(f: (input: In) => Effect.Effect<X, E, R>):
|
|
|
1346
1346
|
onInput: (input: Chunk.Chunk<In>) =>
|
|
1347
1347
|
pipe(core.fromEffect(Effect.forEach(input, (v) => f(v), { discard: true })), core.flatMap(() => process)),
|
|
1348
1348
|
onFailure: core.failCause,
|
|
1349
|
-
onDone: () => core.
|
|
1349
|
+
onDone: () => core.void
|
|
1350
1350
|
})
|
|
1351
1351
|
return new SinkImpl(process)
|
|
1352
1352
|
}
|
|
@@ -1358,7 +1358,7 @@ export const forEachChunk = <In, X, E, R>(
|
|
|
1358
1358
|
const process: Channel.Channel<never, Chunk.Chunk<In>, E, E, void, unknown, R> = core.readWithCause({
|
|
1359
1359
|
onInput: (input: Chunk.Chunk<In>) => pipe(core.fromEffect(f(input)), core.flatMap(() => process)),
|
|
1360
1360
|
onFailure: core.failCause,
|
|
1361
|
-
onDone: () => core.
|
|
1361
|
+
onDone: () => core.void
|
|
1362
1362
|
})
|
|
1363
1363
|
return new SinkImpl(process)
|
|
1364
1364
|
}
|
|
@@ -1370,7 +1370,7 @@ export const forEachWhile = <In, E, R>(
|
|
|
1370
1370
|
const process: Channel.Channel<Chunk.Chunk<In>, Chunk.Chunk<In>, E, E, void, unknown, R> = core.readWithCause({
|
|
1371
1371
|
onInput: (input: Chunk.Chunk<In>) => forEachWhileReader(f, input, 0, input.length, process),
|
|
1372
1372
|
onFailure: core.failCause,
|
|
1373
|
-
onDone: () => core.
|
|
1373
|
+
onDone: () => core.void
|
|
1374
1374
|
})
|
|
1375
1375
|
return new SinkImpl(process)
|
|
1376
1376
|
}
|
|
@@ -1405,10 +1405,10 @@ export const forEachChunkWhile = <In, E, R>(
|
|
|
1405
1405
|
onInput: (input: Chunk.Chunk<In>) =>
|
|
1406
1406
|
pipe(
|
|
1407
1407
|
core.fromEffect(f(input)),
|
|
1408
|
-
core.flatMap((cont) => cont ? reader : core.
|
|
1408
|
+
core.flatMap((cont) => cont ? reader : core.void)
|
|
1409
1409
|
),
|
|
1410
1410
|
onFailure: core.fail,
|
|
1411
|
-
onDone: () => core.
|
|
1411
|
+
onDone: () => core.void
|
|
1412
1412
|
})
|
|
1413
1413
|
return new SinkImpl(reader)
|
|
1414
1414
|
}
|
package/src/internal/stm/stm.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import * as RA from "../../Array.js"
|
|
1
2
|
import * as Cause from "../../Cause.js"
|
|
2
3
|
import * as Chunk from "../../Chunk.js"
|
|
3
4
|
import * as Context from "../../Context.js"
|
|
@@ -10,9 +11,8 @@ import { constFalse, constTrue, constVoid, dual, identity, pipe } from "../../Fu
|
|
|
10
11
|
import * as Option from "../../Option.js"
|
|
11
12
|
import type { Predicate, Refinement } from "../../Predicate.js"
|
|
12
13
|
import * as predicate from "../../Predicate.js"
|
|
13
|
-
import * as RA from "../../ReadonlyArray.js"
|
|
14
14
|
import type * as STM from "../../STM.js"
|
|
15
|
-
import type { MergeRecord
|
|
15
|
+
import type { MergeRecord } from "../../Types.js"
|
|
16
16
|
import * as effectCore from "../core.js"
|
|
17
17
|
import * as SingleShotGen from "../singleShotGen.js"
|
|
18
18
|
import * as core from "./core.js"
|
|
@@ -98,7 +98,7 @@ export const asSomeError = <A, E, R>(self: STM.STM<A, E, R>): STM.STM<A, Option.
|
|
|
98
98
|
pipe(self, mapError(Option.some))
|
|
99
99
|
|
|
100
100
|
/** @internal */
|
|
101
|
-
export const
|
|
101
|
+
export const asVoid = <A, E, R>(self: STM.STM<A, E, R>): STM.STM<void, E, R> => pipe(self, core.map(constVoid))
|
|
102
102
|
|
|
103
103
|
/** @internal */
|
|
104
104
|
export const attempt = <A>(evaluate: LazyArg<A>): STM.STM<A, unknown> =>
|
|
@@ -273,7 +273,7 @@ export const catchTags: {
|
|
|
273
273
|
}))
|
|
274
274
|
|
|
275
275
|
/** @internal */
|
|
276
|
-
export const check = (predicate: LazyArg<boolean>): STM.STM<void> => suspend(() => predicate() ?
|
|
276
|
+
export const check = (predicate: LazyArg<boolean>): STM.STM<void> => suspend(() => predicate() ? void_ : core.retry)
|
|
277
277
|
|
|
278
278
|
/** @internal */
|
|
279
279
|
export const collect = dual<
|
|
@@ -573,7 +573,7 @@ export const forEach = dual<
|
|
|
573
573
|
const loop: STM.STM<void, E, R> = suspend(() => {
|
|
574
574
|
const next = iterator.next()
|
|
575
575
|
if (next.done) {
|
|
576
|
-
return
|
|
576
|
+
return void_
|
|
577
577
|
}
|
|
578
578
|
return pipe(f(next.value), core.flatMap(() => loop))
|
|
579
579
|
})
|
|
@@ -713,7 +713,7 @@ export const if_ = dual<
|
|
|
713
713
|
|
|
714
714
|
/** @internal */
|
|
715
715
|
export const ignore = <A, E, R>(self: STM.STM<A, E, R>): STM.STM<void, never, R> =>
|
|
716
|
-
match(self, { onFailure: () =>
|
|
716
|
+
match(self, { onFailure: () => void_, onSuccess: () => void_ })
|
|
717
717
|
|
|
718
718
|
/** @internal */
|
|
719
719
|
export const isFailure = <A, E, R>(self: STM.STM<A, E, R>): STM.STM<boolean, never, R> =>
|
|
@@ -806,7 +806,7 @@ const loopDiscardLoop = <Z, R, E, X>(
|
|
|
806
806
|
core.flatMap(() => loopDiscardLoop(inc(initial), cont, inc, body))
|
|
807
807
|
)
|
|
808
808
|
}
|
|
809
|
-
return
|
|
809
|
+
return void_
|
|
810
810
|
}
|
|
811
811
|
|
|
812
812
|
/** @internal */
|
|
@@ -872,7 +872,7 @@ export const none = <A, E, R>(self: STM.STM<Option.Option<A>, E, R>): STM.STM<vo
|
|
|
872
872
|
core.matchSTM(self, {
|
|
873
873
|
onFailure: (e) => core.fail(Option.some(e)),
|
|
874
874
|
onSuccess: Option.match({
|
|
875
|
-
onNone: () =>
|
|
875
|
+
onNone: () => void_,
|
|
876
876
|
onSome: () => core.fail(Option.none())
|
|
877
877
|
})
|
|
878
878
|
})
|
|
@@ -1370,7 +1370,11 @@ export const try_: {
|
|
|
1370
1370
|
}
|
|
1371
1371
|
|
|
1372
1372
|
/** @internal */
|
|
1373
|
-
|
|
1373
|
+
const void_: STM.STM<void> = core.succeed(void 0)
|
|
1374
|
+
export {
|
|
1375
|
+
/** @internal */
|
|
1376
|
+
void_ as void
|
|
1377
|
+
}
|
|
1374
1378
|
|
|
1375
1379
|
/** @internal */
|
|
1376
1380
|
export const unless = dual<
|
package/src/internal/stm/tMap.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import * as RA from "../../Array.js"
|
|
1
2
|
import * as Chunk from "../../Chunk.js"
|
|
2
3
|
import * as Equal from "../../Equal.js"
|
|
3
4
|
import type { LazyArg } from "../../Function.js"
|
|
@@ -6,7 +7,6 @@ import * as Hash from "../../Hash.js"
|
|
|
6
7
|
import * as HashMap from "../../HashMap.js"
|
|
7
8
|
import * as Option from "../../Option.js"
|
|
8
9
|
import { hasProperty } from "../../Predicate.js"
|
|
9
|
-
import * as RA from "../../ReadonlyArray.js"
|
|
10
10
|
import * as STM from "../../STM.js"
|
|
11
11
|
import type * as TArray from "../../TArray.js"
|
|
12
12
|
import type * as TMap from "../../TMap.js"
|
|
@@ -187,7 +187,7 @@ export const forEach = dual<
|
|
|
187
187
|
reduceSTM(
|
|
188
188
|
self,
|
|
189
189
|
void 0 as void,
|
|
190
|
-
(_, value, key) => stm.
|
|
190
|
+
(_, value, key) => stm.asVoid(f(key, value))
|
|
191
191
|
))
|
|
192
192
|
|
|
193
193
|
/** @internal */
|
|
@@ -501,7 +501,7 @@ export const setIfAbsent = dual<
|
|
|
501
501
|
get(self, key),
|
|
502
502
|
Option.match({
|
|
503
503
|
onNone: () => set(self, key, value),
|
|
504
|
-
onSome: () => stm.
|
|
504
|
+
onSome: () => stm.void
|
|
505
505
|
})
|
|
506
506
|
))
|
|
507
507
|
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
+
import * as Array from "../../Array.js"
|
|
1
2
|
import * as Chunk from "../../Chunk.js"
|
|
2
3
|
import { dual, pipe } from "../../Function.js"
|
|
3
4
|
import * as Option from "../../Option.js"
|
|
4
5
|
import type * as Order from "../../Order.js"
|
|
5
6
|
import type { Predicate } from "../../Predicate.js"
|
|
6
|
-
import * as ReadonlyArray from "../../ReadonlyArray.js"
|
|
7
7
|
import * as SortedMap from "../../SortedMap.js"
|
|
8
8
|
import type * as STM from "../../STM.js"
|
|
9
9
|
import type * as TPriorityQueue from "../../TPriorityQueue.js"
|
|
@@ -42,7 +42,7 @@ export const fromIterable =
|
|
|
42
42
|
<A>(order: Order.Order<A>) => (iterable: Iterable<A>): STM.STM<TPriorityQueue.TPriorityQueue<A>> =>
|
|
43
43
|
pipe(
|
|
44
44
|
tRef.make(
|
|
45
|
-
Array.
|
|
45
|
+
Array.fromIterable(iterable).reduce(
|
|
46
46
|
(map, value) =>
|
|
47
47
|
pipe(
|
|
48
48
|
map,
|
|
@@ -52,8 +52,8 @@ export const fromIterable =
|
|
|
52
52
|
map,
|
|
53
53
|
SortedMap.get(value),
|
|
54
54
|
Option.match({
|
|
55
|
-
onNone: () =>
|
|
56
|
-
onSome:
|
|
55
|
+
onNone: () => Array.of(value),
|
|
56
|
+
onSome: Array.prepend(value)
|
|
57
57
|
})
|
|
58
58
|
)
|
|
59
59
|
)
|
|
@@ -86,8 +86,8 @@ export const offer = dual<
|
|
|
86
86
|
map,
|
|
87
87
|
value,
|
|
88
88
|
Option.match(SortedMap.get(map, value), {
|
|
89
|
-
onNone: () =>
|
|
90
|
-
onSome:
|
|
89
|
+
onNone: () => Array.of(value),
|
|
90
|
+
onSome: Array.prepend(value)
|
|
91
91
|
})
|
|
92
92
|
)))
|
|
93
93
|
|
|
@@ -97,14 +97,14 @@ export const offerAll = dual<
|
|
|
97
97
|
<A>(self: TPriorityQueue.TPriorityQueue<A>, values: Iterable<A>) => STM.STM<void>
|
|
98
98
|
>(2, (self, values) =>
|
|
99
99
|
tRef.update(self.ref, (map) =>
|
|
100
|
-
Array.
|
|
100
|
+
Array.fromIterable(values).reduce(
|
|
101
101
|
(map, value) =>
|
|
102
102
|
SortedMap.set(
|
|
103
103
|
map,
|
|
104
104
|
value,
|
|
105
105
|
Option.match(SortedMap.get(map, value), {
|
|
106
|
-
onNone: () =>
|
|
107
|
-
onSome:
|
|
106
|
+
onNone: () => Array.of(value),
|
|
107
|
+
onSome: Array.prepend(value)
|
|
108
108
|
})
|
|
109
109
|
),
|
|
110
110
|
map
|
|
@@ -147,7 +147,7 @@ export const retainIf = dual<
|
|
|
147
147
|
self.ref,
|
|
148
148
|
(map) =>
|
|
149
149
|
SortedMap.reduce(map, SortedMap.empty(SortedMap.getOrder(map)), (map, value, key) => {
|
|
150
|
-
const filtered: ReadonlyArray<A> =
|
|
150
|
+
const filtered: ReadonlyArray<A> = Array.filter(value, predicate)
|
|
151
151
|
return filtered.length > 0 ?
|
|
152
152
|
SortedMap.set(map, key, filtered as [A, ...Array<A>]) :
|
|
153
153
|
SortedMap.remove(map, key)
|
|
@@ -228,7 +228,7 @@ export const takeUpTo = dual<
|
|
|
228
228
|
let next: IteratorResult<readonly [A, [A, ...Array<A>]], any>
|
|
229
229
|
while ((next = iterator.next()) && !next.done && index < n) {
|
|
230
230
|
const [key, value] = next.value
|
|
231
|
-
const [left, right] = pipe(value,
|
|
231
|
+
const [left, right] = pipe(value, Array.splitAt(n - index))
|
|
232
232
|
for (const value of left) {
|
|
233
233
|
builder.push(value)
|
|
234
234
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
+
import * as RA from "../../Array.js"
|
|
1
2
|
import * as Effect from "../../Effect.js"
|
|
2
3
|
import { dual, identity, pipe } from "../../Function.js"
|
|
3
4
|
import * as HashSet from "../../HashSet.js"
|
|
4
5
|
import * as Option from "../../Option.js"
|
|
5
|
-
import * as RA from "../../ReadonlyArray.js"
|
|
6
6
|
import type * as Scope from "../../Scope.js"
|
|
7
7
|
import type * as STM from "../../STM.js"
|
|
8
8
|
import type * as TPubSub from "../../TPubSub.js"
|
|
@@ -64,7 +64,7 @@ class TPubSubImpl<in out A> implements TPubSub.TPubSub<A> {
|
|
|
64
64
|
|
|
65
65
|
awaitShutdown: STM.STM<void> = core.flatMap(
|
|
66
66
|
this.isShutdown,
|
|
67
|
-
(isShutdown) => isShutdown ? stm.
|
|
67
|
+
(isShutdown) => isShutdown ? stm.void : core.retry
|
|
68
68
|
)
|
|
69
69
|
|
|
70
70
|
capacity(): number {
|
|
@@ -195,7 +195,7 @@ class TPubSubSubscriptionImpl<in out A> implements TQueue.TDequeue<A> {
|
|
|
195
195
|
|
|
196
196
|
awaitShutdown: STM.STM<void> = core.flatMap(
|
|
197
197
|
this.isShutdown,
|
|
198
|
-
(isShutdown) => isShutdown ? stm.
|
|
198
|
+
(isShutdown) => isShutdown ? stm.void : core.retry
|
|
199
199
|
)
|
|
200
200
|
|
|
201
201
|
capacity(): number {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
+
import * as RA from "../../Array.js"
|
|
1
2
|
import * as Chunk from "../../Chunk.js"
|
|
2
3
|
import { dual, pipe } from "../../Function.js"
|
|
3
4
|
import * as Option from "../../Option.js"
|
|
4
5
|
import { hasProperty, type Predicate } from "../../Predicate.js"
|
|
5
|
-
import * as RA from "../../ReadonlyArray.js"
|
|
6
6
|
import * as STM from "../../STM.js"
|
|
7
7
|
import type * as TQueue from "../../TQueue.js"
|
|
8
8
|
import type * as TRef from "../../TRef.js"
|
|
@@ -110,7 +110,7 @@ class TQueueImpl<in out A> implements TQueue.TQueue<A> {
|
|
|
110
110
|
|
|
111
111
|
shutdown: STM.STM<void> = core.withSTMRuntime((runtime) => {
|
|
112
112
|
tRef.unsafeSet(this.ref, void 0, runtime.journal)
|
|
113
|
-
return stm.
|
|
113
|
+
return stm.void
|
|
114
114
|
})
|
|
115
115
|
|
|
116
116
|
isShutdown: STM.STM<boolean> = core.effect<never, boolean>((journal) => {
|
|
@@ -120,7 +120,7 @@ class TQueueImpl<in out A> implements TQueue.TQueue<A> {
|
|
|
120
120
|
|
|
121
121
|
awaitShutdown: STM.STM<void> = core.flatMap(
|
|
122
122
|
this.isShutdown,
|
|
123
|
-
(isShutdown) => isShutdown ? stm.
|
|
123
|
+
(isShutdown) => isShutdown ? stm.void : core.retry
|
|
124
124
|
)
|
|
125
125
|
|
|
126
126
|
offer(value: A): STM.STM<boolean> {
|
package/src/internal/stm/tSet.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
+
import * as RA from "../../Array.js"
|
|
1
2
|
import * as Chunk from "../../Chunk.js"
|
|
2
3
|
import { dual, pipe } from "../../Function.js"
|
|
3
4
|
import * as HashSet from "../../HashSet.js"
|
|
4
5
|
import type * as Option from "../../Option.js"
|
|
5
6
|
import { hasProperty, type Predicate } from "../../Predicate.js"
|
|
6
|
-
import * as RA from "../../ReadonlyArray.js"
|
|
7
7
|
import * as STM from "../../STM.js"
|
|
8
8
|
import type * as TMap from "../../TMap.js"
|
|
9
9
|
import type * as TSet from "../../TSet.js"
|
|
@@ -53,33 +53,42 @@ export const isEither = (self: HaltStrategy.HaltStrategy): self is HaltStrategy.
|
|
|
53
53
|
|
|
54
54
|
/** @internal */
|
|
55
55
|
export const match = dual<
|
|
56
|
-
<Z>(
|
|
56
|
+
<Z>(options: {
|
|
57
|
+
readonly onLeft: () => Z
|
|
58
|
+
readonly onRight: () => Z
|
|
59
|
+
readonly onBoth: () => Z
|
|
60
|
+
readonly onEither: () => Z
|
|
61
|
+
}) => (self: HaltStrategy.HaltStrategy) => Z,
|
|
57
62
|
<Z>(
|
|
58
63
|
self: HaltStrategy.HaltStrategy,
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
64
|
+
options: {
|
|
65
|
+
readonly onLeft: () => Z
|
|
66
|
+
readonly onRight: () => Z
|
|
67
|
+
readonly onBoth: () => Z
|
|
68
|
+
readonly onEither: () => Z
|
|
69
|
+
}
|
|
63
70
|
) => Z
|
|
64
|
-
>(
|
|
71
|
+
>(2, <Z>(
|
|
65
72
|
self: HaltStrategy.HaltStrategy,
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
73
|
+
options: {
|
|
74
|
+
readonly onLeft: () => Z
|
|
75
|
+
readonly onRight: () => Z
|
|
76
|
+
readonly onBoth: () => Z
|
|
77
|
+
readonly onEither: () => Z
|
|
78
|
+
}
|
|
70
79
|
): Z => {
|
|
71
80
|
switch (self._tag) {
|
|
72
81
|
case OpCodes.OP_LEFT: {
|
|
73
|
-
return onLeft()
|
|
82
|
+
return options.onLeft()
|
|
74
83
|
}
|
|
75
84
|
case OpCodes.OP_RIGHT: {
|
|
76
|
-
return onRight()
|
|
85
|
+
return options.onRight()
|
|
77
86
|
}
|
|
78
87
|
case OpCodes.OP_BOTH: {
|
|
79
|
-
return onBoth()
|
|
88
|
+
return options.onBoth()
|
|
80
89
|
}
|
|
81
90
|
case OpCodes.OP_EITHER: {
|
|
82
|
-
return onEither()
|
|
91
|
+
return options.onEither()
|
|
83
92
|
}
|
|
84
93
|
}
|
|
85
94
|
})
|