effect 2.0.0-next.38 → 2.0.0-next.39

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 (767) hide show
  1. package/Bigint/dist/effect-Bigint.esm.js +346 -5
  2. package/Boolean/dist/effect-Boolean.esm.js +230 -5
  3. package/Brand/dist/effect-Brand.esm.js +204 -20
  4. package/Cache/dist/effect-Cache.cjs.dev.js +13 -13
  5. package/Cache/dist/effect-Cache.cjs.prod.js +13 -13
  6. package/Cache/dist/effect-Cache.esm.js +111 -74
  7. package/Cause/dist/effect-Cause.esm.js +668 -33
  8. package/Channel/dist/effect-Channel.cjs.dev.js +36 -36
  9. package/Channel/dist/effect-Channel.cjs.prod.js +36 -36
  10. package/Channel/dist/effect-Channel.esm.js +1001 -107
  11. package/ChannelChildExecutorDecision/dist/effect-ChannelChildExecutorDecision.esm.js +112 -3
  12. package/ChannelMergeDecision/dist/effect-ChannelMergeDecision.esm.js +60 -3
  13. package/ChannelMergeState/dist/effect-ChannelMergeState.esm.js +101 -3
  14. package/ChannelMergeStrategy/dist/effect-ChannelMergeStrategy.esm.js +84 -3
  15. package/ChannelSingleProducerAsyncInput/dist/effect-ChannelSingleProducerAsyncInput.cjs.dev.js +28 -28
  16. package/ChannelSingleProducerAsyncInput/dist/effect-ChannelSingleProducerAsyncInput.cjs.prod.js +28 -28
  17. package/ChannelSingleProducerAsyncInput/dist/effect-ChannelSingleProducerAsyncInput.esm.js +47 -91
  18. package/ChannelUpstreamPullRequest/dist/effect-ChannelUpstreamPullRequest.esm.js +84 -3
  19. package/ChannelUpstreamPullStrategy/dist/effect-ChannelUpstreamPullStrategy.esm.js +83 -3
  20. package/Chunk/dist/effect-Chunk.esm.js +1084 -20
  21. package/Clock/dist/effect-Clock.cjs.dev.js +3 -3
  22. package/Clock/dist/effect-Clock.cjs.prod.js +3 -3
  23. package/Clock/dist/effect-Clock.esm.js +78 -42
  24. package/Config/dist/effect-Config.esm.js +321 -37
  25. package/ConfigError/dist/effect-ConfigError.esm.js +185 -21
  26. package/ConfigProvider/dist/effect-ConfigProvider.esm.js +198 -39
  27. package/ConfigProviderPathPatch/dist/effect-ConfigProviderPathPatch.esm.js +70 -24
  28. package/ConfigSecret/dist/effect-ConfigSecret.esm.js +63 -22
  29. package/Console/dist/effect-Console.cjs.dev.js +22 -22
  30. package/Console/dist/effect-Console.cjs.prod.js +22 -22
  31. package/Console/dist/effect-Console.esm.js +154 -83
  32. package/Context/dist/effect-Context.esm.js +295 -17
  33. package/Data/dist/effect-Data.esm.js +163 -7
  34. package/DefaultServices/dist/effect-DefaultServices.cjs.dev.js +3 -3
  35. package/DefaultServices/dist/effect-DefaultServices.cjs.prod.js +3 -3
  36. package/DefaultServices/dist/effect-DefaultServices.esm.js +24 -42
  37. package/Deferred/dist/effect-Deferred.esm.js +206 -33
  38. package/Differ/dist/effect-Differ.esm.js +137 -26
  39. package/Duration/dist/effect-Duration.cjs.dev.js +2 -1
  40. package/Duration/dist/effect-Duration.cjs.mjs +1 -0
  41. package/Duration/dist/effect-Duration.cjs.prod.js +2 -1
  42. package/Duration/dist/effect-Duration.esm.js +438 -16
  43. package/Effect/dist/effect-Effect.cjs.dev.js +26 -26
  44. package/Effect/dist/effect-Effect.cjs.prod.js +26 -26
  45. package/Effect/dist/effect-Effect.esm.js +3093 -89
  46. package/Effectable/dist/effect-Effectable.esm.js +77 -10
  47. package/Either/dist/effect-Either.esm.js +442 -13
  48. package/Encoding/dist/effect-Encoding.esm.js +123 -14
  49. package/Equal/dist/effect-Equal.esm.js +57 -6
  50. package/Equivalence/dist/effect-Equivalence.esm.js +196 -2
  51. package/Error/dist/effect-Error.cjs.dev.js +27 -27
  52. package/Error/dist/effect-Error.cjs.prod.js +27 -27
  53. package/Error/dist/effect-Error.esm.js +47 -91
  54. package/ExecutionStrategy/dist/effect-ExecutionStrategy.esm.js +99 -2
  55. package/Exit/dist/effect-Exit.esm.js +332 -33
  56. package/Fiber/dist/effect-Fiber.cjs.dev.js +18 -18
  57. package/Fiber/dist/effect-Fiber.cjs.prod.js +18 -18
  58. package/Fiber/dist/effect-Fiber.esm.js +423 -77
  59. package/FiberId/dist/effect-FiberId.esm.js +161 -20
  60. package/FiberRef/dist/effect-FiberRef.cjs.dev.js +14 -14
  61. package/FiberRef/dist/effect-FiberRef.cjs.prod.js +14 -14
  62. package/FiberRef/dist/effect-FiberRef.esm.js +289 -75
  63. package/FiberRefs/dist/effect-FiberRefs.esm.js +107 -34
  64. package/FiberRefsPatch/dist/effect-FiberRefsPatch.esm.js +76 -35
  65. package/FiberStatus/dist/effect-FiberStatus.esm.js +89 -7
  66. package/Function/dist/effect-Function.esm.js +492 -1
  67. package/GlobalValue/dist/effect-GlobalValue.esm.js +20 -1
  68. package/GroupBy/dist/effect-GroupBy.cjs.dev.js +37 -37
  69. package/GroupBy/dist/effect-GroupBy.cjs.prod.js +37 -37
  70. package/GroupBy/dist/effect-GroupBy.esm.js +63 -108
  71. package/Hash/dist/effect-Hash.esm.js +164 -5
  72. package/HashMap/dist/effect-HashMap.esm.js +287 -18
  73. package/HashSet/dist/effect-HashSet.esm.js +227 -18
  74. package/Hub/dist/effect-Hub.cjs.dev.js +13 -13
  75. package/Hub/dist/effect-Hub.cjs.prod.js +13 -13
  76. package/Hub/dist/effect-Hub.esm.js +148 -74
  77. package/Inspectable/dist/effect-Inspectable.esm.js +38 -1
  78. package/KeyedPool/dist/effect-KeyedPool.cjs.dev.js +14 -14
  79. package/KeyedPool/dist/effect-KeyedPool.cjs.prod.js +14 -14
  80. package/KeyedPool/dist/effect-KeyedPool.esm.js +104 -75
  81. package/Layer/dist/effect-Layer.cjs.dev.js +22 -22
  82. package/Layer/dist/effect-Layer.cjs.prod.js +22 -22
  83. package/Layer/dist/effect-Layer.esm.js +557 -83
  84. package/List/dist/effect-List.esm.js +816 -21
  85. package/LogLevel/dist/effect-LogLevel.esm.js +202 -33
  86. package/LogSpan/dist/effect-LogSpan.esm.js +24 -1
  87. package/Logger/dist/effect-Logger.cjs.dev.js +24 -24
  88. package/Logger/dist/effect-Logger.cjs.prod.js +24 -24
  89. package/Logger/dist/effect-Logger.esm.js +198 -85
  90. package/Metric/dist/effect-Metric.cjs.dev.js +12 -12
  91. package/Metric/dist/effect-Metric.cjs.prod.js +12 -12
  92. package/Metric/dist/effect-Metric.esm.js +395 -71
  93. package/MetricBoundaries/dist/effect-MetricBoundaries.esm.js +52 -22
  94. package/MetricHook/dist/effect-MetricHook.cjs.dev.js +3 -3
  95. package/MetricHook/dist/effect-MetricHook.cjs.prod.js +3 -3
  96. package/MetricHook/dist/effect-MetricHook.esm.js +68 -27
  97. package/MetricKey/dist/effect-MetricKey.cjs.dev.js +4 -4
  98. package/MetricKey/dist/effect-MetricKey.cjs.prod.js +4 -4
  99. package/MetricKey/dist/effect-MetricKey.esm.js +104 -23
  100. package/MetricKeyType/dist/effect-MetricKeyType.cjs.dev.js +3 -3
  101. package/MetricKeyType/dist/effect-MetricKeyType.cjs.prod.js +3 -3
  102. package/MetricKeyType/dist/effect-MetricKeyType.esm.js +147 -18
  103. package/MetricLabel/dist/effect-MetricLabel.esm.js +41 -9
  104. package/MetricPair/dist/effect-MetricPair.esm.js +38 -3
  105. package/MetricPolling/dist/effect-MetricPolling.cjs.dev.js +18 -18
  106. package/MetricPolling/dist/effect-MetricPolling.cjs.prod.js +18 -18
  107. package/MetricPolling/dist/effect-MetricPolling.esm.js +84 -77
  108. package/MetricRegistry/dist/effect-MetricRegistry.cjs.dev.js +5 -5
  109. package/MetricRegistry/dist/effect-MetricRegistry.cjs.prod.js +5 -5
  110. package/MetricRegistry/dist/effect-MetricRegistry.esm.js +28 -33
  111. package/MetricState/dist/effect-MetricState.esm.js +151 -9
  112. package/MutableHashMap/dist/effect-MutableHashMap.esm.js +128 -20
  113. package/MutableHashSet/dist/effect-MutableHashSet.esm.js +90 -21
  114. package/MutableList/dist/effect-MutableList.esm.js +264 -4
  115. package/MutableQueue/dist/effect-MutableQueue.esm.js +187 -22
  116. package/MutableRef/dist/effect-MutableRef.esm.js +156 -9
  117. package/NonEmptyIterable/dist/effect-NonEmptyIterable.esm.js +28 -1
  118. package/Number/dist/effect-Number.esm.js +369 -5
  119. package/Option/dist/effect-Option.esm.js +1071 -15
  120. package/Order/dist/effect-Order.esm.js +263 -2
  121. package/Ordering/dist/effect-Ordering.esm.js +88 -2
  122. package/Pipeable/dist/effect-Pipeable.esm.js +44 -1
  123. package/Pool/dist/effect-Pool.cjs.dev.js +14 -14
  124. package/Pool/dist/effect-Pool.cjs.prod.js +14 -14
  125. package/Pool/dist/effect-Pool.esm.js +104 -75
  126. package/Predicate/dist/effect-Predicate.esm.js +634 -2
  127. package/Queue/dist/effect-Queue.cjs.dev.js +13 -13
  128. package/Queue/dist/effect-Queue.cjs.prod.js +13 -13
  129. package/Queue/dist/effect-Queue.esm.js +328 -74
  130. package/Random/dist/effect-Random.cjs.dev.js +3 -3
  131. package/Random/dist/effect-Random.cjs.prod.js +3 -3
  132. package/Random/dist/effect-Random.esm.js +83 -42
  133. package/ReadonlyArray/dist/effect-ReadonlyArray.esm.js +1445 -19
  134. package/ReadonlyRecord/dist/effect-ReadonlyRecord.esm.js +518 -17
  135. package/RedBlackTree/dist/effect-RedBlackTree.esm.js +314 -22
  136. package/Ref/dist/effect-Ref.esm.js +111 -33
  137. package/Reloadable/dist/effect-Reloadable.cjs.dev.js +23 -23
  138. package/Reloadable/dist/effect-Reloadable.cjs.prod.js +23 -23
  139. package/Reloadable/dist/effect-Reloadable.esm.js +88 -84
  140. package/Request/dist/effect-Request.cjs.dev.js +13 -13
  141. package/Request/dist/effect-Request.cjs.prod.js +13 -13
  142. package/Request/dist/effect-Request.esm.js +160 -74
  143. package/RequestBlock/dist/effect-RequestBlock.cjs.dev.js +28 -28
  144. package/RequestBlock/dist/effect-RequestBlock.cjs.prod.js +28 -28
  145. package/RequestBlock/dist/effect-RequestBlock.esm.js +103 -91
  146. package/RequestResolver/dist/effect-RequestResolver.cjs.dev.js +28 -28
  147. package/RequestResolver/dist/effect-RequestResolver.cjs.prod.js +28 -28
  148. package/RequestResolver/dist/effect-RequestResolver.esm.js +191 -91
  149. package/Resource/dist/effect-Resource.cjs.dev.js +19 -19
  150. package/Resource/dist/effect-Resource.cjs.prod.js +19 -19
  151. package/Resource/dist/effect-Resource.esm.js +70 -79
  152. package/Runtime/dist/effect-Runtime.cjs.dev.js +20 -20
  153. package/Runtime/dist/effect-Runtime.cjs.prod.js +20 -20
  154. package/Runtime/dist/effect-Runtime.esm.js +157 -79
  155. package/RuntimeFlags/dist/effect-RuntimeFlags.cjs.dev.js +24 -24
  156. package/RuntimeFlags/dist/effect-RuntimeFlags.cjs.prod.js +24 -24
  157. package/RuntimeFlags/dist/effect-RuntimeFlags.esm.js +305 -85
  158. package/RuntimeFlagsPatch/dist/effect-RuntimeFlagsPatch.esm.js +158 -27
  159. package/STM/dist/effect-STM.cjs.dev.js +41 -41
  160. package/STM/dist/effect-STM.cjs.prod.js +41 -41
  161. package/STM/dist/effect-STM.esm.js +1193 -112
  162. package/Schedule/dist/effect-Schedule.cjs.dev.js +11 -11
  163. package/Schedule/dist/effect-Schedule.cjs.prod.js +11 -11
  164. package/Schedule/dist/effect-Schedule.esm.js +957 -57
  165. package/ScheduleDecision/dist/effect-ScheduleDecision.cjs.dev.js +4 -4
  166. package/ScheduleDecision/dist/effect-ScheduleDecision.cjs.prod.js +4 -4
  167. package/ScheduleDecision/dist/effect-ScheduleDecision.esm.js +48 -24
  168. package/ScheduleInterval/dist/effect-ScheduleInterval.cjs.dev.js +2 -2
  169. package/ScheduleInterval/dist/effect-ScheduleInterval.cjs.prod.js +2 -2
  170. package/ScheduleInterval/dist/effect-ScheduleInterval.esm.js +130 -17
  171. package/ScheduleIntervals/dist/effect-ScheduleIntervals.cjs.dev.js +3 -3
  172. package/ScheduleIntervals/dist/effect-ScheduleIntervals.cjs.prod.js +3 -3
  173. package/ScheduleIntervals/dist/effect-ScheduleIntervals.esm.js +105 -23
  174. package/Scheduler/dist/effect-Scheduler.esm.js +326 -34
  175. package/Scope/dist/effect-Scope.cjs.dev.js +12 -12
  176. package/Scope/dist/effect-Scope.cjs.prod.js +12 -12
  177. package/Scope/dist/effect-Scope.esm.js +117 -71
  178. package/ScopedCache/dist/effect-ScopedCache.cjs.dev.js +14 -14
  179. package/ScopedCache/dist/effect-ScopedCache.cjs.prod.js +14 -14
  180. package/ScopedCache/dist/effect-ScopedCache.esm.js +52 -75
  181. package/ScopedRef/dist/effect-ScopedRef.cjs.dev.js +19 -19
  182. package/ScopedRef/dist/effect-ScopedRef.cjs.prod.js +19 -19
  183. package/ScopedRef/dist/effect-ScopedRef.esm.js +71 -79
  184. package/Sink/dist/effect-Sink.cjs.dev.js +32 -32
  185. package/Sink/dist/effect-Sink.cjs.prod.js +32 -32
  186. package/Sink/dist/effect-Sink.esm.js +997 -101
  187. package/SortedMap/dist/effect-SortedMap.esm.js +168 -23
  188. package/SortedSet/dist/effect-SortedSet.esm.js +263 -23
  189. package/Stream/dist/effect-Stream.cjs.dev.js +37 -37
  190. package/Stream/dist/effect-Stream.cjs.prod.js +37 -37
  191. package/Stream/dist/effect-Stream.esm.js +2879 -108
  192. package/StreamHaltStrategy/dist/effect-StreamHaltStrategy.esm.js +97 -2
  193. package/String/dist/effect-String.esm.js +600 -17
  194. package/Struct/dist/effect-Struct.esm.js +125 -4
  195. package/SubscriptionRef/dist/effect-SubscriptionRef.cjs.dev.js +37 -37
  196. package/SubscriptionRef/dist/effect-SubscriptionRef.cjs.prod.js +37 -37
  197. package/SubscriptionRef/dist/effect-SubscriptionRef.esm.js +160 -108
  198. package/Supervisor/dist/effect-Supervisor.cjs.dev.js +24 -24
  199. package/Supervisor/dist/effect-Supervisor.cjs.prod.js +24 -24
  200. package/Supervisor/dist/effect-Supervisor.esm.js +148 -85
  201. package/Symbol/dist/effect-Symbol.esm.js +30 -4
  202. package/SynchronizedRef/dist/effect-SynchronizedRef.cjs.dev.js +18 -18
  203. package/SynchronizedRef/dist/effect-SynchronizedRef.cjs.prod.js +18 -18
  204. package/SynchronizedRef/dist/effect-SynchronizedRef.esm.js +160 -78
  205. package/TArray/dist/effect-TArray.cjs.dev.js +43 -43
  206. package/TArray/dist/effect-TArray.cjs.prod.js +43 -43
  207. package/TArray/dist/effect-TArray.esm.js +367 -114
  208. package/TDeferred/dist/effect-TDeferred.cjs.dev.js +42 -42
  209. package/TDeferred/dist/effect-TDeferred.cjs.prod.js +42 -42
  210. package/TDeferred/dist/effect-TDeferred.esm.js +63 -113
  211. package/THub/dist/effect-THub.cjs.dev.js +44 -44
  212. package/THub/dist/effect-THub.cjs.prod.js +44 -44
  213. package/THub/dist/effect-THub.esm.js +157 -115
  214. package/TMap/dist/effect-TMap.cjs.dev.js +45 -45
  215. package/TMap/dist/effect-TMap.cjs.prod.js +45 -45
  216. package/TMap/dist/effect-TMap.esm.js +373 -116
  217. package/TPriorityQueue/dist/effect-TPriorityQueue.cjs.dev.js +41 -41
  218. package/TPriorityQueue/dist/effect-TPriorityQueue.cjs.prod.js +41 -41
  219. package/TPriorityQueue/dist/effect-TPriorityQueue.esm.js +184 -113
  220. package/TQueue/dist/effect-TQueue.cjs.dev.js +44 -44
  221. package/TQueue/dist/effect-TQueue.cjs.prod.js +44 -44
  222. package/TQueue/dist/effect-TQueue.esm.js +293 -115
  223. package/TRandom/dist/effect-TRandom.cjs.dev.js +43 -43
  224. package/TRandom/dist/effect-TRandom.cjs.prod.js +43 -43
  225. package/TRandom/dist/effect-TRandom.esm.js +93 -114
  226. package/TReentrantLock/dist/effect-TReentrantLock.cjs.dev.js +41 -41
  227. package/TReentrantLock/dist/effect-TReentrantLock.cjs.prod.js +41 -41
  228. package/TReentrantLock/dist/effect-TReentrantLock.esm.js +199 -112
  229. package/TRef/dist/effect-TRef.cjs.dev.js +41 -41
  230. package/TRef/dist/effect-TRef.cjs.prod.js +41 -41
  231. package/TRef/dist/effect-TRef.esm.js +116 -112
  232. package/TSemaphore/dist/effect-TSemaphore.cjs.dev.js +43 -43
  233. package/TSemaphore/dist/effect-TSemaphore.cjs.prod.js +43 -43
  234. package/TSemaphore/dist/effect-TSemaphore.esm.js +97 -114
  235. package/TSet/dist/effect-TSet.cjs.dev.js +45 -45
  236. package/TSet/dist/effect-TSet.cjs.prod.js +45 -45
  237. package/TSet/dist/effect-TSet.esm.js +268 -116
  238. package/Take/dist/effect-Take.cjs.dev.js +28 -28
  239. package/Take/dist/effect-Take.cjs.prod.js +28 -28
  240. package/Take/dist/effect-Take.esm.js +190 -91
  241. package/TestAnnotation/dist/effect-TestAnnotation.esm.js +111 -26
  242. package/TestAnnotationMap/dist/effect-TestAnnotationMap.esm.js +101 -2
  243. package/TestAnnotations/dist/effect-TestAnnotations.cjs.dev.js +7 -7
  244. package/TestAnnotations/dist/effect-TestAnnotations.cjs.prod.js +7 -7
  245. package/TestAnnotations/dist/effect-TestAnnotations.esm.js +83 -59
  246. package/TestClock/dist/effect-TestClock.cjs.dev.js +24 -24
  247. package/TestClock/dist/effect-TestClock.cjs.prod.js +24 -24
  248. package/TestClock/dist/effect-TestClock.esm.js +411 -87
  249. package/TestConfig/dist/effect-TestConfig.esm.js +27 -18
  250. package/TestContext/dist/effect-TestContext.cjs.dev.js +31 -31
  251. package/TestContext/dist/effect-TestContext.cjs.prod.js +31 -31
  252. package/TestContext/dist/effect-TestContext.esm.js +29 -98
  253. package/TestLive/dist/effect-TestLive.cjs.dev.js +3 -3
  254. package/TestLive/dist/effect-TestLive.cjs.prod.js +3 -3
  255. package/TestLive/dist/effect-TestLive.esm.js +48 -42
  256. package/TestServices/dist/effect-TestServices.cjs.dev.js +29 -29
  257. package/TestServices/dist/effect-TestServices.cjs.prod.js +29 -29
  258. package/TestServices/dist/effect-TestServices.esm.js +269 -96
  259. package/TestSized/dist/effect-TestSized.esm.js +50 -33
  260. package/Tracer/dist/effect-Tracer.cjs.dev.js +3 -3
  261. package/Tracer/dist/effect-Tracer.cjs.prod.js +3 -3
  262. package/Tracer/dist/effect-Tracer.esm.js +68 -42
  263. package/Tuple/dist/effect-Tuple.esm.js +173 -4
  264. package/Unify/dist/effect-Unify.esm.js +40 -2
  265. package/Utils/dist/effect-Utils.esm.js +352 -3
  266. package/dist/{Cache-e7468f24.cjs.dev.js → Cache-1688e584.cjs.dev.js} +1 -1
  267. package/dist/{Cache-65f7e875.cjs.prod.js → Cache-8f2f2b55.cjs.prod.js} +1 -1
  268. package/dist/{Channel-482334e0.cjs.prod.js → Channel-2ce019f1.cjs.prod.js} +2 -2
  269. package/dist/{Channel-4099f225.cjs.dev.js → Channel-544108d2.cjs.dev.js} +2 -2
  270. package/dist/{ChannelSingleProducerAsyncInput-e1260219.cjs.dev.js → ChannelSingleProducerAsyncInput-62f4749c.cjs.dev.js} +1 -1
  271. package/dist/{ChannelSingleProducerAsyncInput-9d23aac3.cjs.prod.js → ChannelSingleProducerAsyncInput-6e0084c3.cjs.prod.js} +1 -1
  272. package/dist/{Clock-0b777b1b.cjs.prod.js → Clock-09ecce0a.cjs.prod.js} +1 -1
  273. package/dist/{Clock-80bf3b4b.cjs.dev.js → Clock-bec722c1.cjs.dev.js} +1 -1
  274. package/dist/{Console-69b2fba9.cjs.prod.js → Console-150b7b40.cjs.prod.js} +3 -3
  275. package/dist/{Console-ff87924b.cjs.dev.js → Console-4825ee9f.cjs.dev.js} +3 -3
  276. package/dist/{DefaultServices-c1a6b148.cjs.dev.js → DefaultServices-d5740d37.cjs.dev.js} +1 -1
  277. package/dist/{DefaultServices-6a83f0aa.cjs.prod.js → DefaultServices-df7495bb.cjs.prod.js} +1 -1
  278. package/dist/{Duration-011e7325.cjs.prod.js → Duration-0bc08d03.cjs.prod.js} +8 -0
  279. package/dist/{Duration-5ac57eb4.cjs.dev.js → Duration-604874d1.cjs.dev.js} +8 -0
  280. package/dist/{Effect-f0659a90.cjs.prod.js → Effect-1442090f.cjs.prod.js} +9 -9
  281. package/dist/{Effect-8392a3cd.cjs.dev.js → Effect-6e9780e6.cjs.dev.js} +9 -9
  282. package/dist/{Error-5edcd83a.cjs.dev.js → Error-5ab157f2.cjs.dev.js} +1 -1
  283. package/dist/{Error-d7f0de14.cjs.prod.js → Error-e9d25c53.cjs.prod.js} +1 -1
  284. package/dist/{Fiber-c797d281.cjs.dev.js → Fiber-6432d5f7.cjs.dev.js} +3 -3
  285. package/dist/{Fiber-3b2a4091.cjs.prod.js → Fiber-e61b3c65.cjs.prod.js} +3 -3
  286. package/dist/{FiberRef-61cd9abe.cjs.dev.js → FiberRef-1db44a9b.cjs.dev.js} +2 -2
  287. package/dist/{FiberRef-0b332631.cjs.prod.js → FiberRef-efb4a3ac.cjs.prod.js} +2 -2
  288. package/dist/{GroupBy-bd212344.cjs.dev.js → GroupBy-8a8149b4.cjs.dev.js} +1 -1
  289. package/dist/{GroupBy-bb08aeb2.cjs.prod.js → GroupBy-b74084af.cjs.prod.js} +1 -1
  290. package/dist/{Hub-926961e9.cjs.prod.js → Hub-6e64debd.cjs.prod.js} +2 -2
  291. package/dist/{Hub-af0194fd.cjs.dev.js → Hub-74834668.cjs.dev.js} +2 -2
  292. package/dist/{KeyedPool-f7b4675c.cjs.dev.js → KeyedPool-b05481e9.cjs.dev.js} +3 -3
  293. package/dist/{KeyedPool-0ddba691.cjs.prod.js → KeyedPool-cd8abf95.cjs.prod.js} +3 -3
  294. package/dist/{Layer-ec0ab71c.cjs.prod.js → Layer-297269fd.cjs.prod.js} +1 -1
  295. package/dist/{Layer-6ad0ac38.cjs.dev.js → Layer-c69f3fdc.cjs.dev.js} +1 -1
  296. package/dist/{Logger-620f1fa9.cjs.dev.js → Logger-680763c7.cjs.dev.js} +2 -2
  297. package/dist/{Logger-3df1180d.cjs.prod.js → Logger-7a664cc3.cjs.prod.js} +2 -2
  298. package/dist/{Metric-ebc35919.cjs.dev.js → Metric-09d012ff.cjs.dev.js} +1 -1
  299. package/dist/{Metric-9607aa06.cjs.prod.js → Metric-b7563a68.cjs.prod.js} +1 -1
  300. package/dist/{MetricHook-fdc68e37.cjs.dev.js → MetricHook-3104e93b.cjs.dev.js} +1 -1
  301. package/dist/{MetricHook-a742d813.cjs.prod.js → MetricHook-efd05d72.cjs.prod.js} +1 -1
  302. package/dist/{MetricKey-b17b2c9a.cjs.prod.js → MetricKey-9cfcaec8.cjs.prod.js} +1 -1
  303. package/dist/{MetricKey-be3afc49.cjs.dev.js → MetricKey-c3ba437e.cjs.dev.js} +1 -1
  304. package/dist/{MetricKeyType-3dfa6802.cjs.prod.js → MetricKeyType-6d2d9036.cjs.prod.js} +1 -1
  305. package/dist/{MetricKeyType-fba3e0ec.cjs.dev.js → MetricKeyType-c1d7ebe8.cjs.dev.js} +1 -1
  306. package/dist/{MetricPolling-061de6b9.cjs.dev.js → MetricPolling-5af0ff67.cjs.dev.js} +3 -3
  307. package/dist/{MetricPolling-6e5e4b2e.cjs.prod.js → MetricPolling-a0a4e798.cjs.prod.js} +3 -3
  308. package/dist/{MetricRegistry-4df5e56b.cjs.dev.js → MetricRegistry-e4af936b.cjs.dev.js} +1 -1
  309. package/dist/{MetricRegistry-da2c65bd.cjs.prod.js → MetricRegistry-ff6df283.cjs.prod.js} +1 -1
  310. package/dist/{Pool-d8e4142e.cjs.prod.js → Pool-54389592.cjs.prod.js} +1 -1
  311. package/dist/{Pool-e8a79a57.cjs.dev.js → Pool-fe1b506a.cjs.dev.js} +1 -1
  312. package/dist/{Queue-de055f1c.cjs.prod.js → Queue-5f954287.cjs.prod.js} +1 -1
  313. package/dist/{Queue-55a39179.cjs.dev.js → Queue-8d082fe4.cjs.dev.js} +1 -1
  314. package/dist/{Random-d6a2f801.cjs.dev.js → Random-35304046.cjs.dev.js} +1 -1
  315. package/dist/{Random-ade126e8.cjs.prod.js → Random-b4709b6a.cjs.prod.js} +1 -1
  316. package/dist/{Reloadable-5f1ed95c.cjs.prod.js → Reloadable-2b8ba75d.cjs.prod.js} +5 -5
  317. package/dist/{Reloadable-e8bcb00e.cjs.dev.js → Reloadable-b01c9297.cjs.dev.js} +5 -5
  318. package/dist/{Request-45226c5f.cjs.prod.js → Request-53592fe4.cjs.prod.js} +2 -2
  319. package/dist/{Request-9d12c3ba.cjs.dev.js → Request-d3b63af6.cjs.dev.js} +2 -2
  320. package/dist/{RequestBlock-0e9f377b.cjs.dev.js → RequestBlock-1aa4c3bd.cjs.dev.js} +1 -1
  321. package/dist/{RequestBlock-d4c7c31d.cjs.prod.js → RequestBlock-8c3b51d1.cjs.prod.js} +1 -1
  322. package/dist/{RequestResolver-8764ee8c.cjs.prod.js → RequestResolver-133197d5.cjs.prod.js} +2 -2
  323. package/dist/{RequestResolver-b287a04a.cjs.dev.js → RequestResolver-86c21b80.cjs.dev.js} +2 -2
  324. package/dist/{Resource-f95cf55a.cjs.prod.js → Resource-2530fe45.cjs.prod.js} +3 -3
  325. package/dist/{Resource-4f2b627f.cjs.dev.js → Resource-e50b4b25.cjs.dev.js} +3 -3
  326. package/dist/{Runtime-969e6cb2.cjs.prod.js → Runtime-0d643f0c.cjs.prod.js} +1 -1
  327. package/dist/{Runtime-dc0234a0.cjs.dev.js → Runtime-c4b887ff.cjs.dev.js} +1 -1
  328. package/dist/{RuntimeFlags-7a400d83.cjs.prod.js → RuntimeFlags-9d8fac5a.cjs.prod.js} +1 -1
  329. package/dist/{RuntimeFlags-60dfc3f5.cjs.dev.js → RuntimeFlags-f67e3984.cjs.dev.js} +1 -1
  330. package/dist/{STM-b8d9766d.cjs.prod.js → STM-23270be2.cjs.prod.js} +2 -2
  331. package/dist/{STM-af9026e6.cjs.dev.js → STM-5a4c9921.cjs.dev.js} +2 -2
  332. package/dist/{Schedule-58648908.cjs.prod.js → Schedule-0444792d.cjs.prod.js} +1 -1
  333. package/dist/{Schedule-76089454.cjs.dev.js → Schedule-b6c7b49a.cjs.dev.js} +1 -1
  334. package/dist/{ScheduleDecision-fbd6bb79.cjs.prod.js → ScheduleDecision-369f2d2b.cjs.prod.js} +1 -1
  335. package/dist/{ScheduleDecision-9555a6dc.cjs.dev.js → ScheduleDecision-ba8d0e87.cjs.dev.js} +1 -1
  336. package/dist/{ScheduleInterval-3ca6dbb0.cjs.dev.js → ScheduleInterval-51f42533.cjs.dev.js} +1 -1
  337. package/dist/{ScheduleInterval-15c7da05.cjs.prod.js → ScheduleInterval-78037484.cjs.prod.js} +1 -1
  338. package/dist/{ScheduleIntervals-36ff45c1.cjs.dev.js → ScheduleIntervals-b0bfcf3b.cjs.dev.js} +1 -1
  339. package/dist/{ScheduleIntervals-a5bbdb0d.cjs.prod.js → ScheduleIntervals-db13140c.cjs.prod.js} +1 -1
  340. package/dist/{Scope-e3e714b4.cjs.prod.js → Scope-311c7eb9.cjs.prod.js} +1 -1
  341. package/dist/{Scope-820b74b2.cjs.dev.js → Scope-6ba9ec6d.cjs.dev.js} +1 -1
  342. package/dist/{ScopedCache-f9b2f52e.cjs.dev.js → ScopedCache-3f58b125.cjs.dev.js} +5 -5
  343. package/dist/{ScopedCache-467ccc2b.cjs.prod.js → ScopedCache-8f99505c.cjs.prod.js} +5 -5
  344. package/dist/{ScopedRef-b45fd0e8.cjs.prod.js → ScopedRef-7946d287.cjs.prod.js} +1 -1
  345. package/dist/{ScopedRef-735385de.cjs.dev.js → ScopedRef-b92e1633.cjs.dev.js} +1 -1
  346. package/dist/{Sink-dffe83ea.cjs.dev.js → Sink-9f13da17.cjs.dev.js} +1 -1
  347. package/dist/{Sink-cb1bba84.cjs.prod.js → Sink-9f82fc3b.cjs.prod.js} +1 -1
  348. package/dist/{Stream-c348a386.cjs.dev.js → Stream-14325ecb.cjs.dev.js} +2 -2
  349. package/dist/{Stream-39e8de11.cjs.prod.js → Stream-cf262c16.cjs.prod.js} +2 -2
  350. package/dist/{SubscriptionRef-62745b92.cjs.prod.js → SubscriptionRef-aa7bdc5f.cjs.prod.js} +5 -5
  351. package/dist/{SubscriptionRef-53e8686c.cjs.dev.js → SubscriptionRef-d3c1aa07.cjs.dev.js} +5 -5
  352. package/dist/{Supervisor-0ea7382b.cjs.prod.js → Supervisor-21087253.cjs.prod.js} +2 -2
  353. package/dist/{Supervisor-cf21fcaa.cjs.dev.js → Supervisor-40dd7ce5.cjs.dev.js} +2 -2
  354. package/dist/{SynchronizedRef-9e9689e9.cjs.dev.js → SynchronizedRef-3181eb0a.cjs.dev.js} +1 -1
  355. package/dist/{SynchronizedRef-2cc5af97.cjs.prod.js → SynchronizedRef-c6e0884b.cjs.prod.js} +1 -1
  356. package/dist/{TArray-6057170a.cjs.prod.js → TArray-6767b4bd.cjs.prod.js} +1 -1
  357. package/dist/{TArray-0b280c93.cjs.dev.js → TArray-a0a4c6e6.cjs.dev.js} +1 -1
  358. package/dist/{TDeferred-73b5dfc2.cjs.prod.js → TDeferred-a9839479.cjs.prod.js} +3 -3
  359. package/dist/{TDeferred-786b2b13.cjs.dev.js → TDeferred-ac2c4025.cjs.dev.js} +3 -3
  360. package/dist/{THub-810db270.cjs.prod.js → THub-25b77864.cjs.prod.js} +5 -5
  361. package/dist/{THub-bcd35bc0.cjs.dev.js → THub-38053ae1.cjs.dev.js} +5 -5
  362. package/dist/{TMap-7206da08.cjs.prod.js → TMap-91505efa.cjs.prod.js} +1 -1
  363. package/dist/{TMap-06e0747b.cjs.dev.js → TMap-de8ac080.cjs.dev.js} +1 -1
  364. package/dist/{TPriorityQueue-71490af5.cjs.prod.js → TPriorityQueue-00b65d1a.cjs.prod.js} +2 -2
  365. package/dist/{TPriorityQueue-0844551b.cjs.dev.js → TPriorityQueue-96ff0e15.cjs.dev.js} +2 -2
  366. package/dist/{TQueue-67ccf55b.cjs.prod.js → TQueue-5e242ca2.cjs.prod.js} +1 -1
  367. package/dist/{TQueue-5621ef6e.cjs.dev.js → TQueue-707762bf.cjs.dev.js} +1 -1
  368. package/dist/{TRandom-c974e739.cjs.dev.js → TRandom-5eb21d23.cjs.dev.js} +5 -5
  369. package/dist/{TRandom-557dc8e1.cjs.prod.js → TRandom-ec9c7bf7.cjs.prod.js} +5 -5
  370. package/dist/{TReentrantLock-5f7cba2d.cjs.dev.js → TReentrantLock-1b77d76f.cjs.dev.js} +3 -3
  371. package/dist/{TReentrantLock-e6ee830e.cjs.prod.js → TReentrantLock-c5a8401e.cjs.prod.js} +3 -3
  372. package/dist/{TRef-f7b2bc6f.cjs.prod.js → TRef-b87580d7.cjs.prod.js} +1 -1
  373. package/dist/{TRef-38eac0f0.cjs.dev.js → TRef-cf2e8ad7.cjs.dev.js} +1 -1
  374. package/dist/{TSemaphore-28d87428.cjs.prod.js → TSemaphore-29503416.cjs.prod.js} +4 -4
  375. package/dist/{TSemaphore-3cf15f77.cjs.dev.js → TSemaphore-50edec08.cjs.dev.js} +4 -4
  376. package/dist/{TSet-677ac73c.cjs.prod.js → TSet-3c2568e9.cjs.prod.js} +2 -2
  377. package/dist/{TSet-1dca2ef3.cjs.dev.js → TSet-bb4775ca.cjs.dev.js} +2 -2
  378. package/dist/{Take-bfdbd28d.cjs.dev.js → Take-684c9901.cjs.dev.js} +1 -1
  379. package/dist/{Take-e40627bd.cjs.prod.js → Take-b4c91438.cjs.prod.js} +1 -1
  380. package/dist/{TestAnnotations-14444032.cjs.prod.js → TestAnnotations-5db95828.cjs.prod.js} +2 -2
  381. package/dist/{TestAnnotations-ee0f8c79.cjs.dev.js → TestAnnotations-733b39ef.cjs.dev.js} +2 -2
  382. package/dist/{TestClock-30ba14e8.cjs.prod.js → TestClock-89a36b89.cjs.prod.js} +8 -8
  383. package/dist/{TestClock-d782f3ee.cjs.dev.js → TestClock-e2773846.cjs.dev.js} +8 -8
  384. package/dist/{TestContext-eebb1aad.cjs.dev.js → TestContext-3328163e.cjs.dev.js} +4 -4
  385. package/dist/{TestContext-f76f750e.cjs.prod.js → TestContext-917bf305.cjs.prod.js} +4 -4
  386. package/dist/{TestLive-dc458127.cjs.dev.js → TestLive-465ad3ef.cjs.dev.js} +1 -1
  387. package/dist/{TestLive-e5d614fe.cjs.prod.js → TestLive-f3232ac4.cjs.prod.js} +1 -1
  388. package/dist/{TestServices-b3af20a3.cjs.prod.js → TestServices-605f726e.cjs.prod.js} +6 -6
  389. package/dist/{TestServices-7a60d735.cjs.dev.js → TestServices-921e5c42.cjs.dev.js} +6 -6
  390. package/dist/{Tracer-3cd1e3bc.cjs.prod.js → Tracer-d06d0b61.cjs.prod.js} +1 -1
  391. package/dist/{Tracer-435e56fd.cjs.dev.js → Tracer-da182c8c.cjs.dev.js} +1 -1
  392. package/dist/{cache-66637407.cjs.dev.js → cache-6cdc31f7.cjs.dev.js} +3 -3
  393. package/dist/{cache-c88afdc0.cjs.prod.js → cache-ab7bbfbd.cjs.prod.js} +3 -3
  394. package/dist/{circular-d08ca815.cjs.dev.js → circular-4cb0b79d.cjs.dev.js} +5 -5
  395. package/dist/{circular-7eed8a92.cjs.prod.js → circular-5b3558d9.cjs.prod.js} +5 -5
  396. package/dist/{circular-5c436934.cjs.dev.js → circular-78011d6b.cjs.dev.js} +3 -3
  397. package/dist/{circular-c8f8e360.cjs.prod.js → circular-81b4c556.cjs.prod.js} +3 -3
  398. package/dist/{core-20a91d69.cjs.prod.js → core-4ced6e17.cjs.prod.js} +4 -4
  399. package/dist/{core-6e50c01f.cjs.dev.js → core-d9eea905.cjs.dev.js} +4 -4
  400. package/dist/{core-effect-780f9db7.cjs.dev.js → core-effect-a9b8ee08.cjs.dev.js} +4 -4
  401. package/dist/{core-effect-023f4abe.cjs.prod.js → core-effect-bf806dd9.cjs.prod.js} +4 -4
  402. package/dist/{dataSource-7ec08fa5.cjs.prod.js → dataSource-abccc876.cjs.prod.js} +2 -2
  403. package/dist/{dataSource-e56e2a99.cjs.dev.js → dataSource-d5f79f4e.cjs.dev.js} +2 -2
  404. package/dist/declarations/src/Duration.d.ts +5 -0
  405. package/dist/declarations/src/Duration.d.ts.map +1 -1
  406. package/dist/{defaultServices-452aebad.cjs.prod.js → defaultServices-4112c0c9.cjs.prod.js} +1 -1
  407. package/dist/{defaultServices-e9a9b935.cjs.dev.js → defaultServices-60c753dc.cjs.dev.js} +1 -1
  408. package/dist/effect.cjs.dev.js +93 -93
  409. package/dist/effect.cjs.prod.js +93 -93
  410. package/dist/effect.esm.js +283 -197
  411. package/dist/{fiber-2975db3a.cjs.prod.js → fiber-90ffaf8c.cjs.prod.js} +1 -1
  412. package/dist/{fiber-1132297b.cjs.dev.js → fiber-da1a207c.cjs.dev.js} +1 -1
  413. package/dist/{fiberRuntime-9d6d53be.cjs.prod.js → fiberRuntime-1c369a47.cjs.prod.js} +7 -7
  414. package/dist/{fiberRuntime-ac7fae54.cjs.dev.js → fiberRuntime-e9680313.cjs.dev.js} +7 -7
  415. package/dist/{groupBy-f0a83f90.cjs.prod.js → groupBy-0cc85afb.cjs.prod.js} +5 -5
  416. package/dist/{groupBy-e1d3c5e8.cjs.dev.js → groupBy-b204a881.cjs.dev.js} +5 -5
  417. package/dist/{hook-0bf192b2.cjs.prod.js → hook-6c7550dc.cjs.prod.js} +1 -1
  418. package/dist/{hook-9e86d119.cjs.dev.js → hook-822704ea.cjs.dev.js} +1 -1
  419. package/dist/{key-a79acfe7.cjs.prod.js → key-330b98b1.cjs.prod.js} +1 -1
  420. package/dist/{key-6ac569ca.cjs.dev.js → key-a474fc0d.cjs.dev.js} +1 -1
  421. package/dist/{keyType-c1e7cfc5.cjs.dev.js → keyType-1e916ae2.cjs.dev.js} +1 -1
  422. package/dist/{keyType-681c1c4a.cjs.prod.js → keyType-8460e792.cjs.prod.js} +1 -1
  423. package/dist/{layer-f0c8023d.cjs.dev.js → layer-ae8eefad.cjs.dev.js} +9 -9
  424. package/dist/{layer-db9c42be.cjs.prod.js → layer-ffacc2c5.cjs.prod.js} +9 -9
  425. package/dist/{pool-cd9f1284.cjs.dev.js → pool-3f16af61.cjs.dev.js} +4 -4
  426. package/dist/{pool-975b7d21.cjs.prod.js → pool-59a31f55.cjs.prod.js} +4 -4
  427. package/dist/{query-12e387cf.cjs.dev.js → query-193d0a89.cjs.dev.js} +3 -3
  428. package/dist/{query-eb8a7001.cjs.prod.js → query-fe4a82d6.cjs.prod.js} +3 -3
  429. package/dist/{queue-0dbc2b3f.cjs.dev.js → queue-04ae7ec7.cjs.dev.js} +1 -1
  430. package/dist/{queue-f70dda1a.cjs.prod.js → queue-b81aee38.cjs.prod.js} +1 -1
  431. package/dist/{registry-92c00ecd.cjs.prod.js → registry-29905dcc.cjs.prod.js} +2 -2
  432. package/dist/{registry-9e9ae2c7.cjs.dev.js → registry-c883cf52.cjs.dev.js} +2 -2
  433. package/dist/{runtime-f8d0f39b.cjs.dev.js → runtime-3ae98f19.cjs.dev.js} +3 -3
  434. package/dist/{runtime-0ada41f2.cjs.prod.js → runtime-8c3f1bd3.cjs.prod.js} +3 -3
  435. package/dist/{schedule-18b063cb.cjs.dev.js → schedule-479d8fcc.cjs.dev.js} +7 -7
  436. package/dist/{schedule-f918adf5.cjs.prod.js → schedule-7e30db2d.cjs.prod.js} +7 -7
  437. package/dist/{scopedRef-50091b28.cjs.dev.js → scopedRef-16d9d192.cjs.dev.js} +3 -3
  438. package/dist/{scopedRef-d6396f06.cjs.prod.js → scopedRef-40b5bb82.cjs.prod.js} +3 -3
  439. package/dist/{singleProducerAsyncInput-f3dd657f.cjs.dev.js → singleProducerAsyncInput-552122e6.cjs.dev.js} +1 -1
  440. package/dist/{singleProducerAsyncInput-bd600183.cjs.prod.js → singleProducerAsyncInput-c5ff73b7.cjs.prod.js} +1 -1
  441. package/dist/{sink-bb64c8a6.cjs.dev.js → sink-16a1a901.cjs.dev.js} +9 -9
  442. package/dist/{sink-6a1db2b0.cjs.prod.js → sink-c9ae7558.cjs.prod.js} +9 -9
  443. package/dist/{stm-2b8fa344.cjs.dev.js → stm-44f045e5.cjs.dev.js} +3 -3
  444. package/dist/{stm-e3401389.cjs.prod.js → stm-59af7e62.cjs.prod.js} +3 -3
  445. package/dist/{stream-7bc5bfac.cjs.dev.js → stream-84a13e23.cjs.dev.js} +13 -17
  446. package/dist/{stream-22ea5a61.cjs.prod.js → stream-8acbee57.cjs.prod.js} +13 -17
  447. package/dist/{tArray-a211cc29.cjs.prod.js → tArray-a690480d.cjs.prod.js} +3 -3
  448. package/dist/{tArray-36a6e713.cjs.dev.js → tArray-c0a3d1e2.cjs.dev.js} +3 -3
  449. package/dist/{tMap-fd504724.cjs.dev.js → tMap-1c1b10c4.cjs.dev.js} +5 -5
  450. package/dist/{tMap-9c22a2ff.cjs.prod.js → tMap-8dfc92f5.cjs.prod.js} +5 -5
  451. package/dist/{tQueue-4b66ca7b.cjs.prod.js → tQueue-48a29f8b.cjs.prod.js} +4 -4
  452. package/dist/{tQueue-565f8994.cjs.dev.js → tQueue-aaec000f.cjs.dev.js} +4 -4
  453. package/dist/{tRef-565db536.cjs.dev.js → tRef-1df89632.cjs.dev.js} +1 -1
  454. package/dist/{tRef-74dff65b.cjs.prod.js → tRef-cc473a9f.cjs.prod.js} +1 -1
  455. package/dist/{take-05ea3c27.cjs.prod.js → take-906e6ef4.cjs.prod.js} +1 -1
  456. package/dist/{take-f87477f8.cjs.dev.js → take-e1c6b82a.cjs.dev.js} +1 -1
  457. package/{dist/Context-149c432f.esm.js → internal/Context.esm.js} +9 -9
  458. package/internal/Data.esm.js +49 -0
  459. package/internal/Differ/ChunkPatch.esm.js +131 -0
  460. package/internal/Differ/ContextPatch.esm.js +158 -0
  461. package/internal/Differ/HashMapPatch.esm.js +133 -0
  462. package/internal/Differ/HashSetPatch.esm.js +107 -0
  463. package/internal/Differ/OrPatch.esm.js +196 -0
  464. package/internal/Differ.esm.js +130 -0
  465. package/internal/Effectable.esm.js +89 -0
  466. package/internal/Either.esm.js +95 -0
  467. package/internal/Encoding/Base64.esm.js +74 -0
  468. package/internal/Encoding/Base64Url.esm.js +24 -0
  469. package/internal/Encoding/Common.esm.js +21 -0
  470. package/internal/Encoding/Hex.esm.js +55 -0
  471. package/internal/HashMap/array.esm.js +51 -0
  472. package/internal/HashMap/bitwise.esm.js +34 -0
  473. package/internal/HashMap/config.esm.js +16 -0
  474. package/internal/HashMap/keySet.esm.js +8 -0
  475. package/internal/HashMap/node.esm.js +253 -0
  476. package/internal/HashMap.esm.js +366 -0
  477. package/internal/HashSet.esm.js +211 -0
  478. package/internal/Option.esm.js +75 -0
  479. package/{dist/ReadonlyArray-c8b1f51c.esm.js → internal/ReadonlyArray.esm.js} +1 -1
  480. package/internal/RedBlackTree/iterator.esm.js +204 -0
  481. package/internal/RedBlackTree/node.esm.js +43 -0
  482. package/{dist/RedBlackTree-611b3b4c.esm.js → internal/RedBlackTree.esm.js} +65 -655
  483. package/{dist/Stack-765c2298.esm.js → internal/Stack.esm.js} +1 -1
  484. package/internal/blockedRequests.esm.js +365 -0
  485. package/{dist/cache-d62912e6.esm.js → internal/cache.esm.js} +18 -18
  486. package/internal/cause.esm.js +1067 -0
  487. package/internal/channel/channelExecutor.esm.js +692 -0
  488. package/internal/channel/channelState.esm.js +78 -0
  489. package/{dist/childExecutorDecision-a7b466d2.esm.js → internal/channel/childExecutorDecision.esm.js} +3 -17
  490. package/internal/channel/continuation.esm.js +58 -0
  491. package/{dist/mergeDecision-d31cb28c.esm.js → internal/channel/mergeDecision.esm.js} +3 -12
  492. package/{dist/mergeState-1325df20.esm.js → internal/channel/mergeState.esm.js} +3 -17
  493. package/{dist/mergeStrategy-a88b5442.esm.js → internal/channel/mergeStrategy.esm.js} +3 -12
  494. package/{dist/singleProducerAsyncInput-5b2ede75.esm.js → internal/channel/singleProducerAsyncInput.esm.js} +8 -8
  495. package/internal/channel/subexecutor.esm.js +153 -0
  496. package/{dist/upstreamPullRequest-fed99e29.esm.js → internal/channel/upstreamPullRequest.esm.js} +3 -12
  497. package/{dist/upstreamPullStrategy-d5d1aa92.esm.js → internal/channel/upstreamPullStrategy.esm.js} +3 -12
  498. package/internal/channel.esm.js +648 -0
  499. package/internal/clock.esm.js +82 -0
  500. package/internal/completedRequestMap.esm.js +7 -0
  501. package/internal/concurrency.esm.js +47 -0
  502. package/{dist/config-b039b99f.esm.js → internal/config.esm.js} +12 -66
  503. package/{dist/configError-8b2e2999.esm.js → internal/configError.esm.js} +5 -34
  504. package/{dist/pathPatch-f393ab1b.esm.js → internal/configProvider/pathPatch.esm.js} +7 -7
  505. package/{dist/configProvider-c997961d.esm.js → internal/configProvider.esm.js} +16 -79
  506. package/{dist/configSecret-6e9eaf9d.esm.js → internal/configSecret.esm.js} +5 -5
  507. package/internal/console.esm.js +72 -0
  508. package/{dist/core-effect-57445976.esm.js → internal/core-effect.esm.js} +26 -53
  509. package/internal/core-stream.esm.js +293 -0
  510. package/internal/core.esm.js +1745 -0
  511. package/{dist/dataSource-1f41ea46.esm.js → internal/dataSource.esm.js} +9 -8
  512. package/internal/defaultServices/console.esm.js +96 -0
  513. package/internal/defaultServices.esm.js +84 -0
  514. package/internal/deferred.esm.js +37 -0
  515. package/{dist/circular-08fb0138.esm.js → internal/effect/circular.esm.js} +23 -20
  516. package/internal/executionStrategy.esm.js +61 -0
  517. package/{dist/fiber-8fb398f3.esm.js → internal/fiber.esm.js} +15 -121
  518. package/internal/fiberId.esm.js +243 -0
  519. package/internal/fiberMessage.esm.js +54 -0
  520. package/{dist/patch-743d675c.esm.js → internal/fiberRefs/patch.esm.js} +5 -5
  521. package/{dist/fiberRefs-69cce1a0.esm.js → internal/fiberRefs.esm.js} +8 -8
  522. package/{dist/fiberRuntime-bfcf5f49.esm.js → internal/fiberRuntime.esm.js} +152 -1006
  523. package/internal/fiberScope.esm.js +58 -0
  524. package/internal/fiberStatus.esm.js +89 -0
  525. package/{dist/groupBy-d11b31b1.esm.js → internal/groupBy.esm.js} +16 -14
  526. package/{dist/Hub-121dbf51.esm.js → internal/hub.esm.js} +34 -196
  527. package/internal/keyedPool.esm.js +161 -0
  528. package/{dist/circular-e463e1e6.esm.js → internal/layer/circular.esm.js} +10 -8
  529. package/{dist/layer-35828af7.esm.js → internal/layer.esm.js} +21 -65
  530. package/internal/logSpan.esm.js +15 -0
  531. package/internal/logger-circular.esm.js +21 -0
  532. package/internal/logger.esm.js +213 -0
  533. package/{dist/boundaries-52029180.esm.js → internal/metric/boundaries.esm.js} +7 -7
  534. package/{dist/hook-fd61107b.esm.js → internal/metric/hook.esm.js} +10 -10
  535. package/{dist/key-340a2bae.esm.js → internal/metric/key.esm.js} +9 -9
  536. package/{dist/keyType-869d90f8.esm.js → internal/metric/keyType.esm.js} +6 -6
  537. package/{dist/label-0cc6c9a0.esm.js → internal/metric/label.esm.js} +5 -5
  538. package/{dist/pair-5bb3eef4.esm.js → internal/metric/pair.esm.js} +2 -2
  539. package/internal/metric/polling.esm.js +74 -0
  540. package/{dist/registry-c59aeb06.esm.js → internal/metric/registry.esm.js} +8 -8
  541. package/{dist/state-2c6abdb1.esm.js → internal/metric/state.esm.js} +5 -5
  542. package/internal/metric.esm.js +204 -0
  543. package/internal/opCodes/cause.esm.js +31 -0
  544. package/internal/opCodes/channel.esm.js +71 -0
  545. package/internal/opCodes/channelChildExecutorDecision.esm.js +16 -0
  546. package/internal/opCodes/channelMergeDecision.esm.js +11 -0
  547. package/internal/opCodes/channelMergeState.esm.js +16 -0
  548. package/internal/opCodes/channelMergeStrategy.esm.js +11 -0
  549. package/internal/opCodes/channelState.esm.js +21 -0
  550. package/internal/opCodes/channelUpstreamPullRequest.esm.js +11 -0
  551. package/internal/opCodes/channelUpstreamPullStrategy.esm.js +11 -0
  552. package/internal/opCodes/config.esm.js +56 -0
  553. package/internal/opCodes/configError.esm.js +31 -0
  554. package/internal/opCodes/continuation.esm.js +11 -0
  555. package/internal/opCodes/deferred.esm.js +11 -0
  556. package/internal/opCodes/effect.esm.js +71 -0
  557. package/internal/opCodes/layer.esm.js +46 -0
  558. package/internal/opCodes/streamHaltStrategy.esm.js +21 -0
  559. package/{dist/pool-7d5c25ef.esm.js → internal/pool.esm.js} +13 -13
  560. package/{dist/query-242f7fda.esm.js → internal/query.esm.js} +10 -7
  561. package/{dist/queue-f74db567.esm.js → internal/queue.esm.js} +10 -10
  562. package/internal/random.esm.js +58 -0
  563. package/internal/ref.esm.js +121 -0
  564. package/internal/reloadable.esm.js +62 -0
  565. package/internal/request.esm.js +81 -0
  566. package/internal/resource.esm.js +35 -0
  567. package/internal/ringBuffer.esm.js +56 -0
  568. package/{dist/runtime-bcdd4416.esm.js → internal/runtime.esm.js} +19 -17
  569. package/internal/runtimeFlags.esm.js +137 -0
  570. package/internal/runtimeFlagsPatch.esm.js +57 -0
  571. package/internal/schedule/decision.esm.js +45 -0
  572. package/internal/schedule/interval.esm.js +85 -0
  573. package/internal/schedule/intervals.esm.js +135 -0
  574. package/{dist/schedule-566ae18c.esm.js → internal/schedule.esm.js} +26 -25
  575. package/{dist/ScopedCache-8fa7e96d.esm.js → internal/scopedCache.esm.js} +27 -83
  576. package/{dist/scopedRef-0fdefef8.esm.js → internal/scopedRef.esm.js} +10 -10
  577. package/internal/singleShotGen.esm.js +30 -0
  578. package/internal/sink.esm.js +918 -0
  579. package/{dist/core-f6cae6d7.esm.js → internal/stm/core.esm.js} +46 -525
  580. package/internal/stm/opCodes/stm.esm.js +56 -0
  581. package/internal/stm/opCodes/stmState.esm.js +16 -0
  582. package/internal/stm/opCodes/strategy.esm.js +16 -0
  583. package/internal/stm/opCodes/tExit.esm.js +26 -0
  584. package/internal/stm/opCodes/tryCommit.esm.js +11 -0
  585. package/internal/stm/stm/entry.esm.js +47 -0
  586. package/internal/stm/stm/journal.esm.js +96 -0
  587. package/internal/stm/stm/stmState.esm.js +104 -0
  588. package/internal/stm/stm/tExit.esm.js +113 -0
  589. package/internal/stm/stm/tryCommit.esm.js +25 -0
  590. package/internal/stm/stm/txnId.esm.js +15 -0
  591. package/internal/stm/stm/versioned.esm.js +8 -0
  592. package/{dist/stm-6937f6f2.esm.js → internal/stm/stm.esm.js} +16 -14
  593. package/{dist/tArray-79024770.esm.js → internal/stm/tArray.esm.js} +8 -8
  594. package/internal/stm/tDeferred.esm.js +49 -0
  595. package/{dist/THub-573c2fb3.esm.js → internal/stm/tHub.esm.js} +28 -200
  596. package/{dist/tMap-907e37f4.esm.js → internal/stm/tMap.esm.js} +13 -13
  597. package/internal/stm/tPriorityQueue.esm.js +156 -0
  598. package/{dist/tQueue-74395d76.esm.js → internal/stm/tQueue.esm.js} +10 -24
  599. package/internal/stm/tRandom.esm.js +89 -0
  600. package/internal/stm/tReentrantLock.esm.js +216 -0
  601. package/{dist/tRef-fc8ff438.esm.js → internal/stm/tRef.esm.js} +6 -4
  602. package/internal/stm/tSemaphore.esm.js +73 -0
  603. package/internal/stm/tSet.esm.js +113 -0
  604. package/internal/stream/debounceState.esm.js +39 -0
  605. package/internal/stream/emit.esm.js +51 -0
  606. package/internal/stream/haltStrategy.esm.js +74 -0
  607. package/internal/stream/handoff.esm.js +79 -0
  608. package/internal/stream/handoffSignal.esm.js +40 -0
  609. package/internal/stream/pull.esm.js +10 -0
  610. package/internal/stream/sinkEndReason.esm.js +27 -0
  611. package/internal/stream/zipAllState.esm.js +65 -0
  612. package/internal/stream/zipChunksState.esm.js +41 -0
  613. package/{dist/stream-e44fba40.esm.js → internal/stream.esm.js} +399 -770
  614. package/internal/string-utils.esm.js +66 -0
  615. package/internal/subscriptionRef.esm.js +65 -0
  616. package/internal/supervisor/patch.esm.js +156 -0
  617. package/internal/supervisor.esm.js +204 -0
  618. package/{dist/synchronizedRef-1ceb6bd3.esm.js → internal/synchronizedRef.esm.js} +4 -4
  619. package/{dist/take-0d5e0eab.esm.js → internal/take.esm.js} +8 -8
  620. package/internal/testing/suspendedWarningData.esm.js +66 -0
  621. package/internal/testing/warningData.esm.js +75 -0
  622. package/{dist/timeout-4180303d.esm.js → internal/timeout.esm.js} +1 -1
  623. package/internal/tracer.esm.js +61 -0
  624. package/package.json +700 -554
  625. package/dist/Bigint-bf034c1f.esm.js +0 -370
  626. package/dist/Boolean-bf38e241.esm.js +0 -248
  627. package/dist/Brand-f068009f.esm.js +0 -215
  628. package/dist/Cache-27cd0ab7.esm.js +0 -120
  629. package/dist/Cause-5946c7a3.esm.js +0 -730
  630. package/dist/Channel-4bba5096.esm.js +0 -1109
  631. package/dist/ChannelChildExecutorDecision-674b3a48.esm.js +0 -125
  632. package/dist/ChannelMergeDecision-e5f34de0.esm.js +0 -70
  633. package/dist/ChannelMergeState-ae694a7c.esm.js +0 -114
  634. package/dist/ChannelMergeStrategy-9ef51c54.esm.js +0 -95
  635. package/dist/ChannelSingleProducerAsyncInput-1d15a3ec.esm.js +0 -52
  636. package/dist/ChannelUpstreamPullRequest-9b3a6733.esm.js +0 -95
  637. package/dist/ChannelUpstreamPullStrategy-85e1042b.esm.js +0 -94
  638. package/dist/Chunk-4c1f4599.esm.js +0 -1167
  639. package/dist/Clock-f8b987d7.esm.js +0 -88
  640. package/dist/Config-8d8f5a9f.esm.js +0 -358
  641. package/dist/ConfigError-41421a53.esm.js +0 -206
  642. package/dist/ConfigProvider-977168f2.esm.js +0 -220
  643. package/dist/ConfigProviderPathPatch-881ec2b5.esm.js +0 -79
  644. package/dist/ConfigSecret-9d3bf471.esm.js +0 -74
  645. package/dist/Console-9be5cd81.esm.js +0 -247
  646. package/dist/Context-c41aa832.esm.js +0 -312
  647. package/dist/Data-dee529b9.esm.js +0 -224
  648. package/dist/DefaultServices-b70d7e44.esm.js +0 -30
  649. package/dist/Deferred-9010d2ac.esm.js +0 -230
  650. package/dist/Differ-a249bf4d.esm.js +0 -975
  651. package/dist/Duration-98bca14c.esm.js +0 -467
  652. package/dist/Effect-ee05a487.esm.js +0 -3417
  653. package/dist/Effectable-a292d920.esm.js +0 -158
  654. package/dist/Effectable-d9b23ee3.esm.js +0 -89
  655. package/dist/Either-408d23a8.esm.js +0 -163
  656. package/dist/Either-aa46c018.esm.js +0 -473
  657. package/dist/Encoding-d95012ad.esm.js +0 -295
  658. package/dist/Equal-2a99fde3.esm.js +0 -65
  659. package/dist/Equivalence-cf2752b1.esm.js +0 -218
  660. package/dist/Error-083b7b69.esm.js +0 -53
  661. package/dist/ExecutionStrategy-e3775e86.esm.js +0 -168
  662. package/dist/Exit-666b4f01.esm.js +0 -371
  663. package/dist/Fiber-ebef9c60.esm.js +0 -473
  664. package/dist/FiberId-17e50f05.esm.js +0 -422
  665. package/dist/FiberRef-ddf157fd.esm.js +0 -338
  666. package/dist/FiberRefs-f705c1b5.esm.js +0 -122
  667. package/dist/FiberRefsPatch-04e0adc7.esm.js +0 -84
  668. package/dist/FiberStatus-7a24d5ef.esm.js +0 -187
  669. package/dist/Function-12511160.esm.js +0 -516
  670. package/dist/GlobalValue-b5edf230.esm.js +0 -25
  671. package/dist/GroupBy-4c667347.esm.js +0 -72
  672. package/dist/HKT-1990744d.esm.js +0 -5
  673. package/dist/Hash-7910f34f.esm.js +0 -179
  674. package/dist/HashMap-6c230bde.esm.js +0 -327
  675. package/dist/HashSet-69824ba8.esm.js +0 -907
  676. package/dist/HashSet-ae2856c1.esm.js +0 -256
  677. package/dist/Inspectable-b0c51e90.esm.js +0 -45
  678. package/dist/KeyedPool-08ee3618.esm.js +0 -273
  679. package/dist/Layer-8586a429.esm.js +0 -623
  680. package/dist/List-6e58a1e9.esm.js +0 -865
  681. package/dist/LogLevel-5a4fa506.esm.js +0 -222
  682. package/dist/LogSpan-f36e9619.esm.js +0 -42
  683. package/dist/Logger-aafaa76b.esm.js +0 -246
  684. package/dist/Metric-fef02dd6.esm.js +0 -442
  685. package/dist/MetricBoundaries-c8610876.esm.js +0 -61
  686. package/dist/MetricHook-6859801b.esm.js +0 -80
  687. package/dist/MetricKey-d1b96e85.esm.js +0 -118
  688. package/dist/MetricKeyType-4ce20904.esm.js +0 -168
  689. package/dist/MetricLabel-123185d1.esm.js +0 -48
  690. package/dist/MetricPair-840a98b7.esm.js +0 -45
  691. package/dist/MetricPolling-538e65c8.esm.js +0 -167
  692. package/dist/MetricRegistry-1e32438c.esm.js +0 -34
  693. package/dist/MetricState-ccc2e0db.esm.js +0 -172
  694. package/dist/MutableHashMap-02b39969.esm.js +0 -142
  695. package/dist/MutableHashSet-db4f96e8.esm.js +0 -101
  696. package/dist/MutableList-76401868.esm.js +0 -281
  697. package/dist/MutableQueue-446ac662.esm.js +0 -202
  698. package/dist/MutableRef-2734b082.esm.js +0 -176
  699. package/dist/NonEmptyIterable-e78d759e.esm.js +0 -33
  700. package/dist/Number-4b836a09.esm.js +0 -394
  701. package/dist/Option-df40d2b9.esm.js +0 -1135
  702. package/dist/Order-a875fe30.esm.js +0 -293
  703. package/dist/Ordering-079176ff.esm.js +0 -97
  704. package/dist/Pipeable-10760a1d.esm.js +0 -49
  705. package/dist/Pool-f1667f78.esm.js +0 -114
  706. package/dist/Predicate-6b61b95b.esm.js +0 -677
  707. package/dist/Queue-d99be5de.esm.js +0 -362
  708. package/dist/Random-5ed16d23.esm.js +0 -94
  709. package/dist/ReadonlyArray-0a71b226.esm.js +0 -1584
  710. package/dist/ReadonlyRecord-c9f03980.esm.js +0 -544
  711. package/dist/Ref-5eefaff1.esm.js +0 -248
  712. package/dist/Reloadable-e2eba7eb.esm.js +0 -159
  713. package/dist/Request-8b0e9130.esm.js +0 -175
  714. package/dist/RequestBlock-88afac19.esm.js +0 -114
  715. package/dist/RequestResolver-f17a25be.esm.js +0 -213
  716. package/dist/Resource-525ecb8a.esm.js +0 -111
  717. package/dist/Runtime-7b6c0a8b.esm.js +0 -175
  718. package/dist/RuntimeFlags-60048f70.esm.js +0 -344
  719. package/dist/RuntimeFlagsPatch-51f77dce.esm.js +0 -365
  720. package/dist/STM-1ef98d11.esm.js +0 -1321
  721. package/dist/Schedule-8502145c.esm.js +0 -1059
  722. package/dist/ScheduleDecision-e0b221dc.esm.js +0 -99
  723. package/dist/ScheduleInterval-cc7fc624.esm.js +0 -229
  724. package/dist/ScheduleIntervals-c4dc0500.esm.js +0 -252
  725. package/dist/Scheduler-844c1a90.esm.js +0 -343
  726. package/dist/Scope-0253ac82.esm.js +0 -131
  727. package/dist/ScopedRef-d92cda3b.esm.js +0 -80
  728. package/dist/Sink-322b0a96.esm.js +0 -1107
  729. package/dist/SortedMap-e429b26f.esm.js +0 -190
  730. package/dist/SortedSet-ffc2cefd.esm.js +0 -288
  731. package/dist/Stream-a54c82e5.esm.js +0 -3175
  732. package/dist/StreamEmit-bd696ab0.esm.js +0 -5
  733. package/dist/StreamHaltStrategy-592df221.esm.js +0 -201
  734. package/dist/String-5d27ad4c.esm.js +0 -648
  735. package/dist/Struct-b95eb81c.esm.js +0 -134
  736. package/dist/SubscriptionRef-93d8d20b.esm.js +0 -245
  737. package/dist/Supervisor-802f0ad0.esm.js +0 -160
  738. package/dist/Symbol-81368584.esm.js +0 -36
  739. package/dist/SynchronizedRef-5b418159.esm.js +0 -187
  740. package/dist/TArray-e0699120.esm.js +0 -412
  741. package/dist/TDeferred-96a9e821.esm.js +0 -120
  742. package/dist/TMap-0b08af84.esm.js +0 -419
  743. package/dist/TPriorityQueue-a5eb73d4.esm.js +0 -360
  744. package/dist/TQueue-2c224826.esm.js +0 -324
  745. package/dist/TRandom-dbfd1b25.esm.js +0 -192
  746. package/dist/TReentrantLock-83290260.esm.js +0 -435
  747. package/dist/TRef-bb02383a.esm.js +0 -135
  748. package/dist/TSemaphore-9a746009.esm.js +0 -183
  749. package/dist/TSet-91c5d646.esm.js +0 -412
  750. package/dist/Take-880079f7.esm.js +0 -214
  751. package/dist/TestAnnotation-f4477615.esm.js +0 -124
  752. package/dist/TestAnnotationMap-11d08509.esm.js +0 -114
  753. package/dist/TestAnnotations-39f7e011.esm.js +0 -91
  754. package/dist/TestClock-ab72e391.esm.js +0 -565
  755. package/dist/TestConfig-0d2c885c.esm.js +0 -33
  756. package/dist/TestContext-61178585.esm.js +0 -36
  757. package/dist/TestLive-61a5e471.esm.js +0 -55
  758. package/dist/TestServices-310ebe14.esm.js +0 -306
  759. package/dist/TestSized-745ac7e5.esm.js +0 -58
  760. package/dist/Tracer-da65ce12.esm.js +0 -75
  761. package/dist/Tuple-eefd2c03.esm.js +0 -187
  762. package/dist/Types-be3804ad.esm.js +0 -5
  763. package/dist/Unify-118c2d56.esm.js +0 -45
  764. package/dist/Utils-80c21479.esm.js +0 -362
  765. package/dist/core-64ab7ff5.esm.js +0 -3225
  766. package/dist/defaultServices-b9ca1236.esm.js +0 -359
  767. package/dist/sink-637a9670.esm.js +0 -2877
