@fncts/io 0.0.29 → 0.0.31

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 (59) hide show
  1. package/IO/api/blocking.d.ts +7 -0
  2. package/IO.d.ts +2 -0
  3. package/Ref/Synchronized/definition.d.ts +3 -3
  4. package/Semaphore.d.ts +30 -0
  5. package/SubscriptionRef.d.ts +3 -3
  6. package/_cjs/Channel/api/mapOutConcurrentIO.cjs +14 -16
  7. package/_cjs/Channel/api/mapOutConcurrentIO.cjs.map +1 -1
  8. package/_cjs/Channel/api/mergeAllWith.cjs +30 -32
  9. package/_cjs/Channel/api/mergeAllWith.cjs.map +1 -1
  10. package/_cjs/IO/api/blocking.cjs +20 -0
  11. package/_cjs/IO/api/blocking.cjs.map +1 -0
  12. package/_cjs/IO.cjs +22 -0
  13. package/_cjs/IO.cjs.map +1 -1
  14. package/_cjs/Ref/Synchronized/constructors.cjs +4 -5
  15. package/_cjs/Ref/Synchronized/constructors.cjs.map +1 -1
  16. package/_cjs/Ref/Synchronized/definition.cjs +1 -2
  17. package/_cjs/Ref/Synchronized/definition.cjs.map +1 -1
  18. package/_cjs/Semaphore.cjs +90 -0
  19. package/_cjs/Semaphore.cjs.map +1 -0
  20. package/_cjs/Stream/api.cjs +47 -49
  21. package/_cjs/Stream/api.cjs.map +1 -1
  22. package/_cjs/SubscriptionRef.cjs +2 -3
  23. package/_cjs/SubscriptionRef.cjs.map +1 -1
  24. package/_cjs/internal/BackgroundScheduler.cjs +199 -0
  25. package/_cjs/internal/BackgroundScheduler.cjs.map +1 -0
  26. package/_mjs/Channel/api/mapOutConcurrentIO.mjs +14 -16
  27. package/_mjs/Channel/api/mapOutConcurrentIO.mjs.map +1 -1
  28. package/_mjs/Channel/api/mergeAllWith.mjs +30 -32
  29. package/_mjs/Channel/api/mergeAllWith.mjs.map +1 -1
  30. package/_mjs/IO/api/blocking.mjs +12 -0
  31. package/_mjs/IO/api/blocking.mjs.map +1 -0
  32. package/_mjs/IO.mjs +2 -0
  33. package/_mjs/IO.mjs.map +1 -1
  34. package/_mjs/Ref/Synchronized/constructors.mjs +4 -5
  35. package/_mjs/Ref/Synchronized/constructors.mjs.map +1 -1
  36. package/_mjs/Ref/Synchronized/definition.mjs +1 -2
  37. package/_mjs/Ref/Synchronized/definition.mjs.map +1 -1
  38. package/_mjs/Semaphore.mjs +78 -0
  39. package/_mjs/Semaphore.mjs.map +1 -0
  40. package/_mjs/Stream/api.mjs +47 -49
  41. package/_mjs/Stream/api.mjs.map +1 -1
  42. package/_mjs/SubscriptionRef.mjs +2 -3
  43. package/_mjs/SubscriptionRef.mjs.map +1 -1
  44. package/_mjs/internal/BackgroundScheduler.mjs +191 -0
  45. package/_mjs/internal/BackgroundScheduler.mjs.map +1 -0
  46. package/_src/Channel/api/mapOutConcurrentIO.ts +1 -1
  47. package/_src/Channel/api/mergeAllWith.ts +1 -1
  48. package/_src/IO/api/blocking.ts +9 -0
  49. package/_src/IO.ts +2 -0
  50. package/_src/Ref/Synchronized/constructors.ts +2 -2
  51. package/_src/Ref/Synchronized/definition.ts +1 -1
  52. package/_src/Semaphore.ts +81 -0
  53. package/_src/Stream/api.ts +1 -1
  54. package/_src/SubscriptionRef.ts +2 -2
  55. package/_src/global.ts +4 -0
  56. package/_src/internal/BackgroundScheduler.ts +276 -0
  57. package/global.d.ts +4 -0
  58. package/internal/BackgroundScheduler.d.ts +47 -0
  59. package/package.json +2 -2
@@ -44,27 +44,25 @@ import * as tsplus_module_42 from "@fncts/io/Stream/internal/DebounceState";
44
44
  import * as tsplus_module_43 from "@fncts/io/Clock/api";
45
45
  import * as tsplus_module_44 from "@fncts/io/IO/api/transplant";
