@fncts/io 0.0.11 → 0.0.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1041) hide show
  1. package/Cached/api.d.ts +3 -4
  2. package/Channel/UpstreamPullStrategy/definition.d.ts +1 -1
  3. package/Channel/api/interruptWhen.d.ts +1 -1
  4. package/Channel/api/mapOutIOC.d.ts +2 -2
  5. package/Channel/api/mergeAll.d.ts +1 -1
  6. package/Channel/api/mergeAllUnboundedWith.d.ts +1 -1
  7. package/Channel/api/mergeAllWith.d.ts +3 -3
  8. package/Channel/api/mergeMap.d.ts +1 -1
  9. package/Channel/api/mergeWith.d.ts +3 -3
  10. package/Channel/api/runScoped.d.ts +1 -2
  11. package/Channel/api/toPull.d.ts +2 -3
  12. package/Channel/api/zipC.d.ts +3 -3
  13. package/Channel/api.d.ts +56 -57
  14. package/Channel/core-api.d.ts +12 -12
  15. package/Channel/definition.d.ts +36 -22
  16. package/Channel/internal/AsyncInputConsumer.d.ts +1 -1
  17. package/Channel/internal/AsyncInputProducer.d.ts +1 -1
  18. package/Channel/internal/ChannelExecutor.d.ts +5 -5
  19. package/Channel/internal/ChannelState.d.ts +1 -1
  20. package/Channel/internal/MergeDecision.d.ts +2 -2
  21. package/Channel/internal/MergeState.d.ts +2 -2
  22. package/Channel/internal/SingleProducerAsyncInput.d.ts +5 -5
  23. package/Clock/api.d.ts +3 -3
  24. package/Clock/definition.d.ts +2 -2
  25. package/Clock/live.d.ts +3 -3
  26. package/Console/api.d.ts +1 -1
  27. package/Fiber/FiberContext.d.ts +12 -12
  28. package/Fiber/api/await.d.ts +2 -2
  29. package/Fiber/api/awaitAll.d.ts +2 -2
  30. package/Fiber/api/children.d.ts +1 -1
  31. package/Fiber/api/collectAll.d.ts +3 -3
  32. package/Fiber/api/evalOn.d.ts +1 -1
  33. package/Fiber/api/evalOnIO.d.ts +1 -1
  34. package/Fiber/api/fromIO.d.ts +1 -1
  35. package/Fiber/api/id.d.ts +2 -2
  36. package/Fiber/api/inheritRefs.d.ts +1 -1
  37. package/Fiber/api/interrupt.d.ts +2 -2
  38. package/Fiber/api/interruptAll.d.ts +3 -3
  39. package/Fiber/api/interruptAs.d.ts +3 -3
  40. package/Fiber/api/join.d.ts +1 -1
  41. package/Fiber/api/joinAll.d.ts +1 -1
  42. package/Fiber/api/mapFiber.d.ts +1 -1
  43. package/Fiber/api/mapIO.d.ts +2 -2
  44. package/Fiber/api/poll.d.ts +3 -3
  45. package/Fiber/api/zipWith.d.ts +1 -1
  46. package/Fiber/constructors.d.ts +8 -8
  47. package/Fiber/definition.d.ts +4 -4
  48. package/FiberRef/api/locallyScoped.d.ts +1 -2
  49. package/FiberRef/api/locallyScopedWith.d.ts +1 -2
  50. package/FiberRef/api.d.ts +8 -8
  51. package/FiberRef/constructors.d.ts +2 -3
  52. package/FiberRef/unsafe.d.ts +11 -5
  53. package/FiberRefs/api.d.ts +4 -4
  54. package/FiberRefs/definition.d.ts +3 -3
  55. package/FiberRefs/join.d.ts +2 -2
  56. package/FiberScope/constructors.d.ts +1 -1
  57. package/FiberScope/definition.d.ts +1 -1
  58. package/FiberState/api.d.ts +1 -1
  59. package/FiberState/constructors.d.ts +3 -3
  60. package/FiberState/definition.d.ts +3 -3
  61. package/FiberStatus/constructors.d.ts +1 -1
  62. package/FiberStatus/definition.d.ts +1 -1
  63. package/Future/api.d.ts +18 -18
  64. package/Future/constructors.d.ts +3 -3
  65. package/Future/definition.d.ts +2 -2
  66. package/Hub/api.d.ts +22 -23
  67. package/Hub/definition.d.ts +6 -7
  68. package/Hub/internal.d.ts +1 -2
  69. package/IO/api/acquireRelease.d.ts +2 -3
  70. package/IO/api/acquireReleaseExit.d.ts +3 -4
  71. package/IO/api/acquireReleaseInterruptible.d.ts +2 -3
  72. package/IO/api/acquireReleaseInterruptibleExit.d.ts +3 -4
  73. package/IO/api/addFinalizer.d.ts +2 -3
  74. package/IO/api/addFinalizerExit.d.ts +2 -3
  75. package/IO/api/asyncIO.d.ts +1 -1
  76. package/IO/api/bracket.d.ts +2 -2
  77. package/IO/api/bracketExit.d.ts +3 -3
  78. package/IO/api/clockWith.d.ts +1 -1
  79. package/IO/api/concurrency.d.ts +4 -4
  80. package/IO/api/concurrentFinalizers.d.ts +1 -2
  81. package/IO/api/consoleWith.d.ts +2 -2
  82. package/IO/api/core-scope.d.ts +4 -4
  83. package/IO/api/ensuringChildren.d.ts +1 -1
  84. package/IO/api/environment.d.ts +10 -12
  85. package/IO/api/foreachC.d.ts +2 -2
  86. package/IO/api/foreachExec.d.ts +1 -1
  87. package/IO/api/forkScoped.d.ts +1 -2
  88. package/IO/api/fulfill.d.ts +1 -1
  89. package/IO/api/interrupt.d.ts +8 -8
  90. package/IO/api/onExit.d.ts +2 -2
  91. package/IO/api/onTermination.d.ts +4 -4
  92. package/IO/api/provideLayer.d.ts +1 -1
  93. package/IO/api/provideSomeLayer.d.ts +1 -1
  94. package/IO/api/race.d.ts +1 -1
  95. package/IO/api/raceFirst.d.ts +1 -1
  96. package/IO/api/randomWith.d.ts +2 -2
  97. package/IO/api/repeat.d.ts +6 -6
  98. package/IO/api/retry.d.ts +5 -5
  99. package/IO/api/schedule.d.ts +3 -3
  100. package/IO/api/scope.d.ts +1 -2
  101. package/IO/api/scopeWith.d.ts +1 -2
  102. package/IO/api/scoped.d.ts +3 -4
  103. package/IO/api/sequenceT.d.ts +4 -4
  104. package/IO/api/sleep.d.ts +2 -2
  105. package/IO/api/stateful.d.ts +3 -4
  106. package/IO/api/timeout.d.ts +4 -4
  107. package/IO/api/withEarlyRelease.d.ts +1 -2
  108. package/IO/api/withFinalizer.d.ts +1 -2
  109. package/IO/api/withFinalizerExit.d.ts +2 -3
  110. package/IO/api/withRuntimeConfig.d.ts +2 -2
  111. package/IO/api/zipC.d.ts +4 -4
  112. package/IO/api.d.ts +94 -94
  113. package/IO/definition.d.ts +44 -34
  114. package/IO/runtime.d.ts +29 -16
  115. package/IOEnv/definition.d.ts +2 -3
  116. package/IOEnv/live.d.ts +1 -1
  117. package/IOEnv/services.d.ts +1 -1
  118. package/IOSpec.d.ts +7 -8
  119. package/Layer/MemoMap.d.ts +8 -9
  120. package/Layer/api.d.ts +41 -43
  121. package/Layer/definition.d.ts +22 -16
  122. package/Logger/api.d.ts +2 -2
  123. package/Logger/definition.d.ts +4 -4
  124. package/Queue/api/dimapIO.d.ts +6 -6
  125. package/Queue/api/filterInputIO.d.ts +6 -6
  126. package/Queue/api/filterOutputIO.d.ts +8 -8
  127. package/Queue/api/operations.d.ts +10 -10
  128. package/Queue/api/poll.d.ts +2 -2
  129. package/Queue/api/takeBetween.d.ts +1 -1
  130. package/Queue/api/zipWithIO.d.ts +9 -9
  131. package/Queue/constructors.d.ts +4 -4
  132. package/Queue/definition.d.ts +10 -10
  133. package/Queue/internal.d.ts +1 -1
  134. package/Queue/strategy.d.ts +10 -10
  135. package/Random/api.d.ts +8 -8
  136. package/Random/definition.d.ts +5 -5
  137. package/Random/live.d.ts +5 -5
  138. package/Ref/Atomic/Atomic.d.ts +4 -4
  139. package/Ref/Atomic/api.d.ts +11 -11
  140. package/Ref/Derived.d.ts +4 -4
  141. package/Ref/DerivedAll.d.ts +4 -4
  142. package/Ref/Synchronized/api.d.ts +16 -16
  143. package/Ref/Synchronized/constructors.d.ts +2 -2
  144. package/Ref/Synchronized/definition.d.ts +3 -3
  145. package/Ref/api/collect.d.ts +2 -2
  146. package/Ref/api/dimap.d.ts +8 -8
  147. package/Ref/api/filter.d.ts +3 -3
  148. package/Ref/api/get.d.ts +1 -1
  149. package/Ref/api/match.d.ts +1 -1
  150. package/Ref/api/matchAll.d.ts +1 -1
  151. package/Ref/api/modify.d.ts +10 -10
  152. package/Ref/api/set.d.ts +1 -1
  153. package/Ref/constructors.d.ts +3 -3
  154. package/Ref/definition.d.ts +15 -15
  155. package/RuntimeConfig.d.ts +2 -2
  156. package/STM/api/core-api.d.ts +5 -5
  157. package/STM/api/core-constructors.d.ts +9 -9
  158. package/STM/api.d.ts +60 -72
  159. package/STM/definition.d.ts +10 -9
  160. package/STM/driver.d.ts +2 -2
  161. package/STM/internal/CommitState.d.ts +1 -1
  162. package/STM/internal/Journal.d.ts +7 -6
  163. package/STM/internal/TryCommit.d.ts +1 -1
  164. package/Schedule/Decision.d.ts +10 -4
  165. package/Schedule/Driver.d.ts +4 -4
  166. package/Schedule/api/driver.d.ts +1 -1
  167. package/Schedule/api.d.ts +85 -73
  168. package/Schedule/definition.d.ts +1 -1
  169. package/Scope/Finalizer/definition.d.ts +3 -3
  170. package/Scope/ReleaseMap/api/releaseAll.d.ts +2 -2
  171. package/Scope/ReleaseMap/api.d.ts +7 -7
  172. package/Scope/ReleaseMap/definition.d.ts +3 -3
  173. package/Scope/api.d.ts +9 -10
  174. package/Scope/definition.d.ts +2 -2
  175. package/ScopedRef/api.d.ts +2 -3
  176. package/ScopedRef/definition.d.ts +1 -2
  177. package/Sink/api.d.ts +73 -74
  178. package/State/api.d.ts +2 -3
  179. package/Stream/api/zipAllWith.d.ts +3 -3
  180. package/Stream/api/zipWith.d.ts +1 -1
  181. package/Stream/api/zipWithChunks.d.ts +4 -4
  182. package/Stream/api.d.ts +171 -166
  183. package/Stream/definition.d.ts +3 -3
  184. package/Stream/internal/Handoff.d.ts +2 -2
  185. package/Stream/internal/Pull.d.ts +2 -2
  186. package/Stream/internal/Take.d.ts +4 -4
  187. package/Stream/internal/util.d.ts +1 -1
  188. package/Supervisor/api.d.ts +3 -3
  189. package/Supervisor/constructors.d.ts +6 -6
  190. package/Supervisor/definition.d.ts +3 -3
  191. package/TExit/constructors.d.ts +1 -1
  192. package/TExit/definition.d.ts +1 -1
  193. package/TFuture/api.d.ts +7 -7
  194. package/TFuture/constructors.d.ts +4 -4
  195. package/TFuture/definition.d.ts +3 -3
  196. package/TReentrantLock/api.d.ts +18 -19
  197. package/TReentrantLock/definition.d.ts +2 -2
  198. package/TRef/api.d.ts +15 -15
  199. package/TRef/constructors.d.ts +5 -5
  200. package/TRef/definition.d.ts +2 -2
  201. package/TSemaphore/api.d.ts +7 -7
  202. package/TSemaphore/constructors.d.ts +1 -1
  203. package/TSemaphore/definition.d.ts +1 -1
  204. package/_cjs/Cached/api.cjs +5 -5
  205. package/_cjs/Cached/api.cjs.map +1 -1
  206. package/_cjs/Channel/api/interruptWhen.cjs +1 -1
  207. package/_cjs/Channel/api/interruptWhen.cjs.map +1 -1
  208. package/_cjs/Channel/api/mapOutIOC.cjs +2 -2
  209. package/_cjs/Channel/api/mapOutIOC.cjs.map +1 -1
  210. package/_cjs/Channel/api/mergeAllWith.cjs +11 -11
  211. package/_cjs/Channel/api/mergeAllWith.cjs.map +1 -1
  212. package/_cjs/Channel/api/mergeWith.cjs +5 -5
  213. package/_cjs/Channel/api/mergeWith.cjs.map +1 -1
  214. package/_cjs/Channel/api/run.cjs +3 -1
  215. package/_cjs/Channel/api/run.cjs.map +1 -1
  216. package/_cjs/Channel/api.cjs +7 -7
  217. package/_cjs/Channel/api.cjs.map +1 -1
  218. package/_cjs/Channel/core-api.cjs.map +1 -1
  219. package/_cjs/Channel/definition.cjs.map +1 -1
  220. package/_cjs/Channel/internal/ChannelExecutor.cjs +6 -6
  221. package/_cjs/Channel/internal/ChannelExecutor.cjs.map +1 -1
  222. package/_cjs/Channel/internal/ChannelState.cjs +2 -1
  223. package/_cjs/Channel/internal/ChannelState.cjs.map +1 -1
  224. package/_cjs/Channel/internal/SingleProducerAsyncInput.cjs +16 -16
  225. package/_cjs/Channel/internal/SingleProducerAsyncInput.cjs.map +1 -1
  226. package/_cjs/Clock/live.cjs.map +1 -1
  227. package/_cjs/Console/api.cjs +5 -3
  228. package/_cjs/Console/api.cjs.map +1 -1
  229. package/_cjs/Fiber/FiberContext.cjs +8 -10
  230. package/_cjs/Fiber/FiberContext.cjs.map +1 -1
  231. package/_cjs/Fiber/api/await.cjs +1 -1
  232. package/_cjs/Fiber/api/await.cjs.map +1 -1
  233. package/_cjs/Fiber/api/awaitAll.cjs +2 -4
  234. package/_cjs/Fiber/api/awaitAll.cjs.map +1 -1
  235. package/_cjs/Fiber/api/children.cjs +1 -1
  236. package/_cjs/Fiber/api/children.cjs.map +1 -1
  237. package/_cjs/Fiber/api/collectAll.cjs +2 -4
  238. package/_cjs/Fiber/api/collectAll.cjs.map +1 -1
  239. package/_cjs/Fiber/api/evalOn.cjs +1 -1
  240. package/_cjs/Fiber/api/evalOn.cjs.map +1 -1
  241. package/_cjs/Fiber/api/evalOnIO.cjs +2 -4
  242. package/_cjs/Fiber/api/evalOnIO.cjs.map +1 -1
  243. package/_cjs/Fiber/api/fromIO.cjs +2 -4
  244. package/_cjs/Fiber/api/fromIO.cjs.map +1 -1
  245. package/_cjs/Fiber/api/id.cjs +1 -1
  246. package/_cjs/Fiber/api/id.cjs.map +1 -1
  247. package/_cjs/Fiber/api/inheritRefs.cjs +1 -1
  248. package/_cjs/Fiber/api/inheritRefs.cjs.map +1 -1
  249. package/_cjs/Fiber/api/interrupt.cjs +2 -4
  250. package/_cjs/Fiber/api/interrupt.cjs.map +1 -1
  251. package/_cjs/Fiber/api/interruptAll.cjs +4 -5
  252. package/_cjs/Fiber/api/interruptAll.cjs.map +1 -1
  253. package/_cjs/Fiber/api/interruptAs.cjs +1 -1
  254. package/_cjs/Fiber/api/interruptAs.cjs.map +1 -1
  255. package/_cjs/Fiber/api/interruptFork.cjs +1 -1
  256. package/_cjs/Fiber/api/interruptFork.cjs.map +1 -1
  257. package/_cjs/Fiber/api/join.cjs +2 -4
  258. package/_cjs/Fiber/api/join.cjs.map +1 -1
  259. package/_cjs/Fiber/api/joinAll.cjs +2 -4
  260. package/_cjs/Fiber/api/joinAll.cjs.map +1 -1
  261. package/_cjs/Fiber/api/mapFiber.cjs +2 -4
  262. package/_cjs/Fiber/api/mapFiber.cjs.map +1 -1
  263. package/_cjs/Fiber/api/mapIO.cjs +4 -5
  264. package/_cjs/Fiber/api/mapIO.cjs.map +1 -1
  265. package/_cjs/Fiber/api/poll.cjs +1 -1
  266. package/_cjs/Fiber/api/poll.cjs.map +1 -1
  267. package/_cjs/Fiber/api/zipWith.cjs +2 -4
  268. package/_cjs/Fiber/api/zipWith.cjs.map +1 -1
  269. package/_cjs/Fiber/constructors.cjs +10 -11
  270. package/_cjs/Fiber/constructors.cjs.map +1 -1
  271. package/_cjs/FiberRef/api/locallyScoped.cjs +2 -4
  272. package/_cjs/FiberRef/api/locallyScoped.cjs.map +1 -1
  273. package/_cjs/FiberRef/api/locallyScopedWith.cjs +2 -4
  274. package/_cjs/FiberRef/api/locallyScopedWith.cjs.map +1 -1
  275. package/_cjs/FiberRef/api.cjs +13 -14
  276. package/_cjs/FiberRef/api.cjs.map +1 -1
  277. package/_cjs/FiberRef/constructors.cjs +4 -6
  278. package/_cjs/FiberRef/constructors.cjs.map +1 -1
  279. package/_cjs/FiberRef/unsafe.cjs +9 -1
  280. package/_cjs/FiberRef/unsafe.cjs.map +1 -1
  281. package/_cjs/Future/api.cjs +30 -31
  282. package/_cjs/Future/api.cjs.map +1 -1
  283. package/_cjs/Future/constructors.cjs +4 -5
  284. package/_cjs/Future/constructors.cjs.map +1 -1
  285. package/_cjs/Hub/api.cjs +44 -44
  286. package/_cjs/Hub/api.cjs.map +1 -1
  287. package/_cjs/Hub/internal.cjs +16 -24
  288. package/_cjs/Hub/internal.cjs.map +1 -1
  289. package/_cjs/IO/api/acquireRelease.cjs +2 -4
  290. package/_cjs/IO/api/acquireRelease.cjs.map +1 -1
  291. package/_cjs/IO/api/acquireReleaseExit.cjs +1 -1
  292. package/_cjs/IO/api/acquireReleaseExit.cjs.map +1 -1
  293. package/_cjs/IO/api/acquireReleaseInterruptibleExit.cjs +1 -1
  294. package/_cjs/IO/api/acquireReleaseInterruptibleExit.cjs.map +1 -1
  295. package/_cjs/IO/api/addFinalizer.cjs +1 -1
  296. package/_cjs/IO/api/addFinalizer.cjs.map +1 -1
  297. package/_cjs/IO/api/addFinalizerExit.cjs +5 -11
  298. package/_cjs/IO/api/addFinalizerExit.cjs.map +1 -1
  299. package/_cjs/IO/api/asyncIO.cjs +5 -7
  300. package/_cjs/IO/api/asyncIO.cjs.map +1 -1
  301. package/_cjs/IO/api/bracket.cjs +2 -2
  302. package/_cjs/IO/api/bracket.cjs.map +1 -1
  303. package/_cjs/IO/api/bracketExit.cjs +2 -4
  304. package/_cjs/IO/api/bracketExit.cjs.map +1 -1
  305. package/_cjs/IO/api/concurrency.cjs +7 -7
  306. package/_cjs/IO/api/concurrency.cjs.map +1 -1
  307. package/_cjs/IO/api/concurrentFinalizers.cjs +2 -4
  308. package/_cjs/IO/api/concurrentFinalizers.cjs.map +1 -1
  309. package/_cjs/IO/api/consoleWith.cjs +3 -3
  310. package/_cjs/IO/api/consoleWith.cjs.map +1 -1
  311. package/_cjs/IO/api/core-scope.cjs +4 -4
  312. package/_cjs/IO/api/core-scope.cjs.map +1 -1
  313. package/_cjs/IO/api/ensuringChildren.cjs +2 -4
  314. package/_cjs/IO/api/ensuringChildren.cjs.map +1 -1
  315. package/_cjs/IO/api/environment.cjs +6 -8
  316. package/_cjs/IO/api/environment.cjs.map +1 -1
  317. package/_cjs/IO/api/foreachC.cjs +25 -27
  318. package/_cjs/IO/api/foreachC.cjs.map +1 -1
  319. package/_cjs/IO/api/foreachExec.cjs +2 -4
  320. package/_cjs/IO/api/foreachExec.cjs.map +1 -1
  321. package/_cjs/IO/api/forkIn.cjs +1 -1
  322. package/_cjs/IO/api/forkIn.cjs.map +1 -1
  323. package/_cjs/IO/api/forkScoped.cjs +1 -1
  324. package/_cjs/IO/api/forkScoped.cjs.map +1 -1
  325. package/_cjs/IO/api/fulfill.cjs +2 -4
  326. package/_cjs/IO/api/fulfill.cjs.map +1 -1
  327. package/_cjs/IO/api/interrupt.cjs +13 -13
  328. package/_cjs/IO/api/interrupt.cjs.map +1 -1
  329. package/_cjs/IO/api/memoize.cjs +4 -8
  330. package/_cjs/IO/api/memoize.cjs.map +1 -1
  331. package/_cjs/IO/api/onExit.cjs +2 -2
  332. package/_cjs/IO/api/onExit.cjs.map +1 -1
  333. package/_cjs/IO/api/onTermination.cjs +2 -2
  334. package/_cjs/IO/api/onTermination.cjs.map +1 -1
  335. package/_cjs/IO/api/once.cjs +1 -1
  336. package/_cjs/IO/api/once.cjs.map +1 -1
  337. package/_cjs/IO/api/provideLayer.cjs +2 -4
  338. package/_cjs/IO/api/provideLayer.cjs.map +1 -1
  339. package/_cjs/IO/api/provideSomeLayer.cjs +2 -3
  340. package/_cjs/IO/api/provideSomeLayer.cjs.map +1 -1
  341. package/_cjs/IO/api/race.cjs +4 -6
  342. package/_cjs/IO/api/race.cjs.map +1 -1
  343. package/_cjs/IO/api/raceFirst.cjs +2 -4
  344. package/_cjs/IO/api/raceFirst.cjs.map +1 -1
  345. package/_cjs/IO/api/randomWith.cjs +3 -3
  346. package/_cjs/IO/api/randomWith.cjs.map +1 -1
  347. package/_cjs/IO/api/repeat.cjs +10 -11
  348. package/_cjs/IO/api/repeat.cjs.map +1 -1
  349. package/_cjs/IO/api/retry.cjs +8 -9
  350. package/_cjs/IO/api/retry.cjs.map +1 -1
  351. package/_cjs/IO/api/schedule.cjs +6 -7
  352. package/_cjs/IO/api/schedule.cjs.map +1 -1
  353. package/_cjs/IO/api/scope.cjs +1 -1
  354. package/_cjs/IO/api/scope.cjs.map +1 -1
  355. package/_cjs/IO/api/scopeWith.cjs +2 -4
  356. package/_cjs/IO/api/scopeWith.cjs.map +1 -1
  357. package/_cjs/IO/api/scoped.cjs +4 -5
  358. package/_cjs/IO/api/scoped.cjs.map +1 -1
  359. package/_cjs/IO/api/stateful.cjs +1 -1
  360. package/_cjs/IO/api/stateful.cjs.map +1 -1
  361. package/_cjs/IO/api/timeout.cjs +3 -4
  362. package/_cjs/IO/api/timeout.cjs.map +1 -1
  363. package/_cjs/IO/api/withChildren.cjs +1 -1
  364. package/_cjs/IO/api/withChildren.cjs.map +1 -1
  365. package/_cjs/IO/api/withEarlyRelease.cjs +2 -4
  366. package/_cjs/IO/api/withEarlyRelease.cjs.map +1 -1
  367. package/_cjs/IO/api/withFinalizer.cjs +2 -2
  368. package/_cjs/IO/api/withFinalizer.cjs.map +1 -1
  369. package/_cjs/IO/api/withFinalizerExit.cjs +2 -4
  370. package/_cjs/IO/api/withFinalizerExit.cjs.map +1 -1
  371. package/_cjs/IO/api/withRuntimeConfig.cjs +2 -4
  372. package/_cjs/IO/api/withRuntimeConfig.cjs.map +1 -1
  373. package/_cjs/IO/api/zipC.cjs +5 -6
  374. package/_cjs/IO/api/zipC.cjs.map +1 -1
  375. package/_cjs/IO/api.cjs +112 -112
  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 +69 -21
  380. package/_cjs/IO/runtime.cjs.map +1 -1
  381. package/_cjs/IOEnv/live.cjs +3 -1
  382. package/_cjs/IOEnv/live.cjs.map +1 -1
  383. package/_cjs/Layer/MemoMap.cjs +45 -62
  384. package/_cjs/Layer/MemoMap.cjs.map +1 -1
  385. package/_cjs/Layer/api.cjs +84 -83
  386. package/_cjs/Layer/api.cjs.map +1 -1
  387. package/_cjs/Layer/definition.cjs +14 -7
  388. package/_cjs/Layer/definition.cjs.map +1 -1
  389. package/_cjs/Queue/api/dimapIO.cjs +14 -14
  390. package/_cjs/Queue/api/dimapIO.cjs.map +1 -1
  391. package/_cjs/Queue/api/filterInputIO.cjs +6 -6
  392. package/_cjs/Queue/api/filterInputIO.cjs.map +1 -1
  393. package/_cjs/Queue/api/filterOutputIO.cjs +6 -6
  394. package/_cjs/Queue/api/filterOutputIO.cjs.map +1 -1
  395. package/_cjs/Queue/api/operations.cjs +13 -13
  396. package/_cjs/Queue/api/operations.cjs.map +1 -1
  397. package/_cjs/Queue/api/poll.cjs +2 -4
  398. package/_cjs/Queue/api/poll.cjs.map +1 -1
  399. package/_cjs/Queue/api/takeBetween.cjs +10 -12
  400. package/_cjs/Queue/api/takeBetween.cjs.map +1 -1
  401. package/_cjs/Queue/api/zipWithIO.cjs +12 -12
  402. package/_cjs/Queue/api/zipWithIO.cjs.map +1 -1
  403. package/_cjs/Queue/constructors.cjs +8 -10
  404. package/_cjs/Queue/constructors.cjs.map +1 -1
  405. package/_cjs/Queue/internal.cjs +17 -17
  406. package/_cjs/Queue/internal.cjs.map +1 -1
  407. package/_cjs/Queue/strategy.cjs +16 -20
  408. package/_cjs/Queue/strategy.cjs.map +1 -1
  409. package/_cjs/Random/api.cjs +15 -13
  410. package/_cjs/Random/api.cjs.map +1 -1
  411. package/_cjs/Random/live.cjs +4 -4
  412. package/_cjs/Random/live.cjs.map +1 -1
  413. package/_cjs/Ref/Atomic/Atomic.cjs.map +1 -1
  414. package/_cjs/Ref/Atomic/api.cjs +19 -21
  415. package/_cjs/Ref/Atomic/api.cjs.map +1 -1
  416. package/_cjs/Ref/Derived.cjs.map +1 -1
  417. package/_cjs/Ref/DerivedAll.cjs +1 -1
  418. package/_cjs/Ref/DerivedAll.cjs.map +1 -1
  419. package/_cjs/Ref/Synchronized/api.cjs +25 -26
  420. package/_cjs/Ref/Synchronized/api.cjs.map +1 -1
  421. package/_cjs/Ref/Synchronized/constructors.cjs +8 -14
  422. package/_cjs/Ref/Synchronized/constructors.cjs.map +1 -1
  423. package/_cjs/Ref/Synchronized/definition.cjs +1 -1
  424. package/_cjs/Ref/Synchronized/definition.cjs.map +1 -1
  425. package/_cjs/Ref/api/collect.cjs +1 -1
  426. package/_cjs/Ref/api/collect.cjs.map +1 -1
  427. package/_cjs/Ref/api/dimap.cjs +12 -12
  428. package/_cjs/Ref/api/dimap.cjs.map +1 -1
  429. package/_cjs/Ref/api/filter.cjs +2 -2
  430. package/_cjs/Ref/api/filter.cjs.map +1 -1
  431. package/_cjs/Ref/api/get.cjs +1 -1
  432. package/_cjs/Ref/api/get.cjs.map +1 -1
  433. package/_cjs/Ref/api/modify.cjs +29 -30
  434. package/_cjs/Ref/api/modify.cjs.map +1 -1
  435. package/_cjs/Ref/api/set.cjs +1 -1
  436. package/_cjs/Ref/api/set.cjs.map +1 -1
  437. package/_cjs/Ref/constructors.cjs +3 -4
  438. package/_cjs/Ref/constructors.cjs.map +1 -1
  439. package/_cjs/STM/api/core-api.cjs +8 -8
  440. package/_cjs/STM/api/core-api.cjs.map +1 -1
  441. package/_cjs/STM/api/core-constructors.cjs +6 -6
  442. package/_cjs/STM/api/core-constructors.cjs.map +1 -1
  443. package/_cjs/STM/api.cjs +129 -148
  444. package/_cjs/STM/api.cjs.map +1 -1
  445. package/_cjs/STM/definition.cjs.map +1 -1
  446. package/_cjs/STM/driver.cjs +10 -6
  447. package/_cjs/STM/driver.cjs.map +1 -1
  448. package/_cjs/STM/internal/Journal.cjs +20 -22
  449. package/_cjs/STM/internal/Journal.cjs.map +1 -1
  450. package/_cjs/Schedule/Decision.cjs +17 -0
  451. package/_cjs/Schedule/Decision.cjs.map +1 -1
  452. package/_cjs/Schedule/api/driver.cjs +18 -21
  453. package/_cjs/Schedule/api/driver.cjs.map +1 -1
  454. package/_cjs/Schedule/api.cjs +205 -180
  455. package/_cjs/Schedule/api.cjs.map +1 -1
  456. package/_cjs/Scope/Finalizer/definition.cjs +4 -6
  457. package/_cjs/Scope/Finalizer/definition.cjs.map +1 -1
  458. package/_cjs/Scope/ReleaseMap/api/releaseAll.cjs +3 -5
  459. package/_cjs/Scope/ReleaseMap/api/releaseAll.cjs.map +1 -1
  460. package/_cjs/Scope/ReleaseMap/api.cjs +14 -15
  461. package/_cjs/Scope/ReleaseMap/api.cjs.map +1 -1
  462. package/_cjs/Scope/ReleaseMap/constructors.cjs +1 -1
  463. package/_cjs/Scope/ReleaseMap/constructors.cjs.map +1 -1
  464. package/_cjs/Scope/ReleaseMap/definition.cjs +2 -4
  465. package/_cjs/Scope/ReleaseMap/definition.cjs.map +1 -1
  466. package/_cjs/Scope/api.cjs +20 -30
  467. package/_cjs/Scope/api.cjs.map +1 -1
  468. package/_cjs/ScopedRef/api.cjs +14 -22
  469. package/_cjs/ScopedRef/api.cjs.map +1 -1
  470. package/_cjs/Sink/api.cjs +92 -88
  471. package/_cjs/Sink/api.cjs.map +1 -1
  472. package/_cjs/State/api.cjs +5 -7
  473. package/_cjs/State/api.cjs.map +1 -1
  474. package/_cjs/Stream/api/zipAllWith.cjs +22 -24
  475. package/_cjs/Stream/api/zipAllWith.cjs.map +1 -1
  476. package/_cjs/Stream/api/zipWith.cjs +2 -2
  477. package/_cjs/Stream/api/zipWith.cjs.map +1 -1
  478. package/_cjs/Stream/api/zipWithChunks.cjs +20 -22
  479. package/_cjs/Stream/api/zipWithChunks.cjs.map +1 -1
  480. package/_cjs/Stream/api.cjs +436 -419
  481. package/_cjs/Stream/api.cjs.map +1 -1
  482. package/_cjs/Stream/internal/Handoff.cjs +12 -12
  483. package/_cjs/Stream/internal/Handoff.cjs.map +1 -1
  484. package/_cjs/Stream/internal/Pull.cjs +1 -1
  485. package/_cjs/Stream/internal/Pull.cjs.map +1 -1
  486. package/_cjs/Stream/internal/Take.cjs +1 -1
  487. package/_cjs/Stream/internal/Take.cjs.map +1 -1
  488. package/_cjs/Supervisor/api.cjs +3 -1
  489. package/_cjs/Supervisor/api.cjs.map +1 -1
  490. package/_cjs/Supervisor/constructors.cjs +14 -8
  491. package/_cjs/Supervisor/constructors.cjs.map +1 -1
  492. package/_cjs/TFuture/api.cjs +10 -10
  493. package/_cjs/TFuture/api.cjs.map +1 -1
  494. package/_cjs/TFuture/constructors.cjs +4 -4
  495. package/_cjs/TFuture/constructors.cjs.map +1 -1
  496. package/_cjs/TFuture/definition.cjs +2 -4
  497. package/_cjs/TFuture/definition.cjs.map +1 -1
  498. package/_cjs/TReentrantLock/api.cjs +41 -42
  499. package/_cjs/TReentrantLock/api.cjs.map +1 -1
  500. package/_cjs/TRef/api.cjs +40 -40
  501. package/_cjs/TRef/api.cjs.map +1 -1
  502. package/_cjs/TRef/constructors.cjs +6 -6
  503. package/_cjs/TRef/constructors.cjs.map +1 -1
  504. package/_cjs/TSemaphore/api.cjs +20 -21
  505. package/_cjs/TSemaphore/api.cjs.map +1 -1
  506. package/_cjs/TSemaphore/constructors.cjs +2 -2
  507. package/_cjs/TSemaphore/constructors.cjs.map +1 -1
  508. package/_cjs/TSemaphore/definition.cjs +2 -4
  509. package/_cjs/TSemaphore/definition.cjs.map +1 -1
  510. package/_cjs/collection/immutable/Conc/dropUntilIO.cjs +1 -1
  511. package/_cjs/collection/immutable/Conc/dropUntilIO.cjs.map +1 -1
  512. package/_cjs/collection/immutable/Conc/dropWhileIO.cjs +1 -1
  513. package/_cjs/collection/immutable/Conc/dropWhileIO.cjs.map +1 -1
  514. package/_cjs/collection/immutable/Conc/filterIO.cjs +5 -7
  515. package/_cjs/collection/immutable/Conc/filterIO.cjs.map +1 -1
  516. package/_cjs/collection/immutable/Conc/findIO.cjs +7 -9
  517. package/_cjs/collection/immutable/Conc/findIO.cjs.map +1 -1
  518. package/_cjs/collection/immutable/Conc/mapIO.cjs +3 -5
  519. package/_cjs/collection/immutable/Conc/mapIO.cjs.map +1 -1
  520. package/_cjs/collection/immutable/Conc/takeWhileIO.cjs +7 -9
  521. package/_cjs/collection/immutable/Conc/takeWhileIO.cjs.map +1 -1
  522. package/_cjs/collection/immutable/Conc.cjs +26 -0
  523. package/_cjs/collection/immutable/Conc.cjs.map +1 -1
  524. package/_cjs/data/Exit/foreachIO.cjs +2 -4
  525. package/_cjs/data/Exit/foreachIO.cjs.map +1 -1
  526. package/_cjs/global.cjs +6 -0
  527. package/_cjs/global.cjs.map +1 -0
  528. package/_cjs/index.cjs +6 -0
  529. package/_cjs/index.cjs.map +1 -0
  530. package/_cjs/internal/Scheduler.cjs +64 -14
  531. package/_cjs/internal/Scheduler.cjs.map +1 -1
  532. package/_mjs/Cached/api.mjs +5 -5
  533. package/_mjs/Cached/api.mjs.map +1 -1
  534. package/_mjs/Channel/api/interruptWhen.mjs +1 -1
  535. package/_mjs/Channel/api/interruptWhen.mjs.map +1 -1
  536. package/_mjs/Channel/api/mapOutIOC.mjs +2 -2
  537. package/_mjs/Channel/api/mapOutIOC.mjs.map +1 -1
  538. package/_mjs/Channel/api/mergeAllWith.mjs +11 -11
  539. package/_mjs/Channel/api/mergeAllWith.mjs.map +1 -1
  540. package/_mjs/Channel/api/mergeWith.mjs +6 -5
  541. package/_mjs/Channel/api/mergeWith.mjs.map +1 -1
  542. package/_mjs/Channel/api/run.mjs +2 -1
  543. package/_mjs/Channel/api/run.mjs.map +1 -1
  544. package/_mjs/Channel/api.mjs +7 -7
  545. package/_mjs/Channel/api.mjs.map +1 -1
  546. package/_mjs/Channel/core-api.mjs.map +1 -1
  547. package/_mjs/Channel/definition.mjs.map +1 -1
  548. package/_mjs/Channel/internal/ChannelExecutor.mjs +6 -6
  549. package/_mjs/Channel/internal/ChannelExecutor.mjs.map +1 -1
  550. package/_mjs/Channel/internal/ChannelState.mjs +2 -1
  551. package/_mjs/Channel/internal/ChannelState.mjs.map +1 -1
  552. package/_mjs/Channel/internal/SingleProducerAsyncInput.mjs +16 -16
  553. package/_mjs/Channel/internal/SingleProducerAsyncInput.mjs.map +1 -1
  554. package/_mjs/Clock/live.mjs.map +1 -1
  555. package/_mjs/Console/api.mjs +4 -3
  556. package/_mjs/Console/api.mjs.map +1 -1
  557. package/_mjs/Fiber/FiberContext.mjs +9 -9
  558. package/_mjs/Fiber/FiberContext.mjs.map +1 -1
  559. package/_mjs/Fiber/api/await.mjs +1 -1
  560. package/_mjs/Fiber/api/await.mjs.map +1 -1
  561. package/_mjs/Fiber/api/awaitAll.mjs +2 -3
  562. package/_mjs/Fiber/api/awaitAll.mjs.map +1 -1
  563. package/_mjs/Fiber/api/children.mjs +1 -1
  564. package/_mjs/Fiber/api/children.mjs.map +1 -1
  565. package/_mjs/Fiber/api/collectAll.mjs +2 -3
  566. package/_mjs/Fiber/api/collectAll.mjs.map +1 -1
  567. package/_mjs/Fiber/api/evalOn.mjs +1 -1
  568. package/_mjs/Fiber/api/evalOn.mjs.map +1 -1
  569. package/_mjs/Fiber/api/evalOnIO.mjs +2 -3
  570. package/_mjs/Fiber/api/evalOnIO.mjs.map +1 -1
  571. package/_mjs/Fiber/api/fromIO.mjs +2 -3
  572. package/_mjs/Fiber/api/fromIO.mjs.map +1 -1
  573. package/_mjs/Fiber/api/id.mjs +1 -1
  574. package/_mjs/Fiber/api/id.mjs.map +1 -1
  575. package/_mjs/Fiber/api/inheritRefs.mjs +1 -1
  576. package/_mjs/Fiber/api/inheritRefs.mjs.map +1 -1
  577. package/_mjs/Fiber/api/interrupt.mjs +2 -3
  578. package/_mjs/Fiber/api/interrupt.mjs.map +1 -1
  579. package/_mjs/Fiber/api/interruptAll.mjs +4 -5
  580. package/_mjs/Fiber/api/interruptAll.mjs.map +1 -1
  581. package/_mjs/Fiber/api/interruptAs.mjs +1 -1
  582. package/_mjs/Fiber/api/interruptAs.mjs.map +1 -1
  583. package/_mjs/Fiber/api/interruptFork.mjs +1 -1
  584. package/_mjs/Fiber/api/interruptFork.mjs.map +1 -1
  585. package/_mjs/Fiber/api/join.mjs +2 -3
  586. package/_mjs/Fiber/api/join.mjs.map +1 -1
  587. package/_mjs/Fiber/api/joinAll.mjs +2 -3
  588. package/_mjs/Fiber/api/joinAll.mjs.map +1 -1
  589. package/_mjs/Fiber/api/mapFiber.mjs +2 -3
  590. package/_mjs/Fiber/api/mapFiber.mjs.map +1 -1
  591. package/_mjs/Fiber/api/mapIO.mjs +4 -5
  592. package/_mjs/Fiber/api/mapIO.mjs.map +1 -1
  593. package/_mjs/Fiber/api/poll.mjs +1 -1
  594. package/_mjs/Fiber/api/poll.mjs.map +1 -1
  595. package/_mjs/Fiber/api/zipWith.mjs +2 -3
  596. package/_mjs/Fiber/api/zipWith.mjs.map +1 -1
  597. package/_mjs/Fiber/constructors.mjs +10 -11
  598. package/_mjs/Fiber/constructors.mjs.map +1 -1
  599. package/_mjs/FiberRef/api/locallyScoped.mjs +2 -3
  600. package/_mjs/FiberRef/api/locallyScoped.mjs.map +1 -1
  601. package/_mjs/FiberRef/api/locallyScopedWith.mjs +2 -3
  602. package/_mjs/FiberRef/api/locallyScopedWith.mjs.map +1 -1
  603. package/_mjs/FiberRef/api.mjs +13 -14
  604. package/_mjs/FiberRef/api.mjs.map +1 -1
  605. package/_mjs/FiberRef/constructors.mjs +4 -5
  606. package/_mjs/FiberRef/constructors.mjs.map +1 -1
  607. package/_mjs/FiberRef/unsafe.mjs +6 -0
  608. package/_mjs/FiberRef/unsafe.mjs.map +1 -1
  609. package/_mjs/Future/api.mjs +30 -31
  610. package/_mjs/Future/api.mjs.map +1 -1
  611. package/_mjs/Future/constructors.mjs +4 -5
  612. package/_mjs/Future/constructors.mjs.map +1 -1
  613. package/_mjs/Hub/api.mjs +44 -44
  614. package/_mjs/Hub/api.mjs.map +1 -1
  615. package/_mjs/Hub/internal.mjs +16 -24
  616. package/_mjs/Hub/internal.mjs.map +1 -1
  617. package/_mjs/IO/api/acquireRelease.mjs +2 -3
  618. package/_mjs/IO/api/acquireRelease.mjs.map +1 -1
  619. package/_mjs/IO/api/acquireReleaseExit.mjs +1 -1
  620. package/_mjs/IO/api/acquireReleaseExit.mjs.map +1 -1
  621. package/_mjs/IO/api/acquireReleaseInterruptibleExit.mjs +1 -1
  622. package/_mjs/IO/api/acquireReleaseInterruptibleExit.mjs.map +1 -1
  623. package/_mjs/IO/api/addFinalizer.mjs +1 -1
  624. package/_mjs/IO/api/addFinalizer.mjs.map +1 -1
  625. package/_mjs/IO/api/addFinalizerExit.mjs +5 -10
  626. package/_mjs/IO/api/addFinalizerExit.mjs.map +1 -1
  627. package/_mjs/IO/api/asyncIO.mjs +5 -6
  628. package/_mjs/IO/api/asyncIO.mjs.map +1 -1
  629. package/_mjs/IO/api/bracket.mjs +2 -2
  630. package/_mjs/IO/api/bracket.mjs.map +1 -1
  631. package/_mjs/IO/api/bracketExit.mjs +2 -3
  632. package/_mjs/IO/api/bracketExit.mjs.map +1 -1
  633. package/_mjs/IO/api/concurrency.mjs +7 -7
  634. package/_mjs/IO/api/concurrency.mjs.map +1 -1
  635. package/_mjs/IO/api/concurrentFinalizers.mjs +2 -3
  636. package/_mjs/IO/api/concurrentFinalizers.mjs.map +1 -1
  637. package/_mjs/IO/api/consoleWith.mjs +3 -3
  638. package/_mjs/IO/api/consoleWith.mjs.map +1 -1
  639. package/_mjs/IO/api/core-scope.mjs +4 -4
  640. package/_mjs/IO/api/core-scope.mjs.map +1 -1
  641. package/_mjs/IO/api/ensuringChildren.mjs +2 -3
  642. package/_mjs/IO/api/ensuringChildren.mjs.map +1 -1
  643. package/_mjs/IO/api/environment.mjs +6 -8
  644. package/_mjs/IO/api/environment.mjs.map +1 -1
  645. package/_mjs/IO/api/foreachC.mjs +25 -26
  646. package/_mjs/IO/api/foreachC.mjs.map +1 -1
  647. package/_mjs/IO/api/foreachExec.mjs +2 -3
  648. package/_mjs/IO/api/foreachExec.mjs.map +1 -1
  649. package/_mjs/IO/api/forkIn.mjs +1 -1
  650. package/_mjs/IO/api/forkIn.mjs.map +1 -1
  651. package/_mjs/IO/api/forkScoped.mjs +1 -1
  652. package/_mjs/IO/api/forkScoped.mjs.map +1 -1
  653. package/_mjs/IO/api/fulfill.mjs +2 -3
  654. package/_mjs/IO/api/fulfill.mjs.map +1 -1
  655. package/_mjs/IO/api/interrupt.mjs +13 -13
  656. package/_mjs/IO/api/interrupt.mjs.map +1 -1
  657. package/_mjs/IO/api/memoize.mjs +4 -8
  658. package/_mjs/IO/api/memoize.mjs.map +1 -1
  659. package/_mjs/IO/api/onExit.mjs +2 -2
  660. package/_mjs/IO/api/onExit.mjs.map +1 -1
  661. package/_mjs/IO/api/onTermination.mjs +2 -2
  662. package/_mjs/IO/api/onTermination.mjs.map +1 -1
  663. package/_mjs/IO/api/once.mjs +1 -1
  664. package/_mjs/IO/api/once.mjs.map +1 -1
  665. package/_mjs/IO/api/provideLayer.mjs +2 -3
  666. package/_mjs/IO/api/provideLayer.mjs.map +1 -1
  667. package/_mjs/IO/api/provideSomeLayer.mjs +2 -3
  668. package/_mjs/IO/api/provideSomeLayer.mjs.map +1 -1
  669. package/_mjs/IO/api/race.mjs +4 -5
  670. package/_mjs/IO/api/race.mjs.map +1 -1
  671. package/_mjs/IO/api/raceFirst.mjs +2 -3
  672. package/_mjs/IO/api/raceFirst.mjs.map +1 -1
  673. package/_mjs/IO/api/randomWith.mjs +3 -3
  674. package/_mjs/IO/api/randomWith.mjs.map +1 -1
  675. package/_mjs/IO/api/repeat.mjs +10 -11
  676. package/_mjs/IO/api/repeat.mjs.map +1 -1
  677. package/_mjs/IO/api/retry.mjs +8 -9
  678. package/_mjs/IO/api/retry.mjs.map +1 -1
  679. package/_mjs/IO/api/schedule.mjs +6 -7
  680. package/_mjs/IO/api/schedule.mjs.map +1 -1
  681. package/_mjs/IO/api/scope.mjs +1 -1
  682. package/_mjs/IO/api/scope.mjs.map +1 -1
  683. package/_mjs/IO/api/scopeWith.mjs +2 -3
  684. package/_mjs/IO/api/scopeWith.mjs.map +1 -1
  685. package/_mjs/IO/api/scoped.mjs +4 -5
  686. package/_mjs/IO/api/scoped.mjs.map +1 -1
  687. package/_mjs/IO/api/stateful.mjs +1 -1
  688. package/_mjs/IO/api/stateful.mjs.map +1 -1
  689. package/_mjs/IO/api/timeout.mjs +3 -4
  690. package/_mjs/IO/api/timeout.mjs.map +1 -1
  691. package/_mjs/IO/api/withChildren.mjs +1 -1
  692. package/_mjs/IO/api/withChildren.mjs.map +1 -1
  693. package/_mjs/IO/api/withEarlyRelease.mjs +2 -3
  694. package/_mjs/IO/api/withEarlyRelease.mjs.map +1 -1
  695. package/_mjs/IO/api/withFinalizer.mjs +2 -2
  696. package/_mjs/IO/api/withFinalizer.mjs.map +1 -1
  697. package/_mjs/IO/api/withFinalizerExit.mjs +2 -3
  698. package/_mjs/IO/api/withFinalizerExit.mjs.map +1 -1
  699. package/_mjs/IO/api/withRuntimeConfig.mjs +2 -3
  700. package/_mjs/IO/api/withRuntimeConfig.mjs.map +1 -1
  701. package/_mjs/IO/api/zipC.mjs +5 -6
  702. package/_mjs/IO/api/zipC.mjs.map +1 -1
  703. package/_mjs/IO/api.mjs +112 -112
  704. package/_mjs/IO/api.mjs.map +1 -1
  705. package/_mjs/IO/definition.mjs +3 -5
  706. package/_mjs/IO/definition.mjs.map +1 -1
  707. package/_mjs/IO/runtime.mjs +61 -18
  708. package/_mjs/IO/runtime.mjs.map +1 -1
  709. package/_mjs/IOEnv/live.mjs +2 -1
  710. package/_mjs/IOEnv/live.mjs.map +1 -1
  711. package/_mjs/Layer/MemoMap.mjs +43 -60
  712. package/_mjs/Layer/MemoMap.mjs.map +1 -1
  713. package/_mjs/Layer/api.mjs +84 -84
  714. package/_mjs/Layer/api.mjs.map +1 -1
  715. package/_mjs/Layer/definition.mjs +14 -7
  716. package/_mjs/Layer/definition.mjs.map +1 -1
  717. package/_mjs/Queue/api/dimapIO.mjs +14 -14
  718. package/_mjs/Queue/api/dimapIO.mjs.map +1 -1
  719. package/_mjs/Queue/api/filterInputIO.mjs +6 -6
  720. package/_mjs/Queue/api/filterInputIO.mjs.map +1 -1
  721. package/_mjs/Queue/api/filterOutputIO.mjs +6 -6
  722. package/_mjs/Queue/api/filterOutputIO.mjs.map +1 -1
  723. package/_mjs/Queue/api/operations.mjs +13 -13
  724. package/_mjs/Queue/api/operations.mjs.map +1 -1
  725. package/_mjs/Queue/api/poll.mjs +2 -3
  726. package/_mjs/Queue/api/poll.mjs.map +1 -1
  727. package/_mjs/Queue/api/takeBetween.mjs +10 -11
  728. package/_mjs/Queue/api/takeBetween.mjs.map +1 -1
  729. package/_mjs/Queue/api/zipWithIO.mjs +12 -12
  730. package/_mjs/Queue/api/zipWithIO.mjs.map +1 -1
  731. package/_mjs/Queue/constructors.mjs +8 -9
  732. package/_mjs/Queue/constructors.mjs.map +1 -1
  733. package/_mjs/Queue/internal.mjs +17 -17
  734. package/_mjs/Queue/internal.mjs.map +1 -1
  735. package/_mjs/Queue/strategy.mjs +16 -20
  736. package/_mjs/Queue/strategy.mjs.map +1 -1
  737. package/_mjs/Random/api.mjs +14 -13
  738. package/_mjs/Random/api.mjs.map +1 -1
  739. package/_mjs/Random/live.mjs +4 -4
  740. package/_mjs/Random/live.mjs.map +1 -1
  741. package/_mjs/Ref/Atomic/Atomic.mjs.map +1 -1
  742. package/_mjs/Ref/Atomic/api.mjs +19 -20
  743. package/_mjs/Ref/Atomic/api.mjs.map +1 -1
  744. package/_mjs/Ref/Derived.mjs.map +1 -1
  745. package/_mjs/Ref/DerivedAll.mjs +1 -1
  746. package/_mjs/Ref/DerivedAll.mjs.map +1 -1
  747. package/_mjs/Ref/Synchronized/api.mjs +25 -26
  748. package/_mjs/Ref/Synchronized/api.mjs.map +1 -1
  749. package/_mjs/Ref/Synchronized/constructors.mjs +8 -13
  750. package/_mjs/Ref/Synchronized/constructors.mjs.map +1 -1
  751. package/_mjs/Ref/Synchronized/definition.mjs +1 -1
  752. package/_mjs/Ref/Synchronized/definition.mjs.map +1 -1
  753. package/_mjs/Ref/api/collect.mjs +1 -1
  754. package/_mjs/Ref/api/collect.mjs.map +1 -1
  755. package/_mjs/Ref/api/dimap.mjs +12 -12
  756. package/_mjs/Ref/api/dimap.mjs.map +1 -1
  757. package/_mjs/Ref/api/filter.mjs +2 -2
  758. package/_mjs/Ref/api/filter.mjs.map +1 -1
  759. package/_mjs/Ref/api/get.mjs +1 -1
  760. package/_mjs/Ref/api/get.mjs.map +1 -1
  761. package/_mjs/Ref/api/modify.mjs +29 -30
  762. package/_mjs/Ref/api/modify.mjs.map +1 -1
  763. package/_mjs/Ref/api/set.mjs +1 -1
  764. package/_mjs/Ref/api/set.mjs.map +1 -1
  765. package/_mjs/Ref/constructors.mjs +3 -4
  766. package/_mjs/Ref/constructors.mjs.map +1 -1
  767. package/_mjs/STM/api/core-api.mjs +8 -8
  768. package/_mjs/STM/api/core-api.mjs.map +1 -1
  769. package/_mjs/STM/api/core-constructors.mjs +6 -6
  770. package/_mjs/STM/api/core-constructors.mjs.map +1 -1
  771. package/_mjs/STM/api.mjs +122 -142
  772. package/_mjs/STM/api.mjs.map +1 -1
  773. package/_mjs/STM/definition.mjs.map +1 -1
  774. package/_mjs/STM/driver.mjs +9 -6
  775. package/_mjs/STM/driver.mjs.map +1 -1
  776. package/_mjs/STM/internal/Journal.mjs +20 -21
  777. package/_mjs/STM/internal/Journal.mjs.map +1 -1
  778. package/_mjs/Schedule/Decision.mjs +9 -0
  779. package/_mjs/Schedule/Decision.mjs.map +1 -1
  780. package/_mjs/Schedule/api/driver.mjs +17 -20
  781. package/_mjs/Schedule/api/driver.mjs.map +1 -1
  782. package/_mjs/Schedule/api.mjs +198 -177
  783. package/_mjs/Schedule/api.mjs.map +1 -1
  784. package/_mjs/Scope/Finalizer/definition.mjs +4 -5
  785. package/_mjs/Scope/Finalizer/definition.mjs.map +1 -1
  786. package/_mjs/Scope/ReleaseMap/api/releaseAll.mjs +3 -4
  787. package/_mjs/Scope/ReleaseMap/api/releaseAll.mjs.map +1 -1
  788. package/_mjs/Scope/ReleaseMap/api.mjs +14 -15
  789. package/_mjs/Scope/ReleaseMap/api.mjs.map +1 -1
  790. package/_mjs/Scope/ReleaseMap/constructors.mjs +1 -1
  791. package/_mjs/Scope/ReleaseMap/constructors.mjs.map +1 -1
  792. package/_mjs/Scope/ReleaseMap/definition.mjs +2 -3
  793. package/_mjs/Scope/ReleaseMap/definition.mjs.map +1 -1
  794. package/_mjs/Scope/api.mjs +20 -30
  795. package/_mjs/Scope/api.mjs.map +1 -1
  796. package/_mjs/ScopedRef/api.mjs +14 -22
  797. package/_mjs/ScopedRef/api.mjs.map +1 -1
  798. package/_mjs/Sink/api.mjs +92 -88
  799. package/_mjs/Sink/api.mjs.map +1 -1
  800. package/_mjs/State/api.mjs +5 -6
  801. package/_mjs/State/api.mjs.map +1 -1
  802. package/_mjs/Stream/api/zipAllWith.mjs +22 -23
  803. package/_mjs/Stream/api/zipAllWith.mjs.map +1 -1
  804. package/_mjs/Stream/api/zipWith.mjs +2 -2
  805. package/_mjs/Stream/api/zipWith.mjs.map +1 -1
  806. package/_mjs/Stream/api/zipWithChunks.mjs +20 -21
  807. package/_mjs/Stream/api/zipWithChunks.mjs.map +1 -1
  808. package/_mjs/Stream/api.mjs +430 -417
  809. package/_mjs/Stream/api.mjs.map +1 -1
  810. package/_mjs/Stream/internal/Handoff.mjs +12 -12
  811. package/_mjs/Stream/internal/Handoff.mjs.map +1 -1
  812. package/_mjs/Stream/internal/Pull.mjs +1 -1
  813. package/_mjs/Stream/internal/Pull.mjs.map +1 -1
  814. package/_mjs/Stream/internal/Take.mjs +1 -1
  815. package/_mjs/Stream/internal/Take.mjs.map +1 -1
  816. package/_mjs/Supervisor/api.mjs +2 -1
  817. package/_mjs/Supervisor/api.mjs.map +1 -1
  818. package/_mjs/Supervisor/constructors.mjs +9 -6
  819. package/_mjs/Supervisor/constructors.mjs.map +1 -1
  820. package/_mjs/TFuture/api.mjs +10 -10
  821. package/_mjs/TFuture/api.mjs.map +1 -1
  822. package/_mjs/TFuture/constructors.mjs +4 -4
  823. package/_mjs/TFuture/constructors.mjs.map +1 -1
  824. package/_mjs/TFuture/definition.mjs +2 -3
  825. package/_mjs/TFuture/definition.mjs.map +1 -1
  826. package/_mjs/TReentrantLock/api.mjs +41 -42
  827. package/_mjs/TReentrantLock/api.mjs.map +1 -1
  828. package/_mjs/TRef/api.mjs +40 -40
  829. package/_mjs/TRef/api.mjs.map +1 -1
  830. package/_mjs/TRef/constructors.mjs +6 -6
  831. package/_mjs/TRef/constructors.mjs.map +1 -1
  832. package/_mjs/TSemaphore/api.mjs +17 -18
  833. package/_mjs/TSemaphore/api.mjs.map +1 -1
  834. package/_mjs/TSemaphore/constructors.mjs +2 -2
  835. package/_mjs/TSemaphore/constructors.mjs.map +1 -1
  836. package/_mjs/TSemaphore/definition.mjs +2 -3
  837. package/_mjs/TSemaphore/definition.mjs.map +1 -1
  838. package/_mjs/collection/immutable/Conc/dropUntilIO.mjs +1 -1
  839. package/_mjs/collection/immutable/Conc/dropUntilIO.mjs.map +1 -1
  840. package/_mjs/collection/immutable/Conc/dropWhileIO.mjs +1 -1
  841. package/_mjs/collection/immutable/Conc/dropWhileIO.mjs.map +1 -1
  842. package/_mjs/collection/immutable/Conc/filterIO.mjs +5 -6
  843. package/_mjs/collection/immutable/Conc/filterIO.mjs.map +1 -1
  844. package/_mjs/collection/immutable/Conc/findIO.mjs +7 -8
  845. package/_mjs/collection/immutable/Conc/findIO.mjs.map +1 -1
  846. package/_mjs/collection/immutable/Conc/mapIO.mjs +3 -4
  847. package/_mjs/collection/immutable/Conc/mapIO.mjs.map +1 -1
  848. package/_mjs/collection/immutable/Conc/takeWhileIO.mjs +7 -8
  849. package/_mjs/collection/immutable/Conc/takeWhileIO.mjs.map +1 -1
  850. package/_mjs/collection/immutable/Conc.mjs +2 -0
  851. package/_mjs/collection/immutable/Conc.mjs.map +1 -1
  852. package/_mjs/data/Exit/foreachIO.mjs +2 -3
  853. package/_mjs/data/Exit/foreachIO.mjs.map +1 -1
  854. package/_mjs/global.mjs +2 -0
  855. package/_mjs/global.mjs.map +1 -0
  856. package/_mjs/index.mjs +2 -0
  857. package/_mjs/index.mjs.map +1 -0
  858. package/_mjs/internal/Scheduler.mjs +62 -15
  859. package/_mjs/internal/Scheduler.mjs.map +1 -1
  860. package/_src/Cached/api.ts +4 -3
  861. package/_src/Channel/api/interruptWhen.ts +1 -1
  862. package/_src/Channel/api/mapOutIOC.ts +2 -2
  863. package/_src/Channel/api/mergeAll.ts +1 -1
  864. package/_src/Channel/api/mergeAllUnboundedWith.ts +1 -1
  865. package/_src/Channel/api/mergeAllWith.ts +3 -3
  866. package/_src/Channel/api/mergeMap.ts +1 -1
  867. package/_src/Channel/api/mergeWith.ts +9 -9
  868. package/_src/Channel/api/runScoped.ts +1 -1
  869. package/_src/Channel/api/toPull.ts +1 -1
  870. package/_src/Channel/api/zipC.ts +3 -3
  871. package/_src/Channel/api.ts +73 -73
  872. package/_src/Channel/core-api.ts +11 -13
  873. package/_src/Channel/definition.ts +19 -19
  874. package/_src/Channel/internal/MergeDecision.ts +1 -1
  875. package/_src/Clock/live.ts +1 -1
  876. package/_src/Console/api.ts +1 -1
  877. package/_src/Fiber/FiberContext.ts +10 -8
  878. package/_src/Fiber/api/await.ts +1 -1
  879. package/_src/Fiber/api/awaitAll.ts +1 -1
  880. package/_src/Fiber/api/children.ts +1 -1
  881. package/_src/Fiber/api/collectAll.ts +4 -1
  882. package/_src/Fiber/api/evalOn.ts +6 -1
  883. package/_src/Fiber/api/evalOnIO.ts +2 -1
  884. package/_src/Fiber/api/fromIO.ts +1 -1
  885. package/_src/Fiber/api/id.ts +1 -1
  886. package/_src/Fiber/api/inheritRefs.ts +1 -1
  887. package/_src/Fiber/api/interrupt.ts +1 -1
  888. package/_src/Fiber/api/interruptAll.ts +2 -2
  889. package/_src/Fiber/api/interruptAs.ts +1 -1
  890. package/_src/Fiber/api/join.ts +1 -1
  891. package/_src/Fiber/api/joinAll.ts +1 -1
  892. package/_src/Fiber/api/mapFiber.ts +5 -1
  893. package/_src/Fiber/api/mapIO.ts +6 -2
  894. package/_src/Fiber/api/poll.ts +1 -1
  895. package/_src/Fiber/api/zipWith.ts +1 -0
  896. package/_src/Fiber/constructors.ts +5 -5
  897. package/_src/Fiber/definition.ts +1 -1
  898. package/_src/FiberRef/api/locallyScoped.ts +1 -1
  899. package/_src/FiberRef/api/locallyScopedWith.ts +5 -1
  900. package/_src/FiberRef/api.ts +7 -7
  901. package/_src/FiberRef/constructors.ts +4 -2
  902. package/_src/FiberRef/unsafe.ts +7 -0
  903. package/_src/Future/api.ts +24 -16
  904. package/_src/Future/constructors.ts +2 -2
  905. package/_src/Hub/api.ts +50 -23
  906. package/_src/Hub/definition.ts +6 -6
  907. package/_src/Hub/internal.ts +15 -15
  908. package/_src/IO/api/acquireRelease.ts +2 -1
  909. package/_src/IO/api/acquireReleaseExit.ts +1 -1
  910. package/_src/IO/api/acquireReleaseInterruptible.ts +1 -1
  911. package/_src/IO/api/acquireReleaseInterruptibleExit.ts +1 -1
  912. package/_src/IO/api/addFinalizer.ts +1 -4
  913. package/_src/IO/api/addFinalizerExit.ts +6 -5
  914. package/_src/IO/api/asyncIO.ts +4 -1
  915. package/_src/IO/api/bracket.ts +2 -1
  916. package/_src/IO/api/bracketExit.ts +2 -1
  917. package/_src/IO/api/concurrency.ts +6 -3
  918. package/_src/IO/api/concurrentFinalizers.ts +1 -1
  919. package/_src/IO/api/consoleWith.ts +1 -1
  920. package/_src/IO/api/core-scope.ts +1 -1
  921. package/_src/IO/api/ensuringChildren.ts +3 -2
  922. package/_src/IO/api/environment.ts +9 -11
  923. package/_src/IO/api/foreachC.ts +33 -6
  924. package/_src/IO/api/foreachExec.ts +1 -0
  925. package/_src/IO/api/forkScoped.ts +1 -1
  926. package/_src/IO/api/fulfill.ts +1 -1
  927. package/_src/IO/api/interrupt.ts +13 -5
  928. package/_src/IO/api/memoize.ts +3 -3
  929. package/_src/IO/api/onExit.ts +2 -1
  930. package/_src/IO/api/onTermination.ts +2 -2
  931. package/_src/IO/api/provideLayer.ts +1 -0
  932. package/_src/IO/api/provideSomeLayer.ts +1 -3
  933. package/_src/IO/api/race.ts +6 -2
  934. package/_src/IO/api/raceFirst.ts +6 -2
  935. package/_src/IO/api/randomWith.ts +1 -1
  936. package/_src/IO/api/repeat.ts +7 -7
  937. package/_src/IO/api/retry.ts +7 -7
  938. package/_src/IO/api/schedule.ts +4 -3
  939. package/_src/IO/api/scope.ts +1 -1
  940. package/_src/IO/api/scopeWith.ts +1 -1
  941. package/_src/IO/api/scoped.ts +2 -2
  942. package/_src/IO/api/sequenceT.ts +1 -1
  943. package/_src/IO/api/stateful.ts +1 -1
  944. package/_src/IO/api/timeout.ts +5 -1
  945. package/_src/IO/api/withChildren.ts +1 -1
  946. package/_src/IO/api/withEarlyRelease.ts +4 -1
  947. package/_src/IO/api/withFinalizer.ts +2 -1
  948. package/_src/IO/api/withFinalizerExit.ts +2 -1
  949. package/_src/IO/api/withRuntimeConfig.ts +5 -1
  950. package/_src/IO/api/zipC.ts +7 -2
  951. package/_src/IO/api.ts +125 -75
  952. package/_src/IO/definition.ts +32 -27
  953. package/_src/IO/runtime.ts +66 -12
  954. package/_src/IOEnv/definition.ts +1 -1
  955. package/_src/Layer/MemoMap.ts +41 -34
  956. package/_src/Layer/api.ts +82 -49
  957. package/_src/Layer/definition.ts +11 -8
  958. package/_src/Queue/api/dimapIO.ts +21 -11
  959. package/_src/Queue/api/filterInputIO.ts +6 -4
  960. package/_src/Queue/api/filterOutputIO.ts +8 -6
  961. package/_src/Queue/api/operations.ts +28 -10
  962. package/_src/Queue/api/poll.ts +4 -1
  963. package/_src/Queue/api/takeBetween.ts +6 -1
  964. package/_src/Queue/api/zipWithIO.ts +13 -10
  965. package/_src/Queue/constructors.ts +4 -4
  966. package/_src/Queue/definition.ts +10 -10
  967. package/_src/Queue/internal.ts +7 -7
  968. package/_src/Queue/strategy.ts +18 -10
  969. package/_src/Random/api.ts +5 -5
  970. package/_src/Random/definition.ts +5 -5
  971. package/_src/Random/live.ts +4 -4
  972. package/_src/Ref/Atomic/Atomic.ts +3 -3
  973. package/_src/Ref/Atomic/api.ts +10 -10
  974. package/_src/Ref/Derived.ts +3 -3
  975. package/_src/Ref/DerivedAll.ts +3 -3
  976. package/_src/Ref/Synchronized/api.ts +33 -18
  977. package/_src/Ref/Synchronized/constructors.ts +5 -5
  978. package/_src/Ref/Synchronized/definition.ts +2 -2
  979. package/_src/Ref/api/collect.ts +1 -0
  980. package/_src/Ref/api/dimap.ts +7 -0
  981. package/_src/Ref/api/filter.ts +2 -0
  982. package/_src/Ref/api/get.ts +5 -2
  983. package/_src/Ref/api/modify.ts +21 -9
  984. package/_src/Ref/api/set.ts +5 -1
  985. package/_src/Ref/constructors.ts +2 -2
  986. package/_src/Ref/definition.ts +14 -14
  987. package/_src/STM/api/core-api.ts +20 -7
  988. package/_src/STM/api/core-constructors.ts +7 -7
  989. package/_src/STM/api.ts +150 -116
  990. package/_src/STM/definition.ts +6 -6
  991. package/_src/STM/driver.ts +3 -3
  992. package/_src/STM/internal/Journal.ts +25 -16
  993. package/_src/Schedule/Decision.ts +10 -3
  994. package/_src/Schedule/Driver.ts +2 -2
  995. package/_src/Schedule/api/driver.ts +6 -6
  996. package/_src/Schedule/api.ts +182 -82
  997. package/_src/Schedule/definition.ts +1 -1
  998. package/_src/Scope/Finalizer/definition.ts +2 -2
  999. package/_src/Scope/ReleaseMap/api/releaseAll.ts +6 -1
  1000. package/_src/Scope/ReleaseMap/api.ts +15 -5
  1001. package/_src/Scope/ReleaseMap/definition.ts +1 -1
  1002. package/_src/Scope/api.ts +23 -15
  1003. package/_src/ScopedRef/api.ts +12 -17
  1004. package/_src/ScopedRef/definition.ts +1 -1
  1005. package/_src/Sink/api.ts +111 -85
  1006. package/_src/State/api.ts +1 -1
  1007. package/_src/Stream/api/zipAllWith.ts +5 -2
  1008. package/_src/Stream/api/zipWith.ts +2 -1
  1009. package/_src/Stream/api/zipWithChunks.ts +5 -2
  1010. package/_src/Stream/api.ts +484 -216
  1011. package/_src/Stream/definition.ts +3 -3
  1012. package/_src/Stream/internal/Take.ts +1 -1
  1013. package/_src/Supervisor/constructors.ts +7 -3
  1014. package/_src/TFuture/api.ts +5 -5
  1015. package/_src/TFuture/constructors.ts +2 -2
  1016. package/_src/TFuture/definition.ts +1 -1
  1017. package/_src/TReentrantLock/api.ts +18 -18
  1018. package/_src/TRef/api.ts +36 -14
  1019. package/_src/TRef/constructors.ts +4 -4
  1020. package/_src/TSemaphore/api.ts +7 -7
  1021. package/_src/TSemaphore/constructors.ts +1 -1
  1022. package/_src/TSemaphore/definition.ts +1 -1
  1023. package/_src/collection/immutable/Conc/filterIO.ts +5 -1
  1024. package/_src/collection/immutable/Conc/findIO.ts +6 -1
  1025. package/_src/collection/immutable/Conc/mapIO.ts +1 -1
  1026. package/_src/collection/immutable/Conc/takeWhileIO.ts +5 -1
  1027. package/_src/collection/immutable/Conc.ts +2 -0
  1028. package/_src/data/Exit/foreachIO.ts +1 -0
  1029. package/_src/global.ts +149 -0
  1030. package/_src/index.ts +42 -0
  1031. package/_src/internal/Scheduler.ts +59 -15
  1032. package/collection/immutable/Conc/filterIO.d.ts +1 -1
  1033. package/collection/immutable/Conc/findIO.d.ts +2 -2
  1034. package/collection/immutable/Conc/mapIO.d.ts +1 -1
  1035. package/collection/immutable/Conc/takeWhileIO.d.ts +1 -1
  1036. package/collection/immutable/Conc.d.ts +2 -0
  1037. package/data/Exit/foreachIO.d.ts +2 -2
  1038. package/global.d.ts +149 -0
  1039. package/index.d.ts +40 -0
  1040. package/internal/Scheduler.d.ts +18 -1
  1041. package/package.json +3 -3
