@fncts/io 0.0.30 → 0.0.32

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 (149) hide show
  1. package/Channel/api/runScoped.d.ts +1 -0
  2. package/Channel/api.d.ts +1 -0
  3. package/Channel/internal/ChannelExecutor.d.ts +2 -2
  4. package/Fiber/FiberMessage.d.ts +5 -5
  5. package/IO/api/blocking.d.ts +7 -0
  6. package/IO/api/provideSomeLayer.d.ts +1 -2
  7. package/IO/api/zipConcurrent.d.ts +2 -1
  8. package/IO/runtime.d.ts +4 -2
  9. package/IO.d.ts +1 -0
  10. package/Ref/Synchronized/definition.d.ts +3 -3
  11. package/Semaphore.d.ts +30 -0
  12. package/Stream/api.d.ts +24 -4
  13. package/SubscriptionRef.d.ts +3 -3
  14. package/_cjs/Channel/api/mapOutConcurrentIO.cjs +14 -16
  15. package/_cjs/Channel/api/mapOutConcurrentIO.cjs.map +1 -1
  16. package/_cjs/Channel/api/mergeAllWith.cjs +30 -32
  17. package/_cjs/Channel/api/mergeAllWith.cjs.map +1 -1
  18. package/_cjs/Channel/api/runScoped.cjs +19 -3
  19. package/_cjs/Channel/api/runScoped.cjs.map +1 -1
  20. package/_cjs/Channel/api/toPull.cjs +1 -1
  21. package/_cjs/Channel/api/toPull.cjs.map +1 -1
  22. package/_cjs/Channel/api.cjs +3 -2
  23. package/_cjs/Channel/api.cjs.map +1 -1
  24. package/_cjs/Channel/internal/ChannelExecutor.cjs +61 -52
  25. package/_cjs/Channel/internal/ChannelExecutor.cjs.map +1 -1
  26. package/_cjs/Fiber/FiberMessage.cjs +12 -11
  27. package/_cjs/Fiber/FiberMessage.cjs.map +1 -1
  28. package/_cjs/Fiber/FiberRuntime.cjs +28 -27
  29. package/_cjs/Fiber/FiberRuntime.cjs.map +1 -1
  30. package/_cjs/FiberScope/definition.cjs +2 -2
  31. package/_cjs/FiberScope/definition.cjs.map +1 -1
  32. package/_cjs/Hub/api.cjs.map +1 -1
  33. package/_cjs/{RuntimeConfig.cjs → IO/api/blocking.cjs} +13 -5
  34. package/_cjs/IO/api/blocking.cjs.map +1 -0
  35. package/_cjs/IO/api/provideSomeLayer.cjs.map +1 -1
  36. package/_cjs/IO/api/raceWith.cjs +9 -12
  37. package/_cjs/IO/api/raceWith.cjs.map +1 -1
  38. package/_cjs/IO/api/stateful.cjs +3 -3
  39. package/_cjs/IO/api/stateful.cjs.map +1 -1
  40. package/_cjs/IO/api/withChildren.cjs +5 -4
  41. package/_cjs/IO/api/withChildren.cjs.map +1 -1
  42. package/_cjs/IO/api/zipConcurrent.cjs +23 -23
  43. package/_cjs/IO/api/zipConcurrent.cjs.map +1 -1
  44. package/_cjs/IO/runtime.cjs +8 -8
  45. package/_cjs/IO/runtime.cjs.map +1 -1
  46. package/_cjs/IO.cjs +11 -0
  47. package/_cjs/IO.cjs.map +1 -1
  48. package/_cjs/Queue/api/filterInputIO.cjs.map +1 -1
  49. package/_cjs/Queue/api/filterOutputIO.cjs.map +1 -1
  50. package/_cjs/Ref/Synchronized/constructors.cjs +4 -5
  51. package/_cjs/Ref/Synchronized/constructors.cjs.map +1 -1
  52. package/_cjs/Ref/Synchronized/definition.cjs +1 -2
  53. package/_cjs/Ref/Synchronized/definition.cjs.map +1 -1
  54. package/_cjs/Semaphore.cjs +90 -0
  55. package/_cjs/Semaphore.cjs.map +1 -0
  56. package/_cjs/Stream/api.cjs +101 -61
  57. package/_cjs/Stream/api.cjs.map +1 -1
  58. package/_cjs/SubscriptionRef.cjs +2 -3
  59. package/_cjs/SubscriptionRef.cjs.map +1 -1
  60. package/_cjs/internal/BackgroundScheduler.cjs +199 -0
  61. package/_cjs/internal/BackgroundScheduler.cjs.map +1 -0
  62. package/_mjs/Cached/definition.mjs.map +1 -1
  63. package/_mjs/Channel/api/mapOutConcurrentIO.mjs +14 -16
  64. package/_mjs/Channel/api/mapOutConcurrentIO.mjs.map +1 -1
  65. package/_mjs/Channel/api/mergeAllWith.mjs +30 -32
  66. package/_mjs/Channel/api/mergeAllWith.mjs.map +1 -1
  67. package/_mjs/Channel/api/runScoped.mjs +19 -3
  68. package/_mjs/Channel/api/runScoped.mjs.map +1 -1
  69. package/_mjs/Channel/api/toPull.mjs +1 -1
  70. package/_mjs/Channel/api/toPull.mjs.map +1 -1
  71. package/_mjs/Channel/api.mjs +3 -2
  72. package/_mjs/Channel/api.mjs.map +1 -1
  73. package/_mjs/Channel/internal/ChannelExecutor.mjs +61 -52
  74. package/_mjs/Channel/internal/ChannelExecutor.mjs.map +1 -1
  75. package/_mjs/Fiber/FiberMessage.mjs +5 -5
  76. package/_mjs/Fiber/FiberMessage.mjs.map +1 -1
  77. package/_mjs/Fiber/FiberRuntime.mjs +28 -27
  78. package/_mjs/Fiber/FiberRuntime.mjs.map +1 -1
  79. package/_mjs/FiberScope/definition.mjs +2 -2
  80. package/_mjs/FiberScope/definition.mjs.map +1 -1
  81. package/_mjs/Hub/api.mjs.map +1 -1
  82. package/_mjs/IO/api/blocking.mjs +12 -0
  83. package/_mjs/IO/api/blocking.mjs.map +1 -0
  84. package/_mjs/IO/api/provideSomeLayer.mjs.map +1 -1
  85. package/_mjs/IO/api/raceWith.mjs +9 -12
  86. package/_mjs/IO/api/raceWith.mjs.map +1 -1
  87. package/_mjs/IO/api/stateful.mjs +3 -3
  88. package/_mjs/IO/api/stateful.mjs.map +1 -1
  89. package/_mjs/IO/api/withChildren.mjs +5 -4
  90. package/_mjs/IO/api/withChildren.mjs.map +1 -1
  91. package/_mjs/IO/api/zipConcurrent.mjs +23 -23
  92. package/_mjs/IO/api/zipConcurrent.mjs.map +1 -1
  93. package/_mjs/IO/runtime.mjs +6 -6
  94. package/_mjs/IO/runtime.mjs.map +1 -1
  95. package/_mjs/IO.mjs +1 -0
  96. package/_mjs/IO.mjs.map +1 -1
  97. package/_mjs/Queue/api/filterInputIO.mjs.map +1 -1
  98. package/_mjs/Queue/api/filterOutputIO.mjs.map +1 -1
  99. package/_mjs/Ref/Synchronized/constructors.mjs +4 -5
  100. package/_mjs/Ref/Synchronized/constructors.mjs.map +1 -1
  101. package/_mjs/Ref/Synchronized/definition.mjs +1 -2
  102. package/_mjs/Ref/Synchronized/definition.mjs.map +1 -1
  103. package/_mjs/Semaphore.mjs +78 -0
  104. package/_mjs/Semaphore.mjs.map +1 -0
  105. package/_mjs/Stream/api.mjs +93 -57
  106. package/_mjs/Stream/api.mjs.map +1 -1
  107. package/_mjs/SubscriptionRef.mjs +2 -3
  108. package/_mjs/SubscriptionRef.mjs.map +1 -1
  109. package/_mjs/internal/BackgroundScheduler.mjs +191 -0
  110. package/_mjs/internal/BackgroundScheduler.mjs.map +1 -0
  111. package/_src/Cached/definition.ts +1 -1
  112. package/_src/Channel/api/mapOutConcurrentIO.ts +1 -1
  113. package/_src/Channel/api/mergeAllWith.ts +1 -1
  114. package/_src/Channel/api/runScoped.ts +30 -5
  115. package/_src/Channel/api/toPull.ts +1 -1
  116. package/_src/Channel/api.ts +1 -0
  117. package/_src/Channel/internal/ChannelExecutor.ts +24 -20
  118. package/_src/Fiber/FiberMessage.ts +5 -5
  119. package/_src/Fiber/FiberRuntime.ts +1 -1
  120. package/_src/FiberRefs/api.ts +1 -1
  121. package/_src/Hub/api.ts +1 -1
  122. package/_src/IO/api/blocking.ts +9 -0
  123. package/_src/IO/api/provideSomeLayer.ts +1 -3
  124. package/_src/IO/api/raceWith.ts +1 -3
  125. package/_src/IO/api/stateful.ts +1 -1
  126. package/_src/IO/api/zipConcurrent.ts +26 -30
  127. package/_src/IO/runtime.ts +4 -4
  128. package/_src/IO.ts +1 -0
  129. package/_src/Queue/api/filterInputIO.ts +1 -1
  130. package/_src/Queue/api/filterOutputIO.ts +1 -1
  131. package/_src/Ref/Synchronized/constructors.ts +2 -2
  132. package/_src/Ref/Synchronized/definition.ts +1 -1
  133. package/_src/Semaphore.ts +81 -0
  134. package/_src/State/definition.ts +1 -1
  135. package/_src/Stream/api.ts +58 -7
  136. package/_src/Subject/Atomic.ts +1 -1
  137. package/_src/SubscriptionRef.ts +2 -2
  138. package/_src/global.ts +4 -4
  139. package/_src/index.ts +2 -2
  140. package/_src/internal/BackgroundScheduler.ts +276 -0
  141. package/global.d.ts +4 -4
  142. package/index.d.ts +2 -2
  143. package/internal/BackgroundScheduler.d.ts +47 -0
  144. package/package.json +3 -3
  145. package/RuntimeConfig.d.ts +0 -11
  146. package/_cjs/RuntimeConfig.cjs.map +0 -1
  147. package/_mjs/RuntimeConfig.mjs +0 -3
  148. package/_mjs/RuntimeConfig.mjs.map +0 -1
  149. package/_src/RuntimeConfig.ts +0 -6
