@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
package/_src/IO/api.ts CHANGED
@@ -6,17 +6,8 @@ import type { RuntimeFlags } from "@fncts/io/RuntimeFlags";
6
6
 
7
7
  import { IOError } from "@fncts/base/data/exceptions";
8
8
  import { identity, pipe, tuple } from "@fncts/base/data/function";
9
- import {
10
- Async,
11
- GenerateStackTrace,
12
- OnSuccess,
13
- OnSuccessAndFailure,
14
- Sync,
15
- UpdateRuntimeFlags,
16
- YieldNow,
17
- } from "@fncts/io/IO/definition";
18
- import { Stateful } from "@fncts/io/IO/definition";
19
- import { Fail, IO, SucceedNow } from "@fncts/io/IO/definition";
9
+ import { IOPrimitive,IOTag } from "@fncts/io/IO/definition";
10
+ import { IO } from "@fncts/io/IO/definition";
20
11
 
21
12
  /**
22
13
  * Imports an asynchronous side-effect into a `IO`
@@ -28,7 +19,11 @@ export function async<R, E, A>(
28
19
  blockingOn: FiberId = FiberId.none,
29
20
  __tsplusTrace?: string,
30
21
  ): IO<R, E, A> {
31
- return new Async(register, () => blockingOn, __tsplusTrace);
22
+ const io = new IOPrimitive(IOTag.Async) as any;
23
+ io.i0 = register;
24
+ io.i1 = () => blockingOn;
25
+ io.trace = __tsplusTrace;
26
+ return io;
32
27
  }
33
28
 
34
29
  /**
@@ -318,7 +313,11 @@ export function checkInterruptible<R, E, A>(
318
313
  */
319
314
  export function flatMap<A, R1, E1, B>(f: (a: A) => IO<R1, E1, B>, __tsplusTrace?: string) {
320
315
  return <R, E>(ma: IO<R, E, A>): IO<R | R1, E | E1, B> => {
321
- return new OnSuccess(ma, f, __tsplusTrace);
316
+ const io = new IOPrimitive(IOTag.OnSuccess) as any;
317
+ io.i0 = ma;
318
+ io.i1 = f;
319
+ io.trace = __tsplusTrace;
320
+ return io;
322
321
  };
323
322
  }
324
323
 
