effect 2.0.0-next.44 → 2.0.0-next.46

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (779) hide show
  1. package/Bigint/dist/effect-Bigint.cjs.dev.js +125 -1
  2. package/Bigint/dist/effect-Bigint.cjs.mjs +6 -1
  3. package/Bigint/dist/effect-Bigint.cjs.prod.js +125 -1
  4. package/Bigint/dist/effect-Bigint.esm.js +111 -2
  5. package/Boolean/dist/effect-Boolean.cjs.dev.js +1 -1
  6. package/Boolean/dist/effect-Boolean.cjs.prod.js +1 -1
  7. package/Boolean/dist/effect-Boolean.esm.js +1 -1
  8. package/Brand/dist/effect-Brand.cjs.dev.js +3 -3
  9. package/Brand/dist/effect-Brand.cjs.prod.js +3 -3
  10. package/Cache/dist/effect-Cache.cjs.dev.js +32 -32
  11. package/Cache/dist/effect-Cache.cjs.prod.js +32 -32
  12. package/Cause/dist/effect-Cause.cjs.dev.js +17 -17
  13. package/Cause/dist/effect-Cause.cjs.mjs +1 -1
  14. package/Cause/dist/effect-Cause.cjs.prod.js +17 -17
  15. package/Cause/dist/effect-Cause.esm.js +4 -4
  16. package/Channel/dist/effect-Channel.cjs.dev.js +50 -50
  17. package/Channel/dist/effect-Channel.cjs.mjs +3 -3
  18. package/Channel/dist/effect-Channel.cjs.prod.js +50 -50
  19. package/Channel/dist/effect-Channel.esm.js +8 -8
  20. package/ChannelSingleProducerAsyncInput/dist/effect-ChannelSingleProducerAsyncInput.cjs.dev.js +36 -36
  21. package/ChannelSingleProducerAsyncInput/dist/effect-ChannelSingleProducerAsyncInput.cjs.prod.js +36 -36
  22. package/Chunk/dist/effect-Chunk.cjs.dev.js +3 -3
  23. package/Chunk/dist/effect-Chunk.cjs.prod.js +3 -3
  24. package/Clock/dist/effect-Clock.cjs.dev.js +16 -16
  25. package/Clock/dist/effect-Clock.cjs.prod.js +16 -16
  26. package/Config/dist/effect-Config.cjs.dev.js +11 -11
  27. package/Config/dist/effect-Config.cjs.prod.js +11 -11
  28. package/ConfigError/dist/effect-ConfigError.cjs.dev.js +4 -4
  29. package/ConfigError/dist/effect-ConfigError.cjs.prod.js +4 -4
  30. package/ConfigProvider/dist/effect-ConfigProvider.cjs.dev.js +17 -17
  31. package/ConfigProvider/dist/effect-ConfigProvider.cjs.prod.js +17 -17
  32. package/ConfigProviderPathPatch/dist/effect-ConfigProviderPathPatch.cjs.dev.js +5 -5
  33. package/ConfigProviderPathPatch/dist/effect-ConfigProviderPathPatch.cjs.prod.js +5 -5
  34. package/ConfigSecret/dist/effect-ConfigSecret.cjs.dev.js +4 -4
  35. package/ConfigSecret/dist/effect-ConfigSecret.cjs.prod.js +4 -4
  36. package/Console/dist/effect-Console.cjs.dev.js +35 -35
  37. package/Console/dist/effect-Console.cjs.prod.js +35 -35
  38. package/Context/dist/effect-Context.cjs.dev.js +3 -8
  39. package/Context/dist/effect-Context.cjs.prod.js +3 -8
  40. package/Data/dist/effect-Data.cjs.dev.js +141 -54
  41. package/Data/dist/effect-Data.cjs.mjs +2 -0
  42. package/Data/dist/effect-Data.cjs.prod.js +141 -54
  43. package/Data/dist/effect-Data.esm.js +51 -3
  44. package/DefaultServices/dist/effect-DefaultServices.cjs.dev.js +16 -16
  45. package/DefaultServices/dist/effect-DefaultServices.cjs.prod.js +16 -16
  46. package/Deferred/dist/effect-Deferred.cjs.dev.js +8 -8
  47. package/Deferred/dist/effect-Deferred.cjs.prod.js +8 -8
  48. package/Differ/dist/effect-Differ.cjs.dev.js +11 -11
  49. package/Differ/dist/effect-Differ.cjs.prod.js +11 -11
  50. package/Duration/dist/effect-Duration.cjs.dev.js +3 -3
  51. package/Duration/dist/effect-Duration.cjs.prod.js +3 -3
  52. package/Effect/dist/effect-Effect.cjs.dev.js +44 -44
  53. package/Effect/dist/effect-Effect.cjs.prod.js +44 -44
  54. package/Effectable/dist/effect-Effectable.cjs.dev.js +24 -14
  55. package/Effectable/dist/effect-Effectable.cjs.mjs +5 -4
  56. package/Effectable/dist/effect-Effectable.cjs.prod.js +24 -14
  57. package/Effectable/dist/effect-Effectable.esm.js +15 -5
  58. package/Either/dist/effect-Either.cjs.dev.js +3 -3
  59. package/Either/dist/effect-Either.cjs.prod.js +3 -3
  60. package/Encoding/dist/effect-Encoding.cjs.dev.js +3 -3
  61. package/Encoding/dist/effect-Encoding.cjs.prod.js +3 -3
  62. package/ExecutionStrategy/dist/effect-ExecutionStrategy.cjs.dev.js +2 -2
  63. package/ExecutionStrategy/dist/effect-ExecutionStrategy.cjs.prod.js +2 -2
  64. package/Exit/dist/effect-Exit.cjs.dev.js +8 -8
  65. package/Exit/dist/effect-Exit.cjs.prod.js +8 -8
  66. package/Fiber/dist/effect-Fiber.cjs.dev.js +29 -29
  67. package/Fiber/dist/effect-Fiber.cjs.prod.js +29 -29
  68. package/FiberId/dist/effect-FiberId.cjs.dev.js +5 -5
  69. package/FiberId/dist/effect-FiberId.cjs.prod.js +5 -5
  70. package/FiberRef/dist/effect-FiberRef.cjs.dev.js +29 -29
  71. package/FiberRef/dist/effect-FiberRef.cjs.prod.js +29 -29
  72. package/FiberRefs/dist/effect-FiberRefs.cjs.dev.js +9 -9
  73. package/FiberRefs/dist/effect-FiberRefs.cjs.prod.js +9 -9
  74. package/FiberRefsPatch/dist/effect-FiberRefsPatch.cjs.dev.js +10 -10
  75. package/FiberRefsPatch/dist/effect-FiberRefsPatch.cjs.prod.js +10 -10
  76. package/GroupBy/dist/effect-GroupBy.cjs.dev.js +42 -42
  77. package/GroupBy/dist/effect-GroupBy.cjs.prod.js +42 -42
  78. package/HashMap/dist/effect-HashMap.cjs.dev.js +20 -20
  79. package/HashMap/dist/effect-HashMap.cjs.prod.js +20 -20
  80. package/HashSet/dist/effect-HashSet.cjs.dev.js +20 -20
  81. package/HashSet/dist/effect-HashSet.cjs.prod.js +20 -20
  82. package/KeyedPool/dist/effect-KeyedPool.cjs.dev.js +33 -33
  83. package/KeyedPool/dist/effect-KeyedPool.cjs.prod.js +33 -33
  84. package/Layer/dist/effect-Layer.cjs.dev.js +32 -32
  85. package/Layer/dist/effect-Layer.cjs.prod.js +32 -32
  86. package/List/dist/effect-List.cjs.dev.js +3 -3
  87. package/List/dist/effect-List.cjs.prod.js +3 -3
  88. package/LogLevel/dist/effect-LogLevel.cjs.dev.js +8 -8
  89. package/LogLevel/dist/effect-LogLevel.cjs.prod.js +8 -8
  90. package/Logger/dist/effect-Logger.cjs.dev.js +33 -33
  91. package/Logger/dist/effect-Logger.cjs.prod.js +33 -33
  92. package/Metric/dist/effect-Metric.cjs.dev.js +27 -27
  93. package/Metric/dist/effect-Metric.cjs.prod.js +27 -27
  94. package/MetricBoundaries/dist/effect-MetricBoundaries.cjs.dev.js +4 -4
  95. package/MetricBoundaries/dist/effect-MetricBoundaries.cjs.prod.js +4 -4
  96. package/MetricHook/dist/effect-MetricHook.cjs.dev.js +6 -6
  97. package/MetricHook/dist/effect-MetricHook.cjs.prod.js +6 -6
  98. package/MetricKey/dist/effect-MetricKey.cjs.dev.js +6 -6
  99. package/MetricKey/dist/effect-MetricKey.cjs.prod.js +6 -6
  100. package/MetricKeyType/dist/effect-MetricKeyType.cjs.dev.js +4 -4
  101. package/MetricKeyType/dist/effect-MetricKeyType.cjs.prod.js +4 -4
  102. package/MetricPolling/dist/effect-MetricPolling.cjs.dev.js +30 -30
  103. package/MetricPolling/dist/effect-MetricPolling.cjs.prod.js +30 -30
  104. package/MetricRegistry/dist/effect-MetricRegistry.cjs.dev.js +8 -8
  105. package/MetricRegistry/dist/effect-MetricRegistry.cjs.prod.js +8 -8
  106. package/MetricState/dist/effect-MetricState.cjs.dev.js +1 -1
  107. package/MetricState/dist/effect-MetricState.cjs.prod.js +1 -1
  108. package/MutableHashMap/dist/effect-MutableHashMap.cjs.dev.js +4 -4
  109. package/MutableHashMap/dist/effect-MutableHashMap.cjs.prod.js +4 -4
  110. package/MutableHashSet/dist/effect-MutableHashSet.cjs.dev.js +4 -4
  111. package/MutableHashSet/dist/effect-MutableHashSet.cjs.prod.js +4 -4
  112. package/MutableQueue/dist/effect-MutableQueue.cjs.dev.js +3 -3
  113. package/MutableQueue/dist/effect-MutableQueue.cjs.prod.js +3 -3
  114. package/Number/dist/effect-Number.cjs.dev.js +1 -1
  115. package/Number/dist/effect-Number.cjs.prod.js +1 -1
  116. package/Number/dist/effect-Number.esm.js +1 -1
  117. package/Option/dist/effect-Option.cjs.dev.js +9 -9
  118. package/Option/dist/effect-Option.cjs.prod.js +9 -9
  119. package/Pool/dist/effect-Pool.cjs.dev.js +31 -31
  120. package/Pool/dist/effect-Pool.cjs.prod.js +31 -31
  121. package/PubSub/dist/effect-PubSub.cjs.d.mts +2 -0
  122. package/PubSub/dist/effect-PubSub.cjs.d.mts.map +1 -0
  123. package/PubSub/dist/effect-PubSub.cjs.d.ts +2 -0
  124. package/PubSub/dist/effect-PubSub.cjs.d.ts.map +1 -0
  125. package/{Hub/dist/effect-Hub.cjs.dev.js → PubSub/dist/effect-PubSub.cjs.dev.js} +163 -163
  126. package/PubSub/dist/effect-PubSub.cjs.js +7 -0
  127. package/{Hub/dist/effect-Hub.cjs.mjs → PubSub/dist/effect-PubSub.cjs.mjs} +1 -1
  128. package/{Hub/dist/effect-Hub.cjs.prod.js → PubSub/dist/effect-PubSub.cjs.prod.js} +163 -163
  129. package/{Hub/dist/effect-Hub.esm.js → PubSub/dist/effect-PubSub.esm.js} +15 -15
  130. package/PubSub/package.json +4 -0
  131. package/Queue/dist/effect-Queue.cjs.dev.js +28 -28
  132. package/Queue/dist/effect-Queue.cjs.prod.js +28 -28
  133. package/README.md +5 -5
  134. package/Random/dist/effect-Random.cjs.dev.js +16 -16
  135. package/Random/dist/effect-Random.cjs.prod.js +16 -16
  136. package/ReadonlyArray/dist/effect-ReadonlyArray.cjs.dev.js +3 -3
  137. package/ReadonlyArray/dist/effect-ReadonlyArray.cjs.prod.js +3 -3
  138. package/ReadonlyRecord/dist/effect-ReadonlyRecord.cjs.dev.js +3 -3
  139. package/ReadonlyRecord/dist/effect-ReadonlyRecord.cjs.prod.js +3 -3
  140. package/RedBlackTree/dist/effect-RedBlackTree.cjs.dev.js +4 -4
  141. package/RedBlackTree/dist/effect-RedBlackTree.cjs.prod.js +4 -4
  142. package/Ref/dist/effect-Ref.cjs.dev.js +9 -9
  143. package/Ref/dist/effect-Ref.cjs.prod.js +9 -9
  144. package/Reloadable/dist/effect-Reloadable.cjs.dev.js +44 -44
  145. package/Reloadable/dist/effect-Reloadable.cjs.prod.js +44 -44
  146. package/Request/dist/effect-Request.cjs.dev.js +29 -29
  147. package/Request/dist/effect-Request.cjs.prod.js +29 -29
  148. package/RequestBlock/dist/effect-RequestBlock.cjs.dev.js +36 -36
  149. package/RequestBlock/dist/effect-RequestBlock.cjs.prod.js +36 -36
  150. package/RequestResolver/dist/effect-RequestResolver.cjs.dev.js +38 -38
  151. package/RequestResolver/dist/effect-RequestResolver.cjs.prod.js +38 -38
  152. package/Resource/dist/effect-Resource.cjs.dev.js +34 -34
  153. package/Resource/dist/effect-Resource.cjs.prod.js +34 -34
  154. package/Runtime/dist/effect-Runtime.cjs.dev.js +34 -34
  155. package/Runtime/dist/effect-Runtime.cjs.prod.js +34 -34
  156. package/RuntimeFlags/dist/effect-RuntimeFlags.cjs.dev.js +33 -33
  157. package/RuntimeFlags/dist/effect-RuntimeFlags.cjs.prod.js +33 -33
  158. package/RuntimeFlagsPatch/dist/effect-RuntimeFlagsPatch.cjs.dev.js +6 -6
  159. package/RuntimeFlagsPatch/dist/effect-RuntimeFlagsPatch.cjs.prod.js +6 -6
  160. package/STM/dist/effect-STM.cjs.dev.js +48 -48
  161. package/STM/dist/effect-STM.cjs.prod.js +48 -48
  162. package/Schedule/dist/effect-Schedule.cjs.dev.js +19 -19
  163. package/Schedule/dist/effect-Schedule.cjs.prod.js +19 -19
  164. package/ScheduleDecision/dist/effect-ScheduleDecision.cjs.dev.js +3 -3
  165. package/ScheduleDecision/dist/effect-ScheduleDecision.cjs.prod.js +3 -3
  166. package/ScheduleInterval/dist/effect-ScheduleInterval.cjs.dev.js +3 -3
  167. package/ScheduleInterval/dist/effect-ScheduleInterval.cjs.prod.js +3 -3
  168. package/ScheduleIntervals/dist/effect-ScheduleIntervals.cjs.dev.js +3 -3
  169. package/ScheduleIntervals/dist/effect-ScheduleIntervals.cjs.prod.js +3 -3
  170. package/Scheduler/dist/effect-Scheduler.cjs.dev.js +8 -8
  171. package/Scheduler/dist/effect-Scheduler.cjs.prod.js +8 -8
  172. package/Scope/dist/effect-Scope.cjs.dev.js +27 -27
  173. package/Scope/dist/effect-Scope.cjs.prod.js +27 -27
  174. package/ScopedCache/dist/effect-ScopedCache.cjs.dev.js +78 -61
  175. package/ScopedCache/dist/effect-ScopedCache.cjs.prod.js +78 -61
  176. package/ScopedRef/dist/effect-ScopedRef.cjs.dev.js +34 -34
  177. package/ScopedRef/dist/effect-ScopedRef.cjs.prod.js +34 -34
  178. package/Sink/dist/effect-Sink.cjs.dev.js +43 -43
  179. package/Sink/dist/effect-Sink.cjs.mjs +1 -1
  180. package/Sink/dist/effect-Sink.cjs.prod.js +43 -43
  181. package/Sink/dist/effect-Sink.esm.js +5 -5
  182. package/SortedMap/dist/effect-SortedMap.cjs.dev.js +3 -3
  183. package/SortedMap/dist/effect-SortedMap.cjs.prod.js +3 -3
  184. package/SortedSet/dist/effect-SortedSet.cjs.dev.js +3 -3
  185. package/SortedSet/dist/effect-SortedSet.cjs.prod.js +3 -3
  186. package/Stream/dist/effect-Stream.cjs.dev.js +60 -60
  187. package/Stream/dist/effect-Stream.cjs.mjs +5 -5
  188. package/Stream/dist/effect-Stream.cjs.prod.js +60 -60
  189. package/Stream/dist/effect-Stream.esm.js +15 -15
  190. package/Streamable/dist/effect-Streamable.cjs.d.mts +2 -0
  191. package/Streamable/dist/effect-Streamable.cjs.d.mts.map +1 -0
  192. package/Streamable/dist/effect-Streamable.cjs.d.ts +2 -0
  193. package/Streamable/dist/effect-Streamable.cjs.d.ts.map +1 -0
  194. package/Streamable/dist/effect-Streamable.cjs.dev.js +152 -0
  195. package/Streamable/dist/effect-Streamable.cjs.js +7 -0
  196. package/Streamable/dist/effect-Streamable.cjs.mjs +3 -0
  197. package/Streamable/dist/effect-Streamable.cjs.prod.js +152 -0
  198. package/Streamable/dist/effect-Streamable.esm.js +42 -0
  199. package/Streamable/package.json +4 -0
  200. package/String/dist/effect-String.cjs.dev.js +4 -4
  201. package/String/dist/effect-String.cjs.prod.js +4 -4
  202. package/String/dist/effect-String.esm.js +1 -1
  203. package/SubscriptionRef/dist/effect-SubscriptionRef.cjs.dev.js +48 -48
  204. package/SubscriptionRef/dist/effect-SubscriptionRef.cjs.prod.js +48 -48
  205. package/Supervisor/dist/effect-Supervisor.cjs.dev.js +34 -34
  206. package/Supervisor/dist/effect-Supervisor.cjs.prod.js +34 -34
  207. package/SynchronizedRef/dist/effect-SynchronizedRef.cjs.dev.js +30 -30
  208. package/SynchronizedRef/dist/effect-SynchronizedRef.cjs.prod.js +30 -30
  209. package/TArray/dist/effect-TArray.cjs.dev.js +46 -46
  210. package/TArray/dist/effect-TArray.cjs.prod.js +46 -46
  211. package/TDeferred/dist/effect-TDeferred.cjs.dev.js +45 -45
  212. package/TDeferred/dist/effect-TDeferred.cjs.prod.js +45 -45
  213. package/TMap/dist/effect-TMap.cjs.dev.js +47 -47
  214. package/TMap/dist/effect-TMap.cjs.prod.js +47 -47
  215. package/TPriorityQueue/dist/effect-TPriorityQueue.cjs.dev.js +44 -44
  216. package/TPriorityQueue/dist/effect-TPriorityQueue.cjs.prod.js +44 -44
  217. package/TPubSub/dist/effect-TPubSub.cjs.d.mts +2 -0
  218. package/TPubSub/dist/effect-TPubSub.cjs.d.mts.map +1 -0
  219. package/TPubSub/dist/effect-TPubSub.cjs.d.ts +2 -0
  220. package/TPubSub/dist/effect-TPubSub.cjs.d.ts.map +1 -0
  221. package/{THub/dist/effect-THub.cjs.dev.js → TPubSub/dist/effect-TPubSub.cjs.dev.js} +101 -101
  222. package/TPubSub/dist/effect-TPubSub.cjs.js +7 -0
  223. package/{THub/dist/effect-THub.cjs.mjs → TPubSub/dist/effect-TPubSub.cjs.mjs} +2 -2
  224. package/{THub/dist/effect-THub.cjs.prod.js → TPubSub/dist/effect-TPubSub.cjs.prod.js} +101 -101
  225. package/TPubSub/dist/effect-TPubSub.esm.js +157 -0
  226. package/TPubSub/package.json +4 -0
  227. package/TQueue/dist/effect-TQueue.cjs.dev.js +46 -46
  228. package/TQueue/dist/effect-TQueue.cjs.prod.js +46 -46
  229. package/TRandom/dist/effect-TRandom.cjs.dev.js +50 -50
  230. package/TRandom/dist/effect-TRandom.cjs.prod.js +50 -50
  231. package/TReentrantLock/dist/effect-TReentrantLock.cjs.dev.js +46 -46
  232. package/TReentrantLock/dist/effect-TReentrantLock.cjs.prod.js +46 -46
  233. package/TRef/dist/effect-TRef.cjs.dev.js +44 -44
  234. package/TRef/dist/effect-TRef.cjs.prod.js +44 -44
  235. package/TSemaphore/dist/effect-TSemaphore.cjs.dev.js +45 -45
  236. package/TSemaphore/dist/effect-TSemaphore.cjs.prod.js +45 -45
  237. package/TSet/dist/effect-TSet.cjs.dev.js +47 -47
  238. package/TSet/dist/effect-TSet.cjs.prod.js +47 -47
  239. package/Take/dist/effect-Take.cjs.dev.js +36 -36
  240. package/Take/dist/effect-Take.cjs.prod.js +36 -36
  241. package/TestAnnotation/dist/effect-TestAnnotation.cjs.dev.js +8 -8
  242. package/TestAnnotation/dist/effect-TestAnnotation.cjs.prod.js +8 -8
  243. package/TestAnnotations/dist/effect-TestAnnotations.cjs.dev.js +25 -25
  244. package/TestAnnotations/dist/effect-TestAnnotations.cjs.prod.js +25 -25
  245. package/TestClock/dist/effect-TestClock.cjs.dev.js +46 -46
  246. package/TestClock/dist/effect-TestClock.cjs.prod.js +46 -46
  247. package/TestConfig/dist/effect-TestConfig.cjs.dev.js +3 -8
  248. package/TestConfig/dist/effect-TestConfig.cjs.prod.js +3 -8
  249. package/TestContext/dist/effect-TestContext.cjs.dev.js +37 -37
  250. package/TestContext/dist/effect-TestContext.cjs.prod.js +37 -37
  251. package/TestLive/dist/effect-TestLive.cjs.dev.js +17 -17
  252. package/TestLive/dist/effect-TestLive.cjs.prod.js +17 -17
  253. package/TestServices/dist/effect-TestServices.cjs.dev.js +42 -42
  254. package/TestServices/dist/effect-TestServices.cjs.prod.js +42 -42
  255. package/TestSized/dist/effect-TestSized.cjs.dev.js +11 -11
  256. package/TestSized/dist/effect-TestSized.cjs.prod.js +11 -11
  257. package/Tracer/dist/effect-Tracer.cjs.dev.js +16 -16
  258. package/Tracer/dist/effect-Tracer.cjs.prod.js +16 -16
  259. package/dist/{Context-01a123ac.cjs.prod.js → Context-9fe5eb16.cjs.prod.js} +5 -5
  260. package/dist/{Context-593661f6.cjs.dev.js → Context-da73ddfa.cjs.dev.js} +5 -5
  261. package/dist/{Effectable-2f022879.cjs.dev.js → Effectable-7314aed8.cjs.dev.js} +63 -10
  262. package/dist/{Effectable-cd8f3a96.cjs.prod.js → Effectable-c4c14a2b.cjs.prod.js} +63 -10
  263. package/dist/{Either-7a881c7a.cjs.prod.js → Either-d43f082c.cjs.prod.js} +6 -79
  264. package/dist/{Either-12bbe00c.cjs.dev.js → Either-fa0ef1d9.cjs.dev.js} +6 -79
  265. package/dist/{ExecutionStrategy-14d3053a.cjs.prod.js → ExecutionStrategy-4808fe5d.cjs.prod.js} +2 -2
  266. package/dist/{ExecutionStrategy-70f1a920.cjs.dev.js → ExecutionStrategy-7d9d457b.cjs.dev.js} +2 -2
  267. package/dist/{HashSet-0b4ff1e4.cjs.dev.js → HashSet-5963ad6b.cjs.dev.js} +32 -32
  268. package/dist/{HashSet-6257b66d.cjs.prod.js → HashSet-ac02a3e1.cjs.prod.js} +32 -32
  269. package/dist/Option-463b42e6.cjs.dev.js +81 -0
  270. package/dist/Option-935e5d7c.cjs.prod.js +81 -0
  271. package/dist/{Ref-a3a4e50d.cjs.prod.js → Ref-4014b526.cjs.prod.js} +1 -1
  272. package/dist/{Ref-74b592a4.cjs.dev.js → Ref-acdee7ef.cjs.dev.js} +1 -1
  273. package/dist/{cache-75fbef45.cjs.prod.js → cache-5c7d77e4.cjs.prod.js} +17 -17
  274. package/dist/{cache-e1ea3923.cjs.dev.js → cache-7eed9d33.cjs.dev.js} +17 -17
  275. package/dist/{circular-6f16b226.cjs.prod.js → circular-1f481ffb.cjs.prod.js} +33 -33
  276. package/dist/{circular-f406f9a4.cjs.prod.js → circular-9e10a5a7.cjs.prod.js} +6 -6
  277. package/dist/{circular-58ff5e9c.cjs.dev.js → circular-c2dbce1a.cjs.dev.js} +33 -33
  278. package/dist/{circular-30564534.cjs.dev.js → circular-c8b65bdb.cjs.dev.js} +6 -6
  279. package/dist/{config-80900693.cjs.dev.js → config-3b7935a3.cjs.dev.js} +3 -3
  280. package/dist/{config-d0ddc159.cjs.prod.js → config-5ba54da1.cjs.prod.js} +3 -3
  281. package/dist/{configProvider-93617d6d.cjs.prod.js → configProvider-b6b20998.cjs.prod.js} +29 -29
  282. package/dist/{configProvider-ce43fdbf.cjs.dev.js → configProvider-f34a82f1.cjs.dev.js} +29 -29
  283. package/dist/{core-0b0539de.cjs.prod.js → core-07202cc0.cjs.prod.js} +711 -726
  284. package/dist/{core-60ca562a.cjs.prod.js → core-7411d1e1.cjs.prod.js} +3 -3
  285. package/dist/{core-b4d7b4f5.cjs.dev.js → core-b7401357.cjs.dev.js} +711 -726
  286. package/dist/{core-13f8a866.cjs.dev.js → core-c5747f88.cjs.dev.js} +3 -3
  287. package/dist/{core-effect-892f3686.cjs.dev.js → core-effect-1c564d42.cjs.dev.js} +77 -75
  288. package/dist/{core-effect-c65770cd.cjs.prod.js → core-effect-9201ea63.cjs.prod.js} +77 -75
  289. package/dist/{dataSource-3ba9e4d3.cjs.dev.js → dataSource-b5eda714.cjs.dev.js} +2 -2
  290. package/dist/{dataSource-7df3a5f6.cjs.prod.js → dataSource-b83bc277.cjs.prod.js} +2 -2
  291. package/dist/declarations/src/Bigint.d.ts +92 -1
  292. package/dist/declarations/src/Bigint.d.ts.map +1 -1
  293. package/dist/declarations/src/Boolean.d.ts +1 -1
  294. package/dist/declarations/src/Cause.d.ts +6 -6
  295. package/dist/declarations/src/Cause.d.ts.map +1 -1
  296. package/dist/declarations/src/Channel.d.ts +7 -7
  297. package/dist/declarations/src/Channel.d.ts.map +1 -1
  298. package/dist/declarations/src/Data.d.ts +30 -0
  299. package/dist/declarations/src/Data.d.ts.map +1 -1
  300. package/dist/declarations/src/Effect.d.ts +4 -2
  301. package/dist/declarations/src/Effect.d.ts.map +1 -1
  302. package/dist/declarations/src/Effectable.d.ts +14 -4
  303. package/dist/declarations/src/Effectable.d.ts.map +1 -1
  304. package/dist/declarations/src/Metric.d.ts +31 -7
  305. package/dist/declarations/src/Metric.d.ts.map +1 -1
  306. package/dist/declarations/src/MetricHook.d.ts +7 -4
  307. package/dist/declarations/src/MetricHook.d.ts.map +1 -1
  308. package/dist/declarations/src/MetricKey.d.ts +24 -4
  309. package/dist/declarations/src/MetricKey.d.ts.map +1 -1
  310. package/dist/declarations/src/MetricKeyType.d.ts +9 -6
  311. package/dist/declarations/src/MetricKeyType.d.ts.map +1 -1
  312. package/dist/declarations/src/MetricRegistry.d.ts +2 -2
  313. package/dist/declarations/src/MetricRegistry.d.ts.map +1 -1
  314. package/dist/declarations/src/MetricState.d.ts +15 -9
  315. package/dist/declarations/src/MetricState.d.ts.map +1 -1
  316. package/dist/declarations/src/Number.d.ts +1 -1
  317. package/dist/declarations/src/{Hub.d.ts → PubSub.d.ts} +38 -38
  318. package/dist/declarations/src/PubSub.d.ts.map +1 -0
  319. package/dist/declarations/src/Sink.d.ts +4 -4
  320. package/dist/declarations/src/Sink.d.ts.map +1 -1
  321. package/dist/declarations/src/Stream.d.ts +24 -24
  322. package/dist/declarations/src/Stream.d.ts.map +1 -1
  323. package/dist/declarations/src/Streamable.d.ts +27 -0
  324. package/dist/declarations/src/Streamable.d.ts.map +1 -0
  325. package/dist/declarations/src/String.d.ts +1 -1
  326. package/dist/declarations/src/SubscriptionRef.d.ts.map +1 -1
  327. package/dist/declarations/src/TPubSub.d.ts +146 -0
  328. package/dist/declarations/src/TPubSub.d.ts.map +1 -0
  329. package/dist/declarations/src/index.d.ts +15 -15
  330. package/dist/declarations/src/index.d.ts.map +1 -1
  331. package/dist/{defaultServices-5530ff0e.cjs.dev.js → defaultServices-755d5b46.cjs.dev.js} +6 -6
  332. package/dist/{defaultServices-086b8ac9.cjs.prod.js → defaultServices-9d7ce86f.cjs.prod.js} +6 -6
  333. package/dist/effect.cjs.dev.js +9 -9
  334. package/dist/effect.cjs.mjs +3 -3
  335. package/dist/effect.cjs.prod.js +9 -9
  336. package/dist/effect.esm.js +6 -6
  337. package/dist/{fiber-1bfb4c1d.cjs.dev.js → fiber-5156eff2.cjs.dev.js} +12 -12
  338. package/dist/{fiber-2eb0a4c1.cjs.prod.js → fiber-9519d109.cjs.prod.js} +12 -12
  339. package/dist/{fiberRefs-be6b6a70.cjs.prod.js → fiberRefs-558c17e6.cjs.prod.js} +1 -1
  340. package/dist/{fiberRefs-be4fae6a.cjs.dev.js → fiberRefs-98b71233.cjs.dev.js} +1 -1
  341. package/dist/{fiberRuntime-2d31e120.cjs.prod.js → fiberRuntime-31ae011f.cjs.prod.js} +99 -100
  342. package/dist/{fiberRuntime-c7280769.cjs.dev.js → fiberRuntime-d3872282.cjs.dev.js} +99 -100
  343. package/dist/{groupBy-0702739b.cjs.prod.js → groupBy-724f64ef.cjs.prod.js} +4 -4
  344. package/dist/{groupBy-7f852bf3.cjs.dev.js → groupBy-862cc2da.cjs.dev.js} +4 -4
  345. package/dist/{hook-e72b20fd.cjs.dev.js → hook-8cefc909.cjs.dev.js} +8 -4
  346. package/dist/{hook-470b717e.cjs.prod.js → hook-98ce30e4.cjs.prod.js} +8 -4
  347. package/dist/{key-f0a1408a.cjs.dev.js → key-198b6670.cjs.dev.js} +3 -3
  348. package/dist/{key-378a6a2c.cjs.prod.js → key-eb8a12b2.cjs.prod.js} +3 -3
  349. package/dist/{keyType-cf67c69c.cjs.prod.js → keyType-0c5e6178.cjs.prod.js} +9 -2
  350. package/dist/{keyType-55f27f07.cjs.dev.js → keyType-7c164b82.cjs.dev.js} +9 -2
  351. package/dist/{layer-b42e8022.cjs.dev.js → layer-29574350.cjs.dev.js} +33 -33
  352. package/dist/{layer-d103b49b.cjs.prod.js → layer-51ff4846.cjs.prod.js} +33 -33
  353. package/dist/{patch-a1b2802f.cjs.dev.js → patch-0220a642.cjs.dev.js} +1 -1
  354. package/dist/{patch-c4d6c61e.cjs.prod.js → patch-7c559bb2.cjs.prod.js} +1 -1
  355. package/dist/{pathPatch-15c8d723.cjs.prod.js → pathPatch-b56a4da2.cjs.prod.js} +1 -1
  356. package/dist/{pathPatch-d9d41297.cjs.dev.js → pathPatch-fab016f1.cjs.dev.js} +1 -1
  357. package/dist/{pool-ef44ba82.cjs.dev.js → pool-3211287f.cjs.dev.js} +31 -31
  358. package/dist/{pool-e414eb88.cjs.prod.js → pool-f77d7705.cjs.prod.js} +31 -31
  359. package/dist/{query-1d0157db.cjs.prod.js → query-a52b25f0.cjs.prod.js} +11 -11
  360. package/dist/{query-54337864.cjs.dev.js → query-c36decd5.cjs.dev.js} +11 -11
  361. package/dist/{queue-27ac9d98.cjs.prod.js → queue-315ea45d.cjs.prod.js} +22 -22
  362. package/dist/{queue-533d70d4.cjs.dev.js → queue-7a223c44.cjs.dev.js} +22 -22
  363. package/dist/{registry-1099de3f.cjs.dev.js → registry-62ff192e.cjs.dev.js} +4 -4
  364. package/dist/{registry-013ecdde.cjs.prod.js → registry-d5258dff.cjs.prod.js} +4 -4
  365. package/dist/{runtime-ea174155.cjs.prod.js → runtime-005f8a9b.cjs.prod.js} +7 -7
  366. package/dist/{runtime-afad6a9b.cjs.dev.js → runtime-57c8ddf8.cjs.dev.js} +7 -7
  367. package/dist/{schedule-1d92198c.cjs.prod.js → schedule-8cdf6bf1.cjs.prod.js} +40 -40
  368. package/dist/{schedule-e0f55cab.cjs.dev.js → schedule-e7a9f93f.cjs.dev.js} +40 -40
  369. package/dist/scopedRef-789d7fef.cjs.prod.js +55 -0
  370. package/dist/scopedRef-eb19c7a6.cjs.dev.js +55 -0
  371. package/dist/{singleProducerAsyncInput-4105a342.cjs.dev.js → singleProducerAsyncInput-9ff8389b.cjs.dev.js} +1 -1
  372. package/dist/{singleProducerAsyncInput-21463e16.cjs.prod.js → singleProducerAsyncInput-f9b258b1.cjs.prod.js} +1 -1
  373. package/dist/{sink-9129504b.cjs.prod.js → sink-572d8981.cjs.prod.js} +17 -17
  374. package/dist/{sink-ee393b63.cjs.dev.js → sink-8d3427e7.cjs.dev.js} +17 -17
  375. package/dist/{state-dd1bd066.cjs.prod.js → state-0bdf02b7.cjs.prod.js} +2 -6
  376. package/dist/{state-8fbec044.cjs.dev.js → state-931050c4.cjs.dev.js} +2 -6
  377. package/dist/{stm-537da66b.cjs.dev.js → stm-8aca0022.cjs.dev.js} +3 -3
  378. package/dist/{stm-5043c3cb.cjs.prod.js → stm-f250b596.cjs.prod.js} +3 -3
  379. package/dist/{stream-c7eda5bc.cjs.dev.js → stream-34d80d2c.cjs.dev.js} +31 -28
  380. package/dist/{stream-13637643.cjs.prod.js → stream-ea4f4d44.cjs.prod.js} +31 -28
  381. package/dist/{synchronizedRef-37e32854.cjs.dev.js → synchronizedRef-a12fd967.cjs.dev.js} +6 -6
  382. package/dist/{synchronizedRef-b4cde4de.cjs.prod.js → synchronizedRef-ed8aa6ac.cjs.prod.js} +6 -6
  383. package/dist/{tArray-df1bae1c.cjs.dev.js → tArray-17f078f2.cjs.dev.js} +3 -3
  384. package/dist/{tArray-d5476a2d.cjs.prod.js → tArray-d184e22f.cjs.prod.js} +3 -3
  385. package/dist/{tMap-a3e14c05.cjs.dev.js → tMap-1a5aa78b.cjs.dev.js} +4 -4
  386. package/dist/{tMap-20ef43ea.cjs.prod.js → tMap-e219f30e.cjs.prod.js} +4 -4
  387. package/dist/{tQueue-bd3cf539.cjs.dev.js → tQueue-0a4fc773.cjs.dev.js} +3 -3
  388. package/dist/{tQueue-c02c22bd.cjs.prod.js → tQueue-47129ad0.cjs.prod.js} +3 -3
  389. package/dist/{tRef-49e44dde.cjs.prod.js → tRef-ab4c5713.cjs.prod.js} +1 -1
  390. package/dist/{tRef-75dd04b3.cjs.dev.js → tRef-b860ef05.cjs.dev.js} +1 -1
  391. package/internal/Context.esm.js +4 -4
  392. package/internal/Data.esm.js +4 -1
  393. package/internal/Differ/ChunkPatch.esm.js +1 -1
  394. package/internal/Differ/ContextPatch.esm.js +1 -1
  395. package/internal/Differ/HashMapPatch.esm.js +1 -1
  396. package/internal/Differ/HashSetPatch.esm.js +1 -1
  397. package/internal/Differ/OrPatch.esm.js +1 -1
  398. package/internal/Effectable.esm.js +9 -9
  399. package/internal/Either.esm.js +3 -3
  400. package/internal/Option.esm.js +3 -3
  401. package/internal/cache.esm.js +1 -1
  402. package/internal/cause.esm.js +6 -21
  403. package/internal/channel.esm.js +5 -5
  404. package/internal/core-effect.esm.js +6 -4
  405. package/internal/fiberRuntime.esm.js +3 -3
  406. package/internal/layer.esm.js +1 -1
  407. package/internal/metric/hook.esm.js +7 -3
  408. package/internal/metric/key.esm.js +2 -2
  409. package/internal/metric/keyType.esm.js +9 -2
  410. package/internal/metric/registry.esm.js +2 -2
  411. package/internal/metric/state.esm.js +2 -6
  412. package/internal/metric.esm.js +3 -3
  413. package/internal/{hub.esm.js → pubsub.esm.js} +108 -108
  414. package/internal/request.esm.js +1 -1
  415. package/internal/sink.esm.js +8 -8
  416. package/internal/stm/{tHub.esm.js → tPubSub.esm.js} +30 -30
  417. package/internal/stream.esm.js +23 -20
  418. package/internal/subscriptionRef.esm.js +8 -8
  419. package/package.json +66 -211
  420. package/src/.index.ts +30 -0
  421. package/src/Bigint.ts +497 -0
  422. package/src/Boolean.ts +261 -0
  423. package/src/Brand.ts +336 -0
  424. package/src/Cache.ts +250 -0
  425. package/src/Cause.ts +813 -0
  426. package/src/Channel.ts +2244 -0
  427. package/src/ChannelChildExecutorDecision.ts +138 -0
  428. package/src/ChannelMergeDecision.ts +94 -0
  429. package/src/ChannelMergeState.ts +166 -0
  430. package/src/ChannelMergeStrategy.ts +107 -0
  431. package/src/ChannelSingleProducerAsyncInput.ts +68 -0
  432. package/src/ChannelUpstreamPullRequest.ts +110 -0
  433. package/src/ChannelUpstreamPullStrategy.ts +120 -0
  434. package/src/Chunk.ts +1314 -0
  435. package/src/Clock.ts +111 -0
  436. package/src/Config.ts +447 -0
  437. package/src/ConfigError.ts +267 -0
  438. package/src/ConfigProvider.ts +296 -0
  439. package/src/ConfigProviderPathPatch.ts +100 -0
  440. package/src/ConfigSecret.ts +76 -0
  441. package/src/Console.ts +222 -0
  442. package/src/Context.ts +365 -0
  443. package/src/Data.ts +367 -0
  444. package/src/DefaultServices.ts +34 -0
  445. package/src/Deferred.ts +283 -0
  446. package/src/Differ.ts +406 -0
  447. package/src/Duration.ts +558 -0
  448. package/src/Effect.ts +5177 -0
  449. package/src/Effectable.ts +107 -0
  450. package/src/Either.ts +593 -0
  451. package/src/Encoding.ts +130 -0
  452. package/src/Equal.ts +64 -0
  453. package/src/Equivalence.ts +235 -0
  454. package/src/ExecutionStrategy.ts +111 -0
  455. package/src/Exit.ts +464 -0
  456. package/src/Fiber.ts +650 -0
  457. package/src/FiberId.ts +187 -0
  458. package/src/FiberRef.ts +399 -0
  459. package/src/FiberRefs.ts +160 -0
  460. package/src/FiberRefsPatch.ts +105 -0
  461. package/src/FiberStatus.ts +108 -0
  462. package/src/Function.ts +834 -0
  463. package/src/GlobalValue.ts +20 -0
  464. package/src/GroupBy.ts +102 -0
  465. package/src/HKT.ts +44 -0
  466. package/src/Hash.ts +162 -0
  467. package/src/HashMap.ts +373 -0
  468. package/src/HashSet.ts +300 -0
  469. package/src/Inspectable.ts +45 -0
  470. package/src/KeyedPool.ts +160 -0
  471. package/src/Layer.ts +866 -0
  472. package/src/List.ts +942 -0
  473. package/src/LogLevel.ts +266 -0
  474. package/src/LogSpan.ts +25 -0
  475. package/src/Logger.ts +321 -0
  476. package/src/Metric.ts +657 -0
  477. package/src/MetricBoundaries.ts +70 -0
  478. package/src/MetricHook.ts +139 -0
  479. package/src/MetricKey.ts +227 -0
  480. package/src/MetricKeyType.ts +257 -0
  481. package/src/MetricLabel.ts +47 -0
  482. package/src/MetricPair.ts +70 -0
  483. package/src/MetricPolling.ts +136 -0
  484. package/src/MetricRegistry.ts +47 -0
  485. package/src/MetricState.ts +256 -0
  486. package/src/MutableHashMap.ts +187 -0
  487. package/src/MutableHashSet.ts +118 -0
  488. package/src/MutableList.ts +289 -0
  489. package/src/MutableQueue.ts +227 -0
  490. package/src/MutableRef.ts +204 -0
  491. package/src/NonEmptyIterable.ts +30 -0
  492. package/src/Number.ts +406 -0
  493. package/src/Option.ts +1307 -0
  494. package/src/Order.ts +328 -0
  495. package/src/Ordering.ts +112 -0
  496. package/src/Pipeable.ts +318 -0
  497. package/src/Pool.ts +148 -0
  498. package/src/Predicate.ts +704 -0
  499. package/src/PubSub.ts +175 -0
  500. package/src/Queue.ts +575 -0
  501. package/src/Random.ts +115 -0
  502. package/src/ReadonlyArray.ts +2017 -0
  503. package/src/ReadonlyRecord.ts +641 -0
  504. package/src/RedBlackTree.ts +415 -0
  505. package/src/Ref.ts +159 -0
  506. package/src/Reloadable.ts +136 -0
  507. package/src/Request.ts +285 -0
  508. package/src/RequestBlock.ts +157 -0
  509. package/src/RequestResolver.ts +305 -0
  510. package/src/Resource.ts +97 -0
  511. package/src/Runtime.ts +216 -0
  512. package/src/RuntimeFlags.ts +336 -0
  513. package/src/RuntimeFlagsPatch.ts +183 -0
  514. package/src/STM.ts +2076 -0
  515. package/src/Schedule.ts +1396 -0
  516. package/src/ScheduleDecision.ts +62 -0
  517. package/src/ScheduleInterval.ts +151 -0
  518. package/src/ScheduleIntervals.ts +122 -0
  519. package/src/Scheduler.ts +359 -0
  520. package/src/Scope.ts +171 -0
  521. package/src/ScopedCache.ts +148 -0
  522. package/src/ScopedRef.ts +95 -0
  523. package/src/Sink.ts +1431 -0
  524. package/src/SortedMap.ts +229 -0
  525. package/src/SortedSet.ts +385 -0
  526. package/src/Stream.ts +4540 -0
  527. package/src/StreamEmit.ts +83 -0
  528. package/src/StreamHaltStrategy.ts +111 -0
  529. package/src/Streamable.ts +42 -0
  530. package/src/String.ts +682 -0
  531. package/src/Struct.ts +151 -0
  532. package/src/SubscriptionRef.ts +273 -0
  533. package/src/Supervisor.ts +239 -0
  534. package/src/Symbol.ts +28 -0
  535. package/src/SynchronizedRef.ts +249 -0
  536. package/src/TArray.ts +494 -0
  537. package/src/TDeferred.ts +99 -0
  538. package/src/TMap.ts +510 -0
  539. package/src/TPriorityQueue.ts +223 -0
  540. package/src/TPubSub.ts +187 -0
  541. package/src/TQueue.ts +431 -0
  542. package/src/TRandom.ts +129 -0
  543. package/src/TReentrantLock.ts +224 -0
  544. package/src/TRef.ts +176 -0
  545. package/src/TSemaphore.ts +129 -0
  546. package/src/TSet.ts +349 -0
  547. package/src/Take.ts +257 -0
  548. package/src/TestAnnotation.ts +166 -0
  549. package/src/TestAnnotationMap.ts +124 -0
  550. package/src/TestAnnotations.ts +113 -0
  551. package/src/TestClock.ts +552 -0
  552. package/src/TestConfig.ts +49 -0
  553. package/src/TestContext.ts +35 -0
  554. package/src/TestLive.ts +55 -0
  555. package/src/TestServices.ts +392 -0
  556. package/src/TestSized.ts +55 -0
  557. package/src/Tracer.ts +119 -0
  558. package/src/Tuple.ts +204 -0
  559. package/src/Types.ts +123 -0
  560. package/src/Unify.ts +118 -0
  561. package/src/Utils.ts +699 -0
  562. package/src/index.ts +840 -0
  563. package/src/internal/Common.ts +56 -0
  564. package/src/internal/Context.ts +252 -0
  565. package/src/internal/Data.ts +55 -0
  566. package/src/internal/Differ/ChunkPatch.ts +209 -0
  567. package/src/internal/Differ/ContextPatch.ts +229 -0
  568. package/src/internal/Differ/HashMapPatch.ts +217 -0
  569. package/src/internal/Differ/HashSetPatch.ts +174 -0
  570. package/src/internal/Differ/OrPatch.ts +296 -0
  571. package/src/internal/Differ.ts +184 -0
  572. package/src/internal/Effectable.ts +92 -0
  573. package/src/internal/Either.ts +107 -0
  574. package/src/internal/Encoding/Base64.ts +282 -0
  575. package/src/internal/Encoding/Base64Url.ts +28 -0
  576. package/src/internal/Encoding/Common.ts +24 -0
  577. package/src/internal/Encoding/Hex.ts +315 -0
  578. package/src/internal/HashMap/array.ts +49 -0
  579. package/src/internal/HashMap/bitwise.ts +32 -0
  580. package/src/internal/HashMap/config.ts +14 -0
  581. package/src/internal/HashMap/keySet.ts +8 -0
  582. package/src/internal/HashMap/node.ts +390 -0
  583. package/src/internal/HashMap.ts +533 -0
  584. package/src/internal/HashSet.ts +319 -0
  585. package/src/internal/Iterable.ts +54 -0
  586. package/src/internal/Option.ts +79 -0
  587. package/src/internal/ReadonlyArray.ts +8 -0
  588. package/src/internal/RedBlackTree/iterator.ts +207 -0
  589. package/src/internal/RedBlackTree/node.ts +48 -0
  590. package/src/internal/RedBlackTree.ts +1195 -0
  591. package/src/internal/Stack.ts +4 -0
  592. package/src/internal/blockedRequests.ts +512 -0
  593. package/src/internal/cache.ts +714 -0
  594. package/src/internal/cause.ts +1205 -0
  595. package/src/internal/channel/channelExecutor.ts +1193 -0
  596. package/src/internal/channel/channelState.ts +132 -0
  597. package/src/internal/channel/childExecutorDecision.ts +95 -0
  598. package/src/internal/channel/continuation.ts +171 -0
  599. package/src/internal/channel/mergeDecision.ts +115 -0
  600. package/src/internal/channel/mergeState.ts +120 -0
  601. package/src/internal/channel/mergeStrategy.ts +72 -0
  602. package/src/internal/channel/singleProducerAsyncInput.ts +261 -0
  603. package/src/internal/channel/subexecutor.ts +229 -0
  604. package/src/internal/channel/upstreamPullRequest.ts +83 -0
  605. package/src/internal/channel/upstreamPullStrategy.ts +86 -0
  606. package/src/internal/channel.ts +2516 -0
  607. package/src/internal/clock.ts +97 -0
  608. package/src/internal/completedRequestMap.ts +9 -0
  609. package/src/internal/concurrency.ts +83 -0
  610. package/src/internal/config.ts +598 -0
  611. package/src/internal/configError.ts +291 -0
  612. package/src/internal/configProvider/pathPatch.ts +97 -0
  613. package/src/internal/configProvider.ts +692 -0
  614. package/src/internal/configSecret.ts +71 -0
  615. package/src/internal/console.ts +136 -0
  616. package/src/internal/core-effect.ts +2146 -0
  617. package/src/internal/core-stream.ts +999 -0
  618. package/src/internal/core.ts +2765 -0
  619. package/src/internal/dataSource.ts +258 -0
  620. package/src/internal/defaultServices/console.ts +97 -0
  621. package/src/internal/defaultServices.ts +140 -0
  622. package/src/internal/deferred.ts +44 -0
  623. package/src/internal/effect/circular.ts +664 -0
  624. package/src/internal/executionStrategy.ts +72 -0
  625. package/src/internal/fiber.ts +350 -0
  626. package/src/internal/fiberId.ts +270 -0
  627. package/src/internal/fiberMessage.ts +85 -0
  628. package/src/internal/fiberRefs/patch.ts +144 -0
  629. package/src/internal/fiberRefs.ts +239 -0
  630. package/src/internal/fiberRuntime.ts +3477 -0
  631. package/src/internal/fiberScope.ts +72 -0
  632. package/src/internal/fiberStatus.ts +118 -0
  633. package/src/internal/groupBy.ts +516 -0
  634. package/src/internal/keyedPool.ts +240 -0
  635. package/src/internal/layer/circular.ts +203 -0
  636. package/src/internal/layer.ts +1230 -0
  637. package/src/internal/logSpan.ts +15 -0
  638. package/src/internal/logger-circular.ts +24 -0
  639. package/src/internal/logger.ts +307 -0
  640. package/src/internal/metric/boundaries.ts +72 -0
  641. package/src/internal/metric/hook.ts +459 -0
  642. package/src/internal/metric/key.ts +173 -0
  643. package/src/internal/metric/keyType.ts +263 -0
  644. package/src/internal/metric/label.ts +44 -0
  645. package/src/internal/metric/pair.ts +48 -0
  646. package/src/internal/metric/polling.ts +143 -0
  647. package/src/internal/metric/registry.ts +188 -0
  648. package/src/internal/metric/state.ts +286 -0
  649. package/src/internal/metric.ts +522 -0
  650. package/src/internal/opCodes/cause.ts +35 -0
  651. package/src/internal/opCodes/channel.ts +83 -0
  652. package/src/internal/opCodes/channelChildExecutorDecision.ts +17 -0
  653. package/src/internal/opCodes/channelMergeDecision.ts +11 -0
  654. package/src/internal/opCodes/channelMergeState.ts +17 -0
  655. package/src/internal/opCodes/channelMergeStrategy.ts +11 -0
  656. package/src/internal/opCodes/channelState.ts +23 -0
  657. package/src/internal/opCodes/channelUpstreamPullRequest.ts +11 -0
  658. package/src/internal/opCodes/channelUpstreamPullStrategy.ts +11 -0
  659. package/src/internal/opCodes/config.ts +65 -0
  660. package/src/internal/opCodes/configError.ts +35 -0
  661. package/src/internal/opCodes/continuation.ts +11 -0
  662. package/src/internal/opCodes/deferred.ts +11 -0
  663. package/src/internal/opCodes/effect.ts +83 -0
  664. package/src/internal/opCodes/layer.ts +53 -0
  665. package/src/internal/opCodes/streamHaltStrategy.ts +23 -0
  666. package/src/internal/pool.ts +499 -0
  667. package/src/internal/pubsub.ts +1557 -0
  668. package/src/internal/query.ts +199 -0
  669. package/src/internal/queue.ts +729 -0
  670. package/src/internal/random.ts +88 -0
  671. package/src/internal/ref.ts +164 -0
  672. package/src/internal/reloadable.ts +164 -0
  673. package/src/internal/request.ts +137 -0
  674. package/src/internal/resource.ts +64 -0
  675. package/src/internal/ringBuffer.ts +68 -0
  676. package/src/internal/runtime.ts +348 -0
  677. package/src/internal/runtimeFlags.ts +176 -0
  678. package/src/internal/runtimeFlagsPatch.ts +103 -0
  679. package/src/internal/schedule/decision.ts +47 -0
  680. package/src/internal/schedule/interval.ts +101 -0
  681. package/src/internal/schedule/intervals.ts +179 -0
  682. package/src/internal/schedule.ts +2096 -0
  683. package/src/internal/scopedCache.ts +634 -0
  684. package/src/internal/scopedRef.ts +133 -0
  685. package/src/internal/singleShotGen.ts +35 -0
  686. package/src/internal/sink.ts +2118 -0
  687. package/src/internal/stm/core.ts +804 -0
  688. package/src/internal/stm/opCodes/stm.ts +71 -0
  689. package/src/internal/stm/opCodes/stmState.ts +17 -0
  690. package/src/internal/stm/opCodes/strategy.ts +17 -0
  691. package/src/internal/stm/opCodes/tExit.ts +29 -0
  692. package/src/internal/stm/opCodes/tryCommit.ts +11 -0
  693. package/src/internal/stm/stm/entry.ts +59 -0
  694. package/src/internal/stm/stm/journal.ts +123 -0
  695. package/src/internal/stm/stm/opCodes/stm.ts +71 -0
  696. package/src/internal/stm/stm/opCodes/stmState.ts +17 -0
  697. package/src/internal/stm/stm/opCodes/strategy.ts +17 -0
  698. package/src/internal/stm/stm/opCodes/tExit.ts +29 -0
  699. package/src/internal/stm/stm/opCodes/tryCommit.ts +11 -0
  700. package/src/internal/stm/stm/stmState.ts +130 -0
  701. package/src/internal/stm/stm/tExit.ts +180 -0
  702. package/src/internal/stm/stm/tryCommit.ts +34 -0
  703. package/src/internal/stm/stm/txnId.ts +14 -0
  704. package/src/internal/stm/stm/versioned.ts +4 -0
  705. package/src/internal/stm/stm.ts +1491 -0
  706. package/src/internal/stm/tArray.ts +550 -0
  707. package/src/internal/stm/tDeferred.ts +79 -0
  708. package/src/internal/stm/tMap.ts +824 -0
  709. package/src/internal/stm/tPriorityQueue.ts +259 -0
  710. package/src/internal/stm/tPubSub.ts +542 -0
  711. package/src/internal/stm/tQueue.ts +400 -0
  712. package/src/internal/stm/tRandom.ts +140 -0
  713. package/src/internal/stm/tReentrantLock.ts +352 -0
  714. package/src/internal/stm/tRef.ts +190 -0
  715. package/src/internal/stm/tSemaphore.ts +113 -0
  716. package/src/internal/stm/tSet.ts +237 -0
  717. package/src/internal/stream/debounceState.ts +57 -0
  718. package/src/internal/stream/emit.ts +46 -0
  719. package/src/internal/stream/haltStrategy.ts +85 -0
  720. package/src/internal/stream/handoff.ts +185 -0
  721. package/src/internal/stream/handoffSignal.ts +59 -0
  722. package/src/internal/stream/pull.ts +35 -0
  723. package/src/internal/stream/sinkEndReason.ts +30 -0
  724. package/src/internal/stream/zipAllState.ts +88 -0
  725. package/src/internal/stream/zipChunksState.ts +56 -0
  726. package/src/internal/stream.ts +8089 -0
  727. package/src/internal/string-utils.ts +107 -0
  728. package/src/internal/subscriptionRef.ts +133 -0
  729. package/src/internal/supervisor/patch.ts +190 -0
  730. package/src/internal/supervisor.ts +301 -0
  731. package/src/internal/synchronizedRef.ts +115 -0
  732. package/src/internal/take.ts +198 -0
  733. package/src/internal/testing/sleep.ts +27 -0
  734. package/src/internal/testing/suspendedWarningData.ts +85 -0
  735. package/src/internal/testing/warningData.ts +94 -0
  736. package/src/internal/timeout.ts +23 -0
  737. package/src/internal/tracer.ts +74 -0
  738. package/Error/dist/effect-Error.cjs.d.mts +0 -2
  739. package/Error/dist/effect-Error.cjs.d.mts.map +0 -1
  740. package/Error/dist/effect-Error.cjs.d.ts +0 -2
  741. package/Error/dist/effect-Error.cjs.d.ts.map +0 -1
  742. package/Error/dist/effect-Error.cjs.dev.js +0 -140
  743. package/Error/dist/effect-Error.cjs.js +0 -7
  744. package/Error/dist/effect-Error.cjs.mjs +0 -4
  745. package/Error/dist/effect-Error.cjs.prod.js +0 -140
  746. package/Error/dist/effect-Error.esm.js +0 -47
  747. package/Error/package.json +0 -4
  748. package/Hub/dist/effect-Hub.cjs.d.mts +0 -2
  749. package/Hub/dist/effect-Hub.cjs.d.mts.map +0 -1
  750. package/Hub/dist/effect-Hub.cjs.d.ts +0 -2
  751. package/Hub/dist/effect-Hub.cjs.d.ts.map +0 -1
  752. package/Hub/dist/effect-Hub.cjs.js +0 -7
  753. package/Hub/package.json +0 -4
  754. package/THub/dist/effect-THub.cjs.d.mts +0 -2
  755. package/THub/dist/effect-THub.cjs.d.mts.map +0 -1
  756. package/THub/dist/effect-THub.cjs.d.ts +0 -2
  757. package/THub/dist/effect-THub.cjs.d.ts.map +0 -1
  758. package/THub/dist/effect-THub.cjs.js +0 -7
  759. package/THub/dist/effect-THub.esm.js +0 -157
  760. package/THub/package.json +0 -4
  761. package/dist/declarations/src/Error.d.ts +0 -37
  762. package/dist/declarations/src/Error.d.ts.map +0 -1
  763. package/dist/declarations/src/Hub.d.ts.map +0 -1
  764. package/dist/declarations/src/THub.d.ts +0 -146
  765. package/dist/declarations/src/THub.d.ts.map +0 -1
  766. package/dist/scopedRef-1c2c9acf.cjs.prod.js +0 -55
  767. package/dist/scopedRef-ab4c58b0.cjs.dev.js +0 -55
  768. /package/dist/{FiberId-e594f6e8.cjs.prod.js → FiberId-1d7ac632.cjs.prod.js} +0 -0
  769. /package/dist/{FiberId-557db880.cjs.dev.js → FiberId-d88ddce6.cjs.dev.js} +0 -0
  770. /package/dist/{RuntimeFlagsPatch-ea268c50.cjs.dev.js → RuntimeFlagsPatch-69102b03.cjs.dev.js} +0 -0
  771. /package/dist/{RuntimeFlagsPatch-e2769b87.cjs.prod.js → RuntimeFlagsPatch-866fa259.cjs.prod.js} +0 -0
  772. /package/dist/{boundaries-20cfad9d.cjs.prod.js → boundaries-9af538e3.cjs.prod.js} +0 -0
  773. /package/dist/{boundaries-3810d885.cjs.dev.js → boundaries-f212e414.cjs.dev.js} +0 -0
  774. /package/dist/{configError-33e55472.cjs.prod.js → configError-b43723af.cjs.prod.js} +0 -0
  775. /package/dist/{configError-240e9b61.cjs.dev.js → configError-d5efe9c0.cjs.dev.js} +0 -0
  776. /package/dist/{configSecret-e34c1b14.cjs.dev.js → configSecret-3e8ae336.cjs.dev.js} +0 -0
  777. /package/dist/{configSecret-d1caca55.cjs.prod.js → configSecret-e2faa181.cjs.prod.js} +0 -0
  778. /package/dist/{take-2af6e92a.cjs.prod.js → take-85daaf79.cjs.prod.js} +0 -0
  779. /package/dist/{take-df9480a8.cjs.dev.js → take-f9ef9e2e.cjs.dev.js} +0 -0
