@fncts/io 0.0.49 → 0.0.51

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 (635) hide show
  1. package/Channel/internal/SingleProducerAsyncInput.d.ts +1 -1
  2. package/CountdownLatch.d.ts +5 -5
  3. package/Fiber/FiberRuntime.d.ts +1 -1
  4. package/Hub/api.d.ts +7 -7
  5. package/IO/api/foreachExec.d.ts +18 -0
  6. package/IO/api.d.ts +1 -1
  7. package/Push/Bounds.d.ts +4 -0
  8. package/Push/FlattenStrategy.d.ts +47 -0
  9. package/Push/IndexedBuffer.d.ts +19 -0
  10. package/Push/MergeStrategy.d.ts +19 -0
  11. package/Push/Operator/IOLoopOperator.d.ts +61 -0
  12. package/Push/Operator/IOOperator.d.ts +63 -0
  13. package/Push/Operator/LoopOperator.d.ts +50 -0
  14. package/Push/Operator/SyncOperator.d.ts +41 -0
  15. package/Push/Operator.d.ts +4 -0
  16. package/Push/Producer/IOProducer.d.ts +41 -0
  17. package/Push/Producer/SyncProducer.d.ts +61 -0
  18. package/Push/Producer.d.ts +1 -0
  19. package/Push/Sink.d.ts +65 -0
  20. package/Push/api.d.ts +80 -163
  21. package/Push/definition.d.ts +92 -19
  22. package/Push/internal.d.ts +3 -0
  23. package/Push.d.ts +6 -0
  24. package/Queue/api/dimapIO.d.ts +12 -12
  25. package/Ref/Synchronized/definition.d.ts +32 -9
  26. package/Ref/definition.d.ts +12 -0
  27. package/STM/api.d.ts +1 -1
  28. package/Scope/api.d.ts +16 -1
  29. package/Semaphore/definition.d.ts +1 -1
  30. package/Sink/definition.d.ts +5 -6
  31. package/Subject/Atomic.d.ts +19 -9
  32. package/Subject/DeferredRef.d.ts +17 -0
  33. package/Subject/Hold.d.ts +19 -0
  34. package/Subject/RefSubject/Atomic.d.ts +43 -0
  35. package/Subject/RefSubject/Derived.d.ts +43 -0
  36. package/Subject/RefSubject/RefSubject.d.ts +37 -0
  37. package/Subject/RefSubject/constructors.d.ts +15 -0
  38. package/Subject/RefSubject.d.ts +4 -0
  39. package/Subject/definition.d.ts +14 -2
  40. package/Subject.d.ts +3 -0
  41. package/SubscriptionRef.d.ts +0 -1
  42. package/Supervisor/definition.d.ts +1 -1
  43. package/_cjs/Cached/api.cjs +8 -2
  44. package/_cjs/Cached/api.cjs.map +1 -1
  45. package/_cjs/Cached/definition.cjs +2 -6
  46. package/_cjs/Cached/definition.cjs.map +1 -1
  47. package/_cjs/CancellerState.cjs +4 -7
  48. package/_cjs/CancellerState.cjs.map +1 -1
  49. package/_cjs/Channel/UpstreamPullRequest/definition.cjs +4 -2
  50. package/_cjs/Channel/UpstreamPullRequest/definition.cjs.map +1 -1
  51. package/_cjs/Channel/api.cjs +2 -3
  52. package/_cjs/Channel/api.cjs.map +1 -1
  53. package/_cjs/Channel/definition.cjs +22 -16
  54. package/_cjs/Channel/definition.cjs.map +1 -1
  55. package/_cjs/Channel/internal/ChannelExecutor.cjs +35 -11
  56. package/_cjs/Channel/internal/ChannelExecutor.cjs.map +1 -1
  57. package/_cjs/Channel/internal/ChannelState.cjs +15 -8
  58. package/_cjs/Channel/internal/ChannelState.cjs.map +1 -1
  59. package/_cjs/Channel/internal/MergeDecision.cjs +6 -8
  60. package/_cjs/Channel/internal/MergeDecision.cjs.map +1 -1
  61. package/_cjs/Channel/internal/MergeState.cjs +7 -3
  62. package/_cjs/Channel/internal/MergeState.cjs.map +1 -1
  63. package/_cjs/Channel/internal/SingleProducerAsyncInput.cjs +49 -42
  64. package/_cjs/Channel/internal/SingleProducerAsyncInput.cjs.map +1 -1
  65. package/_cjs/Clock/live.cjs +1 -4
  66. package/_cjs/Clock/live.cjs.map +1 -1
  67. package/_cjs/CountdownLatch.cjs +22 -12
  68. package/_cjs/CountdownLatch.cjs.map +1 -1
  69. package/_cjs/Differ/api.cjs +3 -12
  70. package/_cjs/Differ/api.cjs.map +1 -1
  71. package/_cjs/Differ/definition.cjs +1 -5
  72. package/_cjs/Differ/definition.cjs.map +1 -1
  73. package/_cjs/Fiber/FiberMessage.cjs +6 -3
  74. package/_cjs/Fiber/FiberMessage.cjs.map +1 -1
  75. package/_cjs/Fiber/FiberRuntime.cjs +66 -61
  76. package/_cjs/Fiber/FiberRuntime.cjs.map +1 -1
  77. package/_cjs/Fiber/definition.cjs +10 -6
  78. package/_cjs/Fiber/definition.cjs.map +1 -1
  79. package/_cjs/FiberDescriptor.cjs +3 -0
  80. package/_cjs/FiberDescriptor.cjs.map +1 -1
  81. package/_cjs/FiberRef/definition.cjs +9 -6
  82. package/_cjs/FiberRef/definition.cjs.map +1 -1
  83. package/_cjs/FiberRefs/Patch.cjs +13 -13
  84. package/_cjs/FiberRefs/Patch.cjs.map +1 -1
  85. package/_cjs/FiberScope/definition.cjs +2 -0
  86. package/_cjs/FiberScope/definition.cjs.map +1 -1
  87. package/_cjs/FiberSet.cjs +4 -3
  88. package/_cjs/FiberSet.cjs.map +1 -1
  89. package/_cjs/FiberStatus/definition.cjs +12 -9
  90. package/_cjs/FiberStatus/definition.cjs.map +1 -1
  91. package/_cjs/Future/State.cjs +8 -7
  92. package/_cjs/Future/State.cjs.map +1 -1
  93. package/_cjs/Future/definition.cjs +3 -3
  94. package/_cjs/Future/definition.cjs.map +1 -1
  95. package/_cjs/Hub/api.cjs +61 -44
  96. package/_cjs/Hub/api.cjs.map +1 -1
  97. package/_cjs/Hub/definition.cjs +4 -8
  98. package/_cjs/Hub/definition.cjs.map +1 -1
  99. package/_cjs/Hub/internal.cjs +130 -110
  100. package/_cjs/Hub/internal.cjs.map +1 -1
  101. package/_cjs/IO/api/foreachExec.cjs +29 -4
  102. package/_cjs/IO/api/foreachExec.cjs.map +1 -1
  103. package/_cjs/IO/api/transplant.cjs +8 -7
  104. package/_cjs/IO/api/transplant.cjs.map +1 -1
  105. package/_cjs/IO/api.cjs +9 -4
  106. package/_cjs/IO/api.cjs.map +1 -1
  107. package/_cjs/IO/definition.cjs +8 -12
  108. package/_cjs/IO/definition.cjs.map +1 -1
  109. package/_cjs/IO/runtime.cjs +64 -61
  110. package/_cjs/IO/runtime.cjs.map +1 -1
  111. package/_cjs/InterruptStatus/definition.cjs +1 -0
  112. package/_cjs/InterruptStatus/definition.cjs.map +1 -1
  113. package/_cjs/Layer/MemoMap.cjs +25 -24
  114. package/_cjs/Layer/MemoMap.cjs.map +1 -1
  115. package/_cjs/Layer/definition.cjs +30 -13
  116. package/_cjs/Layer/definition.cjs.map +1 -1
  117. package/_cjs/LogLevel.cjs +3 -0
  118. package/_cjs/LogLevel.cjs.map +1 -1
  119. package/_cjs/LogSpan.cjs +2 -0
  120. package/_cjs/LogSpan.cjs.map +1 -1
  121. package/_cjs/Logger/definition.cjs +1 -0
  122. package/_cjs/Logger/definition.cjs.map +1 -1
  123. package/_cjs/MVar/definition.cjs +3 -4
  124. package/_cjs/MVar/definition.cjs.map +1 -1
  125. package/_cjs/Push/Bounds.cjs +2 -0
  126. package/_cjs/Push/Bounds.cjs.map +1 -0
  127. package/_cjs/Push/FlattenStrategy.cjs +96 -0
  128. package/_cjs/Push/FlattenStrategy.cjs.map +1 -0
  129. package/_cjs/Push/IndexedBuffer.cjs +74 -0
  130. package/_cjs/Push/IndexedBuffer.cjs.map +1 -0
  131. package/_cjs/Push/MergeStrategy.cjs +47 -0
  132. package/_cjs/Push/MergeStrategy.cjs.map +1 -0
  133. package/_cjs/Push/Operator/IOLoopOperator.cjs +225 -0
  134. package/_cjs/Push/Operator/IOLoopOperator.cjs.map +1 -0
  135. package/_cjs/Push/Operator/IOOperator.cjs +104 -0
  136. package/_cjs/Push/Operator/IOOperator.cjs.map +1 -0
  137. package/_cjs/Push/Operator/LoopOperator.cjs +165 -0
  138. package/_cjs/Push/Operator/LoopOperator.cjs.map +1 -0
  139. package/_cjs/Push/Operator/SyncOperator.cjs +78 -0
  140. package/_cjs/Push/Operator/SyncOperator.cjs.map +1 -0
  141. package/_cjs/Push/Operator.cjs +2 -0
  142. package/_cjs/Push/Operator.cjs.map +1 -0
  143. package/_cjs/Push/Producer/IOProducer.cjs +72 -0
  144. package/_cjs/Push/Producer/IOProducer.cjs.map +1 -0
  145. package/_cjs/Push/Producer/SyncProducer.cjs +111 -0
  146. package/_cjs/Push/Producer/SyncProducer.cjs.map +1 -0
  147. package/_cjs/Push/Producer.cjs +2 -0
  148. package/_cjs/Push/Producer.cjs.map +1 -0
  149. package/_cjs/Push/Sink.cjs +238 -0
  150. package/_cjs/Push/Sink.cjs.map +1 -0
  151. package/_cjs/Push/api.cjs +369 -387
  152. package/_cjs/Push/api.cjs.map +1 -1
  153. package/_cjs/Push/definition.cjs +82 -26
  154. package/_cjs/Push/definition.cjs.map +1 -1
  155. package/_cjs/Push/internal.cjs +31 -26
  156. package/_cjs/Push/internal.cjs.map +1 -1
  157. package/_cjs/Push.cjs +66 -0
  158. package/_cjs/Push.cjs.map +1 -1
  159. package/_cjs/Queue/api/dimapIO.cjs +74 -32
  160. package/_cjs/Queue/api/dimapIO.cjs.map +1 -1
  161. package/_cjs/Queue/api/filterInputIO.cjs +51 -25
  162. package/_cjs/Queue/api/filterInputIO.cjs.map +1 -1
  163. package/_cjs/Queue/api/filterOutputIO.cjs +60 -30
  164. package/_cjs/Queue/api/filterOutputIO.cjs.map +1 -1
  165. package/_cjs/Queue/api/zipWithIO.cjs +27 -10
  166. package/_cjs/Queue/api/zipWithIO.cjs.map +1 -1
  167. package/_cjs/Queue/definition.cjs +3 -7
  168. package/_cjs/Queue/definition.cjs.map +1 -1
  169. package/_cjs/Queue/internal.cjs +73 -62
  170. package/_cjs/Queue/internal.cjs.map +1 -1
  171. package/_cjs/Queue/strategy.cjs +1 -3
  172. package/_cjs/Queue/strategy.cjs.map +1 -1
  173. package/_cjs/Random/live.cjs +4 -3
  174. package/_cjs/Random/live.cjs.map +1 -1
  175. package/_cjs/Ref/Atomic.cjs +2 -3
  176. package/_cjs/Ref/Atomic.cjs.map +1 -1
  177. package/_cjs/Ref/Derived.cjs +2 -3
  178. package/_cjs/Ref/Derived.cjs.map +1 -1
  179. package/_cjs/Ref/DerivedAll.cjs +2 -3
  180. package/_cjs/Ref/DerivedAll.cjs.map +1 -1
  181. package/_cjs/Ref/Synchronized/definition.cjs +17 -16
  182. package/_cjs/Ref/Synchronized/definition.cjs.map +1 -1
  183. package/_cjs/Ref/definition.cjs +2 -6
  184. package/_cjs/Ref/definition.cjs.map +1 -1
  185. package/_cjs/Reloadable/definition.cjs +2 -0
  186. package/_cjs/Reloadable/definition.cjs.map +1 -1
  187. package/_cjs/STM/definition.cjs +30 -25
  188. package/_cjs/STM/definition.cjs.map +1 -1
  189. package/_cjs/STM/driver.cjs +5 -0
  190. package/_cjs/STM/driver.cjs.map +1 -1
  191. package/_cjs/STM/internal/Entry.cjs +9 -6
  192. package/_cjs/STM/internal/Entry.cjs.map +1 -1
  193. package/_cjs/STM/internal/TryCommit.cjs +6 -7
  194. package/_cjs/STM/internal/TryCommit.cjs.map +1 -1
  195. package/_cjs/STM/internal/Versioned.cjs +2 -3
  196. package/_cjs/STM/internal/Versioned.cjs.map +1 -1
  197. package/_cjs/Schedule/Decision.cjs +3 -4
  198. package/_cjs/Schedule/Decision.cjs.map +1 -1
  199. package/_cjs/Schedule/Driver.cjs +4 -0
  200. package/_cjs/Schedule/Driver.cjs.map +1 -1
  201. package/_cjs/Schedule/api.cjs +2 -5
  202. package/_cjs/Schedule/api.cjs.map +1 -1
  203. package/_cjs/Schedule/definition.cjs +3 -1
  204. package/_cjs/Schedule/definition.cjs.map +1 -1
  205. package/_cjs/Scope/ReleaseMap/definition.cjs +8 -2
  206. package/_cjs/Scope/ReleaseMap/definition.cjs.map +1 -1
  207. package/_cjs/Scope/api.cjs +29 -11
  208. package/_cjs/Scope/api.cjs.map +1 -1
  209. package/_cjs/Scope/definition.cjs +3 -7
  210. package/_cjs/Scope/definition.cjs.map +1 -1
  211. package/_cjs/ScopedRef/api.cjs +8 -3
  212. package/_cjs/ScopedRef/api.cjs.map +1 -1
  213. package/_cjs/ScopedRef/definition.cjs +1 -5
  214. package/_cjs/ScopedRef/definition.cjs.map +1 -1
  215. package/_cjs/Semaphore/Reservation.cjs +2 -0
  216. package/_cjs/Semaphore/Reservation.cjs.map +1 -1
  217. package/_cjs/Semaphore/definition.cjs +42 -38
  218. package/_cjs/Semaphore/definition.cjs.map +1 -1
  219. package/_cjs/Sink/definition.cjs +3 -3
  220. package/_cjs/Sink/definition.cjs.map +1 -1
  221. package/_cjs/State/api.cjs +1 -4
  222. package/_cjs/State/api.cjs.map +1 -1
  223. package/_cjs/State/definition.cjs +2 -6
  224. package/_cjs/State/definition.cjs.map +1 -1
  225. package/_cjs/State/internal.cjs +1 -5
  226. package/_cjs/State/internal.cjs.map +1 -1
  227. package/_cjs/Stream/api/zipAllWith.cjs +7 -11
  228. package/_cjs/Stream/api/zipAllWith.cjs.map +1 -1
  229. package/_cjs/Stream/api/zipWithChunks.cjs +5 -5
  230. package/_cjs/Stream/api/zipWithChunks.cjs.map +1 -1
  231. package/_cjs/Stream/api.cjs +8 -7
  232. package/_cjs/Stream/api.cjs.map +1 -1
  233. package/_cjs/Stream/definition.cjs +3 -4
  234. package/_cjs/Stream/definition.cjs.map +1 -1
  235. package/_cjs/Stream/internal/DebounceState.cjs +5 -5
  236. package/_cjs/Stream/internal/DebounceState.cjs.map +1 -1
  237. package/_cjs/Stream/internal/Handoff.cjs +18 -17
  238. package/_cjs/Stream/internal/Handoff.cjs.map +1 -1
  239. package/_cjs/Stream/internal/SinkEndReason.cjs +5 -12
  240. package/_cjs/Stream/internal/SinkEndReason.cjs.map +1 -1
  241. package/_cjs/Stream/internal/Take.cjs +3 -0
  242. package/_cjs/Stream/internal/Take.cjs.map +1 -1
  243. package/_cjs/Subject/Atomic.cjs +45 -15
  244. package/_cjs/Subject/Atomic.cjs.map +1 -1
  245. package/_cjs/Subject/DeferredRef.cjs +56 -0
  246. package/_cjs/Subject/DeferredRef.cjs.map +1 -0
  247. package/_cjs/Subject/Hold.cjs +38 -0
  248. package/_cjs/Subject/Hold.cjs.map +1 -0
  249. package/_cjs/Subject/RefSubject/Atomic.cjs +171 -0
  250. package/_cjs/Subject/RefSubject/Atomic.cjs.map +1 -0
  251. package/_cjs/Subject/RefSubject/Derived.cjs +103 -0
  252. package/_cjs/Subject/RefSubject/Derived.cjs.map +1 -0
  253. package/_cjs/Subject/RefSubject/RefSubject.cjs +18 -0
  254. package/_cjs/Subject/RefSubject/RefSubject.cjs.map +1 -0
  255. package/_cjs/Subject/RefSubject/constructors.cjs +30 -0
  256. package/_cjs/Subject/RefSubject/constructors.cjs.map +1 -0
  257. package/_cjs/Subject/RefSubject.cjs +2 -0
  258. package/_cjs/Subject/RefSubject.cjs.map +1 -0
  259. package/_cjs/Subject/definition.cjs +11 -1
  260. package/_cjs/Subject/definition.cjs.map +1 -1
  261. package/_cjs/Subject.cjs +33 -0
  262. package/_cjs/Subject.cjs.map +1 -1
  263. package/_cjs/SubscriptionRef.cjs +4 -5
  264. package/_cjs/SubscriptionRef.cjs.map +1 -1
  265. package/_cjs/Supervisor/constructors.cjs +3 -11
  266. package/_cjs/Supervisor/constructors.cjs.map +1 -1
  267. package/_cjs/Supervisor/definition.cjs +10 -4
  268. package/_cjs/Supervisor/definition.cjs.map +1 -1
  269. package/_cjs/SupervisorPatch.cjs +9 -12
  270. package/_cjs/SupervisorPatch.cjs.map +1 -1
  271. package/_cjs/TExit/definition.cjs +19 -18
  272. package/_cjs/TExit/definition.cjs.map +1 -1
  273. package/_cjs/TReentrantLock/definition.cjs +8 -3
  274. package/_cjs/TReentrantLock/definition.cjs.map +1 -1
  275. package/_cjs/TRef/definition.cjs +6 -6
  276. package/_cjs/TRef/definition.cjs.map +1 -1
  277. package/_cjs/internal/BackgroundScheduler.cjs +16 -16
  278. package/_cjs/internal/BackgroundScheduler.cjs.map +1 -1
  279. package/_cjs/internal/HashedPair.cjs +2 -0
  280. package/_cjs/internal/HashedPair.cjs.map +1 -1
  281. package/_cjs/internal/Hub.cjs +39 -15
  282. package/_cjs/internal/Hub.cjs.map +1 -1
  283. package/_cjs/internal/IsFatal.cjs +7 -11
  284. package/_cjs/internal/IsFatal.cjs.map +1 -1
  285. package/_cjs/internal/MutableQueue.cjs +14 -11
  286. package/_cjs/internal/MutableQueue.cjs.map +1 -1
  287. package/_cjs/internal/Scheduler.cjs +4 -8
  288. package/_cjs/internal/Scheduler.cjs.map +1 -1
  289. package/_cjs/internal/StackTraceBuilder.cjs +2 -4
  290. package/_cjs/internal/StackTraceBuilder.cjs.map +1 -1
  291. package/_mjs/Cached/api.mjs +8 -2
  292. package/_mjs/Cached/api.mjs.map +1 -1
  293. package/_mjs/Cached/definition.mjs +1 -5
  294. package/_mjs/Cached/definition.mjs.map +1 -1
  295. package/_mjs/CancellerState.mjs +4 -7
  296. package/_mjs/CancellerState.mjs.map +1 -1
  297. package/_mjs/Channel/UpstreamPullRequest/definition.mjs +4 -2
  298. package/_mjs/Channel/UpstreamPullRequest/definition.mjs.map +1 -1
  299. package/_mjs/Channel/api.mjs +2 -3
  300. package/_mjs/Channel/api.mjs.map +1 -1
  301. package/_mjs/Channel/definition.mjs +21 -15
  302. package/_mjs/Channel/definition.mjs.map +1 -1
  303. package/_mjs/Channel/internal/ChannelExecutor.mjs +35 -11
  304. package/_mjs/Channel/internal/ChannelExecutor.mjs.map +1 -1
  305. package/_mjs/Channel/internal/ChannelState.mjs +15 -8
  306. package/_mjs/Channel/internal/ChannelState.mjs.map +1 -1
  307. package/_mjs/Channel/internal/MergeDecision.mjs +5 -7
  308. package/_mjs/Channel/internal/MergeDecision.mjs.map +1 -1
  309. package/_mjs/Channel/internal/MergeState.mjs +7 -3
  310. package/_mjs/Channel/internal/MergeState.mjs.map +1 -1
  311. package/_mjs/Channel/internal/SingleProducerAsyncInput.mjs +49 -42
  312. package/_mjs/Channel/internal/SingleProducerAsyncInput.mjs.map +1 -1
  313. package/_mjs/Clock/live.mjs +1 -4
  314. package/_mjs/Clock/live.mjs.map +1 -1
  315. package/_mjs/CountdownLatch.mjs +21 -11
  316. package/_mjs/CountdownLatch.mjs.map +1 -1
  317. package/_mjs/Differ/api.mjs +3 -12
  318. package/_mjs/Differ/api.mjs.map +1 -1
  319. package/_mjs/Differ/definition.mjs +1 -5
  320. package/_mjs/Differ/definition.mjs.map +1 -1
  321. package/_mjs/Fiber/FiberMessage.mjs +6 -3
  322. package/_mjs/Fiber/FiberMessage.mjs.map +1 -1
  323. package/_mjs/Fiber/FiberRuntime.mjs +66 -61
  324. package/_mjs/Fiber/FiberRuntime.mjs.map +1 -1
  325. package/_mjs/Fiber/definition.mjs +9 -5
  326. package/_mjs/Fiber/definition.mjs.map +1 -1
  327. package/_mjs/FiberDescriptor.mjs +3 -0
  328. package/_mjs/FiberDescriptor.mjs.map +1 -1
  329. package/_mjs/FiberRef/definition.mjs +9 -6
  330. package/_mjs/FiberRef/definition.mjs.map +1 -1
  331. package/_mjs/FiberRefs/Patch.mjs +13 -13
  332. package/_mjs/FiberRefs/Patch.mjs.map +1 -1
  333. package/_mjs/FiberScope/definition.mjs +2 -0
  334. package/_mjs/FiberScope/definition.mjs.map +1 -1
  335. package/_mjs/FiberSet.mjs +4 -3
  336. package/_mjs/FiberSet.mjs.map +1 -1
  337. package/_mjs/FiberStatus/definition.mjs +12 -9
  338. package/_mjs/FiberStatus/definition.mjs.map +1 -1
  339. package/_mjs/Future/State.mjs +8 -7
  340. package/_mjs/Future/State.mjs.map +1 -1
  341. package/_mjs/Future/definition.mjs +3 -3
  342. package/_mjs/Future/definition.mjs.map +1 -1
  343. package/_mjs/Hub/api.mjs +61 -44
  344. package/_mjs/Hub/api.mjs.map +1 -1
  345. package/_mjs/Hub/definition.mjs +3 -7
  346. package/_mjs/Hub/definition.mjs.map +1 -1
  347. package/_mjs/Hub/internal.mjs +130 -110
  348. package/_mjs/Hub/internal.mjs.map +1 -1
  349. package/_mjs/IO/api/foreachExec.mjs +27 -4
  350. package/_mjs/IO/api/foreachExec.mjs.map +1 -1
  351. package/_mjs/IO/api/transplant.mjs +8 -7
  352. package/_mjs/IO/api/transplant.mjs.map +1 -1
  353. package/_mjs/IO/api.mjs +9 -4
  354. package/_mjs/IO/api.mjs.map +1 -1
  355. package/_mjs/IO/definition.mjs +7 -11
  356. package/_mjs/IO/definition.mjs.map +1 -1
  357. package/_mjs/IO/runtime.mjs +64 -61
  358. package/_mjs/IO/runtime.mjs.map +1 -1
  359. package/_mjs/InterruptStatus/definition.mjs +1 -0
  360. package/_mjs/InterruptStatus/definition.mjs.map +1 -1
  361. package/_mjs/Layer/MemoMap.mjs +25 -24
  362. package/_mjs/Layer/MemoMap.mjs.map +1 -1
  363. package/_mjs/Layer/definition.mjs +29 -12
  364. package/_mjs/Layer/definition.mjs.map +1 -1
  365. package/_mjs/LogLevel.mjs +3 -0
  366. package/_mjs/LogLevel.mjs.map +1 -1
  367. package/_mjs/LogSpan.mjs +2 -0
  368. package/_mjs/LogSpan.mjs.map +1 -1
  369. package/_mjs/Logger/definition.mjs +1 -0
  370. package/_mjs/Logger/definition.mjs.map +1 -1
  371. package/_mjs/MVar/definition.mjs +2 -3
  372. package/_mjs/MVar/definition.mjs.map +1 -1
  373. package/_mjs/Push/Bounds.mjs +2 -0
  374. package/_mjs/Push/Bounds.mjs.map +1 -0
  375. package/_mjs/Push/FlattenStrategy.mjs +87 -0
  376. package/_mjs/Push/FlattenStrategy.mjs.map +1 -0
  377. package/_mjs/Push/IndexedBuffer.mjs +65 -0
  378. package/_mjs/Push/IndexedBuffer.mjs.map +1 -0
  379. package/_mjs/Push/MergeStrategy.mjs +36 -0
  380. package/_mjs/Push/MergeStrategy.mjs.map +1 -0
  381. package/_mjs/Push/Operator/IOLoopOperator.mjs +208 -0
  382. package/_mjs/Push/Operator/IOLoopOperator.mjs.map +1 -0
  383. package/_mjs/Push/Operator/IOOperator.mjs +91 -0
  384. package/_mjs/Push/Operator/IOOperator.mjs.map +1 -0
  385. package/_mjs/Push/Operator/LoopOperator.mjs +151 -0
  386. package/_mjs/Push/Operator/LoopOperator.mjs.map +1 -0
  387. package/_mjs/Push/Operator/SyncOperator.mjs +67 -0
  388. package/_mjs/Push/Operator/SyncOperator.mjs.map +1 -0
  389. package/_mjs/Push/Operator.mjs +2 -0
  390. package/_mjs/Push/Operator.mjs.map +1 -0
  391. package/_mjs/Push/Producer/IOProducer.mjs +60 -0
  392. package/_mjs/Push/Producer/IOProducer.mjs.map +1 -0
  393. package/_mjs/Push/Producer/SyncProducer.mjs +94 -0
  394. package/_mjs/Push/Producer/SyncProducer.mjs.map +1 -0
  395. package/_mjs/Push/Producer.mjs +2 -0
  396. package/_mjs/Push/Producer.mjs.map +1 -0
  397. package/_mjs/Push/Sink.mjs +225 -0
  398. package/_mjs/Push/Sink.mjs.map +1 -0
  399. package/_mjs/Push/api.mjs +340 -348
  400. package/_mjs/Push/api.mjs.map +1 -1
  401. package/_mjs/Push/definition.mjs +75 -21
  402. package/_mjs/Push/definition.mjs.map +1 -1
  403. package/_mjs/Push/internal.mjs +30 -26
  404. package/_mjs/Push/internal.mjs.map +1 -1
  405. package/_mjs/Push.mjs +7 -1
  406. package/_mjs/Push.mjs.map +1 -1
  407. package/_mjs/Queue/api/dimapIO.mjs +74 -32
  408. package/_mjs/Queue/api/dimapIO.mjs.map +1 -1
  409. package/_mjs/Queue/api/filterInputIO.mjs +51 -25
  410. package/_mjs/Queue/api/filterInputIO.mjs.map +1 -1
  411. package/_mjs/Queue/api/filterOutputIO.mjs +60 -30
  412. package/_mjs/Queue/api/filterOutputIO.mjs.map +1 -1
  413. package/_mjs/Queue/api/zipWithIO.mjs +27 -10
  414. package/_mjs/Queue/api/zipWithIO.mjs.map +1 -1
  415. package/_mjs/Queue/definition.mjs +3 -7
  416. package/_mjs/Queue/definition.mjs.map +1 -1
  417. package/_mjs/Queue/internal.mjs +73 -62
  418. package/_mjs/Queue/internal.mjs.map +1 -1
  419. package/_mjs/Queue/strategy.mjs +1 -3
  420. package/_mjs/Queue/strategy.mjs.map +1 -1
  421. package/_mjs/Random/live.mjs +4 -3
  422. package/_mjs/Random/live.mjs.map +1 -1
  423. package/_mjs/Ref/Atomic.mjs +2 -3
  424. package/_mjs/Ref/Atomic.mjs.map +1 -1
  425. package/_mjs/Ref/Derived.mjs +2 -3
  426. package/_mjs/Ref/Derived.mjs.map +1 -1
  427. package/_mjs/Ref/DerivedAll.mjs +2 -3
  428. package/_mjs/Ref/DerivedAll.mjs.map +1 -1
  429. package/_mjs/Ref/Synchronized/definition.mjs +16 -15
  430. package/_mjs/Ref/Synchronized/definition.mjs.map +1 -1
  431. package/_mjs/Ref/definition.mjs +1 -5
  432. package/_mjs/Ref/definition.mjs.map +1 -1
  433. package/_mjs/Reloadable/definition.mjs +2 -0
  434. package/_mjs/Reloadable/definition.mjs.map +1 -1
  435. package/_mjs/STM/definition.mjs +29 -24
  436. package/_mjs/STM/definition.mjs.map +1 -1
  437. package/_mjs/STM/driver.mjs +5 -0
  438. package/_mjs/STM/driver.mjs.map +1 -1
  439. package/_mjs/STM/internal/Entry.mjs +8 -5
  440. package/_mjs/STM/internal/Entry.mjs.map +1 -1
  441. package/_mjs/STM/internal/TryCommit.mjs +6 -7
  442. package/_mjs/STM/internal/TryCommit.mjs.map +1 -1
  443. package/_mjs/STM/internal/Versioned.mjs +2 -3
  444. package/_mjs/STM/internal/Versioned.mjs.map +1 -1
  445. package/_mjs/Schedule/Decision.mjs +3 -4
  446. package/_mjs/Schedule/Decision.mjs.map +1 -1
  447. package/_mjs/Schedule/Driver.mjs +4 -0
  448. package/_mjs/Schedule/Driver.mjs.map +1 -1
  449. package/_mjs/Schedule/api.mjs +2 -5
  450. package/_mjs/Schedule/api.mjs.map +1 -1
  451. package/_mjs/Schedule/definition.mjs +3 -1
  452. package/_mjs/Schedule/definition.mjs.map +1 -1
  453. package/_mjs/Scope/ReleaseMap/definition.mjs +8 -2
  454. package/_mjs/Scope/ReleaseMap/definition.mjs.map +1 -1
  455. package/_mjs/Scope/api.mjs +23 -8
  456. package/_mjs/Scope/api.mjs.map +1 -1
  457. package/_mjs/Scope/definition.mjs +2 -6
  458. package/_mjs/Scope/definition.mjs.map +1 -1
  459. package/_mjs/ScopedRef/api.mjs +8 -3
  460. package/_mjs/ScopedRef/api.mjs.map +1 -1
  461. package/_mjs/ScopedRef/definition.mjs +1 -5
  462. package/_mjs/ScopedRef/definition.mjs.map +1 -1
  463. package/_mjs/Semaphore/Reservation.mjs +2 -0
  464. package/_mjs/Semaphore/Reservation.mjs.map +1 -1
  465. package/_mjs/Semaphore/definition.mjs +42 -38
  466. package/_mjs/Semaphore/definition.mjs.map +1 -1
  467. package/_mjs/Sink/definition.mjs +3 -3
  468. package/_mjs/Sink/definition.mjs.map +1 -1
  469. package/_mjs/State/api.mjs +1 -4
  470. package/_mjs/State/api.mjs.map +1 -1
  471. package/_mjs/State/definition.mjs +1 -5
  472. package/_mjs/State/definition.mjs.map +1 -1
  473. package/_mjs/State/internal.mjs +1 -5
  474. package/_mjs/State/internal.mjs.map +1 -1
  475. package/_mjs/Stream/api/zipAllWith.mjs +7 -11
  476. package/_mjs/Stream/api/zipAllWith.mjs.map +1 -1
  477. package/_mjs/Stream/api/zipWithChunks.mjs +5 -5
  478. package/_mjs/Stream/api/zipWithChunks.mjs.map +1 -1
  479. package/_mjs/Stream/api.mjs +8 -7
  480. package/_mjs/Stream/api.mjs.map +1 -1
  481. package/_mjs/Stream/definition.mjs +2 -3
  482. package/_mjs/Stream/definition.mjs.map +1 -1
  483. package/_mjs/Stream/internal/DebounceState.mjs +5 -5
  484. package/_mjs/Stream/internal/DebounceState.mjs.map +1 -1
  485. package/_mjs/Stream/internal/Handoff.mjs +17 -16
  486. package/_mjs/Stream/internal/Handoff.mjs.map +1 -1
  487. package/_mjs/Stream/internal/SinkEndReason.mjs +4 -11
  488. package/_mjs/Stream/internal/SinkEndReason.mjs.map +1 -1
  489. package/_mjs/Stream/internal/Take.mjs +3 -0
  490. package/_mjs/Stream/internal/Take.mjs.map +1 -1
  491. package/_mjs/Subject/Atomic.mjs +46 -15
  492. package/_mjs/Subject/Atomic.mjs.map +1 -1
  493. package/_mjs/Subject/DeferredRef.mjs +48 -0
  494. package/_mjs/Subject/DeferredRef.mjs.map +1 -0
  495. package/_mjs/Subject/Hold.mjs +30 -0
  496. package/_mjs/Subject/Hold.mjs.map +1 -0
  497. package/_mjs/Subject/RefSubject/Atomic.mjs +163 -0
  498. package/_mjs/Subject/RefSubject/Atomic.mjs.map +1 -0
  499. package/_mjs/Subject/RefSubject/Derived.mjs +95 -0
  500. package/_mjs/Subject/RefSubject/Derived.mjs.map +1 -0
  501. package/_mjs/Subject/RefSubject/RefSubject.mjs +11 -0
  502. package/_mjs/Subject/RefSubject/RefSubject.mjs.map +1 -0
  503. package/_mjs/Subject/RefSubject/constructors.mjs +23 -0
  504. package/_mjs/Subject/RefSubject/constructors.mjs.map +1 -0
  505. package/_mjs/Subject/RefSubject.mjs +2 -0
  506. package/_mjs/Subject/RefSubject.mjs.map +1 -0
  507. package/_mjs/Subject/definition.mjs +9 -0
  508. package/_mjs/Subject/definition.mjs.map +1 -1
  509. package/_mjs/Subject.mjs +3 -0
  510. package/_mjs/Subject.mjs.map +1 -1
  511. package/_mjs/SubscriptionRef.mjs +4 -5
  512. package/_mjs/SubscriptionRef.mjs.map +1 -1
  513. package/_mjs/Supervisor/constructors.mjs +3 -11
  514. package/_mjs/Supervisor/constructors.mjs.map +1 -1
  515. package/_mjs/Supervisor/definition.mjs +10 -4
  516. package/_mjs/Supervisor/definition.mjs.map +1 -1
  517. package/_mjs/SupervisorPatch.mjs +9 -12
  518. package/_mjs/SupervisorPatch.mjs.map +1 -1
  519. package/_mjs/TExit/definition.mjs +19 -18
  520. package/_mjs/TExit/definition.mjs.map +1 -1
  521. package/_mjs/TReentrantLock/definition.mjs +8 -3
  522. package/_mjs/TReentrantLock/definition.mjs.map +1 -1
  523. package/_mjs/TRef/definition.mjs +6 -6
  524. package/_mjs/TRef/definition.mjs.map +1 -1
  525. package/_mjs/internal/BackgroundScheduler.mjs +16 -16
  526. package/_mjs/internal/BackgroundScheduler.mjs.map +1 -1
  527. package/_mjs/internal/HashedPair.mjs +2 -0
  528. package/_mjs/internal/HashedPair.mjs.map +1 -1
  529. package/_mjs/internal/Hub.mjs +39 -15
  530. package/_mjs/internal/Hub.mjs.map +1 -1
  531. package/_mjs/internal/IsFatal.mjs +7 -11
  532. package/_mjs/internal/IsFatal.mjs.map +1 -1
  533. package/_mjs/internal/MutableQueue.mjs +14 -11
  534. package/_mjs/internal/MutableQueue.mjs.map +1 -1
  535. package/_mjs/internal/Scheduler.mjs +4 -8
  536. package/_mjs/internal/Scheduler.mjs.map +1 -1
  537. package/_mjs/internal/StackTraceBuilder.mjs +2 -4
  538. package/_mjs/internal/StackTraceBuilder.mjs.map +1 -1
  539. package/_src/Cached/api.ts +8 -2
  540. package/_src/Channel/internal/SingleProducerAsyncInput.ts +6 -4
  541. package/_src/CountdownLatch.ts +24 -13
  542. package/_src/Fiber/FiberRuntime.ts +4 -2
  543. package/_src/FiberRef/definition.ts +1 -1
  544. package/_src/Hub/api.ts +85 -54
  545. package/_src/Hub/internal.ts +36 -20
  546. package/_src/IO/api/foreachExec.ts +47 -0
  547. package/_src/IO/api.ts +0 -5
  548. package/_src/Push/Bounds.ts +4 -0
  549. package/_src/Push/FlattenStrategy.ts +137 -0
  550. package/_src/Push/IndexedBuffer.ts +79 -0
  551. package/_src/Push/MergeStrategy.ts +59 -0
  552. package/_src/Push/Operator/IOLoopOperator.ts +413 -0
  553. package/_src/Push/Operator/IOOperator.ts +173 -0
  554. package/_src/Push/Operator/LoopOperator.ts +242 -0
  555. package/_src/Push/Operator/SyncOperator.ts +107 -0
  556. package/_src/Push/Operator.ts +7 -0
  557. package/_src/Push/Producer/IOProducer.ts +83 -0
  558. package/_src/Push/Producer/SyncProducer.ts +105 -0
  559. package/_src/Push/Producer.ts +0 -0
  560. package/_src/Push/Sink.ts +302 -0
  561. package/_src/Push/api.ts +389 -515
  562. package/_src/Push/definition.ts +216 -23
  563. package/_src/Push/internal.ts +11 -0
  564. package/_src/Push.ts +7 -1
  565. package/_src/Queue/api/dimapIO.ts +57 -19
  566. package/_src/Queue/api/filterInputIO.ts +36 -12
  567. package/_src/Queue/api/filterOutputIO.ts +42 -18
  568. package/_src/Queue/api/zipWithIO.ts +23 -11
  569. package/_src/Queue/internal.ts +9 -3
  570. package/_src/Ref/Synchronized/definition.ts +81 -37
  571. package/_src/Ref/definition.ts +26 -0
  572. package/_src/Schedule/api.ts +1 -1
  573. package/_src/Scope/api.ts +22 -0
  574. package/_src/ScopedRef/api.ts +6 -2
  575. package/_src/Semaphore/definition.ts +4 -2
  576. package/_src/Sink/definition.ts +4 -5
  577. package/_src/Stream/api.ts +0 -2
  578. package/_src/Stream/definition.ts +0 -1
  579. package/_src/Subject/Atomic.ts +68 -11
  580. package/_src/Subject/DeferredRef.ts +44 -0
  581. package/_src/Subject/Hold.ts +48 -0
  582. package/_src/Subject/RefSubject/Atomic.ts +233 -0
  583. package/_src/Subject/RefSubject/Derived.ts +184 -0
  584. package/_src/Subject/RefSubject/RefSubject.ts +100 -0
  585. package/_src/Subject/RefSubject/constructors.ts +27 -0
  586. package/_src/Subject/RefSubject.ts +7 -0
  587. package/_src/Subject/definition.ts +21 -3
  588. package/_src/Subject.ts +6 -3
  589. package/_src/SubscriptionRef.ts +1 -1
  590. package/_src/Supervisor/constructors.ts +0 -2
  591. package/_src/Supervisor/definition.ts +2 -1
  592. package/_src/TReentrantLock/api.ts +1 -1
  593. package/_src/global.ts +8 -0
  594. package/_src/index.ts +49 -50
  595. package/_src/internal/MutableQueue.ts +5 -3
  596. package/global.d.ts +8 -0
  597. package/index.d.ts +0 -1
  598. package/internal/MutableQueue.d.ts +2 -2
  599. package/package.json +4 -4
  600. package/RefSubject/Atomic.d.ts +0 -34
  601. package/RefSubject/Synchronized/api.d.ts +0 -9
  602. package/RefSubject/Synchronized/definition.d.ts +0 -39
  603. package/RefSubject/api.d.ts +0 -120
  604. package/RefSubject/definition.d.ts +0 -52
  605. package/RefSubject.d.ts +0 -3
  606. package/_cjs/RefSubject/Atomic.cjs +0 -107
  607. package/_cjs/RefSubject/Atomic.cjs.map +0 -1
  608. package/_cjs/RefSubject/Synchronized/api.cjs +0 -22
  609. package/_cjs/RefSubject/Synchronized/api.cjs.map +0 -1
  610. package/_cjs/RefSubject/Synchronized/definition.cjs +0 -55
  611. package/_cjs/RefSubject/Synchronized/definition.cjs.map +0 -1
  612. package/_cjs/RefSubject/api.cjs +0 -251
  613. package/_cjs/RefSubject/api.cjs.map +0 -1
  614. package/_cjs/RefSubject/definition.cjs +0 -26
  615. package/_cjs/RefSubject/definition.cjs.map +0 -1
  616. package/_cjs/RefSubject.cjs +0 -39
  617. package/_cjs/RefSubject.cjs.map +0 -1
  618. package/_mjs/RefSubject/Atomic.mjs +0 -99
  619. package/_mjs/RefSubject/Atomic.mjs.map +0 -1
  620. package/_mjs/RefSubject/Synchronized/api.mjs +0 -15
  621. package/_mjs/RefSubject/Synchronized/api.mjs.map +0 -1
  622. package/_mjs/RefSubject/Synchronized/definition.mjs +0 -47
  623. package/_mjs/RefSubject/Synchronized/definition.mjs.map +0 -1
  624. package/_mjs/RefSubject/api.mjs +0 -229
  625. package/_mjs/RefSubject/api.mjs.map +0 -1
  626. package/_mjs/RefSubject/definition.mjs +0 -19
  627. package/_mjs/RefSubject/definition.mjs.map +0 -1
  628. package/_mjs/RefSubject.mjs +0 -5
  629. package/_mjs/RefSubject.mjs.map +0 -1
  630. package/_src/RefSubject/Atomic.ts +0 -129
  631. package/_src/RefSubject/Synchronized/api.ts +0 -14
  632. package/_src/RefSubject/Synchronized/definition.ts +0 -76
  633. package/_src/RefSubject/api.ts +0 -253
  634. package/_src/RefSubject/definition.ts +0 -70
  635. package/_src/RefSubject.ts +0 -5