@@ -0,0 +1,692 @@
1
+ import { die as die$1 } from '../../Cause/dist/effect-Cause.esm.js';
2
+ import { succeed as succeed$2, await as _await, make } from '../../Deferred/dist/effect-Deferred.esm.js';
3
+ import { isEffect, sync, unit, provide, matchCauseEffect, zipRight, flatMap, suspend, forkDaemon, ensuring, uninterruptible, map, zip, exit, forEach, succeed as succeed$1, scoped, uninterruptibleMask, scope, forkScoped, addFinalizer, zipLeft, all as all$1, dieMessage, catchAllCause, acquireUseRelease, intoDeferred, tapErrorCause, failCause as failCause$2 } from '../../Effect/dist/effect-Effect.esm.js';
4
+ import { sequential } from '../../ExecutionStrategy/dist/effect-ExecutionStrategy.esm.js';
5
+ import { die, match, zipRight as zipRight$1, succeed, failCause as failCause$1, all, unit as unit$2, map as map$1 } from '../../Exit/dist/effect-Exit.esm.js';
6
+ import { interrupt, inheritAll } from '../../Fiber/dist/effect-Fiber.esm.js';
7
+ import { identity, pipe } from '../../Function/dist/effect-Function.esm.js';
8
+ import { isSome, getOrElse } from '../../Option/dist/effect-Option.esm.js';
9
+ import { fork, addFinalizer as addFinalizer$1 } from '../../Scope/dist/effect-Scope.esm.js';
10
+ import { fromEffect, unit as unit$1, failCause, write } from '../core-stream.esm.js';
11
+ import { OP_SUSPEND, OP_SUCCEED_NOW, OP_SUCCEED, OP_READ, OP_PROVIDE, OP_PIPE_TO, OP_FROM_EFFECT, OP_FOLD, OP_FAIL, OP_ENSURING, OP_EMIT, OP_CONCAT_ALL, OP_BRIDGE, OP_BRACKET_OUT } from '../opCodes/channel.esm.js';
12
+ import { OP_YIELD, OP_CLOSE, OP_CONTINUE } from '../opCodes/channelChildExecutorDecision.esm.js';
13
+ import { OP_READ as OP_READ$1, OP_FROM_EFFECT as OP_FROM_EFFECT$1, OP_EMIT as OP_EMIT$1, OP_DONE } from '../opCodes/channelState.esm.js';
14
+ import { OP_PULL_AFTER_ALL_ENQUEUED, OP_PULL_AFTER_NEXT } from '../opCodes/channelUpstreamPullStrategy.esm.js';
15
+ import { OP_CONTINUATION_K } from '../opCodes/continuation.esm.js';
16
+ import { Done, Read, FromEffect, isFromEffect, Emit, effect, effectOrUndefinedIgnored } from './channelState.esm.js';
17
+ import { ContinuationFinalizerImpl } from './continuation.esm.js';
18
+ import { PullFromUpstream, OP_EMIT as OP_EMIT$2, OP_DRAIN_CHILD_EXECUTORS, OP_PULL_FROM_UPSTREAM, OP_PULL_FROM_CHILD, Emit as Emit$1, DrainChildExecutors, PullFromChild } from './subexecutor.esm.js';
19
+ import { NoUpstream, Pulled } from './upstreamPullRequest.esm.js';
20
+
21
+ /** @internal */
22
+
23
+ /** @internal */
24
+
25
+ /** @internal */
26
+
27
+ class ChannelExecutor {
28
+ _activeSubexecutor = undefined;
29
+ _cancelled = undefined;
30
+ _closeLastSubstream = undefined;
31
+ _done = undefined;
32
+ _doneStack = [];
33
+ _emitted = undefined;
34
+ _input = undefined;
35
+ _inProgressFinalizer = undefined;
36
+ constructor(initialChannel, providedEnv, executeCloseLastSubstream) {
37
+ this._currentChannel = initialChannel;
38
+ this._executeCloseLastSubstream = executeCloseLastSubstream;
39
+ this._providedEnv = providedEnv;
40
+ }
41
+ run() {
42
+ let result = undefined;
43
+ while (result === undefined) {
44
+ if (this._cancelled !== undefined) {
45
+ result = this.processCancellation();
46
+ } else if (this._activeSubexecutor !== undefined) {
47
+ result = this.runSubexecutor();
48
+ } else {
49
+ try {
50
+ if (this._currentChannel === undefined) {
51
+ result = Done();
52
+ } else {
53
+ if (isEffect(this._currentChannel)) {
54
+ this._currentChannel = fromEffect(this._currentChannel);
55
+ } else {
56
+ switch (this._currentChannel._tag) {
57
+ case OP_BRACKET_OUT:
58
+ {
59
+ result = this.runBracketOut(this._currentChannel);
60
+ break;
61
+ }
62
+ case OP_BRIDGE:
63
+ {
64
+ const bridgeInput = this._currentChannel.input;
65
+
66
+ // PipeTo(left, Bridge(queue, channel))
67
+ // In a fiber: repeatedly run left and push its outputs to the queue
68
+ // Add a finalizer to interrupt the fiber and close the executor
69
+ this._currentChannel = this._currentChannel.channel;
70
+ if (this._input !== undefined) {
71
+ const inputExecutor = this._input;
72
+ this._input = undefined;
73
+ const drainer = () => flatMap(bridgeInput.awaitRead(), () => suspend(() => {
74
+ const state = inputExecutor.run();
75
+ switch (state._tag) {
76
+ case OP_DONE:
77
+ {
78
+ return match(inputExecutor.getDone(), {
79
+ onFailure: cause => bridgeInput.error(cause),
80
+ onSuccess: value => bridgeInput.done(value)
81
+ });
82
+ }
83
+ case OP_EMIT$1:
84
+ {
85
+ return flatMap(bridgeInput.emit(inputExecutor.getEmit()), () => drainer());
86
+ }
87
+ case OP_FROM_EFFECT$1:
88
+ {
89
+ return matchCauseEffect(state.effect, {
90
+ onFailure: cause => bridgeInput.error(cause),
91
+ onSuccess: () => drainer()
92
+ });
93
+ }
94
+ case OP_READ$1:
95
+ {
96
+ return readUpstream(state, () => drainer(), cause => bridgeInput.error(cause));
97
+ }
98
+ }
99
+ }));
100
+ result = FromEffect(flatMap(forkDaemon(drainer()), fiber => sync(() => this.addFinalizer(exit => flatMap(interrupt(fiber), () => suspend(() => {
101
+ const effect = this.restorePipe(exit, inputExecutor);
102
+ return effect !== undefined ? effect : unit;
103
+ }))))));
104
+ }
105
+ break;
106
+ }
107
+ case OP_CONCAT_ALL:
108
+ {
109
+ const executor = new ChannelExecutor(this._currentChannel.value(), this._providedEnv, effect => sync(() => {
110
+ const prevLastClose = this._closeLastSubstream === undefined ? unit : this._closeLastSubstream;
111
+ this._closeLastSubstream = pipe(prevLastClose, zipRight(effect));
112
+ }));
113
+ executor._input = this._input;
114
+ const channel = this._currentChannel;
115
+ this._activeSubexecutor = new PullFromUpstream(executor, value => channel.k(value), undefined, [], (x, y) => channel.combineInners(x, y), (x, y) => channel.combineAll(x, y), request => channel.onPull(request), value => channel.onEmit(value));
116
+ this._closeLastSubstream = undefined;
117
+ this._currentChannel = undefined;
118
+ break;
119
+ }
120
+ case OP_EMIT:
121
+ {
122
+ this._emitted = this._currentChannel.out;
123
+ this._currentChannel = this._activeSubexecutor !== undefined ? undefined : unit$1;
124
+ result = Emit();
125
+ break;
126
+ }
127
+ case OP_ENSURING:
128
+ {
129
+ this.runEnsuring(this._currentChannel);
130
+ break;
131
+ }
132
+ case OP_FAIL:
133
+ {
134
+ result = this.doneHalt(this._currentChannel.error());
135
+ break;
136
+ }
137
+ case OP_FOLD:
138
+ {
139
+ this._doneStack.push(this._currentChannel.k);
140
+ this._currentChannel = this._currentChannel.channel;
141
+ break;
142
+ }
143
+ case OP_FROM_EFFECT:
144
+ {
145
+ const effect = this._providedEnv === undefined ? this._currentChannel.effect() : pipe(this._currentChannel.effect(), provide(this._providedEnv));
146
+ result = FromEffect(matchCauseEffect(effect, {
147
+ onFailure: cause => {
148
+ const state = this.doneHalt(cause);
149
+ return state !== undefined && isFromEffect(state) ? state.effect : unit;
150
+ },
151
+ onSuccess: value => {
152
+ const state = this.doneSucceed(value);
153
+ return state !== undefined && isFromEffect(state) ? state.effect : unit;
154
+ }
155
+ }));
156
+ break;
157
+ }
158
+ case OP_PIPE_TO:
159
+ {
160
+ const previousInput = this._input;
161
+ const leftExec = new ChannelExecutor(this._currentChannel.left(), this._providedEnv, effect => this._executeCloseLastSubstream(effect));
162
+ leftExec._input = previousInput;
163
+ this._input = leftExec;
164
+ this.addFinalizer(exit => {
165
+ const effect = this.restorePipe(exit, previousInput);
166
+ return effect !== undefined ? effect : unit;
167
+ });
168
+ this._currentChannel = this._currentChannel.right();
169
+ break;
170
+ }
171
+ case OP_PROVIDE:
172
+ {
173
+ const previousEnv = this._providedEnv;
174
+ this._providedEnv = this._currentChannel.context();
175
+ this._currentChannel = this._currentChannel.inner;
176
+ this.addFinalizer(() => sync(() => {
177
+ this._providedEnv = previousEnv;
178
+ }));
179
+ break;
180
+ }
181
+ case OP_READ:
182
+ {
183
+ const read = this._currentChannel;
184
+ result = Read(this._input, identity, emitted => {
185
+ try {
186
+ this._currentChannel = read.more(emitted);
187
+ } catch (error) {
188
+ this._currentChannel = read.done.onExit(die(error));
189
+ }
190
+ return undefined;
191
+ }, exit => {
192
+ const onExit = exit => {
193
+ return read.done.onExit(exit);
194
+ };
195
+ this._currentChannel = onExit(exit);
196
+ return undefined;
197
+ });
198
+ break;
199
+ }
200
+ case OP_SUCCEED:
201
+ {
202
+ result = this.doneSucceed(this._currentChannel.evaluate());
203
+ break;
204
+ }
205
+ case OP_SUCCEED_NOW:
206
+ {
207
+ result = this.doneSucceed(this._currentChannel.terminal);
208
+ break;
209
+ }
210
+ case OP_SUSPEND:
211
+ {
212
+ this._currentChannel = this._currentChannel.channel();
213
+ break;
214
+ }
215
+ default:
216
+ {
217
+ // @ts-expect-error
218
+ this._currentChannel._tag;
219
+ }
220
+ }
221
+ }
222
+ }
223
+ } catch (error) {
224
+ this._currentChannel = failCause(die$1(error));
225
+ }
226
+ }
227
+ }
228
+ return result;
229
+ }
230
+ getDone() {
231
+ return this._done;
232
+ }
233
+ getEmit() {
234
+ return this._emitted;
235
+ }
236
+ cancelWith(exit) {
237
+ this._cancelled = exit;
238
+ }
239
+ clearInProgressFinalizer() {
240
+ this._inProgressFinalizer = undefined;
241
+ }
242
+ storeInProgressFinalizer(finalizer) {
243
+ this._inProgressFinalizer = finalizer;
244
+ }
245
+ popAllFinalizers(exit) {
246
+ const finalizers = [];
247
+ let next = this._doneStack.pop();
248
+ while (next) {
249
+ if (next._tag === "ContinuationFinalizer") {
250
+ finalizers.push(next.finalizer);
251
+ }
252
+ next = this._doneStack.pop();
253
+ }
254
+ const effect = finalizers.length === 0 ? unit : runFinalizers(finalizers, exit);
255
+ this.storeInProgressFinalizer(effect);
256
+ return effect;
257
+ }
258
+ popNextFinalizers() {
259
+ const builder = [];
260
+ while (this._doneStack.length !== 0) {
261
+ const cont = this._doneStack[this._doneStack.length - 1];
262
+ if (cont._tag === OP_CONTINUATION_K) {
263
+ return builder;
264
+ }
265
+ builder.push(cont);
266
+ this._doneStack.pop();
267
+ }
268
+ return builder;
269
+ }
270
+ restorePipe(exit, prev) {
271
+ const currInput = this._input;
272
+ this._input = prev;
273
+ if (currInput !== undefined) {
274
+ const effect = currInput.close(exit);
275
+ return effect;
276
+ }
277
+ return unit;
278
+ }
279
+ close(exit$1) {
280
+ let runInProgressFinalizers = undefined;
281
+ const finalizer = this._inProgressFinalizer;
282
+ if (finalizer !== undefined) {
283
+ runInProgressFinalizers = pipe(finalizer, ensuring(sync(() => this.clearInProgressFinalizer())));
284
+ }
285
+ let closeSelf = undefined;
286
+ const selfFinalizers = this.popAllFinalizers(exit$1);
287
+ if (selfFinalizers !== undefined) {
288
+ closeSelf = pipe(selfFinalizers, ensuring(sync(() => this.clearInProgressFinalizer())));
289
+ }
290
+ const closeSubexecutors = this._activeSubexecutor === undefined ? undefined : this._activeSubexecutor.close(exit$1);
291
+ if (closeSubexecutors === undefined && runInProgressFinalizers === undefined && closeSelf === undefined) {
292
+ return undefined;
293
+ }
294
+ return pipe(exit(ifNotNull(closeSubexecutors)), zip(exit(ifNotNull(runInProgressFinalizers))), zip(exit(ifNotNull(closeSelf))), map(([[exit1, exit2], exit3]) => pipe(exit1, zipRight$1(exit2), zipRight$1(exit3))), uninterruptible,
295
+ // TODO: remove
296
+ flatMap(exit => suspend(() => exit)));
297
+ }
298
+ doneSucceed(value) {
299
+ if (this._doneStack.length === 0) {
300
+ this._done = succeed(value);
301
+ this._currentChannel = undefined;
302
+ return Done();
303
+ }
304
+ const head = this._doneStack[this._doneStack.length - 1];
305
+ if (head._tag === OP_CONTINUATION_K) {
306
+ this._doneStack.pop();
307
+ this._currentChannel = head.onSuccess(value);
308
+ return undefined;
309
+ }
310
+ const finalizers = this.popNextFinalizers();
311
+ if (this._doneStack.length === 0) {
312
+ this._doneStack = finalizers.reverse();
313
+ this._done = succeed(value);
314
+ this._currentChannel = undefined;
315
+ return Done();
316
+ }
317
+ const finalizerEffect = runFinalizers(finalizers.map(f => f.finalizer), succeed(value));
318
+ this.storeInProgressFinalizer(finalizerEffect);
319
+ const effect = pipe(finalizerEffect, ensuring(sync(() => this.clearInProgressFinalizer())), uninterruptible, flatMap(() => sync(() => this.doneSucceed(value))));
320
+ return FromEffect(effect);
321
+ }
322
+ doneHalt(cause) {
323
+ if (this._doneStack.length === 0) {
324
+ this._done = failCause$1(cause);
325
+ this._currentChannel = undefined;
326
+ return Done();
327
+ }
328
+ const head = this._doneStack[this._doneStack.length - 1];
329
+ if (head._tag === OP_CONTINUATION_K) {
330
+ this._doneStack.pop();
331
+ this._currentChannel = head.onHalt(cause);
332
+ return undefined;
333
+ }
334
+ const finalizers = this.popNextFinalizers();
335
+ if (this._doneStack.length === 0) {
336
+ this._doneStack = finalizers.reverse();
337
+ this._done = failCause$1(cause);
338
+ this._currentChannel = undefined;
339
+ return Done();
340
+ }
341
+ const finalizerEffect = runFinalizers(finalizers.map(f => f.finalizer), failCause$1(cause));
342
+ this.storeInProgressFinalizer(finalizerEffect);
343
+ const effect = pipe(finalizerEffect, ensuring(sync(() => this.clearInProgressFinalizer())), uninterruptible, flatMap(() => sync(() => this.doneHalt(cause))));
344
+ return FromEffect(effect);
345
+ }
346
+ processCancellation() {
347
+ this._currentChannel = undefined;
348
+ this._done = this._cancelled;
349
+ this._cancelled = undefined;
350
+ return Done();
351
+ }
352
+ runBracketOut(bracketOut) {
353
+ const effect = uninterruptible(matchCauseEffect(this.provide(bracketOut.acquire()), {
354
+ onFailure: cause => sync(() => {
355
+ this._currentChannel = failCause(cause);
356
+ }),
357
+ onSuccess: out => sync(() => {
358
+ this.addFinalizer(exit => this.provide(bracketOut.finalizer(out, exit)));
359
+ this._currentChannel = write(out);
360
+ })
361
+ }));
362
+ return FromEffect(effect);
363
+ }
364
+ provide(effect) {
365
+ if (this._providedEnv === undefined) {
366
+ return effect;
367
+ }
368
+ return pipe(effect, provide(this._providedEnv));
369
+ }
370
+ runEnsuring(ensuring) {
371
+ this.addFinalizer(ensuring.finalizer);
372
+ this._currentChannel = ensuring.channel;
373
+ }
374
+ addFinalizer(f) {
375
+ this._doneStack.push(new ContinuationFinalizerImpl(f));
376
+ }
377
+ runSubexecutor() {
378
+ const subexecutor = this._activeSubexecutor;
379
+ switch (subexecutor._tag) {
380
+ case OP_PULL_FROM_CHILD:
381
+ {
382
+ return this.pullFromChild(subexecutor.childExecutor, subexecutor.parentSubexecutor, subexecutor.onEmit, subexecutor);
383
+ }
384
+ case OP_PULL_FROM_UPSTREAM:
385
+ {
386
+ return this.pullFromUpstream(subexecutor);
387
+ }
388
+ case OP_DRAIN_CHILD_EXECUTORS:
389
+ {
390
+ return this.drainChildExecutors(subexecutor);
391
+ }
392
+ case OP_EMIT$2:
393
+ {
394
+ this._emitted = subexecutor.value;
395
+ this._activeSubexecutor = subexecutor.next;
396
+ return Emit();
397
+ }
398
+ }
399
+ }
400
+ replaceSubexecutor(nextSubExec) {
401
+ this._currentChannel = undefined;
402
+ this._activeSubexecutor = nextSubExec;
403
+ }
404
+ finishWithExit(exit) {
405
+ const state = match(exit, {
406
+ onFailure: cause => this.doneHalt(cause),
407
+ onSuccess: value => this.doneSucceed(value)
408
+ });
409
+ this._activeSubexecutor = undefined;
410
+ return state === undefined ? unit : effect(state);
411
+ }
412
+ finishSubexecutorWithCloseEffect(subexecutorDone, ...closeFuncs) {
413
+ this.addFinalizer(() => pipe(closeFuncs, forEach(closeFunc => pipe(sync(() => closeFunc(subexecutorDone)), flatMap(closeEffect => closeEffect !== undefined ? closeEffect : unit)), {
414
+ discard: true
415
+ })));
416
+ const state = pipe(subexecutorDone, match({
417
+ onFailure: cause => this.doneHalt(cause),
418
+ onSuccess: value => this.doneSucceed(value)
419
+ }));
420
+ this._activeSubexecutor = undefined;
421
+ return state;
422
+ }
423
+ applyUpstreamPullStrategy(upstreamFinished, queue, strategy) {
424
+ switch (strategy._tag) {
425
+ case OP_PULL_AFTER_NEXT:
426
+ {
427
+ const shouldPrepend = !upstreamFinished || queue.some(subexecutor => subexecutor !== undefined);
428
+ return [strategy.emitSeparator, shouldPrepend ? [undefined, ...queue] : queue];
429
+ }
430
+ case OP_PULL_AFTER_ALL_ENQUEUED:
431
+ {
432
+ const shouldEnqueue = !upstreamFinished || queue.some(subexecutor => subexecutor !== undefined);
433
+ return [strategy.emitSeparator, shouldEnqueue ? [...queue, undefined] : queue];
434
+ }
435
+ }
436
+ }
437
+ pullFromChild(childExecutor, parentSubexecutor, onEmitted, subexecutor) {
438
+ return Read(childExecutor, identity, emitted => {
439
+ const childExecutorDecision = onEmitted(emitted);
440
+ switch (childExecutorDecision._tag) {
441
+ case OP_CONTINUE:
442
+ {
443
+ break;
444
+ }
445
+ case OP_CLOSE:
446
+ {
447
+ this.finishWithDoneValue(childExecutor, parentSubexecutor, childExecutorDecision.value);
448
+ break;
449
+ }
450
+ case OP_YIELD:
451
+ {
452
+ const modifiedParent = parentSubexecutor.enqueuePullFromChild(subexecutor);
453
+ this.replaceSubexecutor(modifiedParent);
454
+ break;
455
+ }
456
+ }
457
+ this._activeSubexecutor = new Emit$1(emitted, this._activeSubexecutor);
458
+ return undefined;
459
+ }, match({
460
+ onFailure: cause => {
461
+ const state = this.handleSubexecutorFailure(childExecutor, parentSubexecutor, cause);
462
+ return state === undefined ? undefined : effectOrUndefinedIgnored(state);
463
+ },
464
+ onSuccess: doneValue => {
465
+ this.finishWithDoneValue(childExecutor, parentSubexecutor, doneValue);
466
+ return undefined;
467
+ }
468
+ }));
469
+ }
470
+ finishWithDoneValue(childExecutor, parentSubexecutor, doneValue) {
471
+ const subexecutor = parentSubexecutor;
472
+ switch (subexecutor._tag) {
473
+ case OP_PULL_FROM_UPSTREAM:
474
+ {
475
+ const modifiedParent = new PullFromUpstream(subexecutor.upstreamExecutor, subexecutor.createChild, subexecutor.lastDone !== undefined ? subexecutor.combineChildResults(subexecutor.lastDone, doneValue) : doneValue, subexecutor.activeChildExecutors, subexecutor.combineChildResults, subexecutor.combineWithChildResult, subexecutor.onPull, subexecutor.onEmit);
476
+ this._closeLastSubstream = childExecutor.close(succeed(doneValue));
477
+ this.replaceSubexecutor(modifiedParent);
478
+ break;
479
+ }
480
+ case OP_DRAIN_CHILD_EXECUTORS:
481
+ {
482
+ const modifiedParent = new DrainChildExecutors(subexecutor.upstreamExecutor, subexecutor.lastDone !== undefined ? subexecutor.combineChildResults(subexecutor.lastDone, doneValue) : doneValue, subexecutor.activeChildExecutors, subexecutor.upstreamDone, subexecutor.combineChildResults, subexecutor.combineWithChildResult, subexecutor.onPull);
483
+ this._closeLastSubstream = childExecutor.close(succeed(doneValue));
484
+ this.replaceSubexecutor(modifiedParent);
485
+ break;
486
+ }
487
+ }
488
+ }
489
+ handleSubexecutorFailure(childExecutor, parentSubexecutor, cause) {
490
+ return this.finishSubexecutorWithCloseEffect(failCause$1(cause), exit => parentSubexecutor.close(exit), exit => childExecutor.close(exit));
491
+ }
492
+ pullFromUpstream(subexecutor) {
493
+ if (subexecutor.activeChildExecutors.length === 0) {
494
+ return this.performPullFromUpstream(subexecutor);
495
+ }
496
+ const activeChild = subexecutor.activeChildExecutors[0];
497
+ const parentSubexecutor = new PullFromUpstream(subexecutor.upstreamExecutor, subexecutor.createChild, subexecutor.lastDone, subexecutor.activeChildExecutors.slice(1), subexecutor.combineChildResults, subexecutor.combineWithChildResult, subexecutor.onPull, subexecutor.onEmit);
498
+ if (activeChild === undefined) {
499
+ return this.performPullFromUpstream(parentSubexecutor);
500
+ }
501
+ this.replaceSubexecutor(new PullFromChild(activeChild.childExecutor, parentSubexecutor, activeChild.onEmit));
502
+ return undefined;
503
+ }
504
+ performPullFromUpstream(subexecutor) {
505
+ return Read(subexecutor.upstreamExecutor, effect => {
506
+ const closeLastSubstream = this._closeLastSubstream === undefined ? unit : this._closeLastSubstream;
507
+ this._closeLastSubstream = undefined;
508
+ return pipe(this._executeCloseLastSubstream(closeLastSubstream), zipRight(effect));
509
+ }, emitted => {
510
+ if (this._closeLastSubstream !== undefined) {
511
+ const closeLastSubstream = this._closeLastSubstream;
512
+ this._closeLastSubstream = undefined;
513
+ return pipe(this._executeCloseLastSubstream(closeLastSubstream), map(() => {
514
+ const childExecutor = new ChannelExecutor(subexecutor.createChild(emitted), this._providedEnv, this._executeCloseLastSubstream);
515
+ childExecutor._input = this._input;
516
+ const [emitSeparator, updatedChildExecutors] = this.applyUpstreamPullStrategy(false, subexecutor.activeChildExecutors, subexecutor.onPull(Pulled(emitted)));
517
+ this._activeSubexecutor = new PullFromChild(childExecutor, new PullFromUpstream(subexecutor.upstreamExecutor, subexecutor.createChild, subexecutor.lastDone, updatedChildExecutors, subexecutor.combineChildResults, subexecutor.combineWithChildResult, subexecutor.onPull, subexecutor.onEmit), subexecutor.onEmit);
518
+ if (isSome(emitSeparator)) {
519
+ this._activeSubexecutor = new Emit$1(emitSeparator.value, this._activeSubexecutor);
520
+ }
521
+ return undefined;
522
+ }));
523
+ }
524
+ const childExecutor = new ChannelExecutor(subexecutor.createChild(emitted), this._providedEnv, this._executeCloseLastSubstream);
525
+ childExecutor._input = this._input;
526
+ const [emitSeparator, updatedChildExecutors] = this.applyUpstreamPullStrategy(false, subexecutor.activeChildExecutors, subexecutor.onPull(Pulled(emitted)));
527
+ this._activeSubexecutor = new PullFromChild(childExecutor, new PullFromUpstream(subexecutor.upstreamExecutor, subexecutor.createChild, subexecutor.lastDone, updatedChildExecutors, subexecutor.combineChildResults, subexecutor.combineWithChildResult, subexecutor.onPull, subexecutor.onEmit), subexecutor.onEmit);
528
+ if (isSome(emitSeparator)) {
529
+ this._activeSubexecutor = new Emit$1(emitSeparator.value, this._activeSubexecutor);
530
+ }
531
+ return undefined;
532
+ }, exit => {
533
+ if (subexecutor.activeChildExecutors.some(subexecutor => subexecutor !== undefined)) {
534
+ const drain = new DrainChildExecutors(subexecutor.upstreamExecutor, subexecutor.lastDone, [undefined, ...subexecutor.activeChildExecutors], subexecutor.upstreamExecutor.getDone(), subexecutor.combineChildResults, subexecutor.combineWithChildResult, subexecutor.onPull);
535
+ if (this._closeLastSubstream !== undefined) {
536
+ const closeLastSubstream = this._closeLastSubstream;
537
+ this._closeLastSubstream = undefined;
538
+ return pipe(this._executeCloseLastSubstream(closeLastSubstream), map(() => this.replaceSubexecutor(drain)));
539
+ }
540
+ this.replaceSubexecutor(drain);
541
+ return undefined;
542
+ }
543
+ const closeLastSubstream = this._closeLastSubstream;
544
+ const state = this.finishSubexecutorWithCloseEffect(pipe(exit, map$1(a => subexecutor.combineWithChildResult(subexecutor.lastDone, a))), () => closeLastSubstream, exit => subexecutor.upstreamExecutor.close(exit));
545
+ return state === undefined ? undefined :
546
+ // NOTE: assuming finalizers cannot fail
547
+ effectOrUndefinedIgnored(state);
548
+ });
549
+ }
550
+ drainChildExecutors(subexecutor) {
551
+ if (subexecutor.activeChildExecutors.length === 0) {
552
+ const lastClose = this._closeLastSubstream;
553
+ if (lastClose !== undefined) {
554
+ this.addFinalizer(() => succeed$1(lastClose));
555
+ }
556
+ return this.finishSubexecutorWithCloseEffect(subexecutor.upstreamDone, () => lastClose, exit => subexecutor.upstreamExecutor.close(exit));
557
+ }
558
+ const activeChild = subexecutor.activeChildExecutors[0];
559
+ const rest = subexecutor.activeChildExecutors.slice(1);
560
+ if (activeChild === undefined) {
561
+ const [emitSeparator, remainingExecutors] = this.applyUpstreamPullStrategy(true, rest, subexecutor.onPull(NoUpstream(rest.reduce((n, curr) => curr !== undefined ? n + 1 : n, 0))));
562
+ this.replaceSubexecutor(new DrainChildExecutors(subexecutor.upstreamExecutor, subexecutor.lastDone, remainingExecutors, subexecutor.upstreamDone, subexecutor.combineChildResults, subexecutor.combineWithChildResult, subexecutor.onPull));
563
+ if (isSome(emitSeparator)) {
564
+ this._emitted = emitSeparator.value;
565
+ return Emit();
566
+ }
567
+ return undefined;
568
+ }
569
+ const parentSubexecutor = new DrainChildExecutors(subexecutor.upstreamExecutor, subexecutor.lastDone, rest, subexecutor.upstreamDone, subexecutor.combineChildResults, subexecutor.combineWithChildResult, subexecutor.onPull);
570
+ this.replaceSubexecutor(new PullFromChild(activeChild.childExecutor, parentSubexecutor, activeChild.onEmit));
571
+ return undefined;
572
+ }
573
+ }
574
+ const ifNotNull = effect => effect !== undefined ? effect : unit;
575
+ const runFinalizers = (finalizers, exit$1) => {
576
+ return pipe(forEach(finalizers, fin => exit(fin(exit$1))), map(exits => pipe(all(exits), getOrElse(() => unit$2))), flatMap(exit => suspend(() => exit)));
577
+ };
578
+
579
+ /**
580
+ * @internal
581
+ */
582
+ const readUpstream = (r, onSuccess, onFailure) => {
583
+ const readStack = [r];
584
+ const read = () => {
585
+ const current = readStack.pop();
586
+ if (current === undefined || current.upstream === undefined) {
587
+ return dieMessage("Unexpected end of input for channel execution");
588
+ }
589
+ const state = current.upstream.run();
590
+ switch (state._tag) {
591
+ case OP_EMIT$1:
592
+ {
593
+ const emitEffect = current.onEmit(current.upstream.getEmit());
594
+ if (readStack.length === 0) {
595
+ if (emitEffect === undefined) {
596
+ return suspend(onSuccess);
597
+ }
598
+ return pipe(emitEffect, matchCauseEffect({
599
+ onFailure,
600
+ onSuccess
601
+ }));
602
+ }
603
+ if (emitEffect === undefined) {
604
+ return suspend(() => read());
605
+ }
606
+ return pipe(emitEffect, matchCauseEffect({
607
+ onFailure,
608
+ onSuccess: () => read()
609
+ }));
610
+ }
611
+ case OP_DONE:
612
+ {
613
+ const doneEffect = current.onDone(current.upstream.getDone());
614
+ if (readStack.length === 0) {
615
+ if (doneEffect === undefined) {
616
+ return suspend(onSuccess);
617
+ }
618
+ return pipe(doneEffect, matchCauseEffect({
619
+ onFailure,
620
+ onSuccess
621
+ }));
622
+ }
623
+ if (doneEffect === undefined) {
624
+ return suspend(() => read());
625
+ }
626
+ return pipe(doneEffect, matchCauseEffect({
627
+ onFailure,
628
+ onSuccess: () => read()
629
+ }));
630
+ }
631
+ case OP_FROM_EFFECT$1:
632
+ {
633
+ readStack.push(current);
634
+ return pipe(current.onEffect(state.effect), catchAllCause(cause => suspend(() => {
635
+ const doneEffect = current.onDone(failCause$1(cause));
636
+ return doneEffect === undefined ? unit : doneEffect;
637
+ })), matchCauseEffect({
638
+ onFailure,
639
+ onSuccess: () => read()
640
+ }));
641
+ }
642
+ case OP_READ$1:
643
+ {
644
+ readStack.push(current);
645
+ readStack.push(state);
646
+ return suspend(() => read());
647
+ }
648
+ }
649
+ };
650
+ return read();
651
+ };
652
+
653
+ /** @internal */
654
+ const run = self => pipe(runScoped(self), scoped);
655
+
656
+ /** @internal */
657
+ const runScoped = self => {
658
+ const run = (channelDeferred, scopeDeferred, scope) => acquireUseRelease(sync(() => new ChannelExecutor(self, void 0, identity)), exec => suspend(() => pipe(runScopedInterpret(exec.run(), exec), intoDeferred(channelDeferred), zipRight(_await(channelDeferred)), zipLeft(_await(scopeDeferred)))), (exec, exit) => {
659
+ const finalize = exec.close(exit);
660
+ if (finalize === undefined) {
661
+ return unit;
662
+ }
663
+ return tapErrorCause(finalize, cause => addFinalizer$1(scope, failCause$2(cause)));
664
+ });
665
+ return uninterruptibleMask(restore => flatMap(scope, parent => pipe(all$1([fork(parent, sequential), make(), make()]), flatMap(([child, channelDeferred, scopeDeferred]) => pipe(forkScoped(restore(run(channelDeferred, scopeDeferred, child))), flatMap(fiber => pipe(addFinalizer(() => succeed$2(scopeDeferred, void 0)), zipRight(restore(_await(channelDeferred))), zipLeft(inheritAll(fiber)))))))));
666
+ };
667
+
668
+ /** @internal */
669
+ const runScopedInterpret = (channelState, exec) => {
670
+ const op = channelState;
671
+ switch (op._tag) {
672
+ case OP_FROM_EFFECT$1:
673
+ {
674
+ return pipe(op.effect, flatMap(() => runScopedInterpret(exec.run(), exec)));
675
+ }
676
+ case OP_EMIT$1:
677
+ {
678
+ // Can't really happen because Out <:< Nothing. So just skip ahead.
679
+ return runScopedInterpret(exec.run(), exec);
680
+ }
681
+ case OP_DONE:
682
+ {
683
+ return suspend(() => exec.getDone());
684
+ }
685
+ case OP_READ$1:
686
+ {
687
+ return readUpstream(op, () => runScopedInterpret(exec.run(), exec), failCause$2);
688
+ }
689
+ }
690
+ };
691
+
692
+ export { ChannelExecutor, readUpstream, run, runScoped };