@fncts/io 0.0.32 → 0.0.34

Sign up to get free protection for your applications and to get access to all the features.
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> => {