@fncts/io 0.0.38 → 0.0.40

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1109) hide show
  1. package/Cached.d.ts +2 -2
  2. package/Channel/ChildExecutorDecision.d.ts +1 -1
  3. package/Channel/UpstreamPullRequest.d.ts +1 -1
  4. package/Channel/api/interruptWhen.d.ts +2 -2
  5. package/Channel/api/mapOutConcurrentIO.d.ts +1 -1
  6. package/Channel/api/mergeAll.d.ts +1 -1
  7. package/Channel/api/mergeAllUnboundedWith.d.ts +1 -1
  8. package/Channel/api/mergeAllWith.d.ts +1 -1
  9. package/Channel/api/mergeMap.d.ts +1 -1
  10. package/Channel/api/mergeWith.d.ts +1 -1
  11. package/Channel/api/zipConcurrent.d.ts +3 -3
  12. package/Channel/api.d.ts +14 -14
  13. package/Channel/core-api.d.ts +5 -5
  14. package/Channel/definition.d.ts +108 -104
  15. package/Channel.d.ts +2 -2
  16. package/Clock/definition.d.ts +1 -1
  17. package/Clock.d.ts +2 -2
  18. package/Console/definition.d.ts +1 -1
  19. package/Console.d.ts +2 -2
  20. package/Fiber/api/mapFiber.d.ts +1 -1
  21. package/Fiber/api/mapIO.d.ts +2 -2
  22. package/Fiber/api/zipWith.d.ts +1 -1
  23. package/Fiber.d.ts +19 -19
  24. package/FiberRef/api.d.ts +1 -1
  25. package/FiberRef/operations.d.ts +2 -2
  26. package/FiberRef/unsafe.d.ts +5 -0
  27. package/FiberRef.d.ts +5 -5
  28. package/FiberRefs/Patch.d.ts +62 -0
  29. package/FiberRefs.d.ts +2 -1
  30. package/FiberScope.d.ts +1 -1
  31. package/FiberStatus.d.ts +1 -1
  32. package/Future/api.d.ts +5 -5
  33. package/Future/definition.d.ts +24 -3
  34. package/Future.d.ts +2 -2
  35. package/Hub/api.d.ts +11 -11
  36. package/Hub.d.ts +1 -1
  37. package/IO/api/concurrency.d.ts +1 -1
  38. package/IO/api/concurrentFinalizers.d.ts +11 -2
  39. package/IO/api/delay.d.ts +1 -1
  40. package/IO/api/ensuringChildren.d.ts +1 -1
  41. package/IO/api/environment.d.ts +5 -5
  42. package/IO/api/fork.d.ts +1 -1
  43. package/IO/api/forkIn.d.ts +1 -1
  44. package/IO/api/fulfill.d.ts +1 -1
  45. package/IO/api/interrupt.d.ts +4 -4
  46. package/IO/api/onTermination.d.ts +1 -1
  47. package/IO/api/patchFiberRefs.d.ts +7 -0
  48. package/IO/api/provideLayer.d.ts +1 -1
  49. package/IO/api/provideScope.d.ts +1 -1
  50. package/IO/api/provideSomeLayer.d.ts +1 -1
  51. package/IO/api/provideSomeRuntime.d.ts +7 -0
  52. package/IO/api/race.d.ts +2 -2
  53. package/IO/api/raceFirst.d.ts +1 -1
  54. package/IO/api/repeat.d.ts +3 -3
  55. package/IO/api/retry.d.ts +3 -3
  56. package/IO/api/schedule.d.ts +2 -2
  57. package/IO/api/timeout.d.ts +2 -2
  58. package/IO/api/whenFiberRef.d.ts +1 -1
  59. package/IO/api/whenRef.d.ts +1 -1
  60. package/IO/api/withFinalizer.d.ts +1 -1
  61. package/IO/api/withFinalizerExit.d.ts +1 -1
  62. package/IO/api/zipConcurrent.d.ts +2 -2
  63. package/IO/api.d.ts +40 -40
  64. package/IO/definition.d.ts +6 -1
  65. package/IO/runtime.d.ts +6 -6
  66. package/IO.d.ts +62 -60
  67. package/IOEnv.d.ts +2 -2
  68. package/InterruptStatus.d.ts +1 -1
  69. package/Layer/MemoMap.d.ts +3 -3
  70. package/Layer/api.d.ts +15 -9
  71. package/Layer.d.ts +1 -1
  72. package/Logger/api.d.ts +2 -2
  73. package/Logger.d.ts +2 -2
  74. package/MVar.d.ts +1 -1
  75. package/Push/api.d.ts +18 -18
  76. package/Push.d.ts +2 -2
  77. package/Queue/api/dimapIO.d.ts +6 -6
  78. package/Queue/api/filterInputIO.d.ts +3 -3
  79. package/Queue/api/filterOutputIO.d.ts +3 -3
  80. package/Queue/api/operations.d.ts +3 -3
  81. package/Queue/api/takeBetween.d.ts +1 -1
  82. package/Queue/api/takeN.d.ts +8 -0
  83. package/Queue/api/zipWithIO.d.ts +3 -3
  84. package/Queue/api.d.ts +7 -6
  85. package/Queue.d.ts +4 -4
  86. package/Random/definition.d.ts +1 -1
  87. package/Random.d.ts +2 -2
  88. package/Ref/Synchronized/api.d.ts +14 -14
  89. package/Ref/Synchronized.d.ts +2 -2
  90. package/Ref/api/collect.d.ts +1 -1
  91. package/Ref/api/filter.d.ts +1 -1
  92. package/Ref/api/modify.d.ts +8 -8
  93. package/Ref/api/set.d.ts +1 -1
  94. package/Ref/api.d.ts +7 -7
  95. package/Ref.d.ts +7 -7
  96. package/RefSubject/api.d.ts +9 -9
  97. package/RefSubject/definition.d.ts +2 -0
  98. package/RefSubject.d.ts +1 -1
  99. package/Reloadable.d.ts +2 -2
  100. package/RuntimeFlags.d.ts +1 -1
  101. package/STM/api/core-api.d.ts +5 -5
  102. package/STM/api.d.ts +13 -13
  103. package/STM.d.ts +4 -4
  104. package/Schedule/api.d.ts +46 -46
  105. package/Schedule.d.ts +2 -2
  106. package/Scope/ReleaseMap.d.ts +2 -2
  107. package/Scope/api.d.ts +6 -1
  108. package/Scope/definition.d.ts +4 -2
  109. package/Scope.d.ts +1 -1
  110. package/ScopedRef.d.ts +1 -1
  111. package/Semaphore.d.ts +1 -1
  112. package/Sink/api.d.ts +34 -34
  113. package/Sink.d.ts +1 -1
  114. package/State.d.ts +1 -1
  115. package/Stream/api/zipAllWith.d.ts +1 -1
  116. package/Stream/api/zipWith.d.ts +1 -1
  117. package/Stream/api/zipWithChunks.d.ts +1 -1
  118. package/Stream/api.d.ts +80 -80
  119. package/Stream.d.ts +1 -1
  120. package/Subject.d.ts +1 -1
  121. package/Supervisor/api.d.ts +1 -1
  122. package/Supervisor.d.ts +2 -2
  123. package/TExit.d.ts +1 -1
  124. package/TFuture/api.d.ts +2 -2
  125. package/TFuture.d.ts +2 -2
  126. package/TReentrantLock.d.ts +1 -1
  127. package/TRef/api.d.ts +10 -10
  128. package/TRef.d.ts +2 -2
  129. package/TSemaphore/api.d.ts +2 -2
  130. package/TSemaphore.d.ts +2 -2
  131. package/_cjs/Cached/api.cjs +6 -8
  132. package/_cjs/Cached/api.cjs.map +1 -1
  133. package/_cjs/Cached/internal.cjs +4 -6
  134. package/_cjs/Cached/internal.cjs.map +1 -1
  135. package/_cjs/Cached.cjs +8 -8
  136. package/_cjs/Cached.cjs.map +1 -1
  137. package/_cjs/CancellerState.cjs +3 -6
  138. package/_cjs/CancellerState.cjs.map +1 -1
  139. package/_cjs/Channel/ChildExecutorDecision/api.cjs.map +1 -1
  140. package/_cjs/Channel/ChildExecutorDecision/definition.cjs +3 -6
  141. package/_cjs/Channel/ChildExecutorDecision/definition.cjs.map +1 -1
  142. package/_cjs/Channel/ChildExecutorDecision.cjs +8 -8
  143. package/_cjs/Channel/ChildExecutorDecision.cjs.map +1 -1
  144. package/_cjs/Channel/UpstreamPullRequest/api.cjs.map +1 -1
  145. package/_cjs/Channel/UpstreamPullRequest/definition.cjs +1 -2
  146. package/_cjs/Channel/UpstreamPullRequest/definition.cjs.map +1 -1
  147. package/_cjs/Channel/UpstreamPullRequest.cjs +8 -8
  148. package/_cjs/Channel/UpstreamPullRequest.cjs.map +1 -1
  149. package/_cjs/Channel/UpstreamPullStrategy/definition.cjs +1 -2
  150. package/_cjs/Channel/UpstreamPullStrategy/definition.cjs.map +1 -1
  151. package/_cjs/Channel/UpstreamPullStrategy.cjs.map +1 -1
  152. package/_cjs/Channel/api/interruptWhen.cjs +3 -4
  153. package/_cjs/Channel/api/interruptWhen.cjs.map +1 -1
  154. package/_cjs/Channel/api/mapOutConcurrentIO.cjs +10 -4
  155. package/_cjs/Channel/api/mapOutConcurrentIO.cjs.map +1 -1
  156. package/_cjs/Channel/api/mergeAll.cjs +2 -2
  157. package/_cjs/Channel/api/mergeAllUnboundedWith.cjs +2 -2
  158. package/_cjs/Channel/api/mergeAllWith.cjs +25 -16
  159. package/_cjs/Channel/api/mergeAllWith.cjs.map +1 -1
  160. package/_cjs/Channel/api/mergeMap.cjs +2 -2
  161. package/_cjs/Channel/api/mergeWith.cjs +20 -7
  162. package/_cjs/Channel/api/mergeWith.cjs.map +1 -1
  163. package/_cjs/Channel/api/run.cjs +2 -2
  164. package/_cjs/Channel/api/runCollect.cjs +2 -2
  165. package/_cjs/Channel/api/runDrain.cjs +2 -2
  166. package/_cjs/Channel/api/runScoped.cjs +3 -3
  167. package/_cjs/Channel/api/runScoped.cjs.map +1 -1
  168. package/_cjs/Channel/api/toPull.cjs +2 -2
  169. package/_cjs/Channel/api/toPull.cjs.map +1 -1
  170. package/_cjs/Channel/api/zipConcurrent.cjs +3 -4
  171. package/_cjs/Channel/api/zipConcurrent.cjs.map +1 -1
  172. package/_cjs/Channel/api.cjs +170 -112
  173. package/_cjs/Channel/api.cjs.map +1 -1
  174. package/_cjs/Channel/core-api.cjs +19 -15
  175. package/_cjs/Channel/core-api.cjs.map +1 -1
  176. package/_cjs/Channel/definition.cjs +20 -147
  177. package/_cjs/Channel/definition.cjs.map +1 -1
  178. package/_cjs/Channel/internal/ChannelExecutor.cjs +91 -93
  179. package/_cjs/Channel/internal/ChannelExecutor.cjs.map +1 -1
  180. package/_cjs/Channel/internal/ChannelState.cjs +5 -12
  181. package/_cjs/Channel/internal/ChannelState.cjs.map +1 -1
  182. package/_cjs/Channel/internal/MergeDecision.cjs +2 -4
  183. package/_cjs/Channel/internal/MergeDecision.cjs.map +1 -1
  184. package/_cjs/Channel/internal/MergeState.cjs +1 -2
  185. package/_cjs/Channel/internal/MergeState.cjs.map +1 -1
  186. package/_cjs/Channel/internal/SingleProducerAsyncInput.cjs +10 -4
  187. package/_cjs/Channel/internal/SingleProducerAsyncInput.cjs.map +1 -1
  188. package/_cjs/Channel.cjs +8 -8
  189. package/_cjs/Channel.cjs.map +1 -1
  190. package/_cjs/Clock/api.cjs +3 -4
  191. package/_cjs/Clock/api.cjs.map +1 -1
  192. package/_cjs/Clock/definition.cjs +3 -4
  193. package/_cjs/Clock/definition.cjs.map +1 -1
  194. package/_cjs/Clock/live.cjs +3 -4
  195. package/_cjs/Clock/live.cjs.map +1 -1
  196. package/_cjs/Clock.cjs +8 -8
  197. package/_cjs/Clock.cjs.map +1 -1
  198. package/_cjs/Console/api.cjs +2 -2
  199. package/_cjs/Console/definition.cjs +3 -4
  200. package/_cjs/Console/definition.cjs.map +1 -1
  201. package/_cjs/Console/live.cjs +4 -5
  202. package/_cjs/Console/live.cjs.map +1 -1
  203. package/_cjs/Console.cjs +8 -8
  204. package/_cjs/Console.cjs.map +1 -1
  205. package/_cjs/CountdownLatch.cjs +9 -10
  206. package/_cjs/CountdownLatch.cjs.map +1 -1
  207. package/_cjs/Differ/api.cjs +2 -2
  208. package/_cjs/Differ/api.cjs.map +1 -1
  209. package/_cjs/Differ/definition.cjs +1 -2
  210. package/_cjs/Differ/definition.cjs.map +1 -1
  211. package/_cjs/Fiber/FiberMessage.cjs +2 -4
  212. package/_cjs/Fiber/FiberMessage.cjs.map +1 -1
  213. package/_cjs/Fiber/FiberRuntime.cjs +74 -68
  214. package/_cjs/Fiber/FiberRuntime.cjs.map +1 -1
  215. package/_cjs/Fiber/api/awaitAll.cjs +2 -2
  216. package/_cjs/Fiber/api/collectAll.cjs +2 -2
  217. package/_cjs/Fiber/api/collectAll.cjs.map +1 -1
  218. package/_cjs/Fiber/api/fromIO.cjs +2 -2
  219. package/_cjs/Fiber/api/interrupt.cjs +2 -2
  220. package/_cjs/Fiber/api/interruptAll.cjs +3 -4
  221. package/_cjs/Fiber/api/interruptAll.cjs.map +1 -1
  222. package/_cjs/Fiber/api/interruptAs.cjs +3 -4
  223. package/_cjs/Fiber/api/interruptAs.cjs.map +1 -1
  224. package/_cjs/Fiber/api/interruptFork.cjs +2 -2
  225. package/_cjs/Fiber/api/join.cjs +2 -2
  226. package/_cjs/Fiber/api/joinAll.cjs +2 -2
  227. package/_cjs/Fiber/api/mapFiber.cjs +2 -2
  228. package/_cjs/Fiber/api/mapIO.cjs +3 -4
  229. package/_cjs/Fiber/api/mapIO.cjs.map +1 -1
  230. package/_cjs/Fiber/api/zipWith.cjs +2 -2
  231. package/_cjs/Fiber/api/zipWith.cjs.map +1 -1
  232. package/_cjs/Fiber/constructors.cjs +5 -8
  233. package/_cjs/Fiber/constructors.cjs.map +1 -1
  234. package/_cjs/Fiber/definition.cjs +6 -10
  235. package/_cjs/Fiber/definition.cjs.map +1 -1
  236. package/_cjs/Fiber.cjs +83 -83
  237. package/_cjs/Fiber.cjs.map +1 -1
  238. package/_cjs/FiberDescriptor.cjs.map +1 -1
  239. package/_cjs/FiberRef/api/locallyScoped.cjs +2 -2
  240. package/_cjs/FiberRef/api/locallyScopedWith.cjs +2 -2
  241. package/_cjs/FiberRef/constructors.cjs +2 -2
  242. package/_cjs/FiberRef/constructors.cjs.map +1 -1
  243. package/_cjs/FiberRef/definition.cjs +7 -7
  244. package/_cjs/FiberRef/definition.cjs.map +1 -1
  245. package/_cjs/FiberRef/operations.cjs +6 -10
  246. package/_cjs/FiberRef/operations.cjs.map +1 -1
  247. package/_cjs/FiberRef/unsafe.cjs +22 -33
  248. package/_cjs/FiberRef/unsafe.cjs.map +1 -1
  249. package/_cjs/FiberRef.cjs +24 -24
  250. package/_cjs/FiberRef.cjs.map +1 -1
  251. package/_cjs/FiberRefs/Patch.cjs +172 -0
  252. package/_cjs/FiberRefs/Patch.cjs.map +1 -0
  253. package/_cjs/FiberRefs/api.cjs +2 -2
  254. package/_cjs/FiberRefs/api.cjs.map +1 -1
  255. package/_cjs/FiberRefs/definition.cjs +3 -4
  256. package/_cjs/FiberRefs/definition.cjs.map +1 -1
  257. package/_cjs/FiberRefs.cjs +15 -4
  258. package/_cjs/FiberRefs.cjs.map +1 -1
  259. package/_cjs/FiberScope/constructors.cjs +1 -2
  260. package/_cjs/FiberScope/constructors.cjs.map +1 -1
  261. package/_cjs/FiberScope/definition.cjs +2 -2
  262. package/_cjs/FiberScope/definition.cjs.map +1 -1
  263. package/_cjs/FiberScope.cjs +8 -8
  264. package/_cjs/FiberScope.cjs.map +1 -1
  265. package/_cjs/FiberStatus/constructors.cjs +1 -2
  266. package/_cjs/FiberStatus/constructors.cjs.map +1 -1
  267. package/_cjs/FiberStatus/definition.cjs +3 -4
  268. package/_cjs/FiberStatus/definition.cjs.map +1 -1
  269. package/_cjs/FiberStatus.cjs +8 -8
  270. package/_cjs/FiberStatus.cjs.map +1 -1
  271. package/_cjs/Future/api.cjs +17 -20
  272. package/_cjs/Future/api.cjs.map +1 -1
  273. package/_cjs/Future/constructors.cjs +4 -6
  274. package/_cjs/Future/constructors.cjs.map +1 -1
  275. package/_cjs/Future/definition.cjs +8 -3
  276. package/_cjs/Future/definition.cjs.map +1 -1
  277. package/_cjs/Future.cjs +8 -8
  278. package/_cjs/Future.cjs.map +1 -1
  279. package/_cjs/Hub/api.cjs +14 -18
  280. package/_cjs/Hub/api.cjs.map +1 -1
  281. package/_cjs/Hub/definition.cjs +3 -6
  282. package/_cjs/Hub/definition.cjs.map +1 -1
  283. package/_cjs/Hub/internal.cjs +2 -2
  284. package/_cjs/Hub/internal.cjs.map +1 -1
  285. package/_cjs/Hub.cjs +8 -8
  286. package/_cjs/Hub.cjs.map +1 -1
  287. package/_cjs/IO/api/acquireRelease.cjs +2 -2
  288. package/_cjs/IO/api/acquireReleaseExit.cjs +2 -2
  289. package/_cjs/IO/api/acquireReleaseInterruptible.cjs +2 -2
  290. package/_cjs/IO/api/acquireReleaseInterruptibleExit.cjs +2 -2
  291. package/_cjs/IO/api/addFinalizer.cjs +2 -2
  292. package/_cjs/IO/api/addFinalizerExit.cjs +2 -2
  293. package/_cjs/IO/api/all.cjs +2 -2
  294. package/_cjs/IO/api/all.cjs.map +1 -1
  295. package/_cjs/IO/api/asyncIO.cjs +2 -2
  296. package/_cjs/IO/api/asyncInterrupt.cjs +11 -10
  297. package/_cjs/IO/api/asyncInterrupt.cjs.map +1 -1
  298. package/_cjs/IO/api/blocking.cjs +2 -2
  299. package/_cjs/IO/api/blocking.cjs.map +1 -1
  300. package/_cjs/IO/api/bracket.cjs +2 -2
  301. package/_cjs/IO/api/bracketExit.cjs +2 -2
  302. package/_cjs/IO/api/clockWith.cjs +4 -6
  303. package/_cjs/IO/api/clockWith.cjs.map +1 -1
  304. package/_cjs/IO/api/concurrency.cjs +6 -10
  305. package/_cjs/IO/api/concurrency.cjs.map +1 -1
  306. package/_cjs/IO/api/concurrentFinalizers.cjs +57 -9
  307. package/_cjs/IO/api/concurrentFinalizers.cjs.map +1 -1
  308. package/_cjs/IO/api/consoleWith.cjs +4 -6
  309. package/_cjs/IO/api/consoleWith.cjs.map +1 -1
  310. package/_cjs/IO/api/daemonChildren.cjs +2 -2
  311. package/_cjs/IO/api/delay.cjs +2 -2
  312. package/_cjs/IO/api/descriptor.cjs +4 -6
  313. package/_cjs/IO/api/descriptor.cjs.map +1 -1
  314. package/_cjs/IO/api/disconnect.cjs +2 -2
  315. package/_cjs/IO/api/ensuringChildren.cjs +2 -2
  316. package/_cjs/IO/api/environment.cjs +7 -12
  317. package/_cjs/IO/api/environment.cjs.map +1 -1
  318. package/_cjs/IO/api/foreachConcurrent.cjs +22 -21
  319. package/_cjs/IO/api/foreachConcurrent.cjs.map +1 -1
  320. package/_cjs/IO/api/foreachExec.cjs +2 -2
  321. package/_cjs/IO/api/fork.cjs +3 -4
  322. package/_cjs/IO/api/fork.cjs.map +1 -1
  323. package/_cjs/IO/api/forkAll.cjs +2 -2
  324. package/_cjs/IO/api/forkDaemon.cjs +2 -2
  325. package/_cjs/IO/api/forkIn.cjs +2 -2
  326. package/_cjs/IO/api/forkScoped.cjs +2 -2
  327. package/_cjs/IO/api/fulfill.cjs +2 -2
  328. package/_cjs/IO/api/interrupt.cjs +8 -14
  329. package/_cjs/IO/api/interrupt.cjs.map +1 -1
  330. package/_cjs/IO/api/memoize.cjs +2 -2
  331. package/_cjs/IO/api/onTermination.cjs +2 -2
  332. package/_cjs/IO/api/once.cjs +2 -2
  333. package/_cjs/IO/api/patchFiberRefs.cjs +18 -0
  334. package/_cjs/IO/api/patchFiberRefs.cjs.map +1 -0
  335. package/_cjs/IO/api/provideLayer.cjs +2 -2
  336. package/_cjs/IO/api/provideScope.cjs +2 -2
  337. package/_cjs/IO/api/provideSomeLayer.cjs +2 -2
  338. package/_cjs/IO/api/provideSomeRuntime.cjs +29 -0
  339. package/_cjs/IO/api/provideSomeRuntime.cjs.map +1 -0
  340. package/_cjs/IO/api/race.cjs +3 -4
  341. package/_cjs/IO/api/race.cjs.map +1 -1
  342. package/_cjs/IO/api/raceFirst.cjs +2 -2
  343. package/_cjs/IO/api/raceWith.cjs +3 -4
  344. package/_cjs/IO/api/raceWith.cjs.map +1 -1
  345. package/_cjs/IO/api/randomWith.cjs +4 -6
  346. package/_cjs/IO/api/randomWith.cjs.map +1 -1
  347. package/_cjs/IO/api/repeat.cjs +4 -6
  348. package/_cjs/IO/api/repeat.cjs.map +1 -1
  349. package/_cjs/IO/api/retry.cjs +4 -6
  350. package/_cjs/IO/api/retry.cjs.map +1 -1
  351. package/_cjs/IO/api/schedule.cjs +3 -4
  352. package/_cjs/IO/api/schedule.cjs.map +1 -1
  353. package/_cjs/IO/api/scope.cjs +3 -4
  354. package/_cjs/IO/api/scope.cjs.map +1 -1
  355. package/_cjs/IO/api/scopeWith.cjs +2 -2
  356. package/_cjs/IO/api/scoped.cjs +3 -4
  357. package/_cjs/IO/api/scoped.cjs.map +1 -1
  358. package/_cjs/IO/api/sequenceT.cjs +2 -2
  359. package/_cjs/IO/api/sequenceT.cjs.map +1 -1
  360. package/_cjs/IO/api/sleep.cjs +2 -2
  361. package/_cjs/IO/api/stateful.cjs +2 -2
  362. package/_cjs/IO/api/supervised.cjs +2 -2
  363. package/_cjs/IO/api/timeout.cjs +3 -4
  364. package/_cjs/IO/api/timeout.cjs.map +1 -1
  365. package/_cjs/IO/api/transplant.cjs +2 -2
  366. package/_cjs/IO/api/whenFiberRef.cjs +2 -2
  367. package/_cjs/IO/api/whenRef.cjs +2 -2
  368. package/_cjs/IO/api/withChildren.cjs +2 -2
  369. package/_cjs/IO/api/withEarlyRelease.cjs +3 -3
  370. package/_cjs/IO/api/withEarlyRelease.cjs.map +1 -1
  371. package/_cjs/IO/api/withFinalizer.cjs +2 -2
  372. package/_cjs/IO/api/withFinalizerExit.cjs +2 -2
  373. package/_cjs/IO/api/zipConcurrent.cjs +3 -4
  374. package/_cjs/IO/api/zipConcurrent.cjs.map +1 -1
  375. package/_cjs/IO/api.cjs +113 -156
  376. package/_cjs/IO/api.cjs.map +1 -1
  377. package/_cjs/IO/definition.cjs +5 -8
  378. package/_cjs/IO/definition.cjs.map +1 -1
  379. package/_cjs/IO/runtime.cjs +14 -17
  380. package/_cjs/IO/runtime.cjs.map +1 -1
  381. package/_cjs/IO.cjs +266 -244
  382. package/_cjs/IO.cjs.map +1 -1
  383. package/_cjs/IOEnv/definition.cjs +4 -6
  384. package/_cjs/IOEnv/definition.cjs.map +1 -1
  385. package/_cjs/IOEnv/live.cjs +3 -4
  386. package/_cjs/IOEnv/live.cjs.map +1 -1
  387. package/_cjs/IOEnv/services.cjs +3 -4
  388. package/_cjs/IOEnv/services.cjs.map +1 -1
  389. package/_cjs/IOEnv.cjs +8 -8
  390. package/_cjs/IOEnv.cjs.map +1 -1
  391. package/_cjs/InterruptStatus/constructors.cjs +2 -4
  392. package/_cjs/InterruptStatus/constructors.cjs.map +1 -1
  393. package/_cjs/InterruptStatus.cjs +8 -8
  394. package/_cjs/InterruptStatus.cjs.map +1 -1
  395. package/_cjs/Layer/MemoMap.cjs +11 -13
  396. package/_cjs/Layer/MemoMap.cjs.map +1 -1
  397. package/_cjs/Layer/api.cjs +32 -35
  398. package/_cjs/Layer/api.cjs.map +1 -1
  399. package/_cjs/Layer/definition.cjs +2 -4
  400. package/_cjs/Layer/definition.cjs.map +1 -1
  401. package/_cjs/Layer.cjs +8 -8
  402. package/_cjs/Layer.cjs.map +1 -1
  403. package/_cjs/LogLevel.cjs +8 -16
  404. package/_cjs/LogLevel.cjs.map +1 -1
  405. package/_cjs/LogSpan.cjs.map +1 -1
  406. package/_cjs/Logger/api.cjs +2 -2
  407. package/_cjs/Logger/api.cjs.map +1 -1
  408. package/_cjs/Logger/constructors.cjs +4 -6
  409. package/_cjs/Logger/constructors.cjs.map +1 -1
  410. package/_cjs/Logger/definition.cjs +1 -2
  411. package/_cjs/Logger/definition.cjs.map +1 -1
  412. package/_cjs/Logger.cjs +8 -8
  413. package/_cjs/Logger.cjs.map +1 -1
  414. package/_cjs/MVar/api.cjs +2 -2
  415. package/_cjs/MVar/api.cjs.map +1 -1
  416. package/_cjs/MVar/definition.cjs +2 -4
  417. package/_cjs/MVar/definition.cjs.map +1 -1
  418. package/_cjs/MVar.cjs +8 -8
  419. package/_cjs/MVar.cjs.map +1 -1
  420. package/_cjs/Push/api.cjs +25 -41
  421. package/_cjs/Push/api.cjs.map +1 -1
  422. package/_cjs/Push/definition.cjs +2 -4
  423. package/_cjs/Push/definition.cjs.map +1 -1
  424. package/_cjs/Push/internal.cjs +2 -2
  425. package/_cjs/Push.cjs +8 -8
  426. package/_cjs/Push.cjs.map +1 -1
  427. package/_cjs/Queue/api/dimapIO.cjs +10 -13
  428. package/_cjs/Queue/api/dimapIO.cjs.map +1 -1
  429. package/_cjs/Queue/api/filterInputIO.cjs +12 -13
  430. package/_cjs/Queue/api/filterInputIO.cjs.map +1 -1
  431. package/_cjs/Queue/api/filterOutputIO.cjs +19 -20
  432. package/_cjs/Queue/api/filterOutputIO.cjs.map +1 -1
  433. package/_cjs/Queue/api/operations.cjs +3 -3
  434. package/_cjs/Queue/api/operations.cjs.map +1 -1
  435. package/_cjs/Queue/api/poll.cjs +2 -2
  436. package/_cjs/Queue/api/poll.cjs.map +1 -1
  437. package/_cjs/Queue/api/takeBetween.cjs +16 -21
  438. package/_cjs/Queue/api/takeBetween.cjs.map +1 -1
  439. package/_cjs/Queue/api/takeN.cjs +18 -0
  440. package/_cjs/Queue/api/takeN.cjs.map +1 -0
  441. package/_cjs/Queue/api/zipWithIO.cjs +4 -6
  442. package/_cjs/Queue/api/zipWithIO.cjs.map +1 -1
  443. package/_cjs/Queue/api.cjs +35 -24
  444. package/_cjs/Queue/api.cjs.map +1 -1
  445. package/_cjs/Queue/constructors.cjs +2 -2
  446. package/_cjs/Queue/constructors.cjs.map +1 -1
  447. package/_cjs/Queue/definition.cjs +5 -10
  448. package/_cjs/Queue/definition.cjs.map +1 -1
  449. package/_cjs/Queue/internal.cjs +4 -4
  450. package/_cjs/Queue/internal.cjs.map +1 -1
  451. package/_cjs/Queue/strategy.cjs +2 -2
  452. package/_cjs/Queue/strategy.cjs.map +1 -1
  453. package/_cjs/Queue.cjs +16 -16
  454. package/_cjs/Queue.cjs.map +1 -1
  455. package/_cjs/Random/api.cjs +5 -8
  456. package/_cjs/Random/api.cjs.map +1 -1
  457. package/_cjs/Random/definition.cjs +3 -4
  458. package/_cjs/Random/definition.cjs.map +1 -1
  459. package/_cjs/Random/live.cjs +3 -4
  460. package/_cjs/Random/live.cjs.map +1 -1
  461. package/_cjs/Random.cjs +8 -8
  462. package/_cjs/Random.cjs.map +1 -1
  463. package/_cjs/Ref/Atomic.cjs +3 -4
  464. package/_cjs/Ref/Atomic.cjs.map +1 -1
  465. package/_cjs/Ref/Derived.cjs +38 -12
  466. package/_cjs/Ref/Derived.cjs.map +1 -1
  467. package/_cjs/Ref/DerivedAll.cjs +38 -12
  468. package/_cjs/Ref/DerivedAll.cjs.map +1 -1
  469. package/_cjs/Ref/Synchronized/api.cjs +5 -8
  470. package/_cjs/Ref/Synchronized/api.cjs.map +1 -1
  471. package/_cjs/Ref/Synchronized/constructors.cjs +2 -2
  472. package/_cjs/Ref/Synchronized/constructors.cjs.map +1 -1
  473. package/_cjs/Ref/Synchronized/definition.cjs +4 -6
  474. package/_cjs/Ref/Synchronized/definition.cjs.map +1 -1
  475. package/_cjs/Ref/Synchronized.cjs +8 -8
  476. package/_cjs/Ref/Synchronized.cjs.map +1 -1
  477. package/_cjs/Ref/api/collect.cjs +2 -2
  478. package/_cjs/Ref/api/collect.cjs.map +1 -1
  479. package/_cjs/Ref/api/dimap.cjs +5 -8
  480. package/_cjs/Ref/api/dimap.cjs.map +1 -1
  481. package/_cjs/Ref/api/filter.cjs +2 -2
  482. package/_cjs/Ref/api/filter.cjs.map +1 -1
  483. package/_cjs/Ref/api/modify.cjs +3 -4
  484. package/_cjs/Ref/api/modify.cjs.map +1 -1
  485. package/_cjs/Ref/api.cjs +36 -35
  486. package/_cjs/Ref/api.cjs.map +1 -1
  487. package/_cjs/Ref/constructors.cjs +3 -4
  488. package/_cjs/Ref/constructors.cjs.map +1 -1
  489. package/_cjs/Ref/definition.cjs +3 -6
  490. package/_cjs/Ref/definition.cjs.map +1 -1
  491. package/_cjs/Ref.cjs +35 -35
  492. package/_cjs/Ref.cjs.map +1 -1
  493. package/_cjs/RefSubject/Atomic.cjs +5 -5
  494. package/_cjs/RefSubject/Atomic.cjs.map +1 -1
  495. package/_cjs/RefSubject/Synchronized/api.cjs +2 -2
  496. package/_cjs/RefSubject/Synchronized/api.cjs.map +1 -1
  497. package/_cjs/RefSubject/Synchronized/definition.cjs +11 -13
  498. package/_cjs/RefSubject/Synchronized/definition.cjs.map +1 -1
  499. package/_cjs/RefSubject/api.cjs +8 -11
  500. package/_cjs/RefSubject/api.cjs.map +1 -1
  501. package/_cjs/RefSubject/definition.cjs +2 -2
  502. package/_cjs/RefSubject/definition.cjs.map +1 -1
  503. package/_cjs/RefSubject.cjs +11 -11
  504. package/_cjs/RefSubject.cjs.map +1 -1
  505. package/_cjs/Reloadable/api.cjs +2 -2
  506. package/_cjs/Reloadable/constructors.cjs +4 -6
  507. package/_cjs/Reloadable/constructors.cjs.map +1 -1
  508. package/_cjs/Reloadable/definition.cjs +4 -5
  509. package/_cjs/Reloadable/definition.cjs.map +1 -1
  510. package/_cjs/Reloadable.cjs +8 -8
  511. package/_cjs/Reloadable.cjs.map +1 -1
  512. package/_cjs/RuntimeFlags/Patch.cjs +5 -8
  513. package/_cjs/RuntimeFlags/Patch.cjs.map +1 -1
  514. package/_cjs/RuntimeFlags/RuntimeFlags.cjs +11 -19
  515. package/_cjs/RuntimeFlags/RuntimeFlags.cjs.map +1 -1
  516. package/_cjs/RuntimeFlags.cjs +8 -8
  517. package/_cjs/RuntimeFlags.cjs.map +1 -1
  518. package/_cjs/STM/api/atomically.cjs +2 -2
  519. package/_cjs/STM/api/atomically.cjs.map +1 -1
  520. package/_cjs/STM/api/core-api.cjs +10 -11
  521. package/_cjs/STM/api/core-api.cjs.map +1 -1
  522. package/_cjs/STM/api/core-constructors.cjs +3 -6
  523. package/_cjs/STM/api/core-constructors.cjs.map +1 -1
  524. package/_cjs/STM/api.cjs +40 -50
  525. package/_cjs/STM/api.cjs.map +1 -1
  526. package/_cjs/STM/definition.cjs +8 -16
  527. package/_cjs/STM/definition.cjs.map +1 -1
  528. package/_cjs/STM/driver.cjs +5 -4
  529. package/_cjs/STM/driver.cjs.map +1 -1
  530. package/_cjs/STM/internal/CommitState.cjs +6 -10
  531. package/_cjs/STM/internal/CommitState.cjs.map +1 -1
  532. package/_cjs/STM/internal/Entry.cjs +2 -4
  533. package/_cjs/STM/internal/Entry.cjs.map +1 -1
  534. package/_cjs/STM/internal/Journal.cjs +12 -22
  535. package/_cjs/STM/internal/Journal.cjs.map +1 -1
  536. package/_cjs/STM/internal/TryCommit.cjs +1 -2
  537. package/_cjs/STM/internal/TryCommit.cjs.map +1 -1
  538. package/_cjs/STM/internal/Versioned.cjs +1 -2
  539. package/_cjs/STM/internal/Versioned.cjs.map +1 -1
  540. package/_cjs/STM.cjs +16 -16
  541. package/_cjs/STM.cjs.map +1 -1
  542. package/_cjs/Schedule/Decision.cjs +4 -6
  543. package/_cjs/Schedule/Decision.cjs.map +1 -1
  544. package/_cjs/Schedule/api/driver.cjs +4 -3
  545. package/_cjs/Schedule/api/driver.cjs.map +1 -1
  546. package/_cjs/Schedule/api.cjs +47 -77
  547. package/_cjs/Schedule/api.cjs.map +1 -1
  548. package/_cjs/Schedule/definition.cjs +1 -2
  549. package/_cjs/Schedule/definition.cjs.map +1 -1
  550. package/_cjs/Schedule.cjs +16 -16
  551. package/_cjs/Schedule.cjs.map +1 -1
  552. package/_cjs/Scope/Finalizer/definition.cjs +4 -6
  553. package/_cjs/Scope/Finalizer/definition.cjs.map +1 -1
  554. package/_cjs/Scope/Finalizer.cjs.map +1 -1
  555. package/_cjs/Scope/ReleaseMap/api/releaseAll.cjs +2 -2
  556. package/_cjs/Scope/ReleaseMap/api/releaseAll.cjs.map +1 -1
  557. package/_cjs/Scope/ReleaseMap/api.cjs +4 -6
  558. package/_cjs/Scope/ReleaseMap/api.cjs.map +1 -1
  559. package/_cjs/Scope/ReleaseMap/constructors.cjs +4 -6
  560. package/_cjs/Scope/ReleaseMap/constructors.cjs.map +1 -1
  561. package/_cjs/Scope/ReleaseMap/definition.cjs +3 -4
  562. package/_cjs/Scope/ReleaseMap/definition.cjs.map +1 -1
  563. package/_cjs/Scope/ReleaseMap.cjs +8 -8
  564. package/_cjs/Scope/ReleaseMap.cjs.map +1 -1
  565. package/_cjs/Scope/api.cjs +41 -34
  566. package/_cjs/Scope/api.cjs.map +1 -1
  567. package/_cjs/Scope/definition.cjs +7 -7
  568. package/_cjs/Scope/definition.cjs.map +1 -1
  569. package/_cjs/Scope.cjs +8 -8
  570. package/_cjs/Scope.cjs.map +1 -1
  571. package/_cjs/ScopedRef/api.cjs +4 -4
  572. package/_cjs/ScopedRef/api.cjs.map +1 -1
  573. package/_cjs/ScopedRef/definition.cjs +1 -2
  574. package/_cjs/ScopedRef/definition.cjs.map +1 -1
  575. package/_cjs/ScopedRef.cjs +8 -8
  576. package/_cjs/ScopedRef.cjs.map +1 -1
  577. package/_cjs/Semaphore.cjs +3 -4
  578. package/_cjs/Semaphore.cjs.map +1 -1
  579. package/_cjs/Sink/api.cjs +51 -81
  580. package/_cjs/Sink/api.cjs.map +1 -1
  581. package/_cjs/Sink.cjs +8 -8
  582. package/_cjs/Sink.cjs.map +1 -1
  583. package/_cjs/State/api.cjs +2 -2
  584. package/_cjs/State/api.cjs.map +1 -1
  585. package/_cjs/State/internal.cjs +2 -4
  586. package/_cjs/State/internal.cjs.map +1 -1
  587. package/_cjs/State.cjs +8 -8
  588. package/_cjs/State.cjs.map +1 -1
  589. package/_cjs/Stream/api/zipAllWith.cjs +6 -3
  590. package/_cjs/Stream/api/zipAllWith.cjs.map +1 -1
  591. package/_cjs/Stream/api/zipWith.cjs +2 -2
  592. package/_cjs/Stream/api/zipWith.cjs.map +1 -1
  593. package/_cjs/Stream/api/zipWithChunks.cjs +6 -3
  594. package/_cjs/Stream/api/zipWithChunks.cjs.map +1 -1
  595. package/_cjs/Stream/api.cjs +118 -177
  596. package/_cjs/Stream/api.cjs.map +1 -1
  597. package/_cjs/Stream/definition.cjs +3 -6
  598. package/_cjs/Stream/definition.cjs.map +1 -1
  599. package/_cjs/Stream/internal/DebounceState.cjs +5 -10
  600. package/_cjs/Stream/internal/DebounceState.cjs.map +1 -1
  601. package/_cjs/Stream/internal/Handoff.cjs +19 -26
  602. package/_cjs/Stream/internal/Handoff.cjs.map +1 -1
  603. package/_cjs/Stream/internal/Pull.cjs +4 -6
  604. package/_cjs/Stream/internal/Pull.cjs.map +1 -1
  605. package/_cjs/Stream/internal/SinkEndReason.cjs +1 -2
  606. package/_cjs/Stream/internal/SinkEndReason.cjs.map +1 -1
  607. package/_cjs/Stream/internal/Take.cjs +6 -10
  608. package/_cjs/Stream/internal/Take.cjs.map +1 -1
  609. package/_cjs/Stream/internal/util.cjs +2 -2
  610. package/_cjs/Stream/internal/util.cjs.map +1 -1
  611. package/_cjs/Stream.cjs +8 -8
  612. package/_cjs/Stream.cjs.map +1 -1
  613. package/_cjs/Subject/Atomic.cjs +2 -2
  614. package/_cjs/Subject/Atomic.cjs.map +1 -1
  615. package/_cjs/Subject/api.cjs +3 -4
  616. package/_cjs/Subject/api.cjs.map +1 -1
  617. package/_cjs/Subject/definition.cjs +2 -4
  618. package/_cjs/Subject/definition.cjs.map +1 -1
  619. package/_cjs/Subject.cjs +11 -11
  620. package/_cjs/Subject.cjs.map +1 -1
  621. package/_cjs/SubscriptionRef.cjs +9 -11
  622. package/_cjs/SubscriptionRef.cjs.map +1 -1
  623. package/_cjs/Supervisor/api.cjs +5 -8
  624. package/_cjs/Supervisor/api.cjs.map +1 -1
  625. package/_cjs/Supervisor/constructors.cjs +4 -6
  626. package/_cjs/Supervisor/constructors.cjs.map +1 -1
  627. package/_cjs/Supervisor/definition.cjs +3 -5
  628. package/_cjs/Supervisor/definition.cjs.map +1 -1
  629. package/_cjs/Supervisor.cjs +8 -8
  630. package/_cjs/Supervisor.cjs.map +1 -1
  631. package/_cjs/SupervisorPatch.cjs +43 -23
  632. package/_cjs/SupervisorPatch.cjs.map +1 -1
  633. package/_cjs/TExit/constructors.cjs +2 -4
  634. package/_cjs/TExit/constructors.cjs.map +1 -1
  635. package/_cjs/TExit/definition.cjs +11 -29
  636. package/_cjs/TExit/definition.cjs.map +1 -1
  637. package/_cjs/TExit.cjs +8 -8
  638. package/_cjs/TExit.cjs.map +1 -1
  639. package/_cjs/TFuture/api.cjs +3 -4
  640. package/_cjs/TFuture/api.cjs.map +1 -1
  641. package/_cjs/TFuture/constructors.cjs +3 -4
  642. package/_cjs/TFuture/constructors.cjs.map +1 -1
  643. package/_cjs/TFuture/definition.cjs +3 -4
  644. package/_cjs/TFuture/definition.cjs.map +1 -1
  645. package/_cjs/TFuture.cjs +8 -8
  646. package/_cjs/TFuture.cjs.map +1 -1
  647. package/_cjs/TReentrantLock/api.cjs +9 -16
  648. package/_cjs/TReentrantLock/api.cjs.map +1 -1
  649. package/_cjs/TReentrantLock/definition.cjs +2 -3
  650. package/_cjs/TReentrantLock/definition.cjs.map +1 -1
  651. package/_cjs/TReentrantLock.cjs +8 -8
  652. package/_cjs/TReentrantLock.cjs.map +1 -1
  653. package/_cjs/TRef/api.cjs +5 -8
  654. package/_cjs/TRef/api.cjs.map +1 -1
  655. package/_cjs/TRef/constructors.cjs +4 -6
  656. package/_cjs/TRef/constructors.cjs.map +1 -1
  657. package/_cjs/TRef/definition.cjs +84 -33
  658. package/_cjs/TRef/definition.cjs.map +1 -1
  659. package/_cjs/TRef.cjs +8 -8
  660. package/_cjs/TRef.cjs.map +1 -1
  661. package/_cjs/TSemaphore/api.cjs +5 -8
  662. package/_cjs/TSemaphore/api.cjs.map +1 -1
  663. package/_cjs/TSemaphore/constructors.cjs +3 -4
  664. package/_cjs/TSemaphore/constructors.cjs.map +1 -1
  665. package/_cjs/TSemaphore/definition.cjs +3 -4
  666. package/_cjs/TSemaphore/definition.cjs.map +1 -1
  667. package/_cjs/TSemaphore.cjs +8 -8
  668. package/_cjs/TSemaphore.cjs.map +1 -1
  669. package/_cjs/TxnId.cjs +1 -2
  670. package/_cjs/TxnId.cjs.map +1 -1
  671. package/_cjs/collection/immutable/Conc/dropUntilIO.cjs +2 -2
  672. package/_cjs/collection/immutable/Conc/dropUntilIO.cjs.map +1 -1
  673. package/_cjs/collection/immutable/Conc/dropWhileIO.cjs +2 -2
  674. package/_cjs/collection/immutable/Conc/dropWhileIO.cjs.map +1 -1
  675. package/_cjs/collection/immutable/Conc/filterIO.cjs +2 -2
  676. package/_cjs/collection/immutable/Conc/findIO.cjs +2 -2
  677. package/_cjs/collection/immutable/Conc/findIO.cjs.map +1 -1
  678. package/_cjs/collection/immutable/Conc/mapIO.cjs +2 -2
  679. package/_cjs/collection/immutable/Conc/takeWhileIO.cjs +2 -2
  680. package/_cjs/collection/immutable/Conc/takeWhileIO.cjs.map +1 -1
  681. package/_cjs/collection/immutable/Conc.cjs +24 -24
  682. package/_cjs/collection/immutable/Conc.cjs.map +1 -1
  683. package/_cjs/data/Exit/foreachIO.cjs +2 -2
  684. package/_cjs/internal/BackgroundScheduler.cjs +1 -2
  685. package/_cjs/internal/BackgroundScheduler.cjs.map +1 -1
  686. package/_cjs/internal/HashedPair.cjs +2 -2
  687. package/_cjs/internal/HashedPair.cjs.map +1 -1
  688. package/_cjs/internal/Hub.cjs +2 -2
  689. package/_cjs/internal/Hub.cjs.map +1 -1
  690. package/_cjs/internal/IsFatal.cjs +2 -4
  691. package/_cjs/internal/IsFatal.cjs.map +1 -1
  692. package/_cjs/internal/MutableQueue.cjs +3 -4
  693. package/_cjs/internal/MutableQueue.cjs.map +1 -1
  694. package/_cjs/internal/Scheduler.cjs +3 -4
  695. package/_cjs/internal/Scheduler.cjs.map +1 -1
  696. package/_cjs/internal/StackTraceBuilder.cjs +2 -2
  697. package/_cjs/internal/StackTraceBuilder.cjs.map +1 -1
  698. package/_mjs/Cached/api.mjs +2 -2
  699. package/_mjs/Cached/api.mjs.map +1 -1
  700. package/_mjs/Cached.mjs +3 -2
  701. package/_mjs/Cached.mjs.map +1 -1
  702. package/_mjs/CancellerState.mjs +0 -3
  703. package/_mjs/CancellerState.mjs.map +1 -1
  704. package/_mjs/Channel/ChildExecutorDecision/api.mjs.map +1 -1
  705. package/_mjs/Channel/ChildExecutorDecision.mjs +2 -1
  706. package/_mjs/Channel/ChildExecutorDecision.mjs.map +1 -1
  707. package/_mjs/Channel/UpstreamPullRequest/api.mjs.map +1 -1
  708. package/_mjs/Channel/UpstreamPullRequest.mjs +2 -1
  709. package/_mjs/Channel/UpstreamPullRequest.mjs.map +1 -1
  710. package/_mjs/Channel/UpstreamPullStrategy.mjs +1 -0
  711. package/_mjs/Channel/UpstreamPullStrategy.mjs.map +1 -1
  712. package/_mjs/Channel/api/mapOutConcurrentIO.mjs +8 -2
  713. package/_mjs/Channel/api/mapOutConcurrentIO.mjs.map +1 -1
  714. package/_mjs/Channel/api/mergeAllWith.mjs +23 -14
  715. package/_mjs/Channel/api/mergeAllWith.mjs.map +1 -1
  716. package/_mjs/Channel/api/mergeWith.mjs +16 -4
  717. package/_mjs/Channel/api/mergeWith.mjs.map +1 -1
  718. package/_mjs/Channel/api/runScoped.mjs +1 -1
  719. package/_mjs/Channel/api/runScoped.mjs.map +1 -1
  720. package/_mjs/Channel/api/toPull.mjs.map +1 -1
  721. package/_mjs/Channel/api.mjs +132 -37
  722. package/_mjs/Channel/api.mjs.map +1 -1
  723. package/_mjs/Channel/core-api.mjs +14 -4
  724. package/_mjs/Channel/core-api.mjs.map +1 -1
  725. package/_mjs/Channel/definition.mjs +14 -135
  726. package/_mjs/Channel/definition.mjs.map +1 -1
  727. package/_mjs/Channel/internal/ChannelExecutor.mjs +90 -92
  728. package/_mjs/Channel/internal/ChannelExecutor.mjs.map +1 -1
  729. package/_mjs/Channel/internal/ChannelState.mjs +0 -4
  730. package/_mjs/Channel/internal/ChannelState.mjs.map +1 -1
  731. package/_mjs/Channel/internal/MergeDecision.mjs +0 -1
  732. package/_mjs/Channel/internal/MergeDecision.mjs.map +1 -1
  733. package/_mjs/Channel/internal/MergeState.mjs +0 -3
  734. package/_mjs/Channel/internal/MergeState.mjs.map +1 -1
  735. package/_mjs/Channel/internal/SingleProducerAsyncInput.mjs +8 -5
  736. package/_mjs/Channel/internal/SingleProducerAsyncInput.mjs.map +1 -1
  737. package/_mjs/Channel.mjs +4 -3
  738. package/_mjs/Channel.mjs.map +1 -1
  739. package/_mjs/Clock.mjs +3 -2
  740. package/_mjs/Clock.mjs.map +1 -1
  741. package/_mjs/Console/live.mjs +1 -1
  742. package/_mjs/Console/live.mjs.map +1 -1
  743. package/_mjs/Console.mjs +3 -2
  744. package/_mjs/Console.mjs.map +1 -1
  745. package/_mjs/CountdownLatch.mjs +6 -6
  746. package/_mjs/CountdownLatch.mjs.map +1 -1
  747. package/_mjs/Differ/api.mjs.map +1 -1
  748. package/_mjs/Fiber/FiberRuntime.mjs +69 -65
  749. package/_mjs/Fiber/FiberRuntime.mjs.map +1 -1
  750. package/_mjs/Fiber.mjs +21 -19
  751. package/_mjs/Fiber.mjs.map +1 -1
  752. package/_mjs/FiberDescriptor.mjs.map +1 -1
  753. package/_mjs/FiberRef/definition.mjs +3 -1
  754. package/_mjs/FiberRef/definition.mjs.map +1 -1
  755. package/_mjs/FiberRef/unsafe.mjs +4 -0
  756. package/_mjs/FiberRef/unsafe.mjs.map +1 -1
  757. package/_mjs/FiberRef.mjs +7 -5
  758. package/_mjs/FiberRef.mjs.map +1 -1
  759. package/_mjs/FiberRefs/Patch.mjs +154 -0
  760. package/_mjs/FiberRefs/Patch.mjs.map +1 -0
  761. package/_mjs/FiberRefs/api.mjs.map +1 -1
  762. package/_mjs/FiberRefs.mjs +3 -1
  763. package/_mjs/FiberRefs.mjs.map +1 -1
  764. package/_mjs/FiberScope/definition.mjs.map +1 -1
  765. package/_mjs/FiberScope.mjs +2 -1
  766. package/_mjs/FiberScope.mjs.map +1 -1
  767. package/_mjs/FiberStatus/definition.mjs.map +1 -1
  768. package/_mjs/FiberStatus.mjs +2 -1
  769. package/_mjs/FiberStatus.mjs.map +1 -1
  770. package/_mjs/Future/api.mjs +12 -12
  771. package/_mjs/Future/api.mjs.map +1 -1
  772. package/_mjs/Future/definition.mjs +7 -3
  773. package/_mjs/Future/definition.mjs.map +1 -1
  774. package/_mjs/Future.mjs +3 -2
  775. package/_mjs/Future.mjs.map +1 -1
  776. package/_mjs/Hub/api.mjs +8 -8
  777. package/_mjs/Hub/api.mjs.map +1 -1
  778. package/_mjs/Hub/internal.mjs.map +1 -1
  779. package/_mjs/Hub.mjs +3 -2
  780. package/_mjs/Hub.mjs.map +1 -1
  781. package/_mjs/IO/api/all.mjs.map +1 -1
  782. package/_mjs/IO/api/asyncInterrupt.mjs +7 -4
  783. package/_mjs/IO/api/asyncInterrupt.mjs.map +1 -1
  784. package/_mjs/IO/api/concurrentFinalizers.mjs +52 -6
  785. package/_mjs/IO/api/concurrentFinalizers.mjs.map +1 -1
  786. package/_mjs/IO/api/foreachConcurrent.mjs +20 -19
  787. package/_mjs/IO/api/foreachConcurrent.mjs.map +1 -1
  788. package/_mjs/IO/api/fork.mjs.map +1 -1
  789. package/_mjs/IO/api/interrupt.mjs.map +1 -1
  790. package/_mjs/IO/api/patchFiberRefs.mjs +10 -0
  791. package/_mjs/IO/api/patchFiberRefs.mjs.map +1 -0
  792. package/_mjs/IO/api/provideSomeRuntime.mjs +21 -0
  793. package/_mjs/IO/api/provideSomeRuntime.mjs.map +1 -0
  794. package/_mjs/IO/api/raceWith.mjs.map +1 -1
  795. package/_mjs/IO/api/withEarlyRelease.mjs +1 -1
  796. package/_mjs/IO/api/withEarlyRelease.mjs.map +1 -1
  797. package/_mjs/IO/api/zipConcurrent.mjs.map +1 -1
  798. package/_mjs/IO/api.mjs +38 -14
  799. package/_mjs/IO/api.mjs.map +1 -1
  800. package/_mjs/IO/definition.mjs.map +1 -1
  801. package/_mjs/IO/runtime.mjs +6 -3
  802. package/_mjs/IO/runtime.mjs.map +1 -1
  803. package/_mjs/IO.mjs +64 -60
  804. package/_mjs/IO.mjs.map +1 -1
  805. package/_mjs/IOEnv.mjs +3 -2
  806. package/_mjs/IOEnv.mjs.map +1 -1
  807. package/_mjs/InterruptStatus.mjs +2 -1
  808. package/_mjs/InterruptStatus.mjs.map +1 -1
  809. package/_mjs/Layer/MemoMap.mjs +2 -2
  810. package/_mjs/Layer/MemoMap.mjs.map +1 -1
  811. package/_mjs/Layer/api.mjs +13 -1
  812. package/_mjs/Layer/api.mjs.map +1 -1
  813. package/_mjs/Layer/definition.mjs +0 -6
  814. package/_mjs/Layer/definition.mjs.map +1 -1
  815. package/_mjs/Layer.mjs +2 -1
  816. package/_mjs/Layer.mjs.map +1 -1
  817. package/_mjs/LogLevel.mjs.map +1 -1
  818. package/_mjs/LogSpan.mjs.map +1 -1
  819. package/_mjs/Logger/api.mjs.map +1 -1
  820. package/_mjs/Logger/constructors.mjs.map +1 -1
  821. package/_mjs/Logger.mjs +3 -2
  822. package/_mjs/Logger.mjs.map +1 -1
  823. package/_mjs/MVar.mjs +2 -1
  824. package/_mjs/MVar.mjs.map +1 -1
  825. package/_mjs/Push/api.mjs +4 -1
  826. package/_mjs/Push/api.mjs.map +1 -1
  827. package/_mjs/Push.mjs +3 -2
  828. package/_mjs/Push.mjs.map +1 -1
  829. package/_mjs/Queue/api/dimapIO.mjs +5 -5
  830. package/_mjs/Queue/api/dimapIO.mjs.map +1 -1
  831. package/_mjs/Queue/api/filterInputIO.mjs +9 -9
  832. package/_mjs/Queue/api/filterInputIO.mjs.map +1 -1
  833. package/_mjs/Queue/api/filterOutputIO.mjs +16 -16
  834. package/_mjs/Queue/api/filterOutputIO.mjs.map +1 -1
  835. package/_mjs/Queue/api/operations.mjs +2 -2
  836. package/_mjs/Queue/api/operations.mjs.map +1 -1
  837. package/_mjs/Queue/api/takeBetween.mjs +14 -19
  838. package/_mjs/Queue/api/takeBetween.mjs.map +1 -1
  839. package/_mjs/Queue/api/takeN.mjs +10 -0
  840. package/_mjs/Queue/api/takeN.mjs.map +1 -0
  841. package/_mjs/Queue/api.mjs +8 -6
  842. package/_mjs/Queue/api.mjs.map +1 -1
  843. package/_mjs/Queue/internal.mjs +2 -2
  844. package/_mjs/Queue/internal.mjs.map +1 -1
  845. package/_mjs/Queue/strategy.mjs.map +1 -1
  846. package/_mjs/Queue.mjs +5 -4
  847. package/_mjs/Queue.mjs.map +1 -1
  848. package/_mjs/Random.mjs +3 -2
  849. package/_mjs/Random.mjs.map +1 -1
  850. package/_mjs/Ref/Derived.mjs +35 -8
  851. package/_mjs/Ref/Derived.mjs.map +1 -1
  852. package/_mjs/Ref/DerivedAll.mjs +35 -8
  853. package/_mjs/Ref/DerivedAll.mjs.map +1 -1
  854. package/_mjs/Ref/Synchronized.mjs +3 -2
  855. package/_mjs/Ref/Synchronized.mjs.map +1 -1
  856. package/_mjs/Ref/api.mjs +9 -8
  857. package/_mjs/Ref/api.mjs.map +1 -1
  858. package/_mjs/Ref.mjs +9 -7
  859. package/_mjs/Ref.mjs.map +1 -1
  860. package/_mjs/RefSubject/Atomic.mjs +3 -3
  861. package/_mjs/RefSubject/Atomic.mjs.map +1 -1
  862. package/_mjs/RefSubject/Synchronized/api.mjs.map +1 -1
  863. package/_mjs/RefSubject/Synchronized/definition.mjs +7 -7
  864. package/_mjs/RefSubject/Synchronized/definition.mjs.map +1 -1
  865. package/_mjs/RefSubject/api.mjs +3 -3
  866. package/_mjs/RefSubject/api.mjs.map +1 -1
  867. package/_mjs/RefSubject/definition.mjs +1 -0
  868. package/_mjs/RefSubject/definition.mjs.map +1 -1
  869. package/_mjs/RefSubject.mjs +2 -1
  870. package/_mjs/RefSubject.mjs.map +1 -1
  871. package/_mjs/Reloadable/definition.mjs +1 -1
  872. package/_mjs/Reloadable/definition.mjs.map +1 -1
  873. package/_mjs/Reloadable.mjs +3 -2
  874. package/_mjs/Reloadable.mjs.map +1 -1
  875. package/_mjs/RuntimeFlags/RuntimeFlags.mjs +3 -4
  876. package/_mjs/RuntimeFlags/RuntimeFlags.mjs.map +1 -1
  877. package/_mjs/RuntimeFlags.mjs +2 -1
  878. package/_mjs/RuntimeFlags.mjs.map +1 -1
  879. package/_mjs/STM/api/atomically.mjs.map +1 -1
  880. package/_mjs/STM/api/core-api.mjs +4 -1
  881. package/_mjs/STM/api/core-api.mjs.map +1 -1
  882. package/_mjs/STM/api.mjs +16 -4
  883. package/_mjs/STM/api.mjs.map +1 -1
  884. package/_mjs/STM/definition.mjs +0 -7
  885. package/_mjs/STM/definition.mjs.map +1 -1
  886. package/_mjs/STM/driver.mjs +1 -1
  887. package/_mjs/STM/driver.mjs.map +1 -1
  888. package/_mjs/STM/internal/CommitState.mjs.map +1 -1
  889. package/_mjs/STM/internal/Journal.mjs.map +1 -1
  890. package/_mjs/STM/internal/TryCommit.mjs +0 -2
  891. package/_mjs/STM/internal/TryCommit.mjs.map +1 -1
  892. package/_mjs/STM.mjs +6 -4
  893. package/_mjs/STM.mjs.map +1 -1
  894. package/_mjs/Schedule/Decision.mjs +0 -2
  895. package/_mjs/Schedule/Decision.mjs.map +1 -1
  896. package/_mjs/Schedule/api.mjs +9 -3
  897. package/_mjs/Schedule/api.mjs.map +1 -1
  898. package/_mjs/Schedule.mjs +3 -2
  899. package/_mjs/Schedule.mjs.map +1 -1
  900. package/_mjs/Scope/Finalizer.mjs +1 -0
  901. package/_mjs/Scope/Finalizer.mjs.map +1 -1
  902. package/_mjs/Scope/ReleaseMap/api/releaseAll.mjs.map +1 -1
  903. package/_mjs/Scope/ReleaseMap/api.mjs.map +1 -1
  904. package/_mjs/Scope/ReleaseMap/definition.mjs.map +1 -1
  905. package/_mjs/Scope/ReleaseMap.mjs +3 -2
  906. package/_mjs/Scope/ReleaseMap.mjs.map +1 -1
  907. package/_mjs/Scope/api.mjs +31 -19
  908. package/_mjs/Scope/api.mjs.map +1 -1
  909. package/_mjs/Scope/definition.mjs +4 -2
  910. package/_mjs/Scope/definition.mjs.map +1 -1
  911. package/_mjs/Scope.mjs +3 -2
  912. package/_mjs/Scope.mjs.map +1 -1
  913. package/_mjs/ScopedRef/api.mjs +2 -2
  914. package/_mjs/ScopedRef/api.mjs.map +1 -1
  915. package/_mjs/ScopedRef.mjs +2 -1
  916. package/_mjs/ScopedRef.mjs.map +1 -1
  917. package/_mjs/Semaphore.mjs.map +1 -1
  918. package/_mjs/Sink/api.mjs +11 -5
  919. package/_mjs/Sink/api.mjs.map +1 -1
  920. package/_mjs/Sink.mjs +2 -1
  921. package/_mjs/Sink.mjs.map +1 -1
  922. package/_mjs/State/api.mjs.map +1 -1
  923. package/_mjs/State.mjs +3 -2
  924. package/_mjs/State.mjs.map +1 -1
  925. package/_mjs/Stream/api/zipAllWith.mjs +4 -1
  926. package/_mjs/Stream/api/zipAllWith.mjs.map +1 -1
  927. package/_mjs/Stream/api/zipWithChunks.mjs +4 -1
  928. package/_mjs/Stream/api/zipWithChunks.mjs.map +1 -1
  929. package/_mjs/Stream/api.mjs +36 -15
  930. package/_mjs/Stream/api.mjs.map +1 -1
  931. package/_mjs/Stream/internal/DebounceState.mjs +0 -3
  932. package/_mjs/Stream/internal/DebounceState.mjs.map +1 -1
  933. package/_mjs/Stream/internal/Handoff.mjs +10 -15
  934. package/_mjs/Stream/internal/Handoff.mjs.map +1 -1
  935. package/_mjs/Stream/internal/SinkEndReason.mjs +0 -2
  936. package/_mjs/Stream/internal/SinkEndReason.mjs.map +1 -1
  937. package/_mjs/Stream/internal/util.mjs.map +1 -1
  938. package/_mjs/Stream.mjs +3 -2
  939. package/_mjs/Stream.mjs.map +1 -1
  940. package/_mjs/Subject.mjs +2 -1
  941. package/_mjs/Subject.mjs.map +1 -1
  942. package/_mjs/SubscriptionRef.mjs +5 -5
  943. package/_mjs/SubscriptionRef.mjs.map +1 -1
  944. package/_mjs/Supervisor/api.mjs.map +1 -1
  945. package/_mjs/Supervisor/constructors.mjs.map +1 -1
  946. package/_mjs/Supervisor/definition.mjs +1 -3
  947. package/_mjs/Supervisor/definition.mjs.map +1 -1
  948. package/_mjs/Supervisor.mjs +3 -2
  949. package/_mjs/Supervisor.mjs.map +1 -1
  950. package/_mjs/SupervisorPatch.mjs +38 -18
  951. package/_mjs/SupervisorPatch.mjs.map +1 -1
  952. package/_mjs/TExit/definition.mjs +0 -9
  953. package/_mjs/TExit/definition.mjs.map +1 -1
  954. package/_mjs/TExit.mjs +2 -1
  955. package/_mjs/TExit.mjs.map +1 -1
  956. package/_mjs/TFuture.mjs +3 -2
  957. package/_mjs/TFuture.mjs.map +1 -1
  958. package/_mjs/TReentrantLock/api.mjs.map +1 -1
  959. package/_mjs/TReentrantLock/definition.mjs +0 -1
  960. package/_mjs/TReentrantLock/definition.mjs.map +1 -1
  961. package/_mjs/TReentrantLock.mjs +2 -1
  962. package/_mjs/TReentrantLock.mjs.map +1 -1
  963. package/_mjs/TRef/definition.mjs +79 -25
  964. package/_mjs/TRef/definition.mjs.map +1 -1
  965. package/_mjs/TRef.mjs +3 -2
  966. package/_mjs/TRef.mjs.map +1 -1
  967. package/_mjs/TSemaphore.mjs +3 -2
  968. package/_mjs/TSemaphore.mjs.map +1 -1
  969. package/_mjs/collection/immutable/Conc/dropUntilIO.mjs.map +1 -1
  970. package/_mjs/collection/immutable/Conc/dropWhileIO.mjs.map +1 -1
  971. package/_mjs/collection/immutable/Conc/findIO.mjs.map +1 -1
  972. package/_mjs/collection/immutable/Conc/takeWhileIO.mjs.map +1 -1
  973. package/_mjs/collection/immutable/Conc.mjs +6 -5
  974. package/_mjs/collection/immutable/Conc.mjs.map +1 -1
  975. package/_mjs/internal/BackgroundScheduler.mjs.map +1 -1
  976. package/_mjs/internal/HashedPair.mjs.map +1 -1
  977. package/_mjs/internal/Hub.mjs.map +1 -1
  978. package/_mjs/internal/IsFatal.mjs +0 -3
  979. package/_mjs/internal/IsFatal.mjs.map +1 -1
  980. package/_mjs/internal/MutableQueue.mjs.map +1 -1
  981. package/_mjs/internal/Scheduler.mjs.map +1 -1
  982. package/_mjs/internal/StackTraceBuilder.mjs.map +1 -1
  983. package/_src/Cached/api.ts +4 -1
  984. package/_src/Cached.ts +3 -2
  985. package/_src/Channel/ChildExecutorDecision.ts +2 -1
  986. package/_src/Channel/UpstreamPullRequest.ts +2 -1
  987. package/_src/Channel/UpstreamPullStrategy.ts +1 -0
  988. package/_src/Channel/api/mapOutConcurrentIO.ts +5 -5
  989. package/_src/Channel/api/mergeAllWith.ts +9 -9
  990. package/_src/Channel/api/mergeWith.ts +16 -16
  991. package/_src/Channel/api.ts +128 -143
  992. package/_src/Channel/core-api.ts +17 -14
  993. package/_src/Channel/definition.ts +187 -236
  994. package/_src/Channel/internal/ChannelExecutor.ts +51 -46
  995. package/_src/Channel/internal/MergeState.ts +4 -1
  996. package/_src/Channel/internal/SingleProducerAsyncInput.ts +2 -2
  997. package/_src/Channel.ts +4 -3
  998. package/_src/Clock.ts +3 -2
  999. package/_src/Console/live.ts +1 -1
  1000. package/_src/Console.ts +3 -2
  1001. package/_src/CountdownLatch.ts +4 -1
  1002. package/_src/Fiber/FiberRuntime.ts +18 -5
  1003. package/_src/Fiber.ts +21 -19
  1004. package/_src/FiberDescriptor.ts +5 -1
  1005. package/_src/FiberRef/definition.ts +4 -1
  1006. package/_src/FiberRef/unsafe.ts +5 -0
  1007. package/_src/FiberRef.ts +7 -5
  1008. package/_src/FiberRefs/Patch.ts +145 -0
  1009. package/_src/FiberRefs.ts +3 -1
  1010. package/_src/FiberScope/definition.ts +4 -1
  1011. package/_src/FiberScope.ts +2 -1
  1012. package/_src/FiberStatus/definition.ts +9 -2
  1013. package/_src/FiberStatus.ts +2 -1
  1014. package/_src/Future/definition.ts +23 -4
  1015. package/_src/Future.ts +3 -2
  1016. package/_src/Hub/api.ts +8 -2
  1017. package/_src/Hub.ts +3 -2
  1018. package/_src/IO/api/asyncInterrupt.ts +4 -4
  1019. package/_src/IO/api/concurrentFinalizers.ts +74 -7
  1020. package/_src/IO/api/foreachConcurrent.ts +16 -14
  1021. package/_src/IO/api/interrupt.ts +1 -1
  1022. package/_src/IO/api/patchFiberRefs.ts +8 -0
  1023. package/_src/IO/api/provideSomeRuntime.ts +22 -0
  1024. package/_src/IO/api.ts +23 -16
  1025. package/_src/IO/definition.ts +6 -1
  1026. package/_src/IO/runtime.ts +6 -3
  1027. package/_src/IO.ts +64 -60
  1028. package/_src/IOEnv.ts +3 -2
  1029. package/_src/InterruptStatus.ts +2 -1
  1030. package/_src/Layer/MemoMap.ts +11 -3
  1031. package/_src/Layer/api.ts +14 -1
  1032. package/_src/Layer/definition.ts +17 -4
  1033. package/_src/Layer.ts +2 -1
  1034. package/_src/LogLevel.ts +5 -1
  1035. package/_src/LogSpan.ts +4 -1
  1036. package/_src/Logger.ts +3 -2
  1037. package/_src/MVar.ts +2 -1
  1038. package/_src/Push/api.ts +4 -4
  1039. package/_src/Push.ts +3 -2
  1040. package/_src/Queue/api/dimapIO.ts +8 -2
  1041. package/_src/Queue/api/filterInputIO.ts +8 -2
  1042. package/_src/Queue/api/filterOutputIO.ts +8 -2
  1043. package/_src/Queue/api/operations.ts +2 -2
  1044. package/_src/Queue/api/takeBetween.ts +18 -20
  1045. package/_src/Queue/api/takeN.ts +10 -0
  1046. package/_src/Queue/api.ts +8 -6
  1047. package/_src/Queue/internal.ts +4 -1
  1048. package/_src/Queue.ts +5 -4
  1049. package/_src/Random.ts +3 -2
  1050. package/_src/Ref/Derived.ts +20 -18
  1051. package/_src/Ref/DerivedAll.ts +21 -18
  1052. package/_src/Ref/Synchronized.ts +3 -2
  1053. package/_src/Ref/api.ts +8 -7
  1054. package/_src/Ref.ts +9 -7
  1055. package/_src/RefSubject/Atomic.ts +14 -3
  1056. package/_src/RefSubject/Synchronized/definition.ts +4 -1
  1057. package/_src/RefSubject/api.ts +5 -1
  1058. package/_src/RefSubject/definition.ts +1 -0
  1059. package/_src/RefSubject.ts +2 -1
  1060. package/_src/Reloadable/definition.ts +4 -1
  1061. package/_src/Reloadable.ts +3 -2
  1062. package/_src/RuntimeFlags/RuntimeFlags.ts +1 -1
  1063. package/_src/RuntimeFlags.ts +2 -1
  1064. package/_src/STM/api/core-api.ts +1 -1
  1065. package/_src/STM/api.ts +4 -4
  1066. package/_src/STM/definition.ts +16 -4
  1067. package/_src/STM/driver.ts +6 -1
  1068. package/_src/STM.ts +6 -4
  1069. package/_src/Schedule/api.ts +8 -8
  1070. package/_src/Schedule.ts +3 -2
  1071. package/_src/Scope/Finalizer.ts +1 -0
  1072. package/_src/Scope/ReleaseMap/definition.ts +5 -1
  1073. package/_src/Scope/ReleaseMap.ts +3 -2
  1074. package/_src/Scope/api.ts +36 -26
  1075. package/_src/Scope/definition.ts +2 -1
  1076. package/_src/Scope.ts +3 -2
  1077. package/_src/ScopedRef/api.ts +4 -3
  1078. package/_src/ScopedRef.ts +2 -1
  1079. package/_src/Sink/api.ts +12 -12
  1080. package/_src/Sink.ts +2 -1
  1081. package/_src/State.ts +3 -2
  1082. package/_src/Stream/api/zipAllWith.ts +4 -4
  1083. package/_src/Stream/api/zipWithChunks.ts +4 -4
  1084. package/_src/Stream/api.ts +21 -19
  1085. package/_src/Stream/internal/Handoff.ts +4 -1
  1086. package/_src/Stream.ts +3 -2
  1087. package/_src/Subject/definition.ts +1 -1
  1088. package/_src/Subject.ts +2 -1
  1089. package/_src/SubscriptionRef.ts +5 -1
  1090. package/_src/Supervisor/definition.ts +8 -2
  1091. package/_src/Supervisor.ts +3 -2
  1092. package/_src/SupervisorPatch.ts +5 -1
  1093. package/_src/TExit.ts +2 -1
  1094. package/_src/TFuture.ts +3 -2
  1095. package/_src/TReentrantLock/definition.ts +5 -1
  1096. package/_src/TReentrantLock.ts +2 -1
  1097. package/_src/TRef/definition.ts +40 -34
  1098. package/_src/TRef.ts +3 -2
  1099. package/_src/TSemaphore.ts +3 -2
  1100. package/_src/collection/immutable/Conc.ts +6 -5
  1101. package/_src/index.ts +47 -46
  1102. package/_src/internal/HashedPair.ts +4 -1
  1103. package/_src/internal/Hub.ts +20 -4
  1104. package/_src/internal/IsFatal.ts +4 -1
  1105. package/collection/immutable/Conc.d.ts +5 -5
  1106. package/data/Exit/foreachIO.d.ts +1 -1
  1107. package/index.d.ts +46 -46
  1108. package/internal/Hub.d.ts +1 -1
  1109. package/package.json +4 -4
