@fncts/io 0.0.32 → 0.0.34

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 (827) hide show
  1. package/Fiber/FiberRuntime.d.ts +3 -3
  2. package/IO/api.d.ts +4 -3
  3. package/IO/definition.d.ts +34 -24
  4. package/IO/runtime.d.ts +11 -16
  5. package/STM/definition.d.ts +1 -1
  6. package/Schedule/api.d.ts +1 -1
  7. package/Stream/api.d.ts +89 -1
  8. package/_cjs/Cached/api.cjs.map +1 -1
  9. package/_cjs/Cached/definition.cjs.map +1 -1
  10. package/_cjs/Cached/internal.cjs.map +1 -1
  11. package/_cjs/Cached.cjs.map +1 -1
  12. package/_cjs/CancellerState.cjs.map +1 -1
  13. package/_cjs/Channel/ChildExecutorDecision/api.cjs.map +1 -1
  14. package/_cjs/Channel/ChildExecutorDecision/definition.cjs.map +1 -1
  15. package/_cjs/Channel/ChildExecutorDecision.cjs.map +1 -1
  16. package/_cjs/Channel/UpstreamPullRequest/api.cjs.map +1 -1
  17. package/_cjs/Channel/UpstreamPullRequest/definition.cjs.map +1 -1
  18. package/_cjs/Channel/UpstreamPullRequest.cjs.map +1 -1
  19. package/_cjs/Channel/UpstreamPullStrategy/definition.cjs.map +1 -1
  20. package/_cjs/Channel/UpstreamPullStrategy.cjs.map +1 -1
  21. package/_cjs/Channel/api/interruptWhen.cjs.map +1 -1
  22. package/_cjs/Channel/api/mapOutConcurrentIO.cjs +1 -1
  23. package/_cjs/Channel/api/mapOutConcurrentIO.cjs.map +1 -1
  24. package/_cjs/Channel/api/mergeAll.cjs.map +1 -1
  25. package/_cjs/Channel/api/mergeAllUnboundedWith.cjs.map +1 -1
  26. package/_cjs/Channel/api/mergeAllWith.cjs +3 -3
  27. package/_cjs/Channel/api/mergeAllWith.cjs.map +1 -1
  28. package/_cjs/Channel/api/mergeMap.cjs.map +1 -1
  29. package/_cjs/Channel/api/mergeWith.cjs +4 -4
  30. package/_cjs/Channel/api/mergeWith.cjs.map +1 -1
  31. package/_cjs/Channel/api/run.cjs.map +1 -1
  32. package/_cjs/Channel/api/runCollect.cjs.map +1 -1
  33. package/_cjs/Channel/api/runDrain.cjs.map +1 -1
  34. package/_cjs/Channel/api/runScoped.cjs.map +1 -1
  35. package/_cjs/Channel/api/toPull.cjs +2 -2
  36. package/_cjs/Channel/api/toPull.cjs.map +1 -1
  37. package/_cjs/Channel/api/zipConcurrent.cjs.map +1 -1
  38. package/_cjs/Channel/api.cjs +6 -6
  39. package/_cjs/Channel/api.cjs.map +1 -1
  40. package/_cjs/Channel/core-api.cjs.map +1 -1
  41. package/_cjs/Channel/definition.cjs.map +1 -1
  42. package/_cjs/Channel/internal/AsyncInputConsumer.cjs.map +1 -1
  43. package/_cjs/Channel/internal/AsyncInputProducer.cjs.map +1 -1
  44. package/_cjs/Channel/internal/ChannelExecutor.cjs +10 -10
  45. package/_cjs/Channel/internal/ChannelExecutor.cjs.map +1 -1
  46. package/_cjs/Channel/internal/ChannelState.cjs.map +1 -1
  47. package/_cjs/Channel/internal/MergeDecision.cjs.map +1 -1
  48. package/_cjs/Channel/internal/MergeState.cjs.map +1 -1
  49. package/_cjs/Channel/internal/SingleProducerAsyncInput.cjs +3 -3
  50. package/_cjs/Channel/internal/SingleProducerAsyncInput.cjs.map +1 -1
  51. package/_cjs/Channel.cjs.map +1 -1
  52. package/_cjs/Clock/api.cjs.map +1 -1
  53. package/_cjs/Clock/definition.cjs.map +1 -1
  54. package/_cjs/Clock/live.cjs +1 -1
  55. package/_cjs/Clock/live.cjs.map +1 -1
  56. package/_cjs/Clock.cjs.map +1 -1
  57. package/_cjs/Console/api.cjs.map +1 -1
  58. package/_cjs/Console/definition.cjs.map +1 -1
  59. package/_cjs/Console/live.cjs.map +1 -1
  60. package/_cjs/Console.cjs.map +1 -1
  61. package/_cjs/CountdownLatch.cjs.map +1 -1
  62. package/_cjs/Differ/api.cjs.map +1 -1
  63. package/_cjs/Differ/definition.cjs.map +1 -1
  64. package/_cjs/Fiber/FiberMessage.cjs.map +1 -1
  65. package/_cjs/Fiber/FiberRuntime.cjs +79 -48
  66. package/_cjs/Fiber/FiberRuntime.cjs.map +1 -1
  67. package/_cjs/Fiber/api/await.cjs.map +1 -1
  68. package/_cjs/Fiber/api/awaitAll.cjs.map +1 -1
  69. package/_cjs/Fiber/api/children.cjs.map +1 -1
  70. package/_cjs/Fiber/api/collectAll.cjs +1 -1
  71. package/_cjs/Fiber/api/collectAll.cjs.map +1 -1
  72. package/_cjs/Fiber/api/fromIO.cjs.map +1 -1
  73. package/_cjs/Fiber/api/id.cjs.map +1 -1
  74. package/_cjs/Fiber/api/inheritRefs.cjs.map +1 -1
  75. package/_cjs/Fiber/api/interrupt.cjs.map +1 -1
  76. package/_cjs/Fiber/api/interruptAll.cjs.map +1 -1
  77. package/_cjs/Fiber/api/interruptAs.cjs.map +1 -1
  78. package/_cjs/Fiber/api/interruptFork.cjs.map +1 -1
  79. package/_cjs/Fiber/api/join.cjs.map +1 -1
  80. package/_cjs/Fiber/api/joinAll.cjs.map +1 -1
  81. package/_cjs/Fiber/api/location.cjs.map +1 -1
  82. package/_cjs/Fiber/api/mapFiber.cjs.map +1 -1
  83. package/_cjs/Fiber/api/mapIO.cjs +1 -1
  84. package/_cjs/Fiber/api/mapIO.cjs.map +1 -1
  85. package/_cjs/Fiber/api/poll.cjs.map +1 -1
  86. package/_cjs/Fiber/api/zipWith.cjs +1 -1
  87. package/_cjs/Fiber/api/zipWith.cjs.map +1 -1
  88. package/_cjs/Fiber/constructors.cjs +5 -5
  89. package/_cjs/Fiber/constructors.cjs.map +1 -1
  90. package/_cjs/Fiber/definition.cjs.map +1 -1
  91. package/_cjs/Fiber.cjs.map +1 -1
  92. package/_cjs/FiberDescriptor.cjs.map +1 -1
  93. package/_cjs/FiberRef/api/locallyScoped.cjs.map +1 -1
  94. package/_cjs/FiberRef/api/locallyScopedWith.cjs.map +1 -1
  95. package/_cjs/FiberRef/api.cjs.map +1 -1
  96. package/_cjs/FiberRef/constructors.cjs.map +1 -1
  97. package/_cjs/FiberRef/definition.cjs.map +1 -1
  98. package/_cjs/FiberRef/operations.cjs.map +1 -1
  99. package/_cjs/FiberRef/unsafe.cjs +3 -2
  100. package/_cjs/FiberRef/unsafe.cjs.map +1 -1
  101. package/_cjs/FiberRef.cjs.map +1 -1
  102. package/_cjs/FiberRefs/api.cjs.map +1 -1
  103. package/_cjs/FiberRefs/definition.cjs.map +1 -1
  104. package/_cjs/FiberRefs.cjs.map +1 -1
  105. package/_cjs/FiberScope/constructors.cjs.map +1 -1
  106. package/_cjs/FiberScope/definition.cjs.map +1 -1
  107. package/_cjs/FiberScope.cjs.map +1 -1
  108. package/_cjs/FiberStatus/constructors.cjs.map +1 -1
  109. package/_cjs/FiberStatus/definition.cjs.map +1 -1
  110. package/_cjs/FiberStatus.cjs.map +1 -1
  111. package/_cjs/Future/api.cjs +4 -4
  112. package/_cjs/Future/api.cjs.map +1 -1
  113. package/_cjs/Future/constructors.cjs.map +1 -1
  114. package/_cjs/Future/definition.cjs.map +1 -1
  115. package/_cjs/Future.cjs.map +1 -1
  116. package/_cjs/Hub/api.cjs.map +1 -1
  117. package/_cjs/Hub/definition.cjs.map +1 -1
  118. package/_cjs/Hub/internal.cjs +1 -1
  119. package/_cjs/Hub/internal.cjs.map +1 -1
  120. package/_cjs/Hub.cjs.map +1 -1
  121. package/_cjs/IO/api/acquireRelease.cjs.map +1 -1
  122. package/_cjs/IO/api/acquireReleaseExit.cjs.map +1 -1
  123. package/_cjs/IO/api/acquireReleaseInterruptible.cjs.map +1 -1
  124. package/_cjs/IO/api/acquireReleaseInterruptibleExit.cjs.map +1 -1
  125. package/_cjs/IO/api/addFinalizer.cjs.map +1 -1
  126. package/_cjs/IO/api/addFinalizerExit.cjs.map +1 -1
  127. package/_cjs/IO/api/asyncIO.cjs +1 -1
  128. package/_cjs/IO/api/asyncIO.cjs.map +1 -1
  129. package/_cjs/IO/api/asyncInterrupt.cjs +2 -2
  130. package/_cjs/IO/api/asyncInterrupt.cjs.map +1 -1
  131. package/_cjs/IO/api/blocking.cjs.map +1 -1
  132. package/_cjs/IO/api/bracket.cjs.map +1 -1
  133. package/_cjs/IO/api/bracketExit.cjs +1 -1
  134. package/_cjs/IO/api/bracketExit.cjs.map +1 -1
  135. package/_cjs/IO/api/clockWith.cjs.map +1 -1
  136. package/_cjs/IO/api/concurrency.cjs +3 -3
  137. package/_cjs/IO/api/concurrency.cjs.map +1 -1
  138. package/_cjs/IO/api/concurrentFinalizers.cjs.map +1 -1
  139. package/_cjs/IO/api/consoleWith.cjs.map +1 -1
  140. package/_cjs/IO/api/daemonChildren.cjs +1 -1
  141. package/_cjs/IO/api/daemonChildren.cjs.map +1 -1
  142. package/_cjs/IO/api/delay.cjs.map +1 -1
  143. package/_cjs/IO/api/descriptor.cjs.map +1 -1
  144. package/_cjs/IO/api/disconnect.cjs.map +1 -1
  145. package/_cjs/IO/api/ensuringChildren.cjs.map +1 -1
  146. package/_cjs/IO/api/environment.cjs.map +1 -1
  147. package/_cjs/IO/api/foreachConcurrent.cjs +1 -1
  148. package/_cjs/IO/api/foreachConcurrent.cjs.map +1 -1
  149. package/_cjs/IO/api/foreachExec.cjs.map +1 -1
  150. package/_cjs/IO/api/fork.cjs +2 -1
  151. package/_cjs/IO/api/fork.cjs.map +1 -1
  152. package/_cjs/IO/api/forkAll.cjs.map +1 -1
  153. package/_cjs/IO/api/forkDaemon.cjs.map +1 -1
  154. package/_cjs/IO/api/forkIn.cjs.map +1 -1
  155. package/_cjs/IO/api/forkScoped.cjs.map +1 -1
  156. package/_cjs/IO/api/fulfill.cjs.map +1 -1
  157. package/_cjs/IO/api/interrupt.cjs +4 -4
  158. package/_cjs/IO/api/interrupt.cjs.map +1 -1
  159. package/_cjs/IO/api/memoize.cjs.map +1 -1
  160. package/_cjs/IO/api/onTermination.cjs.map +1 -1
  161. package/_cjs/IO/api/once.cjs.map +1 -1
  162. package/_cjs/IO/api/provideLayer.cjs.map +1 -1
  163. package/_cjs/IO/api/provideScope.cjs.map +1 -1
  164. package/_cjs/IO/api/provideSomeLayer.cjs.map +1 -1
  165. package/_cjs/IO/api/race.cjs +1 -1
  166. package/_cjs/IO/api/race.cjs.map +1 -1
  167. package/_cjs/IO/api/raceFirst.cjs.map +1 -1
  168. package/_cjs/IO/api/raceWith.cjs.map +1 -1
  169. package/_cjs/IO/api/randomWith.cjs.map +1 -1
  170. package/_cjs/IO/api/repeat.cjs +2 -2
  171. package/_cjs/IO/api/repeat.cjs.map +1 -1
  172. package/_cjs/IO/api/retry.cjs.map +1 -1
  173. package/_cjs/IO/api/schedule.cjs.map +1 -1
  174. package/_cjs/IO/api/scope.cjs.map +1 -1
  175. package/_cjs/IO/api/scopeWith.cjs.map +1 -1
  176. package/_cjs/IO/api/scoped.cjs.map +1 -1
  177. package/_cjs/IO/api/sequenceT.cjs.map +1 -1
  178. package/_cjs/IO/api/sleep.cjs.map +1 -1
  179. package/_cjs/IO/api/stateful.cjs.map +1 -1
  180. package/_cjs/IO/api/supervised.cjs.map +1 -1
  181. package/_cjs/IO/api/timeout.cjs +1 -1
  182. package/_cjs/IO/api/timeout.cjs.map +1 -1
  183. package/_cjs/IO/api/transplant.cjs +1 -1
  184. package/_cjs/IO/api/transplant.cjs.map +1 -1
  185. package/_cjs/IO/api/whenFiberRef.cjs.map +1 -1
  186. package/_cjs/IO/api/whenRef.cjs.map +1 -1
  187. package/_cjs/IO/api/withChildren.cjs.map +1 -1
  188. package/_cjs/IO/api/withEarlyRelease.cjs +1 -1
  189. package/_cjs/IO/api/withEarlyRelease.cjs.map +1 -1
  190. package/_cjs/IO/api/withFinalizer.cjs.map +1 -1
  191. package/_cjs/IO/api/withFinalizerExit.cjs.map +1 -1
  192. package/_cjs/IO/api/zipConcurrent.cjs +1 -1
  193. package/_cjs/IO/api/zipConcurrent.cjs.map +1 -1
  194. package/_cjs/IO/api.cjs +34 -33
  195. package/_cjs/IO/api.cjs.map +1 -1
  196. package/_cjs/IO/definition.cjs +17 -31
  197. package/_cjs/IO/definition.cjs.map +1 -1
  198. package/_cjs/IO/runtime.cjs +54 -41
  199. package/_cjs/IO/runtime.cjs.map +1 -1
  200. package/_cjs/IO.cjs.map +1 -1
  201. package/_cjs/IOEnv/definition.cjs.map +1 -1
  202. package/_cjs/IOEnv/live.cjs.map +1 -1
  203. package/_cjs/IOEnv/services.cjs.map +1 -1
  204. package/_cjs/IOEnv.cjs.map +1 -1
  205. package/_cjs/InterruptStatus/constructors.cjs.map +1 -1
  206. package/_cjs/InterruptStatus/definition.cjs.map +1 -1
  207. package/_cjs/InterruptStatus.cjs.map +1 -1
  208. package/_cjs/Layer/MemoMap.cjs.map +1 -1
  209. package/_cjs/Layer/api.cjs.map +1 -1
  210. package/_cjs/Layer/definition.cjs.map +1 -1
  211. package/_cjs/Layer.cjs.map +1 -1
  212. package/_cjs/LogLevel.cjs.map +1 -1
  213. package/_cjs/LogSpan.cjs.map +1 -1
  214. package/_cjs/Logger/api.cjs +3 -2
  215. package/_cjs/Logger/api.cjs.map +1 -1
  216. package/_cjs/Logger/constructors.cjs.map +1 -1
  217. package/_cjs/Logger/definition.cjs.map +1 -1
  218. package/_cjs/Logger.cjs.map +1 -1
  219. package/_cjs/MVar/api.cjs +11 -11
  220. package/_cjs/MVar/api.cjs.map +1 -1
  221. package/_cjs/MVar/definition.cjs.map +1 -1
  222. package/_cjs/MVar.cjs.map +1 -1
  223. package/_cjs/Push/api.cjs +3 -3
  224. package/_cjs/Push/api.cjs.map +1 -1
  225. package/_cjs/Push/definition.cjs.map +1 -1
  226. package/_cjs/Push/internal.cjs +1 -1
  227. package/_cjs/Push/internal.cjs.map +1 -1
  228. package/_cjs/Push.cjs.map +1 -1
  229. package/_cjs/Queue/api/dimapIO.cjs.map +1 -1
  230. package/_cjs/Queue/api/filterInputIO.cjs +2 -2
  231. package/_cjs/Queue/api/filterInputIO.cjs.map +1 -1
  232. package/_cjs/Queue/api/filterOutputIO.cjs.map +1 -1
  233. package/_cjs/Queue/api/operations.cjs.map +1 -1
  234. package/_cjs/Queue/api/poll.cjs.map +1 -1
  235. package/_cjs/Queue/api/takeBetween.cjs.map +1 -1
  236. package/_cjs/Queue/api/zipWithIO.cjs.map +1 -1
  237. package/_cjs/Queue/api.cjs.map +1 -1
  238. package/_cjs/Queue/constructors.cjs.map +1 -1
  239. package/_cjs/Queue/definition.cjs.map +1 -1
  240. package/_cjs/Queue/internal.cjs.map +1 -1
  241. package/_cjs/Queue/strategy.cjs.map +1 -1
  242. package/_cjs/Queue.cjs.map +1 -1
  243. package/_cjs/Random/api.cjs.map +1 -1
  244. package/_cjs/Random/definition.cjs.map +1 -1
  245. package/_cjs/Random/live.cjs.map +1 -1
  246. package/_cjs/Random.cjs.map +1 -1
  247. package/_cjs/Ref/Atomic.cjs.map +1 -1
  248. package/_cjs/Ref/Derived.cjs +4 -4
  249. package/_cjs/Ref/Derived.cjs.map +1 -1
  250. package/_cjs/Ref/DerivedAll.cjs +5 -5
  251. package/_cjs/Ref/DerivedAll.cjs.map +1 -1
  252. package/_cjs/Ref/Synchronized/api.cjs +3 -3
  253. package/_cjs/Ref/Synchronized/api.cjs.map +1 -1
  254. package/_cjs/Ref/Synchronized/constructors.cjs.map +1 -1
  255. package/_cjs/Ref/Synchronized/definition.cjs.map +1 -1
  256. package/_cjs/Ref/Synchronized.cjs.map +1 -1
  257. package/_cjs/Ref/api/collect.cjs +1 -1
  258. package/_cjs/Ref/api/collect.cjs.map +1 -1
  259. package/_cjs/Ref/api/dimap.cjs +3 -3
  260. package/_cjs/Ref/api/dimap.cjs.map +1 -1
  261. package/_cjs/Ref/api/filter.cjs +2 -2
  262. package/_cjs/Ref/api/filter.cjs.map +1 -1
  263. package/_cjs/Ref/api/get.cjs.map +1 -1
  264. package/_cjs/Ref/api/match.cjs.map +1 -1
  265. package/_cjs/Ref/api/matchAll.cjs.map +1 -1
  266. package/_cjs/Ref/api/modify.cjs.map +1 -1
  267. package/_cjs/Ref/api/set.cjs.map +1 -1
  268. package/_cjs/Ref/api.cjs +3 -1
  269. package/_cjs/Ref/api.cjs.map +1 -1
  270. package/_cjs/Ref/constructors.cjs.map +1 -1
  271. package/_cjs/Ref/definition.cjs.map +1 -1
  272. package/_cjs/Ref.cjs.map +1 -1
  273. package/_cjs/RefSubject/Atomic.cjs +6 -6
  274. package/_cjs/RefSubject/Atomic.cjs.map +1 -1
  275. package/_cjs/RefSubject/Synchronized/api.cjs.map +1 -1
  276. package/_cjs/RefSubject/Synchronized/definition.cjs.map +1 -1
  277. package/_cjs/RefSubject/api.cjs.map +1 -1
  278. package/_cjs/RefSubject/definition.cjs.map +1 -1
  279. package/_cjs/RefSubject.cjs.map +1 -1
  280. package/_cjs/Reloadable/api.cjs.map +1 -1
  281. package/_cjs/Reloadable/constructors.cjs.map +1 -1
  282. package/_cjs/Reloadable/definition.cjs.map +1 -1
  283. package/_cjs/Reloadable.cjs.map +1 -1
  284. package/_cjs/RuntimeFlag.cjs.map +1 -1
  285. package/_cjs/RuntimeFlags/Patch.cjs.map +1 -1
  286. package/_cjs/RuntimeFlags/RuntimeFlags.cjs.map +1 -1
  287. package/_cjs/RuntimeFlags.cjs.map +1 -1
  288. package/_cjs/STM/api/atomically.cjs.map +1 -1
  289. package/_cjs/STM/api/core-api.cjs.map +1 -1
  290. package/_cjs/STM/api/core-constructors.cjs.map +1 -1
  291. package/_cjs/STM/api.cjs +5 -5
  292. package/_cjs/STM/api.cjs.map +1 -1
  293. package/_cjs/STM/definition.cjs +1 -1
  294. package/_cjs/STM/definition.cjs.map +1 -1
  295. package/_cjs/STM/driver.cjs.map +1 -1
  296. package/_cjs/STM/internal/CommitState.cjs +5 -4
  297. package/_cjs/STM/internal/CommitState.cjs.map +1 -1
  298. package/_cjs/STM/internal/Entry.cjs.map +1 -1
  299. package/_cjs/STM/internal/Journal.cjs +8 -8
  300. package/_cjs/STM/internal/Journal.cjs.map +1 -1
  301. package/_cjs/STM/internal/TryCommit.cjs.map +1 -1
  302. package/_cjs/STM/internal/Versioned.cjs.map +1 -1
  303. package/_cjs/STM.cjs.map +1 -1
  304. package/_cjs/Schedule/Decision.cjs.map +1 -1
  305. package/_cjs/Schedule/Driver.cjs.map +1 -1
  306. package/_cjs/Schedule/api/driver.cjs +3 -3
  307. package/_cjs/Schedule/api/driver.cjs.map +1 -1
  308. package/_cjs/Schedule/api.cjs +9 -9
  309. package/_cjs/Schedule/api.cjs.map +1 -1
  310. package/_cjs/Schedule/definition.cjs.map +1 -1
  311. package/_cjs/Schedule.cjs.map +1 -1
  312. package/_cjs/Scope/Finalizer/definition.cjs.map +1 -1
  313. package/_cjs/Scope/Finalizer.cjs.map +1 -1
  314. package/_cjs/Scope/ReleaseMap/api/releaseAll.cjs +1 -1
  315. package/_cjs/Scope/ReleaseMap/api/releaseAll.cjs.map +1 -1
  316. package/_cjs/Scope/ReleaseMap/api.cjs +3 -3
  317. package/_cjs/Scope/ReleaseMap/api.cjs.map +1 -1
  318. package/_cjs/Scope/ReleaseMap/constructors.cjs.map +1 -1
  319. package/_cjs/Scope/ReleaseMap/definition.cjs.map +1 -1
  320. package/_cjs/Scope/ReleaseMap.cjs.map +1 -1
  321. package/_cjs/Scope/api.cjs.map +1 -1
  322. package/_cjs/Scope/definition.cjs.map +1 -1
  323. package/_cjs/Scope.cjs.map +1 -1
  324. package/_cjs/ScopedRef/api.cjs +1 -1
  325. package/_cjs/ScopedRef/api.cjs.map +1 -1
  326. package/_cjs/ScopedRef/definition.cjs.map +1 -1
  327. package/_cjs/ScopedRef.cjs.map +1 -1
  328. package/_cjs/Semaphore.cjs +2 -2
  329. package/_cjs/Semaphore.cjs.map +1 -1
  330. package/_cjs/Sink/api.cjs +6 -6
  331. package/_cjs/Sink/api.cjs.map +1 -1
  332. package/_cjs/Sink/definition.cjs.map +1 -1
  333. package/_cjs/Sink.cjs.map +1 -1
  334. package/_cjs/State/api.cjs.map +1 -1
  335. package/_cjs/State/definition.cjs.map +1 -1
  336. package/_cjs/State/internal.cjs.map +1 -1
  337. package/_cjs/State.cjs.map +1 -1
  338. package/_cjs/Stream/api/zipAllWith.cjs +8 -8
  339. package/_cjs/Stream/api/zipAllWith.cjs.map +1 -1
  340. package/_cjs/Stream/api/zipWith.cjs.map +1 -1
  341. package/_cjs/Stream/api/zipWithChunks.cjs +6 -6
  342. package/_cjs/Stream/api/zipWithChunks.cjs.map +1 -1
  343. package/_cjs/Stream/api.cjs +370 -130
  344. package/_cjs/Stream/api.cjs.map +1 -1
  345. package/_cjs/Stream/definition.cjs.map +1 -1
  346. package/_cjs/Stream/internal/DebounceState.cjs.map +1 -1
  347. package/_cjs/Stream/internal/Handoff.cjs +2 -2
  348. package/_cjs/Stream/internal/Handoff.cjs.map +1 -1
  349. package/_cjs/Stream/internal/Pull.cjs +2 -2
  350. package/_cjs/Stream/internal/Pull.cjs.map +1 -1
  351. package/_cjs/Stream/internal/SinkEndReason.cjs.map +1 -1
  352. package/_cjs/Stream/internal/Take.cjs +6 -6
  353. package/_cjs/Stream/internal/Take.cjs.map +1 -1
  354. package/_cjs/Stream/internal/util.cjs +3 -2
  355. package/_cjs/Stream/internal/util.cjs.map +1 -1
  356. package/_cjs/Stream.cjs.map +1 -1
  357. package/_cjs/Subject/Atomic.cjs.map +1 -1
  358. package/_cjs/Subject/api.cjs.map +1 -1
  359. package/_cjs/Subject/definition.cjs.map +1 -1
  360. package/_cjs/Subject.cjs.map +1 -1
  361. package/_cjs/SubscriptionRef.cjs.map +1 -1
  362. package/_cjs/Supervisor/api.cjs.map +1 -1
  363. package/_cjs/Supervisor/constructors.cjs.map +1 -1
  364. package/_cjs/Supervisor/definition.cjs.map +1 -1
  365. package/_cjs/Supervisor.cjs.map +1 -1
  366. package/_cjs/SupervisorPatch.cjs.map +1 -1
  367. package/_cjs/TExit/constructors.cjs.map +1 -1
  368. package/_cjs/TExit/definition.cjs.map +1 -1
  369. package/_cjs/TExit.cjs.map +1 -1
  370. package/_cjs/TFuture/api.cjs +3 -3
  371. package/_cjs/TFuture/api.cjs.map +1 -1
  372. package/_cjs/TFuture/constructors.cjs +1 -1
  373. package/_cjs/TFuture/constructors.cjs.map +1 -1
  374. package/_cjs/TFuture/definition.cjs.map +1 -1
  375. package/_cjs/TFuture.cjs.map +1 -1
  376. package/_cjs/TReentrantLock/api.cjs.map +1 -1
  377. package/_cjs/TReentrantLock/definition.cjs.map +1 -1
  378. package/_cjs/TReentrantLock.cjs.map +1 -1
  379. package/_cjs/TRef/api.cjs.map +1 -1
  380. package/_cjs/TRef/constructors.cjs.map +1 -1
  381. package/_cjs/TRef/definition.cjs +9 -9
  382. package/_cjs/TRef/definition.cjs.map +1 -1
  383. package/_cjs/TRef.cjs.map +1 -1
  384. package/_cjs/TSemaphore/api.cjs.map +1 -1
  385. package/_cjs/TSemaphore/constructors.cjs.map +1 -1
  386. package/_cjs/TSemaphore/definition.cjs.map +1 -1
  387. package/_cjs/TSemaphore.cjs.map +1 -1
  388. package/_cjs/TxnId.cjs.map +1 -1
  389. package/_cjs/collection/immutable/Conc/dropUntilIO.cjs.map +1 -1
  390. package/_cjs/collection/immutable/Conc/dropWhileIO.cjs.map +1 -1
  391. package/_cjs/collection/immutable/Conc/filterIO.cjs.map +1 -1
  392. package/_cjs/collection/immutable/Conc/findIO.cjs +3 -3
  393. package/_cjs/collection/immutable/Conc/findIO.cjs.map +1 -1
  394. package/_cjs/collection/immutable/Conc/mapIO.cjs.map +1 -1
  395. package/_cjs/collection/immutable/Conc/takeWhileIO.cjs.map +1 -1
  396. package/_cjs/collection/immutable/Conc.cjs.map +1 -1
  397. package/_cjs/data/Exit/foreachIO.cjs +1 -1
  398. package/_cjs/data/Exit/foreachIO.cjs.map +1 -1
  399. package/_cjs/global.cjs.map +1 -1
  400. package/_cjs/index.cjs.map +1 -1
  401. package/_cjs/internal/BackgroundScheduler.cjs.map +1 -1
  402. package/_cjs/internal/HashedPair.cjs.map +1 -1
  403. package/_cjs/internal/Hub.cjs.map +1 -1
  404. package/_cjs/internal/IsFatal.cjs.map +1 -1
  405. package/_cjs/internal/MutableQueue.cjs.map +1 -1
  406. package/_cjs/internal/Scheduler.cjs.map +1 -1
  407. package/_cjs/internal/StackTraceBuilder.cjs.map +1 -1
  408. package/_mjs/Cached/api.mjs.map +1 -1
  409. package/_mjs/Cached/definition.mjs.map +1 -1
  410. package/_mjs/Cached/internal.mjs.map +1 -1
  411. package/_mjs/Cached.mjs.map +1 -1
  412. package/_mjs/CancellerState.mjs.map +1 -1
  413. package/_mjs/Channel/ChildExecutorDecision/api.mjs.map +1 -1
  414. package/_mjs/Channel/ChildExecutorDecision/definition.mjs.map +1 -1
  415. package/_mjs/Channel/ChildExecutorDecision.mjs.map +1 -1
  416. package/_mjs/Channel/UpstreamPullRequest/api.mjs.map +1 -1
  417. package/_mjs/Channel/UpstreamPullRequest/definition.mjs.map +1 -1
  418. package/_mjs/Channel/UpstreamPullRequest.mjs.map +1 -1
  419. package/_mjs/Channel/UpstreamPullStrategy/definition.mjs.map +1 -1
  420. package/_mjs/Channel/UpstreamPullStrategy.mjs.map +1 -1
  421. package/_mjs/Channel/api/interruptWhen.mjs.map +1 -1
  422. package/_mjs/Channel/api/mapOutConcurrentIO.mjs +1 -1
  423. package/_mjs/Channel/api/mapOutConcurrentIO.mjs.map +1 -1
  424. package/_mjs/Channel/api/mergeAll.mjs.map +1 -1
  425. package/_mjs/Channel/api/mergeAllUnboundedWith.mjs.map +1 -1
  426. package/_mjs/Channel/api/mergeAllWith.mjs +3 -3
  427. package/_mjs/Channel/api/mergeAllWith.mjs.map +1 -1
  428. package/_mjs/Channel/api/mergeMap.mjs.map +1 -1
  429. package/_mjs/Channel/api/mergeWith.mjs +4 -4
  430. package/_mjs/Channel/api/mergeWith.mjs.map +1 -1
  431. package/_mjs/Channel/api/run.mjs.map +1 -1
  432. package/_mjs/Channel/api/runCollect.mjs.map +1 -1
  433. package/_mjs/Channel/api/runDrain.mjs.map +1 -1
  434. package/_mjs/Channel/api/runScoped.mjs.map +1 -1
  435. package/_mjs/Channel/api/toPull.mjs +2 -2
  436. package/_mjs/Channel/api/toPull.mjs.map +1 -1
  437. package/_mjs/Channel/api/zipConcurrent.mjs.map +1 -1
  438. package/_mjs/Channel/api.mjs +6 -6
  439. package/_mjs/Channel/api.mjs.map +1 -1
  440. package/_mjs/Channel/core-api.mjs.map +1 -1
  441. package/_mjs/Channel/definition.mjs.map +1 -1
  442. package/_mjs/Channel/internal/AsyncInputConsumer.mjs.map +1 -1
  443. package/_mjs/Channel/internal/AsyncInputProducer.mjs.map +1 -1
  444. package/_mjs/Channel/internal/ChannelExecutor.mjs +10 -10
  445. package/_mjs/Channel/internal/ChannelExecutor.mjs.map +1 -1
  446. package/_mjs/Channel/internal/ChannelState.mjs.map +1 -1
  447. package/_mjs/Channel/internal/MergeDecision.mjs.map +1 -1
  448. package/_mjs/Channel/internal/MergeState.mjs.map +1 -1
  449. package/_mjs/Channel/internal/SingleProducerAsyncInput.mjs +3 -3
  450. package/_mjs/Channel/internal/SingleProducerAsyncInput.mjs.map +1 -1
  451. package/_mjs/Channel.mjs.map +1 -1
  452. package/_mjs/Clock/api.mjs.map +1 -1
  453. package/_mjs/Clock/definition.mjs.map +1 -1
  454. package/_mjs/Clock/live.mjs +1 -1
  455. package/_mjs/Clock/live.mjs.map +1 -1
  456. package/_mjs/Clock.mjs.map +1 -1
  457. package/_mjs/Console/api.mjs.map +1 -1
  458. package/_mjs/Console/definition.mjs.map +1 -1
  459. package/_mjs/Console/live.mjs.map +1 -1
  460. package/_mjs/Console.mjs.map +1 -1
  461. package/_mjs/CountdownLatch.mjs.map +1 -1
  462. package/_mjs/Differ/api.mjs.map +1 -1
  463. package/_mjs/Differ/definition.mjs.map +1 -1
  464. package/_mjs/Fiber/FiberMessage.mjs.map +1 -1
  465. package/_mjs/Fiber/FiberRuntime.mjs +79 -48
  466. package/_mjs/Fiber/FiberRuntime.mjs.map +1 -1
  467. package/_mjs/Fiber/api/await.mjs.map +1 -1
  468. package/_mjs/Fiber/api/awaitAll.mjs.map +1 -1
  469. package/_mjs/Fiber/api/children.mjs.map +1 -1
  470. package/_mjs/Fiber/api/collectAll.mjs +1 -1
  471. package/_mjs/Fiber/api/collectAll.mjs.map +1 -1
  472. package/_mjs/Fiber/api/fromIO.mjs.map +1 -1
  473. package/_mjs/Fiber/api/id.mjs.map +1 -1
  474. package/_mjs/Fiber/api/inheritRefs.mjs.map +1 -1
  475. package/_mjs/Fiber/api/interrupt.mjs.map +1 -1
  476. package/_mjs/Fiber/api/interruptAll.mjs.map +1 -1
  477. package/_mjs/Fiber/api/interruptAs.mjs.map +1 -1
  478. package/_mjs/Fiber/api/interruptFork.mjs.map +1 -1
  479. package/_mjs/Fiber/api/join.mjs.map +1 -1
  480. package/_mjs/Fiber/api/joinAll.mjs.map +1 -1
  481. package/_mjs/Fiber/api/location.mjs.map +1 -1
  482. package/_mjs/Fiber/api/mapFiber.mjs.map +1 -1
  483. package/_mjs/Fiber/api/mapIO.mjs +1 -1
  484. package/_mjs/Fiber/api/mapIO.mjs.map +1 -1
  485. package/_mjs/Fiber/api/poll.mjs.map +1 -1
  486. package/_mjs/Fiber/api/zipWith.mjs +1 -1
  487. package/_mjs/Fiber/api/zipWith.mjs.map +1 -1
  488. package/_mjs/Fiber/constructors.mjs +5 -5
  489. package/_mjs/Fiber/constructors.mjs.map +1 -1
  490. package/_mjs/Fiber/definition.mjs.map +1 -1
  491. package/_mjs/Fiber.mjs.map +1 -1
  492. package/_mjs/FiberDescriptor.mjs.map +1 -1
  493. package/_mjs/FiberRef/api/locallyScoped.mjs.map +1 -1
  494. package/_mjs/FiberRef/api/locallyScopedWith.mjs.map +1 -1
  495. package/_mjs/FiberRef/api.mjs.map +1 -1
  496. package/_mjs/FiberRef/constructors.mjs.map +1 -1
  497. package/_mjs/FiberRef/definition.mjs.map +1 -1
  498. package/_mjs/FiberRef/operations.mjs.map +1 -1
  499. package/_mjs/FiberRef/unsafe.mjs +3 -2
  500. package/_mjs/FiberRef/unsafe.mjs.map +1 -1
  501. package/_mjs/FiberRef.mjs.map +1 -1
  502. package/_mjs/FiberRefs/api.mjs.map +1 -1
  503. package/_mjs/FiberRefs/definition.mjs.map +1 -1
  504. package/_mjs/FiberRefs.mjs.map +1 -1
  505. package/_mjs/FiberScope/constructors.mjs.map +1 -1
  506. package/_mjs/FiberScope/definition.mjs.map +1 -1
  507. package/_mjs/FiberScope.mjs.map +1 -1
  508. package/_mjs/FiberStatus/constructors.mjs.map +1 -1
  509. package/_mjs/FiberStatus/definition.mjs.map +1 -1
  510. package/_mjs/FiberStatus.mjs.map +1 -1
  511. package/_mjs/Future/api.mjs +4 -4
  512. package/_mjs/Future/api.mjs.map +1 -1
  513. package/_mjs/Future/constructors.mjs.map +1 -1
  514. package/_mjs/Future/definition.mjs.map +1 -1
  515. package/_mjs/Future.mjs.map +1 -1
  516. package/_mjs/Hub/api.mjs.map +1 -1
  517. package/_mjs/Hub/definition.mjs.map +1 -1
  518. package/_mjs/Hub/internal.mjs +1 -1
  519. package/_mjs/Hub/internal.mjs.map +1 -1
  520. package/_mjs/Hub.mjs.map +1 -1
  521. package/_mjs/IO/api/acquireRelease.mjs.map +1 -1
  522. package/_mjs/IO/api/acquireReleaseExit.mjs.map +1 -1
  523. package/_mjs/IO/api/acquireReleaseInterruptible.mjs.map +1 -1
  524. package/_mjs/IO/api/acquireReleaseInterruptibleExit.mjs.map +1 -1
  525. package/_mjs/IO/api/addFinalizer.mjs.map +1 -1
  526. package/_mjs/IO/api/addFinalizerExit.mjs.map +1 -1
  527. package/_mjs/IO/api/asyncIO.mjs +1 -1
  528. package/_mjs/IO/api/asyncIO.mjs.map +1 -1
  529. package/_mjs/IO/api/asyncInterrupt.mjs +2 -2
  530. package/_mjs/IO/api/asyncInterrupt.mjs.map +1 -1
  531. package/_mjs/IO/api/blocking.mjs.map +1 -1
  532. package/_mjs/IO/api/bracket.mjs.map +1 -1
  533. package/_mjs/IO/api/bracketExit.mjs +1 -1
  534. package/_mjs/IO/api/bracketExit.mjs.map +1 -1
  535. package/_mjs/IO/api/clockWith.mjs.map +1 -1
  536. package/_mjs/IO/api/concurrency.mjs +3 -3
  537. package/_mjs/IO/api/concurrency.mjs.map +1 -1
  538. package/_mjs/IO/api/concurrentFinalizers.mjs.map +1 -1
  539. package/_mjs/IO/api/consoleWith.mjs.map +1 -1
  540. package/_mjs/IO/api/daemonChildren.mjs +1 -1
  541. package/_mjs/IO/api/daemonChildren.mjs.map +1 -1
  542. package/_mjs/IO/api/delay.mjs.map +1 -1
  543. package/_mjs/IO/api/descriptor.mjs.map +1 -1
  544. package/_mjs/IO/api/disconnect.mjs.map +1 -1
  545. package/_mjs/IO/api/ensuringChildren.mjs.map +1 -1
  546. package/_mjs/IO/api/environment.mjs.map +1 -1
  547. package/_mjs/IO/api/foreachConcurrent.mjs +1 -1
  548. package/_mjs/IO/api/foreachConcurrent.mjs.map +1 -1
  549. package/_mjs/IO/api/foreachExec.mjs.map +1 -1
  550. package/_mjs/IO/api/fork.mjs +2 -1
  551. package/_mjs/IO/api/fork.mjs.map +1 -1
  552. package/_mjs/IO/api/forkAll.mjs.map +1 -1
  553. package/_mjs/IO/api/forkDaemon.mjs.map +1 -1
  554. package/_mjs/IO/api/forkIn.mjs.map +1 -1
  555. package/_mjs/IO/api/forkScoped.mjs.map +1 -1
  556. package/_mjs/IO/api/fulfill.mjs.map +1 -1
  557. package/_mjs/IO/api/interrupt.mjs +4 -4
  558. package/_mjs/IO/api/interrupt.mjs.map +1 -1
  559. package/_mjs/IO/api/memoize.mjs.map +1 -1
  560. package/_mjs/IO/api/onTermination.mjs.map +1 -1
  561. package/_mjs/IO/api/once.mjs.map +1 -1
  562. package/_mjs/IO/api/provideLayer.mjs.map +1 -1
  563. package/_mjs/IO/api/provideScope.mjs.map +1 -1
  564. package/_mjs/IO/api/provideSomeLayer.mjs.map +1 -1
  565. package/_mjs/IO/api/race.mjs +1 -1
  566. package/_mjs/IO/api/race.mjs.map +1 -1
  567. package/_mjs/IO/api/raceFirst.mjs.map +1 -1
  568. package/_mjs/IO/api/raceWith.mjs.map +1 -1
  569. package/_mjs/IO/api/randomWith.mjs.map +1 -1
  570. package/_mjs/IO/api/repeat.mjs +2 -2
  571. package/_mjs/IO/api/repeat.mjs.map +1 -1
  572. package/_mjs/IO/api/retry.mjs.map +1 -1
  573. package/_mjs/IO/api/schedule.mjs.map +1 -1
  574. package/_mjs/IO/api/scope.mjs.map +1 -1
  575. package/_mjs/IO/api/scopeWith.mjs.map +1 -1
  576. package/_mjs/IO/api/scoped.mjs.map +1 -1
  577. package/_mjs/IO/api/sequenceT.mjs.map +1 -1
  578. package/_mjs/IO/api/sleep.mjs.map +1 -1
  579. package/_mjs/IO/api/stateful.mjs.map +1 -1
  580. package/_mjs/IO/api/supervised.mjs.map +1 -1
  581. package/_mjs/IO/api/timeout.mjs +1 -1
  582. package/_mjs/IO/api/timeout.mjs.map +1 -1
  583. package/_mjs/IO/api/transplant.mjs +1 -1
  584. package/_mjs/IO/api/transplant.mjs.map +1 -1
  585. package/_mjs/IO/api/whenFiberRef.mjs.map +1 -1
  586. package/_mjs/IO/api/whenRef.mjs.map +1 -1
  587. package/_mjs/IO/api/withChildren.mjs.map +1 -1
  588. package/_mjs/IO/api/withEarlyRelease.mjs +1 -1
  589. package/_mjs/IO/api/withEarlyRelease.mjs.map +1 -1
  590. package/_mjs/IO/api/withFinalizer.mjs.map +1 -1
  591. package/_mjs/IO/api/withFinalizerExit.mjs.map +1 -1
  592. package/_mjs/IO/api/zipConcurrent.mjs +1 -1
  593. package/_mjs/IO/api/zipConcurrent.mjs.map +1 -1
  594. package/_mjs/IO/api.mjs +33 -31
  595. package/_mjs/IO/api.mjs.map +1 -1
  596. package/_mjs/IO/definition.mjs +16 -27
  597. package/_mjs/IO/definition.mjs.map +1 -1
  598. package/_mjs/IO/runtime.mjs +50 -36
  599. package/_mjs/IO/runtime.mjs.map +1 -1
  600. package/_mjs/IO.mjs.map +1 -1
  601. package/_mjs/IOEnv/definition.mjs.map +1 -1
  602. package/_mjs/IOEnv/live.mjs.map +1 -1
  603. package/_mjs/IOEnv/services.mjs.map +1 -1
  604. package/_mjs/IOEnv.mjs.map +1 -1
  605. package/_mjs/InterruptStatus/constructors.mjs.map +1 -1
  606. package/_mjs/InterruptStatus/definition.mjs.map +1 -1
  607. package/_mjs/InterruptStatus.mjs.map +1 -1
  608. package/_mjs/Layer/MemoMap.mjs.map +1 -1
  609. package/_mjs/Layer/api.mjs.map +1 -1
  610. package/_mjs/Layer/definition.mjs.map +1 -1
  611. package/_mjs/Layer.mjs.map +1 -1
  612. package/_mjs/LogLevel.mjs.map +1 -1
  613. package/_mjs/LogSpan.mjs.map +1 -1
  614. package/_mjs/Logger/api.mjs +3 -2
  615. package/_mjs/Logger/api.mjs.map +1 -1
  616. package/_mjs/Logger/constructors.mjs.map +1 -1
  617. package/_mjs/Logger/definition.mjs.map +1 -1
  618. package/_mjs/Logger.mjs.map +1 -1
  619. package/_mjs/MVar/api.mjs +11 -11
  620. package/_mjs/MVar/api.mjs.map +1 -1
  621. package/_mjs/MVar/definition.mjs.map +1 -1
  622. package/_mjs/MVar.mjs.map +1 -1
  623. package/_mjs/Push/api.mjs +3 -3
  624. package/_mjs/Push/api.mjs.map +1 -1
  625. package/_mjs/Push/definition.mjs.map +1 -1
  626. package/_mjs/Push/internal.mjs +1 -1
  627. package/_mjs/Push/internal.mjs.map +1 -1
  628. package/_mjs/Push.mjs.map +1 -1
  629. package/_mjs/Queue/api/dimapIO.mjs.map +1 -1
  630. package/_mjs/Queue/api/filterInputIO.mjs +2 -2
  631. package/_mjs/Queue/api/filterInputIO.mjs.map +1 -1
  632. package/_mjs/Queue/api/filterOutputIO.mjs.map +1 -1
  633. package/_mjs/Queue/api/operations.mjs.map +1 -1
  634. package/_mjs/Queue/api/poll.mjs.map +1 -1
  635. package/_mjs/Queue/api/takeBetween.mjs.map +1 -1
  636. package/_mjs/Queue/api/zipWithIO.mjs.map +1 -1
  637. package/_mjs/Queue/api.mjs.map +1 -1
  638. package/_mjs/Queue/constructors.mjs.map +1 -1
  639. package/_mjs/Queue/definition.mjs.map +1 -1
  640. package/_mjs/Queue/internal.mjs.map +1 -1
  641. package/_mjs/Queue/strategy.mjs.map +1 -1
  642. package/_mjs/Queue.mjs.map +1 -1
  643. package/_mjs/Random/api.mjs.map +1 -1
  644. package/_mjs/Random/definition.mjs.map +1 -1
  645. package/_mjs/Random/live.mjs.map +1 -1
  646. package/_mjs/Random.mjs.map +1 -1
  647. package/_mjs/Ref/Atomic.mjs.map +1 -1
  648. package/_mjs/Ref/Derived.mjs +4 -4
  649. package/_mjs/Ref/Derived.mjs.map +1 -1
  650. package/_mjs/Ref/DerivedAll.mjs +5 -5
  651. package/_mjs/Ref/DerivedAll.mjs.map +1 -1
  652. package/_mjs/Ref/Synchronized/api.mjs +3 -3
  653. package/_mjs/Ref/Synchronized/api.mjs.map +1 -1
  654. package/_mjs/Ref/Synchronized/constructors.mjs.map +1 -1
  655. package/_mjs/Ref/Synchronized/definition.mjs.map +1 -1
  656. package/_mjs/Ref/Synchronized.mjs.map +1 -1
  657. package/_mjs/Ref/api/collect.mjs +1 -1
  658. package/_mjs/Ref/api/collect.mjs.map +1 -1
  659. package/_mjs/Ref/api/dimap.mjs +3 -3
  660. package/_mjs/Ref/api/dimap.mjs.map +1 -1
  661. package/_mjs/Ref/api/filter.mjs +2 -2
  662. package/_mjs/Ref/api/filter.mjs.map +1 -1
  663. package/_mjs/Ref/api/get.mjs.map +1 -1
  664. package/_mjs/Ref/api/match.mjs.map +1 -1
  665. package/_mjs/Ref/api/matchAll.mjs.map +1 -1
  666. package/_mjs/Ref/api/modify.mjs.map +1 -1
  667. package/_mjs/Ref/api/set.mjs.map +1 -1
  668. package/_mjs/Ref/api.mjs +2 -1
  669. package/_mjs/Ref/api.mjs.map +1 -1
  670. package/_mjs/Ref/constructors.mjs.map +1 -1
  671. package/_mjs/Ref/definition.mjs.map +1 -1
  672. package/_mjs/Ref.mjs.map +1 -1
  673. package/_mjs/RefSubject/Atomic.mjs +6 -6
  674. package/_mjs/RefSubject/Atomic.mjs.map +1 -1
  675. package/_mjs/RefSubject/Synchronized/api.mjs.map +1 -1
  676. package/_mjs/RefSubject/Synchronized/definition.mjs.map +1 -1
  677. package/_mjs/RefSubject/api.mjs.map +1 -1
  678. package/_mjs/RefSubject/definition.mjs.map +1 -1
  679. package/_mjs/RefSubject.mjs.map +1 -1
  680. package/_mjs/Reloadable/api.mjs.map +1 -1
  681. package/_mjs/Reloadable/constructors.mjs.map +1 -1
  682. package/_mjs/Reloadable/definition.mjs.map +1 -1
  683. package/_mjs/Reloadable.mjs.map +1 -1
  684. package/_mjs/RuntimeFlag.mjs.map +1 -1
  685. package/_mjs/RuntimeFlags/Patch.mjs.map +1 -1
  686. package/_mjs/RuntimeFlags/RuntimeFlags.mjs.map +1 -1
  687. package/_mjs/RuntimeFlags.mjs.map +1 -1
  688. package/_mjs/STM/api/atomically.mjs.map +1 -1
  689. package/_mjs/STM/api/core-api.mjs.map +1 -1
  690. package/_mjs/STM/api/core-constructors.mjs.map +1 -1
  691. package/_mjs/STM/api.mjs +5 -5
  692. package/_mjs/STM/api.mjs.map +1 -1
  693. package/_mjs/STM/definition.mjs +1 -1
  694. package/_mjs/STM/definition.mjs.map +1 -1
  695. package/_mjs/STM/driver.mjs.map +1 -1
  696. package/_mjs/STM/internal/CommitState.mjs +5 -4
  697. package/_mjs/STM/internal/CommitState.mjs.map +1 -1
  698. package/_mjs/STM/internal/Entry.mjs.map +1 -1
  699. package/_mjs/STM/internal/Journal.mjs +8 -8
  700. package/_mjs/STM/internal/Journal.mjs.map +1 -1
  701. package/_mjs/STM/internal/TryCommit.mjs.map +1 -1
  702. package/_mjs/STM/internal/Versioned.mjs.map +1 -1
  703. package/_mjs/STM.mjs.map +1 -1
  704. package/_mjs/Schedule/Decision.mjs.map +1 -1
  705. package/_mjs/Schedule/Driver.mjs.map +1 -1
  706. package/_mjs/Schedule/api/driver.mjs +3 -3
  707. package/_mjs/Schedule/api/driver.mjs.map +1 -1
  708. package/_mjs/Schedule/api.mjs +9 -9
  709. package/_mjs/Schedule/api.mjs.map +1 -1
  710. package/_mjs/Schedule/definition.mjs.map +1 -1
  711. package/_mjs/Schedule.mjs.map +1 -1
  712. package/_mjs/Scope/Finalizer/definition.mjs.map +1 -1
  713. package/_mjs/Scope/Finalizer.mjs.map +1 -1
  714. package/_mjs/Scope/ReleaseMap/api/releaseAll.mjs +1 -1
  715. package/_mjs/Scope/ReleaseMap/api/releaseAll.mjs.map +1 -1
  716. package/_mjs/Scope/ReleaseMap/api.mjs +3 -3
  717. package/_mjs/Scope/ReleaseMap/api.mjs.map +1 -1
  718. package/_mjs/Scope/ReleaseMap/constructors.mjs.map +1 -1
  719. package/_mjs/Scope/ReleaseMap/definition.mjs.map +1 -1
  720. package/_mjs/Scope/ReleaseMap.mjs.map +1 -1
  721. package/_mjs/Scope/api.mjs.map +1 -1
  722. package/_mjs/Scope/definition.mjs.map +1 -1
  723. package/_mjs/Scope.mjs.map +1 -1
  724. package/_mjs/ScopedRef/api.mjs +1 -1
  725. package/_mjs/ScopedRef/api.mjs.map +1 -1
  726. package/_mjs/ScopedRef/definition.mjs.map +1 -1
  727. package/_mjs/ScopedRef.mjs.map +1 -1
  728. package/_mjs/Semaphore.mjs +2 -2
  729. package/_mjs/Semaphore.mjs.map +1 -1
  730. package/_mjs/Sink/api.mjs +6 -6
  731. package/_mjs/Sink/api.mjs.map +1 -1
  732. package/_mjs/Sink/definition.mjs.map +1 -1
  733. package/_mjs/Sink.mjs.map +1 -1
  734. package/_mjs/State/api.mjs.map +1 -1
  735. package/_mjs/State/definition.mjs.map +1 -1
  736. package/_mjs/State/internal.mjs.map +1 -1
  737. package/_mjs/State.mjs.map +1 -1
  738. package/_mjs/Stream/api/zipAllWith.mjs +8 -8
  739. package/_mjs/Stream/api/zipAllWith.mjs.map +1 -1
  740. package/_mjs/Stream/api/zipWith.mjs.map +1 -1
  741. package/_mjs/Stream/api/zipWithChunks.mjs +6 -6
  742. package/_mjs/Stream/api/zipWithChunks.mjs.map +1 -1
  743. package/_mjs/Stream/api.mjs +281 -58
  744. package/_mjs/Stream/api.mjs.map +1 -1
  745. package/_mjs/Stream/definition.mjs.map +1 -1
  746. package/_mjs/Stream/internal/DebounceState.mjs.map +1 -1
  747. package/_mjs/Stream/internal/Handoff.mjs +2 -2
  748. package/_mjs/Stream/internal/Handoff.mjs.map +1 -1
  749. package/_mjs/Stream/internal/Pull.mjs +2 -2
  750. package/_mjs/Stream/internal/Pull.mjs.map +1 -1
  751. package/_mjs/Stream/internal/SinkEndReason.mjs.map +1 -1
  752. package/_mjs/Stream/internal/Take.mjs +6 -6
  753. package/_mjs/Stream/internal/Take.mjs.map +1 -1
  754. package/_mjs/Stream/internal/util.mjs +3 -2
  755. package/_mjs/Stream/internal/util.mjs.map +1 -1
  756. package/_mjs/Stream.mjs.map +1 -1
  757. package/_mjs/Subject/Atomic.mjs.map +1 -1
  758. package/_mjs/Subject/api.mjs.map +1 -1
  759. package/_mjs/Subject/definition.mjs.map +1 -1
  760. package/_mjs/Subject.mjs.map +1 -1
  761. package/_mjs/SubscriptionRef.mjs.map +1 -1
  762. package/_mjs/Supervisor/api.mjs.map +1 -1
  763. package/_mjs/Supervisor/constructors.mjs.map +1 -1
  764. package/_mjs/Supervisor/definition.mjs.map +1 -1
  765. package/_mjs/Supervisor.mjs.map +1 -1
  766. package/_mjs/SupervisorPatch.mjs.map +1 -1
  767. package/_mjs/TExit/constructors.mjs.map +1 -1
  768. package/_mjs/TExit/definition.mjs.map +1 -1
  769. package/_mjs/TExit.mjs.map +1 -1
  770. package/_mjs/TFuture/api.mjs +3 -3
  771. package/_mjs/TFuture/api.mjs.map +1 -1
  772. package/_mjs/TFuture/constructors.mjs +1 -1
  773. package/_mjs/TFuture/constructors.mjs.map +1 -1
  774. package/_mjs/TFuture/definition.mjs.map +1 -1
  775. package/_mjs/TFuture.mjs.map +1 -1
  776. package/_mjs/TReentrantLock/api.mjs.map +1 -1
  777. package/_mjs/TReentrantLock/definition.mjs.map +1 -1
  778. package/_mjs/TReentrantLock.mjs.map +1 -1
  779. package/_mjs/TRef/api.mjs.map +1 -1
  780. package/_mjs/TRef/constructors.mjs.map +1 -1
  781. package/_mjs/TRef/definition.mjs +9 -9
  782. package/_mjs/TRef/definition.mjs.map +1 -1
  783. package/_mjs/TRef.mjs.map +1 -1
  784. package/_mjs/TSemaphore/api.mjs.map +1 -1
  785. package/_mjs/TSemaphore/constructors.mjs.map +1 -1
  786. package/_mjs/TSemaphore/definition.mjs.map +1 -1
  787. package/_mjs/TSemaphore.mjs.map +1 -1
  788. package/_mjs/TxnId.mjs.map +1 -1
  789. package/_mjs/collection/immutable/Conc/dropUntilIO.mjs.map +1 -1
  790. package/_mjs/collection/immutable/Conc/dropWhileIO.mjs.map +1 -1
  791. package/_mjs/collection/immutable/Conc/filterIO.mjs.map +1 -1
  792. package/_mjs/collection/immutable/Conc/findIO.mjs +3 -3
  793. package/_mjs/collection/immutable/Conc/findIO.mjs.map +1 -1
  794. package/_mjs/collection/immutable/Conc/mapIO.mjs.map +1 -1
  795. package/_mjs/collection/immutable/Conc/takeWhileIO.mjs.map +1 -1
  796. package/_mjs/collection/immutable/Conc.mjs.map +1 -1
  797. package/_mjs/data/Exit/foreachIO.mjs +1 -1
  798. package/_mjs/data/Exit/foreachIO.mjs.map +1 -1
  799. package/_mjs/global.mjs.map +1 -1
  800. package/_mjs/index.mjs.map +1 -1
  801. package/_mjs/internal/BackgroundScheduler.mjs.map +1 -1
  802. package/_mjs/internal/HashedPair.mjs.map +1 -1
  803. package/_mjs/internal/Hub.mjs.map +1 -1
  804. package/_mjs/internal/IsFatal.mjs.map +1 -1
  805. package/_mjs/internal/MutableQueue.mjs.map +1 -1
  806. package/_mjs/internal/Scheduler.mjs.map +1 -1
  807. package/_mjs/internal/StackTraceBuilder.mjs.map +1 -1
  808. package/_src/Fiber/FiberRuntime.ts +42 -19
  809. package/_src/Fiber/api/collectAll.ts +1 -1
  810. package/_src/Fiber/api/zipWith.ts +2 -2
  811. package/_src/IO/api/asyncIO.ts +1 -1
  812. package/_src/IO/api/bracketExit.ts +1 -1
  813. package/_src/IO/api/foreachConcurrent.ts +1 -1
  814. package/_src/IO/api/interrupt.ts +2 -2
  815. package/_src/IO/api/race.ts +2 -2
  816. package/_src/IO/api/zipConcurrent.ts +2 -2
  817. package/_src/IO/api.ts +5 -4
  818. package/_src/IO/definition.ts +35 -28
  819. package/_src/IO/runtime.ts +41 -34
  820. package/_src/RefSubject/Atomic.ts +4 -4
  821. package/_src/STM/definition.ts +1 -1
  822. package/_src/Schedule/api.ts +1 -1
  823. package/_src/Stream/api.ts +258 -8
  824. package/package.json +3 -3
  825. package/IOSpec.d.ts +0 -22
  826. package/Latch.d.ts +0 -3
  827. package/runTests.d.ts +0 -1