@@ -35,6 +35,7 @@ exports.cross = cross;
35
35
  exports.crossWith = void 0;
36
36
  exports.debounce = debounce;
37
37
  exports.defaultIfEmpty = defaultIfEmpty;
38
+ exports.defer = defer;
38
39
  exports.distributedWith = distributedWith;
39
40
  exports.distributedWithDynamic = void 0;
40
41
  exports.drain = drain;
@@ -83,18 +84,18 @@ exports.mapConcatIO = mapConcatIO;
83
84
  exports.mapError = void 0;
84
85
  exports.mapErrorCause = mapErrorCause;
85
86
  exports.mapIO = void 0;
86
- exports.mapIOC = mapIOC;
87
+ exports.mapIOConcurrently = mapIOConcurrently;
88
+ exports.mapIOConcurrentlyUnordered = mapIOConcurrentlyUnordered;
87
89
  exports.mergeMap = exports.mergeEither = void 0;
88
90
  exports.mergeMapIO = mergeMapIO;
89
91
  exports.mergeWith = void 0;
90
- exports.mergeWithHandler = mergeWithHandler;
91
92
  exports.onError = onError;
92
93
  exports.orElse = void 0;
93
94
  exports.orElseEither = orElseEither;
94
95
  exports.orElseFail = orElseFail;
95
96
  exports.orElseOptional = orElseOptional;
96
97
  exports.orElseSucceed = orElseSucceed;
97
- exports.provideLayer = exports.provideEnvironment = exports.pipeThrough = void 0;
98
+ exports.provideLayer = exports.provideEnvironment = exports.pipeThroughChannelOrFail = exports.pipeThrough = void 0;
98
99
  exports.provideSomeLayer = provideSomeLayer;
99
100
  exports.rechunk = rechunk;
100
101
  exports.repeatIO = repeatIO;
@@ -104,7 +105,9 @@ exports.repeatValue = repeatValue;
104
105
  exports.run = void 0;
105
106
  exports.runCollect = runCollect;
106
107
  exports.runDrain = runDrain;
107
- exports.runScoped = exports.runIntoQueueScoped = exports.runIntoHubScoped = exports.runIntoElementsScoped_ = exports.runForeachScoped = void 0;
108
+ exports.runForeachScoped = void 0;
109
+ exports.runIntoElementsScoped_ = runIntoElementsScoped_;
110
+ exports.runScoped = exports.runIntoQueueScoped = exports.runIntoQueueElementsScoped = exports.runIntoHubScoped = void 0;
108
111
  exports.scan = scan;
109
112
  exports.scanIO = void 0;
110
113
  exports.scanReduce = scanReduce;
@@ -172,27 +175,25 @@ var tsplus_module_42 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/requir
172
175
  var tsplus_module_43 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Clock/api"));
173
176
  var tsplus_module_44 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/IO/api/transplant"));
