@fncts/io 0.0.39 → 0.0.40

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1046) 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.d.ts +2 -2
  15. package/Clock/definition.d.ts +1 -1
  16. package/Clock.d.ts +2 -2
  17. package/Console/definition.d.ts +1 -1
  18. package/Console.d.ts +2 -2
  19. package/Fiber/api/mapFiber.d.ts +1 -1
  20. package/Fiber/api/mapIO.d.ts +2 -2
  21. package/Fiber/api/zipWith.d.ts +1 -1
  22. package/Fiber.d.ts +19 -19
  23. package/FiberRef/api.d.ts +1 -1
  24. package/FiberRef/operations.d.ts +2 -2
  25. package/FiberRef.d.ts +5 -5
  26. package/FiberRefs/Patch.d.ts +62 -0
  27. package/FiberRefs.d.ts +2 -1
  28. package/FiberScope.d.ts +1 -1
  29. package/FiberStatus.d.ts +1 -1
  30. package/Future/api.d.ts +5 -5
  31. package/Future.d.ts +2 -2
  32. package/Hub/api.d.ts +11 -11
  33. package/Hub.d.ts +1 -1
  34. package/IO/api/concurrency.d.ts +1 -1
  35. package/IO/api/concurrentFinalizers.d.ts +11 -2
  36. package/IO/api/delay.d.ts +1 -1
  37. package/IO/api/ensuringChildren.d.ts +1 -1
  38. package/IO/api/environment.d.ts +5 -5
  39. package/IO/api/fork.d.ts +1 -1
  40. package/IO/api/forkIn.d.ts +1 -1
  41. package/IO/api/fulfill.d.ts +1 -1
  42. package/IO/api/interrupt.d.ts +4 -4
  43. package/IO/api/onTermination.d.ts +1 -1
  44. package/IO/api/patchFiberRefs.d.ts +7 -0
  45. package/IO/api/provideLayer.d.ts +1 -1
  46. package/IO/api/provideScope.d.ts +1 -1
  47. package/IO/api/provideSomeLayer.d.ts +1 -1
  48. package/IO/api/provideSomeRuntime.d.ts +7 -0
  49. package/IO/api/race.d.ts +2 -2
  50. package/IO/api/raceFirst.d.ts +1 -1
  51. package/IO/api/repeat.d.ts +3 -3
  52. package/IO/api/retry.d.ts +3 -3
  53. package/IO/api/schedule.d.ts +2 -2
  54. package/IO/api/timeout.d.ts +2 -2
  55. package/IO/api/whenFiberRef.d.ts +1 -1
  56. package/IO/api/whenRef.d.ts +1 -1
  57. package/IO/api/withFinalizer.d.ts +1 -1
  58. package/IO/api/withFinalizerExit.d.ts +1 -1
  59. package/IO/api/zipConcurrent.d.ts +2 -2
  60. package/IO/api.d.ts +40 -40
  61. package/IO/definition.d.ts +6 -1
  62. package/IO/runtime.d.ts +6 -6
  63. package/IO.d.ts +62 -60
  64. package/IOEnv.d.ts +2 -2
  65. package/InterruptStatus.d.ts +1 -1
  66. package/Layer/MemoMap.d.ts +3 -3
  67. package/Layer/api.d.ts +15 -9
  68. package/Layer.d.ts +1 -1
  69. package/Logger/api.d.ts +2 -2
  70. package/Logger.d.ts +2 -2
  71. package/MVar.d.ts +1 -1
  72. package/Push/api.d.ts +18 -18
  73. package/Push.d.ts +2 -2
  74. package/Queue/api/dimapIO.d.ts +6 -6
  75. package/Queue/api/filterInputIO.d.ts +3 -3
  76. package/Queue/api/filterOutputIO.d.ts +3 -3
  77. package/Queue/api/operations.d.ts +3 -3
  78. package/Queue/api/takeBetween.d.ts +1 -1
  79. package/Queue/api/takeN.d.ts +8 -0
  80. package/Queue/api/zipWithIO.d.ts +3 -3
  81. package/Queue/api.d.ts +7 -6
  82. package/Queue.d.ts +4 -4
  83. package/Random/definition.d.ts +1 -1
  84. package/Random.d.ts +2 -2
  85. package/Ref/Synchronized/api.d.ts +14 -14
  86. package/Ref/Synchronized.d.ts +2 -2
  87. package/Ref/api/collect.d.ts +1 -1
  88. package/Ref/api/filter.d.ts +1 -1
  89. package/Ref/api/modify.d.ts +8 -8
  90. package/Ref/api/set.d.ts +1 -1
  91. package/Ref/api.d.ts +7 -7
  92. package/Ref.d.ts +7 -7
  93. package/RefSubject/api.d.ts +9 -9
  94. package/RefSubject/definition.d.ts +2 -0
  95. package/RefSubject.d.ts +1 -1
  96. package/Reloadable.d.ts +2 -2
  97. package/RuntimeFlags.d.ts +1 -1
  98. package/STM/api/core-api.d.ts +5 -5
  99. package/STM/api.d.ts +13 -13
  100. package/STM.d.ts +4 -4
  101. package/Schedule/api.d.ts +46 -46
  102. package/Schedule.d.ts +2 -2
  103. package/Scope/ReleaseMap.d.ts +2 -2
  104. package/Scope/api.d.ts +6 -1
  105. package/Scope/definition.d.ts +4 -2
  106. package/Scope.d.ts +1 -1
  107. package/ScopedRef.d.ts +1 -1
  108. package/Semaphore.d.ts +1 -1
  109. package/Sink/api.d.ts +34 -34
  110. package/Sink.d.ts +1 -1
  111. package/State.d.ts +1 -1
  112. package/Stream/api/zipAllWith.d.ts +1 -1
  113. package/Stream/api/zipWith.d.ts +1 -1
  114. package/Stream/api/zipWithChunks.d.ts +1 -1
  115. package/Stream/api.d.ts +80 -80
  116. package/Stream.d.ts +1 -1
  117. package/Subject.d.ts +1 -1
  118. package/Supervisor/api.d.ts +1 -1
  119. package/Supervisor.d.ts +2 -2
  120. package/TExit.d.ts +1 -1
  121. package/TFuture/api.d.ts +2 -2
  122. package/TFuture.d.ts +2 -2
  123. package/TReentrantLock.d.ts +1 -1
  124. package/TRef/api.d.ts +10 -10
  125. package/TRef.d.ts +2 -2
  126. package/TSemaphore/api.d.ts +2 -2
  127. package/TSemaphore.d.ts +2 -2
  128. package/_cjs/Cached/api.cjs +6 -8
  129. package/_cjs/Cached/api.cjs.map +1 -1
  130. package/_cjs/Cached/internal.cjs +4 -6
  131. package/_cjs/Cached/internal.cjs.map +1 -1
  132. package/_cjs/Cached.cjs +8 -8
  133. package/_cjs/Cached.cjs.map +1 -1
  134. package/_cjs/CancellerState.cjs +3 -6
  135. package/_cjs/CancellerState.cjs.map +1 -1
  136. package/_cjs/Channel/ChildExecutorDecision/api.cjs.map +1 -1
  137. package/_cjs/Channel/ChildExecutorDecision/definition.cjs +3 -6
  138. package/_cjs/Channel/ChildExecutorDecision/definition.cjs.map +1 -1
  139. package/_cjs/Channel/ChildExecutorDecision.cjs +8 -8
  140. package/_cjs/Channel/ChildExecutorDecision.cjs.map +1 -1
  141. package/_cjs/Channel/UpstreamPullRequest/api.cjs.map +1 -1
  142. package/_cjs/Channel/UpstreamPullRequest/definition.cjs +1 -2
  143. package/_cjs/Channel/UpstreamPullRequest/definition.cjs.map +1 -1
  144. package/_cjs/Channel/UpstreamPullRequest.cjs +8 -8
  145. package/_cjs/Channel/UpstreamPullRequest.cjs.map +1 -1
  146. package/_cjs/Channel/UpstreamPullStrategy/definition.cjs +1 -2
  147. package/_cjs/Channel/UpstreamPullStrategy/definition.cjs.map +1 -1
  148. package/_cjs/Channel/UpstreamPullStrategy.cjs.map +1 -1
  149. package/_cjs/Channel/api/interruptWhen.cjs +3 -4
  150. package/_cjs/Channel/api/interruptWhen.cjs.map +1 -1
  151. package/_cjs/Channel/api/mapOutConcurrentIO.cjs +2 -2
  152. package/_cjs/Channel/api/mergeAll.cjs +2 -2
  153. package/_cjs/Channel/api/mergeAllUnboundedWith.cjs +2 -2
  154. package/_cjs/Channel/api/mergeAllWith.cjs +2 -2
  155. package/_cjs/Channel/api/mergeAllWith.cjs.map +1 -1
  156. package/_cjs/Channel/api/mergeMap.cjs +2 -2
  157. package/_cjs/Channel/api/mergeWith.cjs +4 -3
  158. package/_cjs/Channel/api/mergeWith.cjs.map +1 -1
  159. package/_cjs/Channel/api/run.cjs +2 -2
  160. package/_cjs/Channel/api/runCollect.cjs +2 -2
  161. package/_cjs/Channel/api/runDrain.cjs +2 -2
  162. package/_cjs/Channel/api/runScoped.cjs +3 -3
  163. package/_cjs/Channel/api/runScoped.cjs.map +1 -1
  164. package/_cjs/Channel/api/toPull.cjs +2 -2
  165. package/_cjs/Channel/api/toPull.cjs.map +1 -1
  166. package/_cjs/Channel/api/zipConcurrent.cjs +3 -4
  167. package/_cjs/Channel/api/zipConcurrent.cjs.map +1 -1
  168. package/_cjs/Channel/api.cjs +39 -76
  169. package/_cjs/Channel/api.cjs.map +1 -1
  170. package/_cjs/Channel/core-api.cjs +6 -12
  171. package/_cjs/Channel/core-api.cjs.map +1 -1
  172. package/_cjs/Channel/definition.cjs +2 -4
  173. package/_cjs/Channel/definition.cjs.map +1 -1
  174. package/_cjs/Channel/internal/ChannelExecutor.cjs +50 -54
  175. package/_cjs/Channel/internal/ChannelExecutor.cjs.map +1 -1
  176. package/_cjs/Channel/internal/ChannelState.cjs +5 -12
  177. package/_cjs/Channel/internal/ChannelState.cjs.map +1 -1
  178. package/_cjs/Channel/internal/MergeDecision.cjs +2 -4
  179. package/_cjs/Channel/internal/MergeDecision.cjs.map +1 -1
  180. package/_cjs/Channel/internal/MergeState.cjs +1 -2
  181. package/_cjs/Channel/internal/MergeState.cjs.map +1 -1
  182. package/_cjs/Channel/internal/SingleProducerAsyncInput.cjs +2 -2
  183. package/_cjs/Channel/internal/SingleProducerAsyncInput.cjs.map +1 -1
  184. package/_cjs/Channel.cjs +8 -8
  185. package/_cjs/Channel.cjs.map +1 -1
  186. package/_cjs/Clock/api.cjs +3 -4
  187. package/_cjs/Clock/api.cjs.map +1 -1
  188. package/_cjs/Clock/definition.cjs +3 -4
  189. package/_cjs/Clock/definition.cjs.map +1 -1
  190. package/_cjs/Clock/live.cjs +3 -4
  191. package/_cjs/Clock/live.cjs.map +1 -1
  192. package/_cjs/Clock.cjs +8 -8
  193. package/_cjs/Clock.cjs.map +1 -1
  194. package/_cjs/Console/api.cjs +2 -2
  195. package/_cjs/Console/definition.cjs +3 -4
  196. package/_cjs/Console/definition.cjs.map +1 -1
  197. package/_cjs/Console/live.cjs +3 -4
  198. package/_cjs/Console/live.cjs.map +1 -1
  199. package/_cjs/Console.cjs +8 -8
  200. package/_cjs/Console.cjs.map +1 -1
  201. package/_cjs/CountdownLatch.cjs +9 -10
  202. package/_cjs/CountdownLatch.cjs.map +1 -1
  203. package/_cjs/Differ/api.cjs +2 -2
  204. package/_cjs/Differ/api.cjs.map +1 -1
  205. package/_cjs/Differ/definition.cjs +1 -2
  206. package/_cjs/Differ/definition.cjs.map +1 -1
  207. package/_cjs/Fiber/FiberMessage.cjs +2 -4
  208. package/_cjs/Fiber/FiberMessage.cjs.map +1 -1
  209. package/_cjs/Fiber/FiberRuntime.cjs +71 -70
  210. package/_cjs/Fiber/FiberRuntime.cjs.map +1 -1
  211. package/_cjs/Fiber/api/awaitAll.cjs +2 -2
  212. package/_cjs/Fiber/api/collectAll.cjs +2 -2
  213. package/_cjs/Fiber/api/collectAll.cjs.map +1 -1
  214. package/_cjs/Fiber/api/fromIO.cjs +2 -2
  215. package/_cjs/Fiber/api/interrupt.cjs +2 -2
  216. package/_cjs/Fiber/api/interruptAll.cjs +3 -4
  217. package/_cjs/Fiber/api/interruptAll.cjs.map +1 -1
  218. package/_cjs/Fiber/api/interruptAs.cjs +3 -4
  219. package/_cjs/Fiber/api/interruptAs.cjs.map +1 -1
  220. package/_cjs/Fiber/api/interruptFork.cjs +2 -2
  221. package/_cjs/Fiber/api/join.cjs +2 -2
  222. package/_cjs/Fiber/api/joinAll.cjs +2 -2
  223. package/_cjs/Fiber/api/mapFiber.cjs +2 -2
  224. package/_cjs/Fiber/api/mapIO.cjs +3 -4
  225. package/_cjs/Fiber/api/mapIO.cjs.map +1 -1
  226. package/_cjs/Fiber/api/zipWith.cjs +2 -2
  227. package/_cjs/Fiber/api/zipWith.cjs.map +1 -1
  228. package/_cjs/Fiber/constructors.cjs +5 -8
  229. package/_cjs/Fiber/constructors.cjs.map +1 -1
  230. package/_cjs/Fiber/definition.cjs +6 -10
  231. package/_cjs/Fiber/definition.cjs.map +1 -1
  232. package/_cjs/Fiber.cjs +83 -83
  233. package/_cjs/Fiber.cjs.map +1 -1
  234. package/_cjs/FiberDescriptor.cjs.map +1 -1
  235. package/_cjs/FiberRef/api/locallyScoped.cjs +2 -2
  236. package/_cjs/FiberRef/api/locallyScopedWith.cjs +2 -2
  237. package/_cjs/FiberRef/constructors.cjs +2 -2
  238. package/_cjs/FiberRef/constructors.cjs.map +1 -1
  239. package/_cjs/FiberRef/definition.cjs +4 -6
  240. package/_cjs/FiberRef/definition.cjs.map +1 -1
  241. package/_cjs/FiberRef/operations.cjs +6 -10
  242. package/_cjs/FiberRef/operations.cjs.map +1 -1
  243. package/_cjs/FiberRef/unsafe.cjs +18 -34
  244. package/_cjs/FiberRef/unsafe.cjs.map +1 -1
  245. package/_cjs/FiberRef.cjs +24 -24
  246. package/_cjs/FiberRef.cjs.map +1 -1
  247. package/_cjs/FiberRefs/Patch.cjs +172 -0
  248. package/_cjs/FiberRefs/Patch.cjs.map +1 -0
  249. package/_cjs/FiberRefs/api.cjs +2 -2
  250. package/_cjs/FiberRefs/api.cjs.map +1 -1
  251. package/_cjs/FiberRefs/definition.cjs +3 -4
  252. package/_cjs/FiberRefs/definition.cjs.map +1 -1
  253. package/_cjs/FiberRefs.cjs +15 -4
  254. package/_cjs/FiberRefs.cjs.map +1 -1
  255. package/_cjs/FiberScope/constructors.cjs +1 -2
  256. package/_cjs/FiberScope/constructors.cjs.map +1 -1
  257. package/_cjs/FiberScope/definition.cjs +2 -2
  258. package/_cjs/FiberScope/definition.cjs.map +1 -1
  259. package/_cjs/FiberScope.cjs +8 -8
  260. package/_cjs/FiberScope.cjs.map +1 -1
  261. package/_cjs/FiberStatus/constructors.cjs +1 -2
  262. package/_cjs/FiberStatus/constructors.cjs.map +1 -1
  263. package/_cjs/FiberStatus/definition.cjs +3 -4
  264. package/_cjs/FiberStatus/definition.cjs.map +1 -1
  265. package/_cjs/FiberStatus.cjs +8 -8
  266. package/_cjs/FiberStatus.cjs.map +1 -1
  267. package/_cjs/Future/api.cjs +5 -8
  268. package/_cjs/Future/api.cjs.map +1 -1
  269. package/_cjs/Future/constructors.cjs +4 -6
  270. package/_cjs/Future/constructors.cjs.map +1 -1
  271. package/_cjs/Future/definition.cjs +2 -4
  272. package/_cjs/Future/definition.cjs.map +1 -1
  273. package/_cjs/Future.cjs +8 -8
  274. package/_cjs/Future.cjs.map +1 -1
  275. package/_cjs/Hub/api.cjs +14 -18
  276. package/_cjs/Hub/api.cjs.map +1 -1
  277. package/_cjs/Hub/definition.cjs +3 -6
  278. package/_cjs/Hub/definition.cjs.map +1 -1
  279. package/_cjs/Hub/internal.cjs +2 -2
  280. package/_cjs/Hub/internal.cjs.map +1 -1
  281. package/_cjs/Hub.cjs +8 -8
  282. package/_cjs/Hub.cjs.map +1 -1
  283. package/_cjs/IO/api/acquireRelease.cjs +2 -2
  284. package/_cjs/IO/api/acquireReleaseExit.cjs +2 -2
  285. package/_cjs/IO/api/acquireReleaseInterruptible.cjs +2 -2
  286. package/_cjs/IO/api/acquireReleaseInterruptibleExit.cjs +2 -2
  287. package/_cjs/IO/api/addFinalizer.cjs +2 -2
  288. package/_cjs/IO/api/addFinalizerExit.cjs +2 -2
  289. package/_cjs/IO/api/all.cjs +2 -2
  290. package/_cjs/IO/api/all.cjs.map +1 -1
  291. package/_cjs/IO/api/asyncIO.cjs +2 -2
  292. package/_cjs/IO/api/asyncInterrupt.cjs +4 -6
  293. package/_cjs/IO/api/asyncInterrupt.cjs.map +1 -1
  294. package/_cjs/IO/api/blocking.cjs +2 -2
  295. package/_cjs/IO/api/blocking.cjs.map +1 -1
  296. package/_cjs/IO/api/bracket.cjs +2 -2
  297. package/_cjs/IO/api/bracketExit.cjs +2 -2
  298. package/_cjs/IO/api/clockWith.cjs +4 -6
  299. package/_cjs/IO/api/clockWith.cjs.map +1 -1
  300. package/_cjs/IO/api/concurrency.cjs +6 -10
  301. package/_cjs/IO/api/concurrency.cjs.map +1 -1
  302. package/_cjs/IO/api/concurrentFinalizers.cjs +57 -9
  303. package/_cjs/IO/api/concurrentFinalizers.cjs.map +1 -1
  304. package/_cjs/IO/api/consoleWith.cjs +4 -6
  305. package/_cjs/IO/api/consoleWith.cjs.map +1 -1
  306. package/_cjs/IO/api/daemonChildren.cjs +2 -2
  307. package/_cjs/IO/api/delay.cjs +2 -2
  308. package/_cjs/IO/api/descriptor.cjs +4 -6
  309. package/_cjs/IO/api/descriptor.cjs.map +1 -1
  310. package/_cjs/IO/api/disconnect.cjs +2 -2
  311. package/_cjs/IO/api/ensuringChildren.cjs +2 -2
  312. package/_cjs/IO/api/environment.cjs +7 -12
  313. package/_cjs/IO/api/environment.cjs.map +1 -1
  314. package/_cjs/IO/api/foreachConcurrent.cjs +22 -21
  315. package/_cjs/IO/api/foreachConcurrent.cjs.map +1 -1
  316. package/_cjs/IO/api/foreachExec.cjs +2 -2
  317. package/_cjs/IO/api/fork.cjs +3 -4
  318. package/_cjs/IO/api/fork.cjs.map +1 -1
  319. package/_cjs/IO/api/forkAll.cjs +2 -2
  320. package/_cjs/IO/api/forkDaemon.cjs +2 -2
  321. package/_cjs/IO/api/forkIn.cjs +2 -2
  322. package/_cjs/IO/api/forkScoped.cjs +2 -2
  323. package/_cjs/IO/api/fulfill.cjs +2 -2
  324. package/_cjs/IO/api/interrupt.cjs +8 -14
  325. package/_cjs/IO/api/interrupt.cjs.map +1 -1
  326. package/_cjs/IO/api/memoize.cjs +2 -2
  327. package/_cjs/IO/api/onTermination.cjs +2 -2
  328. package/_cjs/IO/api/once.cjs +2 -2
  329. package/_cjs/IO/api/patchFiberRefs.cjs +18 -0
  330. package/_cjs/IO/api/patchFiberRefs.cjs.map +1 -0
  331. package/_cjs/IO/api/provideLayer.cjs +2 -2
  332. package/_cjs/IO/api/provideScope.cjs +2 -2
  333. package/_cjs/IO/api/provideSomeLayer.cjs +2 -2
  334. package/_cjs/IO/api/provideSomeRuntime.cjs +29 -0
  335. package/_cjs/IO/api/provideSomeRuntime.cjs.map +1 -0
  336. package/_cjs/IO/api/race.cjs +3 -4
  337. package/_cjs/IO/api/race.cjs.map +1 -1
  338. package/_cjs/IO/api/raceFirst.cjs +2 -2
  339. package/_cjs/IO/api/raceWith.cjs +3 -4
  340. package/_cjs/IO/api/raceWith.cjs.map +1 -1
  341. package/_cjs/IO/api/randomWith.cjs +4 -6
  342. package/_cjs/IO/api/randomWith.cjs.map +1 -1
  343. package/_cjs/IO/api/repeat.cjs +4 -6
  344. package/_cjs/IO/api/repeat.cjs.map +1 -1
  345. package/_cjs/IO/api/retry.cjs +4 -6
  346. package/_cjs/IO/api/retry.cjs.map +1 -1
  347. package/_cjs/IO/api/schedule.cjs +3 -4
  348. package/_cjs/IO/api/schedule.cjs.map +1 -1
  349. package/_cjs/IO/api/scope.cjs +3 -4
  350. package/_cjs/IO/api/scope.cjs.map +1 -1
  351. package/_cjs/IO/api/scopeWith.cjs +2 -2
  352. package/_cjs/IO/api/scoped.cjs +3 -4
  353. package/_cjs/IO/api/scoped.cjs.map +1 -1
  354. package/_cjs/IO/api/sequenceT.cjs +2 -2
  355. package/_cjs/IO/api/sequenceT.cjs.map +1 -1
  356. package/_cjs/IO/api/sleep.cjs +2 -2
  357. package/_cjs/IO/api/stateful.cjs +2 -2
  358. package/_cjs/IO/api/supervised.cjs +2 -2
  359. package/_cjs/IO/api/timeout.cjs +3 -4
  360. package/_cjs/IO/api/timeout.cjs.map +1 -1
  361. package/_cjs/IO/api/transplant.cjs +2 -2
  362. package/_cjs/IO/api/whenFiberRef.cjs +2 -2
  363. package/_cjs/IO/api/whenRef.cjs +2 -2
  364. package/_cjs/IO/api/withChildren.cjs +2 -2
  365. package/_cjs/IO/api/withEarlyRelease.cjs +3 -3
  366. package/_cjs/IO/api/withEarlyRelease.cjs.map +1 -1
  367. package/_cjs/IO/api/withFinalizer.cjs +2 -2
  368. package/_cjs/IO/api/withFinalizerExit.cjs +2 -2
  369. package/_cjs/IO/api/zipConcurrent.cjs +3 -4
  370. package/_cjs/IO/api/zipConcurrent.cjs.map +1 -1
  371. package/_cjs/IO/api.cjs +76 -143
  372. package/_cjs/IO/api.cjs.map +1 -1
  373. package/_cjs/IO/definition.cjs +5 -8
  374. package/_cjs/IO/definition.cjs.map +1 -1
  375. package/_cjs/IO/runtime.cjs +8 -14
  376. package/_cjs/IO/runtime.cjs.map +1 -1
  377. package/_cjs/IO.cjs +266 -244
  378. package/_cjs/IO.cjs.map +1 -1
  379. package/_cjs/IOEnv/definition.cjs +4 -6
  380. package/_cjs/IOEnv/definition.cjs.map +1 -1
  381. package/_cjs/IOEnv/live.cjs +3 -4
  382. package/_cjs/IOEnv/live.cjs.map +1 -1
  383. package/_cjs/IOEnv/services.cjs +3 -4
  384. package/_cjs/IOEnv/services.cjs.map +1 -1
  385. package/_cjs/IOEnv.cjs +8 -8
  386. package/_cjs/IOEnv.cjs.map +1 -1
  387. package/_cjs/InterruptStatus/constructors.cjs +2 -4
  388. package/_cjs/InterruptStatus/constructors.cjs.map +1 -1
  389. package/_cjs/InterruptStatus.cjs +8 -8
  390. package/_cjs/InterruptStatus.cjs.map +1 -1
  391. package/_cjs/Layer/MemoMap.cjs +11 -13
  392. package/_cjs/Layer/MemoMap.cjs.map +1 -1
  393. package/_cjs/Layer/api.cjs +28 -34
  394. package/_cjs/Layer/api.cjs.map +1 -1
  395. package/_cjs/Layer/definition.cjs +2 -4
  396. package/_cjs/Layer/definition.cjs.map +1 -1
  397. package/_cjs/Layer.cjs +8 -8
  398. package/_cjs/Layer.cjs.map +1 -1
  399. package/_cjs/LogLevel.cjs +8 -16
  400. package/_cjs/LogLevel.cjs.map +1 -1
  401. package/_cjs/LogSpan.cjs.map +1 -1
  402. package/_cjs/Logger/api.cjs +2 -2
  403. package/_cjs/Logger/api.cjs.map +1 -1
  404. package/_cjs/Logger/constructors.cjs +4 -6
  405. package/_cjs/Logger/constructors.cjs.map +1 -1
  406. package/_cjs/Logger/definition.cjs +1 -2
  407. package/_cjs/Logger/definition.cjs.map +1 -1
  408. package/_cjs/Logger.cjs +8 -8
  409. package/_cjs/Logger.cjs.map +1 -1
  410. package/_cjs/MVar/api.cjs +2 -2
  411. package/_cjs/MVar/api.cjs.map +1 -1
  412. package/_cjs/MVar/definition.cjs +2 -4
  413. package/_cjs/MVar/definition.cjs.map +1 -1
  414. package/_cjs/MVar.cjs +8 -8
  415. package/_cjs/MVar.cjs.map +1 -1
  416. package/_cjs/Push/api.cjs +21 -40
  417. package/_cjs/Push/api.cjs.map +1 -1
  418. package/_cjs/Push/definition.cjs +2 -4
  419. package/_cjs/Push/definition.cjs.map +1 -1
  420. package/_cjs/Push/internal.cjs +2 -2
  421. package/_cjs/Push.cjs +8 -8
  422. package/_cjs/Push.cjs.map +1 -1
  423. package/_cjs/Queue/api/dimapIO.cjs +10 -13
  424. package/_cjs/Queue/api/dimapIO.cjs.map +1 -1
  425. package/_cjs/Queue/api/filterInputIO.cjs +12 -13
  426. package/_cjs/Queue/api/filterInputIO.cjs.map +1 -1
  427. package/_cjs/Queue/api/filterOutputIO.cjs +19 -20
  428. package/_cjs/Queue/api/filterOutputIO.cjs.map +1 -1
  429. package/_cjs/Queue/api/operations.cjs +3 -3
  430. package/_cjs/Queue/api/operations.cjs.map +1 -1
  431. package/_cjs/Queue/api/poll.cjs +2 -2
  432. package/_cjs/Queue/api/poll.cjs.map +1 -1
  433. package/_cjs/Queue/api/takeBetween.cjs +16 -21
  434. package/_cjs/Queue/api/takeBetween.cjs.map +1 -1
  435. package/_cjs/Queue/api/takeN.cjs +18 -0
  436. package/_cjs/Queue/api/takeN.cjs.map +1 -0
  437. package/_cjs/Queue/api/zipWithIO.cjs +4 -6
  438. package/_cjs/Queue/api/zipWithIO.cjs.map +1 -1
  439. package/_cjs/Queue/api.cjs +35 -24
  440. package/_cjs/Queue/api.cjs.map +1 -1
  441. package/_cjs/Queue/constructors.cjs +2 -2
  442. package/_cjs/Queue/constructors.cjs.map +1 -1
  443. package/_cjs/Queue/definition.cjs +5 -10
  444. package/_cjs/Queue/definition.cjs.map +1 -1
  445. package/_cjs/Queue/internal.cjs +4 -4
  446. package/_cjs/Queue/internal.cjs.map +1 -1
  447. package/_cjs/Queue/strategy.cjs +2 -2
  448. package/_cjs/Queue/strategy.cjs.map +1 -1
  449. package/_cjs/Queue.cjs +16 -16
  450. package/_cjs/Queue.cjs.map +1 -1
  451. package/_cjs/Random/api.cjs +5 -8
  452. package/_cjs/Random/api.cjs.map +1 -1
  453. package/_cjs/Random/definition.cjs +3 -4
  454. package/_cjs/Random/definition.cjs.map +1 -1
  455. package/_cjs/Random/live.cjs +3 -4
  456. package/_cjs/Random/live.cjs.map +1 -1
  457. package/_cjs/Random.cjs +8 -8
  458. package/_cjs/Random.cjs.map +1 -1
  459. package/_cjs/Ref/Atomic.cjs +3 -4
  460. package/_cjs/Ref/Atomic.cjs.map +1 -1
  461. package/_cjs/Ref/Derived.cjs +3 -4
  462. package/_cjs/Ref/Derived.cjs.map +1 -1
  463. package/_cjs/Ref/DerivedAll.cjs +3 -4
  464. package/_cjs/Ref/DerivedAll.cjs.map +1 -1
  465. package/_cjs/Ref/Synchronized/api.cjs +5 -8
  466. package/_cjs/Ref/Synchronized/api.cjs.map +1 -1
  467. package/_cjs/Ref/Synchronized/constructors.cjs +2 -2
  468. package/_cjs/Ref/Synchronized/constructors.cjs.map +1 -1
  469. package/_cjs/Ref/Synchronized/definition.cjs +4 -6
  470. package/_cjs/Ref/Synchronized/definition.cjs.map +1 -1
  471. package/_cjs/Ref/Synchronized.cjs +8 -8
  472. package/_cjs/Ref/Synchronized.cjs.map +1 -1
  473. package/_cjs/Ref/api/collect.cjs +2 -2
  474. package/_cjs/Ref/api/collect.cjs.map +1 -1
  475. package/_cjs/Ref/api/dimap.cjs +5 -8
  476. package/_cjs/Ref/api/dimap.cjs.map +1 -1
  477. package/_cjs/Ref/api/filter.cjs +2 -2
  478. package/_cjs/Ref/api/filter.cjs.map +1 -1
  479. package/_cjs/Ref/api/modify.cjs +3 -4
  480. package/_cjs/Ref/api/modify.cjs.map +1 -1
  481. package/_cjs/Ref/api.cjs +36 -35
  482. package/_cjs/Ref/api.cjs.map +1 -1
  483. package/_cjs/Ref/constructors.cjs +3 -4
  484. package/_cjs/Ref/constructors.cjs.map +1 -1
  485. package/_cjs/Ref/definition.cjs +3 -6
  486. package/_cjs/Ref/definition.cjs.map +1 -1
  487. package/_cjs/Ref.cjs +35 -35
  488. package/_cjs/Ref.cjs.map +1 -1
  489. package/_cjs/RefSubject/Atomic.cjs +5 -5
  490. package/_cjs/RefSubject/Atomic.cjs.map +1 -1
  491. package/_cjs/RefSubject/Synchronized/api.cjs +2 -2
  492. package/_cjs/RefSubject/Synchronized/api.cjs.map +1 -1
  493. package/_cjs/RefSubject/Synchronized/definition.cjs +11 -13
  494. package/_cjs/RefSubject/Synchronized/definition.cjs.map +1 -1
  495. package/_cjs/RefSubject/api.cjs +8 -11
  496. package/_cjs/RefSubject/api.cjs.map +1 -1
  497. package/_cjs/RefSubject/definition.cjs +2 -2
  498. package/_cjs/RefSubject/definition.cjs.map +1 -1
  499. package/_cjs/RefSubject.cjs +11 -11
  500. package/_cjs/RefSubject.cjs.map +1 -1
  501. package/_cjs/Reloadable/api.cjs +2 -2
  502. package/_cjs/Reloadable/constructors.cjs +4 -6
  503. package/_cjs/Reloadable/constructors.cjs.map +1 -1
  504. package/_cjs/Reloadable/definition.cjs +4 -5
  505. package/_cjs/Reloadable/definition.cjs.map +1 -1
  506. package/_cjs/Reloadable.cjs +8 -8
  507. package/_cjs/Reloadable.cjs.map +1 -1
  508. package/_cjs/RuntimeFlags/Patch.cjs +5 -8
  509. package/_cjs/RuntimeFlags/Patch.cjs.map +1 -1
  510. package/_cjs/RuntimeFlags/RuntimeFlags.cjs +9 -16
  511. package/_cjs/RuntimeFlags/RuntimeFlags.cjs.map +1 -1
  512. package/_cjs/RuntimeFlags.cjs +8 -8
  513. package/_cjs/RuntimeFlags.cjs.map +1 -1
  514. package/_cjs/STM/api/atomically.cjs +2 -2
  515. package/_cjs/STM/api/atomically.cjs.map +1 -1
  516. package/_cjs/STM/api/core-api.cjs +6 -10
  517. package/_cjs/STM/api/core-api.cjs.map +1 -1
  518. package/_cjs/STM/api/core-constructors.cjs +3 -6
  519. package/_cjs/STM/api/core-constructors.cjs.map +1 -1
  520. package/_cjs/STM/api.cjs +24 -46
  521. package/_cjs/STM/api.cjs.map +1 -1
  522. package/_cjs/STM/definition.cjs +8 -16
  523. package/_cjs/STM/definition.cjs.map +1 -1
  524. package/_cjs/STM/driver.cjs +5 -4
  525. package/_cjs/STM/driver.cjs.map +1 -1
  526. package/_cjs/STM/internal/CommitState.cjs +6 -10
  527. package/_cjs/STM/internal/CommitState.cjs.map +1 -1
  528. package/_cjs/STM/internal/Entry.cjs +2 -4
  529. package/_cjs/STM/internal/Entry.cjs.map +1 -1
  530. package/_cjs/STM/internal/Journal.cjs +12 -22
  531. package/_cjs/STM/internal/Journal.cjs.map +1 -1
  532. package/_cjs/STM/internal/TryCommit.cjs +1 -2
  533. package/_cjs/STM/internal/TryCommit.cjs.map +1 -1
  534. package/_cjs/STM/internal/Versioned.cjs +1 -2
  535. package/_cjs/STM/internal/Versioned.cjs.map +1 -1
  536. package/_cjs/STM.cjs +16 -16
  537. package/_cjs/STM.cjs.map +1 -1
  538. package/_cjs/Schedule/Decision.cjs +4 -6
  539. package/_cjs/Schedule/Decision.cjs.map +1 -1
  540. package/_cjs/Schedule/api/driver.cjs +4 -3
  541. package/_cjs/Schedule/api/driver.cjs.map +1 -1
  542. package/_cjs/Schedule/api.cjs +40 -76
  543. package/_cjs/Schedule/api.cjs.map +1 -1
  544. package/_cjs/Schedule/definition.cjs +1 -2
  545. package/_cjs/Schedule/definition.cjs.map +1 -1
  546. package/_cjs/Schedule.cjs +16 -16
  547. package/_cjs/Schedule.cjs.map +1 -1
  548. package/_cjs/Scope/Finalizer/definition.cjs +4 -6
  549. package/_cjs/Scope/Finalizer/definition.cjs.map +1 -1
  550. package/_cjs/Scope/Finalizer.cjs.map +1 -1
  551. package/_cjs/Scope/ReleaseMap/api/releaseAll.cjs +2 -2
  552. package/_cjs/Scope/ReleaseMap/api/releaseAll.cjs.map +1 -1
  553. package/_cjs/Scope/ReleaseMap/api.cjs +4 -6
  554. package/_cjs/Scope/ReleaseMap/api.cjs.map +1 -1
  555. package/_cjs/Scope/ReleaseMap/constructors.cjs +4 -6
  556. package/_cjs/Scope/ReleaseMap/constructors.cjs.map +1 -1
  557. package/_cjs/Scope/ReleaseMap/definition.cjs +3 -4
  558. package/_cjs/Scope/ReleaseMap/definition.cjs.map +1 -1
  559. package/_cjs/Scope/ReleaseMap.cjs +8 -8
  560. package/_cjs/Scope/ReleaseMap.cjs.map +1 -1
  561. package/_cjs/Scope/api.cjs +41 -34
  562. package/_cjs/Scope/api.cjs.map +1 -1
  563. package/_cjs/Scope/definition.cjs +7 -7
  564. package/_cjs/Scope/definition.cjs.map +1 -1
  565. package/_cjs/Scope.cjs +8 -8
  566. package/_cjs/Scope.cjs.map +1 -1
  567. package/_cjs/ScopedRef/api.cjs +2 -2
  568. package/_cjs/ScopedRef/definition.cjs +1 -2
  569. package/_cjs/ScopedRef/definition.cjs.map +1 -1
  570. package/_cjs/ScopedRef.cjs +8 -8
  571. package/_cjs/ScopedRef.cjs.map +1 -1
  572. package/_cjs/Semaphore.cjs +3 -4
  573. package/_cjs/Semaphore.cjs.map +1 -1
  574. package/_cjs/Sink/api.cjs +44 -80
  575. package/_cjs/Sink/api.cjs.map +1 -1
  576. package/_cjs/Sink.cjs +8 -8
  577. package/_cjs/Sink.cjs.map +1 -1
  578. package/_cjs/State/api.cjs +2 -2
  579. package/_cjs/State/api.cjs.map +1 -1
  580. package/_cjs/State/internal.cjs +2 -4
  581. package/_cjs/State/internal.cjs.map +1 -1
  582. package/_cjs/State.cjs +8 -8
  583. package/_cjs/State.cjs.map +1 -1
  584. package/_cjs/Stream/api/zipAllWith.cjs +2 -2
  585. package/_cjs/Stream/api/zipAllWith.cjs.map +1 -1
  586. package/_cjs/Stream/api/zipWith.cjs +2 -2
  587. package/_cjs/Stream/api/zipWith.cjs.map +1 -1
  588. package/_cjs/Stream/api/zipWithChunks.cjs +2 -2
  589. package/_cjs/Stream/api/zipWithChunks.cjs.map +1 -1
  590. package/_cjs/Stream/api.cjs +82 -162
  591. package/_cjs/Stream/api.cjs.map +1 -1
  592. package/_cjs/Stream/definition.cjs +3 -6
  593. package/_cjs/Stream/definition.cjs.map +1 -1
  594. package/_cjs/Stream/internal/DebounceState.cjs +5 -10
  595. package/_cjs/Stream/internal/DebounceState.cjs.map +1 -1
  596. package/_cjs/Stream/internal/Handoff.cjs +19 -26
  597. package/_cjs/Stream/internal/Handoff.cjs.map +1 -1
  598. package/_cjs/Stream/internal/Pull.cjs +4 -6
  599. package/_cjs/Stream/internal/Pull.cjs.map +1 -1
  600. package/_cjs/Stream/internal/SinkEndReason.cjs +1 -2
  601. package/_cjs/Stream/internal/SinkEndReason.cjs.map +1 -1
  602. package/_cjs/Stream/internal/Take.cjs +6 -10
  603. package/_cjs/Stream/internal/Take.cjs.map +1 -1
  604. package/_cjs/Stream/internal/util.cjs +2 -2
  605. package/_cjs/Stream/internal/util.cjs.map +1 -1
  606. package/_cjs/Stream.cjs +8 -8
  607. package/_cjs/Stream.cjs.map +1 -1
  608. package/_cjs/Subject/Atomic.cjs +2 -2
  609. package/_cjs/Subject/Atomic.cjs.map +1 -1
  610. package/_cjs/Subject/api.cjs +3 -4
  611. package/_cjs/Subject/api.cjs.map +1 -1
  612. package/_cjs/Subject/definition.cjs +2 -4
  613. package/_cjs/Subject/definition.cjs.map +1 -1
  614. package/_cjs/Subject.cjs +11 -11
  615. package/_cjs/Subject.cjs.map +1 -1
  616. package/_cjs/SubscriptionRef.cjs +9 -11
  617. package/_cjs/SubscriptionRef.cjs.map +1 -1
  618. package/_cjs/Supervisor/api.cjs +5 -8
  619. package/_cjs/Supervisor/api.cjs.map +1 -1
  620. package/_cjs/Supervisor/constructors.cjs +4 -6
  621. package/_cjs/Supervisor/constructors.cjs.map +1 -1
  622. package/_cjs/Supervisor/definition.cjs +3 -5
  623. package/_cjs/Supervisor/definition.cjs.map +1 -1
  624. package/_cjs/Supervisor.cjs +8 -8
  625. package/_cjs/Supervisor.cjs.map +1 -1
  626. package/_cjs/SupervisorPatch.cjs +5 -8
  627. package/_cjs/SupervisorPatch.cjs.map +1 -1
  628. package/_cjs/TExit/constructors.cjs +2 -4
  629. package/_cjs/TExit/constructors.cjs.map +1 -1
  630. package/_cjs/TExit/definition.cjs +11 -29
  631. package/_cjs/TExit/definition.cjs.map +1 -1
  632. package/_cjs/TExit.cjs +8 -8
  633. package/_cjs/TExit.cjs.map +1 -1
  634. package/_cjs/TFuture/api.cjs +3 -4
  635. package/_cjs/TFuture/api.cjs.map +1 -1
  636. package/_cjs/TFuture/constructors.cjs +3 -4
  637. package/_cjs/TFuture/constructors.cjs.map +1 -1
  638. package/_cjs/TFuture/definition.cjs +3 -4
  639. package/_cjs/TFuture/definition.cjs.map +1 -1
  640. package/_cjs/TFuture.cjs +8 -8
  641. package/_cjs/TFuture.cjs.map +1 -1
  642. package/_cjs/TReentrantLock/api.cjs +9 -16
  643. package/_cjs/TReentrantLock/api.cjs.map +1 -1
  644. package/_cjs/TReentrantLock/definition.cjs +2 -3
  645. package/_cjs/TReentrantLock/definition.cjs.map +1 -1
  646. package/_cjs/TReentrantLock.cjs +8 -8
  647. package/_cjs/TReentrantLock.cjs.map +1 -1
  648. package/_cjs/TRef/api.cjs +5 -8
  649. package/_cjs/TRef/api.cjs.map +1 -1
  650. package/_cjs/TRef/constructors.cjs +4 -6
  651. package/_cjs/TRef/constructors.cjs.map +1 -1
  652. package/_cjs/TRef/definition.cjs +38 -41
  653. package/_cjs/TRef/definition.cjs.map +1 -1
  654. package/_cjs/TRef.cjs +8 -8
  655. package/_cjs/TRef.cjs.map +1 -1
  656. package/_cjs/TSemaphore/api.cjs +5 -8
  657. package/_cjs/TSemaphore/api.cjs.map +1 -1
  658. package/_cjs/TSemaphore/constructors.cjs +3 -4
  659. package/_cjs/TSemaphore/constructors.cjs.map +1 -1
  660. package/_cjs/TSemaphore/definition.cjs +3 -4
  661. package/_cjs/TSemaphore/definition.cjs.map +1 -1
  662. package/_cjs/TSemaphore.cjs +8 -8
  663. package/_cjs/TSemaphore.cjs.map +1 -1
  664. package/_cjs/TxnId.cjs +1 -2
  665. package/_cjs/TxnId.cjs.map +1 -1
  666. package/_cjs/collection/immutable/Conc/dropUntilIO.cjs +2 -2
  667. package/_cjs/collection/immutable/Conc/dropUntilIO.cjs.map +1 -1
  668. package/_cjs/collection/immutable/Conc/dropWhileIO.cjs +2 -2
  669. package/_cjs/collection/immutable/Conc/dropWhileIO.cjs.map +1 -1
  670. package/_cjs/collection/immutable/Conc/filterIO.cjs +2 -2
  671. package/_cjs/collection/immutable/Conc/findIO.cjs +2 -2
  672. package/_cjs/collection/immutable/Conc/findIO.cjs.map +1 -1
  673. package/_cjs/collection/immutable/Conc/mapIO.cjs +2 -2
  674. package/_cjs/collection/immutable/Conc/takeWhileIO.cjs +2 -2
  675. package/_cjs/collection/immutable/Conc/takeWhileIO.cjs.map +1 -1
  676. package/_cjs/collection/immutable/Conc.cjs +24 -24
  677. package/_cjs/collection/immutable/Conc.cjs.map +1 -1
  678. package/_cjs/data/Exit/foreachIO.cjs +2 -2
  679. package/_cjs/internal/BackgroundScheduler.cjs +1 -2
  680. package/_cjs/internal/BackgroundScheduler.cjs.map +1 -1
  681. package/_cjs/internal/HashedPair.cjs +2 -2
  682. package/_cjs/internal/HashedPair.cjs.map +1 -1
  683. package/_cjs/internal/Hub.cjs +2 -2
  684. package/_cjs/internal/Hub.cjs.map +1 -1
  685. package/_cjs/internal/IsFatal.cjs +2 -4
  686. package/_cjs/internal/IsFatal.cjs.map +1 -1
  687. package/_cjs/internal/MutableQueue.cjs +3 -4
  688. package/_cjs/internal/MutableQueue.cjs.map +1 -1
  689. package/_cjs/internal/Scheduler.cjs +3 -4
  690. package/_cjs/internal/Scheduler.cjs.map +1 -1
  691. package/_cjs/internal/StackTraceBuilder.cjs +2 -2
  692. package/_cjs/internal/StackTraceBuilder.cjs.map +1 -1
  693. package/_mjs/Cached/api.mjs +2 -2
  694. package/_mjs/Cached/api.mjs.map +1 -1
  695. package/_mjs/Cached.mjs +3 -2
  696. package/_mjs/Cached.mjs.map +1 -1
  697. package/_mjs/CancellerState.mjs +0 -3
  698. package/_mjs/CancellerState.mjs.map +1 -1
  699. package/_mjs/Channel/ChildExecutorDecision/api.mjs.map +1 -1
  700. package/_mjs/Channel/ChildExecutorDecision.mjs +2 -1
  701. package/_mjs/Channel/ChildExecutorDecision.mjs.map +1 -1
  702. package/_mjs/Channel/UpstreamPullRequest/api.mjs.map +1 -1
  703. package/_mjs/Channel/UpstreamPullRequest.mjs +2 -1
  704. package/_mjs/Channel/UpstreamPullRequest.mjs.map +1 -1
  705. package/_mjs/Channel/UpstreamPullStrategy.mjs +1 -0
  706. package/_mjs/Channel/UpstreamPullStrategy.mjs.map +1 -1
  707. package/_mjs/Channel/api/mergeAllWith.mjs.map +1 -1
  708. package/_mjs/Channel/api/mergeWith.mjs.map +1 -1
  709. package/_mjs/Channel/api/runScoped.mjs +1 -1
  710. package/_mjs/Channel/api/runScoped.mjs.map +1 -1
  711. package/_mjs/Channel/api/toPull.mjs.map +1 -1
  712. package/_mjs/Channel/api.mjs.map +1 -1
  713. package/_mjs/Channel/internal/ChannelExecutor.mjs +48 -52
  714. package/_mjs/Channel/internal/ChannelExecutor.mjs.map +1 -1
  715. package/_mjs/Channel/internal/ChannelState.mjs +0 -4
  716. package/_mjs/Channel/internal/ChannelState.mjs.map +1 -1
  717. package/_mjs/Channel/internal/MergeDecision.mjs +0 -1
  718. package/_mjs/Channel/internal/MergeDecision.mjs.map +1 -1
  719. package/_mjs/Channel/internal/MergeState.mjs +0 -3
  720. package/_mjs/Channel/internal/MergeState.mjs.map +1 -1
  721. package/_mjs/Channel/internal/SingleProducerAsyncInput.mjs +0 -3
  722. package/_mjs/Channel/internal/SingleProducerAsyncInput.mjs.map +1 -1
  723. package/_mjs/Channel.mjs +4 -3
  724. package/_mjs/Channel.mjs.map +1 -1
  725. package/_mjs/Clock.mjs +3 -2
  726. package/_mjs/Clock.mjs.map +1 -1
  727. package/_mjs/Console.mjs +3 -2
  728. package/_mjs/Console.mjs.map +1 -1
  729. package/_mjs/CountdownLatch.mjs +6 -6
  730. package/_mjs/CountdownLatch.mjs.map +1 -1
  731. package/_mjs/Differ/api.mjs.map +1 -1
  732. package/_mjs/Fiber/FiberRuntime.mjs +66 -67
  733. package/_mjs/Fiber/FiberRuntime.mjs.map +1 -1
  734. package/_mjs/Fiber.mjs +21 -19
  735. package/_mjs/Fiber.mjs.map +1 -1
  736. package/_mjs/FiberDescriptor.mjs.map +1 -1
  737. package/_mjs/FiberRef.mjs +7 -5
  738. package/_mjs/FiberRef.mjs.map +1 -1
  739. package/_mjs/FiberRefs/Patch.mjs +154 -0
  740. package/_mjs/FiberRefs/Patch.mjs.map +1 -0
  741. package/_mjs/FiberRefs/api.mjs.map +1 -1
  742. package/_mjs/FiberRefs.mjs +3 -1
  743. package/_mjs/FiberRefs.mjs.map +1 -1
  744. package/_mjs/FiberScope/definition.mjs.map +1 -1
  745. package/_mjs/FiberScope.mjs +2 -1
  746. package/_mjs/FiberScope.mjs.map +1 -1
  747. package/_mjs/FiberStatus/definition.mjs.map +1 -1
  748. package/_mjs/FiberStatus.mjs +2 -1
  749. package/_mjs/FiberStatus.mjs.map +1 -1
  750. package/_mjs/Future/api.mjs.map +1 -1
  751. package/_mjs/Future/definition.mjs +0 -1
  752. package/_mjs/Future/definition.mjs.map +1 -1
  753. package/_mjs/Future.mjs +3 -2
  754. package/_mjs/Future.mjs.map +1 -1
  755. package/_mjs/Hub/api.mjs +8 -8
  756. package/_mjs/Hub/api.mjs.map +1 -1
  757. package/_mjs/Hub/internal.mjs.map +1 -1
  758. package/_mjs/Hub.mjs +3 -2
  759. package/_mjs/Hub.mjs.map +1 -1
  760. package/_mjs/IO/api/all.mjs.map +1 -1
  761. package/_mjs/IO/api/concurrentFinalizers.mjs +52 -6
  762. package/_mjs/IO/api/concurrentFinalizers.mjs.map +1 -1
  763. package/_mjs/IO/api/foreachConcurrent.mjs +20 -19
  764. package/_mjs/IO/api/foreachConcurrent.mjs.map +1 -1
  765. package/_mjs/IO/api/fork.mjs.map +1 -1
  766. package/_mjs/IO/api/interrupt.mjs.map +1 -1
  767. package/_mjs/IO/api/patchFiberRefs.mjs +10 -0
  768. package/_mjs/IO/api/patchFiberRefs.mjs.map +1 -0
  769. package/_mjs/IO/api/provideSomeRuntime.mjs +21 -0
  770. package/_mjs/IO/api/provideSomeRuntime.mjs.map +1 -0
  771. package/_mjs/IO/api/raceWith.mjs.map +1 -1
  772. package/_mjs/IO/api/withEarlyRelease.mjs +1 -1
  773. package/_mjs/IO/api/withEarlyRelease.mjs.map +1 -1
  774. package/_mjs/IO/api/zipConcurrent.mjs.map +1 -1
  775. package/_mjs/IO/api.mjs.map +1 -1
  776. package/_mjs/IO/definition.mjs.map +1 -1
  777. package/_mjs/IO/runtime.mjs.map +1 -1
  778. package/_mjs/IO.mjs +64 -60
  779. package/_mjs/IO.mjs.map +1 -1
  780. package/_mjs/IOEnv.mjs +3 -2
  781. package/_mjs/IOEnv.mjs.map +1 -1
  782. package/_mjs/InterruptStatus.mjs +2 -1
  783. package/_mjs/InterruptStatus.mjs.map +1 -1
  784. package/_mjs/Layer/MemoMap.mjs +2 -2
  785. package/_mjs/Layer/MemoMap.mjs.map +1 -1
  786. package/_mjs/Layer/api.mjs +9 -0
  787. package/_mjs/Layer/api.mjs.map +1 -1
  788. package/_mjs/Layer/definition.mjs +0 -6
  789. package/_mjs/Layer/definition.mjs.map +1 -1
  790. package/_mjs/Layer.mjs +2 -1
  791. package/_mjs/Layer.mjs.map +1 -1
  792. package/_mjs/LogLevel.mjs.map +1 -1
  793. package/_mjs/LogSpan.mjs.map +1 -1
  794. package/_mjs/Logger/api.mjs.map +1 -1
  795. package/_mjs/Logger/constructors.mjs.map +1 -1
  796. package/_mjs/Logger.mjs +3 -2
  797. package/_mjs/Logger.mjs.map +1 -1
  798. package/_mjs/MVar.mjs +2 -1
  799. package/_mjs/MVar.mjs.map +1 -1
  800. package/_mjs/Push/api.mjs.map +1 -1
  801. package/_mjs/Push.mjs +3 -2
  802. package/_mjs/Push.mjs.map +1 -1
  803. package/_mjs/Queue/api/dimapIO.mjs +5 -5
  804. package/_mjs/Queue/api/dimapIO.mjs.map +1 -1
  805. package/_mjs/Queue/api/filterInputIO.mjs +9 -9
  806. package/_mjs/Queue/api/filterInputIO.mjs.map +1 -1
  807. package/_mjs/Queue/api/filterOutputIO.mjs +16 -16
  808. package/_mjs/Queue/api/filterOutputIO.mjs.map +1 -1
  809. package/_mjs/Queue/api/operations.mjs +2 -2
  810. package/_mjs/Queue/api/operations.mjs.map +1 -1
  811. package/_mjs/Queue/api/takeBetween.mjs +14 -19
  812. package/_mjs/Queue/api/takeBetween.mjs.map +1 -1
  813. package/_mjs/Queue/api/takeN.mjs +10 -0
  814. package/_mjs/Queue/api/takeN.mjs.map +1 -0
  815. package/_mjs/Queue/api.mjs +8 -6
  816. package/_mjs/Queue/api.mjs.map +1 -1
  817. package/_mjs/Queue/internal.mjs +2 -2
  818. package/_mjs/Queue/internal.mjs.map +1 -1
  819. package/_mjs/Queue/strategy.mjs.map +1 -1
  820. package/_mjs/Queue.mjs +5 -4
  821. package/_mjs/Queue.mjs.map +1 -1
  822. package/_mjs/Random.mjs +3 -2
  823. package/_mjs/Random.mjs.map +1 -1
  824. package/_mjs/Ref/Synchronized.mjs +3 -2
  825. package/_mjs/Ref/Synchronized.mjs.map +1 -1
  826. package/_mjs/Ref/api.mjs +9 -8
  827. package/_mjs/Ref/api.mjs.map +1 -1
  828. package/_mjs/Ref.mjs +9 -7
  829. package/_mjs/Ref.mjs.map +1 -1
  830. package/_mjs/RefSubject/Atomic.mjs +3 -3
  831. package/_mjs/RefSubject/Atomic.mjs.map +1 -1
  832. package/_mjs/RefSubject/Synchronized/api.mjs.map +1 -1
  833. package/_mjs/RefSubject/Synchronized/definition.mjs +7 -7
  834. package/_mjs/RefSubject/Synchronized/definition.mjs.map +1 -1
  835. package/_mjs/RefSubject/api.mjs +3 -3
  836. package/_mjs/RefSubject/api.mjs.map +1 -1
  837. package/_mjs/RefSubject/definition.mjs +1 -0
  838. package/_mjs/RefSubject/definition.mjs.map +1 -1
  839. package/_mjs/RefSubject.mjs +2 -1
  840. package/_mjs/RefSubject.mjs.map +1 -1
  841. package/_mjs/Reloadable/definition.mjs +1 -1
  842. package/_mjs/Reloadable/definition.mjs.map +1 -1
  843. package/_mjs/Reloadable.mjs +3 -2
  844. package/_mjs/Reloadable.mjs.map +1 -1
  845. package/_mjs/RuntimeFlags.mjs +2 -1
  846. package/_mjs/RuntimeFlags.mjs.map +1 -1
  847. package/_mjs/STM/api/atomically.mjs.map +1 -1
  848. package/_mjs/STM/api.mjs.map +1 -1
  849. package/_mjs/STM/definition.mjs +0 -7
  850. package/_mjs/STM/definition.mjs.map +1 -1
  851. package/_mjs/STM/driver.mjs +1 -1
  852. package/_mjs/STM/driver.mjs.map +1 -1
  853. package/_mjs/STM/internal/CommitState.mjs.map +1 -1
  854. package/_mjs/STM/internal/Journal.mjs.map +1 -1
  855. package/_mjs/STM/internal/TryCommit.mjs +0 -2
  856. package/_mjs/STM/internal/TryCommit.mjs.map +1 -1
  857. package/_mjs/STM.mjs +6 -4
  858. package/_mjs/STM.mjs.map +1 -1
  859. package/_mjs/Schedule/Decision.mjs +0 -2
  860. package/_mjs/Schedule/Decision.mjs.map +1 -1
  861. package/_mjs/Schedule/api.mjs +2 -2
  862. package/_mjs/Schedule/api.mjs.map +1 -1
  863. package/_mjs/Schedule.mjs +3 -2
  864. package/_mjs/Schedule.mjs.map +1 -1
  865. package/_mjs/Scope/Finalizer.mjs +1 -0
  866. package/_mjs/Scope/Finalizer.mjs.map +1 -1
  867. package/_mjs/Scope/ReleaseMap/api/releaseAll.mjs.map +1 -1
  868. package/_mjs/Scope/ReleaseMap/api.mjs.map +1 -1
  869. package/_mjs/Scope/ReleaseMap/definition.mjs.map +1 -1
  870. package/_mjs/Scope/ReleaseMap.mjs +3 -2
  871. package/_mjs/Scope/ReleaseMap.mjs.map +1 -1
  872. package/_mjs/Scope/api.mjs +31 -19
  873. package/_mjs/Scope/api.mjs.map +1 -1
  874. package/_mjs/Scope/definition.mjs +4 -2
  875. package/_mjs/Scope/definition.mjs.map +1 -1
  876. package/_mjs/Scope.mjs +3 -2
  877. package/_mjs/Scope.mjs.map +1 -1
  878. package/_mjs/ScopedRef.mjs +2 -1
  879. package/_mjs/ScopedRef.mjs.map +1 -1
  880. package/_mjs/Semaphore.mjs.map +1 -1
  881. package/_mjs/Sink/api.mjs +4 -4
  882. package/_mjs/Sink/api.mjs.map +1 -1
  883. package/_mjs/Sink.mjs +2 -1
  884. package/_mjs/Sink.mjs.map +1 -1
  885. package/_mjs/State/api.mjs.map +1 -1
  886. package/_mjs/State.mjs +3 -2
  887. package/_mjs/State.mjs.map +1 -1
  888. package/_mjs/Stream/api/zipAllWith.mjs.map +1 -1
  889. package/_mjs/Stream/api/zipWithChunks.mjs.map +1 -1
  890. package/_mjs/Stream/api.mjs.map +1 -1
  891. package/_mjs/Stream/internal/DebounceState.mjs +0 -3
  892. package/_mjs/Stream/internal/DebounceState.mjs.map +1 -1
  893. package/_mjs/Stream/internal/Handoff.mjs +10 -15
  894. package/_mjs/Stream/internal/Handoff.mjs.map +1 -1
  895. package/_mjs/Stream/internal/SinkEndReason.mjs +0 -2
  896. package/_mjs/Stream/internal/SinkEndReason.mjs.map +1 -1
  897. package/_mjs/Stream/internal/util.mjs.map +1 -1
  898. package/_mjs/Stream.mjs +3 -2
  899. package/_mjs/Stream.mjs.map +1 -1
  900. package/_mjs/Subject.mjs +2 -1
  901. package/_mjs/Subject.mjs.map +1 -1
  902. package/_mjs/SubscriptionRef.mjs +5 -5
  903. package/_mjs/SubscriptionRef.mjs.map +1 -1
  904. package/_mjs/Supervisor/api.mjs.map +1 -1
  905. package/_mjs/Supervisor/constructors.mjs.map +1 -1
  906. package/_mjs/Supervisor/definition.mjs +1 -3
  907. package/_mjs/Supervisor/definition.mjs.map +1 -1
  908. package/_mjs/Supervisor.mjs +3 -2
  909. package/_mjs/Supervisor.mjs.map +1 -1
  910. package/_mjs/SupervisorPatch.mjs +0 -3
  911. package/_mjs/SupervisorPatch.mjs.map +1 -1
  912. package/_mjs/TExit/definition.mjs +0 -9
  913. package/_mjs/TExit/definition.mjs.map +1 -1
  914. package/_mjs/TExit.mjs +2 -1
  915. package/_mjs/TExit.mjs.map +1 -1
  916. package/_mjs/TFuture.mjs +3 -2
  917. package/_mjs/TFuture.mjs.map +1 -1
  918. package/_mjs/TReentrantLock/api.mjs.map +1 -1
  919. package/_mjs/TReentrantLock/definition.mjs +0 -1
  920. package/_mjs/TReentrantLock/definition.mjs.map +1 -1
  921. package/_mjs/TReentrantLock.mjs +2 -1
  922. package/_mjs/TReentrantLock.mjs.map +1 -1
  923. package/_mjs/TRef/definition.mjs +33 -33
  924. package/_mjs/TRef/definition.mjs.map +1 -1
  925. package/_mjs/TRef.mjs +3 -2
  926. package/_mjs/TRef.mjs.map +1 -1
  927. package/_mjs/TSemaphore.mjs +3 -2
  928. package/_mjs/TSemaphore.mjs.map +1 -1
  929. package/_mjs/collection/immutable/Conc/dropUntilIO.mjs.map +1 -1
  930. package/_mjs/collection/immutable/Conc/dropWhileIO.mjs.map +1 -1
  931. package/_mjs/collection/immutable/Conc/findIO.mjs.map +1 -1
  932. package/_mjs/collection/immutable/Conc/takeWhileIO.mjs.map +1 -1
  933. package/_mjs/collection/immutable/Conc.mjs +6 -5
  934. package/_mjs/collection/immutable/Conc.mjs.map +1 -1
  935. package/_mjs/internal/BackgroundScheduler.mjs.map +1 -1
  936. package/_mjs/internal/HashedPair.mjs.map +1 -1
  937. package/_mjs/internal/Hub.mjs.map +1 -1
  938. package/_mjs/internal/IsFatal.mjs +0 -3
  939. package/_mjs/internal/IsFatal.mjs.map +1 -1
  940. package/_mjs/internal/MutableQueue.mjs.map +1 -1
  941. package/_mjs/internal/Scheduler.mjs.map +1 -1
  942. package/_mjs/internal/StackTraceBuilder.mjs.map +1 -1
  943. package/_src/Cached/api.ts +4 -1
  944. package/_src/Cached.ts +3 -2
  945. package/_src/Channel/ChildExecutorDecision.ts +2 -1
  946. package/_src/Channel/UpstreamPullRequest.ts +2 -1
  947. package/_src/Channel/UpstreamPullStrategy.ts +1 -0
  948. package/_src/Channel/internal/ChannelExecutor.ts +4 -1
  949. package/_src/Channel/internal/MergeState.ts +4 -1
  950. package/_src/Channel.ts +4 -3
  951. package/_src/Clock.ts +3 -2
  952. package/_src/Console.ts +3 -2
  953. package/_src/CountdownLatch.ts +4 -1
  954. package/_src/Fiber/FiberRuntime.ts +12 -2
  955. package/_src/Fiber.ts +21 -19
  956. package/_src/FiberDescriptor.ts +5 -1
  957. package/_src/FiberRef.ts +7 -5
  958. package/_src/FiberRefs/Patch.ts +145 -0
  959. package/_src/FiberRefs.ts +3 -1
  960. package/_src/FiberScope/definition.ts +4 -1
  961. package/_src/FiberScope.ts +2 -1
  962. package/_src/FiberStatus/definition.ts +9 -2
  963. package/_src/FiberStatus.ts +2 -1
  964. package/_src/Future/definition.ts +4 -1
  965. package/_src/Future.ts +3 -2
  966. package/_src/Hub/api.ts +8 -2
  967. package/_src/Hub.ts +3 -2
  968. package/_src/IO/api/concurrentFinalizers.ts +74 -7
  969. package/_src/IO/api/foreachConcurrent.ts +16 -14
  970. package/_src/IO/api/interrupt.ts +1 -1
  971. package/_src/IO/api/patchFiberRefs.ts +8 -0
  972. package/_src/IO/api/provideSomeRuntime.ts +22 -0
  973. package/_src/IO/api.ts +4 -1
  974. package/_src/IO/definition.ts +6 -1
  975. package/_src/IO.ts +64 -60
  976. package/_src/IOEnv.ts +3 -2
  977. package/_src/InterruptStatus.ts +2 -1
  978. package/_src/Layer/MemoMap.ts +11 -3
  979. package/_src/Layer/api.ts +10 -0
  980. package/_src/Layer/definition.ts +17 -4
  981. package/_src/Layer.ts +2 -1
  982. package/_src/LogLevel.ts +5 -1
  983. package/_src/LogSpan.ts +4 -1
  984. package/_src/Logger.ts +3 -2
  985. package/_src/MVar.ts +2 -1
  986. package/_src/Push.ts +3 -2
  987. package/_src/Queue/api/dimapIO.ts +8 -2
  988. package/_src/Queue/api/filterInputIO.ts +8 -2
  989. package/_src/Queue/api/filterOutputIO.ts +8 -2
  990. package/_src/Queue/api/operations.ts +2 -2
  991. package/_src/Queue/api/takeBetween.ts +18 -20
  992. package/_src/Queue/api/takeN.ts +10 -0
  993. package/_src/Queue/api.ts +8 -6
  994. package/_src/Queue/internal.ts +4 -1
  995. package/_src/Queue.ts +5 -4
  996. package/_src/Random.ts +3 -2
  997. package/_src/Ref/Synchronized.ts +3 -2
  998. package/_src/Ref/api.ts +8 -7
  999. package/_src/Ref.ts +9 -7
  1000. package/_src/RefSubject/Atomic.ts +14 -3
  1001. package/_src/RefSubject/Synchronized/definition.ts +4 -1
  1002. package/_src/RefSubject/api.ts +5 -1
  1003. package/_src/RefSubject/definition.ts +1 -0
  1004. package/_src/RefSubject.ts +2 -1
  1005. package/_src/Reloadable/definition.ts +4 -1
  1006. package/_src/Reloadable.ts +3 -2
  1007. package/_src/RuntimeFlags.ts +2 -1
  1008. package/_src/STM/definition.ts +16 -4
  1009. package/_src/STM/driver.ts +6 -1
  1010. package/_src/STM.ts +6 -4
  1011. package/_src/Schedule.ts +3 -2
  1012. package/_src/Scope/Finalizer.ts +1 -0
  1013. package/_src/Scope/ReleaseMap/definition.ts +5 -1
  1014. package/_src/Scope/ReleaseMap.ts +3 -2
  1015. package/_src/Scope/api.ts +36 -26
  1016. package/_src/Scope/definition.ts +2 -1
  1017. package/_src/Scope.ts +3 -2
  1018. package/_src/ScopedRef.ts +2 -1
  1019. package/_src/Sink/api.ts +4 -4
  1020. package/_src/Sink.ts +2 -1
  1021. package/_src/State.ts +3 -2
  1022. package/_src/Stream/internal/Handoff.ts +4 -1
  1023. package/_src/Stream.ts +3 -2
  1024. package/_src/Subject/definition.ts +1 -1
  1025. package/_src/Subject.ts +2 -1
  1026. package/_src/SubscriptionRef.ts +5 -1
  1027. package/_src/Supervisor/definition.ts +8 -2
  1028. package/_src/Supervisor.ts +3 -2
  1029. package/_src/SupervisorPatch.ts +4 -1
  1030. package/_src/TExit.ts +2 -1
  1031. package/_src/TFuture.ts +3 -2
  1032. package/_src/TReentrantLock/definition.ts +5 -1
  1033. package/_src/TReentrantLock.ts +2 -1
  1034. package/_src/TRef/definition.ts +4 -1
  1035. package/_src/TRef.ts +3 -2
  1036. package/_src/TSemaphore.ts +3 -2
  1037. package/_src/collection/immutable/Conc.ts +6 -5
  1038. package/_src/index.ts +47 -46
  1039. package/_src/internal/HashedPair.ts +4 -1
  1040. package/_src/internal/Hub.ts +20 -4
  1041. package/_src/internal/IsFatal.ts +4 -1
  1042. package/collection/immutable/Conc.d.ts +5 -5
  1043. package/data/Exit/foreachIO.d.ts +1 -1
  1044. package/index.d.ts +46 -46
  1045. package/internal/Hub.d.ts +1 -1
  1046. package/package.json +4 -4
