@fncts/io 0.0.33 → 0.0.35

Sign up to get free protection for your applications and to get access to all the features.
Files changed (791) hide show
  1. package/Fiber/FiberRuntime.d.ts +7 -7
  2. package/IO/api/all.d.ts +41 -0
  3. package/IO/api/concurrency.d.ts +11 -0
  4. package/IO/api/interrupt.d.ts +1 -1
  5. package/IO/api/raceWith.d.ts +2 -1
  6. package/IO/api.d.ts +9 -4
  7. package/IO/definition.d.ts +103 -127
  8. package/IO/runtime.d.ts +5 -0
  9. package/IO.d.ts +1 -0
  10. package/Push/api.d.ts +25 -4
  11. package/Push/definition.d.ts +17 -0
  12. package/STM/definition.d.ts +2 -2
  13. package/Schedule/api.d.ts +1 -1
  14. package/Sink/api.d.ts +19 -19
  15. package/_cjs/Cached/api.cjs.map +1 -1
  16. package/_cjs/Cached/definition.cjs.map +1 -1
  17. package/_cjs/Cached/internal.cjs.map +1 -1
  18. package/_cjs/Cached.cjs.map +1 -1
  19. package/_cjs/CancellerState.cjs.map +1 -1
  20. package/_cjs/Channel/ChildExecutorDecision/api.cjs.map +1 -1
  21. package/_cjs/Channel/ChildExecutorDecision/definition.cjs.map +1 -1
  22. package/_cjs/Channel/ChildExecutorDecision.cjs.map +1 -1
  23. package/_cjs/Channel/UpstreamPullRequest/api.cjs.map +1 -1
  24. package/_cjs/Channel/UpstreamPullRequest/definition.cjs.map +1 -1
  25. package/_cjs/Channel/UpstreamPullRequest.cjs.map +1 -1
  26. package/_cjs/Channel/UpstreamPullStrategy/definition.cjs.map +1 -1
  27. package/_cjs/Channel/UpstreamPullStrategy.cjs.map +1 -1
  28. package/_cjs/Channel/api/interruptWhen.cjs.map +1 -1
  29. package/_cjs/Channel/api/mapOutConcurrentIO.cjs.map +1 -1
  30. package/_cjs/Channel/api/mergeAll.cjs.map +1 -1
  31. package/_cjs/Channel/api/mergeAllUnboundedWith.cjs.map +1 -1
  32. package/_cjs/Channel/api/mergeAllWith.cjs.map +1 -1
  33. package/_cjs/Channel/api/mergeMap.cjs.map +1 -1
  34. package/_cjs/Channel/api/mergeWith.cjs.map +1 -1
  35. package/_cjs/Channel/api/run.cjs.map +1 -1
  36. package/_cjs/Channel/api/runCollect.cjs.map +1 -1
  37. package/_cjs/Channel/api/runDrain.cjs.map +1 -1
  38. package/_cjs/Channel/api/runScoped.cjs +1 -1
  39. package/_cjs/Channel/api/runScoped.cjs.map +1 -1
  40. package/_cjs/Channel/api/toPull.cjs.map +1 -1
  41. package/_cjs/Channel/api/zipConcurrent.cjs.map +1 -1
  42. package/_cjs/Channel/api.cjs +2 -2
  43. package/_cjs/Channel/api.cjs.map +1 -1
  44. package/_cjs/Channel/core-api.cjs.map +1 -1
  45. package/_cjs/Channel/definition.cjs.map +1 -1
  46. package/_cjs/Channel/internal/AsyncInputConsumer.cjs.map +1 -1
  47. package/_cjs/Channel/internal/AsyncInputProducer.cjs.map +1 -1
  48. package/_cjs/Channel/internal/ChannelExecutor.cjs.map +1 -1
  49. package/_cjs/Channel/internal/ChannelState.cjs.map +1 -1
  50. package/_cjs/Channel/internal/MergeDecision.cjs.map +1 -1
  51. package/_cjs/Channel/internal/MergeState.cjs.map +1 -1
  52. package/_cjs/Channel/internal/SingleProducerAsyncInput.cjs.map +1 -1
  53. package/_cjs/Channel.cjs.map +1 -1
  54. package/_cjs/Clock/api.cjs.map +1 -1
  55. package/_cjs/Clock/definition.cjs.map +1 -1
  56. package/_cjs/Clock/live.cjs.map +1 -1
  57. package/_cjs/Clock.cjs.map +1 -1
  58. package/_cjs/Console/api.cjs.map +1 -1
  59. package/_cjs/Console/definition.cjs.map +1 -1
  60. package/_cjs/Console/live.cjs.map +1 -1
  61. package/_cjs/Console.cjs.map +1 -1
  62. package/_cjs/CountdownLatch.cjs.map +1 -1
  63. package/_cjs/Differ/api.cjs.map +1 -1
  64. package/_cjs/Differ/definition.cjs.map +1 -1
  65. package/_cjs/Fiber/FiberMessage.cjs.map +1 -1
  66. package/_cjs/Fiber/FiberRuntime.cjs +111 -99
  67. package/_cjs/Fiber/FiberRuntime.cjs.map +1 -1
  68. package/_cjs/Fiber/api/await.cjs.map +1 -1
  69. package/_cjs/Fiber/api/awaitAll.cjs.map +1 -1
  70. package/_cjs/Fiber/api/children.cjs.map +1 -1
  71. package/_cjs/Fiber/api/collectAll.cjs +1 -1
  72. package/_cjs/Fiber/api/collectAll.cjs.map +1 -1
  73. package/_cjs/Fiber/api/fromIO.cjs.map +1 -1
  74. package/_cjs/Fiber/api/id.cjs.map +1 -1
  75. package/_cjs/Fiber/api/inheritRefs.cjs.map +1 -1
  76. package/_cjs/Fiber/api/interrupt.cjs.map +1 -1
  77. package/_cjs/Fiber/api/interruptAll.cjs.map +1 -1
  78. package/_cjs/Fiber/api/interruptAs.cjs.map +1 -1
  79. package/_cjs/Fiber/api/interruptFork.cjs.map +1 -1
  80. package/_cjs/Fiber/api/join.cjs.map +1 -1
  81. package/_cjs/Fiber/api/joinAll.cjs.map +1 -1
  82. package/_cjs/Fiber/api/location.cjs.map +1 -1
  83. package/_cjs/Fiber/api/mapFiber.cjs.map +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.map +1 -1
  89. package/_cjs/Fiber/definition.cjs.map +1 -1
  90. package/_cjs/Fiber.cjs.map +1 -1
  91. package/_cjs/FiberDescriptor.cjs.map +1 -1
  92. package/_cjs/FiberRef/api/locallyScoped.cjs.map +1 -1
  93. package/_cjs/FiberRef/api/locallyScopedWith.cjs.map +1 -1
  94. package/_cjs/FiberRef/api.cjs.map +1 -1
  95. package/_cjs/FiberRef/constructors.cjs.map +1 -1
  96. package/_cjs/FiberRef/definition.cjs.map +1 -1
  97. package/_cjs/FiberRef/operations.cjs.map +1 -1
  98. package/_cjs/FiberRef/unsafe.cjs.map +1 -1
  99. package/_cjs/FiberRef.cjs.map +1 -1
  100. package/_cjs/FiberRefs/api.cjs.map +1 -1
  101. package/_cjs/FiberRefs/definition.cjs.map +1 -1
  102. package/_cjs/FiberRefs.cjs.map +1 -1
  103. package/_cjs/FiberScope/constructors.cjs.map +1 -1
  104. package/_cjs/FiberScope/definition.cjs.map +1 -1
  105. package/_cjs/FiberScope.cjs.map +1 -1
  106. package/_cjs/FiberStatus/constructors.cjs.map +1 -1
  107. package/_cjs/FiberStatus/definition.cjs.map +1 -1
  108. package/_cjs/FiberStatus.cjs.map +1 -1
  109. package/_cjs/Future/api.cjs +1 -1
  110. package/_cjs/Future/api.cjs.map +1 -1
  111. package/_cjs/Future/constructors.cjs.map +1 -1
  112. package/_cjs/Future/definition.cjs.map +1 -1
  113. package/_cjs/Future.cjs.map +1 -1
  114. package/_cjs/Hub/api.cjs.map +1 -1
  115. package/_cjs/Hub/definition.cjs.map +1 -1
  116. package/_cjs/Hub/internal.cjs.map +1 -1
  117. package/_cjs/Hub.cjs.map +1 -1
  118. package/_cjs/IO/api/acquireRelease.cjs.map +1 -1
  119. package/_cjs/IO/api/acquireReleaseExit.cjs.map +1 -1
  120. package/_cjs/IO/api/acquireReleaseInterruptible.cjs.map +1 -1
  121. package/_cjs/IO/api/acquireReleaseInterruptibleExit.cjs.map +1 -1
  122. package/_cjs/IO/api/addFinalizer.cjs.map +1 -1
  123. package/_cjs/IO/api/addFinalizerExit.cjs.map +1 -1
  124. package/_cjs/IO/api/all.cjs +33 -0
  125. package/_cjs/IO/api/all.cjs.map +1 -0
  126. package/_cjs/IO/api/asyncIO.cjs +1 -1
  127. package/_cjs/IO/api/asyncIO.cjs.map +1 -1
  128. package/_cjs/IO/api/asyncInterrupt.cjs.map +1 -1
  129. package/_cjs/IO/api/blocking.cjs.map +1 -1
  130. package/_cjs/IO/api/bracket.cjs.map +1 -1
  131. package/_cjs/IO/api/bracketExit.cjs +1 -1
  132. package/_cjs/IO/api/bracketExit.cjs.map +1 -1
  133. package/_cjs/IO/api/clockWith.cjs.map +1 -1
  134. package/_cjs/IO/api/concurrency.cjs +25 -4
  135. package/_cjs/IO/api/concurrency.cjs.map +1 -1
  136. package/_cjs/IO/api/concurrentFinalizers.cjs.map +1 -1
  137. package/_cjs/IO/api/consoleWith.cjs.map +1 -1
  138. package/_cjs/IO/api/daemonChildren.cjs.map +1 -1
  139. package/_cjs/IO/api/delay.cjs.map +1 -1
  140. package/_cjs/IO/api/descriptor.cjs.map +1 -1
  141. package/_cjs/IO/api/disconnect.cjs +1 -1
  142. package/_cjs/IO/api/disconnect.cjs.map +1 -1
  143. package/_cjs/IO/api/ensuringChildren.cjs.map +1 -1
  144. package/_cjs/IO/api/environment.cjs.map +1 -1
  145. package/_cjs/IO/api/foreachConcurrent.cjs +2 -2
  146. package/_cjs/IO/api/foreachConcurrent.cjs.map +1 -1
  147. package/_cjs/IO/api/foreachExec.cjs +1 -1
  148. package/_cjs/IO/api/foreachExec.cjs.map +1 -1
  149. package/_cjs/IO/api/fork.cjs.map +1 -1
  150. package/_cjs/IO/api/forkAll.cjs.map +1 -1
  151. package/_cjs/IO/api/forkDaemon.cjs.map +1 -1
  152. package/_cjs/IO/api/forkIn.cjs +1 -1
  153. package/_cjs/IO/api/forkIn.cjs.map +1 -1
  154. package/_cjs/IO/api/forkScoped.cjs +1 -1
  155. package/_cjs/IO/api/forkScoped.cjs.map +1 -1
  156. package/_cjs/IO/api/fulfill.cjs +1 -1
  157. package/_cjs/IO/api/fulfill.cjs.map +1 -1
  158. package/_cjs/IO/api/interrupt.cjs +19 -7
  159. package/_cjs/IO/api/interrupt.cjs.map +1 -1
  160. package/_cjs/IO/api/memoize.cjs.map +1 -1
  161. package/_cjs/IO/api/onTermination.cjs.map +1 -1
  162. package/_cjs/IO/api/once.cjs.map +1 -1
  163. package/_cjs/IO/api/provideLayer.cjs.map +1 -1
  164. package/_cjs/IO/api/provideScope.cjs.map +1 -1
  165. package/_cjs/IO/api/provideSomeLayer.cjs.map +1 -1
  166. package/_cjs/IO/api/race.cjs +1 -1
  167. package/_cjs/IO/api/race.cjs.map +1 -1
  168. package/_cjs/IO/api/raceFirst.cjs.map +1 -1
  169. package/_cjs/IO/api/raceWith.cjs +4 -4
  170. package/_cjs/IO/api/raceWith.cjs.map +1 -1
  171. package/_cjs/IO/api/randomWith.cjs.map +1 -1
  172. package/_cjs/IO/api/repeat.cjs.map +1 -1
  173. package/_cjs/IO/api/retry.cjs.map +1 -1
  174. package/_cjs/IO/api/schedule.cjs.map +1 -1
  175. package/_cjs/IO/api/scope.cjs.map +1 -1
  176. package/_cjs/IO/api/scopeWith.cjs.map +1 -1
  177. package/_cjs/IO/api/scoped.cjs.map +1 -1
  178. package/_cjs/IO/api/sequenceT.cjs.map +1 -1
  179. package/_cjs/IO/api/sleep.cjs.map +1 -1
  180. package/_cjs/IO/api/stateful.cjs.map +1 -1
  181. package/_cjs/IO/api/supervised.cjs.map +1 -1
  182. package/_cjs/IO/api/timeout.cjs +8 -5
  183. package/_cjs/IO/api/timeout.cjs.map +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.map +1 -1
  189. package/_cjs/IO/api/withFinalizer.cjs.map +1 -1
  190. package/_cjs/IO/api/withFinalizerExit.cjs.map +1 -1
  191. package/_cjs/IO/api/zipConcurrent.cjs +2 -2
  192. package/_cjs/IO/api/zipConcurrent.cjs.map +1 -1
  193. package/_cjs/IO/api.cjs +79 -21
  194. package/_cjs/IO/api.cjs.map +1 -1
  195. package/_cjs/IO/definition.cjs +14 -191
  196. package/_cjs/IO/definition.cjs.map +1 -1
  197. package/_cjs/IO/runtime.cjs +23 -17
  198. package/_cjs/IO/runtime.cjs.map +1 -1
  199. package/_cjs/IO.cjs +11 -0
  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 +1 -1
  209. package/_cjs/Layer/MemoMap.cjs.map +1 -1
  210. package/_cjs/Layer/api.cjs.map +1 -1
  211. package/_cjs/Layer/definition.cjs.map +1 -1
  212. package/_cjs/Layer.cjs.map +1 -1
  213. package/_cjs/LogLevel.cjs.map +1 -1
  214. package/_cjs/LogSpan.cjs.map +1 -1
  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.map +1 -1
  220. package/_cjs/MVar/definition.cjs.map +1 -1
  221. package/_cjs/MVar.cjs.map +1 -1
  222. package/_cjs/Push/api.cjs +149 -110
  223. package/_cjs/Push/api.cjs.map +1 -1
  224. package/_cjs/Push/definition.cjs.map +1 -1
  225. package/_cjs/Push/internal.cjs.map +1 -1
  226. package/_cjs/Push.cjs.map +1 -1
  227. package/_cjs/Queue/api/dimapIO.cjs.map +1 -1
  228. package/_cjs/Queue/api/filterInputIO.cjs.map +1 -1
  229. package/_cjs/Queue/api/filterOutputIO.cjs.map +1 -1
  230. package/_cjs/Queue/api/operations.cjs.map +1 -1
  231. package/_cjs/Queue/api/poll.cjs.map +1 -1
  232. package/_cjs/Queue/api/takeBetween.cjs.map +1 -1
  233. package/_cjs/Queue/api/zipWithIO.cjs.map +1 -1
  234. package/_cjs/Queue/api.cjs.map +1 -1
  235. package/_cjs/Queue/constructors.cjs.map +1 -1
  236. package/_cjs/Queue/definition.cjs.map +1 -1
  237. package/_cjs/Queue/internal.cjs.map +1 -1
  238. package/_cjs/Queue/strategy.cjs.map +1 -1
  239. package/_cjs/Queue.cjs.map +1 -1
  240. package/_cjs/Random/api.cjs.map +1 -1
  241. package/_cjs/Random/definition.cjs.map +1 -1
  242. package/_cjs/Random/live.cjs.map +1 -1
  243. package/_cjs/Random.cjs.map +1 -1
  244. package/_cjs/Ref/Atomic.cjs.map +1 -1
  245. package/_cjs/Ref/Derived.cjs.map +1 -1
  246. package/_cjs/Ref/DerivedAll.cjs.map +1 -1
  247. package/_cjs/Ref/Synchronized/api.cjs.map +1 -1
  248. package/_cjs/Ref/Synchronized/constructors.cjs.map +1 -1
  249. package/_cjs/Ref/Synchronized/definition.cjs.map +1 -1
  250. package/_cjs/Ref/Synchronized.cjs.map +1 -1
  251. package/_cjs/Ref/api/collect.cjs.map +1 -1
  252. package/_cjs/Ref/api/dimap.cjs.map +1 -1
  253. package/_cjs/Ref/api/filter.cjs.map +1 -1
  254. package/_cjs/Ref/api/get.cjs.map +1 -1
  255. package/_cjs/Ref/api/match.cjs.map +1 -1
  256. package/_cjs/Ref/api/matchAll.cjs.map +1 -1
  257. package/_cjs/Ref/api/modify.cjs.map +1 -1
  258. package/_cjs/Ref/api/set.cjs.map +1 -1
  259. package/_cjs/Ref/api.cjs +3 -0
  260. package/_cjs/Ref/api.cjs.map +1 -1
  261. package/_cjs/Ref/constructors.cjs.map +1 -1
  262. package/_cjs/Ref/definition.cjs.map +1 -1
  263. package/_cjs/Ref.cjs.map +1 -1
  264. package/_cjs/RefSubject/Atomic.cjs.map +1 -1
  265. package/_cjs/RefSubject/Synchronized/api.cjs.map +1 -1
  266. package/_cjs/RefSubject/Synchronized/definition.cjs.map +1 -1
  267. package/_cjs/RefSubject/api.cjs.map +1 -1
  268. package/_cjs/RefSubject/definition.cjs.map +1 -1
  269. package/_cjs/RefSubject.cjs.map +1 -1
  270. package/_cjs/Reloadable/api.cjs.map +1 -1
  271. package/_cjs/Reloadable/constructors.cjs.map +1 -1
  272. package/_cjs/Reloadable/definition.cjs.map +1 -1
  273. package/_cjs/Reloadable.cjs.map +1 -1
  274. package/_cjs/RuntimeFlag.cjs.map +1 -1
  275. package/_cjs/RuntimeFlags/Patch.cjs.map +1 -1
  276. package/_cjs/RuntimeFlags/RuntimeFlags.cjs.map +1 -1
  277. package/_cjs/RuntimeFlags.cjs.map +1 -1
  278. package/_cjs/STM/api/atomically.cjs +1 -1
  279. package/_cjs/STM/api/atomically.cjs.map +1 -1
  280. package/_cjs/STM/api/core-api.cjs.map +1 -1
  281. package/_cjs/STM/api/core-constructors.cjs.map +1 -1
  282. package/_cjs/STM/api.cjs.map +1 -1
  283. package/_cjs/STM/definition.cjs +1 -1
  284. package/_cjs/STM/definition.cjs.map +1 -1
  285. package/_cjs/STM/driver.cjs.map +1 -1
  286. package/_cjs/STM/internal/CommitState.cjs.map +1 -1
  287. package/_cjs/STM/internal/Entry.cjs.map +1 -1
  288. package/_cjs/STM/internal/Journal.cjs.map +1 -1
  289. package/_cjs/STM/internal/TryCommit.cjs.map +1 -1
  290. package/_cjs/STM/internal/Versioned.cjs.map +1 -1
  291. package/_cjs/STM.cjs.map +1 -1
  292. package/_cjs/Schedule/Decision.cjs.map +1 -1
  293. package/_cjs/Schedule/Driver.cjs.map +1 -1
  294. package/_cjs/Schedule/api/driver.cjs.map +1 -1
  295. package/_cjs/Schedule/api.cjs +1 -1
  296. package/_cjs/Schedule/api.cjs.map +1 -1
  297. package/_cjs/Schedule/definition.cjs.map +1 -1
  298. package/_cjs/Schedule.cjs.map +1 -1
  299. package/_cjs/Scope/Finalizer/definition.cjs.map +1 -1
  300. package/_cjs/Scope/Finalizer.cjs.map +1 -1
  301. package/_cjs/Scope/ReleaseMap/api/releaseAll.cjs.map +1 -1
  302. package/_cjs/Scope/ReleaseMap/api.cjs.map +1 -1
  303. package/_cjs/Scope/ReleaseMap/constructors.cjs.map +1 -1
  304. package/_cjs/Scope/ReleaseMap/definition.cjs.map +1 -1
  305. package/_cjs/Scope/ReleaseMap.cjs.map +1 -1
  306. package/_cjs/Scope/api.cjs.map +1 -1
  307. package/_cjs/Scope/definition.cjs.map +1 -1
  308. package/_cjs/Scope.cjs.map +1 -1
  309. package/_cjs/ScopedRef/api.cjs +2 -2
  310. package/_cjs/ScopedRef/api.cjs.map +1 -1
  311. package/_cjs/ScopedRef/definition.cjs.map +1 -1
  312. package/_cjs/ScopedRef.cjs.map +1 -1
  313. package/_cjs/Semaphore.cjs +1 -1
  314. package/_cjs/Semaphore.cjs.map +1 -1
  315. package/_cjs/Sink/api.cjs.map +1 -1
  316. package/_cjs/Sink/definition.cjs.map +1 -1
  317. package/_cjs/Sink.cjs.map +1 -1
  318. package/_cjs/State/api.cjs.map +1 -1
  319. package/_cjs/State/definition.cjs.map +1 -1
  320. package/_cjs/State/internal.cjs.map +1 -1
  321. package/_cjs/State.cjs.map +1 -1
  322. package/_cjs/Stream/api/zipAllWith.cjs.map +1 -1
  323. package/_cjs/Stream/api/zipWith.cjs.map +1 -1
  324. package/_cjs/Stream/api/zipWithChunks.cjs.map +1 -1
  325. package/_cjs/Stream/api.cjs.map +1 -1
  326. package/_cjs/Stream/definition.cjs.map +1 -1
  327. package/_cjs/Stream/internal/DebounceState.cjs.map +1 -1
  328. package/_cjs/Stream/internal/Handoff.cjs.map +1 -1
  329. package/_cjs/Stream/internal/Pull.cjs.map +1 -1
  330. package/_cjs/Stream/internal/SinkEndReason.cjs.map +1 -1
  331. package/_cjs/Stream/internal/Take.cjs.map +1 -1
  332. package/_cjs/Stream/internal/util.cjs.map +1 -1
  333. package/_cjs/Stream.cjs.map +1 -1
  334. package/_cjs/Subject/Atomic.cjs.map +1 -1
  335. package/_cjs/Subject/api.cjs.map +1 -1
  336. package/_cjs/Subject/definition.cjs.map +1 -1
  337. package/_cjs/Subject.cjs.map +1 -1
  338. package/_cjs/SubscriptionRef.cjs.map +1 -1
  339. package/_cjs/Supervisor/api.cjs.map +1 -1
  340. package/_cjs/Supervisor/constructors.cjs.map +1 -1
  341. package/_cjs/Supervisor/definition.cjs.map +1 -1
  342. package/_cjs/Supervisor.cjs.map +1 -1
  343. package/_cjs/SupervisorPatch.cjs.map +1 -1
  344. package/_cjs/TExit/constructors.cjs.map +1 -1
  345. package/_cjs/TExit/definition.cjs.map +1 -1
  346. package/_cjs/TExit.cjs.map +1 -1
  347. package/_cjs/TFuture/api.cjs.map +1 -1
  348. package/_cjs/TFuture/constructors.cjs.map +1 -1
  349. package/_cjs/TFuture/definition.cjs.map +1 -1
  350. package/_cjs/TFuture.cjs.map +1 -1
  351. package/_cjs/TReentrantLock/api.cjs +2 -2
  352. package/_cjs/TReentrantLock/api.cjs.map +1 -1
  353. package/_cjs/TReentrantLock/definition.cjs.map +1 -1
  354. package/_cjs/TReentrantLock.cjs.map +1 -1
  355. package/_cjs/TRef/api.cjs.map +1 -1
  356. package/_cjs/TRef/constructors.cjs.map +1 -1
  357. package/_cjs/TRef/definition.cjs.map +1 -1
  358. package/_cjs/TRef.cjs.map +1 -1
  359. package/_cjs/TSemaphore/api.cjs +1 -1
  360. package/_cjs/TSemaphore/api.cjs.map +1 -1
  361. package/_cjs/TSemaphore/constructors.cjs.map +1 -1
  362. package/_cjs/TSemaphore/definition.cjs.map +1 -1
  363. package/_cjs/TSemaphore.cjs.map +1 -1
  364. package/_cjs/TxnId.cjs.map +1 -1
  365. package/_cjs/collection/immutable/Conc/dropUntilIO.cjs +12 -17
  366. package/_cjs/collection/immutable/Conc/dropUntilIO.cjs.map +1 -1
  367. package/_cjs/collection/immutable/Conc/dropWhileIO.cjs +12 -17
  368. package/_cjs/collection/immutable/Conc/dropWhileIO.cjs.map +1 -1
  369. package/_cjs/collection/immutable/Conc/filterIO.cjs +2 -12
  370. package/_cjs/collection/immutable/Conc/filterIO.cjs.map +1 -1
  371. package/_cjs/collection/immutable/Conc/findIO.cjs.map +1 -1
  372. package/_cjs/collection/immutable/Conc/mapIO.cjs +3 -9
  373. package/_cjs/collection/immutable/Conc/mapIO.cjs.map +1 -1
  374. package/_cjs/collection/immutable/Conc/takeWhileIO.cjs +11 -27
  375. package/_cjs/collection/immutable/Conc/takeWhileIO.cjs.map +1 -1
  376. package/_cjs/collection/immutable/Conc.cjs.map +1 -1
  377. package/_cjs/data/Exit/foreachIO.cjs.map +1 -1
  378. package/_cjs/global.cjs.map +1 -1
  379. package/_cjs/index.cjs.map +1 -1
  380. package/_cjs/internal/BackgroundScheduler.cjs.map +1 -1
  381. package/_cjs/internal/HashedPair.cjs.map +1 -1
  382. package/_cjs/internal/Hub.cjs.map +1 -1
  383. package/_cjs/internal/IsFatal.cjs.map +1 -1
  384. package/_cjs/internal/MutableQueue.cjs.map +1 -1
  385. package/_cjs/internal/Scheduler.cjs.map +1 -1
  386. package/_cjs/internal/StackTraceBuilder.cjs.map +1 -1
  387. package/_mjs/Cached/api.mjs.map +1 -1
  388. package/_mjs/Cached/definition.mjs.map +1 -1
  389. package/_mjs/Cached/internal.mjs.map +1 -1
  390. package/_mjs/Cached.mjs.map +1 -1
  391. package/_mjs/CancellerState.mjs.map +1 -1
  392. package/_mjs/Channel/ChildExecutorDecision/api.mjs.map +1 -1
  393. package/_mjs/Channel/ChildExecutorDecision/definition.mjs.map +1 -1
  394. package/_mjs/Channel/ChildExecutorDecision.mjs.map +1 -1
  395. package/_mjs/Channel/UpstreamPullRequest/api.mjs.map +1 -1
  396. package/_mjs/Channel/UpstreamPullRequest/definition.mjs.map +1 -1
  397. package/_mjs/Channel/UpstreamPullRequest.mjs.map +1 -1
  398. package/_mjs/Channel/UpstreamPullStrategy/definition.mjs.map +1 -1
  399. package/_mjs/Channel/UpstreamPullStrategy.mjs.map +1 -1
  400. package/_mjs/Channel/api/interruptWhen.mjs.map +1 -1
  401. package/_mjs/Channel/api/mapOutConcurrentIO.mjs.map +1 -1
  402. package/_mjs/Channel/api/mergeAll.mjs.map +1 -1
  403. package/_mjs/Channel/api/mergeAllUnboundedWith.mjs.map +1 -1
  404. package/_mjs/Channel/api/mergeAllWith.mjs.map +1 -1
  405. package/_mjs/Channel/api/mergeMap.mjs.map +1 -1
  406. package/_mjs/Channel/api/mergeWith.mjs.map +1 -1
  407. package/_mjs/Channel/api/run.mjs.map +1 -1
  408. package/_mjs/Channel/api/runCollect.mjs.map +1 -1
  409. package/_mjs/Channel/api/runDrain.mjs.map +1 -1
  410. package/_mjs/Channel/api/runScoped.mjs +1 -1
  411. package/_mjs/Channel/api/runScoped.mjs.map +1 -1
  412. package/_mjs/Channel/api/toPull.mjs.map +1 -1
  413. package/_mjs/Channel/api/zipConcurrent.mjs.map +1 -1
  414. package/_mjs/Channel/api.mjs +2 -2
  415. package/_mjs/Channel/api.mjs.map +1 -1
  416. package/_mjs/Channel/core-api.mjs.map +1 -1
  417. package/_mjs/Channel/definition.mjs.map +1 -1
  418. package/_mjs/Channel/internal/AsyncInputConsumer.mjs.map +1 -1
  419. package/_mjs/Channel/internal/AsyncInputProducer.mjs.map +1 -1
  420. package/_mjs/Channel/internal/ChannelExecutor.mjs.map +1 -1
  421. package/_mjs/Channel/internal/ChannelState.mjs.map +1 -1
  422. package/_mjs/Channel/internal/MergeDecision.mjs.map +1 -1
  423. package/_mjs/Channel/internal/MergeState.mjs.map +1 -1
  424. package/_mjs/Channel/internal/SingleProducerAsyncInput.mjs.map +1 -1
  425. package/_mjs/Channel.mjs.map +1 -1
  426. package/_mjs/Clock/api.mjs.map +1 -1
  427. package/_mjs/Clock/definition.mjs.map +1 -1
  428. package/_mjs/Clock/live.mjs.map +1 -1
  429. package/_mjs/Clock.mjs.map +1 -1
  430. package/_mjs/Console/api.mjs.map +1 -1
  431. package/_mjs/Console/definition.mjs.map +1 -1
  432. package/_mjs/Console/live.mjs.map +1 -1
  433. package/_mjs/Console.mjs.map +1 -1
  434. package/_mjs/CountdownLatch.mjs.map +1 -1
  435. package/_mjs/Differ/api.mjs.map +1 -1
  436. package/_mjs/Differ/definition.mjs.map +1 -1
  437. package/_mjs/Fiber/FiberMessage.mjs.map +1 -1
  438. package/_mjs/Fiber/FiberRuntime.mjs +112 -101
  439. package/_mjs/Fiber/FiberRuntime.mjs.map +1 -1
  440. package/_mjs/Fiber/api/await.mjs.map +1 -1
  441. package/_mjs/Fiber/api/awaitAll.mjs.map +1 -1
  442. package/_mjs/Fiber/api/children.mjs.map +1 -1
  443. package/_mjs/Fiber/api/collectAll.mjs +1 -1
  444. package/_mjs/Fiber/api/collectAll.mjs.map +1 -1
  445. package/_mjs/Fiber/api/fromIO.mjs.map +1 -1
  446. package/_mjs/Fiber/api/id.mjs.map +1 -1
  447. package/_mjs/Fiber/api/inheritRefs.mjs.map +1 -1
  448. package/_mjs/Fiber/api/interrupt.mjs.map +1 -1
  449. package/_mjs/Fiber/api/interruptAll.mjs.map +1 -1
  450. package/_mjs/Fiber/api/interruptAs.mjs.map +1 -1
  451. package/_mjs/Fiber/api/interruptFork.mjs.map +1 -1
  452. package/_mjs/Fiber/api/join.mjs.map +1 -1
  453. package/_mjs/Fiber/api/joinAll.mjs.map +1 -1
  454. package/_mjs/Fiber/api/location.mjs.map +1 -1
  455. package/_mjs/Fiber/api/mapFiber.mjs.map +1 -1
  456. package/_mjs/Fiber/api/mapIO.mjs.map +1 -1
  457. package/_mjs/Fiber/api/poll.mjs.map +1 -1
  458. package/_mjs/Fiber/api/zipWith.mjs +1 -1
  459. package/_mjs/Fiber/api/zipWith.mjs.map +1 -1
  460. package/_mjs/Fiber/constructors.mjs.map +1 -1
  461. package/_mjs/Fiber/definition.mjs.map +1 -1
  462. package/_mjs/Fiber.mjs.map +1 -1
  463. package/_mjs/FiberDescriptor.mjs.map +1 -1
  464. package/_mjs/FiberRef/api/locallyScoped.mjs.map +1 -1
  465. package/_mjs/FiberRef/api/locallyScopedWith.mjs.map +1 -1
  466. package/_mjs/FiberRef/api.mjs.map +1 -1
  467. package/_mjs/FiberRef/constructors.mjs.map +1 -1
  468. package/_mjs/FiberRef/definition.mjs.map +1 -1
  469. package/_mjs/FiberRef/operations.mjs.map +1 -1
  470. package/_mjs/FiberRef/unsafe.mjs.map +1 -1
  471. package/_mjs/FiberRef.mjs.map +1 -1
  472. package/_mjs/FiberRefs/api.mjs.map +1 -1
  473. package/_mjs/FiberRefs/definition.mjs.map +1 -1
  474. package/_mjs/FiberRefs.mjs.map +1 -1
  475. package/_mjs/FiberScope/constructors.mjs.map +1 -1
  476. package/_mjs/FiberScope/definition.mjs.map +1 -1
  477. package/_mjs/FiberScope.mjs.map +1 -1
  478. package/_mjs/FiberStatus/constructors.mjs.map +1 -1
  479. package/_mjs/FiberStatus/definition.mjs.map +1 -1
  480. package/_mjs/FiberStatus.mjs.map +1 -1
  481. package/_mjs/Future/api.mjs +1 -1
  482. package/_mjs/Future/api.mjs.map +1 -1
  483. package/_mjs/Future/constructors.mjs.map +1 -1
  484. package/_mjs/Future/definition.mjs.map +1 -1
  485. package/_mjs/Future.mjs.map +1 -1
  486. package/_mjs/Hub/api.mjs.map +1 -1
  487. package/_mjs/Hub/definition.mjs.map +1 -1
  488. package/_mjs/Hub/internal.mjs.map +1 -1
  489. package/_mjs/Hub.mjs.map +1 -1
  490. package/_mjs/IO/api/acquireRelease.mjs.map +1 -1
  491. package/_mjs/IO/api/acquireReleaseExit.mjs.map +1 -1
  492. package/_mjs/IO/api/acquireReleaseInterruptible.mjs.map +1 -1
  493. package/_mjs/IO/api/acquireReleaseInterruptibleExit.mjs.map +1 -1
  494. package/_mjs/IO/api/addFinalizer.mjs.map +1 -1
  495. package/_mjs/IO/api/addFinalizerExit.mjs.map +1 -1
  496. package/_mjs/IO/api/all.mjs +24 -0
  497. package/_mjs/IO/api/all.mjs.map +1 -0
  498. package/_mjs/IO/api/asyncIO.mjs +1 -1
  499. package/_mjs/IO/api/asyncIO.mjs.map +1 -1
  500. package/_mjs/IO/api/asyncInterrupt.mjs.map +1 -1
  501. package/_mjs/IO/api/blocking.mjs.map +1 -1
  502. package/_mjs/IO/api/bracket.mjs.map +1 -1
  503. package/_mjs/IO/api/bracketExit.mjs +1 -1
  504. package/_mjs/IO/api/bracketExit.mjs.map +1 -1
  505. package/_mjs/IO/api/clockWith.mjs.map +1 -1
  506. package/_mjs/IO/api/concurrency.mjs +19 -2
  507. package/_mjs/IO/api/concurrency.mjs.map +1 -1
  508. package/_mjs/IO/api/concurrentFinalizers.mjs.map +1 -1
  509. package/_mjs/IO/api/consoleWith.mjs.map +1 -1
  510. package/_mjs/IO/api/daemonChildren.mjs.map +1 -1
  511. package/_mjs/IO/api/delay.mjs.map +1 -1
  512. package/_mjs/IO/api/descriptor.mjs.map +1 -1
  513. package/_mjs/IO/api/disconnect.mjs +1 -1
  514. package/_mjs/IO/api/disconnect.mjs.map +1 -1
  515. package/_mjs/IO/api/ensuringChildren.mjs.map +1 -1
  516. package/_mjs/IO/api/environment.mjs.map +1 -1
  517. package/_mjs/IO/api/foreachConcurrent.mjs +2 -2
  518. package/_mjs/IO/api/foreachConcurrent.mjs.map +1 -1
  519. package/_mjs/IO/api/foreachExec.mjs +1 -1
  520. package/_mjs/IO/api/foreachExec.mjs.map +1 -1
  521. package/_mjs/IO/api/fork.mjs.map +1 -1
  522. package/_mjs/IO/api/forkAll.mjs.map +1 -1
  523. package/_mjs/IO/api/forkDaemon.mjs.map +1 -1
  524. package/_mjs/IO/api/forkIn.mjs +1 -1
  525. package/_mjs/IO/api/forkIn.mjs.map +1 -1
  526. package/_mjs/IO/api/forkScoped.mjs +1 -1
  527. package/_mjs/IO/api/forkScoped.mjs.map +1 -1
  528. package/_mjs/IO/api/fulfill.mjs +1 -1
  529. package/_mjs/IO/api/fulfill.mjs.map +1 -1
  530. package/_mjs/IO/api/interrupt.mjs +20 -8
  531. package/_mjs/IO/api/interrupt.mjs.map +1 -1
  532. package/_mjs/IO/api/memoize.mjs.map +1 -1
  533. package/_mjs/IO/api/onTermination.mjs.map +1 -1
  534. package/_mjs/IO/api/once.mjs.map +1 -1
  535. package/_mjs/IO/api/provideLayer.mjs.map +1 -1
  536. package/_mjs/IO/api/provideScope.mjs.map +1 -1
  537. package/_mjs/IO/api/provideSomeLayer.mjs.map +1 -1
  538. package/_mjs/IO/api/race.mjs +1 -1
  539. package/_mjs/IO/api/race.mjs.map +1 -1
  540. package/_mjs/IO/api/raceFirst.mjs.map +1 -1
  541. package/_mjs/IO/api/raceWith.mjs +4 -4
  542. package/_mjs/IO/api/raceWith.mjs.map +1 -1
  543. package/_mjs/IO/api/randomWith.mjs.map +1 -1
  544. package/_mjs/IO/api/repeat.mjs.map +1 -1
  545. package/_mjs/IO/api/retry.mjs.map +1 -1
  546. package/_mjs/IO/api/schedule.mjs.map +1 -1
  547. package/_mjs/IO/api/scope.mjs.map +1 -1
  548. package/_mjs/IO/api/scopeWith.mjs.map +1 -1
  549. package/_mjs/IO/api/scoped.mjs.map +1 -1
  550. package/_mjs/IO/api/sequenceT.mjs.map +1 -1
  551. package/_mjs/IO/api/sleep.mjs.map +1 -1
  552. package/_mjs/IO/api/stateful.mjs.map +1 -1
  553. package/_mjs/IO/api/supervised.mjs.map +1 -1
  554. package/_mjs/IO/api/timeout.mjs +8 -5
  555. package/_mjs/IO/api/timeout.mjs.map +1 -1
  556. package/_mjs/IO/api/transplant.mjs.map +1 -1
  557. package/_mjs/IO/api/whenFiberRef.mjs.map +1 -1
  558. package/_mjs/IO/api/whenRef.mjs.map +1 -1
  559. package/_mjs/IO/api/withChildren.mjs.map +1 -1
  560. package/_mjs/IO/api/withEarlyRelease.mjs.map +1 -1
  561. package/_mjs/IO/api/withFinalizer.mjs.map +1 -1
  562. package/_mjs/IO/api/withFinalizerExit.mjs.map +1 -1
  563. package/_mjs/IO/api/zipConcurrent.mjs +2 -2
  564. package/_mjs/IO/api/zipConcurrent.mjs.map +1 -1
  565. package/_mjs/IO/api.mjs +79 -24
  566. package/_mjs/IO/api.mjs.map +1 -1
  567. package/_mjs/IO/definition.mjs +12 -181
  568. package/_mjs/IO/definition.mjs.map +1 -1
  569. package/_mjs/IO/runtime.mjs +20 -15
  570. package/_mjs/IO/runtime.mjs.map +1 -1
  571. package/_mjs/IO.mjs +1 -0
  572. package/_mjs/IO.mjs.map +1 -1
  573. package/_mjs/IOEnv/definition.mjs.map +1 -1
  574. package/_mjs/IOEnv/live.mjs.map +1 -1
  575. package/_mjs/IOEnv/services.mjs.map +1 -1
  576. package/_mjs/IOEnv.mjs.map +1 -1
  577. package/_mjs/InterruptStatus/constructors.mjs.map +1 -1
  578. package/_mjs/InterruptStatus/definition.mjs.map +1 -1
  579. package/_mjs/InterruptStatus.mjs.map +1 -1
  580. package/_mjs/Layer/MemoMap.mjs +1 -1
  581. package/_mjs/Layer/MemoMap.mjs.map +1 -1
  582. package/_mjs/Layer/api.mjs.map +1 -1
  583. package/_mjs/Layer/definition.mjs.map +1 -1
  584. package/_mjs/Layer.mjs.map +1 -1
  585. package/_mjs/LogLevel.mjs.map +1 -1
  586. package/_mjs/LogSpan.mjs.map +1 -1
  587. package/_mjs/Logger/api.mjs.map +1 -1
  588. package/_mjs/Logger/constructors.mjs.map +1 -1
  589. package/_mjs/Logger/definition.mjs.map +1 -1
  590. package/_mjs/Logger.mjs.map +1 -1
  591. package/_mjs/MVar/api.mjs.map +1 -1
  592. package/_mjs/MVar/definition.mjs.map +1 -1
  593. package/_mjs/MVar.mjs.map +1 -1
  594. package/_mjs/Push/api.mjs +145 -109
  595. package/_mjs/Push/api.mjs.map +1 -1
  596. package/_mjs/Push/definition.mjs.map +1 -1
  597. package/_mjs/Push/internal.mjs.map +1 -1
  598. package/_mjs/Push.mjs.map +1 -1
  599. package/_mjs/Queue/api/dimapIO.mjs.map +1 -1
  600. package/_mjs/Queue/api/filterInputIO.mjs.map +1 -1
  601. package/_mjs/Queue/api/filterOutputIO.mjs.map +1 -1
  602. package/_mjs/Queue/api/operations.mjs.map +1 -1
  603. package/_mjs/Queue/api/poll.mjs.map +1 -1
  604. package/_mjs/Queue/api/takeBetween.mjs.map +1 -1
  605. package/_mjs/Queue/api/zipWithIO.mjs.map +1 -1
  606. package/_mjs/Queue/api.mjs.map +1 -1
  607. package/_mjs/Queue/constructors.mjs.map +1 -1
  608. package/_mjs/Queue/definition.mjs.map +1 -1
  609. package/_mjs/Queue/internal.mjs.map +1 -1
  610. package/_mjs/Queue/strategy.mjs.map +1 -1
  611. package/_mjs/Queue.mjs.map +1 -1
  612. package/_mjs/Random/api.mjs.map +1 -1
  613. package/_mjs/Random/definition.mjs.map +1 -1
  614. package/_mjs/Random/live.mjs.map +1 -1
  615. package/_mjs/Random.mjs.map +1 -1
  616. package/_mjs/Ref/Atomic.mjs.map +1 -1
  617. package/_mjs/Ref/Derived.mjs.map +1 -1
  618. package/_mjs/Ref/DerivedAll.mjs.map +1 -1
  619. package/_mjs/Ref/Synchronized/api.mjs.map +1 -1
  620. package/_mjs/Ref/Synchronized/constructors.mjs.map +1 -1
  621. package/_mjs/Ref/Synchronized/definition.mjs.map +1 -1
  622. package/_mjs/Ref/Synchronized.mjs.map +1 -1
  623. package/_mjs/Ref/api/collect.mjs.map +1 -1
  624. package/_mjs/Ref/api/dimap.mjs.map +1 -1
  625. package/_mjs/Ref/api/filter.mjs.map +1 -1
  626. package/_mjs/Ref/api/get.mjs.map +1 -1
  627. package/_mjs/Ref/api/match.mjs.map +1 -1
  628. package/_mjs/Ref/api/matchAll.mjs.map +1 -1
  629. package/_mjs/Ref/api/modify.mjs.map +1 -1
  630. package/_mjs/Ref/api/set.mjs.map +1 -1
  631. package/_mjs/Ref/api.mjs.map +1 -1
  632. package/_mjs/Ref/constructors.mjs.map +1 -1
  633. package/_mjs/Ref/definition.mjs.map +1 -1
  634. package/_mjs/Ref.mjs.map +1 -1
  635. package/_mjs/RefSubject/Atomic.mjs.map +1 -1
  636. package/_mjs/RefSubject/Synchronized/api.mjs.map +1 -1
  637. package/_mjs/RefSubject/Synchronized/definition.mjs.map +1 -1
  638. package/_mjs/RefSubject/api.mjs.map +1 -1
  639. package/_mjs/RefSubject/definition.mjs.map +1 -1
  640. package/_mjs/RefSubject.mjs.map +1 -1
  641. package/_mjs/Reloadable/api.mjs.map +1 -1
  642. package/_mjs/Reloadable/constructors.mjs.map +1 -1
  643. package/_mjs/Reloadable/definition.mjs.map +1 -1
  644. package/_mjs/Reloadable.mjs.map +1 -1
  645. package/_mjs/RuntimeFlag.mjs.map +1 -1
  646. package/_mjs/RuntimeFlags/Patch.mjs.map +1 -1
  647. package/_mjs/RuntimeFlags/RuntimeFlags.mjs.map +1 -1
  648. package/_mjs/RuntimeFlags.mjs.map +1 -1
  649. package/_mjs/STM/api/atomically.mjs +1 -1
  650. package/_mjs/STM/api/atomically.mjs.map +1 -1
  651. package/_mjs/STM/api/core-api.mjs.map +1 -1
  652. package/_mjs/STM/api/core-constructors.mjs.map +1 -1
  653. package/_mjs/STM/api.mjs.map +1 -1
  654. package/_mjs/STM/definition.mjs +1 -1
  655. package/_mjs/STM/definition.mjs.map +1 -1
  656. package/_mjs/STM/driver.mjs.map +1 -1
  657. package/_mjs/STM/internal/CommitState.mjs.map +1 -1
  658. package/_mjs/STM/internal/Entry.mjs.map +1 -1
  659. package/_mjs/STM/internal/Journal.mjs.map +1 -1
  660. package/_mjs/STM/internal/TryCommit.mjs.map +1 -1
  661. package/_mjs/STM/internal/Versioned.mjs.map +1 -1
  662. package/_mjs/STM.mjs.map +1 -1
  663. package/_mjs/Schedule/Decision.mjs.map +1 -1
  664. package/_mjs/Schedule/Driver.mjs.map +1 -1
  665. package/_mjs/Schedule/api/driver.mjs.map +1 -1
  666. package/_mjs/Schedule/api.mjs +1 -1
  667. package/_mjs/Schedule/api.mjs.map +1 -1
  668. package/_mjs/Schedule/definition.mjs.map +1 -1
  669. package/_mjs/Schedule.mjs.map +1 -1
  670. package/_mjs/Scope/Finalizer/definition.mjs.map +1 -1
  671. package/_mjs/Scope/Finalizer.mjs.map +1 -1
  672. package/_mjs/Scope/ReleaseMap/api/releaseAll.mjs.map +1 -1
  673. package/_mjs/Scope/ReleaseMap/api.mjs.map +1 -1
  674. package/_mjs/Scope/ReleaseMap/constructors.mjs.map +1 -1
  675. package/_mjs/Scope/ReleaseMap/definition.mjs.map +1 -1
  676. package/_mjs/Scope/ReleaseMap.mjs.map +1 -1
  677. package/_mjs/Scope/api.mjs.map +1 -1
  678. package/_mjs/Scope/definition.mjs.map +1 -1
  679. package/_mjs/Scope.mjs.map +1 -1
  680. package/_mjs/ScopedRef/api.mjs +2 -2
  681. package/_mjs/ScopedRef/api.mjs.map +1 -1
  682. package/_mjs/ScopedRef/definition.mjs.map +1 -1
  683. package/_mjs/ScopedRef.mjs.map +1 -1
  684. package/_mjs/Semaphore.mjs +1 -1
  685. package/_mjs/Semaphore.mjs.map +1 -1
  686. package/_mjs/Sink/api.mjs.map +1 -1
  687. package/_mjs/Sink/definition.mjs.map +1 -1
  688. package/_mjs/Sink.mjs.map +1 -1
  689. package/_mjs/State/api.mjs.map +1 -1
  690. package/_mjs/State/definition.mjs.map +1 -1
  691. package/_mjs/State/internal.mjs.map +1 -1
  692. package/_mjs/State.mjs.map +1 -1
  693. package/_mjs/Stream/api/zipAllWith.mjs.map +1 -1
  694. package/_mjs/Stream/api/zipWith.mjs.map +1 -1
  695. package/_mjs/Stream/api/zipWithChunks.mjs.map +1 -1
  696. package/_mjs/Stream/api.mjs.map +1 -1
  697. package/_mjs/Stream/definition.mjs.map +1 -1
  698. package/_mjs/Stream/internal/DebounceState.mjs.map +1 -1
  699. package/_mjs/Stream/internal/Handoff.mjs.map +1 -1
  700. package/_mjs/Stream/internal/Pull.mjs.map +1 -1
  701. package/_mjs/Stream/internal/SinkEndReason.mjs.map +1 -1
  702. package/_mjs/Stream/internal/Take.mjs.map +1 -1
  703. package/_mjs/Stream/internal/util.mjs.map +1 -1
  704. package/_mjs/Stream.mjs.map +1 -1
  705. package/_mjs/Subject/Atomic.mjs.map +1 -1
  706. package/_mjs/Subject/api.mjs.map +1 -1
  707. package/_mjs/Subject/definition.mjs.map +1 -1
  708. package/_mjs/Subject.mjs.map +1 -1
  709. package/_mjs/SubscriptionRef.mjs.map +1 -1
  710. package/_mjs/Supervisor/api.mjs.map +1 -1
  711. package/_mjs/Supervisor/constructors.mjs.map +1 -1
  712. package/_mjs/Supervisor/definition.mjs.map +1 -1
  713. package/_mjs/Supervisor.mjs.map +1 -1
  714. package/_mjs/SupervisorPatch.mjs.map +1 -1
  715. package/_mjs/TExit/constructors.mjs.map +1 -1
  716. package/_mjs/TExit/definition.mjs.map +1 -1
  717. package/_mjs/TExit.mjs.map +1 -1
  718. package/_mjs/TFuture/api.mjs.map +1 -1
  719. package/_mjs/TFuture/constructors.mjs.map +1 -1
  720. package/_mjs/TFuture/definition.mjs.map +1 -1
  721. package/_mjs/TFuture.mjs.map +1 -1
  722. package/_mjs/TReentrantLock/api.mjs +2 -2
  723. package/_mjs/TReentrantLock/api.mjs.map +1 -1
  724. package/_mjs/TReentrantLock/definition.mjs.map +1 -1
  725. package/_mjs/TReentrantLock.mjs.map +1 -1
  726. package/_mjs/TRef/api.mjs.map +1 -1
  727. package/_mjs/TRef/constructors.mjs.map +1 -1
  728. package/_mjs/TRef/definition.mjs.map +1 -1
  729. package/_mjs/TRef.mjs.map +1 -1
  730. package/_mjs/TSemaphore/api.mjs +1 -1
  731. package/_mjs/TSemaphore/api.mjs.map +1 -1
  732. package/_mjs/TSemaphore/constructors.mjs.map +1 -1
  733. package/_mjs/TSemaphore/definition.mjs.map +1 -1
  734. package/_mjs/TSemaphore.mjs.map +1 -1
  735. package/_mjs/TxnId.mjs.map +1 -1
  736. package/_mjs/collection/immutable/Conc/dropUntilIO.mjs +12 -17
  737. package/_mjs/collection/immutable/Conc/dropUntilIO.mjs.map +1 -1
  738. package/_mjs/collection/immutable/Conc/dropWhileIO.mjs +12 -17
  739. package/_mjs/collection/immutable/Conc/dropWhileIO.mjs.map +1 -1
  740. package/_mjs/collection/immutable/Conc/filterIO.mjs +2 -12
  741. package/_mjs/collection/immutable/Conc/filterIO.mjs.map +1 -1
  742. package/_mjs/collection/immutable/Conc/findIO.mjs.map +1 -1
  743. package/_mjs/collection/immutable/Conc/mapIO.mjs +3 -9
  744. package/_mjs/collection/immutable/Conc/mapIO.mjs.map +1 -1
  745. package/_mjs/collection/immutable/Conc/takeWhileIO.mjs +11 -27
  746. package/_mjs/collection/immutable/Conc/takeWhileIO.mjs.map +1 -1
  747. package/_mjs/collection/immutable/Conc.mjs.map +1 -1
  748. package/_mjs/data/Exit/foreachIO.mjs.map +1 -1
  749. package/_mjs/global.mjs.map +1 -1
  750. package/_mjs/index.mjs.map +1 -1
  751. package/_mjs/internal/BackgroundScheduler.mjs.map +1 -1
  752. package/_mjs/internal/HashedPair.mjs.map +1 -1
  753. package/_mjs/internal/Hub.mjs.map +1 -1
  754. package/_mjs/internal/IsFatal.mjs.map +1 -1
  755. package/_mjs/internal/MutableQueue.mjs.map +1 -1
  756. package/_mjs/internal/Scheduler.mjs.map +1 -1
  757. package/_mjs/internal/StackTraceBuilder.mjs.map +1 -1
  758. package/_src/Channel/api.ts +3 -3
  759. package/_src/Fiber/FiberRuntime.ts +79 -78
  760. package/_src/Fiber/api/collectAll.ts +1 -1
  761. package/_src/Fiber/api/zipWith.ts +2 -2
  762. package/_src/IO/api/all.ts +64 -0
  763. package/_src/IO/api/bracketExit.ts +1 -1
  764. package/_src/IO/api/concurrency.ts +33 -0
  765. package/_src/IO/api/foreachConcurrent.ts +1 -1
  766. package/_src/IO/api/foreachExec.ts +2 -2
  767. package/_src/IO/api/interrupt.ts +22 -9
  768. package/_src/IO/api/race.ts +2 -2
  769. package/_src/IO/api/raceWith.ts +4 -2
  770. package/_src/IO/api/timeout.ts +21 -1
  771. package/_src/IO/api/zipConcurrent.ts +2 -2
  772. package/_src/IO/api.ts +80 -28
  773. package/_src/IO/definition.ts +155 -199
  774. package/_src/IO/runtime.ts +7 -1
  775. package/_src/IO.ts +1 -0
  776. package/_src/Push/api.ts +70 -4
  777. package/_src/Push/definition.ts +6 -0
  778. package/_src/STM/definition.ts +2 -2
  779. package/_src/Schedule/api.ts +1 -1
  780. package/_src/collection/immutable/Conc/dropUntilIO.ts +18 -15
  781. package/_src/collection/immutable/Conc/dropWhileIO.ts +18 -17
  782. package/_src/collection/immutable/Conc/filterIO.ts +1 -11
  783. package/_src/collection/immutable/Conc/mapIO.ts +2 -9
  784. package/_src/collection/immutable/Conc/takeWhileIO.ts +19 -28
  785. package/collection/immutable/Conc/filterIO.d.ts +1 -1
  786. package/collection/immutable/Conc/mapIO.d.ts +1 -1
  787. package/collection/immutable/Conc/takeWhileIO.d.ts +1 -1
  788. package/package.json +3 -3
  789. package/IOSpec.d.ts +0 -22
  790. package/Latch.d.ts +0 -3
  791. package/runTests.d.ts +0 -1
