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.
Files changed (737) hide show
  1. package/Brand/dist/effect-Brand.cjs.dev.js +2 -2
  2. package/Brand/dist/effect-Brand.cjs.prod.js +2 -2
  3. package/Cache/dist/effect-Cache.cjs.dev.js +27 -27
  4. package/Cache/dist/effect-Cache.cjs.prod.js +27 -27
  5. package/Cause/dist/effect-Cause.cjs.dev.js +16 -16
  6. package/Cause/dist/effect-Cause.cjs.mjs +1 -1
  7. package/Cause/dist/effect-Cause.cjs.prod.js +16 -16
  8. package/Cause/dist/effect-Cause.esm.js +4 -4
  9. package/Channel/dist/effect-Channel.cjs.dev.js +49 -49
  10. package/Channel/dist/effect-Channel.cjs.mjs +3 -3
  11. package/Channel/dist/effect-Channel.cjs.prod.js +49 -49
  12. package/Channel/dist/effect-Channel.esm.js +8 -8
  13. package/ChannelSingleProducerAsyncInput/dist/effect-ChannelSingleProducerAsyncInput.cjs.dev.js +35 -35
  14. package/ChannelSingleProducerAsyncInput/dist/effect-ChannelSingleProducerAsyncInput.cjs.prod.js +35 -35
  15. package/Chunk/dist/effect-Chunk.cjs.dev.js +2 -2
  16. package/Chunk/dist/effect-Chunk.cjs.prod.js +2 -2
  17. package/Clock/dist/effect-Clock.cjs.dev.js +13 -13
  18. package/Clock/dist/effect-Clock.cjs.prod.js +13 -13
  19. package/Config/dist/effect-Config.cjs.dev.js +10 -10
  20. package/Config/dist/effect-Config.cjs.prod.js +10 -10
  21. package/ConfigError/dist/effect-ConfigError.cjs.dev.js +3 -3
  22. package/ConfigError/dist/effect-ConfigError.cjs.prod.js +3 -3
  23. package/ConfigProvider/dist/effect-ConfigProvider.cjs.dev.js +12 -12
  24. package/ConfigProvider/dist/effect-ConfigProvider.cjs.prod.js +12 -12
  25. package/ConfigProviderPathPatch/dist/effect-ConfigProviderPathPatch.cjs.dev.js +4 -4
  26. package/ConfigProviderPathPatch/dist/effect-ConfigProviderPathPatch.cjs.prod.js +4 -4
  27. package/ConfigSecret/dist/effect-ConfigSecret.cjs.dev.js +3 -3
  28. package/ConfigSecret/dist/effect-ConfigSecret.cjs.prod.js +3 -3
  29. package/Console/dist/effect-Console.cjs.dev.js +31 -31
  30. package/Console/dist/effect-Console.cjs.prod.js +31 -31
  31. package/Context/dist/effect-Context.cjs.dev.js +3 -3
  32. package/Context/dist/effect-Context.cjs.prod.js +3 -3
  33. package/DefaultServices/dist/effect-DefaultServices.cjs.dev.js +13 -13
  34. package/DefaultServices/dist/effect-DefaultServices.cjs.prod.js +13 -13
  35. package/Deferred/dist/effect-Deferred.cjs.dev.js +7 -7
  36. package/Deferred/dist/effect-Deferred.cjs.prod.js +7 -7
  37. package/Differ/dist/effect-Differ.cjs.dev.js +4 -4
  38. package/Differ/dist/effect-Differ.cjs.prod.js +4 -4
  39. package/Duration/dist/effect-Duration.cjs.dev.js +2 -2
  40. package/Duration/dist/effect-Duration.cjs.prod.js +2 -2
  41. package/Effect/dist/effect-Effect.cjs.dev.js +41 -41
  42. package/Effect/dist/effect-Effect.cjs.prod.js +41 -41
  43. package/Effectable/dist/effect-Effectable.cjs.dev.js +24 -13
  44. package/Effectable/dist/effect-Effectable.cjs.mjs +5 -4
  45. package/Effectable/dist/effect-Effectable.cjs.prod.js +24 -13
  46. package/Effectable/dist/effect-Effectable.esm.js +15 -5
  47. package/Either/dist/effect-Either.cjs.dev.js +2 -2
  48. package/Either/dist/effect-Either.cjs.prod.js +2 -2
  49. package/Encoding/dist/effect-Encoding.cjs.dev.js +2 -2
  50. package/Encoding/dist/effect-Encoding.cjs.prod.js +2 -2
  51. package/Error/dist/effect-Error.cjs.dev.js +35 -35
  52. package/Error/dist/effect-Error.cjs.prod.js +35 -35
  53. package/Error/dist/effect-Error.esm.js +2 -2
  54. package/ExecutionStrategy/dist/effect-ExecutionStrategy.cjs.dev.js +2 -2
  55. package/ExecutionStrategy/dist/effect-ExecutionStrategy.cjs.prod.js +2 -2
  56. package/Exit/dist/effect-Exit.cjs.dev.js +7 -7
  57. package/Exit/dist/effect-Exit.cjs.prod.js +7 -7
  58. package/Fiber/dist/effect-Fiber.cjs.dev.js +28 -28
  59. package/Fiber/dist/effect-Fiber.cjs.prod.js +28 -28
  60. package/FiberId/dist/effect-FiberId.cjs.dev.js +4 -4
  61. package/FiberId/dist/effect-FiberId.cjs.prod.js +4 -4
  62. package/FiberRef/dist/effect-FiberRef.cjs.dev.js +28 -28
  63. package/FiberRef/dist/effect-FiberRef.cjs.prod.js +28 -28
  64. package/FiberRefs/dist/effect-FiberRefs.cjs.dev.js +8 -8
  65. package/FiberRefs/dist/effect-FiberRefs.cjs.prod.js +8 -8
  66. package/FiberRefsPatch/dist/effect-FiberRefsPatch.cjs.dev.js +9 -9
  67. package/FiberRefsPatch/dist/effect-FiberRefsPatch.cjs.prod.js +9 -9
  68. package/GroupBy/dist/effect-GroupBy.cjs.dev.js +41 -41
  69. package/GroupBy/dist/effect-GroupBy.cjs.prod.js +41 -41
  70. package/HashMap/dist/effect-HashMap.cjs.dev.js +19 -19
  71. package/HashMap/dist/effect-HashMap.cjs.prod.js +19 -19
  72. package/HashSet/dist/effect-HashSet.cjs.dev.js +19 -19
  73. package/HashSet/dist/effect-HashSet.cjs.prod.js +19 -19
  74. package/KeyedPool/dist/effect-KeyedPool.cjs.dev.js +32 -32
  75. package/KeyedPool/dist/effect-KeyedPool.cjs.prod.js +32 -32
  76. package/Layer/dist/effect-Layer.cjs.dev.js +31 -31
  77. package/Layer/dist/effect-Layer.cjs.prod.js +31 -31
  78. package/List/dist/effect-List.cjs.dev.js +2 -2
  79. package/List/dist/effect-List.cjs.prod.js +2 -2
  80. package/LogLevel/dist/effect-LogLevel.cjs.dev.js +7 -7
  81. package/LogLevel/dist/effect-LogLevel.cjs.prod.js +7 -7
  82. package/Logger/dist/effect-Logger.cjs.dev.js +32 -32
  83. package/Logger/dist/effect-Logger.cjs.prod.js +32 -32
  84. package/Metric/dist/effect-Metric.cjs.dev.js +26 -26
  85. package/Metric/dist/effect-Metric.cjs.prod.js +26 -26
  86. package/MetricBoundaries/dist/effect-MetricBoundaries.cjs.dev.js +3 -3
  87. package/MetricBoundaries/dist/effect-MetricBoundaries.cjs.prod.js +3 -3
  88. package/MetricHook/dist/effect-MetricHook.cjs.dev.js +5 -5
  89. package/MetricHook/dist/effect-MetricHook.cjs.prod.js +5 -5
  90. package/MetricKey/dist/effect-MetricKey.cjs.dev.js +5 -5
  91. package/MetricKey/dist/effect-MetricKey.cjs.prod.js +5 -5
  92. package/MetricKeyType/dist/effect-MetricKeyType.cjs.dev.js +3 -3
  93. package/MetricKeyType/dist/effect-MetricKeyType.cjs.prod.js +3 -3
  94. package/MetricPolling/dist/effect-MetricPolling.cjs.dev.js +29 -29
  95. package/MetricPolling/dist/effect-MetricPolling.cjs.prod.js +29 -29
  96. package/MetricRegistry/dist/effect-MetricRegistry.cjs.dev.js +7 -7
  97. package/MetricRegistry/dist/effect-MetricRegistry.cjs.prod.js +7 -7
  98. package/MetricState/dist/effect-MetricState.cjs.dev.js +1 -1
  99. package/MetricState/dist/effect-MetricState.cjs.prod.js +1 -1
  100. package/MutableHashMap/dist/effect-MutableHashMap.cjs.dev.js +3 -3
  101. package/MutableHashMap/dist/effect-MutableHashMap.cjs.prod.js +3 -3
  102. package/MutableHashSet/dist/effect-MutableHashSet.cjs.dev.js +3 -3
  103. package/MutableHashSet/dist/effect-MutableHashSet.cjs.prod.js +3 -3
  104. package/MutableQueue/dist/effect-MutableQueue.cjs.dev.js +2 -2
  105. package/MutableQueue/dist/effect-MutableQueue.cjs.prod.js +2 -2
  106. package/Option/dist/effect-Option.cjs.dev.js +2 -2
  107. package/Option/dist/effect-Option.cjs.prod.js +2 -2
  108. package/Pool/dist/effect-Pool.cjs.dev.js +28 -28
  109. package/Pool/dist/effect-Pool.cjs.prod.js +28 -28
  110. package/PubSub/dist/effect-PubSub.cjs.d.mts +2 -0
  111. package/PubSub/dist/effect-PubSub.cjs.d.mts.map +1 -0
  112. package/PubSub/dist/effect-PubSub.cjs.d.ts +2 -0
  113. package/PubSub/dist/effect-PubSub.cjs.d.ts.map +1 -0
  114. package/{Hub/dist/effect-Hub.cjs.dev.js → PubSub/dist/effect-PubSub.cjs.dev.js} +162 -162
  115. package/PubSub/dist/effect-PubSub.cjs.js +7 -0
  116. package/{Hub/dist/effect-Hub.cjs.mjs → PubSub/dist/effect-PubSub.cjs.mjs} +1 -1
  117. package/{Hub/dist/effect-Hub.cjs.prod.js → PubSub/dist/effect-PubSub.cjs.prod.js} +162 -162
  118. package/{Hub/dist/effect-Hub.esm.js → PubSub/dist/effect-PubSub.esm.js} +15 -15
  119. package/PubSub/package.json +4 -0
  120. package/Queue/dist/effect-Queue.cjs.dev.js +27 -27
  121. package/Queue/dist/effect-Queue.cjs.prod.js +27 -27
  122. package/Random/dist/effect-Random.cjs.dev.js +13 -13
  123. package/Random/dist/effect-Random.cjs.prod.js +13 -13
  124. package/ReadonlyArray/dist/effect-ReadonlyArray.cjs.dev.js +2 -2
  125. package/ReadonlyArray/dist/effect-ReadonlyArray.cjs.prod.js +2 -2
  126. package/ReadonlyRecord/dist/effect-ReadonlyRecord.cjs.dev.js +2 -2
  127. package/ReadonlyRecord/dist/effect-ReadonlyRecord.cjs.prod.js +2 -2
  128. package/RedBlackTree/dist/effect-RedBlackTree.cjs.dev.js +2 -2
  129. package/RedBlackTree/dist/effect-RedBlackTree.cjs.prod.js +2 -2
  130. package/Ref/dist/effect-Ref.cjs.dev.js +8 -8
  131. package/Ref/dist/effect-Ref.cjs.prod.js +8 -8
  132. package/Reloadable/dist/effect-Reloadable.cjs.dev.js +40 -40
  133. package/Reloadable/dist/effect-Reloadable.cjs.prod.js +40 -40
  134. package/Request/dist/effect-Request.cjs.dev.js +28 -28
  135. package/Request/dist/effect-Request.cjs.prod.js +28 -28
  136. package/RequestBlock/dist/effect-RequestBlock.cjs.dev.js +35 -35
  137. package/RequestBlock/dist/effect-RequestBlock.cjs.prod.js +35 -35
  138. package/RequestResolver/dist/effect-RequestResolver.cjs.dev.js +35 -35
  139. package/RequestResolver/dist/effect-RequestResolver.cjs.prod.js +35 -35
  140. package/Resource/dist/effect-Resource.cjs.dev.js +33 -33
  141. package/Resource/dist/effect-Resource.cjs.prod.js +33 -33
  142. package/Runtime/dist/effect-Runtime.cjs.dev.js +29 -29
  143. package/Runtime/dist/effect-Runtime.cjs.prod.js +29 -29
  144. package/RuntimeFlags/dist/effect-RuntimeFlags.cjs.dev.js +32 -32
  145. package/RuntimeFlags/dist/effect-RuntimeFlags.cjs.prod.js +32 -32
  146. package/RuntimeFlagsPatch/dist/effect-RuntimeFlagsPatch.cjs.dev.js +5 -5
  147. package/RuntimeFlagsPatch/dist/effect-RuntimeFlagsPatch.cjs.prod.js +5 -5
  148. package/STM/dist/effect-STM.cjs.dev.js +43 -43
  149. package/STM/dist/effect-STM.cjs.prod.js +43 -43
  150. package/Schedule/dist/effect-Schedule.cjs.dev.js +18 -18
  151. package/Schedule/dist/effect-Schedule.cjs.prod.js +18 -18
  152. package/ScheduleDecision/dist/effect-ScheduleDecision.cjs.dev.js +2 -2
  153. package/ScheduleDecision/dist/effect-ScheduleDecision.cjs.prod.js +2 -2
  154. package/ScheduleInterval/dist/effect-ScheduleInterval.cjs.dev.js +2 -2
  155. package/ScheduleInterval/dist/effect-ScheduleInterval.cjs.prod.js +2 -2
  156. package/ScheduleIntervals/dist/effect-ScheduleIntervals.cjs.dev.js +2 -2
  157. package/ScheduleIntervals/dist/effect-ScheduleIntervals.cjs.prod.js +2 -2
  158. package/Scheduler/dist/effect-Scheduler.cjs.dev.js +7 -7
  159. package/Scheduler/dist/effect-Scheduler.cjs.prod.js +7 -7
  160. package/Scope/dist/effect-Scope.cjs.dev.js +26 -26
  161. package/Scope/dist/effect-Scope.cjs.prod.js +26 -26
  162. package/ScopedCache/dist/effect-ScopedCache.cjs.dev.js +46 -46
  163. package/ScopedCache/dist/effect-ScopedCache.cjs.prod.js +46 -46
  164. package/ScopedRef/dist/effect-ScopedRef.cjs.dev.js +30 -30
  165. package/ScopedRef/dist/effect-ScopedRef.cjs.prod.js +30 -30
  166. package/Sink/dist/effect-Sink.cjs.dev.js +42 -42
  167. package/Sink/dist/effect-Sink.cjs.mjs +1 -1
  168. package/Sink/dist/effect-Sink.cjs.prod.js +42 -42
  169. package/Sink/dist/effect-Sink.esm.js +5 -5
  170. package/SortedMap/dist/effect-SortedMap.cjs.dev.js +2 -2
  171. package/SortedMap/dist/effect-SortedMap.cjs.prod.js +2 -2
  172. package/SortedSet/dist/effect-SortedSet.cjs.dev.js +2 -2
  173. package/SortedSet/dist/effect-SortedSet.cjs.prod.js +2 -2
  174. package/Stream/dist/effect-Stream.cjs.dev.js +59 -59
  175. package/Stream/dist/effect-Stream.cjs.mjs +5 -5
  176. package/Stream/dist/effect-Stream.cjs.prod.js +59 -59
  177. package/Stream/dist/effect-Stream.esm.js +15 -15
  178. package/Streamable/dist/effect-Streamable.cjs.d.mts +2 -0
  179. package/Streamable/dist/effect-Streamable.cjs.d.mts.map +1 -0
  180. package/Streamable/dist/effect-Streamable.cjs.d.ts +2 -0
  181. package/Streamable/dist/effect-Streamable.cjs.d.ts.map +1 -0
  182. package/Streamable/dist/effect-Streamable.cjs.dev.js +152 -0
  183. package/Streamable/dist/effect-Streamable.cjs.js +7 -0
  184. package/Streamable/dist/effect-Streamable.cjs.mjs +3 -0
  185. package/Streamable/dist/effect-Streamable.cjs.prod.js +152 -0
  186. package/Streamable/dist/effect-Streamable.esm.js +42 -0
  187. package/Streamable/package.json +4 -0
  188. package/String/dist/effect-String.cjs.dev.js +2 -2
  189. package/String/dist/effect-String.cjs.prod.js +2 -2
  190. package/SubscriptionRef/dist/effect-SubscriptionRef.cjs.dev.js +46 -46
  191. package/SubscriptionRef/dist/effect-SubscriptionRef.cjs.prod.js +46 -46
  192. package/Supervisor/dist/effect-Supervisor.cjs.dev.js +33 -33
  193. package/Supervisor/dist/effect-Supervisor.cjs.prod.js +33 -33
  194. package/SynchronizedRef/dist/effect-SynchronizedRef.cjs.dev.js +29 -29
  195. package/SynchronizedRef/dist/effect-SynchronizedRef.cjs.prod.js +29 -29
  196. package/TArray/dist/effect-TArray.cjs.dev.js +45 -45
  197. package/TArray/dist/effect-TArray.cjs.prod.js +45 -45
  198. package/TDeferred/dist/effect-TDeferred.cjs.dev.js +44 -44
  199. package/TDeferred/dist/effect-TDeferred.cjs.prod.js +44 -44
  200. package/TMap/dist/effect-TMap.cjs.dev.js +46 -46
  201. package/TMap/dist/effect-TMap.cjs.prod.js +46 -46
  202. package/TPriorityQueue/dist/effect-TPriorityQueue.cjs.dev.js +43 -43
  203. package/TPriorityQueue/dist/effect-TPriorityQueue.cjs.prod.js +43 -43
  204. package/TPubSub/dist/effect-TPubSub.cjs.d.mts +2 -0
  205. package/TPubSub/dist/effect-TPubSub.cjs.d.mts.map +1 -0
  206. package/TPubSub/dist/effect-TPubSub.cjs.d.ts +2 -0
  207. package/TPubSub/dist/effect-TPubSub.cjs.d.ts.map +1 -0
  208. package/{THub/dist/effect-THub.cjs.dev.js → TPubSub/dist/effect-TPubSub.cjs.dev.js} +98 -98
  209. package/TPubSub/dist/effect-TPubSub.cjs.js +7 -0
  210. package/{THub/dist/effect-THub.cjs.mjs → TPubSub/dist/effect-TPubSub.cjs.mjs} +2 -2
  211. package/{THub/dist/effect-THub.cjs.prod.js → TPubSub/dist/effect-TPubSub.cjs.prod.js} +98 -98
  212. package/TPubSub/dist/effect-TPubSub.esm.js +157 -0
  213. package/TPubSub/package.json +4 -0
  214. package/TQueue/dist/effect-TQueue.cjs.dev.js +45 -45
  215. package/TQueue/dist/effect-TQueue.cjs.prod.js +45 -45
  216. package/TRandom/dist/effect-TRandom.cjs.dev.js +45 -45
  217. package/TRandom/dist/effect-TRandom.cjs.prod.js +45 -45
  218. package/TReentrantLock/dist/effect-TReentrantLock.cjs.dev.js +43 -43
  219. package/TReentrantLock/dist/effect-TReentrantLock.cjs.prod.js +43 -43
  220. package/TRef/dist/effect-TRef.cjs.dev.js +43 -43
  221. package/TRef/dist/effect-TRef.cjs.prod.js +43 -43
  222. package/TSemaphore/dist/effect-TSemaphore.cjs.dev.js +44 -44
  223. package/TSemaphore/dist/effect-TSemaphore.cjs.prod.js +44 -44
  224. package/TSet/dist/effect-TSet.cjs.dev.js +46 -46
  225. package/TSet/dist/effect-TSet.cjs.prod.js +46 -46
  226. package/Take/dist/effect-Take.cjs.dev.js +35 -35
  227. package/Take/dist/effect-Take.cjs.prod.js +35 -35
  228. package/TestAnnotation/dist/effect-TestAnnotation.cjs.dev.js +4 -4
  229. package/TestAnnotation/dist/effect-TestAnnotation.cjs.prod.js +4 -4
  230. package/TestAnnotations/dist/effect-TestAnnotations.cjs.dev.js +21 -21
  231. package/TestAnnotations/dist/effect-TestAnnotations.cjs.prod.js +21 -21
  232. package/TestClock/dist/effect-TestClock.cjs.dev.js +45 -45
  233. package/TestClock/dist/effect-TestClock.cjs.prod.js +45 -45
  234. package/TestConfig/dist/effect-TestConfig.cjs.dev.js +3 -3
  235. package/TestConfig/dist/effect-TestConfig.cjs.prod.js +3 -3
  236. package/TestContext/dist/effect-TestContext.cjs.dev.js +34 -34
  237. package/TestContext/dist/effect-TestContext.cjs.prod.js +34 -34
  238. package/TestLive/dist/effect-TestLive.cjs.dev.js +13 -13
  239. package/TestLive/dist/effect-TestLive.cjs.prod.js +13 -13
  240. package/TestServices/dist/effect-TestServices.cjs.dev.js +38 -38
  241. package/TestServices/dist/effect-TestServices.cjs.prod.js +38 -38
  242. package/TestSized/dist/effect-TestSized.cjs.dev.js +7 -7
  243. package/TestSized/dist/effect-TestSized.cjs.prod.js +7 -7
  244. package/Tracer/dist/effect-Tracer.cjs.dev.js +13 -13
  245. package/Tracer/dist/effect-Tracer.cjs.prod.js +13 -13
  246. package/dist/{Context-01a123ac.cjs.prod.js → Context-0b0d0e29.cjs.prod.js} +2 -2
  247. package/dist/{Context-593661f6.cjs.dev.js → Context-1f857844.cjs.dev.js} +2 -2
  248. package/dist/{Effectable-2f022879.cjs.dev.js → Effectable-07258ce9.cjs.dev.js} +10 -8
  249. package/dist/{Effectable-cd8f3a96.cjs.prod.js → Effectable-c2cd2b50.cjs.prod.js} +10 -8
  250. package/dist/{Either-7a881c7a.cjs.prod.js → Either-a974e241.cjs.prod.js} +3 -3
  251. package/dist/{Either-12bbe00c.cjs.dev.js → Either-d49a9926.cjs.dev.js} +3 -3
  252. package/dist/{ExecutionStrategy-14d3053a.cjs.prod.js → ExecutionStrategy-4808fe5d.cjs.prod.js} +2 -2
  253. package/dist/{ExecutionStrategy-70f1a920.cjs.dev.js → ExecutionStrategy-7d9d457b.cjs.dev.js} +2 -2
  254. package/dist/{HashSet-6257b66d.cjs.prod.js → HashSet-0ffa0e48.cjs.prod.js} +32 -32
  255. package/dist/{HashSet-0b4ff1e4.cjs.dev.js → HashSet-606682d1.cjs.dev.js} +32 -32
  256. package/dist/{Ref-74b592a4.cjs.dev.js → Ref-4009db78.cjs.dev.js} +1 -1
  257. package/dist/{Ref-a3a4e50d.cjs.prod.js → Ref-590d873e.cjs.prod.js} +1 -1
  258. package/dist/{cache-3a55a13a.cjs.prod.js → cache-8a5a4a2d.cjs.prod.js} +13 -13
  259. package/dist/{cache-83d14f6e.cjs.dev.js → cache-fe0cd2f2.cjs.dev.js} +13 -13
  260. package/dist/{circular-c3ce70f4.cjs.prod.js → circular-2d1d95bc.cjs.prod.js} +6 -6
  261. package/dist/{circular-2162b720.cjs.dev.js → circular-325c6904.cjs.dev.js} +6 -6
  262. package/dist/{circular-a4887ee9.cjs.dev.js → circular-95bf2834.cjs.dev.js} +33 -33
  263. package/dist/{circular-f72fcb1d.cjs.prod.js → circular-ccfbed47.cjs.prod.js} +33 -33
  264. package/dist/{config-d0ddc159.cjs.prod.js → config-a72429ce.cjs.prod.js} +3 -3
  265. package/dist/{config-80900693.cjs.dev.js → config-e4643c63.cjs.dev.js} +3 -3
  266. package/dist/{configProvider-93617d6d.cjs.prod.js → configProvider-16bc7ff6.cjs.prod.js} +29 -29
  267. package/dist/{configProvider-ce43fdbf.cjs.dev.js → configProvider-3cdbe5f3.cjs.dev.js} +29 -29
  268. package/dist/{core-b2dfee8d.cjs.dev.js → core-44c23eaf.cjs.dev.js} +3 -3
  269. package/dist/{core-0b0539de.cjs.prod.js → core-c87f1ac0.cjs.prod.js} +730 -730
  270. package/dist/{core-8ff5a82c.cjs.prod.js → core-ce4f24fc.cjs.prod.js} +3 -3
  271. package/dist/{core-b4d7b4f5.cjs.dev.js → core-efee9c5a.cjs.dev.js} +730 -730
  272. package/dist/{core-effect-c65770cd.cjs.prod.js → core-effect-867f1514.cjs.prod.js} +75 -73
  273. package/dist/{core-effect-892f3686.cjs.dev.js → core-effect-f99b558c.cjs.dev.js} +75 -73
  274. package/dist/{dataSource-837686e6.cjs.prod.js → dataSource-2fe48092.cjs.prod.js} +2 -2
  275. package/dist/{dataSource-5227437c.cjs.dev.js → dataSource-642004b6.cjs.dev.js} +2 -2
  276. package/dist/declarations/src/Cause.d.ts +6 -6
  277. package/dist/declarations/src/Cause.d.ts.map +1 -1
  278. package/dist/declarations/src/Channel.d.ts +7 -7
  279. package/dist/declarations/src/Channel.d.ts.map +1 -1
  280. package/dist/declarations/src/Effect.d.ts +4 -2
  281. package/dist/declarations/src/Effect.d.ts.map +1 -1
  282. package/dist/declarations/src/Effectable.d.ts +14 -4
  283. package/dist/declarations/src/Effectable.d.ts.map +1 -1
  284. package/dist/declarations/src/Metric.d.ts +31 -7
  285. package/dist/declarations/src/Metric.d.ts.map +1 -1
  286. package/dist/declarations/src/MetricHook.d.ts +7 -4
  287. package/dist/declarations/src/MetricHook.d.ts.map +1 -1
  288. package/dist/declarations/src/MetricKey.d.ts +24 -4
  289. package/dist/declarations/src/MetricKey.d.ts.map +1 -1
  290. package/dist/declarations/src/MetricKeyType.d.ts +9 -6
  291. package/dist/declarations/src/MetricKeyType.d.ts.map +1 -1
  292. package/dist/declarations/src/MetricRegistry.d.ts +2 -2
  293. package/dist/declarations/src/MetricRegistry.d.ts.map +1 -1
  294. package/dist/declarations/src/MetricState.d.ts +15 -9
  295. package/dist/declarations/src/MetricState.d.ts.map +1 -1
  296. package/dist/declarations/src/{Hub.d.ts → PubSub.d.ts} +38 -38
  297. package/dist/declarations/src/PubSub.d.ts.map +1 -0
  298. package/dist/declarations/src/Sink.d.ts +4 -4
  299. package/dist/declarations/src/Sink.d.ts.map +1 -1
  300. package/dist/declarations/src/Stream.d.ts +24 -24
  301. package/dist/declarations/src/Stream.d.ts.map +1 -1
  302. package/dist/declarations/src/Streamable.d.ts +27 -0
  303. package/dist/declarations/src/Streamable.d.ts.map +1 -0
  304. package/dist/declarations/src/SubscriptionRef.d.ts.map +1 -1
  305. package/dist/declarations/src/TPubSub.d.ts +146 -0
  306. package/dist/declarations/src/TPubSub.d.ts.map +1 -0
  307. package/dist/declarations/src/index.d.ts +11 -7
  308. package/dist/declarations/src/index.d.ts.map +1 -1
  309. package/dist/{defaultServices-086b8ac9.cjs.prod.js → defaultServices-7e943cae.cjs.prod.js} +6 -6
  310. package/dist/{defaultServices-5530ff0e.cjs.dev.js → defaultServices-eb04fba1.cjs.dev.js} +6 -6
  311. package/dist/effect.cjs.dev.js +9 -6
  312. package/dist/effect.cjs.mjs +3 -2
  313. package/dist/effect.cjs.prod.js +9 -6
  314. package/dist/effect.esm.js +6 -4
  315. package/dist/{fiber-1bfb4c1d.cjs.dev.js → fiber-4d2acba3.cjs.dev.js} +12 -12
  316. package/dist/{fiber-2eb0a4c1.cjs.prod.js → fiber-588d28c2.cjs.prod.js} +12 -12
  317. package/dist/{fiberRefs-be6b6a70.cjs.prod.js → fiberRefs-51f2a630.cjs.prod.js} +1 -1
  318. package/dist/{fiberRefs-be4fae6a.cjs.dev.js → fiberRefs-e08092fb.cjs.dev.js} +1 -1
  319. package/dist/{fiberRuntime-e0db0ab6.cjs.dev.js → fiberRuntime-6e93adff.cjs.dev.js} +107 -102
  320. package/dist/{fiberRuntime-af2d0ca1.cjs.prod.js → fiberRuntime-7287c284.cjs.prod.js} +107 -102
  321. package/dist/{groupBy-bd943372.cjs.dev.js → groupBy-1e05ffd4.cjs.dev.js} +4 -4
  322. package/dist/{groupBy-7ce46ea3.cjs.prod.js → groupBy-6d5815f3.cjs.prod.js} +4 -4
  323. package/dist/{hook-470b717e.cjs.prod.js → hook-39ebe8b3.cjs.prod.js} +8 -4
  324. package/dist/{hook-e72b20fd.cjs.dev.js → hook-f9a9b660.cjs.dev.js} +8 -4
  325. package/dist/{key-378a6a2c.cjs.prod.js → key-66f61406.cjs.prod.js} +3 -3
  326. package/dist/{key-f0a1408a.cjs.dev.js → key-6d9b350e.cjs.dev.js} +3 -3
  327. package/dist/{keyType-55f27f07.cjs.dev.js → keyType-22634b88.cjs.dev.js} +9 -2
  328. package/dist/{keyType-cf67c69c.cjs.prod.js → keyType-8ff33fde.cjs.prod.js} +9 -2
  329. package/dist/{layer-9cbb61ce.cjs.dev.js → layer-e3745d23.cjs.dev.js} +33 -33
  330. package/dist/{layer-3b1b0e2e.cjs.prod.js → layer-f8cd3f83.cjs.prod.js} +33 -33
  331. package/dist/{patch-a1b2802f.cjs.dev.js → patch-b051ae7e.cjs.dev.js} +1 -1
  332. package/dist/{patch-c4d6c61e.cjs.prod.js → patch-b8d22fb3.cjs.prod.js} +1 -1
  333. package/dist/{pathPatch-15c8d723.cjs.prod.js → pathPatch-bdcb0e3f.cjs.prod.js} +1 -1
  334. package/dist/{pathPatch-d9d41297.cjs.dev.js → pathPatch-fc0ba157.cjs.dev.js} +1 -1
  335. package/dist/{pool-b5c7d254.cjs.prod.js → pool-6c034854.cjs.prod.js} +31 -31
  336. package/dist/{pool-29b03fb2.cjs.dev.js → pool-a52582b9.cjs.dev.js} +31 -31
  337. package/dist/{query-d5eefc43.cjs.prod.js → query-59d346d8.cjs.prod.js} +11 -11
  338. package/dist/{query-67a7c448.cjs.dev.js → query-ab3d963c.cjs.dev.js} +11 -11
  339. package/dist/{queue-997d6e51.cjs.dev.js → queue-50c41726.cjs.dev.js} +22 -22
  340. package/dist/{queue-38614769.cjs.prod.js → queue-fcd6126f.cjs.prod.js} +22 -22
  341. package/dist/{registry-013ecdde.cjs.prod.js → registry-3809a602.cjs.prod.js} +4 -4
  342. package/dist/{registry-1099de3f.cjs.dev.js → registry-fc4cef7b.cjs.dev.js} +4 -4
  343. package/dist/{runtime-15cc9cc5.cjs.dev.js → runtime-9047860e.cjs.dev.js} +7 -7
  344. package/dist/{runtime-3a59f5c4.cjs.prod.js → runtime-aa083fe4.cjs.prod.js} +7 -7
  345. package/dist/{schedule-1d92198c.cjs.prod.js → schedule-4ca6941d.cjs.prod.js} +40 -40
  346. package/dist/{schedule-e0f55cab.cjs.dev.js → schedule-fd323904.cjs.dev.js} +40 -40
  347. package/dist/scopedRef-0fc8943d.cjs.prod.js +55 -0
  348. package/dist/scopedRef-dc386056.cjs.dev.js +55 -0
  349. package/dist/{singleProducerAsyncInput-998b8fac.cjs.dev.js → singleProducerAsyncInput-54b43c1b.cjs.dev.js} +1 -1
  350. package/dist/{singleProducerAsyncInput-1c6cc8fb.cjs.prod.js → singleProducerAsyncInput-61ffe143.cjs.prod.js} +1 -1
  351. package/dist/{sink-1ac24bca.cjs.dev.js → sink-0445fb11.cjs.dev.js} +17 -17
  352. package/dist/{sink-4d668efb.cjs.prod.js → sink-ade4fdbe.cjs.prod.js} +17 -17
  353. package/dist/{state-dd1bd066.cjs.prod.js → state-0bdf02b7.cjs.prod.js} +2 -6
  354. package/dist/{state-8fbec044.cjs.dev.js → state-931050c4.cjs.dev.js} +2 -6
  355. package/dist/{stm-fcac86d5.cjs.prod.js → stm-8d082310.cjs.prod.js} +3 -3
  356. package/dist/{stm-fbb398a5.cjs.dev.js → stm-e9d8effb.cjs.dev.js} +3 -3
  357. package/dist/{stream-e670e8fa.cjs.prod.js → stream-97061dd9.cjs.prod.js} +31 -28
  358. package/dist/{stream-adef675d.cjs.dev.js → stream-e220a3b2.cjs.dev.js} +31 -28
  359. package/dist/{synchronizedRef-37e32854.cjs.dev.js → synchronizedRef-1f28b27f.cjs.dev.js} +6 -6
  360. package/dist/{synchronizedRef-b4cde4de.cjs.prod.js → synchronizedRef-ff0ddebf.cjs.prod.js} +6 -6
  361. package/dist/{tArray-70de8ec4.cjs.prod.js → tArray-437f6510.cjs.prod.js} +3 -3
  362. package/dist/{tArray-239d37ad.cjs.dev.js → tArray-59a819a0.cjs.dev.js} +3 -3
  363. package/dist/{tMap-a202396b.cjs.prod.js → tMap-ca06b00f.cjs.prod.js} +4 -4
  364. package/dist/{tMap-4b27665d.cjs.dev.js → tMap-d6376d13.cjs.dev.js} +4 -4
  365. package/dist/{tQueue-004a478e.cjs.dev.js → tQueue-7b931af8.cjs.dev.js} +3 -3
  366. package/dist/{tQueue-82c4db95.cjs.prod.js → tQueue-bf3716af.cjs.prod.js} +3 -3
  367. package/dist/{tRef-bb7cc73a.cjs.dev.js → tRef-5b159626.cjs.dev.js} +1 -1
  368. package/dist/{tRef-ee2c7f44.cjs.prod.js → tRef-bb143111.cjs.prod.js} +1 -1
  369. package/internal/Context.esm.js +2 -2
  370. package/internal/Effectable.esm.js +8 -8
  371. package/internal/Either.esm.js +3 -3
  372. package/internal/Option.esm.js +3 -3
  373. package/internal/cause.esm.js +5 -5
  374. package/internal/channel.esm.js +5 -5
  375. package/internal/core-effect.esm.js +3 -1
  376. package/internal/fiberRuntime.esm.js +13 -8
  377. package/internal/metric/hook.esm.js +7 -3
  378. package/internal/metric/key.esm.js +2 -2
  379. package/internal/metric/keyType.esm.js +9 -2
  380. package/internal/metric/registry.esm.js +2 -2
  381. package/internal/metric/state.esm.js +2 -6
  382. package/internal/metric.esm.js +3 -3
  383. package/internal/{hub.esm.js → pubsub.esm.js} +108 -108
  384. package/internal/sink.esm.js +8 -8
  385. package/internal/stm/{tHub.esm.js → tPubSub.esm.js} +30 -30
  386. package/internal/stream.esm.js +23 -20
  387. package/internal/subscriptionRef.esm.js +8 -8
  388. package/package.json +62 -203
  389. package/src/.index.ts +30 -0
  390. package/src/Bigint.ts +381 -0
  391. package/src/Boolean.ts +261 -0
  392. package/src/Brand.ts +336 -0
  393. package/src/Cache.ts +250 -0
  394. package/src/Cause.ts +813 -0
  395. package/src/Channel.ts +2244 -0
  396. package/src/ChannelChildExecutorDecision.ts +138 -0
  397. package/src/ChannelMergeDecision.ts +94 -0
  398. package/src/ChannelMergeState.ts +166 -0
  399. package/src/ChannelMergeStrategy.ts +107 -0
  400. package/src/ChannelSingleProducerAsyncInput.ts +68 -0
  401. package/src/ChannelUpstreamPullRequest.ts +110 -0
  402. package/src/ChannelUpstreamPullStrategy.ts +120 -0
  403. package/src/Chunk.ts +1314 -0
  404. package/src/Clock.ts +111 -0
  405. package/src/Config.ts +447 -0
  406. package/src/ConfigError.ts +267 -0
  407. package/src/ConfigProvider.ts +296 -0
  408. package/src/ConfigProviderPathPatch.ts +100 -0
  409. package/src/ConfigSecret.ts +76 -0
  410. package/src/Console.ts +222 -0
  411. package/src/Context.ts +365 -0
  412. package/src/Data.ts +295 -0
  413. package/src/DefaultServices.ts +34 -0
  414. package/src/Deferred.ts +283 -0
  415. package/src/Differ.ts +406 -0
  416. package/src/Duration.ts +558 -0
  417. package/src/Effect.ts +5177 -0
  418. package/src/Effectable.ts +107 -0
  419. package/src/Either.ts +593 -0
  420. package/src/Encoding.ts +130 -0
  421. package/src/Equal.ts +64 -0
  422. package/src/Equivalence.ts +235 -0
  423. package/src/Error.ts +69 -0
  424. package/src/ExecutionStrategy.ts +111 -0
  425. package/src/Exit.ts +464 -0
  426. package/src/Fiber.ts +650 -0
  427. package/src/FiberId.ts +187 -0
  428. package/src/FiberRef.ts +399 -0
  429. package/src/FiberRefs.ts +160 -0
  430. package/src/FiberRefsPatch.ts +105 -0
  431. package/src/FiberStatus.ts +108 -0
  432. package/src/Function.ts +834 -0
  433. package/src/GlobalValue.ts +20 -0
  434. package/src/GroupBy.ts +102 -0
  435. package/src/HKT.ts +44 -0
  436. package/src/Hash.ts +162 -0
  437. package/src/HashMap.ts +373 -0
  438. package/src/HashSet.ts +300 -0
  439. package/src/Inspectable.ts +45 -0
  440. package/src/KeyedPool.ts +160 -0
  441. package/src/Layer.ts +866 -0
  442. package/src/List.ts +942 -0
  443. package/src/LogLevel.ts +266 -0
  444. package/src/LogSpan.ts +25 -0
  445. package/src/Logger.ts +321 -0
  446. package/src/Metric.ts +657 -0
  447. package/src/MetricBoundaries.ts +70 -0
  448. package/src/MetricHook.ts +139 -0
  449. package/src/MetricKey.ts +227 -0
  450. package/src/MetricKeyType.ts +257 -0
  451. package/src/MetricLabel.ts +47 -0
  452. package/src/MetricPair.ts +70 -0
  453. package/src/MetricPolling.ts +136 -0
  454. package/src/MetricRegistry.ts +47 -0
  455. package/src/MetricState.ts +256 -0
  456. package/src/MutableHashMap.ts +187 -0
  457. package/src/MutableHashSet.ts +118 -0
  458. package/src/MutableList.ts +289 -0
  459. package/src/MutableQueue.ts +227 -0
  460. package/src/MutableRef.ts +204 -0
  461. package/src/NonEmptyIterable.ts +30 -0
  462. package/src/Number.ts +406 -0
  463. package/src/Option.ts +1307 -0
  464. package/src/Order.ts +328 -0
  465. package/src/Ordering.ts +112 -0
  466. package/src/Pipeable.ts +318 -0
  467. package/src/Pool.ts +148 -0
  468. package/src/Predicate.ts +704 -0
  469. package/src/PubSub.ts +175 -0
  470. package/src/Queue.ts +575 -0
  471. package/src/Random.ts +115 -0
  472. package/src/ReadonlyArray.ts +2017 -0
  473. package/src/ReadonlyRecord.ts +641 -0
  474. package/src/RedBlackTree.ts +415 -0
  475. package/src/Ref.ts +159 -0
  476. package/src/Reloadable.ts +136 -0
  477. package/src/Request.ts +285 -0
  478. package/src/RequestBlock.ts +157 -0
  479. package/src/RequestResolver.ts +305 -0
  480. package/src/Resource.ts +97 -0
  481. package/src/Runtime.ts +216 -0
  482. package/src/RuntimeFlags.ts +336 -0
  483. package/src/RuntimeFlagsPatch.ts +183 -0
  484. package/src/STM.ts +2076 -0
  485. package/src/Schedule.ts +1396 -0
  486. package/src/ScheduleDecision.ts +62 -0
  487. package/src/ScheduleInterval.ts +151 -0
  488. package/src/ScheduleIntervals.ts +122 -0
  489. package/src/Scheduler.ts +359 -0
  490. package/src/Scope.ts +171 -0
  491. package/src/ScopedCache.ts +148 -0
  492. package/src/ScopedRef.ts +95 -0
  493. package/src/Sink.ts +1431 -0
  494. package/src/SortedMap.ts +229 -0
  495. package/src/SortedSet.ts +385 -0
  496. package/src/Stream.ts +4540 -0
  497. package/src/StreamEmit.ts +83 -0
  498. package/src/StreamHaltStrategy.ts +111 -0
  499. package/src/Streamable.ts +42 -0
  500. package/src/String.ts +682 -0
  501. package/src/Struct.ts +151 -0
  502. package/src/SubscriptionRef.ts +273 -0
  503. package/src/Supervisor.ts +239 -0
  504. package/src/Symbol.ts +28 -0
  505. package/src/SynchronizedRef.ts +249 -0
  506. package/src/TArray.ts +494 -0
  507. package/src/TDeferred.ts +99 -0
  508. package/src/TMap.ts +510 -0
  509. package/src/TPriorityQueue.ts +223 -0
  510. package/src/TPubSub.ts +187 -0
  511. package/src/TQueue.ts +431 -0
  512. package/src/TRandom.ts +129 -0
  513. package/src/TReentrantLock.ts +224 -0
  514. package/src/TRef.ts +176 -0
  515. package/src/TSemaphore.ts +129 -0
  516. package/src/TSet.ts +349 -0
  517. package/src/Take.ts +257 -0
  518. package/src/TestAnnotation.ts +166 -0
  519. package/src/TestAnnotationMap.ts +124 -0
  520. package/src/TestAnnotations.ts +113 -0
  521. package/src/TestClock.ts +552 -0
  522. package/src/TestConfig.ts +49 -0
  523. package/src/TestContext.ts +35 -0
  524. package/src/TestLive.ts +55 -0
  525. package/src/TestServices.ts +392 -0
  526. package/src/TestSized.ts +55 -0
  527. package/src/Tracer.ts +119 -0
  528. package/src/Tuple.ts +204 -0
  529. package/src/Types.ts +123 -0
  530. package/src/Unify.ts +118 -0
  531. package/src/Utils.ts +699 -0
  532. package/src/index.ts +845 -0
  533. package/src/internal/Common.ts +56 -0
  534. package/src/internal/Context.ts +252 -0
  535. package/src/internal/Data.ts +51 -0
  536. package/src/internal/Differ/ChunkPatch.ts +209 -0
  537. package/src/internal/Differ/ContextPatch.ts +229 -0
  538. package/src/internal/Differ/HashMapPatch.ts +217 -0
  539. package/src/internal/Differ/HashSetPatch.ts +174 -0
  540. package/src/internal/Differ/OrPatch.ts +296 -0
  541. package/src/internal/Differ.ts +184 -0
  542. package/src/internal/Effectable.ts +92 -0
  543. package/src/internal/Either.ts +107 -0
  544. package/src/internal/Encoding/Base64.ts +282 -0
  545. package/src/internal/Encoding/Base64Url.ts +28 -0
  546. package/src/internal/Encoding/Common.ts +24 -0
  547. package/src/internal/Encoding/Hex.ts +315 -0
  548. package/src/internal/HashMap/array.ts +49 -0
  549. package/src/internal/HashMap/bitwise.ts +32 -0
  550. package/src/internal/HashMap/config.ts +14 -0
  551. package/src/internal/HashMap/keySet.ts +8 -0
  552. package/src/internal/HashMap/node.ts +390 -0
  553. package/src/internal/HashMap.ts +533 -0
  554. package/src/internal/HashSet.ts +319 -0
  555. package/src/internal/Iterable.ts +54 -0
  556. package/src/internal/Option.ts +79 -0
  557. package/src/internal/ReadonlyArray.ts +8 -0
  558. package/src/internal/RedBlackTree/iterator.ts +207 -0
  559. package/src/internal/RedBlackTree/node.ts +48 -0
  560. package/src/internal/RedBlackTree.ts +1195 -0
  561. package/src/internal/Stack.ts +4 -0
  562. package/src/internal/blockedRequests.ts +512 -0
  563. package/src/internal/cache.ts +714 -0
  564. package/src/internal/cause.ts +1220 -0
  565. package/src/internal/channel/channelExecutor.ts +1193 -0
  566. package/src/internal/channel/channelState.ts +132 -0
  567. package/src/internal/channel/childExecutorDecision.ts +95 -0
  568. package/src/internal/channel/continuation.ts +171 -0
  569. package/src/internal/channel/mergeDecision.ts +115 -0
  570. package/src/internal/channel/mergeState.ts +120 -0
  571. package/src/internal/channel/mergeStrategy.ts +72 -0
  572. package/src/internal/channel/singleProducerAsyncInput.ts +261 -0
  573. package/src/internal/channel/subexecutor.ts +229 -0
  574. package/src/internal/channel/upstreamPullRequest.ts +83 -0
  575. package/src/internal/channel/upstreamPullStrategy.ts +86 -0
  576. package/src/internal/channel.ts +2516 -0
  577. package/src/internal/clock.ts +97 -0
  578. package/src/internal/completedRequestMap.ts +9 -0
  579. package/src/internal/concurrency.ts +83 -0
  580. package/src/internal/config.ts +598 -0
  581. package/src/internal/configError.ts +291 -0
  582. package/src/internal/configProvider/pathPatch.ts +97 -0
  583. package/src/internal/configProvider.ts +692 -0
  584. package/src/internal/configSecret.ts +71 -0
  585. package/src/internal/console.ts +136 -0
  586. package/src/internal/core-effect.ts +2146 -0
  587. package/src/internal/core-stream.ts +999 -0
  588. package/src/internal/core.ts +2765 -0
  589. package/src/internal/dataSource.ts +258 -0
  590. package/src/internal/defaultServices/console.ts +97 -0
  591. package/src/internal/defaultServices.ts +140 -0
  592. package/src/internal/deferred.ts +44 -0
  593. package/src/internal/effect/circular.ts +664 -0
  594. package/src/internal/executionStrategy.ts +72 -0
  595. package/src/internal/fiber.ts +350 -0
  596. package/src/internal/fiberId.ts +270 -0
  597. package/src/internal/fiberMessage.ts +85 -0
  598. package/src/internal/fiberRefs/patch.ts +144 -0
  599. package/src/internal/fiberRefs.ts +239 -0
  600. package/src/internal/fiberRuntime.ts +3477 -0
  601. package/src/internal/fiberScope.ts +72 -0
  602. package/src/internal/fiberStatus.ts +118 -0
  603. package/src/internal/groupBy.ts +516 -0
  604. package/src/internal/keyedPool.ts +240 -0
  605. package/src/internal/layer/circular.ts +203 -0
  606. package/src/internal/layer.ts +1230 -0
  607. package/src/internal/logSpan.ts +15 -0
  608. package/src/internal/logger-circular.ts +24 -0
  609. package/src/internal/logger.ts +307 -0
  610. package/src/internal/metric/boundaries.ts +72 -0
  611. package/src/internal/metric/hook.ts +459 -0
  612. package/src/internal/metric/key.ts +173 -0
  613. package/src/internal/metric/keyType.ts +263 -0
  614. package/src/internal/metric/label.ts +44 -0
  615. package/src/internal/metric/pair.ts +48 -0
  616. package/src/internal/metric/polling.ts +143 -0
  617. package/src/internal/metric/registry.ts +188 -0
  618. package/src/internal/metric/state.ts +286 -0
  619. package/src/internal/metric.ts +522 -0
  620. package/src/internal/opCodes/cause.ts +35 -0
  621. package/src/internal/opCodes/channel.ts +83 -0
  622. package/src/internal/opCodes/channelChildExecutorDecision.ts +17 -0
  623. package/src/internal/opCodes/channelMergeDecision.ts +11 -0
  624. package/src/internal/opCodes/channelMergeState.ts +17 -0
  625. package/src/internal/opCodes/channelMergeStrategy.ts +11 -0
  626. package/src/internal/opCodes/channelState.ts +23 -0
  627. package/src/internal/opCodes/channelUpstreamPullRequest.ts +11 -0
  628. package/src/internal/opCodes/channelUpstreamPullStrategy.ts +11 -0
  629. package/src/internal/opCodes/config.ts +65 -0
  630. package/src/internal/opCodes/configError.ts +35 -0
  631. package/src/internal/opCodes/continuation.ts +11 -0
  632. package/src/internal/opCodes/deferred.ts +11 -0
  633. package/src/internal/opCodes/effect.ts +83 -0
  634. package/src/internal/opCodes/layer.ts +53 -0
  635. package/src/internal/opCodes/streamHaltStrategy.ts +23 -0
  636. package/src/internal/pool.ts +499 -0
  637. package/src/internal/pubsub.ts +1557 -0
  638. package/src/internal/query.ts +199 -0
  639. package/src/internal/queue.ts +729 -0
  640. package/src/internal/random.ts +88 -0
  641. package/src/internal/ref.ts +164 -0
  642. package/src/internal/reloadable.ts +164 -0
  643. package/src/internal/request.ts +137 -0
  644. package/src/internal/resource.ts +64 -0
  645. package/src/internal/ringBuffer.ts +68 -0
  646. package/src/internal/runtime.ts +348 -0
  647. package/src/internal/runtimeFlags.ts +176 -0
  648. package/src/internal/runtimeFlagsPatch.ts +103 -0
  649. package/src/internal/schedule/decision.ts +47 -0
  650. package/src/internal/schedule/interval.ts +101 -0
  651. package/src/internal/schedule/intervals.ts +179 -0
  652. package/src/internal/schedule.ts +2096 -0
  653. package/src/internal/scopedCache.ts +634 -0
  654. package/src/internal/scopedRef.ts +133 -0
  655. package/src/internal/singleShotGen.ts +35 -0
  656. package/src/internal/sink.ts +2118 -0
  657. package/src/internal/stm/core.ts +804 -0
  658. package/src/internal/stm/opCodes/stm.ts +71 -0
  659. package/src/internal/stm/opCodes/stmState.ts +17 -0
  660. package/src/internal/stm/opCodes/strategy.ts +17 -0
  661. package/src/internal/stm/opCodes/tExit.ts +29 -0
  662. package/src/internal/stm/opCodes/tryCommit.ts +11 -0
  663. package/src/internal/stm/stm/entry.ts +59 -0
  664. package/src/internal/stm/stm/journal.ts +123 -0
  665. package/src/internal/stm/stm/opCodes/stm.ts +71 -0
  666. package/src/internal/stm/stm/opCodes/stmState.ts +17 -0
  667. package/src/internal/stm/stm/opCodes/strategy.ts +17 -0
  668. package/src/internal/stm/stm/opCodes/tExit.ts +29 -0
  669. package/src/internal/stm/stm/opCodes/tryCommit.ts +11 -0
  670. package/src/internal/stm/stm/stmState.ts +130 -0
  671. package/src/internal/stm/stm/tExit.ts +180 -0
  672. package/src/internal/stm/stm/tryCommit.ts +34 -0
  673. package/src/internal/stm/stm/txnId.ts +14 -0
  674. package/src/internal/stm/stm/versioned.ts +4 -0
  675. package/src/internal/stm/stm.ts +1491 -0
  676. package/src/internal/stm/tArray.ts +550 -0
  677. package/src/internal/stm/tDeferred.ts +79 -0
  678. package/src/internal/stm/tMap.ts +824 -0
  679. package/src/internal/stm/tPriorityQueue.ts +259 -0
  680. package/src/internal/stm/tPubSub.ts +542 -0
  681. package/src/internal/stm/tQueue.ts +400 -0
  682. package/src/internal/stm/tRandom.ts +140 -0
  683. package/src/internal/stm/tReentrantLock.ts +352 -0
  684. package/src/internal/stm/tRef.ts +190 -0
  685. package/src/internal/stm/tSemaphore.ts +113 -0
  686. package/src/internal/stm/tSet.ts +237 -0
  687. package/src/internal/stream/debounceState.ts +57 -0
  688. package/src/internal/stream/emit.ts +46 -0
  689. package/src/internal/stream/haltStrategy.ts +85 -0
  690. package/src/internal/stream/handoff.ts +185 -0
  691. package/src/internal/stream/handoffSignal.ts +59 -0
  692. package/src/internal/stream/pull.ts +35 -0
  693. package/src/internal/stream/sinkEndReason.ts +30 -0
  694. package/src/internal/stream/zipAllState.ts +88 -0
  695. package/src/internal/stream/zipChunksState.ts +56 -0
  696. package/src/internal/stream.ts +8089 -0
  697. package/src/internal/string-utils.ts +107 -0
  698. package/src/internal/subscriptionRef.ts +133 -0
  699. package/src/internal/supervisor/patch.ts +190 -0
  700. package/src/internal/supervisor.ts +301 -0
  701. package/src/internal/synchronizedRef.ts +115 -0
  702. package/src/internal/take.ts +198 -0
  703. package/src/internal/testing/sleep.ts +27 -0
  704. package/src/internal/testing/suspendedWarningData.ts +85 -0
  705. package/src/internal/testing/warningData.ts +94 -0
  706. package/src/internal/timeout.ts +23 -0
  707. package/src/internal/tracer.ts +74 -0
  708. package/Hub/dist/effect-Hub.cjs.d.mts +0 -2
  709. package/Hub/dist/effect-Hub.cjs.d.mts.map +0 -1
  710. package/Hub/dist/effect-Hub.cjs.d.ts +0 -2
  711. package/Hub/dist/effect-Hub.cjs.d.ts.map +0 -1
  712. package/Hub/dist/effect-Hub.cjs.js +0 -7
  713. package/Hub/package.json +0 -4
  714. package/THub/dist/effect-THub.cjs.d.mts +0 -2
  715. package/THub/dist/effect-THub.cjs.d.mts.map +0 -1
  716. package/THub/dist/effect-THub.cjs.d.ts +0 -2
  717. package/THub/dist/effect-THub.cjs.d.ts.map +0 -1
  718. package/THub/dist/effect-THub.cjs.js +0 -7
  719. package/THub/dist/effect-THub.esm.js +0 -157
  720. package/THub/package.json +0 -4
  721. package/dist/declarations/src/Hub.d.ts.map +0 -1
  722. package/dist/declarations/src/THub.d.ts +0 -146
  723. package/dist/declarations/src/THub.d.ts.map +0 -1
  724. package/dist/scopedRef-88ae648a.cjs.dev.js +0 -55
  725. package/dist/scopedRef-a0257d92.cjs.prod.js +0 -55
  726. /package/dist/{FiberId-557db880.cjs.dev.js → FiberId-9c555b91.cjs.dev.js} +0 -0
  727. /package/dist/{FiberId-e594f6e8.cjs.prod.js → FiberId-fd1b9201.cjs.prod.js} +0 -0
  728. /package/dist/{RuntimeFlagsPatch-ea268c50.cjs.dev.js → RuntimeFlagsPatch-197be4f3.cjs.dev.js} +0 -0
  729. /package/dist/{RuntimeFlagsPatch-e2769b87.cjs.prod.js → RuntimeFlagsPatch-7f853fa5.cjs.prod.js} +0 -0
  730. /package/dist/{boundaries-3810d885.cjs.dev.js → boundaries-60c435b8.cjs.dev.js} +0 -0
  731. /package/dist/{boundaries-20cfad9d.cjs.prod.js → boundaries-73dd633f.cjs.prod.js} +0 -0
  732. /package/dist/{configError-240e9b61.cjs.dev.js → configError-623ccb8d.cjs.dev.js} +0 -0
  733. /package/dist/{configError-33e55472.cjs.prod.js → configError-d2914327.cjs.prod.js} +0 -0
  734. /package/dist/{configSecret-e34c1b14.cjs.dev.js → configSecret-baa8839f.cjs.dev.js} +0 -0
  735. /package/dist/{configSecret-d1caca55.cjs.prod.js → configSecret-c08c317d.cjs.prod.js} +0 -0
  736. /package/dist/{take-4857b6af.cjs.dev.js → take-05b33c5b.cjs.dev.js} +0 -0
  737. /package/dist/{take-9c555b46.cjs.prod.js → take-c7b73760.cjs.prod.js} +0 -0
