effect 2.0.0-next.43 → 2.0.0-next.45
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/Brand/dist/effect-Brand.cjs.dev.js +2 -2
- package/Brand/dist/effect-Brand.cjs.prod.js +2 -2
- package/Cache/dist/effect-Cache.cjs.dev.js +27 -27
- package/Cache/dist/effect-Cache.cjs.prod.js +27 -27
- package/Cause/dist/effect-Cause.cjs.dev.js +16 -16
- package/Cause/dist/effect-Cause.cjs.mjs +1 -1
- package/Cause/dist/effect-Cause.cjs.prod.js +16 -16
- package/Cause/dist/effect-Cause.esm.js +4 -4
- package/Channel/dist/effect-Channel.cjs.dev.js +49 -49
- package/Channel/dist/effect-Channel.cjs.mjs +3 -3
- package/Channel/dist/effect-Channel.cjs.prod.js +49 -49
- package/Channel/dist/effect-Channel.esm.js +8 -8
- package/ChannelSingleProducerAsyncInput/dist/effect-ChannelSingleProducerAsyncInput.cjs.dev.js +35 -35
- package/ChannelSingleProducerAsyncInput/dist/effect-ChannelSingleProducerAsyncInput.cjs.prod.js +35 -35
- package/Chunk/dist/effect-Chunk.cjs.dev.js +2 -2
- package/Chunk/dist/effect-Chunk.cjs.prod.js +2 -2
- package/Clock/dist/effect-Clock.cjs.dev.js +13 -13
- package/Clock/dist/effect-Clock.cjs.prod.js +13 -13
- package/Config/dist/effect-Config.cjs.dev.js +10 -10
- package/Config/dist/effect-Config.cjs.prod.js +10 -10
- package/ConfigError/dist/effect-ConfigError.cjs.dev.js +3 -3
- package/ConfigError/dist/effect-ConfigError.cjs.prod.js +3 -3
- package/ConfigProvider/dist/effect-ConfigProvider.cjs.dev.js +12 -12
- package/ConfigProvider/dist/effect-ConfigProvider.cjs.prod.js +12 -12
- package/ConfigProviderPathPatch/dist/effect-ConfigProviderPathPatch.cjs.dev.js +4 -4
- package/ConfigProviderPathPatch/dist/effect-ConfigProviderPathPatch.cjs.prod.js +4 -4
- package/ConfigSecret/dist/effect-ConfigSecret.cjs.dev.js +3 -3
- package/ConfigSecret/dist/effect-ConfigSecret.cjs.prod.js +3 -3
- package/Console/dist/effect-Console.cjs.dev.js +31 -31
- package/Console/dist/effect-Console.cjs.prod.js +31 -31
- package/Context/dist/effect-Context.cjs.dev.js +3 -3
- package/Context/dist/effect-Context.cjs.prod.js +3 -3
- package/DefaultServices/dist/effect-DefaultServices.cjs.dev.js +13 -13
- package/DefaultServices/dist/effect-DefaultServices.cjs.prod.js +13 -13
- package/Deferred/dist/effect-Deferred.cjs.dev.js +7 -7
- package/Deferred/dist/effect-Deferred.cjs.prod.js +7 -7
- package/Differ/dist/effect-Differ.cjs.dev.js +4 -4
- package/Differ/dist/effect-Differ.cjs.prod.js +4 -4
- package/Duration/dist/effect-Duration.cjs.dev.js +2 -2
- package/Duration/dist/effect-Duration.cjs.prod.js +2 -2
- package/Effect/dist/effect-Effect.cjs.dev.js +41 -41
- package/Effect/dist/effect-Effect.cjs.prod.js +41 -41
- package/Effectable/dist/effect-Effectable.cjs.dev.js +24 -13
- package/Effectable/dist/effect-Effectable.cjs.mjs +5 -4
- package/Effectable/dist/effect-Effectable.cjs.prod.js +24 -13
- package/Effectable/dist/effect-Effectable.esm.js +15 -5
- package/Either/dist/effect-Either.cjs.dev.js +2 -2
- package/Either/dist/effect-Either.cjs.prod.js +2 -2
- package/Encoding/dist/effect-Encoding.cjs.dev.js +2 -2
- package/Encoding/dist/effect-Encoding.cjs.prod.js +2 -2
- package/Error/dist/effect-Error.cjs.dev.js +35 -35
- package/Error/dist/effect-Error.cjs.prod.js +35 -35
- package/Error/dist/effect-Error.esm.js +2 -2
- 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 +7 -7
- package/Exit/dist/effect-Exit.cjs.prod.js +7 -7
- package/Fiber/dist/effect-Fiber.cjs.dev.js +28 -28
- package/Fiber/dist/effect-Fiber.cjs.prod.js +28 -28
- package/FiberId/dist/effect-FiberId.cjs.dev.js +4 -4
- package/FiberId/dist/effect-FiberId.cjs.prod.js +4 -4
- package/FiberRef/dist/effect-FiberRef.cjs.dev.js +28 -28
- package/FiberRef/dist/effect-FiberRef.cjs.prod.js +28 -28
- package/FiberRefs/dist/effect-FiberRefs.cjs.dev.js +8 -8
- package/FiberRefs/dist/effect-FiberRefs.cjs.prod.js +8 -8
- package/FiberRefsPatch/dist/effect-FiberRefsPatch.cjs.dev.js +9 -9
- package/FiberRefsPatch/dist/effect-FiberRefsPatch.cjs.prod.js +9 -9
- package/GroupBy/dist/effect-GroupBy.cjs.dev.js +41 -41
- package/GroupBy/dist/effect-GroupBy.cjs.prod.js +41 -41
- package/HashMap/dist/effect-HashMap.cjs.dev.js +19 -19
- package/HashMap/dist/effect-HashMap.cjs.prod.js +19 -19
- package/HashSet/dist/effect-HashSet.cjs.dev.js +19 -19
- package/HashSet/dist/effect-HashSet.cjs.prod.js +19 -19
- package/KeyedPool/dist/effect-KeyedPool.cjs.dev.js +32 -32
- package/KeyedPool/dist/effect-KeyedPool.cjs.prod.js +32 -32
- package/Layer/dist/effect-Layer.cjs.dev.js +31 -31
- package/Layer/dist/effect-Layer.cjs.prod.js +31 -31
- package/List/dist/effect-List.cjs.dev.js +2 -2
- package/List/dist/effect-List.cjs.prod.js +2 -2
- package/LogLevel/dist/effect-LogLevel.cjs.dev.js +7 -7
- package/LogLevel/dist/effect-LogLevel.cjs.prod.js +7 -7
- package/Logger/dist/effect-Logger.cjs.dev.js +32 -32
- package/Logger/dist/effect-Logger.cjs.prod.js +32 -32
- package/Metric/dist/effect-Metric.cjs.dev.js +26 -26
- package/Metric/dist/effect-Metric.cjs.prod.js +26 -26
- package/MetricBoundaries/dist/effect-MetricBoundaries.cjs.dev.js +3 -3
- package/MetricBoundaries/dist/effect-MetricBoundaries.cjs.prod.js +3 -3
- package/MetricHook/dist/effect-MetricHook.cjs.dev.js +5 -5
- package/MetricHook/dist/effect-MetricHook.cjs.prod.js +5 -5
- package/MetricKey/dist/effect-MetricKey.cjs.dev.js +5 -5
- package/MetricKey/dist/effect-MetricKey.cjs.prod.js +5 -5
- package/MetricKeyType/dist/effect-MetricKeyType.cjs.dev.js +3 -3
- package/MetricKeyType/dist/effect-MetricKeyType.cjs.prod.js +3 -3
- package/MetricPolling/dist/effect-MetricPolling.cjs.dev.js +29 -29
- package/MetricPolling/dist/effect-MetricPolling.cjs.prod.js +29 -29
- package/MetricRegistry/dist/effect-MetricRegistry.cjs.dev.js +7 -7
- package/MetricRegistry/dist/effect-MetricRegistry.cjs.prod.js +7 -7
- 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 +3 -3
- package/MutableHashMap/dist/effect-MutableHashMap.cjs.prod.js +3 -3
- package/MutableHashSet/dist/effect-MutableHashSet.cjs.dev.js +3 -3
- package/MutableHashSet/dist/effect-MutableHashSet.cjs.prod.js +3 -3
- package/MutableQueue/dist/effect-MutableQueue.cjs.dev.js +2 -2
- package/MutableQueue/dist/effect-MutableQueue.cjs.prod.js +2 -2
- package/Option/dist/effect-Option.cjs.dev.js +2 -2
- package/Option/dist/effect-Option.cjs.prod.js +2 -2
- package/Pool/dist/effect-Pool.cjs.dev.js +28 -28
- package/Pool/dist/effect-Pool.cjs.prod.js +28 -28
- 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} +162 -162
- 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} +162 -162
- 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 +27 -27
- package/Queue/dist/effect-Queue.cjs.prod.js +27 -27
- package/Random/dist/effect-Random.cjs.dev.js +13 -13
- package/Random/dist/effect-Random.cjs.prod.js +13 -13
- package/ReadonlyArray/dist/effect-ReadonlyArray.cjs.dev.js +2 -2
- package/ReadonlyArray/dist/effect-ReadonlyArray.cjs.prod.js +2 -2
- package/ReadonlyRecord/dist/effect-ReadonlyRecord.cjs.dev.js +2 -2
- package/ReadonlyRecord/dist/effect-ReadonlyRecord.cjs.prod.js +2 -2
- package/RedBlackTree/dist/effect-RedBlackTree.cjs.dev.js +2 -2
- package/RedBlackTree/dist/effect-RedBlackTree.cjs.prod.js +2 -2
- package/Ref/dist/effect-Ref.cjs.dev.js +8 -8
- package/Ref/dist/effect-Ref.cjs.prod.js +8 -8
- package/Reloadable/dist/effect-Reloadable.cjs.dev.js +40 -40
- package/Reloadable/dist/effect-Reloadable.cjs.prod.js +40 -40
- package/Request/dist/effect-Request.cjs.dev.js +28 -28
- package/Request/dist/effect-Request.cjs.prod.js +28 -28
- package/RequestBlock/dist/effect-RequestBlock.cjs.dev.js +35 -35
- package/RequestBlock/dist/effect-RequestBlock.cjs.prod.js +35 -35
- package/RequestResolver/dist/effect-RequestResolver.cjs.dev.js +35 -35
- package/RequestResolver/dist/effect-RequestResolver.cjs.prod.js +35 -35
- package/Resource/dist/effect-Resource.cjs.dev.js +33 -33
- package/Resource/dist/effect-Resource.cjs.prod.js +33 -33
- package/Runtime/dist/effect-Runtime.cjs.dev.js +29 -29
- package/Runtime/dist/effect-Runtime.cjs.prod.js +29 -29
- package/RuntimeFlags/dist/effect-RuntimeFlags.cjs.dev.js +32 -32
- package/RuntimeFlags/dist/effect-RuntimeFlags.cjs.prod.js +32 -32
- package/RuntimeFlagsPatch/dist/effect-RuntimeFlagsPatch.cjs.dev.js +5 -5
- package/RuntimeFlagsPatch/dist/effect-RuntimeFlagsPatch.cjs.prod.js +5 -5
- package/STM/dist/effect-STM.cjs.dev.js +43 -43
- package/STM/dist/effect-STM.cjs.prod.js +43 -43
- package/Schedule/dist/effect-Schedule.cjs.dev.js +18 -18
- package/Schedule/dist/effect-Schedule.cjs.prod.js +18 -18
- package/ScheduleDecision/dist/effect-ScheduleDecision.cjs.dev.js +2 -2
- package/ScheduleDecision/dist/effect-ScheduleDecision.cjs.prod.js +2 -2
- package/ScheduleInterval/dist/effect-ScheduleInterval.cjs.dev.js +2 -2
- package/ScheduleInterval/dist/effect-ScheduleInterval.cjs.prod.js +2 -2
- package/ScheduleIntervals/dist/effect-ScheduleIntervals.cjs.dev.js +2 -2
- package/ScheduleIntervals/dist/effect-ScheduleIntervals.cjs.prod.js +2 -2
- package/Scheduler/dist/effect-Scheduler.cjs.dev.js +7 -7
- package/Scheduler/dist/effect-Scheduler.cjs.prod.js +7 -7
- package/Scope/dist/effect-Scope.cjs.dev.js +26 -26
- package/Scope/dist/effect-Scope.cjs.prod.js +26 -26
- package/ScopedCache/dist/effect-ScopedCache.cjs.dev.js +46 -46
- package/ScopedCache/dist/effect-ScopedCache.cjs.prod.js +46 -46
- package/ScopedRef/dist/effect-ScopedRef.cjs.dev.js +30 -30
- package/ScopedRef/dist/effect-ScopedRef.cjs.prod.js +30 -30
- package/Sink/dist/effect-Sink.cjs.dev.js +42 -42
- package/Sink/dist/effect-Sink.cjs.mjs +1 -1
- package/Sink/dist/effect-Sink.cjs.prod.js +42 -42
- package/Sink/dist/effect-Sink.esm.js +5 -5
- package/SortedMap/dist/effect-SortedMap.cjs.dev.js +2 -2
- package/SortedMap/dist/effect-SortedMap.cjs.prod.js +2 -2
- package/SortedSet/dist/effect-SortedSet.cjs.dev.js +2 -2
- package/SortedSet/dist/effect-SortedSet.cjs.prod.js +2 -2
- package/Stream/dist/effect-Stream.cjs.dev.js +59 -59
- package/Stream/dist/effect-Stream.cjs.mjs +5 -5
- package/Stream/dist/effect-Stream.cjs.prod.js +59 -59
- 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 +2 -2
- package/String/dist/effect-String.cjs.prod.js +2 -2
- package/SubscriptionRef/dist/effect-SubscriptionRef.cjs.dev.js +46 -46
- package/SubscriptionRef/dist/effect-SubscriptionRef.cjs.prod.js +46 -46
- package/Supervisor/dist/effect-Supervisor.cjs.dev.js +33 -33
- package/Supervisor/dist/effect-Supervisor.cjs.prod.js +33 -33
- package/SynchronizedRef/dist/effect-SynchronizedRef.cjs.dev.js +29 -29
- package/SynchronizedRef/dist/effect-SynchronizedRef.cjs.prod.js +29 -29
- package/TArray/dist/effect-TArray.cjs.dev.js +45 -45
- package/TArray/dist/effect-TArray.cjs.prod.js +45 -45
- package/TDeferred/dist/effect-TDeferred.cjs.dev.js +44 -44
- package/TDeferred/dist/effect-TDeferred.cjs.prod.js +44 -44
- package/TMap/dist/effect-TMap.cjs.dev.js +46 -46
- package/TMap/dist/effect-TMap.cjs.prod.js +46 -46
- package/TPriorityQueue/dist/effect-TPriorityQueue.cjs.dev.js +43 -43
- package/TPriorityQueue/dist/effect-TPriorityQueue.cjs.prod.js +43 -43
- 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} +98 -98
- 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} +98 -98
- package/TPubSub/dist/effect-TPubSub.esm.js +157 -0
- package/TPubSub/package.json +4 -0
- package/TQueue/dist/effect-TQueue.cjs.dev.js +45 -45
- package/TQueue/dist/effect-TQueue.cjs.prod.js +45 -45
- package/TRandom/dist/effect-TRandom.cjs.dev.js +45 -45
- package/TRandom/dist/effect-TRandom.cjs.prod.js +45 -45
- package/TReentrantLock/dist/effect-TReentrantLock.cjs.dev.js +43 -43
- package/TReentrantLock/dist/effect-TReentrantLock.cjs.prod.js +43 -43
- package/TRef/dist/effect-TRef.cjs.dev.js +43 -43
- package/TRef/dist/effect-TRef.cjs.prod.js +43 -43
- package/TSemaphore/dist/effect-TSemaphore.cjs.dev.js +44 -44
- package/TSemaphore/dist/effect-TSemaphore.cjs.prod.js +44 -44
- package/TSet/dist/effect-TSet.cjs.dev.js +46 -46
- package/TSet/dist/effect-TSet.cjs.prod.js +46 -46
- package/Take/dist/effect-Take.cjs.dev.js +35 -35
- package/Take/dist/effect-Take.cjs.prod.js +35 -35
- package/TestAnnotation/dist/effect-TestAnnotation.cjs.dev.js +4 -4
- package/TestAnnotation/dist/effect-TestAnnotation.cjs.prod.js +4 -4
- package/TestAnnotations/dist/effect-TestAnnotations.cjs.dev.js +21 -21
- package/TestAnnotations/dist/effect-TestAnnotations.cjs.prod.js +21 -21
- package/TestClock/dist/effect-TestClock.cjs.dev.js +45 -45
- package/TestClock/dist/effect-TestClock.cjs.prod.js +45 -45
- package/TestConfig/dist/effect-TestConfig.cjs.dev.js +3 -3
- package/TestConfig/dist/effect-TestConfig.cjs.prod.js +3 -3
- package/TestContext/dist/effect-TestContext.cjs.dev.js +34 -34
- package/TestContext/dist/effect-TestContext.cjs.prod.js +34 -34
- package/TestLive/dist/effect-TestLive.cjs.dev.js +13 -13
- package/TestLive/dist/effect-TestLive.cjs.prod.js +13 -13
- package/TestServices/dist/effect-TestServices.cjs.dev.js +38 -38
- package/TestServices/dist/effect-TestServices.cjs.prod.js +38 -38
- package/TestSized/dist/effect-TestSized.cjs.dev.js +7 -7
- package/TestSized/dist/effect-TestSized.cjs.prod.js +7 -7
- package/Tracer/dist/effect-Tracer.cjs.dev.js +13 -13
- package/Tracer/dist/effect-Tracer.cjs.prod.js +13 -13
- package/dist/{Context-01a123ac.cjs.prod.js → Context-0b0d0e29.cjs.prod.js} +2 -2
- package/dist/{Context-593661f6.cjs.dev.js → Context-1f857844.cjs.dev.js} +2 -2
- package/dist/{Effectable-2f022879.cjs.dev.js → Effectable-07258ce9.cjs.dev.js} +10 -8
- package/dist/{Effectable-cd8f3a96.cjs.prod.js → Effectable-c2cd2b50.cjs.prod.js} +10 -8
- package/dist/{Either-7a881c7a.cjs.prod.js → Either-a974e241.cjs.prod.js} +3 -3
- package/dist/{Either-12bbe00c.cjs.dev.js → Either-d49a9926.cjs.dev.js} +3 -3
- 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-6257b66d.cjs.prod.js → HashSet-0ffa0e48.cjs.prod.js} +32 -32
- package/dist/{HashSet-0b4ff1e4.cjs.dev.js → HashSet-606682d1.cjs.dev.js} +32 -32
- package/dist/{Ref-74b592a4.cjs.dev.js → Ref-4009db78.cjs.dev.js} +1 -1
- package/dist/{Ref-a3a4e50d.cjs.prod.js → Ref-590d873e.cjs.prod.js} +1 -1
- package/dist/{cache-3a55a13a.cjs.prod.js → cache-8a5a4a2d.cjs.prod.js} +13 -13
- package/dist/{cache-83d14f6e.cjs.dev.js → cache-fe0cd2f2.cjs.dev.js} +13 -13
- package/dist/{circular-c3ce70f4.cjs.prod.js → circular-2d1d95bc.cjs.prod.js} +6 -6
- package/dist/{circular-2162b720.cjs.dev.js → circular-325c6904.cjs.dev.js} +6 -6
- package/dist/{circular-a4887ee9.cjs.dev.js → circular-95bf2834.cjs.dev.js} +33 -33
- package/dist/{circular-f72fcb1d.cjs.prod.js → circular-ccfbed47.cjs.prod.js} +33 -33
- package/dist/{config-d0ddc159.cjs.prod.js → config-a72429ce.cjs.prod.js} +3 -3
- package/dist/{config-80900693.cjs.dev.js → config-e4643c63.cjs.dev.js} +3 -3
- package/dist/{configProvider-93617d6d.cjs.prod.js → configProvider-16bc7ff6.cjs.prod.js} +29 -29
- package/dist/{configProvider-ce43fdbf.cjs.dev.js → configProvider-3cdbe5f3.cjs.dev.js} +29 -29
- package/dist/{core-b2dfee8d.cjs.dev.js → core-44c23eaf.cjs.dev.js} +3 -3
- package/dist/{core-0b0539de.cjs.prod.js → core-c87f1ac0.cjs.prod.js} +730 -730
- package/dist/{core-8ff5a82c.cjs.prod.js → core-ce4f24fc.cjs.prod.js} +3 -3
- package/dist/{core-b4d7b4f5.cjs.dev.js → core-efee9c5a.cjs.dev.js} +730 -730
- package/dist/{core-effect-c65770cd.cjs.prod.js → core-effect-867f1514.cjs.prod.js} +75 -73
- package/dist/{core-effect-892f3686.cjs.dev.js → core-effect-f99b558c.cjs.dev.js} +75 -73
- package/dist/{dataSource-837686e6.cjs.prod.js → dataSource-2fe48092.cjs.prod.js} +2 -2
- package/dist/{dataSource-5227437c.cjs.dev.js → dataSource-642004b6.cjs.dev.js} +2 -2
- 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/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/{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/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 +11 -7
- package/dist/declarations/src/index.d.ts.map +1 -1
- package/dist/{defaultServices-086b8ac9.cjs.prod.js → defaultServices-7e943cae.cjs.prod.js} +6 -6
- package/dist/{defaultServices-5530ff0e.cjs.dev.js → defaultServices-eb04fba1.cjs.dev.js} +6 -6
- package/dist/effect.cjs.dev.js +9 -6
- package/dist/effect.cjs.mjs +3 -2
- package/dist/effect.cjs.prod.js +9 -6
- package/dist/effect.esm.js +6 -4
- package/dist/{fiber-1bfb4c1d.cjs.dev.js → fiber-4d2acba3.cjs.dev.js} +12 -12
- package/dist/{fiber-2eb0a4c1.cjs.prod.js → fiber-588d28c2.cjs.prod.js} +12 -12
- package/dist/{fiberRefs-be6b6a70.cjs.prod.js → fiberRefs-51f2a630.cjs.prod.js} +1 -1
- package/dist/{fiberRefs-be4fae6a.cjs.dev.js → fiberRefs-e08092fb.cjs.dev.js} +1 -1
- package/dist/{fiberRuntime-e0db0ab6.cjs.dev.js → fiberRuntime-6e93adff.cjs.dev.js} +107 -102
- package/dist/{fiberRuntime-af2d0ca1.cjs.prod.js → fiberRuntime-7287c284.cjs.prod.js} +107 -102
- package/dist/{groupBy-bd943372.cjs.dev.js → groupBy-1e05ffd4.cjs.dev.js} +4 -4
- package/dist/{groupBy-7ce46ea3.cjs.prod.js → groupBy-6d5815f3.cjs.prod.js} +4 -4
- package/dist/{hook-470b717e.cjs.prod.js → hook-39ebe8b3.cjs.prod.js} +8 -4
- package/dist/{hook-e72b20fd.cjs.dev.js → hook-f9a9b660.cjs.dev.js} +8 -4
- package/dist/{key-378a6a2c.cjs.prod.js → key-66f61406.cjs.prod.js} +3 -3
- package/dist/{key-f0a1408a.cjs.dev.js → key-6d9b350e.cjs.dev.js} +3 -3
- package/dist/{keyType-55f27f07.cjs.dev.js → keyType-22634b88.cjs.dev.js} +9 -2
- package/dist/{keyType-cf67c69c.cjs.prod.js → keyType-8ff33fde.cjs.prod.js} +9 -2
- package/dist/{layer-9cbb61ce.cjs.dev.js → layer-e3745d23.cjs.dev.js} +33 -33
- package/dist/{layer-3b1b0e2e.cjs.prod.js → layer-f8cd3f83.cjs.prod.js} +33 -33
- package/dist/{patch-a1b2802f.cjs.dev.js → patch-b051ae7e.cjs.dev.js} +1 -1
- package/dist/{patch-c4d6c61e.cjs.prod.js → patch-b8d22fb3.cjs.prod.js} +1 -1
- package/dist/{pathPatch-15c8d723.cjs.prod.js → pathPatch-bdcb0e3f.cjs.prod.js} +1 -1
- package/dist/{pathPatch-d9d41297.cjs.dev.js → pathPatch-fc0ba157.cjs.dev.js} +1 -1
- package/dist/{pool-b5c7d254.cjs.prod.js → pool-6c034854.cjs.prod.js} +31 -31
- package/dist/{pool-29b03fb2.cjs.dev.js → pool-a52582b9.cjs.dev.js} +31 -31
- package/dist/{query-d5eefc43.cjs.prod.js → query-59d346d8.cjs.prod.js} +11 -11
- package/dist/{query-67a7c448.cjs.dev.js → query-ab3d963c.cjs.dev.js} +11 -11
- package/dist/{queue-997d6e51.cjs.dev.js → queue-50c41726.cjs.dev.js} +22 -22
- package/dist/{queue-38614769.cjs.prod.js → queue-fcd6126f.cjs.prod.js} +22 -22
- package/dist/{registry-013ecdde.cjs.prod.js → registry-3809a602.cjs.prod.js} +4 -4
- package/dist/{registry-1099de3f.cjs.dev.js → registry-fc4cef7b.cjs.dev.js} +4 -4
- package/dist/{runtime-15cc9cc5.cjs.dev.js → runtime-9047860e.cjs.dev.js} +7 -7
- package/dist/{runtime-3a59f5c4.cjs.prod.js → runtime-aa083fe4.cjs.prod.js} +7 -7
- package/dist/{schedule-1d92198c.cjs.prod.js → schedule-4ca6941d.cjs.prod.js} +40 -40
- package/dist/{schedule-e0f55cab.cjs.dev.js → schedule-fd323904.cjs.dev.js} +40 -40
- package/dist/scopedRef-0fc8943d.cjs.prod.js +55 -0
- package/dist/scopedRef-dc386056.cjs.dev.js +55 -0
- package/dist/{singleProducerAsyncInput-998b8fac.cjs.dev.js → singleProducerAsyncInput-54b43c1b.cjs.dev.js} +1 -1
- package/dist/{singleProducerAsyncInput-1c6cc8fb.cjs.prod.js → singleProducerAsyncInput-61ffe143.cjs.prod.js} +1 -1
- package/dist/{sink-1ac24bca.cjs.dev.js → sink-0445fb11.cjs.dev.js} +17 -17
- package/dist/{sink-4d668efb.cjs.prod.js → sink-ade4fdbe.cjs.prod.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-fcac86d5.cjs.prod.js → stm-8d082310.cjs.prod.js} +3 -3
- package/dist/{stm-fbb398a5.cjs.dev.js → stm-e9d8effb.cjs.dev.js} +3 -3
- package/dist/{stream-e670e8fa.cjs.prod.js → stream-97061dd9.cjs.prod.js} +31 -28
- package/dist/{stream-adef675d.cjs.dev.js → stream-e220a3b2.cjs.dev.js} +31 -28
- package/dist/{synchronizedRef-37e32854.cjs.dev.js → synchronizedRef-1f28b27f.cjs.dev.js} +6 -6
- package/dist/{synchronizedRef-b4cde4de.cjs.prod.js → synchronizedRef-ff0ddebf.cjs.prod.js} +6 -6
- package/dist/{tArray-70de8ec4.cjs.prod.js → tArray-437f6510.cjs.prod.js} +3 -3
- package/dist/{tArray-239d37ad.cjs.dev.js → tArray-59a819a0.cjs.dev.js} +3 -3
- package/dist/{tMap-a202396b.cjs.prod.js → tMap-ca06b00f.cjs.prod.js} +4 -4
- package/dist/{tMap-4b27665d.cjs.dev.js → tMap-d6376d13.cjs.dev.js} +4 -4
- package/dist/{tQueue-004a478e.cjs.dev.js → tQueue-7b931af8.cjs.dev.js} +3 -3
- package/dist/{tQueue-82c4db95.cjs.prod.js → tQueue-bf3716af.cjs.prod.js} +3 -3
- package/dist/{tRef-bb7cc73a.cjs.dev.js → tRef-5b159626.cjs.dev.js} +1 -1
- package/dist/{tRef-ee2c7f44.cjs.prod.js → tRef-bb143111.cjs.prod.js} +1 -1
- package/internal/Context.esm.js +2 -2
- package/internal/Effectable.esm.js +8 -8
- package/internal/Either.esm.js +3 -3
- package/internal/Option.esm.js +3 -3
- package/internal/cause.esm.js +5 -5
- package/internal/channel.esm.js +5 -5
- package/internal/core-effect.esm.js +3 -1
- package/internal/fiberRuntime.esm.js +13 -8
- 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/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 +62 -203
- package/src/.index.ts +30 -0
- package/src/Bigint.ts +381 -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 +295 -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/Error.ts +69 -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 +845 -0
- package/src/internal/Common.ts +56 -0
- package/src/internal/Context.ts +252 -0
- package/src/internal/Data.ts +51 -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 +1220 -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/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/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-88ae648a.cjs.dev.js +0 -55
- package/dist/scopedRef-a0257d92.cjs.prod.js +0 -55
- /package/dist/{FiberId-557db880.cjs.dev.js → FiberId-9c555b91.cjs.dev.js} +0 -0
- /package/dist/{FiberId-e594f6e8.cjs.prod.js → FiberId-fd1b9201.cjs.prod.js} +0 -0
- /package/dist/{RuntimeFlagsPatch-ea268c50.cjs.dev.js → RuntimeFlagsPatch-197be4f3.cjs.dev.js} +0 -0
- /package/dist/{RuntimeFlagsPatch-e2769b87.cjs.prod.js → RuntimeFlagsPatch-7f853fa5.cjs.prod.js} +0 -0
- /package/dist/{boundaries-3810d885.cjs.dev.js → boundaries-60c435b8.cjs.dev.js} +0 -0
- /package/dist/{boundaries-20cfad9d.cjs.prod.js → boundaries-73dd633f.cjs.prod.js} +0 -0
- /package/dist/{configError-240e9b61.cjs.dev.js → configError-623ccb8d.cjs.dev.js} +0 -0
- /package/dist/{configError-33e55472.cjs.prod.js → configError-d2914327.cjs.prod.js} +0 -0
- /package/dist/{configSecret-e34c1b14.cjs.dev.js → configSecret-baa8839f.cjs.dev.js} +0 -0
- /package/dist/{configSecret-d1caca55.cjs.prod.js → configSecret-c08c317d.cjs.prod.js} +0 -0
- /package/dist/{take-4857b6af.cjs.dev.js → take-05b33c5b.cjs.dev.js} +0 -0
- /package/dist/{take-9c555b46.cjs.prod.js → take-c7b73760.cjs.prod.js} +0 -0
package/src/HashSet.ts
ADDED
|
@@ -0,0 +1,300 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @since 2.0.0
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import type { Equal } from "./Equal"
|
|
6
|
+
import type { Inspectable } from "./Inspectable"
|
|
7
|
+
import * as HS from "./internal/HashSet"
|
|
8
|
+
import type { Pipeable } from "./Pipeable"
|
|
9
|
+
import type { Predicate, Refinement } from "./Predicate"
|
|
10
|
+
|
|
11
|
+
const TypeId: unique symbol = HS.HashSetTypeId as TypeId
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* @since 2.0.0
|
|
15
|
+
* @category symbol
|
|
16
|
+
*/
|
|
17
|
+
export type TypeId = typeof TypeId
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* @since 2.0.0
|
|
21
|
+
* @category models
|
|
22
|
+
*/
|
|
23
|
+
export interface HashSet<A> extends Iterable<A>, Equal, Pipeable, Inspectable {
|
|
24
|
+
readonly [TypeId]: TypeId
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* @since 2.0.0
|
|
29
|
+
* @category refinements
|
|
30
|
+
*/
|
|
31
|
+
export const isHashSet: {
|
|
32
|
+
<A>(u: Iterable<A>): u is HashSet<A>
|
|
33
|
+
(u: unknown): u is HashSet<unknown>
|
|
34
|
+
} = HS.isHashSet
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Creates an empty `HashSet`.
|
|
38
|
+
*
|
|
39
|
+
* @since 2.0.0
|
|
40
|
+
* @category constructors
|
|
41
|
+
*/
|
|
42
|
+
export const empty: <A = never>() => HashSet<A> = HS.empty
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Construct a new `HashSet` from a `Collection` of values
|
|
46
|
+
*
|
|
47
|
+
* @since 2.0.0
|
|
48
|
+
* @category constructors
|
|
49
|
+
*/
|
|
50
|
+
export const fromIterable: <A>(elements: Iterable<A>) => HashSet<A> = HS.fromIterable
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Construct a new `HashSet` from a variable number of values.
|
|
54
|
+
*
|
|
55
|
+
* @since 2.0.0
|
|
56
|
+
* @category constructors
|
|
57
|
+
*/
|
|
58
|
+
export const make: <As extends ReadonlyArray<any>>(...elements: As) => HashSet<As[number]> = HS.make
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* Checks if the specified value exists in the `HashSet`.
|
|
62
|
+
*
|
|
63
|
+
* @since 2.0.0
|
|
64
|
+
* @category elements
|
|
65
|
+
*/
|
|
66
|
+
export const has: {
|
|
67
|
+
<A>(value: A): (self: HashSet<A>) => boolean
|
|
68
|
+
<A>(self: HashSet<A>, value: A): boolean
|
|
69
|
+
} = HS.has
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* Check if a predicate holds true for some `HashSet` element.
|
|
73
|
+
*
|
|
74
|
+
* @since 2.0.0
|
|
75
|
+
* @category elements
|
|
76
|
+
*/
|
|
77
|
+
export const some: {
|
|
78
|
+
<A>(f: Predicate<A>): (self: HashSet<A>) => boolean
|
|
79
|
+
<A>(self: HashSet<A>, f: Predicate<A>): boolean
|
|
80
|
+
} = HS.some
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* Check if a predicate holds true for every `HashSet` element.
|
|
84
|
+
*
|
|
85
|
+
* @since 2.0.0
|
|
86
|
+
* @category elements
|
|
87
|
+
*/
|
|
88
|
+
export const every: {
|
|
89
|
+
<A, B extends A>(refinement: Refinement<A, B>): (self: HashSet<A>) => self is HashSet<B>
|
|
90
|
+
<A>(predicate: Predicate<A>): (self: HashSet<A>) => boolean
|
|
91
|
+
<A, B extends A>(self: HashSet<A>, refinement: Refinement<A, B>): self is HashSet<B>
|
|
92
|
+
<A>(self: HashSet<A>, predicate: Predicate<A>): boolean
|
|
93
|
+
} = HS.every
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* Returns `true` if and only if every element in the this `HashSet` is an
|
|
97
|
+
* element of the second set,
|
|
98
|
+
*
|
|
99
|
+
* **NOTE**: the hash and equal of both sets must be the same.
|
|
100
|
+
*
|
|
101
|
+
* @since 2.0.0
|
|
102
|
+
* @category elements
|
|
103
|
+
*/
|
|
104
|
+
export const isSubset: {
|
|
105
|
+
<A>(that: HashSet<A>): (self: HashSet<A>) => boolean
|
|
106
|
+
<A>(self: HashSet<A>, that: HashSet<A>): boolean
|
|
107
|
+
} = HS.isSubset
|
|
108
|
+
|
|
109
|
+
/**
|
|
110
|
+
* Returns an `IterableIterator` of the values in the `HashSet`.
|
|
111
|
+
*
|
|
112
|
+
* @since 2.0.0
|
|
113
|
+
* @category getters
|
|
114
|
+
*/
|
|
115
|
+
export const values: <A>(self: HashSet<A>) => IterableIterator<A> = HS.values
|
|
116
|
+
|
|
117
|
+
/**
|
|
118
|
+
* Calculates the number of values in the `HashSet`.
|
|
119
|
+
*
|
|
120
|
+
* @since 2.0.0
|
|
121
|
+
* @category getters
|
|
122
|
+
*/
|
|
123
|
+
export const size: <A>(self: HashSet<A>) => number = HS.size
|
|
124
|
+
|
|
125
|
+
/**
|
|
126
|
+
* Marks the `HashSet` as mutable.
|
|
127
|
+
*
|
|
128
|
+
* @since 2.0.0
|
|
129
|
+
*/
|
|
130
|
+
export const beginMutation: <A>(self: HashSet<A>) => HashSet<A> = HS.beginMutation
|
|
131
|
+
|
|
132
|
+
/**
|
|
133
|
+
* Marks the `HashSet` as immutable.
|
|
134
|
+
*
|
|
135
|
+
* @since 2.0.0
|
|
136
|
+
*/
|
|
137
|
+
export const endMutation: <A>(self: HashSet<A>) => HashSet<A> = HS.endMutation
|
|
138
|
+
|
|
139
|
+
/**
|
|
140
|
+
* Mutates the `HashSet` within the context of the provided function.
|
|
141
|
+
*
|
|
142
|
+
* @since 2.0.0
|
|
143
|
+
*/
|
|
144
|
+
export const mutate: {
|
|
145
|
+
<A>(f: (set: HashSet<A>) => void): (self: HashSet<A>) => HashSet<A>
|
|
146
|
+
<A>(self: HashSet<A>, f: (set: HashSet<A>) => void): HashSet<A>
|
|
147
|
+
} = HS.mutate
|
|
148
|
+
|
|
149
|
+
/**
|
|
150
|
+
* Adds a value to the `HashSet`.
|
|
151
|
+
*
|
|
152
|
+
* @since 2.0.0
|
|
153
|
+
*/
|
|
154
|
+
export const add: {
|
|
155
|
+
<A>(value: A): (self: HashSet<A>) => HashSet<A>
|
|
156
|
+
<A>(self: HashSet<A>, value: A): HashSet<A>
|
|
157
|
+
} = HS.add
|
|
158
|
+
|
|
159
|
+
/**
|
|
160
|
+
* Removes a value from the `HashSet`.
|
|
161
|
+
*
|
|
162
|
+
* @since 2.0.0
|
|
163
|
+
*/
|
|
164
|
+
export const remove: {
|
|
165
|
+
<A>(value: A): (self: HashSet<A>) => HashSet<A>
|
|
166
|
+
<A>(self: HashSet<A>, value: A): HashSet<A>
|
|
167
|
+
} = HS.remove
|
|
168
|
+
|
|
169
|
+
/**
|
|
170
|
+
* Computes the set difference between this `HashSet` and the specified
|
|
171
|
+
* `Iterable<A>`.
|
|
172
|
+
*
|
|
173
|
+
* **NOTE**: the hash and equal of the values in both the set and the iterable
|
|
174
|
+
* must be the same.
|
|
175
|
+
*
|
|
176
|
+
* @since 2.0.0
|
|
177
|
+
*/
|
|
178
|
+
export const difference: {
|
|
179
|
+
<A>(that: Iterable<A>): (self: HashSet<A>) => HashSet<A>
|
|
180
|
+
<A>(self: HashSet<A>, that: Iterable<A>): HashSet<A>
|
|
181
|
+
} = HS.difference
|
|
182
|
+
|
|
183
|
+
/**
|
|
184
|
+
* Returns a `HashSet` of values which are present in both this set and that
|
|
185
|
+
* `Iterable<A>`.
|
|
186
|
+
*
|
|
187
|
+
* **NOTE**: the hash and equal of the values in both the set and the iterable
|
|
188
|
+
* must be the same.
|
|
189
|
+
*
|
|
190
|
+
* @since 2.0.0
|
|
191
|
+
*/
|
|
192
|
+
export const intersection: {
|
|
193
|
+
<A>(that: Iterable<A>): (self: HashSet<A>) => HashSet<A>
|
|
194
|
+
<A>(self: HashSet<A>, that: Iterable<A>): HashSet<A>
|
|
195
|
+
} = HS.intersection
|
|
196
|
+
|
|
197
|
+
/**
|
|
198
|
+
* Computes the set union `(`self` + `that`)` between this `HashSet` and the
|
|
199
|
+
* specified `Iterable<A>`.
|
|
200
|
+
*
|
|
201
|
+
* **NOTE**: the hash and equal of the values in both the set and the iterable
|
|
202
|
+
* must be the same.
|
|
203
|
+
*
|
|
204
|
+
* @since 2.0.0
|
|
205
|
+
*/
|
|
206
|
+
export const union: {
|
|
207
|
+
<A>(that: Iterable<A>): (self: HashSet<A>) => HashSet<A>
|
|
208
|
+
<A>(self: HashSet<A>, that: Iterable<A>): HashSet<A>
|
|
209
|
+
} = HS.union
|
|
210
|
+
|
|
211
|
+
/**
|
|
212
|
+
* Checks if a value is present in the `HashSet`. If it is present, the value
|
|
213
|
+
* will be removed from the `HashSet`, otherwise the value will be added to the
|
|
214
|
+
* `HashSet`.
|
|
215
|
+
*
|
|
216
|
+
* @since 2.0.0
|
|
217
|
+
*/
|
|
218
|
+
export const toggle: {
|
|
219
|
+
<A>(value: A): (self: HashSet<A>) => HashSet<A>
|
|
220
|
+
<A>(self: HashSet<A>, value: A): HashSet<A>
|
|
221
|
+
} = HS.toggle
|
|
222
|
+
|
|
223
|
+
/**
|
|
224
|
+
* Maps over the values of the `HashSet` using the specified function.
|
|
225
|
+
*
|
|
226
|
+
* @since 2.0.0
|
|
227
|
+
* @category mapping
|
|
228
|
+
*/
|
|
229
|
+
export const map: {
|
|
230
|
+
<A, B>(f: (a: A) => B): (self: HashSet<A>) => HashSet<B>
|
|
231
|
+
<A, B>(self: HashSet<A>, f: (a: A) => B): HashSet<B>
|
|
232
|
+
} = HS.map
|
|
233
|
+
|
|
234
|
+
/**
|
|
235
|
+
* Chains over the values of the `HashSet` using the specified function.
|
|
236
|
+
*
|
|
237
|
+
* @since 2.0.0
|
|
238
|
+
* @category sequencing
|
|
239
|
+
*/
|
|
240
|
+
export const flatMap: {
|
|
241
|
+
<A, B>(f: (a: A) => Iterable<B>): (self: HashSet<A>) => HashSet<B>
|
|
242
|
+
<A, B>(self: HashSet<A>, f: (a: A) => Iterable<B>): HashSet<B>
|
|
243
|
+
} = HS.flatMap
|
|
244
|
+
|
|
245
|
+
/**
|
|
246
|
+
* Applies the specified function to the values of the `HashSet`.
|
|
247
|
+
*
|
|
248
|
+
* @since 2.0.0
|
|
249
|
+
* @category traversing
|
|
250
|
+
*/
|
|
251
|
+
export const forEach: {
|
|
252
|
+
<A>(f: (value: A) => void): (self: HashSet<A>) => void
|
|
253
|
+
<A>(self: HashSet<A>, f: (value: A) => void): void
|
|
254
|
+
} = HS.forEach
|
|
255
|
+
|
|
256
|
+
/**
|
|
257
|
+
* Reduces the specified state over the values of the `HashSet`.
|
|
258
|
+
*
|
|
259
|
+
* @since 2.0.0
|
|
260
|
+
* @category folding
|
|
261
|
+
*/
|
|
262
|
+
export const reduce: {
|
|
263
|
+
<A, Z>(zero: Z, f: (accumulator: Z, value: A) => Z): (self: HashSet<A>) => Z
|
|
264
|
+
<A, Z>(self: HashSet<A>, zero: Z, f: (accumulator: Z, value: A) => Z): Z
|
|
265
|
+
} = HS.reduce
|
|
266
|
+
|
|
267
|
+
/**
|
|
268
|
+
* Filters values out of a `HashSet` using the specified predicate.
|
|
269
|
+
*
|
|
270
|
+
* @since 2.0.0
|
|
271
|
+
* @category filtering
|
|
272
|
+
*/
|
|
273
|
+
export const filter: {
|
|
274
|
+
<A, B extends A>(f: Refinement<A, B>): (self: HashSet<A>) => HashSet<B>
|
|
275
|
+
<A>(f: Predicate<A>): (self: HashSet<A>) => HashSet<A>
|
|
276
|
+
<A, B extends A>(self: HashSet<A>, f: Refinement<A, B>): HashSet<B>
|
|
277
|
+
<A>(self: HashSet<A>, f: Predicate<A>): HashSet<A>
|
|
278
|
+
} = HS.filter
|
|
279
|
+
|
|
280
|
+
/**
|
|
281
|
+
* Partition the values of a `HashSet` using the specified predicate.
|
|
282
|
+
*
|
|
283
|
+
* If a value matches the predicate, it will be placed into the `HashSet` on the
|
|
284
|
+
* right side of the resulting `Tuple`, otherwise the value will be placed into
|
|
285
|
+
* the left side.
|
|
286
|
+
*
|
|
287
|
+
* @since 2.0.0
|
|
288
|
+
* @category partitioning
|
|
289
|
+
*/
|
|
290
|
+
export const partition: {
|
|
291
|
+
<C extends A, B extends A, A = C>(
|
|
292
|
+
refinement: Refinement<A, B>
|
|
293
|
+
): (self: HashSet<C>) => [HashSet<Exclude<C, B>>, HashSet<B>]
|
|
294
|
+
<B extends A, A = B>(predicate: (a: A) => boolean): (self: HashSet<B>) => [HashSet<B>, HashSet<B>]
|
|
295
|
+
<C extends A, B extends A, A = C>(
|
|
296
|
+
self: HashSet<C>,
|
|
297
|
+
refinement: Refinement<A, B>
|
|
298
|
+
): [HashSet<Exclude<C, B>>, HashSet<B>]
|
|
299
|
+
<B extends A, A = B>(self: HashSet<B>, predicate: (a: A) => boolean): [HashSet<B>, HashSet<B>]
|
|
300
|
+
} = HS.partition
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @since 2.0.0
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* @since 2.0.0
|
|
7
|
+
* @category symbols
|
|
8
|
+
*/
|
|
9
|
+
export const NodeInspectSymbol = Symbol.for("nodejs.util.inspect.custom")
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* @since 2.0.0
|
|
13
|
+
* @category symbols
|
|
14
|
+
*/
|
|
15
|
+
export type NodeInspectSymbol = typeof NodeInspectSymbol
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* @since 2.0.0
|
|
19
|
+
* @category models
|
|
20
|
+
*/
|
|
21
|
+
export interface Inspectable {
|
|
22
|
+
readonly toString: () => string
|
|
23
|
+
readonly toJSON: () => unknown
|
|
24
|
+
readonly [NodeInspectSymbol]: () => unknown
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* @since 2.0.0
|
|
29
|
+
*/
|
|
30
|
+
export const toJSON = (x: unknown): unknown => {
|
|
31
|
+
if (
|
|
32
|
+
typeof x === "object" && x !== null && "toJSON" in x && typeof x["toJSON"] === "function" &&
|
|
33
|
+
x["toJSON"].length === 0
|
|
34
|
+
) {
|
|
35
|
+
return x.toJSON()
|
|
36
|
+
} else if (Array.isArray(x)) {
|
|
37
|
+
return x.map(toJSON)
|
|
38
|
+
}
|
|
39
|
+
return x
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* @since 2.0.0
|
|
44
|
+
*/
|
|
45
|
+
export const toString = (x: unknown): string => JSON.stringify(x, null, 2)
|
package/src/KeyedPool.ts
ADDED
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @since 2.0.0
|
|
3
|
+
*/
|
|
4
|
+
import type * as Duration from "./Duration"
|
|
5
|
+
import type * as Effect from "./Effect"
|
|
6
|
+
import * as internal from "./internal/keyedPool"
|
|
7
|
+
import type { Pipeable } from "./Pipeable"
|
|
8
|
+
import type * as Scope from "./Scope"
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* @since 2.0.0
|
|
12
|
+
* @category symbols
|
|
13
|
+
*/
|
|
14
|
+
export const KeyedPoolTypeId: unique symbol = internal.KeyedPoolTypeId
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* @since 2.0.0
|
|
18
|
+
* @category symbols
|
|
19
|
+
*/
|
|
20
|
+
export type KeyedPoolTypeId = typeof KeyedPoolTypeId
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* A `KeyedPool<K, E, A>` is a pool of `Pool`s of items of type `A`. Each pool
|
|
24
|
+
* in the `KeyedPool` is associated with a key of type `K`.
|
|
25
|
+
*
|
|
26
|
+
* @since 2.0.0
|
|
27
|
+
* @category models
|
|
28
|
+
*/
|
|
29
|
+
export interface KeyedPool<K, E, A> extends KeyedPool.Variance<K, E, A>, Pipeable {
|
|
30
|
+
/**
|
|
31
|
+
* Retrieves an item from the pool belonging to the given key in a scoped
|
|
32
|
+
* effect. Note that if acquisition fails, then the returned effect will fail
|
|
33
|
+
* for that same reason. Retrying a failed acquisition attempt will repeat the
|
|
34
|
+
* acquisition attempt.
|
|
35
|
+
*/
|
|
36
|
+
get(key: K): Effect.Effect<Scope.Scope, E, A>
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Invalidates the specified item. This will cause the pool to eventually
|
|
40
|
+
* reallocate the item, although this reallocation may occur lazily rather
|
|
41
|
+
* than eagerly.
|
|
42
|
+
*/
|
|
43
|
+
invalidate(item: A): Effect.Effect<never, never, void>
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* @since 2.0.0
|
|
48
|
+
*/
|
|
49
|
+
export declare namespace KeyedPool {
|
|
50
|
+
/**
|
|
51
|
+
* @since 2.0.0
|
|
52
|
+
* @category models
|
|
53
|
+
*/
|
|
54
|
+
export interface Variance<K, E, A> {
|
|
55
|
+
readonly [KeyedPoolTypeId]: {
|
|
56
|
+
readonly _K: (_: K) => void
|
|
57
|
+
readonly _E: (_: never) => E
|
|
58
|
+
readonly _A: (_: never) => A
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* Makes a new pool of the specified fixed size. The pool is returned in a
|
|
65
|
+
* `Scope`, which governs the lifetime of the pool. When the pool is shutdown
|
|
66
|
+
* because the `Scope` is closed, the individual items allocated by the pool
|
|
67
|
+
* will be released in some unspecified order.
|
|
68
|
+
*
|
|
69
|
+
* @since 2.0.0
|
|
70
|
+
* @category constructors
|
|
71
|
+
*/
|
|
72
|
+
export const make: <K, R, E, A>(
|
|
73
|
+
options: { readonly acquire: (key: K) => Effect.Effect<R, E, A>; readonly size: number }
|
|
74
|
+
) => Effect.Effect<Scope.Scope | R, never, KeyedPool<K, E, A>> = internal.make
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* Makes a new pool of the specified fixed size. The pool is returned in a
|
|
78
|
+
* `Scope`, which governs the lifetime of the pool. When the pool is shutdown
|
|
79
|
+
* because the `Scope` is closed, the individual items allocated by the pool
|
|
80
|
+
* will be released in some unspecified order.
|
|
81
|
+
*
|
|
82
|
+
* The size of the underlying pools can be configured per key.
|
|
83
|
+
*
|
|
84
|
+
* @since 2.0.0
|
|
85
|
+
* @category constructors
|
|
86
|
+
*/
|
|
87
|
+
export const makeWith: <K, R, E, A>(
|
|
88
|
+
options: { readonly acquire: (key: K) => Effect.Effect<R, E, A>; readonly size: (key: K) => number }
|
|
89
|
+
) => Effect.Effect<Scope.Scope | R, never, KeyedPool<K, E, A>> = internal.makeWith
|
|
90
|
+
|
|
91
|
+
/**
|
|
92
|
+
* Makes a new pool with the specified minimum and maximum sizes and time to
|
|
93
|
+
* live before a pool whose excess items are not being used will be shrunk
|
|
94
|
+
* down to the minimum size. The pool is returned in a `Scope`, which governs
|
|
95
|
+
* the lifetime of the pool. When the pool is shutdown because the `Scope` is
|
|
96
|
+
* used, the individual items allocated by the pool will be released in some
|
|
97
|
+
* unspecified order.
|
|
98
|
+
*
|
|
99
|
+
* The size of the underlying pools can be configured per key.
|
|
100
|
+
*
|
|
101
|
+
* @since 2.0.0
|
|
102
|
+
* @category constructors
|
|
103
|
+
*/
|
|
104
|
+
export const makeWithTTL: <K, R, E, A>(
|
|
105
|
+
options: {
|
|
106
|
+
readonly acquire: (key: K) => Effect.Effect<R, E, A>
|
|
107
|
+
readonly min: (key: K) => number
|
|
108
|
+
readonly max: (key: K) => number
|
|
109
|
+
readonly timeToLive: Duration.DurationInput
|
|
110
|
+
}
|
|
111
|
+
) => Effect.Effect<Scope.Scope | R, never, KeyedPool<K, E, A>> = internal.makeWithTTL
|
|
112
|
+
|
|
113
|
+
/**
|
|
114
|
+
* Makes a new pool with the specified minimum and maximum sizes and time to
|
|
115
|
+
* live before a pool whose excess items are not being used will be shrunk
|
|
116
|
+
* down to the minimum size. The pool is returned in a `Scope`, which governs
|
|
117
|
+
* the lifetime of the pool. When the pool is shutdown because the `Scope` is
|
|
118
|
+
* used, the individual items allocated by the pool will be released in some
|
|
119
|
+
* unspecified order.
|
|
120
|
+
*
|
|
121
|
+
* The size of the underlying pools can be configured per key.
|
|
122
|
+
*
|
|
123
|
+
* @since 2.0.0
|
|
124
|
+
* @category constructors
|
|
125
|
+
*/
|
|
126
|
+
export const makeWithTTLBy: <K, R, E, A>(
|
|
127
|
+
options: {
|
|
128
|
+
readonly acquire: (key: K) => Effect.Effect<R, E, A>
|
|
129
|
+
readonly min: (key: K) => number
|
|
130
|
+
readonly max: (key: K) => number
|
|
131
|
+
readonly timeToLive: (key: K) => Duration.DurationInput
|
|
132
|
+
}
|
|
133
|
+
) => Effect.Effect<Scope.Scope | R, never, KeyedPool<K, E, A>> = internal.makeWithTTLBy
|
|
134
|
+
|
|
135
|
+
/**
|
|
136
|
+
* Retrieves an item from the pool belonging to the given key in a scoped
|
|
137
|
+
* effect. Note that if acquisition fails, then the returned effect will fail
|
|
138
|
+
* for that same reason. Retrying a failed acquisition attempt will repeat the
|
|
139
|
+
* acquisition attempt.
|
|
140
|
+
*
|
|
141
|
+
* @since 2.0.0
|
|
142
|
+
* @category combinators
|
|
143
|
+
*/
|
|
144
|
+
export const get: {
|
|
145
|
+
<K>(key: K): <E, A>(self: KeyedPool<K, E, A>) => Effect.Effect<Scope.Scope, E, A>
|
|
146
|
+
<K, E, A>(self: KeyedPool<K, E, A>, key: K): Effect.Effect<Scope.Scope, E, A>
|
|
147
|
+
} = internal.get
|
|
148
|
+
|
|
149
|
+
/**
|
|
150
|
+
* Invalidates the specified item. This will cause the pool to eventually
|
|
151
|
+
* reallocate the item, although this reallocation may occur lazily rather
|
|
152
|
+
* than eagerly.
|
|
153
|
+
*
|
|
154
|
+
* @since 2.0.0
|
|
155
|
+
* @category combinators
|
|
156
|
+
*/
|
|
157
|
+
export const invalidate: {
|
|
158
|
+
<A>(item: A): <K, E>(self: KeyedPool<K, E, A>) => Effect.Effect<never, never, void>
|
|
159
|
+
<K, E, A>(self: KeyedPool<K, E, A>, item: A): Effect.Effect<never, never, void>
|
|
160
|
+
} = internal.invalidate
|