@@ -1,5 +1,6 @@
1
1
  import type { FiberStatus } from "../FiberStatus.js";
2
2
  import type { OnFailure, OnSuccess, OnSuccessAndFailure, UIO } from "../IO/definition.js";
3
+ import type { WhileLoop } from "../IO/definition.js";
3
4
  import type { RuntimeFlags } from "../RuntimeFlags.js";
4
5
 
5
6
  import { isIOError } from "@fncts/base/data/exceptions";
@@ -12,29 +13,22 @@ import { Done, Suspended } from "../FiberStatus.js";
12
13
  import { Running } from "../FiberStatus.js";
13
14
  import { FiberStatusTag } from "../FiberStatus.js";
14
15
  import { LinkedQueue } from "../internal/MutableQueue.js";
15
- import { isIO } from "../IO/definition.js";
16
- import { WhileLoop } from "../IO/definition.js";
17
- import { IOOpCode } from "../IO/definition.js";
16
+ import { IOPrimitive, isIO } from "../IO/definition.js";
17
+ import { IOTag } from "../IO/definition.js";
18
18
  import { RuntimeFlag } from "../RuntimeFlag.js";
19
19
  import { FiberMessage, FiberMessageTag } from "./FiberMessage.js";
20
20
 
21
21
  export class RevertFlags {
22
- readonly _tag = IOOpCode.RevertFlags;
22
+ readonly _tag = IOTag.RevertFlags;
23
23
  constructor(readonly patch: RuntimeFlags.Patch, readonly trace?: string) {}
24
24
  }
