@fncts/io 0.0.1

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 (1688) hide show
  1. package/Cached/api.d.ts +27 -0
  2. package/Cached/definition.d.ts +18 -0
  3. package/Cached/internal.d.ts +10 -0
  4. package/Cached.d.ts +3 -0
  5. package/CancellerState.d.ts +42 -0
  6. package/Channel/ChildExecutorDecision/api.d.ts +6 -0
  7. package/Channel/ChildExecutorDecision/definition.d.ts +35 -0
  8. package/Channel/ChildExecutorDecision.d.ts +2 -0
  9. package/Channel/UpstreamPullRequest/api.d.ts +16 -0
  10. package/Channel/UpstreamPullRequest/definition.d.ts +20 -0
  11. package/Channel/UpstreamPullRequest.d.ts +2 -0
  12. package/Channel/UpstreamPullStrategy/definition.d.ts +26 -0
  13. package/Channel/UpstreamPullStrategy.d.ts +1 -0
  14. package/Channel/api/interruptWhen.d.ts +23 -0
  15. package/Channel/api/mapOutIOC.d.ts +8 -0
  16. package/Channel/api/mergeAll.d.ts +7 -0
  17. package/Channel/api/mergeAllUnboundedWith.d.ts +6 -0
  18. package/Channel/api/mergeAllWith.d.ts +11 -0
  19. package/Channel/api/mergeMap.d.ts +7 -0
  20. package/Channel/api/mergeWith.d.ts +14 -0
  21. package/Channel/api/run.d.ts +8 -0
  22. package/Channel/api/runCollect.d.ts +8 -0
  23. package/Channel/api/runDrain.d.ts +8 -0
  24. package/Channel/api/runScoped.d.ts +10 -0
  25. package/Channel/api/toPull.d.ts +11 -0
  26. package/Channel/api/zipC.d.ts +16 -0
  27. package/Channel/api.d.ts +420 -0
  28. package/Channel/core-api.d.ts +78 -0
  29. package/Channel/definition.d.ts +164 -0
  30. package/Channel/internal/AsyncInputConsumer.d.ts +8 -0
  31. package/Channel/internal/AsyncInputProducer.d.ts +8 -0
  32. package/Channel/internal/ChannelExecutor.d.ts +51 -0
  33. package/Channel/internal/ChannelState.d.ts +44 -0
  34. package/Channel/internal/MergeDecision.d.ts +51 -0
  35. package/Channel/internal/MergeState.d.ts +50 -0
  36. package/Channel/internal/SingleProducerAsyncInput.d.ts +71 -0
  37. package/Channel.d.ts +3 -0
  38. package/Clock/api.d.ts +11 -0
  39. package/Clock/definition.d.ts +14 -0
  40. package/Clock/live.d.ts +7 -0
  41. package/Clock.d.ts +3 -0
  42. package/Console/api.d.ts +11 -0
  43. package/Console/definition.d.ts +15 -0
  44. package/Console/live.d.ts +11 -0
  45. package/Console.d.ts +3 -0
  46. package/Fiber/FiberContext.d.ts +145 -0
  47. package/Fiber/api/await.d.ts +8 -0
  48. package/Fiber/api/awaitAll.d.ts +10 -0
  49. package/Fiber/api/children.d.ts +8 -0
  50. package/Fiber/api/collectAll.d.ts +11 -0
  51. package/Fiber/api/evalOn.d.ts +7 -0
  52. package/Fiber/api/evalOnIO.d.ts +9 -0
  53. package/Fiber/api/fromIO.d.ts +8 -0
  54. package/Fiber/api/id.d.ts +7 -0
  55. package/Fiber/api/inheritRefs.d.ts +7 -0
  56. package/Fiber/api/interrupt.d.ts +11 -0
  57. package/Fiber/api/interruptAll.d.ts +15 -0
  58. package/Fiber/api/interruptAs.d.ts +9 -0
  59. package/Fiber/api/interruptFork.d.ts +10 -0
  60. package/Fiber/api/join.d.ts +12 -0
  61. package/Fiber/api/joinAll.d.ts +11 -0
  62. package/Fiber/api/location.d.ts +7 -0
  63. package/Fiber/api/mapFiber.d.ts +9 -0
  64. package/Fiber/api/mapIO.d.ts +14 -0
  65. package/Fiber/api/poll.d.ts +9 -0
  66. package/Fiber/api/zipWith.d.ts +9 -0
  67. package/Fiber/constructors.d.ts +29 -0
  68. package/Fiber/definition.d.ts +102 -0
  69. package/Fiber.d.ts +23 -0
  70. package/FiberDescriptor.d.ts +18 -0
  71. package/FiberRef/api/locallyScoped.d.ts +9 -0
  72. package/FiberRef/api/locallyScopedWith.d.ts +9 -0
  73. package/FiberRef/api.d.ts +89 -0
  74. package/FiberRef/constructors.d.ts +63 -0
  75. package/FiberRef/definition.d.ts +41 -0
  76. package/FiberRef.d.ts +5 -0
  77. package/FiberRefs/api.d.ts +15 -0
  78. package/FiberRefs/definition.d.ts +14 -0
  79. package/FiberRefs/join.d.ts +8 -0
  80. package/FiberRefs.d.ts +3 -0
  81. package/FiberScope/constructors.d.ts +16 -0
  82. package/FiberScope/definition.d.ts +24 -0
  83. package/FiberScope.d.ts +2 -0
  84. package/FiberState/api.d.ts +7 -0
  85. package/FiberState/constructors.d.ts +22 -0
  86. package/FiberState/definition.d.ts +38 -0
  87. package/FiberState.d.ts +3 -0
  88. package/FiberStatus/constructors.d.ts +22 -0
  89. package/FiberStatus/definition.d.ts +59 -0
  90. package/FiberStatus.d.ts +2 -0
  91. package/Future/api.d.ts +113 -0
  92. package/Future/constructors.d.ts +21 -0
  93. package/Future/definition.d.ts +27 -0
  94. package/Future.d.ts +3 -0
  95. package/Hub/api.d.ts +191 -0
  96. package/Hub/definition.d.ts +89 -0
  97. package/Hub/internal.d.ts +97 -0
  98. package/Hub.d.ts +2 -0
  99. package/IO/api/acquireRelease.d.ts +10 -0
  100. package/IO/api/acquireReleaseExit.d.ts +11 -0
  101. package/IO/api/acquireReleaseInterruptible.d.ts +9 -0
  102. package/IO/api/acquireReleaseInterruptibleExit.d.ts +10 -0
  103. package/IO/api/addFinalizer.d.ts +9 -0
  104. package/IO/api/addFinalizerExit.d.ts +9 -0
  105. package/IO/api/bracket.d.ts +26 -0
  106. package/IO/api/bracketExit.d.ts +14 -0
  107. package/IO/api/clockWith.d.ts +12 -0
  108. package/IO/api/concurrency.d.ts +35 -0
  109. package/IO/api/concurrentFinalizers.d.ts +8 -0
  110. package/IO/api/consoleWith.d.ts +12 -0
  111. package/IO/api/core-scope.d.ts +77 -0
  112. package/IO/api/environment.d.ts +74 -0
  113. package/IO/api/foreachC.d.ts +29 -0
  114. package/IO/api/foreachExec.d.ts +12 -0
  115. package/IO/api/forkAll.d.ts +10 -0
  116. package/IO/api/forkIn.d.ts +9 -0
  117. package/IO/api/forkScoped.d.ts +8 -0
  118. package/IO/api/fulfill.d.ts +10 -0
  119. package/IO/api/interrupt.d.ts +108 -0
  120. package/IO/api/memoize.d.ts +6 -0
  121. package/IO/api/onExit.d.ts +7 -0
  122. package/IO/api/once.d.ts +6 -0
  123. package/IO/api/provideLayer.d.ts +7 -0
  124. package/IO/api/provideSomeLayer.d.ts +13 -0
  125. package/IO/api/race.d.ts +13 -0
  126. package/IO/api/raceFirst.d.ts +16 -0
  127. package/IO/api/randomWith.d.ts +12 -0
  128. package/IO/api/repeat.d.ts +20 -0
  129. package/IO/api/retry.d.ts +19 -0
  130. package/IO/api/schedule.d.ts +13 -0
  131. package/IO/api/scope.d.ts +8 -0
  132. package/IO/api/scopeWith.d.ts +8 -0
  133. package/IO/api/scoped.d.ts +14 -0
  134. package/IO/api/sequenceT.d.ts +10 -0
  135. package/IO/api/sleep.d.ts +6 -0
  136. package/IO/api/stateful.d.ts +10 -0
  137. package/IO/api/withChildren.d.ts +7 -0
  138. package/IO/api/withFinalizer.d.ts +8 -0
  139. package/IO/api/withFinalizerExit.d.ts +9 -0
  140. package/IO/api/withRuntimeConfig.d.ts +10 -0
  141. package/IO/api/zipC.d.ts +6 -0
  142. package/IO/api/zipWithC.d.ts +9 -0
  143. package/IO/api.d.ts +1130 -0
  144. package/IO/definition.d.ts +338 -0
  145. package/IO/runtime.d.ts +43 -0
  146. package/IO.d.ts +47 -0
  147. package/IOEnv/definition.d.ts +16 -0
  148. package/IOEnv/live.d.ts +6 -0
  149. package/IOEnv/services.d.ts +8 -0
  150. package/IOEnv.d.ts +3 -0
  151. package/IOSpec.d.ts +3 -0
  152. package/InterruptStatus/constructors.d.ts +16 -0
  153. package/InterruptStatus/definition.d.ts +12 -0
  154. package/InterruptStatus.d.ts +2 -0
  155. package/Layer/MemoMap.d.ts +43 -0
  156. package/Layer/api.d.ts +209 -0
  157. package/Layer/definition.d.ts +75 -0
  158. package/Layer.d.ts +3 -0
  159. package/LogLevel.d.ts +74 -0
  160. package/LogSpan.d.ts +14 -0
  161. package/Logger/api.d.ts +14 -0
  162. package/Logger/constructors.d.ts +10 -0
  163. package/Logger/definition.d.ts +18 -0
  164. package/Logger.d.ts +3 -0
  165. package/Queue/api/dimapIO.d.ts +41 -0
  166. package/Queue/api/filterInputIO.d.ts +32 -0
  167. package/Queue/api/filterOutputIO.d.ts +31 -0
  168. package/Queue/api/operations.d.ts +82 -0
  169. package/Queue/api/poll.d.ts +9 -0
  170. package/Queue/api/takeBetween.d.ts +11 -0
  171. package/Queue/api/zipWithIO.d.ts +44 -0
  172. package/Queue/api.d.ts +7 -0
  173. package/Queue/constructors.d.ts +22 -0
  174. package/Queue/definition.d.ts +129 -0
  175. package/Queue/internal.d.ts +12 -0
  176. package/Queue/strategy.d.ts +33 -0
  177. package/Queue.d.ts +5 -0
  178. package/Random/api.d.ts +42 -0
  179. package/Random/definition.d.ts +21 -0
  180. package/Random/live.d.ts +20 -0
  181. package/Random.d.ts +3 -0
  182. package/Ref/Atomic/Atomic.d.ts +18 -0
  183. package/Ref/Atomic/api.d.ts +53 -0
  184. package/Ref/Atomic.d.ts +2 -0
  185. package/Ref/Derived.d.ts +14 -0
  186. package/Ref/DerivedAll.d.ts +14 -0
  187. package/Ref/Synchronized/api.d.ts +100 -0
  188. package/Ref/Synchronized/constructors.d.ts +7 -0
  189. package/Ref/Synchronized/definition.d.ts +41 -0
  190. package/Ref/api/collect.d.ts +11 -0
  191. package/Ref/api/dimap.d.ts +56 -0
  192. package/Ref/api/filter.d.ts +20 -0
  193. package/Ref/api/get.d.ts +9 -0
  194. package/Ref/api/match.d.ts +13 -0
  195. package/Ref/api/matchAll.d.ts +11 -0
  196. package/Ref/api/modify.d.ts +79 -0
  197. package/Ref/api/set.d.ts +10 -0
  198. package/Ref/api.d.ts +23 -0
  199. package/Ref/constructors.d.ts +13 -0
  200. package/Ref/definition.d.ts +74 -0
  201. package/Ref.d.ts +9 -0
  202. package/RuntimeConfig.d.ts +34 -0
  203. package/STM/api/core-api.d.ts +35 -0
  204. package/STM/api/core-constructors.d.ts +45 -0
  205. package/STM/api.d.ts +379 -0
  206. package/STM/definition.d.ts +105 -0
  207. package/STM/driver.d.ts +15 -0
  208. package/STM/internal/CommitState.d.ts +47 -0
  209. package/STM/internal/Entry.d.ts +37 -0
  210. package/STM/internal/Journal.d.ts +101 -0
  211. package/STM/internal/TryCommit.d.ts +21 -0
  212. package/STM/internal/Versioned.d.ts +7 -0
  213. package/STM.d.ts +5 -0
  214. package/Schedule/Decision.d.ts +38 -0
  215. package/Schedule/Driver.d.ts +19 -0
  216. package/Schedule/Interval.d.ts +71 -0
  217. package/Schedule/api/driver.d.ts +7 -0
  218. package/Schedule/api.d.ts +359 -0
  219. package/Schedule/definition.d.ts +51 -0
  220. package/Schedule.d.ts +5 -0
  221. package/Scope/Finalizer/definition.d.ts +26 -0
  222. package/Scope/Finalizer.d.ts +1 -0
  223. package/Scope/ReleaseMap/api/releaseAll.d.ts +9 -0
  224. package/Scope/ReleaseMap/api.d.ts +30 -0
  225. package/Scope/ReleaseMap/constructors.d.ts +12 -0
  226. package/Scope/ReleaseMap/definition.d.ts +38 -0
  227. package/Scope/ReleaseMap.d.ts +3 -0
  228. package/Scope/api.d.ts +61 -0
  229. package/Scope/definition.d.ts +32 -0
  230. package/Scope.d.ts +2 -0
  231. package/ScopedRef/api.d.ts +9 -0
  232. package/ScopedRef/definition.d.ts +14 -0
  233. package/ScopedRef.d.ts +2 -0
  234. package/Sink/api.d.ts +35 -0
  235. package/Sink/definition.d.ts +15 -0
  236. package/Sink.d.ts +2 -0
  237. package/State/api.d.ts +25 -0
  238. package/State/definition.d.ts +14 -0
  239. package/State/internal.d.ts +10 -0
  240. package/State.d.ts +2 -0
  241. package/Stream/api/zipAllWith.d.ts +10 -0
  242. package/Stream/api/zipWith.d.ts +6 -0
  243. package/Stream/api/zipWithChunks.d.ts +11 -0
  244. package/Stream/api.d.ts +1087 -0
  245. package/Stream/definition.d.ts +38 -0
  246. package/Stream/internal/DebounceState.d.ts +61 -0
  247. package/Stream/internal/Handoff.d.ts +111 -0
  248. package/Stream/internal/Pull.d.ts +48 -0
  249. package/Stream/internal/SinkEndReason.d.ts +39 -0
  250. package/Stream/internal/Take.d.ts +128 -0
  251. package/Stream/internal/util.d.ts +3 -0
  252. package/Stream.d.ts +2 -0
  253. package/Supervisor/api.d.ts +10 -0
  254. package/Supervisor/constructors.d.ts +34 -0
  255. package/Supervisor/definition.d.ts +35 -0
  256. package/Supervisor.d.ts +3 -0
  257. package/TExit/constructors.d.ts +32 -0
  258. package/TExit/definition.d.ts +90 -0
  259. package/TExit.d.ts +2 -0
  260. package/TFuture/api.d.ts +29 -0
  261. package/TFuture/constructors.d.ts +16 -0
  262. package/TFuture/definition.d.ts +22 -0
  263. package/TFuture.d.ts +3 -0
  264. package/TRef/api.d.ts +85 -0
  265. package/TRef/constructors.d.ts +32 -0
  266. package/TRef/definition.d.ts +87 -0
  267. package/TRef.d.ts +3 -0
  268. package/TSemaphore/api.d.ts +38 -0
  269. package/TSemaphore/constructors.d.ts +13 -0
  270. package/TSemaphore/definition.d.ts +20 -0
  271. package/TSemaphore.d.ts +3 -0
  272. package/TxnId.d.ts +12 -0
  273. package/_cjs/Cached/api.cjs +85 -0
  274. package/_cjs/Cached/api.cjs.map +1 -0
  275. package/_cjs/Cached/definition.cjs +33 -0
  276. package/_cjs/Cached/definition.cjs.map +1 -0
  277. package/_cjs/Cached/internal.cjs +18 -0
  278. package/_cjs/Cached/internal.cjs.map +1 -0
  279. package/_cjs/Cached.cjs +45 -0
  280. package/_cjs/Cached.cjs.map +1 -0
  281. package/_cjs/CancellerState.cjs +64 -0
  282. package/_cjs/CancellerState.cjs.map +1 -0
  283. package/_cjs/Channel/ChildExecutorDecision/api.cjs +29 -0
  284. package/_cjs/Channel/ChildExecutorDecision/api.cjs.map +1 -0
  285. package/_cjs/Channel/ChildExecutorDecision/definition.cjs +39 -0
  286. package/_cjs/Channel/ChildExecutorDecision/definition.cjs.map +1 -0
  287. package/_cjs/Channel/ChildExecutorDecision.cjs +32 -0
  288. package/_cjs/Channel/ChildExecutorDecision.cjs.map +1 -0
  289. package/_cjs/Channel/UpstreamPullRequest/api.cjs +44 -0
  290. package/_cjs/Channel/UpstreamPullRequest/api.cjs.map +1 -0
  291. package/_cjs/Channel/UpstreamPullRequest/definition.cjs +29 -0
  292. package/_cjs/Channel/UpstreamPullRequest/definition.cjs.map +1 -0
  293. package/_cjs/Channel/UpstreamPullRequest.cjs +32 -0
  294. package/_cjs/Channel/UpstreamPullRequest.cjs.map +1 -0
  295. package/_cjs/Channel/UpstreamPullStrategy/definition.cjs +33 -0
  296. package/_cjs/Channel/UpstreamPullStrategy/definition.cjs.map +1 -0
  297. package/_cjs/Channel/UpstreamPullStrategy.cjs +19 -0
  298. package/_cjs/Channel/UpstreamPullStrategy.cjs.map +1 -0
  299. package/_cjs/Channel/api/interruptWhen.cjs +54 -0
  300. package/_cjs/Channel/api/interruptWhen.cjs.map +1 -0
  301. package/_cjs/Channel/api/mapOutIOC.cjs +63 -0
  302. package/_cjs/Channel/api/mapOutIOC.cjs.map +1 -0
  303. package/_cjs/Channel/api/mergeAll.cjs +20 -0
  304. package/_cjs/Channel/api/mergeAll.cjs.map +1 -0
  305. package/_cjs/Channel/api/mergeAllUnboundedWith.cjs +20 -0
  306. package/_cjs/Channel/api/mergeAllUnboundedWith.cjs.map +1 -0
  307. package/_cjs/Channel/api/mergeAllWith.cjs +97 -0
  308. package/_cjs/Channel/api/mergeAllWith.cjs.map +1 -0
  309. package/_cjs/Channel/api/mergeMap.cjs +22 -0
  310. package/_cjs/Channel/api/mergeMap.cjs.map +1 -0
  311. package/_cjs/Channel/api/mergeWith.cjs +98 -0
  312. package/_cjs/Channel/api/mergeWith.cjs.map +1 -0
  313. package/_cjs/Channel/api/run.cjs +24 -0
  314. package/_cjs/Channel/api/run.cjs.map +1 -0
  315. package/_cjs/Channel/api/runCollect.cjs +22 -0
  316. package/_cjs/Channel/api/runCollect.cjs.map +1 -0
  317. package/_cjs/Channel/api/runDrain.cjs +24 -0
  318. package/_cjs/Channel/api/runDrain.cjs.map +1 -0
  319. package/_cjs/Channel/api/runScoped.cjs +70 -0
  320. package/_cjs/Channel/api/runScoped.cjs.map +1 -0
  321. package/_cjs/Channel/api/toPull.cjs +63 -0
  322. package/_cjs/Channel/api/toPull.cjs.map +1 -0
  323. package/_cjs/Channel/api/zipC.cjs +51 -0
  324. package/_cjs/Channel/api/zipC.cjs.map +1 -0
  325. package/_cjs/Channel/api.cjs +875 -0
  326. package/_cjs/Channel/api.cjs.map +1 -0
  327. package/_cjs/Channel/core-api.cjs +149 -0
  328. package/_cjs/Channel/core-api.cjs.map +1 -0
  329. package/_cjs/Channel/definition.cjs +262 -0
  330. package/_cjs/Channel/definition.cjs.map +1 -0
  331. package/_cjs/Channel/internal/AsyncInputConsumer.cjs +6 -0
  332. package/_cjs/Channel/internal/AsyncInputConsumer.cjs.map +1 -0
  333. package/_cjs/Channel/internal/AsyncInputProducer.cjs +6 -0
  334. package/_cjs/Channel/internal/AsyncInputProducer.cjs.map +1 -0
  335. package/_cjs/Channel/internal/ChannelExecutor.cjs +954 -0
  336. package/_cjs/Channel/internal/ChannelExecutor.cjs.map +1 -0
  337. package/_cjs/Channel/internal/ChannelState.cjs +100 -0
  338. package/_cjs/Channel/internal/ChannelState.cjs.map +1 -0
  339. package/_cjs/Channel/internal/MergeDecision.cjs +85 -0
  340. package/_cjs/Channel/internal/MergeDecision.cjs.map +1 -0
  341. package/_cjs/Channel/internal/MergeState.cjs +73 -0
  342. package/_cjs/Channel/internal/MergeState.cjs.map +1 -0
  343. package/_cjs/Channel/internal/SingleProducerAsyncInput.cjs +276 -0
  344. package/_cjs/Channel/internal/SingleProducerAsyncInput.cjs.map +1 -0
  345. package/_cjs/Channel.cjs +45 -0
  346. package/_cjs/Channel.cjs.map +1 -0
  347. package/_cjs/Clock/api.cjs +30 -0
  348. package/_cjs/Clock/api.cjs.map +1 -0
  349. package/_cjs/Clock/definition.cjs +27 -0
  350. package/_cjs/Clock/definition.cjs.map +1 -0
  351. package/_cjs/Clock/live.cjs +45 -0
  352. package/_cjs/Clock/live.cjs.map +1 -0
  353. package/_cjs/Clock.cjs +45 -0
  354. package/_cjs/Clock.cjs.map +1 -0
  355. package/_cjs/Console/api.cjs +29 -0
  356. package/_cjs/Console/api.cjs.map +1 -0
  357. package/_cjs/Console/definition.cjs +27 -0
  358. package/_cjs/Console/definition.cjs.map +1 -0
  359. package/_cjs/Console/live.cjs +40 -0
  360. package/_cjs/Console/live.cjs.map +1 -0
  361. package/_cjs/Console.cjs +45 -0
  362. package/_cjs/Console.cjs.map +1 -0
  363. package/_cjs/Fiber/FiberContext.cjs +1219 -0
  364. package/_cjs/Fiber/FiberContext.cjs.map +1 -0
  365. package/_cjs/Fiber/api/await.cjs +15 -0
  366. package/_cjs/Fiber/api/await.cjs.map +1 -0
  367. package/_cjs/Fiber/api/awaitAll.cjs +28 -0
  368. package/_cjs/Fiber/api/awaitAll.cjs.map +1 -0
  369. package/_cjs/Fiber/api/children.cjs +15 -0
  370. package/_cjs/Fiber/api/children.cjs.map +1 -0
  371. package/_cjs/Fiber/api/collectAll.cjs +61 -0
  372. package/_cjs/Fiber/api/collectAll.cjs.map +1 -0
  373. package/_cjs/Fiber/api/evalOn.cjs +28 -0
  374. package/_cjs/Fiber/api/evalOn.cjs.map +1 -0
  375. package/_cjs/Fiber/api/evalOnIO.cjs +33 -0
  376. package/_cjs/Fiber/api/evalOnIO.cjs.map +1 -0
  377. package/_cjs/Fiber/api/fromIO.cjs +26 -0
  378. package/_cjs/Fiber/api/fromIO.cjs.map +1 -0
  379. package/_cjs/Fiber/api/id.cjs +15 -0
  380. package/_cjs/Fiber/api/id.cjs.map +1 -0
  381. package/_cjs/Fiber/api/inheritRefs.cjs +15 -0
  382. package/_cjs/Fiber/api/inheritRefs.cjs.map +1 -0
  383. package/_cjs/Fiber/api/interrupt.cjs +27 -0
  384. package/_cjs/Fiber/api/interrupt.cjs.map +1 -0
  385. package/_cjs/Fiber/api/interruptAll.cjs +42 -0
  386. package/_cjs/Fiber/api/interruptAll.cjs.map +1 -0
  387. package/_cjs/Fiber/api/interruptAs.cjs +15 -0
  388. package/_cjs/Fiber/api/interruptAs.cjs.map +1 -0
  389. package/_cjs/Fiber/api/interruptFork.cjs +28 -0
  390. package/_cjs/Fiber/api/interruptFork.cjs.map +1 -0
  391. package/_cjs/Fiber/api/join.cjs +29 -0
  392. package/_cjs/Fiber/api/join.cjs.map +1 -0
  393. package/_cjs/Fiber/api/joinAll.cjs +30 -0
  394. package/_cjs/Fiber/api/joinAll.cjs.map +1 -0
  395. package/_cjs/Fiber/api/location.cjs +21 -0
  396. package/_cjs/Fiber/api/location.cjs.map +1 -0
  397. package/_cjs/Fiber/api/mapFiber.cjs +31 -0
  398. package/_cjs/Fiber/api/mapFiber.cjs.map +1 -0
  399. package/_cjs/Fiber/api/mapIO.cjs +57 -0
  400. package/_cjs/Fiber/api/mapIO.cjs.map +1 -0
  401. package/_cjs/Fiber/api/poll.cjs +15 -0
  402. package/_cjs/Fiber/api/poll.cjs.map +1 -0
  403. package/_cjs/Fiber/api/zipWith.cjs +50 -0
  404. package/_cjs/Fiber/api/zipWith.cjs.map +1 -0
  405. package/_cjs/Fiber/constructors.cjs +70 -0
  406. package/_cjs/Fiber/constructors.cjs.map +1 -0
  407. package/_cjs/Fiber/definition.cjs +48 -0
  408. package/_cjs/Fiber/definition.cjs.map +1 -0
  409. package/_cjs/Fiber.cjs +305 -0
  410. package/_cjs/Fiber.cjs.map +1 -0
  411. package/_cjs/FiberDescriptor.cjs +26 -0
  412. package/_cjs/FiberDescriptor.cjs.map +1 -0
  413. package/_cjs/FiberRef/api/locallyScoped.cjs +26 -0
  414. package/_cjs/FiberRef/api/locallyScoped.cjs.map +1 -0
  415. package/_cjs/FiberRef/api/locallyScopedWith.cjs +24 -0
  416. package/_cjs/FiberRef/api/locallyScopedWith.cjs.map +1 -0
  417. package/_cjs/FiberRef/api.cjs +182 -0
  418. package/_cjs/FiberRef/api.cjs.map +1 -0
  419. package/_cjs/FiberRef/constructors.cjs +116 -0
  420. package/_cjs/FiberRef/constructors.cjs.map +1 -0
  421. package/_cjs/FiberRef/definition.cjs +76 -0
  422. package/_cjs/FiberRef/definition.cjs.map +1 -0
  423. package/_cjs/FiberRef.cjs +71 -0
  424. package/_cjs/FiberRef.cjs.map +1 -0
  425. package/_cjs/FiberRefs/api.cjs +31 -0
  426. package/_cjs/FiberRefs/api.cjs.map +1 -0
  427. package/_cjs/FiberRefs/definition.cjs +24 -0
  428. package/_cjs/FiberRefs/definition.cjs.map +1 -0
  429. package/_cjs/FiberRefs/join.cjs +110 -0
  430. package/_cjs/FiberRefs/join.cjs.map +1 -0
  431. package/_cjs/FiberRefs.cjs +45 -0
  432. package/_cjs/FiberRefs.cjs.map +1 -0
  433. package/_cjs/FiberScope/constructors.cjs +28 -0
  434. package/_cjs/FiberScope/constructors.cjs.map +1 -0
  435. package/_cjs/FiberScope/definition.cjs +60 -0
  436. package/_cjs/FiberScope/definition.cjs.map +1 -0
  437. package/_cjs/FiberScope.cjs +32 -0
  438. package/_cjs/FiberScope.cjs.map +1 -0
  439. package/_cjs/FiberState/api.cjs +26 -0
  440. package/_cjs/FiberState/api.cjs.map +1 -0
  441. package/_cjs/FiberState/constructors.cjs +44 -0
  442. package/_cjs/FiberState/constructors.cjs.map +1 -0
  443. package/_cjs/FiberState/definition.cjs +46 -0
  444. package/_cjs/FiberState/definition.cjs.map +1 -0
  445. package/_cjs/FiberState.cjs +45 -0
  446. package/_cjs/FiberState.cjs.map +1 -0
  447. package/_cjs/FiberStatus/constructors.cjs +42 -0
  448. package/_cjs/FiberStatus/constructors.cjs.map +1 -0
  449. package/_cjs/FiberStatus/definition.cjs +107 -0
  450. package/_cjs/FiberStatus/definition.cjs.map +1 -0
  451. package/_cjs/FiberStatus.cjs +32 -0
  452. package/_cjs/FiberStatus.cjs.map +1 -0
  453. package/_cjs/Future/api.cjs +292 -0
  454. package/_cjs/Future/api.cjs.map +1 -0
  455. package/_cjs/Future/constructors.cjs +55 -0
  456. package/_cjs/Future/constructors.cjs.map +1 -0
  457. package/_cjs/Future/definition.cjs +45 -0
  458. package/_cjs/Future/definition.cjs.map +1 -0
  459. package/_cjs/Future.cjs +45 -0
  460. package/_cjs/Future.cjs.map +1 -0
  461. package/_cjs/Hub/api.cjs +456 -0
  462. package/_cjs/Hub/api.cjs.map +1 -0
  463. package/_cjs/Hub/definition.cjs +28 -0
  464. package/_cjs/Hub/definition.cjs.map +1 -0
  465. package/_cjs/Hub/internal.cjs +449 -0
  466. package/_cjs/Hub/internal.cjs.map +1 -0
  467. package/_cjs/Hub.cjs +32 -0
  468. package/_cjs/Hub.cjs.map +1 -0
  469. package/_cjs/IO/api/acquireRelease.cjs +23 -0
  470. package/_cjs/IO/api/acquireRelease.cjs.map +1 -0
  471. package/_cjs/IO/api/acquireReleaseExit.cjs +25 -0
  472. package/_cjs/IO/api/acquireReleaseExit.cjs.map +1 -0
  473. package/_cjs/IO/api/acquireReleaseInterruptible.cjs +20 -0
  474. package/_cjs/IO/api/acquireReleaseInterruptible.cjs.map +1 -0
  475. package/_cjs/IO/api/acquireReleaseInterruptibleExit.cjs +22 -0
  476. package/_cjs/IO/api/acquireReleaseInterruptibleExit.cjs.map +1 -0
  477. package/_cjs/IO/api/addFinalizer.cjs +20 -0
  478. package/_cjs/IO/api/addFinalizer.cjs.map +1 -0
  479. package/_cjs/IO/api/addFinalizerExit.cjs +32 -0
  480. package/_cjs/IO/api/addFinalizerExit.cjs.map +1 -0
  481. package/_cjs/IO/api/bracket.cjs +40 -0
  482. package/_cjs/IO/api/bracket.cjs.map +1 -0
  483. package/_cjs/IO/api/bracketExit.cjs +37 -0
  484. package/_cjs/IO/api/bracketExit.cjs.map +1 -0
  485. package/_cjs/IO/api/clockWith.cjs +40 -0
  486. package/_cjs/IO/api/clockWith.cjs.map +1 -0
  487. package/_cjs/IO/api/concurrency.cjs +72 -0
  488. package/_cjs/IO/api/concurrency.cjs.map +1 -0
  489. package/_cjs/IO/api/concurrentFinalizers.cjs +28 -0
  490. package/_cjs/IO/api/concurrentFinalizers.cjs.map +1 -0
  491. package/_cjs/IO/api/consoleWith.cjs +40 -0
  492. package/_cjs/IO/api/consoleWith.cjs.map +1 -0
  493. package/_cjs/IO/api/core-scope.cjs +168 -0
  494. package/_cjs/IO/api/core-scope.cjs.map +1 -0
  495. package/_cjs/IO/api/environment.cjs +153 -0
  496. package/_cjs/IO/api/environment.cjs.map +1 -0
  497. package/_cjs/IO/api/foreachC.cjs +152 -0
  498. package/_cjs/IO/api/foreachC.cjs.map +1 -0
  499. package/_cjs/IO/api/foreachExec.cjs +33 -0
  500. package/_cjs/IO/api/foreachExec.cjs.map +1 -0
  501. package/_cjs/IO/api/forkAll.cjs +25 -0
  502. package/_cjs/IO/api/forkAll.cjs.map +1 -0
  503. package/_cjs/IO/api/forkIn.cjs +33 -0
  504. package/_cjs/IO/api/forkIn.cjs.map +1 -0
  505. package/_cjs/IO/api/forkScoped.cjs +30 -0
  506. package/_cjs/IO/api/forkScoped.cjs.map +1 -0
  507. package/_cjs/IO/api/fulfill.cjs +32 -0
  508. package/_cjs/IO/api/fulfill.cjs.map +1 -0
  509. package/_cjs/IO/api/interrupt.cjs +204 -0
  510. package/_cjs/IO/api/interrupt.cjs.map +1 -0
  511. package/_cjs/IO/api/memoize.cjs +30 -0
  512. package/_cjs/IO/api/memoize.cjs.map +1 -0
  513. package/_cjs/IO/api/onExit.cjs +22 -0
  514. package/_cjs/IO/api/onExit.cjs.map +1 -0
  515. package/_cjs/IO/api/once.cjs +24 -0
  516. package/_cjs/IO/api/once.cjs.map +1 -0
  517. package/_cjs/IO/api/provideLayer.cjs +30 -0
  518. package/_cjs/IO/api/provideLayer.cjs.map +1 -0
  519. package/_cjs/IO/api/provideSomeLayer.cjs +37 -0
  520. package/_cjs/IO/api/provideSomeLayer.cjs.map +1 -0
  521. package/_cjs/IO/api/race.cjs +47 -0
  522. package/_cjs/IO/api/race.cjs.map +1 -0
  523. package/_cjs/IO/api/raceFirst.cjs +35 -0
  524. package/_cjs/IO/api/raceFirst.cjs.map +1 -0
  525. package/_cjs/IO/api/randomWith.cjs +40 -0
  526. package/_cjs/IO/api/randomWith.cjs.map +1 -0
  527. package/_cjs/IO/api/repeat.cjs +59 -0
  528. package/_cjs/IO/api/repeat.cjs.map +1 -0
  529. package/_cjs/IO/api/retry.cjs +56 -0
  530. package/_cjs/IO/api/retry.cjs.map +1 -0
  531. package/_cjs/IO/api/schedule.cjs +43 -0
  532. package/_cjs/IO/api/schedule.cjs.map +1 -0
  533. package/_cjs/IO/api/scope.cjs +23 -0
  534. package/_cjs/IO/api/scope.cjs.map +1 -0
  535. package/_cjs/IO/api/scopeWith.cjs +24 -0
  536. package/_cjs/IO/api/scopeWith.cjs.map +1 -0
  537. package/_cjs/IO/api/scoped.cjs +36 -0
  538. package/_cjs/IO/api/scoped.cjs.map +1 -0
  539. package/_cjs/IO/api/sequenceT.cjs +24 -0
  540. package/_cjs/IO/api/sequenceT.cjs.map +1 -0
  541. package/_cjs/IO/api/sleep.cjs +20 -0
  542. package/_cjs/IO/api/sleep.cjs.map +1 -0
  543. package/_cjs/IO/api/stateful.cjs +24 -0
  544. package/_cjs/IO/api/stateful.cjs.map +1 -0
  545. package/_cjs/IO/api/withChildren.cjs +24 -0
  546. package/_cjs/IO/api/withChildren.cjs.map +1 -0
  547. package/_cjs/IO/api/withFinalizer.cjs +20 -0
  548. package/_cjs/IO/api/withFinalizer.cjs.map +1 -0
  549. package/_cjs/IO/api/withFinalizerExit.cjs +22 -0
  550. package/_cjs/IO/api/withFinalizerExit.cjs.map +1 -0
  551. package/_cjs/IO/api/withRuntimeConfig.cjs +27 -0
  552. package/_cjs/IO/api/withRuntimeConfig.cjs.map +1 -0
  553. package/_cjs/IO/api/zipC.cjs +22 -0
  554. package/_cjs/IO/api/zipC.cjs.map +1 -0
  555. package/_cjs/IO/api/zipWithC.cjs +40 -0
  556. package/_cjs/IO/api/zipWithC.cjs.map +1 -0
  557. package/_cjs/IO/api.cjs +2142 -0
  558. package/_cjs/IO/api.cjs.map +1 -0
  559. package/_cjs/IO/definition.cjs +558 -0
  560. package/_cjs/IO/definition.cjs.map +1 -0
  561. package/_cjs/IO/runtime.cjs +144 -0
  562. package/_cjs/IO/runtime.cjs.map +1 -0
  563. package/_cjs/IO.cjs +617 -0
  564. package/_cjs/IO.cjs.map +1 -0
  565. package/_cjs/IOEnv/definition.cjs +34 -0
  566. package/_cjs/IOEnv/definition.cjs.map +1 -0
  567. package/_cjs/IOEnv/live.cjs +31 -0
  568. package/_cjs/IOEnv/live.cjs.map +1 -0
  569. package/_cjs/IOEnv/services.cjs +21 -0
  570. package/_cjs/IOEnv/services.cjs.map +1 -0
  571. package/_cjs/IOEnv.cjs +45 -0
  572. package/_cjs/IOEnv.cjs.map +1 -0
  573. package/_cjs/InterruptStatus/constructors.cjs +36 -0
  574. package/_cjs/InterruptStatus/constructors.cjs.map +1 -0
  575. package/_cjs/InterruptStatus/definition.cjs +30 -0
  576. package/_cjs/InterruptStatus/definition.cjs.map +1 -0
  577. package/_cjs/InterruptStatus.cjs +32 -0
  578. package/_cjs/InterruptStatus.cjs.map +1 -0
  579. package/_cjs/Layer/MemoMap.cjs +215 -0
  580. package/_cjs/Layer/MemoMap.cjs.map +1 -0
  581. package/_cjs/Layer/api.cjs +426 -0
  582. package/_cjs/Layer/api.cjs.map +1 -0
  583. package/_cjs/Layer/definition.cjs +137 -0
  584. package/_cjs/Layer/definition.cjs.map +1 -0
  585. package/_cjs/Layer.cjs +45 -0
  586. package/_cjs/Layer.cjs.map +1 -0
  587. package/_cjs/LogLevel.cjs +111 -0
  588. package/_cjs/LogLevel.cjs.map +1 -0
  589. package/_cjs/LogSpan.cjs +43 -0
  590. package/_cjs/LogSpan.cjs.map +1 -0
  591. package/_cjs/Logger/api.cjs +37 -0
  592. package/_cjs/Logger/api.cjs.map +1 -0
  593. package/_cjs/Logger/constructors.cjs +80 -0
  594. package/_cjs/Logger/constructors.cjs.map +1 -0
  595. package/_cjs/Logger/definition.cjs +20 -0
  596. package/_cjs/Logger/definition.cjs.map +1 -0
  597. package/_cjs/Logger.cjs +45 -0
  598. package/_cjs/Logger.cjs.map +1 -0
  599. package/_cjs/Queue/api/dimapIO.cjs +120 -0
  600. package/_cjs/Queue/api/dimapIO.cjs.map +1 -0
  601. package/_cjs/Queue/api/filterInputIO.cjs +84 -0
  602. package/_cjs/Queue/api/filterInputIO.cjs.map +1 -0
  603. package/_cjs/Queue/api/filterOutputIO.cjs +89 -0
  604. package/_cjs/Queue/api/filterOutputIO.cjs.map +1 -0
  605. package/_cjs/Queue/api/operations.cjs +147 -0
  606. package/_cjs/Queue/api/operations.cjs.map +1 -0
  607. package/_cjs/Queue/api/poll.cjs +29 -0
  608. package/_cjs/Queue/api/poll.cjs.map +1 -0
  609. package/_cjs/Queue/api/takeBetween.cjs +59 -0
  610. package/_cjs/Queue/api/takeBetween.cjs.map +1 -0
  611. package/_cjs/Queue/api/zipWithIO.cjs +99 -0
  612. package/_cjs/Queue/api/zipWithIO.cjs.map +1 -0
  613. package/_cjs/Queue/api.cjs +97 -0
  614. package/_cjs/Queue/api.cjs.map +1 -0
  615. package/_cjs/Queue/constructors.cjs +55 -0
  616. package/_cjs/Queue/constructors.cjs.map +1 -0
  617. package/_cjs/Queue/definition.cjs +29 -0
  618. package/_cjs/Queue/definition.cjs.map +1 -0
  619. package/_cjs/Queue/internal.cjs +255 -0
  620. package/_cjs/Queue/internal.cjs.map +1 -0
  621. package/_cjs/Queue/strategy.cjs +172 -0
  622. package/_cjs/Queue/strategy.cjs.map +1 -0
  623. package/_cjs/Queue.cjs +71 -0
  624. package/_cjs/Queue.cjs.map +1 -0
  625. package/_cjs/Random/api.cjs +76 -0
  626. package/_cjs/Random/api.cjs.map +1 -0
  627. package/_cjs/Random/definition.cjs +28 -0
  628. package/_cjs/Random/definition.cjs.map +1 -0
  629. package/_cjs/Random/live.cjs +57 -0
  630. package/_cjs/Random/live.cjs.map +1 -0
  631. package/_cjs/Random.cjs +45 -0
  632. package/_cjs/Random.cjs.map +1 -0
  633. package/_cjs/Ref/Atomic/Atomic.cjs +64 -0
  634. package/_cjs/Ref/Atomic/Atomic.cjs.map +1 -0
  635. package/_cjs/Ref/Atomic/api.cjs +154 -0
  636. package/_cjs/Ref/Atomic/api.cjs.map +1 -0
  637. package/_cjs/Ref/Atomic.cjs +32 -0
  638. package/_cjs/Ref/Atomic.cjs.map +1 -0
  639. package/_cjs/Ref/Derived.cjs +55 -0
  640. package/_cjs/Ref/Derived.cjs.map +1 -0
  641. package/_cjs/Ref/DerivedAll.cjs +55 -0
  642. package/_cjs/Ref/DerivedAll.cjs.map +1 -0
  643. package/_cjs/Ref/Synchronized/api.cjs +197 -0
  644. package/_cjs/Ref/Synchronized/api.cjs.map +1 -0
  645. package/_cjs/Ref/Synchronized/constructors.cjs +38 -0
  646. package/_cjs/Ref/Synchronized/constructors.cjs.map +1 -0
  647. package/_cjs/Ref/Synchronized/definition.cjs +88 -0
  648. package/_cjs/Ref/Synchronized/definition.cjs.map +1 -0
  649. package/_cjs/Ref/api/collect.cjs +31 -0
  650. package/_cjs/Ref/api/collect.cjs.map +1 -0
  651. package/_cjs/Ref/api/dimap.cjs +110 -0
  652. package/_cjs/Ref/api/dimap.cjs.map +1 -0
  653. package/_cjs/Ref/api/filter.cjs +45 -0
  654. package/_cjs/Ref/api/filter.cjs.map +1 -0
  655. package/_cjs/Ref/api/get.cjs +20 -0
  656. package/_cjs/Ref/api/get.cjs.map +1 -0
  657. package/_cjs/Ref/api/match.cjs +26 -0
  658. package/_cjs/Ref/api/match.cjs.map +1 -0
  659. package/_cjs/Ref/api/matchAll.cjs +24 -0
  660. package/_cjs/Ref/api/matchAll.cjs.map +1 -0
  661. package/_cjs/Ref/api/modify.cjs +240 -0
  662. package/_cjs/Ref/api/modify.cjs.map +1 -0
  663. package/_cjs/Ref/api/set.cjs +21 -0
  664. package/_cjs/Ref/api/set.cjs.map +1 -0
  665. package/_cjs/Ref/api.cjs +158 -0
  666. package/_cjs/Ref/api.cjs.map +1 -0
  667. package/_cjs/Ref/constructors.cjs +35 -0
  668. package/_cjs/Ref/constructors.cjs.map +1 -0
  669. package/_cjs/Ref/definition.cjs +23 -0
  670. package/_cjs/Ref/definition.cjs.map +1 -0
  671. package/_cjs/Ref.cjs +123 -0
  672. package/_cjs/Ref.cjs.map +1 -0
  673. package/_cjs/RuntimeConfig.cjs +55 -0
  674. package/_cjs/RuntimeConfig.cjs.map +1 -0
  675. package/_cjs/STM/api/core-api.cjs +83 -0
  676. package/_cjs/STM/api/core-api.cjs.map +1 -0
  677. package/_cjs/STM/api/core-constructors.cjs +90 -0
  678. package/_cjs/STM/api/core-constructors.cjs.map +1 -0
  679. package/_cjs/STM/api.cjs +758 -0
  680. package/_cjs/STM/api.cjs.map +1 -0
  681. package/_cjs/STM/definition.cjs +213 -0
  682. package/_cjs/STM/definition.cjs.map +1 -0
  683. package/_cjs/STM/driver.cjs +184 -0
  684. package/_cjs/STM/driver.cjs.map +1 -0
  685. package/_cjs/STM/internal/CommitState.cjs +89 -0
  686. package/_cjs/STM/internal/CommitState.cjs.map +1 -0
  687. package/_cjs/STM/internal/Entry.cjs +89 -0
  688. package/_cjs/STM/internal/Entry.cjs.map +1 -0
  689. package/_cjs/STM/internal/Journal.cjs +414 -0
  690. package/_cjs/STM/internal/Journal.cjs.map +1 -0
  691. package/_cjs/STM/internal/TryCommit.cjs +35 -0
  692. package/_cjs/STM/internal/TryCommit.cjs.map +1 -0
  693. package/_cjs/STM/internal/Versioned.cjs +19 -0
  694. package/_cjs/STM/internal/Versioned.cjs.map +1 -0
  695. package/_cjs/STM.cjs +71 -0
  696. package/_cjs/STM.cjs.map +1 -0
  697. package/_cjs/Schedule/Decision.cjs +67 -0
  698. package/_cjs/Schedule/Decision.cjs.map +1 -0
  699. package/_cjs/Schedule/Driver.cjs +32 -0
  700. package/_cjs/Schedule/Driver.cjs.map +1 -0
  701. package/_cjs/Schedule/Interval.cjs +154 -0
  702. package/_cjs/Schedule/Interval.cjs.map +1 -0
  703. package/_cjs/Schedule/api/driver.cjs +50 -0
  704. package/_cjs/Schedule/api/driver.cjs.map +1 -0
  705. package/_cjs/Schedule/api.cjs +790 -0
  706. package/_cjs/Schedule/api.cjs.map +1 -0
  707. package/_cjs/Schedule/definition.cjs +41 -0
  708. package/_cjs/Schedule/definition.cjs.map +1 -0
  709. package/_cjs/Schedule.cjs +71 -0
  710. package/_cjs/Schedule.cjs.map +1 -0
  711. package/_cjs/Scope/Finalizer/definition.cjs +24 -0
  712. package/_cjs/Scope/Finalizer/definition.cjs.map +1 -0
  713. package/_cjs/Scope/Finalizer.cjs +19 -0
  714. package/_cjs/Scope/Finalizer.cjs.map +1 -0
  715. package/_cjs/Scope/ReleaseMap/api/releaseAll.cjs +46 -0
  716. package/_cjs/Scope/ReleaseMap/api/releaseAll.cjs.map +1 -0
  717. package/_cjs/Scope/ReleaseMap/api.cjs +110 -0
  718. package/_cjs/Scope/ReleaseMap/api.cjs.map +1 -0
  719. package/_cjs/Scope/ReleaseMap/constructors.cjs +39 -0
  720. package/_cjs/Scope/ReleaseMap/constructors.cjs.map +1 -0
  721. package/_cjs/Scope/ReleaseMap/definition.cjs +39 -0
  722. package/_cjs/Scope/ReleaseMap/definition.cjs.map +1 -0
  723. package/_cjs/Scope/ReleaseMap.cjs +45 -0
  724. package/_cjs/Scope/ReleaseMap.cjs.map +1 -0
  725. package/_cjs/Scope/api.cjs +178 -0
  726. package/_cjs/Scope/api.cjs.map +1 -0
  727. package/_cjs/Scope/definition.cjs +45 -0
  728. package/_cjs/Scope/definition.cjs.map +1 -0
  729. package/_cjs/Scope.cjs +32 -0
  730. package/_cjs/Scope.cjs.map +1 -0
  731. package/_cjs/ScopedRef/api.cjs +73 -0
  732. package/_cjs/ScopedRef/api.cjs.map +1 -0
  733. package/_cjs/ScopedRef/definition.cjs +23 -0
  734. package/_cjs/ScopedRef/definition.cjs.map +1 -0
  735. package/_cjs/ScopedRef.cjs +32 -0
  736. package/_cjs/ScopedRef.cjs.map +1 -0
  737. package/_cjs/Sink/api.cjs +102 -0
  738. package/_cjs/Sink/api.cjs.map +1 -0
  739. package/_cjs/Sink/definition.cjs +25 -0
  740. package/_cjs/Sink/definition.cjs.map +1 -0
  741. package/_cjs/Sink.cjs +32 -0
  742. package/_cjs/Sink.cjs.map +1 -0
  743. package/_cjs/State/api.cjs +76 -0
  744. package/_cjs/State/api.cjs.map +1 -0
  745. package/_cjs/State/definition.cjs +30 -0
  746. package/_cjs/State/definition.cjs.map +1 -0
  747. package/_cjs/State/internal.cjs +18 -0
  748. package/_cjs/State/internal.cjs.map +1 -0
  749. package/_cjs/State.cjs +32 -0
  750. package/_cjs/State.cjs.map +1 -0
  751. package/_cjs/Stream/api/zipAllWith.cjs +127 -0
  752. package/_cjs/Stream/api/zipAllWith.cjs.map +1 -0
  753. package/_cjs/Stream/api/zipWith.cjs +22 -0
  754. package/_cjs/Stream/api/zipWith.cjs.map +1 -0
  755. package/_cjs/Stream/api/zipWithChunks.cjs +100 -0
  756. package/_cjs/Stream/api/zipWithChunks.cjs.map +1 -0
  757. package/_cjs/Stream/api.cjs +2517 -0
  758. package/_cjs/Stream/api.cjs.map +1 -0
  759. package/_cjs/Stream/definition.cjs +55 -0
  760. package/_cjs/Stream/definition.cjs.map +1 -0
  761. package/_cjs/Stream/internal/DebounceState.cjs +99 -0
  762. package/_cjs/Stream/internal/DebounceState.cjs.map +1 -0
  763. package/_cjs/Stream/internal/Handoff.cjs +222 -0
  764. package/_cjs/Stream/internal/Handoff.cjs.map +1 -0
  765. package/_cjs/Stream/internal/Pull.cjs +89 -0
  766. package/_cjs/Stream/internal/Pull.cjs.map +1 -0
  767. package/_cjs/Stream/internal/SinkEndReason.cjs +87 -0
  768. package/_cjs/Stream/internal/SinkEndReason.cjs.map +1 -0
  769. package/_cjs/Stream/internal/Take.cjs +249 -0
  770. package/_cjs/Stream/internal/Take.cjs.map +1 -0
  771. package/_cjs/Stream/internal/util.cjs +34 -0
  772. package/_cjs/Stream/internal/util.cjs.map +1 -0
  773. package/_cjs/Stream.cjs +32 -0
  774. package/_cjs/Stream.cjs.map +1 -0
  775. package/_cjs/Supervisor/api.cjs +56 -0
  776. package/_cjs/Supervisor/api.cjs.map +1 -0
  777. package/_cjs/Supervisor/constructors.cjs +92 -0
  778. package/_cjs/Supervisor/constructors.cjs.map +1 -0
  779. package/_cjs/Supervisor/definition.cjs +89 -0
  780. package/_cjs/Supervisor/definition.cjs.map +1 -0
  781. package/_cjs/Supervisor.cjs +45 -0
  782. package/_cjs/Supervisor.cjs.map +1 -0
  783. package/_cjs/TExit/constructors.cjs +59 -0
  784. package/_cjs/TExit/constructors.cjs.map +1 -0
  785. package/_cjs/TExit/definition.cjs +214 -0
  786. package/_cjs/TExit/definition.cjs.map +1 -0
  787. package/_cjs/TExit.cjs +32 -0
  788. package/_cjs/TExit.cjs.map +1 -0
  789. package/_cjs/TFuture/api.cjs +76 -0
  790. package/_cjs/TFuture/api.cjs.map +1 -0
  791. package/_cjs/TFuture/constructors.cjs +42 -0
  792. package/_cjs/TFuture/constructors.cjs.map +1 -0
  793. package/_cjs/TFuture/definition.cjs +16 -0
  794. package/_cjs/TFuture/definition.cjs.map +1 -0
  795. package/_cjs/TFuture.cjs +45 -0
  796. package/_cjs/TFuture.cjs.map +1 -0
  797. package/_cjs/TRef/api.cjs +372 -0
  798. package/_cjs/TRef/api.cjs.map +1 -0
  799. package/_cjs/TRef/constructors.cjs +98 -0
  800. package/_cjs/TRef/constructors.cjs.map +1 -0
  801. package/_cjs/TRef/definition.cjs +101 -0
  802. package/_cjs/TRef/definition.cjs.map +1 -0
  803. package/_cjs/TRef.cjs +45 -0
  804. package/_cjs/TRef.cjs.map +1 -0
  805. package/_cjs/TSemaphore/api.cjs +104 -0
  806. package/_cjs/TSemaphore/api.cjs.map +1 -0
  807. package/_cjs/TSemaphore/constructors.cjs +34 -0
  808. package/_cjs/TSemaphore/constructors.cjs.map +1 -0
  809. package/_cjs/TSemaphore/definition.cjs +16 -0
  810. package/_cjs/TSemaphore/definition.cjs.map +1 -0
  811. package/_cjs/TSemaphore.cjs +45 -0
  812. package/_cjs/TSemaphore.cjs.map +1 -0
  813. package/_cjs/TxnId.cjs +21 -0
  814. package/_cjs/TxnId.cjs.map +1 -0
  815. package/_cjs/collection/immutable/Conc/findIO.cjs +54 -0
  816. package/_cjs/collection/immutable/Conc/findIO.cjs.map +1 -0
  817. package/_cjs/collection/immutable/Conc/mapIO.cjs +29 -0
  818. package/_cjs/collection/immutable/Conc/mapIO.cjs.map +1 -0
  819. package/_cjs/collection/immutable/Conc/takeWhileIO.cjs +53 -0
  820. package/_cjs/collection/immutable/Conc/takeWhileIO.cjs.map +1 -0
  821. package/_cjs/collection/immutable/Conc.cjs +45 -0
  822. package/_cjs/collection/immutable/Conc.cjs.map +1 -0
  823. package/_cjs/data/Exit/foreachIO.cjs +29 -0
  824. package/_cjs/data/Exit/foreachIO.cjs.map +1 -0
  825. package/_cjs/internal/HashedPair.cjs +37 -0
  826. package/_cjs/internal/HashedPair.cjs.map +1 -0
  827. package/_cjs/internal/Hub.cjs +758 -0
  828. package/_cjs/internal/Hub.cjs.map +1 -0
  829. package/_cjs/internal/MutableQueue.cjs +315 -0
  830. package/_cjs/internal/MutableQueue.cjs.map +1 -0
  831. package/_cjs/internal/Scheduler.cjs +33 -0
  832. package/_cjs/internal/Scheduler.cjs.map +1 -0
  833. package/_cjs/internal/StackTraceBuilder.cjs +36 -0
  834. package/_cjs/internal/StackTraceBuilder.cjs.map +1 -0
  835. package/_mjs/Cached/api.mjs +57 -0
  836. package/_mjs/Cached/api.mjs.map +1 -0
  837. package/_mjs/Cached/definition.mjs +22 -0
  838. package/_mjs/Cached/definition.mjs.map +1 -0
  839. package/_mjs/Cached/internal.mjs +8 -0
  840. package/_mjs/Cached/internal.mjs.map +1 -0
  841. package/_mjs/Cached.mjs +5 -0
  842. package/_mjs/Cached.mjs.map +1 -0
  843. package/_mjs/CancellerState.mjs +44 -0
  844. package/_mjs/CancellerState.mjs.map +1 -0
  845. package/_mjs/Channel/ChildExecutorDecision/api.mjs +22 -0
  846. package/_mjs/Channel/ChildExecutorDecision/api.mjs.map +1 -0
  847. package/_mjs/Channel/ChildExecutorDecision/definition.mjs +25 -0
  848. package/_mjs/Channel/ChildExecutorDecision/definition.mjs.map +1 -0
  849. package/_mjs/Channel/ChildExecutorDecision.mjs +4 -0
  850. package/_mjs/Channel/ChildExecutorDecision.mjs.map +1 -0
  851. package/_mjs/Channel/UpstreamPullRequest/api.mjs +34 -0
  852. package/_mjs/Channel/UpstreamPullRequest/api.mjs.map +1 -0
  853. package/_mjs/Channel/UpstreamPullRequest/definition.mjs +16 -0
  854. package/_mjs/Channel/UpstreamPullRequest/definition.mjs.map +1 -0
  855. package/_mjs/Channel/UpstreamPullRequest.mjs +4 -0
  856. package/_mjs/Channel/UpstreamPullRequest.mjs.map +1 -0
  857. package/_mjs/Channel/UpstreamPullStrategy/definition.mjs +21 -0
  858. package/_mjs/Channel/UpstreamPullStrategy/definition.mjs.map +1 -0
  859. package/_mjs/Channel/UpstreamPullStrategy.mjs +3 -0
  860. package/_mjs/Channel/UpstreamPullStrategy.mjs.map +1 -0
  861. package/_mjs/Channel/api/interruptWhen.mjs +35 -0
  862. package/_mjs/Channel/api/interruptWhen.mjs.map +1 -0
  863. package/_mjs/Channel/api/mapOutIOC.mjs +32 -0
  864. package/_mjs/Channel/api/mapOutIOC.mjs.map +1 -0
  865. package/_mjs/Channel/api/mergeAll.mjs +9 -0
  866. package/_mjs/Channel/api/mergeAll.mjs.map +1 -0
  867. package/_mjs/Channel/api/mergeAllUnboundedWith.mjs +9 -0
  868. package/_mjs/Channel/api/mergeAllUnboundedWith.mjs.map +1 -0
  869. package/_mjs/Channel/api/mergeAllWith.mjs +58 -0
  870. package/_mjs/Channel/api/mergeAllWith.mjs.map +1 -0
  871. package/_mjs/Channel/api/mergeMap.mjs +10 -0
  872. package/_mjs/Channel/api/mergeMap.mjs.map +1 -0
  873. package/_mjs/Channel/api/mergeWith.mjs +74 -0
  874. package/_mjs/Channel/api/mergeWith.mjs.map +1 -0
  875. package/_mjs/Channel/api/run.mjs +12 -0
  876. package/_mjs/Channel/api/run.mjs.map +1 -0
  877. package/_mjs/Channel/api/runCollect.mjs +10 -0
  878. package/_mjs/Channel/api/runCollect.mjs.map +1 -0
  879. package/_mjs/Channel/api/runDrain.mjs +12 -0
  880. package/_mjs/Channel/api/runDrain.mjs.map +1 -0
  881. package/_mjs/Channel/api/runScoped.mjs +55 -0
  882. package/_mjs/Channel/api/runScoped.mjs.map +1 -0
  883. package/_mjs/Channel/api/toPull.mjs +46 -0
  884. package/_mjs/Channel/api/toPull.mjs.map +1 -0
  885. package/_mjs/Channel/api/zipC.mjs +30 -0
  886. package/_mjs/Channel/api/zipC.mjs.map +1 -0
  887. package/_mjs/Channel/api.mjs +727 -0
  888. package/_mjs/Channel/api.mjs.map +1 -0
  889. package/_mjs/Channel/core-api.mjs +123 -0
  890. package/_mjs/Channel/core-api.mjs.map +1 -0
  891. package/_mjs/Channel/definition.mjs +195 -0
  892. package/_mjs/Channel/definition.mjs.map +1 -0
  893. package/_mjs/Channel/internal/AsyncInputConsumer.mjs +2 -0
  894. package/_mjs/Channel/internal/AsyncInputConsumer.mjs.map +1 -0
  895. package/_mjs/Channel/internal/AsyncInputProducer.mjs +2 -0
  896. package/_mjs/Channel/internal/AsyncInputProducer.mjs.map +1 -0
  897. package/_mjs/Channel/internal/ChannelExecutor.mjs +913 -0
  898. package/_mjs/Channel/internal/ChannelExecutor.mjs.map +1 -0
  899. package/_mjs/Channel/internal/ChannelState.mjs +67 -0
  900. package/_mjs/Channel/internal/ChannelState.mjs.map +1 -0
  901. package/_mjs/Channel/internal/MergeDecision.mjs +61 -0
  902. package/_mjs/Channel/internal/MergeDecision.mjs.map +1 -0
  903. package/_mjs/Channel/internal/MergeState.mjs +51 -0
  904. package/_mjs/Channel/internal/MergeState.mjs.map +1 -0
  905. package/_mjs/Channel/internal/SingleProducerAsyncInput.mjs +234 -0
  906. package/_mjs/Channel/internal/SingleProducerAsyncInput.mjs.map +1 -0
  907. package/_mjs/Channel.mjs +5 -0
  908. package/_mjs/Channel.mjs.map +1 -0
  909. package/_mjs/Clock/api.mjs +15 -0
  910. package/_mjs/Clock/api.mjs.map +1 -0
  911. package/_mjs/Clock/definition.mjs +13 -0
  912. package/_mjs/Clock/definition.mjs.map +1 -0
  913. package/_mjs/Clock/live.mjs +30 -0
  914. package/_mjs/Clock/live.mjs.map +1 -0
  915. package/_mjs/Clock.mjs +5 -0
  916. package/_mjs/Clock.mjs.map +1 -0
  917. package/_mjs/Console/api.mjs +16 -0
  918. package/_mjs/Console/api.mjs.map +1 -0
  919. package/_mjs/Console/definition.mjs +13 -0
  920. package/_mjs/Console/definition.mjs.map +1 -0
  921. package/_mjs/Console/live.mjs +23 -0
  922. package/_mjs/Console/live.mjs.map +1 -0
  923. package/_mjs/Console.mjs +5 -0
  924. package/_mjs/Console.mjs.map +1 -0
  925. package/_mjs/Fiber/FiberContext.mjs +1141 -0
  926. package/_mjs/Fiber/FiberContext.mjs.map +1 -0
  927. package/_mjs/Fiber/api/await.mjs +8 -0
  928. package/_mjs/Fiber/api/await.mjs.map +1 -0
  929. package/_mjs/Fiber/api/awaitAll.mjs +14 -0
  930. package/_mjs/Fiber/api/awaitAll.mjs.map +1 -0
  931. package/_mjs/Fiber/api/children.mjs +8 -0
  932. package/_mjs/Fiber/api/children.mjs.map +1 -0
  933. package/_mjs/Fiber/api/collectAll.mjs +31 -0
  934. package/_mjs/Fiber/api/collectAll.mjs.map +1 -0
  935. package/_mjs/Fiber/api/evalOn.mjs +17 -0
  936. package/_mjs/Fiber/api/evalOn.mjs.map +1 -0
  937. package/_mjs/Fiber/api/evalOnIO.mjs +17 -0
  938. package/_mjs/Fiber/api/evalOnIO.mjs.map +1 -0
  939. package/_mjs/Fiber/api/fromIO.mjs +13 -0
  940. package/_mjs/Fiber/api/fromIO.mjs.map +1 -0
  941. package/_mjs/Fiber/api/id.mjs +8 -0
  942. package/_mjs/Fiber/api/id.mjs.map +1 -0
  943. package/_mjs/Fiber/api/inheritRefs.mjs +8 -0
  944. package/_mjs/Fiber/api/inheritRefs.mjs.map +1 -0
  945. package/_mjs/Fiber/api/interrupt.mjs +15 -0
  946. package/_mjs/Fiber/api/interrupt.mjs.map +1 -0
  947. package/_mjs/Fiber/api/interruptAll.mjs +25 -0
  948. package/_mjs/Fiber/api/interruptAll.mjs.map +1 -0
  949. package/_mjs/Fiber/api/interruptAs.mjs +8 -0
  950. package/_mjs/Fiber/api/interruptAs.mjs.map +1 -0
  951. package/_mjs/Fiber/api/interruptFork.mjs +15 -0
  952. package/_mjs/Fiber/api/interruptFork.mjs.map +1 -0
  953. package/_mjs/Fiber/api/join.mjs +17 -0
  954. package/_mjs/Fiber/api/join.mjs.map +1 -0
  955. package/_mjs/Fiber/api/joinAll.mjs +16 -0
  956. package/_mjs/Fiber/api/joinAll.mjs.map +1 -0
  957. package/_mjs/Fiber/api/location.mjs +10 -0
  958. package/_mjs/Fiber/api/location.mjs.map +1 -0
  959. package/_mjs/Fiber/api/mapFiber.mjs +16 -0
  960. package/_mjs/Fiber/api/mapFiber.mjs.map +1 -0
  961. package/_mjs/Fiber/api/mapIO.mjs +33 -0
  962. package/_mjs/Fiber/api/mapIO.mjs.map +1 -0
  963. package/_mjs/Fiber/api/poll.mjs +8 -0
  964. package/_mjs/Fiber/api/poll.mjs.map +1 -0
  965. package/_mjs/Fiber/api/zipWith.mjs +26 -0
  966. package/_mjs/Fiber/api/zipWith.mjs.map +1 -0
  967. package/_mjs/Fiber/constructors.mjs +45 -0
  968. package/_mjs/Fiber/constructors.mjs.map +1 -0
  969. package/_mjs/Fiber/definition.mjs +27 -0
  970. package/_mjs/Fiber/definition.mjs.map +1 -0
  971. package/_mjs/Fiber.mjs +27 -0
  972. package/_mjs/Fiber.mjs.map +1 -0
  973. package/_mjs/FiberDescriptor.mjs +17 -0
  974. package/_mjs/FiberDescriptor.mjs.map +1 -0
  975. package/_mjs/FiberRef/api/locallyScoped.mjs +12 -0
  976. package/_mjs/FiberRef/api/locallyScoped.mjs.map +1 -0
  977. package/_mjs/FiberRef/api/locallyScopedWith.mjs +11 -0
  978. package/_mjs/FiberRef/api/locallyScopedWith.mjs.map +1 -0
  979. package/_mjs/FiberRef/api.mjs +139 -0
  980. package/_mjs/FiberRef/api.mjs.map +1 -0
  981. package/_mjs/FiberRef/constructors.mjs +82 -0
  982. package/_mjs/FiberRef/constructors.mjs.map +1 -0
  983. package/_mjs/FiberRef/definition.mjs +50 -0
  984. package/_mjs/FiberRef/definition.mjs.map +1 -0
  985. package/_mjs/FiberRef.mjs +9 -0
  986. package/_mjs/FiberRef.mjs.map +1 -0
  987. package/_mjs/FiberRefs/api.mjs +17 -0
  988. package/_mjs/FiberRefs/api.mjs.map +1 -0
  989. package/_mjs/FiberRefs/definition.mjs +14 -0
  990. package/_mjs/FiberRefs/definition.mjs.map +1 -0
  991. package/_mjs/FiberRefs/join.mjs +90 -0
  992. package/_mjs/FiberRefs/join.mjs.map +1 -0
  993. package/_mjs/FiberRefs.mjs +5 -0
  994. package/_mjs/FiberRefs.mjs.map +1 -0
  995. package/_mjs/FiberScope/constructors.mjs +18 -0
  996. package/_mjs/FiberScope/constructors.mjs.map +1 -0
  997. package/_mjs/FiberScope/definition.mjs +41 -0
  998. package/_mjs/FiberScope/definition.mjs.map +1 -0
  999. package/_mjs/FiberScope.mjs +4 -0
  1000. package/_mjs/FiberScope.mjs.map +1 -0
  1001. package/_mjs/FiberState/api.mjs +15 -0
  1002. package/_mjs/FiberState/api.mjs.map +1 -0
  1003. package/_mjs/FiberState/constructors.mjs +26 -0
  1004. package/_mjs/FiberState/constructors.mjs.map +1 -0
  1005. package/_mjs/FiberState/definition.mjs +26 -0
  1006. package/_mjs/FiberState/definition.mjs.map +1 -0
  1007. package/_mjs/FiberState.mjs +5 -0
  1008. package/_mjs/FiberState.mjs.map +1 -0
  1009. package/_mjs/FiberStatus/constructors.mjs +28 -0
  1010. package/_mjs/FiberStatus/constructors.mjs.map +1 -0
  1011. package/_mjs/FiberStatus/definition.mjs +88 -0
  1012. package/_mjs/FiberStatus/definition.mjs.map +1 -0
  1013. package/_mjs/FiberStatus.mjs +4 -0
  1014. package/_mjs/FiberStatus.mjs.map +1 -0
  1015. package/_mjs/Future/api.mjs +249 -0
  1016. package/_mjs/Future/api.mjs.map +1 -0
  1017. package/_mjs/Future/constructors.mjs +36 -0
  1018. package/_mjs/Future/constructors.mjs.map +1 -0
  1019. package/_mjs/Future/definition.mjs +30 -0
  1020. package/_mjs/Future/definition.mjs.map +1 -0
  1021. package/_mjs/Future.mjs +5 -0
  1022. package/_mjs/Future.mjs.map +1 -0
  1023. package/_mjs/Hub/api.mjs +384 -0
  1024. package/_mjs/Hub/api.mjs.map +1 -0
  1025. package/_mjs/Hub/definition.mjs +15 -0
  1026. package/_mjs/Hub/definition.mjs.map +1 -0
  1027. package/_mjs/Hub/internal.mjs +400 -0
  1028. package/_mjs/Hub/internal.mjs.map +1 -0
  1029. package/_mjs/Hub.mjs +4 -0
  1030. package/_mjs/Hub.mjs.map +1 -0
  1031. package/_mjs/IO/api/acquireRelease.mjs +11 -0
  1032. package/_mjs/IO/api/acquireRelease.mjs.map +1 -0
  1033. package/_mjs/IO/api/acquireReleaseExit.mjs +12 -0
  1034. package/_mjs/IO/api/acquireReleaseExit.mjs.map +1 -0
  1035. package/_mjs/IO/api/acquireReleaseInterruptible.mjs +9 -0
  1036. package/_mjs/IO/api/acquireReleaseInterruptible.mjs.map +1 -0
  1037. package/_mjs/IO/api/acquireReleaseInterruptibleExit.mjs +10 -0
  1038. package/_mjs/IO/api/acquireReleaseInterruptibleExit.mjs.map +1 -0
  1039. package/_mjs/IO/api/addFinalizer.mjs +9 -0
  1040. package/_mjs/IO/api/addFinalizer.mjs.map +1 -0
  1041. package/_mjs/IO/api/addFinalizerExit.mjs +17 -0
  1042. package/_mjs/IO/api/addFinalizerExit.mjs.map +1 -0
  1043. package/_mjs/IO/api/bracket.mjs +29 -0
  1044. package/_mjs/IO/api/bracket.mjs.map +1 -0
  1045. package/_mjs/IO/api/bracketExit.mjs +22 -0
  1046. package/_mjs/IO/api/bracketExit.mjs.map +1 -0
  1047. package/_mjs/IO/api/clockWith.mjs +21 -0
  1048. package/_mjs/IO/api/clockWith.mjs.map +1 -0
  1049. package/_mjs/IO/api/concurrency.mjs +49 -0
  1050. package/_mjs/IO/api/concurrency.mjs.map +1 -0
  1051. package/_mjs/IO/api/concurrentFinalizers.mjs +13 -0
  1052. package/_mjs/IO/api/concurrentFinalizers.mjs.map +1 -0
  1053. package/_mjs/IO/api/consoleWith.mjs +21 -0
  1054. package/_mjs/IO/api/consoleWith.mjs.map +1 -0
  1055. package/_mjs/IO/api/core-scope.mjs +130 -0
  1056. package/_mjs/IO/api/core-scope.mjs.map +1 -0
  1057. package/_mjs/IO/api/environment.mjs +116 -0
  1058. package/_mjs/IO/api/environment.mjs.map +1 -0
  1059. package/_mjs/IO/api/foreachC.mjs +119 -0
  1060. package/_mjs/IO/api/foreachC.mjs.map +1 -0
  1061. package/_mjs/IO/api/foreachExec.mjs +18 -0
  1062. package/_mjs/IO/api/foreachExec.mjs.map +1 -0
  1063. package/_mjs/IO/api/forkAll.mjs +13 -0
  1064. package/_mjs/IO/api/forkAll.mjs.map +1 -0
  1065. package/_mjs/IO/api/forkIn.mjs +18 -0
  1066. package/_mjs/IO/api/forkIn.mjs.map +1 -0
  1067. package/_mjs/IO/api/forkScoped.mjs +15 -0
  1068. package/_mjs/IO/api/forkScoped.mjs.map +1 -0
  1069. package/_mjs/IO/api/fulfill.mjs +18 -0
  1070. package/_mjs/IO/api/fulfill.mjs.map +1 -0
  1071. package/_mjs/IO/api/interrupt.mjs +171 -0
  1072. package/_mjs/IO/api/interrupt.mjs.map +1 -0
  1073. package/_mjs/IO/api/memoize.mjs +16 -0
  1074. package/_mjs/IO/api/memoize.mjs.map +1 -0
  1075. package/_mjs/IO/api/onExit.mjs +10 -0
  1076. package/_mjs/IO/api/onExit.mjs.map +1 -0
  1077. package/_mjs/IO/api/once.mjs +11 -0
  1078. package/_mjs/IO/api/once.mjs.map +1 -0
  1079. package/_mjs/IO/api/provideLayer.mjs +14 -0
  1080. package/_mjs/IO/api/provideLayer.mjs.map +1 -0
  1081. package/_mjs/IO/api/provideSomeLayer.mjs +21 -0
  1082. package/_mjs/IO/api/provideSomeLayer.mjs.map +1 -0
  1083. package/_mjs/IO/api/race.mjs +29 -0
  1084. package/_mjs/IO/api/race.mjs.map +1 -0
  1085. package/_mjs/IO/api/raceFirst.mjs +22 -0
  1086. package/_mjs/IO/api/raceFirst.mjs.map +1 -0
  1087. package/_mjs/IO/api/randomWith.mjs +21 -0
  1088. package/_mjs/IO/api/randomWith.mjs.map +1 -0
  1089. package/_mjs/IO/api/repeat.mjs +38 -0
  1090. package/_mjs/IO/api/repeat.mjs.map +1 -0
  1091. package/_mjs/IO/api/retry.mjs +36 -0
  1092. package/_mjs/IO/api/retry.mjs.map +1 -0
  1093. package/_mjs/IO/api/schedule.mjs +27 -0
  1094. package/_mjs/IO/api/schedule.mjs.map +1 -0
  1095. package/_mjs/IO/api/scope.mjs +9 -0
  1096. package/_mjs/IO/api/scope.mjs.map +1 -0
  1097. package/_mjs/IO/api/scopeWith.mjs +11 -0
  1098. package/_mjs/IO/api/scopeWith.mjs.map +1 -0
  1099. package/_mjs/IO/api/scoped.mjs +20 -0
  1100. package/_mjs/IO/api/scoped.mjs.map +1 -0
  1101. package/_mjs/IO/api/sequenceT.mjs +11 -0
  1102. package/_mjs/IO/api/sequenceT.mjs.map +1 -0
  1103. package/_mjs/IO/api/sleep.mjs +9 -0
  1104. package/_mjs/IO/api/sleep.mjs.map +1 -0
  1105. package/_mjs/IO/api/stateful.mjs +11 -0
  1106. package/_mjs/IO/api/stateful.mjs.map +1 -0
  1107. package/_mjs/IO/api/withChildren.mjs +11 -0
  1108. package/_mjs/IO/api/withChildren.mjs.map +1 -0
  1109. package/_mjs/IO/api/withFinalizer.mjs +9 -0
  1110. package/_mjs/IO/api/withFinalizer.mjs.map +1 -0
  1111. package/_mjs/IO/api/withFinalizerExit.mjs +10 -0
  1112. package/_mjs/IO/api/withFinalizerExit.mjs.map +1 -0
  1113. package/_mjs/IO/api/withRuntimeConfig.mjs +14 -0
  1114. package/_mjs/IO/api/withRuntimeConfig.mjs.map +1 -0
  1115. package/_mjs/IO/api/zipC.mjs +10 -0
  1116. package/_mjs/IO/api/zipC.mjs.map +1 -0
  1117. package/_mjs/IO/api/zipWithC.mjs +23 -0
  1118. package/_mjs/IO/api/zipWithC.mjs.map +1 -0
  1119. package/_mjs/IO/api.mjs +1804 -0
  1120. package/_mjs/IO/api.mjs.map +1 -0
  1121. package/_mjs/IO/definition.mjs +444 -0
  1122. package/_mjs/IO/definition.mjs.map +1 -0
  1123. package/_mjs/IO/runtime.mjs +97 -0
  1124. package/_mjs/IO/runtime.mjs.map +1 -0
  1125. package/_mjs/IO.mjs +51 -0
  1126. package/_mjs/IO.mjs.map +1 -0
  1127. package/_mjs/IOEnv/definition.mjs +14 -0
  1128. package/_mjs/IOEnv/definition.mjs.map +1 -0
  1129. package/_mjs/IOEnv/live.mjs +13 -0
  1130. package/_mjs/IOEnv/live.mjs.map +1 -0
  1131. package/_mjs/IOEnv/services.mjs +8 -0
  1132. package/_mjs/IOEnv/services.mjs.map +1 -0
  1133. package/_mjs/IOEnv.mjs +5 -0
  1134. package/_mjs/IOEnv.mjs.map +1 -0
  1135. package/_mjs/InterruptStatus/constructors.mjs +21 -0
  1136. package/_mjs/InterruptStatus/constructors.mjs.map +1 -0
  1137. package/_mjs/InterruptStatus/definition.mjs +21 -0
  1138. package/_mjs/InterruptStatus/definition.mjs.map +1 -0
  1139. package/_mjs/InterruptStatus.mjs +4 -0
  1140. package/_mjs/InterruptStatus.mjs.map +1 -0
  1141. package/_mjs/Layer/MemoMap.mjs +171 -0
  1142. package/_mjs/Layer/MemoMap.mjs.map +1 -0
  1143. package/_mjs/Layer/api.mjs +338 -0
  1144. package/_mjs/Layer/api.mjs.map +1 -0
  1145. package/_mjs/Layer/definition.mjs +104 -0
  1146. package/_mjs/Layer/definition.mjs.map +1 -0
  1147. package/_mjs/Layer.mjs +5 -0
  1148. package/_mjs/Layer.mjs.map +1 -0
  1149. package/_mjs/LogLevel.mjs +85 -0
  1150. package/_mjs/LogLevel.mjs.map +1 -0
  1151. package/_mjs/LogSpan.mjs +32 -0
  1152. package/_mjs/LogSpan.mjs.map +1 -0
  1153. package/_mjs/Logger/api.mjs +23 -0
  1154. package/_mjs/Logger/api.mjs.map +1 -0
  1155. package/_mjs/Logger/constructors.mjs +63 -0
  1156. package/_mjs/Logger/constructors.mjs.map +1 -0
  1157. package/_mjs/Logger/definition.mjs +11 -0
  1158. package/_mjs/Logger/definition.mjs.map +1 -0
  1159. package/_mjs/Logger.mjs +5 -0
  1160. package/_mjs/Logger.mjs.map +1 -0
  1161. package/_mjs/Queue/api/dimapIO.mjs +97 -0
  1162. package/_mjs/Queue/api/dimapIO.mjs.map +1 -0
  1163. package/_mjs/Queue/api/filterInputIO.mjs +63 -0
  1164. package/_mjs/Queue/api/filterInputIO.mjs.map +1 -0
  1165. package/_mjs/Queue/api/filterOutputIO.mjs +68 -0
  1166. package/_mjs/Queue/api/filterOutputIO.mjs.map +1 -0
  1167. package/_mjs/Queue/api/operations.mjs +122 -0
  1168. package/_mjs/Queue/api/operations.mjs.map +1 -0
  1169. package/_mjs/Queue/api/poll.mjs +15 -0
  1170. package/_mjs/Queue/api/poll.mjs.map +1 -0
  1171. package/_mjs/Queue/api/takeBetween.mjs +44 -0
  1172. package/_mjs/Queue/api/takeBetween.mjs.map +1 -0
  1173. package/_mjs/Queue/api/zipWithIO.mjs +75 -0
  1174. package/_mjs/Queue/api/zipWithIO.mjs.map +1 -0
  1175. package/_mjs/Queue/api.mjs +9 -0
  1176. package/_mjs/Queue/api.mjs.map +1 -0
  1177. package/_mjs/Queue/constructors.mjs +34 -0
  1178. package/_mjs/Queue/constructors.mjs.map +1 -0
  1179. package/_mjs/Queue/definition.mjs +17 -0
  1180. package/_mjs/Queue/definition.mjs.map +1 -0
  1181. package/_mjs/Queue/internal.mjs +224 -0
  1182. package/_mjs/Queue/internal.mjs.map +1 -0
  1183. package/_mjs/Queue/strategy.mjs +147 -0
  1184. package/_mjs/Queue/strategy.mjs.map +1 -0
  1185. package/_mjs/Queue.mjs +7 -0
  1186. package/_mjs/Queue.mjs.map +1 -0
  1187. package/_mjs/Random/api.mjs +52 -0
  1188. package/_mjs/Random/api.mjs.map +1 -0
  1189. package/_mjs/Random/definition.mjs +13 -0
  1190. package/_mjs/Random/definition.mjs.map +1 -0
  1191. package/_mjs/Random/live.mjs +40 -0
  1192. package/_mjs/Random/live.mjs.map +1 -0
  1193. package/_mjs/Random.mjs +5 -0
  1194. package/_mjs/Random.mjs.map +1 -0
  1195. package/_mjs/Ref/Atomic/Atomic.mjs +47 -0
  1196. package/_mjs/Ref/Atomic/Atomic.mjs.map +1 -0
  1197. package/_mjs/Ref/Atomic/api.mjs +124 -0
  1198. package/_mjs/Ref/Atomic/api.mjs.map +1 -0
  1199. package/_mjs/Ref/Atomic.mjs +4 -0
  1200. package/_mjs/Ref/Atomic.mjs.map +1 -0
  1201. package/_mjs/Ref/Derived.mjs +35 -0
  1202. package/_mjs/Ref/Derived.mjs.map +1 -0
  1203. package/_mjs/Ref/DerivedAll.mjs +35 -0
  1204. package/_mjs/Ref/DerivedAll.mjs.map +1 -0
  1205. package/_mjs/Ref/Synchronized/api.mjs +155 -0
  1206. package/_mjs/Ref/Synchronized/api.mjs.map +1 -0
  1207. package/_mjs/Ref/Synchronized/constructors.mjs +20 -0
  1208. package/_mjs/Ref/Synchronized/constructors.mjs.map +1 -0
  1209. package/_mjs/Ref/Synchronized/definition.mjs +66 -0
  1210. package/_mjs/Ref/Synchronized/definition.mjs.map +1 -0
  1211. package/_mjs/Ref/api/collect.mjs +17 -0
  1212. package/_mjs/Ref/api/collect.mjs.map +1 -0
  1213. package/_mjs/Ref/api/dimap.mjs +84 -0
  1214. package/_mjs/Ref/api/dimap.mjs.map +1 -0
  1215. package/_mjs/Ref/api/filter.mjs +29 -0
  1216. package/_mjs/Ref/api/filter.mjs.map +1 -0
  1217. package/_mjs/Ref/api/get.mjs +13 -0
  1218. package/_mjs/Ref/api/get.mjs.map +1 -0
  1219. package/_mjs/Ref/api/match.mjs +18 -0
  1220. package/_mjs/Ref/api/match.mjs.map +1 -0
  1221. package/_mjs/Ref/api/matchAll.mjs +16 -0
  1222. package/_mjs/Ref/api/matchAll.mjs.map +1 -0
  1223. package/_mjs/Ref/api/modify.mjs +205 -0
  1224. package/_mjs/Ref/api/modify.mjs.map +1 -0
  1225. package/_mjs/Ref/api/set.mjs +14 -0
  1226. package/_mjs/Ref/api/set.mjs.map +1 -0
  1227. package/_mjs/Ref/api.mjs +34 -0
  1228. package/_mjs/Ref/api.mjs.map +1 -0
  1229. package/_mjs/Ref/constructors.mjs +19 -0
  1230. package/_mjs/Ref/constructors.mjs.map +1 -0
  1231. package/_mjs/Ref/definition.mjs +10 -0
  1232. package/_mjs/Ref/definition.mjs.map +1 -0
  1233. package/_mjs/Ref.mjs +13 -0
  1234. package/_mjs/Ref.mjs.map +1 -0
  1235. package/_mjs/RuntimeConfig.mjs +34 -0
  1236. package/_mjs/RuntimeConfig.mjs.map +1 -0
  1237. package/_mjs/STM/api/core-api.mjs +61 -0
  1238. package/_mjs/STM/api/core-api.mjs.map +1 -0
  1239. package/_mjs/STM/api/core-constructors.mjs +68 -0
  1240. package/_mjs/STM/api/core-constructors.mjs.map +1 -0
  1241. package/_mjs/STM/api.mjs +633 -0
  1242. package/_mjs/STM/api.mjs.map +1 -0
  1243. package/_mjs/STM/definition.mjs +148 -0
  1244. package/_mjs/STM/definition.mjs.map +1 -0
  1245. package/_mjs/STM/driver.mjs +166 -0
  1246. package/_mjs/STM/driver.mjs.map +1 -0
  1247. package/_mjs/STM/internal/CommitState.mjs +68 -0
  1248. package/_mjs/STM/internal/CommitState.mjs.map +1 -0
  1249. package/_mjs/STM/internal/Entry.mjs +70 -0
  1250. package/_mjs/STM/internal/Entry.mjs.map +1 -0
  1251. package/_mjs/STM/internal/Journal.mjs +377 -0
  1252. package/_mjs/STM/internal/Journal.mjs.map +1 -0
  1253. package/_mjs/STM/internal/TryCommit.mjs +22 -0
  1254. package/_mjs/STM/internal/TryCommit.mjs.map +1 -0
  1255. package/_mjs/STM/internal/Versioned.mjs +9 -0
  1256. package/_mjs/STM/internal/Versioned.mjs.map +1 -0
  1257. package/_mjs/STM.mjs +9 -0
  1258. package/_mjs/STM.mjs.map +1 -0
  1259. package/_mjs/Schedule/Decision.mjs +48 -0
  1260. package/_mjs/Schedule/Decision.mjs.map +1 -0
  1261. package/_mjs/Schedule/Driver.mjs +21 -0
  1262. package/_mjs/Schedule/Driver.mjs.map +1 -0
  1263. package/_mjs/Schedule/Interval.mjs +114 -0
  1264. package/_mjs/Schedule/Interval.mjs.map +1 -0
  1265. package/_mjs/Schedule/api/driver.mjs +30 -0
  1266. package/_mjs/Schedule/api/driver.mjs.map +1 -0
  1267. package/_mjs/Schedule/api.mjs +642 -0
  1268. package/_mjs/Schedule/api.mjs.map +1 -0
  1269. package/_mjs/Schedule/definition.mjs +32 -0
  1270. package/_mjs/Schedule/definition.mjs.map +1 -0
  1271. package/_mjs/Schedule.mjs +7 -0
  1272. package/_mjs/Schedule.mjs.map +1 -0
  1273. package/_mjs/Scope/Finalizer/definition.mjs +9 -0
  1274. package/_mjs/Scope/Finalizer/definition.mjs.map +1 -0
  1275. package/_mjs/Scope/Finalizer.mjs +3 -0
  1276. package/_mjs/Scope/Finalizer.mjs.map +1 -0
  1277. package/_mjs/Scope/ReleaseMap/api/releaseAll.mjs +26 -0
  1278. package/_mjs/Scope/ReleaseMap/api/releaseAll.mjs.map +1 -0
  1279. package/_mjs/Scope/ReleaseMap/api.mjs +84 -0
  1280. package/_mjs/Scope/ReleaseMap/api.mjs.map +1 -0
  1281. package/_mjs/Scope/ReleaseMap/constructors.mjs +21 -0
  1282. package/_mjs/Scope/ReleaseMap/constructors.mjs.map +1 -0
  1283. package/_mjs/Scope/ReleaseMap/definition.mjs +21 -0
  1284. package/_mjs/Scope/ReleaseMap/definition.mjs.map +1 -0
  1285. package/_mjs/Scope/ReleaseMap.mjs +5 -0
  1286. package/_mjs/Scope/ReleaseMap.mjs.map +1 -0
  1287. package/_mjs/Scope/api.mjs +140 -0
  1288. package/_mjs/Scope/api.mjs.map +1 -0
  1289. package/_mjs/Scope/definition.mjs +25 -0
  1290. package/_mjs/Scope/definition.mjs.map +1 -0
  1291. package/_mjs/Scope.mjs +4 -0
  1292. package/_mjs/Scope.mjs.map +1 -0
  1293. package/_mjs/ScopedRef/api.mjs +50 -0
  1294. package/_mjs/ScopedRef/api.mjs.map +1 -0
  1295. package/_mjs/ScopedRef/definition.mjs +13 -0
  1296. package/_mjs/ScopedRef/definition.mjs.map +1 -0
  1297. package/_mjs/ScopedRef.mjs +4 -0
  1298. package/_mjs/ScopedRef.mjs.map +1 -0
  1299. package/_mjs/Sink/api.mjs +76 -0
  1300. package/_mjs/Sink/api.mjs.map +1 -0
  1301. package/_mjs/Sink/definition.mjs +16 -0
  1302. package/_mjs/Sink/definition.mjs.map +1 -0
  1303. package/_mjs/Sink.mjs +4 -0
  1304. package/_mjs/Sink.mjs.map +1 -0
  1305. package/_mjs/State/api.mjs +53 -0
  1306. package/_mjs/State/api.mjs.map +1 -0
  1307. package/_mjs/State/definition.mjs +19 -0
  1308. package/_mjs/State/definition.mjs.map +1 -0
  1309. package/_mjs/State/internal.mjs +8 -0
  1310. package/_mjs/State/internal.mjs.map +1 -0
  1311. package/_mjs/State.mjs +4 -0
  1312. package/_mjs/State.mjs.map +1 -0
  1313. package/_mjs/Stream/api/zipAllWith.mjs +106 -0
  1314. package/_mjs/Stream/api/zipAllWith.mjs.map +1 -0
  1315. package/_mjs/Stream/api/zipWith.mjs +10 -0
  1316. package/_mjs/Stream/api/zipWith.mjs.map +1 -0
  1317. package/_mjs/Stream/api/zipWithChunks.mjs +83 -0
  1318. package/_mjs/Stream/api/zipWithChunks.mjs.map +1 -0
  1319. package/_mjs/Stream/api.mjs +2178 -0
  1320. package/_mjs/Stream/api.mjs.map +1 -0
  1321. package/_mjs/Stream/definition.mjs +41 -0
  1322. package/_mjs/Stream/definition.mjs.map +1 -0
  1323. package/_mjs/Stream/internal/DebounceState.mjs +72 -0
  1324. package/_mjs/Stream/internal/DebounceState.mjs.map +1 -0
  1325. package/_mjs/Stream/internal/Handoff.mjs +162 -0
  1326. package/_mjs/Stream/internal/Handoff.mjs.map +1 -0
  1327. package/_mjs/Stream/internal/Pull.mjs +56 -0
  1328. package/_mjs/Stream/internal/Pull.mjs.map +1 -0
  1329. package/_mjs/Stream/internal/SinkEndReason.mjs +66 -0
  1330. package/_mjs/Stream/internal/SinkEndReason.mjs.map +1 -0
  1331. package/_mjs/Stream/internal/Take.mjs +191 -0
  1332. package/_mjs/Stream/internal/Take.mjs.map +1 -0
  1333. package/_mjs/Stream/internal/util.mjs +19 -0
  1334. package/_mjs/Stream/internal/util.mjs.map +1 -0
  1335. package/_mjs/Stream.mjs +4 -0
  1336. package/_mjs/Stream.mjs.map +1 -0
  1337. package/_mjs/Supervisor/api.mjs +44 -0
  1338. package/_mjs/Supervisor/api.mjs.map +1 -0
  1339. package/_mjs/Supervisor/constructors.mjs +69 -0
  1340. package/_mjs/Supervisor/constructors.mjs.map +1 -0
  1341. package/_mjs/Supervisor/definition.mjs +74 -0
  1342. package/_mjs/Supervisor/definition.mjs.map +1 -0
  1343. package/_mjs/Supervisor.mjs +5 -0
  1344. package/_mjs/Supervisor.mjs.map +1 -0
  1345. package/_mjs/TExit/constructors.mjs +40 -0
  1346. package/_mjs/TExit/constructors.mjs.map +1 -0
  1347. package/_mjs/TExit/definition.mjs +173 -0
  1348. package/_mjs/TExit/definition.mjs.map +1 -0
  1349. package/_mjs/TExit.mjs +4 -0
  1350. package/_mjs/TExit.mjs.map +1 -0
  1351. package/_mjs/TFuture/api.mjs +47 -0
  1352. package/_mjs/TFuture/api.mjs.map +1 -0
  1353. package/_mjs/TFuture/constructors.mjs +23 -0
  1354. package/_mjs/TFuture/constructors.mjs.map +1 -0
  1355. package/_mjs/TFuture/definition.mjs +3 -0
  1356. package/_mjs/TFuture/definition.mjs.map +1 -0
  1357. package/_mjs/TFuture.mjs +5 -0
  1358. package/_mjs/TFuture.mjs.map +1 -0
  1359. package/_mjs/TRef/api.mjs +327 -0
  1360. package/_mjs/TRef/api.mjs.map +1 -0
  1361. package/_mjs/TRef/constructors.mjs +72 -0
  1362. package/_mjs/TRef/constructors.mjs.map +1 -0
  1363. package/_mjs/TRef/definition.mjs +71 -0
  1364. package/_mjs/TRef/definition.mjs.map +1 -0
  1365. package/_mjs/TRef.mjs +5 -0
  1366. package/_mjs/TRef.mjs.map +1 -0
  1367. package/_mjs/TSemaphore/api.mjs +74 -0
  1368. package/_mjs/TSemaphore/api.mjs.map +1 -0
  1369. package/_mjs/TSemaphore/constructors.mjs +19 -0
  1370. package/_mjs/TSemaphore/constructors.mjs.map +1 -0
  1371. package/_mjs/TSemaphore/definition.mjs +3 -0
  1372. package/_mjs/TSemaphore/definition.mjs.map +1 -0
  1373. package/_mjs/TSemaphore.mjs +5 -0
  1374. package/_mjs/TSemaphore.mjs.map +1 -0
  1375. package/_mjs/TxnId.mjs +11 -0
  1376. package/_mjs/TxnId.mjs.map +1 -0
  1377. package/_mjs/collection/immutable/Conc/findIO.mjs +40 -0
  1378. package/_mjs/collection/immutable/Conc/findIO.mjs.map +1 -0
  1379. package/_mjs/collection/immutable/Conc/mapIO.mjs +16 -0
  1380. package/_mjs/collection/immutable/Conc/mapIO.mjs.map +1 -0
  1381. package/_mjs/collection/immutable/Conc/takeWhileIO.mjs +39 -0
  1382. package/_mjs/collection/immutable/Conc/takeWhileIO.mjs.map +1 -0
  1383. package/_mjs/collection/immutable/Conc.mjs +5 -0
  1384. package/_mjs/collection/immutable/Conc.mjs.map +1 -0
  1385. package/_mjs/data/Exit/foreachIO.mjs +15 -0
  1386. package/_mjs/data/Exit/foreachIO.mjs.map +1 -0
  1387. package/_mjs/internal/HashedPair.mjs +20 -0
  1388. package/_mjs/internal/HashedPair.mjs.map +1 -0
  1389. package/_mjs/internal/Hub.mjs +723 -0
  1390. package/_mjs/internal/Hub.mjs.map +1 -0
  1391. package/_mjs/internal/MutableQueue.mjs +276 -0
  1392. package/_mjs/internal/MutableQueue.mjs.map +1 -0
  1393. package/_mjs/internal/Scheduler.mjs +18 -0
  1394. package/_mjs/internal/Scheduler.mjs.map +1 -0
  1395. package/_mjs/internal/StackTraceBuilder.mjs +21 -0
  1396. package/_mjs/internal/StackTraceBuilder.mjs.map +1 -0
  1397. package/_src/Cached/api.ts +54 -0
  1398. package/_src/Cached/definition.ts +23 -0
  1399. package/_src/Cached/internal.ts +10 -0
  1400. package/_src/Cached.ts +5 -0
  1401. package/_src/CancellerState.ts +47 -0
  1402. package/_src/Channel/ChildExecutorDecision/api.ts +23 -0
  1403. package/_src/Channel/ChildExecutorDecision/definition.ts +48 -0
  1404. package/_src/Channel/ChildExecutorDecision.ts +4 -0
  1405. package/_src/Channel/UpstreamPullRequest/api.ts +36 -0
  1406. package/_src/Channel/UpstreamPullRequest/definition.ts +21 -0
  1407. package/_src/Channel/UpstreamPullRequest.ts +4 -0
  1408. package/_src/Channel/UpstreamPullStrategy/definition.ts +38 -0
  1409. package/_src/Channel/UpstreamPullStrategy.ts +3 -0
  1410. package/_src/Channel/api/interruptWhen.ts +37 -0
  1411. package/_src/Channel/api/mapOutIOC.ts +63 -0
  1412. package/_src/Channel/api/mergeAll.ts +21 -0
  1413. package/_src/Channel/api/mergeAllUnboundedWith.ts +30 -0
  1414. package/_src/Channel/api/mergeAllWith.ts +141 -0
  1415. package/_src/Channel/api/mergeMap.ts +27 -0
  1416. package/_src/Channel/api/mergeWith.ts +200 -0
  1417. package/_src/Channel/api/run.ts +10 -0
  1418. package/_src/Channel/api/runCollect.ts +8 -0
  1419. package/_src/Channel/api/runDrain.ts +10 -0
  1420. package/_src/Channel/api/runScoped.ts +45 -0
  1421. package/_src/Channel/api/toPull.ts +38 -0
  1422. package/_src/Channel/api/zipC.ts +104 -0
  1423. package/_src/Channel/api.ts +1258 -0
  1424. package/_src/Channel/core-api.ts +230 -0
  1425. package/_src/Channel/definition.ts +322 -0
  1426. package/_src/Channel/internal/AsyncInputConsumer.ts +6 -0
  1427. package/_src/Channel/internal/AsyncInputProducer.ts +6 -0
  1428. package/_src/Channel/internal/ChannelExecutor.ts +1078 -0
  1429. package/_src/Channel/internal/ChannelState.ts +61 -0
  1430. package/_src/Channel/internal/MergeDecision.ts +65 -0
  1431. package/_src/Channel/internal/MergeState.ts +63 -0
  1432. package/_src/Channel/internal/SingleProducerAsyncInput.ts +186 -0
  1433. package/_src/Channel.ts +5 -0
  1434. package/_src/Clock/api.ts +11 -0
  1435. package/_src/Clock/definition.ts +13 -0
  1436. package/_src/Clock/live.ts +21 -0
  1437. package/_src/Clock.ts +5 -0
  1438. package/_src/Console/api.ts +13 -0
  1439. package/_src/Console/definition.ts +14 -0
  1440. package/_src/Console/live.ts +18 -0
  1441. package/_src/Console.ts +5 -0
  1442. package/_src/Fiber/FiberContext.ts +1101 -0
  1443. package/_src/Fiber/api/await.ts +7 -0
  1444. package/_src/Fiber/api/awaitAll.ts +8 -0
  1445. package/_src/Fiber/api/children.ts +7 -0
  1446. package/_src/Fiber/api/collectAll.ts +32 -0
  1447. package/_src/Fiber/api/evalOn.ts +12 -0
  1448. package/_src/Fiber/api/evalOnIO.ts +18 -0
  1449. package/_src/Fiber/api/fromIO.ts +8 -0
  1450. package/_src/Fiber/api/id.ts +7 -0
  1451. package/_src/Fiber/api/inheritRefs.ts +7 -0
  1452. package/_src/Fiber/api/interrupt.ts +11 -0
  1453. package/_src/Fiber/api/interruptAll.ts +17 -0
  1454. package/_src/Fiber/api/interruptAs.ts +7 -0
  1455. package/_src/Fiber/api/interruptFork.ts +10 -0
  1456. package/_src/Fiber/api/join.ts +13 -0
  1457. package/_src/Fiber/api/joinAll.ts +12 -0
  1458. package/_src/Fiber/api/location.ts +7 -0
  1459. package/_src/Fiber/api/mapFiber.ts +9 -0
  1460. package/_src/Fiber/api/mapIO.ts +31 -0
  1461. package/_src/Fiber/api/poll.ts +7 -0
  1462. package/_src/Fiber/api/zipWith.ts +25 -0
  1463. package/_src/Fiber/constructors.ts +43 -0
  1464. package/_src/Fiber/definition.ts +128 -0
  1465. package/_src/Fiber.ts +28 -0
  1466. package/_src/FiberDescriptor.ts +19 -0
  1467. package/_src/FiberRef/api/locallyScoped.ts +9 -0
  1468. package/_src/FiberRef/api/locallyScopedWith.ts +6 -0
  1469. package/_src/FiberRef/api.ts +135 -0
  1470. package/_src/FiberRef/constructors.ts +98 -0
  1471. package/_src/FiberRef/definition.ts +64 -0
  1472. package/_src/FiberRef.ts +10 -0
  1473. package/_src/FiberRefs/api.ts +15 -0
  1474. package/_src/FiberRefs/definition.ts +11 -0
  1475. package/_src/FiberRefs/join.ts +67 -0
  1476. package/_src/FiberRefs.ts +5 -0
  1477. package/_src/FiberScope/constructors.ts +19 -0
  1478. package/_src/FiberScope/definition.ts +38 -0
  1479. package/_src/FiberScope.ts +4 -0
  1480. package/_src/FiberState/api.ts +12 -0
  1481. package/_src/FiberState/constructors.ts +33 -0
  1482. package/_src/FiberState/definition.ts +44 -0
  1483. package/_src/FiberState.ts +5 -0
  1484. package/_src/FiberStatus/constructors.ts +35 -0
  1485. package/_src/FiberStatus/definition.ts +87 -0
  1486. package/_src/FiberStatus.ts +4 -0
  1487. package/_src/Future/api.ts +204 -0
  1488. package/_src/Future/constructors.ts +28 -0
  1489. package/_src/Future/definition.ts +24 -0
  1490. package/_src/Future.ts +5 -0
  1491. package/_src/Hub/api.ts +434 -0
  1492. package/_src/Hub/definition.ts +102 -0
  1493. package/_src/Hub/internal.ts +493 -0
  1494. package/_src/Hub.ts +4 -0
  1495. package/_src/IO/api/acquireRelease.ts +10 -0
  1496. package/_src/IO/api/acquireReleaseExit.ts +11 -0
  1497. package/_src/IO/api/acquireReleaseInterruptible.ts +10 -0
  1498. package/_src/IO/api/acquireReleaseInterruptibleExit.ts +10 -0
  1499. package/_src/IO/api/addFinalizer.ts +9 -0
  1500. package/_src/IO/api/addFinalizerExit.ts +12 -0
  1501. package/_src/IO/api/bracket.ts +30 -0
  1502. package/_src/IO/api/bracketExit.ts +32 -0
  1503. package/_src/IO/api/clockWith.ts +11 -0
  1504. package/_src/IO/api/concurrency.ts +42 -0
  1505. package/_src/IO/api/concurrentFinalizers.ts +11 -0
  1506. package/_src/IO/api/consoleWith.ts +13 -0
  1507. package/_src/IO/api/core-scope.ts +138 -0
  1508. package/_src/IO/api/environment.ts +126 -0
  1509. package/_src/IO/api/foreachC.ts +178 -0
  1510. package/_src/IO/api/foreachExec.ts +19 -0
  1511. package/_src/IO/api/forkAll.ts +9 -0
  1512. package/_src/IO/api/forkIn.ts +15 -0
  1513. package/_src/IO/api/forkScoped.ts +11 -0
  1514. package/_src/IO/api/fulfill.ts +10 -0
  1515. package/_src/IO/api/interrupt.ts +169 -0
  1516. package/_src/IO/api/memoize.ts +10 -0
  1517. package/_src/IO/api/onExit.ts +12 -0
  1518. package/_src/IO/api/once.ts +6 -0
  1519. package/_src/IO/api/provideLayer.ts +12 -0
  1520. package/_src/IO/api/provideSomeLayer.ts +23 -0
  1521. package/_src/IO/api/race.ts +32 -0
  1522. package/_src/IO/api/raceFirst.ts +17 -0
  1523. package/_src/IO/api/randomWith.ts +11 -0
  1524. package/_src/IO/api/repeat.ts +49 -0
  1525. package/_src/IO/api/retry.ts +42 -0
  1526. package/_src/IO/api/schedule.ts +31 -0
  1527. package/_src/IO/api/scope.ts +4 -0
  1528. package/_src/IO/api/scopeWith.ts +6 -0
  1529. package/_src/IO/api/scoped.ts +13 -0
  1530. package/_src/IO/api/sequenceT.ts +12 -0
  1531. package/_src/IO/api/sleep.ts +6 -0
  1532. package/_src/IO/api/stateful.ts +15 -0
  1533. package/_src/IO/api/withChildren.ts +13 -0
  1534. package/_src/IO/api/withFinalizer.ts +9 -0
  1535. package/_src/IO/api/withFinalizerExit.ts +9 -0
  1536. package/_src/IO/api/withRuntimeConfig.ts +16 -0
  1537. package/_src/IO/api/zipC.ts +8 -0
  1538. package/_src/IO/api/zipWithC.ts +41 -0
  1539. package/_src/IO/api.ts +2126 -0
  1540. package/_src/IO/definition.ts +429 -0
  1541. package/_src/IO/runtime.ts +99 -0
  1542. package/_src/IO.ts +52 -0
  1543. package/_src/IOEnv/definition.ts +20 -0
  1544. package/_src/IOEnv/live.ts +8 -0
  1545. package/_src/IOEnv/services.ts +10 -0
  1546. package/_src/IOEnv.ts +5 -0
  1547. package/_src/InterruptStatus/constructors.ts +16 -0
  1548. package/_src/InterruptStatus/definition.ts +17 -0
  1549. package/_src/InterruptStatus.ts +4 -0
  1550. package/_src/Layer/MemoMap.ts +170 -0
  1551. package/_src/Layer/api.ts +378 -0
  1552. package/_src/Layer/definition.ts +111 -0
  1553. package/_src/Layer.ts +5 -0
  1554. package/_src/LogLevel.ts +79 -0
  1555. package/_src/LogSpan.ts +27 -0
  1556. package/_src/Logger/api.ts +24 -0
  1557. package/_src/Logger/constructors.ts +59 -0
  1558. package/_src/Logger/definition.ts +22 -0
  1559. package/_src/Logger.ts +5 -0
  1560. package/_src/Queue/api/dimapIO.ts +120 -0
  1561. package/_src/Queue/api/filterInputIO.ts +73 -0
  1562. package/_src/Queue/api/filterOutputIO.ts +74 -0
  1563. package/_src/Queue/api/operations.ts +121 -0
  1564. package/_src/Queue/api/poll.ts +11 -0
  1565. package/_src/Queue/api/takeBetween.ts +40 -0
  1566. package/_src/Queue/api/zipWithIO.ts +96 -0
  1567. package/_src/Queue/api.ts +9 -0
  1568. package/_src/Queue/constructors.ts +33 -0
  1569. package/_src/Queue/definition.ts +134 -0
  1570. package/_src/Queue/internal.ts +240 -0
  1571. package/_src/Queue/strategy.ts +177 -0
  1572. package/_src/Queue.ts +7 -0
  1573. package/_src/Random/api.ts +51 -0
  1574. package/_src/Random/definition.ts +21 -0
  1575. package/_src/Random/live.ts +36 -0
  1576. package/_src/Random.ts +5 -0
  1577. package/_src/Ref/Atomic/Atomic.ts +56 -0
  1578. package/_src/Ref/Atomic/api.ts +120 -0
  1579. package/_src/Ref/Atomic.ts +4 -0
  1580. package/_src/Ref/Derived.ts +71 -0
  1581. package/_src/Ref/DerivedAll.ts +75 -0
  1582. package/_src/Ref/Synchronized/api.ts +234 -0
  1583. package/_src/Ref/Synchronized/constructors.ts +12 -0
  1584. package/_src/Ref/Synchronized/definition.ts +126 -0
  1585. package/_src/Ref/api/collect.ts +18 -0
  1586. package/_src/Ref/api/dimap.ts +108 -0
  1587. package/_src/Ref/api/filter.ts +33 -0
  1588. package/_src/Ref/api/get.ts +14 -0
  1589. package/_src/Ref/api/match.ts +24 -0
  1590. package/_src/Ref/api/matchAll.ts +23 -0
  1591. package/_src/Ref/api/modify.ts +225 -0
  1592. package/_src/Ref/api/set.ts +15 -0
  1593. package/_src/Ref/api.ts +39 -0
  1594. package/_src/Ref/constructors.ts +15 -0
  1595. package/_src/Ref/definition.ts +104 -0
  1596. package/_src/Ref.ts +14 -0
  1597. package/_src/RuntimeConfig.ts +37 -0
  1598. package/_src/STM/api/core-api.ts +60 -0
  1599. package/_src/STM/api/core-constructors.ts +65 -0
  1600. package/_src/STM/api.ts +685 -0
  1601. package/_src/STM/definition.ts +155 -0
  1602. package/_src/STM/driver.ts +131 -0
  1603. package/_src/STM/internal/CommitState.ts +75 -0
  1604. package/_src/STM/internal/Entry.ts +76 -0
  1605. package/_src/STM/internal/Journal.ts +341 -0
  1606. package/_src/STM/internal/TryCommit.ts +23 -0
  1607. package/_src/STM/internal/Versioned.ts +7 -0
  1608. package/_src/STM.ts +10 -0
  1609. package/_src/Schedule/Decision.ts +51 -0
  1610. package/_src/Schedule/Driver.ts +24 -0
  1611. package/_src/Schedule/Interval.ts +103 -0
  1612. package/_src/Schedule/api/driver.ts +38 -0
  1613. package/_src/Schedule/api.ts +887 -0
  1614. package/_src/Schedule/definition.ts +60 -0
  1615. package/_src/Schedule.ts +7 -0
  1616. package/_src/Scope/Finalizer/definition.ts +26 -0
  1617. package/_src/Scope/Finalizer.ts +3 -0
  1618. package/_src/Scope/ReleaseMap/api/releaseAll.ts +28 -0
  1619. package/_src/Scope/ReleaseMap/api.ts +86 -0
  1620. package/_src/Scope/ReleaseMap/constructors.ts +17 -0
  1621. package/_src/Scope/ReleaseMap/definition.ts +37 -0
  1622. package/_src/Scope/ReleaseMap.ts +5 -0
  1623. package/_src/Scope/api.ts +117 -0
  1624. package/_src/Scope/definition.ts +31 -0
  1625. package/_src/Scope.ts +4 -0
  1626. package/_src/ScopedRef/api.ts +50 -0
  1627. package/_src/ScopedRef/definition.ts +13 -0
  1628. package/_src/ScopedRef.ts +4 -0
  1629. package/_src/Sink/api.ts +88 -0
  1630. package/_src/Sink/definition.ts +12 -0
  1631. package/_src/Sink.ts +4 -0
  1632. package/_src/State/api.ts +49 -0
  1633. package/_src/State/definition.ts +19 -0
  1634. package/_src/State/internal.ts +10 -0
  1635. package/_src/State.ts +4 -0
  1636. package/_src/Stream/api/zipAllWith.ts +135 -0
  1637. package/_src/Stream/api/zipWith.ts +12 -0
  1638. package/_src/Stream/api/zipWithChunks.ts +89 -0
  1639. package/_src/Stream/api.ts +2931 -0
  1640. package/_src/Stream/definition.ts +42 -0
  1641. package/_src/Stream/internal/DebounceState.ts +79 -0
  1642. package/_src/Stream/internal/Handoff.ts +174 -0
  1643. package/_src/Stream/internal/Pull.ts +58 -0
  1644. package/_src/Stream/internal/SinkEndReason.ts +59 -0
  1645. package/_src/Stream/internal/Take.ts +192 -0
  1646. package/_src/Stream/internal/util.ts +19 -0
  1647. package/_src/Stream.ts +4 -0
  1648. package/_src/Supervisor/api.ts +36 -0
  1649. package/_src/Supervisor/constructors.ts +65 -0
  1650. package/_src/Supervisor/definition.ts +70 -0
  1651. package/_src/Supervisor.ts +5 -0
  1652. package/_src/TExit/constructors.ts +39 -0
  1653. package/_src/TExit/definition.ts +147 -0
  1654. package/_src/TExit.ts +4 -0
  1655. package/_src/TFuture/api.ts +42 -0
  1656. package/_src/TFuture/constructors.ts +14 -0
  1657. package/_src/TFuture/definition.ts +23 -0
  1658. package/_src/TFuture.ts +5 -0
  1659. package/_src/TRef/api.ts +312 -0
  1660. package/_src/TRef/constructors.ts +69 -0
  1661. package/_src/TRef/definition.ts +230 -0
  1662. package/_src/TRef.ts +5 -0
  1663. package/_src/TSemaphore/api.ts +68 -0
  1664. package/_src/TSemaphore/constructors.ts +14 -0
  1665. package/_src/TSemaphore/definition.ts +21 -0
  1666. package/_src/TSemaphore.ts +5 -0
  1667. package/_src/TxnId.ts +19 -0
  1668. package/_src/collection/immutable/Conc/findIO.ts +37 -0
  1669. package/_src/collection/immutable/Conc/mapIO.ts +13 -0
  1670. package/_src/collection/immutable/Conc/takeWhileIO.ts +32 -0
  1671. package/_src/collection/immutable/Conc.ts +5 -0
  1672. package/_src/data/Exit/foreachIO.ts +15 -0
  1673. package/_src/internal/HashedPair.ts +15 -0
  1674. package/_src/internal/Hub.ts +754 -0
  1675. package/_src/internal/MutableQueue.ts +295 -0
  1676. package/_src/internal/Scheduler.ts +15 -0
  1677. package/_src/internal/StackTraceBuilder.ts +16 -0
  1678. package/collection/immutable/Conc/findIO.d.ts +8 -0
  1679. package/collection/immutable/Conc/mapIO.d.ts +7 -0
  1680. package/collection/immutable/Conc/takeWhileIO.d.ts +7 -0
  1681. package/collection/immutable/Conc.d.ts +3 -0
  1682. package/data/Exit/foreachIO.d.ts +9 -0
  1683. package/internal/HashedPair.d.ts +9 -0
  1684. package/internal/Hub.d.ts +121 -0
  1685. package/internal/MutableQueue.d.ts +125 -0
  1686. package/internal/Scheduler.d.ts +1 -0
  1687. package/internal/StackTraceBuilder.d.ts +8 -0
  1688. package/package.json +17 -0