46
46
  import * as tsplus_module_45 from "@fncts/base/collection/immutable/HashMap/api";
47
- import * as tsplus_module_46 from "@fncts/io/TSemaphore/api";
48
- import * as tsplus_module_47 from "@fncts/io/TSemaphore/constructors";
49
- import * as tsplus_module_48 from "@fncts/io/STM/api/atomically";
50
- import * as tsplus_module_49 from "@fncts/io/Sink/api";
51
- import * as tsplus_module_50 from "@fncts/base/data/Predicate/api";
52
- import * as tsplus_module_51 from "@fncts/io/Fiber/api/poll";
53
- import * as tsplus_module_52 from "@fncts/io/IO/api/environment";
54
- import * as tsplus_module_53 from "@fncts/io/collection/immutable/Conc/findIO";
55
- import * as tsplus_module_54 from "@fncts/base/data/Exit/definition";
56
- import * as tsplus_module_55 from "@fncts/io/Stream/internal/Pull";
57
- import * as tsplus_module_56 from "@fncts/io/Queue/api/takeBetween";
58
- import * as tsplus_module_57 from "@fncts/io/Channel/api/interruptWhen";
59
- import * as tsplus_module_58 from "@fncts/io/Channel/api/mapOutConcurrentIO";
60
- import * as tsplus_module_59 from "@fncts/io/Channel/api/mergeMap";
61
- import * as tsplus_module_60 from "@fncts/io/Channel/internal/MergeDecision";
62
- import * as tsplus_module_61 from "@fncts/io/Channel/api/mergeWith";
63
- import * as tsplus_module_62 from "@fncts/io/Layer/MemoMap";
64
- import * as tsplus_module_63 from "@fncts/io/Layer/api";
65
- import * as tsplus_module_64 from "@fncts/io/Channel/api/runDrain";
66
- import * as tsplus_module_65 from "@fncts/base/data/exceptions";
67
- import * as tsplus_module_66 from "@fncts/io/Channel/api/toPull";
47
+ import * as tsplus_module_46 from "@fncts/io/Semaphore";
48
+ import * as tsplus_module_47 from "@fncts/io/Sink/api";
49
+ import * as tsplus_module_48 from "@fncts/base/data/Predicate/api";
50
+ import * as tsplus_module_49 from "@fncts/io/Fiber/api/poll";
51
+ import * as tsplus_module_50 from "@fncts/io/IO/api/environment";
52
+ import * as tsplus_module_51 from "@fncts/io/collection/immutable/Conc/findIO";
53
+ import * as tsplus_module_52 from "@fncts/base/data/Exit/definition";
54
+ import * as tsplus_module_53 from "@fncts/io/Stream/internal/Pull";
55
+ import * as tsplus_module_54 from "@fncts/io/Queue/api/takeBetween";
56
+ import * as tsplus_module_55 from "@fncts/io/Channel/api/interruptWhen";
57
+ import * as tsplus_module_56 from "@fncts/io/Channel/api/mapOutConcurrentIO";
58
+ import * as tsplus_module_57 from "@fncts/io/Channel/api/mergeMap";
59
+ import * as tsplus_module_58 from "@fncts/io/Channel/internal/MergeDecision";
60
+ import * as tsplus_module_59 from "@fncts/io/Channel/api/mergeWith";
61
+ import * as tsplus_module_60 from "@fncts/io/Layer/MemoMap";
62
+ import * as tsplus_module_61 from "@fncts/io/Layer/api";
63
+ import * as tsplus_module_62 from "@fncts/io/Channel/api/runDrain";
64
+ import * as tsplus_module_63 from "@fncts/base/data/exceptions";
65
+ import * as tsplus_module_64 from "@fncts/io/Channel/api/toPull";
68
66
  export const aggregateAsyncWithin = aggregateAsyncWithin_1;
69
67
  export const aggregateAsyncWithinEither = aggregateAsyncWithinEither_1;
70
68
  export const zipRight = zipRight_1;
@@ -751,12 +749,12 @@ function distributedWithDynamic_1(maximumLag, decide, done = () => tsplus_module
751
749
  }
752
750
  }, __tsplusTrace)), __tsplusTrace)(tsplus_module_14.get(queuesRef, __tsplusTrace)), __tsplusTrace)(decide(a));