174
177
  var tsplus_module_45 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/collection/immutable/HashMap/api"));
175
- var tsplus_module_46 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/TSemaphore/api"));
176
- var tsplus_module_47 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/TSemaphore/constructors"));
177
- var tsplus_module_48 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/STM/api/atomically"));
178
- var tsplus_module_49 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Sink/api"));
179
- var tsplus_module_50 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/Predicate/api"));
180
- var tsplus_module_51 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Fiber/api/poll"));
181
- var tsplus_module_52 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/IO/api/environment"));
182
- var tsplus_module_53 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/collection/immutable/Conc/findIO"));
183
- var tsplus_module_54 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/Exit/definition"));
184
- var tsplus_module_55 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Stream/internal/Pull"));
185
- var tsplus_module_56 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Queue/api/takeBetween"));
186
- var tsplus_module_57 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Channel/api/interruptWhen"));
187
- var tsplus_module_58 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Channel/api/mapOutConcurrentIO"));
188
- var tsplus_module_59 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Channel/api/mergeMap"));
189
- var tsplus_module_60 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Channel/internal/MergeDecision"));
190
- var tsplus_module_61 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Channel/api/mergeWith"));
191
- var tsplus_module_62 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Layer/MemoMap"));
192
- var tsplus_module_63 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Layer/api"));
193
- var tsplus_module_64 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Channel/api/runDrain"));
194
- var tsplus_module_65 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/exceptions"));
195
- var tsplus_module_66 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Channel/api/toPull"));
178
+ var tsplus_module_46 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Semaphore"));
179
+ var tsplus_module_47 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Sink/api"));
180
+ var tsplus_module_48 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/Predicate/api"));
181
+ var tsplus_module_49 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Fiber/api/poll"));
182
+ var tsplus_module_50 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/IO/api/environment"));
183
+ var tsplus_module_51 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/collection/immutable/Conc/findIO"));
184
+ var tsplus_module_52 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/Exit/definition"));
185
+ var tsplus_module_53 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Stream/internal/Pull"));
186
+ var tsplus_module_54 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Queue/api/takeBetween"));
187
+ var tsplus_module_55 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Channel/api/interruptWhen"));
188
+ var tsplus_module_56 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Channel/api/mapOutConcurrentIO"));
189
+ var tsplus_module_57 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Channel/api/mergeMap"));
190
+ var tsplus_module_58 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Channel/internal/MergeDecision"));
191
+ var tsplus_module_59 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Channel/api/mergeWith"));
192
+ var tsplus_module_60 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Layer/MemoMap"));
193
+ var tsplus_module_61 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Layer/api"));
194
+ var tsplus_module_62 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Channel/api/runDrain"));
195
+ var tsplus_module_63 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/exceptions"));
196
+ var tsplus_module_64 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Channel/api/toPull"));
196
197
  var _function = /*#__PURE__*/require("@fncts/base/data/function");
197
198
  var _definition2 = /*#__PURE__*/require("./definition.cjs");
198
199
  var _Handoff2 = /*#__PURE__*/require("./internal/Handoff.cjs");
@@ -296,6 +297,8 @@ const orElse = orElse_1;
296
297
  exports.orElse = orElse;
297
298
  const pipeThrough = pipeThrough_1;
298
299
  exports.pipeThrough = pipeThrough;
300
+ const pipeThroughChannelOrFail = pipeThroughChannelOrFail_1;
301
+ exports.pipeThroughChannelOrFail = pipeThroughChannelOrFail;
299
302
  const provideEnvironment = provideEnvironment_1;
300
303
  exports.provideEnvironment = provideEnvironment;
301
304
  const provideLayer = provideLayer_1;
@@ -308,10 +311,10 @@ const run = run_1;
308
311
  exports.run = run;
309
312
  const runForeachScoped = runForeachScoped_1;
310
313
  exports.runForeachScoped = runForeachScoped;
311
- const runIntoElementsScoped_ = runIntoElementsScoped_1;
312
- exports.runIntoElementsScoped_ = runIntoElementsScoped_;
313
314
  const runIntoQueueScoped = runIntoQueueScoped_1;
314
315
  exports.runIntoQueueScoped = runIntoQueueScoped;
316
+ const runIntoQueueElementsScoped = runIntoQueueElementsScoped_1;
317
+ exports.runIntoQueueElementsScoped = runIntoQueueElementsScoped;
315
318
  const runIntoHubScoped = runIntoHubScoped_1;
316
319
  exports.runIntoHubScoped = runIntoHubScoped;
317
320
  const runScoped = runScoped_1;
@@ -793,7 +796,7 @@ function combine(that, s, f, __tsplusTrace) {
793
796
  };
794
797
  }
795
798
  function combineChunksProducer(handoff, latch, __tsplusTrace) {
796
- return tsplus_module_11.zipRight(tsplus_module_10.readWithCause(chunk => tsplus_module_11.zipRight(combineChunksProducer(handoff, latch, __tsplusTrace))(tsplus_module_10.fromIO(() => tsplus_module_5.offer(tsplus_module_27.chunk(chunk))(handoff))), cause => tsplus_module_10.fromIO(() => tsplus_module_5.offer(tsplus_module_27.failCause(cause))(handoff)), () => tsplus_module_11.zipRight(combineChunksProducer(handoff, latch, __tsplusTrace))(tsplus_module_10.fromIO(() => tsplus_module_5.offer(tsplus_module_27.end)(handoff)))))(tsplus_module_10.fromIO(() => tsplus_module_5.take(latch)));
799
+ return tsplus_module_11.zipRight(tsplus_module_10.readWithCause(chunk => tsplus_module_11.zipRight(combineChunksProducer(handoff, latch, __tsplusTrace))(tsplus_module_10.fromIO(() => tsplus_module_5.offer(tsplus_module_27.chunk(chunk))(handoff))), cause => tsplus_module_10.fromIO(() => tsplus_module_5.offer(tsplus_module_27.failCause(cause))(handoff)), () => tsplus_module_10.fromIO(() => tsplus_module_5.offer(tsplus_module_27.end)(handoff))))(tsplus_module_10.fromIO(() => tsplus_module_5.take(latch)));
797
800
  }
798
801
  /**
799
802
  * Combines the chunks from this stream and the specified stream by repeatedly applying the
@@ -906,6 +909,12 @@ function debounce(duration, __tsplusTrace) {
906
909
  }, __tsplusTrace)(tsplus_module_5.make()), __tsplusTrace), __tsplusTrace);
907
910
  };
908
911
  }
912
+ /**
913
+ * @tsplus static fncts.io.StreamOps defer
914
+ */
915
+ function defer(self) {
916
+ return new _definition2.Stream(tsplus_module_10.defer(() => self().channel));
917
+ }
909
918
  function defaultIfEmptyWriter(fb, __tsplusTrace) {
910
919
  return tsplus_module_10.readWith(i => tsplus_module_12.isEmpty(i) ? defaultIfEmptyWriter(fb, __tsplusTrace) : tsplus_module_11.zipRight(tsplus_module_10.id())(tsplus_module_10.writeNow(i)), tsplus_module_10.failNow, () => fb.channel);
911
920
  }