25
25
 
26
26
  export class UpdateTrace {
27
- readonly _tag = IOOpCode.UpdateTrace;
27
+ readonly _tag = IOTag.UpdateTrace;
28
28
  constructor(readonly trace?: string) {}
29
29
  }
30
30
 
31
- export type Continuation =
32
- | OnSuccess<any, any, any, any, any, any>
33
- | OnSuccessAndFailure<any, any, any, any, any, any, any, any, any>
34
- | OnFailure<any, any, any, any, any, any>
35
- | WhileLoop<any, any, any>
36
- | UpdateTrace
37
- | RevertFlags;
31
+ export type Continuation = OnSuccess | OnSuccessAndFailure | OnFailure | WhileLoop | UpdateTrace | RevertFlags;
38
32
 
39
33
  /**
40
34
  * @tsplus type fncts.io.Fiber
@@ -268,7 +262,7 @@ export class FiberRuntime<E, A> implements Fiber.Runtime<E, A> {
268
262
  }
269
263
  } catch (e) {
270
264
  if (isIO(e)) {
271
- if (IO.concrete(e)._tag === IOOpCode.YieldNow) {
265
+ if (IO.concrete(e)._tag === IOTag.YieldNow) {
272
266
  if (this._runtimeFlags.cooperativeYielding) {
273
267
  this.tell(FiberMessage.YieldNow);
274
268
  this.tell(FiberMessage.Resume(IO.unit));
@@ -276,7 +270,7 @@ export class FiberRuntime<E, A> implements Fiber.Runtime<E, A> {
276
270
  } else {
277
271
  effect = IO.unit;
278
272
  }
279
- } else if (IO.concrete(e)._tag === IOOpCode.Async) {
273
+ } else if (IO.concrete(e)._tag === IOTag.Async) {
280
274
  effect = null!;
281
275
  } else {
282
276
  throw new Error(`Unhandled op ${IO.concrete(e)._tag}`);
@@ -302,6 +296,7 @@ export class FiberRuntime<E, A> implements Fiber.Runtime<E, A> {
302
296
  if (this._runtimeFlags.opSupervision) {
303
297
  this.getSupervisor().unsafeOnEffect(this, cur);
304
298
  }
299
+
305
300
  const nextTrace = IO.concrete(cur).trace;
306
301
  if (nextTrace !== undefined) lastTrace = nextTrace;
307
302
 
@@ -317,27 +312,30 @@ export class FiberRuntime<E, A> implements Fiber.Runtime<E, A> {
317
312
  }
318
313
  try {
319
314
  switch (cur._tag) {
320
- case IOOpCode.Sync: {
321
- const value = cur.evaluate();
315
+ case IOTag.Sync: {
316
+ const value = cur.i0();
322
317
  const cont = this.getNextSuccessCont();
323
318
  if (cont) {
324
319
  switch (cont._tag) {
325
- case IOOpCode.OnSuccess:
326
- case IOOpCode.OnSuccessAndFailure: {
327
- cur = IO.concrete(cont.successK(value));
320
+ case IOTag.OnSuccess: {
321
+ cur = IO.concrete(cont.i1(value));
322
+ break;
323
+ }
324
+ case IOTag.OnSuccessAndFailure: {
325
+ cur = IO.concrete(cont.i2(value));
328
326
  break;
329
327
  }
330
- case IOOpCode.WhileLoop: {
331
- cont.process(value);
332
- if (cont.check()) {
328
+ case IOTag.WhileLoop: {
329
+ cont.i2(value);
330
+ if (cont.i0()) {
333
331
  this.stack.push(cont);
334
- cur = IO.concrete(cont.body());
332
+ cur = IO.concrete(cont.i1());
335
333
  } else {
336
334
  cur = IO.concrete(IO.unit);
337
335
  }
338
336
  break;
339
337
  }
340
- case IOOpCode.RevertFlags: {
338
+ case IOTag.RevertFlags: {
341
339
  this.patchRuntimeFlags(this._runtimeFlags, cont.patch);
342
340
  if (this._runtimeFlags.interruptible && this.isInterrupted()) {
343
341
  cur = IO.concrete(IO.failCauseNow(this.getInterruptedCause()));
@@ -346,7 +344,7 @@ export class FiberRuntime<E, A> implements Fiber.Runtime<E, A> {
346
344
  }
347
345
  break;
348
346
  }
349
- case IOOpCode.UpdateTrace: {
347
+ case IOTag.UpdateTrace: {
350
348
  if (cont.trace !== undefined) lastTrace = cont.trace;
351
349
  cur = IO.concrete(IO.unit);
352
350
  break;
@@ -357,26 +355,26 @@ export class FiberRuntime<E, A> implements Fiber.Runtime<E, A> {
357
355
  }
358
356
  break;
359
357
  }
360
- case IOOpCode.OnSuccessAndFailure:
361
- case IOOpCode.OnFailure:
362
- case IOOpCode.OnSuccess: {
358
+ case IOTag.OnSuccessAndFailure:
359
+ case IOTag.OnFailure:
360
+ case IOTag.OnSuccess: {
363
361
  this.stack.push(cur);
364
- cur = IO.concrete(cur.first);
362
+ cur = IO.concrete(cur.i0);
365
363
  break;
366
364
  }
367
- case IOOpCode.Async: {
365
+ case IOTag.Async: {
368
366
  this.asyncTrace = lastTrace;
369
- this.asyncBlockinOn = cur.blockingOn();
370
- this.initiateAsync(this._runtimeFlags, cur.registerCallback);
367
+ this.asyncBlockinOn = cur.i1();
368
+ this.initiateAsync(this._runtimeFlags, cur.i0);
371
369
  throw cur;
372
370
  }
373
- case IOOpCode.UpdateRuntimeFlagsWithin: {
374
- const updateFlags = cur.update;
371
+ case IOTag.UpdateRuntimeFlagsWithin: {
372
+ const updateFlags = cur.i0;
375
373
  const oldRuntimeFlags = this._runtimeFlags;
376
374
  const newRuntimeFlags = updateFlags.patch(oldRuntimeFlags);
377
375
 
378
376
  if (newRuntimeFlags === oldRuntimeFlags) {
379
- cur = IO.concrete(cur.scope(oldRuntimeFlags));
377
+ cur = IO.concrete(cur.i1(oldRuntimeFlags));
380
378
  } else {
381
379
  if (newRuntimeFlags.interruptible && this.isInterrupted()) {
382
380
  cur = IO.concrete(IO.failCauseNow(this.getInterruptedCause()));
@@ -384,84 +382,87 @@ export class FiberRuntime<E, A> implements Fiber.Runtime<E, A> {
384
382
  this.patchRuntimeFlags(this._runtimeFlags, updateFlags);
385
383
  const revertFlags = newRuntimeFlags.diff(oldRuntimeFlags);
386
384
  this.stack.push(new RevertFlags(revertFlags));
387
- cur = IO.concrete(cur.scope(oldRuntimeFlags));
385
+ cur = IO.concrete(cur.i1(oldRuntimeFlags));
388
386
  }
389
387
  }
390
388
  break;
391
389
  }
392
- case IOOpCode.GenerateStackTrace: {
390
+ case IOTag.GenerateStackTrace: {
393
391
  cur = IO.concrete(IO.succeedNow(this.generateStackTrace()));
394
392
  break;
395
393
  }
396
- case IOOpCode.Stateful: {
397
- cur = IO.concrete(cur.onState(this, new Running(this._runtimeFlags, lastTrace)));
394
+ case IOTag.Stateful: {
395
+ cur = IO.concrete(cur.i0(this, new Running(this._runtimeFlags, lastTrace)));
398
396
  break;
399
397
  }
400
- case IOOpCode.SucceedNow: {
398
+ case IOTag.SucceedNow: {
401
399
  const oldCur = cur;
402
400
  const cont = this.getNextSuccessCont();
403
401
  if (cont) {
404
402
  switch (cont._tag) {
405
- case IOOpCode.OnSuccess:
406
- case IOOpCode.OnSuccessAndFailure: {
407
- cur = IO.concrete(cont.successK(oldCur.value));
403
+ case IOTag.OnSuccess: {
404
+ cur = IO.concrete(cont.i1(oldCur.i0));
405
+ break;
406
+ }
407
+ case IOTag.OnSuccessAndFailure: {
408
+ cur = IO.concrete(cont.i2(oldCur.i0));
408
409
  break;
409
410
  }
410
- case IOOpCode.WhileLoop: {
411
- cont.process(oldCur.value);
412
- if (cont.check()) {
411
+ case IOTag.WhileLoop: {
412
+ cont.i2(oldCur.i0);
413
+ if (cont.i0()) {
413
414
  this.stack.push(cont);
414
- cur = IO.concrete(cont.body());
415
+ cur = IO.concrete(cont.i1());
415
416
  } else {
416
417
  cur = IO.concrete(IO.unit);
417
418
  }
418
419
  break;
419
420
  }
420
- case IOOpCode.RevertFlags: {
421
+ case IOTag.RevertFlags: {
421
422
  this.patchRuntimeFlags(this._runtimeFlags, cont.patch);
422
423
  if (this._runtimeFlags.interruptible && this.isInterrupted()) {
423
424
  cur = IO.concrete(IO.failCauseNow(this.getInterruptedCause()));
424
425
  }
425
426
  break;
426
427
  }
427
- case IOOpCode.UpdateTrace: {
428
+ case IOTag.UpdateTrace: {
428
429
  if (cont.trace !== undefined) lastTrace = cont.trace;
429
430
  cur = IO.concrete(IO.unit);
430
431
  break;
431
432
  }
432
433
  }
433
434
  } else {
434
- return Exit.succeed(oldCur.value);
435
+ return Exit.succeed(oldCur.i0);
435
436
  }
436
437
  break;
437
438
  }
438
- case IOOpCode.Fail: {
439
- const cause = cur.cause();
439
+ case IOTag.Fail: {
440
+ const cause = cur.i0();
440
441
  const cont = this.getNextFailCont();
441
442
  if (cont) {
442
443
  switch (cont._tag) {
443
- case IOOpCode.OnFailure:
444
- case IOOpCode.OnSuccessAndFailure: {
444
+ case IOTag.OnFailure:
445
+ case IOTag.OnSuccessAndFailure: {
445
446
  if (!(this._runtimeFlags.interruptible && this.isInterrupted())) {
446
- cur = IO.concrete(cont.failureK(cause));
447
+ cur = IO.concrete(cont.i1(cause));
447
448
  } else {
448
449
  cur = IO.concrete(IO.failCauseNow(cause.stripFailures));
449
450
  }
450
451
  break;
451
452
  }
452
- case IOOpCode.RevertFlags: {
453
+ case IOTag.RevertFlags: {
453
454
  this.patchRuntimeFlags(this._runtimeFlags, cont.patch);
454
455
  if (this._runtimeFlags.interruptible && this.isInterrupted()) {
455
456
  const interruptedCause = this.getInterruptedCause();
456
457
  if (cause.contains(interruptedCause)) {
457
458
  cur = IO.concrete(IO.failCauseNow(cause));
458
459
  } else {
459
- cur = IO.concrete(IO.failCauseNow(Cause.then(cause, this.getInterruptedCause())));
460
+ cur = IO.concrete(IO.failCauseNow(Cause.sequential(cause, this.getInterruptedCause())));
460
461
  }
461
462
  }
462
463
  break;
463
464
  }
464
- case IOOpCode.UpdateTrace: {
465
+ case IOTag.UpdateTrace: {
465
466
  if (cont.trace !== undefined) lastTrace = cont.trace;
466
467
  cur = IO.concrete(IO.unit);
467
468
  break;
@@ -472,15 +473,15 @@ export class FiberRuntime<E, A> implements Fiber.Runtime<E, A> {
472
473
  }
473
474
  break;
474
475
  }
475
- case IOOpCode.UpdateRuntimeFlags: {
476
- this.patchRuntimeFlags(this._runtimeFlags, cur.update);
476
+ case IOTag.UpdateRuntimeFlags: {
477
+ this.patchRuntimeFlags(this._runtimeFlags, cur.i0);
477
478
  cur = IO.concrete(IO.unit);
478
479
  break;
479
480
  }
480
- case IOOpCode.WhileLoop: {
481
+ case IOTag.WhileLoop: {
481
482
  const iterate = cur;
482
- const check = iterate.check;
483
- const body = iterate.body;
483
+ const check = iterate.i0;
484
+ const body = iterate.i1;
484
485
  if (check()) {
485
486
  cur = IO.concrete(body());
486
487
  this.stack.push(iterate);
@@ -489,10 +490,10 @@ export class FiberRuntime<E, A> implements Fiber.Runtime<E, A> {
489
490
  }
490
491
  break;
491
492
  }
492
- case IOOpCode.YieldNow: {
493
+ case IOTag.YieldNow: {
493
494
  throw cur;
494
495
  }
495
- case IOOpCode.Commit: {
496
+ case IOTag.Commit: {
496
497
  cur = IO.concrete(cur.commit);
497
498
  break;
498
499
  }
@@ -524,10 +525,10 @@ export class FiberRuntime<E, A> implements Fiber.Runtime<E, A> {
524
525
  } catch (e) {
525
526
  if (isIOError(e)) {
526
527
  cur = IO.concrete(IO.failCauseNow(e.cause));
527
- } else if (isIO(e) && (IO.concrete(e)._tag === IOOpCode.Async || IO.concrete(e)._tag === IOOpCode.YieldNow)) {
528
+ } else if (isIO(e) && (IO.concrete(e)._tag === IOTag.Async || IO.concrete(e)._tag === IOTag.YieldNow)) {
528
529
  throw e;
529
530
  } else if (isInterruptedException(e)) {
530
- cur = IO.concrete(IO.failCauseNow(Cause.both(Cause.halt(e), Cause.interrupt(FiberId.none))));
531
+ cur = IO.concrete(IO.failCauseNow(Cause.parallel(Cause.halt(e), Cause.interrupt(FiberId.none))));
531
532
  } else {
532
533
  cur = IO.concrete(IO.failCauseNow(Cause.halt(e, Trace(this.fiberId, Conc(TraceElement.parse(lastTrace))))));
533
534
  }
@@ -622,14 +623,14 @@ export class FiberRuntime<E, A> implements Fiber.Runtime<E, A> {
622
623
  }
623
624
  };
624
625
 
625
- return new WhileLoop(
626
- check,
627
- body,
628
- () => {
629
- //
630
- },
631
- this.id.location,
632
- );
626
+ const io = new IOPrimitive(IOTag.WhileLoop) as any;
627
+ io.i0 = check;
628
+ io.i1 = body;
629
+ io.i2 = () => {
630
+ //
631
+ };
632
+
633
+ return io;
633
634
  } else {
634
635
  return null!;
635
636
  }
@@ -663,7 +664,7 @@ export class FiberRuntime<E, A> implements Fiber.Runtime<E, A> {
663
664
  if (oldSC.contains(cause)) {
664
665
  return;
665
666
  }
666
- this.setFiberRef(FiberRef.interruptedCause, Cause.then(oldSC, cause));
667
+ this.setFiberRef(FiberRef.interruptedCause, Cause.sequential(oldSC, cause));
667
668
  }
668
669
 
669
670
  private processNewInterruptSignal(cause: Cause<never>): void {
@@ -822,7 +823,7 @@ export class FiberRuntime<E, A> implements Fiber.Runtime<E, A> {
822
823
  getNextSuccessCont() {
823
824
  while (this.stack.hasNext) {
824
825
  const frame = this.stack.pop()!;
825
- if (frame._tag !== IOOpCode.OnFailure) {
826
+ if (frame._tag !== IOTag.OnFailure) {
826
827
  return frame;
827
828
  }
828
829
  }
@@ -831,7 +832,7 @@ export class FiberRuntime<E, A> implements Fiber.Runtime<E, A> {
831
832
  getNextFailCont() {
832
833
  while (this.stack.hasNext) {
833
834
  const frame = this.stack.pop()!;
834
- if (frame._tag !== IOOpCode.OnSuccess && frame._tag !== IOOpCode.WhileLoop) {
835
+ if (frame._tag !== IOTag.OnSuccess && frame._tag !== IOTag.WhileLoop) {
835
836
  return frame;
836
837
  }
837
838
  }
@@ -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
  }
@@ -0,0 +1,64 @@
1
+ import type { _A, _E, _R } from "@fncts/base/types";
2
+ import type { EnvironmentOf, ErrorOf, IOVariance, ValueOf } from "@fncts/io/IO";
3
+
4
+ /**
5
+ * @tsplus static fncts.io.IOOps all
6
+ */
7
+ export function all<T extends ReadonlyArray<IO<any, any, any>>>(
8
+ ios: [...T],
9
+ ): IO<
10
+ { [K in number]: EnvironmentOf<T[K]> }[number],
11
+ { [K in number]: ErrorOf<T[K]> }[number],
12
+ { [K in keyof T]: ValueOf<T[K]> }
13
+ >;
14
+ export function all<T extends Iterable<IO<any, any, any>>>(
15
+ ios: T,
16
+ ): [T] extends [Iterable<infer A>] ? IO<EnvironmentOf<A>, ErrorOf<A>, Conc<ValueOf<A>>> : never;
17
+ export function all<T extends Record<string, IO<any, any, any>>>(
18
+ ios: T,
19
+ ): IO<
20
+ { [K in keyof T]: EnvironmentOf<T[K]> }[keyof T],
21
+ { [K in keyof T]: ErrorOf<T[K]> }[keyof T],
22
+ { [K in keyof T]: ValueOf<T[K]> }
23
+ >;
24
+ export function all(ios: Record<string, IO<any, any, any>> | Iterable<IO<any, any, any>>): IO<any, any, any> {
25
+ if (Symbol.iterator in ios) {
26
+ return IO.foreach(ios, Function.identity);
27
+ } else {
28
+ return IO.foreach(
29
+ Object.entries(ios).map(([k, io]) => io.map((value) => [k, value] as const)),
30
+ Function.identity,
31
+ ).map((result) => result.foldLeft({} as Record<string, any>, (b, a) => Object.assign(b, { [a[0]]: a[1] })));
32
+ }
33
+ }
34
+
35
+ /**
36
+ * @tsplus static fncts.io.IOOps allConcurrent
37
+ */
38
+ export function allConcurrent<T extends ReadonlyArray<IO<any, any, any>>>(
39
+ ios: [...T],
40
+ ): IO<
41
+ { [K in number]: EnvironmentOf<T[K]> }[number],
42
+ { [K in number]: ErrorOf<T[K]> }[number],
43
+ { [K in keyof T]: ValueOf<T[K]> }
44
+ >;
45
+ export function allConcurrent<T extends Iterable<IO<any, any, any>>>(
46
+ ios: T,
47
+ ): [T] extends [Iterable<infer A>] ? IO<EnvironmentOf<A>, ErrorOf<A>, Conc<ValueOf<A>>> : never;
48
+ export function allConcurrent<T extends Record<string, IO<any, any, any>>>(
49
+ ios: T,
50
+ ): IO<
51
+ { [K in keyof T]: EnvironmentOf<T[K]> }[keyof T],
52
+ { [K in keyof T]: ErrorOf<T[K]> }[keyof T],
53
+ { [K in keyof T]: ValueOf<T[K]> }
54
+ >;
55
+ export function allConcurrent(ios: Record<string, IO<any, any, any>> | Iterable<IO<any, any, any>>): IO<any, any, any> {
56
+ if (Symbol.iterator in ios) {
57
+ return IO.foreachConcurrent(ios, Function.identity);
58
+ } else {
59
+ return IO.foreachConcurrent(
60
+ Object.entries(ios).map(([k, io]) => io.map((value) => [k, value] as const)),
61
+ Function.identity,
62
+ ).map((result) => result.foldLeft({} as Record<string, any>, (b, a) => Object.assign(b, { [a[0]]: a[1] })));
63
+ }
64
+ }
@@ -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
  ),