@@ -369,7 +368,7 @@ export function condIO<R, R1, E, A>(
369
368
  *
370
369
  * @tsplus static fncts.io.IOOps defer
371
370
  */
372
- export function defer<R, E, A>(io: Lazy<IO<R, E, A>>, __tsplusTrace?: string): IO<R, E, A> {
371
+ export function defer<R = never, E = never, A = never>(io: Lazy<IO<R, E, A>>, __tsplusTrace?: string): IO<R, E, A> {
373
372
  return IO.succeed(io).flatMap(identity);
374
373
  }
375
374
 
@@ -379,7 +378,10 @@ export function defer<R, E, A>(io: Lazy<IO<R, E, A>>, __tsplusTrace?: string): I
379
378
  *
380
379
  * @tsplus static fncts.io.IOOps deferTry
381
380
  */
382
- export function deferTry<R, E, A>(io: () => IO<R, E, A>, __tsplusTrace?: string): IO<R, unknown, A> {
381
+ export function deferTry<R = never, E = never, A = never>(
382
+ io: () => IO<R, E, A>,
383
+ __tsplusTrace?: string,
384
+ ): IO<R, unknown, A> {
383
385
  return IO.defer(() => {
384
386
  try {
385
387
  return io();
@@ -463,7 +465,10 @@ export function failNow<E>(e: E, __tsplusTrace?: string): FIO<E, never> {
463
465
  * @tsplus static fncts.io.IOOps refailCause
464
466
  */
465
467
  export function refailCause<E>(cause: Cause<E>, __tsplusTrace?: string): FIO<E, never> {
466
- return new Fail(() => cause, __tsplusTrace);
468
+ const io = new IOPrimitive(IOTag.Fail) as any;
469
+ io.i0 = () => cause;
470
+ io.trace = __tsplusTrace;
471
+ return io;
467
472
  }
468
473
 
469
474
  /**
@@ -472,7 +477,10 @@ export function refailCause<E>(cause: Cause<E>, __tsplusTrace?: string): FIO<E,
472
477
  * @tsplus static fncts.io.IOOps failCauseNow
473
478
  */
474
479
  export function failCauseNow<E>(cause: Cause<E>, __tsplusTrace?: string): FIO<E, never> {
475
- return new Fail(() => cause, __tsplusTrace);
480
+ const io = new IOPrimitive(IOTag.Fail) as any;
481
+ io.i0 = () => cause;
482
+ io.trace = __tsplusTrace;
483
+ return io;
476
484
  }
477
485
 
478
486
  /**
@@ -1223,7 +1231,12 @@ export function matchCauseIO<E, A, R1, E1, A1, R2, E2, A2>(
1223
1231
  __tsplusTrace?: string,
1224
1232
  ) {
1225
1233
  return <R>(self: IO<R, E, A>): IO<R | R1 | R2, E1 | E2, A1 | A2> => {
1226
- return new OnSuccessAndFailure(self, onFailure, onSuccess, __tsplusTrace);
1234
+ const io = new IOPrimitive(IOTag.OnSuccessAndFailure) as any;
1235
+ io.i0 = self;
1236
+ io.i1 = onFailure;
1237
+ io.i2 = onSuccess;
1238
+ io.trace = __tsplusTrace;
1239
+ return io;
1227
1240
  };
1228
1241
  }
1229
1242
 
@@ -1576,7 +1589,7 @@ export function result<R, E, A>(ma: IO<R, E, A>, __tsplusTrace?: string): IO<R,
1576
1589
  /**
1577
1590
  * Recover from the unchecked failure of the `IO`. (opposite of `orHalt`)
1578
1591
  *
1579
- * @trace call
1592
+ * @tsplus getter fncts.io.IO resurrect
1580
1593
  */
1581
1594
  export function resurrect<R, E, A>(io: IO<R, E, A>, __tsplusTrace?: string): IO<R, unknown, A> {
1582
1595
  return io.unrefineWith(Maybe.just, identity);
@@ -1664,7 +1677,10 @@ export function sequenceIterableDiscard<R, E, A>(as: Iterable<IO<R, E, A>>, __ts
1664
1677
  * @tsplus static fncts.io.IOOps succeedNow
1665
1678
  */
1666
1679
  export function succeedNow<A>(value: A, __tsplusTrace?: string): IO<never, never, A> {
1667
- return new SucceedNow(value, __tsplusTrace);
1680
+ const io = new IOPrimitive(IOTag.SucceedNow) as any;
1681
+ io.i0 = value;
1682
+ io.trace = __tsplusTrace;
1683
+ return io;
1668
1684
  }
1669
1685
 
1670
1686
  /**
@@ -1676,7 +1692,10 @@ export function succeedNow<A>(value: A, __tsplusTrace?: string): IO<never, never
1676
1692
  * @tsplus static fncts.io.IOOps __call
1677
1693
  */
1678
1694
  export function succeed<A>(effect: Lazy<A>, __tsplusTrace?: string): UIO<A> {
1679
- return new Sync(effect, __tsplusTrace);
1695
+ const io = new IOPrimitive(IOTag.Sync) as any;
1696
+ io.i0 = effect;
1697
+ io.trace = __tsplusTrace;
1698
+ return io;
1680
1699
  }
1681
1700
 
1682
1701
  /**
@@ -1721,17 +1740,42 @@ export function timedWith<R1, E1>(msTime: IO<R1, E1, number>, __tsplusTrace?: st
1721
1740
  ma.summarized(msTime, (start, end) => end - start);
1722
1741
  }
1723
1742
 
1743
+ /**
1744
+ * @tsplus static fncts.io.IOOps attempt
1745
+ */
1746
+ export function attempt<A>(effect: Lazy<A>, __tsplusTrace?: string): FIO<unknown, A> {
1747
+ return IO.defer(() => {
1748
+ try {
1749
+ return Exit.succeed(effect());
1750
+ } catch (u) {
1751
+ return IO.withFiberRuntime((fiberState) => {
1752
+ if (!fiberState.isFatal(u)) {
1753
+ throw new IOError(Cause.fail(u));
1754
+ } else {
1755
+ throw u;
1756
+ }
1757
+ });
1758
+ }
1759
+ });
1760
+ }
1761
+
1724
1762
  /**
1725
1763
  * Creates a `IO` that has succeeded with a pure value
1726
1764
  *
1727
1765
  * @tsplus static fncts.io.IOOps tryCatch
1728
1766
  */
1729
1767
  export function tryCatch<E, A>(effect: Lazy<A>, onThrow: (error: unknown) => E, __tsplusTrace?: string): FIO<E, A> {
1730
- return IO.succeed(() => {
1768
+ return IO.defer(() => {
1731
1769
  try {
1732
- return effect();
1770
+ return Exit.succeed(effect());
1733
1771
  } catch (u) {
1734
- throw new IOError(Cause.fail(onThrow(u)));
1772
+ return IO.withFiberRuntime((fiberState) => {
1773
+ if (!fiberState.isFatal(u)) {
1774
+ throw new IOError(Cause.fail(u));
1775
+ } else {
1776
+ throw u;
1777
+ }
1778
+ });
1735
1779
  }
1736
1780
  });
1737
1781
  }
@@ -1902,21 +1946,29 @@ export function withFiberRuntime<R, E, A>(
1902
1946
  onState: (fiber: FiberRuntime<E, A>, status: Running) => IO<R, E, A>,
1903
1947
  __tsplusTrace?: string,
1904
1948
  ): IO<R, E, A> {
1905
- return new Stateful(onState, __tsplusTrace);
1949
+ const io = new IOPrimitive(IOTag.Stateful) as any;
1950
+ io.i0 = onState;
1951
+ io.trace = __tsplusTrace;
1952
+ return io;
1906
1953
  }
1907
1954
 
1908
1955
  /**
1909
1956
  * @tsplus static fncts.io.IOOps updateRuntimeFlags
1910
1957
  */
1911
1958
  export function updateRuntimeFlags(patch: RuntimeFlags.Patch, __tsplusTrace?: string): IO<never, never, void> {
1912
- return new UpdateRuntimeFlags(patch, __tsplusTrace);
1959
+ const io = new IOPrimitive(IOTag.UpdateRuntimeFlags) as any;
1960
+ io.i0 = patch;
1961
+ io.trace = __tsplusTrace;
1962
+ return io;
1913
1963
  }
1914
1964
 
1915
1965
  /**
1916
1966
  * @tsplus static fncts.io.IOOps stackTrace
1917
1967
  */
1918
1968
  export function stackTrace(__tsplusTrace?: string): UIO<Trace> {
1919
- return new GenerateStackTrace(__tsplusTrace);
1969
+ const io = new IOPrimitive(IOTag.GenerateStackTrace) as any;
1970
+ io.trace = __tsplusTrace;
1971
+ return io;
1920
1972
  }
1921
1973
 
1922
1974
  /**
@@ -1926,7 +1978,7 @@ export function stackTrace(__tsplusTrace?: string): UIO<Trace> {
1926
1978
  *
1927
1979
  * @tsplus static fncts.io.IOOps yieldNow
1928
1980
  */
1929
- export const yieldNow: UIO<void> = new YieldNow();
1981
+ export const yieldNow: UIO<void> = new IOPrimitive(IOTag.YieldNow) as any;
1930
1982
 
1931
1983
  /**
1932
1984
  * @tsplus pipeable fncts.io.IO zip
@@ -1,13 +1,11 @@
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 { RuntimeFlags } from "../RuntimeFlags.js";
4
5
  import type { Left, Right } from "@fncts/base/data/Either";
5
6
  import type { Failure, Success } from "@fncts/base/data/Exit";
6
7
  import type { Trace } from "@fncts/base/data/Trace";
7
8
 
8
- import { RuntimeFlag } from "../RuntimeFlag.js";
9
- import { RuntimeFlags } from "../RuntimeFlags.js";
10
-
11
9
  export const IOVariance = Symbol.for("fncts.io.IO.Variance");
12
10
  export type IOVariance = typeof IOVariance;
13
11
 
@@ -36,6 +34,10 @@ export abstract class IO<R, E, A> {
36
34
  };
37
35
  }
38
36
 
37
+ export type EnvironmentOf<T> = [T] extends [{ [IOVariance]: { _R: () => infer R } }] ? R : never;
38
+ export type ErrorOf<T> = [T] extends [{ [IOVariance]: { _E: () => infer E } }] ? E : never;
39
+ export type ValueOf<T> = [T] extends [{ [IOVariance]: { _A: () => infer A } }] ? A : never;
40
+
39
41
  declare module "@fncts/base/data/Either/definition" {
40
42
  interface Either<E, A> extends IO<never, E, A> {}
41
43
  }
@@ -76,7 +78,7 @@ export type URIO<R, A> = IO<R, never, A>;
76
78
 
77
79
  export type FIO<E, A> = IO<never, E, A>;
78
80
 
79
- export const enum IOOpCode {
81
+ export const enum IOTag {
80
82
  SucceedNow,
81
83
  Fail,
82
84
  Sync,
@@ -95,199 +97,161 @@ export const enum IOOpCode {
95
97
  UpdateTrace,
96
98
  }
97
99
 
98
- export function isIO(u: unknown): u is IO<any, any, any> {
99
- return isObject(u) && IOTypeId in u;
100
- }
101
-
102
- export class Sync<A> extends IO<never, never, A> {
103
- readonly _tag = IOOpCode.Sync;
104
- constructor(readonly evaluate: () => A, readonly trace?: string) {
105
- super();
106
- }
107
- }
108
-
109
- export class Async<R, E, A> extends IO<R, E, A> {
110
- readonly _tag = IOOpCode.Async;
111
- constructor(
112
- readonly registerCallback: (f: (_: IO<R, E, A>) => void) => any,
113
- readonly blockingOn: () => FiberId,
114
- readonly trace?: string,
115
- ) {
116
- super();
117
- }
118
- }
119
-
120
- /**
121
- * @internal
122
- */
123
- export class OnSuccessAndFailure<R, E, A, R1, E1, B, R2, E2, C> extends IO<R | R1 | R2, E1 | E2, B | C> {
124
- readonly _tag = IOOpCode.OnSuccessAndFailure;
125
-
126
- constructor(
127
- readonly first: IO<R, E, A>,
128
- readonly failureK: (cause: Cause<E>) => IO<R1, E1, B>,
129
- readonly successK: (a: A) => IO<R2, E2, C>,
130
- readonly trace?: string,
131
- ) {
132
- super();
133
- }
134
-
135
- onFailure(c: Cause<E>): IO<R | R1 | R2, E1 | E2, B | C> {
136
- return this.failureK(c);
137
- }
138
- onSuccess(a: A): IO<R | R1 | R2, E1 | E2, B | C> {
139
- return this.successK(a);
140
- }
141
- }
142
-
143
- export class OnFailure<R, E, A, R1, E1, B> extends IO<R | R1, E1, A | B> {
144
- readonly _tag = IOOpCode.OnFailure;
145
- constructor(
146
- readonly first: IO<R, E, A>,
147
- readonly failureK: (cause: Cause<E>) => IO<R1, E1, B>,
148
- readonly trace?: string,
149
- ) {
150
- super();
151
- }
152
-
153
- onFailure(c: Cause<E>): IO<R | R1, E1, A | B> {
154
- return this.failureK(c);
155
- }
156
- onSuccess(a: A): IO<R | R1, E1, A | B> {
157
- return new SucceedNow(a);
158
- }
159
- }
160
-
161
- /**
162
- * @internal
163
- */
164
- export class OnSuccess<R, R1, E, E1, A, A1> extends IO<R | R1, E | E1, A1> {
165
- readonly _tag = IOOpCode.OnSuccess;
166
- constructor(readonly first: IO<R, E, A>, readonly successK: (a: A) => IO<R1, E1, A1>, readonly trace?: string) {
167
- super();
168
- }
169
- onFailure(c: Cause<E>): IO<R | R1, E | E1, A1> {
170
- return new Fail(c);
171
- }
172
- onSuccess(a: A): IO<R | R1, E | E1, A1> {
173
- return this.successK(a);
174
- }
175
- }
176
-
177
- /**
178
- * @internal
179
- */
180
- export class SucceedNow<A> extends IO<never, never, A> {
181
- readonly _tag = IOOpCode.SucceedNow;
182
- constructor(readonly value: A, readonly trace?: string) {
183
- super();
184
- }
185
- }
186
-
187
- export class UpdateRuntimeFlags extends IO<never, never, void> {
188
- readonly _tag = IOOpCode.UpdateRuntimeFlags;
189
- constructor(readonly update: RuntimeFlags.Patch, readonly trace?: string) {
190
- super();
191
- }
192
- }
193
-
194
- export class Interruptible<R, E, A> extends IO<R, E, A> {
195
- readonly _tag = IOOpCode.UpdateRuntimeFlagsWithin;
196
- constructor(readonly effect: IO<R, E, A>, readonly trace?: string) {
197
- super();
198
- }
199
-
200
- readonly update: RuntimeFlags.Patch = RuntimeFlags.enable(RuntimeFlag.Interruption);
201
- scope(oldRuntimeFlags: RuntimeFlags): IO<R, E, A> {
202
- return this.effect;
203
- }
204
- }
205
-
206
- export class Uninterruptible<R, E, A> extends IO<R, E, A> {
207
- readonly _tag = IOOpCode.UpdateRuntimeFlagsWithin;
208
- constructor(readonly effect: IO<R, E, A>, readonly trace?: string) {
209
- super();
210
- }
211
-
212
- readonly update: RuntimeFlags.Patch = RuntimeFlags.disable(RuntimeFlag.Interruption);
213
- scope(oldRuntimeFlags: RuntimeFlags): IO<R, E, A> {
214
- return this.effect;
215
- }
216
- }
217
-
218
- export class Dynamic<R, E, A> extends IO<R, E, A> {
219
- readonly _tag = IOOpCode.UpdateRuntimeFlagsWithin;
220
- constructor(
221
- readonly update: RuntimeFlagsPatch,
222
- readonly f: (oldRuntimeFlags: RuntimeFlags) => IO<R, E, A>,
223
- readonly trace?: string,
224
- ) {
225
- super();
226
- }
227
-
228
- scope(oldRuntimeFlags: RuntimeFlags): IO<R, E, A> {
229
- return this.f(oldRuntimeFlags);
230
- }
231
- }
232
-
233
- export class GenerateStackTrace extends IO<never, never, Trace> {
234
- readonly _tag = IOOpCode.GenerateStackTrace;
235
- constructor(readonly trace?: string) {
236
- super();
237
- }
238
- }
239
-
240
- export class Stateful<R, E, A> extends IO<R, E, A> {
241
- readonly _tag = IOOpCode.Stateful;
242
- constructor(readonly onState: (fiber: FiberRuntime<E, A>, status: Running) => IO<R, E, A>, readonly trace?: string) {
243
- super();
244
- }
245
- }
246
-
247
- export class WhileLoop<R, E, A> extends IO<R, E, void> {
248
- readonly _tag = IOOpCode.WhileLoop;
249
- constructor(
250
- readonly check: () => boolean,
251
- readonly body: () => IO<R, E, A>,
252
- readonly process: (a: A) => any,
253
- readonly trace?: string,
254
- ) {
255
- super();
256
- }
257
- }
100
+ export type IOOp<Tag extends string | number, Body = {}> = IO<never, never, never> &
101
+ Body & {
102
+ readonly _tag: Tag;
103
+ };
258
104
 
259
- export class YieldNow extends IO<never, never, void> {
260
- readonly _tag = IOOpCode.YieldNow;
261
- constructor(readonly trace?: string) {
262
- super();
263
- }
105
+ export class IOPrimitive {
106
+ public i0: any = undefined;
107
+ public i1: any = undefined;
108
+ public i2: any = undefined;
109
+ public trace: string | undefined = undefined;
110
+ [IOTypeId] = IOTypeId;
111
+ constructor(readonly _tag: Primitive["_tag"]) {}
264
112
  }
265
113
 
266
- /**
267
- * @internal
268
- */
269
- export class Fail<E> extends IO<never, E, never> {
270
- readonly _tag = IOOpCode.Fail;
271
-
272
- constructor(readonly cause: Lazy<Cause<E>>, readonly trace?: string) {
273
- super();
274
- }
114
+ export function isIO(u: unknown): u is IO<any, any, any> {
115
+ return isObject(u) && IOTypeId in u;
275
116
  }
276
117
 
277
- export type Concrete =
278
- | OnSuccessAndFailure<any, any, any, any, any, any, any, any, any>
279
- | OnFailure<any, any, any, any, any, any>
280
- | OnSuccess<any, any, any, any, any, any>
118
+ export interface Sync<A = any>
119
+ extends IOOp<
120
+ IOTag.Sync,
121
+ {
122
+ readonly i0: () => A;
123
+ readonly trace: string | undefined;
124
+ }
125
+ > {}
126
+
127
+ export interface Async<R = any, E = any, A = any>
128
+ extends IOOp<
129
+ IOTag.Async,
130
+ {
131
+ readonly i0: (resume: (io: Primitive) => void) => void;
132
+ readonly i1: () => FiberId;
133
+ readonly trace: string | undefined;
134
+ }
135
+ > {}
136
+
137
+ export interface OnSuccessAndFailure
138
+ extends IOOp<
139
+ IOTag.OnSuccessAndFailure,
140
+ {
141
+ readonly i0: Primitive;
142
+ readonly i1: (cause: Cause<unknown>) => Primitive;
143
+ readonly i2: (a: unknown) => Primitive;
144
+ readonly trace: string | undefined;
145
+ }
146
+ > {}
147
+
148
+ export interface OnFailure
149
+ extends IOOp<
150
+ IOTag.OnFailure,
151
+ {
152
+ readonly i0: Primitive;
153
+ readonly i1: (cause: Cause<unknown>) => Primitive;
154
+ readonly trace: string | undefined;
155
+ }
156
+ > {}
157
+
158
+ export interface OnSuccess
159
+ extends IOOp<
160
+ IOTag.OnSuccess,
161
+ {
162
+ readonly i0: Primitive;
163
+ readonly i1: (a: unknown) => Primitive;
164
+ readonly trace: string | undefined;
165
+ }
166
+ > {}
167
+
168
+ export interface SucceedNow
169
+ extends IOOp<
170
+ IOTag.SucceedNow,
171
+ {
172
+ readonly i0: any;
173
+ readonly trace: string | undefined;
174
+ }
175
+ > {}
176
+
177
+ export interface UpdateRuntimeFlags
178
+ extends IOOp<
179
+ IOTag.UpdateRuntimeFlags,
180
+ {
181
+ readonly i0: RuntimeFlags.Patch;
182
+ readonly trace: string | undefined;
183
+ }
184
+ > {}
185
+
186
+ export interface UpdateRuntimeFlagsWithin
187
+ extends IOOp<
188
+ IOTag.UpdateRuntimeFlagsWithin,
189
+ {
190
+ readonly i0: RuntimeFlagsPatch;
191
+ readonly i1: (oldRuntimeFlags: RuntimeFlags) => Primitive;
192
+ readonly trace: string | undefined;
193
+ }
194
+ > {}
195
+
196
+ export interface GenerateStackTrace
197
+ extends IOOp<
198
+ IOTag.GenerateStackTrace,
199
+ {
200
+ readonly trace: string | undefined;
201
+ }
202
+ > {}
203
+
204
+ export interface Stateful
205
+ extends IOOp<
206
+ IOTag.Stateful,
207
+ {
208
+ readonly i0: (fiber: FiberRuntime<any, any>, status: Running) => Primitive;
209
+ readonly trace: string | undefined;
210
+ }
211
+ > {}
212
+
213
+ export interface WhileLoop
214
+ extends IOOp<
215
+ IOTag.WhileLoop,
216
+ {
217
+ readonly i0: () => boolean;
218
+ readonly i1: () => Primitive;
219
+ readonly i2: (a: any) => any;
220
+ readonly trace: string | undefined;
221
+ }
222
+ > {}
223
+
224
+ export interface YieldNow
225
+ extends IOOp<
226
+ IOTag.YieldNow,
227
+ {
228
+ readonly trace: string | undefined;
229
+ }
230
+ > {}
231
+
232
+ export interface Fail
233
+ extends IOOp<
234
+ IOTag.Fail,
235
+ {
236
+ readonly i0: () => Cause<unknown>;
237
+ readonly trace: string | undefined;
238
+ }
239
+ > {}
240
+
241
+ export type Primitive =
242
+ | OnSuccessAndFailure
243
+ | OnFailure
244
+ | OnSuccess
281
245
  | UpdateRuntimeFlagsWithin
282
- | Sync<any>
283
- | Async<any, any, any>
284
- | SucceedNow<any>
246
+ | Sync
247
+ | Async
248
+ | SucceedNow
285
249
  | UpdateRuntimeFlags
286
250
  | GenerateStackTrace
287
- | Stateful<any, any, any>
288
- | WhileLoop<any, any, any>
251
+ | Stateful
252
+ | WhileLoop
289
253
  | YieldNow
290
- | Fail<any>
254
+ | Fail
291
255
  | STM<any, any, any>
292
256
  | Left<any>
293
257
  | Right<any>
@@ -300,18 +264,10 @@ export type Concrete =
300
264
  * @tsplus static fncts.io.IOOps concrete
301
265
  * @tsplus macro identity
302
266
  */
303
- export function concrete(io: IO<any, any, any>): Concrete {
304
- return io as Concrete;
267
+ export function concrete(io: IO<any, any, any>): Primitive {
268
+ return io as Primitive;
305
269
  }
306
270
 
307
- export type EvaluationStep =
308
- | OnSuccessAndFailure<any, any, any, any, any, any, any, any, any>
309
- | OnFailure<any, any, any, any, any, any>
310
- | OnSuccess<any, any, any, any, any, any>;
311
-
312
- export type UpdateRuntimeFlagsWithin =
313
- | Interruptible<any, any, any>
314
- | Uninterruptible<any, any, any>
315
- | Dynamic<any, any, any>;
271
+ export type EvaluationStep = OnSuccessAndFailure | OnFailure | OnSuccess;
316
272
 
317
273
  export type Canceler<R> = URIO<R, void>;
@@ -56,11 +56,12 @@ export class Runtime<R> {
56
56
  const fiber = this.makeFiber(io);
57
57
  fiber.addObserver((exit) => {
58
58
  if (exit.isFailure()) {
59
- reject(new IOError(exit.cause));
59
+ reject(exit.cause.squashWith(Function.identity));
60
60
  } else {
61
61
  resolve(exit.value);
62
62
  }
63
63
  });
64
+ fiber.start(io);
64
65
  });
65
66
  };
66
67
 
@@ -128,6 +129,11 @@ export const unsafeRunFiber = defaultRuntime.unsafeRunFiber;
128
129
  */
129
130
  export const unsafeRunPromiseExit = defaultRuntime.unsafeRunPromiseExit;
130
131
 
132
+ /**
133
+ * @tsplus fluent fncts.io.IO unsafeRunPromise
134
+ */
135
+ export const unsafeRunPromise = defaultRuntime.unsafeRunPromise;
136
+
131
137
  /**
132
138
  * @tsplus getter fncts.io.IO unsafeRunOrFork
133
139
  */
package/_src/IO.ts CHANGED
@@ -11,6 +11,7 @@ export * from "./IO/api/acquireReleaseInterruptible.js";
11
11
  export * from "./IO/api/acquireReleaseInterruptibleExit.js";
12
12
  export * from "./IO/api/addFinalizer.js";
13
13
  export * from "./IO/api/addFinalizerExit.js";
14
+ export * from "./IO/api/all.js";
14
15
  export * from "./IO/api/asyncInterrupt.js";
15
16
  export * from "./IO/api/asyncIO.js";
16
17
  export * from "./IO/api/blocking.js";