effect 2.0.0-next.44 → 2.0.0-next.46
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/Bigint/dist/effect-Bigint.cjs.dev.js +125 -1
- package/Bigint/dist/effect-Bigint.cjs.mjs +6 -1
- package/Bigint/dist/effect-Bigint.cjs.prod.js +125 -1
- package/Bigint/dist/effect-Bigint.esm.js +111 -2
- package/Boolean/dist/effect-Boolean.cjs.dev.js +1 -1
- package/Boolean/dist/effect-Boolean.cjs.prod.js +1 -1
- package/Boolean/dist/effect-Boolean.esm.js +1 -1
- package/Brand/dist/effect-Brand.cjs.dev.js +3 -3
- package/Brand/dist/effect-Brand.cjs.prod.js +3 -3
- package/Cache/dist/effect-Cache.cjs.dev.js +32 -32
- package/Cache/dist/effect-Cache.cjs.prod.js +32 -32
- package/Cause/dist/effect-Cause.cjs.dev.js +17 -17
- package/Cause/dist/effect-Cause.cjs.mjs +1 -1
- package/Cause/dist/effect-Cause.cjs.prod.js +17 -17
- package/Cause/dist/effect-Cause.esm.js +4 -4
- package/Channel/dist/effect-Channel.cjs.dev.js +50 -50
- package/Channel/dist/effect-Channel.cjs.mjs +3 -3
- package/Channel/dist/effect-Channel.cjs.prod.js +50 -50
- package/Channel/dist/effect-Channel.esm.js +8 -8
- package/ChannelSingleProducerAsyncInput/dist/effect-ChannelSingleProducerAsyncInput.cjs.dev.js +36 -36
- package/ChannelSingleProducerAsyncInput/dist/effect-ChannelSingleProducerAsyncInput.cjs.prod.js +36 -36
- package/Chunk/dist/effect-Chunk.cjs.dev.js +3 -3
- package/Chunk/dist/effect-Chunk.cjs.prod.js +3 -3
- package/Clock/dist/effect-Clock.cjs.dev.js +16 -16
- package/Clock/dist/effect-Clock.cjs.prod.js +16 -16
- package/Config/dist/effect-Config.cjs.dev.js +11 -11
- package/Config/dist/effect-Config.cjs.prod.js +11 -11
- package/ConfigError/dist/effect-ConfigError.cjs.dev.js +4 -4
- package/ConfigError/dist/effect-ConfigError.cjs.prod.js +4 -4
- package/ConfigProvider/dist/effect-ConfigProvider.cjs.dev.js +17 -17
- package/ConfigProvider/dist/effect-ConfigProvider.cjs.prod.js +17 -17
- package/ConfigProviderPathPatch/dist/effect-ConfigProviderPathPatch.cjs.dev.js +5 -5
- package/ConfigProviderPathPatch/dist/effect-ConfigProviderPathPatch.cjs.prod.js +5 -5
- package/ConfigSecret/dist/effect-ConfigSecret.cjs.dev.js +4 -4
- package/ConfigSecret/dist/effect-ConfigSecret.cjs.prod.js +4 -4
- package/Console/dist/effect-Console.cjs.dev.js +35 -35
- package/Console/dist/effect-Console.cjs.prod.js +35 -35
- package/Context/dist/effect-Context.cjs.dev.js +3 -8
- package/Context/dist/effect-Context.cjs.prod.js +3 -8
- package/Data/dist/effect-Data.cjs.dev.js +141 -54
- package/Data/dist/effect-Data.cjs.mjs +2 -0
- package/Data/dist/effect-Data.cjs.prod.js +141 -54
- package/Data/dist/effect-Data.esm.js +51 -3
- package/DefaultServices/dist/effect-DefaultServices.cjs.dev.js +16 -16
- package/DefaultServices/dist/effect-DefaultServices.cjs.prod.js +16 -16
- package/Deferred/dist/effect-Deferred.cjs.dev.js +8 -8
- package/Deferred/dist/effect-Deferred.cjs.prod.js +8 -8
- package/Differ/dist/effect-Differ.cjs.dev.js +11 -11
- package/Differ/dist/effect-Differ.cjs.prod.js +11 -11
- package/Duration/dist/effect-Duration.cjs.dev.js +3 -3
- package/Duration/dist/effect-Duration.cjs.prod.js +3 -3
- package/Effect/dist/effect-Effect.cjs.dev.js +44 -44
- package/Effect/dist/effect-Effect.cjs.prod.js +44 -44
- package/Effectable/dist/effect-Effectable.cjs.dev.js +24 -14
- package/Effectable/dist/effect-Effectable.cjs.mjs +5 -4
- package/Effectable/dist/effect-Effectable.cjs.prod.js +24 -14
- package/Effectable/dist/effect-Effectable.esm.js +15 -5
- package/Either/dist/effect-Either.cjs.dev.js +3 -3
- package/Either/dist/effect-Either.cjs.prod.js +3 -3
- package/Encoding/dist/effect-Encoding.cjs.dev.js +3 -3
- package/Encoding/dist/effect-Encoding.cjs.prod.js +3 -3
- package/ExecutionStrategy/dist/effect-ExecutionStrategy.cjs.dev.js +2 -2
- package/ExecutionStrategy/dist/effect-ExecutionStrategy.cjs.prod.js +2 -2
- package/Exit/dist/effect-Exit.cjs.dev.js +8 -8
- package/Exit/dist/effect-Exit.cjs.prod.js +8 -8
- package/Fiber/dist/effect-Fiber.cjs.dev.js +29 -29
- package/Fiber/dist/effect-Fiber.cjs.prod.js +29 -29
- package/FiberId/dist/effect-FiberId.cjs.dev.js +5 -5
- package/FiberId/dist/effect-FiberId.cjs.prod.js +5 -5
- package/FiberRef/dist/effect-FiberRef.cjs.dev.js +29 -29
- package/FiberRef/dist/effect-FiberRef.cjs.prod.js +29 -29
- package/FiberRefs/dist/effect-FiberRefs.cjs.dev.js +9 -9
- package/FiberRefs/dist/effect-FiberRefs.cjs.prod.js +9 -9
- package/FiberRefsPatch/dist/effect-FiberRefsPatch.cjs.dev.js +10 -10
- package/FiberRefsPatch/dist/effect-FiberRefsPatch.cjs.prod.js +10 -10
- package/GroupBy/dist/effect-GroupBy.cjs.dev.js +42 -42
- package/GroupBy/dist/effect-GroupBy.cjs.prod.js +42 -42
- package/HashMap/dist/effect-HashMap.cjs.dev.js +20 -20
- package/HashMap/dist/effect-HashMap.cjs.prod.js +20 -20
- package/HashSet/dist/effect-HashSet.cjs.dev.js +20 -20
- package/HashSet/dist/effect-HashSet.cjs.prod.js +20 -20
- package/KeyedPool/dist/effect-KeyedPool.cjs.dev.js +33 -33
- package/KeyedPool/dist/effect-KeyedPool.cjs.prod.js +33 -33
- package/Layer/dist/effect-Layer.cjs.dev.js +32 -32
- package/Layer/dist/effect-Layer.cjs.prod.js +32 -32
- package/List/dist/effect-List.cjs.dev.js +3 -3
- package/List/dist/effect-List.cjs.prod.js +3 -3
- package/LogLevel/dist/effect-LogLevel.cjs.dev.js +8 -8
- package/LogLevel/dist/effect-LogLevel.cjs.prod.js +8 -8
- package/Logger/dist/effect-Logger.cjs.dev.js +33 -33
- package/Logger/dist/effect-Logger.cjs.prod.js +33 -33
- package/Metric/dist/effect-Metric.cjs.dev.js +27 -27
- package/Metric/dist/effect-Metric.cjs.prod.js +27 -27
- package/MetricBoundaries/dist/effect-MetricBoundaries.cjs.dev.js +4 -4
- package/MetricBoundaries/dist/effect-MetricBoundaries.cjs.prod.js +4 -4
- package/MetricHook/dist/effect-MetricHook.cjs.dev.js +6 -6
- package/MetricHook/dist/effect-MetricHook.cjs.prod.js +6 -6
- package/MetricKey/dist/effect-MetricKey.cjs.dev.js +6 -6
- package/MetricKey/dist/effect-MetricKey.cjs.prod.js +6 -6
- package/MetricKeyType/dist/effect-MetricKeyType.cjs.dev.js +4 -4
- package/MetricKeyType/dist/effect-MetricKeyType.cjs.prod.js +4 -4
- package/MetricPolling/dist/effect-MetricPolling.cjs.dev.js +30 -30
- package/MetricPolling/dist/effect-MetricPolling.cjs.prod.js +30 -30
- package/MetricRegistry/dist/effect-MetricRegistry.cjs.dev.js +8 -8
- package/MetricRegistry/dist/effect-MetricRegistry.cjs.prod.js +8 -8
- package/MetricState/dist/effect-MetricState.cjs.dev.js +1 -1
- package/MetricState/dist/effect-MetricState.cjs.prod.js +1 -1
- package/MutableHashMap/dist/effect-MutableHashMap.cjs.dev.js +4 -4
- package/MutableHashMap/dist/effect-MutableHashMap.cjs.prod.js +4 -4
- package/MutableHashSet/dist/effect-MutableHashSet.cjs.dev.js +4 -4
- package/MutableHashSet/dist/effect-MutableHashSet.cjs.prod.js +4 -4
- package/MutableQueue/dist/effect-MutableQueue.cjs.dev.js +3 -3
- package/MutableQueue/dist/effect-MutableQueue.cjs.prod.js +3 -3
- package/Number/dist/effect-Number.cjs.dev.js +1 -1
- package/Number/dist/effect-Number.cjs.prod.js +1 -1
- package/Number/dist/effect-Number.esm.js +1 -1
- package/Option/dist/effect-Option.cjs.dev.js +9 -9
- package/Option/dist/effect-Option.cjs.prod.js +9 -9
- package/Pool/dist/effect-Pool.cjs.dev.js +31 -31
- package/Pool/dist/effect-Pool.cjs.prod.js +31 -31
- package/PubSub/dist/effect-PubSub.cjs.d.mts +2 -0
- package/PubSub/dist/effect-PubSub.cjs.d.mts.map +1 -0
- package/PubSub/dist/effect-PubSub.cjs.d.ts +2 -0
- package/PubSub/dist/effect-PubSub.cjs.d.ts.map +1 -0
- package/{Hub/dist/effect-Hub.cjs.dev.js → PubSub/dist/effect-PubSub.cjs.dev.js} +163 -163
- package/PubSub/dist/effect-PubSub.cjs.js +7 -0
- package/{Hub/dist/effect-Hub.cjs.mjs → PubSub/dist/effect-PubSub.cjs.mjs} +1 -1
- package/{Hub/dist/effect-Hub.cjs.prod.js → PubSub/dist/effect-PubSub.cjs.prod.js} +163 -163
- package/{Hub/dist/effect-Hub.esm.js → PubSub/dist/effect-PubSub.esm.js} +15 -15
- package/PubSub/package.json +4 -0
- package/Queue/dist/effect-Queue.cjs.dev.js +28 -28
- package/Queue/dist/effect-Queue.cjs.prod.js +28 -28
- package/README.md +5 -5
- package/Random/dist/effect-Random.cjs.dev.js +16 -16
- package/Random/dist/effect-Random.cjs.prod.js +16 -16
- package/ReadonlyArray/dist/effect-ReadonlyArray.cjs.dev.js +3 -3
- package/ReadonlyArray/dist/effect-ReadonlyArray.cjs.prod.js +3 -3
- package/ReadonlyRecord/dist/effect-ReadonlyRecord.cjs.dev.js +3 -3
- package/ReadonlyRecord/dist/effect-ReadonlyRecord.cjs.prod.js +3 -3
- package/RedBlackTree/dist/effect-RedBlackTree.cjs.dev.js +4 -4
- package/RedBlackTree/dist/effect-RedBlackTree.cjs.prod.js +4 -4
- package/Ref/dist/effect-Ref.cjs.dev.js +9 -9
- package/Ref/dist/effect-Ref.cjs.prod.js +9 -9
- package/Reloadable/dist/effect-Reloadable.cjs.dev.js +44 -44
- package/Reloadable/dist/effect-Reloadable.cjs.prod.js +44 -44
- package/Request/dist/effect-Request.cjs.dev.js +29 -29
- package/Request/dist/effect-Request.cjs.prod.js +29 -29
- package/RequestBlock/dist/effect-RequestBlock.cjs.dev.js +36 -36
- package/RequestBlock/dist/effect-RequestBlock.cjs.prod.js +36 -36
- package/RequestResolver/dist/effect-RequestResolver.cjs.dev.js +38 -38
- package/RequestResolver/dist/effect-RequestResolver.cjs.prod.js +38 -38
- package/Resource/dist/effect-Resource.cjs.dev.js +34 -34
- package/Resource/dist/effect-Resource.cjs.prod.js +34 -34
- package/Runtime/dist/effect-Runtime.cjs.dev.js +34 -34
- package/Runtime/dist/effect-Runtime.cjs.prod.js +34 -34
- package/RuntimeFlags/dist/effect-RuntimeFlags.cjs.dev.js +33 -33
- package/RuntimeFlags/dist/effect-RuntimeFlags.cjs.prod.js +33 -33
- package/RuntimeFlagsPatch/dist/effect-RuntimeFlagsPatch.cjs.dev.js +6 -6
- package/RuntimeFlagsPatch/dist/effect-RuntimeFlagsPatch.cjs.prod.js +6 -6
- package/STM/dist/effect-STM.cjs.dev.js +48 -48
- package/STM/dist/effect-STM.cjs.prod.js +48 -48
- package/Schedule/dist/effect-Schedule.cjs.dev.js +19 -19
- package/Schedule/dist/effect-Schedule.cjs.prod.js +19 -19
- package/ScheduleDecision/dist/effect-ScheduleDecision.cjs.dev.js +3 -3
- package/ScheduleDecision/dist/effect-ScheduleDecision.cjs.prod.js +3 -3
- package/ScheduleInterval/dist/effect-ScheduleInterval.cjs.dev.js +3 -3
- package/ScheduleInterval/dist/effect-ScheduleInterval.cjs.prod.js +3 -3
- package/ScheduleIntervals/dist/effect-ScheduleIntervals.cjs.dev.js +3 -3
- package/ScheduleIntervals/dist/effect-ScheduleIntervals.cjs.prod.js +3 -3
- package/Scheduler/dist/effect-Scheduler.cjs.dev.js +8 -8
- package/Scheduler/dist/effect-Scheduler.cjs.prod.js +8 -8
- package/Scope/dist/effect-Scope.cjs.dev.js +27 -27
- package/Scope/dist/effect-Scope.cjs.prod.js +27 -27
- package/ScopedCache/dist/effect-ScopedCache.cjs.dev.js +78 -61
- package/ScopedCache/dist/effect-ScopedCache.cjs.prod.js +78 -61
- package/ScopedRef/dist/effect-ScopedRef.cjs.dev.js +34 -34
- package/ScopedRef/dist/effect-ScopedRef.cjs.prod.js +34 -34
- package/Sink/dist/effect-Sink.cjs.dev.js +43 -43
- package/Sink/dist/effect-Sink.cjs.mjs +1 -1
- package/Sink/dist/effect-Sink.cjs.prod.js +43 -43
- package/Sink/dist/effect-Sink.esm.js +5 -5
- package/SortedMap/dist/effect-SortedMap.cjs.dev.js +3 -3
- package/SortedMap/dist/effect-SortedMap.cjs.prod.js +3 -3
- package/SortedSet/dist/effect-SortedSet.cjs.dev.js +3 -3
- package/SortedSet/dist/effect-SortedSet.cjs.prod.js +3 -3
- package/Stream/dist/effect-Stream.cjs.dev.js +60 -60
- package/Stream/dist/effect-Stream.cjs.mjs +5 -5
- package/Stream/dist/effect-Stream.cjs.prod.js +60 -60
- package/Stream/dist/effect-Stream.esm.js +15 -15
- package/Streamable/dist/effect-Streamable.cjs.d.mts +2 -0
- package/Streamable/dist/effect-Streamable.cjs.d.mts.map +1 -0
- package/Streamable/dist/effect-Streamable.cjs.d.ts +2 -0
- package/Streamable/dist/effect-Streamable.cjs.d.ts.map +1 -0
- package/Streamable/dist/effect-Streamable.cjs.dev.js +152 -0
- package/Streamable/dist/effect-Streamable.cjs.js +7 -0
- package/Streamable/dist/effect-Streamable.cjs.mjs +3 -0
- package/Streamable/dist/effect-Streamable.cjs.prod.js +152 -0
- package/Streamable/dist/effect-Streamable.esm.js +42 -0
- package/Streamable/package.json +4 -0
- package/String/dist/effect-String.cjs.dev.js +4 -4
- package/String/dist/effect-String.cjs.prod.js +4 -4
- package/String/dist/effect-String.esm.js +1 -1
- package/SubscriptionRef/dist/effect-SubscriptionRef.cjs.dev.js +48 -48
- package/SubscriptionRef/dist/effect-SubscriptionRef.cjs.prod.js +48 -48
- package/Supervisor/dist/effect-Supervisor.cjs.dev.js +34 -34
- package/Supervisor/dist/effect-Supervisor.cjs.prod.js +34 -34
- package/SynchronizedRef/dist/effect-SynchronizedRef.cjs.dev.js +30 -30
- package/SynchronizedRef/dist/effect-SynchronizedRef.cjs.prod.js +30 -30
- package/TArray/dist/effect-TArray.cjs.dev.js +46 -46
- package/TArray/dist/effect-TArray.cjs.prod.js +46 -46
- package/TDeferred/dist/effect-TDeferred.cjs.dev.js +45 -45
- package/TDeferred/dist/effect-TDeferred.cjs.prod.js +45 -45
- package/TMap/dist/effect-TMap.cjs.dev.js +47 -47
- package/TMap/dist/effect-TMap.cjs.prod.js +47 -47
- package/TPriorityQueue/dist/effect-TPriorityQueue.cjs.dev.js +44 -44
- package/TPriorityQueue/dist/effect-TPriorityQueue.cjs.prod.js +44 -44
- package/TPubSub/dist/effect-TPubSub.cjs.d.mts +2 -0
- package/TPubSub/dist/effect-TPubSub.cjs.d.mts.map +1 -0
- package/TPubSub/dist/effect-TPubSub.cjs.d.ts +2 -0
- package/TPubSub/dist/effect-TPubSub.cjs.d.ts.map +1 -0
- package/{THub/dist/effect-THub.cjs.dev.js → TPubSub/dist/effect-TPubSub.cjs.dev.js} +101 -101
- package/TPubSub/dist/effect-TPubSub.cjs.js +7 -0
- package/{THub/dist/effect-THub.cjs.mjs → TPubSub/dist/effect-TPubSub.cjs.mjs} +2 -2
- package/{THub/dist/effect-THub.cjs.prod.js → TPubSub/dist/effect-TPubSub.cjs.prod.js} +101 -101
- package/TPubSub/dist/effect-TPubSub.esm.js +157 -0
- package/TPubSub/package.json +4 -0
- package/TQueue/dist/effect-TQueue.cjs.dev.js +46 -46
- package/TQueue/dist/effect-TQueue.cjs.prod.js +46 -46
- package/TRandom/dist/effect-TRandom.cjs.dev.js +50 -50
- package/TRandom/dist/effect-TRandom.cjs.prod.js +50 -50
- package/TReentrantLock/dist/effect-TReentrantLock.cjs.dev.js +46 -46
- package/TReentrantLock/dist/effect-TReentrantLock.cjs.prod.js +46 -46
- package/TRef/dist/effect-TRef.cjs.dev.js +44 -44
- package/TRef/dist/effect-TRef.cjs.prod.js +44 -44
- package/TSemaphore/dist/effect-TSemaphore.cjs.dev.js +45 -45
- package/TSemaphore/dist/effect-TSemaphore.cjs.prod.js +45 -45
- package/TSet/dist/effect-TSet.cjs.dev.js +47 -47
- package/TSet/dist/effect-TSet.cjs.prod.js +47 -47
- package/Take/dist/effect-Take.cjs.dev.js +36 -36
- package/Take/dist/effect-Take.cjs.prod.js +36 -36
- package/TestAnnotation/dist/effect-TestAnnotation.cjs.dev.js +8 -8
- package/TestAnnotation/dist/effect-TestAnnotation.cjs.prod.js +8 -8
- package/TestAnnotations/dist/effect-TestAnnotations.cjs.dev.js +25 -25
- package/TestAnnotations/dist/effect-TestAnnotations.cjs.prod.js +25 -25
- package/TestClock/dist/effect-TestClock.cjs.dev.js +46 -46
- package/TestClock/dist/effect-TestClock.cjs.prod.js +46 -46
- package/TestConfig/dist/effect-TestConfig.cjs.dev.js +3 -8
- package/TestConfig/dist/effect-TestConfig.cjs.prod.js +3 -8
- package/TestContext/dist/effect-TestContext.cjs.dev.js +37 -37
- package/TestContext/dist/effect-TestContext.cjs.prod.js +37 -37
- package/TestLive/dist/effect-TestLive.cjs.dev.js +17 -17
- package/TestLive/dist/effect-TestLive.cjs.prod.js +17 -17
- package/TestServices/dist/effect-TestServices.cjs.dev.js +42 -42
- package/TestServices/dist/effect-TestServices.cjs.prod.js +42 -42
- package/TestSized/dist/effect-TestSized.cjs.dev.js +11 -11
- package/TestSized/dist/effect-TestSized.cjs.prod.js +11 -11
- package/Tracer/dist/effect-Tracer.cjs.dev.js +16 -16
- package/Tracer/dist/effect-Tracer.cjs.prod.js +16 -16
- package/dist/{Context-01a123ac.cjs.prod.js → Context-9fe5eb16.cjs.prod.js} +5 -5
- package/dist/{Context-593661f6.cjs.dev.js → Context-da73ddfa.cjs.dev.js} +5 -5
- package/dist/{Effectable-2f022879.cjs.dev.js → Effectable-7314aed8.cjs.dev.js} +63 -10
- package/dist/{Effectable-cd8f3a96.cjs.prod.js → Effectable-c4c14a2b.cjs.prod.js} +63 -10
- package/dist/{Either-7a881c7a.cjs.prod.js → Either-d43f082c.cjs.prod.js} +6 -79
- package/dist/{Either-12bbe00c.cjs.dev.js → Either-fa0ef1d9.cjs.dev.js} +6 -79
- package/dist/{ExecutionStrategy-14d3053a.cjs.prod.js → ExecutionStrategy-4808fe5d.cjs.prod.js} +2 -2
- package/dist/{ExecutionStrategy-70f1a920.cjs.dev.js → ExecutionStrategy-7d9d457b.cjs.dev.js} +2 -2
- package/dist/{HashSet-0b4ff1e4.cjs.dev.js → HashSet-5963ad6b.cjs.dev.js} +32 -32
- package/dist/{HashSet-6257b66d.cjs.prod.js → HashSet-ac02a3e1.cjs.prod.js} +32 -32
- package/dist/Option-463b42e6.cjs.dev.js +81 -0
- package/dist/Option-935e5d7c.cjs.prod.js +81 -0
- package/dist/{Ref-a3a4e50d.cjs.prod.js → Ref-4014b526.cjs.prod.js} +1 -1
- package/dist/{Ref-74b592a4.cjs.dev.js → Ref-acdee7ef.cjs.dev.js} +1 -1
- package/dist/{cache-75fbef45.cjs.prod.js → cache-5c7d77e4.cjs.prod.js} +17 -17
- package/dist/{cache-e1ea3923.cjs.dev.js → cache-7eed9d33.cjs.dev.js} +17 -17
- package/dist/{circular-6f16b226.cjs.prod.js → circular-1f481ffb.cjs.prod.js} +33 -33
- package/dist/{circular-f406f9a4.cjs.prod.js → circular-9e10a5a7.cjs.prod.js} +6 -6
- package/dist/{circular-58ff5e9c.cjs.dev.js → circular-c2dbce1a.cjs.dev.js} +33 -33
- package/dist/{circular-30564534.cjs.dev.js → circular-c8b65bdb.cjs.dev.js} +6 -6
- package/dist/{config-80900693.cjs.dev.js → config-3b7935a3.cjs.dev.js} +3 -3
- package/dist/{config-d0ddc159.cjs.prod.js → config-5ba54da1.cjs.prod.js} +3 -3
- package/dist/{configProvider-93617d6d.cjs.prod.js → configProvider-b6b20998.cjs.prod.js} +29 -29
- package/dist/{configProvider-ce43fdbf.cjs.dev.js → configProvider-f34a82f1.cjs.dev.js} +29 -29
- package/dist/{core-0b0539de.cjs.prod.js → core-07202cc0.cjs.prod.js} +711 -726
- package/dist/{core-60ca562a.cjs.prod.js → core-7411d1e1.cjs.prod.js} +3 -3
- package/dist/{core-b4d7b4f5.cjs.dev.js → core-b7401357.cjs.dev.js} +711 -726
- package/dist/{core-13f8a866.cjs.dev.js → core-c5747f88.cjs.dev.js} +3 -3
- package/dist/{core-effect-892f3686.cjs.dev.js → core-effect-1c564d42.cjs.dev.js} +77 -75
- package/dist/{core-effect-c65770cd.cjs.prod.js → core-effect-9201ea63.cjs.prod.js} +77 -75
- package/dist/{dataSource-3ba9e4d3.cjs.dev.js → dataSource-b5eda714.cjs.dev.js} +2 -2
- package/dist/{dataSource-7df3a5f6.cjs.prod.js → dataSource-b83bc277.cjs.prod.js} +2 -2
- package/dist/declarations/src/Bigint.d.ts +92 -1
- package/dist/declarations/src/Bigint.d.ts.map +1 -1
- package/dist/declarations/src/Boolean.d.ts +1 -1
- package/dist/declarations/src/Cause.d.ts +6 -6
- package/dist/declarations/src/Cause.d.ts.map +1 -1
- package/dist/declarations/src/Channel.d.ts +7 -7
- package/dist/declarations/src/Channel.d.ts.map +1 -1
- package/dist/declarations/src/Data.d.ts +30 -0
- package/dist/declarations/src/Data.d.ts.map +1 -1
- package/dist/declarations/src/Effect.d.ts +4 -2
- package/dist/declarations/src/Effect.d.ts.map +1 -1
- package/dist/declarations/src/Effectable.d.ts +14 -4
- package/dist/declarations/src/Effectable.d.ts.map +1 -1
- package/dist/declarations/src/Metric.d.ts +31 -7
- package/dist/declarations/src/Metric.d.ts.map +1 -1
- package/dist/declarations/src/MetricHook.d.ts +7 -4
- package/dist/declarations/src/MetricHook.d.ts.map +1 -1
- package/dist/declarations/src/MetricKey.d.ts +24 -4
- package/dist/declarations/src/MetricKey.d.ts.map +1 -1
- package/dist/declarations/src/MetricKeyType.d.ts +9 -6
- package/dist/declarations/src/MetricKeyType.d.ts.map +1 -1
- package/dist/declarations/src/MetricRegistry.d.ts +2 -2
- package/dist/declarations/src/MetricRegistry.d.ts.map +1 -1
- package/dist/declarations/src/MetricState.d.ts +15 -9
- package/dist/declarations/src/MetricState.d.ts.map +1 -1
- package/dist/declarations/src/Number.d.ts +1 -1
- package/dist/declarations/src/{Hub.d.ts → PubSub.d.ts} +38 -38
- package/dist/declarations/src/PubSub.d.ts.map +1 -0
- package/dist/declarations/src/Sink.d.ts +4 -4
- package/dist/declarations/src/Sink.d.ts.map +1 -1
- package/dist/declarations/src/Stream.d.ts +24 -24
- package/dist/declarations/src/Stream.d.ts.map +1 -1
- package/dist/declarations/src/Streamable.d.ts +27 -0
- package/dist/declarations/src/Streamable.d.ts.map +1 -0
- package/dist/declarations/src/String.d.ts +1 -1
- package/dist/declarations/src/SubscriptionRef.d.ts.map +1 -1
- package/dist/declarations/src/TPubSub.d.ts +146 -0
- package/dist/declarations/src/TPubSub.d.ts.map +1 -0
- package/dist/declarations/src/index.d.ts +15 -15
- package/dist/declarations/src/index.d.ts.map +1 -1
- package/dist/{defaultServices-5530ff0e.cjs.dev.js → defaultServices-755d5b46.cjs.dev.js} +6 -6
- package/dist/{defaultServices-086b8ac9.cjs.prod.js → defaultServices-9d7ce86f.cjs.prod.js} +6 -6
- package/dist/effect.cjs.dev.js +9 -9
- package/dist/effect.cjs.mjs +3 -3
- package/dist/effect.cjs.prod.js +9 -9
- package/dist/effect.esm.js +6 -6
- package/dist/{fiber-1bfb4c1d.cjs.dev.js → fiber-5156eff2.cjs.dev.js} +12 -12
- package/dist/{fiber-2eb0a4c1.cjs.prod.js → fiber-9519d109.cjs.prod.js} +12 -12
- package/dist/{fiberRefs-be6b6a70.cjs.prod.js → fiberRefs-558c17e6.cjs.prod.js} +1 -1
- package/dist/{fiberRefs-be4fae6a.cjs.dev.js → fiberRefs-98b71233.cjs.dev.js} +1 -1
- package/dist/{fiberRuntime-2d31e120.cjs.prod.js → fiberRuntime-31ae011f.cjs.prod.js} +99 -100
- package/dist/{fiberRuntime-c7280769.cjs.dev.js → fiberRuntime-d3872282.cjs.dev.js} +99 -100
- package/dist/{groupBy-0702739b.cjs.prod.js → groupBy-724f64ef.cjs.prod.js} +4 -4
- package/dist/{groupBy-7f852bf3.cjs.dev.js → groupBy-862cc2da.cjs.dev.js} +4 -4
- package/dist/{hook-e72b20fd.cjs.dev.js → hook-8cefc909.cjs.dev.js} +8 -4
- package/dist/{hook-470b717e.cjs.prod.js → hook-98ce30e4.cjs.prod.js} +8 -4
- package/dist/{key-f0a1408a.cjs.dev.js → key-198b6670.cjs.dev.js} +3 -3
- package/dist/{key-378a6a2c.cjs.prod.js → key-eb8a12b2.cjs.prod.js} +3 -3
- package/dist/{keyType-cf67c69c.cjs.prod.js → keyType-0c5e6178.cjs.prod.js} +9 -2
- package/dist/{keyType-55f27f07.cjs.dev.js → keyType-7c164b82.cjs.dev.js} +9 -2
- package/dist/{layer-b42e8022.cjs.dev.js → layer-29574350.cjs.dev.js} +33 -33
- package/dist/{layer-d103b49b.cjs.prod.js → layer-51ff4846.cjs.prod.js} +33 -33
- package/dist/{patch-a1b2802f.cjs.dev.js → patch-0220a642.cjs.dev.js} +1 -1
- package/dist/{patch-c4d6c61e.cjs.prod.js → patch-7c559bb2.cjs.prod.js} +1 -1
- package/dist/{pathPatch-15c8d723.cjs.prod.js → pathPatch-b56a4da2.cjs.prod.js} +1 -1
- package/dist/{pathPatch-d9d41297.cjs.dev.js → pathPatch-fab016f1.cjs.dev.js} +1 -1
- package/dist/{pool-ef44ba82.cjs.dev.js → pool-3211287f.cjs.dev.js} +31 -31
- package/dist/{pool-e414eb88.cjs.prod.js → pool-f77d7705.cjs.prod.js} +31 -31
- package/dist/{query-1d0157db.cjs.prod.js → query-a52b25f0.cjs.prod.js} +11 -11
- package/dist/{query-54337864.cjs.dev.js → query-c36decd5.cjs.dev.js} +11 -11
- package/dist/{queue-27ac9d98.cjs.prod.js → queue-315ea45d.cjs.prod.js} +22 -22
- package/dist/{queue-533d70d4.cjs.dev.js → queue-7a223c44.cjs.dev.js} +22 -22
- package/dist/{registry-1099de3f.cjs.dev.js → registry-62ff192e.cjs.dev.js} +4 -4
- package/dist/{registry-013ecdde.cjs.prod.js → registry-d5258dff.cjs.prod.js} +4 -4
- package/dist/{runtime-ea174155.cjs.prod.js → runtime-005f8a9b.cjs.prod.js} +7 -7
- package/dist/{runtime-afad6a9b.cjs.dev.js → runtime-57c8ddf8.cjs.dev.js} +7 -7
- package/dist/{schedule-1d92198c.cjs.prod.js → schedule-8cdf6bf1.cjs.prod.js} +40 -40
- package/dist/{schedule-e0f55cab.cjs.dev.js → schedule-e7a9f93f.cjs.dev.js} +40 -40
- package/dist/scopedRef-789d7fef.cjs.prod.js +55 -0
- package/dist/scopedRef-eb19c7a6.cjs.dev.js +55 -0
- package/dist/{singleProducerAsyncInput-4105a342.cjs.dev.js → singleProducerAsyncInput-9ff8389b.cjs.dev.js} +1 -1
- package/dist/{singleProducerAsyncInput-21463e16.cjs.prod.js → singleProducerAsyncInput-f9b258b1.cjs.prod.js} +1 -1
- package/dist/{sink-9129504b.cjs.prod.js → sink-572d8981.cjs.prod.js} +17 -17
- package/dist/{sink-ee393b63.cjs.dev.js → sink-8d3427e7.cjs.dev.js} +17 -17
- package/dist/{state-dd1bd066.cjs.prod.js → state-0bdf02b7.cjs.prod.js} +2 -6
- package/dist/{state-8fbec044.cjs.dev.js → state-931050c4.cjs.dev.js} +2 -6
- package/dist/{stm-537da66b.cjs.dev.js → stm-8aca0022.cjs.dev.js} +3 -3
- package/dist/{stm-5043c3cb.cjs.prod.js → stm-f250b596.cjs.prod.js} +3 -3
- package/dist/{stream-c7eda5bc.cjs.dev.js → stream-34d80d2c.cjs.dev.js} +31 -28
- package/dist/{stream-13637643.cjs.prod.js → stream-ea4f4d44.cjs.prod.js} +31 -28
- package/dist/{synchronizedRef-37e32854.cjs.dev.js → synchronizedRef-a12fd967.cjs.dev.js} +6 -6
- package/dist/{synchronizedRef-b4cde4de.cjs.prod.js → synchronizedRef-ed8aa6ac.cjs.prod.js} +6 -6
- package/dist/{tArray-df1bae1c.cjs.dev.js → tArray-17f078f2.cjs.dev.js} +3 -3
- package/dist/{tArray-d5476a2d.cjs.prod.js → tArray-d184e22f.cjs.prod.js} +3 -3
- package/dist/{tMap-a3e14c05.cjs.dev.js → tMap-1a5aa78b.cjs.dev.js} +4 -4
- package/dist/{tMap-20ef43ea.cjs.prod.js → tMap-e219f30e.cjs.prod.js} +4 -4
- package/dist/{tQueue-bd3cf539.cjs.dev.js → tQueue-0a4fc773.cjs.dev.js} +3 -3
- package/dist/{tQueue-c02c22bd.cjs.prod.js → tQueue-47129ad0.cjs.prod.js} +3 -3
- package/dist/{tRef-49e44dde.cjs.prod.js → tRef-ab4c5713.cjs.prod.js} +1 -1
- package/dist/{tRef-75dd04b3.cjs.dev.js → tRef-b860ef05.cjs.dev.js} +1 -1
- package/internal/Context.esm.js +4 -4
- package/internal/Data.esm.js +4 -1
- package/internal/Differ/ChunkPatch.esm.js +1 -1
- package/internal/Differ/ContextPatch.esm.js +1 -1
- package/internal/Differ/HashMapPatch.esm.js +1 -1
- package/internal/Differ/HashSetPatch.esm.js +1 -1
- package/internal/Differ/OrPatch.esm.js +1 -1
- package/internal/Effectable.esm.js +9 -9
- package/internal/Either.esm.js +3 -3
- package/internal/Option.esm.js +3 -3
- package/internal/cache.esm.js +1 -1
- package/internal/cause.esm.js +6 -21
- package/internal/channel.esm.js +5 -5
- package/internal/core-effect.esm.js +6 -4
- package/internal/fiberRuntime.esm.js +3 -3
- package/internal/layer.esm.js +1 -1
- package/internal/metric/hook.esm.js +7 -3
- package/internal/metric/key.esm.js +2 -2
- package/internal/metric/keyType.esm.js +9 -2
- package/internal/metric/registry.esm.js +2 -2
- package/internal/metric/state.esm.js +2 -6
- package/internal/metric.esm.js +3 -3
- package/internal/{hub.esm.js → pubsub.esm.js} +108 -108
- package/internal/request.esm.js +1 -1
- package/internal/sink.esm.js +8 -8
- package/internal/stm/{tHub.esm.js → tPubSub.esm.js} +30 -30
- package/internal/stream.esm.js +23 -20
- package/internal/subscriptionRef.esm.js +8 -8
- package/package.json +66 -211
- package/src/.index.ts +30 -0
- package/src/Bigint.ts +497 -0
- package/src/Boolean.ts +261 -0
- package/src/Brand.ts +336 -0
- package/src/Cache.ts +250 -0
- package/src/Cause.ts +813 -0
- package/src/Channel.ts +2244 -0
- package/src/ChannelChildExecutorDecision.ts +138 -0
- package/src/ChannelMergeDecision.ts +94 -0
- package/src/ChannelMergeState.ts +166 -0
- package/src/ChannelMergeStrategy.ts +107 -0
- package/src/ChannelSingleProducerAsyncInput.ts +68 -0
- package/src/ChannelUpstreamPullRequest.ts +110 -0
- package/src/ChannelUpstreamPullStrategy.ts +120 -0
- package/src/Chunk.ts +1314 -0
- package/src/Clock.ts +111 -0
- package/src/Config.ts +447 -0
- package/src/ConfigError.ts +267 -0
- package/src/ConfigProvider.ts +296 -0
- package/src/ConfigProviderPathPatch.ts +100 -0
- package/src/ConfigSecret.ts +76 -0
- package/src/Console.ts +222 -0
- package/src/Context.ts +365 -0
- package/src/Data.ts +367 -0
- package/src/DefaultServices.ts +34 -0
- package/src/Deferred.ts +283 -0
- package/src/Differ.ts +406 -0
- package/src/Duration.ts +558 -0
- package/src/Effect.ts +5177 -0
- package/src/Effectable.ts +107 -0
- package/src/Either.ts +593 -0
- package/src/Encoding.ts +130 -0
- package/src/Equal.ts +64 -0
- package/src/Equivalence.ts +235 -0
- package/src/ExecutionStrategy.ts +111 -0
- package/src/Exit.ts +464 -0
- package/src/Fiber.ts +650 -0
- package/src/FiberId.ts +187 -0
- package/src/FiberRef.ts +399 -0
- package/src/FiberRefs.ts +160 -0
- package/src/FiberRefsPatch.ts +105 -0
- package/src/FiberStatus.ts +108 -0
- package/src/Function.ts +834 -0
- package/src/GlobalValue.ts +20 -0
- package/src/GroupBy.ts +102 -0
- package/src/HKT.ts +44 -0
- package/src/Hash.ts +162 -0
- package/src/HashMap.ts +373 -0
- package/src/HashSet.ts +300 -0
- package/src/Inspectable.ts +45 -0
- package/src/KeyedPool.ts +160 -0
- package/src/Layer.ts +866 -0
- package/src/List.ts +942 -0
- package/src/LogLevel.ts +266 -0
- package/src/LogSpan.ts +25 -0
- package/src/Logger.ts +321 -0
- package/src/Metric.ts +657 -0
- package/src/MetricBoundaries.ts +70 -0
- package/src/MetricHook.ts +139 -0
- package/src/MetricKey.ts +227 -0
- package/src/MetricKeyType.ts +257 -0
- package/src/MetricLabel.ts +47 -0
- package/src/MetricPair.ts +70 -0
- package/src/MetricPolling.ts +136 -0
- package/src/MetricRegistry.ts +47 -0
- package/src/MetricState.ts +256 -0
- package/src/MutableHashMap.ts +187 -0
- package/src/MutableHashSet.ts +118 -0
- package/src/MutableList.ts +289 -0
- package/src/MutableQueue.ts +227 -0
- package/src/MutableRef.ts +204 -0
- package/src/NonEmptyIterable.ts +30 -0
- package/src/Number.ts +406 -0
- package/src/Option.ts +1307 -0
- package/src/Order.ts +328 -0
- package/src/Ordering.ts +112 -0
- package/src/Pipeable.ts +318 -0
- package/src/Pool.ts +148 -0
- package/src/Predicate.ts +704 -0
- package/src/PubSub.ts +175 -0
- package/src/Queue.ts +575 -0
- package/src/Random.ts +115 -0
- package/src/ReadonlyArray.ts +2017 -0
- package/src/ReadonlyRecord.ts +641 -0
- package/src/RedBlackTree.ts +415 -0
- package/src/Ref.ts +159 -0
- package/src/Reloadable.ts +136 -0
- package/src/Request.ts +285 -0
- package/src/RequestBlock.ts +157 -0
- package/src/RequestResolver.ts +305 -0
- package/src/Resource.ts +97 -0
- package/src/Runtime.ts +216 -0
- package/src/RuntimeFlags.ts +336 -0
- package/src/RuntimeFlagsPatch.ts +183 -0
- package/src/STM.ts +2076 -0
- package/src/Schedule.ts +1396 -0
- package/src/ScheduleDecision.ts +62 -0
- package/src/ScheduleInterval.ts +151 -0
- package/src/ScheduleIntervals.ts +122 -0
- package/src/Scheduler.ts +359 -0
- package/src/Scope.ts +171 -0
- package/src/ScopedCache.ts +148 -0
- package/src/ScopedRef.ts +95 -0
- package/src/Sink.ts +1431 -0
- package/src/SortedMap.ts +229 -0
- package/src/SortedSet.ts +385 -0
- package/src/Stream.ts +4540 -0
- package/src/StreamEmit.ts +83 -0
- package/src/StreamHaltStrategy.ts +111 -0
- package/src/Streamable.ts +42 -0
- package/src/String.ts +682 -0
- package/src/Struct.ts +151 -0
- package/src/SubscriptionRef.ts +273 -0
- package/src/Supervisor.ts +239 -0
- package/src/Symbol.ts +28 -0
- package/src/SynchronizedRef.ts +249 -0
- package/src/TArray.ts +494 -0
- package/src/TDeferred.ts +99 -0
- package/src/TMap.ts +510 -0
- package/src/TPriorityQueue.ts +223 -0
- package/src/TPubSub.ts +187 -0
- package/src/TQueue.ts +431 -0
- package/src/TRandom.ts +129 -0
- package/src/TReentrantLock.ts +224 -0
- package/src/TRef.ts +176 -0
- package/src/TSemaphore.ts +129 -0
- package/src/TSet.ts +349 -0
- package/src/Take.ts +257 -0
- package/src/TestAnnotation.ts +166 -0
- package/src/TestAnnotationMap.ts +124 -0
- package/src/TestAnnotations.ts +113 -0
- package/src/TestClock.ts +552 -0
- package/src/TestConfig.ts +49 -0
- package/src/TestContext.ts +35 -0
- package/src/TestLive.ts +55 -0
- package/src/TestServices.ts +392 -0
- package/src/TestSized.ts +55 -0
- package/src/Tracer.ts +119 -0
- package/src/Tuple.ts +204 -0
- package/src/Types.ts +123 -0
- package/src/Unify.ts +118 -0
- package/src/Utils.ts +699 -0
- package/src/index.ts +840 -0
- package/src/internal/Common.ts +56 -0
- package/src/internal/Context.ts +252 -0
- package/src/internal/Data.ts +55 -0
- package/src/internal/Differ/ChunkPatch.ts +209 -0
- package/src/internal/Differ/ContextPatch.ts +229 -0
- package/src/internal/Differ/HashMapPatch.ts +217 -0
- package/src/internal/Differ/HashSetPatch.ts +174 -0
- package/src/internal/Differ/OrPatch.ts +296 -0
- package/src/internal/Differ.ts +184 -0
- package/src/internal/Effectable.ts +92 -0
- package/src/internal/Either.ts +107 -0
- package/src/internal/Encoding/Base64.ts +282 -0
- package/src/internal/Encoding/Base64Url.ts +28 -0
- package/src/internal/Encoding/Common.ts +24 -0
- package/src/internal/Encoding/Hex.ts +315 -0
- package/src/internal/HashMap/array.ts +49 -0
- package/src/internal/HashMap/bitwise.ts +32 -0
- package/src/internal/HashMap/config.ts +14 -0
- package/src/internal/HashMap/keySet.ts +8 -0
- package/src/internal/HashMap/node.ts +390 -0
- package/src/internal/HashMap.ts +533 -0
- package/src/internal/HashSet.ts +319 -0
- package/src/internal/Iterable.ts +54 -0
- package/src/internal/Option.ts +79 -0
- package/src/internal/ReadonlyArray.ts +8 -0
- package/src/internal/RedBlackTree/iterator.ts +207 -0
- package/src/internal/RedBlackTree/node.ts +48 -0
- package/src/internal/RedBlackTree.ts +1195 -0
- package/src/internal/Stack.ts +4 -0
- package/src/internal/blockedRequests.ts +512 -0
- package/src/internal/cache.ts +714 -0
- package/src/internal/cause.ts +1205 -0
- package/src/internal/channel/channelExecutor.ts +1193 -0
- package/src/internal/channel/channelState.ts +132 -0
- package/src/internal/channel/childExecutorDecision.ts +95 -0
- package/src/internal/channel/continuation.ts +171 -0
- package/src/internal/channel/mergeDecision.ts +115 -0
- package/src/internal/channel/mergeState.ts +120 -0
- package/src/internal/channel/mergeStrategy.ts +72 -0
- package/src/internal/channel/singleProducerAsyncInput.ts +261 -0
- package/src/internal/channel/subexecutor.ts +229 -0
- package/src/internal/channel/upstreamPullRequest.ts +83 -0
- package/src/internal/channel/upstreamPullStrategy.ts +86 -0
- package/src/internal/channel.ts +2516 -0
- package/src/internal/clock.ts +97 -0
- package/src/internal/completedRequestMap.ts +9 -0
- package/src/internal/concurrency.ts +83 -0
- package/src/internal/config.ts +598 -0
- package/src/internal/configError.ts +291 -0
- package/src/internal/configProvider/pathPatch.ts +97 -0
- package/src/internal/configProvider.ts +692 -0
- package/src/internal/configSecret.ts +71 -0
- package/src/internal/console.ts +136 -0
- package/src/internal/core-effect.ts +2146 -0
- package/src/internal/core-stream.ts +999 -0
- package/src/internal/core.ts +2765 -0
- package/src/internal/dataSource.ts +258 -0
- package/src/internal/defaultServices/console.ts +97 -0
- package/src/internal/defaultServices.ts +140 -0
- package/src/internal/deferred.ts +44 -0
- package/src/internal/effect/circular.ts +664 -0
- package/src/internal/executionStrategy.ts +72 -0
- package/src/internal/fiber.ts +350 -0
- package/src/internal/fiberId.ts +270 -0
- package/src/internal/fiberMessage.ts +85 -0
- package/src/internal/fiberRefs/patch.ts +144 -0
- package/src/internal/fiberRefs.ts +239 -0
- package/src/internal/fiberRuntime.ts +3477 -0
- package/src/internal/fiberScope.ts +72 -0
- package/src/internal/fiberStatus.ts +118 -0
- package/src/internal/groupBy.ts +516 -0
- package/src/internal/keyedPool.ts +240 -0
- package/src/internal/layer/circular.ts +203 -0
- package/src/internal/layer.ts +1230 -0
- package/src/internal/logSpan.ts +15 -0
- package/src/internal/logger-circular.ts +24 -0
- package/src/internal/logger.ts +307 -0
- package/src/internal/metric/boundaries.ts +72 -0
- package/src/internal/metric/hook.ts +459 -0
- package/src/internal/metric/key.ts +173 -0
- package/src/internal/metric/keyType.ts +263 -0
- package/src/internal/metric/label.ts +44 -0
- package/src/internal/metric/pair.ts +48 -0
- package/src/internal/metric/polling.ts +143 -0
- package/src/internal/metric/registry.ts +188 -0
- package/src/internal/metric/state.ts +286 -0
- package/src/internal/metric.ts +522 -0
- package/src/internal/opCodes/cause.ts +35 -0
- package/src/internal/opCodes/channel.ts +83 -0
- package/src/internal/opCodes/channelChildExecutorDecision.ts +17 -0
- package/src/internal/opCodes/channelMergeDecision.ts +11 -0
- package/src/internal/opCodes/channelMergeState.ts +17 -0
- package/src/internal/opCodes/channelMergeStrategy.ts +11 -0
- package/src/internal/opCodes/channelState.ts +23 -0
- package/src/internal/opCodes/channelUpstreamPullRequest.ts +11 -0
- package/src/internal/opCodes/channelUpstreamPullStrategy.ts +11 -0
- package/src/internal/opCodes/config.ts +65 -0
- package/src/internal/opCodes/configError.ts +35 -0
- package/src/internal/opCodes/continuation.ts +11 -0
- package/src/internal/opCodes/deferred.ts +11 -0
- package/src/internal/opCodes/effect.ts +83 -0
- package/src/internal/opCodes/layer.ts +53 -0
- package/src/internal/opCodes/streamHaltStrategy.ts +23 -0
- package/src/internal/pool.ts +499 -0
- package/src/internal/pubsub.ts +1557 -0
- package/src/internal/query.ts +199 -0
- package/src/internal/queue.ts +729 -0
- package/src/internal/random.ts +88 -0
- package/src/internal/ref.ts +164 -0
- package/src/internal/reloadable.ts +164 -0
- package/src/internal/request.ts +137 -0
- package/src/internal/resource.ts +64 -0
- package/src/internal/ringBuffer.ts +68 -0
- package/src/internal/runtime.ts +348 -0
- package/src/internal/runtimeFlags.ts +176 -0
- package/src/internal/runtimeFlagsPatch.ts +103 -0
- package/src/internal/schedule/decision.ts +47 -0
- package/src/internal/schedule/interval.ts +101 -0
- package/src/internal/schedule/intervals.ts +179 -0
- package/src/internal/schedule.ts +2096 -0
- package/src/internal/scopedCache.ts +634 -0
- package/src/internal/scopedRef.ts +133 -0
- package/src/internal/singleShotGen.ts +35 -0
- package/src/internal/sink.ts +2118 -0
- package/src/internal/stm/core.ts +804 -0
- package/src/internal/stm/opCodes/stm.ts +71 -0
- package/src/internal/stm/opCodes/stmState.ts +17 -0
- package/src/internal/stm/opCodes/strategy.ts +17 -0
- package/src/internal/stm/opCodes/tExit.ts +29 -0
- package/src/internal/stm/opCodes/tryCommit.ts +11 -0
- package/src/internal/stm/stm/entry.ts +59 -0
- package/src/internal/stm/stm/journal.ts +123 -0
- package/src/internal/stm/stm/opCodes/stm.ts +71 -0
- package/src/internal/stm/stm/opCodes/stmState.ts +17 -0
- package/src/internal/stm/stm/opCodes/strategy.ts +17 -0
- package/src/internal/stm/stm/opCodes/tExit.ts +29 -0
- package/src/internal/stm/stm/opCodes/tryCommit.ts +11 -0
- package/src/internal/stm/stm/stmState.ts +130 -0
- package/src/internal/stm/stm/tExit.ts +180 -0
- package/src/internal/stm/stm/tryCommit.ts +34 -0
- package/src/internal/stm/stm/txnId.ts +14 -0
- package/src/internal/stm/stm/versioned.ts +4 -0
- package/src/internal/stm/stm.ts +1491 -0
- package/src/internal/stm/tArray.ts +550 -0
- package/src/internal/stm/tDeferred.ts +79 -0
- package/src/internal/stm/tMap.ts +824 -0
- package/src/internal/stm/tPriorityQueue.ts +259 -0
- package/src/internal/stm/tPubSub.ts +542 -0
- package/src/internal/stm/tQueue.ts +400 -0
- package/src/internal/stm/tRandom.ts +140 -0
- package/src/internal/stm/tReentrantLock.ts +352 -0
- package/src/internal/stm/tRef.ts +190 -0
- package/src/internal/stm/tSemaphore.ts +113 -0
- package/src/internal/stm/tSet.ts +237 -0
- package/src/internal/stream/debounceState.ts +57 -0
- package/src/internal/stream/emit.ts +46 -0
- package/src/internal/stream/haltStrategy.ts +85 -0
- package/src/internal/stream/handoff.ts +185 -0
- package/src/internal/stream/handoffSignal.ts +59 -0
- package/src/internal/stream/pull.ts +35 -0
- package/src/internal/stream/sinkEndReason.ts +30 -0
- package/src/internal/stream/zipAllState.ts +88 -0
- package/src/internal/stream/zipChunksState.ts +56 -0
- package/src/internal/stream.ts +8089 -0
- package/src/internal/string-utils.ts +107 -0
- package/src/internal/subscriptionRef.ts +133 -0
- package/src/internal/supervisor/patch.ts +190 -0
- package/src/internal/supervisor.ts +301 -0
- package/src/internal/synchronizedRef.ts +115 -0
- package/src/internal/take.ts +198 -0
- package/src/internal/testing/sleep.ts +27 -0
- package/src/internal/testing/suspendedWarningData.ts +85 -0
- package/src/internal/testing/warningData.ts +94 -0
- package/src/internal/timeout.ts +23 -0
- package/src/internal/tracer.ts +74 -0
- package/Error/dist/effect-Error.cjs.d.mts +0 -2
- package/Error/dist/effect-Error.cjs.d.mts.map +0 -1
- package/Error/dist/effect-Error.cjs.d.ts +0 -2
- package/Error/dist/effect-Error.cjs.d.ts.map +0 -1
- package/Error/dist/effect-Error.cjs.dev.js +0 -140
- package/Error/dist/effect-Error.cjs.js +0 -7
- package/Error/dist/effect-Error.cjs.mjs +0 -4
- package/Error/dist/effect-Error.cjs.prod.js +0 -140
- package/Error/dist/effect-Error.esm.js +0 -47
- package/Error/package.json +0 -4
- package/Hub/dist/effect-Hub.cjs.d.mts +0 -2
- package/Hub/dist/effect-Hub.cjs.d.mts.map +0 -1
- package/Hub/dist/effect-Hub.cjs.d.ts +0 -2
- package/Hub/dist/effect-Hub.cjs.d.ts.map +0 -1
- package/Hub/dist/effect-Hub.cjs.js +0 -7
- package/Hub/package.json +0 -4
- package/THub/dist/effect-THub.cjs.d.mts +0 -2
- package/THub/dist/effect-THub.cjs.d.mts.map +0 -1
- package/THub/dist/effect-THub.cjs.d.ts +0 -2
- package/THub/dist/effect-THub.cjs.d.ts.map +0 -1
- package/THub/dist/effect-THub.cjs.js +0 -7
- package/THub/dist/effect-THub.esm.js +0 -157
- package/THub/package.json +0 -4
- package/dist/declarations/src/Error.d.ts +0 -37
- package/dist/declarations/src/Error.d.ts.map +0 -1
- package/dist/declarations/src/Hub.d.ts.map +0 -1
- package/dist/declarations/src/THub.d.ts +0 -146
- package/dist/declarations/src/THub.d.ts.map +0 -1
- package/dist/scopedRef-1c2c9acf.cjs.prod.js +0 -55
- package/dist/scopedRef-ab4c58b0.cjs.dev.js +0 -55
- /package/dist/{FiberId-e594f6e8.cjs.prod.js → FiberId-1d7ac632.cjs.prod.js} +0 -0
- /package/dist/{FiberId-557db880.cjs.dev.js → FiberId-d88ddce6.cjs.dev.js} +0 -0
- /package/dist/{RuntimeFlagsPatch-ea268c50.cjs.dev.js → RuntimeFlagsPatch-69102b03.cjs.dev.js} +0 -0
- /package/dist/{RuntimeFlagsPatch-e2769b87.cjs.prod.js → RuntimeFlagsPatch-866fa259.cjs.prod.js} +0 -0
- /package/dist/{boundaries-20cfad9d.cjs.prod.js → boundaries-9af538e3.cjs.prod.js} +0 -0
- /package/dist/{boundaries-3810d885.cjs.dev.js → boundaries-f212e414.cjs.dev.js} +0 -0
- /package/dist/{configError-33e55472.cjs.prod.js → configError-b43723af.cjs.prod.js} +0 -0
- /package/dist/{configError-240e9b61.cjs.dev.js → configError-d5efe9c0.cjs.dev.js} +0 -0
- /package/dist/{configSecret-e34c1b14.cjs.dev.js → configSecret-3e8ae336.cjs.dev.js} +0 -0
- /package/dist/{configSecret-d1caca55.cjs.prod.js → configSecret-e2faa181.cjs.prod.js} +0 -0
- /package/dist/{take-2af6e92a.cjs.prod.js → take-85daaf79.cjs.prod.js} +0 -0
- /package/dist/{take-df9480a8.cjs.dev.js → take-f9ef9e2e.cjs.dev.js} +0 -0
package/src/Queue.ts
ADDED
|
@@ -0,0 +1,575 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @since 2.0.0
|
|
3
|
+
*/
|
|
4
|
+
import type * as Chunk from "./Chunk"
|
|
5
|
+
import type * as Deferred from "./Deferred"
|
|
6
|
+
import type * as Effect from "./Effect"
|
|
7
|
+
import * as internal from "./internal/queue"
|
|
8
|
+
import type * as MutableQueue from "./MutableQueue"
|
|
9
|
+
import type * as MutableRef from "./MutableRef"
|
|
10
|
+
import type * as Option from "./Option"
|
|
11
|
+
import type { Pipeable } from "./Pipeable"
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* @since 2.0.0
|
|
15
|
+
* @category symbols
|
|
16
|
+
*/
|
|
17
|
+
export const EnqueueTypeId: unique symbol = internal.EnqueueTypeId
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* @since 2.0.0
|
|
21
|
+
* @category symbols
|
|
22
|
+
*/
|
|
23
|
+
export type EnqueueTypeId = typeof EnqueueTypeId
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* @since 2.0.0
|
|
27
|
+
* @category symbols
|
|
28
|
+
*/
|
|
29
|
+
export const DequeueTypeId: unique symbol = internal.DequeueTypeId
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* @since 2.0.0
|
|
33
|
+
* @category symbols
|
|
34
|
+
*/
|
|
35
|
+
export type DequeueTypeId = typeof DequeueTypeId
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* @since 2.0.0
|
|
39
|
+
* @category symbols
|
|
40
|
+
*/
|
|
41
|
+
export const QueueStrategyTypeId: unique symbol = internal.QueueStrategyTypeId
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* @since 2.0.0
|
|
45
|
+
* @category symbols
|
|
46
|
+
*/
|
|
47
|
+
export type QueueStrategyTypeId = typeof QueueStrategyTypeId
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* @since 2.0.0
|
|
51
|
+
* @category models
|
|
52
|
+
*/
|
|
53
|
+
export interface Queue<A> extends Enqueue<A>, Dequeue<A>, Pipeable {
|
|
54
|
+
/** @internal */
|
|
55
|
+
readonly queue: BackingQueue<A>
|
|
56
|
+
/** @internal */
|
|
57
|
+
readonly takers: MutableQueue.MutableQueue<Deferred.Deferred<never, A>>
|
|
58
|
+
/** @internal */
|
|
59
|
+
readonly shutdownHook: Deferred.Deferred<never, void>
|
|
60
|
+
/** @internal */
|
|
61
|
+
readonly shutdownFlag: MutableRef.MutableRef<boolean>
|
|
62
|
+
/** @internal */
|
|
63
|
+
readonly strategy: Strategy<A>
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* @since 2.0.0
|
|
68
|
+
* @category models
|
|
69
|
+
*/
|
|
70
|
+
export interface Enqueue<A> extends Queue.EnqueueVariance<A>, BaseQueue, Pipeable {
|
|
71
|
+
/**
|
|
72
|
+
* Places one value in the queue.
|
|
73
|
+
*/
|
|
74
|
+
offer(value: A): Effect.Effect<never, never, boolean>
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* Places one value in the queue when possible without needing the fiber runtime.
|
|
78
|
+
*/
|
|
79
|
+
unsafeOffer(value: A): boolean
|
|
80
|
+
|
|
81
|
+
/**
|
|
82
|
+
* For Bounded Queue: uses the `BackPressure` Strategy, places the values in
|
|
83
|
+
* the queue and always returns true. If the queue has reached capacity, then
|
|
84
|
+
* the fiber performing the `offerAll` will be suspended until there is room
|
|
85
|
+
* in the queue.
|
|
86
|
+
*
|
|
87
|
+
* For Unbounded Queue: Places all values in the queue and returns true.
|
|
88
|
+
*
|
|
89
|
+
* For Sliding Queue: uses `Sliding` Strategy If there is room in the queue,
|
|
90
|
+
* it places the values otherwise it removes the old elements and enqueues the
|
|
91
|
+
* new ones. Always returns true.
|
|
92
|
+
*
|
|
93
|
+
* For Dropping Queue: uses `Dropping` Strategy, It places the values in the
|
|
94
|
+
* queue but if there is no room it will not enqueue them and return false.
|
|
95
|
+
*/
|
|
96
|
+
offerAll(iterable: Iterable<A>): Effect.Effect<never, never, boolean>
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* @since 2.0.0
|
|
101
|
+
* @category models
|
|
102
|
+
*/
|
|
103
|
+
export interface Dequeue<A> extends Queue.DequeueVariance<A>, BaseQueue, Pipeable {
|
|
104
|
+
/**
|
|
105
|
+
* Takes the oldest value in the queue. If the queue is empty, this will return
|
|
106
|
+
* a computation that resumes when an item has been added to the queue.
|
|
107
|
+
*/
|
|
108
|
+
take(): Effect.Effect<never, never, A>
|
|
109
|
+
|
|
110
|
+
/**
|
|
111
|
+
* Takes all the values in the queue and returns the values. If the queue is
|
|
112
|
+
* empty returns an empty collection.
|
|
113
|
+
*/
|
|
114
|
+
takeAll(): Effect.Effect<never, never, Chunk.Chunk<A>>
|
|
115
|
+
|
|
116
|
+
/**
|
|
117
|
+
* Takes up to max number of values from the queue.
|
|
118
|
+
*/
|
|
119
|
+
takeUpTo(max: number): Effect.Effect<never, never, Chunk.Chunk<A>>
|
|
120
|
+
|
|
121
|
+
/**
|
|
122
|
+
* Takes a number of elements from the queue between the specified minimum and
|
|
123
|
+
* maximum. If there are fewer than the minimum number of elements available,
|
|
124
|
+
* suspends until at least the minimum number of elements have been collected.
|
|
125
|
+
*/
|
|
126
|
+
takeBetween(min: number, max: number): Effect.Effect<never, never, Chunk.Chunk<A>>
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
/**
|
|
130
|
+
* The base interface that all `Queue`s must implement.
|
|
131
|
+
*
|
|
132
|
+
* @since 2.0.0
|
|
133
|
+
* @category models
|
|
134
|
+
*/
|
|
135
|
+
export interface BaseQueue {
|
|
136
|
+
/**
|
|
137
|
+
* Returns the number of elements the queue can hold.
|
|
138
|
+
*/
|
|
139
|
+
capacity(): number
|
|
140
|
+
|
|
141
|
+
/**
|
|
142
|
+
* Returns false if shutdown has been called.
|
|
143
|
+
*/
|
|
144
|
+
isActive(): boolean
|
|
145
|
+
|
|
146
|
+
/**
|
|
147
|
+
* Retrieves the size of the queue, which is equal to the number of elements
|
|
148
|
+
* in the queue. This may be negative if fibers are suspended waiting for
|
|
149
|
+
* elements to be added to the queue.
|
|
150
|
+
*/
|
|
151
|
+
size(): Effect.Effect<never, never, number>
|
|
152
|
+
|
|
153
|
+
/**
|
|
154
|
+
* Retrieves the size of the queue, which is equal to the number of elements
|
|
155
|
+
* in the queue. This may be negative if fibers are suspended waiting for
|
|
156
|
+
* elements to be added to the queue. Returns None if shutdown has been called
|
|
157
|
+
*/
|
|
158
|
+
unsafeSize(): Option.Option<number>
|
|
159
|
+
|
|
160
|
+
/**
|
|
161
|
+
* Returns `true` if the `Queue` contains at least one element, `false`
|
|
162
|
+
* otherwise.
|
|
163
|
+
*/
|
|
164
|
+
isFull(): Effect.Effect<never, never, boolean>
|
|
165
|
+
|
|
166
|
+
/**
|
|
167
|
+
* Returns `true` if the `Queue` contains zero elements, `false` otherwise.
|
|
168
|
+
*/
|
|
169
|
+
isEmpty(): Effect.Effect<never, never, boolean>
|
|
170
|
+
|
|
171
|
+
/**
|
|
172
|
+
* Interrupts any fibers that are suspended on `offer` or `take`. Future calls
|
|
173
|
+
* to `offer*` and `take*` will be interrupted immediately.
|
|
174
|
+
*/
|
|
175
|
+
shutdown(): Effect.Effect<never, never, void>
|
|
176
|
+
|
|
177
|
+
/**
|
|
178
|
+
* Returns `true` if `shutdown` has been called, otherwise returns `false`.
|
|
179
|
+
*/
|
|
180
|
+
isShutdown(): Effect.Effect<never, never, boolean>
|
|
181
|
+
|
|
182
|
+
/**
|
|
183
|
+
* Waits until the queue is shutdown. The `Effect` returned by this method will
|
|
184
|
+
* not resume until the queue has been shutdown. If the queue is already
|
|
185
|
+
* shutdown, the `Effect` will resume right away.
|
|
186
|
+
*/
|
|
187
|
+
awaitShutdown(): Effect.Effect<never, never, void>
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
/**
|
|
191
|
+
* @since 2.0.0
|
|
192
|
+
* @category models
|
|
193
|
+
*/
|
|
194
|
+
export interface Strategy<A> extends Queue.StrategyVariance<A> {
|
|
195
|
+
/**
|
|
196
|
+
* Returns the number of surplus values that were unable to be added to the
|
|
197
|
+
* `Queue`
|
|
198
|
+
*/
|
|
199
|
+
surplusSize(): number
|
|
200
|
+
|
|
201
|
+
/**
|
|
202
|
+
* Determines how the `Queue.Strategy` should shut down when the `Queue` is
|
|
203
|
+
* shut down.
|
|
204
|
+
*/
|
|
205
|
+
shutdown(): Effect.Effect<never, never, void>
|
|
206
|
+
|
|
207
|
+
/**
|
|
208
|
+
* Determines the behavior of the `Queue.Strategy` when there are surplus
|
|
209
|
+
* values that could not be added to the `Queue` following an `offer`
|
|
210
|
+
* operation.
|
|
211
|
+
*/
|
|
212
|
+
handleSurplus(
|
|
213
|
+
iterable: Iterable<A>,
|
|
214
|
+
queue: BackingQueue<A>,
|
|
215
|
+
takers: MutableQueue.MutableQueue<Deferred.Deferred<never, A>>,
|
|
216
|
+
isShutdown: MutableRef.MutableRef<boolean>
|
|
217
|
+
): Effect.Effect<never, never, boolean>
|
|
218
|
+
|
|
219
|
+
/**
|
|
220
|
+
* Determines the behavior of the `Queue.Strategy` when the `Queue` has empty
|
|
221
|
+
* slots following a `take` operation.
|
|
222
|
+
*/
|
|
223
|
+
unsafeOnQueueEmptySpace(
|
|
224
|
+
queue: BackingQueue<A>,
|
|
225
|
+
takers: MutableQueue.MutableQueue<Deferred.Deferred<never, A>>
|
|
226
|
+
): void
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
/**
|
|
230
|
+
* @since 2.0.0
|
|
231
|
+
* @category models
|
|
232
|
+
*/
|
|
233
|
+
export interface BackingQueue<A> {
|
|
234
|
+
/**
|
|
235
|
+
* Dequeues an element from the queue.
|
|
236
|
+
* Returns either an element from the queue, or the `def` param.
|
|
237
|
+
*/
|
|
238
|
+
poll<Def>(def: Def): A | Def
|
|
239
|
+
/**
|
|
240
|
+
* Dequeues up to `limit` elements from the queue.
|
|
241
|
+
*/
|
|
242
|
+
pollUpTo(limit: number): Chunk.Chunk<A>
|
|
243
|
+
/**
|
|
244
|
+
* Enqueues a collection of values into the queue.
|
|
245
|
+
*
|
|
246
|
+
* Returns a `Chunk` of the values that were **not** able to be enqueued.
|
|
247
|
+
*/
|
|
248
|
+
offerAll(elements: Iterable<A>): Chunk.Chunk<A>
|
|
249
|
+
/**
|
|
250
|
+
* Offers an element to the queue.
|
|
251
|
+
*
|
|
252
|
+
* Returns whether the enqueue was successful or not.
|
|
253
|
+
*/
|
|
254
|
+
offer(element: A): boolean
|
|
255
|
+
/**
|
|
256
|
+
* The **maximum** number of elements that a queue can hold.
|
|
257
|
+
*
|
|
258
|
+
* **Note**: unbounded queues can still implement this interface with
|
|
259
|
+
* `capacity = Infinity`.
|
|
260
|
+
*/
|
|
261
|
+
capacity(): number
|
|
262
|
+
/**
|
|
263
|
+
* Returns the number of elements currently in the queue
|
|
264
|
+
*/
|
|
265
|
+
length(): number
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
/**
|
|
269
|
+
* @since 2.0.0
|
|
270
|
+
*/
|
|
271
|
+
export declare namespace Queue {
|
|
272
|
+
/**
|
|
273
|
+
* @since 2.0.0
|
|
274
|
+
* @category models
|
|
275
|
+
*/
|
|
276
|
+
export interface EnqueueVariance<A> {
|
|
277
|
+
readonly [EnqueueTypeId]: {
|
|
278
|
+
readonly _In: (_: A) => void
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
/**
|
|
283
|
+
* @since 2.0.0
|
|
284
|
+
* @category models
|
|
285
|
+
*/
|
|
286
|
+
export interface DequeueVariance<A> {
|
|
287
|
+
readonly [DequeueTypeId]: {
|
|
288
|
+
readonly _Out: (_: never) => A
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
/**
|
|
293
|
+
* @since 2.0.0
|
|
294
|
+
* @category models
|
|
295
|
+
*/
|
|
296
|
+
export interface StrategyVariance<A> {
|
|
297
|
+
readonly [QueueStrategyTypeId]: {
|
|
298
|
+
readonly _A: (_: never) => A
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
/**
|
|
304
|
+
* Returns `true` if the specified value is a `Queue`, `false` otherwise.
|
|
305
|
+
*
|
|
306
|
+
* @since 2.0.0
|
|
307
|
+
* @category refinements
|
|
308
|
+
*/
|
|
309
|
+
export const isQueue: (u: unknown) => u is Queue<unknown> = internal.isQueue
|
|
310
|
+
|
|
311
|
+
/**
|
|
312
|
+
* Returns `true` if the specified value is a `Dequeue`, `false` otherwise.
|
|
313
|
+
*
|
|
314
|
+
* @since 2.0.0
|
|
315
|
+
* @category refinements
|
|
316
|
+
*/
|
|
317
|
+
export const isDequeue: (u: unknown) => u is Dequeue<unknown> = internal.isDequeue
|
|
318
|
+
|
|
319
|
+
/**
|
|
320
|
+
* Returns `true` if the specified value is a `Enqueue`, `false` otherwise.
|
|
321
|
+
*
|
|
322
|
+
* @since 2.0.0
|
|
323
|
+
* @category refinements
|
|
324
|
+
*/
|
|
325
|
+
export const isEnqueue: (u: unknown) => u is Enqueue<unknown> = internal.isEnqueue
|
|
326
|
+
|
|
327
|
+
/**
|
|
328
|
+
* @since 2.0.0
|
|
329
|
+
* @category strategies
|
|
330
|
+
*/
|
|
331
|
+
export const backPressureStrategy: <A>() => Strategy<A> = internal.backPressureStrategy
|
|
332
|
+
|
|
333
|
+
/**
|
|
334
|
+
* @since 2.0.0
|
|
335
|
+
* @category strategies
|
|
336
|
+
*/
|
|
337
|
+
export const droppingStrategy: <A>() => Strategy<A> = internal.droppingStrategy
|
|
338
|
+
|
|
339
|
+
/**
|
|
340
|
+
* @since 2.0.0
|
|
341
|
+
* @category strategies
|
|
342
|
+
*/
|
|
343
|
+
export const slidingStrategy: <A>() => Strategy<A> = internal.slidingStrategy
|
|
344
|
+
|
|
345
|
+
/**
|
|
346
|
+
* @since 2.0.0
|
|
347
|
+
* @category constructors
|
|
348
|
+
*/
|
|
349
|
+
export const make: <A>(queue: BackingQueue<A>, strategy: Strategy<A>) => Effect.Effect<never, never, Queue<A>> =
|
|
350
|
+
internal.make
|
|
351
|
+
|
|
352
|
+
/**
|
|
353
|
+
* Makes a new bounded `Queue`. When the capacity of the queue is reached, any
|
|
354
|
+
* additional calls to `offer` will be suspended until there is more room in
|
|
355
|
+
* the queue.
|
|
356
|
+
*
|
|
357
|
+
* **Note**: When possible use only power of 2 capacities; this will provide
|
|
358
|
+
* better performance by utilising an optimised version of the underlying
|
|
359
|
+
* `RingBuffer`.
|
|
360
|
+
*
|
|
361
|
+
* @since 2.0.0
|
|
362
|
+
* @category constructors
|
|
363
|
+
*/
|
|
364
|
+
export const bounded: <A>(requestedCapacity: number) => Effect.Effect<never, never, Queue<A>> = internal.bounded
|
|
365
|
+
|
|
366
|
+
/**
|
|
367
|
+
* Makes a new bounded `Queue` with the dropping strategy.
|
|
368
|
+
*
|
|
369
|
+
* When the capacity of the queue is reached, new elements will be dropped and the
|
|
370
|
+
* old elements will remain.
|
|
371
|
+
*
|
|
372
|
+
* **Note**: When possible use only power of 2 capacities; this will provide
|
|
373
|
+
* better performance by utilising an optimised version of the underlying
|
|
374
|
+
* `RingBuffer`.
|
|
375
|
+
*
|
|
376
|
+
* @since 2.0.0
|
|
377
|
+
* @category constructors
|
|
378
|
+
*/
|
|
379
|
+
export const dropping: <A>(requestedCapacity: number) => Effect.Effect<never, never, Queue<A>> = internal.dropping
|
|
380
|
+
|
|
381
|
+
/**
|
|
382
|
+
* Makes a new bounded `Queue` with the sliding strategy.
|
|
383
|
+
*
|
|
384
|
+
* When the capacity of the queue is reached, new elements will be added and the
|
|
385
|
+
* old elements will be dropped.
|
|
386
|
+
*
|
|
387
|
+
* **Note**: When possible use only power of 2 capacities; this will provide
|
|
388
|
+
* better performance by utilising an optimised version of the underlying
|
|
389
|
+
* `RingBuffer`.
|
|
390
|
+
*
|
|
391
|
+
* @since 2.0.0
|
|
392
|
+
* @category constructors
|
|
393
|
+
*/
|
|
394
|
+
export const sliding: <A>(requestedCapacity: number) => Effect.Effect<never, never, Queue<A>> = internal.sliding
|
|
395
|
+
|
|
396
|
+
/**
|
|
397
|
+
* Creates a new unbounded `Queue`.
|
|
398
|
+
*
|
|
399
|
+
* @since 2.0.0
|
|
400
|
+
* @category constructors
|
|
401
|
+
*/
|
|
402
|
+
export const unbounded: <A>() => Effect.Effect<never, never, Queue<A>> = internal.unbounded
|
|
403
|
+
|
|
404
|
+
/**
|
|
405
|
+
* Returns the number of elements the queue can hold.
|
|
406
|
+
*
|
|
407
|
+
* @since 2.0.0
|
|
408
|
+
* @category getters
|
|
409
|
+
*/
|
|
410
|
+
export const capacity: <A>(self: Dequeue<A> | Enqueue<A>) => number = internal.capacity
|
|
411
|
+
|
|
412
|
+
/**
|
|
413
|
+
* Retrieves the size of the queue, which is equal to the number of elements
|
|
414
|
+
* in the queue. This may be negative if fibers are suspended waiting for
|
|
415
|
+
* elements to be added to the queue.
|
|
416
|
+
*
|
|
417
|
+
* @since 2.0.0
|
|
418
|
+
* @category getters
|
|
419
|
+
*/
|
|
420
|
+
export const size: <A>(self: Dequeue<A> | Enqueue<A>) => Effect.Effect<never, never, number> = internal.size
|
|
421
|
+
|
|
422
|
+
/**
|
|
423
|
+
* Returns `true` if the `Queue` contains zero elements, `false` otherwise.
|
|
424
|
+
*
|
|
425
|
+
* @since 2.0.0
|
|
426
|
+
* @category getters
|
|
427
|
+
*/
|
|
428
|
+
export const isEmpty: <A>(self: Dequeue<A> | Enqueue<A>) => Effect.Effect<never, never, boolean> = internal.isEmpty
|
|
429
|
+
|
|
430
|
+
/**
|
|
431
|
+
* Returns `true` if the `Queue` contains at least one element, `false`
|
|
432
|
+
* otherwise.
|
|
433
|
+
*
|
|
434
|
+
* @since 2.0.0
|
|
435
|
+
* @category getters
|
|
436
|
+
*/
|
|
437
|
+
export const isFull: <A>(self: Dequeue<A> | Enqueue<A>) => Effect.Effect<never, never, boolean> = internal.isFull
|
|
438
|
+
|
|
439
|
+
/**
|
|
440
|
+
* Returns `true` if `shutdown` has been called, otherwise returns `false`.
|
|
441
|
+
*
|
|
442
|
+
* @since 2.0.0
|
|
443
|
+
* @category getters
|
|
444
|
+
*/
|
|
445
|
+
export const isShutdown: <A>(self: Dequeue<A> | Enqueue<A>) => Effect.Effect<never, never, boolean> =
|
|
446
|
+
internal.isShutdown
|
|
447
|
+
|
|
448
|
+
/**
|
|
449
|
+
* Waits until the queue is shutdown. The `Effect` returned by this method will
|
|
450
|
+
* not resume until the queue has been shutdown. If the queue is already
|
|
451
|
+
* shutdown, the `Effect` will resume right away.
|
|
452
|
+
*
|
|
453
|
+
* @since 2.0.0
|
|
454
|
+
* @category utils
|
|
455
|
+
*/
|
|
456
|
+
export const awaitShutdown: <A>(self: Dequeue<A> | Enqueue<A>) => Effect.Effect<never, never, void> =
|
|
457
|
+
internal.awaitShutdown
|
|
458
|
+
|
|
459
|
+
/**
|
|
460
|
+
* Interrupts any fibers that are suspended on `offer` or `take`. Future calls
|
|
461
|
+
* to `offer*` and `take*` will be interrupted immediately.
|
|
462
|
+
*
|
|
463
|
+
* @since 2.0.0
|
|
464
|
+
* @category utils
|
|
465
|
+
*/
|
|
466
|
+
export const shutdown: <A>(self: Dequeue<A> | Enqueue<A>) => Effect.Effect<never, never, void> = internal.shutdown
|
|
467
|
+
|
|
468
|
+
/**
|
|
469
|
+
* Places one value in the queue.
|
|
470
|
+
*
|
|
471
|
+
* @since 2.0.0
|
|
472
|
+
* @category utils
|
|
473
|
+
*/
|
|
474
|
+
export const offer: {
|
|
475
|
+
<A>(value: A): (self: Enqueue<A>) => Effect.Effect<never, never, boolean>
|
|
476
|
+
<A>(self: Enqueue<A>, value: A): Effect.Effect<never, never, boolean>
|
|
477
|
+
} = internal.offer
|
|
478
|
+
|
|
479
|
+
/**
|
|
480
|
+
* Places one value in the queue.
|
|
481
|
+
*
|
|
482
|
+
* @since 2.0.0
|
|
483
|
+
* @category utils
|
|
484
|
+
*/
|
|
485
|
+
export const unsafeOffer: {
|
|
486
|
+
<A>(value: A): (self: Enqueue<A>) => boolean
|
|
487
|
+
<A>(self: Enqueue<A>, value: A): boolean
|
|
488
|
+
} = internal.unsafeOffer
|
|
489
|
+
|
|
490
|
+
/**
|
|
491
|
+
* For Bounded Queue: uses the `BackPressure` Strategy, places the values in
|
|
492
|
+
* the queue and always returns true. If the queue has reached capacity, then
|
|
493
|
+
* the fiber performing the `offerAll` will be suspended until there is room
|
|
494
|
+
* in the queue.
|
|
495
|
+
*
|
|
496
|
+
* For Unbounded Queue: Places all values in the queue and returns true.
|
|
497
|
+
*
|
|
498
|
+
* For Sliding Queue: uses `Sliding` Strategy If there is room in the queue,
|
|
499
|
+
* it places the values otherwise it removes the old elements and enqueues the
|
|
500
|
+
* new ones. Always returns true.
|
|
501
|
+
*
|
|
502
|
+
* For Dropping Queue: uses `Dropping` Strategy, It places the values in the
|
|
503
|
+
* queue but if there is no room it will not enqueue them and return false.
|
|
504
|
+
*
|
|
505
|
+
* @since 2.0.0
|
|
506
|
+
* @category utils
|
|
507
|
+
*/
|
|
508
|
+
export const offerAll: {
|
|
509
|
+
<A>(iterable: Iterable<A>): (self: Enqueue<A>) => Effect.Effect<never, never, boolean>
|
|
510
|
+
<A>(self: Enqueue<A>, iterable: Iterable<A>): Effect.Effect<never, never, boolean>
|
|
511
|
+
} = internal.offerAll
|
|
512
|
+
|
|
513
|
+
/**
|
|
514
|
+
* Returns the first value in the `Queue` as a `Some<A>`, or `None` if the queue
|
|
515
|
+
* is empty.
|
|
516
|
+
*
|
|
517
|
+
* @since 2.0.0
|
|
518
|
+
* @category utils
|
|
519
|
+
*/
|
|
520
|
+
export const poll: <A>(self: Dequeue<A>) => Effect.Effect<never, never, Option.Option<A>> = internal.poll
|
|
521
|
+
|
|
522
|
+
/**
|
|
523
|
+
* Takes the oldest value in the queue. If the queue is empty, this will return
|
|
524
|
+
* a computation that resumes when an item has been added to the queue.
|
|
525
|
+
*
|
|
526
|
+
* @since 2.0.0
|
|
527
|
+
* @category utils
|
|
528
|
+
*/
|
|
529
|
+
export const take: <A>(self: Dequeue<A>) => Effect.Effect<never, never, A> = internal.take
|
|
530
|
+
|
|
531
|
+
/**
|
|
532
|
+
* Takes all the values in the queue and returns the values. If the queue is
|
|
533
|
+
* empty returns an empty collection.
|
|
534
|
+
*
|
|
535
|
+
* @since 2.0.0
|
|
536
|
+
* @category utils
|
|
537
|
+
*/
|
|
538
|
+
export const takeAll: <A>(self: Dequeue<A>) => Effect.Effect<never, never, Chunk.Chunk<A>> = internal.takeAll
|
|
539
|
+
|
|
540
|
+
/**
|
|
541
|
+
* Takes up to max number of values from the queue.
|
|
542
|
+
*
|
|
543
|
+
* @since 2.0.0
|
|
544
|
+
* @category utils
|
|
545
|
+
*/
|
|
546
|
+
export const takeUpTo: {
|
|
547
|
+
(max: number): <A>(self: Dequeue<A>) => Effect.Effect<never, never, Chunk.Chunk<A>>
|
|
548
|
+
<A>(self: Dequeue<A>, max: number): Effect.Effect<never, never, Chunk.Chunk<A>>
|
|
549
|
+
} = internal.takeUpTo
|
|
550
|
+
|
|
551
|
+
/**
|
|
552
|
+
* Takes a number of elements from the queue between the specified minimum and
|
|
553
|
+
* maximum. If there are fewer than the minimum number of elements available,
|
|
554
|
+
* suspends until at least the minimum number of elements have been collected.
|
|
555
|
+
*
|
|
556
|
+
* @since 2.0.0
|
|
557
|
+
* @category utils
|
|
558
|
+
*/
|
|
559
|
+
export const takeBetween: {
|
|
560
|
+
(min: number, max: number): <A>(self: Dequeue<A>) => Effect.Effect<never, never, Chunk.Chunk<A>>
|
|
561
|
+
<A>(self: Dequeue<A>, min: number, max: number): Effect.Effect<never, never, Chunk.Chunk<A>>
|
|
562
|
+
} = internal.takeBetween
|
|
563
|
+
|
|
564
|
+
/**
|
|
565
|
+
* Takes the specified number of elements from the queue. If there are fewer
|
|
566
|
+
* than the specified number of elements available, it suspends until they
|
|
567
|
+
* become available.
|
|
568
|
+
*
|
|
569
|
+
* @since 2.0.0
|
|
570
|
+
* @category utils
|
|
571
|
+
*/
|
|
572
|
+
export const takeN: {
|
|
573
|
+
(n: number): <A>(self: Dequeue<A>) => Effect.Effect<never, never, Chunk.Chunk<A>>
|
|
574
|
+
<A>(self: Dequeue<A>, n: number): Effect.Effect<never, never, Chunk.Chunk<A>>
|
|
575
|
+
} = internal.takeN
|
package/src/Random.ts
ADDED
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @since 2.0.0
|
|
3
|
+
*/
|
|
4
|
+
import type * as Chunk from "./Chunk"
|
|
5
|
+
import type * as Effect from "./Effect"
|
|
6
|
+
import * as defaultServices from "./internal/defaultServices"
|
|
7
|
+
import * as internal from "./internal/random"
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* @since 2.0.0
|
|
11
|
+
* @category symbols
|
|
12
|
+
*/
|
|
13
|
+
export const RandomTypeId: unique symbol = internal.RandomTypeId
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* @since 2.0.0
|
|
17
|
+
* @category symbols
|
|
18
|
+
*/
|
|
19
|
+
export type RandomTypeId = typeof RandomTypeId
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* @since 2.0.0
|
|
23
|
+
* @category models
|
|
24
|
+
*/
|
|
25
|
+
export interface Random {
|
|
26
|
+
readonly [RandomTypeId]: RandomTypeId
|
|
27
|
+
/**
|
|
28
|
+
* Returns the next numeric value from the pseudo-random number generator.
|
|
29
|
+
*/
|
|
30
|
+
next(): Effect.Effect<never, never, number>
|
|
31
|
+
/**
|
|
32
|
+
* Returns the next boolean value from the pseudo-random number generator.
|
|
33
|
+
*/
|
|
34
|
+
nextBoolean(): Effect.Effect<never, never, boolean>
|
|
35
|
+
/**
|
|
36
|
+
* Returns the next integer value from the pseudo-random number generator.
|
|
37
|
+
*/
|
|
38
|
+
nextInt(): Effect.Effect<never, never, number>
|
|
39
|
+
/**
|
|
40
|
+
* Returns the next numeric value in the specified range from the
|
|
41
|
+
* pseudo-random number generator.
|
|
42
|
+
*/
|
|
43
|
+
nextRange(min: number, max: number): Effect.Effect<never, never, number>
|
|
44
|
+
/**
|
|
45
|
+
* Returns the next integer value in the specified range from the
|
|
46
|
+
* pseudo-random number generator.
|
|
47
|
+
*/
|
|
48
|
+
nextIntBetween(min: number, max: number): Effect.Effect<never, never, number>
|
|
49
|
+
/**
|
|
50
|
+
* Uses the pseudo-random number generator to shuffle the specified iterable.
|
|
51
|
+
*/
|
|
52
|
+
shuffle<A>(elements: Iterable<A>): Effect.Effect<never, never, Chunk.Chunk<A>>
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* Returns the next numeric value from the pseudo-random number generator.
|
|
57
|
+
*
|
|
58
|
+
* @since 2.0.0
|
|
59
|
+
* @category constructors
|
|
60
|
+
*/
|
|
61
|
+
export const next: Effect.Effect<never, never, number> = defaultServices.next
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* Returns the next integer value from the pseudo-random number generator.
|
|
65
|
+
*
|
|
66
|
+
* @since 2.0.0
|
|
67
|
+
* @category constructors
|
|
68
|
+
*/
|
|
69
|
+
export const nextInt: Effect.Effect<never, never, number> = defaultServices.nextInt
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* Returns the next boolean value from the pseudo-random number generator.
|
|
73
|
+
*
|
|
74
|
+
* @since 2.0.0
|
|
75
|
+
* @category constructors
|
|
76
|
+
*/
|
|
77
|
+
export const nextBoolean: Effect.Effect<never, never, boolean> = defaultServices.nextBoolean
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* Returns the next numeric value in the specified range from the
|
|
81
|
+
* pseudo-random number generator.
|
|
82
|
+
*
|
|
83
|
+
* @since 2.0.0
|
|
84
|
+
* @category constructors
|
|
85
|
+
*/
|
|
86
|
+
export const nextRange: (min: number, max: number) => Effect.Effect<never, never, number> = defaultServices.nextRange
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* Returns the next integer value in the specified range from the
|
|
90
|
+
* pseudo-random number generator.
|
|
91
|
+
*
|
|
92
|
+
* @since 2.0.0
|
|
93
|
+
* @category constructors
|
|
94
|
+
*/
|
|
95
|
+
export const nextIntBetween: (min: number, max: number) => Effect.Effect<never, never, number> =
|
|
96
|
+
defaultServices.nextIntBetween
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
* Uses the pseudo-random number generator to shuffle the specified iterable.
|
|
100
|
+
*
|
|
101
|
+
* @since 2.0.0
|
|
102
|
+
* @category constructors
|
|
103
|
+
*/
|
|
104
|
+
export const shuffle: <A>(elements: Iterable<A>) => Effect.Effect<never, never, Chunk.Chunk<A>> =
|
|
105
|
+
defaultServices.shuffle
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* Retreives the `Random` service from the context and uses it to run the
|
|
109
|
+
* specified workflow.
|
|
110
|
+
*
|
|
111
|
+
* @since 2.0.0
|
|
112
|
+
* @category constructors
|
|
113
|
+
*/
|
|
114
|
+
export const randomWith: <R, E, A>(f: (random: Random) => Effect.Effect<R, E, A>) => Effect.Effect<R, E, A> =
|
|
115
|
+
defaultServices.randomWith
|