@@ -41,3 +41,36 @@ export function withConcurrency(n: number, __tsplusTrace?: string) {
41
41
  export function withConcurrencyUnbounded<R, E, A>(ma: IO<R, E, A>, __tsplusTrace?: string): IO<R, E, A> {
42
42
  return IO.defer(Concurrency.locally(Nothing())(ma));
43
43
  }
44
+
45
+ export type ConcurrencyRestorer = <R, E, A>(io: IO<R, E, A>) => IO<R, E, A>;
46
+
47
+ const MakeConcurrent =
48
+ (n: number): ConcurrencyRestorer =>
49
+ (io) =>
50
+ io.withConcurrency(n);
51
+
52
+ const MakeConcurrentUnbounded: ConcurrencyRestorer = (io) => io.withConcurrencyUnbounded;
53
+
54
+ /**
55
+ * @tsplus static fncts.io.IOOps withConcurrencyMask
56
+ */
57
+ export function withConcurrencyMask<R, E, A>(n: number, f: (restore: ConcurrencyRestorer) => IO<R, E, A>): IO<R, E, A> {
58
+ return Concurrency.getWith((concurrency) =>
59
+ concurrency.match(
60
+ () => Concurrency.locally(Just(n))(f(MakeConcurrentUnbounded)),
61
+ (n0) => Concurrency.locally(Just(n))(f(MakeConcurrent(n0))),
62
+ ),
63
+ );
64
+ }
65
+
66
+ /**
67
+ * @tsplus static fncts.io.IOOps withConcurrencyUnboundedMask
68
+ */
69
+ export function withConcurrencyUnboundedMask<R, E, A>(f: (restore: ConcurrencyRestorer) => IO<R, E, A>): IO<R, E, A> {
70
+ return Concurrency.getWith((concurrency) =>
71
+ concurrency.match(
72
+ () => Concurrency.locally(Nothing())(f(MakeConcurrentUnbounded)),
73
+ (n0) => Concurrency.locally(Nothing())(f(MakeConcurrent(n0))),
74
+ ),
75
+ );
76
+ }
@@ -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
  ),
