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
|
@@ -4,14 +4,14 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var Chunk_dist_effectChunk = require('../../Chunk/dist/effect-Chunk.cjs.prod.js');
|
|
6
6
|
var Function_dist_effectFunction = require('../../Function/dist/effect-Function.cjs.prod.js');
|
|
7
|
-
var core = require('../../dist/core-0b0539de.cjs.prod.js');
|
|
8
|
-
var ExecutionStrategy_dist_effectExecutionStrategy = require('../../dist/ExecutionStrategy-14d3053a.cjs.prod.js');
|
|
9
|
-
var fiberRuntime = require('../../dist/fiberRuntime-2d31e120.cjs.prod.js');
|
|
10
|
-
var queue = require('../../dist/queue-27ac9d98.cjs.prod.js');
|
|
11
7
|
var MutableQueue_dist_effectMutableQueue = require('../../MutableQueue/dist/effect-MutableQueue.cjs.prod.js');
|
|
12
8
|
var MutableRef_dist_effectMutableRef = require('../../MutableRef/dist/effect-MutableRef.cjs.prod.js');
|
|
13
9
|
var Option_dist_effectOption = require('../../Option/dist/effect-Option.cjs.prod.js');
|
|
14
10
|
var Pipeable_dist_effectPipeable = require('../../Pipeable/dist/effect-Pipeable.cjs.prod.js');
|
|
11
|
+
var core = require('../../dist/core-07202cc0.cjs.prod.js');
|
|
12
|
+
var ExecutionStrategy_dist_effectExecutionStrategy = require('../../dist/ExecutionStrategy-4808fe5d.cjs.prod.js');
|
|
13
|
+
var fiberRuntime = require('../../dist/fiberRuntime-31ae011f.cjs.prod.js');
|
|
14
|
+
var queue = require('../../dist/queue-315ea45d.cjs.prod.js');
|
|
15
15
|
require('../../Equal/dist/effect-Equal.cjs.prod.js');
|
|
16
16
|
require('../../Hash/dist/effect-Hash.cjs.prod.js');
|
|
17
17
|
require('../../GlobalValue/dist/effect-GlobalValue.cjs.prod.js');
|
|
@@ -22,59 +22,59 @@ require('../../Inspectable/dist/effect-Inspectable.cjs.prod.js');
|
|
|
22
22
|
require('../../Order/dist/effect-Order.cjs.prod.js');
|
|
23
23
|
require('../../ReadonlyArray/dist/effect-ReadonlyArray.cjs.prod.js');
|
|
24
24
|
require('../../Either/dist/effect-Either.cjs.prod.js');
|
|
25
|
-
require('../../dist/Either-
|
|
26
|
-
require('../../dist/
|
|
27
|
-
require('../../
|
|
25
|
+
require('../../dist/Either-d43f082c.cjs.prod.js');
|
|
26
|
+
require('../../dist/Option-935e5d7c.cjs.prod.js');
|
|
27
|
+
require('../../dist/Effectable-c4c14a2b.cjs.prod.js');
|
|
28
28
|
require('../../dist/ReadonlyArray-f9ed7a05.cjs.prod.js');
|
|
29
29
|
require('../../ReadonlyRecord/dist/effect-ReadonlyRecord.cjs.prod.js');
|
|
30
|
+
require('../../Number/dist/effect-Number.cjs.prod.js');
|
|
31
|
+
require('../../MutableList/dist/effect-MutableList.cjs.prod.js');
|
|
30
32
|
require('../../Context/dist/effect-Context.cjs.prod.js');
|
|
31
|
-
require('../../dist/Context-
|
|
33
|
+
require('../../dist/Context-9fe5eb16.cjs.prod.js');
|
|
32
34
|
require('../../Differ/dist/effect-Differ.cjs.prod.js');
|
|
33
35
|
require('../../HashMap/dist/effect-HashMap.cjs.prod.js');
|
|
34
|
-
require('../../dist/HashSet-
|
|
36
|
+
require('../../dist/HashSet-ac02a3e1.cjs.prod.js');
|
|
35
37
|
require('../../dist/Stack-fc8f9fe5.cjs.prod.js');
|
|
36
38
|
require('../../HashSet/dist/effect-HashSet.cjs.prod.js');
|
|
37
|
-
require('../../dist/FiberId-
|
|
39
|
+
require('../../dist/FiberId-1d7ac632.cjs.prod.js');
|
|
38
40
|
require('../../List/dist/effect-List.cjs.prod.js');
|
|
39
|
-
require('../../dist/RuntimeFlagsPatch-
|
|
41
|
+
require('../../dist/RuntimeFlagsPatch-866fa259.cjs.prod.js');
|
|
40
42
|
require('../../Boolean/dist/effect-Boolean.cjs.prod.js');
|
|
41
43
|
require('../../Deferred/dist/effect-Deferred.cjs.prod.js');
|
|
42
44
|
require('../../FiberRefs/dist/effect-FiberRefs.cjs.prod.js');
|
|
43
|
-
require('../../dist/fiberRefs-
|
|
45
|
+
require('../../dist/fiberRefs-558c17e6.cjs.prod.js');
|
|
44
46
|
require('../../FiberRefsPatch/dist/effect-FiberRefsPatch.cjs.prod.js');
|
|
45
|
-
require('../../dist/patch-
|
|
47
|
+
require('../../dist/patch-7c559bb2.cjs.prod.js');
|
|
46
48
|
require('../../FiberStatus/dist/effect-FiberStatus.cjs.prod.js');
|
|
47
|
-
require('../../dist/defaultServices-
|
|
49
|
+
require('../../dist/defaultServices-9d7ce86f.cjs.prod.js');
|
|
48
50
|
require('../../Duration/dist/effect-Duration.cjs.prod.js');
|
|
49
51
|
require('../../dist/timeout-489f3f86.cjs.prod.js');
|
|
50
|
-
require('../../dist/configProvider-
|
|
51
|
-
require('../../dist/config-
|
|
52
|
+
require('../../dist/configProvider-b6b20998.cjs.prod.js');
|
|
53
|
+
require('../../dist/config-5ba54da1.cjs.prod.js');
|
|
52
54
|
require('../../ConfigError/dist/effect-ConfigError.cjs.prod.js');
|
|
53
|
-
require('../../dist/configError-
|
|
54
|
-
require('../../dist/configSecret-
|
|
55
|
-
require('../../dist/pathPatch-
|
|
56
|
-
require('../../
|
|
57
|
-
require('../../dist/core-effect-c65770cd.cjs.prod.js');
|
|
55
|
+
require('../../dist/configError-b43723af.cjs.prod.js');
|
|
56
|
+
require('../../dist/configSecret-e2faa181.cjs.prod.js');
|
|
57
|
+
require('../../dist/pathPatch-b56a4da2.cjs.prod.js');
|
|
58
|
+
require('../../dist/core-effect-9201ea63.cjs.prod.js');
|
|
58
59
|
require('../../Clock/dist/effect-Clock.cjs.prod.js');
|
|
59
60
|
require('../../dist/label-655343b5.cjs.prod.js');
|
|
60
61
|
require('../../LogLevel/dist/effect-LogLevel.cjs.prod.js');
|
|
61
62
|
require('../../LogSpan/dist/effect-LogSpan.cjs.prod.js');
|
|
62
|
-
require('../../dist/Ref-
|
|
63
|
+
require('../../dist/Ref-4014b526.cjs.prod.js');
|
|
63
64
|
require('../../Tracer/dist/effect-Tracer.cjs.prod.js');
|
|
64
|
-
require('../../dist/fiber-
|
|
65
|
+
require('../../dist/fiber-9519d109.cjs.prod.js');
|
|
65
66
|
require('../../Exit/dist/effect-Exit.cjs.prod.js');
|
|
66
|
-
require('../../dist/boundaries-
|
|
67
|
-
require('../../dist/key-
|
|
68
|
-
require('../../dist/keyType-
|
|
69
|
-
require('../../dist/registry-
|
|
70
|
-
require('../../dist/hook-
|
|
71
|
-
require('../../dist/state-
|
|
67
|
+
require('../../dist/boundaries-9af538e3.cjs.prod.js');
|
|
68
|
+
require('../../dist/key-eb8a12b2.cjs.prod.js');
|
|
69
|
+
require('../../dist/keyType-0c5e6178.cjs.prod.js');
|
|
70
|
+
require('../../dist/registry-d5258dff.cjs.prod.js');
|
|
71
|
+
require('../../dist/hook-98ce30e4.cjs.prod.js');
|
|
72
|
+
require('../../dist/state-0bdf02b7.cjs.prod.js');
|
|
72
73
|
require('../../dist/pair-6254cf85.cjs.prod.js');
|
|
73
74
|
require('../../MutableHashMap/dist/effect-MutableHashMap.cjs.prod.js');
|
|
74
75
|
require('../../SortedSet/dist/effect-SortedSet.cjs.prod.js');
|
|
75
76
|
require('../../RedBlackTree/dist/effect-RedBlackTree.cjs.prod.js');
|
|
76
77
|
require('../../Scheduler/dist/effect-Scheduler.cjs.prod.js');
|
|
77
|
-
require('../../MutableList/dist/effect-MutableList.cjs.prod.js');
|
|
78
78
|
|
|
79
79
|
/** @internal */
|
|
80
80
|
|
|
@@ -101,16 +101,16 @@ const removeSubscribers = (subscription, pollers) => subscribers => {
|
|
|
101
101
|
};
|
|
102
102
|
|
|
103
103
|
/** @internal */
|
|
104
|
-
const bounded$1 = requestedCapacity => Function_dist_effectFunction.pipe(core.sync(() =>
|
|
104
|
+
const bounded$1 = requestedCapacity => Function_dist_effectFunction.pipe(core.sync(() => makeBoundedPubSub(requestedCapacity)), core.flatMap$1(atomicPubSub => makePubSub(atomicPubSub, new BackPressureStrategy())));
|
|
105
105
|
|
|
106
106
|
/** @internal */
|
|
107
|
-
const dropping$1 = requestedCapacity => Function_dist_effectFunction.pipe(core.sync(() =>
|
|
107
|
+
const dropping$1 = requestedCapacity => Function_dist_effectFunction.pipe(core.sync(() => makeBoundedPubSub(requestedCapacity)), core.flatMap$1(atomicPubSub => makePubSub(atomicPubSub, new DroppingStrategy())));
|
|
108
108
|
|
|
109
109
|
/** @internal */
|
|
110
|
-
const sliding$1 = requestedCapacity => Function_dist_effectFunction.pipe(core.sync(() =>
|
|
110
|
+
const sliding$1 = requestedCapacity => Function_dist_effectFunction.pipe(core.sync(() => makeBoundedPubSub(requestedCapacity)), core.flatMap$1(atomicPubSub => makePubSub(atomicPubSub, new SlidingStrategy())));
|
|
111
111
|
|
|
112
112
|
/** @internal */
|
|
113
|
-
const unbounded$1 = () => Function_dist_effectFunction.pipe(core.sync(() =>
|
|
113
|
+
const unbounded$1 = () => Function_dist_effectFunction.pipe(core.sync(() => makeUnboundedPubSub()), core.flatMap$1(atomicPubSub => makePubSub(atomicPubSub, new DroppingStrategy())));
|
|
114
114
|
|
|
115
115
|
/** @internal */
|
|
116
116
|
const capacity$1 = self => self.capacity();
|
|
@@ -143,32 +143,32 @@ const publishAll$1 = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, el
|
|
|
143
143
|
const subscribe$1 = self => self.subscribe();
|
|
144
144
|
|
|
145
145
|
/** @internal */
|
|
146
|
-
const
|
|
146
|
+
const makeBoundedPubSub = requestedCapacity => {
|
|
147
147
|
ensureCapacity(requestedCapacity);
|
|
148
148
|
if (requestedCapacity === 1) {
|
|
149
|
-
return new
|
|
149
|
+
return new BoundedPubSubSingle();
|
|
150
150
|
} else if (nextPow2(requestedCapacity) === requestedCapacity) {
|
|
151
|
-
return new
|
|
151
|
+
return new BoundedPubSubPow2(requestedCapacity);
|
|
152
152
|
} else {
|
|
153
|
-
return new
|
|
153
|
+
return new BoundedPubSubArb(requestedCapacity);
|
|
154
154
|
}
|
|
155
155
|
};
|
|
156
156
|
|
|
157
157
|
/** @internal */
|
|
158
|
-
const
|
|
159
|
-
return new
|
|
158
|
+
const makeUnboundedPubSub = () => {
|
|
159
|
+
return new UnboundedPubSub();
|
|
160
160
|
};
|
|
161
161
|
|
|
162
162
|
/** @internal */
|
|
163
|
-
const makeSubscription = (
|
|
163
|
+
const makeSubscription = (pubsub, subscribers, strategy) => core.map$1(core.deferredMake(), deferred => unsafeMakeSubscription(pubsub, subscribers, pubsub.subscribe(), MutableQueue_dist_effectMutableQueue.unbounded(), deferred, MutableRef_dist_effectMutableRef.make(false), strategy));
|
|
164
164
|
|
|
165
165
|
/** @internal */
|
|
166
|
-
const unsafeMakeSubscription = (
|
|
167
|
-
return new SubscriptionImpl(
|
|
166
|
+
const unsafeMakeSubscription = (pubsub, subscribers, subscription, pollers, shutdownHook, shutdownFlag, strategy) => {
|
|
167
|
+
return new SubscriptionImpl(pubsub, subscribers, subscription, pollers, shutdownHook, shutdownFlag, strategy);
|
|
168
168
|
};
|
|
169
169
|
|
|
170
170
|
/** @internal */
|
|
171
|
-
class
|
|
171
|
+
class BoundedPubSubArb {
|
|
172
172
|
publisherIndex = 0;
|
|
173
173
|
subscriberCount = 0;
|
|
174
174
|
subscribersIndex = 0;
|
|
@@ -207,12 +207,12 @@ class BoundedHubArb {
|
|
|
207
207
|
const n = chunk.length;
|
|
208
208
|
const size = this.publisherIndex - this.subscribersIndex;
|
|
209
209
|
const available = this.capacity - size;
|
|
210
|
-
const
|
|
211
|
-
if (
|
|
210
|
+
const forPubSub = Math.min(n, available);
|
|
211
|
+
if (forPubSub === 0) {
|
|
212
212
|
return chunk;
|
|
213
213
|
}
|
|
214
214
|
let iteratorIndex = 0;
|
|
215
|
-
const publishAllIndex = this.publisherIndex +
|
|
215
|
+
const publishAllIndex = this.publisherIndex + forPubSub;
|
|
216
216
|
while (this.publisherIndex !== publishAllIndex) {
|
|
217
217
|
const a = Chunk_dist_effectChunk.unsafeGet(chunk, iteratorIndex++);
|
|
218
218
|
const index = this.publisherIndex % this.capacity;
|
|
@@ -232,10 +232,10 @@ class BoundedHubArb {
|
|
|
232
232
|
}
|
|
233
233
|
subscribe() {
|
|
234
234
|
this.subscriberCount += 1;
|
|
235
|
-
return new
|
|
235
|
+
return new BoundedPubSubArbSubscription(this, this.publisherIndex, false);
|
|
236
236
|
}
|
|
237
237
|
}
|
|
238
|
-
class
|
|
238
|
+
class BoundedPubSubArbSubscription {
|
|
239
239
|
constructor(self, subscriberIndex, unsubscribed) {
|
|
240
240
|
this.self = self;
|
|
241
241
|
this.subscriberIndex = subscriberIndex;
|
|
@@ -312,7 +312,7 @@ class BoundedHubArbSubscription {
|
|
|
312
312
|
}
|
|
313
313
|
|
|
314
314
|
/** @internal */
|
|
315
|
-
class
|
|
315
|
+
class BoundedPubSubPow2 {
|
|
316
316
|
publisherIndex = 0;
|
|
317
317
|
subscriberCount = 0;
|
|
318
318
|
subscribersIndex = 0;
|
|
@@ -352,12 +352,12 @@ class BoundedHubPow2 {
|
|
|
352
352
|
const n = chunk.length;
|
|
353
353
|
const size = this.publisherIndex - this.subscribersIndex;
|
|
354
354
|
const available = this.capacity - size;
|
|
355
|
-
const
|
|
356
|
-
if (
|
|
355
|
+
const forPubSub = Math.min(n, available);
|
|
356
|
+
if (forPubSub === 0) {
|
|
357
357
|
return chunk;
|
|
358
358
|
}
|
|
359
359
|
let iteratorIndex = 0;
|
|
360
|
-
const publishAllIndex = this.publisherIndex +
|
|
360
|
+
const publishAllIndex = this.publisherIndex + forPubSub;
|
|
361
361
|
while (this.publisherIndex !== publishAllIndex) {
|
|
362
362
|
const elem = Chunk_dist_effectChunk.unsafeGet(chunk, iteratorIndex++);
|
|
363
363
|
const index = this.publisherIndex & this.mask;
|
|
@@ -377,12 +377,12 @@ class BoundedHubPow2 {
|
|
|
377
377
|
}
|
|
378
378
|
subscribe() {
|
|
379
379
|
this.subscriberCount += 1;
|
|
380
|
-
return new
|
|
380
|
+
return new BoundedPubSubPow2Subscription(this, this.publisherIndex, false);
|
|
381
381
|
}
|
|
382
382
|
}
|
|
383
383
|
|
|
384
384
|
/** @internal */
|
|
385
|
-
class
|
|
385
|
+
class BoundedPubSubPow2Subscription {
|
|
386
386
|
constructor(self, subscriberIndex, unsubscribed) {
|
|
387
387
|
this.self = self;
|
|
388
388
|
this.subscriberIndex = subscriberIndex;
|
|
@@ -459,7 +459,7 @@ class BoundedHubPow2Subscription {
|
|
|
459
459
|
}
|
|
460
460
|
|
|
461
461
|
/** @internal */
|
|
462
|
-
class
|
|
462
|
+
class BoundedPubSubSingle {
|
|
463
463
|
publisherIndex = 0;
|
|
464
464
|
subscriberCount = 0;
|
|
465
465
|
subscribers = 0;
|
|
@@ -507,12 +507,12 @@ class BoundedHubSingle {
|
|
|
507
507
|
}
|
|
508
508
|
subscribe() {
|
|
509
509
|
this.subscriberCount += 1;
|
|
510
|
-
return new
|
|
510
|
+
return new BoundedPubSubSingleSubscription(this, this.publisherIndex, false);
|
|
511
511
|
}
|
|
512
512
|
}
|
|
513
513
|
|
|
514
514
|
/** @internal */
|
|
515
|
-
class
|
|
515
|
+
class BoundedPubSubSingleSubscription {
|
|
516
516
|
constructor(self, subscriberIndex, unsubscribed) {
|
|
517
517
|
this.self = self;
|
|
518
518
|
this.subscriberIndex = subscriberIndex;
|
|
@@ -572,7 +572,7 @@ class Node {
|
|
|
572
572
|
}
|
|
573
573
|
|
|
574
574
|
/** @internal */
|
|
575
|
-
class
|
|
575
|
+
class UnboundedPubSub {
|
|
576
576
|
publisherHead = new Node(null, 0, null);
|
|
577
577
|
publisherIndex = 0;
|
|
578
578
|
subscribersIndex = 0;
|
|
@@ -613,12 +613,12 @@ class UnboundedHub {
|
|
|
613
613
|
}
|
|
614
614
|
subscribe() {
|
|
615
615
|
this.publisherTail.subscribers += 1;
|
|
616
|
-
return new
|
|
616
|
+
return new UnboundedPubSubSubscription(this, this.publisherTail, this.publisherIndex, false);
|
|
617
617
|
}
|
|
618
618
|
}
|
|
619
619
|
|
|
620
620
|
/** @internal */
|
|
621
|
-
class
|
|
621
|
+
class UnboundedPubSubSubscription {
|
|
622
622
|
constructor(self, subscriberHead, subscriberIndex, unsubscribed) {
|
|
623
623
|
this.self = self;
|
|
624
624
|
this.subscriberHead = subscriberHead;
|
|
@@ -716,8 +716,8 @@ class UnboundedHubSubscription {
|
|
|
716
716
|
/** @internal */
|
|
717
717
|
class SubscriptionImpl {
|
|
718
718
|
[queue.DequeueTypeId] = queue.dequeueVariance;
|
|
719
|
-
constructor(
|
|
720
|
-
this.
|
|
719
|
+
constructor(pubsub, subscribers, subscription, pollers, shutdownHook, shutdownFlag, strategy) {
|
|
720
|
+
this.pubsub = pubsub;
|
|
721
721
|
this.subscribers = subscribers;
|
|
722
722
|
this.subscription = subscription;
|
|
723
723
|
this.pollers = pollers;
|
|
@@ -729,13 +729,13 @@ class SubscriptionImpl {
|
|
|
729
729
|
return Pipeable_dist_effectPipeable.pipeArguments(this, arguments);
|
|
730
730
|
}
|
|
731
731
|
capacity() {
|
|
732
|
-
return this.
|
|
732
|
+
return this.pubsub.capacity;
|
|
733
733
|
}
|
|
734
734
|
isActive() {
|
|
735
735
|
return !MutableRef_dist_effectMutableRef.get(this.shutdownFlag);
|
|
736
736
|
}
|
|
737
737
|
size() {
|
|
738
|
-
return core.suspend(() => MutableRef_dist_effectMutableRef.get(this.shutdownFlag) ? core.interrupt : core.succeed(this.subscription.size()));
|
|
738
|
+
return core.suspend(() => MutableRef_dist_effectMutableRef.get(this.shutdownFlag) ? core.interrupt$1 : core.succeed(this.subscription.size()));
|
|
739
739
|
}
|
|
740
740
|
unsafeSize() {
|
|
741
741
|
if (MutableRef_dist_effectMutableRef.get(this.shutdownFlag)) {
|
|
@@ -744,10 +744,10 @@ class SubscriptionImpl {
|
|
|
744
744
|
return Option_dist_effectOption.some(this.subscription.size());
|
|
745
745
|
}
|
|
746
746
|
isFull() {
|
|
747
|
-
return core.map(this.size(), size => size === this.capacity());
|
|
747
|
+
return core.map$1(this.size(), size => size === this.capacity());
|
|
748
748
|
}
|
|
749
749
|
isEmpty() {
|
|
750
|
-
return core.map(this.size(), size => size === 0);
|
|
750
|
+
return core.map$1(this.size(), size => size === 0);
|
|
751
751
|
}
|
|
752
752
|
shutdown() {
|
|
753
753
|
return core.uninterruptible(core.withFiberRuntime(state => {
|
|
@@ -755,7 +755,7 @@ class SubscriptionImpl {
|
|
|
755
755
|
return Function_dist_effectFunction.pipe(fiberRuntime.forEachParUnbounded(unsafePollAllQueue(this.pollers), d => core.deferredInterruptWith(d, state.id()), false), core.zipRight(core.sync(() => {
|
|
756
756
|
this.subscribers.delete(this.subscription);
|
|
757
757
|
this.subscription.unsubscribe();
|
|
758
|
-
this.strategy.
|
|
758
|
+
this.strategy.unsafeOnPubSubEmptySpace(this.pubsub, this.subscribers);
|
|
759
759
|
})), core.whenEffect(core.deferredSucceed(this.shutdownHook, void 0)), core.asUnit);
|
|
760
760
|
}));
|
|
761
761
|
}
|
|
@@ -768,7 +768,7 @@ class SubscriptionImpl {
|
|
|
768
768
|
take() {
|
|
769
769
|
return core.withFiberRuntime(state => {
|
|
770
770
|
if (MutableRef_dist_effectMutableRef.get(this.shutdownFlag)) {
|
|
771
|
-
return core.interrupt;
|
|
771
|
+
return core.interrupt$1;
|
|
772
772
|
}
|
|
773
773
|
const message = MutableQueue_dist_effectMutableQueue.isEmpty(this.pollers) ? this.subscription.poll(MutableQueue_dist_effectMutableQueue.EmptyMutableQueue) : MutableQueue_dist_effectMutableQueue.EmptyMutableQueue;
|
|
774
774
|
if (message === MutableQueue_dist_effectMutableQueue.EmptyMutableQueue) {
|
|
@@ -776,11 +776,11 @@ class SubscriptionImpl {
|
|
|
776
776
|
return Function_dist_effectFunction.pipe(core.suspend(() => {
|
|
777
777
|
Function_dist_effectFunction.pipe(this.pollers, MutableQueue_dist_effectMutableQueue.offer(deferred));
|
|
778
778
|
Function_dist_effectFunction.pipe(this.subscribers, addSubscribers(this.subscription, this.pollers));
|
|
779
|
-
this.strategy.unsafeCompletePollers(this.
|
|
780
|
-
return MutableRef_dist_effectMutableRef.get(this.shutdownFlag) ? core.interrupt : core.deferredAwait(deferred);
|
|
779
|
+
this.strategy.unsafeCompletePollers(this.pubsub, this.subscribers, this.subscription, this.pollers);
|
|
780
|
+
return MutableRef_dist_effectMutableRef.get(this.shutdownFlag) ? core.interrupt$1 : core.deferredAwait(deferred);
|
|
781
781
|
}), core.onInterrupt(() => core.sync(() => unsafeRemove(this.pollers, deferred))));
|
|
782
782
|
} else {
|
|
783
|
-
this.strategy.
|
|
783
|
+
this.strategy.unsafeOnPubSubEmptySpace(this.pubsub, this.subscribers);
|
|
784
784
|
return core.succeed(message);
|
|
785
785
|
}
|
|
786
786
|
});
|
|
@@ -788,20 +788,20 @@ class SubscriptionImpl {
|
|
|
788
788
|
takeAll() {
|
|
789
789
|
return core.suspend(() => {
|
|
790
790
|
if (MutableRef_dist_effectMutableRef.get(this.shutdownFlag)) {
|
|
791
|
-
return core.interrupt;
|
|
791
|
+
return core.interrupt$1;
|
|
792
792
|
}
|
|
793
793
|
const as = MutableQueue_dist_effectMutableQueue.isEmpty(this.pollers) ? unsafePollAllSubscription(this.subscription) : Chunk_dist_effectChunk.empty();
|
|
794
|
-
this.strategy.
|
|
794
|
+
this.strategy.unsafeOnPubSubEmptySpace(this.pubsub, this.subscribers);
|
|
795
795
|
return core.succeed(as);
|
|
796
796
|
});
|
|
797
797
|
}
|
|
798
798
|
takeUpTo(max) {
|
|
799
799
|
return core.suspend(() => {
|
|
800
800
|
if (MutableRef_dist_effectMutableRef.get(this.shutdownFlag)) {
|
|
801
|
-
return core.interrupt;
|
|
801
|
+
return core.interrupt$1;
|
|
802
802
|
}
|
|
803
803
|
const as = MutableQueue_dist_effectMutableQueue.isEmpty(this.pollers) ? unsafePollN(this.subscription, max) : Chunk_dist_effectChunk.empty();
|
|
804
|
-
this.strategy.
|
|
804
|
+
this.strategy.unsafeOnPubSubEmptySpace(this.pubsub, this.subscribers);
|
|
805
805
|
return core.succeed(as);
|
|
806
806
|
});
|
|
807
807
|
}
|
|
@@ -815,23 +815,23 @@ const takeRemainderLoop = (self, min, max, acc) => {
|
|
|
815
815
|
if (max < min) {
|
|
816
816
|
return core.succeed(acc);
|
|
817
817
|
}
|
|
818
|
-
return Function_dist_effectFunction.pipe(self.takeUpTo(max), core.flatMap(bs => {
|
|
818
|
+
return Function_dist_effectFunction.pipe(self.takeUpTo(max), core.flatMap$1(bs => {
|
|
819
819
|
const remaining = min - bs.length;
|
|
820
820
|
if (remaining === 1) {
|
|
821
|
-
return Function_dist_effectFunction.pipe(self.take(), core.map(b => Function_dist_effectFunction.pipe(acc, Chunk_dist_effectChunk.appendAll(bs), Chunk_dist_effectChunk.append(b))));
|
|
821
|
+
return Function_dist_effectFunction.pipe(self.take(), core.map$1(b => Function_dist_effectFunction.pipe(acc, Chunk_dist_effectChunk.appendAll(bs), Chunk_dist_effectChunk.append(b))));
|
|
822
822
|
}
|
|
823
823
|
if (remaining > 1) {
|
|
824
|
-
return Function_dist_effectFunction.pipe(self.take(), core.flatMap(b => takeRemainderLoop(self, remaining - 1, max - bs.length - 1, Function_dist_effectFunction.pipe(acc, Chunk_dist_effectChunk.appendAll(bs), Chunk_dist_effectChunk.append(b)))));
|
|
824
|
+
return Function_dist_effectFunction.pipe(self.take(), core.flatMap$1(b => takeRemainderLoop(self, remaining - 1, max - bs.length - 1, Function_dist_effectFunction.pipe(acc, Chunk_dist_effectChunk.appendAll(bs), Chunk_dist_effectChunk.append(b)))));
|
|
825
825
|
}
|
|
826
826
|
return core.succeed(Function_dist_effectFunction.pipe(acc, Chunk_dist_effectChunk.appendAll(bs)));
|
|
827
827
|
}));
|
|
828
828
|
};
|
|
829
829
|
|
|
830
830
|
/** @internal */
|
|
831
|
-
class
|
|
831
|
+
class PubSubImpl {
|
|
832
832
|
[queue.EnqueueTypeId] = queue.enqueueVariance;
|
|
833
|
-
constructor(
|
|
834
|
-
this.
|
|
833
|
+
constructor(pubsub, subscribers, scope, shutdownHook, shutdownFlag, strategy) {
|
|
834
|
+
this.pubsub = pubsub;
|
|
835
835
|
this.subscribers = subscribers;
|
|
836
836
|
this.scope = scope;
|
|
837
837
|
this.shutdownHook = shutdownHook;
|
|
@@ -839,22 +839,22 @@ class HubImpl {
|
|
|
839
839
|
this.strategy = strategy;
|
|
840
840
|
}
|
|
841
841
|
capacity() {
|
|
842
|
-
return this.
|
|
842
|
+
return this.pubsub.capacity;
|
|
843
843
|
}
|
|
844
844
|
size() {
|
|
845
|
-
return core.suspend(() => MutableRef_dist_effectMutableRef.get(this.shutdownFlag) ? core.interrupt : core.sync(() => this.
|
|
845
|
+
return core.suspend(() => MutableRef_dist_effectMutableRef.get(this.shutdownFlag) ? core.interrupt$1 : core.sync(() => this.pubsub.size()));
|
|
846
846
|
}
|
|
847
847
|
unsafeSize() {
|
|
848
848
|
if (MutableRef_dist_effectMutableRef.get(this.shutdownFlag)) {
|
|
849
849
|
return Option_dist_effectOption.none();
|
|
850
850
|
}
|
|
851
|
-
return Option_dist_effectOption.some(this.
|
|
851
|
+
return Option_dist_effectOption.some(this.pubsub.size());
|
|
852
852
|
}
|
|
853
853
|
isFull() {
|
|
854
|
-
return core.map(this.size(), size => size === this.capacity());
|
|
854
|
+
return core.map$1(this.size(), size => size === this.capacity());
|
|
855
855
|
}
|
|
856
856
|
isEmpty() {
|
|
857
|
-
return core.map(this.size(), size => size === 0);
|
|
857
|
+
return core.map$1(this.size(), size => size === 0);
|
|
858
858
|
}
|
|
859
859
|
awaitShutdown() {
|
|
860
860
|
return core.deferredAwait(this.shutdownHook);
|
|
@@ -871,13 +871,13 @@ class HubImpl {
|
|
|
871
871
|
publish(value) {
|
|
872
872
|
return core.suspend(() => {
|
|
873
873
|
if (MutableRef_dist_effectMutableRef.get(this.shutdownFlag)) {
|
|
874
|
-
return core.interrupt;
|
|
874
|
+
return core.interrupt$1;
|
|
875
875
|
}
|
|
876
|
-
if (this.
|
|
877
|
-
this.strategy.unsafeCompleteSubscribers(this.
|
|
876
|
+
if (this.pubsub.publish(value)) {
|
|
877
|
+
this.strategy.unsafeCompleteSubscribers(this.pubsub, this.subscribers);
|
|
878
878
|
return core.succeed(true);
|
|
879
879
|
}
|
|
880
|
-
return this.strategy.handleSurplus(this.
|
|
880
|
+
return this.strategy.handleSurplus(this.pubsub, this.subscribers, Chunk_dist_effectChunk.of(value), this.shutdownFlag);
|
|
881
881
|
});
|
|
882
882
|
}
|
|
883
883
|
isActive() {
|
|
@@ -887,8 +887,8 @@ class HubImpl {
|
|
|
887
887
|
if (MutableRef_dist_effectMutableRef.get(this.shutdownFlag)) {
|
|
888
888
|
return false;
|
|
889
889
|
}
|
|
890
|
-
if (this.
|
|
891
|
-
this.strategy.unsafeCompleteSubscribers(this.
|
|
890
|
+
if (this.pubsub.publish(value)) {
|
|
891
|
+
this.strategy.unsafeCompleteSubscribers(this.pubsub, this.subscribers);
|
|
892
892
|
return true;
|
|
893
893
|
}
|
|
894
894
|
return false;
|
|
@@ -896,19 +896,19 @@ class HubImpl {
|
|
|
896
896
|
publishAll(elements) {
|
|
897
897
|
return core.suspend(() => {
|
|
898
898
|
if (MutableRef_dist_effectMutableRef.get(this.shutdownFlag)) {
|
|
899
|
-
return core.interrupt;
|
|
899
|
+
return core.interrupt$1;
|
|
900
900
|
}
|
|
901
|
-
const surplus = unsafePublishAll(this.
|
|
902
|
-
this.strategy.unsafeCompleteSubscribers(this.
|
|
901
|
+
const surplus = unsafePublishAll(this.pubsub, elements);
|
|
902
|
+
this.strategy.unsafeCompleteSubscribers(this.pubsub, this.subscribers);
|
|
903
903
|
if (Chunk_dist_effectChunk.isEmpty(surplus)) {
|
|
904
904
|
return core.succeed(true);
|
|
905
905
|
}
|
|
906
|
-
return this.strategy.handleSurplus(this.
|
|
906
|
+
return this.strategy.handleSurplus(this.pubsub, this.subscribers, surplus, this.shutdownFlag);
|
|
907
907
|
});
|
|
908
908
|
}
|
|
909
909
|
subscribe() {
|
|
910
|
-
const acquire = core.tap(fiberRuntime.all([this.scope.fork(ExecutionStrategy_dist_effectExecutionStrategy.sequential), makeSubscription(this.
|
|
911
|
-
return core.map(fiberRuntime.acquireRelease(acquire, (tuple, exit) => tuple[0].close(exit)), tuple => tuple[1]);
|
|
910
|
+
const acquire = core.tap(fiberRuntime.all([this.scope.fork(ExecutionStrategy_dist_effectExecutionStrategy.sequential$1), makeSubscription(this.pubsub, this.subscribers, this.strategy)]), tuple => tuple[0].addFinalizer(() => tuple[1].shutdown()));
|
|
911
|
+
return core.map$1(fiberRuntime.acquireRelease(acquire, (tuple, exit) => tuple[0].close(exit)), tuple => tuple[1]);
|
|
912
912
|
}
|
|
913
913
|
offer(value) {
|
|
914
914
|
return this.publish(value);
|
|
@@ -922,11 +922,11 @@ class HubImpl {
|
|
|
922
922
|
}
|
|
923
923
|
|
|
924
924
|
/** @internal */
|
|
925
|
-
const
|
|
925
|
+
const makePubSub = (pubsub, strategy) => core.flatMap$1(fiberRuntime.scopeMake(), scope => core.map$1(core.deferredMake(), deferred => unsafeMakePubSub(pubsub, new Map(), scope, deferred, MutableRef_dist_effectMutableRef.make(false), strategy)));
|
|
926
926
|
|
|
927
927
|
/** @internal */
|
|
928
|
-
const
|
|
929
|
-
return new
|
|
928
|
+
const unsafeMakePubSub = (pubsub, subscribers, scope, shutdownHook, shutdownFlag, strategy) => {
|
|
929
|
+
return new PubSubImpl(pubsub, subscribers, scope, shutdownHook, shutdownFlag, strategy);
|
|
930
930
|
};
|
|
931
931
|
|
|
932
932
|
/** @internal */
|
|
@@ -938,7 +938,7 @@ const nextPow2 = n => {
|
|
|
938
938
|
/** @internal */
|
|
939
939
|
const ensureCapacity = capacity => {
|
|
940
940
|
if (capacity <= 0) {
|
|
941
|
-
throw core.
|
|
941
|
+
throw core.InvalidPubSubCapacityException(`Cannot construct PubSub with capacity of ${capacity}`);
|
|
942
942
|
}
|
|
943
943
|
};
|
|
944
944
|
|
|
@@ -968,8 +968,8 @@ const unsafePollN = (subscription, max) => {
|
|
|
968
968
|
};
|
|
969
969
|
|
|
970
970
|
/** @internal */
|
|
971
|
-
const unsafePublishAll = (
|
|
972
|
-
return
|
|
971
|
+
const unsafePublishAll = (pubsub, as) => {
|
|
972
|
+
return pubsub.publishAll(as);
|
|
973
973
|
};
|
|
974
974
|
|
|
975
975
|
/** @internal */
|
|
@@ -978,19 +978,19 @@ const unsafeRemove = (queue, value) => {
|
|
|
978
978
|
};
|
|
979
979
|
|
|
980
980
|
// -----------------------------------------------------------------------------
|
|
981
|
-
//
|
|
981
|
+
// PubSub.Strategy
|
|
982
982
|
// -----------------------------------------------------------------------------
|
|
983
983
|
|
|
984
984
|
/**
|
|
985
|
-
* A `
|
|
986
|
-
* will communicate with each other through the
|
|
985
|
+
* A `PubSubStrategy<A>` describes the protocol for how publishers and subscribers
|
|
986
|
+
* will communicate with each other through the `PubSub`.
|
|
987
987
|
*
|
|
988
988
|
* @internal
|
|
989
989
|
*/
|
|
990
990
|
/**
|
|
991
|
-
* A strategy that applies back pressure to publishers when the
|
|
991
|
+
* A strategy that applies back pressure to publishers when the `PubSub` is at
|
|
992
992
|
* capacity. This guarantees that all subscribers will receive all messages
|
|
993
|
-
* published to the
|
|
993
|
+
* published to the `PubSub` while they are subscribed. However, it creates the
|
|
994
994
|
* risk that a slow subscriber will slow down the rate at which messages
|
|
995
995
|
* are published and received by other subscribers.
|
|
996
996
|
*
|
|
@@ -999,41 +999,41 @@ const unsafeRemove = (queue, value) => {
|
|
|
999
999
|
class BackPressureStrategy {
|
|
1000
1000
|
publishers = MutableQueue_dist_effectMutableQueue.unbounded();
|
|
1001
1001
|
shutdown() {
|
|
1002
|
-
return core.flatMap(core.fiberId, fiberId => core.flatMap(core.sync(() => unsafePollAllQueue(this.publishers)), publishers => fiberRuntime.forEachParUnboundedDiscard(publishers, ([_, deferred, last]) => last ? Function_dist_effectFunction.pipe(core.deferredInterruptWith(deferred, fiberId), core.asUnit) : core.unit, false)));
|
|
1002
|
+
return core.flatMap$1(core.fiberId, fiberId => core.flatMap$1(core.sync(() => unsafePollAllQueue(this.publishers)), publishers => fiberRuntime.forEachParUnboundedDiscard(publishers, ([_, deferred, last]) => last ? Function_dist_effectFunction.pipe(core.deferredInterruptWith(deferred, fiberId), core.asUnit) : core.unit, false)));
|
|
1003
1003
|
}
|
|
1004
|
-
handleSurplus(
|
|
1004
|
+
handleSurplus(pubsub, subscribers, elements, isShutdown) {
|
|
1005
1005
|
return core.withFiberRuntime(state => {
|
|
1006
1006
|
const deferred = core.deferredUnsafeMake(state.id());
|
|
1007
1007
|
return Function_dist_effectFunction.pipe(core.suspend(() => {
|
|
1008
1008
|
this.unsafeOffer(elements, deferred);
|
|
1009
|
-
this.
|
|
1010
|
-
this.unsafeCompleteSubscribers(
|
|
1011
|
-
return MutableRef_dist_effectMutableRef.get(isShutdown) ? core.interrupt : core.deferredAwait(deferred);
|
|
1009
|
+
this.unsafeOnPubSubEmptySpace(pubsub, subscribers);
|
|
1010
|
+
this.unsafeCompleteSubscribers(pubsub, subscribers);
|
|
1011
|
+
return MutableRef_dist_effectMutableRef.get(isShutdown) ? core.interrupt$1 : core.deferredAwait(deferred);
|
|
1012
1012
|
}), core.onInterrupt(() => core.sync(() => this.unsafeRemove(deferred))));
|
|
1013
1013
|
});
|
|
1014
1014
|
}
|
|
1015
|
-
|
|
1015
|
+
unsafeOnPubSubEmptySpace(pubsub, subscribers) {
|
|
1016
1016
|
let keepPolling = true;
|
|
1017
|
-
while (keepPolling && !
|
|
1017
|
+
while (keepPolling && !pubsub.isFull()) {
|
|
1018
1018
|
const publisher = Function_dist_effectFunction.pipe(this.publishers, MutableQueue_dist_effectMutableQueue.poll(MutableQueue_dist_effectMutableQueue.EmptyMutableQueue));
|
|
1019
1019
|
if (publisher === MutableQueue_dist_effectMutableQueue.EmptyMutableQueue) {
|
|
1020
1020
|
keepPolling = false;
|
|
1021
1021
|
} else {
|
|
1022
|
-
const published =
|
|
1022
|
+
const published = pubsub.publish(publisher[0]);
|
|
1023
1023
|
if (published && publisher[2]) {
|
|
1024
1024
|
unsafeCompleteDeferred(publisher[1], true);
|
|
1025
1025
|
} else if (!published) {
|
|
1026
1026
|
unsafeOfferAll(this.publishers, Function_dist_effectFunction.pipe(unsafePollAllQueue(this.publishers), Chunk_dist_effectChunk.prepend(publisher)));
|
|
1027
1027
|
}
|
|
1028
|
-
this.unsafeCompleteSubscribers(
|
|
1028
|
+
this.unsafeCompleteSubscribers(pubsub, subscribers);
|
|
1029
1029
|
}
|
|
1030
1030
|
}
|
|
1031
1031
|
}
|
|
1032
|
-
unsafeCompletePollers(
|
|
1033
|
-
return unsafeStrategyCompletePollers(this,
|
|
1032
|
+
unsafeCompletePollers(pubsub, subscribers, subscription, pollers) {
|
|
1033
|
+
return unsafeStrategyCompletePollers(this, pubsub, subscribers, subscription, pollers);
|
|
1034
1034
|
}
|
|
1035
|
-
unsafeCompleteSubscribers(
|
|
1036
|
-
return unsafeStrategyCompleteSubscribers(this,
|
|
1035
|
+
unsafeCompleteSubscribers(pubsub, subscribers) {
|
|
1036
|
+
return unsafeStrategyCompleteSubscribers(this, pubsub, subscribers);
|
|
1037
1037
|
}
|
|
1038
1038
|
unsafeOffer(elements, deferred) {
|
|
1039
1039
|
const iterator = elements[Symbol.iterator]();
|
|
@@ -1057,12 +1057,12 @@ class BackPressureStrategy {
|
|
|
1057
1057
|
}
|
|
1058
1058
|
|
|
1059
1059
|
/**
|
|
1060
|
-
* A strategy that drops new messages when the
|
|
1060
|
+
* A strategy that drops new messages when the `PubSub` is at capacity. This
|
|
1061
1061
|
* guarantees that a slow subscriber will not slow down the rate at which
|
|
1062
1062
|
* messages are published. However, it creates the risk that a slow
|
|
1063
1063
|
* subscriber will slow down the rate at which messages are received by
|
|
1064
1064
|
* other subscribers and that subscribers may not receive all messages
|
|
1065
|
-
* published to the
|
|
1065
|
+
* published to the `PubSub` while they are subscribed.
|
|
1066
1066
|
*
|
|
1067
1067
|
* @internal
|
|
1068
1068
|
*/
|
|
@@ -1070,26 +1070,26 @@ class DroppingStrategy {
|
|
|
1070
1070
|
shutdown() {
|
|
1071
1071
|
return core.unit;
|
|
1072
1072
|
}
|
|
1073
|
-
handleSurplus(
|
|
1073
|
+
handleSurplus(_pubsub, _subscribers, _elements, _isShutdown) {
|
|
1074
1074
|
return core.succeed(false);
|
|
1075
1075
|
}
|
|
1076
|
-
|
|
1076
|
+
unsafeOnPubSubEmptySpace(_pubsub, _subscribers) {
|
|
1077
1077
|
//
|
|
1078
1078
|
}
|
|
1079
|
-
unsafeCompletePollers(
|
|
1080
|
-
return unsafeStrategyCompletePollers(this,
|
|
1079
|
+
unsafeCompletePollers(pubsub, subscribers, subscription, pollers) {
|
|
1080
|
+
return unsafeStrategyCompletePollers(this, pubsub, subscribers, subscription, pollers);
|
|
1081
1081
|
}
|
|
1082
|
-
unsafeCompleteSubscribers(
|
|
1083
|
-
return unsafeStrategyCompleteSubscribers(this,
|
|
1082
|
+
unsafeCompleteSubscribers(pubsub, subscribers) {
|
|
1083
|
+
return unsafeStrategyCompleteSubscribers(this, pubsub, subscribers);
|
|
1084
1084
|
}
|
|
1085
1085
|
}
|
|
1086
1086
|
|
|
1087
1087
|
/**
|
|
1088
|
-
* A strategy that adds new messages and drops old messages when the
|
|
1088
|
+
* A strategy that adds new messages and drops old messages when the `PubSub` is
|
|
1089
1089
|
* at capacity. This guarantees that a slow subscriber will not slow down
|
|
1090
1090
|
* the rate at which messages are published and received by other
|
|
1091
1091
|
* subscribers. However, it creates the risk that a slow subscriber will
|
|
1092
|
-
* not receive some messages published to the
|
|
1092
|
+
* not receive some messages published to the `PubSub` while it is subscribed.
|
|
1093
1093
|
*
|
|
1094
1094
|
* @internal
|
|
1095
1095
|
*/
|
|
@@ -1097,31 +1097,31 @@ class SlidingStrategy {
|
|
|
1097
1097
|
shutdown() {
|
|
1098
1098
|
return core.unit;
|
|
1099
1099
|
}
|
|
1100
|
-
handleSurplus(
|
|
1100
|
+
handleSurplus(pubsub, subscribers, elements, _isShutdown) {
|
|
1101
1101
|
return core.sync(() => {
|
|
1102
|
-
this.unsafeSlidingPublish(
|
|
1103
|
-
this.unsafeCompleteSubscribers(
|
|
1102
|
+
this.unsafeSlidingPublish(pubsub, elements);
|
|
1103
|
+
this.unsafeCompleteSubscribers(pubsub, subscribers);
|
|
1104
1104
|
return true;
|
|
1105
1105
|
});
|
|
1106
1106
|
}
|
|
1107
|
-
|
|
1107
|
+
unsafeOnPubSubEmptySpace(_pubsub, _subscribers) {
|
|
1108
1108
|
//
|
|
1109
1109
|
}
|
|
1110
|
-
unsafeCompletePollers(
|
|
1111
|
-
return unsafeStrategyCompletePollers(this,
|
|
1110
|
+
unsafeCompletePollers(pubsub, subscribers, subscription, pollers) {
|
|
1111
|
+
return unsafeStrategyCompletePollers(this, pubsub, subscribers, subscription, pollers);
|
|
1112
1112
|
}
|
|
1113
|
-
unsafeCompleteSubscribers(
|
|
1114
|
-
return unsafeStrategyCompleteSubscribers(this,
|
|
1113
|
+
unsafeCompleteSubscribers(pubsub, subscribers) {
|
|
1114
|
+
return unsafeStrategyCompleteSubscribers(this, pubsub, subscribers);
|
|
1115
1115
|
}
|
|
1116
|
-
unsafeSlidingPublish(
|
|
1116
|
+
unsafeSlidingPublish(pubsub, elements) {
|
|
1117
1117
|
const it = elements[Symbol.iterator]();
|
|
1118
1118
|
let next = it.next();
|
|
1119
|
-
if (!next.done &&
|
|
1119
|
+
if (!next.done && pubsub.capacity > 0) {
|
|
1120
1120
|
let a = next.value;
|
|
1121
1121
|
let loop = true;
|
|
1122
1122
|
while (loop) {
|
|
1123
|
-
|
|
1124
|
-
const pub =
|
|
1123
|
+
pubsub.slide();
|
|
1124
|
+
const pub = pubsub.publish(a);
|
|
1125
1125
|
if (pub && (next = it.next()) && !next.done) {
|
|
1126
1126
|
a = next.value;
|
|
1127
1127
|
} else if (pub) {
|
|
@@ -1133,7 +1133,7 @@ class SlidingStrategy {
|
|
|
1133
1133
|
}
|
|
1134
1134
|
|
|
1135
1135
|
/** @internal */
|
|
1136
|
-
const unsafeStrategyCompletePollers = (strategy,
|
|
1136
|
+
const unsafeStrategyCompletePollers = (strategy, pubsub, subscribers, subscription, pollers) => {
|
|
1137
1137
|
let keepPolling = true;
|
|
1138
1138
|
while (keepPolling && !subscription.isEmpty()) {
|
|
1139
1139
|
const poller = Function_dist_effectFunction.pipe(pollers, MutableQueue_dist_effectMutableQueue.poll(MutableQueue_dist_effectMutableQueue.EmptyMutableQueue));
|
|
@@ -1150,17 +1150,17 @@ const unsafeStrategyCompletePollers = (strategy, hub, subscribers, subscription,
|
|
|
1150
1150
|
unsafeOfferAll(pollers, Function_dist_effectFunction.pipe(unsafePollAllQueue(pollers), Chunk_dist_effectChunk.prepend(poller)));
|
|
1151
1151
|
} else {
|
|
1152
1152
|
unsafeCompleteDeferred(poller, pollResult);
|
|
1153
|
-
strategy.
|
|
1153
|
+
strategy.unsafeOnPubSubEmptySpace(pubsub, subscribers);
|
|
1154
1154
|
}
|
|
1155
1155
|
}
|
|
1156
1156
|
}
|
|
1157
1157
|
};
|
|
1158
1158
|
|
|
1159
1159
|
/** @internal */
|
|
1160
|
-
const unsafeStrategyCompleteSubscribers = (strategy,
|
|
1160
|
+
const unsafeStrategyCompleteSubscribers = (strategy, pubsub, subscribers) => {
|
|
1161
1161
|
for (const [subscription, pollersSet] of subscribers) {
|
|
1162
1162
|
for (const pollers of pollersSet) {
|
|
1163
|
-
strategy.unsafeCompletePollers(
|
|
1163
|
+
strategy.unsafeCompletePollers(pubsub, subscribers, subscription, pollers);
|
|
1164
1164
|
}
|
|
1165
1165
|
}
|
|
1166
1166
|
};
|
|
@@ -1170,7 +1170,7 @@ const unsafeStrategyCompleteSubscribers = (strategy, hub, subscribers) => {
|
|
|
1170
1170
|
*/
|
|
1171
1171
|
|
|
1172
1172
|
/**
|
|
1173
|
-
* A `
|
|
1173
|
+
* A `PubSub<A>` is an asynchronous message hub into which publishers can publish
|
|
1174
1174
|
* messages of type `A` and subscribers can subscribe to take messages of type
|
|
1175
1175
|
* `A`.
|
|
1176
1176
|
*
|
|
@@ -1179,9 +1179,9 @@ const unsafeStrategyCompleteSubscribers = (strategy, hub, subscribers) => {
|
|
|
1179
1179
|
*/
|
|
1180
1180
|
|
|
1181
1181
|
/**
|
|
1182
|
-
* Creates a bounded
|
|
1182
|
+
* Creates a bounded `PubSub` with the back pressure strategy. The `PubSub` will retain
|
|
1183
1183
|
* messages until they have been taken by all subscribers, applying back
|
|
1184
|
-
* pressure to publishers if the
|
|
1184
|
+
* pressure to publishers if the `PubSub` is at capacity.
|
|
1185
1185
|
*
|
|
1186
1186
|
* For best performance use capacities that are powers of two.
|
|
1187
1187
|
*
|
|
@@ -1191,8 +1191,8 @@ const unsafeStrategyCompleteSubscribers = (strategy, hub, subscribers) => {
|
|
|
1191
1191
|
const bounded = bounded$1;
|
|
1192
1192
|
|
|
1193
1193
|
/**
|
|
1194
|
-
* Creates a bounded
|
|
1195
|
-
* messages if the
|
|
1194
|
+
* Creates a bounded `PubSub` with the dropping strategy. The `PubSub` will drop new
|
|
1195
|
+
* messages if the `PubSub` is at capacity.
|
|
1196
1196
|
*
|
|
1197
1197
|
* For best performance use capacities that are powers of two.
|
|
1198
1198
|
*
|
|
@@ -1202,8 +1202,8 @@ const bounded = bounded$1;
|
|
|
1202
1202
|
const dropping = dropping$1;
|
|
1203
1203
|
|
|
1204
1204
|
/**
|
|
1205
|
-
* Creates a bounded
|
|
1206
|
-
* messages and drop old messages if the
|
|
1205
|
+
* Creates a bounded `PubSub` with the sliding strategy. The `PubSub` will add new
|
|
1206
|
+
* messages and drop old messages if the `PubSub` is at capacity.
|
|
1207
1207
|
*
|
|
1208
1208
|
* For best performance use capacities that are powers of two.
|
|
1209
1209
|
*
|
|
@@ -1213,7 +1213,7 @@ const dropping = dropping$1;
|
|
|
1213
1213
|
const sliding = sliding$1;
|
|
1214
1214
|
|
|
1215
1215
|
/**
|
|
1216
|
-
* Creates an unbounded
|
|
1216
|
+
* Creates an unbounded `PubSub`.
|
|
1217
1217
|
*
|
|
1218
1218
|
* @since 2.0.0
|
|
1219
1219
|
* @category constructors
|
|
@@ -1283,8 +1283,8 @@ const isShutdown = isShutdown$1;
|
|
|
1283
1283
|
const awaitShutdown = awaitShutdown$1;
|
|
1284
1284
|
|
|
1285
1285
|
/**
|
|
1286
|
-
* Publishes a message to the
|
|
1287
|
-
* to the
|
|
1286
|
+
* Publishes a message to the `PubSub`, returning whether the message was published
|
|
1287
|
+
* to the `PubSub`.
|
|
1288
1288
|
*
|
|
1289
1289
|
* @since 2.0.0
|
|
1290
1290
|
* @category utils
|
|
@@ -1292,8 +1292,8 @@ const awaitShutdown = awaitShutdown$1;
|
|
|
1292
1292
|
const publish = publish$1;
|
|
1293
1293
|
|
|
1294
1294
|
/**
|
|
1295
|
-
* Publishes all of the specified messages to the
|
|
1296
|
-
* were published to the
|
|
1295
|
+
* Publishes all of the specified messages to the `PubSub`, returning whether they
|
|
1296
|
+
* were published to the `PubSub`.
|
|
1297
1297
|
*
|
|
1298
1298
|
* @since 2.0.0
|
|
1299
1299
|
* @category utils
|
|
@@ -1301,8 +1301,8 @@ const publish = publish$1;
|
|
|
1301
1301
|
const publishAll = publishAll$1;
|
|
1302
1302
|
|
|
1303
1303
|
/**
|
|
1304
|
-
* Subscribes to receive messages from the
|
|
1305
|
-
* be evaluated multiple times within the scope to take a message from the
|
|
1304
|
+
* Subscribes to receive messages from the `PubSub`. The resulting subscription can
|
|
1305
|
+
* be evaluated multiple times within the scope to take a message from the `PubSub`
|
|
1306
1306
|
* each time.
|
|
1307
1307
|
*
|
|
1308
1308
|
* @since 2.0.0
|