@@ -2,6 +2,8 @@ import type { FiberStatus } from "../FiberStatus.js";
2
2
  import type { OnFailure, OnSuccess, OnSuccessAndFailure, UIO } from "../IO/definition.js";
3
3
  import type { RuntimeFlags } from "../RuntimeFlags.js";
4
4
 
5
+ import { isIOError } from "@fncts/base/data/exceptions";
6
+ import { ExitTag } from "@fncts/base/data/Exit";
5
7
  import { Trace } from "@fncts/base/data/Trace";
6
8
  import { FiberTypeId, FiberVariance } from "@fncts/io/Fiber/definition";
7
9
  import { StackTraceBuilder } from "@fncts/io/internal/StackTraceBuilder";
@@ -13,17 +15,16 @@ import { LinkedQueue } from "../internal/MutableQueue.js";
13
15
  import { isIO } from "../IO/definition.js";
14
16
  import { WhileLoop } from "../IO/definition.js";
15
17
  import { IOOpCode } from "../IO/definition.js";
16
- import { isIOError } from "../IO/definition.js";
17
18
  import { RuntimeFlag } from "../RuntimeFlag.js";
18
19
  import { FiberMessage, FiberMessageTag } from "./FiberMessage.js";
19
20
 
20
21
  export class RevertFlags {
21
- readonly ioOpCode = IOOpCode.RevertFlags;
22
+ readonly _tag = IOOpCode.RevertFlags;
22
23
  constructor(readonly patch: RuntimeFlags.Patch, readonly trace?: string) {}
23
24
  }