753
751
  return tsplus_module_1.flatMap(queuesRef => tsplus_module_1.map(add => add, __tsplusTrace)(tsplus_module_1.flatMap(queuesLock => tsplus_module_1.flatMap(newQueue => {
754
- 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(() => {
752
+ 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(() => {
755
753
  const id = Symbol();
756
754
  return tsplus_module_1.map(() => tuple(id, queue), __tsplusTrace)(tsplus_module_15.update(map => tsplus_module_45.set(id, queue)(map), __tsplusTrace)(queuesRef));
757
755
  }, __tsplusTrace)(tsplus_module_28.offer(endTake, __tsplusTrace)(queue)), __tsplusTrace)(tsplus_module_30.makeBounded(1, __tsplusTrace)), __tsplusTrace)(newQueue)), __tsplusTrace));
758
- 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));
759
- }, __tsplusTrace)(tsplus_module_6.make(() => tsplus_module_1.flatMap(queue => tsplus_module_1.flatMap(id => tsplus_module_1.map(() => 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));
756
+ 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));
757
+ }, __tsplusTrace)(tsplus_module_6.make(() => tsplus_module_1.flatMap(queue => tsplus_module_1.flatMap(id => tsplus_module_1.map(() => 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));
760
758
  };
761
759
  }
762
760
  /**
@@ -794,7 +792,7 @@ function drop_1(n, __tsplusTrace) {
794
792
  */
795
793
  function dropWhile_1(p, __tsplusTrace) {
796
794
  return stream => {
797
- return pipeThrough_1(tsplus_module_49.makeDropWhile(p, __tsplusTrace), __tsplusTrace)(stream);
795
+ return pipeThrough_1(tsplus_module_47.makeDropWhile(p, __tsplusTrace), __tsplusTrace)(stream);
798
796
  };
799
797
  }
800
798
  /**
@@ -805,7 +803,7 @@ function dropWhile_1(p, __tsplusTrace) {
805
803
  */
806
804
  export function dropUntil(p, __tsplusTrace) {
807
805
  return stream => {
808
- return drop_1(1, __tsplusTrace)(dropWhile_1(tsplus_module_50.invert(p), __tsplusTrace)(stream));
806
+ return drop_1(1, __tsplusTrace)(dropWhile_1(tsplus_module_48.invert(p), __tsplusTrace)(stream));
809
807
  };
810
808
  }
811
809
  /**
@@ -826,7 +824,7 @@ export function either(stream, __tsplusTrace) {
826
824
  const empty_1 = /*#__PURE__*/fromChunkNow_1( /*#__PURE__*/tsplus_module_7.empty(), fileName_1 + ":1220:70");
827
825
  export const empty = empty_1;
828
826
  function endWhenWriter(fiber, __tsplusTrace) {
829
- 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)));
827
+ 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)));
830
828
  }
831
829
  /**
832
830
  * Halts the evaluation of this stream when the provided IO completes. The given IO
@@ -856,7 +854,7 @@ function ensuring_1(finalizer, __tsplusTrace) {
856
854
  * @tsplus static fncts.io.StreamOps environment
857
855
  */
858
856
  function environment_1(__tsplusTrace) {
859
- return fromIO_1(tsplus_module_52.environment(__tsplusTrace), __tsplusTrace);
857
+ return fromIO_1(tsplus_module_50.environment(__tsplusTrace), __tsplusTrace);
860
858
  }
861
859
  /**
862
860
  * Accesses the environment of the stream.
@@ -977,7 +975,7 @@ export function find(p, __tsplusTrace) {
977
975
  */
978
976
  export function findIO(f, __tsplusTrace) {
979
977
  return stream => {
980
- 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);
978
+ 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);
981
979
  return new Stream(tsplus_module_10.pipeTo(loop)(stream.channel));
982
980
  };
983
981
  }
@@ -999,7 +997,7 @@ function flatten_1(self, __tsplusTrace) {
999
997
  */
1000
998
  function flattenExitOption_1(stream, __tsplusTrace) {
1001
999
  const processChunk = (chunk, cont) => {
1002
- const [toEmit, rest] = tsplus_module_12.splitWhere(_ => !tsplus_module_54.isSuccess(_))(chunk);
1000
+ const [toEmit, rest] = tsplus_module_12.splitWhere(_ => !tsplus_module_52.isSuccess(_))(chunk);
1003
1001
  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));
1004
1002
  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)));
1005
1003
  };