@@ -954,12 +963,12 @@ function distributedWithDynamic_1(maximumLag, decide, done = () => tsplus_module
954
963
  }
955
964
  }, __tsplusTrace)), __tsplusTrace)(tsplus_module_14.get(queuesRef, __tsplusTrace)), __tsplusTrace)(decide(a));
956
965
  return tsplus_module_1.flatMap(queuesRef => tsplus_module_1.map(add => add, __tsplusTrace)(tsplus_module_1.flatMap(queuesLock => tsplus_module_1.flatMap(newQueue => {
957
- const finalize = endTake => tsplus_module_46.withPermit(queuesLock, __tsplusTrace)(tsplus_module_1.asUnit(tsplus_module_1.flatMap(() => tsplus_module_1.flatMap(queues => tsplus_module_1.flatMap(() => tsplus_module_1.map(() => void 0, __tsplusTrace)(done(endTake)), __tsplusTrace)(tsplus_module_1.foreach(queues, queue => tsplus_module_1.catchJustCause(c => tsplus_module_25.interrupted(c) ? tsplus_module_3.just(tsplus_module_1.unit) : tsplus_module_3.nothing(), __tsplusTrace)(tsplus_module_28.offer(endTake, __tsplusTrace)(queue)), __tsplusTrace)), __tsplusTrace)(tsplus_module_1.map(map => tsplus_module_45.values(map), __tsplusTrace)(tsplus_module_14.get(queuesRef, __tsplusTrace))), __tsplusTrace)(tsplus_module_13.set(tsplus_module_1.flatMap(queue => tsplus_module_1.flatMap(() => {
966
+ const finalize = endTake => queuesLock.withPermit(tsplus_module_1.asUnit(tsplus_module_1.flatMap(() => tsplus_module_1.flatMap(queues => tsplus_module_1.flatMap(() => tsplus_module_1.map(() => void 0, __tsplusTrace)(done(endTake)), __tsplusTrace)(tsplus_module_1.foreach(queues, queue => tsplus_module_1.catchJustCause(c => tsplus_module_25.interrupted(c) ? tsplus_module_3.just(tsplus_module_1.unit) : tsplus_module_3.nothing(), __tsplusTrace)(tsplus_module_28.offer(endTake, __tsplusTrace)(queue)), __tsplusTrace)), __tsplusTrace)(tsplus_module_1.map(map => tsplus_module_45.values(map), __tsplusTrace)(tsplus_module_14.get(queuesRef, __tsplusTrace))), __tsplusTrace)(tsplus_module_13.set(tsplus_module_1.flatMap(queue => tsplus_module_1.flatMap(() => {
958
967
  const id = Symbol();
959
968
  return tsplus_module_1.map(() => (0, _function.tuple)(id, queue), __tsplusTrace)(tsplus_module_15.update(map => tsplus_module_45.set(id, queue)(map), __tsplusTrace)(queuesRef));
960
969
  }, __tsplusTrace)(tsplus_module_28.offer(endTake, __tsplusTrace)(queue)), __tsplusTrace)(tsplus_module_30.makeBounded(1, __tsplusTrace)), __tsplusTrace)(newQueue)), __tsplusTrace));
961
- return tsplus_module_1.map(() => tsplus_module_46.withPermit(queuesLock, __tsplusTrace)(tsplus_module_1.flatten(tsplus_module_14.get(newQueue, __tsplusTrace), __tsplusTrace)), __tsplusTrace)(tsplus_module_33.fork(tsplus_module_1.matchCauseIO(cause => finalize(tsplus_module_41.failCause(tsplus_module_25.map(tsplus_module_3.just)(cause))), () => finalize(tsplus_module_41.fail(tsplus_module_3.nothing())), __tsplusTrace)(runForeachScoped_1(offer(queuesRef), __tsplusTrace)(self)), __tsplusTrace));
962
- }, __tsplusTrace)(tsplus_module_6.make(() => tsplus_module_1.flatMap(queue => tsplus_module_1.flatMap(id => tsplus_module_1.map(() => (0, _function.tuple)(id, queue), __tsplusTrace)(tsplus_module_15.update(map => tsplus_module_45.set(id, queue)(map), __tsplusTrace)(queuesRef)), __tsplusTrace)(tsplus_module_1.succeed(() => Symbol(), __tsplusTrace)), __tsplusTrace)(tsplus_module_30.makeBounded(maximumLag, __tsplusTrace)), __tsplusTrace)), __tsplusTrace)(tsplus_module_48.atomically(tsplus_module_47.make(1, __tsplusTrace), __tsplusTrace))), __tsplusTrace)(tsplus_module_31.acquireRelease(() => tsplus_module_6.make(() => tsplus_module_45.empty(), __tsplusTrace), ref => tsplus_module_1.flatMap(qs => tsplus_module_1.foreach(tsplus_module_45.values(qs), q => tsplus_module_28.shutdown(q, __tsplusTrace), __tsplusTrace), __tsplusTrace)(tsplus_module_14.get(ref, __tsplusTrace)), __tsplusTrace));
970
+ return tsplus_module_1.map(() => queuesLock.withPermit(tsplus_module_1.flatten(tsplus_module_14.get(newQueue, __tsplusTrace), __tsplusTrace)), __tsplusTrace)(tsplus_module_33.fork(tsplus_module_1.matchCauseIO(cause => finalize(tsplus_module_41.failCause(tsplus_module_25.map(tsplus_module_3.just)(cause))), () => finalize(tsplus_module_41.fail(tsplus_module_3.nothing())), __tsplusTrace)(runForeachScoped_1(offer(queuesRef), __tsplusTrace)(self)), __tsplusTrace));
971
+ }, __tsplusTrace)(tsplus_module_6.make(() => tsplus_module_1.flatMap(queue => tsplus_module_1.flatMap(id => tsplus_module_1.map(() => (0, _function.tuple)(id, queue), __tsplusTrace)(tsplus_module_15.update(map => tsplus_module_45.set(id, queue)(map), __tsplusTrace)(queuesRef)), __tsplusTrace)(tsplus_module_1.succeed(() => Symbol(), __tsplusTrace)), __tsplusTrace)(tsplus_module_30.makeBounded(maximumLag, __tsplusTrace)), __tsplusTrace)), __tsplusTrace)(tsplus_module_46.makeSemaphore(1, __tsplusTrace))), __tsplusTrace)(tsplus_module_31.acquireRelease(() => tsplus_module_6.make(() => tsplus_module_45.empty(), __tsplusTrace), ref => tsplus_module_1.flatMap(qs => tsplus_module_1.foreach(tsplus_module_45.values(qs), q => tsplus_module_28.shutdown(q, __tsplusTrace), __tsplusTrace), __tsplusTrace)(tsplus_module_14.get(ref, __tsplusTrace)), __tsplusTrace));
963
972
  };
964
973
  }
