@fncts/io 0.0.48 → 0.0.50

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 (873) hide show
  1. package/Cached/api.d.ts +1 -1
  2. package/Channel/api.d.ts +80 -80
  3. package/Channel/core-api.d.ts +26 -26
  4. package/Console/definition.d.ts +1 -0
  5. package/CountdownLatch.d.ts +1 -0
  6. package/Fiber/FiberMessage.d.ts +6 -28
  7. package/Fiber/FiberRuntime.d.ts +108 -77
  8. package/Fiber/api/interruptAs.d.ts +2 -2
  9. package/Fiber/definition.d.ts +2 -0
  10. package/FiberScope/definition.d.ts +3 -0
  11. package/FiberSet.d.ts +2 -1
  12. package/Future/State.d.ts +59 -0
  13. package/Future/api.d.ts +8 -3
  14. package/Future/constructors.d.ts +1 -1
  15. package/Future/definition.d.ts +1 -17
  16. package/Future.d.ts +1 -0
  17. package/Hub/api.d.ts +15 -15
  18. package/IO/api/array.d.ts +22 -0
  19. package/IO/api/awaitAllChildren.d.ts +6 -0
  20. package/IO/api/cachedInvalidate.d.ts +15 -0
  21. package/IO/api/foreachExec.d.ts +18 -0
  22. package/IO/api/forkDaemon.d.ts +1 -1
  23. package/IO/api/onTermination.d.ts +1 -2
  24. package/IO/api/transplant.d.ts +11 -1
  25. package/IO/api.d.ts +247 -225
  26. package/IO/definition.d.ts +12 -25
  27. package/IO.d.ts +3 -1
  28. package/Push/Bounds.d.ts +4 -0
  29. package/Push/FlattenStrategy.d.ts +47 -0
  30. package/Push/IndexedBuffer.d.ts +19 -0
  31. package/Push/MergeStrategy.d.ts +19 -0
  32. package/Push/Operator/IOLoopOperator.d.ts +61 -0
  33. package/Push/Operator/IOOperator.d.ts +63 -0
  34. package/Push/Operator/LoopOperator.d.ts +50 -0
  35. package/Push/Operator/SyncOperator.d.ts +41 -0
  36. package/Push/Operator.d.ts +4 -0
  37. package/Push/Producer/IOProducer.d.ts +41 -0
  38. package/Push/Producer/SyncProducer.d.ts +61 -0
  39. package/Push/Producer.d.ts +1 -0
  40. package/Push/Sink.d.ts +65 -0
  41. package/Push/api.d.ts +78 -161
  42. package/Push/definition.d.ts +92 -19
  43. package/Push/internal.d.ts +3 -0
  44. package/Push.d.ts +6 -0
  45. package/Random/definition.d.ts +1 -0
  46. package/Ref/Synchronized/api.d.ts +1 -1
  47. package/Ref/Synchronized/definition.d.ts +32 -9
  48. package/Ref/definition.d.ts +12 -0
  49. package/Scope/api.d.ts +16 -1
  50. package/Semaphore/Reservation.d.ts +15 -0
  51. package/Semaphore/constructors.d.ts +13 -0
  52. package/Semaphore/definition.d.ts +29 -0
  53. package/Semaphore.d.ts +3 -40
  54. package/Sink/definition.d.ts +5 -6
  55. package/Stream/api.d.ts +164 -164
  56. package/Subject/Atomic.d.ts +19 -9
  57. package/Subject/DeferredRef.d.ts +17 -0
  58. package/Subject/Hold.d.ts +19 -0
  59. package/Subject/RefSubject/Atomic.d.ts +41 -0
  60. package/Subject/RefSubject/Derived.d.ts +43 -0
  61. package/Subject/RefSubject/RefSubject.d.ts +27 -0
  62. package/Subject/definition.d.ts +14 -2
  63. package/Subject.d.ts +2 -0
  64. package/SubscriptionRef.d.ts +0 -1
  65. package/_cjs/Cached/api.cjs +1 -2
  66. package/_cjs/Cached/api.cjs.map +1 -1
  67. package/_cjs/Cached/internal.cjs +1 -2
  68. package/_cjs/Cached/internal.cjs.map +1 -1
  69. package/_cjs/Channel/api/interruptWhen.cjs +1 -2
  70. package/_cjs/Channel/api/interruptWhen.cjs.map +1 -1
  71. package/_cjs/Channel/api/mapOutConcurrentIO.cjs +2 -3
  72. package/_cjs/Channel/api/mapOutConcurrentIO.cjs.map +1 -1
  73. package/_cjs/Channel/api/mergeAll.cjs +1 -2
  74. package/_cjs/Channel/api/mergeAll.cjs.map +1 -1
  75. package/_cjs/Channel/api/mergeAllUnboundedWith.cjs +1 -2
  76. package/_cjs/Channel/api/mergeAllUnboundedWith.cjs.map +1 -1
  77. package/_cjs/Channel/api/mergeAllWith.cjs +2 -3
  78. package/_cjs/Channel/api/mergeAllWith.cjs.map +1 -1
  79. package/_cjs/Channel/api/mergeMap.cjs +1 -2
  80. package/_cjs/Channel/api/mergeMap.cjs.map +1 -1
  81. package/_cjs/Channel/api/mergeWith.cjs +1 -2
  82. package/_cjs/Channel/api/mergeWith.cjs.map +1 -1
  83. package/_cjs/Channel/api/run.cjs +1 -2
  84. package/_cjs/Channel/api/run.cjs.map +1 -1
  85. package/_cjs/Channel/api/runCollect.cjs +1 -2
  86. package/_cjs/Channel/api/runCollect.cjs.map +1 -1
  87. package/_cjs/Channel/api/runDrain.cjs +1 -2
  88. package/_cjs/Channel/api/runDrain.cjs.map +1 -1
  89. package/_cjs/Channel/api/runScoped.cjs +3 -4
  90. package/_cjs/Channel/api/runScoped.cjs.map +1 -1
  91. package/_cjs/Channel/api/toPull.cjs +2 -3
  92. package/_cjs/Channel/api/toPull.cjs.map +1 -1
  93. package/_cjs/Channel/api/zipConcurrent.cjs +1 -2
  94. package/_cjs/Channel/api/zipConcurrent.cjs.map +1 -1
  95. package/_cjs/Channel/api.cjs +206 -207
  96. package/_cjs/Channel/api.cjs.map +1 -1
  97. package/_cjs/Channel/core-api.cjs +43 -42
  98. package/_cjs/Channel/core-api.cjs.map +1 -1
  99. package/_cjs/Channel/internal/ChannelExecutor.cjs +4 -5
  100. package/_cjs/Channel/internal/ChannelExecutor.cjs.map +1 -1
  101. package/_cjs/Channel/internal/ChannelState.cjs +1 -2
  102. package/_cjs/Channel/internal/ChannelState.cjs.map +1 -1
  103. package/_cjs/Channel/internal/SingleProducerAsyncInput.cjs +1 -2
  104. package/_cjs/Channel/internal/SingleProducerAsyncInput.cjs.map +1 -1
  105. package/_cjs/Clock/api.cjs +1 -2
  106. package/_cjs/Clock/api.cjs.map +1 -1
  107. package/_cjs/Clock/definition.cjs +1 -2
  108. package/_cjs/Clock/definition.cjs.map +1 -1
  109. package/_cjs/Clock/live.cjs +1 -2
  110. package/_cjs/Clock/live.cjs.map +1 -1
  111. package/_cjs/Console/api.cjs +1 -2
  112. package/_cjs/Console/api.cjs.map +1 -1
  113. package/_cjs/Console/definition.cjs +2 -2
  114. package/_cjs/Console/definition.cjs.map +1 -1
  115. package/_cjs/Console/live.cjs +1 -2
  116. package/_cjs/Console/live.cjs.map +1 -1
  117. package/_cjs/CountdownLatch.cjs +3 -3
  118. package/_cjs/CountdownLatch.cjs.map +1 -1
  119. package/_cjs/Differ/api.cjs +1 -2
  120. package/_cjs/Differ/api.cjs.map +1 -1
  121. package/_cjs/Fiber/FiberMessage.cjs +3 -24
  122. package/_cjs/Fiber/FiberMessage.cjs.map +1 -1
  123. package/_cjs/Fiber/FiberRuntime.cjs +879 -636
  124. package/_cjs/Fiber/FiberRuntime.cjs.map +1 -1
  125. package/_cjs/Fiber/api/awaitAll.cjs +1 -2
  126. package/_cjs/Fiber/api/awaitAll.cjs.map +1 -1
  127. package/_cjs/Fiber/api/collectAll.cjs +2 -3
  128. package/_cjs/Fiber/api/collectAll.cjs.map +1 -1
  129. package/_cjs/Fiber/api/fromIO.cjs +1 -2
  130. package/_cjs/Fiber/api/fromIO.cjs.map +1 -1
  131. package/_cjs/Fiber/api/interrupt.cjs +2 -3
  132. package/_cjs/Fiber/api/interrupt.cjs.map +1 -1
  133. package/_cjs/Fiber/api/interruptAll.cjs +2 -3
  134. package/_cjs/Fiber/api/interruptAll.cjs.map +1 -1
  135. package/_cjs/Fiber/api/interruptAs.cjs +5 -10
  136. package/_cjs/Fiber/api/interruptAs.cjs.map +1 -1
  137. package/_cjs/Fiber/api/interruptFork.cjs +2 -3
  138. package/_cjs/Fiber/api/interruptFork.cjs.map +1 -1
  139. package/_cjs/Fiber/api/join.cjs +1 -2
  140. package/_cjs/Fiber/api/join.cjs.map +1 -1
  141. package/_cjs/Fiber/api/joinAll.cjs +1 -2
  142. package/_cjs/Fiber/api/joinAll.cjs.map +1 -1
  143. package/_cjs/Fiber/api/mapFiber.cjs +1 -2
  144. package/_cjs/Fiber/api/mapFiber.cjs.map +1 -1
  145. package/_cjs/Fiber/api/mapIO.cjs +2 -3
  146. package/_cjs/Fiber/api/mapIO.cjs.map +1 -1
  147. package/_cjs/Fiber/api/zipWith.cjs +2 -3
  148. package/_cjs/Fiber/api/zipWith.cjs.map +1 -1
  149. package/_cjs/Fiber/constructors.cjs +2 -3
  150. package/_cjs/Fiber/constructors.cjs.map +1 -1
  151. package/_cjs/Fiber/definition.cjs +6 -4
  152. package/_cjs/Fiber/definition.cjs.map +1 -1
  153. package/_cjs/FiberRef/api/locallyScoped.cjs +1 -2
  154. package/_cjs/FiberRef/api/locallyScoped.cjs.map +1 -1
  155. package/_cjs/FiberRef/api/locallyScopedWith.cjs +1 -2
  156. package/_cjs/FiberRef/api/locallyScopedWith.cjs.map +1 -1
  157. package/_cjs/FiberRef/constructors.cjs +1 -2
  158. package/_cjs/FiberRef/constructors.cjs.map +1 -1
  159. package/_cjs/FiberRef/definition.cjs +1 -2
  160. package/_cjs/FiberRef/definition.cjs.map +1 -1
  161. package/_cjs/FiberRef/operations.cjs +1 -2
  162. package/_cjs/FiberRef/operations.cjs.map +1 -1
  163. package/_cjs/FiberRef/unsafe.cjs +1 -2
  164. package/_cjs/FiberRef/unsafe.cjs.map +1 -1
  165. package/_cjs/FiberRefs/Patch.cjs +1 -2
  166. package/_cjs/FiberRefs/Patch.cjs.map +1 -1
  167. package/_cjs/FiberRefs/api.cjs +1 -2
  168. package/_cjs/FiberRefs/api.cjs.map +1 -1
  169. package/_cjs/FiberRefs/definition.cjs +1 -2
  170. package/_cjs/FiberRefs/definition.cjs.map +1 -1
  171. package/_cjs/FiberScope/definition.cjs +29 -6
  172. package/_cjs/FiberScope/definition.cjs.map +1 -1
  173. package/_cjs/FiberSet.cjs +16 -15
  174. package/_cjs/FiberSet.cjs.map +1 -1
  175. package/_cjs/FiberStatus/definition.cjs +1 -2
  176. package/_cjs/FiberStatus/definition.cjs.map +1 -1
  177. package/_cjs/Future/State.cjs +108 -0
  178. package/_cjs/Future/State.cjs.map +1 -0
  179. package/_cjs/Future/api.cjs +71 -64
  180. package/_cjs/Future/api.cjs.map +1 -1
  181. package/_cjs/Future/constructors.cjs +3 -4
  182. package/_cjs/Future/constructors.cjs.map +1 -1
  183. package/_cjs/Future/definition.cjs +1 -15
  184. package/_cjs/Future/definition.cjs.map +1 -1
  185. package/_cjs/Future.cjs +11 -0
  186. package/_cjs/Future.cjs.map +1 -1
  187. package/_cjs/Hub/api.cjs +56 -57
  188. package/_cjs/Hub/api.cjs.map +1 -1
  189. package/_cjs/Hub/internal.cjs +1 -2
  190. package/_cjs/Hub/internal.cjs.map +1 -1
  191. package/_cjs/IO/api/acquireRelease.cjs +1 -2
  192. package/_cjs/IO/api/acquireRelease.cjs.map +1 -1
  193. package/_cjs/IO/api/acquireReleaseExit.cjs +1 -2
  194. package/_cjs/IO/api/acquireReleaseExit.cjs.map +1 -1
  195. package/_cjs/IO/api/acquireReleaseInterruptible.cjs +1 -2
  196. package/_cjs/IO/api/acquireReleaseInterruptible.cjs.map +1 -1
  197. package/_cjs/IO/api/acquireReleaseInterruptibleExit.cjs +1 -2
  198. package/_cjs/IO/api/acquireReleaseInterruptibleExit.cjs.map +1 -1
  199. package/_cjs/IO/api/addFinalizer.cjs +1 -2
  200. package/_cjs/IO/api/addFinalizer.cjs.map +1 -1
  201. package/_cjs/IO/api/addFinalizerExit.cjs +1 -2
  202. package/_cjs/IO/api/addFinalizerExit.cjs.map +1 -1
  203. package/_cjs/IO/api/all.cjs +1 -2
  204. package/_cjs/IO/api/all.cjs.map +1 -1
  205. package/_cjs/IO/api/array.cjs +51 -0
  206. package/_cjs/IO/api/array.cjs.map +1 -0
  207. package/_cjs/IO/api/asyncIO.cjs +1 -2
  208. package/_cjs/IO/api/asyncIO.cjs.map +1 -1
  209. package/_cjs/IO/api/asyncInterrupt.cjs +1 -2
  210. package/_cjs/IO/api/asyncInterrupt.cjs.map +1 -1
  211. package/_cjs/IO/api/awaitAllChildren.cjs +17 -0
  212. package/_cjs/IO/api/awaitAllChildren.cjs.map +1 -0
  213. package/_cjs/IO/api/blocking.cjs +1 -2
  214. package/_cjs/IO/api/blocking.cjs.map +1 -1
  215. package/_cjs/IO/api/bracket.cjs +1 -2
  216. package/_cjs/IO/api/bracket.cjs.map +1 -1
  217. package/_cjs/IO/api/bracketExit.cjs +1 -2
  218. package/_cjs/IO/api/bracketExit.cjs.map +1 -1
  219. package/_cjs/IO/api/cachedInvalidate.cjs +47 -0
  220. package/_cjs/IO/api/cachedInvalidate.cjs.map +1 -0
  221. package/_cjs/IO/api/clockWith.cjs +1 -2
  222. package/_cjs/IO/api/clockWith.cjs.map +1 -1
  223. package/_cjs/IO/api/concurrency.cjs +1 -2
  224. package/_cjs/IO/api/concurrency.cjs.map +1 -1
  225. package/_cjs/IO/api/concurrentFinalizers.cjs +1 -2
  226. package/_cjs/IO/api/concurrentFinalizers.cjs.map +1 -1
  227. package/_cjs/IO/api/consoleWith.cjs +1 -2
  228. package/_cjs/IO/api/consoleWith.cjs.map +1 -1
  229. package/_cjs/IO/api/daemonChildren.cjs +1 -2
  230. package/_cjs/IO/api/daemonChildren.cjs.map +1 -1
  231. package/_cjs/IO/api/delay.cjs +1 -2
  232. package/_cjs/IO/api/delay.cjs.map +1 -1
  233. package/_cjs/IO/api/descriptor.cjs +1 -2
  234. package/_cjs/IO/api/descriptor.cjs.map +1 -1
  235. package/_cjs/IO/api/diffFiberRefs.cjs +1 -2
  236. package/_cjs/IO/api/diffFiberRefs.cjs.map +1 -1
  237. package/_cjs/IO/api/disconnect.cjs +2 -3
  238. package/_cjs/IO/api/disconnect.cjs.map +1 -1
  239. package/_cjs/IO/api/ensuringChildren.cjs +1 -2
  240. package/_cjs/IO/api/ensuringChildren.cjs.map +1 -1
  241. package/_cjs/IO/api/environment.cjs +1 -2
  242. package/_cjs/IO/api/environment.cjs.map +1 -1
  243. package/_cjs/IO/api/foreachConcurrent.cjs +36 -30
  244. package/_cjs/IO/api/foreachConcurrent.cjs.map +1 -1
  245. package/_cjs/IO/api/foreachExec.cjs +30 -6
  246. package/_cjs/IO/api/foreachExec.cjs.map +1 -1
  247. package/_cjs/IO/api/fork.cjs +2 -3
  248. package/_cjs/IO/api/fork.cjs.map +1 -1
  249. package/_cjs/IO/api/forkAll.cjs +1 -2
  250. package/_cjs/IO/api/forkAll.cjs.map +1 -1
  251. package/_cjs/IO/api/forkDaemon.cjs +5 -6
  252. package/_cjs/IO/api/forkDaemon.cjs.map +1 -1
  253. package/_cjs/IO/api/forkIn.cjs +1 -2
  254. package/_cjs/IO/api/forkIn.cjs.map +1 -1
  255. package/_cjs/IO/api/forkScoped.cjs +1 -2
  256. package/_cjs/IO/api/forkScoped.cjs.map +1 -1
  257. package/_cjs/IO/api/fulfill.cjs +1 -2
  258. package/_cjs/IO/api/fulfill.cjs.map +1 -1
  259. package/_cjs/IO/api/interrupt.cjs +4 -5
  260. package/_cjs/IO/api/interrupt.cjs.map +1 -1
  261. package/_cjs/IO/api/memoize.cjs +1 -2
  262. package/_cjs/IO/api/memoize.cjs.map +1 -1
  263. package/_cjs/IO/api/onTermination.cjs +2 -3
  264. package/_cjs/IO/api/onTermination.cjs.map +1 -1
  265. package/_cjs/IO/api/once.cjs +1 -2
  266. package/_cjs/IO/api/once.cjs.map +1 -1
  267. package/_cjs/IO/api/patchFiberRefs.cjs +1 -2
  268. package/_cjs/IO/api/patchFiberRefs.cjs.map +1 -1
  269. package/_cjs/IO/api/provideLayer.cjs +1 -2
  270. package/_cjs/IO/api/provideLayer.cjs.map +1 -1
  271. package/_cjs/IO/api/provideScope.cjs +1 -2
  272. package/_cjs/IO/api/provideScope.cjs.map +1 -1
  273. package/_cjs/IO/api/provideSomeLayer.cjs +1 -2
  274. package/_cjs/IO/api/provideSomeLayer.cjs.map +1 -1
  275. package/_cjs/IO/api/provideSomeRuntime.cjs +1 -2
  276. package/_cjs/IO/api/provideSomeRuntime.cjs.map +1 -1
  277. package/_cjs/IO/api/race.cjs +2 -3
  278. package/_cjs/IO/api/race.cjs.map +1 -1
  279. package/_cjs/IO/api/raceFirst.cjs +1 -2
  280. package/_cjs/IO/api/raceFirst.cjs.map +1 -1
  281. package/_cjs/IO/api/raceWith.cjs +1 -2
  282. package/_cjs/IO/api/raceWith.cjs.map +1 -1
  283. package/_cjs/IO/api/randomWith.cjs +1 -2
  284. package/_cjs/IO/api/randomWith.cjs.map +1 -1
  285. package/_cjs/IO/api/repeat.cjs +1 -2
  286. package/_cjs/IO/api/repeat.cjs.map +1 -1
  287. package/_cjs/IO/api/retry.cjs +1 -2
  288. package/_cjs/IO/api/retry.cjs.map +1 -1
  289. package/_cjs/IO/api/schedule.cjs +1 -2
  290. package/_cjs/IO/api/schedule.cjs.map +1 -1
  291. package/_cjs/IO/api/scope.cjs +1 -2
  292. package/_cjs/IO/api/scope.cjs.map +1 -1
  293. package/_cjs/IO/api/scopeWith.cjs +1 -2
  294. package/_cjs/IO/api/scopeWith.cjs.map +1 -1
  295. package/_cjs/IO/api/scoped.cjs +1 -2
  296. package/_cjs/IO/api/scoped.cjs.map +1 -1
  297. package/_cjs/IO/api/sleep.cjs +1 -2
  298. package/_cjs/IO/api/sleep.cjs.map +1 -1
  299. package/_cjs/IO/api/stateful.cjs +1 -2
  300. package/_cjs/IO/api/stateful.cjs.map +1 -1
  301. package/_cjs/IO/api/supervised.cjs +1 -2
  302. package/_cjs/IO/api/supervised.cjs.map +1 -1
  303. package/_cjs/IO/api/timeout.cjs +9 -11
  304. package/_cjs/IO/api/timeout.cjs.map +1 -1
  305. package/_cjs/IO/api/transplant.cjs +22 -7
  306. package/_cjs/IO/api/transplant.cjs.map +1 -1
  307. package/_cjs/IO/api/whenFiberRef.cjs +1 -2
  308. package/_cjs/IO/api/whenFiberRef.cjs.map +1 -1
  309. package/_cjs/IO/api/whenRef.cjs +1 -2
  310. package/_cjs/IO/api/whenRef.cjs.map +1 -1
  311. package/_cjs/IO/api/withChildren.cjs +1 -2
  312. package/_cjs/IO/api/withChildren.cjs.map +1 -1
  313. package/_cjs/IO/api/withEarlyRelease.cjs +1 -2
  314. package/_cjs/IO/api/withEarlyRelease.cjs.map +1 -1
  315. package/_cjs/IO/api/withFinalizer.cjs +1 -2
  316. package/_cjs/IO/api/withFinalizer.cjs.map +1 -1
  317. package/_cjs/IO/api/withFinalizerExit.cjs +1 -2
  318. package/_cjs/IO/api/withFinalizerExit.cjs.map +1 -1
  319. package/_cjs/IO/api/zipConcurrent.cjs +5 -6
  320. package/_cjs/IO/api/zipConcurrent.cjs.map +1 -1
  321. package/_cjs/IO/api.cjs +522 -473
  322. package/_cjs/IO/api.cjs.map +1 -1
  323. package/_cjs/IO/definition.cjs +2 -3
  324. package/_cjs/IO/definition.cjs.map +1 -1
  325. package/_cjs/IO/runtime.cjs +9 -10
  326. package/_cjs/IO/runtime.cjs.map +1 -1
  327. package/_cjs/IO.cjs +33 -11
  328. package/_cjs/IO.cjs.map +1 -1
  329. package/_cjs/IOEnv/definition.cjs +1 -2
  330. package/_cjs/IOEnv/definition.cjs.map +1 -1
  331. package/_cjs/IOEnv/live.cjs +1 -2
  332. package/_cjs/IOEnv/live.cjs.map +1 -1
  333. package/_cjs/IOEnv/services.cjs +1 -2
  334. package/_cjs/IOEnv/services.cjs.map +1 -1
  335. package/_cjs/Layer/MemoMap.cjs +1 -2
  336. package/_cjs/Layer/MemoMap.cjs.map +1 -1
  337. package/_cjs/Layer/api.cjs +1 -2
  338. package/_cjs/Layer/api.cjs.map +1 -1
  339. package/_cjs/Logger/api.cjs +1 -2
  340. package/_cjs/Logger/api.cjs.map +1 -1
  341. package/_cjs/Logger/constructors.cjs +1 -2
  342. package/_cjs/Logger/constructors.cjs.map +1 -1
  343. package/_cjs/MVar/api.cjs +1 -2
  344. package/_cjs/MVar/api.cjs.map +1 -1
  345. package/_cjs/Push/Bounds.cjs +2 -0
  346. package/_cjs/Push/Bounds.cjs.map +1 -0
  347. package/_cjs/Push/FlattenStrategy.cjs +95 -0
  348. package/_cjs/Push/FlattenStrategy.cjs.map +1 -0
  349. package/_cjs/Push/IndexedBuffer.cjs +70 -0
  350. package/_cjs/Push/IndexedBuffer.cjs.map +1 -0
  351. package/_cjs/Push/MergeStrategy.cjs +45 -0
  352. package/_cjs/Push/MergeStrategy.cjs.map +1 -0
  353. package/_cjs/Push/Operator/IOLoopOperator.cjs +225 -0
  354. package/_cjs/Push/Operator/IOLoopOperator.cjs.map +1 -0
  355. package/_cjs/Push/Operator/IOOperator.cjs +104 -0
  356. package/_cjs/Push/Operator/IOOperator.cjs.map +1 -0
  357. package/_cjs/Push/Operator/LoopOperator.cjs +165 -0
  358. package/_cjs/Push/Operator/LoopOperator.cjs.map +1 -0
  359. package/_cjs/Push/Operator/SyncOperator.cjs +78 -0
  360. package/_cjs/Push/Operator/SyncOperator.cjs.map +1 -0
  361. package/_cjs/Push/Operator.cjs +2 -0
  362. package/_cjs/Push/Operator.cjs.map +1 -0
  363. package/_cjs/Push/Producer/IOProducer.cjs +67 -0
  364. package/_cjs/Push/Producer/IOProducer.cjs.map +1 -0
  365. package/_cjs/Push/Producer/SyncProducer.cjs +107 -0
  366. package/_cjs/Push/Producer/SyncProducer.cjs.map +1 -0
  367. package/_cjs/Push/Producer.cjs +2 -0
  368. package/_cjs/Push/Producer.cjs.map +1 -0
  369. package/_cjs/Push/Sink.cjs +219 -0
  370. package/_cjs/Push/Sink.cjs.map +1 -0
  371. package/_cjs/Push/api.cjs +340 -385
  372. package/_cjs/Push/api.cjs.map +1 -1
  373. package/_cjs/Push/definition.cjs +79 -22
  374. package/_cjs/Push/definition.cjs.map +1 -1
  375. package/_cjs/Push/internal.cjs +32 -28
  376. package/_cjs/Push/internal.cjs.map +1 -1
  377. package/_cjs/Push.cjs +66 -0
  378. package/_cjs/Push.cjs.map +1 -1
  379. package/_cjs/Queue/api/dimapIO.cjs +1 -2
  380. package/_cjs/Queue/api/dimapIO.cjs.map +1 -1
  381. package/_cjs/Queue/api/filterInputIO.cjs +1 -2
  382. package/_cjs/Queue/api/filterInputIO.cjs.map +1 -1
  383. package/_cjs/Queue/api/filterOutputIO.cjs +1 -2
  384. package/_cjs/Queue/api/filterOutputIO.cjs.map +1 -1
  385. package/_cjs/Queue/api/poll.cjs +1 -2
  386. package/_cjs/Queue/api/poll.cjs.map +1 -1
  387. package/_cjs/Queue/api/takeBetween.cjs +1 -2
  388. package/_cjs/Queue/api/takeBetween.cjs.map +1 -1
  389. package/_cjs/Queue/api/takeN.cjs +1 -2
  390. package/_cjs/Queue/api/takeN.cjs.map +1 -1
  391. package/_cjs/Queue/api/zipWithIO.cjs +1 -2
  392. package/_cjs/Queue/api/zipWithIO.cjs.map +1 -1
  393. package/_cjs/Queue/constructors.cjs +1 -2
  394. package/_cjs/Queue/constructors.cjs.map +1 -1
  395. package/_cjs/Queue/internal.cjs +1 -2
  396. package/_cjs/Queue/internal.cjs.map +1 -1
  397. package/_cjs/Queue/strategy.cjs +1 -2
  398. package/_cjs/Queue/strategy.cjs.map +1 -1
  399. package/_cjs/Random/api.cjs +1 -2
  400. package/_cjs/Random/api.cjs.map +1 -1
  401. package/_cjs/Random/definition.cjs +2 -2
  402. package/_cjs/Random/definition.cjs.map +1 -1
  403. package/_cjs/Random/live.cjs +1 -2
  404. package/_cjs/Random/live.cjs.map +1 -1
  405. package/_cjs/Ref/Atomic.cjs +1 -2
  406. package/_cjs/Ref/Atomic.cjs.map +1 -1
  407. package/_cjs/Ref/Derived.cjs +1 -2
  408. package/_cjs/Ref/Derived.cjs.map +1 -1
  409. package/_cjs/Ref/DerivedAll.cjs +1 -2
  410. package/_cjs/Ref/DerivedAll.cjs.map +1 -1
  411. package/_cjs/Ref/Synchronized/api.cjs +2 -3
  412. package/_cjs/Ref/Synchronized/api.cjs.map +1 -1
  413. package/_cjs/Ref/Synchronized/constructors.cjs +2 -3
  414. package/_cjs/Ref/Synchronized/constructors.cjs.map +1 -1
  415. package/_cjs/Ref/Synchronized/definition.cjs +13 -14
  416. package/_cjs/Ref/Synchronized/definition.cjs.map +1 -1
  417. package/_cjs/Ref/api/collect.cjs +1 -2
  418. package/_cjs/Ref/api/collect.cjs.map +1 -1
  419. package/_cjs/Ref/api/dimap.cjs +1 -2
  420. package/_cjs/Ref/api/dimap.cjs.map +1 -1
  421. package/_cjs/Ref/api/filter.cjs +1 -2
  422. package/_cjs/Ref/api/filter.cjs.map +1 -1
  423. package/_cjs/Ref/api/modify.cjs +1 -2
  424. package/_cjs/Ref/api/modify.cjs.map +1 -1
  425. package/_cjs/Ref/api.cjs +1 -2
  426. package/_cjs/Ref/api.cjs.map +1 -1
  427. package/_cjs/Ref/constructors.cjs +1 -2
  428. package/_cjs/Ref/constructors.cjs.map +1 -1
  429. package/_cjs/Ref/definition.cjs.map +1 -1
  430. package/_cjs/Reloadable/api.cjs +1 -2
  431. package/_cjs/Reloadable/api.cjs.map +1 -1
  432. package/_cjs/Reloadable/constructors.cjs +1 -2
  433. package/_cjs/Reloadable/constructors.cjs.map +1 -1
  434. package/_cjs/Reloadable/definition.cjs +1 -2
  435. package/_cjs/Reloadable/definition.cjs.map +1 -1
  436. package/_cjs/RuntimeFlags/Patch.cjs +1 -2
  437. package/_cjs/RuntimeFlags/Patch.cjs.map +1 -1
  438. package/_cjs/RuntimeFlags/RuntimeFlags.cjs +1 -2
  439. package/_cjs/RuntimeFlags/RuntimeFlags.cjs.map +1 -1
  440. package/_cjs/STM/api/atomically.cjs +1 -2
  441. package/_cjs/STM/api/atomically.cjs.map +1 -1
  442. package/_cjs/STM/api/core-api.cjs +1 -2
  443. package/_cjs/STM/api/core-api.cjs.map +1 -1
  444. package/_cjs/STM/api.cjs +1 -2
  445. package/_cjs/STM/api.cjs.map +1 -1
  446. package/_cjs/STM/definition.cjs +2 -3
  447. package/_cjs/STM/definition.cjs.map +1 -1
  448. package/_cjs/STM/driver.cjs +1 -2
  449. package/_cjs/STM/driver.cjs.map +1 -1
  450. package/_cjs/STM/internal/CommitState.cjs +1 -2
  451. package/_cjs/STM/internal/CommitState.cjs.map +1 -1
  452. package/_cjs/STM/internal/Journal.cjs +1 -2
  453. package/_cjs/STM/internal/Journal.cjs.map +1 -1
  454. package/_cjs/Schedule/Decision.cjs +1 -2
  455. package/_cjs/Schedule/Decision.cjs.map +1 -1
  456. package/_cjs/Schedule/api/driver.cjs +1 -2
  457. package/_cjs/Schedule/api/driver.cjs.map +1 -1
  458. package/_cjs/Schedule/api.cjs +1 -2
  459. package/_cjs/Schedule/api.cjs.map +1 -1
  460. package/_cjs/Scope/Finalizer/definition.cjs +1 -2
  461. package/_cjs/Scope/Finalizer/definition.cjs.map +1 -1
  462. package/_cjs/Scope/ReleaseMap/api/releaseAll.cjs +1 -2
  463. package/_cjs/Scope/ReleaseMap/api/releaseAll.cjs.map +1 -1
  464. package/_cjs/Scope/ReleaseMap/api.cjs +1 -2
  465. package/_cjs/Scope/ReleaseMap/api.cjs.map +1 -1
  466. package/_cjs/Scope/ReleaseMap/constructors.cjs +1 -2
  467. package/_cjs/Scope/ReleaseMap/constructors.cjs.map +1 -1
  468. package/_cjs/Scope/ReleaseMap/definition.cjs +1 -2
  469. package/_cjs/Scope/ReleaseMap/definition.cjs.map +1 -1
  470. package/_cjs/Scope/api.cjs +29 -9
  471. package/_cjs/Scope/api.cjs.map +1 -1
  472. package/_cjs/Scope/definition.cjs +1 -2
  473. package/_cjs/Scope/definition.cjs.map +1 -1
  474. package/_cjs/ScopedRef/api.cjs +2 -3
  475. package/_cjs/ScopedRef/api.cjs.map +1 -1
  476. package/_cjs/Semaphore/Reservation.cjs +24 -0
  477. package/_cjs/Semaphore/Reservation.cjs.map +1 -0
  478. package/_cjs/Semaphore/constructors.cjs +25 -0
  479. package/_cjs/Semaphore/constructors.cjs.map +1 -0
  480. package/_cjs/Semaphore/definition.cjs +149 -0
  481. package/_cjs/Semaphore/definition.cjs.map +1 -0
  482. package/_cjs/Semaphore.cjs +31 -138
  483. package/_cjs/Semaphore.cjs.map +1 -1
  484. package/_cjs/Sink/api.cjs +1 -2
  485. package/_cjs/Sink/api.cjs.map +1 -1
  486. package/_cjs/Sink/definition.cjs +2 -3
  487. package/_cjs/Sink/definition.cjs.map +1 -1
  488. package/_cjs/State/api.cjs +1 -2
  489. package/_cjs/State/api.cjs.map +1 -1
  490. package/_cjs/Stream/api/zipAllWith.cjs +1 -2
  491. package/_cjs/Stream/api/zipAllWith.cjs.map +1 -1
  492. package/_cjs/Stream/api/zipWith.cjs +1 -2
  493. package/_cjs/Stream/api/zipWith.cjs.map +1 -1
  494. package/_cjs/Stream/api/zipWithChunks.cjs +1 -2
  495. package/_cjs/Stream/api/zipWithChunks.cjs.map +1 -1
  496. package/_cjs/Stream/api.cjs +702 -703
  497. package/_cjs/Stream/api.cjs.map +1 -1
  498. package/_cjs/Stream/definition.cjs.map +1 -1
  499. package/_cjs/Stream/internal/Handoff.cjs +1 -2
  500. package/_cjs/Stream/internal/Handoff.cjs.map +1 -1
  501. package/_cjs/Stream/internal/Pull.cjs +1 -2
  502. package/_cjs/Stream/internal/Pull.cjs.map +1 -1
  503. package/_cjs/Stream/internal/Take.cjs +1 -2
  504. package/_cjs/Stream/internal/Take.cjs.map +1 -1
  505. package/_cjs/Stream/internal/util.cjs +1 -2
  506. package/_cjs/Stream/internal/util.cjs.map +1 -1
  507. package/_cjs/Subject/Atomic.cjs +46 -12
  508. package/_cjs/Subject/Atomic.cjs.map +1 -1
  509. package/_cjs/Subject/DeferredRef.cjs +53 -0
  510. package/_cjs/Subject/DeferredRef.cjs.map +1 -0
  511. package/_cjs/Subject/Hold.cjs +41 -0
  512. package/_cjs/Subject/Hold.cjs.map +1 -0
  513. package/_cjs/Subject/RefSubject/Atomic.cjs +130 -0
  514. package/_cjs/Subject/RefSubject/Atomic.cjs.map +1 -0
  515. package/_cjs/Subject/RefSubject/Derived.cjs +98 -0
  516. package/_cjs/Subject/RefSubject/Derived.cjs.map +1 -0
  517. package/_cjs/Subject/RefSubject/RefSubject.cjs +19 -0
  518. package/_cjs/Subject/RefSubject/RefSubject.cjs.map +1 -0
  519. package/_cjs/Subject/api.cjs +1 -2
  520. package/_cjs/Subject/api.cjs.map +1 -1
  521. package/_cjs/Subject/definition.cjs +16 -1
  522. package/_cjs/Subject/definition.cjs.map +1 -1
  523. package/_cjs/Subject.cjs +22 -0
  524. package/_cjs/Subject.cjs.map +1 -1
  525. package/_cjs/SubscriptionRef.cjs +2 -4
  526. package/_cjs/SubscriptionRef.cjs.map +1 -1
  527. package/_cjs/Supervisor/api.cjs +1 -2
  528. package/_cjs/Supervisor/api.cjs.map +1 -1
  529. package/_cjs/Supervisor/constructors.cjs +1 -2
  530. package/_cjs/Supervisor/constructors.cjs.map +1 -1
  531. package/_cjs/Supervisor/definition.cjs +1 -2
  532. package/_cjs/Supervisor/definition.cjs.map +1 -1
  533. package/_cjs/SupervisorPatch.cjs +1 -2
  534. package/_cjs/SupervisorPatch.cjs.map +1 -1
  535. package/_cjs/TExit/definition.cjs +1 -2
  536. package/_cjs/TExit/definition.cjs.map +1 -1
  537. package/_cjs/TFuture/api.cjs +1 -2
  538. package/_cjs/TFuture/api.cjs.map +1 -1
  539. package/_cjs/TFuture/constructors.cjs +1 -2
  540. package/_cjs/TFuture/constructors.cjs.map +1 -1
  541. package/_cjs/TFuture/definition.cjs +1 -2
  542. package/_cjs/TFuture/definition.cjs.map +1 -1
  543. package/_cjs/TReentrantLock/api.cjs +1 -2
  544. package/_cjs/TReentrantLock/api.cjs.map +1 -1
  545. package/_cjs/TReentrantLock/definition.cjs +1 -2
  546. package/_cjs/TReentrantLock/definition.cjs.map +1 -1
  547. package/_cjs/TRef/api.cjs +1 -2
  548. package/_cjs/TRef/api.cjs.map +1 -1
  549. package/_cjs/TRef/constructors.cjs +1 -2
  550. package/_cjs/TRef/constructors.cjs.map +1 -1
  551. package/_cjs/TRef/definition.cjs +1 -2
  552. package/_cjs/TRef/definition.cjs.map +1 -1
  553. package/_cjs/TSemaphore/api.cjs +1 -2
  554. package/_cjs/TSemaphore/api.cjs.map +1 -1
  555. package/_cjs/TSemaphore/constructors.cjs +1 -2
  556. package/_cjs/TSemaphore/constructors.cjs.map +1 -1
  557. package/_cjs/TSemaphore/definition.cjs +1 -2
  558. package/_cjs/TSemaphore/definition.cjs.map +1 -1
  559. package/_cjs/collection/immutable/Conc/dropUntilIO.cjs +1 -2
  560. package/_cjs/collection/immutable/Conc/dropUntilIO.cjs.map +1 -1
  561. package/_cjs/collection/immutable/Conc/dropWhileIO.cjs +1 -2
  562. package/_cjs/collection/immutable/Conc/dropWhileIO.cjs.map +1 -1
  563. package/_cjs/collection/immutable/Conc/filterIO.cjs +1 -2
  564. package/_cjs/collection/immutable/Conc/filterIO.cjs.map +1 -1
  565. package/_cjs/collection/immutable/Conc/findIO.cjs +1 -2
  566. package/_cjs/collection/immutable/Conc/findIO.cjs.map +1 -1
  567. package/_cjs/collection/immutable/Conc/mapIO.cjs +1 -2
  568. package/_cjs/collection/immutable/Conc/mapIO.cjs.map +1 -1
  569. package/_cjs/collection/immutable/Conc/takeWhileIO.cjs +1 -2
  570. package/_cjs/collection/immutable/Conc/takeWhileIO.cjs.map +1 -1
  571. package/_cjs/data/Exit/foreachIO.cjs +1 -2
  572. package/_cjs/data/Exit/foreachIO.cjs.map +1 -1
  573. package/_cjs/internal/HashedPair.cjs +1 -2
  574. package/_cjs/internal/HashedPair.cjs.map +1 -1
  575. package/_cjs/internal/Hub.cjs +1 -2
  576. package/_cjs/internal/Hub.cjs.map +1 -1
  577. package/_cjs/internal/MutableQueue.cjs +1 -2
  578. package/_cjs/internal/MutableQueue.cjs.map +1 -1
  579. package/_cjs/internal/Scheduler.cjs +1 -2
  580. package/_cjs/internal/Scheduler.cjs.map +1 -1
  581. package/_cjs/internal/StackTraceBuilder.cjs +1 -2
  582. package/_cjs/internal/StackTraceBuilder.cjs.map +1 -1
  583. package/_mjs/Cached/api.mjs.map +1 -1
  584. package/_mjs/Channel/api/mapOutConcurrentIO.mjs +1 -1
  585. package/_mjs/Channel/api/mergeAllWith.mjs +1 -1
  586. package/_mjs/Channel/api/runScoped.mjs +2 -2
  587. package/_mjs/Channel/api/runScoped.mjs.map +1 -1
  588. package/_mjs/Channel/api/toPull.mjs +1 -1
  589. package/_mjs/Channel/api/toPull.mjs.map +1 -1
  590. package/_mjs/Channel/api.mjs +205 -205
  591. package/_mjs/Channel/api.mjs.map +1 -1
  592. package/_mjs/Channel/core-api.mjs +43 -42
  593. package/_mjs/Channel/core-api.mjs.map +1 -1
  594. package/_mjs/Channel/internal/ChannelExecutor.mjs +3 -3
  595. package/_mjs/Channel/internal/ChannelExecutor.mjs.map +1 -1
  596. package/_mjs/Console/definition.mjs +1 -0
  597. package/_mjs/Console/definition.mjs.map +1 -1
  598. package/_mjs/CountdownLatch.mjs +2 -1
  599. package/_mjs/CountdownLatch.mjs.map +1 -1
  600. package/_mjs/Fiber/FiberMessage.mjs +2 -20
  601. package/_mjs/Fiber/FiberMessage.mjs.map +1 -1
  602. package/_mjs/Fiber/FiberRuntime.mjs +877 -633
  603. package/_mjs/Fiber/FiberRuntime.mjs.map +1 -1
  604. package/_mjs/Fiber/api/collectAll.mjs +1 -1
  605. package/_mjs/Fiber/api/collectAll.mjs.map +1 -1
  606. package/_mjs/Fiber/api/interrupt.mjs +1 -1
  607. package/_mjs/Fiber/api/interrupt.mjs.map +1 -1
  608. package/_mjs/Fiber/api/interruptAll.mjs +1 -1
  609. package/_mjs/Fiber/api/interruptAll.mjs.map +1 -1
  610. package/_mjs/Fiber/api/interruptAs.mjs +4 -7
  611. package/_mjs/Fiber/api/interruptAs.mjs.map +1 -1
  612. package/_mjs/Fiber/api/interruptFork.mjs +1 -1
  613. package/_mjs/Fiber/api/interruptFork.mjs.map +1 -1
  614. package/_mjs/Fiber/api/mapIO.mjs +1 -1
  615. package/_mjs/Fiber/api/mapIO.mjs.map +1 -1
  616. package/_mjs/Fiber/api/zipWith.mjs +1 -1
  617. package/_mjs/Fiber/api/zipWith.mjs.map +1 -1
  618. package/_mjs/Fiber/constructors.mjs +1 -1
  619. package/_mjs/Fiber/constructors.mjs.map +1 -1
  620. package/_mjs/Fiber/definition.mjs +5 -2
  621. package/_mjs/Fiber/definition.mjs.map +1 -1
  622. package/_mjs/FiberScope/definition.mjs +28 -4
  623. package/_mjs/FiberScope/definition.mjs.map +1 -1
  624. package/_mjs/FiberSet.mjs +14 -12
  625. package/_mjs/FiberSet.mjs.map +1 -1
  626. package/_mjs/Future/State.mjs +96 -0
  627. package/_mjs/Future/State.mjs.map +1 -0
  628. package/_mjs/Future/api.mjs +67 -61
  629. package/_mjs/Future/api.mjs.map +1 -1
  630. package/_mjs/Future/constructors.mjs +3 -3
  631. package/_mjs/Future/constructors.mjs.map +1 -1
  632. package/_mjs/Future/definition.mjs +0 -12
  633. package/_mjs/Future/definition.mjs.map +1 -1
  634. package/_mjs/Future.mjs +1 -0
  635. package/_mjs/Future.mjs.map +1 -1
  636. package/_mjs/Hub/api.mjs +55 -55
  637. package/_mjs/Hub/api.mjs.map +1 -1
  638. package/_mjs/IO/api/array.mjs +42 -0
  639. package/_mjs/IO/api/array.mjs.map +1 -0
  640. package/_mjs/IO/api/asyncInterrupt.mjs.map +1 -1
  641. package/_mjs/IO/api/awaitAllChildren.mjs +10 -0
  642. package/_mjs/IO/api/awaitAllChildren.mjs.map +1 -0
  643. package/_mjs/IO/api/cachedInvalidate.mjs +39 -0
  644. package/_mjs/IO/api/cachedInvalidate.mjs.map +1 -0
  645. package/_mjs/IO/api/disconnect.mjs +1 -1
  646. package/_mjs/IO/api/disconnect.mjs.map +1 -1
  647. package/_mjs/IO/api/foreachConcurrent.mjs +35 -28
  648. package/_mjs/IO/api/foreachConcurrent.mjs.map +1 -1
  649. package/_mjs/IO/api/foreachExec.mjs +27 -4
  650. package/_mjs/IO/api/foreachExec.mjs.map +1 -1
  651. package/_mjs/IO/api/fork.mjs +1 -1
  652. package/_mjs/IO/api/fork.mjs.map +1 -1
  653. package/_mjs/IO/api/forkDaemon.mjs +4 -4
  654. package/_mjs/IO/api/forkDaemon.mjs.map +1 -1
  655. package/_mjs/IO/api/interrupt.mjs +3 -3
  656. package/_mjs/IO/api/onTermination.mjs +1 -1
  657. package/_mjs/IO/api/onTermination.mjs.map +1 -1
  658. package/_mjs/IO/api/race.mjs +1 -1
  659. package/_mjs/IO/api/race.mjs.map +1 -1
  660. package/_mjs/IO/api/timeout.mjs +8 -9
  661. package/_mjs/IO/api/timeout.mjs.map +1 -1
  662. package/_mjs/IO/api/transplant.mjs +19 -5
  663. package/_mjs/IO/api/transplant.mjs.map +1 -1
  664. package/_mjs/IO/api/zipConcurrent.mjs +4 -4
  665. package/_mjs/IO/api/zipConcurrent.mjs.map +1 -1
  666. package/_mjs/IO/api.mjs +515 -468
  667. package/_mjs/IO/api.mjs.map +1 -1
  668. package/_mjs/IO/definition.mjs +1 -1
  669. package/_mjs/IO/definition.mjs.map +1 -1
  670. package/_mjs/IO/runtime.mjs +8 -8
  671. package/_mjs/IO/runtime.mjs.map +1 -1
  672. package/_mjs/IO.mjs +3 -1
  673. package/_mjs/IO.mjs.map +1 -1
  674. package/_mjs/IOEnv/definition.mjs.map +1 -1
  675. package/_mjs/Push/Bounds.mjs +2 -0
  676. package/_mjs/Push/Bounds.mjs.map +1 -0
  677. package/_mjs/Push/FlattenStrategy.mjs +86 -0
  678. package/_mjs/Push/FlattenStrategy.mjs.map +1 -0
  679. package/_mjs/Push/IndexedBuffer.mjs +61 -0
  680. package/_mjs/Push/IndexedBuffer.mjs.map +1 -0
  681. package/_mjs/Push/MergeStrategy.mjs +34 -0
  682. package/_mjs/Push/MergeStrategy.mjs.map +1 -0
  683. package/_mjs/Push/Operator/IOLoopOperator.mjs +208 -0
  684. package/_mjs/Push/Operator/IOLoopOperator.mjs.map +1 -0
  685. package/_mjs/Push/Operator/IOOperator.mjs +91 -0
  686. package/_mjs/Push/Operator/IOOperator.mjs.map +1 -0
  687. package/_mjs/Push/Operator/LoopOperator.mjs +151 -0
  688. package/_mjs/Push/Operator/LoopOperator.mjs.map +1 -0
  689. package/_mjs/Push/Operator/SyncOperator.mjs +67 -0
  690. package/_mjs/Push/Operator/SyncOperator.mjs.map +1 -0
  691. package/_mjs/Push/Operator.mjs +2 -0
  692. package/_mjs/Push/Operator.mjs.map +1 -0
  693. package/_mjs/Push/Producer/IOProducer.mjs +55 -0
  694. package/_mjs/Push/Producer/IOProducer.mjs.map +1 -0
  695. package/_mjs/Push/Producer/SyncProducer.mjs +90 -0
  696. package/_mjs/Push/Producer/SyncProducer.mjs.map +1 -0
  697. package/_mjs/Push/Producer.mjs +2 -0
  698. package/_mjs/Push/Producer.mjs.map +1 -0
  699. package/_mjs/Push/Sink.mjs +206 -0
  700. package/_mjs/Push/Sink.mjs.map +1 -0
  701. package/_mjs/Push/api.mjs +311 -344
  702. package/_mjs/Push/api.mjs.map +1 -1
  703. package/_mjs/Push/definition.mjs +73 -18
  704. package/_mjs/Push/definition.mjs.map +1 -1
  705. package/_mjs/Push/internal.mjs +30 -26
  706. package/_mjs/Push/internal.mjs.map +1 -1
  707. package/_mjs/Push.mjs +7 -1
  708. package/_mjs/Push.mjs.map +1 -1
  709. package/_mjs/Random/definition.mjs +1 -0
  710. package/_mjs/Random/definition.mjs.map +1 -1
  711. package/_mjs/Ref/Synchronized/api.mjs +1 -1
  712. package/_mjs/Ref/Synchronized/api.mjs.map +1 -1
  713. package/_mjs/Ref/Synchronized/constructors.mjs +1 -1
  714. package/_mjs/Ref/Synchronized/definition.mjs +12 -12
  715. package/_mjs/Ref/Synchronized/definition.mjs.map +1 -1
  716. package/_mjs/Ref/definition.mjs.map +1 -1
  717. package/_mjs/STM/definition.mjs +1 -1
  718. package/_mjs/Scope/api.mjs +22 -4
  719. package/_mjs/Scope/api.mjs.map +1 -1
  720. package/_mjs/ScopedRef/api.mjs +1 -1
  721. package/_mjs/ScopedRef/api.mjs.map +1 -1
  722. package/_mjs/Semaphore/Reservation.mjs +16 -0
  723. package/_mjs/Semaphore/Reservation.mjs.map +1 -0
  724. package/_mjs/Semaphore/constructors.mjs +17 -0
  725. package/_mjs/Semaphore/constructors.mjs.map +1 -0
  726. package/_mjs/Semaphore/definition.mjs +141 -0
  727. package/_mjs/Semaphore/definition.mjs.map +1 -0
  728. package/_mjs/Semaphore.mjs +4 -133
  729. package/_mjs/Semaphore.mjs.map +1 -1
  730. package/_mjs/Sink/definition.mjs +2 -3
  731. package/_mjs/Sink/definition.mjs.map +1 -1
  732. package/_mjs/Stream/api.mjs +701 -701
  733. package/_mjs/Stream/api.mjs.map +1 -1
  734. package/_mjs/Stream/definition.mjs.map +1 -1
  735. package/_mjs/Subject/Atomic.mjs +46 -10
  736. package/_mjs/Subject/Atomic.mjs.map +1 -1
  737. package/_mjs/Subject/DeferredRef.mjs +45 -0
  738. package/_mjs/Subject/DeferredRef.mjs.map +1 -0
  739. package/_mjs/Subject/Hold.mjs +33 -0
  740. package/_mjs/Subject/Hold.mjs.map +1 -0
  741. package/_mjs/Subject/RefSubject/Atomic.mjs +122 -0
  742. package/_mjs/Subject/RefSubject/Atomic.mjs.map +1 -0
  743. package/_mjs/Subject/RefSubject/Derived.mjs +90 -0
  744. package/_mjs/Subject/RefSubject/Derived.mjs.map +1 -0
  745. package/_mjs/Subject/RefSubject/RefSubject.mjs +12 -0
  746. package/_mjs/Subject/RefSubject/RefSubject.mjs.map +1 -0
  747. package/_mjs/Subject/definition.mjs +14 -0
  748. package/_mjs/Subject/definition.mjs.map +1 -1
  749. package/_mjs/Subject.mjs +2 -0
  750. package/_mjs/Subject.mjs.map +1 -1
  751. package/_mjs/SubscriptionRef.mjs +1 -2
  752. package/_mjs/SubscriptionRef.mjs.map +1 -1
  753. package/_src/Cached/api.ts +3 -3
  754. package/_src/Channel/api/toPull.ts +1 -1
  755. package/_src/Channel/api.ts +273 -272
  756. package/_src/Channel/core-api.ts +57 -55
  757. package/_src/Channel/internal/ChannelExecutor.ts +3 -3
  758. package/_src/Console/definition.ts +1 -0
  759. package/_src/CountdownLatch.ts +2 -0
  760. package/_src/Fiber/FiberMessage.ts +3 -28
  761. package/_src/Fiber/FiberRuntime.ts +988 -616
  762. package/_src/Fiber/api/interruptAs.ts +4 -3
  763. package/_src/Fiber/constructors.ts +1 -1
  764. package/_src/Fiber/definition.ts +4 -0
  765. package/_src/FiberScope/definition.ts +40 -2
  766. package/_src/FiberSet.ts +6 -2
  767. package/_src/Future/State.ts +128 -0
  768. package/_src/Future/api.ts +62 -51
  769. package/_src/Future/constructors.ts +4 -2
  770. package/_src/Future/definition.ts +2 -17
  771. package/_src/Future.ts +4 -3
  772. package/_src/Hub/api.ts +61 -61
  773. package/_src/IO/api/addFinalizerExit.ts +4 -4
  774. package/_src/IO/api/array.ts +49 -0
  775. package/_src/IO/api/asyncInterrupt.ts +1 -1
  776. package/_src/IO/api/awaitAllChildren.ts +6 -0
  777. package/_src/IO/api/cachedInvalidate.ts +42 -0
  778. package/_src/IO/api/foreachConcurrent.ts +39 -23
  779. package/_src/IO/api/foreachExec.ts +47 -0
  780. package/_src/IO/api/fork.ts +1 -1
  781. package/_src/IO/api/forkDaemon.ts +2 -2
  782. package/_src/IO/api/memoize.ts +3 -3
  783. package/_src/IO/api/onTermination.ts +2 -2
  784. package/_src/IO/api/transplant.ts +26 -3
  785. package/_src/IO/api/zipConcurrent.ts +2 -2
  786. package/_src/IO/api.ts +547 -525
  787. package/_src/IO/definition.ts +4 -28
  788. package/_src/IO/runtime.ts +0 -1
  789. package/_src/IO.ts +65 -63
  790. package/_src/IOEnv/definition.ts +1 -4
  791. package/_src/Push/Bounds.ts +4 -0
  792. package/_src/Push/FlattenStrategy.ts +137 -0
  793. package/_src/Push/IndexedBuffer.ts +79 -0
  794. package/_src/Push/MergeStrategy.ts +59 -0
  795. package/_src/Push/Operator/IOLoopOperator.ts +413 -0
  796. package/_src/Push/Operator/IOOperator.ts +173 -0
  797. package/_src/Push/Operator/LoopOperator.ts +242 -0
  798. package/_src/Push/Operator/SyncOperator.ts +107 -0
  799. package/_src/Push/Operator.ts +7 -0
  800. package/_src/Push/Producer/IOProducer.ts +83 -0
  801. package/_src/Push/Producer/SyncProducer.ts +105 -0
  802. package/_src/Push/Producer.ts +0 -0
  803. package/_src/Push/Sink.ts +302 -0
  804. package/_src/Push/api.ts +387 -513
  805. package/_src/Push/definition.ts +216 -23
  806. package/_src/Push/internal.ts +11 -0
  807. package/_src/Push.ts +7 -1
  808. package/_src/Random/definition.ts +1 -0
  809. package/_src/Ref/Synchronized/api.ts +2 -2
  810. package/_src/Ref/Synchronized/definition.ts +82 -38
  811. package/_src/Ref/definition.ts +26 -0
  812. package/_src/Scope/api.ts +22 -0
  813. package/_src/Semaphore/Reservation.ts +15 -0
  814. package/_src/Semaphore/constructors.ts +14 -0
  815. package/_src/Semaphore/definition.ts +180 -0
  816. package/_src/Semaphore.ts +5 -159
  817. package/_src/Sink/definition.ts +4 -5
  818. package/_src/Stream/api.ts +679 -679
  819. package/_src/Stream/definition.ts +0 -1
  820. package/_src/Subject/Atomic.ts +68 -11
  821. package/_src/Subject/DeferredRef.ts +44 -0
  822. package/_src/Subject/Hold.ts +48 -0
  823. package/_src/Subject/RefSubject/Atomic.ts +193 -0
  824. package/_src/Subject/RefSubject/Derived.ts +179 -0
  825. package/_src/Subject/RefSubject/RefSubject.ts +90 -0
  826. package/_src/Subject/definition.ts +21 -3
  827. package/_src/Subject.ts +5 -3
  828. package/_src/SubscriptionRef.ts +1 -1
  829. package/_src/index.ts +49 -50
  830. package/index.d.ts +0 -1
  831. package/package.json +4 -4
  832. package/IO/api/sequenceT.d.ts +0 -26
  833. package/RefSubject/Atomic.d.ts +0 -34
  834. package/RefSubject/Synchronized/api.d.ts +0 -9
  835. package/RefSubject/Synchronized/definition.d.ts +0 -39
  836. package/RefSubject/api.d.ts +0 -120
  837. package/RefSubject/definition.d.ts +0 -52
  838. package/RefSubject.d.ts +0 -3
  839. package/_cjs/IO/api/sequenceT.cjs +0 -18
  840. package/_cjs/IO/api/sequenceT.cjs.map +0 -1
  841. package/_cjs/RefSubject/Atomic.cjs +0 -108
  842. package/_cjs/RefSubject/Atomic.cjs.map +0 -1
  843. package/_cjs/RefSubject/Synchronized/api.cjs +0 -23
  844. package/_cjs/RefSubject/Synchronized/api.cjs.map +0 -1
  845. package/_cjs/RefSubject/Synchronized/definition.cjs +0 -56
  846. package/_cjs/RefSubject/Synchronized/definition.cjs.map +0 -1
  847. package/_cjs/RefSubject/api.cjs +0 -252
  848. package/_cjs/RefSubject/api.cjs.map +0 -1
  849. package/_cjs/RefSubject/definition.cjs +0 -26
  850. package/_cjs/RefSubject/definition.cjs.map +0 -1
  851. package/_cjs/RefSubject.cjs +0 -39
  852. package/_cjs/RefSubject.cjs.map +0 -1
  853. package/_mjs/IO/api/sequenceT.mjs +0 -10
  854. package/_mjs/IO/api/sequenceT.mjs.map +0 -1
  855. package/_mjs/RefSubject/Atomic.mjs +0 -99
  856. package/_mjs/RefSubject/Atomic.mjs.map +0 -1
  857. package/_mjs/RefSubject/Synchronized/api.mjs +0 -15
  858. package/_mjs/RefSubject/Synchronized/api.mjs.map +0 -1
  859. package/_mjs/RefSubject/Synchronized/definition.mjs +0 -47
  860. package/_mjs/RefSubject/Synchronized/definition.mjs.map +0 -1
  861. package/_mjs/RefSubject/api.mjs +0 -229
  862. package/_mjs/RefSubject/api.mjs.map +0 -1
  863. package/_mjs/RefSubject/definition.mjs +0 -19
  864. package/_mjs/RefSubject/definition.mjs.map +0 -1
  865. package/_mjs/RefSubject.mjs +0 -5
  866. package/_mjs/RefSubject.mjs.map +0 -1
  867. package/_src/IO/api/sequenceT.ts +0 -16
  868. package/_src/RefSubject/Atomic.ts +0 -129
  869. package/_src/RefSubject/Synchronized/api.ts +0 -14
  870. package/_src/RefSubject/Synchronized/definition.ts +0 -76
  871. package/_src/RefSubject/api.ts +0 -253
  872. package/_src/RefSubject/definition.ts +0 -70
  873. package/_src/RefSubject.ts +0 -5
