@fncts/io 0.0.30 → 0.0.32

Sign up to get free protection for your applications and to get access to all the features.
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
  /**