@@ -0,0 +1,2178 @@
1
+ const fileName_1 = "(@fncts/io) src/Stream/api.ts";
2
+ import * as tsplus_module_1 from "@fncts/io/IO/api";
3
+ import * as tsplus_module_2 from "@fncts/io/Schedule/api";
4
+ import * as tsplus_module_3 from "@fncts/base/data/Maybe/constructors";
5
+ import * as tsplus_module_4 from "@fncts/base/data/Either/destructors";
6
+ import * as tsplus_module_5 from "@fncts/io/Stream/internal/Handoff";
7
+ import * as tsplus_module_6 from "@fncts/io/Ref/constructors";
8
+ import * as tsplus_module_7 from "@fncts/base/collection/immutable/Conc/api/empty";
9
+ import * as tsplus_module_8 from "@fncts/io/Schedule/api/driver";
10
+ import * as tsplus_module_9 from "@fncts/io/IO/api/sequenceT";
11
+ import * as tsplus_module_10 from "@fncts/io/Channel/api";
12
+ import * as tsplus_module_11 from "@fncts/io/Channel/core-api";
13
+ import * as tsplus_module_12 from "@fncts/base/collection/immutable/Conc/api";
14
+ import * as tsplus_module_13 from "@fncts/io/Ref/api/set";
15
+ import * as tsplus_module_14 from "@fncts/io/Ref/api/modify";
16
+ import * as tsplus_module_15 from "@fncts/base/data/Cause/api";
17
+ import * as tsplus_module_16 from "@fncts/base/data/Maybe/destructors";
18
+ import * as tsplus_module_17 from "@fncts/base/data/Either/constructors";
19
+ import * as tsplus_module_18 from "@fncts/base/collection/immutable/Conc/constructors";
20
+ import * as tsplus_module_19 from "@fncts/io/Stream/internal/SinkEndReason";
21
+ import * as tsplus_module_20 from "@fncts/io/Fiber/api/interrupt";
22
+ import * as tsplus_module_21 from "@fncts/io/IO/api/forkScoped";
23
+ import * as tsplus_module_22 from "@fncts/io/IO/api/core-scope";
24
+ import * as tsplus_module_23 from "@fncts/io/Channel/api/runScoped";
25
+ import * as tsplus_module_24 from "@fncts/io/Stream/internal/Take";
26
+ import * as tsplus_module_25 from "@fncts/io/Queue/api/operations";
27
+ import * as tsplus_module_26 from "@fncts/io/IO/runtime";
28
+ import * as tsplus_module_27 from "@fncts/io/Queue/constructors";
29
+ import * as tsplus_module_28 from "@fncts/io/IO/api/acquireRelease";
30
+ import * as tsplus_module_29 from "@fncts/io/IO/api/acquireReleaseExit";
31
+ import * as tsplus_module_30 from "@fncts/io/Hub/api";
32
+ import * as tsplus_module_31 from "@fncts/base/collection/immutable/Conc/api/replicate";
33
+ import * as tsplus_module_32 from "@fncts/base/data/Exit/api";
34
+ import * as tsplus_module_33 from "@fncts/io/Future/api";
35
+ import * as tsplus_module_34 from "@fncts/io/Future/constructors";
36
+ import * as tsplus_module_35 from "@fncts/io/Ref/api/get";
37
+ import * as tsplus_module_36 from "@fncts/base/data/Maybe/api";
38
+ import * as tsplus_module_37 from "@fncts/base/data/Exit/constructors";
39
+ import * as tsplus_module_38 from "@fncts/io/Stream/internal/DebounceState";
40
+ import * as tsplus_module_39 from "@fncts/io/Fiber/api/join";
41
+ import * as tsplus_module_40 from "@fncts/io/Clock/api";
42
+ import * as tsplus_module_41 from "@fncts/base/collection/immutable/HashMap/api";
43
+ import * as tsplus_module_42 from "@fncts/io/TSemaphore/api";
44
+ import * as tsplus_module_43 from "@fncts/io/STM/api";
45
+ import * as tsplus_module_44 from "@fncts/io/TSemaphore/constructors";
46
+ import * as tsplus_module_45 from "@fncts/io/Sink/api";
47
+ import * as tsplus_module_46 from "@fncts/base/data/Predicate/api";
48
+ import * as tsplus_module_47 from "@fncts/io/Fiber/api/poll";
49
+ import * as tsplus_module_48 from "@fncts/io/IO/api/environment";
50
+ import * as tsplus_module_49 from "@fncts/io/collection/immutable/Conc/findIO";
51
+ import * as tsplus_module_50 from "@fncts/base/data/Exit/definition";
52
+ import * as tsplus_module_51 from "@fncts/io/Stream/internal/Pull";
53
+ import * as tsplus_module_52 from "@fncts/io/Queue/api/takeBetween";
54
+ import * as tsplus_module_53 from "@fncts/io/Channel/api/interruptWhen";
55
+ import * as tsplus_module_54 from "@fncts/io/collection/immutable/Conc/mapIO";
56
+ import * as tsplus_module_55 from "@fncts/io/Channel/api/mapOutIOC";
57
+ import * as tsplus_module_56 from "@fncts/io/Channel/api/mergeMap";
58
+ import * as tsplus_module_57 from "@fncts/io/Channel/internal/MergeDecision";
59
+ import * as tsplus_module_58 from "@fncts/io/Channel/api/mergeWith";
60
+ import * as tsplus_module_59 from "@fncts/io/Layer/MemoMap";
61
+ import * as tsplus_module_60 from "@fncts/io/Layer/api";
62
+ import * as tsplus_module_61 from "@fncts/io/Channel/api/runDrain";
63
+ import * as tsplus_module_62 from "@fncts/base/data/exceptions";
64
+ import * as tsplus_module_63 from "@fncts/io/collection/immutable/Conc/takeWhileIO";
65
+ import * as tsplus_module_64 from "@fncts/io/Channel/api/toPull";
66
+ export const aggregateAsyncWithin_ = aggregateAsyncWithin_1;
67
+ export const aggregateAsyncWithinEither_ = aggregateAsyncWithinEither_1;
68
+ export const apSecond_ = apSecond_1;
69
+ export const asyncInterrupt = asyncInterrupt_1;
70
+ export const asyncMaybe = asyncMaybe_1;
71
+ export const broadcastedQueues_ = broadcastedQueues_1;
72
+ export const broadcastedQueuesDynamic_ = broadcastedQueuesDynamic_1;
73
+ export const catchAll_ = catchAll_1;
74
+ export const catchAllCause_ = catchAllCause_1;
75
+ export const flatMap_ = flatMap_1;
76
+ export const concat_ = concat_1;
77
+ export const crossWith_ = crossWith_1;
78
+ export const distributedWithDynamic_ = distributedWithDynamic_1;
79
+ export const drop_ = drop_1;
80
+ export const dropWhile_ = dropWhile_1;
81
+ export const ensuring_ = ensuring_1;
82
+ export const environment = environment_1;
83
+ export const failNow = failNow_1;
84
+ export const failCauseNow = failCauseNow_1;
85
+ export const filterMap_ = filterMap_1;
86
+ export const flatten = flatten_1;
87
+ export const flattenExitOption = flattenExitOption_1;
88
+ export const flattenTake = flattenTake_1;
89
+ export const flattenChunks = flattenChunks_1;
90
+ export const forever = forever_1;
91
+ export const fromChunkNow = fromChunkNow_1;
92
+ export const fromChunk = fromChunk_1;
93
+ export const scoped = scoped_1;
94
+ export const fromIO = fromIO_1;
95
+ export const fromIOMaybe = fromIOMaybe_1;
96
+ export const fromPull = fromPull_1;
97
+ export const fromQueue_ = fromQueue_1;
98
+ export const fromQueueWithShutdown = fromQueueWithShutdown_1;
99
+ export const halt = halt_1;
100
+ export const interleaveWith_ = interleaveWith_1;
101
+ export const loopOnChunks_ = loopOnChunks_1;
102
+ export const loopOnPartialChunks_ = loopOnPartialChunks_1;
103
+ export const loopOnPartialChunksElements_ = loopOnPartialChunksElements_1;
104
+ export const map_ = map_1;
105
+ export const mapAccumIO_ = mapAccumIO_1;
106
+ export const mapChunks_ = mapChunks_1;
107
+ export const mapConcatChunk_ = mapConcatChunk_1;
108
+ export const mapError_ = mapError_1;
109
+ export const mapIO_ = mapIO_1;
110
+ export const mergeMap_ = mergeMap_1;
111
+ export const mergeEither_ = mergeEither_1;
112
+ export const mergeWith_ = mergeWith_1;
113
+ export const orElse_ = orElse_1;
114
+ export const pipeThrough_ = pipeThrough_1;
115
+ export const provideEnvironment_ = provideEnvironment_1;
116
+ export const provideLayer_ = provideLayer_1;
117
+ export const repeatIOMaybe = repeatIOMaybe_1;
118
+ export const repeatIOChunkMaybe = repeatIOChunkMaybe_1;
119
+ export const run_ = run_1;
120
+ export const runForeachScoped_ = runForeachScoped_1;
121
+ export const runIntoElementsScoped_ = runIntoElementsScoped_1;
122
+ export const runIntoQueueScoped_ = runIntoQueueScoped_1;
123
+ export const runIntoHubScoped_ = runIntoHubScoped_1;
124
+ export const runScoped_ = runScoped_1;
125
+ export const scanIO_ = scanIO_1;
126
+ export const scanReduceIO_ = scanReduceIO_1;
127
+ export const succeedNow = succeedNow_1;
128
+ export const throttleEnforceIO_ = throttleEnforceIO_1;
129
+ export const toHub_ = toHub_1;
130
+ export const toPull = toPull_1;
131
+ export const toQueue_ = toQueue_1;
132
+ export const toQueueOfElements_ = toQueueOfElements_1;
133
+ export const toQueueUnbounded = toQueueUnbounded_1;
134
+ export const unfoldChunkIO = unfoldChunkIO_1;
135
+ export const unfoldIO = unfoldIO_1;
136
+ export const unfoldChunk = unfoldChunk_1;
137
+ export const unwrap = unwrap_1;
138
+ export const unwrapScoped = unwrapScoped_1;
139
+ import { constVoid, identity, tuple } from "@fncts/base/data/function";
140
+ import { DEFAULT_CHUNK_SIZE, Stream } from "./definition.mjs";
141
+ import { ScheduleEnd, ScheduleTimeout, SinkEnd, UpstreamEnd } from "./internal/SinkEndReason.mjs";
142
+ /**
143
+ * Submerges the error case of an `Either` into the `Stream`.
144
+ *
145
+ * @tsplus getter fncts.io.Stream absolve
146
+ */
147
+
148
+ export function absolve(self) {
149
+ return mapIO_1(self, either => tsplus_module_1.fromEither(() => either, fileName_1 + ":24:46"));
150
+ }
151
+ /**
152
+ * Aggregates elements of this stream using the provided sink for as long
153
+ * as the downstream operators on the stream are busy.
154
+ *
155
+ * This operator divides the stream into two asynchronous "islands". Operators upstream
156
+ * of this operator run on one fiber, while downstream operators run on another. Whenever
157
+ * the downstream fiber is busy processing elements, the upstream fiber will feed elements
158
+ * into the sink until it signals completion.
159
+ *
160
+ * Any sink can be used here, but see `Sink.foldWeightedM` and `Sink.foldUntilM` for
161
+ * sinks that cover the common usecases.
162
+ *
163
+ * @tsplus fluent fncts.io.Stream aggregateAsync
164
+ */
165
+
166
+ export function aggregateAsync_(stream, sink) {
167
+ return aggregateAsyncWithin_1(stream, sink, tsplus_module_2.forever);
168
+ }
169
+ /**
170
+ * Like `aggregateAsyncWithinEither`, but only returns the `Right` results.
171
+ *
172
+ * @tsplus fluent fncts.io.Stream aggregateAsyncWithin
173
+ */
174
+
175
+ function aggregateAsyncWithin_1(stream, sink, schedule) {
176
+ return filterMap_1(aggregateAsyncWithinEither_1(stream, sink, schedule), cb => tsplus_module_4.match_(cb, () => tsplus_module_3.nothing(), tsplus_module_3.just));
177
+ }
178
+ /**
179
+ * Aggregates elements using the provided sink until it completes, or until the
180
+ * delay signalled by the schedule has passed.
181
+ *
182
+ * This operator divides the stream into two asynchronous islands. Operators upstream
183
+ * of this operator run on one fiber, while downstream operators run on another. Elements
184
+ * will be aggregated by the sink until the downstream fiber pulls the aggregated value,
185
+ * or until the schedule's delay has passed.
186
+ *
187
+ * Aggregated elements will be fed into the schedule to determine the delays between
188
+ * pulls.
189
+ *
190
+ * @tsplus fluent fncts.io.Stream aggregateAsyncWithinEither
191
+ */
192
+
193
+
194
+ function aggregateAsyncWithinEither_1(stream, sink, schedule) {
195
+ const deps = tsplus_module_9.sequenceT(tsplus_module_5.make(), tsplus_module_6.make(() => new SinkEnd()), tsplus_module_6.make(() => tsplus_module_7.empty()), tsplus_module_8.driver(schedule));
196
+ return flatMap_1(fromIO_1(deps), ([handoff, sinkEndReason, sinkLeftovers, scheduleDriver]) => {
197
+ const handoffProducer = tsplus_module_10.readWithCause(_in => tsplus_module_11.apSecond_(tsplus_module_10.fromIO(tsplus_module_5.offer(handoff, tsplus_module_5.emit(_in))), handoffProducer), cause => tsplus_module_10.fromIO(tsplus_module_5.offer(handoff, tsplus_module_5.halt(cause))), _ => tsplus_module_10.fromIO(tsplus_module_5.offer(handoff, tsplus_module_5.end(new UpstreamEnd()))));
198
+ const handoffConsumer = tsplus_module_10.unwrap(tsplus_module_1.flatMap_(tsplus_module_14.getAndSet_(sinkLeftovers, tsplus_module_7.empty()), leftovers => {
199
+ if (tsplus_module_12.isEmpty(leftovers)) {
200
+ return tsplus_module_1.succeedNow(tsplus_module_11.apSecond_(tsplus_module_10.writeNow(leftovers), handoffConsumer), fileName_1 + ":100:31");
201
+ } else {
202
+ return tsplus_module_1.map_(tsplus_module_5.take(handoff), signal => tsplus_module_5.matchSignal_(signal, {
203
+ Emit: ({
204
+ els
205
+ }) => tsplus_module_11.apSecond_(tsplus_module_10.writeNow(els), handoffConsumer),
206
+ Halt: ({
207
+ error
208
+ }) => tsplus_module_11.failCause(() => error),
209
+ End: ({
210
+ reason
211
+ }) => tsplus_module_10.fromIO(tsplus_module_13.set_(sinkEndReason, reason))
212
+ }), fileName_1 + ":102:34");
213
+ }
214
+ }, fileName_1 + ":98:55"));
215
+
216
+ const scheduledAggregator = lastB => {
217
+ const timeout = tsplus_module_1.matchCauseIO_(scheduleDriver.next(lastB, fileName_1 + ":116:42"), _ => tsplus_module_4.match_(tsplus_module_15.failureOrCause(_), () => tsplus_module_5.offer(handoff, tsplus_module_5.end(new ScheduleTimeout())), cause => tsplus_module_5.offer(handoff, tsplus_module_5.halt(cause))), c => tsplus_module_5.offer(handoff, tsplus_module_5.end(new ScheduleEnd(c))), fileName_1 + ":116:62");
218
+ return tsplus_module_11.flatMap_(tsplus_module_10.unwrapScoped(tsplus_module_1.map_(tsplus_module_21.forkScoped(timeout), fiber => {
219
+ return tsplus_module_11.flatMap_(tsplus_module_10.doneCollect(tsplus_module_10.pipeToOrFail_(handoffConsumer, sink.channel)), ([leftovers, b]) => {
220
+ return tsplus_module_11.apSecond_(tsplus_module_10.fromIO(tsplus_module_1.apSecond_(tsplus_module_20.interrupt(fiber), tsplus_module_13.set_(sinkLeftovers, tsplus_module_12.flatten(leftovers)), fileName_1 + ":128:59")), tsplus_module_10.unwrap(tsplus_module_14.modify_(sinkEndReason, reason => tsplus_module_19.matchSinkEndReason_(reason, {
221
+ ScheduleEnd: ({
222
+ c
223
+ }) => tuple(tsplus_module_10.as_(tsplus_module_10.writeNow(tsplus_module_18.from([tsplus_module_17.right(b), tsplus_module_17.left(c)])), () => tsplus_module_3.just(b)), new SinkEnd()),
224
+ ScheduleTimeout: () => tuple(tsplus_module_10.as_(tsplus_module_10.writeNow(tsplus_module_18.single(tsplus_module_17.right(b))), () => tsplus_module_3.just(b)), new SinkEnd()),
225
+ SinkEnd: () => tuple(tsplus_module_10.as_(tsplus_module_10.writeNow(tsplus_module_18.single(tsplus_module_17.right(b))), () => tsplus_module_3.just(b)), new SinkEnd()),
226
+ UpstreamEnd: () => tuple(tsplus_module_10.as_(tsplus_module_10.writeNow(tsplus_module_18.single(tsplus_module_17.right(b))), () => tsplus_module_3.nothing()), new UpstreamEnd())
227
+ }))));
228
+ });
229
+ }, fileName_1 + ":126:31")), _ => tsplus_module_16.match_(_, () => tsplus_module_10.unit, () => scheduledAggregator(_)));
230
+ };
231
+
232
+ return apSecond_1(scoped_1(tsplus_module_22.forkDaemon(tsplus_module_23.runScoped(tsplus_module_10.pipeTo_(stream.channel, handoffProducer)))), new Stream(scheduledAggregator(tsplus_module_3.nothing())));
233
+ });
234
+ }
235
+ /**
236
+ * Composes this stream with the specified stream to create a cartesian product of elements,
237
+ * but keeps only elements from this stream.
238
+ * The `that` stream would be run multiple times, for every element in the `this` stream.
239
+ *
240
+ * @tsplus fluent fncts.io.Stream apFirst
241
+ */
242
+
243
+
244
+ export function apFirst_(stream, that) {
245
+ return crossWith_1(stream, that, (a, _) => a);
246
+ }
247
+ /**
248
+ * Composes this stream with the specified stream to create a cartesian product of elements,
249
+ * but keeps only elements from the other stream.
250
+ * The `that` stream would be run multiple times, for every element in the `this` stream.
251
+ *
252
+ * @tsplus fluent fncts.io.Stream apSecond
253
+ */
254
+
255
+ function apSecond_1(stream, that) {
256
+ return crossWith_1(stream, that, (_, b) => b);
257
+ }
258
+ /**
259
+ * Maps the success values of this stream to the specified constant value.
260
+ *
261
+ * @tsplus fluent fncts.io.Stream as
262
+ */
263
+
264
+
265
+ export function as_(stream, b) {
266
+ return map_1(stream, () => b());
267
+ }
268
+ /**
269
+ * @tsplus static fncts.io.StreamOps asyncInterrupt
270
+ */
271
+
272
+ function asyncInterrupt_1(register, outputBuffer = 16) {
273
+ return unwrapScoped_1(tsplus_module_1.flatMap_(tsplus_module_28.acquireRelease(() => tsplus_module_27.makeBounded(outputBuffer), queue => tsplus_module_25.shutdown(queue)), output => tsplus_module_1.flatMap_(tsplus_module_26.runtime(fileName_1 + ":208:40"), runtime => tsplus_module_1.map_(tsplus_module_1.succeed(() => register((k, cb) => {
274
+ const effect = tsplus_module_1.flatMap_(tsplus_module_24.fromPull(k), a => tsplus_module_25.offer_(output, a), fileName_1 + ":212:52");
275
+ return runtime.unsafeRunAsyncWith(effect, cb || constVoid, fileName_1 + ":213:46");
276
+ }), fileName_1 + ":210:19"), eitherStream => tsplus_module_4.match_(eitherStream, canceler => {
277
+ const loop = tsplus_module_10.unwrap(tsplus_module_1.match_(tsplus_module_1.flatMap_(tsplus_module_25.take(output), take => tsplus_module_24.done(take), fileName_1 + ":221:23"), maybeError => tsplus_module_16.match_(maybeError, () => tsplus_module_11.endNow(undefined), tsplus_module_10.failNow), as => tsplus_module_11.apSecond_(tsplus_module_10.writeNow(as), loop), fileName_1 + ":222:21"));
278
+ return ensuring_1(new Stream(loop), canceler);
279
+ }, stream => unwrap_1(tsplus_module_1.as_(tsplus_module_25.shutdown(output), () => stream))), fileName_1 + ":209:29"), fileName_1 + ":208:29"), fileName_1 + ":207:29"));
280
+ }
281
+ /**
282
+ * Creates a stream from an asynchronous callback that can be called multiple times.
283
+ * The registration of the callback can possibly return the stream synchronously.
284
+ * The optionality of the error type `E` can be used to signal the end of the stream,
285
+ * by setting it to `None`.
286
+ *
287
+ * @tsplus static fncts.io.StreamOps asyncMaybe
288
+ */
289
+
290
+
291
+ function asyncMaybe_1(register, outputBuffer = 16) {
292
+ return asyncInterrupt_1(k => tsplus_module_16.match_(register(k), () => tsplus_module_17.left(tsplus_module_1.unit), tsplus_module_17.right), outputBuffer);
293
+ }
294
+ /**
295
+ * @tsplus static fncts.io.StreamOps async
296
+ */
297
+
298
+
299
+ export function async(register, outputBuffer = 16) {
300
+ return asyncMaybe_1(cb => {
301
+ register(cb);
302
+ return tsplus_module_3.nothing();
303
+ }, outputBuffer);
304
+ }
305
+ /**
306
+ * @tsplus static fncts.io.StreamOps asyncIO
307
+ */
308
+
309
+ export function asyncIO(register, outputBuffer = 16) {
310
+ return new Stream(tsplus_module_10.unwrapScoped(tsplus_module_1.flatMap_(tsplus_module_28.acquireRelease(() => tsplus_module_27.makeBounded(outputBuffer), _ => tsplus_module_25.shutdown(_)), output => tsplus_module_1.flatMap_(tsplus_module_26.runtime(fileName_1 + ":278:37"), runtime => tsplus_module_1.map_(register((k, cb) => runtime.unsafeRunAsyncWith(tsplus_module_1.flatMap_(tsplus_module_24.fromPull(k), a => tsplus_module_25.offer_(output, a), fileName_1 + ":282:39"), cb || constVoid, fileName_1 + ":281:39")), () => {
311
+ const loop = tsplus_module_10.unwrap(tsplus_module_1.matchCauseIO_(tsplus_module_1.flatMap_(tsplus_module_25.take(output), take => tsplus_module_24.done(take), fileName_1 + ":289:21"), cause => tsplus_module_1.as_(tsplus_module_25.shutdown(output), () => tsplus_module_4.match_(tsplus_module_15.failureOrCause(cause), maybeError => tsplus_module_16.match_(maybeError, () => tsplus_module_11.endNow(undefined), tsplus_module_10.failNow), tsplus_module_11.failCauseNow)), as => tsplus_module_1.succeed(() => tsplus_module_11.apSecond_(tsplus_module_10.writeNow(as), loop), fileName_1 + ":298:33"), fileName_1 + ":290:26"));
312
+ return loop;
313
+ }), fileName_1 + ":278:26"), fileName_1 + ":277:26")));
314
+ }
315
+ /**
316
+ * Returns a stream whose failure and success channels have been mapped by
317
+ * the specified pair of functions, `f` and `g`.
318
+ */
319
+
320
+ export function bimap_(stream, f, g) {
321
+ return map_1(mapError_1(stream, f), g);
322
+ }
323
+ /**
324
+ * Creates a stream from a single value that will get cleaned up after the
325
+ * stream is consumed
326
+ *
327
+ * @tsplus static fncts.io.StreamOps acquireRelease
328
+ */
329
+
330
+ export function acquireRelease_(acquire, release) {
331
+ return scoped_1(tsplus_module_28.acquireRelease(() => acquire, release));
332
+ }
333
+ /**
334
+ * Creates a stream from a single value that will get cleaned up after the
335
+ * stream is consumed
336
+ *
337
+ * @tsplus static fncts.io.StreamOps acquireReleaseExit
338
+ */
339
+
340
+ export function acquireReleaseExit_(acquire, release) {
341
+ return scoped_1(tsplus_module_29.acquireReleaseExit(() => acquire, release, fileName_1 + ":338:45"));
342
+ }
343
+ /**
344
+ * Fan out the stream, producing a list of streams that have the same elements as this stream.
345
+ * The driver stream will only ever advance of the `maximumLag` chunks before the
346
+ * slowest downstream stream.
347
+ *
348
+ * @tsplus fluent fncts.io.Stream broadcast
349
+ */
350
+
351
+ export function broadcast_(stream, n, maximumLag) {
352
+ return tsplus_module_1.map_(broadcastedQueues_1(stream, n, maximumLag), c => tsplus_module_12.map_(c, hub => flattenTake_1(fromQueueWithShutdown_1(hub))), fileName_1 + ":355:9");
353
+ }
354
+ /**
355
+ * Fan out the stream, producing a dynamic number of streams that have the same elements as this stream.
356
+ * The driver stream will only ever advance of the `maximumLag` chunks before the
357
+ * slowest downstream stream.
358
+ *
359
+ * @tsplus fluent fncts.io.Stream broadcastDynamic
360
+ */
361
+
362
+ export function broadcastDynamic_(stream, maximumLag) {
363
+ return tsplus_module_1.map_(broadcastedQueuesDynamic_1(stream, maximumLag), scoped => flattenTake_1(flatMap_1(scoped_1(scoped), fromQueue_1)), fileName_1 + ":371:9");
364
+ }
365
+ /**
366
+ * Converts the stream to a managed list of queues. Every value will be replicated to every queue with the
367
+ * slowest queue being allowed to buffer `maximumLag` chunks before the driver is backpressured.
368
+ *
369
+ * Queues can unsubscribe from upstream by shutting down.
370
+ *
371
+ * @tsplus fluent fncts.io.Stream broadcastedQueues
372
+ */
373
+
374
+ function broadcastedQueues_1(stream, n, maximumLag) {
375
+ return tsplus_module_1.flatMap_(tsplus_module_30.makeBounded(maximumLag), hub => tsplus_module_1.flatMap_(tsplus_module_1.sequenceIterable(tsplus_module_31.replicate(n, tsplus_module_30.subscribe(hub))), queues => tsplus_module_1.map_(tsplus_module_1.fork(runIntoHubScoped_1(stream, hub)), () => queues), fileName_1 + ":389:21"), fileName_1 + ":388:21");
376
+ }
377
+ /**
378
+ * Converts the stream to a managed dynamic amount of queues. Every chunk will be replicated to every queue with the
379
+ * slowest queue being allowed to buffer `maximumLag` chunks before the driver is backpressured.
380
+ *
381
+ * Queues can unsubscribe from upstream by shutting down.
382
+ *
383
+ * @tsplus fluent fncts.io.Stream broadcastedQueuesDynamic
384
+ */
385
+
386
+
387
+ function broadcastedQueuesDynamic_1(stream, maximumLag) {
388
+ return tsplus_module_1.map_(toHub_1(stream, maximumLag), hub => tsplus_module_30.subscribe(hub), fileName_1 + ":407:38");
389
+ }
390
+ /**
391
+ * Allows a faster producer to progress independently of a slower consumer by buffering
392
+ * up to `capacity` elements in a queue.
393
+ *
394
+ * @tsplus fluent fncts.io.Stream buffer
395
+ */
396
+
397
+
398
+ export function buffer_(stream, capacity) {
399
+ const queue = toQueueOfElements_1(stream, capacity);
400
+ return new Stream(tsplus_module_10.unwrapScoped(tsplus_module_1.map_(queue, queue => {
401
+ const process = tsplus_module_11.flatMap_(tsplus_module_10.fromIO(tsplus_module_25.take(queue)), exit => tsplus_module_32.match_(exit, cause => tsplus_module_16.match_(tsplus_module_15.flipCauseOption(cause), () => tsplus_module_11.endNow(undefined), tsplus_module_11.failCauseNow), value => tsplus_module_11.apSecond_(tsplus_module_10.writeNow(tsplus_module_18.single(value)), process)));
402
+ return process;
403
+ }, fileName_1 + ":420:16")));
404
+ }
405
+ /**
406
+ * @tsplus fluent fncts.io.Stream bufferChunks
407
+ */
408
+
409
+ export function bufferChunks_(stream, capacity) {
410
+ const queue = toQueue_1(stream, capacity);
411
+ return new Stream(tsplus_module_10.unwrapScoped(tsplus_module_1.map_(queue, queue => {
412
+ const process = tsplus_module_11.flatMap_(tsplus_module_10.fromIO(tsplus_module_25.take(queue)), take => tsplus_module_24.match_(take, tsplus_module_11.endNow(undefined), tsplus_module_11.failCauseNow, value => tsplus_module_11.apSecond_(tsplus_module_10.writeNow(value), process)));
413
+ return process;
414
+ }, fileName_1 + ":442:16")));
415
+ }
416
+ /**
417
+ * Allows a faster producer to progress independently of a slower consumer by buffering
418
+ * elements into an unbounded queue.
419
+ *
420
+ * @tsplus getter fncts.io.Stream bufferUnbounded
421
+ */
422
+
423
+ export function bufferUnbounded(stream) {
424
+ const queue = toQueueUnbounded_1(stream);
425
+ return new Stream(tsplus_module_10.unwrapScoped(tsplus_module_1.map_(queue, queue => {
426
+ const process = tsplus_module_11.flatMap_(tsplus_module_10.fromIO(tsplus_module_25.take(queue)), take => tsplus_module_24.match_(take, tsplus_module_11.endNow(undefined), tsplus_module_11.failCauseNow, value => tsplus_module_11.apSecond_(tsplus_module_10.writeNow(value), process)));
427
+ return process;
428
+ }, fileName_1 + ":467:16")));
429
+ }
430
+
431
+ function bufferSignalProducer(queue, ref) {
432
+ const terminate = take => tsplus_module_10.fromIO(tsplus_module_1.flatMap_(tsplus_module_35.get(ref), latch => tsplus_module_1.flatMap_(tsplus_module_33.wait(latch), () => tsplus_module_1.flatMap_(tsplus_module_34.make(), p => tsplus_module_1.flatMap_(tsplus_module_25.offer_(queue, tuple(take, p)), () => tsplus_module_1.flatMap_(tsplus_module_13.set_(ref, p), () => tsplus_module_1.map_(tsplus_module_33.wait(p), () => void 0), fileName_1 + ":493:10"), fileName_1 + ":492:10"), fileName_1 + ":491:20"), fileName_1 + ":490:10"), fileName_1 + ":489:24"));
433
+
434
+ return tsplus_module_10.readWith(inp => tsplus_module_11.apSecond_(tsplus_module_10.fromIO(tsplus_module_1.flatMap_(tsplus_module_34.make(), p => tsplus_module_1.flatMap_(tsplus_module_25.offer_(queue, tuple(tsplus_module_24.chunk(inp), p)), added => tsplus_module_1.map_(tsplus_module_1.when_(tsplus_module_13.set_(ref, p), () => added, fileName_1 + ":503:28"), () => void 0), fileName_1 + ":502:26"), fileName_1 + ":501:26")), bufferSignalProducer(queue, ref)), e => terminate(tsplus_module_24.fail(e)), () => terminate(tsplus_module_24.end));
435
+ }
436
+
437
+ function bufferSignalConsumer(queue) {
438
+ const process = tsplus_module_11.flatMap_(tsplus_module_10.fromIO(tsplus_module_25.take(queue)), ([take, promise]) => tsplus_module_11.apSecond_(tsplus_module_10.fromIO(tsplus_module_33.succeed_(promise, undefined)), tsplus_module_24.match_(take, tsplus_module_11.endNow(undefined), tsplus_module_11.failCauseNow, value => tsplus_module_11.apSecond_(tsplus_module_10.writeNow(value), process))));
439
+ return process;
440
+ }
441
+ /**
442
+ * Switches over to the stream produced by the provided function in case this one
443
+ * fails with a typed error.
444
+ *
445
+ * @tsplus fluent fncts.io.Stream catchAll
446
+ */
447
+
448
+
449
+ function catchAll_1(stream, f) {
450
+ return catchAllCause_1(stream, cause => tsplus_module_4.match_(tsplus_module_15.failureOrCause(cause), f, failCauseNow_1));
451
+ }
452
+ /**
453
+ * Switches over to the stream produced by the provided function in case this one
454
+ * fails. Allows recovery from all causes of failure, including interruption if the
455
+ * stream is uninterruptible.
456
+ *
457
+ * @tsplus fluent fncts.io.Stream catchAllCause
458
+ */
459
+
460
+
461
+ function catchAllCause_1(stream, f) {
462
+ const channel = tsplus_module_10.catchAllCause_(stream.channel, cause => f(cause).channel);
463
+ return new Stream(channel);
464
+ }
465
+ /**
466
+ * Switches over to the stream produced by the provided function in case this one
467
+ * fails with some typed error.
468
+ *
469
+ * @tsplus fluent fncts.io.Stream catchJust
470
+ */
471
+
472
+
473
+ export function catchJust_(stream, pf) {
474
+ return catchAll_1(stream, e => tsplus_module_36.getOrElse_(pf(e), () => failNow_1(e)));
475
+ }
476
+ /**
477
+ * Switches over to the stream produced by the provided function in case this one
478
+ * fails with some errors. Allows recovery from all causes of failure, including interruption if the
479
+ * stream is uninterruptible.
480
+ *
481
+ * @tsplus fluent fncts.io.Stream catchJustCause
482
+ */
483
+
484
+ export function catchJustCause_(stream, pf) {
485
+ return catchAllCause_1(stream, cause => tsplus_module_36.getOrElse_(pf(cause), () => failCauseNow_1(cause)));
486
+ }
487
+ /**
488
+ * Returns a stream made of the concatenation in strict order of all the streams
489
+ * produced by passing each element of this stream to `f`
490
+ *
491
+ * @tsplus fluent fncts.io.Stream flatMap
492
+ */
493
+
494
+ function flatMap_1(stream, f) {
495
+ return new Stream(tsplus_module_10.concatMap_(stream.channel, as => tsplus_module_12.foldLeft_(tsplus_module_12.map_(as, a => f(a).channel), tsplus_module_10.unit, (s, a) => tsplus_module_11.flatMap_(s, () => a))));
496
+ }
497
+ /**
498
+ * Exposes the underlying chunks of the stream as a stream of chunks of elements
499
+ *
500
+ * @tsplus getter fncts.io.Stream chunks
501
+ */
502
+
503
+
504
+ export function chunks(stream) {
505
+ return mapChunks_1(stream, tsplus_module_18.single);
506
+ }
507
+
508
+ function changesWithWriter(f, last) {
509
+ return tsplus_module_10.readWithCause(chunk => {
510
+ const [newLast, newChunk] = tsplus_module_12.foldLeft_(chunk, [last, tsplus_module_7.empty()], ([maybeLast, os], o1) => tsplus_module_16.match_(maybeLast, () => [tsplus_module_3.just(o1), tsplus_module_12.append_(os, o1)], o => f(o, o1) ? [tsplus_module_3.just(o1), os] : [tsplus_module_3.just(o1), tsplus_module_12.append_(os, o1)]));
511
+ return tsplus_module_11.apSecond_(tsplus_module_10.writeNow(newChunk), changesWithWriter(f, newLast));
512
+ }, tsplus_module_11.failCauseNow, () => tsplus_module_10.unit);
513
+ }
514
+ /**
515
+ * Returns a new stream that only emits elements that are not equal to the
516
+ * previous element emitted, using the specified function to determine
517
+ * whether two elements are equal.
518
+ *
519
+ * @tsplus fluent fncts.io.Stream changesWith
520
+ */
521
+
522
+
523
+ export function changesWith_(stream, f) {
524
+ return new Stream(tsplus_module_10.pipeTo_(stream.channel, changesWithWriter(f, tsplus_module_3.nothing())));
525
+ }
526
+ /**
527
+ * Transforms all elements of the stream for as long as the specified partial function is defined.
528
+ *
529
+ * @tsplus fluent fncts.io.Stream collectWhile
530
+ */
531
+
532
+ export function collectWhile_(stream, pf) {
533
+ const loop = tsplus_module_10.readWith(inp => {
534
+ const mapped = tsplus_module_12.collectWhile_(inp, pf);
535
+
536
+ if (mapped.length === inp.length) {
537
+ return tsplus_module_11.apSecond_(tsplus_module_10.writeNow(mapped), loop);
538
+ } else {
539
+ return tsplus_module_10.writeNow(mapped);
540
+ }
541
+ }, tsplus_module_10.failNow, tsplus_module_11.succeedNow);
542
+ return new Stream(tsplus_module_10.pipeTo_(stream.channel, loop));
543
+ }
544
+ /**
545
+ * Effectfully transforms all elements of the stream for as long as the specified partial function is defined.
546
+ */
547
+
548
+ export function collectWhileIO_(stream, pf) {
549
+ return loopOnPartialChunks_1(stream, (chunk, emit) => {
550
+ const pfJust = a => tsplus_module_16.match_(pf(a), () => tsplus_module_1.succeedNow(false, fileName_1 + ":675:28"), effect => tsplus_module_1.as_(tsplus_module_1.flatMap_(effect, emit, fileName_1 + ":676:35"), () => true));
551
+
552
+ const loop = chunk => {
553
+ if (tsplus_module_12.isEmpty(chunk)) {
554
+ return tsplus_module_1.succeedNow(true, fileName_1 + ":681:29");
555
+ } else {
556
+ return tsplus_module_1.flatMap_(pfJust(tsplus_module_12.unsafeHead(chunk)), cont => cont ? loop(tsplus_module_12.unsafeTail(chunk)) : tsplus_module_1.succeedNow(false, fileName_1 + ":683:105"), fileName_1 + ":683:48");
557
+ }
558
+ };
559
+
560
+ return loop(chunk);
561
+ });
562
+ }
563
+
564
+ function combineProducer(handoff, latch) {
565
+ return tsplus_module_11.apSecond_(tsplus_module_10.fromIO(tsplus_module_5.take(latch)), tsplus_module_10.readWithCause(value => tsplus_module_11.apSecond_(tsplus_module_10.fromIO(tsplus_module_5.offer(handoff, tsplus_module_37.succeed(value))), combineProducer(handoff, latch)), cause => tsplus_module_10.fromIO(tsplus_module_5.offer(handoff, tsplus_module_37.failCause(tsplus_module_15.map_(cause, tsplus_module_3.just)))), () => tsplus_module_11.apSecond_(tsplus_module_10.fromIO(tsplus_module_5.offer(handoff, tsplus_module_37.fail(tsplus_module_3.nothing()))), combineProducer(handoff, latch))));
566
+ }
567
+ /**
568
+ * Combines the elements from this stream and the specified stream by repeatedly applying the
569
+ * function `f` to extract an element using both sides and conceptually "offer"
570
+ * it to the destination stream. `f` can maintain some internal state to control
571
+ * the combining process, with the initial state being specified by `s`.
572
+ *
573
+ * Where possible, prefer `Stream#combineChunks` for a more efficient implementation.
574
+ *
575
+ * @tsplus fluent fncts.io.Stream combine
576
+ */
577
+
578
+
579
+ export function combine_(stream, that, s, f) {
580
+ return new Stream(tsplus_module_10.unwrapScoped(tsplus_module_1.map_(tsplus_module_1.flatMap_(tsplus_module_5.make(), left => tsplus_module_1.flatMap_(tsplus_module_5.make(), right => tsplus_module_1.flatMap_(tsplus_module_5.make(), latchL => tsplus_module_1.flatMap_(tsplus_module_5.make(), latchR => tsplus_module_1.flatMap_(tsplus_module_1.fork(tsplus_module_23.runScoped(tsplus_module_10.pipeTo_(tsplus_module_10.concatMap_(stream.channel, tsplus_module_10.writeChunk), combineProducer(left, latchL)))), () => tsplus_module_1.map_(tsplus_module_1.fork(tsplus_module_23.runScoped(tsplus_module_10.pipeTo_(tsplus_module_10.concatMap_(that.channel, tsplus_module_10.writeChunk), combineProducer(right, latchR)))), () => tuple(left, right, latchL, latchR)), fileName_1 + ":731:10"), fileName_1 + ":730:25"), fileName_1 + ":729:25"), fileName_1 + ":728:25"), fileName_1 + ":727:25"), ([left, right, latchL, latchR]) => {
581
+ const pullLeft = tsplus_module_1.flatMap_(tsplus_module_1.apSecond_(tsplus_module_5.offer(latchL, undefined), tsplus_module_5.take(left), fileName_1 + ":735:59"), tsplus_module_1.fromExitNow, fileName_1 + ":735:78");
582
+ const pullRight = tsplus_module_1.flatMap_(tsplus_module_1.apSecond_(tsplus_module_5.offer(latchR, undefined), tsplus_module_5.take(right), fileName_1 + ":736:59"), tsplus_module_1.fromExitNow, fileName_1 + ":736:79");
583
+ return unfoldIO_1(s, s => tsplus_module_1.flatMap_(f(s, pullLeft, pullRight), exit => tsplus_module_1.optional(tsplus_module_1.fromExitNow(exit, fileName_1 + ":737:100")), fileName_1 + ":737:75")).channel;
584
+ }, fileName_1 + ":734:13")));
585
+ }
586
+
587
+ function combineChunksProducer(handoff, latch) {
588
+ return tsplus_module_11.apSecond_(tsplus_module_10.fromIO(tsplus_module_5.take(latch)), tsplus_module_10.readWithCause(chunk => tsplus_module_11.apSecond_(tsplus_module_10.fromIO(tsplus_module_5.offer(handoff, tsplus_module_24.chunk(chunk))), combineChunksProducer(handoff, latch)), cause => tsplus_module_10.fromIO(tsplus_module_5.offer(handoff, tsplus_module_24.failCause(cause))), () => tsplus_module_11.apSecond_(tsplus_module_10.fromIO(tsplus_module_5.offer(handoff, tsplus_module_24.end)), combineChunksProducer(handoff, latch))));
589
+ }
590
+ /**
591
+ * Combines the chunks from this stream and the specified stream by repeatedly applying the
592
+ * function `f` to extract a chunk using both sides and conceptually "offer"
593
+ * it to the destination stream. `f` can maintain some internal state to control
594
+ * the combining process, with the initial state being specified by `s`.
595
+ *
596
+ * @tsplus fluent fncts.io.Stream combineChunks
597
+ */
598
+
599
+
600
+ export function combineChunks_(stream, that, s, f) {
601
+ return new Stream(tsplus_module_10.unwrapScoped(tsplus_module_1.map_(tsplus_module_1.flatMap_(tsplus_module_5.make(), left => tsplus_module_1.flatMap_(tsplus_module_5.make(), right => tsplus_module_1.flatMap_(tsplus_module_5.make(), latchL => tsplus_module_1.flatMap_(tsplus_module_5.make(), latchR => tsplus_module_1.flatMap_(tsplus_module_1.fork(tsplus_module_23.runScoped(tsplus_module_10.pipeTo_(stream.channel, combineChunksProducer(left, latchL)))), () => tsplus_module_1.map_(tsplus_module_1.fork(tsplus_module_23.runScoped(tsplus_module_10.pipeTo_(that.channel, combineChunksProducer(right, latchR)))), () => tuple(left, right, latchL, latchR)), fileName_1 + ":782:10"), fileName_1 + ":781:25"), fileName_1 + ":780:25"), fileName_1 + ":779:25"), fileName_1 + ":778:25"), ([left, right, latchL, latchR]) => {
602
+ const pullLeft = tsplus_module_1.flatMap_(tsplus_module_1.apSecond_(tsplus_module_5.offer(latchL, undefined), tsplus_module_5.take(left), fileName_1 + ":788:20"), take => tsplus_module_24.done(take), fileName_1 + ":789:19");
603
+ const pullRight = tsplus_module_1.flatMap_(tsplus_module_1.apSecond_(tsplus_module_5.offer(latchR, undefined), tsplus_module_5.take(right), fileName_1 + ":792:20"), take => tsplus_module_24.done(take), fileName_1 + ":793:19");
604
+ return unfoldChunkIO_1(s, s => tsplus_module_1.flatMap_(f(s, pullLeft, pullRight), exit => tsplus_module_1.optional(tsplus_module_1.fromExit(() => exit, fileName_1 + ":794:102")), fileName_1 + ":794:80")).channel;
605
+ }, fileName_1 + ":785:13")));
606
+ }
607
+ /**
608
+ * Concatenates the specified stream with this stream, resulting in a stream
609
+ * that emits the elements from this stream and then the elements from the specified stream.
610
+ *
611
+ * @tsplus fluent fncts.io.Stream concat
612
+ */
613
+
614
+ function concat_1(stream, that) {
615
+ return new Stream(tsplus_module_11.apSecond_(stream.channel, that.channel));
616
+ }
617
+ /**
618
+ * Composes this stream with the specified stream to create a cartesian product of elements.
619
+ * The `that` stream would be run multiple times, for every element in the `this` stream.
620
+ *
621
+ * @tsplus fluent fncts.io.Stream cross
622
+ */
623
+
624
+
625
+ export function cross_(stream, that) {
626
+ return new Stream(tsplus_module_10.concatMap_(stream.channel, as => tsplus_module_10.mapOut_(that.channel, bs => tsplus_module_12.flatMap_(as, a => tsplus_module_12.map_(bs, b => tuple(a, b))))));
627
+ }
628
+ /**
629
+ * Composes this stream with the specified stream to create a cartesian product of elements
630
+ * with a specified function.
631
+ * The `fb` stream would be run multiple times, for every element in the `fa` stream.
632
+ *
633
+ * @tsplus fluent fncts.io.Stream crossWith
634
+ */
635
+
636
+ function crossWith_1(fa, fb, f) {
637
+ return flatMap_1(fa, a => map_1(fb, b => f(a, b)));
638
+ }
639
+ /**
640
+ * Provides some of the environment required to run this effect,
641
+ * leaving the remainder `R0`.
642
+ *
643
+ * @tsplus fluent fncts.io.Stream contramapEnvironment
644
+ */
645
+
646
+
647
+ export function contramapEnvironment_(ra, f) {
648
+ return flatMap_1(environment_1(), r0 => provideEnvironment_1(ra, f(r0)));
649
+ }
650
+ /**
651
+ * @tsplus fluent fncts.io.Stream debounce
652
+ */
653
+
654
+ export function debounce_(stream, duration) {
655
+ return unwrap_1(tsplus_module_22.transplant(grafter => tsplus_module_1.map_(tsplus_module_5.make(), handoff => {
656
+ function enqueue(last) {
657
+ return tsplus_module_1.map_(grafter(tsplus_module_1.fork(tsplus_module_1.as_(tsplus_module_40.sleep(duration, fileName_1 + ":866:37"), () => last))), f => consumer(tsplus_module_38.previous(f)), fileName_1 + ":866:66");
658
+ }
659
+
660
+ const producer = tsplus_module_10.readWithCause(inp => tsplus_module_16.match_(tsplus_module_12.last(inp), () => producer, last => tsplus_module_11.apSecond_(tsplus_module_10.fromIO(tsplus_module_5.offer(handoff, tsplus_module_5.emit(tsplus_module_18.single(last)))), producer)), cause => tsplus_module_10.fromIO(tsplus_module_5.offer(handoff, tsplus_module_5.halt(cause))), () => tsplus_module_10.fromIO(tsplus_module_5.offer(handoff, tsplus_module_5.end(new UpstreamEnd()))));
661
+
662
+ function consumer(state) {
663
+ return tsplus_module_10.unwrap(tsplus_module_38.match_(state, {
664
+ NotStarted: () => tsplus_module_1.map_(tsplus_module_5.take(handoff), signal => tsplus_module_5.matchSignal_(signal, {
665
+ Emit: ({
666
+ els
667
+ }) => tsplus_module_10.unwrap(enqueue(els)),
668
+ Halt: ({
669
+ error
670
+ }) => tsplus_module_11.failCauseNow(error),
671
+ End: () => tsplus_module_10.unit
672
+ }), fileName_1 + ":881:33"),
673
+ Current: ({
674
+ fiber
675
+ }) => tsplus_module_1.map_(tsplus_module_39.join(fiber), signal => tsplus_module_5.matchSignal_(signal, {
676
+ Emit: ({
677
+ els
678
+ }) => tsplus_module_10.unwrap(enqueue(els)),
679
+ Halt: ({
680
+ error
681
+ }) => tsplus_module_11.failCauseNow(error),
682
+ End: () => tsplus_module_10.unit
683
+ }), fileName_1 + ":889:31"),
684
+ Previous: ({
685
+ fiber
686
+ }) => tsplus_module_22.raceWith_(tsplus_module_39.join(fiber), () => tsplus_module_5.take(handoff), (ex, current) => tsplus_module_32.match_(ex, cause => tsplus_module_1.as_(tsplus_module_20.interrupt(current), () => tsplus_module_11.failCauseNow(cause)), chunk => tsplus_module_1.succeedNow(tsplus_module_11.apSecond_(tsplus_module_10.writeNow(chunk), consumer(tsplus_module_38.current(current))), fileName_1 + ":903:38")), (ex, previous) => tsplus_module_32.match_(ex, cause => tsplus_module_1.as_(tsplus_module_20.interrupt(previous), () => tsplus_module_11.failCauseNow(cause)), signal => tsplus_module_5.matchSignal_(signal, {
687
+ Emit: ({
688
+ els
689
+ }) => tsplus_module_1.apSecond_(tsplus_module_20.interrupt(previous), enqueue(els), fileName_1 + ":910:73"),
690
+ Halt: ({
691
+ error
692
+ }) => tsplus_module_1.as_(tsplus_module_20.interrupt(previous), () => tsplus_module_11.failCauseNow(error)),
693
+ End: () => tsplus_module_1.map_(tsplus_module_39.join(previous), chunk => tsplus_module_11.apSecond_(tsplus_module_10.writeNow(chunk), tsplus_module_10.unit), fileName_1 + ":912:55")
694
+ })), fileName_1 + ":897:36")
695
+ }));
696
+ }
697
+
698
+ return apSecond_1(scoped_1(tsplus_module_1.fork(tsplus_module_23.runScoped(tsplus_module_10.pipeTo_(stream.channel, producer)))), new Stream(consumer(tsplus_module_38.notStarted)));
699
+ }, fileName_1 + ":864:26"), fileName_1 + ":862:18"));
700
+ }
701
+
702
+ function defaultIfEmptyWriter(fb) {
703
+ return tsplus_module_10.readWith(i => tsplus_module_12.isEmpty(i) ? defaultIfEmptyWriter(fb) : tsplus_module_11.apSecond_(tsplus_module_10.writeNow(i), tsplus_module_10.id()), tsplus_module_10.failNow, () => fb.channel);
704
+ }
705
+ /**
706
+ * Switches to the provided stream in case this one is empty.
707
+ *
708
+ * @tsplus fluent fncts.io.Stream defaultIfEmpty
709
+ */
710
+
711
+
712
+ export function defaultIfEmpty_(fa, fb) {
713
+ return new Stream(tsplus_module_10.pipeTo_(fa.channel, defaultIfEmptyWriter(fb)));
714
+ }
715
+ /**
716
+ * More powerful version of `broadcast`. Allows to provide a function that determines what
717
+ * queues should receive which elements. The decide function will receive the indices of the queues
718
+ * in the resulting list.
719
+ *
720
+ * @tsplus fluent fncts.io.Stream distributedWith
721
+ */
722
+
723
+ export function distributedWith_(self, n, maximumLag, decide) {
724
+ return tsplus_module_1.flatMap_(tsplus_module_34.make(), p => tsplus_module_1.flatMap_(distributedWithDynamic_1(self, maximumLag, a => tsplus_module_1.flatMap_(tsplus_module_33.wait(p), f => f(a), fileName_1 + ":968:31"), () => tsplus_module_1.unit), next => tsplus_module_1.flatMap_(tsplus_module_1.sequenceIterable(tsplus_module_12.map_(tsplus_module_18.range(0, n), id => tsplus_module_1.map_(next, ([key, queue]) => [[key, id], queue], fileName_1 + ":973:48"))), entries => {
725
+ const [mappings, queues] = tsplus_module_12.foldRight_(entries, [tsplus_module_41.makeDefault(), tsplus_module_7.empty()], ([mapping, queue], [mappings, queues]) => [tsplus_module_41.set_(mappings, mapping[0], mapping[1]), tsplus_module_12.append_(queues, queue)]);
726
+ return tsplus_module_1.as_(tsplus_module_33.succeed_(p, a => tsplus_module_1.map_(decide(a), f => key => f(tsplus_module_36.toUndefined(tsplus_module_41.get_(mappings, key))), fileName_1 + ":979:48")), () => queues);
727
+ }, fileName_1 + ":974:18"), fileName_1 + ":971:15"), fileName_1 + ":964:77");
728
+ }
729
+ /**
730
+ * More powerful version of `ZStream#distributedWith`. This returns a function that will produce
731
+ * new queues and corresponding indices.
732
+ * You can also provide a function that will be executed after the final events are enqueued in all queues.
733
+ * Shutdown of the queues is handled by the driver.
734
+ * Downstream users can also shutdown queues manually. In this case the driver will
735
+ * continue but no longer backpressure on them.
736
+ *
737
+ * @tsplus fluent fncts.io.Stream distributedWithDynamic
738
+ */
739
+
740
+ function distributedWithDynamic_1(self, maximumLag, decide, done = () => tsplus_module_1.unit) {
741
+ const offer = queuesRef => a => tsplus_module_1.flatMap_(decide(a), shouldProcess => tsplus_module_1.flatMap_(tsplus_module_35.get(queuesRef), queues => tsplus_module_1.flatMap_(tsplus_module_1.foldLeft_(queues, tsplus_module_7.empty(), (b, [id, queue]) => {
742
+ if (shouldProcess(id)) {
743
+ return tsplus_module_1.matchCauseIO_(tsplus_module_25.offer_(queue, tsplus_module_37.succeed(a)), c => tsplus_module_15.interrupted(c) ? tsplus_module_1.succeedNow(tsplus_module_12.append_(b, id), fileName_1 + ":1009:52") : tsplus_module_1.failCauseNow(c, fileName_1 + ":1009:84"), () => tsplus_module_1.succeedNow(b, fileName_1 + ":1010:34"), fileName_1 + ":1008:61");
744
+ } else {
745
+ return tsplus_module_1.succeedNow(b, fileName_1 + ":1013:33");
746
+ }
747
+ }, fileName_1 + ":1006:20"), ids => tsplus_module_12.isNonEmpty(ids) ? tsplus_module_14.update_(queuesRef, map => tsplus_module_41.removeMany_(map, ids)) : tsplus_module_1.unit, fileName_1 + ":1015:19"), fileName_1 + ":1004:30"), fileName_1 + ":1003:30");
748
+
749
+ return tsplus_module_1.flatMap_(tsplus_module_28.acquireRelease(() => tsplus_module_6.make(() => tsplus_module_41.makeDefault()), ref => tsplus_module_1.flatMap_(tsplus_module_35.get(ref), qs => tsplus_module_1.foreach_(tsplus_module_41.values(qs), q => tsplus_module_25.shutdown(q), fileName_1 + ":1022:43"), fileName_1 + ":1022:24")), queuesRef => tsplus_module_1.map_(tsplus_module_1.flatMap_(tsplus_module_43.atomically(tsplus_module_44.make(1)), queuesLock => tsplus_module_1.flatMap_(tsplus_module_6.make(() => tsplus_module_1.flatMap_(tsplus_module_27.makeBounded(maximumLag), queue => tsplus_module_1.flatMap_(tsplus_module_1.succeed(() => Symbol(), fileName_1 + ":1033:41"), id => tsplus_module_1.map_(tsplus_module_14.update_(queuesRef, map => tsplus_module_41.set_(map, id, queue)), () => tuple(id, queue)), fileName_1 + ":1033:30"), fileName_1 + ":1032:30")), newQueue => {
750
+ const finalize = endTake => tsplus_module_42.withPermitSelf(queuesLock)(tsplus_module_1.asUnit(tsplus_module_1.flatMap_(tsplus_module_13.set_(newQueue, tsplus_module_1.flatMap_(tsplus_module_27.makeBounded(1), queue => tsplus_module_1.flatMap_(tsplus_module_25.offer_(queue, endTake), () => {
751
+ const id = Symbol();
752
+ return tsplus_module_1.map_(tsplus_module_14.update_(queuesRef, map => tsplus_module_41.set_(map, id, queue)), () => tuple(id, queue));
753
+ }, fileName_1 + ":1045:20"), fileName_1 + ":1044:34")), () => tsplus_module_1.flatMap_(tsplus_module_1.map_(tsplus_module_35.get(queuesRef), map => tsplus_module_41.values(map), fileName_1 + ":1053:53"), queues => tsplus_module_1.flatMap_(tsplus_module_1.foreach_(queues, queue => tsplus_module_1.catchJustCause_(tsplus_module_25.offer_(queue, endTake), c => tsplus_module_15.interrupted(c) ? tsplus_module_3.just(tsplus_module_1.unit) : tsplus_module_3.nothing()), fileName_1 + ":1055:31"), () => tsplus_module_1.map_(done(endTake), () => void 0), fileName_1 + ":1054:20"), fileName_1 + ":1053:35"), fileName_1 + ":1051:23")));
754
+
755
+ return tsplus_module_1.map_(tsplus_module_1.fork(tsplus_module_1.matchCauseIO_(runForeachScoped_1(self, offer(queuesRef)), cause => finalize(tsplus_module_37.failCause(tsplus_module_15.map_(cause, tsplus_module_3.just))), () => finalize(tsplus_module_37.fail(tsplus_module_3.nothing())), fileName_1 + ":1067:63")), () => tsplus_module_42.withPermitSelf(queuesLock)(tsplus_module_1.flatten(tsplus_module_35.get(newQueue))));
756
+ }, fileName_1 + ":1029:29"), fileName_1 + ":1028:29"), add => add, fileName_1 + ":1026:18"), fileName_1 + ":1020:24");
757
+ }
758
+ /**
759
+ * Converts this stream to a stream that executes its effects but emits no
760
+ * elements. Useful for sequencing effects using streams.
761
+ *
762
+ * @tsplus getter fncts.io.Stream drain
763
+ */
764
+
765
+
766
+ export function drain(fa) {
767
+ return new Stream(tsplus_module_10.drain(fa.channel));
768
+ }
769
+
770
+ function dropLoop(r) {
771
+ return tsplus_module_10.readWith(inp => {
772
+ const dropped = tsplus_module_12.drop_(inp, r);
773
+ const leftover = Math.max(0, r - inp.length);
774
+ const more = tsplus_module_12.isEmpty(inp) || leftover > 0;
775
+ return more ? dropLoop(leftover) : tsplus_module_11.apSecond_(tsplus_module_10.write(() => dropped), tsplus_module_10.id());
776
+ }, tsplus_module_10.failNow, () => tsplus_module_10.unit);
777
+ }
778
+ /**
779
+ * Drops the specified number of elements from this stream.
780
+ *
781
+ * @tsplus fluent fncts.io.Stream drop
782
+ */
783
+
784
+
785
+ function drop_1(stream, n) {
786
+ return new Stream(tsplus_module_10.pipeTo_(stream.channel, dropLoop(n)));
787
+ }
788
+ /**
789
+ * Drops all elements of the stream for as long as the specified predicate
790
+ * evaluates to `true`.
791
+ *
792
+ * @tsplus fluent fncts.io.Stream dropWhile
793
+ */
794
+
795
+
796
+ function dropWhile_1(stream, p) {
797
+ return pipeThrough_1(stream, tsplus_module_45.dropWhile(p));
798
+ }
799
+ /**
800
+ * Drops all elements of the stream until the specified predicate evaluates
801
+ * to `true`.
802
+ *
803
+ * @tsplus fluent fncts.io.Stream dropUntil
804
+ */
805
+
806
+
807
+ export function dropUntil_(stream, p) {
808
+ return drop_1(dropWhile_1(stream, tsplus_module_46.invert(p)), 1);
809
+ }
810
+ /**
811
+ * Returns a stream whose failures and successes have been lifted into an
812
+ * `Either`. The resulting stream cannot fail, because the failures have
813
+ * been exposed as part of the `Either` success case.
814
+ *
815
+ * @note the stream will end as soon as the first error occurs.
816
+ *
817
+ * @tsplus getter fncts.io.Stream either
818
+ */
819
+
820
+ export function either(stream) {
821
+ return catchAll_1(map_1(stream, tsplus_module_17.right), e => succeedNow_1(tsplus_module_17.left(e)));
822
+ }
823
+ /**
824
+ * @tsplus static fncts.io.StreamOps empty
825
+ */
826
+
827
+ const empty_1 = /*#__PURE__*/fromChunkNow_1( /*#__PURE__*/tsplus_module_7.empty());
828
+ export const empty = empty_1;
829
+
830
+ function endWhenWriter(fiber) {
831
+ return tsplus_module_10.unwrap(tsplus_module_1.map_(tsplus_module_47.poll(fiber), maybeExit => tsplus_module_16.match_(maybeExit, () => tsplus_module_10.readWith(inp => tsplus_module_11.apSecond_(tsplus_module_10.writeNow(inp), endWhenWriter(fiber)), tsplus_module_10.failNow, () => tsplus_module_10.unit), exit => tsplus_module_32.match_(exit, tsplus_module_11.failCauseNow, () => tsplus_module_10.unit)), fileName_1 + ":1155:19"));
832
+ }
833
+ /**
834
+ * Halts the evaluation of this stream when the provided IO completes. The given IO
835
+ * will be forked as part of the returned stream, and its success will be discarded.
836
+ *
837
+ * An element in the process of being pulled will not be interrupted when the IO
838
+ * completes. See `interruptWhen` for this behavior.
839
+ *
840
+ * If the IO completes with a failure, the stream will emit that failure.
841
+ *
842
+ * @tsplus fluent fncts.io.Stream endWhen
843
+ */
844
+
845
+
846
+ export function endWhen_(stream, io) {
847
+ return new Stream(tsplus_module_10.unwrapScoped(tsplus_module_1.map_(tsplus_module_21.forkScoped(io), fiber => tsplus_module_10.pipeTo_(stream.channel, endWhenWriter(fiber)), fileName_1 + ":1181:59")));
848
+ }
849
+ /**
850
+ * @tsplus fluent fncts.io.Stream ensuring
851
+ */
852
+
853
+ function ensuring_1(self, finalizer) {
854
+ return new Stream(tsplus_module_10.ensuring_(self.channel, finalizer));
855
+ }
856
+ /**
857
+ * @tsplus static fncts.io.StreamOps environment
858
+ */
859
+
860
+
861
+ function environment_1() {
862
+ return fromIO_1(tsplus_module_48.environment(fileName_1 + ":1195:38"));
863
+ }
864
+ /**
865
+ * Accesses the environment of the stream.
866
+ *
867
+ * @tsplus static fncts.io.StreamOps environmentWith
868
+ */
869
+
870
+
871
+ export function environmentWith(f) {
872
+ return map_1(environment_1(), f);
873
+ }
874
+ /**
875
+ * Accesses the environment of the stream in the context of an effect.
876
+ *
877
+ * @tsplus static fncts.io.StreamOps environmentWithIO
878
+ */
879
+
880
+ export function environmentWithIO(f) {
881
+ return mapIO_1(environment_1(), f);
882
+ }
883
+ /**
884
+ * Accesses the environment of the stream in the context of a stream.
885
+ *
886
+ * @tsplus static fncts.io.StreamOps environmentWithStream
887
+ */
888
+
889
+ export function environmentWithStream(f) {
890
+ return flatMap_1(environment_1(), f);
891
+ }
892
+ /**
893
+ * Halt a stream with the specified error
894
+ *
895
+ * @tsplus static fncts.io.StreamOps failNow
896
+ */
897
+
898
+ function failNow_1(error) {
899
+ return new Stream(tsplus_module_10.failNow(error));
900
+ }
901
+ /**
902
+ * Halt a stream with the specified error
903
+ *
904
+ * @tsplus static fncts.io.StreamOps fail
905
+ */
906
+
907
+
908
+ export function fail(error) {
909
+ return new Stream(tsplus_module_10.fail(error));
910
+ }
911
+ /**
912
+ * The stream that always halts with `cause`.
913
+ *
914
+ * @tsplus static fncts.io.StreamOps failCauseNow
915
+ */
916
+
917
+ function failCauseNow_1(cause) {
918
+ return fromIO_1(tsplus_module_1.failCauseNow(cause, fileName_1 + ":1249:39"));
919
+ }
920
+ /**
921
+ * The stream that always halts with `cause`.
922
+ *
923
+ * @tsplus static fncts.io.StreamOps failCause
924
+ */
925
+
926
+
927
+ export function failCause(cause) {
928
+ return fromIO_1(tsplus_module_1.failCause(cause, fileName_1 + ":1258:36"));
929
+ }
930
+ export function filter_(fa, predicate) {
931
+ return mapChunks_1(fa, chunk => tsplus_module_12.filter_(chunk, predicate));
932
+ }
933
+ /**
934
+ * @tsplus fluent fncts.io.Stream filterIO
935
+ */
936
+
937
+ export function filterIO_(fa, f) {
938
+ return loopOnPartialChunksElements_1(fa, (a, emit) => tsplus_module_1.flatMap_(f(a), r => r ? emit(a) : tsplus_module_1.unit, fileName_1 + ":1277:66"));
939
+ }
940
+ /**
941
+ * @tsplus fluent fncts.io.Stream filterMap
942
+ */
943
+
944
+ function filterMap_1(fa, f) {
945
+ return mapChunks_1(fa, chunk => tsplus_module_12.filterMap_(chunk, f));
946
+ }
947
+ /**
948
+ * @tsplus fluent fncts.io.Stream filterMapIO
949
+ */
950
+
951
+
952
+ export function filterMapIO_(fa, f) {
953
+ return loopOnPartialChunksElements_1(fa, (a, emit) => tsplus_module_1.flatMap_(f(a), maybeB => tsplus_module_16.match_(maybeB, () => tsplus_module_1.unit, emit), fileName_1 + ":1294:66"));
954
+ }
955
+ /**
956
+ * Finds the first element emitted by this stream that satisfies the provided predicate.
957
+ *
958
+ * @tsplus fluent fncts.io.Stream find
959
+ */
960
+
961
+ export function find_(stream, p) {
962
+ const loop = tsplus_module_10.readWith(inp => tsplus_module_16.match_(tsplus_module_12.find_(inp, p), () => loop, a => tsplus_module_10.writeNow(tsplus_module_18.single(a))), tsplus_module_10.failNow, () => tsplus_module_10.unit);
963
+ return new Stream(tsplus_module_10.pipeTo_(stream.channel, loop));
964
+ }
965
+ /**
966
+ * Finds the first element emitted by this stream that satisfies the provided effectful predicate.
967
+ *
968
+ * @tsplus fluent fncts.io.Stream findIO
969
+ */
970
+
971
+ export function findIO_(stream, f) {
972
+ const loop = tsplus_module_10.readWith(inp => tsplus_module_10.unwrap(tsplus_module_1.map_(tsplus_module_49.findIO_(inp, f), maybeA => tsplus_module_16.match_(maybeA, () => loop, a => tsplus_module_10.writeNow(tsplus_module_18.single(a))), fileName_1 + ":1327:26")), tsplus_module_10.failNow, () => tsplus_module_10.unit);
973
+ return new Stream(tsplus_module_10.pipeTo_(stream.channel, loop));
974
+ }
975
+ /**
976
+ * Flattens this stream-of-streams into a stream made of the concatenation in
977
+ * strict order of all the streams.
978
+ *
979
+ * @tsplus getter fncts.io.Stream flatten
980
+ */
981
+
982
+ function flatten_1(self) {
983
+ return flatMap_1(self, identity);
984
+ }
985
+ /**
986
+ * Unwraps `Exit` values that also signify end-of-stream by failing with `None`.
987
+ *
988
+ * For `Exit<E, A>` values that do not signal end-of-stream, prefer:
989
+ *
990
+ * @tsplus getter fncts.io.Stream flattenExitOption
991
+ */
992
+
993
+
994
+ function flattenExitOption_1(stream) {
995
+ const processChunk = (chunk, cont) => {
996
+ const [toEmit, rest] = tsplus_module_12.splitWhere_(chunk, _ => !tsplus_module_50.isSuccess(_));
997
+ const next = tsplus_module_16.match_(tsplus_module_12.head(rest), () => cont, exit => tsplus_module_32.match_(exit, cause => tsplus_module_16.match_(tsplus_module_15.flipCauseOption(cause), () => tsplus_module_11.endNow(undefined), tsplus_module_11.failCauseNow), () => tsplus_module_11.endNow(undefined)));
998
+ return tsplus_module_11.apSecond_(tsplus_module_10.writeNow(tsplus_module_12.filterMap_(toEmit, exit => tsplus_module_32.match_(exit, () => tsplus_module_3.nothing(), tsplus_module_3.just))), next);
999
+ };
1000
+
1001
+ const process = tsplus_module_10.readWithCause(chunk => processChunk(chunk, process), tsplus_module_11.failCauseNow, _ => tsplus_module_11.endNow(undefined));
1002
+ return new Stream(tsplus_module_10.pipeTo_(stream.channel, process));
1003
+ }
1004
+ /**
1005
+ * Unwraps `Exit` values and flatten chunks that also signify end-of-stream by failing with `None`.
1006
+ *
1007
+ * @tsplus getter fncts.io.Stream flattenTake
1008
+ */
1009
+
1010
+
1011
+ function flattenTake_1(stream) {
1012
+ return flattenChunks_1(flattenExitOption_1(map_1(stream, take => take.exit)));
1013
+ }
1014
+ /**
1015
+ * Submerges the chunks carried by this stream into the stream's structure, while
1016
+ * still preserving them.
1017
+ *
1018
+ * @tsplus getter fncts.io.Stream flattenChunks
1019
+ */
1020
+
1021
+
1022
+ function flattenChunks_1(stream) {
1023
+ return new Stream(tsplus_module_10.mapOut_(stream.channel, c => tsplus_module_12.flatten(c)));
1024
+ }
1025
+ /**
1026
+ * Repeats this stream forever.
1027
+ *
1028
+ * @tsplus getter fncts.io.Stream forever
1029
+ */
1030
+
1031
+
1032
+ function forever_1(stream) {
1033
+ return new Stream(tsplus_module_10.repeated(stream.channel));
1034
+ }
1035
+ /**
1036
+ * Creates a stream from a `Chunk` of values
1037
+ *
1038
+ * @tsplus static fncts.io.StreamOps fromChunkNow
1039
+ */
1040
+
1041
+
1042
+ function fromChunkNow_1(c) {
1043
+ return new Stream(tsplus_module_10.defer(() => tsplus_module_12.isEmpty(c) ? tsplus_module_10.unit : tsplus_module_10.writeNow(c)));
1044
+ }
1045
+ /**
1046
+ * Creates a stream from a `Chunk` of values
1047
+ *
1048
+ * @tsplus static fncts.io.StreamOps fromChunk
1049
+ */
1050
+
1051
+
1052
+ function fromChunk_1(c) {
1053
+ return new Stream(tsplus_module_10.unwrap(tsplus_module_1.succeedNow(tsplus_module_10.write(c), fileName_1 + ":1427:49")));
1054
+ }
1055
+ /**
1056
+ * Creates a single-valued stream from a managed resource
1057
+ *
1058
+ * @tsplus static fncts.io.StreamOps scoped
1059
+ */
1060
+
1061
+
1062
+ function scoped_1(stream) {
1063
+ return new Stream(tsplus_module_10.scoped(() => tsplus_module_1.map_(stream, tsplus_module_18.single, fileName_1 + ":1436:46")));
1064
+ }
1065
+ /**
1066
+ * Creates a stream from an effect producing a value of type `A`
1067
+ *
1068
+ * @tsplus static fncts.io.StreamOps fromIO
1069
+ */
1070
+
1071
+
1072
+ function fromIO_1(fa) {
1073
+ return fromIOMaybe_1(tsplus_module_1.mapError_(fa, tsplus_module_3.just, fileName_1 + ":1445:40"));
1074
+ }
1075
+ /**
1076
+ * Creates a stream from an effect producing a value of type `A` or an empty Stream
1077
+ *
1078
+ * @tsplus static fncts.io.StreamOps fromIOMaybe
1079
+ */
1080
+
1081
+
1082
+ function fromIOMaybe_1(fa) {
1083
+ return new Stream(tsplus_module_10.unwrap(tsplus_module_1.match_(fa, maybeError => tsplus_module_16.match_(maybeError, () => tsplus_module_10.unit, tsplus_module_10.failNow), a => tsplus_module_10.writeNow(tsplus_module_18.single(a)), fileName_1 + ":1456:15")));
1084
+ }
1085
+
1086
+ function fromAsyncIterableLoop(iterator) {
1087
+ return tsplus_module_10.unwrap(tsplus_module_1.async(k => {
1088
+ iterator.next().then(result => result.done ? k(tsplus_module_1.succeedNow(tsplus_module_11.end(() => undefined), fileName_1 + ":1473:30")) : k(tsplus_module_1.succeedNow(tsplus_module_11.apSecond_(tsplus_module_10.writeNow(tsplus_module_18.single(result.value)), fromAsyncIterableLoop(iterator)), fileName_1 + ":1474:30")));
1089
+ }));
1090
+ }
1091
+ /**
1092
+ * @tsplus static fncts.io.StreamOps fromAsyncIterable
1093
+ */
1094
+
1095
+
1096
+ export function fromAsyncIterable(iterable) {
1097
+ return new Stream(fromAsyncIterableLoop(iterable[Symbol.asyncIterator]()));
1098
+ }
1099
+ /**
1100
+ * @tsplus static fncts.io.StreamOps fromIterable
1101
+ */
1102
+
1103
+ export function fromIterable(iterable, maxChunkSize = DEFAULT_CHUNK_SIZE) {
1104
+ return unwrap_1(tsplus_module_1.succeed(() => {
1105
+ const loop = iterator => tsplus_module_10.unwrap(tsplus_module_1.succeed(() => {
1106
+ let result = iterator.next();
1107
+
1108
+ if (result.done) {
1109
+ return tsplus_module_10.unit;
1110
+ }
1111
+
1112
+ if (maxChunkSize === 1) {
1113
+ return tsplus_module_11.apSecond_(tsplus_module_10.writeNow(tsplus_module_18.single(result.value)), loop(iterator));
1114
+ } else {
1115
+ const out = Array(maxChunkSize);
1116
+ out[0] = result.value;
1117
+ let count = 1;
1118
+
1119
+ while (count < maxChunkSize && !(result = iterator.next()).done) {
1120
+ out[count] = result.value;
1121
+ count++;
1122
+ }
1123
+
1124
+ return tsplus_module_11.apSecond_(tsplus_module_10.writeNow(tsplus_module_18.from(out)), loop(iterator));
1125
+ }
1126
+ }, fileName_1 + ":1495:21"));
1127
+
1128
+ return new Stream(loop(iterable[Symbol.iterator]()));
1129
+ }, fileName_1 + ":1492:15"));
1130
+ }
1131
+ /**
1132
+ * @tsplus static fncts.io.StreamOps fromIterableSingle
1133
+ */
1134
+
1135
+ export function fromIterableSingle(iterable) {
1136
+ return flatMap_1(fromIO_1(tsplus_module_1.succeed(() => iterable[Symbol.iterator](), fileName_1 + ":1523:34")), iterator => repeatIOMaybe_1(tsplus_module_1.defer(() => {
1137
+ const value = iterator.next();
1138
+
1139
+ if (value.done) {
1140
+ return tsplus_module_1.failNow(tsplus_module_3.nothing(), fileName_1 + ":1528:28");
1141
+ } else {
1142
+ return tsplus_module_1.succeedNow(value.value, fileName_1 + ":1530:31");
1143
+ }
1144
+ }, fileName_1 + ":1525:15")));
1145
+ }
1146
+ /**
1147
+ * @tsplus static fncts.io.StreamOps fromPull
1148
+ */
1149
+
1150
+ function fromPull_1(scopedPull) {
1151
+ return unwrapScoped_1(tsplus_module_1.map_(scopedPull, pull => repeatIOChunkMaybe_1(pull), fileName_1 + ":1541:44"));
1152
+ }
1153
+ /**
1154
+ * Creates a stream from a `Queue` of values
1155
+ *
1156
+ * @tsplus static fncts.io.StreamOps fromQueue
1157
+ */
1158
+
1159
+
1160
+ function fromQueue_1(queue, maxChunkSize = DEFAULT_CHUNK_SIZE) {
1161
+ return repeatIOChunkMaybe_1(tsplus_module_1.catchAllCause_(tsplus_module_1.map_(tsplus_module_52.takeBetween_(queue, 1, maxChunkSize), tsplus_module_18.from, fileName_1 + ":1556:11"), c => tsplus_module_1.flatMap_(tsplus_module_25.isShutdown(queue), down => {
1162
+ if (down && tsplus_module_15.interrupted(c)) {
1163
+ return tsplus_module_51.end;
1164
+ } else {
1165
+ return tsplus_module_51.failCause(c);
1166
+ }
1167
+ }, fileName_1 + ":1558:33"), fileName_1 + ":1557:21"));
1168
+ }
1169
+ /**
1170
+ * @tsplus static fncts.io.StreamOps fromQueueWithShutdown
1171
+ */
1172
+
1173
+
1174
+ function fromQueueWithShutdown_1(queue, maxChunkSize = DEFAULT_CHUNK_SIZE) {
1175
+ return ensuring_1(fromQueue_1(queue, maxChunkSize), tsplus_module_25.shutdown(queue));
1176
+ }
1177
+ /**
1178
+ * Halt a stream with the specified exception
1179
+ *
1180
+ * @tsplus static fncts.io.StreamOps haltNow
1181
+ */
1182
+
1183
+
1184
+ export function haltNow(u) {
1185
+ return new Stream(tsplus_module_10.halt(() => u));
1186
+ }
1187
+ /**
1188
+ * Halt a stream with the specified exception
1189
+ *
1190
+ * @tsplus static fncts.io.StreamOps halt
1191
+ */
1192
+
1193
+ function halt_1(u) {
1194
+ return new Stream(tsplus_module_10.halt(u));
1195
+ }
1196
+
1197
+ function haltWhenWriter(fiber) {
1198
+ return tsplus_module_10.unwrap(tsplus_module_1.map_(tsplus_module_47.poll(fiber), maybeExit => tsplus_module_16.match_(maybeExit, () => tsplus_module_10.readWith(i => tsplus_module_11.apSecond_(tsplus_module_10.writeNow(i), haltWhenWriter(fiber)), tsplus_module_10.failNow, () => tsplus_module_10.unit), exit => tsplus_module_32.match_(exit, tsplus_module_11.failCauseNow, () => tsplus_module_10.unit)), fileName_1 + ":1601:19"));
1199
+ }
1200
+ /**
1201
+ * Halts the evaluation of this stream when the provided IO completes. The
1202
+ * given IO will be forked as part of the returned stream, and its success
1203
+ * will be discarded.
1204
+ *
1205
+ * An element in the process of being pulled will not be interrupted when the
1206
+ * IO completes. See `interruptWhen` for this behavior.
1207
+ *
1208
+ * If the IO completes with a failure, the stream will emit that failure.
1209
+ *
1210
+ * @tsplus fluent fncts.io.Stream haltWhen
1211
+ */
1212
+
1213
+
1214
+ export function haltWhen_(fa, io) {
1215
+ return new Stream(tsplus_module_10.unwrapScoped(tsplus_module_1.map_(tsplus_module_21.forkScoped(io), fiber => tsplus_module_10.pipeTo_(fa.channel, haltWhenWriter(fiber)), fileName_1 + ":1628:59")));
1216
+ }
1217
+
1218
+ function haltWhenFutureWriter(future) {
1219
+ return tsplus_module_10.unwrap(tsplus_module_1.map_(tsplus_module_33.poll(future), maybeIO => tsplus_module_16.match_(maybeIO, () => tsplus_module_10.readWith(i => tsplus_module_11.apSecond_(tsplus_module_10.writeNow(i), haltWhenFutureWriter(future)), tsplus_module_10.failNow, () => tsplus_module_10.unit), io => tsplus_module_10.unwrap(tsplus_module_1.match_(io, tsplus_module_10.failNow, () => tsplus_module_10.unit, fileName_1 + ":1643:40"))), fileName_1 + ":1635:20"));
1220
+ }
1221
+ /**
1222
+ * Halts the evaluation of this stream when the provided promise resolves.
1223
+ *
1224
+ * If the promise completes with a failure, the stream will emit that failure.
1225
+ *
1226
+ * @tsplus fluent fncts.io.Stream haltWhen
1227
+ */
1228
+
1229
+
1230
+ export function haltWhenFuture_(fa, future) {
1231
+ return new Stream(tsplus_module_10.pipeTo_(fa.channel, haltWhenFutureWriter(future)));
1232
+ }
1233
+ /**
1234
+ * @tsplus fluent fncts.io.Stream interleave
1235
+ */
1236
+
1237
+ export function interleave_(sa, sb) {
1238
+ return interleaveWith_1(sa, sb, forever_1(fromChunk_1(() => tsplus_module_18.make(true, false))));
1239
+ }
1240
+
1241
+ function interleaveWithProducer(handoff) {
1242
+ return tsplus_module_10.readWithCause(value => tsplus_module_11.apSecond_(tsplus_module_10.fromIO(tsplus_module_5.offer(handoff, tsplus_module_24.single(value))), interleaveWithProducer(handoff)), cause => tsplus_module_10.fromIO(tsplus_module_5.offer(handoff, tsplus_module_24.failCause(cause))), () => tsplus_module_10.fromIO(tsplus_module_5.offer(handoff, tsplus_module_24.end)));
1243
+ }
1244
+ /**
1245
+ * Combines this stream and the specified stream deterministically using the
1246
+ * stream of boolean values `b` to control which stream to pull from next.
1247
+ * `true` indicates to pull from this stream and `false` indicates to pull
1248
+ * from the specified stream. Only consumes as many elements as requested by
1249
+ * `b`. If either this stream or the specified stream are exhausted further
1250
+ * requests for values from that stream will be ignored.
1251
+ *
1252
+ * @tsplus fluent fncts.io.Stream interleaveWith
1253
+ */
1254
+
1255
+
1256
+ function interleaveWith_1(sa, sb, b) {
1257
+ return new Stream(tsplus_module_10.unwrapScoped(tsplus_module_1.map_(tsplus_module_1.flatMap_(tsplus_module_5.make(), left => tsplus_module_1.flatMap_(tsplus_module_5.make(), right => tsplus_module_1.flatMap_(tsplus_module_1.fork(tsplus_module_23.runScoped(tsplus_module_10.pipeTo_(tsplus_module_10.concatMap_(sa.channel, tsplus_module_10.writeChunk), interleaveWithProducer(left)))), () => tsplus_module_1.map_(tsplus_module_1.fork(tsplus_module_23.runScoped(tsplus_module_10.pipeTo_(tsplus_module_10.concatMap_(sb.channel, tsplus_module_10.writeChunk), interleaveWithProducer(right)))), () => tuple(left, right)), fileName_1 + ":1698:10"), fileName_1 + ":1697:24"), fileName_1 + ":1696:24"), ([left, right]) => {
1258
+ const process = (leftDone, rightDone) => tsplus_module_10.readWithCause(b => {
1259
+ if (b && !leftDone) {
1260
+ return tsplus_module_11.flatMap_(tsplus_module_10.fromIO(tsplus_module_5.take(left)), take => tsplus_module_24.match_(take, rightDone ? tsplus_module_10.unit : process(true, rightDone), tsplus_module_11.failCauseNow, chunk => tsplus_module_11.apSecond_(tsplus_module_10.writeNow(chunk), process(leftDone, rightDone))));
1261
+ }
1262
+
1263
+ if (!b && !rightDone) {
1264
+ return tsplus_module_11.flatMap_(tsplus_module_10.fromIO(tsplus_module_5.take(right)), take => tsplus_module_24.match_(take, leftDone ? tsplus_module_10.unit : process(leftDone, true), tsplus_module_11.failCauseNow, chunk => tsplus_module_11.apSecond_(tsplus_module_10.writeNow(chunk), process(leftDone, rightDone))));
1265
+ }
1266
+
1267
+ return process(leftDone, rightDone);
1268
+ }, tsplus_module_11.failCauseNow, () => tsplus_module_10.unit);
1269
+
1270
+ return tsplus_module_10.pipeTo_(tsplus_module_10.concatMap_(b.channel, tsplus_module_10.writeChunk), process(false, false));
1271
+ }, fileName_1 + ":1701:13")));
1272
+ }
1273
+
1274
+ function intersperseWriter(middle, isFirst) {
1275
+ return tsplus_module_10.readWith(inp => {
1276
+ const builder = tsplus_module_12.builder();
1277
+ let flagResult = isFirst;
1278
+ tsplus_module_12.forEach_(inp, a => {
1279
+ if (flagResult) {
1280
+ flagResult = false;
1281
+ builder.append(a);
1282
+ } else {
1283
+ builder.append(middle);
1284
+ builder.append(a);
1285
+ }
1286
+ });
1287
+ return tsplus_module_11.apSecond_(tsplus_module_10.writeNow(builder.result()), intersperseWriter(middle, flagResult));
1288
+ }, tsplus_module_10.failNow, () => tsplus_module_10.unit);
1289
+ }
1290
+ /**
1291
+ * Intersperse stream with provided element
1292
+ */
1293
+
1294
+
1295
+ export function intersperse_(stream, middle) {
1296
+ return new Stream(tsplus_module_10.pipeTo_(stream.channel, intersperseWriter(middle, true)));
1297
+ }
1298
+ /**
1299
+ * Interrupts the evaluation of this stream when the provided IO completes. The given
1300
+ * IO will be forked as part of this stream, and its success will be discarded. This
1301
+ * combinator will also interrupt any in-progress element being pulled from upstream.
1302
+ *
1303
+ * If the IO completes with a failure before the stream completes, the returned stream
1304
+ * will emit that failure.
1305
+ *
1306
+ * @tsplus fluent fncts.io.Stream interruptWhen
1307
+ */
1308
+
1309
+ export function interruptWhen_(stream, io) {
1310
+ return new Stream(tsplus_module_53.interruptWhen_(stream.channel, io));
1311
+ }
1312
+ /**
1313
+ * @tsplus fluent fncts.io.Stream interruptWhen
1314
+ */
1315
+
1316
+ export function interruptWhenFuture_(fa, future) {
1317
+ return new Stream(tsplus_module_53.interruptWhenFuture_(fa.channel, future));
1318
+ }
1319
+ /**
1320
+ * Loops over the stream chunks concatenating the result of f
1321
+ *
1322
+ * @tsplus fluent fncts.io.Stream loopOnChunks
1323
+ */
1324
+
1325
+ function loopOnChunks_1(stream, f) {
1326
+ const loop = tsplus_module_10.readWithCause(chunk => tsplus_module_11.flatMap_(f(chunk), cont => cont ? loop : tsplus_module_11.endNow(false)), tsplus_module_11.failCauseNow, _ => tsplus_module_11.succeedNow(false));
1327
+ return new Stream(tsplus_module_10.pipeTo_(stream.channel, loop));
1328
+ }
1329
+ /**
1330
+ * Loops on chunks emitting partially
1331
+ *
1332
+ * @tsplus fluent fncts.io.Stream loopOnPartialChunks
1333
+ */
1334
+
1335
+
1336
+ function loopOnPartialChunks_1(stream, f) {
1337
+ return loopOnChunks_1(stream, chunk => tsplus_module_10.unwrap(tsplus_module_1.defer(() => {
1338
+ let outputChunk = tsplus_module_7.empty();
1339
+ return tsplus_module_1.catchAll_(tsplus_module_1.map_(f(chunk, a => tsplus_module_1.succeed(() => {
1340
+ outputChunk = tsplus_module_12.append_(outputChunk, a);
1341
+ }, fileName_1 + ":1822:21")), cont => tsplus_module_11.apSecond_(tsplus_module_10.write(() => outputChunk), tsplus_module_11.endNow(cont)), fileName_1 + ":1826:15"), failure => tsplus_module_1.succeed(() => {
1342
+ if (tsplus_module_12.isEmpty(outputChunk)) {
1343
+ return tsplus_module_10.failNow(failure);
1344
+ } else {
1345
+ return tsplus_module_11.apSecond_(tsplus_module_10.writeNow(outputChunk), tsplus_module_10.failNow(failure));
1346
+ }
1347
+ }, fileName_1 + ":1828:23"), fileName_1 + ":1827:20");
1348
+ }, fileName_1 + ":1819:15")));
1349
+ }
1350
+ /**
1351
+ * Loops on chunks elements emitting partially
1352
+ *
1353
+ * @tsplus fluent fncts.io.Stream loopOnPartialChunksElements
1354
+ */
1355
+
1356
+
1357
+ function loopOnPartialChunksElements_1(stream, f) {
1358
+ return loopOnPartialChunks_1(stream, (as, emit) => tsplus_module_1.as_(tsplus_module_54.mapIO_(as, a => f(a, emit)), () => true));
1359
+ }
1360
+ /**
1361
+ * Transforms the elements of this stream using the supplied function.
1362
+ *
1363
+ * @tsplus fluent fncts.io.Stream map
1364
+ */
1365
+
1366
+
1367
+ function map_1(stream, f) {
1368
+ return new Stream(tsplus_module_10.mapOut_(stream.channel, as => tsplus_module_12.map_(as, f)));
1369
+ }
1370
+
1371
+ function mapAccumAccumulator(currS, f) {
1372
+ return tsplus_module_10.readWith(inp => {
1373
+ const [bs, nextS] = tsplus_module_12.mapAccum_(inp, currS, f);
1374
+ return tsplus_module_11.apSecond_(tsplus_module_10.writeNow(bs), mapAccumAccumulator(nextS, f));
1375
+ }, tsplus_module_10.failNow, () => tsplus_module_10.unit);
1376
+ }
1377
+ /**
1378
+ * Statefully maps over the elements of this stream to produce new elements.
1379
+ *
1380
+ * @tsplus fluent fncts.io.Stream mapAccum
1381
+ */
1382
+
1383
+
1384
+ export function mapAccum_(stream, s, f) {
1385
+ return new Stream(tsplus_module_10.pipeTo_(stream.channel, mapAccumAccumulator(s, f)));
1386
+ }
1387
+
1388
+ function mapAccumIOAccumulator(s, f) {
1389
+ return tsplus_module_10.readWith(inp => tsplus_module_10.unwrap(tsplus_module_1.defer(() => {
1390
+ const outputChunk = tsplus_module_12.builder();
1391
+
1392
+ const emit = b => tsplus_module_1.succeed(() => {
1393
+ outputChunk.append(b);
1394
+ }, fileName_1 + ":1899:23");
1395
+
1396
+ return tsplus_module_1.match_(tsplus_module_1.foldLeft_(inp, s, (s1, a) => tsplus_module_1.flatMap_(f(s1, a), ([b, s2]) => tsplus_module_1.as_(emit(b), () => s2), fileName_1 + ":1902:65"), fileName_1 + ":1902:29"), e => {
1397
+ const partialResult = outputChunk.result();
1398
+ return tsplus_module_12.isNonEmpty(partialResult) ? tsplus_module_11.apSecond_(tsplus_module_10.writeNow(partialResult), tsplus_module_10.failNow(e)) : tsplus_module_10.failNow(e);
1399
+ }, s => tsplus_module_11.apSecond_(tsplus_module_10.writeNow(outputChunk.result()), mapAccumIOAccumulator(s, f)), fileName_1 + ":1902:101");
1400
+ }, fileName_1 + ":1896:17")), tsplus_module_10.failNow, () => tsplus_module_10.unit);
1401
+ }
1402
+ /**
1403
+ * Statefully and effectfully maps over the elements of this stream to produce
1404
+ * new elements.
1405
+ *
1406
+ * @tsplus fluent fncts.io.Stream mapAccumIO
1407
+ */
1408
+
1409
+
1410
+ function mapAccumIO_1(stream, s, f) {
1411
+ return new Stream(tsplus_module_10.pipeTo_(stream.channel, mapAccumIOAccumulator(s, f)));
1412
+ }
1413
+ /**
1414
+ * Transforms the chunks emitted by this stream.
1415
+ *
1416
+ * @tsplus fluent fncts.io.Stream mapChunks
1417
+ */
1418
+
1419
+
1420
+ function mapChunks_1(stream, f) {
1421
+ return new Stream(tsplus_module_10.mapOut_(stream.channel, f));
1422
+ }
1423
+ /**
1424
+ * Effectfully transforms the chunks emitted by this stream.
1425
+ *
1426
+ * @tsplus fluent fncts.io.Stream mapChunksIO
1427
+ */
1428
+
1429
+
1430
+ export function mapChunksIO_(stream, f) {
1431
+ return new Stream(tsplus_module_10.mapOutIO_(stream.channel, f));
1432
+ }
1433
+ /**
1434
+ * Maps each element to an iterable, and flattens the iterables into the
1435
+ * output of this stream.
1436
+ *
1437
+ * @tsplus fluent fncts.io.Stream mapConcat
1438
+ */
1439
+
1440
+ export function mapConcat_(stream, f) {
1441
+ return mapConcatChunk_1(stream, a => tsplus_module_18.from(f(a)));
1442
+ }
1443
+ /**
1444
+ * Maps each element to a chunk, and flattens the chunks into the output of
1445
+ * this stream.
1446
+ *
1447
+ * @tsplus fluent fncts.io.Stream mapConcatChunk
1448
+ */
1449
+
1450
+ function mapConcatChunk_1(stream, f) {
1451
+ return mapChunks_1(stream, c => tsplus_module_12.flatMap_(c, f));
1452
+ }
1453
+ /**
1454
+ * Effectfully maps each element to a chunk, and flattens the chunks into
1455
+ * the output of this stream.
1456
+ *
1457
+ * @tsplus fluent fncts.io.Stream mapConcatChunkIO
1458
+ */
1459
+
1460
+
1461
+ export function mapConcatChunkIO_(stream, f) {
1462
+ return mapConcatChunk_1(mapIO_1(stream, f), identity);
1463
+ }
1464
+ /**
1465
+ * Effectfully maps each element to an iterable, and flattens the iterables into
1466
+ * the output of this stream.
1467
+ *
1468
+ * @tsplus fluent fncts.io.Stream mapConcatIO
1469
+ */
1470
+
1471
+ export function mapConcatIO_(stream, f) {
1472
+ return mapConcatChunk_1(mapIO_1(stream, a => tsplus_module_1.map_(f(a), tsplus_module_18.from, fileName_1 + ":1996:38")), identity);
1473
+ }
1474
+ /**
1475
+ * Transforms the errors emitted by this stream using `f`.
1476
+ *
1477
+ * @tsplus fluent fncts.io.Stream mapError
1478
+ */
1479
+
1480
+ function mapError_1(stream, f) {
1481
+ return new Stream(tsplus_module_10.mapError_(stream.channel, f));
1482
+ }
1483
+ /**
1484
+ * Transforms the full causes of failures emitted by this stream.
1485
+ *
1486
+ * @tsplus fluent fncts.io.Stream mapErrorCause
1487
+ */
1488
+
1489
+
1490
+ export function mapErrorCause_(fa, f) {
1491
+ return new Stream(tsplus_module_10.mapErrorCause_(fa.channel, f));
1492
+ }
1493
+ /**
1494
+ * Maps over elements of the stream with the specified effectful function.
1495
+ *
1496
+ * @tsplus fluent fncts.io.Stream mapIO
1497
+ */
1498
+
1499
+ function mapIO_1(stream, f) {
1500
+ return loopOnPartialChunksElements_1(stream, (a, emit) => tsplus_module_1.flatMap_(f(a), emit, fileName_1 + ":2026:70"));
1501
+ }
1502
+ /**
1503
+ * Maps over elements of the stream with the specified effectful function,
1504
+ * executing up to `n` invocations of `f` concurrently. Transformed elements
1505
+ * will be emitted in the original order.
1506
+ *
1507
+ * @note This combinator destroys the chunking structure. It's recommended to use chunkN afterwards.
1508
+ *
1509
+ * @tsplus fluent fncts.io.Stream mapIOC
1510
+ */
1511
+
1512
+
1513
+ export function mapIOC_(stream, n, f) {
1514
+ return new Stream(tsplus_module_10.mapOut_(tsplus_module_55.mapOutIOC_(tsplus_module_10.concatMap_(stream.channel, tsplus_module_10.writeChunk), n, f), tsplus_module_18.single));
1515
+ }
1516
+ /**
1517
+ * Maps each element of this stream to another stream and returns the
1518
+ * non-deterministic merge of those streams, executing up to `n` inner streams
1519
+ * concurrently. Up to `bufferSize` elements of the produced streams may be
1520
+ * buffered in memory by this operator.
1521
+ *
1522
+ * @tsplus fluent fncts.io.Stream mergeMap
1523
+ */
1524
+
1525
+ function mergeMap_1(ma, f, n, bufferSize = 16) {
1526
+ return new Stream(tsplus_module_56.mergeMap_(tsplus_module_10.concatMap_(ma.channel, tsplus_module_10.writeChunk), a => f(a).channel, n, bufferSize));
1527
+ }
1528
+ /**
1529
+ * Maps over elements of the stream with the specified effectful function,
1530
+ * executing up to `n` invocations of `f` concurrently. The element order
1531
+ * is not enforced by this combinator, and elements may be reordered.
1532
+ *
1533
+ * @tsplus fluent fncts.io.Stream mergeMapIO
1534
+ */
1535
+
1536
+
1537
+ export function mergeMapIO_(stream, f, n, bufferSize = 16) {
1538
+ return mergeMap_1(stream, a => fromIO_1(f(a)), n, bufferSize);
1539
+ }
1540
+ /**
1541
+ * @tsplus fluent fncts.io.Stream mergeEither
1542
+ */
1543
+
1544
+ function mergeEither_1(fa, fb) {
1545
+ return mergeWith_1(fa, fb, tsplus_module_17.left, tsplus_module_17.right);
1546
+ }
1547
+
1548
+ export function mergeWithHandler(terminate) {
1549
+ return exit => terminate || !tsplus_module_50.isSuccess(exit) ? tsplus_module_57.done(tsplus_module_1.fromExitNow(exit, fileName_1 + ":2093:71")) : tsplus_module_57.wait(tsplus_module_1.fromExitNow);
1550
+ }
1551
+ /**
1552
+ * @tsplus fluent fncts.io.Stream mergeWith
1553
+ */
1554
+
1555
+ function mergeWith_1(sa, sb, l, r, strategy = "Both") {
1556
+ return new Stream(tsplus_module_58.mergeWith_(map_1(sa, l).channel, map_1(sb, r).channel, mergeWithHandler(strategy === "Either" || strategy === "Left"), mergeWithHandler(strategy === "Either" || strategy === "Right")));
1557
+ }
1558
+ /**
1559
+ * Runs the specified effect if this stream fails, providing the error to the effect if it exists.
1560
+ *
1561
+ * Note: Unlike `IO.onError`, there is no guarantee that the provided effect will not be interrupted.
1562
+ *
1563
+ * @tsplus fluent fncts.io.Stream onError
1564
+ */
1565
+
1566
+
1567
+ export function onError_(stream, cleanup) {
1568
+ return catchAllCause_1(stream, cause => fromIO_1(tsplus_module_1.apSecond_(cleanup(cause), tsplus_module_1.failCauseNow(cause, fileName_1 + ":2130:88"), fileName_1 + ":2130:72")));
1569
+ }
1570
+ /**
1571
+ * Switches to the provided stream in case this one fails with a typed error.
1572
+ *
1573
+ * See also Stream#catchAll
1574
+ *
1575
+ * @tsplus fluent fncts.io.Stream orElse
1576
+ */
1577
+
1578
+ function orElse_1(stream, that) {
1579
+ return new Stream(tsplus_module_10.orElse_(stream.channel, that().channel));
1580
+ }
1581
+ /**
1582
+ * Switches to the provided stream in case this one fails with a typed error.
1583
+ *
1584
+ * See also ZStream#catchAll
1585
+ *
1586
+ * @tsplus fluent fncts.io.Stream orElseEither
1587
+ */
1588
+
1589
+
1590
+ export function orElseEither_(stream, that) {
1591
+ return orElse_1(map_1(stream, tsplus_module_17.left), () => map_1(that(), tsplus_module_17.right));
1592
+ }
1593
+ /**
1594
+ * Fails with given error in case this one fails with a typed error.
1595
+ *
1596
+ * See also Stream#catchAll
1597
+ *
1598
+ * @tsplus fluent fncts.io.Stream orElseFail
1599
+ */
1600
+
1601
+ export function orElseFail_(stream, e) {
1602
+ return orElse_1(stream, () => failNow_1(e()));
1603
+ }
1604
+ /**
1605
+ * Switches to the provided stream in case this one fails with the `None` value.
1606
+ *
1607
+ * See also Stream#catchAll.
1608
+ */
1609
+
1610
+ export function orElseOptional_(stream, that) {
1611
+ return catchAll_1(stream, maybeError => tsplus_module_16.match_(maybeError, () => that(), e => failNow_1(tsplus_module_3.just(e))));
1612
+ }
1613
+ /**
1614
+ * Succeeds with the specified value if this one fails with a typed error.
1615
+ *
1616
+ * @tsplus fluent fncts.io.Stream orElseSucceed
1617
+ */
1618
+
1619
+ export function orElseSucceed_(stream, a) {
1620
+ return orElse_1(stream, () => succeedNow_1(a()));
1621
+ }
1622
+ /**
1623
+ * @tsplus fluent fncts.io.Stream pipeThrough
1624
+ */
1625
+
1626
+ function pipeThrough_1(ma, sa) {
1627
+ return new Stream(tsplus_module_10.pipeToOrFail_(ma.channel, sa.channel));
1628
+ }
1629
+ /**
1630
+ * Provides the stream with its required environment, which eliminates
1631
+ * its dependency on `R`.
1632
+ *
1633
+ * @tsplus fluent fncts.io.Stream provideEnvironment
1634
+ */
1635
+
1636
+
1637
+ function provideEnvironment_1(ra, r) {
1638
+ return new Stream(tsplus_module_10.provideEnvironment_(ra.channel, r));
1639
+ }
1640
+ /**
1641
+ * @tsplus fluent fncts.io.Stream provideLayer
1642
+ */
1643
+
1644
+
1645
+ function provideLayer_1(self, layer, __tsplusTrace) {
1646
+ return new Stream(tsplus_module_10.unwrapScoped(tsplus_module_1.map_(tsplus_module_59.build(layer), r => tsplus_module_10.provideEnvironment_(self.channel, r), __tsplusTrace)));
1647
+ }
1648
+ /**
1649
+ * @tsplus fluent fncts.io.Stream provideSomeLayer
1650
+ */
1651
+
1652
+
1653
+ export function provideSomeLayer_(self, layer, __tsplusTrace) {
1654
+ // @ts-expect-error
1655
+ return provideLayer_1(self, tsplus_module_60.and_(tsplus_module_60.environment(), layer), __tsplusTrace);
1656
+ }
1657
+
1658
+ class Rechunker {
1659
+ constructor(n) {
1660
+ this.n = n;
1661
+ this.builder = [];
1662
+ this.pos = 0;
1663
+ }
1664
+
1665
+ write(elem) {
1666
+ this.builder.push(elem);
1667
+ this.pos += 1;
1668
+
1669
+ if (this.pos === this.n) {
1670
+ const result = this.builder;
1671
+ this.builder = [];
1672
+ this.pos = 0;
1673
+ return tsplus_module_18.from(result);
1674
+ }
1675
+
1676
+ return null;
1677
+ }
1678
+
1679
+ emitOfNotEmpty() {
1680
+ if (this.pos !== 0) {
1681
+ return tsplus_module_10.writeNow(tsplus_module_18.from(this.builder));
1682
+ } else {
1683
+ return tsplus_module_10.unit;
1684
+ }
1685
+ }
1686
+
1687
+ get isEmpty() {
1688
+ return this.pos === 0;
1689
+ }
1690
+
1691
+ }
1692
+
1693
+ function rechunkProcess(rechunker, target) {
1694
+ return tsplus_module_10.readWithCause(chunk => {
1695
+ if (chunk.length === target && rechunker.isEmpty) {
1696
+ return tsplus_module_11.apSecond_(tsplus_module_10.writeNow(chunk), rechunkProcess(rechunker, target));
1697
+ } else if (chunk.length > 0) {
1698
+ const chunks = [];
1699
+ let result = null;
1700
+ let i = 0;
1701
+
1702
+ while (i < chunk.length) {
1703
+ while (i < chunk.length && result === null) {
1704
+ result = rechunker.write(tsplus_module_12.unsafeGet_(chunk, i));
1705
+ i += 1;
1706
+ }
1707
+
1708
+ if (result !== null) {
1709
+ chunks.push(result);
1710
+ result = null;
1711
+ }
1712
+ }
1713
+
1714
+ return tsplus_module_11.apSecond_(tsplus_module_10.writeAll(chunks), rechunkProcess(rechunker, target));
1715
+ } else {
1716
+ return rechunkProcess(rechunker, target);
1717
+ }
1718
+ }, cause => tsplus_module_11.apSecond_(rechunker.emitOfNotEmpty(), tsplus_module_11.failCauseNow(cause)), () => rechunker.emitOfNotEmpty());
1719
+ }
1720
+ /**
1721
+ * Re-chunks the elements of the stream into chunks of
1722
+ * `n` elements each.
1723
+ * The last chunk might contain less than `n` elements
1724
+ *
1725
+ * @tsplus fluent fncts.io.Stream rechunk
1726
+ */
1727
+
1728
+
1729
+ export function rechunk_(stream, n) {
1730
+ return new Stream(tsplus_module_10.pipeTo_(stream.channel, rechunkProcess(new Rechunker(n), n)));
1731
+ }
1732
+ /**
1733
+ * Repeats the provided value infinitely.
1734
+ *
1735
+ * @tsplus static fncts.io.StreamOps repeatValue
1736
+ */
1737
+
1738
+ export function repeatValue(a) {
1739
+ return new Stream(tsplus_module_10.repeated(tsplus_module_10.writeNow(tsplus_module_18.single(a))));
1740
+ }
1741
+ /**
1742
+ * Creates a stream from an effect producing a value of type `A` which repeats forever.
1743
+ *
1744
+ * @tsplus static fncts.io.StreamOps repeatIO
1745
+ */
1746
+
1747
+ export function repeatIO(fa) {
1748
+ return repeatIOMaybe_1(tsplus_module_1.mapError_(fa, tsplus_module_3.just, fileName_1 + ":2335:42"));
1749
+ }
1750
+ /**
1751
+ * Creates a stream from an effect producing values of type `A` until it fails with None.
1752
+ *
1753
+ * @tsplus static fncts.io.StreamOps repeatIOMaybe
1754
+ */
1755
+
1756
+ function repeatIOMaybe_1(fa) {
1757
+ return repeatIOChunkMaybe_1(tsplus_module_1.map_(fa, tsplus_module_18.single, fileName_1 + ":2344:35"));
1758
+ }
1759
+ /**
1760
+ * Creates a stream from an effect producing chunks of `A` values which repeats forever.
1761
+ *
1762
+ * @tsplus static fncts.io.StreamOps repeatIOChunk
1763
+ */
1764
+
1765
+
1766
+ export function repeatIOChunk(fa) {
1767
+ return repeatIOChunkMaybe_1(tsplus_module_1.mapError_(fa, tsplus_module_3.just, fileName_1 + ":2353:40"));
1768
+ }
1769
+ /**
1770
+ * Creates a stream from an effect producing chunks of `A` values until it fails with None.
1771
+ *
1772
+ * @tsplus static fncts.io.StreamOps repeatIOChunkMaybe
1773
+ */
1774
+
1775
+ function repeatIOChunkMaybe_1(fa) {
1776
+ return unfoldChunkIO_1(undefined, _ => tsplus_module_1.catchAll_(tsplus_module_1.map_(fa, chunk => tsplus_module_3.just(tuple(chunk, undefined)), fileName_1 + ":2364:11"), maybeError => tsplus_module_16.match_(maybeError, () => tsplus_module_1.succeedNow(tsplus_module_3.nothing(), fileName_1 + ":2365:69"), tsplus_module_1.failNow), fileName_1 + ":2365:16"));
1777
+ }
1778
+ /**
1779
+ * Runs the sink on the stream to produce either the sink's result or an error.
1780
+ *
1781
+ * @tsplus fluent fncts.io.Stream run
1782
+ */
1783
+
1784
+
1785
+ function run_1(stream, sink) {
1786
+ return tsplus_module_61.runDrain(tsplus_module_10.pipeToOrFail_(stream.channel, sink.channel));
1787
+ }
1788
+ /**
1789
+ * Runs the stream and collects all of its elements to a chunk.
1790
+ *
1791
+ * @tsplus getter fncts.io.Stream runCollect
1792
+ */
1793
+
1794
+
1795
+ export function runCollect(stream) {
1796
+ return run_1(stream, tsplus_module_45.collectAll());
1797
+ }
1798
+ /**
1799
+ * Runs the stream and collects ignore its elements.
1800
+ *
1801
+ * @tsplus getter fncts.io.Stream runDrain
1802
+ */
1803
+
1804
+ export function runDrain(stream) {
1805
+ return run_1(stream, tsplus_module_45.drain);
1806
+ }
1807
+ /**
1808
+ * @tsplus fluent fncts.io.Stream runForeachScoped
1809
+ */
1810
+
1811
+ function runForeachScoped_1(self, f) {
1812
+ return runScoped_1(self, tsplus_module_45.foreach(f));
1813
+ }
1814
+ /**
1815
+ * Like `into`, but provides the result as a `Managed` to allow for scope
1816
+ * composition.
1817
+ *
1818
+ * @tsplus fluent fncts.io.Stream runIntoElementsScoped
1819
+ */
1820
+
1821
+
1822
+ function runIntoElementsScoped_1(stream, queue) {
1823
+ const writer = tsplus_module_10.readWith(inp => tsplus_module_11.apSecond_(tsplus_module_12.foldLeft_(inp, tsplus_module_10.unit, (channel, a) => tsplus_module_11.apSecond_(channel, tsplus_module_10.writeNow(tsplus_module_37.succeed(a)))), writer), err => tsplus_module_10.writeNow(tsplus_module_37.fail(tsplus_module_3.just(err))), () => tsplus_module_10.writeNow(tsplus_module_37.fail(tsplus_module_3.nothing())));
1824
+ return tsplus_module_1.asUnit(tsplus_module_23.runScoped(tsplus_module_10.drain(tsplus_module_10.mapOutIO_(tsplus_module_10.pipeTo_(stream.channel, writer), exit => tsplus_module_25.offer_(queue, exit)))));
1825
+ }
1826
+ /**
1827
+ * Like `Stream#into`, but provides the result as a `Managed` to allow for scope
1828
+ * composition.
1829
+ *
1830
+ * @tsplus fluent fncts.io.Stream runIntoQueueScoped
1831
+ */
1832
+
1833
+
1834
+ function runIntoQueueScoped_1(stream, queue) {
1835
+ const writer = tsplus_module_10.readWithCause(inp => tsplus_module_11.apSecond_(tsplus_module_10.writeNow(tsplus_module_24.chunk(inp)), writer), cause => tsplus_module_10.writeNow(tsplus_module_24.failCause(cause)), _ => tsplus_module_10.writeNow(tsplus_module_24.end));
1836
+ return tsplus_module_1.asUnit(tsplus_module_23.runScoped(tsplus_module_10.drain(tsplus_module_10.mapOutIO_(tsplus_module_10.pipeTo_(stream.channel, writer), take => tsplus_module_25.offer_(queue, take)))));
1837
+ }
1838
+ /**
1839
+ * Like `Stream#runIntoHub`, but provides the result as a `Managed` to allow for scope
1840
+ * composition.
1841
+ *
1842
+ * @tsplus fluent fncts.io.Stream runIntoHubScoped
1843
+ */
1844
+
1845
+
1846
+ function runIntoHubScoped_1(stream, hub) {
1847
+ return runIntoQueueScoped_1(stream, tsplus_module_30.toQueue(hub));
1848
+ }
1849
+ /**
1850
+ * Runs the sink on the stream to produce either the sink's result or an error.
1851
+ *
1852
+ * @tsplus fluent fncts.io.Stream runScoped
1853
+ */
1854
+
1855
+
1856
+ function runScoped_1(stream, sink) {
1857
+ return tsplus_module_23.runScoped(tsplus_module_10.drain(tsplus_module_10.pipeToOrFail_(stream.channel, sink.channel)));
1858
+ }
1859
+ /**
1860
+ * Statefully maps over the elements of this stream to produce all intermediate results
1861
+ * of type `B` given an initial B.
1862
+ *
1863
+ * @tsplus fluent fncts.io.Stream scan
1864
+ */
1865
+
1866
+
1867
+ export function scan_(sa, b, f) {
1868
+ return scanIO_1(sa, b, (b, a) => tsplus_module_1.succeedNow(f(b, a), fileName_1 + ":2484:46"));
1869
+ }
1870
+ /**
1871
+ * Statefully and effectfully maps over the elements of this stream to produce all
1872
+ * intermediate results of type `B` given an initial B.
1873
+ *
1874
+ * @tsplus fluent fncts.io.Stream scanIO
1875
+ */
1876
+
1877
+ function scanIO_1(sa, b, f) {
1878
+ return concat_1(succeedNow_1(b), mapAccumIO_1(sa, b, (b, a) => tsplus_module_1.map_(f(b, a), b => [b, b], fileName_1 + ":2498:76")));
1879
+ }
1880
+ /**
1881
+ * Statefully maps over the elements of this stream to produce all
1882
+ * intermediate results.
1883
+ *
1884
+ * @tsplus fluent fncts.io.Stream scanReduce
1885
+ */
1886
+
1887
+
1888
+ export function scanReduce_(fa, f) {
1889
+ return scanReduceIO_1(fa, (b, a) => tsplus_module_1.succeedNow(f(b, a), fileName_1 + ":2508:49"));
1890
+ }
1891
+ /**
1892
+ * Statefully and effectfully maps over the elements of this stream to produce
1893
+ * all intermediate results.
1894
+ *
1895
+ * @tsplus fluent fncts.io.Stream scanReduceIO
1896
+ */
1897
+
1898
+ function scanReduceIO_1(fa, f) {
1899
+ return mapAccumIO_1(fa, tsplus_module_3.nothing(), (s, a) => tsplus_module_16.match_(s, () => tsplus_module_1.succeedNow([a, tsplus_module_3.just(a)], fileName_1 + ":2523:26"), b => tsplus_module_1.map_(f(b, a), b => [b, tsplus_module_3.just(b)], fileName_1 + ":2524:25")));
1900
+ }
1901
+ /**
1902
+ * Creates a single-valued pure stream
1903
+ *
1904
+ * @tsplus static fncts.io.StreamOps succeedNow
1905
+ */
1906
+
1907
+
1908
+ function succeedNow_1(o) {
1909
+ return fromChunkNow_1(tsplus_module_18.single(o));
1910
+ }
1911
+ /**
1912
+ * Creates a single-valued pure stream
1913
+ *
1914
+ * @tsplus static fncts.io.StreamOps succeed
1915
+ */
1916
+
1917
+
1918
+ export function succeed(a) {
1919
+ return fromChunk_1(() => tsplus_module_18.single(a()));
1920
+ }
1921
+
1922
+ function takeLoop(n) {
1923
+ return tsplus_module_10.readWithCause(inp => {
1924
+ const taken = tsplus_module_12.take_(inp, n);
1925
+ const left = Math.max(n - taken.length, 0);
1926
+
1927
+ if (left > 0) {
1928
+ return tsplus_module_11.apSecond_(tsplus_module_10.writeNow(taken), takeLoop(left));
1929
+ } else {
1930
+ return tsplus_module_10.writeNow(taken);
1931
+ }
1932
+ }, tsplus_module_11.failCauseNow, tsplus_module_11.endNow);
1933
+ }
1934
+ /**
1935
+ * Takes the specified number of elements from this stream.
1936
+ *
1937
+ * @tsplus fluent fncts.io.Stream take
1938
+ */
1939
+
1940
+
1941
+ export function take_(stream, n) {
1942
+ if (n <= 0) {
1943
+ return empty_1;
1944
+ }
1945
+
1946
+ if (!Number.isInteger(n)) {
1947
+ return halt_1(() => new tsplus_module_62.IllegalArgumentError(`${n} should be an integer`, "Stream.take"));
1948
+ }
1949
+
1950
+ return new Stream(tsplus_module_10.pipeTo_(stream.channel, takeLoop(n)));
1951
+ }
1952
+ /**
1953
+ * @tsplus fluent fncts.io.Stream takeUntilIO
1954
+ */
1955
+
1956
+ export function takeUntilIO_(ma, f) {
1957
+ return loopOnPartialChunks_1(ma, (chunk, emit) => tsplus_module_1.map_(tsplus_module_63.takeWhileIO_(chunk, v => tsplus_module_1.apSecond_(emit(v), tsplus_module_1.map_(f(v), b => !b, fileName_1 + ":2587:52"), fileName_1 + ":2587:43")), taken => tsplus_module_12.isEmpty(tsplus_module_12.take_(tsplus_module_12.drop_(taken, taken.length), 1)), fileName_1 + ":2588:11"));
1958
+ }
1959
+
1960
+ function takeUntilLoop(p) {
1961
+ return tsplus_module_10.readWith(chunk => {
1962
+ const taken = tsplus_module_12.takeWhile_(chunk, tsplus_module_46.invert(p));
1963
+ const last = tsplus_module_12.take_(tsplus_module_12.drop_(chunk, taken.length), 1);
1964
+
1965
+ if (tsplus_module_12.isEmpty(last)) {
1966
+ return tsplus_module_11.apSecond_(tsplus_module_10.writeNow(taken), takeUntilLoop(p));
1967
+ } else {
1968
+ return tsplus_module_10.writeNow(tsplus_module_12.concat_(taken, last));
1969
+ }
1970
+ }, tsplus_module_10.failNow, tsplus_module_11.succeedNow);
1971
+ }
1972
+ /**
1973
+ * Takes all elements of the stream until the specified predicate evaluates
1974
+ * to `true`.
1975
+ *
1976
+ * @tsplus fluent fncts.io.Stream takeUntil
1977
+ */
1978
+
1979
+
1980
+ export function takeUntil_(fa, p) {
1981
+ return new Stream(tsplus_module_10.pipeTo_(fa.channel, takeUntilLoop(p)));
1982
+ }
1983
+ /**
1984
+ * @tsplus fluent fncts.io.Stream tap
1985
+ */
1986
+
1987
+ export function tap_(ma, f) {
1988
+ return mapIO_1(ma, a => tsplus_module_1.as_(f(a), () => a));
1989
+ }
1990
+ /**
1991
+ * Throttles the chunks of this stream according to the given bandwidth parameters using the token bucket
1992
+ * algorithm. Allows for burst in the processing of elements by allowing the token bucket to accumulate
1993
+ * tokens up to a `units + burst` threshold. Chunks that do not meet the bandwidth constraints are dropped.
1994
+ * The weight of each chunk is determined by the `costFn` function.
1995
+ *
1996
+ * @tsplus fluent fncts.io.Stream throttleEnforce
1997
+ */
1998
+
1999
+ export function throttleEnforce_(sa, costFn, units, duration, burst = 0) {
2000
+ return throttleEnforceIO_1(sa, chunk => tsplus_module_1.succeedNow(costFn(chunk), fileName_1 + ":2640:55"), units, duration, burst);
2001
+ }
2002
+
2003
+ function throttleEnforceIOLoop(costFn, units, duration, burst, tokens, timestamp) {
2004
+ return tsplus_module_10.readWith(inp => tsplus_module_10.unwrap(tsplus_module_1.zipWith_(costFn(inp), tsplus_module_40.currentTime, (weight, current) => {
2005
+ const elapsed = current - timestamp;
2006
+ const cycles = elapsed / duration;
2007
+
2008
+ const available = (() => {
2009
+ const sum = tokens + cycles * units;
2010
+ const max = units + burst < 0 ? Number.MAX_SAFE_INTEGER : units + burst;
2011
+ return sum < 0 ? max : Math.min(sum, max);
2012
+ })();
2013
+
2014
+ return weight <= available ? tsplus_module_11.apSecond_(tsplus_module_10.writeNow(inp), throttleEnforceIOLoop(costFn, units, duration, burst, available - weight, current)) : throttleEnforceIOLoop(costFn, units, duration, burst, available - weight, current);
2015
+ })), tsplus_module_10.failNow, () => tsplus_module_10.unit);
2016
+ }
2017
+ /**
2018
+ * Throttles the chunks of this stream according to the given bandwidth parameters using the token bucket
2019
+ * algorithm. Allows for burst in the processing of elements by allowing the token bucket to accumulate
2020
+ * tokens up to a `units + burst` threshold. Chunks that do not meet the bandwidth constraints are dropped.
2021
+ * The weight of each chunk is determined by the `costFn` effectful function.
2022
+ *
2023
+ * @tsplus fluent fncts.io.Stream throttleEnforceIO
2024
+ */
2025
+
2026
+
2027
+ function throttleEnforceIO_1(sa, costFn, units, duration, burst = 0) {
2028
+ return new Stream(tsplus_module_11.flatMap_(tsplus_module_10.fromIO(tsplus_module_40.currentTime), current => tsplus_module_10.pipeTo_(sa.channel, throttleEnforceIOLoop(costFn, units, duration, burst, units, current))));
2029
+ }
2030
+ /**
2031
+ * Converts the stream to a managed hub of chunks. After the managed hub is used,
2032
+ * the hub will never again produce values and should be discarded.
2033
+ *
2034
+ * @tsplus fluent fncts.io.Stream toHub
2035
+ */
2036
+
2037
+
2038
+ function toHub_1(stream, capacity) {
2039
+ return tsplus_module_1.flatMap_(tsplus_module_28.acquireRelease(() => tsplus_module_30.makeBounded(capacity), _ => tsplus_module_30.shutdown(_)), hub => tsplus_module_1.map_(tsplus_module_1.fork(runIntoHubScoped_1(stream, hub)), () => hub), fileName_1 + ":2706:18");
2040
+ }
2041
+ /**
2042
+ * Interpret the stream as a managed pull
2043
+ *
2044
+ * @tsplus getter fncts.io.Stream toPull
2045
+ */
2046
+
2047
+
2048
+ function toPull_1(stream) {
2049
+ return tsplus_module_1.map_(tsplus_module_64.toPull(stream.channel), io => tsplus_module_1.flatMap_(tsplus_module_1.mapError_(io, tsplus_module_3.just, fileName_1 + ":2719:16"), r => tsplus_module_4.match_(r, () => tsplus_module_1.failNow(tsplus_module_3.nothing(), fileName_1 + ":2719:68"), tsplus_module_1.succeedNow), fileName_1 + ":2719:36"), fileName_1 + ":2718:35");
2050
+ }
2051
+ /**
2052
+ * Converts the stream to a managed queue of chunks. After the managed queue is used,
2053
+ * the queue will never again produce values and should be discarded.
2054
+ *
2055
+ * @tsplus fluent fncts.io.Stream toQueue
2056
+ */
2057
+
2058
+
2059
+ function toQueue_1(stream, capacity = 2) {
2060
+ return tsplus_module_1.flatMap_(tsplus_module_28.acquireRelease(() => tsplus_module_27.makeBounded(capacity), _ => tsplus_module_25.shutdown(_)), queue => tsplus_module_1.map_(tsplus_module_1.fork(runIntoQueueScoped_1(stream, queue)), () => queue), fileName_1 + ":2731:20");
2061
+ }
2062
+ /**
2063
+ * @tsplus fluent fncts.io.Stream toQueueDropping
2064
+ */
2065
+
2066
+
2067
+ export function toQueueDropping_(stream, capacity = 2) {
2068
+ return tsplus_module_1.flatMap_(tsplus_module_28.acquireRelease(() => tsplus_module_27.makeDropping(capacity), _ => tsplus_module_25.shutdown(_)), queue => tsplus_module_1.map_(tsplus_module_1.fork(runIntoQueueScoped_1(stream, queue)), () => queue), fileName_1 + ":2745:20");
2069
+ }
2070
+ /**
2071
+ * @tsplus fluent fncts.io.Stream toQueueOfElements
2072
+ */
2073
+
2074
+ function toQueueOfElements_1(stream, capacity = 2) {
2075
+ return tsplus_module_1.flatMap_(tsplus_module_28.acquireRelease(() => tsplus_module_27.makeBounded(capacity), _ => tsplus_module_25.shutdown(_)), queue => tsplus_module_1.map_(tsplus_module_1.fork(runIntoElementsScoped_1(stream, queue)), () => queue), fileName_1 + ":2759:20");
2076
+ }
2077
+ /**
2078
+ * @tsplus fluent fncts.io.Stream toQueueSliding
2079
+ */
2080
+
2081
+
2082
+ export function toQueueSliding_(stream, capacity = 2) {
2083
+ return tsplus_module_1.flatMap_(tsplus_module_28.acquireRelease(() => tsplus_module_27.makeSliding(capacity), _ => tsplus_module_25.shutdown(_)), queue => tsplus_module_1.map_(tsplus_module_1.fork(runIntoQueueScoped_1(stream, queue)), () => queue), fileName_1 + ":2773:20");
2084
+ }
2085
+ /**
2086
+ * Converts the stream into an unbounded managed queue. After the managed queue
2087
+ * is used, the queue will never again produce values and should be discarded.
2088
+ *
2089
+ * @tsplus getter fncts.io.Stream toQueueUnbounded
2090
+ */
2091
+
2092
+ function toQueueUnbounded_1(stream) {
2093
+ return tsplus_module_1.flatMap_(tsplus_module_28.acquireRelease(() => tsplus_module_27.makeUnbounded(), _ => tsplus_module_25.shutdown(_)), queue => tsplus_module_1.map_(tsplus_module_1.fork(runIntoQueueScoped_1(stream, queue)), () => queue), fileName_1 + ":2787:20");
2094
+ }
2095
+
2096
+ function unfoldChunkIOLoop(s, f) {
2097
+ return tsplus_module_10.unwrap(tsplus_module_1.map_(f(s), m => tsplus_module_16.match_(m, () => tsplus_module_10.unit, ([as, s]) => tsplus_module_11.flatMap_(tsplus_module_10.writeNow(as), () => unfoldChunkIOLoop(s, f))), fileName_1 + ":2798:13"));
2098
+ }
2099
+ /**
2100
+ * Creates a stream by effectfully peeling off the "layers" of a value of type `S`
2101
+ *
2102
+ * @tsplus static fncts.io.StreamOps unfoldChunkIO
2103
+ */
2104
+
2105
+
2106
+ function unfoldChunkIO_1(s, f) {
2107
+ return new Stream(unfoldChunkIOLoop(s, f));
2108
+ }
2109
+ /**
2110
+ * Creates a stream by effectfully peeling off the "layers" of a value of type `S`
2111
+ *
2112
+ * @tsplus static fncts.io.StreamOps unfoldIO
2113
+ */
2114
+
2115
+
2116
+ function unfoldIO_1(s, f) {
2117
+ return unfoldChunkIO_1(s, _ => tsplus_module_1.map_(f(_), m => tsplus_module_36.map_(m, ([a, s]) => tuple(tsplus_module_18.single(a), s)), fileName_1 + ":2822:42"));
2118
+ }
2119
+
2120
+ function unfoldChunkLoop(s, f) {
2121
+ return tsplus_module_16.match_(f(s), () => tsplus_module_10.unit, ([as, s]) => tsplus_module_11.flatMap_(tsplus_module_10.writeNow(as), () => unfoldChunkLoop(s, f)));
2122
+ }
2123
+ /**
2124
+ * @tsplus static fncts.io.StreamOps unfoldChunk
2125
+ */
2126
+
2127
+
2128
+ function unfoldChunk_1(s, f) {
2129
+ return new Stream(tsplus_module_10.defer(() => unfoldChunkLoop(s, f)));
2130
+ }
2131
+ /**
2132
+ * @tsplus static fncts.io.StreamOps unfold
2133
+ */
2134
+
2135
+
2136
+ export function unfold(s, f) {
2137
+ return unfoldChunk_1(s, s => tsplus_module_36.map_(f(s), ([a, s]) => tuple(tsplus_module_18.single(a), s)));
2138
+ }
2139
+ /**
2140
+ * Creates a stream produced from an IO
2141
+ *
2142
+ * @tsplus static fncts.io.StreamOps unwrap
2143
+ */
2144
+
2145
+ function unwrap_1(stream) {
2146
+ return flatten_1(fromIO_1(stream));
2147
+ }
2148
+ /**
2149
+ * Creates a stream produced from a managed
2150
+ *
2151
+ * @tsplus static fncts.io.StreamOps unwrapScoped
2152
+ */
2153
+
2154
+
2155
+ function unwrapScoped_1(stream) {
2156
+ return flatten_1(scoped_1(stream));
2157
+ }
2158
+ /**
2159
+ * Zips the two streams so that when a value is emitted by either of the two
2160
+ * streams, it is combined with the latest value from the other stream to
2161
+ * produce a result.
2162
+ *
2163
+ * Note: tracking the latest value is done on a per-chunk basis. That means
2164
+ * that emitted elements that are not the last value in chunks will never be
2165
+ * used for zipping.
2166
+ *
2167
+ * @tsplus fluent fncts.io.Stream zipWithLatest
2168
+ */
2169
+
2170
+
2171
+ export function zipWithLatest_(fa, fb, f) {
2172
+ function pullNonEmpty(pull) {
2173
+ return tsplus_module_1.flatMap_(pull, chunk => tsplus_module_12.isNonEmpty(chunk) ? pullNonEmpty(pull) : tsplus_module_1.succeedNow(chunk, fileName_1 + ":2886:90"), fileName_1 + ":2886:24");
2174
+ }
2175
+
2176
+ return fromPull_1(tsplus_module_1.flatMap_(tsplus_module_1.map_(toPull_1(fa), pullNonEmpty, fileName_1 + ":2890:36"), left => tsplus_module_1.flatMap_(tsplus_module_1.map_(toPull_1(fb), pullNonEmpty, fileName_1 + ":2891:36"), right => toPull_1(flatMap_1(fromIOMaybe_1(tsplus_module_22.raceWith_(left, () => right, (leftDone, rightFiber) => tsplus_module_1.zipWith_(tsplus_module_1.fromExitNow(leftDone, fileName_1 + ":2896:53"), tsplus_module_39.join(rightFiber), (l, r) => tuple(l, r, true)), (rightDone, leftFiber) => tsplus_module_1.zipWith_(tsplus_module_1.fromExitNow(rightDone, fileName_1 + ":2897:53"), tsplus_module_39.join(leftFiber), (r, l) => tuple(l, r, false)), fileName_1 + ":2894:24")), ([l, r, leftFirst]) => flatMap_1(fromIO_1(tsplus_module_6.make(() => tuple(tsplus_module_12.unsafeGet_(l, l.length - 1), tsplus_module_12.unsafeGet_(r, r.length - 1)))), latest => concat_1(fromChunk_1(() => leftFirst ? tsplus_module_12.map_(r, b => f(tsplus_module_12.unsafeGet_(l, l.length - 1), b)) : tsplus_module_12.map_(l, a => f(a, tsplus_module_12.unsafeGet_(r, r.length - 1)))), flatMap_1(mapIO_1(mergeEither_1(repeatIOMaybe_1(left), repeatIOMaybe_1(right)), ab => tsplus_module_4.match_(ab, leftChunk => tsplus_module_14.modify_(latest, ([_, rightLatest]) => tuple(tsplus_module_12.map_(leftChunk, a => f(a, rightLatest)), tuple(tsplus_module_12.unsafeGet_(leftChunk, leftChunk.length - 1), rightLatest))), rightChunk => tsplus_module_14.modify_(latest, ([leftLatest, _]) => tuple(tsplus_module_12.map_(rightChunk, b => f(leftLatest, b)), tuple(leftLatest, tsplus_module_12.unsafeGet_(rightChunk, rightChunk.length - 1)))))), fromChunkNow_1))))), fileName_1 + ":2891:22"), fileName_1 + ":2890:22"));
2177
+ }
2178
+ //# sourceMappingURL=api.mjs.map