@@ -0,0 +1,145 @@
1
+ export const enum FiberRefsPatchTag {
2
+ Empty,
3
+ Add,
4
+ Remove,
5
+ Update,
6
+ AndThen,
7
+ }
8
+
9
+ export const FiberRefsPatchTypeId = Symbol.for("fncts.io.FiberRefs.Patch");
10
+ export type FiberRefsPatchTypeId = typeof FiberRefsPatchTypeId;
11
+
12
+ /**
13
+ * @tsplus type fncts.io.FiberRefs.Patch
14
+ * @tsplus companion fncts.io.FiberRefs.PatchOps
15
+ */
16
+ export abstract class FiberRefsPatch {
17
+ readonly [FiberRefsPatchTypeId]: FiberRefsPatchTypeId = FiberRefsPatchTypeId;
18
+ }
19
+
20
+ export class Empty extends FiberRefsPatch {
21
+ readonly _tag = FiberRefsPatchTag.Empty;
22
+ }
23
+
24
+ export class Add<Value> extends FiberRefsPatch {
25
+ readonly _tag = FiberRefsPatchTag.Add;
26
+
27
+ constructor(
28
+ readonly fiberRef: FiberRef<Value>,
29
+ readonly value: Value,
30
+ ) {
31
+ super();
32
+ }
33
+ }
34
+
35
+ export class AndThen extends FiberRefsPatch {
36
+ readonly _tag = FiberRefsPatchTag.AndThen;
37
+
38
+ constructor(
39
+ readonly first: FiberRefsPatch,
40
+ readonly second: FiberRefsPatch,
41
+ ) {
42
+ super();
43
+ }
44
+ }
45
+
46
+ export class Remove<Value> extends FiberRefsPatch {
47
+ readonly _tag = FiberRefsPatchTag.Remove;
48
+
49
+ constructor(readonly fiberRef: FiberRef<Value>) {
50
+ super();
51
+ }
52
+ }
53
+
54
+ export class Update<Value, Patch> extends FiberRefsPatch {
55
+ readonly _tag = FiberRefsPatchTag.Update;
56
+
57
+ constructor(
58
+ readonly fiberRef: FiberRef.WithPatch<Value, Patch>,
59
+ readonly patch: Patch,
60
+ ) {
61
+ super();
62
+ }
63
+ }
64
+
65
+ export const empty: FiberRefsPatch = new Empty();
66
+
67
+ /**
68
+ * @tsplus pipeable fncts.io.FiberRefs.Patch combine
69
+ */
70
+ export function combine(second: FiberRefsPatch) {
71
+ return (first: FiberRefsPatch): FiberRefsPatch => {
72
+ return new AndThen(first, second);
73
+ };
74
+ }
75
+
76
+ /**
77
+ * @tsplus static fncts.io.FiberRefs.PatchOps diff
78
+ */
79
+ export function diff(oldValue: FiberRefs, newValue: FiberRefs): FiberRefsPatch {
80
+ const [removed, patch] = newValue.unFiberRefs.foldLeftWithIndex(
81
+ [oldValue, empty] as const,
82
+ (fiberRef, [fiberRefs, patch], values) => {
83
+ const newValue = values.head[1];
84
+ return fiberRefs.get(fiberRef).match(
85
+ () => [fiberRefs.delete(fiberRef), patch.combine(new Add(fiberRef, newValue))],
86
+ (oldValue) => {
87
+ if (oldValue === newValue) {
88
+ return [fiberRefs.delete(fiberRef), patch];
89
+ } else {
90
+ return [fiberRefs.delete(fiberRef), patch.combine(new Update(fiberRef, fiberRef.diff(oldValue, newValue)))];
91
+ }
92
+ },
93
+ );
94
+ },
95
+ );
96
+
97
+ return removed.unFiberRefs.foldLeftWithIndex(patch, (fiberRef, patch) => patch.combine(new Remove(fiberRef)));
98
+ }
99
+
100
+ /**
101
+ * @tsplus pipeable fncts.io.FiberRefs.Patch __call
102
+ */
103
+ export function apply(fiberId: FiberId.Runtime, fiberRefs: FiberRefs) {
104
+ return (self: FiberRefsPatch): FiberRefs => {
105
+ return applyLoop(fiberId, fiberRefs, Cons(self));
106
+ };
107
+ }
108
+
109
+ /**
110
+ * @tsplus tailRec
111
+ */
112
+ function applyLoop(fiberId: FiberId.Runtime, fiberRefs: FiberRefs, patches: List<FiberRefsPatch>): FiberRefs {
113
+ if (patches.isEmpty()) {
114
+ return fiberRefs;
115
+ }
116
+ const patch = patches.head;
117
+ const rest = patches.tail;
118
+ concrete(patch);
119
+ switch (patch._tag) {
120
+ case FiberRefsPatchTag.Add:
121
+ return applyLoop(fiberId, fiberRefs.updateAs(fiberId, patch.fiberRef, patch.value), rest);
122
+ case FiberRefsPatchTag.AndThen:
123
+ return applyLoop(fiberId, fiberRefs, Cons(patch.first, Cons(patch.second, rest)));
124
+ case FiberRefsPatchTag.Empty:
125
+ return applyLoop(fiberId, fiberRefs, rest);
126
+ case FiberRefsPatchTag.Remove:
127
+ return applyLoop(fiberId, fiberRefs.delete(patch.fiberRef), rest);
128
+ case FiberRefsPatchTag.Update:
129
+ return applyLoop(
130
+ fiberId,
131
+ fiberRefs.updateAs(
132
+ fiberId,
133
+ patch.fiberRef,
134
+ patch.fiberRef.patch(patch.patch)(fiberRefs.getOrDefault(patch.fiberRef)),
135
+ ),
136
+ rest,
137
+ );
138
+ }
139
+ }
140
+
141
+ type Concrete = Empty | Add<any> | Remove<any> | Update<any, any> | AndThen;
142
+
143
+ function concrete(patch: FiberRefsPatch): asserts patch is Concrete {
144
+ //
145
+ }
package/_src/FiberRefs.ts CHANGED
@@ -1,4 +1,6 @@
1
+ /* eslint-disable simple-import-sort/exports */
1
2
  // codegen:start { preset: barrel, include: ./FiberRefs/*.ts }