24
25
 
25
26
  export class UpdateTrace {
26
- readonly ioOpCode = IOOpCode.UpdateTrace;
27
+ readonly _tag = IOOpCode.UpdateTrace;
27
28
  constructor(readonly trace?: string) {}
28
29
  }
29
30
 
@@ -267,7 +268,7 @@ export class FiberRuntime<E, A> implements Fiber.Runtime<E, A> {
267
268
  }
268
269
  } catch (e) {
269
270
  if (isIO(e)) {
270
- if (IO.concrete(e).ioOpCode === IOOpCode.YieldNow) {
271
+ if (IO.concrete(e)._tag === IOOpCode.YieldNow) {
271
272
  if (this._runtimeFlags.cooperativeYielding) {
272
273
  this.tell(FiberMessage.YieldNow);
273
274
  this.tell(FiberMessage.Resume(IO.unit));
@@ -275,10 +276,10 @@ export class FiberRuntime<E, A> implements Fiber.Runtime<E, A> {
275
276
  } else {
276
277
  effect = IO.unit;
277
278
  }
278
- } else if (IO.concrete(e).ioOpCode === IOOpCode.Async) {
279
+ } else if (IO.concrete(e)._tag === IOOpCode.Async) {
279
280
  effect = null!;
280
281
  } else {
281
- throw new Error(`Unhandled op ${IO.concrete(e).ioOpCode}`);
282
+ throw new Error(`Unhandled op ${IO.concrete(e)._tag}`);
282
283
  }
283
284
  } else {
284
285
  throw e;
@@ -315,12 +316,12 @@ export class FiberRuntime<E, A> implements Fiber.Runtime<E, A> {
315
316
  cur = IO.concrete(IO.yieldNow.flatMap(() => oldCur, trace));
316
317
  }
317
318
  try {
318
- switch (cur.ioOpCode) {
319
+ switch (cur._tag) {
319
320
  case IOOpCode.Sync: {
320
321
  const value = cur.evaluate();
321
322
  const cont = this.getNextSuccessCont();
322
323
  if (cont) {
323
- switch (cont.ioOpCode) {
324
+ switch (cont._tag) {
324
325
  case IOOpCode.OnSuccess:
325
326
  case IOOpCode.OnSuccessAndFailure: {
326
327
  cur = IO.concrete(cont.successK(value));
@@ -400,7 +401,7 @@ export class FiberRuntime<E, A> implements Fiber.Runtime<E, A> {
400
401
  const oldCur = cur;
401
402
  const cont = this.getNextSuccessCont();
402
403
  if (cont) {
403
- switch (cont.ioOpCode) {
404
+ switch (cont._tag) {
404
405
  case IOOpCode.OnSuccess:
405
406
  case IOOpCode.OnSuccessAndFailure: {
406
407
  cur = IO.concrete(cont.successK(oldCur.value));
@@ -438,7 +439,7 @@ export class FiberRuntime<E, A> implements Fiber.Runtime<E, A> {
438
439
  const cause = cur.cause();
439
440
  const cont = this.getNextFailCont();
440
441
  if (cont) {
441
- switch (cont.ioOpCode) {
442
+ switch (cont._tag) {
442
443
  case IOOpCode.OnFailure:
443
444
  case IOOpCode.OnSuccessAndFailure: {
444
445
  if (!(this._runtimeFlags.interruptible && this.isInterrupted())) {
@@ -455,7 +456,7 @@ export class FiberRuntime<E, A> implements Fiber.Runtime<E, A> {
455
456
  if (cause.contains(interruptedCause)) {
456
457
  cur = IO.concrete(IO.failCauseNow(cause));
457
458
  } else {
458
- cur = IO.concrete(IO.failCauseNow(Cause.then(cause, this.getInterruptedCause())));
459
+ cur = IO.concrete(IO.failCauseNow(Cause.sequential(cause, this.getInterruptedCause())));
459
460
  }
460
461
  }
461
462
  break;
@@ -493,18 +494,40 @@ export class FiberRuntime<E, A> implements Fiber.Runtime<E, A> {
493
494
  }
494
495
  case IOOpCode.Commit: {
495
496
  cur = IO.concrete(cur.commit);
497
+ break;
498
+ }
499
+ case "Just": {
500
+ cur = IO.concrete(IO.succeedNow(cur.value));
501
+ break;
502
+ }
503
+ case "Nothing": {
504
+ cur = IO.concrete(IO.failNow(new NoSuchElementError()));
505
+ break;
506
+ }
507
+ case "Left": {
508
+ cur = IO.concrete(IO.failNow(cur.left));
509
+ break;
510
+ }
511
+ case "Right": {
512
+ cur = IO.concrete(IO.succeedNow(cur.right));
513
+ break;
514
+ }
515
+ case ExitTag.Failure: {
516
+ cur = IO.concrete(IO.failCauseNow(cur.cause));
517
+ break;
518
+ }
519
+ case ExitTag.Success: {
520
+ cur = IO.concrete(IO.succeedNow(cur.value));
521
+ break;
496
522
  }
497
523
  }
498
524
  } catch (e) {
499
525
  if (isIOError(e)) {
500
526
  cur = IO.concrete(IO.failCauseNow(e.cause));
501
- } else if (
502
- isIO(e) &&
503
- (IO.concrete(e).ioOpCode === IOOpCode.Async || IO.concrete(e).ioOpCode === IOOpCode.YieldNow)
504
- ) {
527
+ } else if (isIO(e) && (IO.concrete(e)._tag === IOOpCode.Async || IO.concrete(e)._tag === IOOpCode.YieldNow)) {
505
528
  throw e;
506
529
  } else if (isInterruptedException(e)) {
507
- cur = IO.concrete(IO.failCauseNow(Cause.both(Cause.halt(e), Cause.interrupt(FiberId.none))));
530
+ cur = IO.concrete(IO.failCauseNow(Cause.parallel(Cause.halt(e), Cause.interrupt(FiberId.none))));
508
531
  } else {
509
532
  cur = IO.concrete(IO.failCauseNow(Cause.halt(e, Trace(this.fiberId, Conc(TraceElement.parse(lastTrace))))));
510
533
  }
@@ -640,7 +663,7 @@ export class FiberRuntime<E, A> implements Fiber.Runtime<E, A> {
640
663
  if (oldSC.contains(cause)) {
641
664
  return;
642
665
  }
643
- this.setFiberRef(FiberRef.interruptedCause, Cause.then(oldSC, cause));
666
+ this.setFiberRef(FiberRef.interruptedCause, Cause.sequential(oldSC, cause));
644
667
  }
645
668
 
646
669
  private processNewInterruptSignal(cause: Cause<never>): void {
@@ -799,7 +822,7 @@ export class FiberRuntime<E, A> implements Fiber.Runtime<E, A> {
799
822
  getNextSuccessCont() {
800
823
  while (this.stack.hasNext) {
801
824
  const frame = this.stack.pop()!;
802
- if (frame.ioOpCode !== IOOpCode.OnFailure) {
825
+ if (frame._tag !== IOOpCode.OnFailure) {
803
826
  return frame;
804
827
  }
805
828
  }
@@ -808,7 +831,7 @@ export class FiberRuntime<E, A> implements Fiber.Runtime<E, A> {
808
831
  getNextFailCont() {
809
832
  while (this.stack.hasNext) {
810
833
  const frame = this.stack.pop()!;
811
- if (frame.ioOpCode !== IOOpCode.OnSuccess && frame.ioOpCode !== IOOpCode.WhileLoop) {
834
+ if (frame._tag !== IOOpCode.OnSuccess && frame._tag !== IOOpCode.WhileLoop) {
812
835
  return frame;
813
836
  }
814
837
  }
@@ -22,7 +22,7 @@ export function sequenceIterable<E, A>(
22
22
  (ra) =>
23
23
  b.match(
24
24
  () => Nothing(),
25
- (rb) => Just(ra.zipWithCause(rb, (a, as) => as.prepend(a), Cause.both)),
25
+ (rb) => Just(ra.zipWithCause(rb, (a, as) => as.prepend(a), Cause.parallel)),
26
26
  ),
27
27
  ),
28
28
  ),
@@ -15,9 +15,9 @@ export function zipWith<A, E1, B, C>(that: Fiber<E1, B>, f: (a: A, b: B) => C, _
15
15
  self.children,
16
16
  that.inheritRefs > self.inheritRefs,
17
17
  self.poll.zipWith(that.poll, (ma, mb) =>
18
- ma.isJust() && mb.isJust() ? Just(ma.value.zipWithCause(mb.value, f, Cause.then)) : Nothing(),
18
+ ma.isJust() && mb.isJust() ? Just(ma.value.zipWithCause(mb.value, f, Cause.sequential)) : Nothing(),
19
19
  ),
20
- (id) => self.interruptAs(id).zipWith(that.interruptAs(id), (ea, eb) => ea.zipWithCause(eb, f, Cause.then)),
20
+ (id) => self.interruptAs(id).zipWith(that.interruptAs(id), (ea, eb) => ea.zipWithCause(eb, f, Cause.sequential)),
21
21
  );
22
22
  };
23
23
  }
@@ -10,7 +10,7 @@ export function asyncIO<R, E, A>(
10
10
  const r = Δ(IO.runtime<R>());
11
11
  const a = Δ(
12
12
  IO.uninterruptibleMask((restore) => {
13
- const io = register((k) => r.unsafeRunAsync(k.fulfill(f)));
13
+ const io = register((k) => r.unsafeRunFiber(k.fulfill(f)));
14
14
  return restore(io.catchAllCause((cause) => f.failCause(cause))).fork > restore(f.await);
15
15
  }),
16
16
  );
@@ -21,7 +21,7 @@ export function bracketExit<R, E, A, E1, R1, A1, R2, E2>(
21
21
  (cause2) =>
22
22
  IO.failCause(
23
23
  exit.match(
24
- (cause1) => Cause.then(cause1, cause2),
24
+ (cause1) => Cause.sequential(cause1, cause2),
25
25
  () => cause2,
26
26
  ),
27
27
  ),
@@ -89,7 +89,7 @@ function foreachConcurrentUnboundedDiscard<R, E, A>(
89
89
  () => IO.failCauseNow(cause.stripFailures),
90
90
  (exit) =>
91
91
  exit.isFailure()
92
- ? IO.failCauseNow(Cause.both(cause.stripFailures, exit.cause))
92
+ ? IO.failCauseNow(Cause.parallel(cause.stripFailures, exit.cause))
93
93
  : IO.failCauseNow(cause.stripFailures),
94
94
  ),
95
95
  ),
@@ -80,7 +80,7 @@ export function ensuring<R1>(finalizer: IO<R1, never, any>, __tsplusTrace?: stri
80
80
  restore(self).matchCauseIO(
81
81
  (cause1) =>
82
82
  finalizer.matchCauseIO(
83
- (cause2) => IO.failCauseNow(Cause.then(cause1, cause2)),
83
+ (cause2) => IO.failCauseNow(Cause.sequential(cause1, cause2)),
84
84
  () => IO.failCauseNow(cause1),
85
85
  ),
86
86
  (a) => finalizer.map(() => a),
@@ -152,7 +152,7 @@ export function onExit<E, A, R1, E1>(cleanup: (exit: Exit<E, A>) => IO<R1, E1, a
152
152
  (failure1) => {
153
153
  const result = Exit.failCause(failure1);
154
154
  return cleanup(result).matchCauseIO(
155
- (failure2) => IO.failCauseNow(Cause.then(failure1, failure2)),
155
+ (failure2) => IO.failCauseNow(Cause.sequential(failure1, failure2)),
156
156
  () => IO.fromExitNow(result),
157
157
  );
158
158
  },
@@ -30,12 +30,12 @@ export function raceAwait<R1, E1, A1>(that: IO<R1, E1, A1>) {
30
30
  that,
31
31
  (exit, right) =>
32
32
  exit.match(
33
- (cause) => right.join.mapErrorCause((c) => Cause.both(cause, c)),
33
+ (cause) => right.join.mapErrorCause((c) => Cause.parallel(cause, c)),
34
34
  (a) => right.interruptAs(id).as(a),
35
35
  ),
36
36
  (exit, left) =>
37
37
  exit.match(
38
- (cause) => left.join.mapErrorCause((c) => Cause.both(cause, c)),
38
+ (cause) => left.join.mapErrorCause((c) => Cause.parallel(cause, c)),
39
39
  (a1) => left.interruptAs(id).as(a1),
40
40
  ),
41
41
  ),
@@ -30,9 +30,9 @@ export function zipWithConcurrent<A, R1, E1, B, C>(that: IO<R1, E1, B>, f: (a: A
30
30
  right.interruptFork >
31
31
  left.await.zip(right.await).flatMap(([left, right]) =>
32
32
  left
33
- .zipWithCause(right, f, (a, b) => Cause.both(a, b))
33
+ .zipWithCause(right, f, (a, b) => Cause.parallel(a, b))
34
34
  .match(
35
- (causes) => IO.refailCause(Cause.both(cause.stripFailures, causes)),
35
+ (causes) => IO.refailCause(Cause.parallel(cause.stripFailures, causes)),
36
36
  () => IO.refailCause(cause.stripFailures),
37
37
  ),
38
38
  ),
package/_src/IO/api.ts CHANGED
@@ -4,6 +4,7 @@ import type { _E, _R } from "@fncts/base/types";
4
4
  import type { FiberRuntime } from "@fncts/io/Fiber/FiberRuntime";
5
5
  import type { RuntimeFlags } from "@fncts/io/RuntimeFlags";
6
6
 
7
+ import { IOError } from "@fncts/base/data/exceptions";
7
8
  import { identity, pipe, tuple } from "@fncts/base/data/function";
8
9
  import {
9
10
  Async,
@@ -15,7 +16,7 @@ import {
15
16
  YieldNow,
16
17
  } from "@fncts/io/IO/definition";
17
18
  import { Stateful } from "@fncts/io/IO/definition";
18
- import { Fail, IO, IOError, SucceedNow } from "@fncts/io/IO/definition";
19
+ import { Fail, IO, SucceedNow } from "@fncts/io/IO/definition";
19
20
 
20
21
  /**
21
22
  * Imports an asynchronous side-effect into a `IO`
@@ -851,8 +852,8 @@ export function fromMaybe<A>(maybe: Lazy<Maybe<A>>, __tsplusTrace?: string): FIO
851
852
  * @tsplus static fncts.io.IOOps fromMaybeNow
852
853
  * @tsplus getter fncts.Maybe toIO
853
854
  */
854
- export function fromMaybeNow<A = never>(maybe: Maybe<A>, __tsplusTrace?: string): IO<unknown, Maybe<never>, A> {
855
- return maybe.match(() => IO.failNow(Nothing()), IO.succeedNow);
855
+ export function fromMaybeNow<A = never>(maybe: Maybe<A>, __tsplusTrace?: string): IO<never, NoSuchElementError, A> {
856
+ return maybe.match(() => IO.failNow(new NoSuchElementError("IO.fromMaybeNow")), IO.succeedNow);
856
857
  }
857
858
 
858
859
  /**
@@ -1575,7 +1576,7 @@ export function result<R, E, A>(ma: IO<R, E, A>, __tsplusTrace?: string): IO<R,
1575
1576
  /**
1576
1577
  * Recover from the unchecked failure of the `IO`. (opposite of `orHalt`)
1577
1578
  *
1578
- * @trace call
1579
+ * @tsplus getter fncts.io.IO resurrect
1579
1580
  */
1580
1581
  export function resurrect<R, E, A>(io: IO<R, E, A>, __tsplusTrace?: string): IO<R, unknown, A> {
1581
1582
  return io.unrefineWith(Maybe.just, identity);
@@ -1,6 +1,8 @@
1
1
  import type { FiberRuntime } from "../Fiber/FiberRuntime.js";
2
2
  import type { Running } from "../FiberStatus.js";
3
3
  import type { RuntimeFlagsPatch } from "../RuntimeFlags.js";
4
+ import type { Left, Right } from "@fncts/base/data/Either";
5
+ import type { Failure, Success } from "@fncts/base/data/Exit";
4
6
  import type { Trace } from "@fncts/base/data/Trace";
5
7
 
6
8
  import { RuntimeFlag } from "../RuntimeFlag.js";
@@ -34,6 +36,17 @@ export abstract class IO<R, E, A> {
34
36
  };
35
37
  }
36
38
 
39
+ declare module "@fncts/base/data/Either/definition" {
40
+ interface Either<E, A> extends IO<never, E, A> {}
41
+ }
42
+ declare module "@fncts/base/data/Maybe/definition" {
43
+ interface Maybe<A> extends IO<never, NoSuchElementError, A> {}
44
+ }
45
+ declare module "@fncts/base/data/Exit/definition" {
46
+ interface Success<A> extends IO<never, never, A> {}
47
+ interface Failure<E> extends IO<never, E, never> {}
48
+ }
49
+
37
50
  /**
38
51
  * @tsplus type fncts.io.IOAspects
39
52
  */
@@ -87,14 +100,14 @@ export function isIO(u: unknown): u is IO<any, any, any> {
87
100
  }
88
101
 
89
102
  export class Sync<A> extends IO<never, never, A> {
90
- readonly ioOpCode = IOOpCode.Sync;
103
+ readonly _tag = IOOpCode.Sync;
91
104
  constructor(readonly evaluate: () => A, readonly trace?: string) {
92
105
  super();
93
106
  }
94
107
  }
95
108
 
96
109
  export class Async<R, E, A> extends IO<R, E, A> {
97
- readonly ioOpCode = IOOpCode.Async;
110
+ readonly _tag = IOOpCode.Async;
98
111
  constructor(
99
112
  readonly registerCallback: (f: (_: IO<R, E, A>) => void) => any,
100
113
  readonly blockingOn: () => FiberId,
@@ -108,7 +121,7 @@ export class Async<R, E, A> extends IO<R, E, A> {
108
121
  * @internal
109
122
  */
110
123
  export class OnSuccessAndFailure<R, E, A, R1, E1, B, R2, E2, C> extends IO<R | R1 | R2, E1 | E2, B | C> {
111
- readonly ioOpCode = IOOpCode.OnSuccessAndFailure;
124
+ readonly _tag = IOOpCode.OnSuccessAndFailure;
112
125
 
113
126
  constructor(
114
127
  readonly first: IO<R, E, A>,
@@ -128,7 +141,7 @@ export class OnSuccessAndFailure<R, E, A, R1, E1, B, R2, E2, C> extends IO<R | R
128
141
  }
129
142
 
130
143
  export class OnFailure<R, E, A, R1, E1, B> extends IO<R | R1, E1, A | B> {
131
- readonly ioOpCode = IOOpCode.OnFailure;
144
+ readonly _tag = IOOpCode.OnFailure;
132
145
  constructor(
133
146
  readonly first: IO<R, E, A>,
134
147
  readonly failureK: (cause: Cause<E>) => IO<R1, E1, B>,
@@ -149,7 +162,7 @@ export class OnFailure<R, E, A, R1, E1, B> extends IO<R | R1, E1, A | B> {
149
162
  * @internal
150
163
  */
151
164
  export class OnSuccess<R, R1, E, E1, A, A1> extends IO<R | R1, E | E1, A1> {
152
- readonly ioOpCode = IOOpCode.OnSuccess;
165
+ readonly _tag = IOOpCode.OnSuccess;
153
166
  constructor(readonly first: IO<R, E, A>, readonly successK: (a: A) => IO<R1, E1, A1>, readonly trace?: string) {
154
167
  super();
155
168
  }
@@ -165,21 +178,21 @@ export class OnSuccess<R, R1, E, E1, A, A1> extends IO<R | R1, E | E1, A1> {
165
178
  * @internal
166
179
  */
167
180
  export class SucceedNow<A> extends IO<never, never, A> {
168
- readonly ioOpCode = IOOpCode.SucceedNow;
181
+ readonly _tag = IOOpCode.SucceedNow;
169
182
  constructor(readonly value: A, readonly trace?: string) {
170
183
  super();
171
184
  }
172
185
  }
173
186
 
174
187
  export class UpdateRuntimeFlags extends IO<never, never, void> {
175
- readonly ioOpCode = IOOpCode.UpdateRuntimeFlags;
188
+ readonly _tag = IOOpCode.UpdateRuntimeFlags;
176
189
  constructor(readonly update: RuntimeFlags.Patch, readonly trace?: string) {
177
190
  super();
178
191
  }
179
192
  }
180
193
 
181
194
  export class Interruptible<R, E, A> extends IO<R, E, A> {
182
- readonly ioOpCode = IOOpCode.UpdateRuntimeFlagsWithin;
195
+ readonly _tag = IOOpCode.UpdateRuntimeFlagsWithin;
183
196
  constructor(readonly effect: IO<R, E, A>, readonly trace?: string) {
184
197
  super();
185
198
  }
@@ -191,7 +204,7 @@ export class Interruptible<R, E, A> extends IO<R, E, A> {
191
204
  }
192
205
 
193
206
  export class Uninterruptible<R, E, A> extends IO<R, E, A> {
194
- readonly ioOpCode = IOOpCode.UpdateRuntimeFlagsWithin;
207
+ readonly _tag = IOOpCode.UpdateRuntimeFlagsWithin;
195
208
  constructor(readonly effect: IO<R, E, A>, readonly trace?: string) {
196
209
  super();
197
210
  }
@@ -203,7 +216,7 @@ export class Uninterruptible<R, E, A> extends IO<R, E, A> {
203
216
  }
204
217
 
205
218
  export class Dynamic<R, E, A> extends IO<R, E, A> {
206
- readonly ioOpCode = IOOpCode.UpdateRuntimeFlagsWithin;
219
+ readonly _tag = IOOpCode.UpdateRuntimeFlagsWithin;
207
220
  constructor(
208
221
  readonly update: RuntimeFlagsPatch,
209
222
  readonly f: (oldRuntimeFlags: RuntimeFlags) => IO<R, E, A>,
@@ -218,21 +231,21 @@ export class Dynamic<R, E, A> extends IO<R, E, A> {
218
231
  }
219
232
 
220
233
  export class GenerateStackTrace extends IO<never, never, Trace> {
221
- readonly ioOpCode = IOOpCode.GenerateStackTrace;
234
+ readonly _tag = IOOpCode.GenerateStackTrace;
222
235
  constructor(readonly trace?: string) {
223
236
  super();
224
237
  }
225
238
  }
226
239
 
227
240
  export class Stateful<R, E, A> extends IO<R, E, A> {
228
- readonly ioOpCode = IOOpCode.Stateful;
241
+ readonly _tag = IOOpCode.Stateful;
229
242
  constructor(readonly onState: (fiber: FiberRuntime<E, A>, status: Running) => IO<R, E, A>, readonly trace?: string) {
230
243
  super();
231
244
  }
232
245
  }
233
246
 
234
247
  export class WhileLoop<R, E, A> extends IO<R, E, void> {
235
- readonly ioOpCode = IOOpCode.WhileLoop;
248
+ readonly _tag = IOOpCode.WhileLoop;
236
249
  constructor(
237
250
  readonly check: () => boolean,
238
251
  readonly body: () => IO<R, E, A>,
@@ -244,7 +257,7 @@ export class WhileLoop<R, E, A> extends IO<R, E, void> {
244
257
  }
245
258
 
246
259
  export class YieldNow extends IO<never, never, void> {
247
- readonly ioOpCode = IOOpCode.YieldNow;
260
+ readonly _tag = IOOpCode.YieldNow;
248
261
  constructor(readonly trace?: string) {
249
262
  super();
250
263
  }
@@ -254,7 +267,7 @@ export class YieldNow extends IO<never, never, void> {
254
267
  * @internal
255
268
  */
256
269
  export class Fail<E> extends IO<never, E, never> {
257
- readonly ioOpCode = IOOpCode.Fail;
270
+ readonly _tag = IOOpCode.Fail;
258
271
 
259
272
  constructor(readonly cause: Lazy<Cause<E>>, readonly trace?: string) {
260
273
  super();
@@ -275,7 +288,13 @@ export type Concrete =
275
288
  | WhileLoop<any, any, any>
276
289
  | YieldNow
277
290
  | Fail<any>
278
- | STM<any, any, any>;
291
+ | STM<any, any, any>
292
+ | Left<any>
293
+ | Right<any>
294
+ | Nothing
295
+ | Just<any>
296
+ | Failure<any>
297
+ | Success<any>;
279
298
 
280
299
  /**
281
300
  * @tsplus static fncts.io.IOOps concrete
@@ -296,15 +315,3 @@ export type UpdateRuntimeFlagsWithin =
296
315
  | Dynamic<any, any, any>;
297
316
 
298
317
  export type Canceler<R> = URIO<R, void>;
299
-
300
- export const IOErrorTypeId = Symbol.for("fncts.io.IO.IOError");
301
- export type IOErrorTypeId = typeof IOErrorTypeId;
302
-
303
- export class IOError<E> {
304
- readonly [IOErrorTypeId]: IOErrorTypeId = IOErrorTypeId;
305
- constructor(readonly cause: Cause<E>) {}
306
- }
307
-
308
- export function isIOError(u: unknown): u is IOError<unknown> {
309
- return isObject(u) && IOErrorTypeId in u;
310
- }
@@ -1,4 +1,5 @@
1
- import { FiberMessage, FiberRuntime } from "@fncts/io/Fiber";
1
+ import { IOError } from "@fncts/base/data/exceptions";
2
+ import { FiberRuntime } from "@fncts/io/Fiber";
2
3
  import { FiberRefs } from "@fncts/io/FiberRefs";
3
4
  import { RuntimeFlag } from "@fncts/io/RuntimeFlag";
4
5
  import { RuntimeFlags } from "@fncts/io/RuntimeFlags";
@@ -12,7 +13,7 @@ export class Runtime<R> {
12
13
  readonly fiberRefs: FiberRefs,
13
14
  ) {}
14
15
 
15
- unsafeRunFiber = <E, A>(io: IO<R, E, A>, __tsplusTrace?: string): FiberRuntime<E, A> => {
16
+ makeFiber = <E, A>(io: IO<R, E, A>, __tsplusTrace?: string): FiberRuntime<E, A> => {
16
17
  const fiberId = FiberId.unsafeMake(__tsplusTrace);
17
18
  const fiberRefs = this.fiberRefs.updateAs(fiberId, FiberRef.currentEnvironment, this.environment);
18
19
 
@@ -31,33 +32,38 @@ export class Runtime<R> {
31
32
 
32
33
  FiberScope.global.unsafeAdd(null!, fiber.runtimeFlags0, fiber);
33
34
 
34
- fiber.start(io);
35
-
36
35
  return fiber;
37
36
  };
38
37
 
39
- unsafeRunWith = <E, A>(
40
- io: IO<R, E, A>,
41
- k: (exit: Exit<E, A>) => any,
42
- __tsplusTrace?: string,
43
- ): ((fiberId: FiberId) => (f: (exit: Exit<E, A>) => any) => void) => {
44
- const fiber = this.unsafeRunFiber(io);
45
- fiber.tell(FiberMessage.Stateful((fiber) => fiber.addObserver(k)));
46
- return (fiberId) => (k) => this.unsafeRunAsyncWith(fiber.interruptAs(fiberId), (exit) => k(exit.flatten));
47
- };
48
-
49
- unsafeRunAsync = <E, A>(io: IO<R, E, A>, __tsplusTrace?: string) => {
50
- this.unsafeRunAsyncWith(io, () => void 0);
38
+ unsafeRunFiber = <E, A>(io: IO<R, E, A>, __tsplusTrace?: string): FiberRuntime<E, A> => {
39
+ const fiber = this.makeFiber(io);
40
+ fiber.start(io);
41
+ return fiber;
51
42
  };
52
43
 
53
- unsafeRunAsyncWith = <E, A>(io: IO<R, E, A>, k: (exit: Exit<E, A>) => any, __tsplusTrace?: string) => {
54
- this.unsafeRunWith(io, k);
44
+ unsafeRunPromiseExit = <E, A>(io: IO<R, E, A>, __tsplusTrace?: string): Promise<Exit<E, A>> => {
45
+ return new Promise((resolve) => {
46
+ const fiber = this.makeFiber(io);
47
+ fiber.addObserver((exit) => {
48
+ resolve(exit);
49
+ });
50
+ fiber.start(io);
51
+ });
55
52
  };
56
53
 
57
- unsafeRunPromiseExit = <E, A>(io: IO<R, E, A>, __tsplusTrace?: string): Promise<Exit<E, A>> =>
58
- new Promise((resolve) => {
59
- this.unsafeRunAsyncWith(io, resolve);
54
+ unsafeRunPromise = <E, A>(io: IO<R, E, A>, __tsplusTrace?: string): Promise<A> => {
55
+ return new Promise((resolve, reject) => {
56
+ const fiber = this.makeFiber(io);
57
+ fiber.addObserver((exit) => {
58
+ if (exit.isFailure()) {
59
+ reject(exit.cause.squashWith(Function.identity));
60
+ } else {
61
+ resolve(exit.value);
62
+ }
63
+ });
64
+ fiber.start(io);
60
65
  });
66
+ };
61
67
 
62
68
  unsafeRunOrFork = <E, A>(io: IO<R, E, A>, __tsplusTrace?: string): Either<Fiber.Runtime<E, A>, Exit<E, A>> => {
63
69
  const fiberId = FiberId.unsafeMake(__tsplusTrace);
@@ -88,6 +94,12 @@ export class Runtime<R> {
88
94
 
89
95
  return Either.left(fiber);
90
96
  };
97
+
98
+ unsafeRun = <E, A>(io: IO<R, E, A>, __tsplusTrace?: string): Exit<E, A> => {
99
+ return this.unsafeRunOrFork(io).match(() => {
100
+ throw new Error("Encountered async boundary");
101
+ }, Function.identity);
102
+ };
91
103
  }
92
104
 
93
105
  /**
@@ -112,27 +124,22 @@ export const defaultRuntime = new Runtime(Environment.empty, RuntimeFlags.defaul
112
124
  */
113
125
  export const unsafeRunFiber = defaultRuntime.unsafeRunFiber;
114
126
 
115
- /**
116
- * @tsplus fluent fncts.io.IO unsafeRunAsync
117
- */
118
- export const unsafeRunAsync = defaultRuntime.unsafeRunAsync;
119
-
120
- /**
121
- * @tsplus fluent fncts.io.IO unsafeRunAsyncWith
122
- */
123
- export const unsafeRunAsyncWith = defaultRuntime.unsafeRunAsyncWith;
124
-
125
127
  /**
126
128
  * @tsplus fluent fncts.io.IO unsafeRunPromiseExit
127
129
  */
128
130
  export const unsafeRunPromiseExit = defaultRuntime.unsafeRunPromiseExit;
129
131
 
130
132
  /**
131
- * @tsplus fluent fncts.io.IO unsafeRunWith
133
+ * @tsplus fluent fncts.io.IO unsafeRunPromise
132
134
  */
133
- export const unsafeRunWith = defaultRuntime.unsafeRunWith;
135
+ export const unsafeRunPromise = defaultRuntime.unsafeRunPromise;
134
136
 
135
137
  /**
136
- * @tsplus getter fncts.io.IO unsafeRunSyncExit
138
+ * @tsplus getter fncts.io.IO unsafeRunOrFork
137
139
  */
138
140
  export const unsafeRunOrFork = defaultRuntime.unsafeRunOrFork;
141
+
142
+ /**
143
+ * @tsplus getter fncts.io.IO unsafeRun
144
+ */
145
+ export const unsafeRun = defaultRuntime.unsafeRun;
@@ -53,15 +53,15 @@ export class AtomicRefSubject<E, A> extends RefSubjectInternal<never, E, A, A> {
53
53
  end: IO<never, never, void> = this.stream.end;
54
54
 
55
55
  unsafeEmit(value: A): void {
56
- return this.stream.emit(value).unsafeRunAsync();
56
+ this.stream.emit(value).unsafeRunFiber();
57
57
  }
58
58
 
59
59
  unsafeFailCause(cause: Cause<E>): void {
60
- return this.stream.failCause(cause).unsafeRunAsync();
60
+ this.stream.failCause(cause).unsafeRunFiber();
61
61
  }
62
62
 
63
63
  unsafeEnd(): void {
64
- return this.stream.end.unsafeRunAsync();
64
+ this.stream.end.unsafeRunFiber();
65
65
  }
66
66
 
67
67
  get unsafeGet(): A {
@@ -111,7 +111,7 @@ class AtomicEmitRef<E, A> extends Atomic<A> {
111
111
 
112
112
  unsafeSet(value: A) {
113
113
  this.ref.unsafeSet(value);
114
- this.emitter.emit(value).unsafeRunAsync();
114
+ this.emitter.emit(value).unsafeRunFiber();
115
115
  }
116
116
 
117
117
  set(value: A, __tsplusTrace?: string) {
@@ -25,7 +25,7 @@ export type STMTypeId = typeof STMTypeId;
25
25
  */
26
26
  export abstract class STM<R, E, A> {
27
27
  readonly [IOTypeId]: IOTypeId = IOTypeId;
28
- readonly ioOpCode = IOOpCode.Commit;
28
+ readonly _tag = IOOpCode.Commit;
29
29
  readonly trace?: string;
30
30
  readonly [STMTypeId]: STMTypeId = STMTypeId;
31
31
  declare [IOVariance]: {
@@ -131,7 +131,7 @@ export function checkIO<In, Out, Env1>(test: (inp: In, out: Out) => URIO<Env1, b
131
131
  }
132
132
 
133
133
  /**
134
- * @tsplus pipeable fncts.io.Schedule compose_
134
+ * @tsplus pipeable fncts.io.Schedule compose
135
135
  */
136
136
  export function compose<O, S1, R1, O2>(that: Schedule.WithState<S1, R1, O, O2>, __tsplusTrace?: string) {
137
137
  return <S, R, I>(self: Schedule.WithState<S, R, I, O>): Schedule.WithState<readonly [S, S1], R | R1, I, O2> => {