@@ -0,0 +1,132 @@
1
+ import * as Effect from "../../Effect"
2
+ import type * as Exit from "../../Exit"
3
+ import * as OpCodes from "../opCodes/channelState"
4
+ import type { ErasedExecutor } from "./channelExecutor"
5
+
6
+ /** @internal */
7
+ export const ChannelStateTypeId = Symbol.for("effect/ChannelState")
8
+
9
+ /** @internal */
10
+ export type ChannelStateTypeId = typeof ChannelStateTypeId
11
+
12
+ /** @internal */
13
+ export interface ChannelState<R, E> extends ChannelState.Variance<R, E> {}
14
+
15
+ /** @internal */
16
+ export declare namespace ChannelState {
17
+ export interface Variance<R, E> {
18
+ readonly [ChannelStateTypeId]: {
19
+ readonly _R: (_: never) => R
20
+ readonly _E: (_: never) => E
21
+ }
22
+ }
23
+ }
24
+
25
+ /** @internal */
26
+ const channelStateVariance = {
27
+ _R: (_: never) => _,
28
+ _E: (_: never) => _
29
+ }
30
+
31
+ /** @internal */
32
+ const proto = {
33
+ [ChannelStateTypeId]: channelStateVariance
34
+ }
35
+
36
+ /** @internal */
37
+ export type Primitive =
38
+ | Done
39
+ | Emit
40
+ | FromEffect
41
+ | Read
42
+
43
+ /** @internal */
44
+ export type Op<Tag extends string, Body = {}> = ChannelState<never, never> & Body & {
45
+ readonly _tag: Tag
46
+ }
47
+
48
+ /** @internal */
49
+ export interface Done extends Op<OpCodes.OP_DONE, {}> {}
50
+
51
+ /** @internal */
52
+ export interface Emit extends Op<OpCodes.OP_EMIT, {}> {}
53
+
54
+ /** @internal */
55
+ export interface FromEffect extends
56
+ Op<OpCodes.OP_FROM_EFFECT, {
57
+ readonly effect: Effect.Effect<unknown, unknown, unknown>
58
+ }>
59
+ {}
60
+
61
+ /** @internal */
62
+ export interface Read extends
63
+ Op<OpCodes.OP_READ, {
64
+ readonly upstream: ErasedExecutor<unknown>
65
+ readonly onEffect: (effect: Effect.Effect<unknown, never, void>) => Effect.Effect<unknown, never, void>
66
+ readonly onEmit: (value: unknown) => Effect.Effect<unknown, never, void>
67
+ readonly onDone: (exit: Exit.Exit<unknown, unknown>) => Effect.Effect<unknown, never, void>
68
+ }>
69
+ {}
70
+
71
+ /** @internal */
72
+ export const Done = (): ChannelState<never, never> => {
73
+ const op = Object.create(proto)
74
+ op._tag = OpCodes.OP_DONE
75
+ return op
76
+ }
77
+
78
+ /** @internal */
79
+ export const Emit = (): ChannelState<never, never> => {
80
+ const op = Object.create(proto)
81
+ op._tag = OpCodes.OP_EMIT
82
+ return op
83
+ }
84
+
85
+ /** @internal */
86
+ export const FromEffect = <R, E, _>(effect: Effect.Effect<R, E, _>): ChannelState<R, E> => {
87
+ const op = Object.create(proto)
88
+ op._tag = OpCodes.OP_FROM_EFFECT
89
+ op.effect = effect
90
+ return op
91
+ }
92
+
93
+ /** @internal */
94
+ export const Read = <R>(
95
+ upstream: ErasedExecutor<R>,
96
+ onEffect: (effect: Effect.Effect<R, never, void>) => Effect.Effect<R, never, void>,
97
+ onEmit: (value: unknown) => Effect.Effect<R, never, void> | undefined,
98
+ onDone: (exit: Exit.Exit<unknown, unknown>) => Effect.Effect<R, never, void> | undefined
99
+ ): ChannelState<R, never> => {
100
+ const op = Object.create(proto)
101
+ op._tag = OpCodes.OP_READ
102
+ op.upstream = upstream
103
+ op.onEffect = onEffect
104
+ op.onEmit = onEmit
105
+ op.onDone = onDone
106
+ return op
107
+ }
108
+
109
+ /** @internal */
110
+ export const isChannelState = (u: unknown): u is ChannelState<unknown, unknown> =>
111
+ typeof u === "object" && u != null && ChannelStateTypeId in u
112
+
113
+ /** @internal */
114
+ export const isDone = <R, E>(self: ChannelState<R, E>): self is Done => (self as Primitive)._tag === OpCodes.OP_DONE
115
+
116
+ /** @internal */
117
+ export const isEmit = <R, E>(self: ChannelState<R, E>): self is Emit => (self as Primitive)._tag === OpCodes.OP_EMIT
118
+
119
+ /** @internal */
120
+ export const isFromEffect = <R, E>(self: ChannelState<R, E>): self is FromEffect =>
121
+ (self as Primitive)._tag === OpCodes.OP_FROM_EFFECT
122
+
123
+ /** @internal */
124
+ export const isRead = <R, E>(self: ChannelState<R, E>): self is Read => (self as Primitive)._tag === OpCodes.OP_READ
125
+
126
+ /** @internal */
127
+ export const effect = <R, E>(self: ChannelState<R, E>): Effect.Effect<R, E, void> =>
128
+ isFromEffect(self) ? self.effect as Effect.Effect<R, E, void> : Effect.unit
129
+
130
+ /** @internal */
131
+ export const effectOrUndefinedIgnored = <R, E>(self: ChannelState<R, E>): Effect.Effect<R, E, void> | undefined =>
132
+ isFromEffect(self) ? Effect.ignore(self.effect as Effect.Effect<R, E, void>) : undefined
@@ -0,0 +1,95 @@
1
+ import type * as ChildExecutorDecision from "../../ChannelChildExecutorDecision"
2
+ import { dual } from "../../Function"
3
+ import * as OpCodes from "../opCodes/channelChildExecutorDecision"
4
+
5
+ /** @internal */
6
+ const ChildExecutorDecisionSymbolKey = "effect/ChannelChildExecutorDecision"
7
+
8
+ /** @internal */
9
+ export const ChildExecutorDecisionTypeId: ChildExecutorDecision.ChildExecutorDecisionTypeId = Symbol.for(
10
+ ChildExecutorDecisionSymbolKey
11
+ ) as ChildExecutorDecision.ChildExecutorDecisionTypeId
12
+
13
+ /** @internal */
14
+ const proto = {
15
+ [ChildExecutorDecisionTypeId]: ChildExecutorDecisionTypeId
16
+ }
17
+
18
+ /** @internal */
19
+ export const Continue = (_: void): ChildExecutorDecision.ChildExecutorDecision => {
20
+ const op = Object.create(proto)
21
+ op._tag = OpCodes.OP_CONTINUE
22
+ return op
23
+ }
24
+
25
+ /** @internal */
26
+ export const Close = (value: unknown): ChildExecutorDecision.ChildExecutorDecision => {
27
+ const op = Object.create(proto)
28
+ op._tag = OpCodes.OP_CLOSE
29
+ op.value = value
30
+ return op
31
+ }
32
+
33
+ /** @internal */
34
+ export const Yield = (_: void): ChildExecutorDecision.ChildExecutorDecision => {
35
+ const op = Object.create(proto)
36
+ op._tag = OpCodes.OP_YIELD
37
+ return op
38
+ }
39
+
40
+ /** @internal */
41
+ export const isChildExecutorDecision = (u: unknown): u is ChildExecutorDecision.ChildExecutorDecision =>
42
+ typeof u === "object" && u != null && ChildExecutorDecisionTypeId in u
43
+
44
+ /** @internal */
45
+ export const isContinue = (
46
+ self: ChildExecutorDecision.ChildExecutorDecision
47
+ ): self is ChildExecutorDecision.Continue => self._tag === OpCodes.OP_CONTINUE
48
+
49
+ /** @internal */
50
+ export const isClose = (
51
+ self: ChildExecutorDecision.ChildExecutorDecision
52
+ ): self is ChildExecutorDecision.Close => self._tag === OpCodes.OP_CLOSE
53
+
54
+ /** @internal */
55
+ export const isYield = (
56
+ self: ChildExecutorDecision.ChildExecutorDecision
57
+ ): self is ChildExecutorDecision.Yield => self._tag === OpCodes.OP_YIELD
58
+
59
+ /** @internal */
60
+ export const match = dual<
61
+ <A>(
62
+ options: {
63
+ readonly onContinue: () => A
64
+ readonly onClose: (value: unknown) => A
65
+ readonly onYield: () => A
66
+ }
67
+ ) => (self: ChildExecutorDecision.ChildExecutorDecision) => A,
68
+ <A>(
69
+ self: ChildExecutorDecision.ChildExecutorDecision,
70
+ options: {
71
+ readonly onContinue: () => A
72
+ readonly onClose: (value: unknown) => A
73
+ readonly onYield: () => A
74
+ }
75
+ ) => A
76
+ >(2, <A>(
77
+ self: ChildExecutorDecision.ChildExecutorDecision,
78
+ { onClose, onContinue, onYield }: {
79
+ readonly onContinue: () => A
80
+ readonly onClose: (value: unknown) => A
81
+ readonly onYield: () => A
82
+ }
83
+ ): A => {
84
+ switch (self._tag) {
85
+ case OpCodes.OP_CONTINUE: {
86
+ return onContinue()
87
+ }
88
+ case OpCodes.OP_CLOSE: {
89
+ return onClose(self.value)
90
+ }
91
+ case OpCodes.OP_YIELD: {
92
+ return onYield()
93
+ }
94
+ }
95
+ })
@@ -0,0 +1,171 @@
1
+ import type * as Cause from "../../Cause"
2
+ import type * as Channel from "../../Channel"
3
+ import type * as Effect from "../../Effect"
4
+ import * as Exit from "../../Exit"
5
+ import * as OpCodes from "../opCodes/continuation"
6
+
7
+ /** @internal */
8
+ export const ContinuationTypeId = Symbol.for("effect/ChannelContinuation")
9
+
10
+ /** @internal */
11
+ export type ContinuationTypeId = typeof ContinuationTypeId
12
+
13
+ /** @internal */
14
+ export interface Continuation<Env, InErr, InElem, InDone, OutErr, OutErr2, OutElem, OutDone, OutDone2>
15
+ extends Continuation.Variance<Env, InErr, InElem, InDone, OutErr, OutErr2, OutElem, OutDone, OutDone2>
16
+ {}
17
+
18
+ /** @internal */
19
+ export declare namespace Continuation {
20
+ /** @internal */
21
+ export interface Variance<Env, InErr, InElem, InDone, OutErr, OutErr2, OutElem, OutDone, OutDone2> {
22
+ readonly [ContinuationTypeId]: {
23
+ readonly _Env: (_: never) => Env
24
+ readonly _InErr: (_: InErr) => void
25
+ readonly _InElem: (_: InElem) => void
26
+ readonly _InDone: (_: InDone) => void
27
+ readonly _OutErr: (_: never) => OutErr
28
+ readonly _OutDone: (_: never) => OutDone
29
+ readonly _OutErr2: (_: never) => OutErr2
30
+ readonly _OutElem: (_: never) => OutElem
31
+ readonly _OutDone2: (_: never) => OutDone2
32
+ }
33
+ }
34
+ }
35
+
36
+ /** @internal */
37
+ export type Primitive = ErasedContinuationK | ErasedContinuationFinalizer
38
+
39
+ /** @internal */
40
+ export type ErasedContinuationK = ContinuationK<
41
+ unknown,
42
+ unknown,
43
+ unknown,
44
+ unknown,
45
+ unknown,
46
+ unknown,
47
+ unknown,
48
+ unknown,
49
+ unknown
50
+ >
51
+
52
+ /** @internal */
53
+ export type ErasedContinuationFinalizer = ContinuationFinalizer<unknown, unknown, unknown>
54
+
55
+ /** @internal */
56
+ export interface ContinuationK<
57
+ Env,
58
+ InErr,
59
+ InElem,
60
+ InDone,
61
+ OutErr,
62
+ OutErr2,
63
+ OutElem,
64
+ OutDone,
65
+ OutDone2
66
+ > extends
67
+ Continuation<
68
+ Env,
69
+ InErr,
70
+ InElem,
71
+ InDone,
72
+ OutErr,
73
+ OutErr2,
74
+ OutElem,
75
+ OutDone,
76
+ OutDone2
77
+ >
78
+ {
79
+ readonly _tag: OpCodes.OP_CONTINUATION_K
80
+ readonly onSuccess: (
81
+ o: OutDone
82
+ ) => Channel.Channel<Env, InErr, InElem, InDone, OutErr2, OutElem, OutDone2>
83
+ readonly onHalt: (
84
+ c: Cause.Cause<OutErr>
85
+ ) => Channel.Channel<Env, InErr, InElem, InDone, OutErr2, OutElem, OutDone2>
86
+ readonly onExit: (
87
+ exit: Exit.Exit<OutErr, OutDone>
88
+ ) => Channel.Channel<Env, InErr, InElem, InDone, OutErr2, OutElem, OutDone2>
89
+ }
90
+
91
+ /** @internal */
92
+ export interface ContinuationFinalizer<Env, OutErr, OutDone> extends
93
+ Continuation<
94
+ Env,
95
+ unknown,
96
+ unknown,
97
+ unknown,
98
+ OutErr,
99
+ never,
100
+ never,
101
+ OutDone,
102
+ never
103
+ >
104
+ {
105
+ readonly _tag: OpCodes.OP_CONTINUATION_FINALIZER
106
+ readonly finalizer: (exit: Exit.Exit<OutErr, OutDone>) => Effect.Effect<Env, never, unknown>
107
+ }
108
+
109
+ /** @internal */
110
+ const continuationVariance = {
111
+ _Env: (_: never) => _,
112
+ _InErr: (_: unknown) => _,
113
+ _InElem: (_: unknown) => _,
114
+ _InDone: (_: unknown) => _,
115
+ _OutErr: (_: never) => _,
116
+ _OutDone: (_: never) => _,
117
+ _OutErr2: (_: never) => _,
118
+ _OutElem: (_: never) => _,
119
+ _OutDone2: (_: never) => _
120
+ }
121
+
122
+ /** @internal */
123
+ export class ContinuationKImpl<
124
+ Env,
125
+ Env2,
126
+ InErr,
127
+ InElem,
128
+ InDone,
129
+ OutErr,
130
+ OutErr2,
131
+ OutElem,
132
+ OutDone,
133
+ OutDone2
134
+ > implements
135
+ ContinuationK<
136
+ Env | Env2,
137
+ InErr,
138
+ InElem,
139
+ InDone,
140
+ OutErr,
141
+ OutErr2,
142
+ OutElem,
143
+ OutDone,
144
+ OutDone2
145
+ >
146
+ {
147
+ readonly _tag = OpCodes.OP_CONTINUATION_K
148
+ readonly [ContinuationTypeId] = continuationVariance
149
+ constructor(
150
+ readonly onSuccess: (
151
+ o: OutDone
152
+ ) => Channel.Channel<Env, InErr, InElem, InDone, OutErr2, OutElem, OutDone2>,
153
+ readonly onHalt: (
154
+ c: Cause.Cause<OutErr>
155
+ ) => Channel.Channel<Env2, InErr, InElem, InDone, OutErr2, OutElem, OutDone2>
156
+ ) {
157
+ }
158
+ onExit(
159
+ exit: Exit.Exit<OutErr, OutDone>
160
+ ): Channel.Channel<Env | Env2, InErr, InElem, InDone, OutErr2, OutElem, OutDone2> {
161
+ return Exit.isFailure(exit) ? this.onHalt(exit.cause) : this.onSuccess(exit.value)
162
+ }
163
+ }
164
+
165
+ /** @internal */
166
+ export class ContinuationFinalizerImpl<Env, OutErr, OutDone> implements ContinuationFinalizer<Env, OutErr, OutDone> {
167
+ readonly _tag = OpCodes.OP_CONTINUATION_FINALIZER
168
+ readonly [ContinuationTypeId] = continuationVariance
169
+ constructor(readonly finalizer: (exit: Exit.Exit<OutErr, OutDone>) => Effect.Effect<Env, never, unknown>) {
170
+ }
171
+ }
@@ -0,0 +1,115 @@
1
+ import type * as MergeDecision from "../../ChannelMergeDecision"
2
+ import type * as Effect from "../../Effect"
3
+ import type * as Exit from "../../Exit"
4
+ import { dual } from "../../Function"
5
+ import * as OpCodes from "../opCodes/channelMergeDecision"
6
+
7
+ /** @internal */
8
+ const MergeDecisionSymbolKey = "effect/ChannelMergeDecision"
9
+
10
+ /** @internal */
11
+ export const MergeDecisionTypeId: MergeDecision.MergeDecisionTypeId = Symbol.for(
12
+ MergeDecisionSymbolKey
13
+ ) as MergeDecision.MergeDecisionTypeId
14
+
15
+ /** @internal */
16
+ const proto = {
17
+ [MergeDecisionTypeId]: {
18
+ _R: (_: never) => _,
19
+ _E0: (_: unknown) => _,
20
+ _Z0: (_: unknown) => _,
21
+ _E: (_: never) => _,
22
+ _Z: (_: never) => _
23
+ }
24
+ }
25
+
26
+ /** @internal */
27
+ export type Primitive =
28
+ | Done
29
+ | Await
30
+
31
+ /** @internal */
32
+ export type Op<Tag extends string, Body = {}> =
33
+ & MergeDecision.MergeDecision<never, unknown, unknown, never, never>
34
+ & Body
35
+ & {
36
+ readonly _tag: Tag
37
+ }
38
+
39
+ /** @internal */
40
+ export interface Done extends
41
+ Op<OpCodes.OP_DONE, {
42
+ readonly effect: Effect.Effect<never, never, never>
43
+ }>
44
+ {}
45
+
46
+ /** @internal */
47
+ export interface Await extends
48
+ Op<OpCodes.OP_AWAIT, {
49
+ readonly f: (exit: Exit.Exit<unknown, unknown>) => Effect.Effect<never, never, never>
50
+ }>
51
+ {}
52
+
53
+ /** @internal */
54
+ export const Done = <R, E, Z>(
55
+ effect: Effect.Effect<R, E, Z>
56
+ ): MergeDecision.MergeDecision<R, unknown, unknown, E, Z> => {
57
+ const op = Object.create(proto)
58
+ op._tag = OpCodes.OP_DONE
59
+ op.effect = effect
60
+ return op
61
+ }
62
+
63
+ /** @internal */
64
+ export const Await = <R, E0, Z0, E, Z>(
65
+ f: (exit: Exit.Exit<E0, Z0>) => Effect.Effect<R, E, Z>
66
+ ): MergeDecision.MergeDecision<R, E0, Z0, E, Z> => {
67
+ const op = Object.create(proto)
68
+ op._tag = OpCodes.OP_AWAIT
69
+ op.f = f
70
+ return op
71
+ }
72
+
73
+ /** @internal */
74
+ export const AwaitConst = <R, E, Z>(
75
+ effect: Effect.Effect<R, E, Z>
76
+ ): MergeDecision.MergeDecision<R, unknown, unknown, E, Z> => Await(() => effect)
77
+
78
+ /** @internal */
79
+ export const isMergeDecision = (
80
+ u: unknown
81
+ ): u is MergeDecision.MergeDecision<unknown, unknown, unknown, unknown, unknown> =>
82
+ typeof u === "object" && u != null && MergeDecisionTypeId in u
83
+
84
+ /** @internal */
85
+ export const match = dual<
86
+ <R, E0, Z0, E, Z, Z2>(
87
+ options: {
88
+ readonly onDone: (effect: Effect.Effect<R, E, Z>) => Z2
89
+ readonly onAwait: (f: (exit: Exit.Exit<E0, Z0>) => Effect.Effect<R, E, Z>) => Z2
90
+ }
91
+ ) => (self: MergeDecision.MergeDecision<R, E0, Z0, E, Z>) => Z2,
92
+ <R, E0, Z0, E, Z, Z2>(
93
+ self: MergeDecision.MergeDecision<R, E0, Z0, E, Z>,
94
+ options: {
95
+ readonly onDone: (effect: Effect.Effect<R, E, Z>) => Z2
96
+ readonly onAwait: (f: (exit: Exit.Exit<E0, Z0>) => Effect.Effect<R, E, Z>) => Z2
97
+ }
98
+ ) => Z2
99
+ >(2, <R, E0, Z0, E, Z, Z2>(
100
+ self: MergeDecision.MergeDecision<R, E0, Z0, E, Z>,
101
+ { onAwait, onDone }: {
102
+ readonly onDone: (effect: Effect.Effect<R, E, Z>) => Z2
103
+ readonly onAwait: (f: (exit: Exit.Exit<E0, Z0>) => Effect.Effect<R, E, Z>) => Z2
104
+ }
105
+ ): Z2 => {
106
+ const op = self as Primitive
107
+ switch (op._tag) {
108
+ case OpCodes.OP_DONE: {
109
+ return onDone(op.effect)
110
+ }
111
+ case OpCodes.OP_AWAIT: {
112
+ return onAwait(op.f)
113
+ }
114
+ }
115
+ })
@@ -0,0 +1,120 @@
1
+ import type * as MergeState from "../../ChannelMergeState"
2
+ import type * as Effect from "../../Effect"
3
+ import type * as Either from "../../Either"
4
+ import type * as Exit from "../../Exit"
5
+ import type * as Fiber from "../../Fiber"
6
+ import { dual } from "../../Function"
7
+ import * as OpCodes from "../opCodes/channelMergeState"
8
+
9
+ /** @internal */
10
+ const MergeStateSymbolKey = "effect/ChannelMergeState"
11
+
12
+ /** @internal */
13
+ export const MergeStateTypeId: MergeState.MergeStateTypeId = Symbol.for(
14
+ MergeStateSymbolKey
15
+ ) as MergeState.MergeStateTypeId
16
+
17
+ /** @internal */
18
+ const proto = {
19
+ [MergeStateTypeId]: MergeStateTypeId
20
+ }
21
+
22
+ /** @internal */
23
+ export const BothRunning = <Env, Err, Err1, Err2, Elem, Done, Done1, Done2>(
24
+ left: Fiber.Fiber<Err, Either.Either<Done, Elem>>,
25
+ right: Fiber.Fiber<Err1, Either.Either<Done1, Elem>>
26
+ ): MergeState.MergeState<Env, Err, Err1, Err2, Elem, Done, Done1, Done2> => {
27
+ const op = Object.create(proto)
28
+ op._tag = OpCodes.OP_BOTH_RUNNING
29
+ op.left = left
30
+ op.right = right
31
+ return op
32
+ }
33
+
34
+ /** @internal */
35
+ export const LeftDone = <Env, Err, Err1, Err2, Elem, Done, Done1, Done2>(
36
+ f: (exit: Exit.Exit<Err1, Done1>) => Effect.Effect<Env, Err2, Done2>
37
+ ): MergeState.MergeState<Env, Err, Err1, Err2, Elem, Done, Done1, Done2> => {
38
+ const op = Object.create(proto)
39
+ op._tag = OpCodes.OP_LEFT_DONE
40
+ op.f = f
41
+ return op
42
+ }
43
+
44
+ /** @internal */
45
+ export const RightDone = <Env, Err, Err1, Err2, Elem, Done, Done1, Done2>(
46
+ f: (exit: Exit.Exit<Err, Done>) => Effect.Effect<Env, Err2, Done2>
47
+ ): MergeState.MergeState<Env, Err, Err1, Err2, Elem, Done, Done1, Done2> => {
48
+ const op = Object.create(proto)
49
+ op._tag = OpCodes.OP_RIGHT_DONE
50
+ op.f = f
51
+ return op
52
+ }
53
+
54
+ /** @internal */
55
+ export const isMergeState = (
56
+ u: unknown
57
+ ): u is MergeState.MergeState<unknown, unknown, unknown, unknown, unknown, unknown, unknown, unknown> => {
58
+ return typeof u === "object" && u != null && MergeStateTypeId in u
59
+ }
60
+
61
+ /** @internal */
62
+ export const isBothRunning = <Env, Err, Err1, Err2, Elem, Done, Done1, Done2>(
63
+ self: MergeState.MergeState<Env, Err, Err1, Err2, Elem, Done, Done1, Done2>
64
+ ): self is MergeState.BothRunning<Env, Err, Err1, Err2, Elem, Done, Done1, Done2> => {
65
+ return self._tag === OpCodes.OP_BOTH_RUNNING
66
+ }
67
+
68
+ /** @internal */
69
+ export const isLeftDone = <Env, Err, Err1, Err2, Elem, Done, Done1, Done2>(
70
+ self: MergeState.MergeState<Env, Err, Err1, Err2, Elem, Done, Done1, Done2>
71
+ ): self is MergeState.LeftDone<Env, Err, Err1, Err2, Elem, Done, Done1, Done2> => {
72
+ return self._tag === OpCodes.OP_LEFT_DONE
73
+ }
74
+
75
+ /** @internal */
76
+ export const isRightDone = <Env, Err, Err1, Err2, Elem, Done, Done1, Done2>(
77
+ self: MergeState.MergeState<Env, Err, Err1, Err2, Elem, Done, Done1, Done2>
78
+ ): self is MergeState.RightDone<Env, Err, Err1, Err2, Elem, Done, Done1, Done2> => {
79
+ return self._tag === OpCodes.OP_RIGHT_DONE
80
+ }
81
+
82
+ /** @internal */
83
+ export const match = dual<
84
+ <Env, Err, Err1, Err2, Elem, Done, Done1, Done2, Z>(
85
+ options: {
86
+ readonly onBothRunning: (
87
+ left: Fiber.Fiber<Err, Either.Either<Done, Elem>>,
88
+ right: Fiber.Fiber<Err1, Either.Either<Done1, Elem>>
89
+ ) => Z
90
+ readonly onLeftDone: (f: (exit: Exit.Exit<Err1, Done1>) => Effect.Effect<Env, Err2, Done2>) => Z
91
+ readonly onRightDone: (f: (exit: Exit.Exit<Err, Done>) => Effect.Effect<Env, Err2, Done2>) => Z
92
+ }
93
+ ) => (self: MergeState.MergeState<Env, Err, Err1, Err2, Elem, Done, Done1, Done2>) => Z,
94
+ <Env, Err, Err1, Err2, Elem, Done, Done1, Done2, Z>(
95
+ self: MergeState.MergeState<Env, Err, Err1, Err2, Elem, Done, Done1, Done2>,
96
+ options: {
97
+ readonly onBothRunning: (
98
+ left: Fiber.Fiber<Err, Either.Either<Done, Elem>>,
99
+ right: Fiber.Fiber<Err1, Either.Either<Done1, Elem>>
100
+ ) => Z
101
+ readonly onLeftDone: (f: (exit: Exit.Exit<Err1, Done1>) => Effect.Effect<Env, Err2, Done2>) => Z
102
+ readonly onRightDone: (f: (exit: Exit.Exit<Err, Done>) => Effect.Effect<Env, Err2, Done2>) => Z
103
+ }
104
+ ) => Z
105
+ >(2, (
106
+ self,
107
+ { onBothRunning, onLeftDone, onRightDone }
108
+ ) => {
109
+ switch (self._tag) {
110
+ case OpCodes.OP_BOTH_RUNNING: {
111
+ return onBothRunning(self.left, self.right)
112
+ }
113
+ case OpCodes.OP_LEFT_DONE: {
114
+ return onLeftDone(self.f)
115
+ }
116
+ case OpCodes.OP_RIGHT_DONE: {
117
+ return onRightDone(self.f)
118
+ }
119
+ }
120
+ })
@@ -0,0 +1,72 @@
1
+ import type * as MergeStrategy from "../../ChannelMergeStrategy"
2
+ import { dual } from "../../Function"
3
+ import * as OpCodes from "../opCodes/channelMergeStrategy"
4
+
5
+ /** @internal */
6
+ const MergeStrategySymbolKey = "effect/ChannelMergeStrategy"
7
+
8
+ /** @internal */
9
+ export const MergeStrategyTypeId: MergeStrategy.MergeStrategyTypeId = Symbol.for(
10
+ MergeStrategySymbolKey
11
+ ) as MergeStrategy.MergeStrategyTypeId
12
+
13
+ /** @internal */
14
+ const proto = {
15
+ [MergeStrategyTypeId]: MergeStrategyTypeId
16
+ }
17
+
18
+ /** @internal */
19
+ export const BackPressure = (_: void): MergeStrategy.MergeStrategy => {
20
+ const op = Object.create(proto)
21
+ op._tag = OpCodes.OP_BACK_PRESSURE
22
+ return op
23
+ }
24
+
25
+ /** @internal */
26
+ export const BufferSliding = (_: void): MergeStrategy.MergeStrategy => {
27
+ const op = Object.create(proto)
28
+ op._tag = OpCodes.OP_BUFFER_SLIDING
29
+ return op
30
+ }
31
+
32
+ /** @internal */
33
+ export const isMergeStrategy = (u: unknown): u is MergeStrategy.MergeStrategy =>
34
+ typeof u === "object" && u != null && MergeStrategyTypeId in u
35
+
36
+ /** @internal */
37
+ export const isBackPressure = (self: MergeStrategy.MergeStrategy): self is MergeStrategy.BackPressure =>
38
+ self._tag === OpCodes.OP_BACK_PRESSURE
39
+
40
+ /** @internal */
41
+ export const isBufferSliding = (self: MergeStrategy.MergeStrategy): self is MergeStrategy.BufferSliding =>
42
+ self._tag === OpCodes.OP_BUFFER_SLIDING
43
+
44
+ /** @internal */
45
+ export const match = dual<
46
+ <A>(options: {
47
+ readonly onBackPressure: () => A
48
+ readonly onBufferSliding: () => A
49
+ }) => (self: MergeStrategy.MergeStrategy) => A,
50
+ <A>(
51
+ self: MergeStrategy.MergeStrategy,
52
+ options: {
53
+ readonly onBackPressure: () => A
54
+ readonly onBufferSliding: () => A
55
+ }
56
+ ) => A
57
+ >(2, <A>(
58
+ self: MergeStrategy.MergeStrategy,
59
+ { onBackPressure, onBufferSliding }: {
60
+ readonly onBackPressure: () => A
61
+ readonly onBufferSliding: () => A
62
+ }
63
+ ): A => {
64
+ switch (self._tag) {
65
+ case OpCodes.OP_BACK_PRESSURE: {
66
+ return onBackPressure()
67
+ }
68
+ case OpCodes.OP_BUFFER_SLIDING: {
69
+ return onBufferSliding()
70
+ }
71
+ }
72
+ })