@@ -74,10 +74,7 @@ export class Strategy {
74
74
  * are published and received by other subscribers.
75
75
  */
76
76
  export class BackPressure extends Strategy {
77
- constructor() {
78
- super(...arguments);
79
- this.publishers = tsplus_module_1.unbounded();
80
- }
77
+ publishers = /*#__PURE__*/tsplus_module_1.unbounded();
81
78
  handleSurplus(hub, subscribers, as, isShutdown) {
82
79
  return tsplus_module_5.flatMap(fiberId => tsplus_module_5.defer(() => {
83
80
  const future = tsplus_module_4.unsafeMake(fiberId);
@@ -136,13 +133,10 @@ export class BackPressure extends Strategy {
136
133
  * published to the hub while they are subscribed.
137
134
  */
138
135
  export class Dropping extends Strategy {
139
- constructor() {
140
- super(...arguments);
141
- this.shutdown = tsplus_module_5.unit;
142
- }
143
136
  handleSurplus(_hub, _subscribers, _as, _isShutdown) {
144
137
  return tsplus_module_5.succeedNow(false, fileName_1 + ":194:25");
145
138
  }
139
+ shutdown = tsplus_module_5.unit;
146
140
  unsafeOnHubEmptySpace(_hub, _subscribers) {
147
141
  //
148
142
  }
@@ -155,10 +149,6 @@ export class Dropping extends Strategy {
155
149
  * not receive some messages published to the hub while it is subscribed.
156
150
  */
157
151
  export class Sliding extends Strategy {
158
- constructor() {
159
- super(...arguments);
160
- this.shutdown = tsplus_module_5.unit;
161
- }
162
152
  unsafeSlidingPublish(hub, as) {
163
153
  const it = as[Symbol.iterator]();
164
154
  let next = it.next();
@@ -183,11 +173,19 @@ export class Sliding extends Strategy {
183
173
  return true;
184
174
  }, fileName_1 + ":240:22");
185
175
  }
176
+ shutdown = tsplus_module_5.unit;
186
177
  unsafeOnHubEmptySpace(_hub, _subscribers) {
187
178
  //
188
179
  }
189
180
  }
190
181
  class UnsafeSubscription extends QueueInternal {
182
+ hub;
183
+ subscribers;
184
+ subscription;
185
+ pollers;
186
+ shutdownHook;
187
+ shutdownFlag;
188
+ strategy;
191
189
  constructor(hub, subscribers, subscription, pollers, shutdownHook, shutdownFlag, strategy) {
192
190
  super();
193
191
  this.hub = hub;
@@ -197,74 +195,82 @@ class UnsafeSubscription extends QueueInternal {
197
195
  this.shutdownHook = shutdownHook;
198
196
  this.shutdownFlag = shutdownFlag;
199
197
  this.strategy = strategy;
200
- this.awaitShutdown = tsplus_module_3.wait(this.shutdownHook, fileName_1 + ":270:47");
201
- this.capacity = this.hub.capacity;
202
- this.isShutdown = tsplus_module_5.succeed(() => this.shutdownFlag.get, fileName_1 + ":274:40");
203
- this.shutdown = tsplus_module_5.flatMap(fiberId => tsplus_module_5.defer(() => {
198
+ }
199
+ get awaitShutdown() {
200
+ return tsplus_module_3.wait(this.shutdownHook, fileName_1 + ":271:29");
201
+ }
202
+ get capacity() {
203
+ return this.hub.capacity;
204
+ }
205
+ get isShutdown() {
206
+ return tsplus_module_5.succeed(() => this.shutdownFlag.get, fileName_1 + ":279:22");
207
+ }
208
+ get shutdown() {
209
+ return tsplus_module_5.flatMap(fiberId => tsplus_module_5.defer(() => {
204
210
  this.shutdownFlag.set(true);
205
- return tsplus_module_5.whenIO(tsplus_module_3.succeed_(undefined, fileName_1 + ":281:42")(this.shutdownHook), fileName_1 + ":281:16")(tsplus_module_5.zipRight(tsplus_module_5.succeed(() => this.subscription.unsubscribe(), fileName_1 + ":280:29"), fileName_1 + ":280:18")(tsplus_module_7.foreachConcurrent(tsplus_module_1.unsafeDequeueAll(this.pollers), fiber => tsplus_module_3.interruptAs(fiberId, fileName_1 + ":279:94")(fiber), fileName_1 + ":279:34")));
206
- }, fileName_1 + ":277:13"), fileName_1 + ":276:43")(tsplus_module_5.fiberId);
207
- this.size = tsplus_module_5.defer(() => {
208
- if (this.shutdownFlag.get) {
209
- return tsplus_module_6.interrupt;
210
- }
211
- return tsplus_module_5.succeed(() => this.subscription.size(), fileName_1 + ":297:22");
212
- }, fileName_1 + ":292:31");
213
- this.offer = _ => tsplus_module_5.succeedNow(false, fileName_1 + ":304:65");
214
- this.offerAll = _ => tsplus_module_5.succeedNow(false, fileName_1 + ":306:78");
215
- this.take = tsplus_module_5.flatMap(fiberId => tsplus_module_5.defer(() => {
216
- if (this.shutdownFlag.get) {
217
- return tsplus_module_6.interrupt;
218
- }
219
- const empty = null;
220
- const message = this.pollers.isEmpty ? this.subscription.poll(empty) : empty;
221
- if (message == null) {
222
- const future = tsplus_module_4.unsafeMake(fiberId);
223
- return tsplus_module_6.onInterrupt(() => tsplus_module_5.succeed(() => {
224
- tsplus_module_1.unsafeRemove(future)(this.pollers);
225
- }, fileName_1 + ":330:21"), fileName_1 + ":329:23")(tsplus_module_5.defer(() => {
226
- this.pollers.enqueue(future);
227
- this.subscribers.add(new HashedPair(this.subscription, this.pollers));
228
- this.strategy.unsafeCompletePollers(this.hub, this.subscribers, this.subscription, this.pollers);
229
- if (this.shutdownFlag.get) {
230
- return tsplus_module_6.interrupt;
231
- } else {
232
- return tsplus_module_3.wait(future, fileName_1 + ":327:26");
233
- }
234
- }, fileName_1 + ":320:24"));
235
- } else {
236
- this.strategy.unsafeOnHubEmptySpace(this.hub, this.subscribers);
237
- return tsplus_module_5.succeedNow(message, fileName_1 + ":336:29");
238
- }
239
- }, fileName_1 + ":309:13"), fileName_1 + ":308:49")(tsplus_module_5.fiberId);
240
- this.takeAll = tsplus_module_5.defer(() => {
241
- if (this.shutdownFlag.get) {
242
- return tsplus_module_6.interrupt;
243
- }
244
- const as = this.pollers.isEmpty ? tsplus_module_9.unsafePollAll(this.subscription) : tsplus_module_10.empty();
245
- this.strategy.unsafeOnHubEmptySpace(this.hub, this.subscribers);
246
- return tsplus_module_5.succeedNow(as, fileName_1 + ":350:25");
247
- }, fileName_1 + ":341:48");
248
- this.takeUpTo = n => {
249
- return tsplus_module_5.defer(() => {
250
- if (this.shutdownFlag.get) {
251
- return tsplus_module_6.interrupt;
252
- }
253
- const as = this.pollers.isEmpty ? tsplus_module_9.unsafePollN(n)(this.subscription) : tsplus_module_10.empty();
254
- this.strategy.unsafeOnHubEmptySpace(this.hub, this.subscribers);
255
- return tsplus_module_5.succeedNow(as, fileName_1 + ":362:27");
256
- }, fileName_1 + ":354:20");
257
- };
211
+ return tsplus_module_5.whenIO(tsplus_module_3.succeed_(undefined, fileName_1 + ":288:44")(this.shutdownHook), fileName_1 + ":288:18")(tsplus_module_5.zipRight(tsplus_module_5.succeed(() => this.subscription.unsubscribe(), fileName_1 + ":287:31"), fileName_1 + ":287:20")(tsplus_module_7.foreachConcurrent(tsplus_module_1.unsafeDequeueAll(this.pollers), fiber => tsplus_module_3.interruptAs(fiberId, fileName_1 + ":286:96")(fiber), fileName_1 + ":286:36")));
212
+ }, fileName_1 + ":284:15"), fileName_1 + ":283:30")(tsplus_module_5.fiberId);
258
213
  }
259
214
  get unsafeSize() {
260
215
  if (this.shutdownFlag.get) {
261
- return tsplus_module_8.nothing(fileName_1 + ":287:21");
216
+ return tsplus_module_8.nothing(fileName_1 + ":295:21");
262
217
  }
263
- return tsplus_module_8.just(this.subscription.size(), fileName_1 + ":289:16");
218
+ return tsplus_module_8.just(this.subscription.size(), fileName_1 + ":297:16");
264
219
  }
220
+ size = /*#__PURE__*/tsplus_module_5.defer(() => {
221
+ if (this.shutdownFlag.get) {
222
+ return tsplus_module_6.interrupt;
223
+ }
224
+ return tsplus_module_5.succeed(() => this.subscription.size(), fileName_1 + ":305:22");
225
+ }, fileName_1 + ":300:31");
265
226
  unsafeOffer(_) {
266
227
  return false;
267
228
  }
229
+ offer = _ => tsplus_module_5.succeedNow(false, fileName_1 + ":312:65");
230
+ offerAll = _ => tsplus_module_5.succeedNow(false, fileName_1 + ":314:78");
231
+ take = /*#__PURE__*/tsplus_module_5.flatMap(fiberId => tsplus_module_5.defer(() => {
232
+ if (this.shutdownFlag.get) {
233
+ return tsplus_module_6.interrupt;
234
+ }
235
+ const empty = null;
236
+ const message = this.pollers.isEmpty ? this.subscription.poll(empty) : empty;
237
+ if (message == null) {
238
+ const future = tsplus_module_4.unsafeMake(fiberId);
239
+ return tsplus_module_6.onInterrupt(() => tsplus_module_5.succeed(() => {
240
+ tsplus_module_1.unsafeRemove(future)(this.pollers);
241
+ }, fileName_1 + ":338:21"), fileName_1 + ":337:23")(tsplus_module_5.defer(() => {
242
+ this.pollers.enqueue(future);
243
+ this.subscribers.add(new HashedPair(this.subscription, this.pollers));
244
+ this.strategy.unsafeCompletePollers(this.hub, this.subscribers, this.subscription, this.pollers);
245
+ if (this.shutdownFlag.get) {
246
+ return tsplus_module_6.interrupt;
247
+ } else {
248
+ return tsplus_module_3.wait(future, fileName_1 + ":335:26");
249
+ }
250
+ }, fileName_1 + ":328:24"));
251
+ } else {
252
+ this.strategy.unsafeOnHubEmptySpace(this.hub, this.subscribers);
253
+ return tsplus_module_5.succeedNow(message, fileName_1 + ":344:29");
254
+ }
255
+ }, fileName_1 + ":317:13"), fileName_1 + ":316:49")(tsplus_module_5.fiberId);
256
+ takeAll = /*#__PURE__*/tsplus_module_5.defer(() => {
257
+ if (this.shutdownFlag.get) {
258
+ return tsplus_module_6.interrupt;
259
+ }
260
+ const as = this.pollers.isEmpty ? tsplus_module_9.unsafePollAll(this.subscription) : tsplus_module_10.empty();
261
+ this.strategy.unsafeOnHubEmptySpace(this.hub, this.subscribers);
262
+ return tsplus_module_5.succeedNow(as, fileName_1 + ":358:25");
263
+ }, fileName_1 + ":349:48");
264
+ takeUpTo = n => {
265
+ return tsplus_module_5.defer(() => {
266
+ if (this.shutdownFlag.get) {
267
+ return tsplus_module_6.interrupt;
268
+ }
269
+ const as = this.pollers.isEmpty ? tsplus_module_9.unsafePollN(n)(this.subscription) : tsplus_module_10.empty();
270
+ this.strategy.unsafeOnHubEmptySpace(this.hub, this.subscribers);
271
+ return tsplus_module_5.succeedNow(as, fileName_1 + ":370:27");
272
+ }, fileName_1 + ":362:20");
273
+ };
268
274
  }
269
275
  /**
270
276
  * Creates a subscription with the specified strategy.
@@ -272,7 +278,7 @@ class UnsafeSubscription extends QueueInternal {
272
278
  export function makeSubscription(hub, subscribers, strategy) {
273
279
  return tsplus_module_5.map(future => {
274
280
  return unsafeMakeSubscription(hub, subscribers, hub.subscribe(), tsplus_module_1.unbounded(), future, new AtomicBoolean(false), strategy);
275
- }, fileName_1 + ":375:40")(tsplus_module_4.make(fileName_1 + ":375:21"));
281
+ }, fileName_1 + ":383:40")(tsplus_module_4.make(fileName_1 + ":383:21"));
276
282
  }
277
283
  /**
278
284
  * Unsafely creates a subscription with the specified strategy.
@@ -284,6 +290,12 @@ export function subscribersHashSet() {
284
290
  return HashSet.empty();
285
291
  }
286
292
  class UnsafeHub extends PHubInternal {
293
+ hub;
294
+ subscribers;
295
+ scope;
296
+ shutdownHook;
297
+ shutdownFlag;
298
+ strategy;
287
299
  constructor(hub, subscribers, scope, shutdownHook, shutdownFlag, strategy) {
288
300
  super();
289
301
  this.hub = hub;
@@ -292,48 +304,56 @@ class UnsafeHub extends PHubInternal {
292
304
  this.shutdownHook = shutdownHook;
293
305
  this.shutdownFlag = shutdownFlag;
294
306
  this.strategy = strategy;
295
- this.awaitShutdown = tsplus_module_3.wait(this.shutdownHook, fileName_1 + ":421:36");
296
- this.capacity = this.hub.capacity;
297
- this.isShutdown = tsplus_module_5.succeed(() => this.shutdownFlag.get, fileName_1 + ":425:26");
298
- this.shutdown = tsplus_module_6.uninterruptible(tsplus_module_5.flatMap(fiberId => tsplus_module_5.defer(() => {
299
- this.shutdownFlag.set(true);
300
- return tsplus_module_5.whenIO(tsplus_module_3.succeed_(undefined, fileName_1 + ":433:42")(this.shutdownHook), fileName_1 + ":433:16")(tsplus_module_5.zipRight(this.strategy.shutdown, fileName_1 + ":432:18")(this.scope.close(() => tsplus_module_11.interrupt(fiberId, fileName_1 + ":431:30"))));
301
- }, fileName_1 + ":428:13"), fileName_1 + ":427:32")(tsplus_module_5.fiberId), fileName_1 + ":435:4");
302
- this.size = tsplus_module_5.defer(() => {
303
- if (this.shutdownFlag.get) {
304
- return tsplus_module_6.interrupt;
305
- }
306
- return tsplus_module_5.succeed(() => this.hub.size(), fileName_1 + ":449:22");
307
- }, fileName_1 + ":444:18");
308
- this.subscribe = tsplus_module_14.acquireRelease(() => tsplus_module_5.tap(dequeue => tsplus_module_13.addFinalizer(() => tsplus_module_12.shutdown(dequeue, fileName_1 + ":454:38"), fileName_1 + ":454:30")(this.scope), fileName_1 + ":453:68")(makeSubscription(this.hub, this.subscribers, this.strategy)), dequeue => tsplus_module_12.shutdown(dequeue, fileName_1 + ":456:25"), fileName_1 + ":452:68");
309
- this.publish = a => tsplus_module_5.defer(() => {
310
- if (this.shutdownFlag.get) {
311
- return tsplus_module_6.interrupt;
312
- }
313
- if (this.hub.publish(a)) {
314
- this.strategy.unsafeCompleteSubscribers(this.hub, this.subscribers);
315
- return tsplus_module_5.succeedNow(true, fileName_1 + ":467:29");
316
- }
317
- return this.strategy.handleSurplus(this.hub, this.subscribers, tsplus_module_15.single(a), this.shutdownFlag);
318
- }, fileName_1 + ":460:13");
319
- this.publishAll = as => tsplus_module_5.defer(() => {
320
- if (this.shutdownFlag.get) {
321
- return tsplus_module_6.interrupt;
322
- }
323
- const surplus = this.hub.publishAll(as);
324
- this.strategy.unsafeCompleteSubscribers(this.hub, this.subscribers);
325
- if (tsplus_module_2.isEmpty(surplus)) {
326
- return tsplus_module_5.succeedNow(true, fileName_1 + ":484:29");
327
- }
328
- return this.strategy.handleSurplus(this.hub, this.subscribers, surplus, this.shutdownFlag);
329
- }, fileName_1 + ":474:13");
330
307
  }
308
+ get awaitShutdown() {
309
+ return tsplus_module_3.wait(this.shutdownHook, fileName_1 + ":430:29");
310
+ }
311
+ get capacity() {
312
+ return this.hub.capacity;
313
+ }
314
+ get isShutdown() {
315
+ return tsplus_module_5.succeed(() => this.shutdownFlag.get, fileName_1 + ":438:22");
316
+ }
317
+ shutdown = /*#__PURE__*/tsplus_module_6.uninterruptible(/*#__PURE__*/tsplus_module_5.flatMap(fiberId => tsplus_module_5.defer(() => {
318
+ this.shutdownFlag.set(true);
319
+ return tsplus_module_5.whenIO(tsplus_module_3.succeed_(undefined, fileName_1 + ":447:42")(this.shutdownHook), fileName_1 + ":447:16")(tsplus_module_5.zipRight(this.strategy.shutdown, fileName_1 + ":446:18")(this.scope.close(() => tsplus_module_11.interrupt(fiberId, fileName_1 + ":445:30"))));
320
+ }, fileName_1 + ":442:13"), fileName_1 + ":441:32")(tsplus_module_5.fiberId), fileName_1 + ":449:4");
331
321
  get unsafeSize() {
332
322
  if (this.shutdownFlag.get) {
333
- return tsplus_module_8.nothing(fileName_1 + ":439:21");
323
+ return tsplus_module_8.nothing(fileName_1 + ":453:21");
334
324
  }
335
- return tsplus_module_8.just(this.hub.size(), fileName_1 + ":441:16");
325
+ return tsplus_module_8.just(this.hub.size(), fileName_1 + ":455:16");
336
326
  }
327
+ size = /*#__PURE__*/tsplus_module_5.defer(() => {
328
+ if (this.shutdownFlag.get) {
329
+ return tsplus_module_6.interrupt;
330
+ }
331
+ return tsplus_module_5.succeed(() => this.hub.size(), fileName_1 + ":463:22");
332
+ }, fileName_1 + ":458:18");
333
+ get subscribe() {
334
+ return tsplus_module_14.acquireRelease(() => tsplus_module_5.tap(dequeue => tsplus_module_13.addFinalizer(() => tsplus_module_12.shutdown(dequeue, fileName_1 + ":469:40"), fileName_1 + ":469:32")(this.scope), fileName_1 + ":468:70")(makeSubscription(this.hub, this.subscribers, this.strategy)), dequeue => tsplus_module_12.shutdown(dequeue, fileName_1 + ":471:27"), fileName_1 + ":467:29");
335
+ }
336
+ publish = a => tsplus_module_5.defer(() => {
337
+ if (this.shutdownFlag.get) {
338
+ return tsplus_module_6.interrupt;
339
+ }
340
+ if (this.hub.publish(a)) {
341
+ this.strategy.unsafeCompleteSubscribers(this.hub, this.subscribers);
342
+ return tsplus_module_5.succeedNow(true, fileName_1 + ":483:29");
343
+ }
344
+ return this.strategy.handleSurplus(this.hub, this.subscribers, tsplus_module_15.single(a), this.shutdownFlag);
345
+ }, fileName_1 + ":476:13");
346
+ publishAll = as => tsplus_module_5.defer(() => {
347
+ if (this.shutdownFlag.get) {
348
+ return tsplus_module_6.interrupt;
349
+ }
350
+ const surplus = this.hub.publishAll(as);
351
+ this.strategy.unsafeCompleteSubscribers(this.hub, this.subscribers);
352
+ if (tsplus_module_2.isEmpty(surplus)) {
353
+ return tsplus_module_5.succeedNow(true, fileName_1 + ":500:29");
354
+ }
355
+ return this.strategy.handleSurplus(this.hub, this.subscribers, surplus, this.shutdownFlag);
356
+ }, fileName_1 + ":490:13");
337
357
  }
338
358
  /**
339
359
  * Unsafely creates a hub with the specified strategy.
@@ -342,6 +362,6 @@ export function unsafeMakeHub(hub, subscribers, scope, shutdownHook, shutdownFla
342
362
  return new UnsafeHub(hub, subscribers, scope, shutdownHook, shutdownFlag, strategy).unsafeCoerce();
343
363
  }
344
364
  export function makeHubInternal(hub, strategy) {
345
- return tsplus_module_5.flatMap(scope => tsplus_module_5.map(future => unsafeMakeHub(hub, subscribersHashSet(), scope, future, new AtomicBoolean(false), strategy), fileName_1 + ":508:21")(tsplus_module_4.make(fileName_1 + ":508:33")), fileName_1 + ":507:21")(tsplus_module_13.make);
365
+ return tsplus_module_5.flatMap(scope => tsplus_module_5.map(future => unsafeMakeHub(hub, subscribersHashSet(), scope, future, new AtomicBoolean(false), strategy), fileName_1 + ":524:21")(tsplus_module_4.make(fileName_1 + ":524:33")), fileName_1 + ":523:21")(tsplus_module_13.make);
346
366
  }
347
367
  //# sourceMappingURL=internal.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"internal.mjs","names":["HashSet","AtomicBoolean","PHubInternal","HashedPair","QueueInternal","Strategy","unsafeCompletePollers","hub","subscribers","subscription","pollers","keepPolling","nullPoller","empty","isEmpty","poller","dequeue","subPollerPair","remove","add","pollResult","poll","enqueueAll","tsplus_module_2","prepend","tsplus_module_1","unsafeDequeueAll","tsplus_module_3","unsafeSucceed","fileName_1","unsafeOnHubEmptySpace","unsafeCompleteSubscribers","forEach","first","second","BackPressure","constructor","publishers","unbounded","handleSurplus","as","isShutdown","tsplus_module_5","flatMap","fiberId","defer","future","tsplus_module_4","unsafeMake","tsplus_module_6","onInterrupt","succeed","unsafeRemove","unsafeOffer","get","interrupt","wait","shutdown","self","map","tsplus_module_7","foreachConcurrentDiscard","_","last","interruptAs","unit","isFull","publisher","published","publish","it","Symbol","iterator","curr","next","done","enqueue","value","filter","a","Dropping","_hub","_subscribers","_as","_isShutdown","succeedNow","Sliding","unsafeSlidingPublish","capacity","loop","slide","pub","UnsafeSubscription","shutdownHook","shutdownFlag","strategy","awaitShutdown","set","whenIO","succeed_","undefined","zipRight","unsubscribe","foreachConcurrent","fiber","size","offer","offerAll","take","message","takeAll","tsplus_module_9","unsafePollAll","tsplus_module_10","takeUpTo","n","unsafePollN","unsafeSize","tsplus_module_8","nothing","just","makeSubscription","unsafeMakeSubscription","subscribe","make","subscribersHashSet","UnsafeHub","scope","uninterruptible","close","tsplus_module_11","tsplus_module_14","acquireRelease","tap","tsplus_module_13","addFinalizer","tsplus_module_12","tsplus_module_15","single","publishAll","surplus","unsafeMakeHub","unsafeCoerce","makeHubInternal"],"sources":["../../_src/Hub/internal.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"internal.mjs","names":["HashSet","AtomicBoolean","PHubInternal","HashedPair","QueueInternal","Strategy","unsafeCompletePollers","hub","subscribers","subscription","pollers","keepPolling","nullPoller","empty","isEmpty","poller","dequeue","subPollerPair","remove","add","pollResult","poll","enqueueAll","tsplus_module_2","prepend","tsplus_module_1","unsafeDequeueAll","tsplus_module_3","unsafeSucceed","fileName_1","unsafeOnHubEmptySpace","unsafeCompleteSubscribers","forEach","first","second","BackPressure","publishers","unbounded","handleSurplus","as","isShutdown","tsplus_module_5","flatMap","fiberId","defer","future","tsplus_module_4","unsafeMake","tsplus_module_6","onInterrupt","succeed","unsafeRemove","unsafeOffer","get","interrupt","wait","shutdown","self","map","tsplus_module_7","foreachConcurrentDiscard","_","last","interruptAs","unit","isFull","publisher","published","publish","it","Symbol","iterator","curr","next","done","enqueue","value","filter","a","Dropping","_hub","_subscribers","_as","_isShutdown","succeedNow","Sliding","unsafeSlidingPublish","capacity","loop","slide","pub","UnsafeSubscription","shutdownHook","shutdownFlag","strategy","constructor","awaitShutdown","set","whenIO","succeed_","undefined","zipRight","unsubscribe","foreachConcurrent","fiber","unsafeSize","tsplus_module_8","nothing","just","size","offer","offerAll","take","message","takeAll","tsplus_module_9","unsafePollAll","tsplus_module_10","takeUpTo","n","unsafePollN","makeSubscription","unsafeMakeSubscription","subscribe","make","subscribersHashSet","UnsafeHub","scope","uninterruptible","close","tsplus_module_11","tsplus_module_14","acquireRelease","tap","tsplus_module_13","addFinalizer","tsplus_module_12","tsplus_module_15","single","publishAll","surplus","unsafeMakeHub","unsafeCoerce","makeHubInternal"],"sources":["../../_src/Hub/internal.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,7 +1,19 @@
1
1
  import * as tsplus_module_1 from "@fncts/io/IO/api";
2
- import * as tsplus_module_2 from "@fncts/io/IO/api/foreachConcurrent";
3
- import * as tsplus_module_3 from "@fncts/io/IO/api/concurrency";
4
- import * as tsplus_module_4 from "@fncts/base/data/ExecutionStrategy";
2
+ import * as tsplus_module_2 from "@fncts/base/collection/Iterable/api";
3
+ import * as tsplus_module_3 from "@fncts/io/IO/api/foreachConcurrent";
4
+ import * as tsplus_module_4 from "@fncts/io/IO/api/concurrency";
5
+ import * as tsplus_module_5 from "@fncts/base/data/ExecutionStrategy";
6
+ /**
7
+ * Applies the function `f` to each element of the `Iterable<A>` in parallel,
8
+ * and returns the results in a new `Conc<B>`.
9
+ *
10
+ * For a sequential version of this method, see `foreach`.
11
+ *
12
+ * @tsplus static fncts.io.IOOps foreachWithIndexDiscardExec
13
+ */
14
+ export function foreachWithIndexDiscardExec(as, es, f, __tsplusTrace) {
15
+ return tsplus_module_5.match_(() => tsplus_module_1.foreachWithIndexDiscard(as, f, __tsplusTrace), () => tsplus_module_4.withConcurrencyUnboundedMask(restore => tsplus_module_3.foreachConcurrent(tsplus_module_2.zipWithIndex(as), ([i, a]) => restore(f(i, a)), __tsplusTrace)), fiberBound => tsplus_module_4.withConcurrencyMask(fiberBound, restore => tsplus_module_3.foreachConcurrent(tsplus_module_2.zipWithIndex(as), ([i, a]) => restore(f(i, a)), __tsplusTrace)))(es);
16
+ }
5
17
  /**
6
18
  * Applies the function `f` to each element of the `Iterable<A>` in parallel,
7
19
  * and returns the results in a new `Conc<B>`.
@@ -11,6 +23,17 @@ import * as tsplus_module_4 from "@fncts/base/data/ExecutionStrategy";
11
23
  * @tsplus static fncts.io.IOOps foreachExec
12
24
  */
13
25
  export function foreachExec(as, es, f, __tsplusTrace) {
14
- return tsplus_module_4.match_(() => tsplus_module_1.foreach(as, f, __tsplusTrace), () => tsplus_module_3.withConcurrencyUnboundedMask(restore => tsplus_module_2.foreachConcurrent(as, a => restore(f(a)), __tsplusTrace)), fiberBound => tsplus_module_3.withConcurrencyMask(fiberBound, restore => tsplus_module_2.foreachConcurrent(as, a => restore(f(a)), __tsplusTrace)))(es);
26
+ return tsplus_module_5.match_(() => tsplus_module_1.foreach(as, f, __tsplusTrace), () => tsplus_module_4.withConcurrencyUnboundedMask(restore => tsplus_module_3.foreachConcurrent(as, a => restore(f(a)), __tsplusTrace)), fiberBound => tsplus_module_4.withConcurrencyMask(fiberBound, restore => tsplus_module_3.foreachConcurrent(as, a => restore(f(a)), __tsplusTrace)))(es);
27
+ }
28
+ /**
29
+ * Applies the function `f` to each element of the `Iterable<A>` in parallel,
30
+ * and returns the results in a new `Conc<B>`.
31
+ *
32
+ * For a sequential version of this method, see `foreach`.
33
+ *
34
+ * @tsplus static fncts.io.IOOps foreachExecDiscard
35
+ */
36
+ export function foreachDiscardExec(as, es, f, __tsplusTrace) {
37
+ return tsplus_module_5.match_(() => tsplus_module_1.foreachDiscard(as, f, __tsplusTrace), () => tsplus_module_4.withConcurrencyUnboundedMask(restore => tsplus_module_3.foreachConcurrentDiscard(as, a => restore(f(a)), __tsplusTrace)), fiberBound => tsplus_module_4.withConcurrencyMask(fiberBound, restore => tsplus_module_3.foreachConcurrentDiscard(as, a => restore(f(a)), __tsplusTrace)))(es);
15
38
  }
16
39
  //# sourceMappingURL=foreachExec.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"foreachExec.mjs","names":["foreachExec","as","es","f","__tsplusTrace","tsplus_module_4","match_","tsplus_module_1","foreach","tsplus_module_3","withConcurrencyUnboundedMask","restore","tsplus_module_2","foreachConcurrent","a","fiberBound","withConcurrencyMask"],"sources":["../../../_src/IO/api/foreachExec.ts"],"sourcesContent":[null],"mappings":";;;;AAAA;;;;;;;;AAQA,OAAM,SAAUA,WAAWA,CACzBC,EAAe,EACfC,EAAqB,EACrBC,CAAwB,EACxBC,aAAsB;EAEtB,OAAOC,eAAA,CAAAC,MAAA,CACL,MAAMC,eAAA,CAAAC,OAAA,CAAWP,EAAE,EAAEE,CAAC,EAHxBC,aAAA,CAGyB,EACvB,MAAMK,eAAA,CAAAC,4BAAA,CAAiCC,OAAO,IAAKC,eAAA,CAAAC,iBAAA,CAAqBZ,EAAE,EAAGa,CAAC,IAAKH,OAAO,CAACR,CAAC,CAACW,CAAC,CAAC,CAAC,EAJlGV,aAAA,CAImG,CAAC,EACjGW,UAAU,IAAKN,eAAA,CAAAO,mBAAA,CAAuBD,UAAU,EAAGJ,OAAO,IAAKC,eAAA,CAAAC,iBAAA,CAAqBZ,EAAE,EAAGa,CAAC,IAAKH,OAAO,CAACR,CAAC,CAACW,CAAC,CAAC,CAAC,EAL/GV,aAAA,CAKgH,CAAC,EAH1GF,EAAE,CAIR;AACH","ignoreList":[]}
1
+ {"version":3,"file":"foreachExec.mjs","names":["foreachWithIndexDiscardExec","as","es","f","__tsplusTrace","tsplus_module_5","match_","tsplus_module_1","foreachWithIndexDiscard","tsplus_module_4","withConcurrencyUnboundedMask","restore","tsplus_module_3","foreachConcurrent","tsplus_module_2","zipWithIndex","i","a","fiberBound","withConcurrencyMask","foreachExec","foreach","foreachDiscardExec","foreachDiscard","foreachConcurrentDiscard"],"sources":["../../../_src/IO/api/foreachExec.ts"],"sourcesContent":[null],"mappings":";;;;;AAAA;;;;;;;;AAQA,OAAM,SAAUA,2BAA2BA,CACzCC,EAAe,EACfC,EAAqB,EACrBC,CAAuC,EACvCC,aAAsB;EAEtB,OAAOC,eAAA,CAAAC,MAAA,CACL,MAAMC,eAAA,CAAAC,uBAAA,CAA2BP,EAAE,EAAEE,CAAC,EAHxCC,aAAA,CAGyC,EACvC,MACEK,eAAA,CAAAC,4BAAA,CAAiCC,OAAO,IAAKC,eAAA,CAAAC,iBAAA,CAAAC,eAAA,CAAAC,YAAA,CAAqBd,EAAE,GAAe,CAAC,CAACe,CAAC,EAAEC,CAAC,CAAC,KAAKN,OAAO,CAACR,CAAC,CAACa,CAAC,EAAEC,CAAC,CAAC,CAAC,EALnHb,aAAA,CAKoH,CAAC,EAClHc,UAAU,IACTT,eAAA,CAAAU,mBAAA,CAAuBD,UAAU,EAAGP,OAAO,IACzCC,eAAA,CAAAC,iBAAA,CAAAC,eAAA,CAAAC,YAAA,CAAqBd,EAAE,GAAe,CAAC,CAACe,CAAC,EAAEC,CAAC,CAAC,KAAKN,OAAO,CAACR,CAAC,CAACa,CAAC,EAAEC,CAAC,CAAC,CAAC,EARxEb,aAAA,CAQyE,CACpE,EAPEF,EAAE,CAQR;AACH;AAEA;;;;;;;;AAQA,OAAM,SAAUkB,WAAWA,CACzBnB,EAAe,EACfC,EAAqB,EACrBC,CAAwB,EACxBC,aAAsB;EAEtB,OAAOC,eAAA,CAAAC,MAAA,CACL,MAAMC,eAAA,CAAAc,OAAA,CAAWpB,EAAE,EAAEE,CAAC,EAHxBC,aAAA,CAGyB,EACvB,MAAMK,eAAA,CAAAC,4BAAA,CAAiCC,OAAO,IAAKC,eAAA,CAAAC,iBAAA,CAAqBZ,EAAE,EAAGgB,CAAC,IAAKN,OAAO,CAACR,CAAC,CAACc,CAAC,CAAC,CAAC,EAJlGb,aAAA,CAImG,CAAC,EACjGc,UAAU,IAAKT,eAAA,CAAAU,mBAAA,CAAuBD,UAAU,EAAGP,OAAO,IAAKC,eAAA,CAAAC,iBAAA,CAAqBZ,EAAE,EAAGgB,CAAC,IAAKN,OAAO,CAACR,CAAC,CAACc,CAAC,CAAC,CAAC,EAL/Gb,aAAA,CAKgH,CAAC,EAH1GF,EAAE,CAIR;AACH;AAEA;;;;;;;;AAQA,OAAM,SAAUoB,kBAAkBA,CAChCrB,EAAe,EACfC,EAAqB,EACrBC,CAAwB,EACxBC,aAAsB;EAEtB,OAAOC,eAAA,CAAAC,MAAA,CACL,MAAMC,eAAA,CAAAgB,cAAA,CAAkBtB,EAAE,EAAEE,CAAC,EAH/BC,aAAA,CAGgC,EAC9B,MAAMK,eAAA,CAAAC,4BAAA,CAAiCC,OAAO,IAAKC,eAAA,CAAAY,wBAAA,CAA4BvB,EAAE,EAAGgB,CAAC,IAAKN,OAAO,CAACR,CAAC,CAACc,CAAC,CAAC,CAAC,EAJzGb,aAAA,CAI0G,CAAC,EACxGc,UAAU,IACTT,eAAA,CAAAU,mBAAA,CAAuBD,UAAU,EAAGP,OAAO,IAAKC,eAAA,CAAAY,wBAAA,CAA4BvB,EAAE,EAAGgB,CAAC,IAAKN,OAAO,CAACR,CAAC,CAACc,CAAC,CAAC,CAAC,EANxGb,aAAA,CAMyG,CAAC,EAJnGF,EAAE,CAKR;AACH","ignoreList":[]}
@@ -23,15 +23,16 @@ export function transplant(f, __tsplusTrace) {
23
23
  }, __tsplusTrace);
24
24
  }
25
25
  export class Grafter {
26
+ scope;
26
27
  constructor(scope) {
27
28
  this.scope = scope;
28
- this.graft = (io, __tsplusTrace) => tsplus_module_5.locally(tsplus_module_1.forkScopeOverride, tsplus_module_4.just(this.scope, fileName_1 + ":23:44"), fileName_1 + ":23:39")(io);
29
- this.graftOnExit = (io, __tsplusTrace) => this.graftOnExitWith(io, () => tsplus_module_3.unit, fileName_1 + ":26:25");
30
- this.graftOnExitWith = (io, ensuring, __tsplusTrace) => tsplus_module_6.uninterruptibleMask(restore => tsplus_module_3.exitWith(exit => tsplus_module_3.withFiberRuntime(fiber => {
31
- fiber.transferChildren(this.scope);
32
- ensuring(exit);
33
- return exit;
34
- }, fileName_1 + ":35:28"), fileName_1 + ":34:27")(restore(io, fileName_1 + ":34:14")), fileName_1 + ":33:27");
35
29
  }
30
+ graft = (io, __tsplusTrace) => tsplus_module_5.locally(tsplus_module_1.forkScopeOverride, tsplus_module_4.just(this.scope, fileName_1 + ":23:44"), fileName_1 + ":23:39")(io);
31
+ graftOnExit = (io, __tsplusTrace) => this.graftOnExitWith(io, () => tsplus_module_3.unit, fileName_1 + ":26:25");
32
+ graftOnExitWith = (io, ensuring, __tsplusTrace) => tsplus_module_6.uninterruptibleMask(restore => tsplus_module_3.exitWith(exit => tsplus_module_3.withFiberRuntime(fiber => {
33
+ fiber.transferChildren(this.scope);
34
+ ensuring(exit);
35
+ return exit;
36
+ }, fileName_1 + ":35:28"), fileName_1 + ":34:27")(restore(io, fileName_1 + ":34:14")), fileName_1 + ":33:27");
36
37
  }
37
38
  //# sourceMappingURL=transplant.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"transplant.mjs","names":["transplant","f","__tsplusTrace","tsplus_module_3","withFiberRuntime","fiberState","scopeOverride","getFiberRef","tsplus_module_1","forkScopeOverride","scope","tsplus_module_2","getOrElse","Grafter","constructor","graft","io","tsplus_module_5","locally","tsplus_module_4","just","fileName_1","graftOnExit","graftOnExitWith","unit","ensuring","tsplus_module_6","uninterruptibleMask","restore","exitWith","exit","fiber","transferChildren"],"sources":["../../../_src/IO/api/transplant.ts"],"sourcesContent":[null],"mappings":";;;;;;;AAAA;;;;;;;;;;AAUA,OAAM,SAAUA,UAAUA,CAAUC,CAA8B,EAAEC,aAAsB;EACxF,OAAOC,eAAA,CAAAC,gBAAA,CAAqBC,UAAU,IAAI;IACxC,MAAMC,aAAa,GAAGD,UAAU,CAACE,WAAW,CAAAC,eAAA,CAAAC,iBAAA,CAA4B;IACxE,MAAMC,KAAK,GAAWC,eAAA,CAAAC,SAAA,OAAwBP,UAAU,CAACK,KAAK,EAAxCJ,aAAa,CAA4B;IAC/D,OAAOL,CAAC,CAAC,IAAIY,OAAO,CAACH,KAAK,CAAC,CAAC;EAC9B,CAAC,EALiER,aAAA,CAKhE;AACJ;AAEA,OAAM,MAAOW,OAAO;EAClBC,YAA6BJ,KAAiB;IAAjB,KAAAA,KAAK,GAALA,KAAK;IAElC,KAAAK,KAAK,GAAG,CAAUC,EAAe,EAAEd,aAAsB,KACvDe,eAAA,CAAAC,OAAA,CAAAV,eAAA,CAAAC,iBAAA,EAAmCU,eAAA,CAAAC,IAAA,CAAK,IAAI,CAACV,KAAK,EAAAW,UAAA,YAAC,EAAAA,UAAA,YAAC,CAACL,EAAE,CAAC;IAE1D,KAAAM,WAAW,GAAG,CAAUN,EAAe,EAAEd,aAAsB,KAC7D,IAAI,CAACqB,eAAe,CAACP,EAAE,EAAE,MAAKb,eAAA,CAAAqB,IAAQ,EAAAH,UAAA,YAAC;IAEzC,KAAAE,eAAe,GAAG,CAChBP,EAAe,EACfS,QAAoC,EACpCvB,aAAsB,KAEtBwB,eAAA,CAAAC,mBAAA,CAAwBC,OAAO,IAC7BzB,eAAA,CAAA0B,QAAA,CAAsBC,IAAI,IACxB3B,eAAA,CAAAC,gBAAA,CAAqB2B,KAAK,IAAI;MAC5BA,KAAK,CAACC,gBAAgB,CAAC,IAAI,CAACtB,KAAK,CAAC;MAClCe,QAAQ,CAACK,IAAI,CAAC;MACd,OAAOA,IAAI;IACb,CAAC,EAAAT,UAAA,YAAC,EAAAA,UAAA,aALJO,OAAO,CAACZ,EAAE,EAAAK,UAAA,YAAC,CAMV,EAAAA,UAAA,YACF;EArB8C","ignoreList":[]}
1
+ {"version":3,"file":"transplant.mjs","names":["transplant","f","__tsplusTrace","tsplus_module_3","withFiberRuntime","fiberState","scopeOverride","getFiberRef","tsplus_module_1","forkScopeOverride","scope","tsplus_module_2","getOrElse","Grafter","constructor","graft","io","tsplus_module_5","locally","tsplus_module_4","just","fileName_1","graftOnExit","graftOnExitWith","unit","ensuring","tsplus_module_6","uninterruptibleMask","restore","exitWith","exit","fiber","transferChildren"],"sources":["../../../_src/IO/api/transplant.ts"],"sourcesContent":[null],"mappings":";;;;;;;AAAA;;;;;;;;;;AAUA,OAAM,SAAUA,UAAUA,CAAUC,CAA8B,EAAEC,aAAsB;EACxF,OAAOC,eAAA,CAAAC,gBAAA,CAAqBC,UAAU,IAAI;IACxC,MAAMC,aAAa,GAAGD,UAAU,CAACE,WAAW,CAAAC,eAAA,CAAAC,iBAAA,CAA4B;IACxE,MAAMC,KAAK,GAAWC,eAAA,CAAAC,SAAA,OAAwBP,UAAU,CAACK,KAAK,EAAxCJ,aAAa,CAA4B;IAC/D,OAAOL,CAAC,CAAC,IAAIY,OAAO,CAACH,KAAK,CAAC,CAAC;EAC9B,CAAC,EALiER,aAAA,CAKhE;AACJ;AAEA,OAAM,MAAOW,OAAO;EACWH,KAAA;EAA7BI,YAA6BJ,KAAiB;IAAjB,KAAAA,KAAK,GAALA,KAAK;EAAe;EAEjDK,KAAK,GAAGA,CAAUC,EAAe,EAAEd,aAAsB,KACvDe,eAAA,CAAAC,OAAA,CAAAV,eAAA,CAAAC,iBAAA,EAAmCU,eAAA,CAAAC,IAAA,CAAK,IAAI,CAACV,KAAK,EAAAW,UAAA,YAAC,EAAAA,UAAA,YAAC,CAACL,EAAE,CAAC;EAE1DM,WAAW,GAAGA,CAAUN,EAAe,EAAEd,aAAsB,KAC7D,IAAI,CAACqB,eAAe,CAACP,EAAE,EAAE,MAAKb,eAAA,CAAAqB,IAAQ,EAAAH,UAAA,YAAC;EAEzCE,eAAe,GAAGA,CAChBP,EAAe,EACfS,QAAoC,EACpCvB,aAAsB,KAEtBwB,eAAA,CAAAC,mBAAA,CAAwBC,OAAO,IAC7BzB,eAAA,CAAA0B,QAAA,CAAsBC,IAAI,IACxB3B,eAAA,CAAAC,gBAAA,CAAqB2B,KAAK,IAAI;IAC5BA,KAAK,CAACC,gBAAgB,CAAC,IAAI,CAACtB,KAAK,CAAC;IAClCe,QAAQ,CAACK,IAAI,CAAC;IACd,OAAOA,IAAI;EACb,CAAC,EAAAT,UAAA,YAAC,EAAAA,UAAA,aALJO,OAAO,CAACZ,EAAE,EAAAK,UAAA,YAAC,CAMV,EAAAA,UAAA,YACF","ignoreList":[]}
package/_mjs/IO/api.mjs CHANGED
@@ -531,7 +531,7 @@ function foldLeft_1(as, b, f, __tsplusTrace) {
531
531
  * @tsplus fluent fncts.Iterable foldMapIO
532
532
  */
533
533
  export function foldMap(ios, f, /** @tsplus auto */M) {
534
- return foldLeft_1(ios, M.nat, (m, a) => map_1(a => M.combine(f(a))(m), fileName_1 + ":645:49")(a), fileName_1 + ":645:21");
534
+ return foldLeft_1(ios, M.nat, (m, a) => map_1(a => M.combine(f(a))(m), fileName_1 + ":640:49")(a), fileName_1 + ":640:21");
535
535
  }
536
536
  /**
537
537
  * Performs a right-associative fold of an `Iterable<A>`
@@ -824,7 +824,7 @@ function iterate_1(initial, cont, body, __tsplusTrace) {
824
824
  * @tsplus getter fncts.io.IO just
825
825
  */
826
826
  export function just(self) {
827
- return matchIO_1(e => fail_1(() => tsplus_module_2.just(e, fileName_1 + ":1034:24"), fileName_1 + ":1034:19"), a => tsplus_module_17.match(() => fail_1(() => tsplus_module_2.nothing(fileName_1 + ":1035:41"), fileName_1 + ":1035:33"), succeedNow_1)(a), fileName_1 + ":1033:22")(self);
827
+ return matchIO_1(e => fail_1(() => tsplus_module_2.just(e, fileName_1 + ":1029:24"), fileName_1 + ":1029:19"), a => tsplus_module_17.match(() => fail_1(() => tsplus_module_2.nothing(fileName_1 + ":1030:41"), fileName_1 + ":1030:33"), succeedNow_1)(a), fileName_1 + ":1028:22")(self);
828
828
  }
829
829
  /**
830
830
  * Returns an IO with the value on the left part.
@@ -1037,7 +1037,7 @@ export function show(message, options, __tsplusTrace) {
1037
1037
  /**
1038
1038
  * @tsplus static fncts.io.IOOps nothing
1039
1039
  */
1040
- const nothing_1 = /*#__PURE__*/succeedNow_1(/*#__PURE__*/tsplus_module_2.nothing(fileName_1 + ":1311:45"), fileName_1 + ":1311:37");
1040
+ const nothing_1 = /*#__PURE__*/succeedNow_1(/*#__PURE__*/tsplus_module_2.nothing(fileName_1 + ":1306:45"), fileName_1 + ":1306:37");
1041
1041
  export const nothing = nothing_1;
1042
1042
  /**
1043
1043
  * Returns an `IO` that submerges an `Either` into the `IO`.
@@ -1513,7 +1513,7 @@ function tryOrElse_1(that, onSuccess, __tsplusTrace) {
1513
1513
  /**
1514
1514
  * @tsplus static fncts.io.IOOps unit
1515
1515
  */
1516
- const unit_1 = /*#__PURE__*/succeedNow_1(undefined, fileName_1 + ":1866:45");
1516
+ const unit_1 = /*#__PURE__*/succeedNow_1(undefined, fileName_1 + ":1861:45");
1517
1517
  export const unit = unit_1;
1518
1518
  /**
1519
1519
  * Converts an option on errors into an option on values.
@@ -1663,6 +1663,11 @@ export const __adapter = _ => {
1663
1663
  return _;
1664
1664
  };
1665
1665
  export class GenIO {
1666
+ effect;
1667
+ _trace;
1668
+ _R;
1669
+ _E;
1670
+ _A;
1666
1671
  constructor(effect, _trace) {
1667
1672
  this.effect = effect;
1668
1673
  this._trace = _trace;