2
- export * from "./FiberRefs/api.js";
3
3
  export * from "./FiberRefs/definition.js";
4
+ export * from "./FiberRefs/api.js";
5
+ export * from "./FiberRefs/Patch.js";
4
6
  // codegen:end
@@ -32,7 +32,10 @@ export class Global extends FiberScope {
32
32
  }
33
33
 
34
34
  export class Local extends FiberScope {
35
- constructor(readonly fiberId: FiberId, private parentRef: WeakRef<FiberRuntime<unknown, unknown>>) {
35
+ constructor(
36
+ readonly fiberId: FiberId,
37
+ private parentRef: WeakRef<FiberRuntime<unknown, unknown>>,
38
+ ) {
36
39
  super();
37
40
  }
38
41
  unsafeAdd(currentFiber: FiberRuntime<any, any>, _runtimeFlags: RuntimeFlags, child: FiberRuntime<any, any>): void {
@@ -1,4 +1,5 @@
1
+ /* eslint-disable simple-import-sort/exports */
1
2
  // codegen:start { preset: barrel, include: FiberScope/*.ts }
2
- export * from "./FiberScope/constructors.js";
3
3
  export * from "./FiberScope/definition.js";
4
+ export * from "./FiberScope/constructors.js";
4
5
  // codegen:end
@@ -20,7 +20,10 @@ export class Done {
20
20
  */
21
21
  export class Running {
22
22
  readonly _tag = FiberStatusTag.Running;
23
- constructor(readonly runtimeFlags: RuntimeFlags, readonly trace?: string) {}
23
+ constructor(
24
+ readonly runtimeFlags: RuntimeFlags,
25
+ readonly trace?: string,
26
+ ) {}
24
27
  readonly isFinished = false;
25
28
  }
26
29
 
@@ -29,7 +32,11 @@ export class Running {
29
32
  */
30
33
  export class Suspended {
31
34
  readonly _tag = FiberStatusTag.Suspended;
32
- constructor(readonly runtimeFlags: RuntimeFlags, readonly blockingOn: FiberId, readonly trace?: string) {}
35
+ constructor(
36
+ readonly runtimeFlags: RuntimeFlags,
37
+ readonly blockingOn: FiberId,
38
+ readonly trace?: string,
39
+ ) {}
33
40
  readonly isFinished = false;
34
41
  }
35
42
 
@@ -1,4 +1,5 @@
1
+ /* eslint-disable simple-import-sort/exports */
1
2
  // codegen:start { preset: barrel, include: FiberStatus/*.ts }
2
- export * from "./FiberStatus/constructors.js";
3
3
  export * from "./FiberStatus/definition.js";
4
+ export * from "./FiberStatus/constructors.js";
4
5
  // codegen:end
@@ -1,14 +1,33 @@
1
+ export const FutureTypeId = Symbol.for("fncts.io.Future");
2
+ export type FutureTypeId = typeof FutureTypeId;
3
+
4
+ export const FutureVariance = Symbol.for("fncts.io.Future.Variance");
5
+ export type FutureVariance = typeof FutureVariance;
6
+
1
7
  /**
2
8
  * @tsplus type fncts.io.Future
3
9
  * @tsplus companion fncts.io.FutureOps
4
10
  */
5
- export class Future<E, A> {
6
- constructor(public state: State<E, A>, readonly blockingOn: FiberId) {}
11
+ export class Future<in out E, in out A> {
12
+ readonly [FutureTypeId]: FutureTypeId = FutureTypeId;
13
+ declare FutureVariance: {
14
+ readonly _A: (_: A) => A;
15
+ readonly _E: (_: E) => E;
16
+ };
17
+ constructor(
18
+ public state: State<E, A>,
19
+ readonly blockingOn: FiberId,
20
+ ) {}
21
+ }
22
+
23
+ export declare namespace Future {
24
+ type ErrorOf<X> = [X] extends [{ [FutureVariance]: { _E: (_: infer E) => infer E } }] ? E : never;
25
+ type ValueOf<X> = [X] extends [{ [FutureVariance]: { _A: (_: infer A) => infer A } }] ? A : never;
7
26
  }
8
27
 
9
28
  export const enum FutureStateTag {
10
- Done = "Done",
11
- Pending = "Pending",
29
+ Done,
30
+ Pending,
12
31
  }
13
32
 
14
33
  export class Pending<E, A> {
package/_src/Future.ts CHANGED
@@ -1,5 +1,6 @@
1
+ /* eslint-disable simple-import-sort/exports */
1
2
  // codegen:start { preset: barrel, include: Future/*.ts }
2
- export * from "./Future/api.js";
3
- export * from "./Future/constructors.js";
4
3
  export * from "./Future/definition.js";
4
+ export * from "./Future/constructors.js";
5
+ export * from "./Future/api.js";
5
6
  // codegen:end
package/_src/Hub/api.ts CHANGED
@@ -108,7 +108,10 @@ export function dimapIO<A, B, RC, EC, C, RD, ED, D>(
108
108
  }
109
109
 
110
110
  class FilterInputIO<RA, RA1, RB, EA, EA1, EB, A, B> extends PHubInternal<RA | RA1, RB, EA | EA1, EB, A, B> {
111
- constructor(readonly source: PHubInternal<RA, RB, EA, EB, A, B>, readonly f: (a: A) => IO<RA1, EA1, boolean>) {
111
+ constructor(
112
+ readonly source: PHubInternal<RA, RB, EA, EB, A, B>,
113
+ readonly f: (a: A) => IO<RA1, EA1, boolean>,
114
+ ) {
112
115
  super();
113
116
  }
114
117
  awaitShutdown = this.source.awaitShutdown;
@@ -147,7 +150,10 @@ export function filterInput<A>(f: (a: A) => boolean, __tsplusTrace?: string) {
147
150
  }
148
151
 
149
152
  class FilterOutputIO<RA, RB, RB1, EA, EB, EB1, A, B> extends PHubInternal<RA, RB | RB1, EA, EB | EB1, A, B> {
150
- constructor(readonly source: PHubInternal<RA, RB, EA, EB, A, B>, readonly f: (a: B) => IO<RB1, EB1, boolean>) {
153
+ constructor(
154
+ readonly source: PHubInternal<RA, RB, EA, EB, A, B>,
155
+ readonly f: (a: B) => IO<RB1, EB1, boolean>,
156
+ ) {
151
157
  super();
152
158
  }
153
159
  awaitShutdown = this.source.awaitShutdown;
package/_src/Hub.ts CHANGED
@@ -1,4 +1,5 @@
1
- // codegen:start { preset: barrel, include: ./Hub/*.ts, exclude: ./Hub/*internal.ts }
2
- export * from "./Hub/api.js";
1
+ /* eslint-disable simple-import-sort/exports */
2
+ // codegen:start { preset: barrel, include: ./Hub/*.ts, exclude: Hub/*internal.ts }
3
3
  export * from "./Hub/definition.js";
4
+ export * from "./Hub/api.js";
4
5
  // codegen:end
@@ -25,14 +25,14 @@ export function asyncInterrupt<R, E, A>(
25
25
  let cancelerRef: URIO<R, any> = IO.unit!;
26
26
  return IO.async<R, E, A>((k) => {
27
27
  const result = register(k);
28
- result.match(
29
- (canceler) => {
28
+ result.match({
29
+ Left: (canceler) => {
30
30
  cancelerRef = canceler;
31
31
  },
32
- (done) => {
32
+ Right: (done) => {
33
33
  k(done);
34
34
  },
35
- );
35
+ });
36
36
  }, blockingOn).onInterrupt(() => cancelerRef);
37
37
  });
38
38
  }
@@ -1,11 +1,78 @@
1
+ /**
2
+ * @tsplus getter fncts.io.IO sequentialFinalizers
3
+ */
4
+ export function sequentialFinalizers<R, E, A>(io: IO<R, E, A>, __tsplusTrace?: string): IO<R, E, A> {
5
+ return IO.environmentWithIO((environment) =>
6
+ environment.getMaybe(Scope.Tag).match(
7
+ () => IO.defer(io),
8
+ (scope) => {
9
+ if (scope.executionStrategy._tag === "Sequential") {
10
+ return IO.defer(io);
11
+ } else {
12
+ return scope.forkWith(ExecutionStrategy.sequential).flatMap((scope) => scope.extend(io));
13
+ }
14
+ },
15
+ ),
16
+ );
17
+ }
18
+
1
19
  /**
2
20
  * @tsplus getter fncts.io.IO concurrentFinalizers
3
21
  */
4
- export function concurrentFinalizers<R, E, A>(io: IO<R, E, A>, __tsplusTrace?: string): IO<R | Scope, E, A> {
5
- return Do((Δ) => {
6
- const outerScope = Δ(IO.scope);
7
- const innerScope = Δ(Scope.concurrent);
8
- Δ(outerScope.addFinalizerExit(Finalizer.get((exit) => innerScope.close(exit))));
9
- return Δ(innerScope.extend(io));
10
- });
22
+ export function concurrentFinalizers<R, E, A>(io: IO<R, E, A>, __tsplusTrace?: string): IO<R, E, A> {
23
+ return IO.environmentWithIO((environment) =>
24
+ environment.getMaybe(Scope.Tag).match(
25
+ () => IO.defer(io),
26
+ (scope) => {
27
+ if (scope.executionStrategy._tag === "Concurrent") {
28
+ return IO.defer(io);
29
+ } else {
30
+ return scope.forkWith(ExecutionStrategy.concurrent).flatMap((scope) => scope.extend(io));
31
+ }
32
+ },
33
+ ),
34
+ );
35
+ }
36
+
37
+ /**
38
+ * @tsplus static fncts.io.IOOps concurrentFinalizersMask
39
+ */
40
+ export function concurrentFinalizersMask<R, E, A>(
41
+ f: (restore: <R, E, A>(io: IO<R, E, A>) => IO<R, E, A>) => IO<R, E, A>,
42
+ __tsplusTrace?: string,
43
+ ): IO<R, E, A> {
44
+ return IO.environmentWithIO((environment) =>
45
+ environment.getMaybe(Scope.Tag).match(
46
+ () => f(Function.identity),
47
+ (scope) =>
48
+ scope.executionStrategy.match(
49
+ () => f(sequentialFinalizersRestorer).concurrentFinalizers,
50
+ () => f(concurrentFinalizersRestorer).concurrentFinalizers,
51
+ (n) => f((io) => concurrentBoundedFinalizersRestorer(io, n)).concurrentFinalizers,
52
+ ),
53
+ ),
54
+ );
55
+ }
56
+
57
+ function sequentialFinalizersRestorer<R, E, A>(io: IO<R, E, A>): IO<R, E, A> {
58
+ return io.sequentialFinalizers;
59
+ }
60
+
61
+ function concurrentFinalizersRestorer<R, E, A>(io: IO<R, E, A>): IO<R, E, A> {
62
+ return io.concurrentFinalizers;
63
+ }
64
+
65
+ function concurrentBoundedFinalizersRestorer<R, E, A>(io: IO<R, E, A>, n: number): IO<R, E, A> {
66
+ return IO.environmentWithIO((environment) =>
67
+ environment.getMaybe(Scope.Tag).match(
68
+ () => io,
69
+ (scope) => {
70
+ if (scope.executionStrategy._tag === "ConcurrentBounded") {
71
+ return io;
72
+ } else {
73
+ return scope.forkWith(ExecutionStrategy.concurrentBounded(n)).flatMap((scope) => scope.extend(io));
74
+ }
75
+ },
76
+ ),
77
+ );
11
78
  }
@@ -66,20 +66,22 @@ function foreachConcurrentUnboundedDiscard<R, E, A>(
66
66
  const future = Future.unsafeMake<void, void>(FiberId.none);
67
67
  const ref = new AtomicNumber(0);
68
68
  return IO.transplant((graft) =>
69
- IO.foreach(
70
- as,
71
- (a) =>
72
- graft(
73
- restore(IO.defer(f(a))).matchCauseIO(
74
- (cause) => future.fail(undefined).zipRight(IO.failCauseNow(cause)),
75
- () => {
76
- if (ref.incrementAndGet() === size) {
77
- future.unsafeDone(IO.unit);
78
- }
79
- return IO.unit;
80
- },
81
- ),
82
- ).forkDaemon,
69
+ IO.concurrentFinalizersMask((restoreFinalizers) =>
70
+ IO.foreach(
71
+ as,
72
+ (a) =>
73
+ graft(
74
+ restore(restoreFinalizers(IO.defer(f(a)))).matchCauseIO(
75
+ (cause) => future.fail(undefined).zipRight(IO.failCauseNow(cause)),
76
+ () => {
77
+ if (ref.incrementAndGet() === size) {
78
+ future.unsafeDone(IO.unit);
79
+ }
80
+ return IO.unit;
81
+ },
82
+ ),
83
+ ).forkDaemon,
84
+ ),
83
85
  ),
84
86
  ).flatMap((fibers) =>
85
87
  restore(future.await).matchCauseIO(
@@ -1,4 +1,4 @@
1
- import { IOPrimitive,IOTag } 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
 
@@ -0,0 +1,8 @@
1
+ import type { FiberRefsPatch } from "@fncts/io/FiberRefs";
2
+
3
+ /**
4
+ * @tsplus static fncts.io.IOOps patchFiberRefs
5
+ */
6
+ export function patchFiberRefs(patch: FiberRefsPatch): UIO<void> {
7
+ return IO.updateFiberRefs((fiberId, fiberRefs) => patch(fiberId, fiberRefs));
8
+ }
@@ -0,0 +1,22 @@
1
+ import type { Runtime } from "@fncts/io/IO";
2
+
3
+ import { FiberRefsPatch } from "@fncts/io/FiberRefs";
4
+ import { defaultRuntime } from "@fncts/io/IO";
5
+
6
+ /**
7
+ * @tsplus pipeable fncts.io.IO provideSomeRuntime
8
+ */
9
+ export function provideSomeRuntime<R>(runtime: Runtime<R>) {
10
+ return <R1, E, A>(self: IO<R1, E, A>): IO<Exclude<R1, R>, E, A> => {
11
+ const patchFlags = defaultRuntime.runtimeFlags.diff(runtime.runtimeFlags);
12
+ const inversePatchFlags = runtime.runtimeFlags.diff(defaultRuntime.runtimeFlags);
13
+ const patchRefs = FiberRefsPatch.diff(defaultRuntime.fiberRefs, runtime.fiberRefs);
14
+ const inversePatchRefs = FiberRefsPatch.diff(runtime.fiberRefs, defaultRuntime.fiberRefs);
15
+
16
+ return IO.bracket(
17
+ IO.updateRuntimeFlags(patchFlags) > IO.patchFiberRefs(patchRefs),
18
+ () => self.provideSomeEnvironment(runtime.environment),
19
+ () => IO.updateRuntimeFlags(inversePatchFlags) > IO.patchFiberRefs(inversePatchRefs),
20
+ );
21
+ };
22
+ }
package/_src/IO/api.ts CHANGED
@@ -6,7 +6,7 @@ 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 { IOPrimitive,IOTag } from "@fncts/io/IO/definition";
9
+ import { IOPrimitive, IOTag } from "@fncts/io/IO/definition";
10
10
  import { IO } from "@fncts/io/IO/definition";
11
11
 
12
12
  /**
@@ -122,10 +122,10 @@ export function bitap<E, A, R1, E1, R2, E2>(
122
122
  return <R>(self: IO<R, E, A>): IO<R | R1 | R2, E | E1 | E2, A> => {
123
123
  return self.matchCauseIO(
124
124
  (cause) =>
125
- cause.failureOrCause.match(
126
- (e) => onFailure(e).flatMap(() => IO.failCauseNow(cause)),
127
- () => IO.failCauseNow(cause),
128
- ),
125
+ cause.failureOrCause.match({
126
+ Left: (e) => onFailure(e).flatMap(() => IO.failCauseNow(cause)),
127
+ Right: () => IO.failCauseNow(cause),
128
+ }),
129
129
  (a) => onSuccess(a).zipRight(IO.succeedNow(a)),
130
130
  );
131
131
  };
@@ -200,7 +200,8 @@ export function catchAllCause<R, E, A, R1, E1, A1>(f: (_: Cause<E>) => IO<R1, E1
200
200
  export function catchJust<E, R1, E1, A1>(f: (e: E) => Maybe<IO<R1, E1, A1>>, __tsplusTrace?: string) {
201
201
  return <R, A>(ma: IO<R, E, A>): IO<R | R1, E | E1, A | A1> => {
202
202
  return ma.matchCauseIO(
203
- (cause) => cause.failureOrCause.match((e) => f(e).getOrElse(IO.failCauseNow(cause)), IO.failCauseNow),
203
+ (cause) =>
204
+ cause.failureOrCause.match({ Left: (e) => f(e).getOrElse(IO.failCauseNow(cause)), Right: IO.failCauseNow }),
204
205
  IO.succeedNow,
205
206
  );
206
207
  };
@@ -804,7 +805,7 @@ export function forever<R, E, A>(ma: IO<R, E, A>, __tsplusTrace?: string): IO<R,
804
805
  * @tsplus static fncts.io.IOOps fromEither
805
806
  */
806
807
  export function fromEither<E, A>(either: Lazy<Either<E, A>>, __tsplusTrace?: string): IO<never, E, A> {
807
- return IO.succeed(either).flatMap((ea) => ea.match(IO.failNow, IO.succeedNow));
808
+ return IO.succeed(either).flatMap((ea) => ea.match({ Left: IO.failNow, Right: IO.succeedNow }));
808
809
  }
809
810
 
810
811
  /**
@@ -814,7 +815,7 @@ export function fromEither<E, A>(either: Lazy<Either<E, A>>, __tsplusTrace?: str
814
815
  * @tsplus getter fncts.Either toIO
815
816
  */
816
817
  export function fromEitherNow<E, A>(either: Either<E, A>, __tsplusTrace?: string): IO<never, E, A> {
817
- return either.match(IO.failNow, IO.succeedNow);
818
+ return either.match({ Left: IO.failNow, Right: IO.succeedNow });
818
819
  }
819
820
 
820
821
  /**
@@ -1249,7 +1250,10 @@ export function matchIO<R1, R2, E, E1, E2, A, A1, A2>(
1249
1250
  __tsplusTrace?: string,
1250
1251
  ) {
1251
1252
  return <R>(self: IO<R, E, A>): IO<R | R1 | R2, E1 | E2, A1 | A2> => {
1252
- return self.matchCauseIO((cause) => cause.failureOrCause.match(onFailure, IO.failCauseNow), onSuccess);
1253
+ return self.matchCauseIO(
1254
+ (cause) => cause.failureOrCause.match({ Left: onFailure, Right: IO.failCauseNow }),
1255
+ onSuccess,
1256
+ );
1253
1257
  };
1254
1258
  }
1255
1259
 
@@ -1281,7 +1285,7 @@ export function matchTraceIO<E, A, R1, E1, A1, R2, E2, A2>(
1281
1285
  ) {
1282
1286
  return <R>(ma: IO<R, E, A>): IO<R | R1 | R2, E1 | E2, A1 | A2> => {
1283
1287
  return ma.matchCauseIO(
1284
- (cause) => cause.failureTraceOrCause.match(([e, trace]) => onFailure(e, trace), IO.failCauseNow),
1288
+ (cause) => cause.failureTraceOrCause.match({ Left: ([e, trace]) => onFailure(e, trace), Right: IO.failCauseNow }),
1285
1289
  onSuccess,
1286
1290
  );
1287
1291
  };
@@ -1786,7 +1790,7 @@ export function tryCatch<E, A>(effect: Lazy<A>, onThrow: (error: unknown) => E,
1786
1790
  * @tsplus getter fncts.io.IO absolve
1787
1791
  */
1788
1792
  export function absolve<R, E, E1, A>(ma: IO<R, E, Either<E1, A>>, __tsplusTrace?: string): IO<R, E | E1, A> {
1789
- return ma.flatMap((ea) => ea.match(IO.failNow, IO.succeedNow));
1793
+ return ma.flatMap((ea) => ea.match({ Left: IO.failNow, Right: IO.succeedNow }));
1790
1794
  }
1791
1795
 
1792
1796
  /**
@@ -1824,10 +1828,10 @@ export function tapError<E, R1, E1>(f: (e: E) => IO<R1, E1, any>, __tsplusTrace?
1824
1828
  return <R, A>(self: IO<R, E, A>) =>
1825
1829
  self.matchCauseIO(
1826
1830
  (cause) =>
1827
- cause.failureOrCause.match(
1828
- (e) => f(e).flatMap(() => IO.failCauseNow(cause)),
1829
- (_) => IO.failCauseNow(cause),
1830
- ),
1831
+ cause.failureOrCause.match({
1832
+ Left: (e) => f(e).flatMap(() => IO.failCauseNow(cause)),
1833
+ Right: (_) => IO.failCauseNow(cause),
1834
+ }),
1831
1835
  IO.succeedNow,
1832
1836
  );
1833
1837
  }
@@ -2003,7 +2007,10 @@ export class GenIO<R, E, A> {
2003
2007
  readonly _E!: () => E;
2004
2008
  readonly _A!: () => A;
2005
2009
 
2006
- constructor(readonly effect: IO<R, E, A>, readonly _trace?: string) {}
2010
+ constructor(
2011
+ readonly effect: IO<R, E, A>,
2012
+ readonly _trace?: string,
2013
+ ) {}
2007
2014
 
2008
2015
  *[Symbol.iterator](): Generator<GenIO<R, E, A>, A, any> {
2009
2016
  return yield this;
@@ -50,6 +50,10 @@ declare module "@fncts/base/data/Exit/definition" {
50
50
  interface Failure<E> extends IO<never, E, never> {}
51
51
  }
52
52
 
53
+ declare module "@fncts/base/data/Tag/definition" {
54
+ interface Tag<T, Identifier = T> extends IO<never, never, T> {}
55
+ }
56
+
53
57
  /**
54
58
  * @tsplus type fncts.io.IOAspects
55
59
  */
@@ -259,7 +263,8 @@ export type Primitive =
259
263
  | Nothing
260
264
  | Just<any>
261
265
  | Failure<any>
262
- | Success<any>;
266
+ | Success<any>
267
+ | Tag<any>;
263
268
 
264
269
  /**
265
270
  * @tsplus static fncts.io.IOOps concrete
@@ -96,9 +96,12 @@ export class Runtime<R> {
96
96
  };
97
97
 
98
98
  unsafeRun = <E, A>(io: IO<R, E, A>, __tsplusTrace?: string): Exit<E, A> => {
99
- return this.unsafeRunOrFork(io).match(() => {
100
- throw new Error("Encountered async boundary");
101
- }, Function.identity);
99
+ return this.unsafeRunOrFork(io).match({
100
+ Left: () => {
101
+ throw new Error("Encountered async boundary");
102
+ },
103
+ Right: Function.identity,
104
+ });
102
105
  };
103
106
  }
104
107