@@ -1135,11 +1133,11 @@ function fromPull_1(scopedPull, __tsplusTrace) {
1135
1133
  function fromQueue_1(queue, maxChunkSize = DEFAULT_CHUNK_SIZE, __tsplusTrace) {
1136
1134
  return repeatIOChunkMaybe_1(tsplus_module_1.catchAllCause(c => tsplus_module_1.flatMap(down => {
1137
1135
  if (down && tsplus_module_25.interrupted(c)) {
1138
- return tsplus_module_55.end;
1136
+ return tsplus_module_53.end;
1139
1137
  } else {
1140
- return tsplus_module_55.failCause(c);
1138
+ return tsplus_module_53.failCause(c);
1141
1139
  }
1142
- }, __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);
1140
+ }, __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);
1143
1141
  }
1144
1142
  /**
1145
1143
  * @tsplus static fncts.io.StreamOps fromQueueWithShutdown
@@ -1176,7 +1174,7 @@ function halt_1(u, __tsplusTrace) {
1176
1174
  return new Stream(tsplus_module_10.halt(u));
1177
1175
  }
1178
1176
  function haltWhenWriter(fiber, __tsplusTrace) {
1179
- 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)));
1177
+ 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)));
1180
1178
  }
1181
1179
  /**
1182
1180
  * Halts the evaluation of this stream when the provided IO completes. The
@@ -1281,7 +1279,7 @@ export function intersperse(stream, middle, __tsplusTrace) {
1281
1279
  */
1282
1280
  export function interruptWhen(io, __tsplusTrace) {
1283
1281
  return stream => {
1284
- return new Stream(tsplus_module_57.interruptWhen(io)(stream.channel));
1282
+ return new Stream(tsplus_module_55.interruptWhen(io)(stream.channel));
1285
1283
  };
1286
1284
  }
1287
1285
  /**
@@ -1289,7 +1287,7 @@ export function interruptWhen(io, __tsplusTrace) {
1289
1287
  */
1290
1288
  export function interruptWhenFuture(future, __tsplusTrace) {
1291
1289
  return fa => {
1292
- return new Stream(tsplus_module_57.interruptWhenFuture(future)(fa.channel));
1290
+ return new Stream(tsplus_module_55.interruptWhenFuture(future)(fa.channel));
1293
1291
  };
1294
1292
  }
1295
1293
  /**
@@ -1454,7 +1452,7 @@ function mapIOLoop(iterator, f, __tsplusTrace) {
1454
1452
  */
1455
1453
  export function mapIOC(n, f, __tsplusTrace) {
1456
1454
  return stream => {
1457
- return new 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))));
1455
+ return new 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))));
1458
1456
  };
1459
1457
  }
1460
1458
  /**
@@ -1467,7 +1465,7 @@ export function mapIOC(n, f, __tsplusTrace) {
1467
1465
  */
1468
1466
  function mergeMap_1(f, n, bufferSize = 16, __tsplusTrace) {
1469
1467
  return ma => {
1470
- return new Stream(tsplus_module_59.mergeMap(a => f(a).channel, n, bufferSize)(tsplus_module_10.concatMap(tsplus_module_10.writeChunk)(ma.channel)));
1468
+ return new Stream(tsplus_module_57.mergeMap(a => f(a).channel, n, bufferSize)(tsplus_module_10.concatMap(tsplus_module_10.writeChunk)(ma.channel)));
1471
1469
  };
1472
1470
  }
1473
1471
  /**
@@ -1491,14 +1489,14 @@ function mergeEither_1(fb, __tsplusTrace) {
1491
1489
  };
1492
1490
  }
1493
1491
  export function mergeWithHandler(terminate, __tsplusTrace) {
1494
- 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);
1492
+ 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);
1495
1493
  }
1496
1494
  /**
1497
1495
  * @tsplus pipeable fncts.io.Stream mergeWith
1498
1496
  */
1499
1497
  function mergeWith_1(sb, l, r, strategy = "Both", __tsplusTrace) {
1500
1498
  return sa => {
1501
- return new 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));
1499
+ return new 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));
1502
1500
  };
1503
1501
  }
1504
1502
  /**
@@ -1591,7 +1589,7 @@ function provideEnvironment_1(r, __tsplusTrace) {
1591
1589
  */
1592
1590
  function provideLayer_1(layer, __tsplusTrace) {
1593
1591
  return self => {
1594
- return new Stream(tsplus_module_10.unwrapScoped(() => tsplus_module_1.map(r => tsplus_module_10.provideEnvironment(() => r)(self.channel), __tsplusTrace)(tsplus_module_62.build(layer, __tsplusTrace))));
1592
+ return new Stream(tsplus_module_10.unwrapScoped(() => tsplus_module_1.map(r => tsplus_module_10.provideEnvironment(() => r)(self.channel), __tsplusTrace)(tsplus_module_60.build(layer, __tsplusTrace))));
1595
1593
  };
1596
1594
  }