@@ -5,7 +5,7 @@ var Context_dist_effectContext = require('../Context/dist/effect-Context.cjs.dev
5
5
  var Differ_dist_effectDiffer = require('../Differ/dist/effect-Differ.cjs.dev.js');
6
6
  var Either_dist_effectEither = require('../Either/dist/effect-Either.cjs.dev.js');
7
7
  var Equal_dist_effectEqual = require('../Equal/dist/effect-Equal.cjs.dev.js');
8
- var FiberId_dist_effectFiberId = require('./FiberId-557db880.cjs.dev.js');
8
+ var FiberId_dist_effectFiberId = require('./FiberId-d88ddce6.cjs.dev.js');
9
9
  var Function_dist_effectFunction = require('../Function/dist/effect-Function.cjs.dev.js');
10
10
  var GlobalValue_dist_effectGlobalValue = require('../GlobalValue/dist/effect-GlobalValue.cjs.dev.js');
11
11
  var Hash_dist_effectHash = require('../Hash/dist/effect-Hash.cjs.dev.js');
@@ -16,10 +16,368 @@ var List_dist_effectList = require('../List/dist/effect-List.cjs.dev.js');
16
16
  var Option_dist_effectOption = require('../Option/dist/effect-Option.cjs.dev.js');
17
17
  var Pipeable_dist_effectPipeable = require('../Pipeable/dist/effect-Pipeable.cjs.dev.js');
18
18
  var ReadonlyArray_dist_effectReadonlyArray = require('../ReadonlyArray/dist/effect-ReadonlyArray.cjs.dev.js');
19
- var Effectable = require('./Effectable-2f022879.cjs.dev.js');
20
- var RuntimeFlagsPatch_dist_effectRuntimeFlagsPatch = require('./RuntimeFlagsPatch-ea268c50.cjs.dev.js');
19
+ var Effectable = require('./Effectable-7314aed8.cjs.dev.js');
20
+ var RuntimeFlagsPatch_dist_effectRuntimeFlagsPatch = require('./RuntimeFlagsPatch-69102b03.cjs.dev.js');
21
21
  var MutableRef_dist_effectMutableRef = require('../MutableRef/dist/effect-MutableRef.cjs.dev.js');
22
22
 
23
+ /** @internal */
24
+ const empty$1 = {
25
+ _tag: "Empty"
26
+ };
27
+
28
+ /**
29
+ * Combines this collection of blocked requests with the specified collection
30
+ * of blocked requests, in parallel.
31
+ *
32
+ * @internal
33
+ */
34
+ const par = (self, that) => ({
35
+ _tag: "Par",
36
+ left: self,
37
+ right: that
38
+ });
39
+
40
+ /**
41
+ * Combines this collection of blocked requests with the specified collection
42
+ * of blocked requests, in sequence.
43
+ *
44
+ * @internal
45
+ */
46
+ const seq = (self, that) => ({
47
+ _tag: "Seq",
48
+ left: self,
49
+ right: that
50
+ });
51
+
52
+ /**
53
+ * Constructs a collection of blocked requests from the specified blocked
54
+ * request and data source.
55
+ *
56
+ * @internal
57
+ */
58
+ const single = (dataSource, blockedRequest) => ({
59
+ _tag: "Single",
60
+ dataSource,
61
+ blockedRequest
62
+ });
63
+
64
+ /** @internal */
65
+ const MapRequestResolversReducer = f => ({
66
+ emptyCase: () => empty$1,
67
+ parCase: (left, right) => par(left, right),
68
+ seqCase: (left, right) => seq(left, right),
69
+ singleCase: (dataSource, blockedRequest) => single(f(dataSource), blockedRequest)
70
+ });
71
+ /**
72
+ * Transforms all data sources with the specified data source aspect, which
73
+ * can change the environment type of data sources but must preserve the
74
+ * request type of each data source.
75
+ *
76
+ * @internal
77
+ */
78
+ const mapRequestResolvers = (self, f) => reduce$1(self, MapRequestResolversReducer(f));
79
+
80
+ /**
81
+ * Folds over the cases of this collection of blocked requests with the
82
+ * specified functions.
83
+ *
84
+ * @internal
85
+ */
86
+ const reduce$1 = (self, reducer) => {
87
+ let input = List_dist_effectList.of(self);
88
+ let output = List_dist_effectList.empty();
89
+ while (List_dist_effectList.isCons(input)) {
90
+ const current = input.head;
91
+ switch (current._tag) {
92
+ case "Empty":
93
+ {
94
+ output = List_dist_effectList.cons(Either_dist_effectEither.right(reducer.emptyCase()), output);
95
+ input = input.tail;
96
+ break;
97
+ }
98
+ case "Par":
99
+ {
100
+ output = List_dist_effectList.cons(Either_dist_effectEither.left({
101
+ _tag: "ParCase"
102
+ }), output);
103
+ input = List_dist_effectList.cons(current.left, List_dist_effectList.cons(current.right, input.tail));
104
+ break;
105
+ }
106
+ case "Seq":
107
+ {
108
+ output = List_dist_effectList.cons(Either_dist_effectEither.left({
109
+ _tag: "SeqCase"
110
+ }), output);
111
+ input = List_dist_effectList.cons(current.left, List_dist_effectList.cons(current.right, input.tail));
112
+ break;
113
+ }
114
+ case "Single":
115
+ {
116
+ const result = reducer.singleCase(current.dataSource, current.blockedRequest);
117
+ output = List_dist_effectList.cons(Either_dist_effectEither.right(result), output);
118
+ input = input.tail;
119
+ break;
120
+ }
121
+ }
122
+ }
123
+ const result = List_dist_effectList.reduce(output, List_dist_effectList.empty(), (acc, current) => {
124
+ switch (current._tag) {
125
+ case "Left":
126
+ {
127
+ const left = List_dist_effectList.unsafeHead(acc);
128
+ const right = List_dist_effectList.unsafeHead(List_dist_effectList.unsafeTail(acc));
129
+ const tail = List_dist_effectList.unsafeTail(List_dist_effectList.unsafeTail(acc));
130
+ switch (current.left._tag) {
131
+ case "ParCase":
132
+ {
133
+ return List_dist_effectList.cons(reducer.parCase(left, right), tail);
134
+ }
135
+ case "SeqCase":
136
+ {
137
+ return List_dist_effectList.cons(reducer.seqCase(left, right), tail);
138
+ }
139
+ }
140
+ }
141
+ case "Right":
142
+ {
143
+ return List_dist_effectList.cons(current.right, acc);
144
+ }
145
+ }
146
+ });
147
+ if (List_dist_effectList.isNil(result)) {
148
+ throw new Error("BUG: BlockedRequests.reduce - please report an issue at https://github.com/Effect-TS/query/issues");
149
+ }
150
+ return result.head;
151
+ };
152
+
153
+ /**
154
+ * Flattens a collection of blocked requests into a collection of pipelined
155
+ * and batched requests that can be submitted for execution.
156
+ *
157
+ * @internal
158
+ */
159
+ const flatten$2 = self => {
160
+ let current = List_dist_effectList.of(self);
161
+ let updated = List_dist_effectList.empty();
162
+ // eslint-disable-next-line no-constant-condition
163
+ while (1) {
164
+ const [parallel, sequential] = List_dist_effectList.reduce(current, [parallelCollectionEmpty(), List_dist_effectList.empty()], ([parallel, sequential], blockedRequest) => {
165
+ const [par, seq] = step$1(blockedRequest);
166
+ return [parallelCollectionCombine(parallel, par), List_dist_effectList.appendAll(sequential, seq)];
167
+ });
168
+ updated = merge(updated, parallel);
169
+ if (List_dist_effectList.isNil(sequential)) {
170
+ return List_dist_effectList.reverse(updated);
171
+ }
172
+ current = sequential;
173
+ }
174
+ throw new Error("BUG: BlockedRequests.flatten - please report an issue at https://github.com/Effect-TS/query/issues");
175
+ };
176
+
177
+ /**
178
+ * Takes one step in evaluating a collection of blocked requests, returning a
179
+ * collection of blocked requests that can be performed in parallel and a list
180
+ * of blocked requests that must be performed sequentially after those
181
+ * requests.
182
+ */
183
+ const step$1 = requests => {
184
+ let current = requests;
185
+ let parallel = parallelCollectionEmpty();
186
+ let stack = List_dist_effectList.empty();
187
+ let sequential = List_dist_effectList.empty();
188
+ // eslint-disable-next-line no-constant-condition
189
+ while (1) {
190
+ switch (current._tag) {
191
+ case "Empty":
192
+ {
193
+ if (List_dist_effectList.isNil(stack)) {
194
+ return [parallel, sequential];
195
+ }
196
+ current = stack.head;
197
+ stack = stack.tail;
198
+ break;
199
+ }
200
+ case "Par":
201
+ {
202
+ stack = List_dist_effectList.cons(current.right, stack);
203
+ current = current.left;
204
+ break;
205
+ }
206
+ case "Seq":
207
+ {
208
+ const left = current.left;
209
+ const right = current.right;
210
+ switch (left._tag) {
211
+ case "Empty":
212
+ {
213
+ current = right;
214
+ break;
215
+ }
216
+ case "Par":
217
+ {
218
+ const l = left.left;
219
+ const r = left.right;
220
+ current = par(seq(l, right), seq(r, right));
221
+ break;
222
+ }
223
+ case "Seq":
224
+ {
225
+ const l = left.left;
226
+ const r = left.right;
227
+ current = seq(l, seq(r, right));
228
+ break;
229
+ }
230
+ case "Single":
231
+ {
232
+ current = left;
233
+ sequential = List_dist_effectList.cons(right, sequential);
234
+ break;
235
+ }
236
+ }
237
+ break;
238
+ }
239
+ case "Single":
240
+ {
241
+ parallel = parallelCollectionCombine(parallel, parallelCollectionMake(current.dataSource, current.blockedRequest));
242
+ if (List_dist_effectList.isNil(stack)) {
243
+ return [parallel, sequential];
244
+ }
245
+ current = stack.head;
246
+ stack = stack.tail;
247
+ break;
248
+ }
249
+ }
250
+ }
251
+ throw new Error("BUG: BlockedRequests.step - please report an issue at https://github.com/Effect-TS/query/issues");
252
+ };
253
+
254
+ /**
255
+ * Merges a collection of requests that must be executed sequentially with a
256
+ * collection of requests that can be executed in parallel. If the collections
257
+ * are both from the same single data source then the requests can be
258
+ * pipelined while preserving ordering guarantees.
259
+ */
260
+ const merge = (sequential, parallel) => {
261
+ if (List_dist_effectList.isNil(sequential)) {
262
+ return List_dist_effectList.of(parallelCollectionToSequentialCollection(parallel));
263
+ }
264
+ if (parallelCollectionIsEmpty(parallel)) {
265
+ return sequential;
266
+ }
267
+ const seqHeadKeys = sequentialCollectionKeys(sequential.head);
268
+ const parKeys = parallelCollectionKeys(parallel);
269
+ if (seqHeadKeys.length === 1 && parKeys.length === 1 && Equal_dist_effectEqual.equals(seqHeadKeys[0], parKeys[0])) {
270
+ return List_dist_effectList.cons(sequentialCollectionCombine(sequential.head, parallelCollectionToSequentialCollection(parallel)), sequential.tail);
271
+ }
272
+ return List_dist_effectList.cons(parallelCollectionToSequentialCollection(parallel), sequential);
273
+ };
274
+
275
+ //
276
+ // circular
277
+ //
278
+
279
+ /** @internal */
280
+ const EntryTypeId = /*#__PURE__*/Symbol.for("effect/RequestBlock/Entry");
281
+
282
+ /** @internal */
283
+ class EntryImpl {
284
+ [EntryTypeId] = blockedRequestVariance;
285
+ constructor(request, result, listeners, ownerId, state) {
286
+ this.request = request;
287
+ this.result = result;
288
+ this.listeners = listeners;
289
+ this.ownerId = ownerId;
290
+ this.state = state;
291
+ }
292
+ }
293
+
294
+ /** @internal */
295
+ const blockedRequestVariance = {
296
+ _R: _ => _
297
+ };
298
+
299
+ /** @internal */
300
+ const isEntry = u => {
301
+ return typeof u === "object" && u != null && EntryTypeId in u;
302
+ };
303
+
304
+ /** @internal */
305
+ const makeEntry = options => new EntryImpl(options.request, options.result, options.listeners, options.ownerId, options.state);
306
+
307
+ /** @internal */
308
+ const RequestBlockParallelTypeId = /*#__PURE__*/Symbol.for("effect/RequestBlock/RequestBlockParallel");
309
+ const parallelVariance = {
310
+ _R: _ => _
311
+ };
312
+ class ParallelImpl {
313
+ [RequestBlockParallelTypeId] = parallelVariance;
314
+ constructor(map) {
315
+ this.map = map;
316
+ }
317
+ }
318
+
319
+ /** @internal */
320
+ const parallelCollectionEmpty = () => new ParallelImpl(HashMap_dist_effectHashMap.empty());
321
+
322
+ /** @internal */
323
+ const parallelCollectionMake = (dataSource, blockedRequest) => new ParallelImpl(HashMap_dist_effectHashMap.make([dataSource, Array.of(blockedRequest)]));
324
+
325
+ /** @internal */
326
+ const parallelCollectionCombine = (self, that) => new ParallelImpl(HashMap_dist_effectHashMap.reduce(self.map, that.map, (map, value, key) => HashMap_dist_effectHashMap.set(map, key, Option_dist_effectOption.match(HashMap_dist_effectHashMap.get(map, key), {
327
+ onNone: () => value,
328
+ onSome: a => [...a, ...value]
329
+ }))));
330
+
331
+ /** @internal */
332
+ const parallelCollectionIsEmpty = self => HashMap_dist_effectHashMap.isEmpty(self.map);
333
+
334
+ /** @internal */
335
+ const parallelCollectionKeys = self => Array.from(HashMap_dist_effectHashMap.keys(self.map));
336
+
337
+ /** @internal */
338
+ const parallelCollectionToSequentialCollection = self => sequentialCollectionMake(HashMap_dist_effectHashMap.map(self.map, x => Array.of(x)));
339
+
340
+ /** @internal */
341
+ const SequentialCollectionTypeId = /*#__PURE__*/Symbol.for("effect/RequestBlock/RequestBlockSequential");
342
+
343
+ /** @internal */
344
+ const sequentialVariance = {
345
+ _R: _ => _
346
+ };
347
+ class SequentialImpl {
348
+ [SequentialCollectionTypeId] = sequentialVariance;
349
+ constructor(map) {
350
+ this.map = map;
351
+ }
352
+ }
353
+
354
+ /** @internal */
355
+ const sequentialCollectionMake = map => new SequentialImpl(map);
356
+
357
+ /** @internal */
358
+ const sequentialCollectionCombine = (self, that) => new SequentialImpl(HashMap_dist_effectHashMap.reduce(that.map, self.map, (map, value, key) => HashMap_dist_effectHashMap.set(map, key, Option_dist_effectOption.match(HashMap_dist_effectHashMap.get(map, key), {
359
+ onNone: () => [],
360
+ onSome: a => [...a, ...value]
361
+ }))));
362
+
363
+ /** @internal */
364
+ const sequentialCollectionKeys = self => Array.from(HashMap_dist_effectHashMap.keys(self.map));
365
+
366
+ /** @internal */
367
+ const sequentialCollectionToChunk = self => Array.from(self.map);
368
+
369
+ /** @internal */
370
+
371
+ /** @internal */
372
+
373
+ /** @internal */
374
+
375
+ /** @internal */
376
+
377
+ /** @internal */
378
+
379
+ /** @internal */
380
+
23
381
  /** @internal */
24
382
  const OP_DIE = "Die";
25
383
 
@@ -123,7 +481,7 @@ const proto = {
123
481
  // -----------------------------------------------------------------------------
124
482
 
125
483
  /** @internal */
126
- const empty$1 = /*#__PURE__*/(() => {
484
+ const empty = /*#__PURE__*/(() => {
127
485
  const o = /*#__PURE__*/Object.create(proto);
128
486
  o._tag = OP_EMPTY;
129
487
  return o;
@@ -208,7 +566,7 @@ const isEmpty = self => {
208
566
  if (self._tag === OP_EMPTY) {
209
567
  return true;
210
568
  }
211
- return reduce$1(self, true, (acc, cause) => {
569
+ return reduce(self, true, (acc, cause) => {
212
570
  switch (cause._tag) {
213
571
  case OP_EMPTY:
214
572
  {
@@ -241,13 +599,13 @@ const isInterrupted = self => Option_dist_effectOption.isSome(interruptOption(se
241
599
  const isInterruptedOnly = self => reduceWithContext(undefined, IsInterruptedOnlyCauseReducer)(self);
242
600
 
243
601
  /** @internal */
244
- const failures = self => Chunk_dist_effectChunk.reverse(reduce$1(self, Chunk_dist_effectChunk.empty(), (list, cause) => cause._tag === OP_FAIL ? Option_dist_effectOption.some(Function_dist_effectFunction.pipe(list, Chunk_dist_effectChunk.prepend(cause.error))) : Option_dist_effectOption.none()));
602
+ const failures = self => Chunk_dist_effectChunk.reverse(reduce(self, Chunk_dist_effectChunk.empty(), (list, cause) => cause._tag === OP_FAIL ? Option_dist_effectOption.some(Function_dist_effectFunction.pipe(list, Chunk_dist_effectChunk.prepend(cause.error))) : Option_dist_effectOption.none()));
245
603
 
246
604
  /** @internal */
247
- const defects = self => Chunk_dist_effectChunk.reverse(reduce$1(self, Chunk_dist_effectChunk.empty(), (list, cause) => cause._tag === OP_DIE ? Option_dist_effectOption.some(Function_dist_effectFunction.pipe(list, Chunk_dist_effectChunk.prepend(cause.defect))) : Option_dist_effectOption.none()));
605
+ const defects = self => Chunk_dist_effectChunk.reverse(reduce(self, Chunk_dist_effectChunk.empty(), (list, cause) => cause._tag === OP_DIE ? Option_dist_effectOption.some(Function_dist_effectFunction.pipe(list, Chunk_dist_effectChunk.prepend(cause.defect))) : Option_dist_effectOption.none()));
248
606
 
249
607
  /** @internal */
250
- const interruptors = self => reduce$1(self, HashSet_dist_effectHashSet.empty(), (set, cause) => cause._tag === OP_INTERRUPT ? Option_dist_effectOption.some(Function_dist_effectFunction.pipe(set, HashSet_dist_effectHashSet.add(cause.fiberId))) : Option_dist_effectOption.none());
608
+ const interruptors = self => reduce(self, HashSet_dist_effectHashSet.empty(), (set, cause) => cause._tag === OP_INTERRUPT ? Option_dist_effectOption.some(Function_dist_effectFunction.pipe(set, HashSet_dist_effectHashSet.add(cause.fiberId))) : Option_dist_effectOption.none());
251
609
 
252
610
  /** @internal */
253
611
  const failureOption = self => find(self, cause => cause._tag === OP_FAIL ? Option_dist_effectOption.some(cause.error) : Option_dist_effectOption.none());
@@ -273,7 +631,7 @@ const dieOption = self => find(self, cause => cause._tag === OP_DIE ? Option_dis
273
631
 
274
632
  /** @internal */
275
633
  const flipCauseOption = self => match(self, {
276
- onEmpty: Option_dist_effectOption.some(empty$1),
634
+ onEmpty: Option_dist_effectOption.some(empty),
277
635
  onFail: failureOption => Function_dist_effectFunction.pipe(failureOption, Option_dist_effectOption.map(fail$1)),
278
636
  onDie: defect => Option_dist_effectOption.some(die$1(defect)),
279
637
  onInterrupt: fiberId => Option_dist_effectOption.some(interrupt$1(fiberId)),
@@ -382,8 +740,8 @@ const linearize = self => match(self, {
382
740
 
383
741
  /** @internal */
384
742
  const stripFailures = self => match(self, {
385
- onEmpty: empty$1,
386
- onFail: () => empty$1,
743
+ onEmpty: empty,
744
+ onFail: () => empty,
387
745
  onDie: defect => die$1(defect),
388
746
  onInterrupt: fiberId => interrupt$1(fiberId),
389
747
  onSequential: sequential,
@@ -392,7 +750,7 @@ const stripFailures = self => match(self, {
392
750
 
393
751
  /** @internal */
394
752
  const electFailures = self => match(self, {
395
- onEmpty: empty$1,
753
+ onEmpty: empty,
396
754
  onFail: failure => die$1(failure),
397
755
  onDie: defect => die$1(defect),
398
756
  onInterrupt: fiberId => interrupt$1(fiberId),
@@ -402,7 +760,7 @@ const electFailures = self => match(self, {
402
760
 
403
761
  /** @internal */
404
762
  const stripSomeDefects = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, pf) => match(self, {
405
- onEmpty: Option_dist_effectOption.some(empty$1),
763
+ onEmpty: Option_dist_effectOption.some(empty),
406
764
  onFail: error => Option_dist_effectOption.some(fail$1(error)),
407
765
  onDie: defect => {
408
766
  const option = pf(defect);
@@ -451,7 +809,7 @@ const map$1 = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, f) => fla
451
809
 
452
810
  /** @internal */
453
811
  const flatMap$1 = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, f) => match(self, {
454
- onEmpty: empty$1,
812
+ onEmpty: empty,
455
813
  onFail: error => f(error),
456
814
  onDie: defect => die$1(defect),
457
815
  onInterrupt: fiberId => interrupt$1(fiberId),
@@ -460,7 +818,7 @@ const flatMap$1 = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, f) =>
460
818
  }));
461
819
 
462
820
  /** @internal */
463
- const flatten$2 = self => flatMap$1(self, Function_dist_effectFunction.identity);
821
+ const flatten$1 = self => flatMap$1(self, Function_dist_effectFunction.identity);
464
822
 
465
823
  // -----------------------------------------------------------------------------
466
824
  // Equality
@@ -471,7 +829,7 @@ const contains = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, that)
471
829
  if (that._tag === OP_EMPTY || self === that) {
472
830
  return true;
473
831
  }
474
- return reduce$1(self, false, (accumulator, cause) => {
832
+ return reduce(self, false, (accumulator, cause) => {
475
833
  return Option_dist_effectOption.some(accumulator || causeEquals(cause, that));
476
834
  });
477
835
  });
@@ -481,11 +839,11 @@ const causeEquals = (left, right) => {
481
839
  let leftStack = Chunk_dist_effectChunk.of(left);
482
840
  let rightStack = Chunk_dist_effectChunk.of(right);
483
841
  while (Chunk_dist_effectChunk.isNonEmpty(leftStack) && Chunk_dist_effectChunk.isNonEmpty(rightStack)) {
484
- const [leftParallel, leftSequential] = Function_dist_effectFunction.pipe(Chunk_dist_effectChunk.headNonEmpty(leftStack), reduce$1([HashSet_dist_effectHashSet.empty(), Chunk_dist_effectChunk.empty()], ([parallel, sequential], cause) => {
842
+ const [leftParallel, leftSequential] = Function_dist_effectFunction.pipe(Chunk_dist_effectChunk.headNonEmpty(leftStack), reduce([HashSet_dist_effectHashSet.empty(), Chunk_dist_effectChunk.empty()], ([parallel, sequential], cause) => {
485
843
  const [par, seq] = evaluateCause(cause);
486
844
  return Option_dist_effectOption.some([Function_dist_effectFunction.pipe(parallel, HashSet_dist_effectHashSet.union(par)), Function_dist_effectFunction.pipe(sequential, Chunk_dist_effectChunk.appendAll(seq))]);
487
845
  }));
488
- const [rightParallel, rightSequential] = Function_dist_effectFunction.pipe(Chunk_dist_effectChunk.headNonEmpty(rightStack), reduce$1([HashSet_dist_effectHashSet.empty(), Chunk_dist_effectChunk.empty()], ([parallel, sequential], cause) => {
846
+ const [rightParallel, rightSequential] = Function_dist_effectFunction.pipe(Chunk_dist_effectChunk.headNonEmpty(rightStack), reduce([HashSet_dist_effectHashSet.empty(), Chunk_dist_effectChunk.empty()], ([parallel, sequential], cause) => {
489
847
  const [par, seq] = evaluateCause(cause);
490
848
  return Option_dist_effectOption.some([Function_dist_effectFunction.pipe(parallel, HashSet_dist_effectHashSet.union(par)), Function_dist_effectFunction.pipe(sequential, Chunk_dist_effectChunk.appendAll(seq))]);
491
849
  }));
@@ -660,806 +1018,433 @@ const evaluateCause = self => {
660
1018
  {
661
1019
  cause = cause.right;
662
1020
  break;
663
- }
664
- case OP_SEQUENTIAL:
665
- {
666
- cause = sequential(cause.left.left, sequential(cause.left.right, cause.right));
667
- break;
668
- }
669
- case OP_PARALLEL:
670
- {
671
- cause = parallel(sequential(cause.left.left, cause.right), sequential(cause.left.right, cause.right));
672
- break;
673
- }
674
- default:
675
- {
676
- _sequential = Function_dist_effectFunction.pipe(_sequential, Chunk_dist_effectChunk.prepend(cause.right));
677
- cause = cause.left;
678
- break;
679
- }
680
- }
681
- break;
682
- }
683
- case OP_PARALLEL:
684
- {
685
- stack.push(cause.right);
686
- cause = cause.left;
687
- break;
688
- }
689
- }
690
- }
691
- throw new Error("BUG: Cause.evaluateCauseLoop - please report an issue at https://github.com/Effect-TS/io/issues");
692
- };
693
-
694
- // -----------------------------------------------------------------------------
695
- // Reducing
696
- // -----------------------------------------------------------------------------
697
-
698
- /** @internal */
699
- const SizeCauseReducer = {
700
- emptyCase: () => 0,
701
- failCase: () => 1,
702
- dieCase: () => 1,
703
- interruptCase: () => 1,
704
- sequentialCase: (_, left, right) => left + right,
705
- parallelCase: (_, left, right) => left + right
706
- };
707
-
708
- /** @internal */
709
- const IsInterruptedOnlyCauseReducer = {
710
- emptyCase: Function_dist_effectFunction.constTrue,
711
- failCase: Function_dist_effectFunction.constFalse,
712
- dieCase: Function_dist_effectFunction.constFalse,
713
- interruptCase: Function_dist_effectFunction.constTrue,
714
- sequentialCase: (_, left, right) => left && right,
715
- parallelCase: (_, left, right) => left && right
716
- };
717
-
718
- /** @internal */
719
- const FilterCauseReducer = predicate => ({
720
- emptyCase: () => empty$1,
721
- failCase: (_, error) => fail$1(error),
722
- dieCase: (_, defect) => die$1(defect),
723
- interruptCase: (_, fiberId) => interrupt$1(fiberId),
724
- sequentialCase: (_, left, right) => {
725
- if (predicate(left)) {
726
- if (predicate(right)) {
727
- return sequential(left, right);
728
- }
729
- return left;
730
- }
731
- if (predicate(right)) {
732
- return right;
733
- }
734
- return empty$1;
735
- },
736
- parallelCase: (_, left, right) => {
737
- if (predicate(left)) {
738
- if (predicate(right)) {
739
- return parallel(left, right);
740
- }
741
- return left;
742
- }
743
- if (predicate(right)) {
744
- return right;
745
- }
746
- return empty$1;
747
- }
748
- });
749
-
750
- /** @internal */
751
-
752
- const OP_SEQUENTIAL_CASE = "SequentialCase";
753
- const OP_PARALLEL_CASE = "ParallelCase";
754
-
755
- /** @internal */
756
-
757
- /** @internal */
758
-
759
- /** @internal */
760
- const match = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, {
761
- onDie,
762
- onEmpty,
763
- onFail,
764
- onInterrupt,
765
- onParallel,
766
- onSequential
767
- }) => {
768
- return reduceWithContext(self, void 0, {
769
- emptyCase: () => onEmpty,
770
- failCase: (_, error) => onFail(error),
771
- dieCase: (_, defect) => onDie(defect),
772
- interruptCase: (_, fiberId) => onInterrupt(fiberId),
773
- sequentialCase: (_, left, right) => onSequential(left, right),
774
- parallelCase: (_, left, right) => onParallel(left, right)
775
- });
776
- });
777
-
778
- /** @internal */
779
- const reduce$1 = /*#__PURE__*/Function_dist_effectFunction.dual(3, (self, zero, pf) => {
780
- let accumulator = zero;
781
- let cause = self;
782
- const causes = [];
783
- while (cause !== undefined) {
784
- const option = pf(accumulator, cause);
785
- accumulator = Option_dist_effectOption.isSome(option) ? option.value : accumulator;
786
- switch (cause._tag) {
787
- case OP_SEQUENTIAL:
788
- {
789
- causes.push(cause.right);
790
- cause = cause.left;
791
- break;
792
- }
793
- case OP_PARALLEL:
794
- {
795
- causes.push(cause.right);
796
- cause = cause.left;
797
- break;
798
- }
799
- default:
800
- {
801
- cause = undefined;
802
- break;
803
- }
804
- }
805
- if (cause === undefined && causes.length > 0) {
806
- cause = causes.pop();
807
- }
808
- }
809
- return accumulator;
810
- });
811
-
812
- /** @internal */
813
- const reduceWithContext = /*#__PURE__*/Function_dist_effectFunction.dual(3, (self, context, reducer) => {
814
- const input = [self];
815
- const output = [];
816
- while (input.length > 0) {
817
- const cause = input.pop();
818
- switch (cause._tag) {
819
- case OP_EMPTY:
820
- {
821
- output.push(Either_dist_effectEither.right(reducer.emptyCase(context)));
822
- break;
823
- }
824
- case OP_FAIL:
825
- {
826
- output.push(Either_dist_effectEither.right(reducer.failCase(context, cause.error)));
827
- break;
828
- }
829
- case OP_DIE:
830
- {
831
- output.push(Either_dist_effectEither.right(reducer.dieCase(context, cause.defect)));
832
- break;
833
- }
834
- case OP_INTERRUPT:
835
- {
836
- output.push(Either_dist_effectEither.right(reducer.interruptCase(context, cause.fiberId)));
837
- break;
838
- }
839
- case OP_SEQUENTIAL:
840
- {
841
- input.push(cause.right);
842
- input.push(cause.left);
843
- output.push(Either_dist_effectEither.left({
844
- _tag: OP_SEQUENTIAL_CASE
845
- }));
846
- break;
847
- }
848
- case OP_PARALLEL:
849
- {
850
- input.push(cause.right);
851
- input.push(cause.left);
852
- output.push(Either_dist_effectEither.left({
853
- _tag: OP_PARALLEL_CASE
854
- }));
855
- break;
856
- }
857
- }
858
- }
859
- const accumulator = [];
860
- while (output.length > 0) {
861
- const either = output.pop();
862
- switch (either._tag) {
863
- case "Left":
864
- {
865
- switch (either.left._tag) {
866
- case OP_SEQUENTIAL_CASE:
1021
+ }
1022
+ case OP_SEQUENTIAL:
867
1023
  {
868
- const left = accumulator.pop();
869
- const right = accumulator.pop();
870
- const value = reducer.sequentialCase(context, left, right);
871
- accumulator.push(value);
1024
+ cause = sequential(cause.left.left, sequential(cause.left.right, cause.right));
872
1025
  break;
873
1026
  }
874
- case OP_PARALLEL_CASE:
1027
+ case OP_PARALLEL:
875
1028
  {
876
- const left = accumulator.pop();
877
- const right = accumulator.pop();
878
- const value = reducer.parallelCase(context, left, right);
879
- accumulator.push(value);
1029
+ cause = parallel(sequential(cause.left.left, cause.right), sequential(cause.left.right, cause.right));
1030
+ break;
1031
+ }
1032
+ default:
1033
+ {
1034
+ _sequential = Function_dist_effectFunction.pipe(_sequential, Chunk_dist_effectChunk.prepend(cause.right));
1035
+ cause = cause.left;
880
1036
  break;
881
1037
  }
882
1038
  }
883
1039
  break;
884
1040
  }
885
- case "Right":
1041
+ case OP_PARALLEL:
886
1042
  {
887
- accumulator.push(either.right);
1043
+ stack.push(cause.right);
1044
+ cause = cause.left;
888
1045
  break;
889
1046
  }
890
1047
  }
891
1048
  }
892
- if (accumulator.length === 0) {
893
- throw new Error("BUG: Cause.reduceWithContext - please report an issue at https://github.com/Effect-TS/io/issues");
894
- }
895
- return accumulator.pop();
896
- });
1049
+ throw new Error("BUG: Cause.evaluateCauseLoop - please report an issue at https://github.com/Effect-TS/io/issues");
1050
+ };
897
1051
 
898
1052
  // -----------------------------------------------------------------------------
899
- // Errors
1053
+ // Reducing
900
1054
  // -----------------------------------------------------------------------------
901
1055
 
902
- const makeException = (proto, tag) => {
903
- const _tag = {
904
- value: tag,
905
- enumerable: true
906
- };
907
- const protoWithToString = {
908
- ...proto,
909
- toString() {
910
- return `${this._tag}: ${this.message}`;
911
- }
912
- };
913
- return message => Object.create(protoWithToString, {
914
- _tag,
915
- message: {
916
- value: message,
917
- enumerable: true
918
- }
919
- });
920
- };
921
-
922
- /** @internal */
923
- const RuntimeExceptionTypeId = /*#__PURE__*/Symbol.for("effect/Cause/errors/RuntimeException");
924
-
925
- /** @internal */
926
- const RuntimeException = /*#__PURE__*/makeException({
927
- [RuntimeExceptionTypeId]: RuntimeExceptionTypeId
928
- }, "RuntimeException");
929
-
930
- /** @internal */
931
- const isRuntimeException = u => {
932
- return typeof u === "object" && u != null && RuntimeExceptionTypeId in u;
933
- };
934
-
935
- /** @internal */
936
- const InterruptedExceptionTypeId = /*#__PURE__*/Symbol.for("effect/Cause/errors/InterruptedException");
937
-
938
- /** @internal */
939
- const InterruptedException = /*#__PURE__*/makeException({
940
- [InterruptedExceptionTypeId]: InterruptedExceptionTypeId
941
- }, "InterruptedException");
942
-
943
- /** @internal */
944
- const isInterruptedException = u => {
945
- return typeof u === "object" && u != null && InterruptedExceptionTypeId in u;
946
- };
947
-
948
- /** @internal */
949
- const IllegalArgumentExceptionTypeId = /*#__PURE__*/Symbol.for("effect/Cause/errors/IllegalArgument");
950
-
951
- /** @internal */
952
- const IllegalArgumentException = /*#__PURE__*/makeException({
953
- [IllegalArgumentExceptionTypeId]: IllegalArgumentExceptionTypeId
954
- }, "IllegalArgumentException");
955
-
956
- /** @internal */
957
- const isIllegalArgumentException = u => {
958
- return typeof u === "object" && u != null && IllegalArgumentExceptionTypeId in u;
959
- };
960
-
961
- /** @internal */
962
- const NoSuchElementExceptionTypeId = /*#__PURE__*/Symbol.for("effect/Cause/errors/NoSuchElement");
963
-
964
1056
  /** @internal */
965
- const NoSuchElementException = /*#__PURE__*/makeException({
966
- [NoSuchElementExceptionTypeId]: NoSuchElementExceptionTypeId
967
- }, "NoSuchElementException");
968
-
969
- /** @internal */
970
- const isNoSuchElementException = u => {
971
- return typeof u === "object" && u != null && NoSuchElementExceptionTypeId in u;
1057
+ const SizeCauseReducer = {
1058
+ emptyCase: () => 0,
1059
+ failCase: () => 1,
1060
+ dieCase: () => 1,
1061
+ interruptCase: () => 1,
1062
+ sequentialCase: (_, left, right) => left + right,
1063
+ parallelCase: (_, left, right) => left + right
972
1064
  };
973
1065
 
974
1066
  /** @internal */
975
- const InvalidHubCapacityExceptionTypeId = /*#__PURE__*/Symbol.for("effect/Cause/errors/InvalidHubCapacityException");
976
-
977
- /** @internal */
978
- const InvalidHubCapacityException = /*#__PURE__*/makeException({
979
- [InvalidHubCapacityExceptionTypeId]: InvalidHubCapacityExceptionTypeId
980
- }, "InvalidHubCapacityException");
981
-
982
- // -----------------------------------------------------------------------------
983
- // Pretty Printing
984
- // -----------------------------------------------------------------------------
985
-
986
- const filterStack = stack => {
987
- const lines = stack.split("\n");
988
- const out = [];
989
- for (let i = 0; i < lines.length; i++) {
990
- if (lines[i].includes("EffectPrimitive") || lines[i].includes("Generator.next") || lines[i].includes("FiberRuntime")) {
991
- return out.join("\n");
992
- } else {
993
- out.push(lines[i]);
994
- }
995
- }
996
- return out.join("\n");
1067
+ const IsInterruptedOnlyCauseReducer = {
1068
+ emptyCase: Function_dist_effectFunction.constTrue,
1069
+ failCase: Function_dist_effectFunction.constFalse,
1070
+ dieCase: Function_dist_effectFunction.constFalse,
1071
+ interruptCase: Function_dist_effectFunction.constTrue,
1072
+ sequentialCase: (_, left, right) => left && right,
1073
+ parallelCase: (_, left, right) => left && right
997
1074
  };
998
1075
 
999
1076
  /** @internal */
1000
- const pretty = cause => {
1001
- if (isInterruptedOnly(cause)) {
1002
- return "All fibers interrupted without errors.";
1003
- }
1004
- const final = prettyErrors(cause).map(e => {
1005
- let message = e.message;
1006
- if (e.stack) {
1007
- message += `\r\n${filterStack(e.stack)}`;
1008
- }
1009
- if (e.span) {
1010
- let current = e.span;
1011
- let i = 0;
1012
- while (current && current._tag === "Span" && i < 10) {
1013
- message += `\r\n at ${current.name}`;
1014
- current = Option_dist_effectOption.getOrUndefined(current.parent);
1015
- i++;
1077
+ const FilterCauseReducer = predicate => ({
1078
+ emptyCase: () => empty,
1079
+ failCase: (_, error) => fail$1(error),
1080
+ dieCase: (_, defect) => die$1(defect),
1081
+ interruptCase: (_, fiberId) => interrupt$1(fiberId),
1082
+ sequentialCase: (_, left, right) => {
1083
+ if (predicate(left)) {
1084
+ if (predicate(right)) {
1085
+ return sequential(left, right);
1016
1086
  }
1087
+ return left;
1017
1088
  }
1018
- return message;
1019
- }).join("\r\n");
1020
- return final;
1021
- };
1022
- class PrettyError {
1023
- constructor(message, stack, span) {
1024
- this.message = message;
1025
- this.stack = stack;
1026
- this.span = span;
1027
- }
1028
- toJSON() {
1029
- const out = {
1030
- message: this.message
1031
- };
1032
- if (this.stack) {
1033
- out.stack = this.stack;
1034
- }
1035
- if (this.span) {
1036
- out.span = this.span;
1089
+ if (predicate(right)) {
1090
+ return right;
1037
1091
  }
1038
- return out;
1039
- }
1040
- }
1041
-
1042
- /**
1043
- * A utility function for generating human-readable error messages from a generic error of type `unknown`.
1044
- *
1045
- * Rules:
1046
- *
1047
- * 1) If the input `u` is already a string, it's considered a message, and "Error" is added as a prefix.
1048
- * 2) If `u` has a user-defined `toString()` method, it uses that method and adds "Error" as a prefix.
1049
- * 3) If `u` is an object and its only (optional) properties are "name", "message", or "_tag", it constructs
1050
- * an error message based on those properties.
1051
- * 4) Otherwise, it uses `JSON.stringify` to produce a string representation and uses it as the error message,
1052
- * with "Error" added as a prefix.
1053
- *
1054
- * @internal
1055
- */
1056
- const prettyErrorMessage = u => {
1057
- // 1)
1058
- if (typeof u === "string") {
1059
- return `Error: ${u}`;
1060
- }
1061
- // 2)
1062
- if (typeof u === "object" && u != null && "toString" in u && typeof u["toString"] === "function" && u["toString"] !== Object.prototype.toString) {
1063
- return u["toString"]();
1064
- }
1065
- // 3)
1066
- if (typeof u === "object" && u !== null) {
1067
- if ("message" in u && typeof u["message"] === "string") {
1068
- const raw = JSON.parse(JSON.stringify(u));
1069
- const keys = new Set(Object.keys(raw));
1070
- keys.delete("name");
1071
- keys.delete("message");
1072
- keys.delete("_tag");
1073
- if (keys.size === 0) {
1074
- const name = "name" in u && typeof u.name === "string" ? u.name : "Error";
1075
- const tag = "_tag" in u && typeof u["_tag"] === "string" ? `(${u._tag})` : ``;
1076
- return `${name}${tag}: ${u.message}`;
1092
+ return empty;
1093
+ },
1094
+ parallelCase: (_, left, right) => {
1095
+ if (predicate(left)) {
1096
+ if (predicate(right)) {
1097
+ return parallel(left, right);
1077
1098
  }
1099
+ return left;
1078
1100
  }
1079
- }
1080
- // 4)
1081
- return `Error: ${JSON.stringify(u)}`;
1082
- };
1083
- const spanSymbol$1 = /*#__PURE__*/Symbol.for("effect/SpanAnnotation");
1084
- const defaultRenderError = error => {
1085
- const span = typeof error === "object" && error !== null && spanSymbol$1 in error && error[spanSymbol$1];
1086
- if (typeof error === "object" && error !== null && error instanceof Error) {
1087
- return new PrettyError(prettyErrorMessage(error), error.stack?.split("\n").filter(_ => !_.startsWith("Error")).join("\n"), span);
1088
- }
1089
- return new PrettyError(prettyErrorMessage(error), void 0, span);
1090
- };
1091
-
1092
- /** @internal */
1093
- const prettyErrors = cause => reduceWithContext(cause, void 0, {
1094
- emptyCase: () => [],
1095
- dieCase: (_, unknownError) => {
1096
- return [defaultRenderError(unknownError)];
1097
- },
1098
- failCase: (_, error) => {
1099
- return [defaultRenderError(error)];
1100
- },
1101
- interruptCase: () => [],
1102
- parallelCase: (_, l, r) => [...l, ...r],
1103
- sequentialCase: (_, l, r) => [...l, ...r]
1104
- });
1105
-
1106
- /** @internal */
1107
- const empty = {
1108
- _tag: "Empty"
1109
- };
1110
-
1111
- /**
1112
- * Combines this collection of blocked requests with the specified collection
1113
- * of blocked requests, in parallel.
1114
- *
1115
- * @internal
1116
- */
1117
- const par = (self, that) => ({
1118
- _tag: "Par",
1119
- left: self,
1120
- right: that
1101
+ if (predicate(right)) {
1102
+ return right;
1103
+ }
1104
+ return empty;
1105
+ }
1121
1106
  });
1122
1107
 
1123
- /**
1124
- * Combines this collection of blocked requests with the specified collection
1125
- * of blocked requests, in sequence.
1126
- *
1127
- * @internal
1128
- */
1129
- const seq = (self, that) => ({
1130
- _tag: "Seq",
1131
- left: self,
1132
- right: that
1133
- });
1108
+ /** @internal */
1134
1109
 
1135
- /**
1136
- * Constructs a collection of blocked requests from the specified blocked
1137
- * request and data source.
1138
- *
1139
- * @internal
1140
- */
1141
- const single = (dataSource, blockedRequest) => ({
1142
- _tag: "Single",
1143
- dataSource,
1144
- blockedRequest
1145
- });
1110
+ const OP_SEQUENTIAL_CASE = "SequentialCase";
1111
+ const OP_PARALLEL_CASE = "ParallelCase";
1146
1112
 
1147
1113
  /** @internal */
1148
- const MapRequestResolversReducer = f => ({
1149
- emptyCase: () => empty,
1150
- parCase: (left, right) => par(left, right),
1151
- seqCase: (left, right) => seq(left, right),
1152
- singleCase: (dataSource, blockedRequest) => single(f(dataSource), blockedRequest)
1114
+
1115
+ /** @internal */
1116
+
1117
+ /** @internal */
1118
+ const match = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, {
1119
+ onDie,
1120
+ onEmpty,
1121
+ onFail,
1122
+ onInterrupt,
1123
+ onParallel,
1124
+ onSequential
1125
+ }) => {
1126
+ return reduceWithContext(self, void 0, {
1127
+ emptyCase: () => onEmpty,
1128
+ failCase: (_, error) => onFail(error),
1129
+ dieCase: (_, defect) => onDie(defect),
1130
+ interruptCase: (_, fiberId) => onInterrupt(fiberId),
1131
+ sequentialCase: (_, left, right) => onSequential(left, right),
1132
+ parallelCase: (_, left, right) => onParallel(left, right)
1133
+ });
1153
1134
  });
1154
- /**
1155
- * Transforms all data sources with the specified data source aspect, which
1156
- * can change the environment type of data sources but must preserve the
1157
- * request type of each data source.
1158
- *
1159
- * @internal
1160
- */
1161
- const mapRequestResolvers = (self, f) => reduce(self, MapRequestResolversReducer(f));
1162
1135
 
1163
- /**
1164
- * Folds over the cases of this collection of blocked requests with the
1165
- * specified functions.
1166
- *
1167
- * @internal
1168
- */
1169
- const reduce = (self, reducer) => {
1170
- let input = List_dist_effectList.of(self);
1171
- let output = List_dist_effectList.empty();
1172
- while (List_dist_effectList.isCons(input)) {
1173
- const current = input.head;
1174
- switch (current._tag) {
1175
- case "Empty":
1136
+ /** @internal */
1137
+ const reduce = /*#__PURE__*/Function_dist_effectFunction.dual(3, (self, zero, pf) => {
1138
+ let accumulator = zero;
1139
+ let cause = self;
1140
+ const causes = [];
1141
+ while (cause !== undefined) {
1142
+ const option = pf(accumulator, cause);
1143
+ accumulator = Option_dist_effectOption.isSome(option) ? option.value : accumulator;
1144
+ switch (cause._tag) {
1145
+ case OP_SEQUENTIAL:
1176
1146
  {
1177
- output = List_dist_effectList.cons(Either_dist_effectEither.right(reducer.emptyCase()), output);
1178
- input = input.tail;
1147
+ causes.push(cause.right);
1148
+ cause = cause.left;
1179
1149
  break;
1180
1150
  }
1181
- case "Par":
1151
+ case OP_PARALLEL:
1182
1152
  {
1183
- output = List_dist_effectList.cons(Either_dist_effectEither.left({
1184
- _tag: "ParCase"
1185
- }), output);
1186
- input = List_dist_effectList.cons(current.left, List_dist_effectList.cons(current.right, input.tail));
1153
+ causes.push(cause.right);
1154
+ cause = cause.left;
1187
1155
  break;
1188
1156
  }
1189
- case "Seq":
1157
+ default:
1190
1158
  {
1191
- output = List_dist_effectList.cons(Either_dist_effectEither.left({
1192
- _tag: "SeqCase"
1193
- }), output);
1194
- input = List_dist_effectList.cons(current.left, List_dist_effectList.cons(current.right, input.tail));
1159
+ cause = undefined;
1195
1160
  break;
1196
1161
  }
1197
- case "Single":
1162
+ }
1163
+ if (cause === undefined && causes.length > 0) {
1164
+ cause = causes.pop();
1165
+ }
1166
+ }
1167
+ return accumulator;
1168
+ });
1169
+
1170
+ /** @internal */
1171
+ const reduceWithContext = /*#__PURE__*/Function_dist_effectFunction.dual(3, (self, context, reducer) => {
1172
+ const input = [self];
1173
+ const output = [];
1174
+ while (input.length > 0) {
1175
+ const cause = input.pop();
1176
+ switch (cause._tag) {
1177
+ case OP_EMPTY:
1198
1178
  {
1199
- const result = reducer.singleCase(current.dataSource, current.blockedRequest);
1200
- output = List_dist_effectList.cons(Either_dist_effectEither.right(result), output);
1201
- input = input.tail;
1179
+ output.push(Either_dist_effectEither.right(reducer.emptyCase(context)));
1202
1180
  break;
1203
1181
  }
1204
- }
1205
- }
1206
- const result = List_dist_effectList.reduce(output, List_dist_effectList.empty(), (acc, current) => {
1207
- switch (current._tag) {
1208
- case "Left":
1182
+ case OP_FAIL:
1209
1183
  {
1210
- const left = List_dist_effectList.unsafeHead(acc);
1211
- const right = List_dist_effectList.unsafeHead(List_dist_effectList.unsafeTail(acc));
1212
- const tail = List_dist_effectList.unsafeTail(List_dist_effectList.unsafeTail(acc));
1213
- switch (current.left._tag) {
1214
- case "ParCase":
1215
- {
1216
- return List_dist_effectList.cons(reducer.parCase(left, right), tail);
1217
- }
1218
- case "SeqCase":
1219
- {
1220
- return List_dist_effectList.cons(reducer.seqCase(left, right), tail);
1221
- }
1222
- }
1184
+ output.push(Either_dist_effectEither.right(reducer.failCase(context, cause.error)));
1185
+ break;
1223
1186
  }
1224
- case "Right":
1187
+ case OP_DIE:
1225
1188
  {
1226
- return List_dist_effectList.cons(current.right, acc);
1189
+ output.push(Either_dist_effectEither.right(reducer.dieCase(context, cause.defect)));
1190
+ break;
1227
1191
  }
1228
- }
1229
- });
1230
- if (List_dist_effectList.isNil(result)) {
1231
- throw new Error("BUG: BlockedRequests.reduce - please report an issue at https://github.com/Effect-TS/query/issues");
1232
- }
1233
- return result.head;
1234
- };
1235
-
1236
- /**
1237
- * Flattens a collection of blocked requests into a collection of pipelined
1238
- * and batched requests that can be submitted for execution.
1239
- *
1240
- * @internal
1241
- */
1242
- const flatten$1 = self => {
1243
- let current = List_dist_effectList.of(self);
1244
- let updated = List_dist_effectList.empty();
1245
- // eslint-disable-next-line no-constant-condition
1246
- while (1) {
1247
- const [parallel, sequential] = List_dist_effectList.reduce(current, [parallelCollectionEmpty(), List_dist_effectList.empty()], ([parallel, sequential], blockedRequest) => {
1248
- const [par, seq] = step$1(blockedRequest);
1249
- return [parallelCollectionCombine(parallel, par), List_dist_effectList.appendAll(sequential, seq)];
1250
- });
1251
- updated = merge(updated, parallel);
1252
- if (List_dist_effectList.isNil(sequential)) {
1253
- return List_dist_effectList.reverse(updated);
1254
- }
1255
- current = sequential;
1256
- }
1257
- throw new Error("BUG: BlockedRequests.flatten - please report an issue at https://github.com/Effect-TS/query/issues");
1258
- };
1259
-
1260
- /**
1261
- * Takes one step in evaluating a collection of blocked requests, returning a
1262
- * collection of blocked requests that can be performed in parallel and a list
1263
- * of blocked requests that must be performed sequentially after those
1264
- * requests.
1265
- */
1266
- const step$1 = requests => {
1267
- let current = requests;
1268
- let parallel = parallelCollectionEmpty();
1269
- let stack = List_dist_effectList.empty();
1270
- let sequential = List_dist_effectList.empty();
1271
- // eslint-disable-next-line no-constant-condition
1272
- while (1) {
1273
- switch (current._tag) {
1274
- case "Empty":
1192
+ case OP_INTERRUPT:
1275
1193
  {
1276
- if (List_dist_effectList.isNil(stack)) {
1277
- return [parallel, sequential];
1278
- }
1279
- current = stack.head;
1280
- stack = stack.tail;
1194
+ output.push(Either_dist_effectEither.right(reducer.interruptCase(context, cause.fiberId)));
1281
1195
  break;
1282
1196
  }
1283
- case "Par":
1197
+ case OP_SEQUENTIAL:
1284
1198
  {
1285
- stack = List_dist_effectList.cons(current.right, stack);
1286
- current = current.left;
1199
+ input.push(cause.right);
1200
+ input.push(cause.left);
1201
+ output.push(Either_dist_effectEither.left({
1202
+ _tag: OP_SEQUENTIAL_CASE
1203
+ }));
1287
1204
  break;
1288
1205
  }
1289
- case "Seq":
1206
+ case OP_PARALLEL:
1290
1207
  {
1291
- const left = current.left;
1292
- const right = current.right;
1293
- switch (left._tag) {
1294
- case "Empty":
1295
- {
1296
- current = right;
1297
- break;
1298
- }
1299
- case "Par":
1300
- {
1301
- const l = left.left;
1302
- const r = left.right;
1303
- current = par(seq(l, right), seq(r, right));
1304
- break;
1305
- }
1306
- case "Seq":
1208
+ input.push(cause.right);
1209
+ input.push(cause.left);
1210
+ output.push(Either_dist_effectEither.left({
1211
+ _tag: OP_PARALLEL_CASE
1212
+ }));
1213
+ break;
1214
+ }
1215
+ }
1216
+ }
1217
+ const accumulator = [];
1218
+ while (output.length > 0) {
1219
+ const either = output.pop();
1220
+ switch (either._tag) {
1221
+ case "Left":
1222
+ {
1223
+ switch (either.left._tag) {
1224
+ case OP_SEQUENTIAL_CASE:
1307
1225
  {
1308
- const l = left.left;
1309
- const r = left.right;
1310
- current = seq(l, seq(r, right));
1226
+ const left = accumulator.pop();
1227
+ const right = accumulator.pop();
1228
+ const value = reducer.sequentialCase(context, left, right);
1229
+ accumulator.push(value);
1311
1230
  break;
1312
1231
  }
1313
- case "Single":
1314
- {
1315
- current = left;
1316
- sequential = List_dist_effectList.cons(right, sequential);
1232
+ case OP_PARALLEL_CASE:
1233
+ {
1234
+ const left = accumulator.pop();
1235
+ const right = accumulator.pop();
1236
+ const value = reducer.parallelCase(context, left, right);
1237
+ accumulator.push(value);
1317
1238
  break;
1318
1239
  }
1319
1240
  }
1320
1241
  break;
1321
1242
  }
1322
- case "Single":
1243
+ case "Right":
1323
1244
  {
1324
- parallel = parallelCollectionCombine(parallel, parallelCollectionMake(current.dataSource, current.blockedRequest));
1325
- if (List_dist_effectList.isNil(stack)) {
1326
- return [parallel, sequential];
1327
- }
1328
- current = stack.head;
1329
- stack = stack.tail;
1245
+ accumulator.push(either.right);
1330
1246
  break;
1331
1247
  }
1332
1248
  }
1333
1249
  }
1334
- throw new Error("BUG: BlockedRequests.step - please report an issue at https://github.com/Effect-TS/query/issues");
1335
- };
1336
-
1337
- /**
1338
- * Merges a collection of requests that must be executed sequentially with a
1339
- * collection of requests that can be executed in parallel. If the collections
1340
- * are both from the same single data source then the requests can be
1341
- * pipelined while preserving ordering guarantees.
1342
- */
1343
- const merge = (sequential, parallel) => {
1344
- if (List_dist_effectList.isNil(sequential)) {
1345
- return List_dist_effectList.of(parallelCollectionToSequentialCollection(parallel));
1346
- }
1347
- if (parallelCollectionIsEmpty(parallel)) {
1348
- return sequential;
1349
- }
1350
- const seqHeadKeys = sequentialCollectionKeys(sequential.head);
1351
- const parKeys = parallelCollectionKeys(parallel);
1352
- if (seqHeadKeys.length === 1 && parKeys.length === 1 && Equal_dist_effectEqual.equals(seqHeadKeys[0], parKeys[0])) {
1353
- return List_dist_effectList.cons(sequentialCollectionCombine(sequential.head, parallelCollectionToSequentialCollection(parallel)), sequential.tail);
1250
+ if (accumulator.length === 0) {
1251
+ throw new Error("BUG: Cause.reduceWithContext - please report an issue at https://github.com/Effect-TS/io/issues");
1354
1252
  }
1355
- return List_dist_effectList.cons(parallelCollectionToSequentialCollection(parallel), sequential);
1356
- };
1357
-
1358
- //
1359
- // circular
1360
- //
1361
-
1362
- /** @internal */
1363
- const EntryTypeId = /*#__PURE__*/Symbol.for("effect/RequestBlock/Entry");
1253
+ return accumulator.pop();
1254
+ });
1364
1255
 
1365
- /** @internal */
1366
- class EntryImpl {
1367
- [EntryTypeId] = blockedRequestVariance;
1368
- constructor(request, result, listeners, ownerId, state) {
1369
- this.request = request;
1370
- this.result = result;
1371
- this.listeners = listeners;
1372
- this.ownerId = ownerId;
1373
- this.state = state;
1374
- }
1375
- }
1256
+ // -----------------------------------------------------------------------------
1257
+ // Errors
1258
+ // -----------------------------------------------------------------------------
1376
1259
 
1377
- /** @internal */
1378
- const blockedRequestVariance = {
1379
- _R: _ => _
1260
+ const makeException = (proto, tag) => {
1261
+ const _tag = {
1262
+ value: tag,
1263
+ enumerable: true
1264
+ };
1265
+ const protoWithToString = {
1266
+ ...proto,
1267
+ toString() {
1268
+ return `${this._tag}: ${this.message}`;
1269
+ }
1270
+ };
1271
+ return message => Object.create(protoWithToString, {
1272
+ _tag,
1273
+ message: {
1274
+ value: message,
1275
+ enumerable: true
1276
+ }
1277
+ });
1380
1278
  };
1381
1279
 
1382
1280
  /** @internal */
1383
- const isEntry = u => {
1384
- return typeof u === "object" && u != null && EntryTypeId in u;
1385
- };
1281
+ const RuntimeExceptionTypeId = /*#__PURE__*/Symbol.for("effect/Cause/errors/RuntimeException");
1386
1282
 
1387
1283
  /** @internal */
1388
- const makeEntry = options => new EntryImpl(options.request, options.result, options.listeners, options.ownerId, options.state);
1284
+ const RuntimeException = /*#__PURE__*/makeException({
1285
+ [RuntimeExceptionTypeId]: RuntimeExceptionTypeId
1286
+ }, "RuntimeException");
1389
1287
 
1390
1288
  /** @internal */
1391
- const RequestBlockParallelTypeId = /*#__PURE__*/Symbol.for("effect/RequestBlock/RequestBlockParallel");
1392
- const parallelVariance = {
1393
- _R: _ => _
1289
+ const isRuntimeException = u => {
1290
+ return typeof u === "object" && u != null && RuntimeExceptionTypeId in u;
1394
1291
  };
1395
- class ParallelImpl {
1396
- [RequestBlockParallelTypeId] = parallelVariance;
1397
- constructor(map) {
1398
- this.map = map;
1399
- }
1400
- }
1401
-
1402
- /** @internal */
1403
- const parallelCollectionEmpty = () => new ParallelImpl(HashMap_dist_effectHashMap.empty());
1404
1292
 
1405
1293
  /** @internal */
1406
- const parallelCollectionMake = (dataSource, blockedRequest) => new ParallelImpl(HashMap_dist_effectHashMap.make([dataSource, Array.of(blockedRequest)]));
1407
-
1408
- /** @internal */
1409
- const parallelCollectionCombine = (self, that) => new ParallelImpl(HashMap_dist_effectHashMap.reduce(self.map, that.map, (map, value, key) => HashMap_dist_effectHashMap.set(map, key, Option_dist_effectOption.match(HashMap_dist_effectHashMap.get(map, key), {
1410
- onNone: () => value,
1411
- onSome: a => [...a, ...value]
1412
- }))));
1294
+ const InterruptedExceptionTypeId = /*#__PURE__*/Symbol.for("effect/Cause/errors/InterruptedException");
1413
1295
 
1414
1296
  /** @internal */
1415
- const parallelCollectionIsEmpty = self => HashMap_dist_effectHashMap.isEmpty(self.map);
1297
+ const InterruptedException = /*#__PURE__*/makeException({
1298
+ [InterruptedExceptionTypeId]: InterruptedExceptionTypeId
1299
+ }, "InterruptedException");
1416
1300
 
1417
1301
  /** @internal */
1418
- const parallelCollectionKeys = self => Array.from(HashMap_dist_effectHashMap.keys(self.map));
1302
+ const isInterruptedException = u => {
1303
+ return typeof u === "object" && u != null && InterruptedExceptionTypeId in u;
1304
+ };
1419
1305
 
1420
1306
  /** @internal */
1421
- const parallelCollectionToSequentialCollection = self => sequentialCollectionMake(HashMap_dist_effectHashMap.map(self.map, x => Array.of(x)));
1307
+ const IllegalArgumentExceptionTypeId = /*#__PURE__*/Symbol.for("effect/Cause/errors/IllegalArgument");
1422
1308
 
1423
1309
  /** @internal */
1424
- const SequentialCollectionTypeId = /*#__PURE__*/Symbol.for("effect/RequestBlock/RequestBlockSequential");
1310
+ const IllegalArgumentException = /*#__PURE__*/makeException({
1311
+ [IllegalArgumentExceptionTypeId]: IllegalArgumentExceptionTypeId
1312
+ }, "IllegalArgumentException");
1425
1313
 
1426
1314
  /** @internal */
1427
- const sequentialVariance = {
1428
- _R: _ => _
1315
+ const isIllegalArgumentException = u => {
1316
+ return typeof u === "object" && u != null && IllegalArgumentExceptionTypeId in u;
1429
1317
  };
1430
- class SequentialImpl {
1431
- [SequentialCollectionTypeId] = sequentialVariance;
1432
- constructor(map) {
1433
- this.map = map;
1434
- }
1435
- }
1436
1318
 
1437
1319
  /** @internal */
1438
- const sequentialCollectionMake = map => new SequentialImpl(map);
1320
+ const NoSuchElementExceptionTypeId = /*#__PURE__*/Symbol.for("effect/Cause/errors/NoSuchElement");
1439
1321
 
1440
1322
  /** @internal */
1441
- const sequentialCollectionCombine = (self, that) => new SequentialImpl(HashMap_dist_effectHashMap.reduce(that.map, self.map, (map, value, key) => HashMap_dist_effectHashMap.set(map, key, Option_dist_effectOption.match(HashMap_dist_effectHashMap.get(map, key), {
1442
- onNone: () => [],
1443
- onSome: a => [...a, ...value]
1444
- }))));
1323
+ const NoSuchElementException = /*#__PURE__*/makeException({
1324
+ [NoSuchElementExceptionTypeId]: NoSuchElementExceptionTypeId
1325
+ }, "NoSuchElementException");
1445
1326
 
1446
1327
  /** @internal */
1447
- const sequentialCollectionKeys = self => Array.from(HashMap_dist_effectHashMap.keys(self.map));
1328
+ const isNoSuchElementException = u => {
1329
+ return typeof u === "object" && u != null && NoSuchElementExceptionTypeId in u;
1330
+ };
1448
1331
 
1449
1332
  /** @internal */
1450
- const sequentialCollectionToChunk = self => Array.from(self.map);
1333
+ const InvalidPubSubCapacityExceptionTypeId = /*#__PURE__*/Symbol.for("effect/Cause/errors/InvalidPubSubCapacityException");
1451
1334
 
1452
1335
  /** @internal */
1336
+ const InvalidPubSubCapacityException = /*#__PURE__*/makeException({
1337
+ [InvalidPubSubCapacityExceptionTypeId]: InvalidPubSubCapacityExceptionTypeId
1338
+ }, "InvalidPubSubCapacityException");
1453
1339
 
1454
- /** @internal */
1340
+ // -----------------------------------------------------------------------------
1341
+ // Pretty Printing
1342
+ // -----------------------------------------------------------------------------
1455
1343
 
1456
- /** @internal */
1344
+ const filterStack = stack => {
1345
+ const lines = stack.split("\n");
1346
+ const out = [];
1347
+ for (let i = 0; i < lines.length; i++) {
1348
+ if (lines[i].includes("EffectPrimitive") || lines[i].includes("Generator.next") || lines[i].includes("FiberRuntime")) {
1349
+ return out.join("\n");
1350
+ } else {
1351
+ out.push(lines[i]);
1352
+ }
1353
+ }
1354
+ return out.join("\n");
1355
+ };
1457
1356
 
1458
1357
  /** @internal */
1358
+ const pretty = cause => {
1359
+ if (isInterruptedOnly(cause)) {
1360
+ return "All fibers interrupted without errors.";
1361
+ }
1362
+ const final = prettyErrors(cause).map(e => {
1363
+ let message = e.message;
1364
+ if (e.stack) {
1365
+ message += `\r\n${filterStack(e.stack)}`;
1366
+ }
1367
+ if (e.span) {
1368
+ let current = e.span;
1369
+ let i = 0;
1370
+ while (current && current._tag === "Span" && i < 10) {
1371
+ message += `\r\n at ${current.name}`;
1372
+ current = Option_dist_effectOption.getOrUndefined(current.parent);
1373
+ i++;
1374
+ }
1375
+ }
1376
+ return message;
1377
+ }).join("\r\n");
1378
+ return final;
1379
+ };
1380
+ class PrettyError {
1381
+ constructor(message, stack, span) {
1382
+ this.message = message;
1383
+ this.stack = stack;
1384
+ this.span = span;
1385
+ }
1386
+ toJSON() {
1387
+ const out = {
1388
+ message: this.message
1389
+ };
1390
+ if (this.stack) {
1391
+ out.stack = this.stack;
1392
+ }
1393
+ if (this.span) {
1394
+ out.span = this.span;
1395
+ }
1396
+ return out;
1397
+ }
1398
+ }
1459
1399
 
1460
- /** @internal */
1400
+ /**
1401
+ * A utility function for generating human-readable error messages from a generic error of type `unknown`.
1402
+ *
1403
+ * Rules:
1404
+ *
1405
+ * 1) If the input `u` is already a string, it's considered a message, and "Error" is added as a prefix.
1406
+ * 2) If `u` has a user-defined `toString()` method, it uses that method and adds "Error" as a prefix.
1407
+ * 3) If `u` is an object and its only (optional) properties are "name", "message", or "_tag", it constructs
1408
+ * an error message based on those properties.
1409
+ * 4) Otherwise, it uses `JSON.stringify` to produce a string representation and uses it as the error message,
1410
+ * with "Error" added as a prefix.
1411
+ *
1412
+ * @internal
1413
+ */
1414
+ const prettyErrorMessage = u => {
1415
+ // 1)
1416
+ if (typeof u === "string") {
1417
+ return `Error: ${u}`;
1418
+ }
1419
+ // 2)
1420
+ if (typeof u === "object" && u != null && "toString" in u && typeof u["toString"] === "function" && u["toString"] !== Object.prototype.toString) {
1421
+ return u["toString"]();
1422
+ }
1423
+ // 3)
1424
+ return `Error: ${JSON.stringify(u)}`;
1425
+ };
1426
+ const spanSymbol$1 = /*#__PURE__*/Symbol.for("effect/SpanAnnotation");
1427
+ const defaultRenderError = error => {
1428
+ const span = typeof error === "object" && error !== null && spanSymbol$1 in error && error[spanSymbol$1];
1429
+ if (typeof error === "object" && error !== null && error instanceof Error) {
1430
+ return new PrettyError(prettyErrorMessage(error), error.stack?.split("\n").filter(_ => _.match(/at (.*)/)).join("\n"), span);
1431
+ }
1432
+ return new PrettyError(prettyErrorMessage(error), void 0, span);
1433
+ };
1461
1434
 
1462
1435
  /** @internal */
1436
+ const prettyErrors = cause => reduceWithContext(cause, void 0, {
1437
+ emptyCase: () => [],
1438
+ dieCase: (_, unknownError) => {
1439
+ return [defaultRenderError(unknownError)];
1440
+ },
1441
+ failCase: (_, error) => {
1442
+ return [defaultRenderError(error)];
1443
+ },
1444
+ interruptCase: () => [],
1445
+ parallelCase: (_, l, r) => [...l, ...r],
1446
+ sequentialCase: (_, l, r) => [...l, ...r]
1447
+ });
1463
1448
 
1464
1449
  /** @internal */
1465
1450
  const OP_STATE_PENDING = "Pending";
@@ -2523,9 +2508,9 @@ const isRequestResolver = u => typeof u === "object" && u != null && RequestReso
2523
2508
  const resolverLocally = /*#__PURE__*/Function_dist_effectFunction.dual(3, (use, self, value) => new RequestResolverImpl(requests => fiberRefLocally(use.runAll(requests), self, value), Chunk_dist_effectChunk.make("Locally", use, self, value)));
2524
2509
 
2525
2510
  /** @internal */
2526
- const requestBlockLocally = (self, ref, value) => reduce(self, LocallyReducer(ref, value));
2511
+ const requestBlockLocally = (self, ref, value) => reduce$1(self, LocallyReducer(ref, value));
2527
2512
  const LocallyReducer = (ref, value) => ({
2528
- emptyCase: () => empty,
2513
+ emptyCase: () => empty$1,
2529
2514
  parCase: (left, right) => par(left, right),
2530
2515
  seqCase: (left, right) => seq(left, right),
2531
2516
  singleCase: (dataSource, blockedRequest) => single(resolverLocally(dataSource, ref, value), blockedRequest)
@@ -2638,8 +2623,8 @@ const currentForkScopeOverride = /*#__PURE__*/GlobalValue_dist_effectGlobalValue
2638
2623
  }));
2639
2624
 
2640
2625
  /** @internal */
2641
- const currentInterruptedCause = /*#__PURE__*/GlobalValue_dist_effectGlobalValue.globalValue( /*#__PURE__*/Symbol.for("effect/FiberRef/currentInterruptedCause"), () => fiberRefUnsafeMake(empty$1, {
2642
- fork: () => empty$1,
2626
+ const currentInterruptedCause = /*#__PURE__*/GlobalValue_dist_effectGlobalValue.globalValue( /*#__PURE__*/Symbol.for("effect/FiberRef/currentInterruptedCause"), () => fiberRefUnsafeMake(empty, {
2627
+ fork: () => empty,
2643
2628
  join: (parent, _) => parent
2644
2629
  }));
2645
2630
 
@@ -3233,8 +3218,8 @@ exports.IllegalArgumentException = IllegalArgumentException;
3233
3218
  exports.IllegalArgumentExceptionTypeId = IllegalArgumentExceptionTypeId;
3234
3219
  exports.InterruptedException = InterruptedException;
3235
3220
  exports.InterruptedExceptionTypeId = InterruptedExceptionTypeId;
3236
- exports.InvalidHubCapacityException = InvalidHubCapacityException;
3237
- exports.InvalidHubCapacityExceptionTypeId = InvalidHubCapacityExceptionTypeId;
3221
+ exports.InvalidPubSubCapacityException = InvalidPubSubCapacityException;
3222
+ exports.InvalidPubSubCapacityExceptionTypeId = InvalidPubSubCapacityExceptionTypeId;
3238
3223
  exports.NoSuchElementException = NoSuchElementException;
3239
3224
  exports.NoSuchElementExceptionTypeId = NoSuchElementExceptionTypeId;
3240
3225
  exports.RequestResolverImpl = RequestResolverImpl;
@@ -3245,8 +3230,8 @@ exports.RuntimeExceptionTypeId = RuntimeExceptionTypeId;
3245
3230
  exports.ScopeTypeId = ScopeTypeId;
3246
3231
  exports.acquireUseRelease = acquireUseRelease;
3247
3232
  exports.allLogLevels = allLogLevels;
3248
- exports.as = as;
3249
- exports.as$1 = as$1;
3233
+ exports.as = as$1;
3234
+ exports.as$1 = as;
3250
3235
  exports.asUnit = asUnit;
3251
3236
  exports.async = async;
3252
3237
  exports.asyncEither = asyncEither;
@@ -3302,8 +3287,8 @@ exports.dieMessage = dieMessage;
3302
3287
  exports.dieOption = dieOption;
3303
3288
  exports.dieSync = dieSync;
3304
3289
  exports.either = either;
3305
- exports.empty = empty$1;
3306
- exports.empty$1 = empty;
3290
+ exports.empty = empty;
3291
+ exports.empty$1 = empty$1;
3307
3292
  exports.exit = exit;
3308
3293
  exports.exitAs = exitAs;
3309
3294
  exports.exitAsUnit = exitAsUnit;
@@ -3340,8 +3325,8 @@ exports.exitZipParLeft = exitZipParLeft;
3340
3325
  exports.exitZipParRight = exitZipParRight;
3341
3326
  exports.exitZipRight = exitZipRight;
3342
3327
  exports.exitZipWith = exitZipWith;
3343
- exports.fail = fail;
3344
- exports.fail$1 = fail$1;
3328
+ exports.fail = fail$1;
3329
+ exports.fail$1 = fail;
3345
3330
  exports.failCause = failCause;
3346
3331
  exports.failCauseSync = failCauseSync;
3347
3332
  exports.failSync = failSync;
@@ -3373,19 +3358,19 @@ exports.fiberRefUpdateSome = fiberRefUpdateSome;
3373
3358
  exports.fiberRefUpdateSomeAndGet = fiberRefUpdateSomeAndGet;
3374
3359
  exports.filter = filter;
3375
3360
  exports.find = find;
3376
- exports.flatMap = flatMap;
3377
- exports.flatMap$1 = flatMap$1;
3361
+ exports.flatMap = flatMap$1;
3362
+ exports.flatMap$1 = flatMap;
3378
3363
  exports.flatMapStep = flatMapStep;
3379
- exports.flatten = flatten;
3380
- exports.flatten$1 = flatten$1;
3364
+ exports.flatten = flatten$1;
3365
+ exports.flatten$1 = flatten;
3381
3366
  exports.flatten$2 = flatten$2;
3382
3367
  exports.flip = flip;
3383
3368
  exports.flipCauseOption = flipCauseOption;
3384
3369
  exports.forEachSequential = forEachSequential;
3385
3370
  exports.forEachSequentialDiscard = forEachSequentialDiscard;
3386
3371
  exports.if_ = if_;
3387
- exports.interrupt = interrupt;
3388
- exports.interrupt$1 = interrupt$1;
3372
+ exports.interrupt = interrupt$1;
3373
+ exports.interrupt$1 = interrupt;
3389
3374
  exports.interruptAsFiber = interruptAsFiber;
3390
3375
  exports.interruptFiber = interruptFiber;
3391
3376
  exports.interruptOption = interruptOption;
@@ -3426,8 +3411,8 @@ exports.logLevelTrace = logLevelTrace;
3426
3411
  exports.logLevelWarning = logLevelWarning;
3427
3412
  exports.makeEffectError = makeEffectError;
3428
3413
  exports.makeEntry = makeEntry;
3429
- exports.map = map;
3430
- exports.map$1 = map$1;
3414
+ exports.map = map$1;
3415
+ exports.map$1 = map;
3431
3416
  exports.mapBoth = mapBoth;
3432
3417
  exports.mapError = mapError;
3433
3418
  exports.mapInputContext = mapInputContext;
@@ -3452,8 +3437,8 @@ exports.pretty = pretty;
3452
3437
  exports.prettyErrors = prettyErrors;
3453
3438
  exports.provideContext = provideContext;
3454
3439
  exports.provideSomeContext = provideSomeContext;
3455
- exports.reduce = reduce$1;
3456
- exports.reduce$1 = reduce;
3440
+ exports.reduce = reduce;
3441
+ exports.reduce$1 = reduce$1;
3457
3442
  exports.reduceWithContext = reduceWithContext;
3458
3443
  exports.releaseMapAdd = releaseMapAdd;
3459
3444
  exports.releaseMapMake = releaseMapMake;