965
974
  /**
@@ -997,7 +1006,7 @@ function drop_1(n, __tsplusTrace) {
997
1006
  */
998
1007
  function dropWhile_1(p, __tsplusTrace) {
999
1008
  return stream => {
1000
- return pipeThrough_1(tsplus_module_49.makeDropWhile(p, __tsplusTrace), __tsplusTrace)(stream);
1009
+ return pipeThrough_1(tsplus_module_47.makeDropWhile(p, __tsplusTrace), __tsplusTrace)(stream);
1001
1010
  };
1002
1011
  }
1003
1012
  /**
@@ -1008,7 +1017,7 @@ function dropWhile_1(p, __tsplusTrace) {
1008
1017
  */
1009
1018
  function dropUntil(p, __tsplusTrace) {
1010
1019
  return stream => {
1011
- return drop_1(1, __tsplusTrace)(dropWhile_1(tsplus_module_50.invert(p), __tsplusTrace)(stream));
1020
+ return drop_1(1, __tsplusTrace)(dropWhile_1(tsplus_module_48.invert(p), __tsplusTrace)(stream));
1012
1021
  };
1013
1022
  }
1014
1023
  /**
@@ -1026,11 +1035,11 @@ function either(stream, __tsplusTrace) {
1026
1035
  /**
1027
1036
  * @tsplus static fncts.io.StreamOps empty
1028
1037
  */
1029
- const empty_1 = /*#__PURE__*/fromChunkNow_1( /*#__PURE__*/tsplus_module_7.empty(), fileName_1 + ":1220:70");
1038
+ const empty_1 = /*#__PURE__*/fromChunkNow_1( /*#__PURE__*/tsplus_module_7.empty(), fileName_1 + ":1228:70");
1030
1039
  const empty = empty_1;
1031
1040
  exports.empty = empty;
1032
1041
  function endWhenWriter(fiber, __tsplusTrace) {
1033
- return tsplus_module_10.unwrap(() => tsplus_module_1.map(maybeExit => tsplus_module_20.match(() => tsplus_module_10.readWith(inp => tsplus_module_11.zipRight(endWhenWriter(fiber, __tsplusTrace))(tsplus_module_10.writeNow(inp)), tsplus_module_10.failNow, () => tsplus_module_10.unit), exit => tsplus_module_36.match(tsplus_module_11.failCauseNow, () => tsplus_module_10.unit)(exit))(maybeExit), __tsplusTrace)(tsplus_module_51.poll(fiber, __tsplusTrace)));
1042
+ return tsplus_module_10.unwrap(() => tsplus_module_1.map(maybeExit => tsplus_module_20.match(() => tsplus_module_10.readWith(inp => tsplus_module_11.zipRight(endWhenWriter(fiber, __tsplusTrace))(tsplus_module_10.writeNow(inp)), tsplus_module_10.failNow, () => tsplus_module_10.unit), exit => tsplus_module_36.match(tsplus_module_11.failCauseNow, () => tsplus_module_10.unit)(exit))(maybeExit), __tsplusTrace)(tsplus_module_49.poll(fiber, __tsplusTrace)));
1034
1043
  }
1035
1044
  /**
1036
1045
  * Halts the evaluation of this stream when the provided IO completes. The given IO
@@ -1060,7 +1069,7 @@ function ensuring_1(finalizer, __tsplusTrace) {
1060
1069
  * @tsplus static fncts.io.StreamOps environment
1061
1070
  */
1062
1071
  function environment_1(__tsplusTrace) {
1063
- return fromIO_1(tsplus_module_52.environment(__tsplusTrace), __tsplusTrace);
1072
+ return fromIO_1(tsplus_module_50.environment(__tsplusTrace), __tsplusTrace);
1064
1073
  }
1065
1074
  /**
1066
1075
  * Accesses the environment of the stream.
@@ -1181,7 +1190,7 @@ function find(p, __tsplusTrace) {
1181
1190
  */
1182
1191
  function findIO(f, __tsplusTrace) {
1183
1192
  return stream => {
1184
- const loop = tsplus_module_10.readWith(inp => tsplus_module_10.unwrap(() => tsplus_module_1.map(maybeA => tsplus_module_20.match(() => loop, a => tsplus_module_10.writeNow(tsplus_module_19.single(a)))(maybeA), __tsplusTrace)(tsplus_module_53.findIO(f, __tsplusTrace)(inp))), tsplus_module_10.failNow, () => tsplus_module_10.unit);
1193
+ const loop = tsplus_module_10.readWith(inp => tsplus_module_10.unwrap(() => tsplus_module_1.map(maybeA => tsplus_module_20.match(() => loop, a => tsplus_module_10.writeNow(tsplus_module_19.single(a)))(maybeA), __tsplusTrace)(tsplus_module_51.findIO(f, __tsplusTrace)(inp))), tsplus_module_10.failNow, () => tsplus_module_10.unit);
1185
1194
  return new _definition2.Stream(tsplus_module_10.pipeTo(loop)(stream.channel));
1186
1195
  };
1187
1196
  }
@@ -1203,7 +1212,7 @@ function flatten_1(self, __tsplusTrace) {
1203
1212
  */
1204
1213
  function flattenExitOption_1(stream, __tsplusTrace) {
1205
1214
  const processChunk = (chunk, cont) => {
1206
- const [toEmit, rest] = tsplus_module_12.splitWhere(_ => !tsplus_module_54.isSuccess(_))(chunk);
1215
+ const [toEmit, rest] = tsplus_module_12.splitWhere(_ => !tsplus_module_52.isSuccess(_))(chunk);
1207
1216
  const next = tsplus_module_20.match(() => cont, exit => tsplus_module_36.match(cause => tsplus_module_20.match(() => tsplus_module_11.endNow(undefined), tsplus_module_11.failCauseNow)(tsplus_module_25.flipCauseOption(cause)), () => tsplus_module_11.endNow(undefined))(exit))(tsplus_module_12.head(rest));
1208
1217
  return tsplus_module_11.zipRight(next)(tsplus_module_10.writeNow(tsplus_module_12.filterMap(exit => tsplus_module_36.match(() => tsplus_module_3.nothing(), tsplus_module_3.just)(exit))(toEmit)));
1209
1218
  };
@@ -1339,11 +1348,11 @@ function fromPull_1(scopedPull, __tsplusTrace) {
1339
1348
  function fromQueue_1(queue, maxChunkSize = _definition2.DEFAULT_CHUNK_SIZE, __tsplusTrace) {
1340
1349
  return repeatIOChunkMaybe_1(tsplus_module_1.catchAllCause(c => tsplus_module_1.flatMap(down => {
1341
1350
  if (down && tsplus_module_25.interrupted(c)) {
1342
- return tsplus_module_55.end;
1351
+ return tsplus_module_53.end;
1343
1352
  } else {
1344
- return tsplus_module_55.failCause(c);
1353
+ return tsplus_module_53.failCause(c);
1345
1354
  }
1346
- }, __tsplusTrace)(tsplus_module_28.isShutdown(queue, __tsplusTrace)), __tsplusTrace)(tsplus_module_1.map(tsplus_module_19.from, __tsplusTrace)(tsplus_module_56.takeBetween(1, maxChunkSize, __tsplusTrace)(queue))), __tsplusTrace);
1355
+ }, __tsplusTrace)(tsplus_module_28.isShutdown(queue, __tsplusTrace)), __tsplusTrace)(tsplus_module_1.map(tsplus_module_19.from, __tsplusTrace)(tsplus_module_54.takeBetween(1, maxChunkSize, __tsplusTrace)(queue))), __tsplusTrace);
1347
1356
  }