@@ -14,7 +14,7 @@ export function foreachExec<R, E, A, B>(
14
14
  ): IO<R, E, Conc<B>> {
15
15
  return es.match(
16
16
  () => IO.foreach(as, f),
17
- () => IO.foreachConcurrent(as, f).withConcurrencyUnbounded,
18
- (fiberBound) => IO.foreachConcurrent(as, f).withConcurrency(fiberBound),
17
+ () => IO.withConcurrencyUnboundedMask((restore) => IO.foreachConcurrent(as, (a) => restore(f(a)))),
18
+ (fiberBound) => IO.withConcurrencyMask(fiberBound, (restore) => IO.foreachConcurrent(as, (a) => restore(f(a)))),
19
19
  );
20
20
  }
@@ -1,4 +1,4 @@
1
- import { Dynamic, Interruptible, Uninterruptible } from "@fncts/io/IO/definition";
1
+ import { IOPrimitive,IOTag } from "@fncts/io/IO/definition";
2
2
  import { RuntimeFlag } from "@fncts/io/RuntimeFlag";
3
3
  import { RuntimeFlags } from "@fncts/io/RuntimeFlags";
4
4
 
@@ -40,7 +40,11 @@ export const interrupt: IO<never, never, never> = IO.fiberId.flatMap(IO.interrup
40
40
  * @tsplus static fncts.io.IOOps interruptible
41
41
  */
42
42
  export function interruptible<R, E, A>(self: IO<R, E, A>, __tsplusTrace?: string): IO<R, E, A> {
43
- return new Interruptible(self, __tsplusTrace);
43
+ const io = new IOPrimitive(IOTag.UpdateRuntimeFlagsWithin) as any;
44
+ io.i0 = RuntimeFlags.enable(RuntimeFlag.Interruption);
45
+ io.i1 = () => self;
46
+ io.trace = __tsplusTrace;
47
+ return io;
44
48
  }
45
49
 
46
50
  /**
@@ -55,7 +59,11 @@ export function interruptible<R, E, A>(self: IO<R, E, A>, __tsplusTrace?: string
55
59
  * @tsplus static fncts.io.IOOps uninterruptible
56
60
  */
57
61
  export function uninterruptible<R, E, A>(self: IO<R, E, A>, __tsplusTrace?: string): IO<R, E, A> {
58
- return new Uninterruptible(self, __tsplusTrace);
62
+ const io = new IOPrimitive(IOTag.UpdateRuntimeFlagsWithin) as any;
63
+ io.i0 = RuntimeFlags.disable(RuntimeFlag.Interruption);
64
+ io.i1 = () => self;
65
+ io.trace = __tsplusTrace;
66
+ return io;
59
67
  }
60
68
 
61
69
  /**
@@ -65,10 +73,15 @@ export function uninterruptible<R, E, A>(self: IO<R, E, A>, __tsplusTrace?: stri
65
73
  *
66
74
  * @tsplus static fncts.io.IOOps uninterruptibleMask
67
75
  */
68
- export function uninterruptibleMask<R, E, A>(f: (restore: InterruptibilityRestorer) => IO<R, E, A>): IO<R, E, A> {
69
- return new Dynamic(RuntimeFlags.disable(RuntimeFlag.Interruption), (oldFlags) =>
70
- f(oldFlags.interruption ? RestoreInterruptible : RestoreUninterruptible),
71
- );
76
+ export function uninterruptibleMask<R, E, A>(
77
+ f: (restore: InterruptibilityRestorer) => IO<R, E, A>,
78
+ __tsplusTrace?: string,
79
+ ): IO<R, E, A> {
80
+ const io = new IOPrimitive(IOTag.UpdateRuntimeFlagsWithin) as any;
81
+ io.i0 = RuntimeFlags.disable(RuntimeFlag.Interruption);
82
+ io.i1 = (oldFlags: RuntimeFlags) => f(oldFlags.interruption ? RestoreInterruptible : RestoreUninterruptible);
83
+ io.trace = __tsplusTrace;
84
+ return io;
72
85
  }
73
86
 
74
87
  /**
@@ -80,7 +93,7 @@ export function ensuring<R1>(finalizer: IO<R1, never, any>, __tsplusTrace?: stri
80
93
  restore(self).matchCauseIO(
81
94
  (cause1) =>
82
95
  finalizer.matchCauseIO(
83
- (cause2) => IO.failCauseNow(Cause.then(cause1, cause2)),
96
+ (cause2) => IO.failCauseNow(Cause.sequential(cause1, cause2)),
84
97
  () => IO.failCauseNow(cause1),
85
98
  ),
86
99
  (a) => finalizer.map(() => a),
@@ -152,7 +165,7 @@ export function onExit<E, A, R1, E1>(cleanup: (exit: Exit<E, A>) => IO<R1, E1, a
152
165
  (failure1) => {
153
166
  const result = Exit.failCause(failure1);
154
167
  return cleanup(result).matchCauseIO(
155
- (failure2) => IO.failCauseNow(Cause.then(failure1, failure2)),
168
+ (failure2) => IO.failCauseNow(Cause.sequential(failure1, failure2)),
156
169
  () => IO.fromExitNow(result),
157
170
  );
158
171
  },
@@ -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
  ),
@@ -10,6 +10,8 @@ export function raceFibersWith<R, E, A, R1, E1, B, R2, E2, C, R3, E3, D>(
10
10
  right: Lazy<IO<R1, E1, B>>,
11
11
  leftWins: (winner: FiberRuntime<E, A>, loser: FiberRuntime<E1, B>) => IO<R2, E2, C>,
12
12
  rightWins: (winner: FiberRuntime<E1, B>, loser: FiberRuntime<E, A>) => IO<R3, E3, D>,
13
+ leftScope: FiberScope | null = null,
14
+ rightScope: FiberScope | null = null,
13
15
  __tsplusTrace?: string,
14
16
  ) {
15
17
  return (left: IO<R, E, A>): IO<R | R1 | R2 | R3, E2 | E3, C | D> => {
@@ -29,8 +31,8 @@ export function raceFibersWith<R, E, A, R1, E1, B, R2, E2, C, R3, E3, D>(
29
31
  }
30
32
 
31
33
  const raceIndicator = new AtomicBoolean(true);
32
- const leftFiber = IO.unsafeMakeChildFiber(left, parentState, parentRuntimeFlags, null, __tsplusTrace);
33
- const rightFiber = IO.unsafeMakeChildFiber(right0, parentState, parentRuntimeFlags, null, __tsplusTrace);
34
+ const leftFiber = IO.unsafeMakeChildFiber(left, parentState, parentRuntimeFlags, leftScope, __tsplusTrace);
35
+ const rightFiber = IO.unsafeMakeChildFiber(right0, parentState, parentRuntimeFlags, rightScope, __tsplusTrace);
34
36
 
35
37
  return IO.async((cb) => {
36
38
  leftFiber.addObserver(() => complete(leftFiber, rightFiber, leftWins, raceIndicator, cb));
@@ -3,7 +3,27 @@
3
3
  */
4
4
  export function timeoutTo<A, B, B1>(duration: Lazy<Duration>, b: Lazy<B>, f: (a: A) => B1, __tsplusTrace?: string) {
5
5
  return <R, E>(self: IO<R, E, A>): IO<R, E, B | B1> => {
6
- return self.map(f).raceFirst(IO.sleep(duration).interruptible.as(b));
6
+ return IO.fiberIdWith((parentFiberId) =>
7
+ self.raceFibersWith(
8
+ IO.sleep(duration).interruptible,
9
+ (winner, loser) =>
10
+ winner.await.flatMap((exit) =>
11
+ exit.match(
12
+ (cause) => loser.interruptAs(parentFiberId) > IO.refailCause(cause),
13
+ (a) => winner.inheritAll > loser.interruptAs(parentFiberId).as(f(a)),
14
+ ),
15
+ ),
16
+ (winner, loser) =>
17
+ winner.await.flatMap((exit) =>
18
+ exit.match(
19
+ (cause) => loser.interruptAs(parentFiberId) > IO.refailCause(cause),
20
+ () => winner.inheritAll > loser.interruptAs(parentFiberId).as(b),
21
+ ),
22
+ ),
23
+ null,
24
+ FiberScope.global,
25
+ ),
26
+ );
7
27
  };
8
28
  }
9
29
 
@@ -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
  ),