package/_src/STM/api.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { Journal} from "./internal/Journal.js";
1
+ import type { Journal } from "./internal/Journal.js";
2
2
 
3
3
  import { identity } from "@fncts/base/data/function";
4
4
  import { AtomicReference } from "@fncts/base/internal/AtomicReference";
@@ -14,7 +14,7 @@ import { TryCommitTag } from "./internal/TryCommit.js";
14
14
  *
15
15
  * @tsplus fluent fncts.io.STM as
16
16
  */
17
- export function as_<R, E, A, B>(stm: STM<R, E, A>, b: Lazy<B>): STM<R, E, B> {
17
+ export function as_<R, E, A, B>(stm: STM<R, E, A>, b: Lazy<B>, __tsplusTrace?: string): STM<R, E, B> {
18
18
  return stm.map(() => b());
19
19
  }
20
20
 
@@ -23,7 +23,7 @@ export function as_<R, E, A, B>(stm: STM<R, E, A>, b: Lazy<B>): STM<R, E, B> {
23
23
  *
24
24
  * @tsplus getter fncts.io.STM asJust
25
25
  */
26
- export function asJust<R, E, A>(stm: STM<R, E, A>): STM<R, E, Maybe<A>> {
26
+ export function asJust<R, E, A>(stm: STM<R, E, A>, __tsplusTrace?: string): STM<R, E, Maybe<A>> {
27
27
  return stm.map(Maybe.just);
28
28
  }
29
29
 
@@ -32,7 +32,7 @@ export function asJust<R, E, A>(stm: STM<R, E, A>): STM<R, E, Maybe<A>> {
32
32
  *
33
33
  * @tsplus getter fncts.io.STM asJustError
34
34
  */
35
- export function asJustError<R, E, A>(stm: STM<R, E, A>): STM<R, Maybe<E>, A> {
35
+ export function asJustError<R, E, A>(stm: STM<R, E, A>, __tsplusTrace?: string): STM<R, Maybe<E>, A> {
36
36
  return stm.mapError(Maybe.just);
37
37
  }
38
38
 
@@ -42,14 +42,17 @@ export function asJustError<R, E, A>(stm: STM<R, E, A>): STM<R, Maybe<E>, A> {
42
42
  *
43
43
  * @tsplus getter fncts.io.STM absolve
44
44
  */
45
- export function absolve<R, E, E1, A>(z: STM<R, E, Either<E1, A>>): STM<R, E | E1, A> {
45
+ export function absolve<R, E, E1, A>(z: STM<R, E, Either<E1, A>>, __tsplusTrace?: string): STM<R, E | E1, A> {
46
46
  return z.flatMap(STM.fromEitherNow);
47
47
  }
48
48
 
49
49
  /**
50
50
  * @tsplus static fncts.io.STMOps Effect
51
51
  */
52
- export function makeEffect<R, E, A>(f: (journal: Journal, fiberId: FiberId, r: R) => A): STM<R, E, A> {
52
+ export function makeEffect<R, E, A>(
53
+ f: (journal: Journal, fiberId: FiberId, r: Environment<R>) => A,
54
+ __tsplusTrace?: string,
55
+ ): STM<R, E, A> {
53
56
  return new Effect(f);
54
57
  }
55
58
 
@@ -58,8 +61,8 @@ export function makeEffect<R, E, A>(f: (journal: Journal, fiberId: FiberId, r: R
58
61
  *
59
62
  * @tsplus static fncts.io.STMOps environment
60
63
  */
61
- export function environment<R>(): STM<R, never, R> {
62
- return new Effect((_, __, r: R) => r);
64
+ export function environment<R>(__tsplusTrace?: string): STM<R, never, Environment<R>> {
65
+ return new Effect((_, __, r) => r);
63
66
  }
64
67
 
65
68
  /**
@@ -67,7 +70,7 @@ export function environment<R>(): STM<R, never, R> {
67
70
  *
68
71
  * @tsplus static fncts.io.STMOps environmentWith
69
72
  */
70
- export function environmentWith<R, A>(f: (r: R) => A): STM<R, never, A> {
73
+ export function environmentWith<R, A>(f: (r: Environment<R>) => A, __tsplusTrace?: string): STM<R, never, A> {
71
74
  return STM.environment<R>().map(f);
72
75
  }
73
76
 
@@ -76,7 +79,7 @@ export function environmentWith<R, A>(f: (r: R) => A): STM<R, never, A> {
76
79
  *
77
80
  * @tsplus static fncts.io.STMOps environmentWithSTM
78
81
  */
79
- export function environmentWithSTM<R0, R, E, A>(f: (r: R0) => STM<R, E, A>) {
82
+ export function environmentWithSTM<R0, R, E, A>(f: (r: Environment<R0>) => STM<R, E, A>, __tsplusTrace?: string) {
80
83
  return STM.environment<R0>().flatMap(f);
81
84
  }
82
85
 
@@ -84,35 +87,37 @@ export function environmentWithSTM<R0, R, E, A>(f: (r: R0) => STM<R, E, A>) {
84
87
  * @tsplus static fncts.io.STMOps atomically
85
88
  * @tsplus getter fncts.io.STM commit
86
89
  */
87
- export function atomically<R, E, A>(stm: STM<R, E, A>): IO<R, E, A> {
90
+ export function atomically<R, E, A>(stm: STM<R, E, A>, __tsplusTrace?: string): IO<R, E, A> {
88
91
  return IO.environmentWithIO((r: Environment<R>) =>
89
- IO.deferWith((_, fiberId) => {
90
- const result = tryCommitSync(fiberId, stm, r);
91
- switch (result._tag) {
92
- case TryCommitTag.Done: {
93
- return IO.fromExitNow(result.exit);
94
- }
95
- case TryCommitTag.Suspend: {
96
- const id = TxnId.make();
97
- const state = new AtomicReference<CommitState<E, A>>(CommitState.Running);
98
- const async = IO.async(tryCommitAsync(result.journal, fiberId, stm, id, state, r));
99
- return IO.uninterruptibleMask(({ restore }) =>
100
- restore(async).catchAllCause((cause) => {
101
- state.compareAndSet(CommitState.Running, CommitState.Interrupted);
102
- const newState = state.get;
103
- switch (newState._tag) {
104
- case "Done": {
105
- return IO.fromExitNow(newState.exit);
106
- }
107
- default: {
108
- return IO.failCauseNow(cause);
92
+ FiberRef.currentScheduler.getWith((scheduler) =>
93
+ IO.deferWith((_, fiberId) => {
94
+ const result = tryCommitSync(fiberId, stm, r, scheduler);
95
+ switch (result._tag) {
96
+ case TryCommitTag.Done: {
97
+ return IO.fromExitNow(result.exit);
98
+ }
99
+ case TryCommitTag.Suspend: {
100
+ const id = TxnId.make();
101
+ const state = new AtomicReference<CommitState<E, A>>(CommitState.Running);
102
+ const async = IO.async(tryCommitAsync(result.journal, fiberId, stm, id, state, r, scheduler));
103
+ return IO.uninterruptibleMask(({ restore }) =>
104
+ restore(async).catchAllCause((cause) => {
105
+ state.compareAndSet(CommitState.Running, CommitState.Interrupted);
106
+ const newState = state.get;
107
+ switch (newState._tag) {
108
+ case "Done": {
109
+ return IO.fromExitNow(newState.exit);
110
+ }
111
+ default: {
112
+ return IO.failCauseNow(cause);
113
+ }
109
114
  }
110
- }
111
- }),
112
- );
115
+ }),
116
+ );
117
+ }
113
118
  }
114
- }
115
- }),
119
+ }),
120
+ ),
116
121
  );
117
122
  }
118
123
 
@@ -120,7 +125,12 @@ export function atomically<R, E, A>(stm: STM<R, E, A>): IO<R, E, A> {
120
125
  * Returns an `STM` effect whose failure and success channels have been mapped by
121
126
  * the specified pair of functions, `f` and `g`.
122
127
  */
123
- export function bimap_<R, E, A, E1, B>(stm: STM<R, E, A>, g: (e: E) => E1, f: (a: A) => B): STM<R, E1, B> {
128
+ export function bimap_<R, E, A, E1, B>(
129
+ stm: STM<R, E, A>,
130
+ g: (e: E) => E1,
131
+ f: (a: A) => B,
132
+ __tsplusTrace?: string,
133
+ ): STM<R, E1, B> {
124
134
  return stm.matchSTM(
125
135
  (e) => STM.failNow(g(e)),
126
136
  (a) => STM.succeedNow(f(a)),
@@ -137,7 +147,8 @@ export function catch_<N extends keyof E, K extends E[N] & string, E, R, A, R1,
137
147
  tag: N,
138
148
  k: K,
139
149
  f: (e: Extract<E, { [n in N]: K }>) => STM<R1, E1, A1>,
140
- ): STM<R & R1, Exclude<E, { [n in N]: K }> | E1, A | A1> {
150
+ __tsplusTrace?: string,
151
+ ): STM<R | R1, Exclude<E, { [n in N]: K }> | E1, A | A1> {
141
152
  return stm.catchAll((e) => {
142
153
  if (tag in e && e[tag] === k) {
143
154
  return f(e as any);
@@ -154,7 +165,8 @@ export function catch_<N extends keyof E, K extends E[N] & string, E, R, A, R1,
154
165
  export function catchJust_<R, E, A, R1, E1, B>(
155
166
  stm: STM<R, E, A>,
156
167
  f: (e: E) => Maybe<STM<R1, E1, B>>,
157
- ): STM<R1 & R, E | E1, A | B> {
168
+ __tsplusTrace?: string,
169
+ ): STM<R1 | R, E | E1, A | B> {
158
170
  return stm.catchAll((e): STM<R1, E | E1, A | B> => f(e).getOrElse(STM.failNow(e)));
159
171
  }
160
172
 
@@ -167,7 +179,8 @@ export function catchTag_<K extends E["_tag"] & string, E extends { _tag: string
167
179
  stm: STM<R, E, A>,
168
180
  k: K,
169
181
  f: (e: Extract<E, { _tag: K }>) => STM<R1, E1, A1>,
170
- ): STM<R & R1, Exclude<E, { _tag: K }> | E1, A | A1> {
182
+ __tsplusTrace?: string,
183
+ ): STM<R | R1, Exclude<E, { _tag: K }> | E1, A | A1> {
171
184
  return stm.catchAll((e) => {
172
185
  if ("_tag" in e && e["_tag"] === k) {
173
186
  return f(e as any);
@@ -182,7 +195,11 @@ export function catchTag_<K extends E["_tag"] & string, E extends { _tag: string
182
195
  *
183
196
  * @tsplus fluent fncts.io.STM flatMapError
184
197
  */
185
- export function chainError_<R, E, A, R2, E2>(stm: STM<R, E, A>, f: (e: E) => STM<R2, never, E2>): STM<R2 & R, E2, A> {
198
+ export function chainError_<R, E, A, R2, E2>(
199
+ stm: STM<R, E, A>,
200
+ f: (e: E) => STM<R2, never, E2>,
201
+ __tsplusTrace?: string,
202
+ ): STM<R2 | R, E2, A> {
186
203
  return stm.swapWith((effect) => effect.flatMap(f));
187
204
  }
188
205
 
@@ -191,7 +208,7 @@ export function chainError_<R, E, A, R2, E2>(stm: STM<R, E, A>, f: (e: E) => STM
191
208
  *
192
209
  * @tsplus static fncts.io.STMOps check
193
210
  */
194
- export function check(predicate: () => boolean): STM<unknown, never, void> {
211
+ export function check(predicate: () => boolean, __tsplusTrace?: string): STM<never, never, void> {
195
212
  return STM.defer(() => (predicate() ? STM.unit : STM.retry));
196
213
  }
197
214
 
@@ -199,7 +216,7 @@ export function check(predicate: () => boolean): STM<unknown, never, void> {
199
216
  * Commits this transaction atomically, regardless of whether the transaction
200
217
  * is a success or a failure.
201
218
  */
202
- export function commitEither<R, E, A>(stm: STM<R, E, A>): IO<R, E, A> {
219
+ export function commitEither<R, E, A>(stm: STM<R, E, A>, __tsplusTrace?: string): IO<R, E, A> {
203
220
  return stm.either.commit.absolve;
204
221
  }
205
222
 
@@ -213,6 +230,7 @@ export function continueOrFail_<R, E, E1, A, A2>(
213
230
  fa: STM<R, E, A>,
214
231
  e: Lazy<E1>,
215
232
  pf: (a: A) => Maybe<A2>,
233
+ __tsplusTrace?: string,
216
234
  ): STM<R, E | E1, A2> {
217
235
  return fa.continueOrFailSTM(e, (a) => pf(a).map(STM.succeedNow));
218
236
  }
@@ -227,7 +245,8 @@ export function continueOrFailSTM_<R, E, E1, A, R2, E2, A2>(
227
245
  fa: STM<R, E, A>,
228
246
  e: Lazy<E1>,
229
247
  pf: (a: A) => Maybe<STM<R2, E2, A2>>,
230
- ): STM<R2 & R, E | E1 | E2, A2> {
248
+ __tsplusTrace?: string,
249
+ ): STM<R2 | R, E | E1 | E2, A2> {
231
250
  return fa.flatMap((a) => pf(a).getOrElse(STM.fail(e)));
232
251
  }
233
252
 
@@ -237,7 +256,11 @@ export function continueOrFailSTM_<R, E, E1, A, R2, E2, A2>(
237
256
  *
238
257
  * @tsplus fluent fncts.io.STM continueOrRetry
239
258
  */
240
- export function continueOrRetry_<R, E, A, A2>(fa: STM<R, E, A>, pf: (a: A) => Maybe<A2>): STM<R, E, A2> {
259
+ export function continueOrRetry_<R, E, A, A2>(
260
+ fa: STM<R, E, A>,
261
+ pf: (a: A) => Maybe<A2>,
262
+ __tsplusTrace?: string,
263
+ ): STM<R, E, A2> {
241
264
  return fa.continueOrRetrySTM((a) => pf(a).map(STM.succeedNow));
242
265
  }
243
266
 
@@ -250,7 +273,8 @@ export function continueOrRetry_<R, E, A, A2>(fa: STM<R, E, A>, pf: (a: A) => Ma
250
273
  export function continueOrRetrySTM_<R, E, A, R2, E2, A2>(
251
274
  fa: STM<R, E, A>,
252
275
  pf: (a: A) => Maybe<STM<R2, E2, A2>>,
253
- ): STM<R2 & R, E | E2, A2> {
276
+ __tsplusTrace?: string,
277
+ ): STM<R2 | R, E | E2, A2> {
254
278
  return fa.flatMap((a) => pf(a).getOrElse(STM.retry));
255
279
  }
256
280
 
@@ -259,7 +283,7 @@ export function continueOrRetrySTM_<R, E, A, R2, E2, A2>(
259
283
  *
260
284
  * @tsplus static fncts.io.STMOps defer
261
285
  */
262
- export function defer<R, E, A>(make: Lazy<STM<R, E, A>>): STM<R, E, A> {
286
+ export function defer<R, E, A>(make: Lazy<STM<R, E, A>>, __tsplusTrace?: string): STM<R, E, A> {
263
287
  return STM.succeed(make).flatten;
264
288
  }
265
289
 
@@ -268,7 +292,7 @@ export function defer<R, E, A>(make: Lazy<STM<R, E, A>>): STM<R, E, A> {
268
292
  *
269
293
  * @tsplus getter fncts.io.STM either
270
294
  */
271
- export function either<R, E, A>(stm: STM<R, E, A>): STM<R, never, Either<E, A>> {
295
+ export function either<R, E, A>(stm: STM<R, E, A>, __tsplusTrace?: string): STM<R, never, Either<E, A>> {
272
296
  return stm.match(Either.left, Either.right);
273
297
  }
274
298
 
@@ -277,7 +301,7 @@ export function either<R, E, A>(stm: STM<R, E, A>): STM<R, never, Either<E, A>>
277
301
  *
278
302
  * @tsplus getter fncts.io.STM eventually
279
303
  */
280
- export function eventually<R, E, A>(stm: STM<R, E, A>): STM<R, never, A> {
304
+ export function eventually<R, E, A>(stm: STM<R, E, A>, __tsplusTrace?: string): STM<R, never, A> {
281
305
  return stm.matchSTM(() => stm.eventually, STM.succeedNow);
282
306
  }
283
307
 
@@ -286,7 +310,7 @@ export function eventually<R, E, A>(stm: STM<R, E, A>): STM<R, never, A> {
286
310
  *
287
311
  * @tsplus fluent fncts.io.STM filterMap
288
312
  */
289
- export function filterMap_<R, E, A, B>(stm: STM<R, E, A>, f: (a: A) => Maybe<B>): STM<R, E, B> {
313
+ export function filterMap_<R, E, A, B>(stm: STM<R, E, A>, f: (a: A) => Maybe<B>, __tsplusTrace?: string): STM<R, E, B> {
290
314
  return stm.filterMapSTM((a) => f(a).map(STM.succeedNow));
291
315
  }
292
316
 
@@ -299,7 +323,8 @@ export function filterMap_<R, E, A, B>(stm: STM<R, E, A>, f: (a: A) => Maybe<B>)
299
323
  export function filterMapSTM_<R, E, A, R1, E1, B>(
300
324
  self: STM<R, E, A>,
301
325
  f: (a: A) => Maybe<STM<R1, E1, B>>,
302
- ): STM<R & R1, E | E1, B> {
326
+ __tsplusTrace?: string,
327
+ ): STM<R | R1, E | E1, B> {
303
328
  return self.matchSTM(STM.failNow, (a) => f(a).getOrElse(STM.retry));
304
329
  }
305
330
 
@@ -312,17 +337,18 @@ export function filterOrElse_<R, E, A, B extends A, R2, E2, A2>(
312
337
  fa: STM<R, E, A>,
313
338
  p: Refinement<A, B>,
314
339
  or: (a: Exclude<A, B>) => STM<R2, E2, A2>,
315
- ): STM<R & R2, E | E2, B | A2>;
340
+ ): STM<R | R2, E | E2, B | A2>;
316
341
  export function filterOrElse_<R, E, A, R2, E2, A2>(
317
342
  fa: STM<R, E, A>,
318
343
  p: Predicate<A>,
319
344
  or: (a: A) => STM<R2, E2, A2>,
320
- ): STM<R & R2, E | E2, A | A2>;
345
+ ): STM<R | R2, E | E2, A | A2>;
321
346
  export function filterOrElse_<R, E, A, R2, E2, A2>(
322
347
  fa: STM<R, E, A>,
323
348
  p: Predicate<A>,
324
349
  or: unknown,
325
- ): STM<R & R2, E | E2, A | A2> {
350
+ __tsplusTrace?: string,
351
+ ): STM<R | R2, E | E2, A | A2> {
326
352
  return fa.flatMap((a) => (p(a) ? STM.succeedNow(a) : STM.defer((or as (a: A) => STM<R2, E2, A2>)(a))));
327
353
  }
328
354
 
@@ -341,7 +367,12 @@ export function filterOrFail_<R, E, E1, A>(
341
367
  p: Predicate<A>,
342
368
  failWith: (a: A) => E1,
343
369
  ): STM<R, E | E1, A>;
344
- export function filterOrFail_<R, E, E1, A>(fa: STM<R, E, A>, p: Predicate<A>, failWith: unknown): STM<R, E | E1, A> {
370
+ export function filterOrFail_<R, E, E1, A>(
371
+ fa: STM<R, E, A>,
372
+ p: Predicate<A>,
373
+ failWith: unknown,
374
+ __tsplusTrace?: string,
375
+ ): STM<R, E | E1, A> {
345
376
  return fa.filterOrElse(p, (a) => STM.fail((failWith as (a: A) => E1)(a)));
346
377
  }
347
378
 
@@ -356,7 +387,12 @@ export function filterOrHalt_<R, E, A, B extends A>(
356
387
  haltWith: (a: Exclude<A, B>) => unknown,
357
388
  ): STM<R, E, B>;
358
389
  export function filterOrHalt_<R, E, A>(fa: STM<R, E, A>, p: Predicate<A>, haltWith: (a: A) => unknown): STM<R, E, A>;
359
- export function filterOrHalt_<R, E, A>(fa: STM<R, E, A>, p: Predicate<A>, haltWith: unknown): STM<R, E, A> {
390
+ export function filterOrHalt_<R, E, A>(
391
+ fa: STM<R, E, A>,
392
+ p: Predicate<A>,
393
+ haltWith: unknown,
394
+ __tsplusTrace?: string,
395
+ ): STM<R, E, A> {
360
396
  return fa.filterOrElse(p, (a) => STM.halt((haltWith as (a: A) => unknown)(a)));
361
397
  }
362
398
 
@@ -365,7 +401,10 @@ export function filterOrHalt_<R, E, A>(fa: STM<R, E, A>, p: Predicate<A>, haltWi
365
401
  *
366
402
  * @tsplus getter fncts.io.STM flatten
367
403
  */
368
- export function flatten<R, E, R1, E1, B>(stm: STM<R, E, STM<R1, E1, B>>): STM<R1 & R, E | E1, B> {
404
+ export function flatten<R, E, R1, E1, B>(
405
+ stm: STM<R, E, STM<R1, E1, B>>,
406
+ __tsplusTrace?: string,
407
+ ): STM<R1 | R, E | E1, B> {
369
408
  return stm.flatMap(identity);
370
409
  }
371
410
 
@@ -374,7 +413,11 @@ export function flatten<R, E, R1, E1, B>(stm: STM<R, E, STM<R1, E1, B>>): STM<R1
374
413
  *
375
414
  * @tsplus fluent fncts.io.STM flattenErrorOption
376
415
  */
377
- export function flattenErrorOption_<R, E, A, E2>(stm: STM<R, Maybe<E>, A>, def: Lazy<E2>): STM<R, E | E2, A> {
416
+ export function flattenErrorOption_<R, E, A, E2>(
417
+ stm: STM<R, Maybe<E>, A>,
418
+ def: Lazy<E2>,
419
+ __tsplusTrace?: string,
420
+ ): STM<R, E | E2, A> {
378
421
  return stm.mapError((me) => me.getOrElse(def));
379
422
  }
380
423
 
@@ -384,7 +427,11 @@ export function flattenErrorOption_<R, E, A, E2>(stm: STM<R, Maybe<E>, A>, def:
384
427
  *
385
428
  * @tsplus static fncts.io.STMOps foreach
386
429
  */
387
- export function foreach_<A, R, E, B>(it: Iterable<A>, f: (a: A) => STM<R, E, B>): STM<R, E, readonly B[]> {
430
+ export function foreach_<A, R, E, B>(
431
+ it: Iterable<A>,
432
+ f: (a: A) => STM<R, E, B>,
433
+ __tsplusTrace?: string,
434
+ ): STM<R, E, readonly B[]> {
388
435
  return STM.defer(() => {
389
436
  let stm = STM.succeedNow([]) as STM<R, E, B[]>;
390
437
 
@@ -404,7 +451,7 @@ export function foreach_<A, R, E, B>(it: Iterable<A>, f: (a: A) => STM<R, E, B>)
404
451
  *
405
452
  * @tsplus static fncts.io.STMOps fromEither
406
453
  */
407
- export function fromEither<E, A>(e: Lazy<Either<E, A>>): STM<unknown, E, A> {
454
+ export function fromEither<E, A>(e: Lazy<Either<E, A>>, __tsplusTrace?: string): STM<never, E, A> {
408
455
  return STM.defer(e().match(STM.failNow, STM.succeedNow));
409
456
  }
410
457
 
@@ -413,14 +460,14 @@ export function fromEither<E, A>(e: Lazy<Either<E, A>>): STM<unknown, E, A> {
413
460
  *
414
461
  * @tsplus static fncts.io.STMOps fromEitherNow
415
462
  */
416
- export function fromEitherNow<E, A>(e: Either<E, A>): STM<unknown, E, A> {
463
+ export function fromEitherNow<E, A>(e: Either<E, A>, __tsplusTrace?: string): STM<never, E, A> {
417
464
  return e.match(STM.failNow, STM.succeedNow);
418
465
  }
419
466
 
420
467
  /**
421
468
  * Unwraps the optional success of this effect, but can fail with an None value.
422
469
  */
423
- export function get<R, E, A>(stm: STM<R, E, Maybe<A>>): STM<R, Maybe<E>, A> {
470
+ export function get<R, E, A>(stm: STM<R, E, Maybe<A>>, __tsplusTrace?: string): STM<R, Maybe<E>, A> {
424
471
  return stm.matchSTM(
425
472
  (e) => STM.failNow(Just(e)),
426
473
  (ma) => ma.match(() => STM.failNow(Nothing()), STM.succeedNow),
@@ -433,7 +480,11 @@ export function get<R, E, A>(stm: STM<R, E, Maybe<A>>): STM<R, Maybe<E>, A> {
433
480
  *
434
481
  * @tsplus fluent fncts.io.STM provideEnvironment
435
482
  */
436
- export function provideEnvironment_<R, E, A>(stm: STM<R, E, A>, r: R): STM<unknown, E, A> {
483
+ export function provideEnvironment_<R, E, A>(
484
+ stm: STM<R, E, A>,
485
+ r: Environment<R>,
486
+ __tsplusTrace?: string,
487
+ ): STM<never, E, A> {
437
488
  return stm.contramapEnvironment(() => r);
438
489
  }
439
490
 
@@ -443,7 +494,11 @@ export function provideEnvironment_<R, E, A>(stm: STM<R, E, A>, r: R): STM<unkno
443
494
  *
444
495
  * @tsplus fluent fncts.io.STM contramapEnvironment
445
496
  */
446
- export function contramapEnvironment_<R, E, A, R0>(self: STM<R, E, A>, f: (r: R0) => R): STM<R0, E, A> {
497
+ export function contramapEnvironment_<R, E, A, R0>(
498
+ self: STM<R, E, A>,
499
+ f: (r: Environment<R0>) => Environment<R>,
500
+ __tsplusTrace?: string,
501
+ ): STM<R0, E, A> {
447
502
  return new ContramapEnvironment(self, f);
448
503
  }
449
504
 
@@ -452,7 +507,7 @@ export function contramapEnvironment_<R, E, A, R0>(self: STM<R, E, A>, f: (r: R0
452
507
  *
453
508
  * @tsplus static fncts.io.STMOps halt
454
509
  */
455
- export function halt(u: Lazy<unknown>): STM<unknown, never, never> {
510
+ export function halt(u: Lazy<unknown>, __tsplusTrace?: string): STM<never, never, never> {
456
511
  return new Effect(() => {
457
512
  throw new HaltException(u());
458
513
  });
@@ -463,7 +518,7 @@ export function halt(u: Lazy<unknown>): STM<unknown, never, never> {
463
518
  *
464
519
  * @tsplus static fncts.io.STMOps haltNow
465
520
  */
466
- export function haltNow(u: unknown): STM<unknown, never, never> {
521
+ export function haltNow(u: unknown, __tsplusTrace?: string): STM<never, never, never> {
467
522
  return new Effect(() => {
468
523
  throw new HaltException(u);
469
524
  });
@@ -475,7 +530,7 @@ export function haltNow(u: unknown): STM<unknown, never, never> {
475
530
  *
476
531
  * @tsplus getter fncts.io.STM head
477
532
  */
478
- export function head<R, E, A>(stm: STM<R, E, Iterable<A>>): STM<R, Maybe<E>, A> {
533
+ export function head<R, E, A>(stm: STM<R, E, Iterable<A>>, __tsplusTrace?: string): STM<R, Maybe<E>, A> {
479
534
  return stm.matchSTM(
480
535
  (e) => STM.failNow(Just(e)),
481
536
  (ia) => {
@@ -491,14 +546,14 @@ export function head<R, E, A>(stm: STM<R, E, Iterable<A>>): STM<R, Maybe<E>, A>
491
546
  *
492
547
  * @tsplus static fncts.io.STMOps interrupt
493
548
  */
494
- export const interrupt: STM<unknown, never, never> = STM.fiberId.flatMap((id) => STM.interruptAs(id));
549
+ export const interrupt: STM<never, never, never> = STM.fiberId.flatMap((id) => STM.interruptAs(id));
495
550
 
496
551
  /**
497
552
  * Returns whether this effect is a failure.
498
553
  *
499
554
  * @tsplus getter fncts.io.STM isFailure
500
555
  */
501
- export function isFailure<R, E, A>(stm: STM<R, E, A>) {
556
+ export function isFailure<R, E, A>(stm: STM<R, E, A>, __tsplusTrace?: string) {
502
557
  return stm.match(
503
558
  () => true,
504
559
  () => false,
@@ -510,55 +565,19 @@ export function isFailure<R, E, A>(stm: STM<R, E, A>) {
510
565
  *
511
566
  * @tsplus getter fncts.io.STM isSuccess
512
567
  */
513
- export function isSuccess<R, E, A>(stm: STM<R, E, A>) {
568
+ export function isSuccess<R, E, A>(stm: STM<R, E, A>, __tsplusTrace?: string) {
514
569
  return stm.match(
515
570
  () => false,
516
571
  () => true,
517
572
  );
518
573
  }
519
574
 
520
- /**
521
- * Depending on provided environment returns either this one or the other effect.
522
- *
523
- * @tsplus fluent fncts.io.STM join
524
- */
525
- export function join_<R, E, A, R1, E1, A1>(
526
- stm: STM<R, E, A>,
527
- that: STM<R1, E1, A1>,
528
- ): STM<Either<R, R1>, E | E1, A | A1> {
529
- return STM.environmentWithSTM(
530
- (r: Either<R, R1>): STM<unknown, E | E1, A | A1> =>
531
- r.match(
532
- (r) => stm.provideEnvironment(r),
533
- (r1) => that.provideEnvironment(r1),
534
- ),
535
- );
536
- }
537
-
538
- /**
539
- * Depending on provided environment returns either this one or the other effect.
540
- *
541
- * @tsplus fluent fncts.io.STM joinEither
542
- */
543
- export function joinEither_<R, E, A, R1, E1, A1>(
544
- stm: STM<R, E, A>,
545
- that: STM<R1, E1, A1>,
546
- ): STM<Either<R, R1>, E | E1, Either<A, A1>> {
547
- return STM.environmentWithSTM(
548
- (r: Either<R, R1>): STM<unknown, E | E1, Either<A, A1>> =>
549
- r.match(
550
- (r) => stm.provideEnvironment(r).map(Either.left),
551
- (r1) => that.provideEnvironment(r1).map(Either.right),
552
- ),
553
- );
554
- }
555
-
556
575
  /**
557
576
  * Returns a successful effect if the value is `Left`, or fails with the error `None`.
558
577
  *
559
578
  * @tsplus getter fncts.io.STM left
560
579
  */
561
- export function left<R, E, B, C>(stm: STM<R, E, Either<B, C>>): STM<R, Maybe<E>, B> {
580
+ export function left<R, E, B, C>(stm: STM<R, E, Either<B, C>>, __tsplusTrace?: string): STM<R, Maybe<E>, B> {
562
581
  return stm.matchSTM(
563
582
  (e) => STM.fail(Just(e)),
564
583
  (bc) => bc.match(STM.succeedNow, () => STM.failNow(Nothing())),
@@ -570,7 +589,11 @@ export function left<R, E, B, C>(stm: STM<R, E, Either<B, C>>): STM<R, Maybe<E>,
570
589
  *
571
590
  * @tsplus fluent fncts.io.STM leftOrFail
572
591
  */
573
- export function leftOrFail_<R, E, B, C, E1>(stm: STM<R, E, Either<B, C>>, orFail: (c: C) => E1): STM<R, E | E1, B> {
592
+ export function leftOrFail_<R, E, B, C, E1>(
593
+ stm: STM<R, E, Either<B, C>>,
594
+ orFail: (c: C) => E1,
595
+ __tsplusTrace?: string,
596
+ ): STM<R, E | E1, B> {
574
597
  return stm.flatMap((bc) => bc.match(STM.succeedNow, (c) => STM.fail(orFail(c))));
575
598
  }
576
599
 
@@ -579,7 +602,7 @@ export function leftOrFail_<R, E, B, C, E1>(stm: STM<R, E, Either<B, C>>, orFail
579
602
  *
580
603
  * @tsplus fluent fncts.io.STM mapError
581
604
  */
582
- export function mapError_<R, E, A, E1>(stm: STM<R, E, A>, f: (a: E) => E1): STM<R, E1, A> {
605
+ export function mapError_<R, E, A, E1>(stm: STM<R, E, A>, f: (a: E) => E1, __tsplusTrace?: string): STM<R, E1, A> {
583
606
  return stm.matchSTM((e) => STM.failNow(f(e)), STM.succeedNow);
584
607
  }
585
608
 
@@ -589,7 +612,12 @@ export function mapError_<R, E, A, E1>(stm: STM<R, E, A>, f: (a: E) => E1): STM<
589
612
  *
590
613
  * @tsplus fluent fncts.io.STM match
591
614
  */
592
- export function match_<R, E, A, B, C>(stm: STM<R, E, A>, g: (e: E) => C, f: (a: A) => B): STM<R, never, B | C> {
615
+ export function match_<R, E, A, B, C>(
616
+ stm: STM<R, E, A>,
617
+ g: (e: E) => C,
618
+ f: (a: A) => B,
619
+ __tsplusTrace?: string,
620
+ ): STM<R, never, B | C> {
593
621
  return stm.matchSTM(
594
622
  (e) => STM.succeedNow(g(e)),
595
623
  (a) => STM.succeedNow(f(a)),
@@ -610,7 +638,7 @@ export function match_<R, E, A, B, C>(stm: STM<R, E, A>, g: (e: E) => C, f: (a:
610
638
  *
611
639
  * @tsplus fluent fncts.io.STM repeatUntil
612
640
  */
613
- export function repeatUntil_<R, E, A>(stm: STM<R, E, A>, f: (a: A) => boolean): STM<R, E, A> {
641
+ export function repeatUntil_<R, E, A>(stm: STM<R, E, A>, f: (a: A) => boolean, __tsplusTrace?: string): STM<R, E, A> {
614
642
  return stm.flatMap((a) => (f(a) ? STM.succeedNow(a) : stm.repeatUntil(f)));
615
643
  }
616
644
 
@@ -628,7 +656,7 @@ export function repeatUntil_<R, E, A>(stm: STM<R, E, A>, f: (a: A) => boolean):
628
656
  *
629
657
  * @tsplus fluent fncts.io.STM repeatWhile
630
658
  */
631
- export function repeatWhile_<R, E, A>(stm: STM<R, E, A>, f: (a: A) => boolean): STM<R, E, A> {
659
+ export function repeatWhile_<R, E, A>(stm: STM<R, E, A>, f: (a: A) => boolean, __tsplusTrace?: string): STM<R, E, A> {
632
660
  return stm.flatMap((a) => (f(a) ? stm.repeatWhile(f) : STM.succeedNow(a)));
633
661
  }
634
662
 
@@ -638,7 +666,7 @@ export function repeatWhile_<R, E, A>(stm: STM<R, E, A>, f: (a: A) => boolean):
638
666
  *
639
667
  * @tsplus getter fncts.io.STM swap
640
668
  */
641
- export function swap<R, E, A>(stm: STM<R, E, A>): STM<R, A, E> {
669
+ export function swap<R, E, A>(stm: STM<R, E, A>, __tsplusTrace?: string): STM<R, A, E> {
642
670
  return stm.matchSTM(STM.succeedNow, STM.failNow);
643
671
  }
644
672
 
@@ -650,6 +678,7 @@ export function swap<R, E, A>(stm: STM<R, E, A>): STM<R, A, E> {
650
678
  export function swapWith_<R, E, A, R2, E2, A2>(
651
679
  stm: STM<R, E, A>,
652
680
  f: (stm: STM<R, A, E>) => STM<R2, A2, E2>,
681
+ __tsplusTrace?: string,
653
682
  ): STM<R2, E2, A2> {
654
683
  return f(stm.swap).swap;
655
684
  }
@@ -659,7 +688,11 @@ export function swapWith_<R, E, A, R2, E2, A2>(
659
688
  *
660
689
  * @tsplus fluent fncts.io.STM tap
661
690
  */
662
- export function tap_<R, E, A, R1, E1, B>(stm: STM<R, E, A>, f: (a: A) => STM<R1, E1, B>): STM<R1 & R, E | E1, A> {
691
+ export function tap_<R, E, A, R1, E1, B>(
692
+ stm: STM<R, E, A>,
693
+ f: (a: A) => STM<R1, E1, B>,
694
+ __tsplusTrace?: string,
695
+ ): STM<R1 | R, E | E1, A> {
663
696
  return stm.flatMap((a) => f(a).as(a));
664
697
  }
665
698
 
@@ -668,7 +701,7 @@ export function tap_<R, E, A, R1, E1, B>(stm: STM<R, E, A>, f: (a: A) => STM<R1,
668
701
  *
669
702
  * @tsplus static fncts.io.STMOps toLeft
670
703
  */
671
- export function toLeft<A>(a: Lazy<A>): STM<unknown, never, Either<A, never>> {
704
+ export function toLeft<A>(a: Lazy<A>, __tsplusTrace?: string): STM<never, never, Either<A, never>> {
672
705
  return STM.succeed(a).flatMap((a) => STM.succeedNow(Either.left(a)));
673
706
  }
674
707
 
@@ -689,6 +722,7 @@ export function zipWith_<R, E, A, R1, E1, B, C>(
689
722
  self: STM<R, E, A>,
690
723
  that: STM<R1, E1, B>,
691
724
  f: (a: A, b: B) => C,
692
- ): STM<R & R1, E | E1, C> {
725
+ __tsplusTrace?: string,
726
+ ): STM<R | R1, E | E1, C> {
693
727
  return self.flatMap((a) => that.map((b) => f(a, b)));
694
728
  }
@@ -22,7 +22,7 @@ export type STMTypeId = typeof STMTypeId;
22
22
  */
23
23
  export abstract class STM<R, E, A> {
24
24
  readonly _typeId: STMTypeId = STMTypeId;
25
- readonly _R!: (_: R) => void;
25
+ readonly _R!: () => R;
26
26
  readonly _E!: () => E;
27
27
  readonly _A!: () => A;
28
28
  }
@@ -37,11 +37,11 @@ export function unifySTM<X extends STM<any, any, any>>(self: X): STM<_R<X>, _E<X
37
37
  /**
38
38
  * @tsplus type fncts.io.STM
39
39
  */
40
- export interface USTM<A> extends STM<unknown, never, A> {}
40
+ export interface USTM<A> extends STM<never, never, A> {}
41
41
 
42
42
  export class Effect<R, E, A> extends STM<R, E, A> {
43
43
  readonly _tag = STMTag.Effect;
44
- constructor(readonly f: (journal: Journal, fiberId: FiberId, r: R) => A) {
44
+ constructor(readonly f: (journal: Journal, fiberId: FiberId, r: Environment<R>) => A) {
45
45
  super();
46
46
  }
47
47
  }
@@ -73,14 +73,14 @@ export class OnSuccess<R, E, A, B> extends STM<R, E, B> {
73
73
  }
74
74
  }
75
75
 
76
- export class Succeed<A> extends STM<unknown, never, A> {
76
+ export class Succeed<A> extends STM<never, never, A> {
77
77
  readonly _tag = STMTag.Succeed;
78
78
  constructor(readonly a: () => A) {
79
79
  super();
80
80
  }
81
81
  }
82
82
 
83
- export class SucceedNow<A> extends STM<unknown, never, A> {
83
+ export class SucceedNow<A> extends STM<never, never, A> {
84
84
  readonly _tag = STMTag.SucceedNow;
85
85
  constructor(readonly a: A) {
86
86
  super();
@@ -89,7 +89,7 @@ export class SucceedNow<A> extends STM<unknown, never, A> {
89
89
 
90
90
  export class ContramapEnvironment<R, E, A, R0> extends STM<R0, E, A> {
91
91
  readonly _tag = STMTag.ContramapEnvironment;
92
- constructor(readonly stm: STM<R, E, A>, readonly f: (_: R0) => R) {
92
+ constructor(readonly stm: STM<R, E, A>, readonly f: (_: Environment<R0>) => Environment<R>) {
93
93
  super();
94
94
  }
95
95
  }