1348
1357
  /**
1349
1358
  * @tsplus static fncts.io.StreamOps fromQueueWithShutdown
@@ -1380,7 +1389,7 @@ function halt_1(u, __tsplusTrace) {
1380
1389
  return new _definition2.Stream(tsplus_module_10.halt(u));
1381
1390
  }
1382
1391
  function haltWhenWriter(fiber, __tsplusTrace) {
1383
- return tsplus_module_10.unwrap(() => tsplus_module_1.map(maybeExit => tsplus_module_20.match(() => tsplus_module_10.readWith(i => tsplus_module_11.zipRight(haltWhenWriter(fiber, __tsplusTrace))(tsplus_module_10.writeNow(i)), tsplus_module_10.failNow, () => tsplus_module_10.unit), exit => tsplus_module_36.match(tsplus_module_11.failCauseNow, () => tsplus_module_10.unit)(exit))(maybeExit), __tsplusTrace)(tsplus_module_51.poll(fiber, __tsplusTrace)));
1392
+ return tsplus_module_10.unwrap(() => tsplus_module_1.map(maybeExit => tsplus_module_20.match(() => tsplus_module_10.readWith(i => tsplus_module_11.zipRight(haltWhenWriter(fiber, __tsplusTrace))(tsplus_module_10.writeNow(i)), tsplus_module_10.failNow, () => tsplus_module_10.unit), exit => tsplus_module_36.match(tsplus_module_11.failCauseNow, () => tsplus_module_10.unit)(exit))(maybeExit), __tsplusTrace)(tsplus_module_49.poll(fiber, __tsplusTrace)));
1384
1393
  }
1385
1394
  /**
1386
1395
  * Halts the evaluation of this stream when the provided IO completes. The
@@ -1485,7 +1494,7 @@ function intersperse(stream, middle, __tsplusTrace) {
1485
1494
  */
1486
1495
  function interruptWhen(io, __tsplusTrace) {
1487
1496
  return stream => {
1488
- return new _definition2.Stream(tsplus_module_57.interruptWhen(io)(stream.channel));
1497
+ return new _definition2.Stream(tsplus_module_55.interruptWhen(io)(stream.channel));
1489
1498
  };
1490
1499
  }
1491
1500
  /**
@@ -1493,7 +1502,7 @@ function interruptWhen(io, __tsplusTrace) {
1493
1502
  */
1494
1503
  function interruptWhenFuture(future, __tsplusTrace) {
1495
1504
  return fa => {
1496
- return new _definition2.Stream(tsplus_module_57.interruptWhenFuture(future)(fa.channel));
1505
+ return new _definition2.Stream(tsplus_module_55.interruptWhenFuture(future)(fa.channel));
1497
1506
  };
1498
1507
  }
1499
1508
  /**
@@ -1654,11 +1663,19 @@ function mapIOLoop(iterator, f, __tsplusTrace) {
1654
1663
  *
1655
1664
  * @note This combinator destroys the chunking structure. It's recommended to use chunkN afterwards.
1656
1665
  *
1657
- * @tsplus pipeable fncts.io.Stream mapIOC
1666
+ * @tsplus pipeable fncts.io.Stream mapIOConcurrently
1658
1667
  */