1597
1595
  /**
@@ -1600,7 +1598,7 @@ function provideLayer_1(layer, __tsplusTrace) {
1600
1598
  export function provideSomeLayer(layer, __tsplusTrace) {
1601
1599
  return self => {
1602
1600
  // @ts-expect-error
1603
- return provideLayer_1(tsplus_module_63.and(layer, __tsplusTrace)(tsplus_module_63.environment(__tsplusTrace)), __tsplusTrace)(self);
1601
+ return provideLayer_1(tsplus_module_61.and(layer, __tsplusTrace)(tsplus_module_61.environment(__tsplusTrace)), __tsplusTrace)(self);
1604
1602
  };
1605
1603
  }
1606
1604
  class Rechunker {
@@ -1714,7 +1712,7 @@ function repeatIOChunkMaybe_1(fa, __tsplusTrace) {
1714
1712
  */
1715
1713
  function run_1(sink, __tsplusTrace) {
1716
1714
  return stream => {
1717
- return tsplus_module_64.runDrain(tsplus_module_10.pipeToOrFail(sink.channel)(stream.channel));
1715
+ return tsplus_module_62.runDrain(tsplus_module_10.pipeToOrFail(sink.channel)(stream.channel));
1718
1716
  };
1719
1717
  }
1720
1718
  /**
@@ -1723,7 +1721,7 @@ function run_1(sink, __tsplusTrace) {
1723
1721
  * @tsplus getter fncts.io.Stream runCollect
1724
1722
  */
1725
1723
  export function runCollect(stream, __tsplusTrace) {
1726
- return run_1(tsplus_module_49.makeCollectAll(__tsplusTrace), __tsplusTrace)(stream);
1724
+ return run_1(tsplus_module_47.makeCollectAll(__tsplusTrace), __tsplusTrace)(stream);
1727
1725
  }
1728
1726
  /**
1729
1727
  * Runs the stream and collects ignore its elements.
@@ -1731,14 +1729,14 @@ export function runCollect(stream, __tsplusTrace) {
1731
1729
  * @tsplus getter fncts.io.Stream runDrain
1732
1730
  */
1733
1731
  export function runDrain(stream, __tsplusTrace) {
1734
- return run_1(tsplus_module_49.drain, __tsplusTrace)(stream);
1732
+ return run_1(tsplus_module_47.drain, __tsplusTrace)(stream);
1735
1733
  }
1736
1734
  /**
1737
1735
  * @tsplus pipeable fncts.io.Stream runForeachScoped
1738
1736
  */
1739
1737
  function runForeachScoped_1(f, __tsplusTrace) {
1740
1738
  return self => {
1741
- return runScoped_1(tsplus_module_49.makeForeach(f, __tsplusTrace), __tsplusTrace)(self);
1739
+ return runScoped_1(tsplus_module_47.makeForeach(f, __tsplusTrace), __tsplusTrace)(self);
1742
1740
  };
1743
1741
  }
1744
1742
  /**
@@ -1868,7 +1866,7 @@ export function take(n, __tsplusTrace) {
1868
1866
  return empty_1;
1869
1867
  }
1870
1868
  if (!Number.isInteger(n)) {
1871
- return halt_1(() => new tsplus_module_65.IllegalArgumentError(`${n} should be an integer`, "Stream.take"), __tsplusTrace);
1869
+ return halt_1(() => new tsplus_module_63.IllegalArgumentError(`${n} should be an integer`, "Stream.take"), __tsplusTrace);
1872
1870
  }
1873
1871
  return new Stream(tsplus_module_10.pipeTo(takeLoop(n, __tsplusTrace))(stream.channel));
1874
1872
  };
@@ -1891,7 +1889,7 @@ function takeUntilIOLoop(iterator, f, __tsplusTrace) {
1891
1889
  }
1892
1890
  function takeUntilLoop(p, __tsplusTrace) {
1893
1891
  return tsplus_module_10.readWith(chunk => {
1894
- const taken = tsplus_module_12.takeWhile(tsplus_module_50.invert(p))(chunk);
1892
+ const taken = tsplus_module_12.takeWhile(tsplus_module_48.invert(p))(chunk);
1895
1893
  const last = tsplus_module_12.take(1)(tsplus_module_12.drop(taken.length)(chunk));
1896
1894
  if (tsplus_module_12.isEmpty(last)) {
1897
1895
  return tsplus_module_11.zipRight(takeUntilLoop(p, __tsplusTrace))(tsplus_module_10.writeNow(taken));
@@ -1974,7 +1972,7 @@ function toHub_1(capacity, __tsplusTrace) {
1974
1972
  * @tsplus getter fncts.io.Stream toPull
1975
1973
  */
1976
1974
  function toPull_1(stream, __tsplusTrace) {
1977
- 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));
1975
+ 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));
1978
1976
  }
1979
1977
  /**
1980
1978
  * Converts the stream to a managed queue of chunks. After the managed queue is used,