@@ -51,6 +51,7 @@ export declare namespace IO {
51
51
  _A: () => infer A;
52
52
  };
53
53
  }] ? A : never;
54
+ type Concrete = Primitive;
54
55
  }
55
56
  declare module "@fncts/base/data/Either/definition" {
56
57
  interface Either<E, A> extends IO<never, E, A> {
@@ -112,17 +113,14 @@ export declare const enum IOTag {
112
113
  Async = 3,
113
114
  OnSuccessAndFailure = 4,
114
115
  OnSuccess = 5,
115
- OnFailure = 6,
116
- UpdateRuntimeFlags = 7,
117
- UpdateRuntimeFlagsWithin = 8,
118
- GenerateStackTrace = 9,
119
- Stateful = 10,
120
- WhileLoop = 11,
121
- YieldNow = 12,
122
- Commit = 13,
123
- RevertFlags = 14,
124
- UpdateTrace = 15,
125
- External = 16
116
+ UpdateRuntimeFlags = 6,
117
+ UpdateRuntimeFlagsWithin = 7,
118
+ Stateful = 8,
119
+ WhileLoop = 9,
120
+ YieldNow = 10,
121
+ Commit = 11,
122
+ UpdateTrace = 12,
123
+ External = 13
126
124
  }
127
125
  export type IOOp<Tag extends string | number, Body = {}> = IO<never, never, never> & Body & {
128
126
  readonly _ioOpCode: Tag;
@@ -142,7 +140,7 @@ export interface Sync<A = any> extends IOOp<IOTag.Sync, {
142
140
  readonly trace: string | undefined;
143
141
  }> {
144
142
  }
145
- export interface Async<R = any, E = any, A = any> extends IOOp<IOTag.Async, {
143
+ export interface Async extends IOOp<IOTag.Async, {
146
144
  readonly i0: (resume: (io: Primitive) => void) => void;
147
145
  readonly i1: () => FiberId;
148
146
  readonly trace: string | undefined;
@@ -155,19 +153,13 @@ export interface OnSuccessAndFailure extends IOOp<IOTag.OnSuccessAndFailure, {
155
153
  readonly trace: string | undefined;
156
154
  }> {
157
155
  }
158
- export interface OnFailure extends IOOp<IOTag.OnFailure, {
159
- readonly i0: Primitive;
160
- readonly i1: (cause: Cause<unknown>) => Primitive;
161
- readonly trace: string | undefined;
162
- }> {
163
- }
164
156
  export interface OnSuccess extends IOOp<IOTag.OnSuccess, {
165
157
  readonly i0: Primitive;
166
158
  readonly i1: (a: unknown) => Primitive;
167
159
  readonly trace: string | undefined;
168
160
  }> {
169
161
  }
170
- export interface SucceedNow extends IOOp<IOTag.SucceedNow, {
162
+ export interface Succeed extends IOOp<IOTag.SucceedNow, {
171
163
  readonly i0: any;
172
164
  readonly trace: string | undefined;
173
165
  }> {
@@ -183,10 +175,6 @@ export interface UpdateRuntimeFlagsWithin extends IOOp<IOTag.UpdateRuntimeFlagsW
183
175
  readonly trace: string | undefined;
184
176
  }> {
185
177
  }
186
- export interface GenerateStackTrace extends IOOp<IOTag.GenerateStackTrace, {
187
- readonly trace: string | undefined;
188
- }> {
189
- }
190
178
  export interface Stateful extends IOOp<IOTag.Stateful, {
191
179
  readonly i0: (fiber: FiberRuntime<any, any>, status: Running) => Primitive;
192
180
  readonly trace: string | undefined;
@@ -208,14 +196,13 @@ export interface Fail extends IOOp<IOTag.Fail, {
208
196
  readonly trace: string | undefined;
209
197
  }> {
210
198
  }
211
- export type Primitive = OnSuccessAndFailure | OnFailure | OnSuccess | UpdateRuntimeFlagsWithin | Sync | Async | SucceedNow | UpdateRuntimeFlags | GenerateStackTrace | Stateful | WhileLoop | YieldNow | Fail | External<any, any, any> | STM<any, any, any> | Left<any> | Right<any> | Nothing | Just<any> | Failure<any> | Success<any> | Tag<any>;
199
+ export type Primitive = OnSuccessAndFailure | OnSuccess | UpdateRuntimeFlagsWithin | Sync | Async | Succeed | UpdateRuntimeFlags | Stateful | WhileLoop | YieldNow | Fail | External<any, any, any> | STM<any, any, any> | Left<any> | Right<any> | Nothing | Just<any> | Failure<any> | Success<any> | Tag<any>;
212
200
  /**
213
201
  * @tsplus static fncts.io.IOOps concrete
214
202
  * @tsplus macro identity
215
203
  * @tsplus location "@fncts/io/IO/definition"
216
204
  */
217
205
  export declare function concrete(io: IO<any, any, any>): Primitive;
218
- export type EvaluationStep = OnSuccessAndFailure | OnFailure | OnSuccess;
219
206
  export type Canceler<R> = URIO<R, void>;
220
207
  export declare abstract class External<R, E, A> extends IOPrimitive implements IO<R, E, A> {
221
208
  _ioOpCode: IOTag.External;
package/IO.d.ts CHANGED
@@ -8,11 +8,14 @@ export * from "./IO/api/acquireReleaseInterruptibleExit.js";
8
8
  export * from "./IO/api/addFinalizer.js";
9
9
  export * from "./IO/api/addFinalizerExit.js";
10
10
  export * from "./IO/api/all.js";
11
+ export * from "./IO/api/array.js";
11
12
  export * from "./IO/api/asyncInterrupt.js";
12
13
  export * from "./IO/api/asyncIO.js";
14
+ export * from "./IO/api/awaitAllChildren.js";
13
15
  export * from "./IO/api/blocking.js";
14
16
  export * from "./IO/api/bracket.js";
15
17
  export * from "./IO/api/bracketExit.js";
18
+ export * from "./IO/api/cachedInvalidate.js";
16
19
  export * from "./IO/api/clockWith.js";
17
20
  export * from "./IO/api/concurrency.js";
18
21
  export * from "./IO/api/concurrentFinalizers.js";
@@ -51,7 +54,6 @@ export * from "./IO/api/schedule.js";
51
54
  export * from "./IO/api/scope.js";
52
55
  export * from "./IO/api/scoped.js";
53
56
  export * from "./IO/api/scopeWith.js";
54
- export * from "./IO/api/sequenceT.js";
55
57
  export * from "./IO/api/sleep.js";
56
58
  export * from "./IO/api/stateful.js";
57
59
  export * from "./IO/api/supervised.js";
@@ -0,0 +1,4 @@
1
+ export interface Bounds {
2
+ readonly min: number;
3
+ readonly max: number;
4
+ }
@@ -0,0 +1,47 @@
1
+ import { IO } from "@fncts/io/IO/definition";
2
+ import { Scope } from "@fncts/io/Scope/definition";
3
+ import { Fiber } from "@fncts/io/Fiber/definition";
4
+ import { ExecutionStrategy } from "@fncts/base/data/ExecutionStrategy";
5
+ import { Ref } from "@fncts/io/Ref/definition";
6
+ import { HashSet } from "@fncts/base/collection/immutable/HashSet/definition";
7
+ import { Semaphore } from "@fncts/io/Semaphore";
8
+ type Fork = <R>(io: IO<R, never, void>) => IO<R | Scope, never, void>;
9
+ /**
10
+ * @tsplus type fncts.io.Push.FlattenStrategy
11
+ * @tsplus companion fncts.io.Push.FlattenStrategyOps
12
+ */
13
+ export declare abstract class FlattenStrategy {
14
+ abstract withFork<R>(f: (fork: Fork, scope: Scope) => IO<R, never, void>, executionStrategy: ExecutionStrategy): IO<R | Scope, never, void>;
15
+ }
16
+ /**
17
+ * @tsplus static fncts.io.Push.FlattenStrategyOps Switch
18
+ * @tsplus location "@fncts/io/Push/FlattenStrategy"
19
+ */
20
+ export declare const SwitchStrategy: {
21
+ withFork<R>(f: (fork: Fork, scope: Scope) => IO<R, never, void>, executionStrategy: ExecutionStrategy): IO<R | Scope, never, void>;
22
+ };
23
+ /**
24
+ * @tsplus static fncts.io.Push.FlattenStrategyOps Exhaust
25
+ * @tsplus location "@fncts/io/Push/FlattenStrategy"
26
+ */
27
+ export declare const ExhaustStrategy: {
28
+ withFork<R>(f: (fork: Fork, scope: Scope) => IO<R, never, void>, executionStrategy: ExecutionStrategy): IO<R | Scope, never, void>;
29
+ };
30
+ /**
31
+ * @tsplus static fncts.io.Push.FlattenStrategyOps Unbounded
32
+ * @tsplus location "@fncts/io/Push/FlattenStrategy"
33
+ */
34
+ export declare const UnboundedStrategy: {
35
+ withFork<R>(f: (fork: Fork, scope: Scope) => IO<R, never, void>): IO<R | Scope, never, void>;
36
+ };
37
+ /**
38
+ * @tsplus static fncts.io.Push.FlattenStrategyOps Bounded
39
+ * @tsplus location "@fncts/io/Push/FlattenStrategy"
40
+ */
41
+ export declare function makeBounded(capacity: number): BoundedStrategy;
42
+ declare class BoundedStrategy extends FlattenStrategy {
43
+ readonly capacity: number;
44
+ constructor(capacity: number);
45
+ withFork<R>(f: (fork: Fork, scope: Scope) => IO<R, never, void>, executionStrategy: ExecutionStrategy): IO<R | Scope, never, void>;
46
+ }
47
+ export {};
@@ -0,0 +1,19 @@
1
+ import { Future } from "@fncts/io/Future";
2
+ import { UIO, IO } from "@fncts/io/IO/definition";
3
+ import { FiberId } from "@fncts/base/data/FiberId/definition";
4
+ import type { Push } from "./definition.js";
5
+ export declare class IndexedBuffer<R, E, A> {
6
+ ready: boolean;
7
+ readonly future: Future<never, void>;
8
+ readonly sink: Push.UnsafeSink<R, E, A>;
9
+ readonly onDone: UIO<void>;
10
+ constructor(ready: boolean, future: Future<never, void>, sink: Push.UnsafeSink<R, E, A>, onDone: UIO<void>);
11
+ buffer: Array<A>;
12
+ onSuccess(value: A): import("../IO.js").IO<R, never, void>;
13
+ get onEnd(): import("../IO.js").IO<R, never, void>;
14
+ }
15
+ export declare const withBuffers: <R, E, A>(size: number, sink: Push.UnsafeSink<R, E, A>, id: FiberId) => {
16
+ onSuccess: (index: number, value: A) => IO<R, never, void>;
17
+ onEnd: (index: number) => IO<R, never, void>;
18
+ buffers: Map<number, IndexedBuffer<R, E, A>>;
19
+ };
@@ -0,0 +1,19 @@
1
+ import { IO } from "@fncts/io/IO/definition";
2
+ import { ExecutionStrategy } from "@fncts/base/data/ExecutionStrategy";
3
+ import type { Push } from "./definition.js";
4
+ export declare abstract class MergeStrategy {
5
+ abstract runMerge<Ps extends ReadonlyArray<Push<any, any, any>>, R>(ps: Ps, sink: Push.UnsafeSink<R, any, any>): IO<R | Push.EnvironmentOf<Ps[number]>, never, void>;
6
+ }
7
+ export declare class Unordered extends MergeStrategy {
8
+ readonly executionStrategy: ExecutionStrategy;
9
+ constructor(executionStrategy: ExecutionStrategy);
10
+ runMerge<Ps extends ReadonlyArray<Push<any, any, any>>, R>(ps: Ps, sink: Push.UnsafeSink<R, any, any>): IO<R | Push.EnvironmentOf<Ps[number]>, never, void>;
11
+ }
12
+ export declare class Ordered extends MergeStrategy {
13
+ readonly executionStrategy: ExecutionStrategy;
14
+ constructor(executionStrategy: ExecutionStrategy);
15
+ runMerge<Ps extends ReadonlyArray<Push<any, any, any>>, R>(ps: Ps, sink: Push.UnsafeSink<R, any, any>): IO<R | Push.EnvironmentOf<Ps[number]>, never, void>;
16
+ }
17
+ export declare class Switch extends MergeStrategy {
18
+ runMerge<Ps extends ReadonlyArray<Push<any, any, any>>, R>(ps: Ps, sink: Push.UnsafeSink<R, any, any>): IO<R | Push.EnvironmentOf<Ps[number]>, never, void>;
19
+ }
@@ -0,0 +1,61 @@
1
+ import { IO } from "@fncts/io/IO/definition";
2
+ import { Maybe } from "@fncts/base/data/Maybe/definition";
3
+ import type { IOOperator } from "./IOOperator.js";
4
+ import type { SyncLoopOperator } from "@fncts/io/Push/Operator/LoopOperator";
5
+ import type { SyncOperator } from "@fncts/io/Push/Operator/SyncOperator";
6
+ export declare const enum IOLoopOperatorTag {
7
+ LoopIO = "LoopIO",
8
+ FilterMapLoopIO = "FilterMapLoopIO"
9
+ }
10
+ /**
11
+ * @tsplus type fncts.io.Push.IOLoopOperator
12
+ */
13
+ export type IOLoopOperator<B = any, A = any, R = any, E = any, C = any> = LoopIOOperator<B, A, R, E, C> | FilterMapLoopIOOperator<B, A, R, E, C>;
14
+ export interface LoopIOOperator<B, A, R, E, C> {
15
+ readonly _tag: IOLoopOperatorTag.LoopIO;
16
+ readonly seed: B;
17
+ readonly f: (acc: B, a: A) => IO<R, E, readonly [C, B]>;
18
+ }
19
+ export declare function LoopIOOperator<const B, A, R, E, C>(seed: B, f: (acc: B, a: A) => IO<R, E, readonly [C, B]>): LoopIOOperator<B, A, R, E, C>;
20
+ export interface FilterMapLoopIOOperator<B, A, R, E, C> {
21
+ readonly _tag: IOLoopOperatorTag.FilterMapLoopIO;
22
+ readonly seed: B;
23
+ readonly f: (acc: B, a: A) => IO<R, E, readonly [Maybe<C>, B]>;
24
+ }
25
+ export declare function FilterMapLoopIOOperator<const B, A, R, E, C>(seed: B, f: (acc: B, a: A) => IO<R, E, readonly [Maybe<C>, B]>): FilterMapLoopIOOperator<B, A, R, E, C>;
26
+ /**
27
+ * @tsplus pipeable fncts.io.Push.IOLoopOperator match
28
+ * @tsplus location "@fncts/io/Push/Operator/IOLoopOperator"
29
+ */
30
+ export declare function match<B, A, R, E, C, D, F>(matchers: {
31
+ LoopIO: (op: LoopIOOperator<B, A, R, E, C>) => D;
32
+ FilterMapLoopIO: (op: FilterMapLoopIOOperator<B, A, R, E, C>) => F;
33
+ }): (self: IOLoopOperator<B, A, R, E, C>) => D | F;
34
+ /**
35
+ * @tsplus pipeable fncts.io.Push.IOLoopOperator fuse
36
+ * @tsplus location "@fncts/io/Push/Operator/IOLoopOperator"
37
+ */
38
+ export declare function fuse<C, D, F, R2, E2>(that: IOLoopOperator<D, C, R2, E2, F>): <A, B, R1, E1>(self: IOLoopOperator<A, B, R1, E1, C>) => IOLoopOperator<readonly [A, D], B, R1 | R2, E1 | E2, F>;
39
+ /**
40
+ * @tsplus pipeable fncts.io.Push.IOLoopOperator after
41
+ * @tsplus location "@fncts/io/Push/Operator/IOLoopOperator"
42
+ */
43
+ export declare function fuseSyncLoopOperatorBefore<A, B, C>(that: SyncLoopOperator<A, B, C>): <D, R, E, F>(self: IOLoopOperator<D, C, R, E, F>) => IOLoopOperator<readonly [A, D], B, R, E, F>;
44
+ /**
45
+ * @tsplus pipeable fncts.io.Push.IOLoopOperator before
46
+ * @tsplus location "@fncts/io/Push/Operator/IOLoopOperator"
47
+ */
48
+ export declare function fuseSyncLoopOperatorAfter<D, C, F>(that: SyncLoopOperator<D, C, F>): <A, B, R, E>(self: IOLoopOperator<A, B, R, E, C>) => IOLoopOperator<readonly [A, D], B, R, E, F>;
49
+ /**
50
+ * @tsplus pipeable fncts.io.Push.IOLoopOperator after
51
+ * @tsplus location "@fncts/io/Push/Operator/IOLoopOperator"
52
+ */
53
+ export declare function fuseSyncOperatorBefore(that: SyncOperator): (self: IOLoopOperator) => IOLoopOperator;
54
+ /**
55
+ * @tsplus pipeable fncts.io.Push.IOLoopOperator before
56
+ * @tsplus location "@fncts/io/Push/Operator/IOLoopOperator"
57
+ */
58
+ export declare function fuseSyncOperatorAfter(that: SyncOperator): (self: IOLoopOperator) => IOLoopOperator;
59
+ export declare function fuseIOOperatorBefore(that: IOOperator): (self: IOLoopOperator) => IOLoopOperator;
60
+ export declare function fuseIOOperatorAfter(that: IOOperator): (self: IOLoopOperator) => LoopIOOperator<any, unknown, any, any, any> | FilterMapLoopIOOperator<any, unknown, any, any, any>;
61
+ export declare function liftLoopOperator(self: SyncLoopOperator): IOLoopOperator;
@@ -0,0 +1,63 @@
1
+ import { IO } from "@fncts/io/IO/definition";
2
+ import { Maybe } from "@fncts/base/data/Maybe/definition";
3
+ import type { SyncOperator } from "./SyncOperator.js";
4
+ export declare const enum IOOperatorTag {
5
+ MapIO = "MapIO",
6
+ TapIO = "TapIO",
7
+ FilterIO = "FilterIO",
8
+ FilterMapIO = "FilterMapIO"
9
+ }
10
+ /**
11
+ * @tsplus type fncts.io.Push.IOOperator
12
+ * @tsplus companion fncts.io.Push.IOOperatorOps
13
+ */
14
+ export type IOOperator = MapIO<any, any, any, any> | TapIO<any, any, any, any> | FilterIO<any, any, any> | FilterMapIO<any, any, any, any>;
15
+ export interface MapIO<R, E, A, B> {
16
+ readonly _tag: IOOperatorTag.MapIO;
17
+ readonly f: (a: A) => IO<R, E, B>;
18
+ }
19
+ export declare function MapIO<R, E, A, B>(f: (a: A) => IO<R, E, B>): MapIO<R, E, A, B>;
20
+ export interface TapIO<R, E, A, B> {
21
+ readonly _tag: IOOperatorTag.TapIO;
22
+ readonly f: (a: A) => IO<R, E, B>;
23
+ }
24
+ export declare function TapIO<R, E, A, B>(f: (a: A) => IO<R, E, B>): TapIO<R, E, A, B>;
25
+ export interface FilterIO<R, E, A> {
26
+ readonly _tag: IOOperatorTag.FilterIO;
27
+ readonly f: (a: A) => IO<R, E, boolean>;
28
+ }
29
+ export declare function FilterIO<R, E, A>(f: (a: A) => IO<R, E, boolean>): FilterIO<R, E, A>;
30
+ export interface FilterMapIO<R, E, A, B> {
31
+ readonly _tag: IOOperatorTag.FilterMapIO;
32
+ readonly f: (a: A) => IO<R, E, Maybe<B>>;
33
+ }
34
+ export declare function FilterMapIO<R, E, A, B>(f: (a: A) => IO<R, E, Maybe<B>>): FilterMapIO<R, E, A, B>;
35
+ export type IOOperatorFusionMap = {
36
+ readonly [K in IOOperator["_tag"]]: {
37
+ readonly [K2 in IOOperator["_tag"]]: (op1: Extract<IOOperator, {
38
+ readonly _tag: K;
39
+ }>, op2: Extract<IOOperator, {
40
+ readonly _tag: K2;
41
+ }>) => IOOperator;
42
+ };
43
+ };
44
+ /**
45
+ * @tsplus pipeable fncts.io.Push.IOOperator fuse
46
+ * @tsplus location "@fncts/io/Push/Operator/IOOperator"
47
+ */
48
+ export declare function fuse(that: IOOperator): (self: IOOperator) => IOOperator;
49
+ /**
50
+ * @tsplus static fncts.io.Push.IOOperatorOps fromSyncOperator
51
+ * @tsplus location "@fncts/io/Push/Operator/IOOperator"
52
+ */
53
+ export declare function fromSyncOperator(op: SyncOperator): IOOperator;
54
+ /**
55
+ * @tsplus pipeable fncts.io.Push.IOOperator match
56
+ * @tsplus location "@fncts/io/Push/Operator/IOOperator"
57
+ */
58
+ export declare function match<A, B, C, D>(cases: {
59
+ readonly MapIO: (f: MapIO<any, any, any, any>) => A;
60
+ readonly TapIO: (f: TapIO<any, any, any, any>) => B;
61
+ readonly FilterIO: (f: FilterIO<any, any, any>) => C;
62
+ readonly FilterMapIO: (f: FilterMapIO<any, any, any, any>) => D;
63
+ }): (self: IOOperator) => A | B | C | D;
@@ -0,0 +1,50 @@
1
+ import { Maybe } from "@fncts/base/data/Maybe/definition";
2
+ import { Either } from "@fncts/base/data/Either/definition";
3
+ import type { Bounds } from "../Bounds.js";
4
+ import type { SyncOperator } from "./SyncOperator.js";
5
+ export declare const enum SyncLoopOperatorTag {
6
+ Loop = "Loop",
7
+ FilterMapLoop = "FilterMapLoop"
8
+ }
9
+ /**
10
+ * @tsplus type fncts.io.Push.SyncLoopOperator
11
+ */
12
+ export type SyncLoopOperator<B = any, A = any, C = any> = LoopOperator<B, A, C> | FilterMapLoopOperator<B, A, C>;
13
+ export interface LoopOperator<B, A, C> {
14
+ readonly _tag: SyncLoopOperatorTag.Loop;
15
+ readonly seed: B;
16
+ readonly f: (acc: B, a: A) => readonly [C, B];
17
+ }
18
+ export declare function LoopOperator<const B, A, C>(seed: B, f: (acc: B, a: A) => readonly [C, B]): LoopOperator<B, A, C>;
19
+ export interface FilterMapLoopOperator<B, A, C> {
20
+ readonly _tag: SyncLoopOperatorTag.FilterMapLoop;
21
+ readonly seed: B;
22
+ readonly f: (acc: B, a: A) => readonly [Maybe<C>, B];
23
+ }
24
+ export declare function FilterMapLoopOperator<const B, A, C>(seed: B, f: (acc: B, a: A) => readonly [Maybe<C>, B]): FilterMapLoopOperator<B, A, C>;
25
+ export declare const enum SliceOperatorTag {
26
+ SliceOperator = 0,
27
+ FilterMapSliceOperator = 1
28
+ }
29
+ export interface SliceOperator {
30
+ readonly _tag: SliceOperatorTag.SliceOperator;
31
+ readonly bounds: Bounds;
32
+ }
33
+ export declare function SliceOperator(bounds: Bounds): SliceOperator;
34
+ export interface FilterMapSliceOperator<A, B, C> {
35
+ readonly _tag: SliceOperatorTag.FilterMapSliceOperator;
36
+ readonly seed: B;
37
+ readonly f: (acc: B, a: A) => Either<readonly [Maybe<C>, B], Maybe<C>>;
38
+ }
39
+ export declare function FilterMapSliceOperator<const B, A, C>(seed: B, f: (acc: B, a: A) => Either<readonly [Maybe<C>, B], Maybe<C>>): FilterMapSliceOperator<A, B, C>;
40
+ /**
41
+ * @tsplus pipeable fncts.io.Push.SyncLoopOperator match
42
+ * @tsplus location "@fncts/io/Push/Operator/LoopOperator"
43
+ */
44
+ export declare function matchSyncLoopOperator<A, B, C, D, E>(matchers: {
45
+ Loop: (op: LoopOperator<A, B, C>) => D;
46
+ FilterMapLoop: (op: FilterMapLoopOperator<A, B, C>) => E;
47
+ }): (self: SyncLoopOperator<A, B, C>) => D | E;
48
+ export declare function fuseSyncOperatorBefore(that: SyncOperator): (self: SyncLoopOperator) => SyncLoopOperator;
49
+ export declare function fuseSyncOperatorAfter(that: SyncOperator): (self: SyncLoopOperator) => SyncLoopOperator;
50
+ export declare function fuse<C, D, E>(that: SyncLoopOperator<D, C, E>): <A, B>(self: SyncLoopOperator<A, B, C>) => SyncLoopOperator<readonly [A, D], B, E>;
@@ -0,0 +1,41 @@
1
+ import { Predicate } from "@fncts/base/data/Predicate/definition";
2
+ import { Maybe } from "@fncts/base/data/Maybe/definition";
3
+ export declare const enum SyncOperatorTag {
4
+ Map = "Map",
5
+ Filter = "Filter",
6
+ FilterMap = "FilterMap"
7
+ }
8
+ export interface Map<A, B> {
9
+ readonly _tag: SyncOperatorTag.Map;
10
+ readonly f: (a: A) => B;
11
+ }
12
+ export declare function Map<A, B>(f: (a: A) => B): Map<A, B>;
13
+ export interface Filter<A> {
14
+ readonly _tag: SyncOperatorTag.Filter;
15
+ readonly f: Predicate<A>;
16
+ }
17
+ export declare function Filter<A>(f: Predicate<A>): Filter<A>;
18
+ export interface FilterMap<A, B> {
19
+ readonly _tag: SyncOperatorTag.FilterMap;
20
+ readonly f: (a: A) => Maybe<B>;
21
+ }
22
+ export declare function FilterMap<A, B>(f: (a: A) => Maybe<B>): FilterMap<A, B>;
23
+ /**
24
+ * @tsplus type fncts.io.Push.SyncOperator
25
+ * @tsplus companion fncts.io.Push.SyncOperatorOps
26
+ */
27
+ export type SyncOperator<A = any, B = any> = Map<A, B> | Filter<A> | FilterMap<A, B>;
28
+ /**
29
+ * @tsplus pipeable fncts.io.Push.SyncOperator fuse
30
+ * @tsplus location "@fncts/io/Push/Operator/SyncOperator"
31
+ */
32
+ export declare function fuse(that: SyncOperator): (self: SyncOperator) => SyncOperator<any, any>;
33
+ /**
34
+ * @tsplus pipeable fncts.io.Push.SyncOperator match
35
+ * @tsplus location "@fncts/io/Push/Operator/SyncOperator"
36
+ */
37
+ export declare function match<A, B, C, D, E>(cases: {
38
+ readonly Map: (f: Map<A, B>) => C;
39
+ readonly Filter: (f: Filter<A>) => D;
40
+ readonly FilterMap: (f: FilterMap<A, B>) => E;
41
+ }): (self: SyncOperator<A, B>) => C | D | E;
@@ -0,0 +1,4 @@
1
+ export type {} from "./Operator/SyncOperator.js";
2
+ export type {} from "./Operator/LoopOperator.js";
3
+ export type {} from "./Operator/IOOperator.js";
4
+ export type {} from "./Operator/IOLoopOperator.js";
@@ -0,0 +1,41 @@
1
+ import { IO } from "@fncts/io/IO/definition";
2
+ import { Schedule } from "@fncts/io/Schedule/definition";
3
+ import { Cause } from "@fncts/base/data/Cause/definition";
4
+ import type { Push } from "../definition.js";
5
+ export declare const enum IOProducerTag {
6
+ FromIO = 0,
7
+ FromScheduled = 1,
8
+ Scheduled = 2
9
+ }
10
+ export declare class FromIO<R, E, A> {
11
+ readonly source: IO<R, E, A>;
12
+ readonly _tag = IOProducerTag.FromIO;
13
+ constructor(source: IO<R, E, A>);
14
+ }
15
+ export declare class FromScheduled<R, E, I, R1, O> {
16
+ readonly input: IO<R, E, I>;
17
+ readonly schedule: Schedule<R1, I, O>;
18
+ readonly _tag = IOProducerTag.FromScheduled;
19
+ constructor(input: IO<R, E, I>, schedule: Schedule<R1, I, O>);
20
+ }
21
+ export declare class Scheduled<R, E, A, R1, O> {
22
+ readonly input: IO<R, E, A>;
23
+ readonly schedule: Schedule<R1, unknown, O>;
24
+ readonly _tag = IOProducerTag.Scheduled;
25
+ constructor(input: IO<R, E, A>, schedule: Schedule<R1, unknown, O>);
26
+ }
27
+ /**
28
+ * @tsplus type fncts.io.Push.IOProducer
29
+ * @tsplus companion fncts.io.Push.IOProducerOps
30
+ */
31
+ export type IOProducer<R, E, A> = FromIO<R, E, A> | FromScheduled<R, E, any, any, A> | Scheduled<R, E, A, any, any>;
32
+ /**
33
+ * @tsplus fluent fncts.io.Push.IOProducer runSink
34
+ * @tsplus location "@fncts/io/Push/Producer/IOProducer"
35
+ */
36
+ export declare function runSink<R, E, A, R1>(self: IOProducer<R, E, A>, sink: Push.UnsafeSink<R1, E, A>): IO<R | R1, never, unknown>;
37
+ /**
38
+ * @tsplus fluent fncts.io.Push.IOProducer runIO
39
+ * @tsplus location "@fncts/io/Push/Producer/IOProducer"
40
+ */
41
+ export declare function runIO<R, E, A, R1, E1, A1>(self: IOProducer<R, E, A>, f: (a: A) => IO<R1, E1, A1>): IO<R | R1, E | E1, unknown>;
@@ -0,0 +1,61 @@
1
+ import { Lazy } from "@fncts/base/data/function/definition";
2
+ import { UIO, IO } from "@fncts/io/IO/definition";
3
+ import { Maybe } from "@fncts/base/data/Maybe/definition";
4
+ import type { Push } from "@fncts/io/Push";
5
+ export declare const enum SyncProducerTag {
6
+ Success = 0,
7
+ FromSync = 1,
8
+ FromArray = 2,
9
+ FromIterable = 3
10
+ }
11
+ /**
12
+ * @tsplus type fncts.io.Push.SyncProducer
13
+ * @tsplus companion fncts.io.Push.SyncProducerOps
14
+ */
15
+ export type SyncProducer<A> = Success<A> | FromSync<A> | FromArray<A> | FromIterable<A>;
16
+ export declare class Success<A> {
17
+ readonly source: A;
18
+ readonly _tag = SyncProducerTag.Success;
19
+ constructor(source: A);
20
+ }
21
+ export declare class FromSync<A> {
22
+ readonly f: Lazy<A>;
23
+ readonly _tag = SyncProducerTag.FromSync;
24
+ constructor(f: Lazy<A>);
25
+ }
26
+ export declare class FromArray<A> {
27
+ readonly array: ReadonlyArray<A>;
28
+ readonly _tag = SyncProducerTag.FromArray;
29
+ constructor(array: ReadonlyArray<A>);
30
+ }
31
+ export declare class FromIterable<A> {
32
+ readonly iterable: Iterable<A>;
33
+ readonly _tag = SyncProducerTag.FromIterable;
34
+ constructor(iterable: Iterable<A>);
35
+ }
36
+ /**
37
+ * @tsplus static fncts.io.Push.SyncProducerOps Success
38
+ * @tsplus location "@fncts/io/Push/Producer/SyncProducer"
39
+ */
40
+ export declare function success<A>(source: A): SyncProducer<A>;
41
+ /**
42
+ * @tsplus static fncts.io.Push.SyncProducerOps fromSync
43
+ * @tsplus location "@fncts/io/Push/Producer/SyncProducer"
44
+ */
45
+ export declare function fromSync<A>(f: Lazy<A>): SyncProducer<A>;
46
+ /**
47
+ * @tsplus static fncts.io.Push.SyncProducerOps fromArray
48
+ * @tsplus location "@fncts/io/Push/Producer/SyncProducer"
49
+ */
50
+ export declare function fromArray<A extends ReadonlyArray<any>>(array: A): SyncProducer<A[number]>;
51
+ /**
52
+ * @tsplus static fncts.io.Push.SyncProducerOps fromIterable
53
+ * @tsplus location "@fncts/io/Push/Producer/SyncProducer"
54
+ */
55
+ export declare function fromIterable<A>(iterable: Iterable<A>): SyncProducer<A>;
56
+ export declare function syncOnce<A>(f: () => A): UIO<A>;
57
+ /**
58
+ * @tsplus fluent fncts.io.Push.SyncProducer runSink
59
+ * @tsplus location "@fncts/io/Push/Producer/SyncProducer"
60
+ */
61
+ export declare function runSink<R, E, A>(self: SyncProducer<A>, sink: Push.UnsafeSink<R, E, A>): IO<R, never, unknown>;
@@ -0,0 +1 @@
1
+ export {};
package/Push/Sink.d.ts ADDED
@@ -0,0 +1,65 @@
1
+ import { HKT } from "@fncts/typelevel/HKT";
2
+ import { Newtype, NewtypeIso } from "@fncts/base/data/Newtype";
3
+ import { URIO, UIO } from "@fncts/io/IO/definition";
4
+ import { Environment } from "@fncts/base/data/Environment/definition";
5
+ import { Predicate } from "@fncts/base/data/Predicate/definition";
6
+ import { Maybe } from "@fncts/base/data/Maybe/definition";
7
+ import type { Cause } from "@fncts/base/data/Cause";
8
+ import { IO } from "@fncts/io/IO";
9
+ interface SinkN extends HKT {
10
+ readonly type: Sink<this["I"], this["R"], this["E"], this["A"]>;
11
+ readonly variance: {
12
+ I: "+";
13
+ R: "+";
14
+ E: "-";
15
+ A: "-";
16
+ };
17
+ }
18
+ /**
19
+ * @tsplus type fncts.io.Push.Sink
20
+ */
21
+ export interface Sink<Env, R, E, A> extends Newtype<{
22
+ readonly Sink: unique symbol;
23
+ }, URIO<Env, UnsafeSink<R, E, A>>> {
24
+ }
25
+ /**
26
+ * @tsplus type fncts.io.Push.SinkOps
27
+ */
28
+ export interface SinkOps extends NewtypeIso<SinkN> {
29
+ }
30
+ export declare const Sink: SinkOps;
31
+ /**
32
+ * @tsplus type fncts.io.Push.Sink
33
+ * @tsplus companion fncts.io.Push.SinkOps
34
+ */
35
+ export declare abstract class UnsafeSink<R, in E, in A> {
36
+ abstract onSuccess(value: A): IO<R, never, void>;
37
+ abstract onFailure(cause: Cause<E>): IO<R, never, void>;
38
+ }
39
+ /**
40
+ * @tsplus static fncts.io.Push.SinkOps unsafeMake
41
+ * @tsplus location "@fncts/io/Push/Sink"
42
+ */
43
+ export declare function unsafeMakeSink<R, E, A>(onSuccess: (value: A) => IO<R, never, unknown>, onFailure: (cause: Cause<E>) => IO<R, never, unknown>): UnsafeSink<R, E, A>;
44
+ /**
45
+ * @tsplus static fncts.io.Push.SinkOps __call
46
+ * @tsplus location "@fncts/io/Push/Sink"
47
+ */
48
+ export declare function makeSink<R, E, A>(onSuccess: (value: A) => IO<R, never, unknown>, onFailure: (cause: Cause<E>) => IO<R, never, unknown>): Sink<never, R, E, A>;
49
+ export declare class WithEarlyExit<R, E, A> extends UnsafeSink<R, E, A> {
50
+ readonly onSuccess: (value: A) => IO<R, never, void>;
51
+ readonly onFailure: (cause: Cause<E>) => IO<R, never, void>;
52
+ readonly earlyExit: UIO<void>;
53
+ constructor(onSuccess: (value: A) => IO<R, never, void>, onFailure: (cause: Cause<E>) => IO<R, never, void>, earlyExit: UIO<void>);
54
+ }
55
+ /**
56
+ * @tsplus static fncts.io.Push.SinkOps withEarlyExit
57
+ * @tsplus location "@fncts/io/Push/Sink"
58
+ */
59
+ export declare function withEarlyExit<R, E, A, R1, B>(sink: UnsafeSink<R, E, A>, f: (sink: WithEarlyExit<R, E, A>) => IO<R1, E, B>): IO<R | R1, never, void>;
60
+ /**
61
+ * @tsplus pipeable fncts.io.Push.Sink provideSomeEnvironment
62
+ * @tsplus location "@fncts/io/Push/Sink"
63
+ */
64
+ export declare function provideSomeEnvironment<R1>(environment: Environment<R1>): <Env, R, E, A>(self: Sink<Env, R, E, A>) => Sink<Env, Exclude<R, R1>, E, A>;
65
+ export {};