@@ -1,3 +1,4 @@
1
+ /* eslint-disable simple-import-sort/exports */
1
2
  // codegen:start { preset: barrel, include: ./UpstreamPullStrategy/*.ts }
2
3
  export * from "./UpstreamPullStrategy/definition.js";
3
4
  // codegen:end
@@ -169,7 +169,10 @@ class DrainChildExecutors<R> {
169
169
 
170
170
  class Emit<R> {
171
171
  readonly _tag = SubexecutorStackTag.Emit;
172
- constructor(readonly value: unknown, readonly next: Subexecutor<R> | null) {}
172
+ constructor(
173
+ readonly value: unknown,
174
+ readonly next: Subexecutor<R> | null,
175
+ ) {}
173
176
  close(ex: Exit<unknown, unknown>): URIO<R, unknown> | null {
174
177
  return this.next !== null ? this.next.close(ex) : null;
175
178
  }
@@ -6,7 +6,10 @@ export const enum MergeStateTag {
6
6
 
7
7
  export class BothRunning<Env, Err, Err1, Err2, Elem, Done, Done1, Done2> {
8
8
  readonly _tag = MergeStateTag.BothRunning;
9
- constructor(readonly left: Fiber<Err, Either<Done, Elem>>, readonly right: Fiber<Err1, Either<Done1, Elem>>) {}
9
+ constructor(
10
+ readonly left: Fiber<Err, Either<Done, Elem>>,
11
+ readonly right: Fiber<Err1, Either<Done1, Elem>>,
12
+ ) {}
10
13
  }
11
14
 
12
15
  export class LeftDone<Env, Err, Err1, Err2, Elem, Done, Done1, Done2> {
package/_src/Channel.ts CHANGED
@@ -1,5 +1,6 @@
1
- // codegen:start { preset: barrel, include: ./Channel/*.ts, exclude: ./Channel/*(ChildExecutorDecision|UpstreamPullRequest|UpstreamPullStrategy).ts }
2
- export * from "./Channel/api.js";
3
- export * from "./Channel/core-api.js";
1
+ /* eslint-disable simple-import-sort/exports */
2
+ // codegen:start { preset: barrel, include: ./Channel/*.ts, exclude: Channel/*(ChildExecutorDecision|UpstreamPullRequest|UpstreamPullStrategy).ts }
4
3
  export * from "./Channel/definition.js";
4
+ export * from "./Channel/core-api.js";
5
+ export * from "./Channel/api.js";
5
6
  // codegen:end
package/_src/Clock.ts CHANGED
@@ -1,5 +1,6 @@
1
+ /* eslint-disable simple-import-sort/exports */
1
2
  // codegen:start { preset: barrel, include: ./Clock/*.ts }
2
- export * from "./Clock/api.js";
3
- export * from "./Clock/definition.js";
4
3
  export * from "./Clock/live.js";
4
+ export * from "./Clock/definition.js";
5
+ export * from "./Clock/api.js";
5
6
  // codegen:end
package/_src/Console.ts CHANGED
@@ -1,5 +1,6 @@
1
+ /* eslint-disable simple-import-sort/exports */
1
2
  // codegen:start { preset: barrel, include: ./Console/*.ts }
2
- export * from "./Console/api.js";
3
- export * from "./Console/definition.js";
4
3
  export * from "./Console/live.js";
4
+ export * from "./Console/definition.js";
5
+ export * from "./Console/api.js";
5
6
  // codegen:end
@@ -7,7 +7,10 @@ export type CountdownLatchTypeId = typeof CountdownLatchTypeId;
7
7
  */
8
8
  export class CountdownLatch {
9
9
  readonly [CountdownLatchTypeId]: CountdownLatchTypeId = CountdownLatchTypeId;
10
- constructor(private _count: Ref<number>, private _waiters: Future<never, void>) {}
10
+ constructor(
11
+ private _count: Ref<number>,
12
+ private _waiters: Future<never, void>,
13
+ ) {}
11
14
 
12
15
  readonly await: UIO<void> = this._waiters.await;
13
16
 
@@ -20,7 +20,10 @@ import { FiberMessage, FiberMessageTag } from "./FiberMessage.js";
20
20
 
21
21
  export class RevertFlags {
22
22
  readonly _tag = IOTag.RevertFlags;
23
- constructor(readonly patch: RuntimeFlags.Patch, readonly trace?: string) {}
23
+ constructor(
24
+ readonly patch: RuntimeFlags.Patch,
25
+ readonly trace?: string,
26
+ ) {}
24
27
  }
25
28
 
26
29
  export class UpdateTrace {
@@ -41,7 +44,11 @@ export class FiberRuntime<E, A> implements Fiber.Runtime<E, A> {
41
44
  };
42
45
  readonly _tag = "RuntimeFiber";
43
46
 
44
- constructor(readonly fiberId: FiberId.Runtime, fiberRefs0: FiberRefs, readonly runtimeFlags0: RuntimeFlags) {
47
+ constructor(
48
+ readonly fiberId: FiberId.Runtime,
49
+ fiberRefs0: FiberRefs,
50
+ readonly runtimeFlags0: RuntimeFlags,
51
+ ) {
45
52
  this._fiberRefs = fiberRefs0;
46
53
  this._runtimeFlags = runtimeFlags0;
47
54
  }
@@ -521,6 +528,9 @@ export class FiberRuntime<E, A> implements Fiber.Runtime<E, A> {
521
528
  cur = IO.concrete(IO.succeedNow(cur.value));
522
529
  break;
523
530
  }
531
+ case "Tag": {
532
+ cur = IO.concrete(IO.service(cur));
533
+ }
524
534
  }
525
535
  } catch (e) {
526
536
  if (isIOError(e)) {
package/_src/Fiber.ts CHANGED
@@ -1,26 +1,28 @@
1
+ /* eslint-disable simple-import-sort/exports */
1
2
  // codegen:start { preset: barrel, include: Fiber/*.ts }
2
- export * from "./Fiber/constructors.js";
3
3
  export * from "./Fiber/definition.js";
4
- export * from "./Fiber/FiberMessage.js";
4
+ export * from "./Fiber/constructors.js";
5
5
  export * from "./Fiber/FiberRuntime.js";
6
+ export * from "./Fiber/FiberMessage.js";
6
7
  // codegen:end
8
+ /* eslint-disable simple-import-sort/exports */
7
9
  // codegen:start { preset: barrel, include: Fiber/api/*.ts }
8
- export * from "./Fiber/api/await.js";
9
- export * from "./Fiber/api/awaitAll.js";
10
- export * from "./Fiber/api/children.js";
11
- export * from "./Fiber/api/collectAll.js";
12
- export * from "./Fiber/api/fromIO.js";
13
- export * from "./Fiber/api/id.js";
14
- export * from "./Fiber/api/inheritRefs.js";
15
- export * from "./Fiber/api/interrupt.js";
16
- export * from "./Fiber/api/interruptAll.js";
17
- export * from "./Fiber/api/interruptAs.js";
18
- export * from "./Fiber/api/interruptFork.js";
19
- export * from "./Fiber/api/join.js";
20
- export * from "./Fiber/api/joinAll.js";
21
- export * from "./Fiber/api/location.js";
22
- export * from "./Fiber/api/mapFiber.js";
23
- export * from "./Fiber/api/mapIO.js";
24
- export * from "./Fiber/api/poll.js";
25
10
  export * from "./Fiber/api/zipWith.js";
11
+ export * from "./Fiber/api/poll.js";
12
+ export * from "./Fiber/api/mapIO.js";
13
+ export * from "./Fiber/api/mapFiber.js";
14
+ export * from "./Fiber/api/location.js";
15
+ export * from "./Fiber/api/joinAll.js";
16
+ export * from "./Fiber/api/join.js";
17
+ export * from "./Fiber/api/interruptFork.js";
18
+ export * from "./Fiber/api/interruptAs.js";
19
+ export * from "./Fiber/api/interruptAll.js";
20
+ export * from "./Fiber/api/interrupt.js";
21
+ export * from "./Fiber/api/inheritRefs.js";
22
+ export * from "./Fiber/api/id.js";
23
+ export * from "./Fiber/api/fromIO.js";
24
+ export * from "./Fiber/api/collectAll.js";
25
+ export * from "./Fiber/api/children.js";
26
+ export * from "./Fiber/api/awaitAll.js";
27
+ export * from "./Fiber/api/await.js";
26
28
  // codegen:end
@@ -8,5 +8,9 @@ import type { FiberStatus } from "@fncts/io/FiberStatus";
8
8
  * @tsplus companion fncts.io.FiberDescriptorOps
9
9
  */
10
10
  export class FiberDescriptor {
11
- constructor(readonly id: FiberId, readonly status: FiberStatus, readonly interruptors: HashSet<FiberId>) {}
11
+ constructor(
12
+ readonly id: FiberId,
13
+ readonly status: FiberStatus,
14
+ readonly interruptors: HashSet<FiberId>,
15
+ ) {}
12
16
  }
package/_src/FiberRef.ts CHANGED
@@ -1,11 +1,13 @@
1
+ /* eslint-disable simple-import-sort/exports */
1
2
  // codegen:start { preset: barrel, include: FiberRef/*.ts }
2
- export * from "./FiberRef/api.js";
3
- export * from "./FiberRef/constructors.js";
4
- export * from "./FiberRef/definition.js";
5
- export * from "./FiberRef/operations.js";
6
3
  export * from "./FiberRef/unsafe.js";
4
+ export * from "./FiberRef/operations.js";
5
+ export * from "./FiberRef/definition.js";
6
+ export * from "./FiberRef/constructors.js";
7
+ export * from "./FiberRef/api.js";
7
8
  // codegen:end
9
+ /* eslint-disable simple-import-sort/exports */
8
10
  // codegen:start { preset: barrel, include: ./FiberRef/api/*.ts }
9
- export * from "./FiberRef/api/locallyScoped.js";
10
11
  export * from "./FiberRef/api/locallyScopedWith.js";
12
+ export * from "./FiberRef/api/locallyScoped.js";
11
13
  // codegen:end
@@ -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
@@ -14,7 +14,10 @@ export class Future<in out E, in out A> {
14
14
  readonly _A: (_: A) => A;
15
15
  readonly _E: (_: E) => E;
16
16
  };
17
- constructor(public state: State<E, A>, readonly blockingOn: FiberId) {}
17
+ constructor(
18
+ public state: State<E, A>,
19
+ readonly blockingOn: FiberId,
20
+ ) {}
18
21
  }
19
22
 
20
23
  export declare namespace Future {
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
@@ -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
@@ -2007,7 +2007,10 @@ export class GenIO<R, E, A> {
2007
2007
  readonly _E!: () => E;
2008
2008
  readonly _A!: () => A;
2009
2009
 
2010
- constructor(readonly effect: IO<R, E, A>, readonly _trace?: string) {}
2010
+ constructor(
2011
+ readonly effect: IO<R, E, A>,
2012
+ readonly _trace?: string,
2013
+ ) {}
2011
2014
 
2012
2015
  *[Symbol.iterator](): Generator<GenIO<R, E, A>, A, any> {
2013
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