effect 2.0.0-next.37 → 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 (1696) hide show
  1. package/Bigint/dist/effect-Bigint.cjs.dev.js +5 -5
  2. package/Bigint/dist/effect-Bigint.cjs.prod.js +5 -5
  3. package/Bigint/dist/effect-Bigint.esm.js +346 -5
  4. package/Boolean/dist/effect-Boolean.cjs.dev.js +5 -5
  5. package/Boolean/dist/effect-Boolean.cjs.prod.js +5 -5
  6. package/Boolean/dist/effect-Boolean.esm.js +230 -5
  7. package/Brand/dist/effect-Brand.cjs.dev.js +20 -20
  8. package/Brand/dist/effect-Brand.cjs.prod.js +20 -20
  9. package/Brand/dist/effect-Brand.esm.js +204 -20
  10. package/Cache/dist/effect-Cache.cjs.dev.js +72 -72
  11. package/Cache/dist/effect-Cache.cjs.prod.js +72 -72
  12. package/Cache/dist/effect-Cache.esm.js +111 -74
  13. package/Cause/dist/effect-Cause.cjs.dev.js +32 -32
  14. package/Cause/dist/effect-Cause.cjs.prod.js +32 -32
  15. package/Cause/dist/effect-Cause.esm.js +668 -33
  16. package/Channel/dist/effect-Channel.cjs.dev.js +105 -105
  17. package/Channel/dist/effect-Channel.cjs.prod.js +105 -105
  18. package/Channel/dist/effect-Channel.esm.js +1001 -107
  19. package/ChannelChildExecutorDecision/dist/effect-ChannelChildExecutorDecision.cjs.dev.js +3 -3
  20. package/ChannelChildExecutorDecision/dist/effect-ChannelChildExecutorDecision.cjs.prod.js +3 -3
  21. package/ChannelChildExecutorDecision/dist/effect-ChannelChildExecutorDecision.esm.js +112 -3
  22. package/ChannelMergeDecision/dist/effect-ChannelMergeDecision.cjs.dev.js +3 -3
  23. package/ChannelMergeDecision/dist/effect-ChannelMergeDecision.cjs.prod.js +3 -3
  24. package/ChannelMergeDecision/dist/effect-ChannelMergeDecision.esm.js +60 -3
  25. package/ChannelMergeState/dist/effect-ChannelMergeState.cjs.dev.js +3 -3
  26. package/ChannelMergeState/dist/effect-ChannelMergeState.cjs.prod.js +3 -3
  27. package/ChannelMergeState/dist/effect-ChannelMergeState.esm.js +101 -3
  28. package/ChannelMergeStrategy/dist/effect-ChannelMergeStrategy.cjs.dev.js +3 -3
  29. package/ChannelMergeStrategy/dist/effect-ChannelMergeStrategy.cjs.prod.js +3 -3
  30. package/ChannelMergeStrategy/dist/effect-ChannelMergeStrategy.esm.js +84 -3
  31. package/ChannelSingleProducerAsyncInput/dist/effect-ChannelSingleProducerAsyncInput.cjs.dev.js +89 -89
  32. package/ChannelSingleProducerAsyncInput/dist/effect-ChannelSingleProducerAsyncInput.cjs.prod.js +89 -89
  33. package/ChannelSingleProducerAsyncInput/dist/effect-ChannelSingleProducerAsyncInput.esm.js +47 -91
  34. package/ChannelUpstreamPullRequest/dist/effect-ChannelUpstreamPullRequest.cjs.dev.js +3 -3
  35. package/ChannelUpstreamPullRequest/dist/effect-ChannelUpstreamPullRequest.cjs.prod.js +3 -3
  36. package/ChannelUpstreamPullRequest/dist/effect-ChannelUpstreamPullRequest.esm.js +84 -3
  37. package/ChannelUpstreamPullStrategy/dist/effect-ChannelUpstreamPullStrategy.cjs.dev.js +3 -3
  38. package/ChannelUpstreamPullStrategy/dist/effect-ChannelUpstreamPullStrategy.cjs.prod.js +3 -3
  39. package/ChannelUpstreamPullStrategy/dist/effect-ChannelUpstreamPullStrategy.esm.js +83 -3
  40. package/Chunk/dist/effect-Chunk.cjs.dev.js +20 -20
  41. package/Chunk/dist/effect-Chunk.cjs.prod.js +20 -20
  42. package/Chunk/dist/effect-Chunk.esm.js +1084 -20
  43. package/Clock/dist/effect-Clock.cjs.dev.js +40 -40
  44. package/Clock/dist/effect-Clock.cjs.prod.js +40 -40
  45. package/Clock/dist/effect-Clock.esm.js +78 -42
  46. package/Config/dist/effect-Config.cjs.dev.js +36 -36
  47. package/Config/dist/effect-Config.cjs.prod.js +36 -36
  48. package/Config/dist/effect-Config.esm.js +321 -37
  49. package/ConfigError/dist/effect-ConfigError.cjs.dev.js +21 -21
  50. package/ConfigError/dist/effect-ConfigError.cjs.prod.js +21 -21
  51. package/ConfigError/dist/effect-ConfigError.esm.js +185 -21
  52. package/ConfigProvider/dist/effect-ConfigProvider.cjs.dev.js +38 -38
  53. package/ConfigProvider/dist/effect-ConfigProvider.cjs.prod.js +38 -38
  54. package/ConfigProvider/dist/effect-ConfigProvider.esm.js +198 -39
  55. package/ConfigProviderPathPatch/dist/effect-ConfigProviderPathPatch.cjs.dev.js +24 -24
  56. package/ConfigProviderPathPatch/dist/effect-ConfigProviderPathPatch.cjs.prod.js +24 -24
  57. package/ConfigProviderPathPatch/dist/effect-ConfigProviderPathPatch.esm.js +70 -24
  58. package/ConfigSecret/dist/effect-ConfigSecret.cjs.dev.js +22 -22
  59. package/ConfigSecret/dist/effect-ConfigSecret.cjs.prod.js +22 -22
  60. package/ConfigSecret/dist/effect-ConfigSecret.esm.js +63 -22
  61. package/Console/dist/effect-Console.cjs.dev.js +81 -81
  62. package/Console/dist/effect-Console.cjs.prod.js +81 -81
  63. package/Console/dist/effect-Console.esm.js +154 -83
  64. package/Context/dist/effect-Context.cjs.dev.js +17 -17
  65. package/Context/dist/effect-Context.cjs.prod.js +17 -17
  66. package/Context/dist/effect-Context.esm.js +295 -17
  67. package/Data/dist/effect-Data.cjs.dev.js +7 -7
  68. package/Data/dist/effect-Data.cjs.prod.js +7 -7
  69. package/Data/dist/effect-Data.esm.js +163 -7
  70. package/DefaultServices/dist/effect-DefaultServices.cjs.dev.js +40 -40
  71. package/DefaultServices/dist/effect-DefaultServices.cjs.prod.js +40 -40
  72. package/DefaultServices/dist/effect-DefaultServices.esm.js +24 -42
  73. package/Deferred/dist/effect-Deferred.cjs.dev.js +32 -32
  74. package/Deferred/dist/effect-Deferred.cjs.prod.js +32 -32
  75. package/Deferred/dist/effect-Deferred.esm.js +206 -33
  76. package/Differ/dist/effect-Differ.cjs.dev.js +25 -25
  77. package/Differ/dist/effect-Differ.cjs.prod.js +25 -25
  78. package/Differ/dist/effect-Differ.esm.js +137 -26
  79. package/Duration/dist/effect-Duration.cjs.dev.js +17 -16
  80. package/Duration/dist/effect-Duration.cjs.mjs +1 -0
  81. package/Duration/dist/effect-Duration.cjs.prod.js +17 -16
  82. package/Duration/dist/effect-Duration.esm.js +438 -16
  83. package/Effect/dist/effect-Effect.cjs.dev.js +87 -87
  84. package/Effect/dist/effect-Effect.cjs.prod.js +87 -87
  85. package/Effect/dist/effect-Effect.esm.js +3093 -89
  86. package/Effectable/dist/effect-Effectable.cjs.dev.js +10 -10
  87. package/Effectable/dist/effect-Effectable.cjs.prod.js +10 -10
  88. package/Effectable/dist/effect-Effectable.esm.js +77 -10
  89. package/Either/dist/effect-Either.cjs.dev.js +13 -13
  90. package/Either/dist/effect-Either.cjs.prod.js +13 -13
  91. package/Either/dist/effect-Either.esm.js +442 -13
  92. package/Encoding/dist/effect-Encoding.cjs.dev.js +14 -14
  93. package/Encoding/dist/effect-Encoding.cjs.prod.js +14 -14
  94. package/Encoding/dist/effect-Encoding.esm.js +123 -14
  95. package/Equal/dist/effect-Equal.cjs.dev.js +6 -6
  96. package/Equal/dist/effect-Equal.cjs.prod.js +6 -6
  97. package/Equal/dist/effect-Equal.esm.js +57 -6
  98. package/Equivalence/dist/effect-Equivalence.cjs.dev.js +2 -2
  99. package/Equivalence/dist/effect-Equivalence.cjs.prod.js +2 -2
  100. package/Equivalence/dist/effect-Equivalence.esm.js +196 -2
  101. package/Error/dist/effect-Error.cjs.dev.js +89 -89
  102. package/Error/dist/effect-Error.cjs.prod.js +89 -89
  103. package/Error/dist/effect-Error.esm.js +47 -91
  104. package/ExecutionStrategy/dist/effect-ExecutionStrategy.cjs.dev.js +2 -2
  105. package/ExecutionStrategy/dist/effect-ExecutionStrategy.cjs.prod.js +2 -2
  106. package/ExecutionStrategy/dist/effect-ExecutionStrategy.esm.js +99 -2
  107. package/Exit/dist/effect-Exit.cjs.dev.js +32 -32
  108. package/Exit/dist/effect-Exit.cjs.prod.js +32 -32
  109. package/Exit/dist/effect-Exit.esm.js +332 -33
  110. package/Fiber/dist/effect-Fiber.cjs.dev.js +75 -75
  111. package/Fiber/dist/effect-Fiber.cjs.prod.js +75 -75
  112. package/Fiber/dist/effect-Fiber.esm.js +423 -77
  113. package/FiberId/dist/effect-FiberId.cjs.dev.js +19 -19
  114. package/FiberId/dist/effect-FiberId.cjs.prod.js +19 -19
  115. package/FiberId/dist/effect-FiberId.esm.js +161 -20
  116. package/FiberRef/dist/effect-FiberRef.cjs.dev.js +73 -73
  117. package/FiberRef/dist/effect-FiberRef.cjs.prod.js +73 -73
  118. package/FiberRef/dist/effect-FiberRef.esm.js +289 -75
  119. package/FiberRefs/dist/effect-FiberRefs.cjs.dev.js +33 -33
  120. package/FiberRefs/dist/effect-FiberRefs.cjs.prod.js +33 -33
  121. package/FiberRefs/dist/effect-FiberRefs.esm.js +107 -34
  122. package/FiberRefsPatch/dist/effect-FiberRefsPatch.cjs.dev.js +34 -34
  123. package/FiberRefsPatch/dist/effect-FiberRefsPatch.cjs.prod.js +34 -34
  124. package/FiberRefsPatch/dist/effect-FiberRefsPatch.esm.js +76 -35
  125. package/FiberStatus/dist/effect-FiberStatus.cjs.dev.js +7 -7
  126. package/FiberStatus/dist/effect-FiberStatus.cjs.prod.js +7 -7
  127. package/FiberStatus/dist/effect-FiberStatus.esm.js +89 -7
  128. package/Function/dist/effect-Function.cjs.dev.js +1 -1
  129. package/Function/dist/effect-Function.cjs.prod.js +1 -1
  130. package/Function/dist/effect-Function.esm.js +492 -1
  131. package/GlobalValue/dist/effect-GlobalValue.cjs.dev.js +1 -1
  132. package/GlobalValue/dist/effect-GlobalValue.cjs.prod.js +1 -1
  133. package/GlobalValue/dist/effect-GlobalValue.esm.js +20 -1
  134. package/GroupBy/dist/effect-GroupBy.cjs.dev.js +106 -106
  135. package/GroupBy/dist/effect-GroupBy.cjs.prod.js +106 -106
  136. package/GroupBy/dist/effect-GroupBy.esm.js +63 -108
  137. package/Hash/dist/effect-Hash.cjs.dev.js +5 -5
  138. package/Hash/dist/effect-Hash.cjs.prod.js +5 -5
  139. package/Hash/dist/effect-Hash.esm.js +164 -5
  140. package/HashMap/dist/effect-HashMap.cjs.dev.js +17 -17
  141. package/HashMap/dist/effect-HashMap.cjs.prod.js +17 -17
  142. package/HashMap/dist/effect-HashMap.esm.js +287 -18
  143. package/HashSet/dist/effect-HashSet.cjs.dev.js +17 -17
  144. package/HashSet/dist/effect-HashSet.cjs.prod.js +17 -17
  145. package/HashSet/dist/effect-HashSet.esm.js +227 -18
  146. package/Hub/dist/effect-Hub.cjs.dev.js +72 -72
  147. package/Hub/dist/effect-Hub.cjs.prod.js +72 -72
  148. package/Hub/dist/effect-Hub.esm.js +148 -74
  149. package/Inspectable/dist/effect-Inspectable.cjs.dev.js +1 -1
  150. package/Inspectable/dist/effect-Inspectable.cjs.prod.js +1 -1
  151. package/Inspectable/dist/effect-Inspectable.esm.js +38 -1
  152. package/KeyedPool/dist/effect-KeyedPool.cjs.dev.js +73 -73
  153. package/KeyedPool/dist/effect-KeyedPool.cjs.prod.js +73 -73
  154. package/KeyedPool/dist/effect-KeyedPool.esm.js +104 -75
  155. package/Layer/dist/effect-Layer.cjs.dev.js +81 -81
  156. package/Layer/dist/effect-Layer.cjs.prod.js +81 -81
  157. package/Layer/dist/effect-Layer.esm.js +557 -83
  158. package/List/dist/effect-List.cjs.dev.js +21 -21
  159. package/List/dist/effect-List.cjs.prod.js +21 -21
  160. package/List/dist/effect-List.esm.js +816 -21
  161. package/LogLevel/dist/effect-LogLevel.cjs.dev.js +32 -32
  162. package/LogLevel/dist/effect-LogLevel.cjs.prod.js +32 -32
  163. package/LogLevel/dist/effect-LogLevel.esm.js +202 -33
  164. package/LogSpan/dist/effect-LogSpan.cjs.dev.js +1 -1
  165. package/LogSpan/dist/effect-LogSpan.cjs.prod.js +1 -1
  166. package/LogSpan/dist/effect-LogSpan.esm.js +24 -1
  167. package/Logger/dist/effect-Logger.cjs.dev.js +83 -83
  168. package/Logger/dist/effect-Logger.cjs.prod.js +83 -83
  169. package/Logger/dist/effect-Logger.esm.js +198 -85
  170. package/Metric/dist/effect-Metric.cjs.dev.js +69 -69
  171. package/Metric/dist/effect-Metric.cjs.prod.js +69 -69
  172. package/Metric/dist/effect-Metric.esm.js +395 -71
  173. package/MetricBoundaries/dist/effect-MetricBoundaries.cjs.dev.js +22 -22
  174. package/MetricBoundaries/dist/effect-MetricBoundaries.cjs.prod.js +22 -22
  175. package/MetricBoundaries/dist/effect-MetricBoundaries.esm.js +52 -22
  176. package/MetricHook/dist/effect-MetricHook.cjs.dev.js +26 -26
  177. package/MetricHook/dist/effect-MetricHook.cjs.prod.js +26 -26
  178. package/MetricHook/dist/effect-MetricHook.esm.js +68 -27
  179. package/MetricKey/dist/effect-MetricKey.cjs.dev.js +22 -22
  180. package/MetricKey/dist/effect-MetricKey.cjs.prod.js +22 -22
  181. package/MetricKey/dist/effect-MetricKey.esm.js +104 -23
  182. package/MetricKeyType/dist/effect-MetricKeyType.cjs.dev.js +18 -18
  183. package/MetricKeyType/dist/effect-MetricKeyType.cjs.prod.js +18 -18
  184. package/MetricKeyType/dist/effect-MetricKeyType.esm.js +147 -18
  185. package/MetricLabel/dist/effect-MetricLabel.cjs.dev.js +9 -9
  186. package/MetricLabel/dist/effect-MetricLabel.cjs.prod.js +9 -9
  187. package/MetricLabel/dist/effect-MetricLabel.esm.js +41 -9
  188. package/MetricPair/dist/effect-MetricPair.cjs.dev.js +3 -3
  189. package/MetricPair/dist/effect-MetricPair.cjs.prod.js +3 -3
  190. package/MetricPair/dist/effect-MetricPair.esm.js +38 -3
  191. package/MetricPolling/dist/effect-MetricPolling.cjs.dev.js +75 -75
  192. package/MetricPolling/dist/effect-MetricPolling.cjs.prod.js +75 -75
  193. package/MetricPolling/dist/effect-MetricPolling.esm.js +84 -77
  194. package/MetricRegistry/dist/effect-MetricRegistry.cjs.dev.js +32 -32
  195. package/MetricRegistry/dist/effect-MetricRegistry.cjs.prod.js +32 -32
  196. package/MetricRegistry/dist/effect-MetricRegistry.esm.js +28 -33
  197. package/MetricState/dist/effect-MetricState.cjs.dev.js +9 -9
  198. package/MetricState/dist/effect-MetricState.cjs.prod.js +9 -9
  199. package/MetricState/dist/effect-MetricState.esm.js +151 -9
  200. package/MutableHashMap/dist/effect-MutableHashMap.cjs.dev.js +19 -19
  201. package/MutableHashMap/dist/effect-MutableHashMap.cjs.prod.js +19 -19
  202. package/MutableHashMap/dist/effect-MutableHashMap.esm.js +128 -20
  203. package/MutableHashSet/dist/effect-MutableHashSet.cjs.dev.js +20 -20
  204. package/MutableHashSet/dist/effect-MutableHashSet.cjs.prod.js +20 -20
  205. package/MutableHashSet/dist/effect-MutableHashSet.esm.js +90 -21
  206. package/MutableList/dist/effect-MutableList.cjs.dev.js +4 -4
  207. package/MutableList/dist/effect-MutableList.cjs.prod.js +4 -4
  208. package/MutableList/dist/effect-MutableList.esm.js +264 -4
  209. package/MutableQueue/dist/effect-MutableQueue.cjs.dev.js +22 -22
  210. package/MutableQueue/dist/effect-MutableQueue.cjs.prod.js +22 -22
  211. package/MutableQueue/dist/effect-MutableQueue.esm.js +187 -22
  212. package/MutableRef/dist/effect-MutableRef.cjs.dev.js +9 -9
  213. package/MutableRef/dist/effect-MutableRef.cjs.prod.js +9 -9
  214. package/MutableRef/dist/effect-MutableRef.esm.js +156 -9
  215. package/NonEmptyIterable/dist/effect-NonEmptyIterable.cjs.dev.js +1 -1
  216. package/NonEmptyIterable/dist/effect-NonEmptyIterable.cjs.prod.js +1 -1
  217. package/NonEmptyIterable/dist/effect-NonEmptyIterable.esm.js +28 -1
  218. package/Number/dist/effect-Number.cjs.dev.js +5 -5
  219. package/Number/dist/effect-Number.cjs.prod.js +5 -5
  220. package/Number/dist/effect-Number.esm.js +369 -5
  221. package/Option/dist/effect-Option.cjs.dev.js +15 -15
  222. package/Option/dist/effect-Option.cjs.prod.js +15 -15
  223. package/Option/dist/effect-Option.esm.js +1071 -15
  224. package/Order/dist/effect-Order.cjs.dev.js +2 -2
  225. package/Order/dist/effect-Order.cjs.prod.js +2 -2
  226. package/Order/dist/effect-Order.esm.js +263 -2
  227. package/Ordering/dist/effect-Ordering.cjs.dev.js +2 -2
  228. package/Ordering/dist/effect-Ordering.cjs.prod.js +2 -2
  229. package/Ordering/dist/effect-Ordering.esm.js +88 -2
  230. package/Pipeable/dist/effect-Pipeable.cjs.dev.js +1 -1
  231. package/Pipeable/dist/effect-Pipeable.cjs.prod.js +1 -1
  232. package/Pipeable/dist/effect-Pipeable.esm.js +44 -1
  233. package/Pool/dist/effect-Pool.cjs.dev.js +73 -73
  234. package/Pool/dist/effect-Pool.cjs.prod.js +73 -73
  235. package/Pool/dist/effect-Pool.esm.js +104 -75
  236. package/Predicate/dist/effect-Predicate.cjs.dev.js +2 -2
  237. package/Predicate/dist/effect-Predicate.cjs.prod.js +2 -2
  238. package/Predicate/dist/effect-Predicate.esm.js +634 -2
  239. package/Queue/dist/effect-Queue.cjs.dev.js +72 -72
  240. package/Queue/dist/effect-Queue.cjs.prod.js +72 -72
  241. package/Queue/dist/effect-Queue.esm.js +328 -74
  242. package/Random/dist/effect-Random.cjs.dev.js +40 -40
  243. package/Random/dist/effect-Random.cjs.prod.js +40 -40
  244. package/Random/dist/effect-Random.esm.js +83 -42
  245. package/ReadonlyArray/dist/effect-ReadonlyArray.cjs.dev.js +19 -19
  246. package/ReadonlyArray/dist/effect-ReadonlyArray.cjs.prod.js +19 -19
  247. package/ReadonlyArray/dist/effect-ReadonlyArray.esm.js +1445 -19
  248. package/ReadonlyRecord/dist/effect-ReadonlyRecord.cjs.dev.js +17 -17
  249. package/ReadonlyRecord/dist/effect-ReadonlyRecord.cjs.prod.js +17 -17
  250. package/ReadonlyRecord/dist/effect-ReadonlyRecord.esm.js +518 -17
  251. package/RedBlackTree/dist/effect-RedBlackTree.cjs.dev.js +21 -21
  252. package/RedBlackTree/dist/effect-RedBlackTree.cjs.prod.js +21 -21
  253. package/RedBlackTree/dist/effect-RedBlackTree.esm.js +314 -22
  254. package/Ref/dist/effect-Ref.cjs.dev.js +32 -32
  255. package/Ref/dist/effect-Ref.cjs.prod.js +32 -32
  256. package/Ref/dist/effect-Ref.esm.js +111 -33
  257. package/Reloadable/dist/effect-Reloadable.cjs.dev.js +82 -82
  258. package/Reloadable/dist/effect-Reloadable.cjs.prod.js +82 -82
  259. package/Reloadable/dist/effect-Reloadable.esm.js +88 -84
  260. package/Request/dist/effect-Request.cjs.dev.js +72 -72
  261. package/Request/dist/effect-Request.cjs.prod.js +72 -72
  262. package/Request/dist/effect-Request.esm.js +160 -74
  263. package/RequestBlock/dist/effect-RequestBlock.cjs.dev.js +89 -89
  264. package/RequestBlock/dist/effect-RequestBlock.cjs.prod.js +89 -89
  265. package/RequestBlock/dist/effect-RequestBlock.esm.js +103 -91
  266. package/RequestResolver/dist/effect-RequestResolver.cjs.dev.js +89 -89
  267. package/RequestResolver/dist/effect-RequestResolver.cjs.prod.js +89 -89
  268. package/RequestResolver/dist/effect-RequestResolver.esm.js +191 -91
  269. package/Resource/dist/effect-Resource.cjs.dev.js +77 -77
  270. package/Resource/dist/effect-Resource.cjs.prod.js +77 -77
  271. package/Resource/dist/effect-Resource.esm.js +70 -79
  272. package/Runtime/dist/effect-Runtime.cjs.dev.js +77 -77
  273. package/Runtime/dist/effect-Runtime.cjs.prod.js +77 -77
  274. package/Runtime/dist/effect-Runtime.esm.js +157 -79
  275. package/RuntimeFlags/dist/effect-RuntimeFlags.cjs.dev.js +83 -83
  276. package/RuntimeFlags/dist/effect-RuntimeFlags.cjs.prod.js +83 -83
  277. package/RuntimeFlags/dist/effect-RuntimeFlags.esm.js +305 -85
  278. package/RuntimeFlagsPatch/dist/effect-RuntimeFlagsPatch.cjs.dev.js +26 -26
  279. package/RuntimeFlagsPatch/dist/effect-RuntimeFlagsPatch.cjs.prod.js +26 -26
  280. package/RuntimeFlagsPatch/dist/effect-RuntimeFlagsPatch.esm.js +158 -27
  281. package/STM/dist/effect-STM.cjs.dev.js +110 -110
  282. package/STM/dist/effect-STM.cjs.prod.js +110 -110
  283. package/STM/dist/effect-STM.esm.js +1193 -112
  284. package/Schedule/dist/effect-Schedule.cjs.dev.js +55 -55
  285. package/Schedule/dist/effect-Schedule.cjs.prod.js +55 -55
  286. package/Schedule/dist/effect-Schedule.esm.js +957 -57
  287. package/ScheduleDecision/dist/effect-ScheduleDecision.cjs.dev.js +24 -24
  288. package/ScheduleDecision/dist/effect-ScheduleDecision.cjs.prod.js +24 -24
  289. package/ScheduleDecision/dist/effect-ScheduleDecision.esm.js +48 -24
  290. package/ScheduleInterval/dist/effect-ScheduleInterval.cjs.dev.js +17 -17
  291. package/ScheduleInterval/dist/effect-ScheduleInterval.cjs.prod.js +17 -17
  292. package/ScheduleInterval/dist/effect-ScheduleInterval.esm.js +130 -17
  293. package/ScheduleIntervals/dist/effect-ScheduleIntervals.cjs.dev.js +23 -23
  294. package/ScheduleIntervals/dist/effect-ScheduleIntervals.cjs.prod.js +23 -23
  295. package/ScheduleIntervals/dist/effect-ScheduleIntervals.esm.js +105 -23
  296. package/Scheduler/dist/effect-Scheduler.cjs.dev.js +32 -32
  297. package/Scheduler/dist/effect-Scheduler.cjs.prod.js +32 -32
  298. package/Scheduler/dist/effect-Scheduler.esm.js +326 -34
  299. package/Scope/dist/effect-Scope.cjs.dev.js +69 -69
  300. package/Scope/dist/effect-Scope.cjs.prod.js +69 -69
  301. package/Scope/dist/effect-Scope.esm.js +117 -71
  302. package/ScopedCache/dist/effect-ScopedCache.cjs.dev.js +73 -73
  303. package/ScopedCache/dist/effect-ScopedCache.cjs.prod.js +73 -73
  304. package/ScopedCache/dist/effect-ScopedCache.esm.js +52 -75
  305. package/ScopedRef/dist/effect-ScopedRef.cjs.dev.js +77 -77
  306. package/ScopedRef/dist/effect-ScopedRef.cjs.prod.js +77 -77
  307. package/ScopedRef/dist/effect-ScopedRef.esm.js +71 -79
  308. package/Sink/dist/effect-Sink.cjs.dev.js +99 -99
  309. package/Sink/dist/effect-Sink.cjs.prod.js +99 -99
  310. package/Sink/dist/effect-Sink.esm.js +997 -101
  311. package/SortedMap/dist/effect-SortedMap.cjs.dev.js +22 -22
  312. package/SortedMap/dist/effect-SortedMap.cjs.prod.js +22 -22
  313. package/SortedMap/dist/effect-SortedMap.esm.js +168 -23
  314. package/SortedSet/dist/effect-SortedSet.cjs.dev.js +22 -22
  315. package/SortedSet/dist/effect-SortedSet.cjs.prod.js +22 -22
  316. package/SortedSet/dist/effect-SortedSet.esm.js +263 -23
  317. package/Stream/dist/effect-Stream.cjs.dev.js +106 -106
  318. package/Stream/dist/effect-Stream.cjs.prod.js +106 -106
  319. package/Stream/dist/effect-Stream.esm.js +2879 -108
  320. package/StreamHaltStrategy/dist/effect-StreamHaltStrategy.cjs.dev.js +2 -2
  321. package/StreamHaltStrategy/dist/effect-StreamHaltStrategy.cjs.prod.js +2 -2
  322. package/StreamHaltStrategy/dist/effect-StreamHaltStrategy.esm.js +97 -2
  323. package/String/dist/effect-String.cjs.dev.js +17 -17
  324. package/String/dist/effect-String.cjs.prod.js +17 -17
  325. package/String/dist/effect-String.esm.js +600 -17
  326. package/Struct/dist/effect-Struct.cjs.dev.js +4 -4
  327. package/Struct/dist/effect-Struct.cjs.prod.js +4 -4
  328. package/Struct/dist/effect-Struct.esm.js +125 -4
  329. package/SubscriptionRef/dist/effect-SubscriptionRef.cjs.dev.js +106 -106
  330. package/SubscriptionRef/dist/effect-SubscriptionRef.cjs.prod.js +106 -106
  331. package/SubscriptionRef/dist/effect-SubscriptionRef.esm.js +160 -108
  332. package/Supervisor/dist/effect-Supervisor.cjs.dev.js +83 -83
  333. package/Supervisor/dist/effect-Supervisor.cjs.prod.js +83 -83
  334. package/Supervisor/dist/effect-Supervisor.esm.js +148 -85
  335. package/Symbol/dist/effect-Symbol.cjs.dev.js +4 -4
  336. package/Symbol/dist/effect-Symbol.cjs.prod.js +4 -4
  337. package/Symbol/dist/effect-Symbol.esm.js +30 -4
  338. package/SynchronizedRef/dist/effect-SynchronizedRef.cjs.dev.js +76 -76
  339. package/SynchronizedRef/dist/effect-SynchronizedRef.cjs.prod.js +76 -76
  340. package/SynchronizedRef/dist/effect-SynchronizedRef.esm.js +160 -78
  341. package/TArray/dist/effect-TArray.cjs.dev.js +112 -112
  342. package/TArray/dist/effect-TArray.cjs.prod.js +112 -112
  343. package/TArray/dist/effect-TArray.esm.js +367 -114
  344. package/TDeferred/dist/effect-TDeferred.cjs.dev.js +111 -111
  345. package/TDeferred/dist/effect-TDeferred.cjs.prod.js +111 -111
  346. package/TDeferred/dist/effect-TDeferred.esm.js +63 -113
  347. package/THub/dist/effect-THub.cjs.dev.js +113 -113
  348. package/THub/dist/effect-THub.cjs.prod.js +113 -113
  349. package/THub/dist/effect-THub.esm.js +157 -115
  350. package/TMap/dist/effect-TMap.cjs.dev.js +114 -114
  351. package/TMap/dist/effect-TMap.cjs.prod.js +114 -114
  352. package/TMap/dist/effect-TMap.esm.js +373 -116
  353. package/TPriorityQueue/dist/effect-TPriorityQueue.cjs.dev.js +111 -111
  354. package/TPriorityQueue/dist/effect-TPriorityQueue.cjs.prod.js +111 -111
  355. package/TPriorityQueue/dist/effect-TPriorityQueue.esm.js +184 -113
  356. package/TQueue/dist/effect-TQueue.cjs.dev.js +113 -113
  357. package/TQueue/dist/effect-TQueue.cjs.prod.js +113 -113
  358. package/TQueue/dist/effect-TQueue.esm.js +293 -115
  359. package/TRandom/dist/effect-TRandom.cjs.dev.js +112 -112
  360. package/TRandom/dist/effect-TRandom.cjs.prod.js +112 -112
  361. package/TRandom/dist/effect-TRandom.esm.js +93 -114
  362. package/TReentrantLock/dist/effect-TReentrantLock.cjs.dev.js +110 -110
  363. package/TReentrantLock/dist/effect-TReentrantLock.cjs.prod.js +110 -110
  364. package/TReentrantLock/dist/effect-TReentrantLock.esm.js +199 -112
  365. package/TRef/dist/effect-TRef.cjs.dev.js +110 -110
  366. package/TRef/dist/effect-TRef.cjs.prod.js +110 -110
  367. package/TRef/dist/effect-TRef.esm.js +116 -112
  368. package/TSemaphore/dist/effect-TSemaphore.cjs.dev.js +112 -112
  369. package/TSemaphore/dist/effect-TSemaphore.cjs.prod.js +112 -112
  370. package/TSemaphore/dist/effect-TSemaphore.esm.js +97 -114
  371. package/TSet/dist/effect-TSet.cjs.dev.js +114 -114
  372. package/TSet/dist/effect-TSet.cjs.prod.js +114 -114
  373. package/TSet/dist/effect-TSet.esm.js +268 -116
  374. package/Take/dist/effect-Take.cjs.dev.js +89 -89
  375. package/Take/dist/effect-Take.cjs.prod.js +89 -89
  376. package/Take/dist/effect-Take.esm.js +190 -91
  377. package/TestAnnotation/dist/effect-TestAnnotation.cjs.dev.js +25 -25
  378. package/TestAnnotation/dist/effect-TestAnnotation.cjs.prod.js +25 -25
  379. package/TestAnnotation/dist/effect-TestAnnotation.esm.js +111 -26
  380. package/TestAnnotationMap/dist/effect-TestAnnotationMap.cjs.dev.js +2 -2
  381. package/TestAnnotationMap/dist/effect-TestAnnotationMap.cjs.prod.js +2 -2
  382. package/TestAnnotationMap/dist/effect-TestAnnotationMap.esm.js +101 -2
  383. package/TestAnnotations/dist/effect-TestAnnotations.cjs.dev.js +57 -57
  384. package/TestAnnotations/dist/effect-TestAnnotations.cjs.prod.js +57 -57
  385. package/TestAnnotations/dist/effect-TestAnnotations.esm.js +83 -59
  386. package/TestClock/dist/effect-TestClock.cjs.dev.js +85 -85
  387. package/TestClock/dist/effect-TestClock.cjs.prod.js +85 -85
  388. package/TestClock/dist/effect-TestClock.esm.js +411 -87
  389. package/TestConfig/dist/effect-TestConfig.cjs.dev.js +18 -18
  390. package/TestConfig/dist/effect-TestConfig.cjs.prod.js +18 -18
  391. package/TestConfig/dist/effect-TestConfig.esm.js +27 -18
  392. package/TestContext/dist/effect-TestContext.cjs.dev.js +96 -96
  393. package/TestContext/dist/effect-TestContext.cjs.prod.js +96 -96
  394. package/TestContext/dist/effect-TestContext.esm.js +29 -98
  395. package/TestLive/dist/effect-TestLive.cjs.dev.js +40 -40
  396. package/TestLive/dist/effect-TestLive.cjs.prod.js +40 -40
  397. package/TestLive/dist/effect-TestLive.esm.js +48 -42
  398. package/TestServices/dist/effect-TestServices.cjs.dev.js +94 -94
  399. package/TestServices/dist/effect-TestServices.cjs.prod.js +94 -94
  400. package/TestServices/dist/effect-TestServices.esm.js +269 -96
  401. package/TestSized/dist/effect-TestSized.cjs.dev.js +32 -32
  402. package/TestSized/dist/effect-TestSized.cjs.prod.js +32 -32
  403. package/TestSized/dist/effect-TestSized.esm.js +50 -33
  404. package/Tracer/dist/effect-Tracer.cjs.dev.js +40 -40
  405. package/Tracer/dist/effect-Tracer.cjs.prod.js +40 -40
  406. package/Tracer/dist/effect-Tracer.esm.js +68 -42
  407. package/Tuple/dist/effect-Tuple.cjs.dev.js +4 -4
  408. package/Tuple/dist/effect-Tuple.cjs.prod.js +4 -4
  409. package/Tuple/dist/effect-Tuple.esm.js +173 -4
  410. package/Unify/dist/effect-Unify.cjs.dev.js +2 -2
  411. package/Unify/dist/effect-Unify.cjs.prod.js +2 -2
  412. package/Unify/dist/effect-Unify.esm.js +40 -2
  413. package/Utils/dist/effect-Utils.cjs.dev.js +3 -3
  414. package/Utils/dist/effect-Utils.cjs.prod.js +3 -3
  415. package/Utils/dist/effect-Utils.esm.js +352 -3
  416. package/dist/Bigint-0ebd807c.cjs.dev.js +392 -0
  417. package/dist/Bigint-912c77f3.cjs.prod.js +392 -0
  418. package/dist/Boolean-97839b78.cjs.prod.js +264 -0
  419. package/dist/Boolean-f0bc3abf.cjs.dev.js +264 -0
  420. package/dist/Brand-93578f43.cjs.prod.js +224 -0
  421. package/dist/Brand-b238487d.cjs.dev.js +224 -0
  422. package/dist/Cache-1688e584.cjs.dev.js +127 -0
  423. package/dist/Cache-8f2f2b55.cjs.prod.js +127 -0
  424. package/dist/Cause-384e2165.cjs.prod.js +791 -0
  425. package/dist/Cause-96c29074.cjs.dev.js +791 -0
  426. package/dist/Channel-2ce019f1.cjs.prod.js +1217 -0
  427. package/dist/Channel-544108d2.cjs.dev.js +1217 -0
  428. package/dist/ChannelChildExecutorDecision-168278f6.cjs.prod.js +136 -0
  429. package/dist/ChannelChildExecutorDecision-b0e715de.cjs.dev.js +136 -0
  430. package/dist/ChannelMergeDecision-9c266aeb.cjs.prod.js +78 -0
  431. package/dist/ChannelMergeDecision-eeaf4779.cjs.dev.js +78 -0
  432. package/dist/ChannelMergeState-4366d090.cjs.prod.js +125 -0
  433. package/dist/ChannelMergeState-abce1d88.cjs.dev.js +125 -0
  434. package/dist/ChannelMergeStrategy-6193b8e0.cjs.prod.js +104 -0
  435. package/dist/ChannelMergeStrategy-e7ddbb7a.cjs.dev.js +104 -0
  436. package/dist/ChannelSingleProducerAsyncInput-62f4749c.cjs.dev.js +55 -0
  437. package/dist/ChannelSingleProducerAsyncInput-6e0084c3.cjs.prod.js +55 -0
  438. package/dist/ChannelUpstreamPullRequest-1ca7d2bd.cjs.dev.js +104 -0
  439. package/dist/ChannelUpstreamPullRequest-208751c3.cjs.prod.js +104 -0
  440. package/dist/ChannelUpstreamPullStrategy-266b5a77.cjs.prod.js +103 -0
  441. package/dist/ChannelUpstreamPullStrategy-ec57dc70.cjs.dev.js +103 -0
  442. package/dist/Chunk-6cf5a8e6.cjs.prod.js +1248 -0
  443. package/dist/Chunk-bd290b8e.cjs.dev.js +1248 -0
  444. package/dist/Clock-09ecce0a.cjs.prod.js +97 -0
  445. package/dist/Clock-bec722c1.cjs.dev.js +97 -0
  446. package/dist/Config-85ae6286.cjs.prod.js +393 -0
  447. package/dist/Config-dc58cf69.cjs.dev.js +393 -0
  448. package/dist/ConfigError-c1f762d2.cjs.dev.js +225 -0
  449. package/dist/ConfigError-cee682fa.cjs.prod.js +225 -0
  450. package/dist/ConfigProvider-8341a5f5.cjs.prod.js +240 -0
  451. package/dist/ConfigProvider-de45b085.cjs.dev.js +240 -0
  452. package/dist/ConfigProviderPathPatch-52422b32.cjs.prod.js +86 -0
  453. package/dist/ConfigProviderPathPatch-d22442e3.cjs.dev.js +86 -0
  454. package/dist/ConfigSecret-c76717e8.cjs.dev.js +83 -0
  455. package/dist/ConfigSecret-ebab2ae7.cjs.prod.js +83 -0
  456. package/dist/Console-150b7b40.cjs.prod.js +271 -0
  457. package/dist/Console-4825ee9f.cjs.dev.js +271 -0
  458. package/dist/Context-25a49952.cjs.prod.js +327 -0
  459. package/dist/Context-3c9e986b.cjs.dev.js +327 -0
  460. package/dist/Context-96739709.cjs.dev.js +222 -0
  461. package/dist/Context-f958cabc.cjs.prod.js +222 -0
  462. package/dist/Data-07dc27f1.cjs.prod.js +237 -0
  463. package/dist/Data-85559fb3.cjs.dev.js +237 -0
  464. package/dist/DefaultServices-d5740d37.cjs.dev.js +34 -0
  465. package/dist/DefaultServices-df7495bb.cjs.prod.js +34 -0
  466. package/dist/Deferred-5d5c886c.cjs.dev.js +253 -0
  467. package/dist/Deferred-9d825b3b.cjs.prod.js +253 -0
  468. package/dist/Differ-0122f60e.cjs.dev.js +992 -0
  469. package/dist/Differ-0bd34066.cjs.prod.js +992 -0
  470. package/dist/Duration-0bc08d03.cjs.prod.js +508 -0
  471. package/dist/Duration-604874d1.cjs.dev.js +508 -0
  472. package/dist/Effect-1442090f.cjs.prod.js +3740 -0
  473. package/dist/Effect-6e9780e6.cjs.dev.js +3740 -0
  474. package/dist/Effectable-04f3cd30.cjs.dev.js +99 -0
  475. package/dist/Effectable-8997112d.cjs.prod.js +99 -0
  476. package/dist/Effectable-a6403e5f.cjs.dev.js +181 -0
  477. package/dist/Effectable-f867d1cb.cjs.prod.js +181 -0
  478. package/dist/Either-3fab3796.cjs.prod.js +502 -0
  479. package/dist/Either-9c349424.cjs.dev.js +178 -0
  480. package/dist/Either-a806809d.cjs.dev.js +502 -0
  481. package/dist/Either-d03d5f05.cjs.prod.js +178 -0
  482. package/dist/Encoding-0cab52d5.cjs.prod.js +309 -0
  483. package/dist/Encoding-d993b1b0.cjs.dev.js +309 -0
  484. package/dist/Equal-281b6ca8.cjs.dev.js +71 -0
  485. package/dist/Equal-ce9977a8.cjs.prod.js +71 -0
  486. package/dist/Equivalence-0bc84518.cjs.prod.js +238 -0
  487. package/dist/Equivalence-de7a0d51.cjs.dev.js +238 -0
  488. package/dist/Error-5ab157f2.cjs.dev.js +57 -0
  489. package/dist/Error-e9d25c53.cjs.prod.js +57 -0
  490. package/dist/ExecutionStrategy-89fbe735.cjs.dev.js +180 -0
  491. package/dist/ExecutionStrategy-dc778180.cjs.prod.js +180 -0
  492. package/dist/Exit-5691142c.cjs.prod.js +408 -0
  493. package/dist/Exit-a23874e1.cjs.dev.js +408 -0
  494. package/dist/Fiber-6432d5f7.cjs.dev.js +521 -0
  495. package/dist/Fiber-e61b3c65.cjs.prod.js +521 -0
  496. package/dist/FiberId-929dcce4.cjs.dev.js +443 -0
  497. package/dist/FiberId-b79e8047.cjs.prod.js +443 -0
  498. package/dist/FiberRef-1db44a9b.cjs.dev.js +385 -0
  499. package/dist/FiberRef-efb4a3ac.cjs.prod.js +385 -0
  500. package/dist/FiberRefs-43bfd8b9.cjs.dev.js +135 -0
  501. package/dist/FiberRefs-4cb171f7.cjs.prod.js +135 -0
  502. package/dist/FiberRefsPatch-5236f61e.cjs.dev.js +90 -0
  503. package/dist/FiberRefsPatch-cb847553.cjs.prod.js +90 -0
  504. package/dist/FiberStatus-b82dad24.cjs.prod.js +197 -0
  505. package/dist/FiberStatus-bac7d58d.cjs.dev.js +197 -0
  506. package/dist/Function-2e6b0cda.cjs.prod.js +538 -0
  507. package/dist/Function-41ce433d.cjs.dev.js +538 -0
  508. package/dist/GlobalValue-81ab6908.cjs.dev.js +28 -0
  509. package/dist/GlobalValue-cb645c99.cjs.prod.js +28 -0
  510. package/dist/GroupBy-8a8149b4.cjs.dev.js +79 -0
  511. package/dist/GroupBy-b74084af.cjs.prod.js +79 -0
  512. package/dist/Hash-1bd73210.cjs.prod.js +192 -0
  513. package/dist/Hash-bd154268.cjs.dev.js +192 -0
  514. package/dist/HashMap-12668911.cjs.prod.js +361 -0
  515. package/dist/HashMap-68e290b6.cjs.dev.js +361 -0
  516. package/dist/HashSet-6978c08e.cjs.dev.js +283 -0
  517. package/dist/HashSet-6fe62df2.cjs.prod.js +965 -0
  518. package/dist/HashSet-c40a52b1.cjs.prod.js +283 -0
  519. package/dist/HashSet-ece2cfe8.cjs.dev.js +965 -0
  520. package/dist/Hub-6e64debd.cjs.prod.js +1280 -0
  521. package/dist/Hub-74834668.cjs.dev.js +1280 -0
  522. package/dist/Inspectable-3c4a0f5d.cjs.prod.js +50 -0
  523. package/dist/Inspectable-ac929af4.cjs.dev.js +50 -0
  524. package/dist/KeyedPool-b05481e9.cjs.dev.js +282 -0
  525. package/dist/KeyedPool-cd8abf95.cjs.prod.js +282 -0
  526. package/dist/Layer-297269fd.cjs.prod.js +687 -0
  527. package/dist/Layer-c69f3fdc.cjs.dev.js +687 -0
  528. package/dist/List-c6ea7efe.cjs.dev.js +912 -0
  529. package/dist/List-d9775087.cjs.prod.js +912 -0
  530. package/dist/LogLevel-99f64f82.cjs.dev.js +240 -0
  531. package/dist/LogLevel-e9848e15.cjs.prod.js +240 -0
  532. package/dist/LogSpan-c905a192.cjs.prod.js +46 -0
  533. package/dist/LogSpan-e345ba58.cjs.dev.js +46 -0
  534. package/dist/Logger-680763c7.cjs.dev.js +275 -0
  535. package/dist/Logger-7a664cc3.cjs.prod.js +275 -0
  536. package/dist/Metric-09d012ff.cjs.dev.js +488 -0
  537. package/dist/Metric-b7563a68.cjs.prod.js +488 -0
  538. package/dist/MetricBoundaries-cf5df220.cjs.prod.js +68 -0
  539. package/dist/MetricBoundaries-f5f5aae1.cjs.dev.js +68 -0
  540. package/dist/MetricHook-3104e93b.cjs.dev.js +90 -0
  541. package/dist/MetricHook-efd05d72.cjs.prod.js +90 -0
  542. package/dist/MetricKey-9cfcaec8.cjs.prod.js +130 -0
  543. package/dist/MetricKey-c3ba437e.cjs.dev.js +130 -0
  544. package/dist/MetricKeyType-6d2d9036.cjs.prod.js +187 -0
  545. package/dist/MetricKeyType-c1d7ebe8.cjs.dev.js +187 -0
  546. package/dist/MetricLabel-6a1886c6.cjs.dev.js +53 -0
  547. package/dist/MetricLabel-7e1d569e.cjs.prod.js +53 -0
  548. package/dist/MetricPair-658ab13d.cjs.dev.js +50 -0
  549. package/dist/MetricPair-aec13967.cjs.prod.js +50 -0
  550. package/dist/MetricPolling-5af0ff67.cjs.dev.js +177 -0
  551. package/dist/MetricPolling-a0a4e798.cjs.prod.js +177 -0
  552. package/dist/MetricRegistry-e4af936b.cjs.dev.js +38 -0
  553. package/dist/MetricRegistry-ff6df283.cjs.prod.js +38 -0
  554. package/dist/MetricState-b65340a4.cjs.dev.js +191 -0
  555. package/dist/MetricState-bd6a5001.cjs.prod.js +191 -0
  556. package/dist/MutableHashMap-74e83e84.cjs.dev.js +154 -0
  557. package/dist/MutableHashMap-95493edb.cjs.prod.js +154 -0
  558. package/dist/MutableHashSet-780dfd63.cjs.prod.js +110 -0
  559. package/dist/MutableHashSet-ec8d7cc4.cjs.dev.js +110 -0
  560. package/dist/MutableList-58124ef2.cjs.dev.js +296 -0
  561. package/dist/MutableList-732af09a.cjs.prod.js +296 -0
  562. package/dist/MutableQueue-0e9f2466.cjs.dev.js +215 -0
  563. package/dist/MutableQueue-f8aba856.cjs.prod.js +215 -0
  564. package/dist/MutableRef-4a2f1f23.cjs.prod.js +194 -0
  565. package/dist/MutableRef-724c4082.cjs.dev.js +194 -0
  566. package/dist/NonEmptyIterable-418cef14.cjs.prod.js +36 -0
  567. package/dist/NonEmptyIterable-bb452f41.cjs.dev.js +36 -0
  568. package/dist/Number-588f6483.cjs.dev.js +417 -0
  569. package/dist/Number-cb2ba2e8.cjs.prod.js +417 -0
  570. package/dist/Option-02025c86.cjs.prod.js +1198 -0
  571. package/dist/Option-03997d77.cjs.dev.js +1198 -0
  572. package/dist/Order-28bdebd2.cjs.dev.js +321 -0
  573. package/dist/Order-8a112bfb.cjs.prod.js +321 -0
  574. package/dist/Ordering-60bf9127.cjs.prod.js +104 -0
  575. package/dist/Ordering-b955b746.cjs.dev.js +104 -0
  576. package/dist/Pipeable-4698db72.cjs.dev.js +52 -0
  577. package/dist/Pipeable-d3ec6711.cjs.prod.js +52 -0
  578. package/dist/Pool-54389592.cjs.prod.js +122 -0
  579. package/dist/Pool-fe1b506a.cjs.dev.js +122 -0
  580. package/dist/Predicate-9e859c9c.cjs.dev.js +718 -0
  581. package/dist/Predicate-daa86e61.cjs.prod.js +718 -0
  582. package/dist/Queue-5f954287.cjs.prod.js +394 -0
  583. package/dist/Queue-8d082fe4.cjs.dev.js +394 -0
  584. package/dist/Random-35304046.cjs.dev.js +104 -0
  585. package/dist/Random-b4709b6a.cjs.prod.js +104 -0
  586. package/dist/ReadonlyArray-48949ee7.cjs.dev.js +1721 -0
  587. package/dist/ReadonlyArray-8157f697.cjs.prod.js +1721 -0
  588. package/dist/ReadonlyArray-9a1474f6.cjs.dev.js +10 -0
  589. package/dist/ReadonlyArray-f9ed7a05.cjs.prod.js +10 -0
  590. package/dist/ReadonlyRecord-605a625b.cjs.dev.js +568 -0
  591. package/dist/ReadonlyRecord-8db8bada.cjs.prod.js +568 -0
  592. package/dist/RedBlackTree-e6bd147c.cjs.dev.js +1669 -0
  593. package/dist/RedBlackTree-eb41ea8a.cjs.prod.js +1669 -0
  594. package/dist/Ref-30e5ee58.cjs.prod.js +282 -0
  595. package/dist/Ref-af783b72.cjs.dev.js +282 -0
  596. package/dist/Reloadable-2b8ba75d.cjs.prod.js +169 -0
  597. package/dist/Reloadable-b01c9297.cjs.dev.js +169 -0
  598. package/dist/Request-53592fe4.cjs.prod.js +190 -0
  599. package/dist/Request-d3b63af6.cjs.dev.js +190 -0
  600. package/dist/RequestBlock-1aa4c3bd.cjs.dev.js +124 -0
  601. package/dist/RequestBlock-8c3b51d1.cjs.prod.js +124 -0
  602. package/dist/RequestResolver-133197d5.cjs.prod.js +233 -0
  603. package/dist/RequestResolver-86c21b80.cjs.dev.js +233 -0
  604. package/dist/Resource-2530fe45.cjs.prod.js +118 -0
  605. package/dist/Resource-e50b4b25.cjs.dev.js +118 -0
  606. package/dist/Runtime-0d643f0c.cjs.prod.js +191 -0
  607. package/dist/Runtime-c4b887ff.cjs.dev.js +191 -0
  608. package/dist/RuntimeFlags-9d8fac5a.cjs.prod.js +381 -0
  609. package/dist/RuntimeFlags-f67e3984.cjs.dev.js +381 -0
  610. package/dist/RuntimeFlagsPatch-130e990c.cjs.dev.js +411 -0
  611. package/dist/RuntimeFlagsPatch-5570758d.cjs.prod.js +411 -0
  612. package/dist/STM-23270be2.cjs.prod.js +1447 -0
  613. package/dist/STM-5a4c9921.cjs.dev.js +1447 -0
  614. package/dist/Schedule-0444792d.cjs.prod.js +1159 -0
  615. package/dist/Schedule-b6c7b49a.cjs.dev.js +1159 -0
  616. package/dist/ScheduleDecision-369f2d2b.cjs.prod.js +106 -0
  617. package/dist/ScheduleDecision-ba8d0e87.cjs.dev.js +106 -0
  618. package/dist/ScheduleInterval-51f42533.cjs.dev.js +244 -0
  619. package/dist/ScheduleInterval-78037484.cjs.prod.js +244 -0
  620. package/dist/ScheduleIntervals-b0bfcf3b.cjs.dev.js +265 -0
  621. package/dist/ScheduleIntervals-db13140c.cjs.prod.js +265 -0
  622. package/dist/Scheduler-819ee02a.cjs.prod.js +358 -0
  623. package/dist/Scheduler-d080442d.cjs.dev.js +358 -0
  624. package/dist/Scope-311c7eb9.cjs.prod.js +143 -0
  625. package/dist/Scope-6ba9ec6d.cjs.dev.js +143 -0
  626. package/dist/ScopedCache-3f58b125.cjs.dev.js +467 -0
  627. package/dist/ScopedCache-8f99505c.cjs.prod.js +467 -0
  628. package/dist/ScopedRef-7946d287.cjs.prod.js +87 -0
  629. package/dist/ScopedRef-b92e1633.cjs.dev.js +87 -0
  630. package/dist/Sink-9f13da17.cjs.dev.js +1215 -0
  631. package/dist/Sink-9f82fc3b.cjs.prod.js +1215 -0
  632. package/dist/SortedMap-bb3311c3.cjs.prod.js +210 -0
  633. package/dist/SortedMap-f452cc44.cjs.dev.js +210 -0
  634. package/dist/SortedSet-424670fe.cjs.prod.js +311 -0
  635. package/dist/SortedSet-f90b14a2.cjs.dev.js +311 -0
  636. package/dist/Stream-14325ecb.cjs.dev.js +3469 -0
  637. package/dist/Stream-cf262c16.cjs.prod.js +3469 -0
  638. package/dist/StreamHaltStrategy-07f544a6.cjs.prod.js +214 -0
  639. package/dist/StreamHaltStrategy-66a53f66.cjs.dev.js +214 -0
  640. package/dist/String-23b18ca9.cjs.prod.js +694 -0
  641. package/dist/String-830aaa3e.cjs.dev.js +694 -0
  642. package/dist/Struct-14648d76.cjs.dev.js +141 -0
  643. package/dist/Struct-c6b00f29.cjs.prod.js +141 -0
  644. package/dist/SubscriptionRef-aa7bdc5f.cjs.prod.js +269 -0
  645. package/dist/SubscriptionRef-d3c1aa07.cjs.dev.js +269 -0
  646. package/dist/Supervisor-21087253.cjs.prod.js +170 -0
  647. package/dist/Supervisor-40dd7ce5.cjs.dev.js +170 -0
  648. package/dist/Symbol-55d0b3d8.cjs.prod.js +40 -0
  649. package/dist/Symbol-5d74a5f2.cjs.dev.js +40 -0
  650. package/dist/SynchronizedRef-3181eb0a.cjs.dev.js +212 -0
  651. package/dist/SynchronizedRef-c6e0884b.cjs.prod.js +212 -0
  652. package/dist/TArray-6767b4bd.cjs.prod.js +455 -0
  653. package/dist/TArray-a0a4c6e6.cjs.dev.js +455 -0
  654. package/dist/TDeferred-a9839479.cjs.prod.js +129 -0
  655. package/dist/TDeferred-ac2c4025.cjs.dev.js +129 -0
  656. package/dist/THub-25b77864.cjs.prod.js +570 -0
  657. package/dist/THub-38053ae1.cjs.dev.js +570 -0
  658. package/dist/TMap-91505efa.cjs.prod.js +463 -0
  659. package/dist/TMap-de8ac080.cjs.dev.js +463 -0
  660. package/dist/TPriorityQueue-00b65d1a.cjs.prod.js +381 -0
  661. package/dist/TPriorityQueue-96ff0e15.cjs.dev.js +381 -0
  662. package/dist/TQueue-5e242ca2.cjs.prod.js +353 -0
  663. package/dist/TQueue-707762bf.cjs.dev.js +353 -0
  664. package/dist/TRandom-5eb21d23.cjs.dev.js +203 -0
  665. package/dist/TRandom-ec9c7bf7.cjs.prod.js +203 -0
  666. package/dist/TReentrantLock-1b77d76f.cjs.dev.js +456 -0
  667. package/dist/TReentrantLock-c5a8401e.cjs.prod.js +456 -0
  668. package/dist/TRef-b87580d7.cjs.prod.js +152 -0
  669. package/dist/TRef-cf2e8ad7.cjs.dev.js +152 -0
  670. package/dist/TSemaphore-29503416.cjs.prod.js +197 -0
  671. package/dist/TSemaphore-50edec08.cjs.dev.js +197 -0
  672. package/dist/TSet-3c2568e9.cjs.prod.js +444 -0
  673. package/dist/TSet-bb4775ca.cjs.dev.js +444 -0
  674. package/dist/Take-684c9901.cjs.dev.js +236 -0
  675. package/dist/Take-b4c91438.cjs.prod.js +236 -0
  676. package/dist/TestAnnotation-73be7a68.cjs.dev.js +135 -0
  677. package/dist/TestAnnotation-b9b93d03.cjs.prod.js +135 -0
  678. package/dist/TestAnnotationMap-80c87410.cjs.dev.js +125 -0
  679. package/dist/TestAnnotationMap-e946bab5.cjs.prod.js +125 -0
  680. package/dist/TestAnnotations-5db95828.cjs.prod.js +97 -0
  681. package/dist/TestAnnotations-733b39ef.cjs.dev.js +97 -0
  682. package/dist/TestClock-89a36b89.cjs.prod.js +581 -0
  683. package/dist/TestClock-e2773846.cjs.dev.js +581 -0
  684. package/dist/TestConfig-1a73e844.cjs.prod.js +37 -0
  685. package/dist/TestConfig-e5ffa946.cjs.dev.js +37 -0
  686. package/dist/TestContext-3328163e.cjs.dev.js +41 -0
  687. package/dist/TestContext-917bf305.cjs.prod.js +41 -0
  688. package/dist/TestLive-465ad3ef.cjs.dev.js +60 -0
  689. package/dist/TestLive-f3232ac4.cjs.prod.js +60 -0
  690. package/dist/TestServices-605f726e.cjs.prod.js +341 -0
  691. package/dist/TestServices-921e5c42.cjs.dev.js +341 -0
  692. package/dist/TestSized-6c1abc21.cjs.dev.js +64 -0
  693. package/dist/TestSized-a9a87d64.cjs.prod.js +64 -0
  694. package/dist/Tracer-d06d0b61.cjs.prod.js +81 -0
  695. package/dist/Tracer-da182c8c.cjs.dev.js +81 -0
  696. package/dist/Tuple-27ecf3a1.cjs.prod.js +199 -0
  697. package/dist/Tuple-75d2a389.cjs.dev.js +199 -0
  698. package/dist/Unify-99be0499.cjs.dev.js +48 -0
  699. package/dist/Unify-e86fd412.cjs.prod.js +48 -0
  700. package/dist/Utils-864e1d48.cjs.prod.js +370 -0
  701. package/dist/Utils-b0c14d1b.cjs.dev.js +370 -0
  702. package/dist/boundaries-03c7494a.cjs.dev.js +54 -0
  703. package/dist/boundaries-5d1a46e1.cjs.prod.js +54 -0
  704. package/dist/cache-6cdc31f7.cjs.dev.js +523 -0
  705. package/dist/cache-ab7bbfbd.cjs.prod.js +523 -0
  706. package/dist/childExecutorDecision-2b30946c.cjs.prod.js +98 -0
  707. package/dist/childExecutorDecision-ad3db696.cjs.dev.js +98 -0
  708. package/dist/circular-4cb0b79d.cjs.dev.js +341 -0
  709. package/dist/circular-5b3558d9.cjs.prod.js +341 -0
  710. package/dist/circular-78011d6b.cjs.dev.js +107 -0
  711. package/dist/circular-81b4c556.cjs.prod.js +107 -0
  712. package/dist/config-10f2a1d1.cjs.dev.js +474 -0
  713. package/dist/config-78feb1ac.cjs.prod.js +474 -0
  714. package/dist/configError-1686533e.cjs.dev.js +323 -0
  715. package/dist/configError-6a3652f8.cjs.prod.js +323 -0
  716. package/dist/configProvider-2b177eac.cjs.prod.js +447 -0
  717. package/dist/configProvider-e2eb112d.cjs.dev.js +447 -0
  718. package/dist/configSecret-5812fa69.cjs.dev.js +74 -0
  719. package/dist/configSecret-ecb6c5b3.cjs.prod.js +74 -0
  720. package/dist/core-4ced6e17.cjs.prod.js +1072 -0
  721. package/dist/core-ac668be0.cjs.dev.js +3502 -0
  722. package/dist/core-c2eb171a.cjs.prod.js +3502 -0
  723. package/dist/core-d9eea905.cjs.dev.js +1072 -0
  724. package/dist/core-effect-a9b8ee08.cjs.dev.js +1030 -0
  725. package/dist/core-effect-bf806dd9.cjs.prod.js +1030 -0
  726. package/dist/dataSource-abccc876.cjs.prod.js +74 -0
  727. package/dist/dataSource-d5f79f4e.cjs.dev.js +74 -0
  728. package/dist/declarations/src/Bigint.d.ts +22 -22
  729. package/dist/declarations/src/Boolean.d.ts +15 -15
  730. package/dist/declarations/src/Brand.d.ts +20 -20
  731. package/dist/declarations/src/Cache.d.ts +14 -14
  732. package/dist/declarations/src/Cause.d.ts +81 -81
  733. package/dist/declarations/src/Channel.d.ts +117 -117
  734. package/dist/declarations/src/ChannelChildExecutorDecision.d.ts +16 -16
  735. package/dist/declarations/src/ChannelMergeDecision.d.ts +11 -11
  736. package/dist/declarations/src/ChannelMergeState.d.ts +17 -17
  737. package/dist/declarations/src/ChannelMergeStrategy.d.ts +13 -13
  738. package/dist/declarations/src/ChannelSingleProducerAsyncInput.d.ts +5 -5
  739. package/dist/declarations/src/ChannelUpstreamPullRequest.d.ts +13 -13
  740. package/dist/declarations/src/ChannelUpstreamPullStrategy.d.ts +13 -13
  741. package/dist/declarations/src/Chunk.d.ts +84 -84
  742. package/dist/declarations/src/Clock.d.ts +13 -13
  743. package/dist/declarations/src/Config.d.ts +40 -40
  744. package/dist/declarations/src/ConfigError.d.ts +31 -31
  745. package/dist/declarations/src/ConfigProvider.d.ts +27 -27
  746. package/dist/declarations/src/ConfigProviderPathPatch.d.ts +11 -11
  747. package/dist/declarations/src/ConfigSecret.d.ts +12 -12
  748. package/dist/declarations/src/Console.d.ts +26 -26
  749. package/dist/declarations/src/Context.d.ts +24 -24
  750. package/dist/declarations/src/Data.d.ts +22 -22
  751. package/dist/declarations/src/DefaultServices.d.ts +4 -4
  752. package/dist/declarations/src/Deferred.d.ts +26 -26
  753. package/dist/declarations/src/Differ.d.ts +34 -34
  754. package/dist/declarations/src/Duration.d.ts +42 -37
  755. package/dist/declarations/src/Duration.d.ts.map +1 -1
  756. package/dist/declarations/src/Effect.d.ts +351 -351
  757. package/dist/declarations/src/Effectable.d.ts +16 -16
  758. package/dist/declarations/src/Either.d.ts +35 -35
  759. package/dist/declarations/src/Encoding.d.ts +15 -15
  760. package/dist/declarations/src/Equal.d.ts +6 -6
  761. package/dist/declarations/src/Equivalence.d.ts +20 -20
  762. package/dist/declarations/src/Error.d.ts +4 -4
  763. package/dist/declarations/src/ExecutionStrategy.d.ts +12 -12
  764. package/dist/declarations/src/Exit.d.ts +41 -41
  765. package/dist/declarations/src/Fiber.d.ts +57 -57
  766. package/dist/declarations/src/FiberId.d.ts +23 -23
  767. package/dist/declarations/src/FiberRef.d.ts +49 -49
  768. package/dist/declarations/src/FiberRefs.d.ts +14 -14
  769. package/dist/declarations/src/FiberRefsPatch.d.ts +11 -11
  770. package/dist/declarations/src/FiberStatus.d.ts +14 -14
  771. package/dist/declarations/src/Function.d.ts +24 -24
  772. package/dist/declarations/src/GlobalValue.d.ts +1 -1
  773. package/dist/declarations/src/GroupBy.d.ts +9 -9
  774. package/dist/declarations/src/HKT.d.ts +5 -5
  775. package/dist/declarations/src/Hash.d.ts +12 -12
  776. package/dist/declarations/src/HashMap.d.ts +37 -37
  777. package/dist/declarations/src/HashSet.d.ts +28 -28
  778. package/dist/declarations/src/Hub.d.ts +16 -16
  779. package/dist/declarations/src/Inspectable.d.ts +6 -6
  780. package/dist/declarations/src/KeyedPool.d.ts +12 -12
  781. package/dist/declarations/src/Layer.d.ts +70 -70
  782. package/dist/declarations/src/List.d.ts +50 -50
  783. package/dist/declarations/src/LogLevel.d.ts +27 -27
  784. package/dist/declarations/src/LogSpan.d.ts +3 -3
  785. package/dist/declarations/src/Logger.d.ts +33 -33
  786. package/dist/declarations/src/Metric.d.ts +55 -55
  787. package/dist/declarations/src/MetricBoundaries.d.ts +8 -8
  788. package/dist/declarations/src/MetricHook.d.ts +20 -20
  789. package/dist/declarations/src/MetricKey.d.ts +21 -21
  790. package/dist/declarations/src/MetricKeyType.d.ts +35 -35
  791. package/dist/declarations/src/MetricLabel.d.ts +6 -6
  792. package/dist/declarations/src/MetricPair.d.ts +8 -8
  793. package/dist/declarations/src/MetricPolling.d.ts +11 -11
  794. package/dist/declarations/src/MetricRegistry.d.ts +5 -5
  795. package/dist/declarations/src/MetricState.d.ts +33 -33
  796. package/dist/declarations/src/MutableHashMap.d.ts +12 -12
  797. package/dist/declarations/src/MutableHashSet.d.ts +9 -9
  798. package/dist/declarations/src/MutableList.d.ts +13 -13
  799. package/dist/declarations/src/MutableQueue.d.ts +16 -16
  800. package/dist/declarations/src/MutableRef.d.ts +18 -18
  801. package/dist/declarations/src/NonEmptyIterable.d.ts +4 -4
  802. package/dist/declarations/src/Number.d.ts +22 -22
  803. package/dist/declarations/src/Option.d.ts +69 -69
  804. package/dist/declarations/src/Order.d.ts +28 -28
  805. package/dist/declarations/src/Ordering.d.ts +7 -7
  806. package/dist/declarations/src/Pipeable.d.ts +3 -3
  807. package/dist/declarations/src/Pool.d.ts +11 -11
  808. package/dist/declarations/src/Predicate.d.ts +42 -42
  809. package/dist/declarations/src/Queue.d.ts +44 -44
  810. package/dist/declarations/src/Random.d.ts +11 -11
  811. package/dist/declarations/src/ReadonlyArray.d.ts +139 -139
  812. package/dist/declarations/src/ReadonlyRecord.d.ts +25 -25
  813. package/dist/declarations/src/RedBlackTree.d.ts +40 -40
  814. package/dist/declarations/src/Ref.d.ts +20 -20
  815. package/dist/declarations/src/Reloadable.d.ts +13 -13
  816. package/dist/declarations/src/Request.d.ts +29 -29
  817. package/dist/declarations/src/RequestBlock.d.ts +16 -16
  818. package/dist/declarations/src/RequestResolver.d.ts +23 -23
  819. package/dist/declarations/src/Resource.d.ts +10 -10
  820. package/dist/declarations/src/Runtime.d.ts +22 -22
  821. package/dist/declarations/src/RuntimeFlags.d.ts +38 -38
  822. package/dist/declarations/src/RuntimeFlagsPatch.d.ts +18 -18
  823. package/dist/declarations/src/STM.d.ts +140 -140
  824. package/dist/declarations/src/Schedule.d.ts +106 -106
  825. package/dist/declarations/src/ScheduleDecision.d.ts +8 -8
  826. package/dist/declarations/src/ScheduleInterval.d.ts +16 -16
  827. package/dist/declarations/src/ScheduleIntervals.d.ts +14 -14
  828. package/dist/declarations/src/Scheduler.d.ts +34 -34
  829. package/dist/declarations/src/Scope.d.ts +18 -18
  830. package/dist/declarations/src/ScopedCache.d.ts +9 -9
  831. package/dist/declarations/src/ScopedRef.d.ts +10 -10
  832. package/dist/declarations/src/Sink.d.ts +115 -115
  833. package/dist/declarations/src/SortedMap.d.ts +21 -21
  834. package/dist/declarations/src/SortedSet.d.ts +24 -24
  835. package/dist/declarations/src/Stream.d.ts +303 -303
  836. package/dist/declarations/src/StreamEmit.d.ts +3 -3
  837. package/dist/declarations/src/StreamHaltStrategy.d.ts +16 -16
  838. package/dist/declarations/src/String.d.ts +50 -50
  839. package/dist/declarations/src/Struct.d.ts +6 -6
  840. package/dist/declarations/src/SubscriptionRef.d.ts +27 -27
  841. package/dist/declarations/src/Supervisor.d.ts +23 -23
  842. package/dist/declarations/src/Symbol.d.ts +3 -3
  843. package/dist/declarations/src/SynchronizedRef.d.ts +28 -28
  844. package/dist/declarations/src/TArray.d.ts +46 -46
  845. package/dist/declarations/src/TDeferred.d.ts +12 -12
  846. package/dist/declarations/src/THub.d.ts +18 -18
  847. package/dist/declarations/src/TMap.d.ts +46 -46
  848. package/dist/declarations/src/TPriorityQueue.d.ts +23 -23
  849. package/dist/declarations/src/TQueue.d.ts +36 -36
  850. package/dist/declarations/src/TRandom.d.ts +12 -12
  851. package/dist/declarations/src/TReentrantLock.d.ts +24 -24
  852. package/dist/declarations/src/TRef.d.ts +19 -19
  853. package/dist/declarations/src/TSemaphore.d.ts +17 -17
  854. package/dist/declarations/src/TSet.d.ts +35 -35
  855. package/dist/declarations/src/Take.d.ts +25 -25
  856. package/dist/declarations/src/TestAnnotation.d.ts +12 -12
  857. package/dist/declarations/src/TestAnnotationMap.d.ts +11 -11
  858. package/dist/declarations/src/TestAnnotations.d.ts +7 -7
  859. package/dist/declarations/src/TestClock.d.ts +16 -16
  860. package/dist/declarations/src/TestConfig.d.ts +4 -4
  861. package/dist/declarations/src/TestContext.d.ts +3 -3
  862. package/dist/declarations/src/TestLive.d.ts +6 -6
  863. package/dist/declarations/src/TestServices.d.ts +35 -35
  864. package/dist/declarations/src/TestSized.d.ts +7 -7
  865. package/dist/declarations/src/Tracer.d.ts +13 -13
  866. package/dist/declarations/src/Tuple.d.ts +12 -12
  867. package/dist/declarations/src/Types.d.ts +10 -10
  868. package/dist/declarations/src/Unify.d.ts +9 -9
  869. package/dist/declarations/src/Utils.d.ts +29 -29
  870. package/dist/declarations/src/index.d.ts +169 -141
  871. package/dist/declarations/src/index.d.ts.map +1 -1
  872. package/dist/defaultServices-4112c0c9.cjs.prod.js +388 -0
  873. package/dist/defaultServices-60c753dc.cjs.dev.js +388 -0
  874. package/dist/effect.cjs.dev.js +199 -193
  875. package/dist/effect.cjs.mjs +7 -1
  876. package/dist/effect.cjs.prod.js +199 -193
  877. package/dist/effect.esm.js +283 -197
  878. package/dist/fiber-90ffaf8c.cjs.prod.js +411 -0
  879. package/dist/fiber-da1a207c.cjs.dev.js +411 -0
  880. package/dist/fiberRefs-64c35250.cjs.prod.js +181 -0
  881. package/dist/fiberRefs-a7e00f7e.cjs.dev.js +181 -0
  882. package/dist/fiberRuntime-1c369a47.cjs.prod.js +3012 -0
  883. package/dist/fiberRuntime-e9680313.cjs.dev.js +3012 -0
  884. package/dist/groupBy-0cc85afb.cjs.prod.js +216 -0
  885. package/dist/groupBy-b204a881.cjs.dev.js +216 -0
  886. package/dist/hook-6c7550dc.cjs.prod.js +371 -0
  887. package/dist/hook-822704ea.cjs.dev.js +371 -0
  888. package/dist/key-330b98b1.cjs.prod.js +79 -0
  889. package/dist/key-a474fc0d.cjs.dev.js +79 -0
  890. package/dist/keyType-1e916ae2.cjs.dev.js +236 -0
  891. package/dist/keyType-8460e792.cjs.prod.js +236 -0
  892. package/dist/label-246fb11d.cjs.dev.js +44 -0
  893. package/dist/label-3e143765.cjs.prod.js +44 -0
  894. package/dist/layer-ae8eefad.cjs.dev.js +658 -0
  895. package/dist/layer-ffacc2c5.cjs.prod.js +658 -0
  896. package/dist/mergeDecision-e457a76b.cjs.dev.js +86 -0
  897. package/dist/mergeDecision-e483c280.cjs.prod.js +86 -0
  898. package/dist/mergeState-83204f38.cjs.dev.js +109 -0
  899. package/dist/mergeState-dba66248.cjs.prod.js +109 -0
  900. package/dist/mergeStrategy-845a1279.cjs.prod.js +72 -0
  901. package/dist/mergeStrategy-b19dc19a.cjs.dev.js +72 -0
  902. package/dist/pair-08a8685e.cjs.dev.js +42 -0
  903. package/dist/pair-e5443c93.cjs.prod.js +42 -0
  904. package/dist/patch-4671ab7f.cjs.dev.js +132 -0
  905. package/dist/patch-f27e9f08.cjs.prod.js +132 -0
  906. package/dist/pathPatch-ded405f6.cjs.prod.js +90 -0
  907. package/dist/pathPatch-e46d4168.cjs.dev.js +90 -0
  908. package/dist/pool-3f16af61.cjs.dev.js +278 -0
  909. package/dist/pool-59a31f55.cjs.prod.js +278 -0
  910. package/dist/query-193d0a89.cjs.dev.js +104 -0
  911. package/dist/query-fe4a82d6.cjs.prod.js +104 -0
  912. package/dist/queue-04ae7ec7.cjs.dev.js +538 -0
  913. package/dist/queue-b81aee38.cjs.prod.js +538 -0
  914. package/dist/registry-29905dcc.cjs.prod.js +114 -0
  915. package/dist/registry-c883cf52.cjs.dev.js +114 -0
  916. package/dist/runtime-3ae98f19.cjs.dev.js +288 -0
  917. package/dist/runtime-8c3f1bd3.cjs.prod.js +288 -0
  918. package/dist/schedule-479d8fcc.cjs.dev.js +956 -0
  919. package/dist/schedule-7e30db2d.cjs.prod.js +956 -0
  920. package/dist/scopedRef-16d9d192.cjs.dev.js +55 -0
  921. package/dist/scopedRef-40b5bb82.cjs.prod.js +55 -0
  922. package/dist/singleProducerAsyncInput-552122e6.cjs.dev.js +193 -0
  923. package/dist/singleProducerAsyncInput-c5ff73b7.cjs.prod.js +193 -0
  924. package/dist/sink-16a1a901.cjs.dev.js +3094 -0
  925. package/dist/sink-c9ae7558.cjs.prod.js +3094 -0
  926. package/dist/state-0d29362f.cjs.prod.js +227 -0
  927. package/dist/state-8a8a647c.cjs.dev.js +227 -0
  928. package/dist/stm-44f045e5.cjs.dev.js +678 -0
  929. package/dist/stm-59af7e62.cjs.prod.js +678 -0
  930. package/dist/stream-84a13e23.cjs.dev.js +3645 -0
  931. package/dist/stream-8acbee57.cjs.prod.js +3645 -0
  932. package/dist/synchronizedRef-58a64ffe.cjs.dev.js +62 -0
  933. package/dist/synchronizedRef-6cfe9354.cjs.prod.js +62 -0
  934. package/dist/tArray-a690480d.cjs.prod.js +330 -0
  935. package/dist/tArray-c0a3d1e2.cjs.dev.js +330 -0
  936. package/dist/tMap-1c1b10c4.cjs.dev.js +535 -0
  937. package/dist/tMap-8dfc92f5.cjs.prod.js +535 -0
  938. package/dist/tQueue-48a29f8b.cjs.prod.js +367 -0
  939. package/dist/tQueue-aaec000f.cjs.dev.js +367 -0
  940. package/dist/tRef-1df89632.cjs.dev.js +133 -0
  941. package/dist/tRef-cc473a9f.cjs.prod.js +133 -0
  942. package/dist/take-906e6ef4.cjs.prod.js +152 -0
  943. package/dist/take-e1c6b82a.cjs.dev.js +152 -0
  944. package/dist/upstreamPullRequest-705e868d.cjs.prod.js +79 -0
  945. package/dist/upstreamPullRequest-c08f06a4.cjs.dev.js +79 -0
  946. package/dist/upstreamPullStrategy-0ccf2960.cjs.dev.js +81 -0
  947. package/dist/upstreamPullStrategy-34452db1.cjs.prod.js +81 -0
  948. package/internal/Context.esm.js +208 -0
  949. package/internal/Data.esm.js +49 -0
  950. package/internal/Differ/ChunkPatch.esm.js +131 -0
  951. package/internal/Differ/ContextPatch.esm.js +158 -0
  952. package/internal/Differ/HashMapPatch.esm.js +133 -0
  953. package/internal/Differ/HashSetPatch.esm.js +107 -0
  954. package/internal/Differ/OrPatch.esm.js +196 -0
  955. package/internal/Differ.esm.js +130 -0
  956. package/internal/Effectable.esm.js +89 -0
  957. package/internal/Either.esm.js +95 -0
  958. package/internal/Encoding/Base64.esm.js +74 -0
  959. package/internal/Encoding/Base64Url.esm.js +24 -0
  960. package/internal/Encoding/Common.esm.js +21 -0
  961. package/internal/Encoding/Hex.esm.js +55 -0
  962. package/internal/HashMap/array.esm.js +51 -0
  963. package/internal/HashMap/bitwise.esm.js +34 -0
  964. package/internal/HashMap/config.esm.js +16 -0
  965. package/internal/HashMap/keySet.esm.js +8 -0
  966. package/internal/HashMap/node.esm.js +253 -0
  967. package/internal/HashMap.esm.js +366 -0
  968. package/internal/HashSet.esm.js +211 -0
  969. package/internal/Option.esm.js +75 -0
  970. package/internal/ReadonlyArray.esm.js +8 -0
  971. package/internal/RedBlackTree/iterator.esm.js +204 -0
  972. package/internal/RedBlackTree/node.esm.js +43 -0
  973. package/internal/RedBlackTree.esm.js +1042 -0
  974. package/internal/Stack.esm.js +9 -0
  975. package/internal/blockedRequests.esm.js +365 -0
  976. package/internal/cache.esm.js +514 -0
  977. package/internal/cause.esm.js +1067 -0
  978. package/internal/channel/channelExecutor.esm.js +692 -0
  979. package/internal/channel/channelState.esm.js +78 -0
  980. package/internal/channel/childExecutorDecision.esm.js +71 -0
  981. package/internal/channel/continuation.esm.js +58 -0
  982. package/internal/channel/mergeDecision.esm.js +69 -0
  983. package/internal/channel/mergeState.esm.js +82 -0
  984. package/internal/channel/mergeStrategy.esm.js +55 -0
  985. package/internal/channel/singleProducerAsyncInput.esm.js +191 -0
  986. package/internal/channel/subexecutor.esm.js +153 -0
  987. package/internal/channel/upstreamPullRequest.esm.js +62 -0
  988. package/internal/channel/upstreamPullStrategy.esm.js +62 -0
  989. package/internal/channel.esm.js +648 -0
  990. package/internal/clock.esm.js +82 -0
  991. package/internal/completedRequestMap.esm.js +7 -0
  992. package/internal/concurrency.esm.js +47 -0
  993. package/internal/config.esm.js +374 -0
  994. package/internal/configError.esm.js +276 -0
  995. package/internal/configProvider/pathPatch.esm.js +83 -0
  996. package/internal/configProvider.esm.js +365 -0
  997. package/internal/configSecret.esm.js +66 -0
  998. package/internal/console.esm.js +72 -0
  999. package/internal/core-effect.esm.js +875 -0
  1000. package/internal/core-stream.esm.js +293 -0
  1001. package/internal/core.esm.js +1745 -0
  1002. package/internal/dataSource.esm.js +61 -0
  1003. package/internal/defaultServices/console.esm.js +96 -0
  1004. package/internal/defaultServices.esm.js +84 -0
  1005. package/internal/deferred.esm.js +37 -0
  1006. package/internal/effect/circular.esm.js +314 -0
  1007. package/internal/executionStrategy.esm.js +61 -0
  1008. package/internal/fiber.esm.js +257 -0
  1009. package/internal/fiberId.esm.js +243 -0
  1010. package/internal/fiberMessage.esm.js +54 -0
  1011. package/internal/fiberRefs/patch.esm.js +127 -0
  1012. package/internal/fiberRefs.esm.js +169 -0
  1013. package/internal/fiberRuntime.esm.js +2003 -0
  1014. package/internal/fiberScope.esm.js +58 -0
  1015. package/internal/fiberStatus.esm.js +89 -0
  1016. package/internal/groupBy.esm.js +208 -0
  1017. package/internal/hub.esm.js +1102 -0
  1018. package/internal/keyedPool.esm.js +161 -0
  1019. package/internal/layer/circular.esm.js +84 -0
  1020. package/internal/layer.esm.js +552 -0
  1021. package/internal/logSpan.esm.js +15 -0
  1022. package/internal/logger-circular.esm.js +21 -0
  1023. package/internal/logger.esm.js +213 -0
  1024. package/internal/metric/boundaries.esm.js +48 -0
  1025. package/internal/metric/hook.esm.js +362 -0
  1026. package/internal/metric/key.esm.js +68 -0
  1027. package/internal/metric/keyType.esm.js +218 -0
  1028. package/internal/metric/label.esm.js +40 -0
  1029. package/internal/metric/pair.esm.js +38 -0
  1030. package/internal/metric/polling.esm.js +74 -0
  1031. package/internal/metric/registry.esm.js +111 -0
  1032. package/internal/metric/state.esm.js +209 -0
  1033. package/internal/metric.esm.js +204 -0
  1034. package/internal/opCodes/cause.esm.js +31 -0
  1035. package/internal/opCodes/channel.esm.js +71 -0
  1036. package/internal/opCodes/channelChildExecutorDecision.esm.js +16 -0
  1037. package/internal/opCodes/channelMergeDecision.esm.js +11 -0
  1038. package/internal/opCodes/channelMergeState.esm.js +16 -0
  1039. package/internal/opCodes/channelMergeStrategy.esm.js +11 -0
  1040. package/internal/opCodes/channelState.esm.js +21 -0
  1041. package/internal/opCodes/channelUpstreamPullRequest.esm.js +11 -0
  1042. package/internal/opCodes/channelUpstreamPullStrategy.esm.js +11 -0
  1043. package/internal/opCodes/config.esm.js +56 -0
  1044. package/internal/opCodes/configError.esm.js +31 -0
  1045. package/internal/opCodes/continuation.esm.js +11 -0
  1046. package/internal/opCodes/deferred.esm.js +11 -0
  1047. package/internal/opCodes/effect.esm.js +71 -0
  1048. package/internal/opCodes/layer.esm.js +46 -0
  1049. package/internal/opCodes/streamHaltStrategy.esm.js +21 -0
  1050. package/internal/pool.esm.js +271 -0
  1051. package/internal/query.esm.js +100 -0
  1052. package/internal/queue.esm.js +505 -0
  1053. package/internal/random.esm.js +58 -0
  1054. package/internal/ref.esm.js +121 -0
  1055. package/internal/reloadable.esm.js +62 -0
  1056. package/internal/request.esm.js +81 -0
  1057. package/internal/resource.esm.js +35 -0
  1058. package/internal/ringBuffer.esm.js +56 -0
  1059. package/internal/runtime.esm.js +268 -0
  1060. package/internal/runtimeFlags.esm.js +137 -0
  1061. package/internal/runtimeFlagsPatch.esm.js +57 -0
  1062. package/internal/schedule/decision.esm.js +45 -0
  1063. package/internal/schedule/interval.esm.js +85 -0
  1064. package/internal/schedule/intervals.esm.js +135 -0
  1065. package/internal/schedule.esm.js +844 -0
  1066. package/internal/scopedCache.esm.js +406 -0
  1067. package/internal/scopedRef.esm.js +49 -0
  1068. package/internal/singleShotGen.esm.js +30 -0
  1069. package/internal/sink.esm.js +918 -0
  1070. package/internal/stm/core.esm.js +553 -0
  1071. package/internal/stm/opCodes/stm.esm.js +56 -0
  1072. package/internal/stm/opCodes/stmState.esm.js +16 -0
  1073. package/internal/stm/opCodes/strategy.esm.js +16 -0
  1074. package/internal/stm/opCodes/tExit.esm.js +26 -0
  1075. package/internal/stm/opCodes/tryCommit.esm.js +11 -0
  1076. package/internal/stm/stm/entry.esm.js +47 -0
  1077. package/internal/stm/stm/journal.esm.js +96 -0
  1078. package/internal/stm/stm/stmState.esm.js +104 -0
  1079. package/internal/stm/stm/tExit.esm.js +113 -0
  1080. package/internal/stm/stm/tryCommit.esm.js +25 -0
  1081. package/internal/stm/stm/txnId.esm.js +15 -0
  1082. package/internal/stm/stm/versioned.esm.js +8 -0
  1083. package/internal/stm/stm.esm.js +584 -0
  1084. package/internal/stm/tArray.esm.js +287 -0
  1085. package/internal/stm/tDeferred.esm.js +49 -0
  1086. package/internal/stm/tHub.esm.js +381 -0
  1087. package/internal/stm/tMap.esm.js +492 -0
  1088. package/internal/stm/tPriorityQueue.esm.js +156 -0
  1089. package/internal/stm/tQueue.esm.js +317 -0
  1090. package/internal/stm/tRandom.esm.js +89 -0
  1091. package/internal/stm/tReentrantLock.esm.js +216 -0
  1092. package/internal/stm/tRef.esm.js +117 -0
  1093. package/internal/stm/tSemaphore.esm.js +73 -0
  1094. package/internal/stm/tSet.esm.js +113 -0
  1095. package/internal/stream/debounceState.esm.js +39 -0
  1096. package/internal/stream/emit.esm.js +51 -0
  1097. package/internal/stream/haltStrategy.esm.js +74 -0
  1098. package/internal/stream/handoff.esm.js +79 -0
  1099. package/internal/stream/handoffSignal.esm.js +40 -0
  1100. package/internal/stream/pull.esm.js +10 -0
  1101. package/internal/stream/sinkEndReason.esm.js +27 -0
  1102. package/internal/stream/zipAllState.esm.js +65 -0
  1103. package/internal/stream/zipChunksState.esm.js +41 -0
  1104. package/internal/stream.esm.js +2984 -0
  1105. package/internal/string-utils.esm.js +66 -0
  1106. package/internal/subscriptionRef.esm.js +65 -0
  1107. package/internal/supervisor/patch.esm.js +156 -0
  1108. package/internal/supervisor.esm.js +204 -0
  1109. package/internal/synchronizedRef.esm.js +53 -0
  1110. package/internal/take.esm.js +130 -0
  1111. package/internal/testing/suspendedWarningData.esm.js +66 -0
  1112. package/internal/testing/warningData.esm.js +75 -0
  1113. package/internal/timeout.esm.js +22 -0
  1114. package/internal/tracer.esm.js +61 -0
  1115. package/package.json +700 -554
  1116. package/dist/Bigint-1c684209.esm.js +0 -370
  1117. package/dist/Bigint-504df838.cjs.dev.js +0 -392
  1118. package/dist/Bigint-d1a7e44e.cjs.prod.js +0 -392
  1119. package/dist/Boolean-7513c999.cjs.prod.js +0 -264
  1120. package/dist/Boolean-9427fc24.cjs.dev.js +0 -264
  1121. package/dist/Boolean-f564d31a.esm.js +0 -248
  1122. package/dist/Brand-c3918667.cjs.dev.js +0 -224
  1123. package/dist/Brand-fa4e9f22.esm.js +0 -215
  1124. package/dist/Brand-ff4af468.cjs.prod.js +0 -224
  1125. package/dist/Cache-447337f2.esm.js +0 -120
  1126. package/dist/Cache-4b4ea2b3.cjs.prod.js +0 -127
  1127. package/dist/Cache-62ebdae3.cjs.dev.js +0 -127
  1128. package/dist/Cause-8be0b9a6.esm.js +0 -730
  1129. package/dist/Cause-b769f517.cjs.prod.js +0 -791
  1130. package/dist/Cause-d77e20dc.cjs.dev.js +0 -791
  1131. package/dist/Channel-2039c280.cjs.dev.js +0 -1217
  1132. package/dist/Channel-806a0a5a.esm.js +0 -1109
  1133. package/dist/Channel-dcff73a4.cjs.prod.js +0 -1217
  1134. package/dist/ChannelChildExecutorDecision-2d3c20b1.esm.js +0 -125
  1135. package/dist/ChannelChildExecutorDecision-adce4b58.cjs.dev.js +0 -136
  1136. package/dist/ChannelChildExecutorDecision-fc90c987.cjs.prod.js +0 -136
  1137. package/dist/ChannelMergeDecision-39e12893.cjs.prod.js +0 -78
  1138. package/dist/ChannelMergeDecision-4488ba22.esm.js +0 -70
  1139. package/dist/ChannelMergeDecision-f05da806.cjs.dev.js +0 -78
  1140. package/dist/ChannelMergeState-65723a71.cjs.dev.js +0 -125
  1141. package/dist/ChannelMergeState-937282d2.esm.js +0 -114
  1142. package/dist/ChannelMergeState-ab626a77.cjs.prod.js +0 -125
  1143. package/dist/ChannelMergeStrategy-c2f956a9.esm.js +0 -95
  1144. package/dist/ChannelMergeStrategy-d5bdc89d.cjs.prod.js +0 -104
  1145. package/dist/ChannelMergeStrategy-d956e3fa.cjs.dev.js +0 -104
  1146. package/dist/ChannelSingleProducerAsyncInput-00708a29.esm.js +0 -52
  1147. package/dist/ChannelSingleProducerAsyncInput-90f3b171.cjs.prod.js +0 -55
  1148. package/dist/ChannelSingleProducerAsyncInput-ecc79242.cjs.dev.js +0 -55
  1149. package/dist/ChannelUpstreamPullRequest-011526e6.esm.js +0 -95
  1150. package/dist/ChannelUpstreamPullRequest-6a610523.cjs.dev.js +0 -104
  1151. package/dist/ChannelUpstreamPullRequest-d7413c53.cjs.prod.js +0 -104
  1152. package/dist/ChannelUpstreamPullStrategy-0af49b72.esm.js +0 -94
  1153. package/dist/ChannelUpstreamPullStrategy-6e0a338e.cjs.prod.js +0 -103
  1154. package/dist/ChannelUpstreamPullStrategy-90ec240c.cjs.dev.js +0 -103
  1155. package/dist/Chunk-937f4423.cjs.dev.js +0 -1248
  1156. package/dist/Chunk-98371336.esm.js +0 -1167
  1157. package/dist/Chunk-f001938d.cjs.prod.js +0 -1248
  1158. package/dist/Clock-27c1110d.cjs.prod.js +0 -97
  1159. package/dist/Clock-589e9dc5.cjs.dev.js +0 -97
  1160. package/dist/Clock-ab907687.esm.js +0 -88
  1161. package/dist/Config-50e56bbd.cjs.prod.js +0 -393
  1162. package/dist/Config-7e7f7335.cjs.dev.js +0 -393
  1163. package/dist/Config-a3a06665.esm.js +0 -358
  1164. package/dist/ConfigError-5801d561.esm.js +0 -206
  1165. package/dist/ConfigError-684b6267.cjs.dev.js +0 -225
  1166. package/dist/ConfigError-f5303a19.cjs.prod.js +0 -225
  1167. package/dist/ConfigProvider-0aeb6513.esm.js +0 -220
  1168. package/dist/ConfigProvider-b47b08f3.cjs.dev.js +0 -240
  1169. package/dist/ConfigProvider-e278c5f7.cjs.prod.js +0 -240
  1170. package/dist/ConfigProviderPathPatch-78826e8c.cjs.dev.js +0 -86
  1171. package/dist/ConfigProviderPathPatch-97b52760.esm.js +0 -79
  1172. package/dist/ConfigProviderPathPatch-bb5f5228.cjs.prod.js +0 -86
  1173. package/dist/ConfigSecret-2db4c372.cjs.prod.js +0 -83
  1174. package/dist/ConfigSecret-646df696.esm.js +0 -74
  1175. package/dist/ConfigSecret-a10a12aa.cjs.dev.js +0 -83
  1176. package/dist/Console-b92ceaf0.esm.js +0 -247
  1177. package/dist/Console-d4590f3a.cjs.prod.js +0 -271
  1178. package/dist/Console-f063615c.cjs.dev.js +0 -271
  1179. package/dist/Context-119d62eb.cjs.prod.js +0 -327
  1180. package/dist/Context-231e9c1b.cjs.prod.js +0 -222
  1181. package/dist/Context-48179faa.esm.js +0 -312
  1182. package/dist/Context-5099940c.cjs.dev.js +0 -222
  1183. package/dist/Context-fcee7bba.esm.js +0 -208
  1184. package/dist/Context-fdaa5c44.cjs.dev.js +0 -327
  1185. package/dist/Data-3389525f.cjs.dev.js +0 -237
  1186. package/dist/Data-815a1868.cjs.prod.js +0 -237
  1187. package/dist/Data-bad1ffeb.esm.js +0 -224
  1188. package/dist/DefaultServices-848d6929.cjs.dev.js +0 -34
  1189. package/dist/DefaultServices-8c298120.esm.js +0 -30
  1190. package/dist/DefaultServices-9ea98d30.cjs.prod.js +0 -34
  1191. package/dist/Deferred-143efa7b.cjs.dev.js +0 -253
  1192. package/dist/Deferred-554d3588.esm.js +0 -230
  1193. package/dist/Deferred-77579e00.cjs.prod.js +0 -253
  1194. package/dist/Differ-0069a8c0.cjs.dev.js +0 -992
  1195. package/dist/Differ-3be1df41.esm.js +0 -975
  1196. package/dist/Differ-cbfa45cb.cjs.prod.js +0 -992
  1197. package/dist/Duration-205d0b80.cjs.prod.js +0 -500
  1198. package/dist/Duration-5e9f2327.esm.js +0 -467
  1199. package/dist/Duration-8b174e0b.cjs.dev.js +0 -500
  1200. package/dist/Effect-6713972b.cjs.prod.js +0 -3740
  1201. package/dist/Effect-d362f43a.cjs.dev.js +0 -3740
  1202. package/dist/Effect-d5910dae.esm.js +0 -3417
  1203. package/dist/Effectable-2c8e8441.cjs.prod.js +0 -99
  1204. package/dist/Effectable-954172fc.cjs.prod.js +0 -181
  1205. package/dist/Effectable-a76b6aa1.esm.js +0 -158
  1206. package/dist/Effectable-bc017f96.cjs.dev.js +0 -99
  1207. package/dist/Effectable-e85a1847.cjs.dev.js +0 -181
  1208. package/dist/Effectable-ec9e4204.esm.js +0 -89
  1209. package/dist/Either-09270bbc.esm.js +0 -473
  1210. package/dist/Either-34ce9059.cjs.dev.js +0 -178
  1211. package/dist/Either-41cb7522.cjs.prod.js +0 -178
  1212. package/dist/Either-ae722a9e.cjs.dev.js +0 -502
  1213. package/dist/Either-be9c40b9.esm.js +0 -163
  1214. package/dist/Either-d995ebb4.cjs.prod.js +0 -502
  1215. package/dist/Encoding-0d990bbf.esm.js +0 -295
  1216. package/dist/Encoding-39f7d9a8.cjs.dev.js +0 -309
  1217. package/dist/Encoding-82d009b9.cjs.prod.js +0 -309
  1218. package/dist/Equal-7d4ae7e7.esm.js +0 -65
  1219. package/dist/Equal-8654b1af.cjs.dev.js +0 -71
  1220. package/dist/Equal-ed1e8c3c.cjs.prod.js +0 -71
  1221. package/dist/Equivalence-87295c78.cjs.prod.js +0 -238
  1222. package/dist/Equivalence-a4b5f56d.cjs.dev.js +0 -238
  1223. package/dist/Equivalence-e5c9cba4.esm.js +0 -218
  1224. package/dist/Error-7e84d828.esm.js +0 -53
  1225. package/dist/Error-be89adc9.cjs.prod.js +0 -57
  1226. package/dist/Error-e1ceeea7.cjs.dev.js +0 -57
  1227. package/dist/ExecutionStrategy-080f0b2b.cjs.prod.js +0 -180
  1228. package/dist/ExecutionStrategy-c6f7c490.esm.js +0 -168
  1229. package/dist/ExecutionStrategy-cd9204b4.cjs.dev.js +0 -180
  1230. package/dist/Exit-7a385294.cjs.dev.js +0 -408
  1231. package/dist/Exit-e31718e3.esm.js +0 -371
  1232. package/dist/Exit-eb04f98e.cjs.prod.js +0 -408
  1233. package/dist/Fiber-1a996e3f.cjs.dev.js +0 -521
  1234. package/dist/Fiber-38517971.esm.js +0 -473
  1235. package/dist/Fiber-a7306b77.cjs.prod.js +0 -521
  1236. package/dist/FiberId-3b23bc04.cjs.dev.js +0 -443
  1237. package/dist/FiberId-556ab9ef.esm.js +0 -422
  1238. package/dist/FiberId-95c92b7e.cjs.prod.js +0 -443
  1239. package/dist/FiberRef-6f63843b.cjs.prod.js +0 -385
  1240. package/dist/FiberRef-912b6248.cjs.dev.js +0 -385
  1241. package/dist/FiberRef-b81d5a7e.esm.js +0 -338
  1242. package/dist/FiberRefs-1a6a1b5f.cjs.prod.js +0 -135
  1243. package/dist/FiberRefs-44fda74a.cjs.dev.js +0 -135
  1244. package/dist/FiberRefs-a6ab4b8d.esm.js +0 -122
  1245. package/dist/FiberRefsPatch-549967e3.cjs.prod.js +0 -90
  1246. package/dist/FiberRefsPatch-56f10acc.cjs.dev.js +0 -90
  1247. package/dist/FiberRefsPatch-f84453c3.esm.js +0 -84
  1248. package/dist/FiberStatus-90291b8c.esm.js +0 -187
  1249. package/dist/FiberStatus-db497d70.cjs.dev.js +0 -197
  1250. package/dist/FiberStatus-ff18b445.cjs.prod.js +0 -197
  1251. package/dist/Function-52fb7d21.esm.js +0 -516
  1252. package/dist/Function-8336aeeb.cjs.prod.js +0 -538
  1253. package/dist/Function-fd10bde3.cjs.dev.js +0 -538
  1254. package/dist/GlobalValue-00457222.cjs.dev.js +0 -28
  1255. package/dist/GlobalValue-c5f1e8e5.esm.js +0 -25
  1256. package/dist/GlobalValue-f65cc41d.cjs.prod.js +0 -28
  1257. package/dist/GroupBy-cabfa667.cjs.dev.js +0 -79
  1258. package/dist/GroupBy-d0ad2148.cjs.prod.js +0 -79
  1259. package/dist/GroupBy-eef333fa.esm.js +0 -72
  1260. package/dist/HKT-1990744d.esm.js +0 -5
  1261. package/dist/Hash-039222d1.esm.js +0 -179
  1262. package/dist/Hash-2171bcec.cjs.prod.js +0 -192
  1263. package/dist/Hash-9d5502e5.cjs.dev.js +0 -192
  1264. package/dist/HashMap-2604a8b0.cjs.prod.js +0 -361
  1265. package/dist/HashMap-e644e23b.esm.js +0 -327
  1266. package/dist/HashMap-ee35ace5.cjs.dev.js +0 -361
  1267. package/dist/HashSet-206ea53b.cjs.dev.js +0 -965
  1268. package/dist/HashSet-286fb998.cjs.prod.js +0 -965
  1269. package/dist/HashSet-43b520e9.cjs.dev.js +0 -283
  1270. package/dist/HashSet-99f1529e.cjs.prod.js +0 -283
  1271. package/dist/HashSet-d051e0ea.esm.js +0 -907
  1272. package/dist/HashSet-dff2542b.esm.js +0 -256
  1273. package/dist/Hub-4223bb07.cjs.prod.js +0 -1280
  1274. package/dist/Hub-9f3d5c5d.esm.js +0 -1264
  1275. package/dist/Hub-dd9d70e7.cjs.dev.js +0 -1280
  1276. package/dist/Inspectable-46a7668e.cjs.prod.js +0 -50
  1277. package/dist/Inspectable-654412c2.cjs.dev.js +0 -50
  1278. package/dist/Inspectable-bda84223.esm.js +0 -45
  1279. package/dist/KeyedPool-0b5851a2.cjs.prod.js +0 -282
  1280. package/dist/KeyedPool-50b8f75b.esm.js +0 -273
  1281. package/dist/KeyedPool-8b979aac.cjs.dev.js +0 -282
  1282. package/dist/Layer-11122c64.cjs.dev.js +0 -687
  1283. package/dist/Layer-79fa5f4a.cjs.prod.js +0 -687
  1284. package/dist/Layer-f7be72db.esm.js +0 -623
  1285. package/dist/List-48f2b78f.cjs.prod.js +0 -912
  1286. package/dist/List-95e1e081.cjs.dev.js +0 -912
  1287. package/dist/List-c066a506.esm.js +0 -865
  1288. package/dist/LogLevel-2e6b00c7.esm.js +0 -222
  1289. package/dist/LogLevel-a609dd63.cjs.prod.js +0 -240
  1290. package/dist/LogLevel-c14e29fb.cjs.dev.js +0 -240
  1291. package/dist/LogSpan-c216a78b.cjs.prod.js +0 -46
  1292. package/dist/LogSpan-cd4b8f34.cjs.dev.js +0 -46
  1293. package/dist/LogSpan-e5cf11a5.esm.js +0 -42
  1294. package/dist/Logger-029fccab.cjs.prod.js +0 -275
  1295. package/dist/Logger-28d5e7ff.cjs.dev.js +0 -275
  1296. package/dist/Logger-52ffeafa.esm.js +0 -246
  1297. package/dist/Metric-2b4867b2.cjs.dev.js +0 -488
  1298. package/dist/Metric-cd4dfaba.cjs.prod.js +0 -488
  1299. package/dist/Metric-f2c8888b.esm.js +0 -442
  1300. package/dist/MetricBoundaries-8ef331f0.cjs.dev.js +0 -68
  1301. package/dist/MetricBoundaries-9707829f.esm.js +0 -61
  1302. package/dist/MetricBoundaries-fc377a5e.cjs.prod.js +0 -68
  1303. package/dist/MetricHook-74ebef65.esm.js +0 -80
  1304. package/dist/MetricHook-9d1ff9f5.cjs.prod.js +0 -90
  1305. package/dist/MetricHook-ebd34eea.cjs.dev.js +0 -90
  1306. package/dist/MetricKey-7536999c.cjs.dev.js +0 -130
  1307. package/dist/MetricKey-d96ef128.cjs.prod.js +0 -130
  1308. package/dist/MetricKey-fb261d1b.esm.js +0 -118
  1309. package/dist/MetricKeyType-637f6694.cjs.prod.js +0 -187
  1310. package/dist/MetricKeyType-6a10f955.esm.js +0 -168
  1311. package/dist/MetricKeyType-ed70a508.cjs.dev.js +0 -187
  1312. package/dist/MetricLabel-30df73d1.esm.js +0 -48
  1313. package/dist/MetricLabel-b6a3c628.cjs.prod.js +0 -53
  1314. package/dist/MetricLabel-e6d1cb96.cjs.dev.js +0 -53
  1315. package/dist/MetricPair-5f5f6f1b.esm.js +0 -45
  1316. package/dist/MetricPair-a1551790.cjs.prod.js +0 -50
  1317. package/dist/MetricPair-f1f0edbd.cjs.dev.js +0 -50
  1318. package/dist/MetricPolling-258af71e.esm.js +0 -167
  1319. package/dist/MetricPolling-b2accbbd.cjs.dev.js +0 -177
  1320. package/dist/MetricPolling-c6caba9d.cjs.prod.js +0 -177
  1321. package/dist/MetricRegistry-2ae45fdf.cjs.dev.js +0 -38
  1322. package/dist/MetricRegistry-44d3af51.esm.js +0 -34
  1323. package/dist/MetricRegistry-d61eb47d.cjs.prod.js +0 -38
  1324. package/dist/MetricState-a3499d98.cjs.prod.js +0 -191
  1325. package/dist/MetricState-cd7a1775.cjs.dev.js +0 -191
  1326. package/dist/MetricState-d4fcb7d0.esm.js +0 -172
  1327. package/dist/MutableHashMap-b3ab7261.esm.js +0 -142
  1328. package/dist/MutableHashMap-d6cb38d9.cjs.prod.js +0 -154
  1329. package/dist/MutableHashMap-f08d01f5.cjs.dev.js +0 -154
  1330. package/dist/MutableHashSet-9e2ea672.cjs.dev.js +0 -110
  1331. package/dist/MutableHashSet-ec9f7a0b.esm.js +0 -101
  1332. package/dist/MutableHashSet-fa860611.cjs.prod.js +0 -110
  1333. package/dist/MutableList-4ef847b7.cjs.prod.js +0 -296
  1334. package/dist/MutableList-85cf4e37.cjs.dev.js +0 -296
  1335. package/dist/MutableList-8c671944.esm.js +0 -281
  1336. package/dist/MutableQueue-3dfd5fea.cjs.dev.js +0 -215
  1337. package/dist/MutableQueue-416dfcd9.cjs.prod.js +0 -215
  1338. package/dist/MutableQueue-54a4b584.esm.js +0 -202
  1339. package/dist/MutableRef-82c6fe46.cjs.prod.js +0 -194
  1340. package/dist/MutableRef-cb4d2fc0.esm.js +0 -176
  1341. package/dist/MutableRef-ef31c15d.cjs.dev.js +0 -194
  1342. package/dist/NonEmptyIterable-26ed16e4.cjs.prod.js +0 -36
  1343. package/dist/NonEmptyIterable-7ef320e0.esm.js +0 -33
  1344. package/dist/NonEmptyIterable-b064c1af.cjs.dev.js +0 -36
  1345. package/dist/Number-d021c8f9.cjs.prod.js +0 -417
  1346. package/dist/Number-dc454336.esm.js +0 -394
  1347. package/dist/Number-dddf713e.cjs.dev.js +0 -417
  1348. package/dist/Option-1d073850.esm.js +0 -1135
  1349. package/dist/Option-837ae0da.cjs.dev.js +0 -1198
  1350. package/dist/Option-b07f2b1d.cjs.prod.js +0 -1198
  1351. package/dist/Order-2f11aa24.esm.js +0 -293
  1352. package/dist/Order-2f785421.cjs.prod.js +0 -321
  1353. package/dist/Order-cbf22e18.cjs.dev.js +0 -321
  1354. package/dist/Ordering-9892085c.esm.js +0 -97
  1355. package/dist/Ordering-e20427cc.cjs.dev.js +0 -104
  1356. package/dist/Ordering-f3e378ef.cjs.prod.js +0 -104
  1357. package/dist/Pipeable-856ddd7c.cjs.prod.js +0 -52
  1358. package/dist/Pipeable-ef202667.cjs.dev.js +0 -52
  1359. package/dist/Pipeable-fe51dc02.esm.js +0 -49
  1360. package/dist/Pool-68590a64.cjs.dev.js +0 -122
  1361. package/dist/Pool-718f79ff.cjs.prod.js +0 -122
  1362. package/dist/Pool-cdfcfabe.esm.js +0 -114
  1363. package/dist/Predicate-52271838.esm.js +0 -677
  1364. package/dist/Predicate-54d8c8de.cjs.dev.js +0 -718
  1365. package/dist/Predicate-a3fd4088.cjs.prod.js +0 -718
  1366. package/dist/Queue-48d0b9d4.cjs.dev.js +0 -394
  1367. package/dist/Queue-9f8579c0.cjs.prod.js +0 -394
  1368. package/dist/Queue-bbebbeda.esm.js +0 -362
  1369. package/dist/Random-0bdc1bcb.cjs.prod.js +0 -104
  1370. package/dist/Random-14987953.esm.js +0 -94
  1371. package/dist/Random-f495bcbc.cjs.dev.js +0 -104
  1372. package/dist/ReadonlyArray-199ff80e.esm.js +0 -1584
  1373. package/dist/ReadonlyArray-3b1a15d8.cjs.dev.js +0 -10
  1374. package/dist/ReadonlyArray-6fbc78a1.cjs.prod.js +0 -1721
  1375. package/dist/ReadonlyArray-84c71385.esm.js +0 -8
  1376. package/dist/ReadonlyArray-885e80a2.cjs.dev.js +0 -1721
  1377. package/dist/ReadonlyArray-8adb9a46.cjs.prod.js +0 -10
  1378. package/dist/ReadonlyRecord-4969b34f.cjs.prod.js +0 -568
  1379. package/dist/ReadonlyRecord-c1f5d048.esm.js +0 -544
  1380. package/dist/ReadonlyRecord-c6dc7deb.cjs.dev.js +0 -568
  1381. package/dist/RedBlackTree-22839235.esm.js +0 -1632
  1382. package/dist/RedBlackTree-59192950.cjs.prod.js +0 -1669
  1383. package/dist/RedBlackTree-98a93ec6.cjs.dev.js +0 -1669
  1384. package/dist/Ref-88c1d56d.cjs.prod.js +0 -282
  1385. package/dist/Ref-8d85fc7a.cjs.dev.js +0 -282
  1386. package/dist/Ref-9a9de951.esm.js +0 -248
  1387. package/dist/Reloadable-10cfae17.esm.js +0 -159
  1388. package/dist/Reloadable-3ca716d9.cjs.prod.js +0 -169
  1389. package/dist/Reloadable-65bf6783.cjs.dev.js +0 -169
  1390. package/dist/Request-5b794c27.cjs.dev.js +0 -190
  1391. package/dist/Request-6d646956.cjs.prod.js +0 -190
  1392. package/dist/Request-9f0b571a.esm.js +0 -175
  1393. package/dist/RequestBlock-15e7d048.cjs.prod.js +0 -124
  1394. package/dist/RequestBlock-6105623d.esm.js +0 -114
  1395. package/dist/RequestBlock-ec5299d4.cjs.dev.js +0 -124
  1396. package/dist/RequestResolver-10227a7b.esm.js +0 -213
  1397. package/dist/RequestResolver-a3fe9b72.cjs.prod.js +0 -233
  1398. package/dist/RequestResolver-bc7e6050.cjs.dev.js +0 -233
  1399. package/dist/Resource-966460b5.cjs.dev.js +0 -118
  1400. package/dist/Resource-9f1084b9.cjs.prod.js +0 -118
  1401. package/dist/Resource-afd128d6.esm.js +0 -111
  1402. package/dist/Runtime-15bf8fcd.cjs.prod.js +0 -191
  1403. package/dist/Runtime-1a63e954.cjs.dev.js +0 -191
  1404. package/dist/Runtime-4f6fc384.esm.js +0 -175
  1405. package/dist/RuntimeFlags-4d3b4ba7.esm.js +0 -344
  1406. package/dist/RuntimeFlags-a43dcce7.cjs.dev.js +0 -381
  1407. package/dist/RuntimeFlags-ef10d73a.cjs.prod.js +0 -381
  1408. package/dist/RuntimeFlagsPatch-0c131e8e.cjs.dev.js +0 -411
  1409. package/dist/RuntimeFlagsPatch-a1da6096.esm.js +0 -365
  1410. package/dist/RuntimeFlagsPatch-bfdf133d.cjs.prod.js +0 -411
  1411. package/dist/STM-2bdad2bd.cjs.dev.js +0 -1447
  1412. package/dist/STM-55e91604.esm.js +0 -1321
  1413. package/dist/STM-e6749b84.cjs.prod.js +0 -1447
  1414. package/dist/Schedule-35a9436e.cjs.prod.js +0 -1159
  1415. package/dist/Schedule-d9b0f037.cjs.dev.js +0 -1159
  1416. package/dist/Schedule-da001b13.esm.js +0 -1059
  1417. package/dist/ScheduleDecision-2ab823c2.cjs.dev.js +0 -106
  1418. package/dist/ScheduleDecision-369cf2a1.cjs.prod.js +0 -106
  1419. package/dist/ScheduleDecision-e794f66d.esm.js +0 -99
  1420. package/dist/ScheduleInterval-2db9be83.cjs.dev.js +0 -244
  1421. package/dist/ScheduleInterval-3e9b8eca.cjs.prod.js +0 -244
  1422. package/dist/ScheduleInterval-94e80ec4.esm.js +0 -229
  1423. package/dist/ScheduleIntervals-ab412802.cjs.dev.js +0 -265
  1424. package/dist/ScheduleIntervals-e6ed15fa.cjs.prod.js +0 -265
  1425. package/dist/ScheduleIntervals-ef5cd7c5.esm.js +0 -252
  1426. package/dist/Scheduler-44f252da.cjs.prod.js +0 -358
  1427. package/dist/Scheduler-6122a3ee.cjs.dev.js +0 -358
  1428. package/dist/Scheduler-d2f7e5c7.esm.js +0 -343
  1429. package/dist/Scope-0ffde3bb.esm.js +0 -131
  1430. package/dist/Scope-326194e2.cjs.prod.js +0 -143
  1431. package/dist/Scope-3cf29072.cjs.dev.js +0 -143
  1432. package/dist/ScopedCache-01a07a6d.cjs.prod.js +0 -467
  1433. package/dist/ScopedCache-77c605e8.cjs.dev.js +0 -467
  1434. package/dist/ScopedCache-9c558fd1.esm.js +0 -462
  1435. package/dist/ScopedRef-2f0e2b33.cjs.dev.js +0 -87
  1436. package/dist/ScopedRef-5c29a8a2.cjs.prod.js +0 -87
  1437. package/dist/ScopedRef-dd8a823e.esm.js +0 -80
  1438. package/dist/Sink-923b4ad8.esm.js +0 -1107
  1439. package/dist/Sink-c4ca577a.cjs.prod.js +0 -1215
  1440. package/dist/Sink-fa1f105b.cjs.dev.js +0 -1215
  1441. package/dist/SortedMap-44f47d83.esm.js +0 -190
  1442. package/dist/SortedMap-abf39a75.cjs.prod.js +0 -210
  1443. package/dist/SortedMap-b04da739.cjs.dev.js +0 -210
  1444. package/dist/SortedSet-3339ea7f.esm.js +0 -288
  1445. package/dist/SortedSet-4efa4f05.cjs.dev.js +0 -311
  1446. package/dist/SortedSet-b588ac70.cjs.prod.js +0 -311
  1447. package/dist/Stack-765c2298.esm.js +0 -9
  1448. package/dist/Stream-1d51d0be.esm.js +0 -3175
  1449. package/dist/Stream-55dd689b.cjs.prod.js +0 -3469
  1450. package/dist/Stream-b1eaedfc.cjs.dev.js +0 -3469
  1451. package/dist/StreamEmit-bd696ab0.esm.js +0 -5
  1452. package/dist/StreamHaltStrategy-292ed375.cjs.dev.js +0 -214
  1453. package/dist/StreamHaltStrategy-506d4abb.cjs.prod.js +0 -214
  1454. package/dist/StreamHaltStrategy-9864a080.esm.js +0 -201
  1455. package/dist/String-9702a941.cjs.dev.js +0 -694
  1456. package/dist/String-ba45d520.esm.js +0 -648
  1457. package/dist/String-fa7c1c88.cjs.prod.js +0 -694
  1458. package/dist/Struct-3d8b2a81.cjs.prod.js +0 -141
  1459. package/dist/Struct-62f329c0.cjs.dev.js +0 -141
  1460. package/dist/Struct-8bc142d1.esm.js +0 -134
  1461. package/dist/SubscriptionRef-1eb76544.cjs.prod.js +0 -269
  1462. package/dist/SubscriptionRef-33b302b6.esm.js +0 -245
  1463. package/dist/SubscriptionRef-faf570c5.cjs.dev.js +0 -269
  1464. package/dist/Supervisor-34de9985.cjs.dev.js +0 -170
  1465. package/dist/Supervisor-3706300f.cjs.prod.js +0 -170
  1466. package/dist/Supervisor-5b9943cf.esm.js +0 -160
  1467. package/dist/Symbol-9ad0bde8.esm.js +0 -36
  1468. package/dist/Symbol-e3ea5627.cjs.dev.js +0 -40
  1469. package/dist/Symbol-e5af99ce.cjs.prod.js +0 -40
  1470. package/dist/SynchronizedRef-01f585dc.cjs.prod.js +0 -212
  1471. package/dist/SynchronizedRef-c389137f.esm.js +0 -187
  1472. package/dist/SynchronizedRef-cda883b7.cjs.dev.js +0 -212
  1473. package/dist/TArray-1200bf6a.esm.js +0 -412
  1474. package/dist/TArray-97bc3f87.cjs.prod.js +0 -455
  1475. package/dist/TArray-9bd73c38.cjs.dev.js +0 -455
  1476. package/dist/TDeferred-875fd41c.esm.js +0 -120
  1477. package/dist/TDeferred-bf21b756.cjs.prod.js +0 -129
  1478. package/dist/TDeferred-f97247d3.cjs.dev.js +0 -129
  1479. package/dist/THub-917198c0.esm.js +0 -553
  1480. package/dist/THub-c4a3e52c.cjs.dev.js +0 -570
  1481. package/dist/THub-d9d3b223.cjs.prod.js +0 -570
  1482. package/dist/TMap-459696e5.cjs.dev.js +0 -463
  1483. package/dist/TMap-786b8508.esm.js +0 -419
  1484. package/dist/TMap-a6aab3c3.cjs.prod.js +0 -463
  1485. package/dist/TPriorityQueue-31c32afb.esm.js +0 -360
  1486. package/dist/TPriorityQueue-918056c3.cjs.prod.js +0 -381
  1487. package/dist/TPriorityQueue-e8429066.cjs.dev.js +0 -381
  1488. package/dist/TQueue-adee58b8.esm.js +0 -324
  1489. package/dist/TQueue-b9593214.cjs.prod.js +0 -353
  1490. package/dist/TQueue-d1c8153e.cjs.dev.js +0 -353
  1491. package/dist/TRandom-65721a5b.cjs.prod.js +0 -203
  1492. package/dist/TRandom-677ba64f.esm.js +0 -192
  1493. package/dist/TRandom-79057bd9.cjs.dev.js +0 -203
  1494. package/dist/TReentrantLock-0dbd6074.cjs.prod.js +0 -456
  1495. package/dist/TReentrantLock-164c0898.cjs.dev.js +0 -456
  1496. package/dist/TReentrantLock-65156c11.esm.js +0 -435
  1497. package/dist/TRef-4a45f5af.cjs.dev.js +0 -152
  1498. package/dist/TRef-edd5ff88.esm.js +0 -135
  1499. package/dist/TRef-ff8497e4.cjs.prod.js +0 -152
  1500. package/dist/TSemaphore-1f5dc074.cjs.dev.js +0 -197
  1501. package/dist/TSemaphore-bccebfec.esm.js +0 -183
  1502. package/dist/TSemaphore-d1096593.cjs.prod.js +0 -197
  1503. package/dist/TSet-0f61d448.cjs.prod.js +0 -444
  1504. package/dist/TSet-48903882.cjs.dev.js +0 -444
  1505. package/dist/TSet-bd3a1de2.esm.js +0 -412
  1506. package/dist/Take-1e6b1ba3.esm.js +0 -214
  1507. package/dist/Take-7797160f.cjs.dev.js +0 -236
  1508. package/dist/Take-d245cc08.cjs.prod.js +0 -236
  1509. package/dist/TestAnnotation-5b23b64a.cjs.prod.js +0 -135
  1510. package/dist/TestAnnotation-c2b6bb64.esm.js +0 -124
  1511. package/dist/TestAnnotation-ca7ea5d9.cjs.dev.js +0 -135
  1512. package/dist/TestAnnotationMap-5ef91d33.cjs.prod.js +0 -125
  1513. package/dist/TestAnnotationMap-83b0e761.cjs.dev.js +0 -125
  1514. package/dist/TestAnnotationMap-d180214b.esm.js +0 -114
  1515. package/dist/TestAnnotations-758011e7.cjs.prod.js +0 -97
  1516. package/dist/TestAnnotations-89733ab7.cjs.dev.js +0 -97
  1517. package/dist/TestAnnotations-cf445345.esm.js +0 -91
  1518. package/dist/TestClock-0a012f75.esm.js +0 -565
  1519. package/dist/TestClock-0abac759.cjs.prod.js +0 -581
  1520. package/dist/TestClock-3bdb0c0b.cjs.dev.js +0 -581
  1521. package/dist/TestConfig-3f48c7f2.cjs.prod.js +0 -37
  1522. package/dist/TestConfig-e52495c3.esm.js +0 -33
  1523. package/dist/TestConfig-ff283076.cjs.dev.js +0 -37
  1524. package/dist/TestContext-64f40523.esm.js +0 -36
  1525. package/dist/TestContext-7a6420d3.cjs.prod.js +0 -41
  1526. package/dist/TestContext-b44d97ae.cjs.dev.js +0 -41
  1527. package/dist/TestLive-64c62bfe.cjs.dev.js +0 -60
  1528. package/dist/TestLive-906c173d.cjs.prod.js +0 -60
  1529. package/dist/TestLive-bfab4add.esm.js +0 -55
  1530. package/dist/TestServices-844e305d.esm.js +0 -306
  1531. package/dist/TestServices-944b625c.cjs.prod.js +0 -341
  1532. package/dist/TestServices-f8c51bbd.cjs.dev.js +0 -341
  1533. package/dist/TestSized-0fa739ff.cjs.prod.js +0 -64
  1534. package/dist/TestSized-3a0fa658.esm.js +0 -58
  1535. package/dist/TestSized-955a228e.cjs.dev.js +0 -64
  1536. package/dist/Tracer-1610aba4.cjs.dev.js +0 -81
  1537. package/dist/Tracer-700da80a.cjs.prod.js +0 -81
  1538. package/dist/Tracer-b07052e2.esm.js +0 -75
  1539. package/dist/Tuple-1fa12d6e.esm.js +0 -187
  1540. package/dist/Tuple-73682170.cjs.prod.js +0 -199
  1541. package/dist/Tuple-9822259f.cjs.dev.js +0 -199
  1542. package/dist/Types-be3804ad.esm.js +0 -5
  1543. package/dist/Unify-150ebcee.cjs.dev.js +0 -48
  1544. package/dist/Unify-77f78d08.cjs.prod.js +0 -48
  1545. package/dist/Unify-9d27a1f3.esm.js +0 -45
  1546. package/dist/Utils-32587b0c.cjs.dev.js +0 -370
  1547. package/dist/Utils-6484334f.cjs.prod.js +0 -370
  1548. package/dist/Utils-657e8bfa.esm.js +0 -362
  1549. package/dist/boundaries-6bacf30a.cjs.prod.js +0 -54
  1550. package/dist/boundaries-8475a9b4.esm.js +0 -48
  1551. package/dist/boundaries-c6f4c3da.cjs.dev.js +0 -54
  1552. package/dist/cache-2fa366f0.esm.js +0 -514
  1553. package/dist/cache-7b578624.cjs.prod.js +0 -523
  1554. package/dist/cache-8db60799.cjs.dev.js +0 -523
  1555. package/dist/childExecutorDecision-49f0f19c.esm.js +0 -85
  1556. package/dist/childExecutorDecision-744cd5fb.cjs.prod.js +0 -98
  1557. package/dist/childExecutorDecision-c1c3b8b6.cjs.dev.js +0 -98
  1558. package/dist/circular-1dfea59d.cjs.prod.js +0 -107
  1559. package/dist/circular-3ebc9b78.esm.js +0 -82
  1560. package/dist/circular-604e98e5.cjs.prod.js +0 -341
  1561. package/dist/circular-8088cc19.cjs.dev.js +0 -341
  1562. package/dist/circular-cff58c30.esm.js +0 -311
  1563. package/dist/circular-e5da795a.cjs.dev.js +0 -107
  1564. package/dist/config-05de256b.cjs.dev.js +0 -474
  1565. package/dist/config-3003c43a.cjs.prod.js +0 -474
  1566. package/dist/config-64a67e36.esm.js +0 -428
  1567. package/dist/configError-84c0742e.esm.js +0 -305
  1568. package/dist/configError-a7c4fcc2.cjs.dev.js +0 -323
  1569. package/dist/configError-b3dd6ec2.cjs.prod.js +0 -323
  1570. package/dist/configProvider-35a1a3c7.cjs.prod.js +0 -447
  1571. package/dist/configProvider-56d1b842.cjs.dev.js +0 -447
  1572. package/dist/configProvider-cd15d971.esm.js +0 -428
  1573. package/dist/configSecret-18ba6f6e.cjs.dev.js +0 -74
  1574. package/dist/configSecret-3dd7ab72.cjs.prod.js +0 -74
  1575. package/dist/configSecret-793e52b4.esm.js +0 -66
  1576. package/dist/core-01c0ed9d.cjs.prod.js +0 -1072
  1577. package/dist/core-218f7617.cjs.prod.js +0 -3502
  1578. package/dist/core-5346c1e5.cjs.dev.js +0 -1072
  1579. package/dist/core-9276b625.esm.js +0 -1032
  1580. package/dist/core-9f5f0dc2.esm.js +0 -3225
  1581. package/dist/core-bedc63fe.cjs.dev.js +0 -3502
  1582. package/dist/core-effect-a839563d.cjs.dev.js +0 -1030
  1583. package/dist/core-effect-e762d50b.esm.js +0 -902
  1584. package/dist/core-effect-fea8dde9.cjs.prod.js +0 -1030
  1585. package/dist/dataSource-43c62f8e.esm.js +0 -60
  1586. package/dist/dataSource-8ab8a0ec.cjs.dev.js +0 -74
  1587. package/dist/dataSource-cc1edaa1.cjs.prod.js +0 -74
  1588. package/dist/defaultServices-1d4f144a.cjs.prod.js +0 -388
  1589. package/dist/defaultServices-1f1298e8.cjs.dev.js +0 -388
  1590. package/dist/defaultServices-86214de4.esm.js +0 -359
  1591. package/dist/fiber-1511340a.esm.js +0 -363
  1592. package/dist/fiber-18f7cf87.cjs.dev.js +0 -411
  1593. package/dist/fiber-957d5291.cjs.prod.js +0 -411
  1594. package/dist/fiberRefs-76ecbcfd.cjs.dev.js +0 -181
  1595. package/dist/fiberRefs-b32de18b.esm.js +0 -169
  1596. package/dist/fiberRefs-f0429b31.cjs.prod.js +0 -181
  1597. package/dist/fiberRuntime-233db874.cjs.dev.js +0 -3012
  1598. package/dist/fiberRuntime-5e42f85c.cjs.prod.js +0 -3012
  1599. package/dist/fiberRuntime-98f09d31.esm.js +0 -2857
  1600. package/dist/groupBy-36e6ca3f.cjs.prod.js +0 -216
  1601. package/dist/groupBy-3a32c4b6.cjs.dev.js +0 -216
  1602. package/dist/groupBy-8d753c19.esm.js +0 -206
  1603. package/dist/hook-8fc9006f.esm.js +0 -362
  1604. package/dist/hook-e169b712.cjs.prod.js +0 -371
  1605. package/dist/hook-fe9f948d.cjs.dev.js +0 -371
  1606. package/dist/key-215ea6fd.esm.js +0 -68
  1607. package/dist/key-4824d1ad.cjs.prod.js +0 -79
  1608. package/dist/key-d8dc829b.cjs.dev.js +0 -79
  1609. package/dist/keyType-c980adcc.cjs.dev.js +0 -236
  1610. package/dist/keyType-d85714ed.cjs.prod.js +0 -236
  1611. package/dist/keyType-fefd9ef8.esm.js +0 -218
  1612. package/dist/label-14b7d517.cjs.dev.js +0 -44
  1613. package/dist/label-5cb21441.esm.js +0 -40
  1614. package/dist/label-e78b2f8f.cjs.prod.js +0 -44
  1615. package/dist/layer-3da5a933.cjs.prod.js +0 -658
  1616. package/dist/layer-e1d1db03.cjs.dev.js +0 -658
  1617. package/dist/layer-f8ec8454.esm.js +0 -596
  1618. package/dist/mergeDecision-32146c34.esm.js +0 -78
  1619. package/dist/mergeDecision-75feaab3.cjs.dev.js +0 -86
  1620. package/dist/mergeDecision-a1822db2.cjs.prod.js +0 -86
  1621. package/dist/mergeState-21728f0b.esm.js +0 -96
  1622. package/dist/mergeState-2c24c562.cjs.prod.js +0 -109
  1623. package/dist/mergeState-e9aa09b9.cjs.dev.js +0 -109
  1624. package/dist/mergeStrategy-84dd9011.esm.js +0 -64
  1625. package/dist/mergeStrategy-8fe47c7e.cjs.dev.js +0 -72
  1626. package/dist/mergeStrategy-909bebb0.cjs.prod.js +0 -72
  1627. package/dist/pair-67530b23.cjs.dev.js +0 -42
  1628. package/dist/pair-cb46f77c.esm.js +0 -38
  1629. package/dist/pair-fb591d12.cjs.prod.js +0 -42
  1630. package/dist/patch-99e8591b.esm.js +0 -127
  1631. package/dist/patch-cdcb5e42.cjs.dev.js +0 -132
  1632. package/dist/patch-f440dab6.cjs.prod.js +0 -132
  1633. package/dist/pathPatch-5ac830c8.esm.js +0 -83
  1634. package/dist/pathPatch-75afe967.cjs.dev.js +0 -90
  1635. package/dist/pathPatch-775a0838.cjs.prod.js +0 -90
  1636. package/dist/pool-0da00d67.cjs.prod.js +0 -278
  1637. package/dist/pool-54820a71.esm.js +0 -271
  1638. package/dist/pool-bfa5c974.cjs.dev.js +0 -278
  1639. package/dist/query-1685a476.esm.js +0 -97
  1640. package/dist/query-3ab8cd4e.cjs.prod.js +0 -104
  1641. package/dist/query-68bb7c45.cjs.dev.js +0 -104
  1642. package/dist/queue-499cacee.cjs.prod.js +0 -538
  1643. package/dist/queue-b79c472d.esm.js +0 -505
  1644. package/dist/queue-bf262207.cjs.dev.js +0 -538
  1645. package/dist/registry-38f0ed9d.esm.js +0 -111
  1646. package/dist/registry-6f465b2f.cjs.prod.js +0 -114
  1647. package/dist/registry-dfe7ed01.cjs.dev.js +0 -114
  1648. package/dist/runtime-5b7472d5.cjs.dev.js +0 -288
  1649. package/dist/runtime-68e90981.cjs.prod.js +0 -288
  1650. package/dist/runtime-f91ca239.esm.js +0 -266
  1651. package/dist/schedule-0d31f4cc.esm.js +0 -843
  1652. package/dist/schedule-616cf1b8.cjs.prod.js +0 -956
  1653. package/dist/schedule-d3f9b258.cjs.dev.js +0 -956
  1654. package/dist/scopedRef-5e59cf54.cjs.prod.js +0 -55
  1655. package/dist/scopedRef-730d8d35.cjs.dev.js +0 -55
  1656. package/dist/scopedRef-e54a3d93.esm.js +0 -49
  1657. package/dist/singleProducerAsyncInput-6508b7f1.cjs.dev.js +0 -193
  1658. package/dist/singleProducerAsyncInput-c67ef1c6.esm.js +0 -191
  1659. package/dist/singleProducerAsyncInput-d3225b4e.cjs.prod.js +0 -193
  1660. package/dist/sink-05d54662.cjs.prod.js +0 -3094
  1661. package/dist/sink-3105a90f.cjs.dev.js +0 -3094
  1662. package/dist/sink-3f26fc31.esm.js +0 -2877
  1663. package/dist/state-38610229.esm.js +0 -209
  1664. package/dist/state-6d974829.cjs.dev.js +0 -227
  1665. package/dist/state-abef4d59.cjs.prod.js +0 -227
  1666. package/dist/stm-43c3b262.cjs.dev.js +0 -678
  1667. package/dist/stm-d01a804c.esm.js +0 -582
  1668. package/dist/stm-e1200304.cjs.prod.js +0 -678
  1669. package/dist/stream-3ebec4f3.cjs.prod.js +0 -3649
  1670. package/dist/stream-9270c6b1.esm.js +0 -3355
  1671. package/dist/stream-b819c5b3.cjs.dev.js +0 -3649
  1672. package/dist/synchronizedRef-5bbb64b2.cjs.prod.js +0 -62
  1673. package/dist/synchronizedRef-e9682c8e.cjs.dev.js +0 -62
  1674. package/dist/synchronizedRef-f7077a5f.esm.js +0 -53
  1675. package/dist/tArray-0d2e8fae.cjs.dev.js +0 -330
  1676. package/dist/tArray-442d22a4.cjs.prod.js +0 -330
  1677. package/dist/tArray-fa2759e8.esm.js +0 -287
  1678. package/dist/tMap-2a001015.cjs.prod.js +0 -535
  1679. package/dist/tMap-2a98e9a7.esm.js +0 -492
  1680. package/dist/tMap-2fd8c9e6.cjs.dev.js +0 -535
  1681. package/dist/tQueue-13f8f402.esm.js +0 -331
  1682. package/dist/tQueue-84a0d0eb.cjs.dev.js +0 -367
  1683. package/dist/tQueue-e2e96d1f.cjs.prod.js +0 -367
  1684. package/dist/tRef-4772a528.cjs.prod.js +0 -133
  1685. package/dist/tRef-b5d0cc28.esm.js +0 -115
  1686. package/dist/tRef-bbbdd134.cjs.dev.js +0 -133
  1687. package/dist/take-68ed448f.cjs.dev.js +0 -152
  1688. package/dist/take-7c168e8e.esm.js +0 -130
  1689. package/dist/take-d293f721.cjs.prod.js +0 -152
  1690. package/dist/timeout-4180303d.esm.js +0 -22
  1691. package/dist/upstreamPullRequest-be86e51c.esm.js +0 -71
  1692. package/dist/upstreamPullRequest-d2eaf7f5.cjs.prod.js +0 -79
  1693. package/dist/upstreamPullRequest-f986731f.cjs.dev.js +0 -79
  1694. package/dist/upstreamPullStrategy-08e7185f.cjs.prod.js +0 -81
  1695. package/dist/upstreamPullStrategy-29c0b698.cjs.dev.js +0 -81
  1696. package/dist/upstreamPullStrategy-d1505fa4.esm.js +0 -71
@@ -0,0 +1,3645 @@
1
+ 'use strict';
2
+
3
+ var Cause_dist_effectCause = require('./Cause-96c29074.cjs.dev.js');
4
+ var ChannelMergeDecision_dist_effectChannelMergeDecision = require('./ChannelMergeDecision-eeaf4779.cjs.dev.js');
5
+ var Chunk_dist_effectChunk = require('./Chunk-bd290b8e.cjs.dev.js');
6
+ var Clock_dist_effectClock = require('./Clock-bec722c1.cjs.dev.js');
7
+ var Context_dist_effectContext = require('./Context-3c9e986b.cjs.dev.js');
8
+ var Deferred_dist_effectDeferred = require('./Deferred-5d5c886c.cjs.dev.js');
9
+ var Duration_dist_effectDuration = require('./Duration-604874d1.cjs.dev.js');
10
+ var Effect_dist_effectEffect = require('./Effect-6e9780e6.cjs.dev.js');
11
+ var Either_dist_effectEither = require('./Either-a806809d.cjs.dev.js');
12
+ var Equal_dist_effectEqual = require('./Equal-281b6ca8.cjs.dev.js');
13
+ var Exit_dist_effectExit = require('./Exit-a23874e1.cjs.dev.js');
14
+ var Fiber_dist_effectFiber = require('./Fiber-6432d5f7.cjs.dev.js');
15
+ var Function_dist_effectFunction = require('./Function-41ce433d.cjs.dev.js');
16
+ var Hub_dist_effectHub = require('./Hub-74834668.cjs.dev.js');
17
+ var Layer_dist_effectLayer = require('./Layer-c69f3fdc.cjs.dev.js');
18
+ var Option_dist_effectOption = require('./Option-03997d77.cjs.dev.js');
19
+ var Pipeable_dist_effectPipeable = require('./Pipeable-4698db72.cjs.dev.js');
20
+ var Queue_dist_effectQueue = require('./Queue-8d082fe4.cjs.dev.js');
21
+ var Ref_dist_effectRef = require('./Ref-af783b72.cjs.dev.js');
22
+ var Runtime_dist_effectRuntime = require('./Runtime-c4b887ff.cjs.dev.js');
23
+ var Schedule_dist_effectSchedule = require('./Schedule-b6c7b49a.cjs.dev.js');
24
+ var Scope_dist_effectScope = require('./Scope-6ba9ec6d.cjs.dev.js');
25
+ var StreamHaltStrategy_dist_effectStreamHaltStrategy = require('./StreamHaltStrategy-66a53f66.cjs.dev.js');
26
+ var sink = require('./sink-16a1a901.cjs.dev.js');
27
+ var mergeStrategy = require('./mergeStrategy-b19dc19a.cjs.dev.js');
28
+ var singleProducerAsyncInput = require('./singleProducerAsyncInput-552122e6.cjs.dev.js');
29
+ var take$2 = require('./take-e1c6b82a.cjs.dev.js');
30
+
31
+ /** @internal */
32
+ class RingBuffer {
33
+ size = 0;
34
+ current = 0;
35
+ constructor(capacity) {
36
+ this.capacity = capacity;
37
+ this.array = Array.from({
38
+ length: capacity
39
+ }, Function_dist_effectFunction.constUndefined);
40
+ }
41
+ head() {
42
+ return Option_dist_effectOption.fromNullable(this.array[this.current]);
43
+ }
44
+ lastOrNull() {
45
+ if (this.size === 0) {
46
+ return undefined;
47
+ }
48
+ const index = this.current === 0 ? this.array.length - 1 : this.current - 1;
49
+ return this.array[index] ?? undefined;
50
+ }
51
+ put(value) {
52
+ this.array[this.current] = value;
53
+ this.increment();
54
+ }
55
+ dropLast() {
56
+ if (this.size > 0) {
57
+ this.decrement();
58
+ this.array[this.current] = undefined;
59
+ }
60
+ }
61
+ toChunk() {
62
+ const begin = this.current - this.size;
63
+ const newArray = begin < 0 ? [...this.array.slice(this.capacity + begin, this.capacity), ...this.array.slice(0, this.current)] : this.array.slice(begin, this.current);
64
+ return Chunk_dist_effectChunk.fromIterable(newArray);
65
+ }
66
+ increment() {
67
+ if (this.size < this.capacity) {
68
+ this.size += 1;
69
+ }
70
+ this.current = (this.current + 1) % this.capacity;
71
+ }
72
+ decrement() {
73
+ this.size -= 1;
74
+ if (this.current > 0) {
75
+ this.current -= 1;
76
+ } else {
77
+ this.current = this.capacity - 1;
78
+ }
79
+ }
80
+ }
81
+
82
+ /** @internal */
83
+
84
+ /** @internal */
85
+ const OP_NOT_STARTED = "NotStarted";
86
+
87
+ /** @internal */
88
+
89
+ /** @internal */
90
+ const OP_PREVIOUS = "Previous";
91
+
92
+ /** @internal */
93
+
94
+ /** @internal */
95
+ const OP_CURRENT = "Current";
96
+
97
+ /** @internal */
98
+
99
+ /** @internal */
100
+
101
+ /** @internal */
102
+
103
+ /** @internal */
104
+ const notStarted = {
105
+ _tag: OP_NOT_STARTED
106
+ };
107
+
108
+ /** @internal */
109
+ const previous = fiber => ({
110
+ _tag: OP_PREVIOUS,
111
+ fiber
112
+ });
113
+
114
+ /** @internal */
115
+ const current = fiber => ({
116
+ _tag: OP_CURRENT,
117
+ fiber
118
+ });
119
+
120
+ /** @internal */
121
+ const make$2 = emit => {
122
+ const ops = {
123
+ chunk(as) {
124
+ return this(Effect_dist_effectEffect.succeed(as));
125
+ },
126
+ die(defect) {
127
+ return this(Effect_dist_effectEffect.die(defect));
128
+ },
129
+ dieMessage(message) {
130
+ return this(Effect_dist_effectEffect.dieMessage(message));
131
+ },
132
+ done(exit) {
133
+ return this(Effect_dist_effectEffect.suspend(() => Exit_dist_effectExit.mapBoth(exit, {
134
+ onFailure: Option_dist_effectOption.some,
135
+ onSuccess: Chunk_dist_effectChunk.of
136
+ })));
137
+ },
138
+ end() {
139
+ return this(Effect_dist_effectEffect.fail(Option_dist_effectOption.none()));
140
+ },
141
+ fail(e) {
142
+ return this(Effect_dist_effectEffect.fail(Option_dist_effectOption.some(e)));
143
+ },
144
+ fromEffect(effect) {
145
+ return this(Effect_dist_effectEffect.mapBoth(effect, {
146
+ onFailure: Option_dist_effectOption.some,
147
+ onSuccess: Chunk_dist_effectChunk.of
148
+ }));
149
+ },
150
+ fromEffectChunk(effect) {
151
+ return this(Function_dist_effectFunction.pipe(effect, Effect_dist_effectEffect.mapError(Option_dist_effectOption.some)));
152
+ },
153
+ halt(cause) {
154
+ return this(Effect_dist_effectEffect.failCause(Function_dist_effectFunction.pipe(cause, Cause_dist_effectCause.map(Option_dist_effectOption.some))));
155
+ },
156
+ single(value) {
157
+ return this(Effect_dist_effectEffect.succeed(Chunk_dist_effectChunk.of(value)));
158
+ }
159
+ };
160
+ return Object.assign(emit, ops);
161
+ };
162
+
163
+ /** @internal */
164
+ const HandoffTypeId = /*#__PURE__*/Symbol.for("effect/Stream/Handoff");
165
+
166
+ /** @internal */
167
+
168
+ /**
169
+ * A synchronous queue-like abstraction that allows a producer to offer an
170
+ * element and wait for it to be taken, and allows a consumer to wait for an
171
+ * element to be available.
172
+ *
173
+ * @internal
174
+ */
175
+
176
+ /** @internal */
177
+ const OP_HANDOFF_STATE_EMPTY = "Empty";
178
+
179
+ /** @internal */
180
+
181
+ /** @internal */
182
+ const OP_HANDOFF_STATE_FULL = "Full";
183
+
184
+ /** @internal */
185
+
186
+ /** @internal */
187
+
188
+ /** @internal */
189
+ const handoffStateEmpty = notifyConsumer => ({
190
+ _tag: OP_HANDOFF_STATE_EMPTY,
191
+ notifyConsumer
192
+ });
193
+
194
+ /** @internal */
195
+ const handoffStateFull = (value, notifyProducer) => ({
196
+ _tag: OP_HANDOFF_STATE_FULL,
197
+ value,
198
+ notifyProducer
199
+ });
200
+
201
+ /** @internal */
202
+ const handoffStateMatch = (onEmpty, onFull) => {
203
+ return self => {
204
+ switch (self._tag) {
205
+ case OP_HANDOFF_STATE_EMPTY:
206
+ {
207
+ return onEmpty(self.notifyConsumer);
208
+ }
209
+ case OP_HANDOFF_STATE_FULL:
210
+ {
211
+ return onFull(self.value, self.notifyProducer);
212
+ }
213
+ }
214
+ };
215
+ };
216
+
217
+ /** @internal */
218
+ const handoffVariance = {
219
+ _A: _ => _
220
+ };
221
+
222
+ /** @internal */
223
+ const make$1 = () => Function_dist_effectFunction.pipe(Deferred_dist_effectDeferred.make(), Effect_dist_effectEffect.flatMap(deferred => Ref_dist_effectRef.make(handoffStateEmpty(deferred))), Effect_dist_effectEffect.map(ref => ({
224
+ [HandoffTypeId]: handoffVariance,
225
+ ref
226
+ })));
227
+
228
+ /** @internal */
229
+ const offer = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, value) => {
230
+ return Effect_dist_effectEffect.flatMap(Deferred_dist_effectDeferred.make(), deferred => Effect_dist_effectEffect.flatten(Ref_dist_effectRef.modify(self.ref, state => Function_dist_effectFunction.pipe(state, handoffStateMatch(notifyConsumer => [Effect_dist_effectEffect.zipRight(Deferred_dist_effectDeferred.succeed(notifyConsumer, void 0), Deferred_dist_effectDeferred._await(deferred)), handoffStateFull(value, deferred)], (_, notifyProducer) => [Effect_dist_effectEffect.flatMap(Deferred_dist_effectDeferred._await(notifyProducer), () => Function_dist_effectFunction.pipe(self, offer(value))), state])))));
231
+ });
232
+
233
+ /** @internal */
234
+ const take$1 = self => Effect_dist_effectEffect.flatMap(Deferred_dist_effectDeferred.make(), deferred => Effect_dist_effectEffect.flatten(Ref_dist_effectRef.modify(self.ref, state => Function_dist_effectFunction.pipe(state, handoffStateMatch(notifyConsumer => [Effect_dist_effectEffect.flatMap(Deferred_dist_effectDeferred._await(notifyConsumer), () => take$1(self)), state], (value, notifyProducer) => [Effect_dist_effectEffect.as(Deferred_dist_effectDeferred.succeed(notifyProducer, void 0), value), handoffStateEmpty(deferred)])))));
235
+
236
+ /** @internal */
237
+
238
+ /** @internal */
239
+ const OP_EMIT = "Emit";
240
+
241
+ /** @internal */
242
+
243
+ /** @internal */
244
+ const OP_HALT = "Halt";
245
+
246
+ /** @internal */
247
+
248
+ /** @internal */
249
+ const OP_END = "End";
250
+
251
+ /** @internal */
252
+
253
+ /** @internal */
254
+
255
+ /** @internal */
256
+
257
+ /** @internal */
258
+ const emit = elements => ({
259
+ _tag: OP_EMIT,
260
+ elements
261
+ });
262
+
263
+ /** @internal */
264
+ const halt = cause => ({
265
+ _tag: OP_HALT,
266
+ cause
267
+ });
268
+
269
+ /** @internal */
270
+ const end$1 = reason => ({
271
+ _tag: OP_END,
272
+ reason
273
+ });
274
+
275
+ /** @internal */
276
+ const end = () => Effect_dist_effectEffect.fail(Option_dist_effectOption.none());
277
+
278
+ /** @internal */
279
+ const failCause$1 = cause => Effect_dist_effectEffect.mapError(Effect_dist_effectEffect.failCause(cause), Option_dist_effectOption.some);
280
+
281
+ /** @internal */
282
+
283
+ /** @internal */
284
+ const OP_SCHEDULE_END = "ScheduleEnd";
285
+
286
+ /** @internal */
287
+
288
+ /** @internal */
289
+ const OP_UPSTREAM_END = "UpstreamEnd";
290
+
291
+ /** @internal */
292
+
293
+ /** @internal */
294
+
295
+ /** @internal */
296
+
297
+ /** @internal */
298
+ const ScheduleEnd = {
299
+ _tag: OP_SCHEDULE_END
300
+ };
301
+
302
+ /** @internal */
303
+ const UpstreamEnd = {
304
+ _tag: OP_UPSTREAM_END
305
+ };
306
+
307
+ /** @internal */
308
+
309
+ /** @internal */
310
+ const OP_DRAIN_LEFT = "DrainLeft";
311
+
312
+ /** @internal */
313
+
314
+ /** @internal */
315
+ const OP_DRAIN_RIGHT = "DrainRight";
316
+
317
+ /** @internal */
318
+
319
+ /** @internal */
320
+ const OP_PULL_BOTH$1 = "PullBoth";
321
+
322
+ /** @internal */
323
+
324
+ /** @internal */
325
+ const OP_PULL_LEFT$1 = "PullLeft";
326
+
327
+ /** @internal */
328
+
329
+ /** @internal */
330
+ const OP_PULL_RIGHT$1 = "PullRight";
331
+
332
+ /** @internal */
333
+
334
+ /** @internal */
335
+
336
+ /** @internal */
337
+
338
+ /** @internal */
339
+
340
+ /** @internal */
341
+
342
+ /** @internal */
343
+
344
+ /** @internal */
345
+ const DrainLeft = {
346
+ _tag: OP_DRAIN_LEFT
347
+ };
348
+
349
+ /** @internal */
350
+ const DrainRight = {
351
+ _tag: OP_DRAIN_RIGHT
352
+ };
353
+
354
+ /** @internal */
355
+ const PullBoth$1 = {
356
+ _tag: OP_PULL_BOTH$1
357
+ };
358
+
359
+ /** @internal */
360
+ const PullLeft$1 = rightChunk => ({
361
+ _tag: OP_PULL_LEFT$1,
362
+ rightChunk
363
+ });
364
+
365
+ /** @internal */
366
+ const PullRight$1 = leftChunk => ({
367
+ _tag: OP_PULL_RIGHT$1,
368
+ leftChunk
369
+ });
370
+
371
+ /** @internal */
372
+
373
+ /** @internal */
374
+ const OP_PULL_BOTH = "PullBoth";
375
+
376
+ /** @internal */
377
+
378
+ /** @internal */
379
+ const OP_PULL_LEFT = "PullLet";
380
+
381
+ /** @internal */
382
+
383
+ /** @internal */
384
+ const OP_PULL_RIGHT = "PullRight";
385
+
386
+ /** @internal */
387
+
388
+ /** @internal */
389
+
390
+ /** @internal */
391
+
392
+ /** @internal */
393
+
394
+ /** @internal */
395
+ const PullBoth = {
396
+ _tag: OP_PULL_BOTH
397
+ };
398
+
399
+ /** @internal */
400
+ const PullLeft = rightChunk => ({
401
+ _tag: OP_PULL_LEFT,
402
+ rightChunk
403
+ });
404
+
405
+ /** @internal */
406
+ const PullRight = leftChunk => ({
407
+ _tag: OP_PULL_RIGHT,
408
+ leftChunk
409
+ });
410
+
411
+ /** @internal */
412
+ const StreamSymbolKey = "effect/Stream";
413
+
414
+ /** @internal */
415
+ const StreamTypeId = /*#__PURE__*/Symbol.for(StreamSymbolKey);
416
+
417
+ /** @internal */
418
+ const streamVariance = {
419
+ _R: _ => _,
420
+ _E: _ => _,
421
+ _A: _ => _
422
+ };
423
+
424
+ /** @internal */
425
+ class StreamImpl {
426
+ [StreamTypeId] = streamVariance;
427
+ constructor(channel) {
428
+ this.channel = channel;
429
+ }
430
+ pipe() {
431
+ return Pipeable_dist_effectPipeable.pipeArguments(this, arguments);
432
+ }
433
+ }
434
+
435
+ /** @internal */
436
+ const isStream = u => typeof u === "object" && u != null && StreamTypeId in u || Effect_dist_effectEffect.isEffect(u);
437
+
438
+ /** @internal */
439
+ const DefaultChunkSize = 4096;
440
+
441
+ /** @internal */
442
+ const acquireRelease = (acquire, release) => scoped(Effect_dist_effectEffect.acquireRelease(acquire, release));
443
+
444
+ /** @internal */
445
+ const aggregate = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, sink) => aggregateWithin(self, sink, Schedule_dist_effectSchedule.forever));
446
+
447
+ /** @internal */
448
+ const aggregateWithin = /*#__PURE__*/Function_dist_effectFunction.dual(3, (self, sink, schedule) => filterMap(aggregateWithinEither(self, sink, schedule), _ => Either_dist_effectEither.match(_, {
449
+ onLeft: Option_dist_effectOption.none,
450
+ onRight: Option_dist_effectOption.some
451
+ })));
452
+
453
+ /** @internal */
454
+ const aggregateWithinEither = /*#__PURE__*/Function_dist_effectFunction.dual(3, (self, sink$1, schedule) => {
455
+ const layer = Effect_dist_effectEffect.all([make$1(), Ref_dist_effectRef.make(ScheduleEnd), Ref_dist_effectRef.make(Chunk_dist_effectChunk.empty()), Schedule_dist_effectSchedule.driver(schedule), Ref_dist_effectRef.make(false), Ref_dist_effectRef.make(false)]);
456
+ return Function_dist_effectFunction.pipe(fromEffect(layer), flatMap(([handoff, sinkEndReason, sinkLeftovers, scheduleDriver, consumed, endAfterEmit]) => {
457
+ const handoffProducer = sink.readWithCause({
458
+ onInput: input => sink.flatMap(sink.fromEffect(Function_dist_effectFunction.pipe(handoff, offer(emit(input)), Effect_dist_effectEffect.when(() => Chunk_dist_effectChunk.isNonEmpty(input)))), () => handoffProducer),
459
+ onFailure: cause => sink.fromEffect(offer(handoff, halt(cause))),
460
+ onDone: () => sink.fromEffect(offer(handoff, end$1(UpstreamEnd)))
461
+ });
462
+ const handoffConsumer = Function_dist_effectFunction.pipe(Ref_dist_effectRef.getAndSet(sinkLeftovers, Chunk_dist_effectChunk.empty()), Effect_dist_effectEffect.flatMap(leftovers => {
463
+ if (Chunk_dist_effectChunk.isNonEmpty(leftovers)) {
464
+ return Function_dist_effectFunction.pipe(Ref_dist_effectRef.set(consumed, true), Effect_dist_effectEffect.zipRight(Effect_dist_effectEffect.succeed(Function_dist_effectFunction.pipe(sink.write(leftovers), sink.flatMap(() => handoffConsumer)))));
465
+ }
466
+ return Function_dist_effectFunction.pipe(take$1(handoff), Effect_dist_effectEffect.map(signal => {
467
+ switch (signal._tag) {
468
+ case OP_EMIT:
469
+ {
470
+ return Function_dist_effectFunction.pipe(sink.fromEffect(Ref_dist_effectRef.set(consumed, true)), sink.zipRight(sink.write(signal.elements)), sink.zipRight(sink.fromEffect(Ref_dist_effectRef.get(endAfterEmit))), sink.flatMap(bool => bool ? sink.unit : handoffConsumer));
471
+ }
472
+ case OP_HALT:
473
+ {
474
+ return sink.failCause(signal.cause);
475
+ }
476
+ case OP_END:
477
+ {
478
+ if (signal.reason._tag === OP_SCHEDULE_END) {
479
+ return Function_dist_effectFunction.pipe(Ref_dist_effectRef.get(consumed), Effect_dist_effectEffect.map(bool => bool ? sink.fromEffect(Function_dist_effectFunction.pipe(Ref_dist_effectRef.set(sinkEndReason, ScheduleEnd), Effect_dist_effectEffect.zipRight(Ref_dist_effectRef.set(endAfterEmit, true)))) : Function_dist_effectFunction.pipe(sink.fromEffect(Function_dist_effectFunction.pipe(Ref_dist_effectRef.set(sinkEndReason, ScheduleEnd), Effect_dist_effectEffect.zipRight(Ref_dist_effectRef.set(endAfterEmit, true)))), sink.flatMap(() => handoffConsumer))), sink.unwrap);
480
+ }
481
+ return Function_dist_effectFunction.pipe(Ref_dist_effectRef.set(sinkEndReason, signal.reason), Effect_dist_effectEffect.zipRight(Ref_dist_effectRef.set(endAfterEmit, true)), sink.fromEffect);
482
+ }
483
+ }
484
+ }));
485
+ }), sink.unwrap);
486
+ const timeout = lastB => scheduleDriver.next(lastB);
487
+ const scheduledAggregator = (sinkFiber, scheduleFiber, scope) => {
488
+ const forkSink = Function_dist_effectFunction.pipe(Ref_dist_effectRef.set(consumed, false), Effect_dist_effectEffect.zipRight(Ref_dist_effectRef.set(endAfterEmit, false)), Effect_dist_effectEffect.zipRight(Function_dist_effectFunction.pipe(handoffConsumer, sink.pipeToOrFail(sink.toChannel(sink$1)), sink.collectElements, sink.run, Effect_dist_effectEffect.forkIn(scope))));
489
+ const handleSide = (leftovers, b, c) => Function_dist_effectFunction.pipe(Ref_dist_effectRef.set(sinkLeftovers, Chunk_dist_effectChunk.flatten(leftovers)), Effect_dist_effectEffect.zipRight(Effect_dist_effectEffect.map(Ref_dist_effectRef.get(sinkEndReason), reason => {
490
+ switch (reason._tag) {
491
+ case OP_SCHEDULE_END:
492
+ {
493
+ return Function_dist_effectFunction.pipe(Effect_dist_effectEffect.all([Ref_dist_effectRef.get(consumed), forkSink, Function_dist_effectFunction.pipe(timeout(Option_dist_effectOption.some(b)), Effect_dist_effectEffect.forkIn(scope))]), Effect_dist_effectEffect.map(([wasConsumed, sinkFiber, scheduleFiber]) => {
494
+ const toWrite = Function_dist_effectFunction.pipe(c, Option_dist_effectOption.match({
495
+ onNone: () => Chunk_dist_effectChunk.of(Either_dist_effectEither.right(b)),
496
+ onSome: c => Chunk_dist_effectChunk.make(Either_dist_effectEither.right(b), Either_dist_effectEither.left(c))
497
+ }));
498
+ if (wasConsumed) {
499
+ return Function_dist_effectFunction.pipe(sink.write(toWrite), sink.flatMap(() => scheduledAggregator(sinkFiber, scheduleFiber, scope)));
500
+ }
501
+ return scheduledAggregator(sinkFiber, scheduleFiber, scope);
502
+ }), sink.unwrap);
503
+ }
504
+ case OP_UPSTREAM_END:
505
+ {
506
+ return Function_dist_effectFunction.pipe(Ref_dist_effectRef.get(consumed), Effect_dist_effectEffect.map(wasConsumed => wasConsumed ? sink.write(Chunk_dist_effectChunk.of(Either_dist_effectEither.right(b))) : sink.unit), sink.unwrap);
507
+ }
508
+ }
509
+ })), sink.unwrap);
510
+ return sink.unwrap(Effect_dist_effectEffect.raceWith(Fiber_dist_effectFiber.join(sinkFiber), Fiber_dist_effectFiber.join(scheduleFiber), {
511
+ onSelfDone: (sinkExit, _) => Function_dist_effectFunction.pipe(Fiber_dist_effectFiber.interrupt(scheduleFiber), Effect_dist_effectEffect.zipRight(Function_dist_effectFunction.pipe(Effect_dist_effectEffect.suspend(() => sinkExit), Effect_dist_effectEffect.map(([leftovers, b]) => handleSide(leftovers, b, Option_dist_effectOption.none()))))),
512
+ onOtherDone: (scheduleExit, _) => Effect_dist_effectEffect.matchCauseEffect(Effect_dist_effectEffect.suspend(() => scheduleExit), {
513
+ onFailure: cause => Either_dist_effectEither.match(Cause_dist_effectCause.failureOrCause(cause), {
514
+ onLeft: () => Function_dist_effectFunction.pipe(handoff, offer(end$1(ScheduleEnd)), Effect_dist_effectEffect.forkDaemon, Effect_dist_effectEffect.zipRight(Function_dist_effectFunction.pipe(Fiber_dist_effectFiber.join(sinkFiber), Effect_dist_effectEffect.map(([leftovers, b]) => handleSide(leftovers, b, Option_dist_effectOption.none()))))),
515
+ onRight: cause => Function_dist_effectFunction.pipe(handoff, offer(halt(cause)), Effect_dist_effectEffect.forkDaemon, Effect_dist_effectEffect.zipRight(Function_dist_effectFunction.pipe(Fiber_dist_effectFiber.join(sinkFiber), Effect_dist_effectEffect.map(([leftovers, b]) => handleSide(leftovers, b, Option_dist_effectOption.none())))))
516
+ }),
517
+ onSuccess: c => Function_dist_effectFunction.pipe(handoff, offer(end$1(ScheduleEnd)), Effect_dist_effectEffect.forkDaemon, Effect_dist_effectEffect.zipRight(Function_dist_effectFunction.pipe(Fiber_dist_effectFiber.join(sinkFiber), Effect_dist_effectEffect.map(([leftovers, b]) => handleSide(leftovers, b, Option_dist_effectOption.some(c))))))
518
+ })
519
+ }));
520
+ };
521
+ return unwrapScoped(Function_dist_effectFunction.pipe(self, toChannel, sink.pipeTo(handoffProducer), sink.run, Effect_dist_effectEffect.forkScoped, Effect_dist_effectEffect.zipRight(Function_dist_effectFunction.pipe(handoffConsumer, sink.pipeToOrFail(sink.toChannel(sink$1)), sink.collectElements, sink.run, Effect_dist_effectEffect.forkScoped, Effect_dist_effectEffect.flatMap(sinkFiber => Function_dist_effectFunction.pipe(Effect_dist_effectEffect.forkScoped(timeout(Option_dist_effectOption.none())), Effect_dist_effectEffect.flatMap(scheduleFiber => Function_dist_effectFunction.pipe(Effect_dist_effectEffect.scope, Effect_dist_effectEffect.map(scope => new StreamImpl(scheduledAggregator(sinkFiber, scheduleFiber, scope)))))))))));
522
+ }));
523
+ });
524
+
525
+ /** @internal */
526
+ const as = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, value) => map(self, () => value));
527
+
528
+ /** @internal */
529
+ const _async = (register, outputBuffer = 16) => asyncOption(cb => {
530
+ register(cb);
531
+ return Option_dist_effectOption.none();
532
+ }, outputBuffer);
533
+
534
+ /** @internal */
535
+ const asyncEffect = (register, outputBuffer = 16) => Function_dist_effectFunction.pipe(Effect_dist_effectEffect.acquireRelease(Queue_dist_effectQueue.bounded(outputBuffer), queue => Queue_dist_effectQueue.shutdown(queue)), Effect_dist_effectEffect.flatMap(output => Function_dist_effectFunction.pipe(Effect_dist_effectEffect.runtime(), Effect_dist_effectEffect.flatMap(runtime => Function_dist_effectFunction.pipe(register(make$2(k => Function_dist_effectFunction.pipe(take$2.fromPull(k), Effect_dist_effectEffect.flatMap(take => Queue_dist_effectQueue.offer(output, take)), Effect_dist_effectEffect.asUnit, Runtime_dist_effectRuntime.runPromiseExit(runtime)).then(exit => {
536
+ if (Exit_dist_effectExit.isFailure(exit)) {
537
+ if (!Cause_dist_effectCause.isInterrupted(exit.cause)) {
538
+ throw Cause_dist_effectCause.squash(exit.cause);
539
+ }
540
+ }
541
+ }))), Effect_dist_effectEffect.map(() => {
542
+ const loop = Function_dist_effectFunction.pipe(Queue_dist_effectQueue.take(output), Effect_dist_effectEffect.flatMap(take$2.done), Effect_dist_effectEffect.match({
543
+ onFailure: maybeError => Function_dist_effectFunction.pipe(sink.fromEffect(Queue_dist_effectQueue.shutdown(output)), sink.zipRight(Option_dist_effectOption.match(maybeError, {
544
+ onNone: () => sink.unit,
545
+ onSome: sink.fail
546
+ }))),
547
+ onSuccess: chunk => Function_dist_effectFunction.pipe(sink.write(chunk), sink.flatMap(() => loop))
548
+ }), sink.unwrap);
549
+ return loop;
550
+ }))))), sink.unwrapScoped, fromChannel);
551
+
552
+ /** @internal */
553
+ const asyncInterrupt = (register, outputBuffer = 16) => Function_dist_effectFunction.pipe(Effect_dist_effectEffect.acquireRelease(Queue_dist_effectQueue.bounded(outputBuffer), queue => Queue_dist_effectQueue.shutdown(queue)), Effect_dist_effectEffect.flatMap(output => Function_dist_effectFunction.pipe(Effect_dist_effectEffect.runtime(), Effect_dist_effectEffect.flatMap(runtime => Function_dist_effectFunction.pipe(Effect_dist_effectEffect.sync(() => register(make$2(k => Function_dist_effectFunction.pipe(take$2.fromPull(k), Effect_dist_effectEffect.flatMap(take => Queue_dist_effectQueue.offer(output, take)), Effect_dist_effectEffect.asUnit, Runtime_dist_effectRuntime.runPromiseExit(runtime)).then(exit => {
554
+ if (Exit_dist_effectExit.isFailure(exit)) {
555
+ if (!Cause_dist_effectCause.isInterrupted(exit.cause)) {
556
+ throw Cause_dist_effectCause.squash(exit.cause);
557
+ }
558
+ }
559
+ })))), Effect_dist_effectEffect.map(Either_dist_effectEither.match({
560
+ onLeft: canceler => {
561
+ const loop = Function_dist_effectFunction.pipe(Queue_dist_effectQueue.take(output), Effect_dist_effectEffect.flatMap(take$2.done), Effect_dist_effectEffect.match({
562
+ onFailure: maybeError => sink.zipRight(sink.fromEffect(Queue_dist_effectQueue.shutdown(output)), Option_dist_effectOption.match(maybeError, {
563
+ onNone: () => sink.unit,
564
+ onSome: sink.fail
565
+ })),
566
+ onSuccess: chunk => Function_dist_effectFunction.pipe(sink.write(chunk), sink.flatMap(() => loop))
567
+ }), sink.unwrap);
568
+ return Function_dist_effectFunction.pipe(fromChannel(loop), ensuring(canceler));
569
+ },
570
+ onRight: stream => unwrap(Function_dist_effectFunction.pipe(Queue_dist_effectQueue.shutdown(output), Effect_dist_effectEffect.as(stream)))
571
+ })))))), unwrapScoped);
572
+
573
+ /** @internal */
574
+ const asyncOption = (register, outputBuffer = 16) => asyncInterrupt(emit => Option_dist_effectOption.match(register(emit), {
575
+ onNone: () => Either_dist_effectEither.left(Effect_dist_effectEffect.unit),
576
+ onSome: Either_dist_effectEither.right
577
+ }), outputBuffer);
578
+
579
+ /** @internal */
580
+ const asyncScoped = (register, outputBuffer = 16) => Function_dist_effectFunction.pipe(Effect_dist_effectEffect.acquireRelease(Queue_dist_effectQueue.bounded(outputBuffer), queue => Queue_dist_effectQueue.shutdown(queue)), Effect_dist_effectEffect.flatMap(output => Function_dist_effectFunction.pipe(Effect_dist_effectEffect.runtime(), Effect_dist_effectEffect.flatMap(runtime => Function_dist_effectFunction.pipe(register(make$2(k => Function_dist_effectFunction.pipe(take$2.fromPull(k), Effect_dist_effectEffect.flatMap(take => Queue_dist_effectQueue.offer(output, take)), Effect_dist_effectEffect.asUnit, Runtime_dist_effectRuntime.runPromiseExit(runtime)).then(exit => {
581
+ if (Exit_dist_effectExit.isFailure(exit)) {
582
+ if (!Cause_dist_effectCause.isInterrupted(exit.cause)) {
583
+ throw Cause_dist_effectCause.squash(exit.cause);
584
+ }
585
+ }
586
+ }))), Effect_dist_effectEffect.zipRight(Ref_dist_effectRef.make(false)), Effect_dist_effectEffect.flatMap(ref => Function_dist_effectFunction.pipe(Ref_dist_effectRef.get(ref), Effect_dist_effectEffect.map(isDone => isDone ? end() : Function_dist_effectFunction.pipe(Queue_dist_effectQueue.take(output), Effect_dist_effectEffect.flatMap(take$2.done), Effect_dist_effectEffect.onError(() => Function_dist_effectFunction.pipe(Ref_dist_effectRef.set(ref, true), Effect_dist_effectEffect.zipRight(Queue_dist_effectQueue.shutdown(output)))))))))))), scoped, flatMap(repeatEffectChunkOption));
587
+
588
+ /** @internal */
589
+ const branchAfter = /*#__PURE__*/Function_dist_effectFunction.dual(3, (self, n, f) => suspend(() => {
590
+ const buffering = acc => sink.readWith({
591
+ onInput: input => {
592
+ const nextSize = acc.length + input.length;
593
+ if (nextSize >= n) {
594
+ const [b1, b2] = Function_dist_effectFunction.pipe(input, Chunk_dist_effectChunk.splitAt(n - acc.length));
595
+ return running(Function_dist_effectFunction.pipe(acc, Chunk_dist_effectChunk.appendAll(b1)), b2);
596
+ }
597
+ return buffering(Function_dist_effectFunction.pipe(acc, Chunk_dist_effectChunk.appendAll(input)));
598
+ },
599
+ onFailure: sink.fail,
600
+ onDone: () => running(acc, Chunk_dist_effectChunk.empty())
601
+ });
602
+ const running = (prefix, leftover) => sink.pipeTo(sink.zipRight(sink.write(leftover), sink.identityChannel()), toChannel(f(prefix)));
603
+ return new StreamImpl(Function_dist_effectFunction.pipe(toChannel(self), sink.pipeToOrFail(buffering(Chunk_dist_effectChunk.empty()))));
604
+ }));
605
+
606
+ /** @internal */
607
+ const broadcast = /*#__PURE__*/Function_dist_effectFunction.dual(3, (self, n, maximumLag) => Function_dist_effectFunction.pipe(self, broadcastedQueues(n, maximumLag), Effect_dist_effectEffect.map(tuple => tuple.map(queue => flattenTake(fromQueue(queue, {
608
+ shutdown: true
609
+ }))))));
610
+
611
+ /** @internal */
612
+ const broadcastDynamic = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, maximumLag) => Function_dist_effectFunction.pipe(self, broadcastedQueuesDynamic(maximumLag), Effect_dist_effectEffect.map(effect => flattenTake(flatMap(scoped(effect), fromQueue)))));
613
+
614
+ /** @internal */
615
+ const broadcastedQueues = /*#__PURE__*/Function_dist_effectFunction.dual(3, (self, n, maximumLag) => Effect_dist_effectEffect.flatMap(Hub_dist_effectHub.bounded(maximumLag), hub => Function_dist_effectFunction.pipe(Effect_dist_effectEffect.all(Array.from({
616
+ length: n
617
+ }, () => Hub_dist_effectHub.subscribe(hub))), Effect_dist_effectEffect.tap(() => Effect_dist_effectEffect.forkScoped(runIntoHubScoped(self, hub))))));
618
+
619
+ /** @internal */
620
+ const broadcastedQueuesDynamic = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, maximumLag) => Effect_dist_effectEffect.map(toHub(self, maximumLag), Hub_dist_effectHub.subscribe));
621
+
622
+ /** @internal */
623
+ const buffer = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, options) => {
624
+ if (options.capacity === "unbounded") {
625
+ return bufferUnbounded(self);
626
+ } else if (options.strategy === "dropping") {
627
+ return bufferDropping(self, options.capacity);
628
+ } else if (options.strategy === "sliding") {
629
+ return bufferSliding(self, options.capacity);
630
+ }
631
+ const queue = toQueueOfElements(self, options);
632
+ return new StreamImpl(sink.unwrapScoped(Effect_dist_effectEffect.map(queue, queue => {
633
+ const process = Function_dist_effectFunction.pipe(sink.fromEffect(Queue_dist_effectQueue.take(queue)), sink.flatMap(Exit_dist_effectExit.match({
634
+ onFailure: cause => Function_dist_effectFunction.pipe(Cause_dist_effectCause.flipCauseOption(cause), Option_dist_effectOption.match({
635
+ onNone: () => sink.unit,
636
+ onSome: sink.failCause
637
+ })),
638
+ onSuccess: value => sink.flatMap(sink.write(Chunk_dist_effectChunk.of(value)), () => process)
639
+ })));
640
+ return process;
641
+ })));
642
+ });
643
+
644
+ /** @internal */
645
+ const bufferChunks = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, options) => {
646
+ if (options.strategy === "dropping") {
647
+ return bufferChunksDropping(self, options.capacity);
648
+ } else if (options.strategy === "sliding") {
649
+ return bufferChunksSliding(self, options.capacity);
650
+ }
651
+ const queue = toQueue(self, options);
652
+ return new StreamImpl(sink.unwrapScoped(Effect_dist_effectEffect.map(queue, queue => {
653
+ const process = Function_dist_effectFunction.pipe(sink.fromEffect(Queue_dist_effectQueue.take(queue)), sink.flatMap(take$2.match({
654
+ onEnd: () => sink.unit,
655
+ onFailure: sink.failCause,
656
+ onSuccess: value => Function_dist_effectFunction.pipe(sink.write(value), sink.flatMap(() => process))
657
+ })));
658
+ return process;
659
+ })));
660
+ });
661
+ const bufferChunksDropping = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, capacity) => {
662
+ const queue = Effect_dist_effectEffect.acquireRelease(Queue_dist_effectQueue.dropping(capacity), queue => Queue_dist_effectQueue.shutdown(queue));
663
+ return new StreamImpl(bufferSignal(queue, toChannel(self)));
664
+ });
665
+ const bufferChunksSliding = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, capacity) => {
666
+ const queue = Effect_dist_effectEffect.acquireRelease(Queue_dist_effectQueue.sliding(capacity), queue => Queue_dist_effectQueue.shutdown(queue));
667
+ return new StreamImpl(bufferSignal(queue, toChannel(self)));
668
+ });
669
+ const bufferDropping = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, capacity) => {
670
+ const queue = Effect_dist_effectEffect.acquireRelease(Queue_dist_effectQueue.dropping(capacity), queue => Queue_dist_effectQueue.shutdown(queue));
671
+ return new StreamImpl(bufferSignal(queue, toChannel(rechunk(1)(self))));
672
+ });
673
+ const bufferSliding = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, capacity) => {
674
+ const queue = Effect_dist_effectEffect.acquireRelease(Queue_dist_effectQueue.sliding(capacity), queue => Queue_dist_effectQueue.shutdown(queue));
675
+ return new StreamImpl(bufferSignal(queue, toChannel(Function_dist_effectFunction.pipe(self, rechunk(1)))));
676
+ });
677
+ const bufferUnbounded = self => {
678
+ const queue = toQueue(self, {
679
+ strategy: "unbounded"
680
+ });
681
+ return new StreamImpl(sink.unwrapScoped(Effect_dist_effectEffect.map(queue, queue => {
682
+ const process = Function_dist_effectFunction.pipe(sink.fromEffect(Queue_dist_effectQueue.take(queue)), sink.flatMap(take$2.match({
683
+ onEnd: () => sink.unit,
684
+ onFailure: sink.failCause,
685
+ onSuccess: value => sink.flatMap(sink.write(value), () => process)
686
+ })));
687
+ return process;
688
+ })));
689
+ };
690
+
691
+ /** @internal */
692
+ const bufferSignal = (scoped, bufferChannel) => {
693
+ const producer = (queue, ref) => {
694
+ const terminate = take => Function_dist_effectFunction.pipe(Ref_dist_effectRef.get(ref), Effect_dist_effectEffect.tap(Deferred_dist_effectDeferred._await), Effect_dist_effectEffect.zipRight(Deferred_dist_effectDeferred.make()), Effect_dist_effectEffect.flatMap(deferred => Function_dist_effectFunction.pipe(Queue_dist_effectQueue.offer(queue, [take, deferred]), Effect_dist_effectEffect.zipRight(Ref_dist_effectRef.set(ref, deferred)), Effect_dist_effectEffect.zipRight(Deferred_dist_effectDeferred._await(deferred)))), Effect_dist_effectEffect.asUnit, sink.fromEffect);
695
+ return sink.readWithCause({
696
+ onInput: input => Function_dist_effectFunction.pipe(Deferred_dist_effectDeferred.make(), Effect_dist_effectEffect.flatMap(deferred => Function_dist_effectFunction.pipe(Queue_dist_effectQueue.offer(queue, [take$2.chunk(input), deferred]), Effect_dist_effectEffect.flatMap(added => Function_dist_effectFunction.pipe(Ref_dist_effectRef.set(ref, deferred), Effect_dist_effectEffect.when(() => added))))), Effect_dist_effectEffect.asUnit, sink.fromEffect, sink.flatMap(() => producer(queue, ref))),
697
+ onFailure: error => terminate(take$2.failCause(error)),
698
+ onDone: () => terminate(take$2.end)
699
+ });
700
+ };
701
+ const consumer = queue => {
702
+ const process = Function_dist_effectFunction.pipe(sink.fromEffect(Queue_dist_effectQueue.take(queue)), sink.flatMap(([take, deferred]) => sink.zipRight(sink.fromEffect(Deferred_dist_effectDeferred.succeed(deferred, void 0)), take$2.match(take, {
703
+ onEnd: () => sink.unit,
704
+ onFailure: sink.failCause,
705
+ onSuccess: value => Function_dist_effectFunction.pipe(sink.write(value), sink.flatMap(() => process))
706
+ }))));
707
+ return process;
708
+ };
709
+ return sink.unwrapScoped(Function_dist_effectFunction.pipe(scoped, Effect_dist_effectEffect.flatMap(queue => Function_dist_effectFunction.pipe(Deferred_dist_effectDeferred.make(), Effect_dist_effectEffect.tap(start => Deferred_dist_effectDeferred.succeed(start, void 0)), Effect_dist_effectEffect.flatMap(start => Function_dist_effectFunction.pipe(Ref_dist_effectRef.make(start), Effect_dist_effectEffect.flatMap(ref => Function_dist_effectFunction.pipe(bufferChannel, sink.pipeTo(producer(queue, ref)), sink.runScoped, Effect_dist_effectEffect.forkScoped)), Effect_dist_effectEffect.as(consumer(queue))))))));
710
+ };
711
+
712
+ /** @internal */
713
+ const catchAll = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, f) => catchAllCause(self, cause => Either_dist_effectEither.match(Cause_dist_effectCause.failureOrCause(cause), {
714
+ onLeft: f,
715
+ onRight: failCause
716
+ })));
717
+
718
+ /** @internal */
719
+ const catchAllCause = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, f) => new StreamImpl(Function_dist_effectFunction.pipe(toChannel(self), sink.catchAllCause(cause => toChannel(f(cause))))));
720
+
721
+ /** @internal */
722
+ const catchSome = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, pf) => Function_dist_effectFunction.pipe(self, catchAll(error => Function_dist_effectFunction.pipe(pf(error), Option_dist_effectOption.getOrElse(() => fail(error))))));
723
+
724
+ /** @internal */
725
+ const catchSomeCause = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, pf) => Function_dist_effectFunction.pipe(self, catchAllCause(cause => Function_dist_effectFunction.pipe(pf(cause), Option_dist_effectOption.getOrElse(() => failCause(cause))))));
726
+
727
+ /* @internal */
728
+ const catchTag = /*#__PURE__*/Function_dist_effectFunction.dual(3, (self, k, f) => catchAll(self, e => {
729
+ if ("_tag" in e && e["_tag"] === k) {
730
+ return f(e);
731
+ }
732
+ return fail(e);
733
+ }));
734
+
735
+ /** @internal */
736
+ const catchTags = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, cases) => catchAll(self, e => {
737
+ const keys = Object.keys(cases);
738
+ if ("_tag" in e && keys.includes(e["_tag"])) {
739
+ return cases[e["_tag"]](e);
740
+ }
741
+ return fail(e);
742
+ }));
743
+
744
+ /** @internal */
745
+ const changes = self => Function_dist_effectFunction.pipe(self, changesWith((x, y) => Equal_dist_effectEqual.equals(y)(x)));
746
+
747
+ /** @internal */
748
+ const changesWith = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, f) => {
749
+ const writer = last => sink.readWithCause({
750
+ onInput: input => {
751
+ const [newLast, newChunk] = Chunk_dist_effectChunk.reduce(input, [last, Chunk_dist_effectChunk.empty()], ([option, outputs], output) => {
752
+ if (Option_dist_effectOption.isSome(option) && f(option.value, output)) {
753
+ return [Option_dist_effectOption.some(output), outputs];
754
+ }
755
+ return [Option_dist_effectOption.some(output), Function_dist_effectFunction.pipe(outputs, Chunk_dist_effectChunk.append(output))];
756
+ });
757
+ return sink.flatMap(sink.write(newChunk), () => writer(newLast));
758
+ },
759
+ onFailure: sink.failCause,
760
+ onDone: () => sink.unit
761
+ });
762
+ return new StreamImpl(Function_dist_effectFunction.pipe(toChannel(self), sink.pipeTo(writer(Option_dist_effectOption.none()))));
763
+ });
764
+
765
+ /** @internal */
766
+ const changesWithEffect = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, f) => {
767
+ const writer = last => sink.readWithCause({
768
+ onInput: input => Function_dist_effectFunction.pipe(input, Effect_dist_effectEffect.reduce([last, Chunk_dist_effectChunk.empty()], ([option, outputs], output) => {
769
+ if (Option_dist_effectOption.isSome(option)) {
770
+ return Function_dist_effectFunction.pipe(f(option.value, output), Effect_dist_effectEffect.map(bool => bool ? [Option_dist_effectOption.some(output), outputs] : [Option_dist_effectOption.some(output), Function_dist_effectFunction.pipe(outputs, Chunk_dist_effectChunk.append(output))]));
771
+ }
772
+ return Effect_dist_effectEffect.succeed([Option_dist_effectOption.some(output), Function_dist_effectFunction.pipe(outputs, Chunk_dist_effectChunk.append(output))]);
773
+ }), sink.fromEffect, sink.flatMap(([newLast, newChunk]) => Function_dist_effectFunction.pipe(sink.write(newChunk), sink.flatMap(() => writer(newLast))))),
774
+ onFailure: sink.failCause,
775
+ onDone: () => sink.unit
776
+ });
777
+ return new StreamImpl(Function_dist_effectFunction.pipe(toChannel(self), sink.pipeTo(writer(Option_dist_effectOption.none()))));
778
+ });
779
+
780
+ /** @internal */
781
+ const chunks = self => Function_dist_effectFunction.pipe(self, mapChunks(Chunk_dist_effectChunk.of));
782
+
783
+ /** @internal */
784
+ const chunksWith = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, f) => flattenChunks(f(chunks(self))));
785
+ const unsome = effect => Effect_dist_effectEffect.catchAll(Effect_dist_effectEffect.asSome(effect), o => o._tag === "None" ? Effect_dist_effectEffect.succeedNone : Effect_dist_effectEffect.fail(o.value));
786
+
787
+ /** @internal */
788
+ const combine = /*#__PURE__*/Function_dist_effectFunction.dual(4, (self, that, s, f) => {
789
+ const producer = (handoff, latch) => Function_dist_effectFunction.pipe(sink.fromEffect(take$1(latch)), sink.zipRight(sink.readWithCause({
790
+ onInput: input => sink.flatMap(sink.fromEffect(Function_dist_effectFunction.pipe(handoff, offer(Exit_dist_effectExit.succeed(input)))), () => producer(handoff, latch)),
791
+ onFailure: cause => sink.fromEffect(offer(handoff, Exit_dist_effectExit.failCause(Function_dist_effectFunction.pipe(cause, Cause_dist_effectCause.map(Option_dist_effectOption.some))))),
792
+ onDone: () => sink.flatMap(sink.fromEffect(offer(handoff, Exit_dist_effectExit.fail(Option_dist_effectOption.none()))), () => producer(handoff, latch))
793
+ })));
794
+ return new StreamImpl(sink.unwrapScoped(Effect_dist_effectEffect.gen(function* ($) {
795
+ const left = yield* $(make$1());
796
+ const right = yield* $(make$1());
797
+ const latchL = yield* $(make$1());
798
+ const latchR = yield* $(make$1());
799
+ yield* $(toChannel(self), sink.concatMap(sink.writeChunk), sink.pipeTo(producer(left, latchL)), sink.runScoped, Effect_dist_effectEffect.forkScoped);
800
+ yield* $(toChannel(that), sink.concatMap(sink.writeChunk), sink.pipeTo(producer(right, latchR)), sink.runScoped, Effect_dist_effectEffect.forkScoped);
801
+ const pullLeft = Function_dist_effectFunction.pipe(latchL, offer(void 0),
802
+ // TODO: remove
803
+ Effect_dist_effectEffect.zipRight(Function_dist_effectFunction.pipe(take$1(left), Effect_dist_effectEffect.flatMap(exit => Effect_dist_effectEffect.suspend(() => exit)))));
804
+ const pullRight = Function_dist_effectFunction.pipe(latchR, offer(void 0),
805
+ // TODO: remove
806
+ Effect_dist_effectEffect.zipRight(Function_dist_effectFunction.pipe(take$1(right), Effect_dist_effectEffect.flatMap(exit => Effect_dist_effectEffect.suspend(() => exit)))));
807
+ return toChannel(unfoldEffect(s, s => Effect_dist_effectEffect.flatMap(f(s, pullLeft, pullRight), unsome)));
808
+ })));
809
+ });
810
+
811
+ /** @internal */
812
+ const combineChunks = /*#__PURE__*/Function_dist_effectFunction.dual(4, (self, that, s, f) => {
813
+ const producer = (handoff, latch) => sink.zipRight(sink.fromEffect(take$1(latch)), sink.readWithCause({
814
+ onInput: input => sink.flatMap(sink.fromEffect(Function_dist_effectFunction.pipe(handoff, offer(take$2.chunk(input)))), () => producer(handoff, latch)),
815
+ onFailure: cause => sink.fromEffect(offer(handoff, take$2.failCause(cause))),
816
+ onDone: () => sink.fromEffect(offer(handoff, take$2.end))
817
+ }));
818
+ return new StreamImpl(Function_dist_effectFunction.pipe(Effect_dist_effectEffect.all([make$1(), make$1(), make$1(), make$1()]), Effect_dist_effectEffect.tap(([left, _, latchL]) => Function_dist_effectFunction.pipe(toChannel(self), sink.pipeTo(producer(left, latchL)), sink.runScoped, Effect_dist_effectEffect.forkScoped)), Effect_dist_effectEffect.tap(([_, right, __, latchR]) => Function_dist_effectFunction.pipe(toChannel(that), sink.pipeTo(producer(right, latchR)), sink.runScoped, Effect_dist_effectEffect.forkScoped)), Effect_dist_effectEffect.map(([left, right, latchL, latchR]) => {
819
+ const pullLeft = Function_dist_effectFunction.pipe(latchL, offer(void 0), Effect_dist_effectEffect.zipRight(Function_dist_effectFunction.pipe(take$1(left), Effect_dist_effectEffect.flatMap(take$2.done))));
820
+ const pullRight = Function_dist_effectFunction.pipe(latchR, offer(void 0), Effect_dist_effectEffect.zipRight(Function_dist_effectFunction.pipe(take$1(right), Effect_dist_effectEffect.flatMap(take$2.done))));
821
+ return toChannel(unfoldChunkEffect(s, s => Effect_dist_effectEffect.flatMap(f(s, pullLeft, pullRight), unsome)));
822
+ }), sink.unwrapScoped));
823
+ });
824
+
825
+ /** @internal */
826
+ const concat = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, that) => new StreamImpl(Function_dist_effectFunction.pipe(toChannel(self), sink.zipRight(toChannel(that)))));
827
+
828
+ /** @internal */
829
+ const concatAll = streams => suspend(() => Function_dist_effectFunction.pipe(streams, Chunk_dist_effectChunk.reduce(empty, (x, y) => concat(y)(x))));
830
+
831
+ /** @internal */
832
+ const cross = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, that) => Function_dist_effectFunction.pipe(self, crossWith(that, (a, a2) => [a, a2])));
833
+
834
+ /** @internal */
835
+ const crossLeft = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, that) => Function_dist_effectFunction.pipe(self, crossWith(that, (a, _) => a)));
836
+
837
+ /** @internal */
838
+ const crossRight = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, that) => flatMap(self, () => that));
839
+
840
+ /** @internal */
841
+ const crossWith = /*#__PURE__*/Function_dist_effectFunction.dual(3, (self, that, f) => Function_dist_effectFunction.pipe(self, flatMap(a => Function_dist_effectFunction.pipe(that, map(b => f(a, b))))));
842
+
843
+ /** @internal */
844
+ const debounce = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, duration) => Function_dist_effectFunction.pipe(singleProducerAsyncInput.make(), Effect_dist_effectEffect.flatMap(input => Effect_dist_effectEffect.transplant(grafter => Function_dist_effectFunction.pipe(make$1(), Effect_dist_effectEffect.map(handoff => {
845
+ const enqueue = last => Function_dist_effectFunction.pipe(Clock_dist_effectClock.sleep(duration), Effect_dist_effectEffect.as(last), Effect_dist_effectEffect.fork, grafter, Effect_dist_effectEffect.map(fiber => consumer(previous(fiber))));
846
+ const producer = sink.readWithCause({
847
+ onInput: input => Option_dist_effectOption.match(Chunk_dist_effectChunk.last(input), {
848
+ onNone: () => producer,
849
+ onSome: last => sink.flatMap(sink.fromEffect(offer(handoff, emit(Chunk_dist_effectChunk.of(last)))), () => producer)
850
+ }),
851
+ onFailure: cause => sink.fromEffect(offer(handoff, halt(cause))),
852
+ onDone: () => sink.fromEffect(offer(handoff, end$1(UpstreamEnd)))
853
+ });
854
+ const consumer = state => {
855
+ switch (state._tag) {
856
+ case OP_NOT_STARTED:
857
+ {
858
+ return Function_dist_effectFunction.pipe(take$1(handoff), Effect_dist_effectEffect.map(signal => {
859
+ switch (signal._tag) {
860
+ case OP_EMIT:
861
+ {
862
+ return sink.unwrap(enqueue(signal.elements));
863
+ }
864
+ case OP_HALT:
865
+ {
866
+ return sink.failCause(signal.cause);
867
+ }
868
+ case OP_END:
869
+ {
870
+ return sink.unit;
871
+ }
872
+ }
873
+ }), sink.unwrap);
874
+ }
875
+ case OP_PREVIOUS:
876
+ {
877
+ return sink.unwrap(Effect_dist_effectEffect.raceWith(Fiber_dist_effectFiber.join(state.fiber), take$1(handoff), {
878
+ onSelfDone: (leftExit, current$1) => Exit_dist_effectExit.match(leftExit, {
879
+ onFailure: cause => Function_dist_effectFunction.pipe(Fiber_dist_effectFiber.interrupt(current$1), Effect_dist_effectEffect.as(sink.failCause(cause))),
880
+ onSuccess: chunk => Effect_dist_effectEffect.succeed(Function_dist_effectFunction.pipe(sink.write(chunk), sink.flatMap(() => consumer(current(current$1)))))
881
+ }),
882
+ onOtherDone: (rightExit, previous) => Exit_dist_effectExit.match(rightExit, {
883
+ onFailure: cause => Function_dist_effectFunction.pipe(Fiber_dist_effectFiber.interrupt(previous), Effect_dist_effectEffect.as(sink.failCause(cause))),
884
+ onSuccess: signal => {
885
+ switch (signal._tag) {
886
+ case OP_EMIT:
887
+ {
888
+ return Function_dist_effectFunction.pipe(Fiber_dist_effectFiber.interrupt(previous), Effect_dist_effectEffect.zipRight(enqueue(signal.elements)));
889
+ }
890
+ case OP_HALT:
891
+ {
892
+ return Function_dist_effectFunction.pipe(Fiber_dist_effectFiber.interrupt(previous), Effect_dist_effectEffect.as(sink.failCause(signal.cause)));
893
+ }
894
+ case OP_END:
895
+ {
896
+ return Function_dist_effectFunction.pipe(Fiber_dist_effectFiber.join(previous), Effect_dist_effectEffect.map(chunk => Function_dist_effectFunction.pipe(sink.write(chunk), sink.zipRight(sink.unit))));
897
+ }
898
+ }
899
+ }
900
+ })
901
+ }));
902
+ }
903
+ case OP_CURRENT:
904
+ {
905
+ return Function_dist_effectFunction.pipe(Fiber_dist_effectFiber.join(state.fiber), Effect_dist_effectEffect.map(signal => {
906
+ switch (signal._tag) {
907
+ case OP_EMIT:
908
+ {
909
+ return sink.unwrap(enqueue(signal.elements));
910
+ }
911
+ case OP_HALT:
912
+ {
913
+ return sink.failCause(signal.cause);
914
+ }
915
+ case OP_END:
916
+ {
917
+ return sink.unit;
918
+ }
919
+ }
920
+ }), sink.unwrap);
921
+ }
922
+ }
923
+ };
924
+ const debounceChannel = Function_dist_effectFunction.pipe(sink.fromInput(input), sink.pipeTo(producer), sink.run, Effect_dist_effectEffect.forkScoped, Effect_dist_effectEffect.as(Function_dist_effectFunction.pipe(consumer(notStarted), sink.embedInput(input))), sink.unwrapScoped);
925
+ return new StreamImpl(Function_dist_effectFunction.pipe(toChannel(self), sink.pipeTo(debounceChannel)));
926
+ })))), unwrap));
927
+
928
+ /** @internal */
929
+ const die = defect => fromEffect(Effect_dist_effectEffect.die(defect));
930
+
931
+ /** @internal */
932
+ const dieSync = evaluate => fromEffect(Effect_dist_effectEffect.dieSync(evaluate));
933
+
934
+ /** @internal */
935
+ const dieMessage = message => fromEffect(Effect_dist_effectEffect.dieMessage(message));
936
+
937
+ /** @internal */
938
+ const distributedWith = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, options) => Function_dist_effectFunction.pipe(Deferred_dist_effectDeferred.make(), Effect_dist_effectEffect.flatMap(deferred => Function_dist_effectFunction.pipe(self, distributedWithDynamic({
939
+ maximumLag: options.maximumLag,
940
+ decide: a => Effect_dist_effectEffect.flatMap(Deferred_dist_effectDeferred._await(deferred), f => f(a))
941
+ }), Effect_dist_effectEffect.flatMap(next => Function_dist_effectFunction.pipe(Effect_dist_effectEffect.all(Chunk_dist_effectChunk.map(Chunk_dist_effectChunk.range(0, options.size - 1), id => Effect_dist_effectEffect.map(next, ([key, queue]) => [[key, id], queue]))), Effect_dist_effectEffect.map(Chunk_dist_effectChunk.unsafeFromArray), Effect_dist_effectEffect.flatMap(entries => {
942
+ const [mappings, queues] = Chunk_dist_effectChunk.reduceRight(entries, [new Map(), Chunk_dist_effectChunk.empty()], ([mappings, queues], [mapping, queue]) => [mappings.set(mapping[0], mapping[1]), Function_dist_effectFunction.pipe(queues, Chunk_dist_effectChunk.prepend(queue))]);
943
+ return Function_dist_effectFunction.pipe(Deferred_dist_effectDeferred.succeed(deferred, a => Effect_dist_effectEffect.map(options.decide(a), f => key => Function_dist_effectFunction.pipe(f(mappings.get(key))))), Effect_dist_effectEffect.as(Array.from(queues)));
944
+ })))))));
945
+
946
+ /** @internal */
947
+ const distributedWithDynamicId = {
948
+ ref: 0
949
+ };
950
+ const newDistributedWithDynamicId = () => {
951
+ const current = distributedWithDynamicId.ref;
952
+ distributedWithDynamicId.ref = current + 1;
953
+ return current;
954
+ };
955
+
956
+ /** @internal */
957
+ const distributedWithDynamic = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, options) => distributedWithDynamicCallback(self, options.maximumLag, options.decide, () => Effect_dist_effectEffect.unit));
958
+ const distributedWithDynamicCallback = /*#__PURE__*/Function_dist_effectFunction.dual(4, (self, maximumLag, decide, done) => Function_dist_effectFunction.pipe(Effect_dist_effectEffect.acquireRelease(Ref_dist_effectRef.make(new Map()), (ref, _) => Function_dist_effectFunction.pipe(Ref_dist_effectRef.get(ref), Effect_dist_effectEffect.flatMap(queues => Function_dist_effectFunction.pipe(queues.values(), Effect_dist_effectEffect.forEach(Queue_dist_effectQueue.shutdown))))), Effect_dist_effectEffect.flatMap(queuesRef => Effect_dist_effectEffect.gen(function* ($) {
959
+ const offer = a => Function_dist_effectFunction.pipe(decide(a), Effect_dist_effectEffect.flatMap(shouldProcess => Function_dist_effectFunction.pipe(Ref_dist_effectRef.get(queuesRef), Effect_dist_effectEffect.flatMap(queues => Function_dist_effectFunction.pipe(queues.entries(), Effect_dist_effectEffect.reduce(Chunk_dist_effectChunk.empty(), (acc, [id, queue]) => {
960
+ if (shouldProcess(id)) {
961
+ return Function_dist_effectFunction.pipe(Queue_dist_effectQueue.offer(queue, Exit_dist_effectExit.succeed(a)), Effect_dist_effectEffect.matchCauseEffect({
962
+ onFailure: cause =>
963
+ // Ignore all downstream queues that were shut
964
+ // down and remove them later
965
+ Cause_dist_effectCause.isInterrupted(cause) ? Effect_dist_effectEffect.succeed(Function_dist_effectFunction.pipe(acc, Chunk_dist_effectChunk.prepend(id))) : Effect_dist_effectEffect.failCause(cause),
966
+ onSuccess: () => Effect_dist_effectEffect.succeed(acc)
967
+ }));
968
+ }
969
+ return Effect_dist_effectEffect.succeed(acc);
970
+ }), Effect_dist_effectEffect.flatMap(ids => {
971
+ if (Chunk_dist_effectChunk.isNonEmpty(ids)) {
972
+ return Function_dist_effectFunction.pipe(Ref_dist_effectRef.update(queuesRef, map => {
973
+ for (const id of ids) {
974
+ map.delete(id);
975
+ }
976
+ return map;
977
+ }));
978
+ }
979
+ return Effect_dist_effectEffect.unit;
980
+ }))))), Effect_dist_effectEffect.asUnit);
981
+ const queuesLock = yield* $(Effect_dist_effectEffect.makeSemaphore(1));
982
+ const newQueue = yield* $(Ref_dist_effectRef.make(Function_dist_effectFunction.pipe(Queue_dist_effectQueue.bounded(maximumLag), Effect_dist_effectEffect.flatMap(queue => {
983
+ const id = newDistributedWithDynamicId();
984
+ return Function_dist_effectFunction.pipe(Ref_dist_effectRef.update(queuesRef, map => map.set(id, queue)), Effect_dist_effectEffect.as([id, queue]));
985
+ }))));
986
+ const finalize = endTake =>
987
+ // Make sure that no queues are currently being added
988
+ queuesLock.withPermits(1)(Function_dist_effectFunction.pipe(Ref_dist_effectRef.set(newQueue, Function_dist_effectFunction.pipe(
989
+ // All newly created queues should end immediately
990
+ Queue_dist_effectQueue.bounded(1), Effect_dist_effectEffect.tap(queue => Queue_dist_effectQueue.offer(queue, endTake)), Effect_dist_effectEffect.flatMap(queue => {
991
+ const id = newDistributedWithDynamicId();
992
+ return Function_dist_effectFunction.pipe(Ref_dist_effectRef.update(queuesRef, map => map.set(id, queue)), Effect_dist_effectEffect.as([id, queue]));
993
+ }))), Effect_dist_effectEffect.zipRight(Function_dist_effectFunction.pipe(Ref_dist_effectRef.get(queuesRef), Effect_dist_effectEffect.flatMap(map => Function_dist_effectFunction.pipe(Chunk_dist_effectChunk.fromIterable(map.values()), Effect_dist_effectEffect.forEach(queue => Function_dist_effectFunction.pipe(Queue_dist_effectQueue.offer(queue, endTake), Effect_dist_effectEffect.catchSomeCause(cause => Cause_dist_effectCause.isInterrupted(cause) ? Option_dist_effectOption.some(Effect_dist_effectEffect.unit) : Option_dist_effectOption.none()))))))), Effect_dist_effectEffect.zipRight(done(endTake)), Effect_dist_effectEffect.asUnit));
994
+ yield* $(self, runForEachScoped(offer), Effect_dist_effectEffect.matchCauseEffect({
995
+ onFailure: cause => finalize(Exit_dist_effectExit.failCause(Function_dist_effectFunction.pipe(cause, Cause_dist_effectCause.map(Option_dist_effectOption.some)))),
996
+ onSuccess: () => finalize(Exit_dist_effectExit.fail(Option_dist_effectOption.none()))
997
+ }), Effect_dist_effectEffect.forkScoped);
998
+ return queuesLock.withPermits(1)(Effect_dist_effectEffect.flatten(Ref_dist_effectRef.get(newQueue)));
999
+ }))));
1000
+
1001
+ /** @internal */
1002
+ const drain = self => new StreamImpl(sink.drain(toChannel(self)));
1003
+
1004
+ /** @internal */
1005
+ const drainFork = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, that) => Function_dist_effectFunction.pipe(fromEffect(Deferred_dist_effectDeferred.make()), flatMap(backgroundDied => Function_dist_effectFunction.pipe(scoped(Function_dist_effectFunction.pipe(that, runForEachScoped(() => Effect_dist_effectEffect.unit), Effect_dist_effectEffect.catchAllCause(cause => Deferred_dist_effectDeferred.failCause(backgroundDied, cause)), Effect_dist_effectEffect.forkScoped)), crossRight(Function_dist_effectFunction.pipe(self, interruptWhenDeferred(backgroundDied)))))));
1006
+
1007
+ /** @internal */
1008
+ const drop = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, n) => {
1009
+ const loop = r => sink.readWith({
1010
+ onInput: input => {
1011
+ const dropped = Function_dist_effectFunction.pipe(input, Chunk_dist_effectChunk.drop(r));
1012
+ const leftover = Math.max(0, r - input.length);
1013
+ const more = Chunk_dist_effectChunk.isEmpty(input) || leftover > 0;
1014
+ if (more) {
1015
+ return loop(leftover);
1016
+ }
1017
+ return Function_dist_effectFunction.pipe(sink.write(dropped), sink.zipRight(sink.identityChannel()));
1018
+ },
1019
+ onFailure: sink.fail,
1020
+ onDone: () => sink.unit
1021
+ });
1022
+ return new StreamImpl(Function_dist_effectFunction.pipe(toChannel(self), sink.pipeToOrFail(loop(n))));
1023
+ });
1024
+
1025
+ /** @internal */
1026
+ const dropRight = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, n) => {
1027
+ if (n <= 0) {
1028
+ return identityStream();
1029
+ }
1030
+ return suspend(() => {
1031
+ const queue = new RingBuffer(n);
1032
+ const reader = sink.readWith({
1033
+ onInput: input => {
1034
+ const outputs = Function_dist_effectFunction.pipe(input, Chunk_dist_effectChunk.filterMap(elem => {
1035
+ const head = queue.head();
1036
+ queue.put(elem);
1037
+ return head;
1038
+ }));
1039
+ return Function_dist_effectFunction.pipe(sink.write(outputs), sink.flatMap(() => reader));
1040
+ },
1041
+ onFailure: sink.fail,
1042
+ onDone: () => sink.unit
1043
+ });
1044
+ return new StreamImpl(Function_dist_effectFunction.pipe(toChannel(self), sink.pipeToOrFail(reader)));
1045
+ });
1046
+ });
1047
+
1048
+ /** @internal */
1049
+ const dropUntil = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, predicate) => drop(dropWhile(self, a => !predicate(a)), 1));
1050
+
1051
+ /** @internal */
1052
+ const dropUntilEffect = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, predicate) => {
1053
+ const loop = sink.readWith({
1054
+ onInput: input => Function_dist_effectFunction.pipe(Effect_dist_effectEffect.dropUntil(input, predicate), Effect_dist_effectEffect.map(Chunk_dist_effectChunk.unsafeFromArray), Effect_dist_effectEffect.map(leftover => {
1055
+ const more = Chunk_dist_effectChunk.isEmpty(leftover);
1056
+ if (more) {
1057
+ return sink.suspend(() => loop);
1058
+ }
1059
+ return Function_dist_effectFunction.pipe(sink.write(leftover), sink.zipRight(sink.identityChannel()));
1060
+ }), sink.unwrap),
1061
+ onFailure: sink.fail,
1062
+ onDone: () => sink.unit
1063
+ });
1064
+ return new StreamImpl(Function_dist_effectFunction.pipe(toChannel(self), sink.pipeToOrFail(loop)));
1065
+ });
1066
+
1067
+ /** @internal */
1068
+ const dropWhile = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, predicate) => {
1069
+ const loop = sink.readWith({
1070
+ onInput: input => {
1071
+ const output = Chunk_dist_effectChunk.dropWhile(input, predicate);
1072
+ if (Chunk_dist_effectChunk.isEmpty(output)) {
1073
+ return sink.suspend(() => loop);
1074
+ }
1075
+ return sink.zipRight(sink.write(output), sink.identityChannel());
1076
+ },
1077
+ onFailure: sink.fail,
1078
+ onDone: sink.succeedNow
1079
+ });
1080
+ return new StreamImpl(sink.pipeToOrFail(toChannel(self), loop));
1081
+ });
1082
+
1083
+ /** @internal */
1084
+ const dropWhileEffect = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, predicate) => {
1085
+ const loop = sink.readWith({
1086
+ onInput: input => Function_dist_effectFunction.pipe(Effect_dist_effectEffect.dropWhile(input, predicate), Effect_dist_effectEffect.map(Chunk_dist_effectChunk.unsafeFromArray), Effect_dist_effectEffect.map(leftover => {
1087
+ const more = Chunk_dist_effectChunk.isEmpty(leftover);
1088
+ if (more) {
1089
+ return sink.suspend(() => loop);
1090
+ }
1091
+ return sink.zipRight(sink.write(leftover), sink.identityChannel());
1092
+ }), sink.unwrap),
1093
+ onFailure: sink.fail,
1094
+ onDone: () => sink.unit
1095
+ });
1096
+ return new StreamImpl(sink.pipeToOrFail(toChannel(self), loop));
1097
+ });
1098
+
1099
+ /** @internal */
1100
+ const either = self => Function_dist_effectFunction.pipe(self, map(Either_dist_effectEither.right), catchAll(error => make(Either_dist_effectEither.left(error))));
1101
+
1102
+ /** @internal */
1103
+ const empty = /*#__PURE__*/new StreamImpl( /*#__PURE__*/sink.write( /*#__PURE__*/Chunk_dist_effectChunk.empty()));
1104
+
1105
+ /** @internal */
1106
+ const ensuring = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, finalizer) => new StreamImpl(Function_dist_effectFunction.pipe(toChannel(self), sink.ensuring(finalizer))));
1107
+
1108
+ /** @internal */
1109
+ const ensuringWith = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, finalizer) => new StreamImpl(sink.ensuringWith(toChannel(self), finalizer)));
1110
+
1111
+ /** @internal */
1112
+ const context = () => fromEffect(Effect_dist_effectEffect.context());
1113
+
1114
+ /** @internal */
1115
+ const contextWith = f => Function_dist_effectFunction.pipe(context(), map(f));
1116
+
1117
+ /** @internal */
1118
+ const contextWithEffect = f => Function_dist_effectFunction.pipe(context(), mapEffectSequential(f));
1119
+
1120
+ /** @internal */
1121
+ const contextWithStream = f => Function_dist_effectFunction.pipe(context(), flatMap(f));
1122
+
1123
+ /** @internal */
1124
+ const execute = effect => drain(fromEffect(effect));
1125
+
1126
+ /** @internal */
1127
+ const fail = error => fromEffectOption(Effect_dist_effectEffect.fail(Option_dist_effectOption.some(error)));
1128
+
1129
+ /** @internal */
1130
+ const failSync = evaluate => fromEffectOption(Effect_dist_effectEffect.failSync(() => Option_dist_effectOption.some(evaluate())));
1131
+
1132
+ /** @internal */
1133
+ const failCause = cause => fromEffect(Effect_dist_effectEffect.failCause(cause));
1134
+
1135
+ /** @internal */
1136
+ const failCauseSync = evaluate => fromEffect(Effect_dist_effectEffect.failCauseSync(evaluate));
1137
+
1138
+ /** @internal */
1139
+ const filter = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, predicate) => mapChunks(self, Chunk_dist_effectChunk.filter(predicate)));
1140
+
1141
+ /** @internal */
1142
+ const filterEffect = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, f) => {
1143
+ const loop = iterator => {
1144
+ const next = iterator.next();
1145
+ if (next.done) {
1146
+ return sink.readWithCause({
1147
+ onInput: input => loop(input[Symbol.iterator]()),
1148
+ onFailure: sink.failCause,
1149
+ onDone: sink.succeed
1150
+ });
1151
+ } else {
1152
+ return Function_dist_effectFunction.pipe(f(next.value), Effect_dist_effectEffect.map(bool => bool ? Function_dist_effectFunction.pipe(sink.write(Chunk_dist_effectChunk.of(next.value)), sink.flatMap(() => loop(iterator))) : loop(iterator)), sink.unwrap);
1153
+ }
1154
+ };
1155
+ return new StreamImpl(sink.suspend(() => Function_dist_effectFunction.pipe(toChannel(self), sink.pipeTo(loop(Chunk_dist_effectChunk.empty()[Symbol.iterator]())))));
1156
+ });
1157
+
1158
+ /** @internal */
1159
+ const filterMap = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, pf) => mapChunks(self, Chunk_dist_effectChunk.filterMap(pf)));
1160
+
1161
+ /** @internal */
1162
+ const filterMapEffect = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, pf) => suspend(() => {
1163
+ const loop = iterator => {
1164
+ const next = iterator.next();
1165
+ if (next.done) {
1166
+ return sink.readWithCause({
1167
+ onInput: input => loop(input[Symbol.iterator]()),
1168
+ onFailure: sink.failCause,
1169
+ onDone: sink.succeed
1170
+ });
1171
+ } else {
1172
+ return Function_dist_effectFunction.pipe(pf(next.value), Option_dist_effectOption.match({
1173
+ onNone: () => Effect_dist_effectEffect.sync(() => loop(iterator)),
1174
+ onSome: Effect_dist_effectEffect.map(a2 => sink.flatMap(sink.write(Chunk_dist_effectChunk.of(a2)), () => loop(iterator)))
1175
+ }), sink.unwrap);
1176
+ }
1177
+ };
1178
+ return new StreamImpl(Function_dist_effectFunction.pipe(toChannel(self), sink.pipeTo(loop(Chunk_dist_effectChunk.empty()[Symbol.iterator]()))));
1179
+ }));
1180
+
1181
+ /** @internal */
1182
+ const filterMapWhile = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, pf) => {
1183
+ const loop = sink.readWith({
1184
+ onInput: input => {
1185
+ const mapped = Chunk_dist_effectChunk.filterMapWhile(input, pf);
1186
+ if (mapped.length === input.length) {
1187
+ return Function_dist_effectFunction.pipe(sink.write(mapped), sink.flatMap(() => loop));
1188
+ }
1189
+ return sink.write(mapped);
1190
+ },
1191
+ onFailure: sink.fail,
1192
+ onDone: sink.succeed
1193
+ });
1194
+ return new StreamImpl(Function_dist_effectFunction.pipe(toChannel(self), sink.pipeToOrFail(loop)));
1195
+ });
1196
+
1197
+ /** @internal */
1198
+ const filterMapWhileEffect = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, pf) => suspend(() => {
1199
+ const loop = iterator => {
1200
+ const next = iterator.next();
1201
+ if (next.done) {
1202
+ return sink.readWithCause({
1203
+ onInput: input => loop(input[Symbol.iterator]()),
1204
+ onFailure: sink.failCause,
1205
+ onDone: sink.succeed
1206
+ });
1207
+ } else {
1208
+ return sink.unwrap(Option_dist_effectOption.match(pf(next.value), {
1209
+ onNone: () => Effect_dist_effectEffect.succeed(sink.unit),
1210
+ onSome: Effect_dist_effectEffect.map(a2 => sink.flatMap(sink.write(Chunk_dist_effectChunk.of(a2)), () => loop(iterator)))
1211
+ }));
1212
+ }
1213
+ };
1214
+ return new StreamImpl(Function_dist_effectFunction.pipe(toChannel(self), sink.pipeToOrFail(loop(Chunk_dist_effectChunk.empty()[Symbol.iterator]()))));
1215
+ }));
1216
+
1217
+ /** @internal */
1218
+ const finalizer = finalizer => acquireRelease(Effect_dist_effectEffect.unit, () => finalizer);
1219
+
1220
+ /** @internal */
1221
+ const find = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, predicate) => {
1222
+ const loop = sink.readWith({
1223
+ onInput: input => Option_dist_effectOption.match(Chunk_dist_effectChunk.findFirst(input, predicate), {
1224
+ onNone: () => loop,
1225
+ onSome: n => sink.write(Chunk_dist_effectChunk.of(n))
1226
+ }),
1227
+ onFailure: sink.fail,
1228
+ onDone: () => sink.unit
1229
+ });
1230
+ return new StreamImpl(Function_dist_effectFunction.pipe(toChannel(self), sink.pipeTo(loop)));
1231
+ });
1232
+
1233
+ /** @internal */
1234
+ const findEffect = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, predicate) => {
1235
+ const loop = sink.readWith({
1236
+ onInput: input => Function_dist_effectFunction.pipe(Effect_dist_effectEffect.findFirst(input, predicate), Effect_dist_effectEffect.map(Option_dist_effectOption.match({
1237
+ onNone: () => loop,
1238
+ onSome: n => sink.write(Chunk_dist_effectChunk.of(n))
1239
+ })), sink.unwrap),
1240
+ onFailure: sink.fail,
1241
+ onDone: () => sink.unit
1242
+ });
1243
+ return new StreamImpl(Function_dist_effectFunction.pipe(toChannel(self), sink.pipeTo(loop)));
1244
+ });
1245
+
1246
+ /** @internal */
1247
+ const flatMap = /*#__PURE__*/Function_dist_effectFunction.dual(args => typeof args[0] !== "function", (self, f, options) => {
1248
+ const bufferSize = options?.bufferSize ?? 16;
1249
+ if (options?.switch) {
1250
+ return matchConcurrency(options?.concurrency, () => flatMapParSwitchBuffer(self, 1, bufferSize, f), n => flatMapParSwitchBuffer(self, n, bufferSize, f));
1251
+ }
1252
+ return matchConcurrency(options?.concurrency, () => new StreamImpl(sink.concatMap(toChannel(self), as => Function_dist_effectFunction.pipe(as, Chunk_dist_effectChunk.map(a => toChannel(f(a))), Chunk_dist_effectChunk.reduce(sink.unit, (left, right) => Function_dist_effectFunction.pipe(left, sink.zipRight(right)))))), n => new StreamImpl(Function_dist_effectFunction.pipe(toChannel(self), sink.concatMap(sink.writeChunk), sink.mergeMap(out => toChannel(f(out)), {
1253
+ concurrency: n,
1254
+ bufferSize
1255
+ }))));
1256
+ });
1257
+
1258
+ /** @internal */
1259
+ const matchConcurrency = (concurrency, sequential, bounded) => {
1260
+ switch (concurrency) {
1261
+ case undefined:
1262
+ return sequential();
1263
+ case "unbounded":
1264
+ return bounded(Number.POSITIVE_INFINITY);
1265
+ default:
1266
+ return concurrency > 1 ? bounded(concurrency) : sequential();
1267
+ }
1268
+ };
1269
+ const flatMapParSwitchBuffer = /*#__PURE__*/Function_dist_effectFunction.dual(4, (self, n, bufferSize, f) => new StreamImpl(Function_dist_effectFunction.pipe(toChannel(self), sink.concatMap(sink.writeChunk), sink.mergeMap(out => toChannel(f(out)), {
1270
+ concurrency: n,
1271
+ mergeStrategy: mergeStrategy.BufferSliding(),
1272
+ bufferSize
1273
+ }))));
1274
+
1275
+ /** @internal */
1276
+ const flatten = /*#__PURE__*/Function_dist_effectFunction.dual(args => isStream(args[0]), (self, options) => flatMap(self, Function_dist_effectFunction.identity, options));
1277
+
1278
+ /** @internal */
1279
+ const flattenChunks = self => {
1280
+ const flatten = sink.readWithCause({
1281
+ onInput: chunks => sink.flatMap(sink.writeChunk(chunks), () => flatten),
1282
+ onFailure: sink.failCause,
1283
+ onDone: () => sink.unit
1284
+ });
1285
+ return new StreamImpl(Function_dist_effectFunction.pipe(toChannel(self), sink.pipeTo(flatten)));
1286
+ };
1287
+
1288
+ /** @internal */
1289
+ const flattenEffect = /*#__PURE__*/Function_dist_effectFunction.dual(args => isStream(args[0]), (self, options) => options?.unordered ? flatMap(self, a => fromEffect(a), {
1290
+ concurrency: options.concurrency
1291
+ }) : matchConcurrency(options?.concurrency, () => mapEffectSequential(self, Function_dist_effectFunction.identity), n => new StreamImpl(Function_dist_effectFunction.pipe(toChannel(self), sink.concatMap(sink.writeChunk), sink.mapOutEffectPar(Function_dist_effectFunction.identity, n), sink.mapOut(Chunk_dist_effectChunk.of)))));
1292
+
1293
+ /** @internal */
1294
+ const flattenExitOption = self => {
1295
+ const processChunk = (chunk, cont) => {
1296
+ const [toEmit, rest] = Function_dist_effectFunction.pipe(chunk, Chunk_dist_effectChunk.splitWhere(exit => !Exit_dist_effectExit.isSuccess(exit)));
1297
+ const next = Function_dist_effectFunction.pipe(Chunk_dist_effectChunk.head(rest), Option_dist_effectOption.match({
1298
+ onNone: () => cont,
1299
+ onSome: Exit_dist_effectExit.match({
1300
+ onFailure: cause => Option_dist_effectOption.match(Cause_dist_effectCause.flipCauseOption(cause), {
1301
+ onNone: () => sink.unit,
1302
+ onSome: sink.failCause
1303
+ }),
1304
+ onSuccess: () => sink.unit
1305
+ })
1306
+ }));
1307
+ return Function_dist_effectFunction.pipe(sink.write(Function_dist_effectFunction.pipe(toEmit, Chunk_dist_effectChunk.filterMap(exit => Exit_dist_effectExit.isSuccess(exit) ? Option_dist_effectOption.some(exit.value) : Option_dist_effectOption.none()))), sink.flatMap(() => next));
1308
+ };
1309
+ const process = sink.readWithCause({
1310
+ onInput: chunk => processChunk(chunk, process),
1311
+ onFailure: cause => sink.failCause(cause),
1312
+ onDone: () => sink.unit
1313
+ });
1314
+ return new StreamImpl(Function_dist_effectFunction.pipe(toChannel(self), sink.pipeTo(process)));
1315
+ };
1316
+
1317
+ /** @internal */
1318
+ const flattenIterables = self => Function_dist_effectFunction.pipe(self, map(Chunk_dist_effectChunk.fromIterable), flattenChunks);
1319
+
1320
+ /** @internal */
1321
+ const flattenTake = self => flattenChunks(flattenExitOption(Function_dist_effectFunction.pipe(self, map(take => take.exit))));
1322
+
1323
+ /** @internal */
1324
+ const forever = self => new StreamImpl(sink.repeated(toChannel(self)));
1325
+
1326
+ /** @internal */
1327
+ const fromAsyncIterable = (iterable, onError) => Function_dist_effectFunction.pipe(Effect_dist_effectEffect.acquireRelease(Effect_dist_effectEffect.sync(() => iterable[Symbol.asyncIterator]()), iterator => iterator.return ? Effect_dist_effectEffect.promise(async () => iterator.return()) : Effect_dist_effectEffect.unit), Effect_dist_effectEffect.map(iterator => repeatEffectOption(Function_dist_effectFunction.pipe(Effect_dist_effectEffect.tryPromise({
1328
+ try: async () => iterator.next(),
1329
+ catch: reason => Option_dist_effectOption.some(onError(reason))
1330
+ }), Effect_dist_effectEffect.flatMap(result => result.done ? Effect_dist_effectEffect.fail(Option_dist_effectOption.none()) : Effect_dist_effectEffect.succeed(result.value))))), unwrapScoped);
1331
+
1332
+ /** @internal */
1333
+ const fromChannel = channel => new StreamImpl(channel);
1334
+
1335
+ /** @internal */
1336
+ const toChannel = stream => {
1337
+ if (Effect_dist_effectEffect.isEffect(stream)) {
1338
+ return toChannel(fromEffect(stream));
1339
+ }
1340
+ return stream.channel;
1341
+ };
1342
+
1343
+ /** @internal */
1344
+ const fromChunk = chunk => new StreamImpl(Chunk_dist_effectChunk.isEmpty(chunk) ? sink.unit : sink.write(chunk));
1345
+
1346
+ /** @internal */
1347
+ const fromChunkHub = (hub, options) => {
1348
+ if (options?.scoped) {
1349
+ const effect = Effect_dist_effectEffect.map(Hub_dist_effectHub.subscribe(hub), fromChunkQueue);
1350
+ return options.shutdown ? Effect_dist_effectEffect.map(effect, ensuring(Hub_dist_effectHub.shutdown(hub))) : effect;
1351
+ }
1352
+ const stream = flatMap(scoped(Hub_dist_effectHub.subscribe(hub)), fromChunkQueue);
1353
+ return options?.shutdown ? ensuring(stream, Hub_dist_effectHub.shutdown(hub)) : stream;
1354
+ };
1355
+
1356
+ /** @internal */
1357
+ const fromChunkQueue = (queue, options) => Function_dist_effectFunction.pipe(Queue_dist_effectQueue.take(queue), Effect_dist_effectEffect.catchAllCause(cause => Function_dist_effectFunction.pipe(Queue_dist_effectQueue.isShutdown(queue), Effect_dist_effectEffect.flatMap(isShutdown => isShutdown && Cause_dist_effectCause.isInterrupted(cause) ? end() : failCause$1(cause)))), repeatEffectChunkOption, options?.shutdown ? ensuring(Queue_dist_effectQueue.shutdown(queue)) : Function_dist_effectFunction.identity);
1358
+
1359
+ /** @internal */
1360
+ const fromChunks = (...chunks) => Function_dist_effectFunction.pipe(fromIterable(chunks), flatMap(fromChunk));
1361
+
1362
+ /** @internal */
1363
+ const fromEffect = effect => Function_dist_effectFunction.pipe(effect, Effect_dist_effectEffect.mapError(Option_dist_effectOption.some), fromEffectOption);
1364
+
1365
+ /** @internal */
1366
+ const fromEffectOption = effect => new StreamImpl(sink.unwrap(Effect_dist_effectEffect.match(effect, {
1367
+ onFailure: Option_dist_effectOption.match({
1368
+ onNone: () => sink.unit,
1369
+ onSome: sink.fail
1370
+ }),
1371
+ onSuccess: a => sink.write(Chunk_dist_effectChunk.of(a))
1372
+ })));
1373
+
1374
+ /** @internal */
1375
+ const fromHub = (hub, options) => {
1376
+ const maxChunkSize = options?.maxChunkSize ?? DefaultChunkSize;
1377
+ if (options?.scoped) {
1378
+ const effect = Effect_dist_effectEffect.map(Hub_dist_effectHub.subscribe(hub), queue => fromQueue(queue, {
1379
+ maxChunkSize,
1380
+ shutdown: true
1381
+ }));
1382
+ return options.shutdown ? Effect_dist_effectEffect.map(effect, ensuring(Hub_dist_effectHub.shutdown(hub))) : effect;
1383
+ }
1384
+ const stream = flatMap(scoped(Hub_dist_effectHub.subscribe(hub)), queue => fromQueue(queue, {
1385
+ maxChunkSize
1386
+ }));
1387
+ return options?.shutdown ? ensuring(stream, Hub_dist_effectHub.shutdown(hub)) : stream;
1388
+ };
1389
+
1390
+ /** @internal */
1391
+ const fromIterable = iterable => suspend(() => Chunk_dist_effectChunk.isChunk(iterable) ? fromChunk(iterable) : fromIteratorSucceed(iterable[Symbol.iterator]()));
1392
+
1393
+ /** @internal */
1394
+ const fromIterableEffect = effect => Function_dist_effectFunction.pipe(effect, Effect_dist_effectEffect.map(fromIterable), unwrap);
1395
+
1396
+ /** @internal */
1397
+ const fromIteratorSucceed = (iterator, maxChunkSize = DefaultChunkSize) => {
1398
+ return Function_dist_effectFunction.pipe(Effect_dist_effectEffect.sync(() => {
1399
+ let builder = [];
1400
+ const loop = iterator => Function_dist_effectFunction.pipe(Effect_dist_effectEffect.sync(() => {
1401
+ let next = iterator.next();
1402
+ if (maxChunkSize === 1) {
1403
+ if (next.done) {
1404
+ return sink.unit;
1405
+ }
1406
+ return Function_dist_effectFunction.pipe(sink.write(Chunk_dist_effectChunk.of(next.value)), sink.flatMap(() => loop(iterator)));
1407
+ }
1408
+ builder = [];
1409
+ let count = 0;
1410
+ while (count < maxChunkSize && !next.done) {
1411
+ builder.push(next.value);
1412
+ next = iterator.next();
1413
+ count = count + 1;
1414
+ }
1415
+ if (count > 0) {
1416
+ return Function_dist_effectFunction.pipe(sink.write(Chunk_dist_effectChunk.unsafeFromArray(builder)), sink.flatMap(() => loop(iterator)));
1417
+ }
1418
+ return sink.unit;
1419
+ }), sink.unwrap);
1420
+ return new StreamImpl(loop(iterator));
1421
+ }), unwrap);
1422
+ };
1423
+
1424
+ /** @internal */
1425
+ const fromPull = effect => Function_dist_effectFunction.pipe(effect, Effect_dist_effectEffect.map(repeatEffectChunkOption), unwrapScoped);
1426
+
1427
+ /** @internal */
1428
+ const fromQueue = (queue, options) => Function_dist_effectFunction.pipe(Queue_dist_effectQueue.takeBetween(queue, 1, options?.maxChunkSize ?? DefaultChunkSize), Effect_dist_effectEffect.catchAllCause(cause => Function_dist_effectFunction.pipe(Queue_dist_effectQueue.isShutdown(queue), Effect_dist_effectEffect.flatMap(isShutdown => isShutdown && Cause_dist_effectCause.isInterrupted(cause) ? end() : failCause$1(cause)))), repeatEffectChunkOption, options?.shutdown ? ensuring(Queue_dist_effectQueue.shutdown(queue)) : Function_dist_effectFunction.identity);
1429
+
1430
+ /** @internal */
1431
+ const fromSchedule = schedule => Function_dist_effectFunction.pipe(Schedule_dist_effectSchedule.driver(schedule), Effect_dist_effectEffect.map(driver => repeatEffectOption(driver.next(void 0))), unwrap);
1432
+
1433
+ /** @internal */
1434
+ const fromReadableStream = (evaluate, onError) => unwrapScoped(Effect_dist_effectEffect.map(Effect_dist_effectEffect.acquireRelease(Effect_dist_effectEffect.sync(() => evaluate().getReader()), reader => Effect_dist_effectEffect.promise(() => reader.cancel())), reader => repeatEffectOption(Effect_dist_effectEffect.flatMap(Effect_dist_effectEffect.tryPromise({
1435
+ try: () => reader.read(),
1436
+ catch: reason => Option_dist_effectOption.some(onError(reason))
1437
+ }), ({
1438
+ done,
1439
+ value
1440
+ }) => done ? Effect_dist_effectEffect.fail(Option_dist_effectOption.none()) : Effect_dist_effectEffect.succeed(value)))));
1441
+
1442
+ /** @internal */
1443
+ const fromReadableStreamByob = (evaluate, onError, allocSize = 4096) => unwrapScoped(Effect_dist_effectEffect.map(Effect_dist_effectEffect.acquireRelease(Effect_dist_effectEffect.sync(() => evaluate().getReader({
1444
+ mode: "byob"
1445
+ })), reader => Effect_dist_effectEffect.promise(() => reader.cancel())), reader => catchAll(forever(readChunkStreamByobReader(reader, onError, allocSize)), error => typeof error === "object" && error !== null && "_tag" in error && error._tag === "EOF" ? empty : fail(error))));
1446
+ const readChunkStreamByobReader = (reader, onError, size) => {
1447
+ const buffer = new ArrayBuffer(size);
1448
+ return paginateEffect(0, offset => Effect_dist_effectEffect.flatMap(Effect_dist_effectEffect.tryPromise({
1449
+ try: () => reader.read(new Uint8Array(buffer, offset, buffer.byteLength - offset)),
1450
+ catch: reason => onError(reason)
1451
+ }), ({
1452
+ done,
1453
+ value
1454
+ }) => {
1455
+ if (done) {
1456
+ return Effect_dist_effectEffect.fail({
1457
+ _tag: "EOF"
1458
+ });
1459
+ }
1460
+ const newOffset = offset + value.byteLength;
1461
+ return Effect_dist_effectEffect.succeed([value, newOffset >= buffer.byteLength ? Option_dist_effectOption.none() : Option_dist_effectOption.some(newOffset)]);
1462
+ }));
1463
+ };
1464
+
1465
+ /** @internal */
1466
+ const groupAdjacentBy = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, f) => {
1467
+ const groupAdjacentByChunk = (state, chunk) => {
1468
+ if (Chunk_dist_effectChunk.isEmpty(chunk)) {
1469
+ return [state, Chunk_dist_effectChunk.empty()];
1470
+ }
1471
+ const builder = [];
1472
+ let from = 0;
1473
+ let until = 0;
1474
+ let key = undefined;
1475
+ let previousChunk = Chunk_dist_effectChunk.empty();
1476
+ switch (state._tag) {
1477
+ case "Some":
1478
+ {
1479
+ const tuple = state.value;
1480
+ key = tuple[0];
1481
+ let loop = true;
1482
+ while (loop && until < chunk.length) {
1483
+ const input = Chunk_dist_effectChunk.unsafeGet(chunk, until);
1484
+ const updatedKey = f(input);
1485
+ if (!Equal_dist_effectEqual.equals(key, updatedKey)) {
1486
+ builder.push([key, Chunk_dist_effectChunk.unsafeFromArray(Array.from(tuple[1]).slice(from, until))]);
1487
+ key = updatedKey;
1488
+ from = until;
1489
+ loop = false;
1490
+ }
1491
+ until = until + 1;
1492
+ }
1493
+ if (loop) {
1494
+ previousChunk = tuple[1];
1495
+ }
1496
+ break;
1497
+ }
1498
+ case "None":
1499
+ {
1500
+ key = f(Chunk_dist_effectChunk.unsafeGet(chunk, until));
1501
+ until = until + 1;
1502
+ break;
1503
+ }
1504
+ }
1505
+ while (until < chunk.length) {
1506
+ const input = Chunk_dist_effectChunk.unsafeGet(chunk, until);
1507
+ const updatedKey = f(input);
1508
+ if (!Equal_dist_effectEqual.equals(key, updatedKey)) {
1509
+ builder.push([key, Chunk_dist_effectChunk.unsafeFromArray(Array.from(chunk).slice(from, until))]);
1510
+ key = updatedKey;
1511
+ from = until;
1512
+ }
1513
+ until = until + 1;
1514
+ }
1515
+ const nonEmptyChunk = Chunk_dist_effectChunk.appendAll(previousChunk, Chunk_dist_effectChunk.unsafeFromArray(Array.from(chunk).slice(from, until)));
1516
+ const output = Chunk_dist_effectChunk.unsafeFromArray(builder);
1517
+ return [Option_dist_effectOption.some([key, nonEmptyChunk]), output];
1518
+ };
1519
+ const groupAdjacent = state => sink.readWithCause({
1520
+ onInput: input => {
1521
+ const [updatedState, output] = groupAdjacentByChunk(state, input);
1522
+ return Chunk_dist_effectChunk.isEmpty(output) ? groupAdjacent(updatedState) : sink.flatMap(sink.write(output), () => groupAdjacent(updatedState));
1523
+ },
1524
+ onFailure: cause => Option_dist_effectOption.match(state, {
1525
+ onNone: () => sink.failCause(cause),
1526
+ onSome: output => sink.flatMap(sink.write(Chunk_dist_effectChunk.of(output)), () => sink.failCause(cause))
1527
+ }),
1528
+ onDone: done => Option_dist_effectOption.match(state, {
1529
+ onNone: () => sink.succeedNow(done),
1530
+ onSome: output => sink.flatMap(sink.write(Chunk_dist_effectChunk.of(output)), () => sink.succeedNow(done))
1531
+ })
1532
+ });
1533
+ return new StreamImpl(sink.pipeToOrFail(toChannel(self), groupAdjacent(Option_dist_effectOption.none())));
1534
+ });
1535
+
1536
+ /** @internal */
1537
+ const grouped = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, chunkSize) => Function_dist_effectFunction.pipe(self, rechunk(chunkSize), chunks));
1538
+
1539
+ /** @internal */
1540
+ const groupedWithin = /*#__PURE__*/Function_dist_effectFunction.dual(3, (self, chunkSize, duration) => aggregateWithin(self, sink.collectAllN(chunkSize), Schedule_dist_effectSchedule.spaced(duration)));
1541
+
1542
+ /** @internal */
1543
+ const haltWhen = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, effect) => {
1544
+ const writer = fiber => Function_dist_effectFunction.pipe(Fiber_dist_effectFiber.poll(fiber), Effect_dist_effectEffect.map(Option_dist_effectOption.match({
1545
+ onNone: () => sink.readWith({
1546
+ onInput: input => sink.flatMap(sink.write(input), () => writer(fiber)),
1547
+ onFailure: sink.fail,
1548
+ onDone: () => sink.unit
1549
+ }),
1550
+ onSome: Exit_dist_effectExit.match({
1551
+ onFailure: sink.failCause,
1552
+ onSuccess: () => sink.unit
1553
+ })
1554
+ })), sink.unwrap);
1555
+ return new StreamImpl(Function_dist_effectFunction.pipe(Effect_dist_effectEffect.forkScoped(effect), Effect_dist_effectEffect.map(fiber => Function_dist_effectFunction.pipe(toChannel(self), sink.pipeTo(writer(fiber)))), sink.unwrapScoped));
1556
+ });
1557
+
1558
+ /** @internal */
1559
+ const haltAfter = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, duration) => Function_dist_effectFunction.pipe(self, haltWhen(Clock_dist_effectClock.sleep(duration))));
1560
+
1561
+ /** @internal */
1562
+ const haltWhenDeferred = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, deferred) => {
1563
+ const writer = Function_dist_effectFunction.pipe(Deferred_dist_effectDeferred.poll(deferred), Effect_dist_effectEffect.map(Option_dist_effectOption.match({
1564
+ onNone: () => sink.readWith({
1565
+ onInput: input => Function_dist_effectFunction.pipe(sink.write(input), sink.flatMap(() => writer)),
1566
+ onFailure: sink.fail,
1567
+ onDone: () => sink.unit
1568
+ }),
1569
+ onSome: effect => sink.unwrap(Effect_dist_effectEffect.match(effect, {
1570
+ onFailure: sink.fail,
1571
+ onSuccess: () => sink.unit
1572
+ }))
1573
+ })), sink.unwrap);
1574
+ return new StreamImpl(Function_dist_effectFunction.pipe(toChannel(self), sink.pipeTo(writer)));
1575
+ });
1576
+
1577
+ /** @internal */
1578
+ const identityStream = () => new StreamImpl(sink.identityChannel());
1579
+
1580
+ /** @internal */
1581
+ const interleave = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, that) => Function_dist_effectFunction.pipe(self, interleaveWith(that, forever(make(true, false)))));
1582
+
1583
+ /** @internal */
1584
+ const interleaveWith = /*#__PURE__*/Function_dist_effectFunction.dual(3, (self, that, decider) => {
1585
+ const producer = handoff => sink.readWithCause({
1586
+ onInput: value => sink.flatMap(sink.fromEffect(offer(handoff, take$2.of(value))), () => producer(handoff)),
1587
+ onFailure: cause => sink.fromEffect(offer(handoff, take$2.failCause(cause))),
1588
+ onDone: () => sink.fromEffect(offer(handoff, take$2.end))
1589
+ });
1590
+ return new StreamImpl(sink.unwrapScoped(Function_dist_effectFunction.pipe(make$1(), Effect_dist_effectEffect.zip(make$1()), Effect_dist_effectEffect.tap(([left]) => Function_dist_effectFunction.pipe(toChannel(self), sink.concatMap(sink.writeChunk), sink.pipeTo(producer(left)), sink.runScoped, Effect_dist_effectEffect.forkScoped)), Effect_dist_effectEffect.tap(([_, right]) => Function_dist_effectFunction.pipe(toChannel(that), sink.concatMap(sink.writeChunk), sink.pipeTo(producer(right)), sink.runScoped, Effect_dist_effectEffect.forkScoped)), Effect_dist_effectEffect.map(([left, right]) => {
1591
+ const process = (leftDone, rightDone) => sink.readWithCause({
1592
+ onInput: bool => {
1593
+ if (bool && !leftDone) {
1594
+ return Function_dist_effectFunction.pipe(sink.fromEffect(take$1(left)), sink.flatMap(take$2.match({
1595
+ onEnd: () => rightDone ? sink.unit : process(true, rightDone),
1596
+ onFailure: sink.failCause,
1597
+ onSuccess: chunk => Function_dist_effectFunction.pipe(sink.write(chunk), sink.flatMap(() => process(leftDone, rightDone)))
1598
+ })));
1599
+ }
1600
+ if (!bool && !rightDone) {
1601
+ return Function_dist_effectFunction.pipe(sink.fromEffect(take$1(right)), sink.flatMap(take$2.match({
1602
+ onEnd: () => leftDone ? sink.unit : process(leftDone, true),
1603
+ onFailure: sink.failCause,
1604
+ onSuccess: chunk => Function_dist_effectFunction.pipe(sink.write(chunk), sink.flatMap(() => process(leftDone, rightDone)))
1605
+ })));
1606
+ }
1607
+ return process(leftDone, rightDone);
1608
+ },
1609
+ onFailure: sink.failCause,
1610
+ onDone: () => sink.unit
1611
+ });
1612
+ return Function_dist_effectFunction.pipe(toChannel(decider), sink.concatMap(sink.writeChunk), sink.pipeTo(process(false, false)));
1613
+ }))));
1614
+ });
1615
+
1616
+ /** @internal */
1617
+ const intersperse = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, element) => new StreamImpl(Function_dist_effectFunction.pipe(toChannel(self), sink.pipeToOrFail(sink.suspend(() => {
1618
+ const writer = isFirst => sink.readWithCause({
1619
+ onInput: chunk => {
1620
+ const builder = [];
1621
+ let flagResult = isFirst;
1622
+ for (const output of chunk) {
1623
+ if (flagResult) {
1624
+ flagResult = false;
1625
+ builder.push(output);
1626
+ } else {
1627
+ builder.push(element);
1628
+ builder.push(output);
1629
+ }
1630
+ }
1631
+ return Function_dist_effectFunction.pipe(sink.write(Chunk_dist_effectChunk.unsafeFromArray(builder)), sink.flatMap(() => writer(flagResult)));
1632
+ },
1633
+ onFailure: sink.failCause,
1634
+ onDone: () => sink.unit
1635
+ });
1636
+ return writer(true);
1637
+ })))));
1638
+
1639
+ /** @internal */
1640
+ const intersperseAffixes = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, {
1641
+ end,
1642
+ middle,
1643
+ start
1644
+ }) => Function_dist_effectFunction.pipe(make(start), concat(Function_dist_effectFunction.pipe(self, intersperse(middle))), concat(make(end))));
1645
+
1646
+ /** @internal */
1647
+ const interruptAfter = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, duration) => Function_dist_effectFunction.pipe(self, interruptWhen(Clock_dist_effectClock.sleep(duration))));
1648
+
1649
+ /** @internal */
1650
+ const interruptWhen = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, effect) => new StreamImpl(Function_dist_effectFunction.pipe(toChannel(self), sink.interruptWhen(effect))));
1651
+
1652
+ /** @internal */
1653
+ const interruptWhenDeferred = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, deferred) => new StreamImpl(Function_dist_effectFunction.pipe(toChannel(self), sink.interruptWhenDeferred(deferred))));
1654
+
1655
+ /** @internal */
1656
+ const iterate = (value, next) => unfold(value, a => Option_dist_effectOption.some([a, next(a)]));
1657
+
1658
+ /** @internal */
1659
+ const make = (...as) => fromIterable(as);
1660
+
1661
+ /** @internal */
1662
+ const map = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, f) => new StreamImpl(Function_dist_effectFunction.pipe(toChannel(self), sink.mapOut(Chunk_dist_effectChunk.map(f)))));
1663
+
1664
+ /** @internal */
1665
+ const mapAccum = /*#__PURE__*/Function_dist_effectFunction.dual(3, (self, s, f) => {
1666
+ const accumulator = s => sink.readWith({
1667
+ onInput: input => {
1668
+ const [nextS, chunk] = Chunk_dist_effectChunk.mapAccum(input, s, f);
1669
+ return sink.flatMap(sink.write(chunk), () => accumulator(nextS));
1670
+ },
1671
+ onFailure: sink.fail,
1672
+ onDone: () => sink.unit
1673
+ });
1674
+ return new StreamImpl(Function_dist_effectFunction.pipe(toChannel(self), sink.pipeTo(accumulator(s))));
1675
+ });
1676
+
1677
+ /** @internal */
1678
+ const mapAccumEffect = /*#__PURE__*/Function_dist_effectFunction.dual(3, (self, s, f) => suspend(() => {
1679
+ const accumulator = s => sink.readWith({
1680
+ onInput: input => Function_dist_effectFunction.pipe(Effect_dist_effectEffect.suspend(() => {
1681
+ const outputs = [];
1682
+ const emit = output => Effect_dist_effectEffect.sync(() => {
1683
+ outputs.push(output);
1684
+ });
1685
+ return Function_dist_effectFunction.pipe(input, Effect_dist_effectEffect.reduce(s, (s, a) => Function_dist_effectFunction.pipe(f(s, a), Effect_dist_effectEffect.flatMap(([s, a]) => Function_dist_effectFunction.pipe(emit(a), Effect_dist_effectEffect.as(s))))), Effect_dist_effectEffect.match({
1686
+ onFailure: error => {
1687
+ if (outputs.length !== 0) {
1688
+ return sink.zipRight(sink.write(Chunk_dist_effectChunk.unsafeFromArray(outputs)), sink.fail(error));
1689
+ }
1690
+ return sink.fail(error);
1691
+ },
1692
+ onSuccess: s => sink.flatMap(sink.write(Chunk_dist_effectChunk.unsafeFromArray(outputs)), () => accumulator(s))
1693
+ }));
1694
+ }), sink.unwrap),
1695
+ onFailure: sink.fail,
1696
+ onDone: () => sink.unit
1697
+ });
1698
+ return new StreamImpl(Function_dist_effectFunction.pipe(toChannel(self), sink.pipeToOrFail(accumulator(s))));
1699
+ }));
1700
+
1701
+ /** @internal */
1702
+ const mapBoth = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, options) => Function_dist_effectFunction.pipe(self, mapError(options.onFailure), map(options.onSuccess)));
1703
+
1704
+ /** @internal */
1705
+ const mapChunks = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, f) => new StreamImpl(Function_dist_effectFunction.pipe(toChannel(self), sink.mapOut(f))));
1706
+
1707
+ /** @internal */
1708
+ const mapChunksEffect = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, f) => new StreamImpl(Function_dist_effectFunction.pipe(toChannel(self), sink.mapOutEffect(f))));
1709
+
1710
+ /** @internal */
1711
+ const mapConcat = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, f) => Function_dist_effectFunction.pipe(self, mapConcatChunk(a => Chunk_dist_effectChunk.fromIterable(f(a)))));
1712
+
1713
+ /** @internal */
1714
+ const mapConcatChunk = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, f) => Function_dist_effectFunction.pipe(self, mapChunks(Chunk_dist_effectChunk.flatMap(f))));
1715
+
1716
+ /** @internal */
1717
+ const mapConcatChunkEffect = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, f) => Function_dist_effectFunction.pipe(self, mapEffectSequential(f), mapConcatChunk(Function_dist_effectFunction.identity)));
1718
+
1719
+ /** @internal */
1720
+ const mapConcatEffect = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, f) => Function_dist_effectFunction.pipe(self, mapEffectSequential(a => Function_dist_effectFunction.pipe(f(a), Effect_dist_effectEffect.map(Chunk_dist_effectChunk.fromIterable))), mapConcatChunk(Function_dist_effectFunction.identity)));
1721
+
1722
+ /** @internal */
1723
+ const mapEffectSequential = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, f) => {
1724
+ const loop = iterator => {
1725
+ const next = iterator.next();
1726
+ if (next.done) {
1727
+ return sink.readWithCause({
1728
+ onInput: elem => loop(elem[Symbol.iterator]()),
1729
+ onFailure: sink.failCause,
1730
+ onDone: sink.succeed
1731
+ });
1732
+ } else {
1733
+ const value = next.value;
1734
+ return sink.unwrap(Effect_dist_effectEffect.map(f(value), a2 => sink.flatMap(sink.write(Chunk_dist_effectChunk.of(a2)), () => loop(iterator))));
1735
+ }
1736
+ };
1737
+ return new StreamImpl(Function_dist_effectFunction.pipe(toChannel(self), sink.pipeTo(sink.suspend(() => loop(Chunk_dist_effectChunk.empty()[Symbol.iterator]())))));
1738
+ });
1739
+
1740
+ /** @internal */
1741
+ const mapEffectPar = /*#__PURE__*/Function_dist_effectFunction.dual(3, (self, n, f) => new StreamImpl(Function_dist_effectFunction.pipe(toChannel(self), sink.concatMap(sink.writeChunk), sink.mapOutEffectPar(f, n), sink.mapOut(Chunk_dist_effectChunk.of))));
1742
+
1743
+ /** @internal */
1744
+ const mapError = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, f) => new StreamImpl(Function_dist_effectFunction.pipe(toChannel(self), sink.mapError(f))));
1745
+
1746
+ /** @internal */
1747
+ const mapErrorCause = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, f) => new StreamImpl(Function_dist_effectFunction.pipe(toChannel(self), sink.mapErrorCause(f))));
1748
+
1749
+ /** @internal */
1750
+ const merge = /*#__PURE__*/Function_dist_effectFunction.dual(args => isStream(args[1]), (self, that, options) => mergeWith(self, that, {
1751
+ onSelf: Function_dist_effectFunction.identity,
1752
+ onOther: Function_dist_effectFunction.identity,
1753
+ haltStrategy: options?.haltStrategy
1754
+ }));
1755
+
1756
+ /** @internal */
1757
+ const mergeAll = /*#__PURE__*/Function_dist_effectFunction.dual(args => Symbol.iterator in args[0], (streams, options) => flatten(fromIterable(streams), options));
1758
+
1759
+ /** @internal */
1760
+ const mergeEither = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, that) => mergeWith(self, that, {
1761
+ onSelf: Either_dist_effectEither.left,
1762
+ onOther: Either_dist_effectEither.right
1763
+ }));
1764
+
1765
+ /** @internal */
1766
+ const mergeLeft = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, that) => Function_dist_effectFunction.pipe(self, merge(drain(that))));
1767
+
1768
+ /** @internal */
1769
+ const mergeRight = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, that) => Function_dist_effectFunction.pipe(drain(self), merge(that)));
1770
+
1771
+ /** @internal */
1772
+ const mergeWith = /*#__PURE__*/Function_dist_effectFunction.dual(3, (self, other, options) => {
1773
+ const strategy = options.haltStrategy ? StreamHaltStrategy_dist_effectStreamHaltStrategy.fromInput(options.haltStrategy) : StreamHaltStrategy_dist_effectStreamHaltStrategy.Both;
1774
+ const handler = terminate => exit => terminate || !Exit_dist_effectExit.isSuccess(exit) ?
1775
+ // TODO: remove
1776
+ ChannelMergeDecision_dist_effectChannelMergeDecision.Done(Effect_dist_effectEffect.suspend(() => exit)) : ChannelMergeDecision_dist_effectChannelMergeDecision.Await(exit => Effect_dist_effectEffect.suspend(() => exit));
1777
+ return new StreamImpl(sink.mergeWith(toChannel(map(self, options.onSelf)), {
1778
+ other: toChannel(map(other, options.onOther)),
1779
+ onSelfDone: handler(strategy._tag === "Either" || strategy._tag === "Left"),
1780
+ onOtherDone: handler(strategy._tag === "Either" || strategy._tag === "Right")
1781
+ }));
1782
+ });
1783
+
1784
+ /** @internal */
1785
+ const mkString = self => run(self, sink.mkString);
1786
+
1787
+ /** @internal */
1788
+ const never = /*#__PURE__*/fromEffect(Effect_dist_effectEffect.never);
1789
+
1790
+ /** @internal */
1791
+ const onError = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, cleanup) => Function_dist_effectFunction.pipe(self, catchAllCause(cause => fromEffect(Function_dist_effectFunction.pipe(cleanup(cause), Effect_dist_effectEffect.zipRight(Effect_dist_effectEffect.failCause(cause)))))));
1792
+
1793
+ /** @internal */
1794
+ const onDone = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, cleanup) => new StreamImpl(Function_dist_effectFunction.pipe(toChannel(self), sink.ensuringWith(exit => Exit_dist_effectExit.isSuccess(exit) ? cleanup() : Effect_dist_effectEffect.unit))));
1795
+
1796
+ /** @internal */
1797
+ const orDie = self => Function_dist_effectFunction.pipe(self, orDieWith(Function_dist_effectFunction.identity));
1798
+
1799
+ /** @internal */
1800
+ const orDieWith = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, f) => new StreamImpl(Function_dist_effectFunction.pipe(toChannel(self), sink.orDieWith(f))));
1801
+
1802
+ /** @internal */
1803
+ const orElse = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, that) => new StreamImpl(Function_dist_effectFunction.pipe(toChannel(self), sink.orElse(() => toChannel(that())))));
1804
+
1805
+ /** @internal */
1806
+ const orElseEither = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, that) => Function_dist_effectFunction.pipe(self, map(Either_dist_effectEither.left), orElse(() => Function_dist_effectFunction.pipe(that(), map(Either_dist_effectEither.right)))));
1807
+
1808
+ /** @internal */
1809
+ const orElseFail = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, error) => Function_dist_effectFunction.pipe(self, orElse(() => failSync(error))));
1810
+
1811
+ /** @internal */
1812
+ const orElseIfEmpty = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, element) => Function_dist_effectFunction.pipe(self, orElseIfEmptyChunk(() => Chunk_dist_effectChunk.of(element()))));
1813
+
1814
+ /** @internal */
1815
+ const orElseIfEmptyChunk = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, chunk) => Function_dist_effectFunction.pipe(self, orElseIfEmptyStream(() => new StreamImpl(sink.write(chunk())))));
1816
+
1817
+ /** @internal */
1818
+ const orElseIfEmptyStream = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, stream) => {
1819
+ const writer = sink.readWith({
1820
+ onInput: input => {
1821
+ if (Chunk_dist_effectChunk.isEmpty(input)) {
1822
+ return sink.suspend(() => writer);
1823
+ }
1824
+ return Function_dist_effectFunction.pipe(sink.write(input), sink.zipRight(sink.identityChannel()));
1825
+ },
1826
+ onFailure: sink.fail,
1827
+ onDone: () => sink.suspend(() => toChannel(stream()))
1828
+ });
1829
+ return new StreamImpl(Function_dist_effectFunction.pipe(toChannel(self), sink.pipeTo(writer)));
1830
+ });
1831
+
1832
+ /** @internal */
1833
+ const orElseSucceed = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, value) => Function_dist_effectFunction.pipe(self, orElse(() => sync(value))));
1834
+
1835
+ /** @internal */
1836
+ const paginate = (s, f) => paginateChunk(s, s => {
1837
+ const page = f(s);
1838
+ return [Chunk_dist_effectChunk.of(page[0]), page[1]];
1839
+ });
1840
+
1841
+ /** @internal */
1842
+ const paginateChunk = (s, f) => {
1843
+ const loop = s => {
1844
+ const page = f(s);
1845
+ return Option_dist_effectOption.match(page[1], {
1846
+ onNone: () => sink.zipRight(sink.write(page[0]), sink.unit),
1847
+ onSome: s => sink.flatMap(sink.write(page[0]), () => loop(s))
1848
+ });
1849
+ };
1850
+ return new StreamImpl(sink.suspend(() => loop(s)));
1851
+ };
1852
+
1853
+ /** @internal */
1854
+ const paginateChunkEffect = (s, f) => {
1855
+ const loop = s => sink.unwrap(Effect_dist_effectEffect.map(f(s), ([chunk, option]) => Option_dist_effectOption.match(option, {
1856
+ onNone: () => sink.zipRight(sink.write(chunk), sink.unit),
1857
+ onSome: s => sink.flatMap(sink.write(chunk), () => loop(s))
1858
+ })));
1859
+ return new StreamImpl(sink.suspend(() => loop(s)));
1860
+ };
1861
+
1862
+ /** @internal */
1863
+ const paginateEffect = (s, f) => paginateChunkEffect(s, s => Function_dist_effectFunction.pipe(f(s), Effect_dist_effectEffect.map(([a, s]) => [Chunk_dist_effectChunk.of(a), s])));
1864
+
1865
+ /** @internal */
1866
+ const peel = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, sink$1) => {
1867
+ const OP_EMIT = "Emit";
1868
+ const OP_HALT = "Halt";
1869
+ const OP_END = "End";
1870
+ return Function_dist_effectFunction.pipe(Deferred_dist_effectDeferred.make(), Effect_dist_effectEffect.flatMap(deferred => Function_dist_effectFunction.pipe(make$1(), Effect_dist_effectEffect.map(handoff => {
1871
+ const consumer = sink.foldSink(sink.collectLeftover(sink$1), {
1872
+ onFailure: error => sink.zipRight$1(sink.fromEffect$1(Deferred_dist_effectDeferred.fail(deferred, error)), sink.fail$1(error)),
1873
+ onSuccess: ([z, leftovers]) => {
1874
+ const loop = sink.readWithCause({
1875
+ onInput: elements => sink.flatMap(sink.fromEffect(offer(handoff, {
1876
+ _tag: OP_EMIT,
1877
+ elements
1878
+ })), () => loop),
1879
+ onFailure: cause => sink.zipRight(sink.fromEffect(offer(handoff, {
1880
+ _tag: OP_HALT,
1881
+ cause
1882
+ })), sink.failCause(cause)),
1883
+ onDone: _ => sink.zipRight(sink.fromEffect(offer(handoff, {
1884
+ _tag: OP_END
1885
+ })), sink.unit)
1886
+ });
1887
+ return sink.fromChannel(Function_dist_effectFunction.pipe(sink.fromEffect(Deferred_dist_effectDeferred.succeed(deferred, z)), sink.zipRight(sink.fromEffect(Function_dist_effectFunction.pipe(handoff, offer({
1888
+ _tag: OP_EMIT,
1889
+ elements: leftovers
1890
+ })))), sink.zipRight(loop)));
1891
+ }
1892
+ });
1893
+ const producer = Function_dist_effectFunction.pipe(take$1(handoff), Effect_dist_effectEffect.map(signal => {
1894
+ switch (signal._tag) {
1895
+ case OP_EMIT:
1896
+ {
1897
+ return Function_dist_effectFunction.pipe(sink.write(signal.elements), sink.flatMap(() => producer));
1898
+ }
1899
+ case OP_HALT:
1900
+ {
1901
+ return sink.failCause(signal.cause);
1902
+ }
1903
+ case OP_END:
1904
+ {
1905
+ return sink.unit;
1906
+ }
1907
+ }
1908
+ }), sink.unwrap);
1909
+ return Function_dist_effectFunction.pipe(self, tapErrorCause(cause => Deferred_dist_effectDeferred.failCause(deferred, cause)), run(consumer), Effect_dist_effectEffect.forkScoped, Effect_dist_effectEffect.zipRight(Deferred_dist_effectDeferred._await(deferred)), Effect_dist_effectEffect.map(z => [z, new StreamImpl(producer)]));
1910
+ }))), Effect_dist_effectEffect.flatten);
1911
+ });
1912
+
1913
+ /** @internal */
1914
+ const partition = /*#__PURE__*/Function_dist_effectFunction.dual(args => typeof args[1] === "function", (self, predicate, options) => partitionEither(self, a => Effect_dist_effectEffect.succeed(predicate(a) ? Either_dist_effectEither.left(a) : Either_dist_effectEither.right(a)), options));
1915
+
1916
+ /** @internal */
1917
+ const partitionEither = /*#__PURE__*/Function_dist_effectFunction.dual(args => typeof args[1] === "function", (self, predicate, options) => Function_dist_effectFunction.pipe(mapEffectSequential(self, predicate), distributedWith({
1918
+ size: 2,
1919
+ maximumLag: options?.bufferSize ?? 16,
1920
+ decide: Either_dist_effectEither.match({
1921
+ onLeft: () => Effect_dist_effectEffect.succeed(n => n === 0),
1922
+ onRight: () => Effect_dist_effectEffect.succeed(n => n === 1)
1923
+ })
1924
+ }), Effect_dist_effectEffect.flatMap(([queue1, queue2]) => Effect_dist_effectEffect.succeed([filterMap(flattenExitOption(fromQueue(queue1, {
1925
+ shutdown: true
1926
+ })), _ => Either_dist_effectEither.match(_, {
1927
+ onLeft: Option_dist_effectOption.some,
1928
+ onRight: Option_dist_effectOption.none
1929
+ })), filterMap(flattenExitOption(fromQueue(queue2, {
1930
+ shutdown: true
1931
+ })), _ => Either_dist_effectEither.match(_, {
1932
+ onLeft: Option_dist_effectOption.none,
1933
+ onRight: Option_dist_effectOption.some
1934
+ }))]))));
1935
+
1936
+ /** @internal */
1937
+ const pipeThrough = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, sink$1) => new StreamImpl(Function_dist_effectFunction.pipe(toChannel(self), sink.pipeToOrFail(sink.toChannel(sink$1)))));
1938
+
1939
+ /** @internal */
1940
+ const pipeThroughChannel = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, channel) => new StreamImpl(Function_dist_effectFunction.pipe(toChannel(self), sink.pipeTo(channel))));
1941
+
1942
+ /** @internal */
1943
+ const pipeThroughChannelOrFail = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, chan) => new StreamImpl(Function_dist_effectFunction.pipe(toChannel(self), sink.pipeToOrFail(chan))));
1944
+
1945
+ /** @internal */
1946
+ const prepend = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, values) => new StreamImpl(sink.zipRight(sink.write(values), toChannel(self))));
1947
+
1948
+ /** @internal */
1949
+ const provideContext = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, context) => new StreamImpl(Function_dist_effectFunction.pipe(toChannel(self), sink.provideContext(context))));
1950
+
1951
+ /** @internal */
1952
+ const provideLayer = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, layer) => new StreamImpl(sink.unwrapScoped(Function_dist_effectFunction.pipe(Layer_dist_effectLayer.build(layer), Effect_dist_effectEffect.map(env => Function_dist_effectFunction.pipe(toChannel(self), sink.provideContext(env)))))));
1953
+
1954
+ /** @internal */
1955
+ const provideService = /*#__PURE__*/Function_dist_effectFunction.dual(3, (self, tag, resource) => provideServiceEffect(self, tag, Effect_dist_effectEffect.succeed(resource)));
1956
+
1957
+ /** @internal */
1958
+ const provideServiceEffect = /*#__PURE__*/Function_dist_effectFunction.dual(3, (self, tag, effect) => provideServiceStream(self, tag, fromEffect(effect)));
1959
+
1960
+ /** @internal */
1961
+ const provideServiceStream = /*#__PURE__*/Function_dist_effectFunction.dual(3, (self, tag, stream) => contextWithStream(env => flatMap(stream, service => Function_dist_effectFunction.pipe(self, provideContext(Context_dist_effectContext.add(env, tag, service))))));
1962
+
1963
+ /** @internal */
1964
+ const mapInputContext = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, f) => contextWithStream(env => Function_dist_effectFunction.pipe(self, provideContext(f(env)))));
1965
+
1966
+ /** @internal */
1967
+ const provideSomeLayer = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, layer) =>
1968
+ // @ts-expect-error
1969
+ Function_dist_effectFunction.pipe(self, provideLayer(Function_dist_effectFunction.pipe(Layer_dist_effectLayer.context(), Layer_dist_effectLayer.merge(layer)))));
1970
+
1971
+ /** @internal */
1972
+ const range = (min, max, chunkSize = DefaultChunkSize) => suspend(() => {
1973
+ if (min > max) {
1974
+ return empty;
1975
+ }
1976
+ const go = (min, max, chunkSize) => {
1977
+ const remaining = max - min + 1;
1978
+ if (remaining > chunkSize) {
1979
+ return Function_dist_effectFunction.pipe(sink.write(Chunk_dist_effectChunk.range(min, min + chunkSize - 1)), sink.flatMap(() => go(min + chunkSize, max, chunkSize)));
1980
+ }
1981
+ return sink.write(Chunk_dist_effectChunk.range(min, min + remaining - 1));
1982
+ };
1983
+ return new StreamImpl(go(min, max, chunkSize));
1984
+ });
1985
+
1986
+ /** @internal */
1987
+ const rechunk = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, n) => suspend(() => {
1988
+ const target = Math.max(n, 1);
1989
+ const process = rechunkProcess(new StreamRechunker(target), target);
1990
+ return new StreamImpl(Function_dist_effectFunction.pipe(toChannel(self), sink.pipeTo(process)));
1991
+ }));
1992
+
1993
+ /** @internal */
1994
+ const rechunkProcess = (rechunker, target) => sink.readWithCause({
1995
+ onInput: chunk => {
1996
+ if (chunk.length === target && rechunker.isEmpty()) {
1997
+ return sink.flatMap(sink.write(chunk), () => rechunkProcess(rechunker, target));
1998
+ }
1999
+ if (chunk.length > 0) {
2000
+ const chunks = [];
2001
+ let result = undefined;
2002
+ let index = 0;
2003
+ while (index < chunk.length) {
2004
+ while (index < chunk.length && result === undefined) {
2005
+ result = rechunker.write(Function_dist_effectFunction.pipe(chunk, Chunk_dist_effectChunk.unsafeGet(index)));
2006
+ index = index + 1;
2007
+ }
2008
+ if (result !== undefined) {
2009
+ chunks.push(result);
2010
+ result = undefined;
2011
+ }
2012
+ }
2013
+ return sink.flatMap(sink.writeAll(...chunks), () => rechunkProcess(rechunker, target));
2014
+ }
2015
+ return sink.suspend(() => rechunkProcess(rechunker, target));
2016
+ },
2017
+ onFailure: cause => sink.zipRight(rechunker.emitIfNotEmpty(), sink.failCause(cause)),
2018
+ onDone: () => rechunker.emitIfNotEmpty()
2019
+ });
2020
+
2021
+ /** @internal */
2022
+ class StreamRechunker {
2023
+ builder = [];
2024
+ pos = 0;
2025
+ constructor(n) {
2026
+ this.n = n;
2027
+ }
2028
+ isEmpty() {
2029
+ return this.pos === 0;
2030
+ }
2031
+ write(elem) {
2032
+ this.builder.push(elem);
2033
+ this.pos += 1;
2034
+ if (this.pos === this.n) {
2035
+ const result = Chunk_dist_effectChunk.unsafeFromArray(this.builder);
2036
+ this.builder = [];
2037
+ this.pos = 0;
2038
+ return result;
2039
+ }
2040
+ return undefined;
2041
+ }
2042
+ emitIfNotEmpty() {
2043
+ if (this.pos !== 0) {
2044
+ return sink.write(Chunk_dist_effectChunk.unsafeFromArray(this.builder));
2045
+ }
2046
+ return sink.unit;
2047
+ }
2048
+ }
2049
+
2050
+ /** @internal */
2051
+ const refineOrDie = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, pf) => Function_dist_effectFunction.pipe(self, refineOrDieWith(pf, Function_dist_effectFunction.identity)));
2052
+
2053
+ /** @internal */
2054
+ const refineOrDieWith = /*#__PURE__*/Function_dist_effectFunction.dual(3, (self, pf, f) => new StreamImpl(sink.catchAll(toChannel(self), error => Option_dist_effectOption.match(pf(error), {
2055
+ onNone: () => sink.failCause(Cause_dist_effectCause.die(f(error))),
2056
+ onSome: sink.fail
2057
+ }))));
2058
+
2059
+ /** @internal */
2060
+ const repeat = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, schedule) => filterMap(repeatEither(self, schedule), _ => Either_dist_effectEither.match(_, {
2061
+ onLeft: Option_dist_effectOption.none,
2062
+ onRight: Option_dist_effectOption.some
2063
+ })));
2064
+
2065
+ /** @internal */
2066
+ const repeatEffect = effect => repeatEffectOption(Function_dist_effectFunction.pipe(effect, Effect_dist_effectEffect.mapError(Option_dist_effectOption.some)));
2067
+
2068
+ /** @internal */
2069
+ const repeatEffectChunk = effect => repeatEffectChunkOption(Function_dist_effectFunction.pipe(effect, Effect_dist_effectEffect.mapError(Option_dist_effectOption.some)));
2070
+
2071
+ /** @internal */
2072
+ const repeatEffectChunkOption = effect => unfoldChunkEffect(effect, effect => Function_dist_effectFunction.pipe(Effect_dist_effectEffect.map(effect, chunk => Option_dist_effectOption.some([chunk, effect])), Effect_dist_effectEffect.catchAll(Option_dist_effectOption.match({
2073
+ onNone: () => Effect_dist_effectEffect.succeed(Option_dist_effectOption.none()),
2074
+ onSome: Effect_dist_effectEffect.fail
2075
+ }))));
2076
+
2077
+ /** @internal */
2078
+ const repeatEffectOption = effect => repeatEffectChunkOption(Function_dist_effectFunction.pipe(effect, Effect_dist_effectEffect.map(Chunk_dist_effectChunk.of)));
2079
+
2080
+ /** @internal */
2081
+ const repeatEither = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, schedule) => repeatWith(self, schedule, {
2082
+ onElement: a => Either_dist_effectEither.right(a),
2083
+ onSchedule: Either_dist_effectEither.left
2084
+ }));
2085
+
2086
+ /** @internal */
2087
+ const repeatElements = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, schedule) => filterMap(repeatElementsWith(self, schedule, {
2088
+ onElement: a => Option_dist_effectOption.some(a),
2089
+ onSchedule: Option_dist_effectOption.none
2090
+ }), Function_dist_effectFunction.identity));
2091
+
2092
+ /** @internal */
2093
+ const repeatElementsWith = /*#__PURE__*/Function_dist_effectFunction.dual(3, (self, schedule, options) => {
2094
+ const driver = Function_dist_effectFunction.pipe(Schedule_dist_effectSchedule.driver(schedule), Effect_dist_effectEffect.map(driver => {
2095
+ const feed = input => Option_dist_effectOption.match(Chunk_dist_effectChunk.head(input), {
2096
+ onNone: () => loop,
2097
+ onSome: a => sink.zipRight(sink.write(Chunk_dist_effectChunk.of(options.onElement(a))), step(Function_dist_effectFunction.pipe(input, Chunk_dist_effectChunk.drop(1)), a))
2098
+ });
2099
+ const step = (input, a) => {
2100
+ const advance = Function_dist_effectFunction.pipe(driver.next(a), Effect_dist_effectEffect.as(Function_dist_effectFunction.pipe(sink.write(Chunk_dist_effectChunk.of(options.onElement(a))), sink.flatMap(() => step(input, a)))));
2101
+ const reset = Function_dist_effectFunction.pipe(driver.last(), Effect_dist_effectEffect.orDie, Effect_dist_effectEffect.flatMap(b => Function_dist_effectFunction.pipe(driver.reset(), Effect_dist_effectEffect.map(() => Function_dist_effectFunction.pipe(sink.write(Chunk_dist_effectChunk.of(options.onSchedule(b))), sink.zipRight(feed(input)))))));
2102
+ return Function_dist_effectFunction.pipe(advance, Effect_dist_effectEffect.orElse(() => reset), sink.unwrap);
2103
+ };
2104
+ const loop = sink.readWith({
2105
+ onInput: feed,
2106
+ onFailure: sink.fail,
2107
+ onDone: () => sink.unit
2108
+ });
2109
+ return loop;
2110
+ }), sink.unwrap);
2111
+ return new StreamImpl(Function_dist_effectFunction.pipe(toChannel(self), sink.pipeTo(driver)));
2112
+ });
2113
+
2114
+ /** @internal */
2115
+ const repeatValue = value => new StreamImpl(sink.repeated(sink.write(Chunk_dist_effectChunk.of(value))));
2116
+
2117
+ /** @internal */
2118
+ const repeatWith = /*#__PURE__*/Function_dist_effectFunction.dual(3, (self, schedule, options) => {
2119
+ return Function_dist_effectFunction.pipe(Schedule_dist_effectSchedule.driver(schedule), Effect_dist_effectEffect.map(driver => {
2120
+ const scheduleOutput = Function_dist_effectFunction.pipe(driver.last(), Effect_dist_effectEffect.orDie, Effect_dist_effectEffect.map(options.onSchedule));
2121
+ const process = Function_dist_effectFunction.pipe(self, map(options.onElement), toChannel);
2122
+ const loop = sink.unwrap(Effect_dist_effectEffect.match(driver.next(void 0), {
2123
+ onFailure: () => sink.unit,
2124
+ onSuccess: () => Function_dist_effectFunction.pipe(process, sink.zipRight(Function_dist_effectFunction.pipe(scheduleOutput, Effect_dist_effectEffect.map(c => Function_dist_effectFunction.pipe(sink.write(Chunk_dist_effectChunk.of(c)), sink.flatMap(() => loop))), sink.unwrap)))
2125
+ }));
2126
+ return new StreamImpl(Function_dist_effectFunction.pipe(process, sink.zipRight(loop)));
2127
+ }), unwrap);
2128
+ });
2129
+
2130
+ /** @internal */
2131
+ const repeatWithSchedule = (value, schedule) => repeatEffectWithSchedule(Effect_dist_effectEffect.succeed(value), schedule);
2132
+
2133
+ /** @internal */
2134
+ const repeatEffectWithSchedule = (effect, schedule) => flatMap(fromEffect(Effect_dist_effectEffect.zip(effect, Schedule_dist_effectSchedule.driver(schedule))), ([a, driver]) => concat(succeed(a), unfoldEffect(a, s => Effect_dist_effectEffect.matchEffect(driver.next(s), {
2135
+ onFailure: Effect_dist_effectEffect.succeed,
2136
+ onSuccess: () => Effect_dist_effectEffect.map(effect, nextA => Option_dist_effectOption.some([nextA, nextA]))
2137
+ }))));
2138
+
2139
+ /** @internal */
2140
+ const retry = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, schedule) => unwrap(Effect_dist_effectEffect.map(Schedule_dist_effectSchedule.driver(schedule), driver => {
2141
+ const loop = catchAll(self, error => unwrap(Effect_dist_effectEffect.matchEffect(driver.next(error), {
2142
+ onFailure: () => Effect_dist_effectEffect.fail(error),
2143
+ onSuccess: () => Effect_dist_effectEffect.succeed(Function_dist_effectFunction.pipe(loop, tap(() => driver.reset())))
2144
+ })));
2145
+ return loop;
2146
+ })));
2147
+
2148
+ /** @internal */
2149
+ const run = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, sink$1) => Function_dist_effectFunction.pipe(toChannel(self), sink.pipeToOrFail(sink.toChannel(sink$1)), sink.runDrain));
2150
+
2151
+ /** @internal */
2152
+ const runCollect = self => Function_dist_effectFunction.pipe(self, run(sink.collectAll()));
2153
+
2154
+ /** @internal */
2155
+ const runCount = self => Function_dist_effectFunction.pipe(self, run(sink.count));
2156
+
2157
+ /** @internal */
2158
+ const runDrain = self => Function_dist_effectFunction.pipe(self, run(sink.drain$1));
2159
+
2160
+ /** @internal */
2161
+ const runFold = /*#__PURE__*/Function_dist_effectFunction.dual(3, (self, s, f) => Function_dist_effectFunction.pipe(self, runFoldWhileScoped(s, Function_dist_effectFunction.constTrue, f), Effect_dist_effectEffect.scoped));
2162
+
2163
+ /** @internal */
2164
+ const runFoldEffect = /*#__PURE__*/Function_dist_effectFunction.dual(3, (self, s, f) => Function_dist_effectFunction.pipe(self, runFoldWhileScopedEffect(s, Function_dist_effectFunction.constTrue, f), Effect_dist_effectEffect.scoped));
2165
+
2166
+ /** @internal */
2167
+ const runFoldScoped = /*#__PURE__*/Function_dist_effectFunction.dual(3, (self, s, f) => Function_dist_effectFunction.pipe(self, runFoldWhileScoped(s, Function_dist_effectFunction.constTrue, f)));
2168
+
2169
+ /** @internal */
2170
+ const runFoldScopedEffect = /*#__PURE__*/Function_dist_effectFunction.dual(3, (self, s, f) => Function_dist_effectFunction.pipe(self, runFoldWhileScopedEffect(s, Function_dist_effectFunction.constTrue, f)));
2171
+
2172
+ /** @internal */
2173
+ const runFoldWhile = /*#__PURE__*/Function_dist_effectFunction.dual(4, (self, s, cont, f) => Function_dist_effectFunction.pipe(self, runFoldWhileScoped(s, cont, f), Effect_dist_effectEffect.scoped));
2174
+
2175
+ /** @internal */
2176
+ const runFoldWhileEffect = /*#__PURE__*/Function_dist_effectFunction.dual(4, (self, s, cont, f) => Function_dist_effectFunction.pipe(self, runFoldWhileScopedEffect(s, cont, f), Effect_dist_effectEffect.scoped));
2177
+
2178
+ /** @internal */
2179
+ const runFoldWhileScoped = /*#__PURE__*/Function_dist_effectFunction.dual(4, (self, s, cont, f) => Function_dist_effectFunction.pipe(self, runScoped(sink.fold(s, cont, f))));
2180
+
2181
+ /** @internal */
2182
+ const runFoldWhileScopedEffect = /*#__PURE__*/Function_dist_effectFunction.dual(4, (self, s, cont, f) => Function_dist_effectFunction.pipe(self, runScoped(sink.foldEffect(s, cont, f))));
2183
+
2184
+ /** @internal */
2185
+ const runForEach = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, f) => Function_dist_effectFunction.pipe(self, run(sink.forEach(f))));
2186
+
2187
+ /** @internal */
2188
+ const runForEachChunk = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, f) => Function_dist_effectFunction.pipe(self, run(sink.forEachChunk(f))));
2189
+
2190
+ /** @internal */
2191
+ const runForEachChunkScoped = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, f) => Function_dist_effectFunction.pipe(self, runScoped(sink.forEachChunk(f))));
2192
+
2193
+ /** @internal */
2194
+ const runForEachScoped = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, f) => Function_dist_effectFunction.pipe(self, runScoped(sink.forEach(f))));
2195
+
2196
+ /** @internal */
2197
+ const runForEachWhile = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, f) => Function_dist_effectFunction.pipe(self, run(sink.forEachWhile(f))));
2198
+
2199
+ /** @internal */
2200
+ const runForEachWhileScoped = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, f) => Function_dist_effectFunction.pipe(self, runScoped(sink.forEachWhile(f))));
2201
+
2202
+ /** @internal */
2203
+ const runHead = self => Function_dist_effectFunction.pipe(self, run(sink.head()));
2204
+
2205
+ /** @internal */
2206
+ const runIntoHub = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, hub) => Function_dist_effectFunction.pipe(self, runIntoQueue(hub)));
2207
+
2208
+ /** @internal */
2209
+ const runIntoHubScoped = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, hub) => Function_dist_effectFunction.pipe(self, runIntoQueueScoped(hub)));
2210
+
2211
+ /** @internal */
2212
+ const runIntoQueue = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, queue) => Function_dist_effectFunction.pipe(self, runIntoQueueScoped(queue), Effect_dist_effectEffect.scoped));
2213
+
2214
+ /** @internal */
2215
+ const runIntoQueueElementsScoped = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, queue) => {
2216
+ const writer = sink.readWithCause({
2217
+ onInput: input => sink.flatMap(sink.fromEffect(Queue_dist_effectQueue.offerAll(queue, Chunk_dist_effectChunk.map(input, Exit_dist_effectExit.succeed))), () => writer),
2218
+ onFailure: cause => sink.fromEffect(Queue_dist_effectQueue.offer(queue, Exit_dist_effectExit.failCause(Cause_dist_effectCause.map(cause, Option_dist_effectOption.some)))),
2219
+ onDone: () => sink.fromEffect(Queue_dist_effectQueue.offer(queue, Exit_dist_effectExit.fail(Option_dist_effectOption.none())))
2220
+ });
2221
+ return Function_dist_effectFunction.pipe(sink.pipeTo(toChannel(self), writer), sink.drain, sink.runScoped, Effect_dist_effectEffect.asUnit);
2222
+ });
2223
+
2224
+ /** @internal */
2225
+ const runIntoQueueScoped = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, queue) => {
2226
+ const writer = sink.readWithCause({
2227
+ onInput: input => sink.flatMap(sink.write(take$2.chunk(input)), () => writer),
2228
+ onFailure: cause => sink.write(take$2.failCause(cause)),
2229
+ onDone: () => sink.write(take$2.end)
2230
+ });
2231
+ return Function_dist_effectFunction.pipe(sink.pipeTo(toChannel(self), writer), sink.mapOutEffect(take => Queue_dist_effectQueue.offer(queue, take)), sink.drain, sink.runScoped, Effect_dist_effectEffect.asUnit);
2232
+ });
2233
+
2234
+ /** @internal */
2235
+ const runLast = self => Function_dist_effectFunction.pipe(self, run(sink.last()));
2236
+
2237
+ /** @internal */
2238
+ const runScoped = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, sink$1) => Function_dist_effectFunction.pipe(toChannel(self), sink.pipeToOrFail(sink.toChannel(sink$1)), sink.drain, sink.runScoped));
2239
+
2240
+ /** @internal */
2241
+ const runSum = self => Function_dist_effectFunction.pipe(self, run(sink.sum));
2242
+
2243
+ /** @internal */
2244
+ const scan = /*#__PURE__*/Function_dist_effectFunction.dual(3, (self, s, f) => Function_dist_effectFunction.pipe(self, scanEffect(s, (s, a) => Effect_dist_effectEffect.succeed(f(s, a)))));
2245
+
2246
+ /** @internal */
2247
+ const scanReduce = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, f) => Function_dist_effectFunction.pipe(self, scanReduceEffect((a2, a) => Effect_dist_effectEffect.succeed(f(a2, a)))));
2248
+
2249
+ /** @internal */
2250
+ const scanReduceEffect = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, f) => Function_dist_effectFunction.pipe(self, mapAccumEffect(Option_dist_effectOption.none(), (option, a) => {
2251
+ switch (option._tag) {
2252
+ case "None":
2253
+ {
2254
+ return Effect_dist_effectEffect.succeed([Option_dist_effectOption.some(a), a]);
2255
+ }
2256
+ case "Some":
2257
+ {
2258
+ return Function_dist_effectFunction.pipe(f(option.value, a), Effect_dist_effectEffect.map(b => [Option_dist_effectOption.some(b), b]));
2259
+ }
2260
+ }
2261
+ })));
2262
+
2263
+ /** @internal */
2264
+ const schedule = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, schedule) => filterMap(scheduleWith(self, schedule, {
2265
+ onElement: Option_dist_effectOption.some,
2266
+ onSchedule: Option_dist_effectOption.none
2267
+ }), Function_dist_effectFunction.identity));
2268
+
2269
+ /** @internal */
2270
+ const scheduleWith = /*#__PURE__*/Function_dist_effectFunction.dual(3, (self, schedule, options) => {
2271
+ const loop = (driver, iterator) => {
2272
+ const next = iterator.next();
2273
+ if (next.done) {
2274
+ return sink.readWithCause({
2275
+ onInput: chunk => loop(driver, chunk[Symbol.iterator]()),
2276
+ onFailure: sink.failCause,
2277
+ onDone: sink.succeedNow
2278
+ });
2279
+ }
2280
+ return sink.unwrap(Effect_dist_effectEffect.matchEffect(driver.next(next.value), {
2281
+ onFailure: () => Function_dist_effectFunction.pipe(driver.last(), Effect_dist_effectEffect.orDie, Effect_dist_effectEffect.map(b => Function_dist_effectFunction.pipe(sink.write(Chunk_dist_effectChunk.make(options.onElement(next.value), options.onSchedule(b))), sink.flatMap(() => loop(driver, iterator)))), Effect_dist_effectEffect.zipLeft(driver.reset())),
2282
+ onSuccess: () => Effect_dist_effectEffect.succeed(Function_dist_effectFunction.pipe(sink.write(Chunk_dist_effectChunk.of(options.onElement(next.value))), sink.flatMap(() => loop(driver, iterator))))
2283
+ }));
2284
+ };
2285
+ return new StreamImpl(Function_dist_effectFunction.pipe(sink.fromEffect(Schedule_dist_effectSchedule.driver(schedule)), sink.flatMap(driver => Function_dist_effectFunction.pipe(toChannel(self), sink.pipeTo(loop(driver, Chunk_dist_effectChunk.empty()[Symbol.iterator]()))))));
2286
+ });
2287
+
2288
+ /** @internal */
2289
+ const scanEffect = /*#__PURE__*/Function_dist_effectFunction.dual(3, (self, s, f) => new StreamImpl(Function_dist_effectFunction.pipe(sink.write(Chunk_dist_effectChunk.of(s)), sink.flatMap(() => toChannel(Function_dist_effectFunction.pipe(self, mapAccumEffect(s, (s, a) => Function_dist_effectFunction.pipe(f(s, a), Effect_dist_effectEffect.map(s => [s, s])))))))));
2290
+
2291
+ /** @internal */
2292
+ const scoped = effect => new StreamImpl(sink.ensuring(sink.scoped(Function_dist_effectFunction.pipe(effect, Effect_dist_effectEffect.map(Chunk_dist_effectChunk.of))), Effect_dist_effectEffect.unit));
2293
+
2294
+ /** @internal */
2295
+ const some = self => Function_dist_effectFunction.pipe(self, mapError(Option_dist_effectOption.some), someOrFail(() => Option_dist_effectOption.none()));
2296
+
2297
+ /** @internal */
2298
+ const someOrElse = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, fallback) => Function_dist_effectFunction.pipe(self, map(Option_dist_effectOption.getOrElse(fallback))));
2299
+
2300
+ /** @internal */
2301
+ const someOrFail = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, error) => mapEffectSequential(self, Option_dist_effectOption.match({
2302
+ onNone: () => Effect_dist_effectEffect.failSync(error),
2303
+ onSome: Effect_dist_effectEffect.succeed
2304
+ })));
2305
+
2306
+ /** @internal */
2307
+ const sliding = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, chunkSize) => slidingSize(self, chunkSize, 1));
2308
+
2309
+ /** @internal */
2310
+ const slidingSize = /*#__PURE__*/Function_dist_effectFunction.dual(3, (self, chunkSize, stepSize) => {
2311
+ if (chunkSize <= 0 || stepSize <= 0) {
2312
+ return die(Cause_dist_effectCause.IllegalArgumentException("Invalid bounds - `chunkSize` and `stepSize` must be greater than zero"));
2313
+ }
2314
+ return new StreamImpl(sink.suspend(() => {
2315
+ const queue = new RingBuffer(chunkSize);
2316
+ const emitOnStreamEnd = (queueSize, channelEnd) => {
2317
+ if (queueSize < chunkSize) {
2318
+ const items = queue.toChunk();
2319
+ const result = Chunk_dist_effectChunk.isEmpty(items) ? Chunk_dist_effectChunk.empty() : Chunk_dist_effectChunk.of(items);
2320
+ return Function_dist_effectFunction.pipe(sink.write(result), sink.flatMap(() => channelEnd));
2321
+ }
2322
+ const lastEmitIndex = queueSize - (queueSize - chunkSize) % stepSize;
2323
+ if (lastEmitIndex === queueSize) {
2324
+ return channelEnd;
2325
+ }
2326
+ const leftovers = queueSize - (lastEmitIndex - chunkSize + stepSize);
2327
+ const lastItems = Function_dist_effectFunction.pipe(queue.toChunk(), Chunk_dist_effectChunk.takeRight(leftovers));
2328
+ const result = Chunk_dist_effectChunk.isEmpty(lastItems) ? Chunk_dist_effectChunk.empty() : Chunk_dist_effectChunk.of(lastItems);
2329
+ return Function_dist_effectFunction.pipe(sink.write(result), sink.flatMap(() => channelEnd));
2330
+ };
2331
+ const reader = queueSize => sink.readWithCause({
2332
+ onInput: input => sink.flatMap(sink.write(Chunk_dist_effectChunk.filterMap(input, (element, index) => {
2333
+ queue.put(element);
2334
+ const currentIndex = queueSize + index + 1;
2335
+ if (currentIndex < chunkSize || (currentIndex - chunkSize) % stepSize > 0) {
2336
+ return Option_dist_effectOption.none();
2337
+ }
2338
+ return Option_dist_effectOption.some(queue.toChunk());
2339
+ })), () => reader(queueSize + input.length)),
2340
+ onFailure: cause => emitOnStreamEnd(queueSize, sink.failCause(cause)),
2341
+ onDone: () => emitOnStreamEnd(queueSize, sink.unit)
2342
+ });
2343
+ return Function_dist_effectFunction.pipe(toChannel(self), sink.pipeTo(reader(0)));
2344
+ }));
2345
+ });
2346
+
2347
+ /** @internal */
2348
+ const split = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, predicate) => {
2349
+ const split = (leftovers, input) => {
2350
+ const [chunk, remaining] = Function_dist_effectFunction.pipe(leftovers, Chunk_dist_effectChunk.appendAll(input), Chunk_dist_effectChunk.splitWhere(predicate));
2351
+ if (Chunk_dist_effectChunk.isEmpty(chunk) || Chunk_dist_effectChunk.isEmpty(remaining)) {
2352
+ return loop(Function_dist_effectFunction.pipe(chunk, Chunk_dist_effectChunk.appendAll(Function_dist_effectFunction.pipe(remaining, Chunk_dist_effectChunk.drop(1)))));
2353
+ }
2354
+ return Function_dist_effectFunction.pipe(sink.write(Chunk_dist_effectChunk.of(chunk)), sink.flatMap(() => split(Chunk_dist_effectChunk.empty(), Function_dist_effectFunction.pipe(remaining, Chunk_dist_effectChunk.drop(1)))));
2355
+ };
2356
+ const loop = leftovers => sink.readWith({
2357
+ onInput: input => split(leftovers, input),
2358
+ onFailure: sink.fail,
2359
+ onDone: () => {
2360
+ if (Chunk_dist_effectChunk.isEmpty(leftovers)) {
2361
+ return sink.unit;
2362
+ }
2363
+ if (Option_dist_effectOption.isNone(Function_dist_effectFunction.pipe(leftovers, Chunk_dist_effectChunk.findFirst(predicate)))) {
2364
+ return sink.zipRight(sink.write(Chunk_dist_effectChunk.of(leftovers)), sink.unit);
2365
+ }
2366
+ return sink.zipRight(split(Chunk_dist_effectChunk.empty(), leftovers), sink.unit);
2367
+ }
2368
+ });
2369
+ return new StreamImpl(Function_dist_effectFunction.pipe(toChannel(self), sink.pipeTo(loop(Chunk_dist_effectChunk.empty()))));
2370
+ });
2371
+
2372
+ /** @internal */
2373
+ const splitOnChunk = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, delimiter) => {
2374
+ const next = (leftover, delimiterIndex) => sink.readWithCause({
2375
+ onInput: inputChunk => {
2376
+ let buffer;
2377
+ const [carry, delimiterCursor] = Function_dist_effectFunction.pipe(inputChunk, Chunk_dist_effectChunk.reduce([Function_dist_effectFunction.pipe(leftover, Option_dist_effectOption.getOrElse(() => Chunk_dist_effectChunk.empty())), delimiterIndex], ([carry, delimiterCursor], a) => {
2378
+ const concatenated = Function_dist_effectFunction.pipe(carry, Chunk_dist_effectChunk.append(a));
2379
+ if (delimiterCursor < delimiter.length && Equal_dist_effectEqual.equals(a, Function_dist_effectFunction.pipe(delimiter, Chunk_dist_effectChunk.unsafeGet(delimiterCursor)))) {
2380
+ if (delimiterCursor + 1 === delimiter.length) {
2381
+ if (buffer === undefined) {
2382
+ buffer = [];
2383
+ }
2384
+ buffer.push(Function_dist_effectFunction.pipe(concatenated, Chunk_dist_effectChunk.take(concatenated.length - delimiter.length)));
2385
+ return [Chunk_dist_effectChunk.empty(), 0];
2386
+ }
2387
+ return [concatenated, delimiterCursor + 1];
2388
+ }
2389
+ return [concatenated, Equal_dist_effectEqual.equals(a, Function_dist_effectFunction.pipe(delimiter, Chunk_dist_effectChunk.unsafeGet(0))) ? 1 : 0];
2390
+ }));
2391
+ const output = buffer === undefined ? Chunk_dist_effectChunk.empty() : Chunk_dist_effectChunk.unsafeFromArray(buffer);
2392
+ return sink.flatMap(sink.write(output), () => next(Chunk_dist_effectChunk.isNonEmpty(carry) ? Option_dist_effectOption.some(carry) : Option_dist_effectOption.none(), delimiterCursor));
2393
+ },
2394
+ onFailure: cause => Option_dist_effectOption.match(leftover, {
2395
+ onNone: () => sink.failCause(cause),
2396
+ onSome: chunk => sink.zipRight(sink.write(Chunk_dist_effectChunk.of(chunk)), sink.failCause(cause))
2397
+ }),
2398
+ onDone: done => Option_dist_effectOption.match(leftover, {
2399
+ onNone: () => sink.succeed(done),
2400
+ onSome: chunk => sink.zipRight(sink.write(Chunk_dist_effectChunk.of(chunk)), sink.succeed(done))
2401
+ })
2402
+ });
2403
+ return new StreamImpl(Function_dist_effectFunction.pipe(toChannel(self), sink.pipeTo(next(Option_dist_effectOption.none(), 0))));
2404
+ });
2405
+
2406
+ /** @internal */
2407
+ const splitLines = self => suspend(() => {
2408
+ let stringBuilder = "";
2409
+ let midCRLF = false;
2410
+ const splitLinesChunk = chunk => {
2411
+ const chunkBuilder = [];
2412
+ Chunk_dist_effectChunk.map(chunk, str => {
2413
+ if (str.length !== 0) {
2414
+ let from = 0;
2415
+ let indexOfCR = str.indexOf("\r");
2416
+ let indexOfLF = str.indexOf("\n");
2417
+ if (midCRLF) {
2418
+ if (indexOfLF === 0) {
2419
+ chunkBuilder.push(stringBuilder);
2420
+ stringBuilder = "";
2421
+ from = 1;
2422
+ indexOfLF = str.indexOf("\n", from);
2423
+ } else {
2424
+ stringBuilder = stringBuilder + "\r";
2425
+ }
2426
+ midCRLF = false;
2427
+ }
2428
+ while (indexOfCR !== -1 || indexOfLF !== -1) {
2429
+ if (indexOfCR === -1 || indexOfLF !== -1 && indexOfLF < indexOfCR) {
2430
+ if (stringBuilder.length === 0) {
2431
+ chunkBuilder.push(str.substring(from, indexOfLF));
2432
+ } else {
2433
+ chunkBuilder.push(stringBuilder + str.substring(from, indexOfLF));
2434
+ stringBuilder = "";
2435
+ }
2436
+ from = indexOfLF + 1;
2437
+ indexOfLF = str.indexOf("\n", from);
2438
+ } else {
2439
+ if (str.length === indexOfCR + 1) {
2440
+ midCRLF = true;
2441
+ indexOfCR = -1;
2442
+ } else {
2443
+ if (indexOfLF === indexOfCR + 1) {
2444
+ if (stringBuilder.length === 0) {
2445
+ chunkBuilder.push(str.substring(from, indexOfCR));
2446
+ } else {
2447
+ stringBuilder = stringBuilder + str.substring(from, indexOfCR);
2448
+ chunkBuilder.push(stringBuilder);
2449
+ stringBuilder = "";
2450
+ }
2451
+ from = indexOfCR + 2;
2452
+ indexOfCR = str.indexOf("\r", from);
2453
+ indexOfLF = str.indexOf("\n", from);
2454
+ } else {
2455
+ indexOfCR = str.indexOf("\r", indexOfCR + 1);
2456
+ }
2457
+ }
2458
+ }
2459
+ }
2460
+ if (midCRLF) {
2461
+ stringBuilder = stringBuilder + str.substring(from, str.length - 1);
2462
+ } else {
2463
+ stringBuilder = stringBuilder + str.substring(from, str.length);
2464
+ }
2465
+ }
2466
+ });
2467
+ return Chunk_dist_effectChunk.unsafeFromArray(chunkBuilder);
2468
+ };
2469
+ const loop = sink.readWithCause({
2470
+ onInput: input => {
2471
+ const out = splitLinesChunk(input);
2472
+ return Chunk_dist_effectChunk.isEmpty(out) ? loop : sink.flatMap(sink.write(out), () => loop);
2473
+ },
2474
+ onFailure: cause => stringBuilder.length === 0 ? sink.failCause(cause) : sink.flatMap(sink.write(Chunk_dist_effectChunk.of(stringBuilder)), () => sink.failCause(cause)),
2475
+ onDone: done => stringBuilder.length === 0 ? sink.succeed(done) : sink.flatMap(sink.write(Chunk_dist_effectChunk.of(stringBuilder)), () => sink.succeed(done))
2476
+ });
2477
+ return new StreamImpl(sink.pipeTo(toChannel(self), loop));
2478
+ });
2479
+
2480
+ /** @internal */
2481
+ const succeed = value => fromChunk(Chunk_dist_effectChunk.of(value));
2482
+
2483
+ /** @internal */
2484
+ const sync = evaluate => suspend(() => fromChunk(Chunk_dist_effectChunk.of(evaluate())));
2485
+
2486
+ /** @internal */
2487
+ const suspend = stream => new StreamImpl(sink.suspend(() => toChannel(stream())));
2488
+
2489
+ /** @internal */
2490
+ const take = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, n) => {
2491
+ if (!Number.isInteger(n)) {
2492
+ return die(Cause_dist_effectCause.IllegalArgumentException(`${n} must be an integer`));
2493
+ }
2494
+ const loop = n => sink.readWith({
2495
+ onInput: input => {
2496
+ const taken = Function_dist_effectFunction.pipe(input, Chunk_dist_effectChunk.take(Math.min(n, Number.POSITIVE_INFINITY)));
2497
+ const leftover = Math.max(0, n - taken.length);
2498
+ const more = leftover > 0;
2499
+ if (more) {
2500
+ return Function_dist_effectFunction.pipe(sink.write(taken), sink.flatMap(() => loop(leftover)));
2501
+ }
2502
+ return sink.write(taken);
2503
+ },
2504
+ onFailure: sink.fail,
2505
+ onDone: sink.succeed
2506
+ });
2507
+ return new StreamImpl(Function_dist_effectFunction.pipe(toChannel(self), sink.pipeToOrFail(0 < n ? loop(n) : sink.unit)));
2508
+ });
2509
+
2510
+ /** @internal */
2511
+ const takeRight = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, n) => {
2512
+ if (n <= 0) {
2513
+ return empty;
2514
+ }
2515
+ return new StreamImpl(Function_dist_effectFunction.pipe(Effect_dist_effectEffect.succeed(new RingBuffer(n)), Effect_dist_effectEffect.map(queue => {
2516
+ const reader = sink.readWith({
2517
+ onInput: input => {
2518
+ for (const element of input) {
2519
+ queue.put(element);
2520
+ }
2521
+ return reader;
2522
+ },
2523
+ onFailure: sink.fail,
2524
+ onDone: () => Function_dist_effectFunction.pipe(sink.write(queue.toChunk()), sink.zipRight(sink.unit))
2525
+ });
2526
+ return Function_dist_effectFunction.pipe(toChannel(self), sink.pipeTo(reader));
2527
+ }), sink.unwrap));
2528
+ });
2529
+
2530
+ /** @internal */
2531
+ const takeUntil = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, predicate) => {
2532
+ const loop = sink.readWith({
2533
+ onInput: input => {
2534
+ const taken = Function_dist_effectFunction.pipe(input, Chunk_dist_effectChunk.takeWhile(a => !predicate(a)));
2535
+ const last = Function_dist_effectFunction.pipe(input, Chunk_dist_effectChunk.drop(taken.length), Chunk_dist_effectChunk.take(1));
2536
+ if (Chunk_dist_effectChunk.isEmpty(last)) {
2537
+ return Function_dist_effectFunction.pipe(sink.write(taken), sink.flatMap(() => loop));
2538
+ }
2539
+ return sink.write(Function_dist_effectFunction.pipe(taken, Chunk_dist_effectChunk.appendAll(last)));
2540
+ },
2541
+ onFailure: sink.fail,
2542
+ onDone: sink.succeed
2543
+ });
2544
+ return new StreamImpl(Function_dist_effectFunction.pipe(toChannel(self), sink.pipeToOrFail(loop)));
2545
+ });
2546
+
2547
+ /** @internal */
2548
+ const takeUntilEffect = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, predicate) => {
2549
+ const loop = iterator => {
2550
+ const next = iterator.next();
2551
+ if (next.done) {
2552
+ return sink.readWithCause({
2553
+ onInput: elem => loop(elem[Symbol.iterator]()),
2554
+ onFailure: sink.failCause,
2555
+ onDone: sink.succeed
2556
+ });
2557
+ }
2558
+ return Function_dist_effectFunction.pipe(predicate(next.value), Effect_dist_effectEffect.map(bool => bool ? sink.write(Chunk_dist_effectChunk.of(next.value)) : Function_dist_effectFunction.pipe(sink.write(Chunk_dist_effectChunk.of(next.value)), sink.flatMap(() => loop(iterator)))), sink.unwrap);
2559
+ };
2560
+ return new StreamImpl(Function_dist_effectFunction.pipe(toChannel(self), sink.pipeTo(loop(Chunk_dist_effectChunk.empty()[Symbol.iterator]()))));
2561
+ });
2562
+
2563
+ /** @internal */
2564
+ const takeWhile = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, predicate) => {
2565
+ const loop = sink.readWith({
2566
+ onInput: input => {
2567
+ const taken = Function_dist_effectFunction.pipe(input, Chunk_dist_effectChunk.takeWhile(predicate));
2568
+ const more = taken.length === input.length;
2569
+ if (more) {
2570
+ return Function_dist_effectFunction.pipe(sink.write(taken), sink.flatMap(() => loop));
2571
+ }
2572
+ return sink.write(taken);
2573
+ },
2574
+ onFailure: sink.fail,
2575
+ onDone: sink.succeed
2576
+ });
2577
+ return new StreamImpl(Function_dist_effectFunction.pipe(toChannel(self), sink.pipeToOrFail(loop)));
2578
+ });
2579
+
2580
+ /** @internal */
2581
+ const tap = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, f) => mapEffectSequential(self, a => Effect_dist_effectEffect.as(f(a), a)));
2582
+
2583
+ /** @internal */
2584
+ const tapBoth = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, {
2585
+ onFailure,
2586
+ onSuccess
2587
+ }) => Function_dist_effectFunction.pipe(self, tapError(onFailure), tap(onSuccess)));
2588
+
2589
+ /** @internal */
2590
+ const tapError = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, f) => catchAll(self, error => fromEffect(Effect_dist_effectEffect.zipRight(f(error), Effect_dist_effectEffect.fail(error)))));
2591
+
2592
+ /** @internal */
2593
+ const tapErrorCause = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, f) => {
2594
+ const loop = sink.readWithCause({
2595
+ onInput: chunk => sink.flatMap(sink.write(chunk), () => loop),
2596
+ onFailure: cause => sink.fromEffect(Effect_dist_effectEffect.zipRight(f(cause), Effect_dist_effectEffect.failCause(cause))),
2597
+ onDone: sink.succeedNow
2598
+ });
2599
+ return new StreamImpl(Function_dist_effectFunction.pipe(toChannel(self), sink.pipeTo(loop)));
2600
+ });
2601
+
2602
+ /** @internal */
2603
+ const tapSink = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, sink$1) => Function_dist_effectFunction.pipe(fromEffect(Effect_dist_effectEffect.all([Queue_dist_effectQueue.bounded(1), Deferred_dist_effectDeferred.make()])), flatMap(([queue, deferred]) => {
2604
+ const right = flattenTake(fromQueue(queue, {
2605
+ maxChunkSize: 1
2606
+ }));
2607
+ const loop = sink.readWithCause({
2608
+ onInput: chunk => Function_dist_effectFunction.pipe(sink.fromEffect(Queue_dist_effectQueue.offer(queue, take$2.chunk(chunk))), sink.foldCauseChannel({
2609
+ onFailure: () => sink.flatMap(sink.write(chunk), () => sink.identityChannel()),
2610
+ onSuccess: () => sink.flatMap(sink.write(chunk), () => loop)
2611
+ })),
2612
+ onFailure: cause => Function_dist_effectFunction.pipe(sink.fromEffect(Queue_dist_effectQueue.offer(queue, take$2.failCause(cause))), sink.foldCauseChannel({
2613
+ onFailure: () => sink.failCause(cause),
2614
+ onSuccess: () => sink.failCause(cause)
2615
+ })),
2616
+ onDone: () => Function_dist_effectFunction.pipe(sink.fromEffect(Queue_dist_effectQueue.offer(queue, take$2.end)), sink.foldCauseChannel({
2617
+ onFailure: () => sink.unit,
2618
+ onSuccess: () => sink.unit
2619
+ }))
2620
+ });
2621
+ return Function_dist_effectFunction.pipe(new StreamImpl(Function_dist_effectFunction.pipe(sink.pipeTo(toChannel(self), loop), sink.ensuring(Effect_dist_effectEffect.zipRight(Effect_dist_effectEffect.forkDaemon(Queue_dist_effectQueue.offer(queue, take$2.end)), Deferred_dist_effectDeferred._await(deferred))))), merge(execute(Function_dist_effectFunction.pipe(run(right, sink$1), Effect_dist_effectEffect.ensuring(Effect_dist_effectEffect.zipRight(Queue_dist_effectQueue.shutdown(queue), Deferred_dist_effectDeferred.succeed(deferred, void 0)))))));
2622
+ })));
2623
+
2624
+ /** @internal */
2625
+ const throttle = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, options) => throttleEffect(self, {
2626
+ ...options,
2627
+ cost: chunk => Effect_dist_effectEffect.succeed(options.cost(chunk))
2628
+ }));
2629
+
2630
+ /** @internal */
2631
+ const throttleEffect = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, options) => {
2632
+ if (options.strategy === "enforce") {
2633
+ return throttleEnforceEffect(self, options.cost, options.units, options.duration, options.burst ?? 0);
2634
+ }
2635
+ return throttleShapeEffect(self, options.cost, options.units, options.duration, options.burst ?? 0);
2636
+ });
2637
+ const throttleEnforceEffect = (self, cost, units, duration, burst) => {
2638
+ const loop = (tokens, timestampMillis) => sink.readWithCause({
2639
+ onInput: input => Function_dist_effectFunction.pipe(cost(input), Effect_dist_effectEffect.zip(Clock_dist_effectClock.currentTimeMillis), Effect_dist_effectEffect.map(([weight, currentTimeMillis]) => {
2640
+ const elapsed = currentTimeMillis - timestampMillis;
2641
+ const cycles = elapsed / Duration_dist_effectDuration.toMillis(duration);
2642
+ const sum = tokens + cycles * units;
2643
+ const max = units + burst < 0 ? Number.POSITIVE_INFINITY : units + burst;
2644
+ const available = sum < 0 ? max : Math.min(sum, max);
2645
+ if (weight <= available) {
2646
+ return Function_dist_effectFunction.pipe(sink.write(input), sink.flatMap(() => loop(available - weight, currentTimeMillis)));
2647
+ }
2648
+ return loop(tokens, timestampMillis);
2649
+ }), sink.unwrap),
2650
+ onFailure: sink.failCause,
2651
+ onDone: () => sink.unit
2652
+ });
2653
+ const throttled = Function_dist_effectFunction.pipe(Clock_dist_effectClock.currentTimeMillis, Effect_dist_effectEffect.map(currentTimeMillis => loop(units, currentTimeMillis)), sink.unwrap);
2654
+ return new StreamImpl(Function_dist_effectFunction.pipe(toChannel(self), sink.pipeToOrFail(throttled)));
2655
+ };
2656
+ const throttleShapeEffect = (self, costFn, units, duration, burst) => {
2657
+ const loop = (tokens, timestampMillis) => sink.readWithCause({
2658
+ onInput: input => Function_dist_effectFunction.pipe(costFn(input), Effect_dist_effectEffect.zip(Clock_dist_effectClock.currentTimeMillis), Effect_dist_effectEffect.map(([weight, currentTimeMillis]) => {
2659
+ const elapsed = currentTimeMillis - timestampMillis;
2660
+ const cycles = elapsed / Duration_dist_effectDuration.toMillis(duration);
2661
+ const sum = tokens + cycles * units;
2662
+ const max = units + burst < 0 ? Number.POSITIVE_INFINITY : units + burst;
2663
+ const available = sum < 0 ? max : Math.min(sum, max);
2664
+ const remaining = available - weight;
2665
+ const waitCycles = remaining >= 0 ? 0 : -remaining / units;
2666
+ const delay = Duration_dist_effectDuration.millis(Math.max(0, waitCycles * Duration_dist_effectDuration.toMillis(duration)));
2667
+ if (Duration_dist_effectDuration.greaterThan(delay, Duration_dist_effectDuration.zero)) {
2668
+ return Function_dist_effectFunction.pipe(sink.fromEffect(Clock_dist_effectClock.sleep(delay)), sink.zipRight(sink.write(input)), sink.flatMap(() => loop(remaining, currentTimeMillis)));
2669
+ }
2670
+ return sink.flatMap(sink.write(input), () => loop(remaining, currentTimeMillis));
2671
+ }), sink.unwrap),
2672
+ onFailure: sink.failCause,
2673
+ onDone: () => sink.unit
2674
+ });
2675
+ const throttled = Function_dist_effectFunction.pipe(Clock_dist_effectClock.currentTimeMillis, Effect_dist_effectEffect.map(currentTimeMillis => loop(units, currentTimeMillis)), sink.unwrap);
2676
+ return new StreamImpl(Function_dist_effectFunction.pipe(toChannel(self), sink.pipeToOrFail(throttled)));
2677
+ };
2678
+
2679
+ /** @internal */
2680
+ const tick = interval => repeatWithSchedule(void 0, Schedule_dist_effectSchedule.spaced(interval));
2681
+
2682
+ /** @internal */
2683
+ const timeout = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, duration) => Function_dist_effectFunction.pipe(toPull(self), Effect_dist_effectEffect.map(Effect_dist_effectEffect.timeoutFail({
2684
+ onTimeout: () => Option_dist_effectOption.none(),
2685
+ duration
2686
+ })), fromPull));
2687
+
2688
+ /** @internal */
2689
+ const timeoutFail = /*#__PURE__*/Function_dist_effectFunction.dual(3, (self, error, duration) => Function_dist_effectFunction.pipe(self, timeoutTo(duration, failSync(error))));
2690
+
2691
+ /** @internal */
2692
+ const timeoutFailCause = /*#__PURE__*/Function_dist_effectFunction.dual(3, (self, cause, duration) => Function_dist_effectFunction.pipe(toPull(self), Effect_dist_effectEffect.map(Effect_dist_effectEffect.timeoutFailCause({
2693
+ onTimeout: () => Cause_dist_effectCause.map(cause(), Option_dist_effectOption.some),
2694
+ duration
2695
+ })), fromPull));
2696
+
2697
+ /** @internal */
2698
+ const timeoutTo = /*#__PURE__*/Function_dist_effectFunction.dual(3, (self, duration, that) => {
2699
+ const StreamTimeout = Cause_dist_effectCause.RuntimeException("Stream Timeout");
2700
+ return Function_dist_effectFunction.pipe(self, timeoutFailCause(() => Cause_dist_effectCause.die(StreamTimeout), duration), catchSomeCause(cause => Cause_dist_effectCause.isDieType(cause) && Cause_dist_effectCause.isRuntimeException(cause.defect) && cause.defect.message !== undefined && cause.defect.message === "Stream Timeout" ? Option_dist_effectOption.some(that) : Option_dist_effectOption.none()));
2701
+ });
2702
+
2703
+ /** @internal */
2704
+ const toHub = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, capacity) => Function_dist_effectFunction.pipe(Effect_dist_effectEffect.acquireRelease(Hub_dist_effectHub.bounded(capacity), hub => Hub_dist_effectHub.shutdown(hub)), Effect_dist_effectEffect.tap(hub => Function_dist_effectFunction.pipe(self, runIntoHubScoped(hub), Effect_dist_effectEffect.forkScoped))));
2705
+
2706
+ /** @internal */
2707
+ const toPull = self => Effect_dist_effectEffect.map(sink.toPull(toChannel(self)), pull => Function_dist_effectFunction.pipe(pull, Effect_dist_effectEffect.mapError(Option_dist_effectOption.some), Effect_dist_effectEffect.flatMap(Either_dist_effectEither.match({
2708
+ onLeft: () => Effect_dist_effectEffect.fail(Option_dist_effectOption.none()),
2709
+ onRight: Effect_dist_effectEffect.succeed
2710
+ }))));
2711
+
2712
+ /** @internal */
2713
+ const toQueue = /*#__PURE__*/Function_dist_effectFunction.dual(args => isStream(args[0]), (self, options) => Effect_dist_effectEffect.tap(Effect_dist_effectEffect.acquireRelease(options?.strategy === "unbounded" ? Queue_dist_effectQueue.unbounded() : options?.strategy === "dropping" ? Queue_dist_effectQueue.dropping(options.capacity ?? 2) : options?.strategy === "sliding" ? Queue_dist_effectQueue.sliding(options.capacity ?? 2) : Queue_dist_effectQueue.bounded(options?.capacity ?? 2), queue => Queue_dist_effectQueue.shutdown(queue)), queue => Effect_dist_effectEffect.forkScoped(runIntoQueueScoped(self, queue))));
2714
+
2715
+ /** @internal */
2716
+ const toQueueOfElements = /*#__PURE__*/Function_dist_effectFunction.dual(args => isStream(args[0]), (self, options) => Effect_dist_effectEffect.tap(Effect_dist_effectEffect.acquireRelease(Queue_dist_effectQueue.bounded(options?.capacity ?? 2), queue => Queue_dist_effectQueue.shutdown(queue)), queue => Effect_dist_effectEffect.forkScoped(runIntoQueueElementsScoped(self, queue))));
2717
+
2718
+ /** @internal */
2719
+ const toReadableStream = source => {
2720
+ let pull;
2721
+ let scope;
2722
+ return new ReadableStream({
2723
+ start(controller) {
2724
+ scope = Effect_dist_effectEffect.runSync(Scope_dist_effectScope.make());
2725
+ pull = Function_dist_effectFunction.pipe(toPull(source), Scope_dist_effectScope.use(scope), Effect_dist_effectEffect.runSync, Effect_dist_effectEffect.tap(chunk => Effect_dist_effectEffect.sync(() => {
2726
+ Chunk_dist_effectChunk.map(chunk, a => {
2727
+ controller.enqueue(a);
2728
+ });
2729
+ })), Effect_dist_effectEffect.tapErrorCause(() => Scope_dist_effectScope.close(scope, Exit_dist_effectExit.unit)), Effect_dist_effectEffect.catchTags({
2730
+ "None": () => Effect_dist_effectEffect.sync(() => {
2731
+ controller.close();
2732
+ }),
2733
+ "Some": error => Effect_dist_effectEffect.sync(() => {
2734
+ controller.error(error.value);
2735
+ })
2736
+ }), Effect_dist_effectEffect.asUnit);
2737
+ },
2738
+ pull() {
2739
+ return Effect_dist_effectEffect.runPromise(pull);
2740
+ },
2741
+ cancel() {
2742
+ return Effect_dist_effectEffect.runPromise(Scope_dist_effectScope.close(scope, Exit_dist_effectExit.unit));
2743
+ }
2744
+ });
2745
+ };
2746
+
2747
+ /** @internal */
2748
+ const transduce = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, sink$1) => {
2749
+ const newChannel = sink.suspend(() => {
2750
+ const leftovers = {
2751
+ ref: Chunk_dist_effectChunk.empty()
2752
+ };
2753
+ const upstreamDone = {
2754
+ ref: false
2755
+ };
2756
+ const buffer = sink.suspend(() => {
2757
+ const leftover = leftovers.ref;
2758
+ if (Chunk_dist_effectChunk.isEmpty(leftover)) {
2759
+ return sink.readWith({
2760
+ onInput: input => Function_dist_effectFunction.pipe(sink.write(input), sink.flatMap(() => buffer)),
2761
+ onFailure: sink.fail,
2762
+ onDone: sink.succeedNow
2763
+ });
2764
+ }
2765
+ leftovers.ref = Chunk_dist_effectChunk.empty();
2766
+ return Function_dist_effectFunction.pipe(sink.writeChunk(leftover), sink.flatMap(() => buffer));
2767
+ });
2768
+ const concatAndGet = chunk => {
2769
+ const leftover = leftovers.ref;
2770
+ const concatenated = Chunk_dist_effectChunk.appendAll(leftover, Chunk_dist_effectChunk.filter(chunk, chunk => chunk.length !== 0));
2771
+ leftovers.ref = concatenated;
2772
+ return concatenated;
2773
+ };
2774
+ const upstreamMarker = sink.readWith({
2775
+ onInput: input => sink.flatMap(sink.write(input), () => upstreamMarker),
2776
+ onFailure: sink.fail,
2777
+ onDone: done => sink.zipRight(sink.sync(() => {
2778
+ upstreamDone.ref = true;
2779
+ }), sink.succeedNow(done))
2780
+ });
2781
+ const transducer = Function_dist_effectFunction.pipe(sink$1, sink.toChannel, sink.collectElements, sink.flatMap(([leftover, z]) => Function_dist_effectFunction.pipe(sink.succeed([upstreamDone.ref, concatAndGet(leftover)]), sink.flatMap(([done, newLeftovers]) => {
2782
+ const nextChannel = done && Chunk_dist_effectChunk.isEmpty(newLeftovers) ? sink.unit : transducer;
2783
+ return Function_dist_effectFunction.pipe(sink.write(Chunk_dist_effectChunk.of(z)), sink.flatMap(() => nextChannel));
2784
+ }))));
2785
+ return Function_dist_effectFunction.pipe(toChannel(self), sink.pipeTo(upstreamMarker), sink.pipeTo(buffer), sink.pipeToOrFail(transducer));
2786
+ });
2787
+ return new StreamImpl(newChannel);
2788
+ });
2789
+
2790
+ /** @internal */
2791
+ const unfold = (s, f) => unfoldChunk(s, s => Function_dist_effectFunction.pipe(f(s), Option_dist_effectOption.map(([a, s]) => [Chunk_dist_effectChunk.of(a), s])));
2792
+
2793
+ /** @internal */
2794
+ const unfoldChunk = (s, f) => {
2795
+ const loop = s => Option_dist_effectOption.match(f(s), {
2796
+ onNone: () => sink.unit,
2797
+ onSome: ([chunk, s]) => sink.flatMap(sink.write(chunk), () => loop(s))
2798
+ });
2799
+ return new StreamImpl(sink.suspend(() => loop(s)));
2800
+ };
2801
+
2802
+ /** @internal */
2803
+ const unfoldChunkEffect = (s, f) => suspend(() => {
2804
+ const loop = s => sink.unwrap(Effect_dist_effectEffect.map(f(s), Option_dist_effectOption.match({
2805
+ onNone: () => sink.unit,
2806
+ onSome: ([chunk, s]) => sink.flatMap(sink.write(chunk), () => loop(s))
2807
+ })));
2808
+ return new StreamImpl(loop(s));
2809
+ });
2810
+
2811
+ /** @internal */
2812
+ const unfoldEffect = (s, f) => unfoldChunkEffect(s, s => Function_dist_effectFunction.pipe(f(s), Effect_dist_effectEffect.map(Option_dist_effectOption.map(([a, s]) => [Chunk_dist_effectChunk.of(a), s]))));
2813
+
2814
+ /** @internal */
2815
+ const unit = /*#__PURE__*/succeed(void 0);
2816
+
2817
+ /** @internal */
2818
+ const unwrap = effect => flatten(fromEffect(effect));
2819
+
2820
+ /** @internal */
2821
+ const unwrapScoped = effect => flatten(scoped(effect));
2822
+
2823
+ /** @internal */
2824
+ const updateService = /*#__PURE__*/Function_dist_effectFunction.dual(3, (self, tag, f) => Function_dist_effectFunction.pipe(self, mapInputContext(context => Function_dist_effectFunction.pipe(context, Context_dist_effectContext.add(tag, f(Function_dist_effectFunction.pipe(context, Context_dist_effectContext.unsafeGet(tag))))))));
2825
+
2826
+ /** @internal */
2827
+ const when = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, predicate) => Function_dist_effectFunction.pipe(self, whenEffect(Effect_dist_effectEffect.sync(predicate))));
2828
+
2829
+ /** @internal */
2830
+ const whenCase = (evaluate, pf) => whenCaseEffect(pf)(Effect_dist_effectEffect.sync(evaluate));
2831
+
2832
+ /** @internal */
2833
+ const whenCaseEffect = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, pf) => Function_dist_effectFunction.pipe(fromEffect(self), flatMap(a => Function_dist_effectFunction.pipe(pf(a), Option_dist_effectOption.getOrElse(() => empty)))));
2834
+
2835
+ /** @internal */
2836
+ const whenEffect = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, effect) => Function_dist_effectFunction.pipe(fromEffect(effect), flatMap(bool => bool ? self : empty)));
2837
+
2838
+ /** @internal */
2839
+ const withSpan = /*#__PURE__*/Function_dist_effectFunction.dual(3, (self, name, options) => unwrapScoped(Effect_dist_effectEffect.as(Effect_dist_effectEffect.withSpanScoped(name, options), self)));
2840
+
2841
+ /** @internal */
2842
+ const zip = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, that) => Function_dist_effectFunction.pipe(self, zipWith(that, (a, a2) => [a, a2])));
2843
+
2844
+ /** @internal */
2845
+ const zipFlatten = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, that) => Function_dist_effectFunction.pipe(self, zipWith(that, (a, a2) => [...a, a2])));
2846
+
2847
+ /** @internal */
2848
+ const zipAll = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, options) => zipAllWith(self, {
2849
+ other: options.other,
2850
+ onSelf: a => [a, options.defaultOther],
2851
+ onOther: a2 => [options.defaultSelf, a2],
2852
+ onBoth: (a, a2) => [a, a2]
2853
+ }));
2854
+
2855
+ /** @internal */
2856
+ const zipAllLeft = /*#__PURE__*/Function_dist_effectFunction.dual(3, (self, other, defaultSelf) => zipAllWith(self, {
2857
+ other,
2858
+ onSelf: Function_dist_effectFunction.identity,
2859
+ onOther: () => defaultSelf,
2860
+ onBoth: a => a
2861
+ }));
2862
+
2863
+ /** @internal */
2864
+ const zipAllRight = /*#__PURE__*/Function_dist_effectFunction.dual(3, (self, other, defaultRight) => zipAllWith(self, {
2865
+ other,
2866
+ onSelf: () => defaultRight,
2867
+ onOther: Function_dist_effectFunction.identity,
2868
+ onBoth: (_, a2) => a2
2869
+ }));
2870
+
2871
+ /** @internal */
2872
+ const zipAllSortedByKey = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, options) => zipAllSortedByKeyWith(self, {
2873
+ other: options.other,
2874
+ onSelf: a => [a, options.defaultOther],
2875
+ onOther: a2 => [options.defaultSelf, a2],
2876
+ onBoth: (a, a2) => [a, a2],
2877
+ order: options.order
2878
+ }));
2879
+
2880
+ /** @internal */
2881
+ const zipAllSortedByKeyLeft = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, options) => zipAllSortedByKeyWith(self, {
2882
+ other: options.other,
2883
+ onSelf: Function_dist_effectFunction.identity,
2884
+ onOther: () => options.defaultSelf,
2885
+ onBoth: a => a,
2886
+ order: options.order
2887
+ }));
2888
+
2889
+ /** @internal */
2890
+ const zipAllSortedByKeyRight = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, options) => zipAllSortedByKeyWith(self, {
2891
+ other: options.other,
2892
+ onSelf: () => options.defaultOther,
2893
+ onOther: Function_dist_effectFunction.identity,
2894
+ onBoth: (_, a2) => a2,
2895
+ order: options.order
2896
+ }));
2897
+
2898
+ /** @internal */
2899
+ const zipAllSortedByKeyWith = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, options) => {
2900
+ const pull = (state, pullLeft, pullRight) => {
2901
+ switch (state._tag) {
2902
+ case OP_DRAIN_LEFT:
2903
+ {
2904
+ return Function_dist_effectFunction.pipe(pullLeft, Effect_dist_effectEffect.match({
2905
+ onFailure: Exit_dist_effectExit.fail,
2906
+ onSuccess: leftChunk => Exit_dist_effectExit.succeed([Chunk_dist_effectChunk.map(leftChunk, ([k, a]) => [k, options.onSelf(a)]), DrainLeft])
2907
+ }));
2908
+ }
2909
+ case OP_DRAIN_RIGHT:
2910
+ {
2911
+ return Function_dist_effectFunction.pipe(pullRight, Effect_dist_effectEffect.match({
2912
+ onFailure: Exit_dist_effectExit.fail,
2913
+ onSuccess: rightChunk => Exit_dist_effectExit.succeed([Chunk_dist_effectChunk.map(rightChunk, ([k, a2]) => [k, options.onOther(a2)]), DrainRight])
2914
+ }));
2915
+ }
2916
+ case OP_PULL_BOTH$1:
2917
+ {
2918
+ return Function_dist_effectFunction.pipe(unsome(pullLeft), Effect_dist_effectEffect.zip(unsome(pullRight), {
2919
+ concurrent: true
2920
+ }), Effect_dist_effectEffect.matchEffect({
2921
+ onFailure: error => Effect_dist_effectEffect.succeed(Exit_dist_effectExit.fail(Option_dist_effectOption.some(error))),
2922
+ onSuccess: ([leftOption, rightOption]) => {
2923
+ if (Option_dist_effectOption.isSome(leftOption) && Option_dist_effectOption.isSome(rightOption)) {
2924
+ if (Chunk_dist_effectChunk.isEmpty(leftOption.value) && Chunk_dist_effectChunk.isEmpty(rightOption.value)) {
2925
+ return pull(PullBoth$1, pullLeft, pullRight);
2926
+ }
2927
+ if (Chunk_dist_effectChunk.isEmpty(leftOption.value)) {
2928
+ return pull(PullLeft$1(rightOption.value), pullLeft, pullRight);
2929
+ }
2930
+ if (Chunk_dist_effectChunk.isEmpty(rightOption.value)) {
2931
+ return pull(PullRight$1(leftOption.value), pullLeft, pullRight);
2932
+ }
2933
+ return Effect_dist_effectEffect.succeed(Exit_dist_effectExit.succeed(merge(leftOption.value, rightOption.value)));
2934
+ }
2935
+ if (Option_dist_effectOption.isSome(leftOption) && Option_dist_effectOption.isNone(rightOption)) {
2936
+ if (Chunk_dist_effectChunk.isEmpty(leftOption.value)) {
2937
+ return pull(DrainLeft, pullLeft, pullRight);
2938
+ }
2939
+ return Effect_dist_effectEffect.succeed(Exit_dist_effectExit.succeed([Function_dist_effectFunction.pipe(leftOption.value, Chunk_dist_effectChunk.map(([k, a]) => [k, options.onSelf(a)])), DrainLeft]));
2940
+ }
2941
+ if (Option_dist_effectOption.isNone(leftOption) && Option_dist_effectOption.isSome(rightOption)) {
2942
+ if (Chunk_dist_effectChunk.isEmpty(rightOption.value)) {
2943
+ return pull(DrainRight, pullLeft, pullRight);
2944
+ }
2945
+ return Effect_dist_effectEffect.succeed(Exit_dist_effectExit.succeed([Function_dist_effectFunction.pipe(rightOption.value, Chunk_dist_effectChunk.map(([k, a2]) => [k, options.onOther(a2)])), DrainRight]));
2946
+ }
2947
+ return Effect_dist_effectEffect.succeed(Exit_dist_effectExit.fail(Option_dist_effectOption.none()));
2948
+ }
2949
+ }));
2950
+ }
2951
+ case OP_PULL_LEFT$1:
2952
+ {
2953
+ return Effect_dist_effectEffect.matchEffect(pullLeft, {
2954
+ onFailure: Option_dist_effectOption.match({
2955
+ onNone: () => Effect_dist_effectEffect.succeed(Exit_dist_effectExit.succeed([Function_dist_effectFunction.pipe(state.rightChunk, Chunk_dist_effectChunk.map(([k, a2]) => [k, options.onOther(a2)])), DrainRight])),
2956
+ onSome: error => Effect_dist_effectEffect.succeed(Exit_dist_effectExit.fail(Option_dist_effectOption.some(error)))
2957
+ }),
2958
+ onSuccess: leftChunk => Chunk_dist_effectChunk.isEmpty(leftChunk) ? pull(PullLeft$1(state.rightChunk), pullLeft, pullRight) : Effect_dist_effectEffect.succeed(Exit_dist_effectExit.succeed(merge(leftChunk, state.rightChunk)))
2959
+ });
2960
+ }
2961
+ case OP_PULL_RIGHT$1:
2962
+ {
2963
+ return Effect_dist_effectEffect.matchEffect(pullRight, {
2964
+ onFailure: Option_dist_effectOption.match({
2965
+ onNone: () => Effect_dist_effectEffect.succeed(Exit_dist_effectExit.succeed([Chunk_dist_effectChunk.map(state.leftChunk, ([k, a]) => [k, options.onSelf(a)]), DrainLeft])),
2966
+ onSome: error => Effect_dist_effectEffect.succeed(Exit_dist_effectExit.fail(Option_dist_effectOption.some(error)))
2967
+ }),
2968
+ onSuccess: rightChunk => Chunk_dist_effectChunk.isEmpty(rightChunk) ? pull(PullRight$1(state.leftChunk), pullLeft, pullRight) : Effect_dist_effectEffect.succeed(Exit_dist_effectExit.succeed(merge(state.leftChunk, rightChunk)))
2969
+ });
2970
+ }
2971
+ }
2972
+ };
2973
+ const merge = (leftChunk, rightChunk) => {
2974
+ const hasNext = (chunk, index) => index < chunk.length - 1;
2975
+ const builder = [];
2976
+ let state = undefined;
2977
+ let leftIndex = 0;
2978
+ let rightIndex = 0;
2979
+ let leftTuple = Function_dist_effectFunction.pipe(leftChunk, Chunk_dist_effectChunk.unsafeGet(leftIndex));
2980
+ let rightTuple = Function_dist_effectFunction.pipe(rightChunk, Chunk_dist_effectChunk.unsafeGet(rightIndex));
2981
+ let k1 = leftTuple[0];
2982
+ let a = leftTuple[1];
2983
+ let k2 = rightTuple[0];
2984
+ let a2 = rightTuple[1];
2985
+ let loop = true;
2986
+ while (loop) {
2987
+ const compare = options.order(k1, k2);
2988
+ if (compare === 0) {
2989
+ builder.push([k1, options.onBoth(a, a2)]);
2990
+ if (hasNext(leftChunk, leftIndex) && hasNext(rightChunk, rightIndex)) {
2991
+ leftIndex = leftIndex + 1;
2992
+ rightIndex = rightIndex + 1;
2993
+ leftTuple = Function_dist_effectFunction.pipe(leftChunk, Chunk_dist_effectChunk.unsafeGet(leftIndex));
2994
+ rightTuple = Function_dist_effectFunction.pipe(rightChunk, Chunk_dist_effectChunk.unsafeGet(rightIndex));
2995
+ k1 = leftTuple[0];
2996
+ a = leftTuple[1];
2997
+ k2 = rightTuple[0];
2998
+ a2 = rightTuple[1];
2999
+ } else if (hasNext(leftChunk, leftIndex)) {
3000
+ state = PullRight$1(Function_dist_effectFunction.pipe(leftChunk, Chunk_dist_effectChunk.drop(leftIndex + 1)));
3001
+ loop = false;
3002
+ } else if (hasNext(rightChunk, rightIndex)) {
3003
+ state = PullLeft$1(Function_dist_effectFunction.pipe(rightChunk, Chunk_dist_effectChunk.drop(rightIndex + 1)));
3004
+ loop = false;
3005
+ } else {
3006
+ state = PullBoth$1;
3007
+ loop = false;
3008
+ }
3009
+ } else if (compare < 0) {
3010
+ builder.push([k1, options.onSelf(a)]);
3011
+ if (hasNext(leftChunk, leftIndex)) {
3012
+ leftIndex = leftIndex + 1;
3013
+ leftTuple = Function_dist_effectFunction.pipe(leftChunk, Chunk_dist_effectChunk.unsafeGet(leftIndex));
3014
+ k1 = leftTuple[0];
3015
+ a = leftTuple[1];
3016
+ } else {
3017
+ const rightBuilder = [];
3018
+ rightBuilder.push(rightTuple);
3019
+ while (hasNext(rightChunk, rightIndex)) {
3020
+ rightIndex = rightIndex + 1;
3021
+ rightTuple = Function_dist_effectFunction.pipe(rightChunk, Chunk_dist_effectChunk.unsafeGet(rightIndex));
3022
+ rightBuilder.push(rightTuple);
3023
+ }
3024
+ state = PullLeft$1(Chunk_dist_effectChunk.unsafeFromArray(rightBuilder));
3025
+ loop = false;
3026
+ }
3027
+ } else {
3028
+ builder.push([k2, options.onOther(a2)]);
3029
+ if (hasNext(rightChunk, rightIndex)) {
3030
+ rightIndex = rightIndex + 1;
3031
+ rightTuple = Function_dist_effectFunction.pipe(rightChunk, Chunk_dist_effectChunk.unsafeGet(rightIndex));
3032
+ k2 = rightTuple[0];
3033
+ a2 = rightTuple[1];
3034
+ } else {
3035
+ const leftBuilder = [];
3036
+ leftBuilder.push(leftTuple);
3037
+ while (hasNext(leftChunk, leftIndex)) {
3038
+ leftIndex = leftIndex + 1;
3039
+ leftTuple = Function_dist_effectFunction.pipe(leftChunk, Chunk_dist_effectChunk.unsafeGet(leftIndex));
3040
+ leftBuilder.push(leftTuple);
3041
+ }
3042
+ state = PullRight$1(Chunk_dist_effectChunk.unsafeFromArray(leftBuilder));
3043
+ loop = false;
3044
+ }
3045
+ }
3046
+ }
3047
+ return [Chunk_dist_effectChunk.unsafeFromArray(builder), state];
3048
+ };
3049
+ return combineChunks(self, options.other, PullBoth$1, pull);
3050
+ });
3051
+
3052
+ /** @internal */
3053
+ const zipAllWith = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, options) => {
3054
+ const pull = (state, pullLeft, pullRight) => {
3055
+ switch (state._tag) {
3056
+ case OP_DRAIN_LEFT:
3057
+ {
3058
+ return Effect_dist_effectEffect.matchEffect(pullLeft, {
3059
+ onFailure: error => Effect_dist_effectEffect.succeed(Exit_dist_effectExit.fail(error)),
3060
+ onSuccess: leftChunk => Effect_dist_effectEffect.succeed(Exit_dist_effectExit.succeed([Chunk_dist_effectChunk.map(leftChunk, options.onSelf), DrainLeft]))
3061
+ });
3062
+ }
3063
+ case OP_DRAIN_RIGHT:
3064
+ {
3065
+ return Effect_dist_effectEffect.matchEffect(pullRight, {
3066
+ onFailure: error => Effect_dist_effectEffect.succeed(Exit_dist_effectExit.fail(error)),
3067
+ onSuccess: rightChunk => Effect_dist_effectEffect.succeed(Exit_dist_effectExit.succeed([Chunk_dist_effectChunk.map(rightChunk, options.onOther), DrainRight]))
3068
+ });
3069
+ }
3070
+ case OP_PULL_BOTH$1:
3071
+ {
3072
+ return Function_dist_effectFunction.pipe(unsome(pullLeft), Effect_dist_effectEffect.zip(unsome(pullRight), {
3073
+ concurrent: true
3074
+ }), Effect_dist_effectEffect.matchEffect({
3075
+ onFailure: error => Effect_dist_effectEffect.succeed(Exit_dist_effectExit.fail(Option_dist_effectOption.some(error))),
3076
+ onSuccess: ([leftOption, rightOption]) => {
3077
+ if (Option_dist_effectOption.isSome(leftOption) && Option_dist_effectOption.isSome(rightOption)) {
3078
+ if (Chunk_dist_effectChunk.isEmpty(leftOption.value) && Chunk_dist_effectChunk.isEmpty(rightOption.value)) {
3079
+ return pull(PullBoth$1, pullLeft, pullRight);
3080
+ }
3081
+ if (Chunk_dist_effectChunk.isEmpty(leftOption.value)) {
3082
+ return pull(PullLeft$1(rightOption.value), pullLeft, pullRight);
3083
+ }
3084
+ if (Chunk_dist_effectChunk.isEmpty(rightOption.value)) {
3085
+ return pull(PullRight$1(leftOption.value), pullLeft, pullRight);
3086
+ }
3087
+ return Effect_dist_effectEffect.succeed(Exit_dist_effectExit.succeed(zip(leftOption.value, rightOption.value, options.onBoth)));
3088
+ }
3089
+ if (Option_dist_effectOption.isSome(leftOption) && Option_dist_effectOption.isNone(rightOption)) {
3090
+ return Effect_dist_effectEffect.succeed(Exit_dist_effectExit.succeed([Chunk_dist_effectChunk.map(leftOption.value, options.onSelf), DrainLeft]));
3091
+ }
3092
+ if (Option_dist_effectOption.isNone(leftOption) && Option_dist_effectOption.isSome(rightOption)) {
3093
+ return Effect_dist_effectEffect.succeed(Exit_dist_effectExit.succeed([Chunk_dist_effectChunk.map(rightOption.value, options.onOther), DrainRight]));
3094
+ }
3095
+ return Effect_dist_effectEffect.succeed(Exit_dist_effectExit.fail(Option_dist_effectOption.none()));
3096
+ }
3097
+ }));
3098
+ }
3099
+ case OP_PULL_LEFT$1:
3100
+ {
3101
+ return Effect_dist_effectEffect.matchEffect(pullLeft, {
3102
+ onFailure: Option_dist_effectOption.match({
3103
+ onNone: () => Effect_dist_effectEffect.succeed(Exit_dist_effectExit.succeed([Chunk_dist_effectChunk.map(state.rightChunk, options.onOther), DrainRight])),
3104
+ onSome: error => Effect_dist_effectEffect.succeed(Exit_dist_effectExit.fail(Option_dist_effectOption.some(error)))
3105
+ }),
3106
+ onSuccess: leftChunk => {
3107
+ if (Chunk_dist_effectChunk.isEmpty(leftChunk)) {
3108
+ return pull(PullLeft$1(state.rightChunk), pullLeft, pullRight);
3109
+ }
3110
+ if (Chunk_dist_effectChunk.isEmpty(state.rightChunk)) {
3111
+ return pull(PullRight$1(leftChunk), pullLeft, pullRight);
3112
+ }
3113
+ return Effect_dist_effectEffect.succeed(Exit_dist_effectExit.succeed(zip(leftChunk, state.rightChunk, options.onBoth)));
3114
+ }
3115
+ });
3116
+ }
3117
+ case OP_PULL_RIGHT$1:
3118
+ {
3119
+ return Effect_dist_effectEffect.matchEffect(pullRight, {
3120
+ onFailure: Option_dist_effectOption.match({
3121
+ onNone: () => Effect_dist_effectEffect.succeed(Exit_dist_effectExit.succeed([Chunk_dist_effectChunk.map(state.leftChunk, options.onSelf), DrainLeft])),
3122
+ onSome: error => Effect_dist_effectEffect.succeed(Exit_dist_effectExit.fail(Option_dist_effectOption.some(error)))
3123
+ }),
3124
+ onSuccess: rightChunk => {
3125
+ if (Chunk_dist_effectChunk.isEmpty(rightChunk)) {
3126
+ return pull(PullRight$1(state.leftChunk), pullLeft, pullRight);
3127
+ }
3128
+ if (Chunk_dist_effectChunk.isEmpty(state.leftChunk)) {
3129
+ return pull(PullLeft$1(rightChunk), pullLeft, pullRight);
3130
+ }
3131
+ return Effect_dist_effectEffect.succeed(Exit_dist_effectExit.succeed(zip(state.leftChunk, rightChunk, options.onBoth)));
3132
+ }
3133
+ });
3134
+ }
3135
+ }
3136
+ };
3137
+ const zip = (leftChunk, rightChunk, f) => {
3138
+ const [output, either] = zipChunks(leftChunk, rightChunk, f);
3139
+ switch (either._tag) {
3140
+ case "Left":
3141
+ {
3142
+ if (Chunk_dist_effectChunk.isEmpty(either.left)) {
3143
+ return [output, PullBoth$1];
3144
+ }
3145
+ return [output, PullRight$1(either.left)];
3146
+ }
3147
+ case "Right":
3148
+ {
3149
+ if (Chunk_dist_effectChunk.isEmpty(either.right)) {
3150
+ return [output, PullBoth$1];
3151
+ }
3152
+ return [output, PullLeft$1(either.right)];
3153
+ }
3154
+ }
3155
+ };
3156
+ return combineChunks(self, options.other, PullBoth$1, pull);
3157
+ });
3158
+
3159
+ /** @internal */
3160
+ const zipLatest = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, that) => Function_dist_effectFunction.pipe(self, zipLatestWith(that, (a, a2) => [a, a2])));
3161
+
3162
+ /** @internal */
3163
+ const zipLatestWith = /*#__PURE__*/Function_dist_effectFunction.dual(3, (self, that, f) => {
3164
+ const pullNonEmpty = pull => Function_dist_effectFunction.pipe(pull, Effect_dist_effectEffect.flatMap(chunk => Chunk_dist_effectChunk.isEmpty(chunk) ? pullNonEmpty(pull) : Effect_dist_effectEffect.succeed(chunk)));
3165
+ return Function_dist_effectFunction.pipe(toPull(self), Effect_dist_effectEffect.map(pullNonEmpty), Effect_dist_effectEffect.zip(Function_dist_effectFunction.pipe(toPull(that), Effect_dist_effectEffect.map(pullNonEmpty))), Effect_dist_effectEffect.flatMap(([left, right]) => Function_dist_effectFunction.pipe(fromEffectOption(Effect_dist_effectEffect.raceWith(left, right, {
3166
+ onSelfDone: (leftDone, rightFiber) => Function_dist_effectFunction.pipe(Effect_dist_effectEffect.suspend(() => leftDone), Effect_dist_effectEffect.zipWith(Fiber_dist_effectFiber.join(rightFiber), (l, r) => [l, r, true])),
3167
+ onOtherDone: (rightDone, leftFiber) => Function_dist_effectFunction.pipe(Effect_dist_effectEffect.suspend(() => rightDone), Effect_dist_effectEffect.zipWith(Fiber_dist_effectFiber.join(leftFiber), (l, r) => [r, l, false]))
3168
+ })), flatMap(([l, r, leftFirst]) => Function_dist_effectFunction.pipe(fromEffect(Ref_dist_effectRef.make([Chunk_dist_effectChunk.unsafeLast(l), Chunk_dist_effectChunk.unsafeLast(r)])), flatMap(latest => Function_dist_effectFunction.pipe(fromChunk(leftFirst ? Function_dist_effectFunction.pipe(r, Chunk_dist_effectChunk.map(a2 => f(Chunk_dist_effectChunk.unsafeLast(l), a2))) : Function_dist_effectFunction.pipe(l, Chunk_dist_effectChunk.map(a => f(a, Chunk_dist_effectChunk.unsafeLast(r))))), concat(Function_dist_effectFunction.pipe(repeatEffectOption(left), mergeEither(repeatEffectOption(right)), mapEffectSequential(Either_dist_effectEither.match({
3169
+ onLeft: leftChunk => Function_dist_effectFunction.pipe(Ref_dist_effectRef.modify(latest, ([_, rightLatest]) => [Function_dist_effectFunction.pipe(leftChunk, Chunk_dist_effectChunk.map(a => f(a, rightLatest))), [Chunk_dist_effectChunk.unsafeLast(leftChunk), rightLatest]])),
3170
+ onRight: rightChunk => Function_dist_effectFunction.pipe(Ref_dist_effectRef.modify(latest, ([leftLatest, _]) => [Function_dist_effectFunction.pipe(rightChunk, Chunk_dist_effectChunk.map(a2 => f(leftLatest, a2))), [leftLatest, Chunk_dist_effectChunk.unsafeLast(rightChunk)]]))
3171
+ })), flatMap(fromChunk))))))), toPull)), fromPull);
3172
+ });
3173
+
3174
+ /** @internal */
3175
+ const zipLeft = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, that) => Function_dist_effectFunction.pipe(self, zipWithChunks(that, (left, right) => {
3176
+ if (left.length > right.length) {
3177
+ return [Function_dist_effectFunction.pipe(left, Chunk_dist_effectChunk.take(right.length)), Either_dist_effectEither.left(Function_dist_effectFunction.pipe(left, Chunk_dist_effectChunk.take(right.length)))];
3178
+ }
3179
+ return [left, Either_dist_effectEither.right(Function_dist_effectFunction.pipe(right, Chunk_dist_effectChunk.drop(left.length)))];
3180
+ })));
3181
+
3182
+ /** @internal */
3183
+ const zipRight = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, that) => Function_dist_effectFunction.pipe(self, zipWithChunks(that, (left, right) => {
3184
+ if (left.length > right.length) {
3185
+ return [right, Either_dist_effectEither.left(Function_dist_effectFunction.pipe(left, Chunk_dist_effectChunk.take(right.length)))];
3186
+ }
3187
+ return [Function_dist_effectFunction.pipe(right, Chunk_dist_effectChunk.take(left.length)), Either_dist_effectEither.right(Function_dist_effectFunction.pipe(right, Chunk_dist_effectChunk.drop(left.length)))];
3188
+ })));
3189
+
3190
+ /** @internal */
3191
+ const zipWith = /*#__PURE__*/Function_dist_effectFunction.dual(3, (self, that, f) => Function_dist_effectFunction.pipe(self, zipWithChunks(that, (leftChunk, rightChunk) => zipChunks(leftChunk, rightChunk, f))));
3192
+
3193
+ /** @internal */
3194
+ const zipWithChunks = /*#__PURE__*/Function_dist_effectFunction.dual(3, (self, that, f) => {
3195
+ const pull = (state, pullLeft, pullRight) => {
3196
+ switch (state._tag) {
3197
+ case OP_PULL_BOTH:
3198
+ {
3199
+ return Function_dist_effectFunction.pipe(unsome(pullLeft), Effect_dist_effectEffect.zip(unsome(pullRight), {
3200
+ concurrent: true
3201
+ }), Effect_dist_effectEffect.matchEffect({
3202
+ onFailure: error => Effect_dist_effectEffect.succeed(Exit_dist_effectExit.fail(Option_dist_effectOption.some(error))),
3203
+ onSuccess: ([leftOption, rightOption]) => {
3204
+ if (Option_dist_effectOption.isSome(leftOption) && Option_dist_effectOption.isSome(rightOption)) {
3205
+ if (Chunk_dist_effectChunk.isEmpty(leftOption.value) && Chunk_dist_effectChunk.isEmpty(rightOption.value)) {
3206
+ return pull(PullBoth, pullLeft, pullRight);
3207
+ }
3208
+ if (Chunk_dist_effectChunk.isEmpty(leftOption.value)) {
3209
+ return pull(PullLeft(rightOption.value), pullLeft, pullRight);
3210
+ }
3211
+ if (Chunk_dist_effectChunk.isEmpty(rightOption.value)) {
3212
+ return pull(PullRight(leftOption.value), pullLeft, pullRight);
3213
+ }
3214
+ return Effect_dist_effectEffect.succeed(Exit_dist_effectExit.succeed(zip(leftOption.value, rightOption.value)));
3215
+ }
3216
+ return Effect_dist_effectEffect.succeed(Exit_dist_effectExit.fail(Option_dist_effectOption.none()));
3217
+ }
3218
+ }));
3219
+ }
3220
+ case OP_PULL_LEFT:
3221
+ {
3222
+ return Effect_dist_effectEffect.matchEffect(pullLeft, {
3223
+ onFailure: error => Effect_dist_effectEffect.succeed(Exit_dist_effectExit.fail(error)),
3224
+ onSuccess: leftChunk => {
3225
+ if (Chunk_dist_effectChunk.isEmpty(leftChunk)) {
3226
+ return pull(PullLeft(state.rightChunk), pullLeft, pullRight);
3227
+ }
3228
+ if (Chunk_dist_effectChunk.isEmpty(state.rightChunk)) {
3229
+ return pull(PullRight(leftChunk), pullLeft, pullRight);
3230
+ }
3231
+ return Effect_dist_effectEffect.succeed(Exit_dist_effectExit.succeed(zip(leftChunk, state.rightChunk)));
3232
+ }
3233
+ });
3234
+ }
3235
+ case OP_PULL_RIGHT:
3236
+ {
3237
+ return Effect_dist_effectEffect.matchEffect(pullRight, {
3238
+ onFailure: error => Effect_dist_effectEffect.succeed(Exit_dist_effectExit.fail(error)),
3239
+ onSuccess: rightChunk => {
3240
+ if (Chunk_dist_effectChunk.isEmpty(rightChunk)) {
3241
+ return pull(PullRight(state.leftChunk), pullLeft, pullRight);
3242
+ }
3243
+ if (Chunk_dist_effectChunk.isEmpty(state.leftChunk)) {
3244
+ return pull(PullLeft(rightChunk), pullLeft, pullRight);
3245
+ }
3246
+ return Effect_dist_effectEffect.succeed(Exit_dist_effectExit.succeed(zip(state.leftChunk, rightChunk)));
3247
+ }
3248
+ });
3249
+ }
3250
+ }
3251
+ };
3252
+ const zip = (leftChunk, rightChunk) => {
3253
+ const [output, either] = f(leftChunk, rightChunk);
3254
+ switch (either._tag) {
3255
+ case "Left":
3256
+ {
3257
+ if (Chunk_dist_effectChunk.isEmpty(either.left)) {
3258
+ return [output, PullBoth];
3259
+ }
3260
+ return [output, PullRight(either.left)];
3261
+ }
3262
+ case "Right":
3263
+ {
3264
+ if (Chunk_dist_effectChunk.isEmpty(either.right)) {
3265
+ return [output, PullBoth];
3266
+ }
3267
+ return [output, PullLeft(either.right)];
3268
+ }
3269
+ }
3270
+ };
3271
+ return Function_dist_effectFunction.pipe(self, combineChunks(that, PullBoth, pull));
3272
+ });
3273
+
3274
+ /** @internal */
3275
+ const zipWithIndex = self => Function_dist_effectFunction.pipe(self, mapAccum(0, (index, a) => [index + 1, [a, index]]));
3276
+
3277
+ /** @internal */
3278
+ const zipWithNext = self => {
3279
+ const process = last => sink.readWithCause({
3280
+ onInput: input => {
3281
+ const [newLast, chunk] = Chunk_dist_effectChunk.mapAccum(input, last, (prev, curr) => [Option_dist_effectOption.some(curr), Function_dist_effectFunction.pipe(prev, Option_dist_effectOption.map(a => [a, curr]))]);
3282
+ const output = Chunk_dist_effectChunk.filterMap(chunk, option => Option_dist_effectOption.isSome(option) ? Option_dist_effectOption.some([option.value[0], Option_dist_effectOption.some(option.value[1])]) : Option_dist_effectOption.none());
3283
+ return sink.flatMap(sink.write(output), () => process(newLast));
3284
+ },
3285
+ onFailure: sink.failCause,
3286
+ onDone: () => Option_dist_effectOption.match(last, {
3287
+ onNone: () => sink.unit,
3288
+ onSome: value => sink.zipRight(sink.write(Chunk_dist_effectChunk.of([value, Option_dist_effectOption.none()])), sink.unit)
3289
+ })
3290
+ });
3291
+ return new StreamImpl(Function_dist_effectFunction.pipe(toChannel(self), sink.pipeToOrFail(process(Option_dist_effectOption.none()))));
3292
+ };
3293
+
3294
+ /** @internal */
3295
+ const zipWithPrevious = self => Function_dist_effectFunction.pipe(self, mapAccum(Option_dist_effectOption.none(), (prev, curr) => [Option_dist_effectOption.some(curr), [prev, curr]]));
3296
+
3297
+ /** @internal */
3298
+ const zipWithPreviousAndNext = self => Function_dist_effectFunction.pipe(zipWithNext(zipWithPrevious(self)), map(([[prev, curr], next]) => [prev, curr, Function_dist_effectFunction.pipe(next, Option_dist_effectOption.map(tuple => tuple[1]))]));
3299
+
3300
+ /** @internal */
3301
+ const zipChunks = (left, right, f) => {
3302
+ if (left.length > right.length) {
3303
+ return [Function_dist_effectFunction.pipe(left, Chunk_dist_effectChunk.take(right.length), Chunk_dist_effectChunk.zipWith(right, f)), Either_dist_effectEither.left(Function_dist_effectFunction.pipe(left, Chunk_dist_effectChunk.drop(right.length)))];
3304
+ }
3305
+ return [Function_dist_effectFunction.pipe(left, Chunk_dist_effectChunk.zipWith(Function_dist_effectFunction.pipe(right, Chunk_dist_effectChunk.take(left.length)), f)), Either_dist_effectEither.right(Function_dist_effectFunction.pipe(right, Chunk_dist_effectChunk.drop(left.length)))];
3306
+ };
3307
+
3308
+ // Do notation
3309
+
3310
+ /** @internal */
3311
+ const Do = /*#__PURE__*/succeed({});
3312
+
3313
+ /** @internal */
3314
+ const bind = /*#__PURE__*/Function_dist_effectFunction.dual(args => typeof args[0] !== "string", (self, tag, f, options) => flatMap(self, k => map(f(k), a => ({
3315
+ ...k,
3316
+ [tag]: a
3317
+ })), options));
3318
+
3319
+ /* @internal */
3320
+ const bindTo = /*#__PURE__*/Function_dist_effectFunction.dual(2, (self, tag) => map(self, a => ({
3321
+ [tag]: a
3322
+ })));
3323
+
3324
+ /* @internal */
3325
+ const let_ = /*#__PURE__*/Function_dist_effectFunction.dual(3, (self, tag, f) => map(self, k => ({
3326
+ ...k,
3327
+ [tag]: f(k)
3328
+ })));
3329
+
3330
+ // Circular with Channel
3331
+
3332
+ /** @internal */
3333
+ const channelToStream = self => {
3334
+ return new StreamImpl(self);
3335
+ };
3336
+
3337
+ // =============================================================================
3338
+ // encoding
3339
+ // =============================================================================
3340
+
3341
+ /** @internal */
3342
+ const decodeText = /*#__PURE__*/Function_dist_effectFunction.dual(args => isStream(args[0]), (self, encoding = "utf-8") => suspend(() => {
3343
+ const decoder = new TextDecoder(encoding);
3344
+ return map(self, s => decoder.decode(s));
3345
+ }));
3346
+
3347
+ /** @internal */
3348
+ const encodeText = self => suspend(() => {
3349
+ const encoder = new TextEncoder();
3350
+ return map(self, s => encoder.encode(s));
3351
+ });
3352
+
3353
+ exports.DefaultChunkSize = DefaultChunkSize;
3354
+ exports.Do = Do;
3355
+ exports.StreamTypeId = StreamTypeId;
3356
+ exports._async = _async;
3357
+ exports.acquireRelease = acquireRelease;
3358
+ exports.aggregate = aggregate;
3359
+ exports.aggregateWithin = aggregateWithin;
3360
+ exports.aggregateWithinEither = aggregateWithinEither;
3361
+ exports.as = as;
3362
+ exports.asyncEffect = asyncEffect;
3363
+ exports.asyncInterrupt = asyncInterrupt;
3364
+ exports.asyncOption = asyncOption;
3365
+ exports.asyncScoped = asyncScoped;
3366
+ exports.bind = bind;
3367
+ exports.bindTo = bindTo;
3368
+ exports.branchAfter = branchAfter;
3369
+ exports.broadcast = broadcast;
3370
+ exports.broadcastDynamic = broadcastDynamic;
3371
+ exports.broadcastedQueues = broadcastedQueues;
3372
+ exports.broadcastedQueuesDynamic = broadcastedQueuesDynamic;
3373
+ exports.buffer = buffer;
3374
+ exports.bufferChunks = bufferChunks;
3375
+ exports.catchAll = catchAll;
3376
+ exports.catchAllCause = catchAllCause;
3377
+ exports.catchSome = catchSome;
3378
+ exports.catchSomeCause = catchSomeCause;
3379
+ exports.catchTag = catchTag;
3380
+ exports.catchTags = catchTags;
3381
+ exports.changes = changes;
3382
+ exports.changesWith = changesWith;
3383
+ exports.changesWithEffect = changesWithEffect;
3384
+ exports.channelToStream = channelToStream;
3385
+ exports.chunks = chunks;
3386
+ exports.chunksWith = chunksWith;
3387
+ exports.combine = combine;
3388
+ exports.combineChunks = combineChunks;
3389
+ exports.concat = concat;
3390
+ exports.concatAll = concatAll;
3391
+ exports.context = context;
3392
+ exports.contextWith = contextWith;
3393
+ exports.contextWithEffect = contextWithEffect;
3394
+ exports.contextWithStream = contextWithStream;
3395
+ exports.cross = cross;
3396
+ exports.crossLeft = crossLeft;
3397
+ exports.crossRight = crossRight;
3398
+ exports.crossWith = crossWith;
3399
+ exports.debounce = debounce;
3400
+ exports.decodeText = decodeText;
3401
+ exports.die = die;
3402
+ exports.dieMessage = dieMessage;
3403
+ exports.dieSync = dieSync;
3404
+ exports.distributedWith = distributedWith;
3405
+ exports.distributedWithDynamic = distributedWithDynamic;
3406
+ exports.distributedWithDynamicCallback = distributedWithDynamicCallback;
3407
+ exports.drain = drain;
3408
+ exports.drainFork = drainFork;
3409
+ exports.drop = drop;
3410
+ exports.dropRight = dropRight;
3411
+ exports.dropUntil = dropUntil;
3412
+ exports.dropUntilEffect = dropUntilEffect;
3413
+ exports.dropWhile = dropWhile;
3414
+ exports.dropWhileEffect = dropWhileEffect;
3415
+ exports.either = either;
3416
+ exports.empty = empty;
3417
+ exports.encodeText = encodeText;
3418
+ exports.ensuring = ensuring;
3419
+ exports.ensuringWith = ensuringWith;
3420
+ exports.execute = execute;
3421
+ exports.fail = fail;
3422
+ exports.failCause = failCause;
3423
+ exports.failCauseSync = failCauseSync;
3424
+ exports.failSync = failSync;
3425
+ exports.filter = filter;
3426
+ exports.filterEffect = filterEffect;
3427
+ exports.filterMap = filterMap;
3428
+ exports.filterMapEffect = filterMapEffect;
3429
+ exports.filterMapWhile = filterMapWhile;
3430
+ exports.filterMapWhileEffect = filterMapWhileEffect;
3431
+ exports.finalizer = finalizer;
3432
+ exports.find = find;
3433
+ exports.findEffect = findEffect;
3434
+ exports.flatMap = flatMap;
3435
+ exports.flatten = flatten;
3436
+ exports.flattenChunks = flattenChunks;
3437
+ exports.flattenEffect = flattenEffect;
3438
+ exports.flattenExitOption = flattenExitOption;
3439
+ exports.flattenIterables = flattenIterables;
3440
+ exports.flattenTake = flattenTake;
3441
+ exports.forever = forever;
3442
+ exports.fromAsyncIterable = fromAsyncIterable;
3443
+ exports.fromChannel = fromChannel;
3444
+ exports.fromChunk = fromChunk;
3445
+ exports.fromChunkHub = fromChunkHub;
3446
+ exports.fromChunkQueue = fromChunkQueue;
3447
+ exports.fromChunks = fromChunks;
3448
+ exports.fromEffect = fromEffect;
3449
+ exports.fromEffectOption = fromEffectOption;
3450
+ exports.fromHub = fromHub;
3451
+ exports.fromIterable = fromIterable;
3452
+ exports.fromIterableEffect = fromIterableEffect;
3453
+ exports.fromIteratorSucceed = fromIteratorSucceed;
3454
+ exports.fromPull = fromPull;
3455
+ exports.fromQueue = fromQueue;
3456
+ exports.fromReadableStream = fromReadableStream;
3457
+ exports.fromReadableStreamByob = fromReadableStreamByob;
3458
+ exports.fromSchedule = fromSchedule;
3459
+ exports.groupAdjacentBy = groupAdjacentBy;
3460
+ exports.grouped = grouped;
3461
+ exports.groupedWithin = groupedWithin;
3462
+ exports.haltAfter = haltAfter;
3463
+ exports.haltWhen = haltWhen;
3464
+ exports.haltWhenDeferred = haltWhenDeferred;
3465
+ exports.identityStream = identityStream;
3466
+ exports.interleave = interleave;
3467
+ exports.interleaveWith = interleaveWith;
3468
+ exports.interruptAfter = interruptAfter;
3469
+ exports.interruptWhen = interruptWhen;
3470
+ exports.interruptWhenDeferred = interruptWhenDeferred;
3471
+ exports.intersperse = intersperse;
3472
+ exports.intersperseAffixes = intersperseAffixes;
3473
+ exports.iterate = iterate;
3474
+ exports.let_ = let_;
3475
+ exports.make = make;
3476
+ exports.map = map;
3477
+ exports.mapAccum = mapAccum;
3478
+ exports.mapAccumEffect = mapAccumEffect;
3479
+ exports.mapBoth = mapBoth;
3480
+ exports.mapChunks = mapChunks;
3481
+ exports.mapChunksEffect = mapChunksEffect;
3482
+ exports.mapConcat = mapConcat;
3483
+ exports.mapConcatChunk = mapConcatChunk;
3484
+ exports.mapConcatChunkEffect = mapConcatChunkEffect;
3485
+ exports.mapConcatEffect = mapConcatEffect;
3486
+ exports.mapEffectPar = mapEffectPar;
3487
+ exports.mapEffectSequential = mapEffectSequential;
3488
+ exports.mapError = mapError;
3489
+ exports.mapErrorCause = mapErrorCause;
3490
+ exports.mapInputContext = mapInputContext;
3491
+ exports.matchConcurrency = matchConcurrency;
3492
+ exports.merge = merge;
3493
+ exports.mergeAll = mergeAll;
3494
+ exports.mergeEither = mergeEither;
3495
+ exports.mergeLeft = mergeLeft;
3496
+ exports.mergeRight = mergeRight;
3497
+ exports.mergeWith = mergeWith;
3498
+ exports.mkString = mkString;
3499
+ exports.never = never;
3500
+ exports.onDone = onDone;
3501
+ exports.onError = onError;
3502
+ exports.orDie = orDie;
3503
+ exports.orDieWith = orDieWith;
3504
+ exports.orElse = orElse;
3505
+ exports.orElseEither = orElseEither;
3506
+ exports.orElseFail = orElseFail;
3507
+ exports.orElseIfEmpty = orElseIfEmpty;
3508
+ exports.orElseIfEmptyChunk = orElseIfEmptyChunk;
3509
+ exports.orElseIfEmptyStream = orElseIfEmptyStream;
3510
+ exports.orElseSucceed = orElseSucceed;
3511
+ exports.paginate = paginate;
3512
+ exports.paginateChunk = paginateChunk;
3513
+ exports.paginateChunkEffect = paginateChunkEffect;
3514
+ exports.paginateEffect = paginateEffect;
3515
+ exports.partition = partition;
3516
+ exports.partitionEither = partitionEither;
3517
+ exports.peel = peel;
3518
+ exports.pipeThrough = pipeThrough;
3519
+ exports.pipeThroughChannel = pipeThroughChannel;
3520
+ exports.pipeThroughChannelOrFail = pipeThroughChannelOrFail;
3521
+ exports.prepend = prepend;
3522
+ exports.provideContext = provideContext;
3523
+ exports.provideLayer = provideLayer;
3524
+ exports.provideService = provideService;
3525
+ exports.provideServiceEffect = provideServiceEffect;
3526
+ exports.provideServiceStream = provideServiceStream;
3527
+ exports.provideSomeLayer = provideSomeLayer;
3528
+ exports.range = range;
3529
+ exports.rechunk = rechunk;
3530
+ exports.refineOrDie = refineOrDie;
3531
+ exports.refineOrDieWith = refineOrDieWith;
3532
+ exports.repeat = repeat;
3533
+ exports.repeatEffect = repeatEffect;
3534
+ exports.repeatEffectChunk = repeatEffectChunk;
3535
+ exports.repeatEffectChunkOption = repeatEffectChunkOption;
3536
+ exports.repeatEffectOption = repeatEffectOption;
3537
+ exports.repeatEffectWithSchedule = repeatEffectWithSchedule;
3538
+ exports.repeatEither = repeatEither;
3539
+ exports.repeatElements = repeatElements;
3540
+ exports.repeatElementsWith = repeatElementsWith;
3541
+ exports.repeatValue = repeatValue;
3542
+ exports.repeatWith = repeatWith;
3543
+ exports.retry = retry;
3544
+ exports.run = run;
3545
+ exports.runCollect = runCollect;
3546
+ exports.runCount = runCount;
3547
+ exports.runDrain = runDrain;
3548
+ exports.runFold = runFold;
3549
+ exports.runFoldEffect = runFoldEffect;
3550
+ exports.runFoldScoped = runFoldScoped;
3551
+ exports.runFoldScopedEffect = runFoldScopedEffect;
3552
+ exports.runFoldWhile = runFoldWhile;
3553
+ exports.runFoldWhileEffect = runFoldWhileEffect;
3554
+ exports.runFoldWhileScoped = runFoldWhileScoped;
3555
+ exports.runFoldWhileScopedEffect = runFoldWhileScopedEffect;
3556
+ exports.runForEach = runForEach;
3557
+ exports.runForEachChunk = runForEachChunk;
3558
+ exports.runForEachChunkScoped = runForEachChunkScoped;
3559
+ exports.runForEachScoped = runForEachScoped;
3560
+ exports.runForEachWhile = runForEachWhile;
3561
+ exports.runForEachWhileScoped = runForEachWhileScoped;
3562
+ exports.runHead = runHead;
3563
+ exports.runIntoHub = runIntoHub;
3564
+ exports.runIntoHubScoped = runIntoHubScoped;
3565
+ exports.runIntoQueue = runIntoQueue;
3566
+ exports.runIntoQueueElementsScoped = runIntoQueueElementsScoped;
3567
+ exports.runIntoQueueScoped = runIntoQueueScoped;
3568
+ exports.runLast = runLast;
3569
+ exports.runScoped = runScoped;
3570
+ exports.runSum = runSum;
3571
+ exports.scan = scan;
3572
+ exports.scanEffect = scanEffect;
3573
+ exports.scanReduce = scanReduce;
3574
+ exports.scanReduceEffect = scanReduceEffect;
3575
+ exports.schedule = schedule;
3576
+ exports.scheduleWith = scheduleWith;
3577
+ exports.scoped = scoped;
3578
+ exports.sliding = sliding;
3579
+ exports.slidingSize = slidingSize;
3580
+ exports.some = some;
3581
+ exports.someOrElse = someOrElse;
3582
+ exports.someOrFail = someOrFail;
3583
+ exports.split = split;
3584
+ exports.splitLines = splitLines;
3585
+ exports.splitOnChunk = splitOnChunk;
3586
+ exports.succeed = succeed;
3587
+ exports.suspend = suspend;
3588
+ exports.sync = sync;
3589
+ exports.take = take;
3590
+ exports.takeRight = takeRight;
3591
+ exports.takeUntil = takeUntil;
3592
+ exports.takeUntilEffect = takeUntilEffect;
3593
+ exports.takeWhile = takeWhile;
3594
+ exports.tap = tap;
3595
+ exports.tapBoth = tapBoth;
3596
+ exports.tapError = tapError;
3597
+ exports.tapErrorCause = tapErrorCause;
3598
+ exports.tapSink = tapSink;
3599
+ exports.throttle = throttle;
3600
+ exports.throttleEffect = throttleEffect;
3601
+ exports.tick = tick;
3602
+ exports.timeout = timeout;
3603
+ exports.timeoutFail = timeoutFail;
3604
+ exports.timeoutFailCause = timeoutFailCause;
3605
+ exports.timeoutTo = timeoutTo;
3606
+ exports.toChannel = toChannel;
3607
+ exports.toHub = toHub;
3608
+ exports.toPull = toPull;
3609
+ exports.toQueue = toQueue;
3610
+ exports.toQueueOfElements = toQueueOfElements;
3611
+ exports.toReadableStream = toReadableStream;
3612
+ exports.transduce = transduce;
3613
+ exports.unfold = unfold;
3614
+ exports.unfoldChunk = unfoldChunk;
3615
+ exports.unfoldChunkEffect = unfoldChunkEffect;
3616
+ exports.unfoldEffect = unfoldEffect;
3617
+ exports.unit = unit;
3618
+ exports.unwrap = unwrap;
3619
+ exports.unwrapScoped = unwrapScoped;
3620
+ exports.updateService = updateService;
3621
+ exports.when = when;
3622
+ exports.whenCase = whenCase;
3623
+ exports.whenCaseEffect = whenCaseEffect;
3624
+ exports.whenEffect = whenEffect;
3625
+ exports.withSpan = withSpan;
3626
+ exports.zip = zip;
3627
+ exports.zipAll = zipAll;
3628
+ exports.zipAllLeft = zipAllLeft;
3629
+ exports.zipAllRight = zipAllRight;
3630
+ exports.zipAllSortedByKey = zipAllSortedByKey;
3631
+ exports.zipAllSortedByKeyLeft = zipAllSortedByKeyLeft;
3632
+ exports.zipAllSortedByKeyRight = zipAllSortedByKeyRight;
3633
+ exports.zipAllSortedByKeyWith = zipAllSortedByKeyWith;
3634
+ exports.zipAllWith = zipAllWith;
3635
+ exports.zipFlatten = zipFlatten;
3636
+ exports.zipLatest = zipLatest;
3637
+ exports.zipLatestWith = zipLatestWith;
3638
+ exports.zipLeft = zipLeft;
3639
+ exports.zipRight = zipRight;
3640
+ exports.zipWith = zipWith;
3641
+ exports.zipWithChunks = zipWithChunks;
3642
+ exports.zipWithIndex = zipWithIndex;
3643
+ exports.zipWithNext = zipWithNext;
3644
+ exports.zipWithPrevious = zipWithPrevious;
3645
+ exports.zipWithPreviousAndNext = zipWithPreviousAndNext;