1659
- function mapIOC(n, f, __tsplusTrace) {
1668
+ function mapIOConcurrently(n, f, __tsplusTrace) {
1660
1669
  return stream => {
1661
- return new _definition2.Stream(tsplus_module_10.mapOut(tsplus_module_19.single)(tsplus_module_58.mapOutConcurrentIO(n, f)(tsplus_module_10.concatMap(tsplus_module_10.writeChunk)(stream.channel))));
1670
+ return new _definition2.Stream(tsplus_module_10.mapOut(tsplus_module_19.single)(tsplus_module_56.mapOutConcurrentIO(n, f)(tsplus_module_10.concatMap(tsplus_module_10.writeChunk)(stream.channel))));
1671
+ };
1672
+ }
1673
+ /**
1674
+ * @tsplus pipeable fncts.io.Stream mapIOConcurrentlyUnordered
1675
+ */
1676
+ function mapIOConcurrentlyUnordered(n, f) {
1677
+ return self => {
1678
+ return pipeThroughChannelOrFail_1(tsplus_module_57.mergeMap(inp => fromIO_1(f(inp), fileName_1 + ":2216:41").channel, n, 16)(tsplus_module_10.concatMap(chunk => tsplus_module_10.writeChunk(chunk))(tsplus_module_10.id())))(self);
1662
1679
  };
1663
1680
  }
1664
1681
  /**
@@ -1671,7 +1688,7 @@ function mapIOC(n, f, __tsplusTrace) {
1671
1688
  */
1672
1689
  function mergeMap_1(f, n, bufferSize = 16, __tsplusTrace) {
1673
1690
  return ma => {
1674
- return new _definition2.Stream(tsplus_module_59.mergeMap(a => f(a).channel, n, bufferSize)(tsplus_module_10.concatMap(tsplus_module_10.writeChunk)(ma.channel)));
1691
+ return new _definition2.Stream(tsplus_module_57.mergeMap(a => f(a).channel, n, bufferSize)(tsplus_module_10.concatMap(tsplus_module_10.writeChunk)(ma.channel)));
1675
1692
  };
1676
1693
  }
1677
1694
  /**
@@ -1695,14 +1712,14 @@ function mergeEither_1(fb, __tsplusTrace) {
1695
1712
  };
1696
1713
  }
1697
1714
  function mergeWithHandler(terminate, __tsplusTrace) {
1698
- return exit => terminate || !tsplus_module_54.isSuccess(exit) ? tsplus_module_60.done(tsplus_module_1.fromExitNow(exit, __tsplusTrace)) : tsplus_module_60.wait(tsplus_module_1.fromExitNow);
1715
+ return exit => terminate || !tsplus_module_52.isSuccess(exit) ? tsplus_module_58.done(tsplus_module_1.fromExitNow(exit, __tsplusTrace)) : tsplus_module_58.wait(tsplus_module_1.fromExitNow);
1699
1716
  }
1700
1717
  /**
1701
1718
  * @tsplus pipeable fncts.io.Stream mergeWith
1702
1719
  */
1703
1720
  function mergeWith_1(sb, l, r, strategy = "Both", __tsplusTrace) {
1704
1721
  return sa => {
1705
- return new _definition2.Stream(tsplus_module_61.mergeWith(map_1(r, __tsplusTrace)(sb).channel, mergeWithHandler(strategy === "Either" || strategy === "Left", __tsplusTrace), mergeWithHandler(strategy === "Either" || strategy === "Right", __tsplusTrace))(map_1(l, __tsplusTrace)(sa).channel));
1722
+ return new _definition2.Stream(tsplus_module_59.mergeWith(map_1(r, __tsplusTrace)(sb).channel, mergeWithHandler(strategy === "Either" || strategy === "Left", __tsplusTrace), mergeWithHandler(strategy === "Either" || strategy === "Right", __tsplusTrace))(map_1(l, __tsplusTrace)(sa).channel));
1706
1723
  };
1707
1724
  }
1708
1725
  /**
@@ -1779,6 +1796,14 @@ function pipeThrough_1(sa, __tsplusTrace) {
1779
1796
  return new _definition2.Stream(tsplus_module_10.pipeToOrFail(sa.channel)(ma.channel));
1780
1797
  };
1781
1798
  }
1799
+ /**
1800
+ * @tsplus pipeable fncts.io.Stream pipeThroughChannelOrFail
1801
+ */
1802
+ function pipeThroughChannelOrFail_1(channel) {
1803
+ return self => {
1804
+ return new _definition2.Stream(tsplus_module_10.pipeToOrFail(channel)(self.channel));
1805
+ };
1806
+ }
1782
1807
  /**
1783
1808
  * Provides the stream with its required environment, which eliminates
1784
1809
  * its dependency on `R`.
@@ -1795,7 +1820,7 @@ function provideEnvironment_1(r, __tsplusTrace) {
1795
1820
  */
1796
1821
  function provideLayer_1(layer, __tsplusTrace) {
1797
1822
  return self => {
1798
- return new _definition2.Stream(tsplus_module_10.unwrapScoped(() => tsplus_module_1.map(r => tsplus_module_10.provideEnvironment(() => r)(self.channel), __tsplusTrace)(tsplus_module_62.build(layer, __tsplusTrace))));
1823
+ return new _definition2.Stream(tsplus_module_10.unwrapScoped(() => tsplus_module_1.map(r => tsplus_module_10.provideEnvironment(() => r)(self.channel), __tsplusTrace)(tsplus_module_60.build(layer, __tsplusTrace))));
1799
1824
  };
1800
1825
  }
1801
1826
  /**
@@ -1804,7 +1829,7 @@ function provideLayer_1(layer, __tsplusTrace) {
1804
1829
  function provideSomeLayer(layer, __tsplusTrace) {
1805
1830
  return self => {
1806
1831
  // @ts-expect-error
1807
- return provideLayer_1(tsplus_module_63.and(layer, __tsplusTrace)(tsplus_module_63.environment(__tsplusTrace)), __tsplusTrace)(self);
1832
+ return provideLayer_1(tsplus_module_61.and(layer, __tsplusTrace)(tsplus_module_61.environment(__tsplusTrace)), __tsplusTrace)(self);
1808
1833
  };
1809
1834
  }
1810
1835
  class Rechunker {
@@ -1918,7 +1943,7 @@ function repeatIOChunkMaybe_1(fa, __tsplusTrace) {
1918
1943
  */
1919
1944
  function run_1(sink, __tsplusTrace) {
1920
1945
  return stream => {
1921
- return tsplus_module_64.runDrain(tsplus_module_10.pipeToOrFail(sink.channel)(stream.channel));
1946
+ return tsplus_module_62.runDrain(tsplus_module_10.pipeToOrFail(sink.channel)(stream.channel));
1922
1947
  };
1923
1948
  }
1924
1949
  /**
@@ -1927,7 +1952,7 @@ function run_1(sink, __tsplusTrace) {
1927
1952
  * @tsplus getter fncts.io.Stream runCollect
1928
1953
  */
1929
1954
  function runCollect(stream, __tsplusTrace) {
1930
- return run_1(tsplus_module_49.makeCollectAll(__tsplusTrace), __tsplusTrace)(stream);
1955
+ return run_1(tsplus_module_47.makeCollectAll(__tsplusTrace), __tsplusTrace)(stream);
1931
1956
  }
1932
1957
  /**
1933
1958
  * Runs the stream and collects ignore its elements.
@@ -1935,14 +1960,14 @@ function runCollect(stream, __tsplusTrace) {
1935
1960
  * @tsplus getter fncts.io.Stream runDrain
1936
1961
  */
1937
1962
  function runDrain(stream, __tsplusTrace) {
1938
- return run_1(tsplus_module_49.drain, __tsplusTrace)(stream);
1963
+ return run_1(tsplus_module_47.drain, __tsplusTrace)(stream);
1939
1964
  }
1940
1965
  /**
1941
1966
  * @tsplus pipeable fncts.io.Stream runForeachScoped
1942
1967
  */
1943
1968
  function runForeachScoped_1(f, __tsplusTrace) {
1944
1969
  return self => {
1945
- return runScoped_1(tsplus_module_49.makeForeach(f, __tsplusTrace), __tsplusTrace)(self);
1970
+ return runScoped_1(tsplus_module_47.makeForeach(f, __tsplusTrace), __tsplusTrace)(self);
1946
1971
  };
1947
1972
  }
1948
1973
  /**
@@ -1951,7 +1976,7 @@ function runForeachScoped_1(f, __tsplusTrace) {
1951
1976
  *
1952
1977
  * @tsplus pipeable fncts.io.Stream runIntoElementsScoped
1953
1978
  */
1954
- function runIntoElementsScoped_1(queue, __tsplusTrace) {
1979
+ function runIntoElementsScoped_(queue, __tsplusTrace) {
1955
1980
  return stream => {
1956
1981
  const writer = tsplus_module_10.readWith(inp => tsplus_module_11.zipRight(writer)(tsplus_module_12.foldLeft(tsplus_module_10.unit, (channel, a) => tsplus_module_11.zipRight(tsplus_module_10.writeNow(tsplus_module_41.succeed(a)))(channel))(inp)), err => tsplus_module_10.writeNow(tsplus_module_41.fail(tsplus_module_3.just(err))), () => tsplus_module_10.writeNow(tsplus_module_41.fail(tsplus_module_3.nothing())));
1957
1982
  return tsplus_module_1.asUnit(tsplus_module_16.runScoped(tsplus_module_10.drain(tsplus_module_10.mapOutIO(exit => tsplus_module_28.offer(exit, __tsplusTrace)(queue))(tsplus_module_10.pipeTo(writer)(stream.channel)))), __tsplusTrace);
@@ -1969,6 +1994,21 @@ function runIntoQueueScoped_1(queue, __tsplusTrace) {
1969
1994
  return tsplus_module_1.asUnit(tsplus_module_16.runScoped(tsplus_module_10.drain(tsplus_module_10.mapOutIO(take => tsplus_module_28.offer(take, __tsplusTrace)(queue))(tsplus_module_10.pipeTo(writer)(stream.channel)))), __tsplusTrace);
1970
1995
  };
1971
1996
  }
1997
+ /**
1998
+ * Like runIntoQueue, but provides the result as a scoped IO
1999
+ * to allow for scope composition.
2000
+ *
2001
+ * @tsplus pipeable fncts.io.Stream runIntoQueueElementsScoped
2002
+ */
2003
+ function runIntoQueueElementsScoped_1(queue) {
2004
+ return self => {
2005
+ return tsplus_module_1.defer(() => {
2006
+ const queue0 = queue();
2007
+ const writer = tsplus_module_10.readWithCause(inp => tsplus_module_11.zipRight(writer)(tsplus_module_10.fromIO(() => tsplus_module_28.offerAll(tsplus_module_12.map(a => tsplus_module_41.succeed(a))(inp), fileName_1 + ":2647:57")(queue0))), cause => tsplus_module_10.fromIO(() => tsplus_module_28.offer(tsplus_module_41.failCause(tsplus_module_25.map(e => tsplus_module_3.just(e))(cause)), fileName_1 + ":2648:47")(queue0)), () => tsplus_module_10.fromIO(() => tsplus_module_28.offer(tsplus_module_41.fail(tsplus_module_3.nothing()), fileName_1 + ":2649:42")(queue0)));
2008
+ return tsplus_module_1.asUnit(tsplus_module_16.runScoped(tsplus_module_10.drain(tsplus_module_10.pipeTo(writer)(self.channel))), fileName_1 + ":2652:55");
2009
+ }, fileName_1 + ":2644:20");
2010
+ };
2011
+ }
1972
2012
  /**
1973
2013
  * Like `Stream#runIntoHub`, but provides the result as a `Managed` to allow for scope
1974
2014
  * composition.
@@ -2072,7 +2112,7 @@ function take(n, __tsplusTrace) {
2072
2112
  return empty_1;
2073
2113
  }
2074
2114
  if (!Number.isInteger(n)) {
2075
- return halt_1(() => new tsplus_module_65.IllegalArgumentError(`${n} should be an integer`, "Stream.take"), __tsplusTrace);
2115
+ return halt_1(() => new tsplus_module_63.IllegalArgumentError(`${n} should be an integer`, "Stream.take"), __tsplusTrace);
2076
2116
  }
2077
2117
  return new _definition2.Stream(tsplus_module_10.pipeTo(takeLoop(n, __tsplusTrace))(stream.channel));
2078
2118
  };
@@ -2095,7 +2135,7 @@ function takeUntilIOLoop(iterator, f, __tsplusTrace) {
2095
2135
  }
2096
2136
  function takeUntilLoop(p, __tsplusTrace) {
2097
2137
  return tsplus_module_10.readWith(chunk => {
2098
- const taken = tsplus_module_12.takeWhile(tsplus_module_50.invert(p))(chunk);
2138
+ const taken = tsplus_module_12.takeWhile(tsplus_module_48.invert(p))(chunk);
2099
2139
  const last = tsplus_module_12.take(1)(tsplus_module_12.drop(taken.length)(chunk));
2100
2140
  if (tsplus_module_12.isEmpty(last)) {
2101
2141
  return tsplus_module_11.zipRight(takeUntilLoop(p, __tsplusTrace))(tsplus_module_10.writeNow(taken));
@@ -2178,7 +2218,7 @@ function toHub_1(capacity, __tsplusTrace) {
2178
2218
  * @tsplus getter fncts.io.Stream toPull
2179
2219
  */
2180
2220
  function toPull_1(stream, __tsplusTrace) {
2181
- return tsplus_module_1.map(io => tsplus_module_1.flatMap(r => tsplus_module_4.match(() => tsplus_module_1.failNow(tsplus_module_3.nothing(), __tsplusTrace), tsplus_module_1.succeedNow)(r), __tsplusTrace)(tsplus_module_1.mapError(tsplus_module_3.just, __tsplusTrace)(io)), __tsplusTrace)(tsplus_module_66.toPull(stream.channel));
2221
+ return tsplus_module_1.map(io => tsplus_module_1.flatMap(r => tsplus_module_4.match(() => tsplus_module_1.failNow(tsplus_module_3.nothing(), __tsplusTrace), tsplus_module_1.succeedNow)(r), __tsplusTrace)(tsplus_module_1.mapError(tsplus_module_3.just, __tsplusTrace)(io)), __tsplusTrace)(tsplus_module_64.toPull(stream.channel));
2182
2222
  }
2183
2223
  /**
2184
2224
  * Converts the stream to a managed queue of chunks. After the managed queue is used,
@@ -2204,7 +2244,7 @@ function toQueueDropping(capacity = 2, __tsplusTrace) {
2204
2244
  */
2205
2245
  function toQueueOfElements_1(capacity = 2, __tsplusTrace) {
2206
2246
  return stream => {
2207
- return tsplus_module_1.flatMap(queue => tsplus_module_1.map(() => queue, __tsplusTrace)(tsplus_module_33.fork(runIntoElementsScoped_1(queue, __tsplusTrace)(stream), __tsplusTrace)), __tsplusTrace)(tsplus_module_31.acquireRelease(() => tsplus_module_30.makeBounded(capacity, __tsplusTrace), _ => tsplus_module_28.shutdown(_, __tsplusTrace), __tsplusTrace));
2247
+ return tsplus_module_1.flatMap(queue => tsplus_module_1.map(() => queue, __tsplusTrace)(tsplus_module_17.forkScoped(runIntoQueueElementsScoped_1(() => queue)(stream), __tsplusTrace)), __tsplusTrace)(tsplus_module_31.acquireRelease(() => tsplus_module_30.makeBounded(capacity, __tsplusTrace), _ => tsplus_module_28.shutdown(_, __tsplusTrace), __tsplusTrace));
2208
2248
  };
2209
2249
  }
2210
2250
  /**