effect 3.10.19 → 3.11.0

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 (167) hide show
  1. package/dist/cjs/BigDecimal.js +125 -24
  2. package/dist/cjs/BigDecimal.js.map +1 -1
  3. package/dist/cjs/Channel.js +44 -4
  4. package/dist/cjs/Channel.js.map +1 -1
  5. package/dist/cjs/Config.js +8 -1
  6. package/dist/cjs/Config.js.map +1 -1
  7. package/dist/cjs/Context.js +26 -1
  8. package/dist/cjs/Context.js.map +1 -1
  9. package/dist/cjs/Cron.js +75 -67
  10. package/dist/cjs/Cron.js.map +1 -1
  11. package/dist/cjs/DateTime.js +114 -664
  12. package/dist/cjs/DateTime.js.map +1 -1
  13. package/dist/cjs/Effect.js +82 -4
  14. package/dist/cjs/Effect.js.map +1 -1
  15. package/dist/cjs/Inspectable.js +8 -4
  16. package/dist/cjs/Inspectable.js.map +1 -1
  17. package/dist/cjs/JSONSchema.js.map +1 -1
  18. package/dist/cjs/Micro.js +1099 -1072
  19. package/dist/cjs/Micro.js.map +1 -1
  20. package/dist/cjs/STM.js.map +1 -1
  21. package/dist/cjs/Schema.js +57 -8
  22. package/dist/cjs/Schema.js.map +1 -1
  23. package/dist/cjs/Sink.js +9 -1
  24. package/dist/cjs/Sink.js.map +1 -1
  25. package/dist/cjs/Stream.js +25 -7
  26. package/dist/cjs/Stream.js.map +1 -1
  27. package/dist/cjs/Utils.js +7 -1
  28. package/dist/cjs/Utils.js.map +1 -1
  29. package/dist/cjs/internal/channel/channelExecutor.js +5 -9
  30. package/dist/cjs/internal/channel/channelExecutor.js.map +1 -1
  31. package/dist/cjs/internal/channel.js +156 -130
  32. package/dist/cjs/internal/channel.js.map +1 -1
  33. package/dist/cjs/internal/config.js +13 -4
  34. package/dist/cjs/internal/config.js.map +1 -1
  35. package/dist/cjs/internal/context.js +46 -3
  36. package/dist/cjs/internal/context.js.map +1 -1
  37. package/dist/cjs/internal/dateTime.js +747 -0
  38. package/dist/cjs/internal/dateTime.js.map +1 -0
  39. package/dist/cjs/internal/fiberRuntime.js +34 -11
  40. package/dist/cjs/internal/fiberRuntime.js.map +1 -1
  41. package/dist/cjs/internal/groupBy.js +9 -3
  42. package/dist/cjs/internal/groupBy.js.map +1 -1
  43. package/dist/cjs/internal/layer.js +1 -1
  44. package/dist/cjs/internal/layer.js.map +1 -1
  45. package/dist/cjs/internal/mailbox.js +1 -1
  46. package/dist/cjs/internal/mailbox.js.map +1 -1
  47. package/dist/cjs/internal/sink.js +25 -21
  48. package/dist/cjs/internal/sink.js.map +1 -1
  49. package/dist/cjs/internal/stream.js +70 -71
  50. package/dist/cjs/internal/stream.js.map +1 -1
  51. package/dist/cjs/internal/version.js +1 -1
  52. package/dist/cjs/internal/version.js.map +1 -1
  53. package/dist/dts/BigDecimal.d.ts +56 -1
  54. package/dist/dts/BigDecimal.d.ts.map +1 -1
  55. package/dist/dts/Channel.d.ts +66 -5
  56. package/dist/dts/Channel.d.ts.map +1 -1
  57. package/dist/dts/Config.d.ts +23 -1
  58. package/dist/dts/Config.d.ts.map +1 -1
  59. package/dist/dts/Context.d.ts +111 -0
  60. package/dist/dts/Context.d.ts.map +1 -1
  61. package/dist/dts/Cron.d.ts +15 -6
  62. package/dist/dts/Cron.d.ts.map +1 -1
  63. package/dist/dts/DateTime.d.ts +40 -49
  64. package/dist/dts/DateTime.d.ts.map +1 -1
  65. package/dist/dts/Effect.d.ts +88 -1
  66. package/dist/dts/Effect.d.ts.map +1 -1
  67. package/dist/dts/Inspectable.d.ts.map +1 -1
  68. package/dist/dts/JSONSchema.d.ts +1 -0
  69. package/dist/dts/JSONSchema.d.ts.map +1 -1
  70. package/dist/dts/Micro.d.ts +875 -872
  71. package/dist/dts/Micro.d.ts.map +1 -1
  72. package/dist/dts/STM.d.ts +2 -0
  73. package/dist/dts/STM.d.ts.map +1 -1
  74. package/dist/dts/Schema.d.ts +32 -0
  75. package/dist/dts/Schema.d.ts.map +1 -1
  76. package/dist/dts/Sink.d.ts +8 -0
  77. package/dist/dts/Sink.d.ts.map +1 -1
  78. package/dist/dts/Stream.d.ts +50 -32
  79. package/dist/dts/Stream.d.ts.map +1 -1
  80. package/dist/dts/Utils.d.ts +4 -0
  81. package/dist/dts/Utils.d.ts.map +1 -1
  82. package/dist/dts/internal/context.d.ts +1 -1
  83. package/dist/dts/internal/context.d.ts.map +1 -1
  84. package/dist/dts/internal/dateTime.d.ts +2 -0
  85. package/dist/dts/internal/dateTime.d.ts.map +1 -0
  86. package/dist/dts/internal/fiberRuntime.d.ts.map +1 -1
  87. package/dist/dts/internal/stream.d.ts.map +1 -1
  88. package/dist/esm/BigDecimal.js +119 -20
  89. package/dist/esm/BigDecimal.js.map +1 -1
  90. package/dist/esm/Channel.js +42 -2
  91. package/dist/esm/Channel.js.map +1 -1
  92. package/dist/esm/Config.js +7 -0
  93. package/dist/esm/Config.js.map +1 -1
  94. package/dist/esm/Context.js +25 -0
  95. package/dist/esm/Context.js.map +1 -1
  96. package/dist/esm/Cron.js +75 -67
  97. package/dist/esm/Cron.js.map +1 -1
  98. package/dist/esm/DateTime.js +112 -627
  99. package/dist/esm/DateTime.js.map +1 -1
  100. package/dist/esm/Effect.js +77 -0
  101. package/dist/esm/Effect.js.map +1 -1
  102. package/dist/esm/Inspectable.js +8 -4
  103. package/dist/esm/Inspectable.js.map +1 -1
  104. package/dist/esm/JSONSchema.js.map +1 -1
  105. package/dist/esm/Micro.js +1077 -1047
  106. package/dist/esm/Micro.js.map +1 -1
  107. package/dist/esm/STM.js.map +1 -1
  108. package/dist/esm/Schema.js +54 -0
  109. package/dist/esm/Schema.js.map +1 -1
  110. package/dist/esm/Sink.js +8 -0
  111. package/dist/esm/Sink.js.map +1 -1
  112. package/dist/esm/Stream.js +23 -5
  113. package/dist/esm/Stream.js.map +1 -1
  114. package/dist/esm/Utils.js +5 -0
  115. package/dist/esm/Utils.js.map +1 -1
  116. package/dist/esm/internal/channel/channelExecutor.js +5 -7
  117. package/dist/esm/internal/channel/channelExecutor.js.map +1 -1
  118. package/dist/esm/internal/channel.js +152 -129
  119. package/dist/esm/internal/channel.js.map +1 -1
  120. package/dist/esm/internal/config.js +11 -3
  121. package/dist/esm/internal/config.js.map +1 -1
  122. package/dist/esm/internal/context.js +42 -2
  123. package/dist/esm/internal/context.js.map +1 -1
  124. package/dist/esm/internal/dateTime.js +704 -0
  125. package/dist/esm/internal/dateTime.js.map +1 -0
  126. package/dist/esm/internal/fiberRuntime.js +31 -9
  127. package/dist/esm/internal/fiberRuntime.js.map +1 -1
  128. package/dist/esm/internal/groupBy.js +9 -3
  129. package/dist/esm/internal/groupBy.js.map +1 -1
  130. package/dist/esm/internal/layer.js +1 -1
  131. package/dist/esm/internal/layer.js.map +1 -1
  132. package/dist/esm/internal/mailbox.js +1 -1
  133. package/dist/esm/internal/mailbox.js.map +1 -1
  134. package/dist/esm/internal/sink.js +23 -20
  135. package/dist/esm/internal/sink.js.map +1 -1
  136. package/dist/esm/internal/stream.js +66 -69
  137. package/dist/esm/internal/stream.js.map +1 -1
  138. package/dist/esm/internal/version.js +1 -1
  139. package/dist/esm/internal/version.js.map +1 -1
  140. package/package.json +1 -1
  141. package/src/BigDecimal.ts +131 -21
  142. package/src/Channel.ts +81 -5
  143. package/src/Config.ts +24 -1
  144. package/src/Context.ts +119 -0
  145. package/src/Cron.ts +85 -68
  146. package/src/DateTime.ts +155 -757
  147. package/src/Effect.ts +340 -1
  148. package/src/Inspectable.ts +11 -7
  149. package/src/JSONSchema.ts +1 -0
  150. package/src/Micro.ts +2005 -1757
  151. package/src/STM.ts +2 -0
  152. package/src/Schema.ts +60 -0
  153. package/src/Sink.ts +11 -0
  154. package/src/Stream.ts +55 -44
  155. package/src/Utils.ts +8 -0
  156. package/src/internal/channel/channelExecutor.ts +37 -33
  157. package/src/internal/channel.ts +504 -467
  158. package/src/internal/config.ts +18 -6
  159. package/src/internal/context.ts +56 -4
  160. package/src/internal/dateTime.ts +1126 -0
  161. package/src/internal/fiberRuntime.ts +35 -16
  162. package/src/internal/groupBy.ts +13 -22
  163. package/src/internal/layer.ts +5 -8
  164. package/src/internal/mailbox.ts +6 -4
  165. package/src/internal/sink.ts +55 -35
  166. package/src/internal/stream.ts +299 -299
  167. package/src/internal/version.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"channelExecutor.js","names":["Cause","_interopRequireWildcard","require","Deferred","Effect","ExecutionStrategy","Exit","Fiber","_Function","Option","Scope","core","ChannelOpCodes","ChildExecutorDecisionOpCodes","ChannelStateOpCodes","UpstreamPullStrategyOpCodes","ContinuationOpCodes","ChannelState","Continuation","Subexecutor","upstreamPullRequest","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ChannelExecutor","_activeSubexecutor","undefined","_cancelled","_closeLastSubstream","_currentChannel","_done","_doneStack","_emitted","_executeCloseLastSubstream","_input","_inProgressFinalizer","_providedEnv","constructor","initialChannel","providedEnv","executeCloseLastSubstream","run","result","processCancellation","runSubexecutor","Done","isEffect","fromEffect","_tag","OP_BRACKET_OUT","runBracketOut","OP_BRIDGE","bridgeInput","input","channel","inputExecutor","drainer","flatMap","awaitRead","suspend","state","OP_DONE","match","getDone","onFailure","cause","error","onSuccess","value","done","OP_EMIT","emit","getEmit","OP_FROM_EFFECT","matchCauseEffect","effect","OP_READ","readUpstream","forkDaemon","interruptible","fiber","sync","addFinalizer","exit","interrupt","restorePipe","void","OP_CONCAT_ALL","executor","prevLastClose","pipe","zipRight","PullFromUpstream","k","x","y","combineInners","combineAll","request","onPull","onEmit","out","Emit","OP_ENSURING","runEnsuring","OP_FAIL","doneHalt","OP_FOLD","push","provide","isFromEffect","doneSucceed","OP_PIPE_TO","previousInput","leftExec","left","right","OP_PROVIDE","previousEnv","context","inner","read","Read","identity","emitted","more","onExit","die","OP_SUCCEED","evaluate","OP_SUCCEED_NOW","terminal","OP_SUSPEND","failCause","cancelWith","clearInProgressFinalizer","storeInProgressFinalizer","finalizer","popAllFinalizers","finalizers","next","pop","length","runFinalizers","popNextFinalizers","builder","cont","OP_CONTINUATION_K","prev","currInput","close","runInProgressFinalizers","ensuring","closeSelf","selfFinalizers","closeSubexecutors","ifNotNull","zip","map","exit1","exit2","exit3","uninterruptible","succeed","head","reverse","finalizerEffect","f","onHalt","bracketOut","acquire","write","ContinuationFinalizerImpl","subexecutor","OP_PULL_FROM_CHILD","pullFromChild","childExecutor","parentSubexecutor","OP_PULL_FROM_UPSTREAM","pullFromUpstream","OP_DRAIN_CHILD_EXECUTORS","drainChildExecutors","replaceSubexecutor","nextSubExec","finishWithExit","finishSubexecutorWithCloseEffect","subexecutorDone","closeFuncs","forEach","closeFunc","closeEffect","discard","applyUpstreamPullStrategy","upstreamFinished","queue","strategy","OP_PULL_AFTER_NEXT","shouldPrepend","some","emitSeparator","OP_PULL_AFTER_ALL_ENQUEUED","shouldEnqueue","onEmitted","childExecutorDecision","OP_CONTINUE","OP_CLOSE","finishWithDoneValue","OP_YIELD","modifiedParent","enqueuePullFromChild","handleSubexecutorFailure","effectOrUndefinedIgnored","doneValue","upstreamExecutor","createChild","lastDone","combineChildResults","activeChildExecutors","combineWithChildResult","DrainChildExecutors","upstreamDone","performPullFromUpstream","activeChild","slice","PullFromChild","closeLastSubstream","updatedChildExecutors","Pulled","isSome","drain","lastClose","rest","remainingExecutors","NoUpstream","reduce","curr","fin","exits","all","getOrElse","readStack","current","upstream","dieMessage","emitEffect","doneEffect","onDone","onEffect","catchAllCause","exports","self","runScoped","scoped","channelDeferred","scopeDeferred","scope","acquireUseRelease","exec","runScopedInterpret","intoDeferred","await","zipLeft","finalize","tapErrorCause","uninterruptibleMask","restore","parent","fork","sequential","make","child","forkScoped","yieldNow","inheritAll","channelState","op"],"sources":["../../../../src/internal/channel/channelExecutor.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"channelExecutor.js","names":["Cause","_interopRequireWildcard","require","Deferred","Effect","ExecutionStrategy","Exit","Fiber","_Function","Option","Scope","core","ChannelOpCodes","ChildExecutorDecisionOpCodes","ChannelStateOpCodes","UpstreamPullStrategyOpCodes","ContinuationOpCodes","ChannelState","Continuation","Subexecutor","upstreamPullRequest","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ChannelExecutor","_activeSubexecutor","undefined","_cancelled","_closeLastSubstream","_currentChannel","_done","_doneStack","_emitted","_executeCloseLastSubstream","_input","_inProgressFinalizer","_providedEnv","constructor","initialChannel","providedEnv","executeCloseLastSubstream","run","result","processCancellation","runSubexecutor","Done","isEffect","fromEffect","_tag","OP_BRACKET_OUT","runBracketOut","OP_BRIDGE","bridgeInput","input","channel","inputExecutor","drainer","flatMap","awaitRead","suspend","state","OP_DONE","match","getDone","onFailure","cause","error","onSuccess","value","done","OP_EMIT","emit","getEmit","OP_FROM_EFFECT","matchCauseEffect","effect","OP_READ","readUpstream","forkDaemon","interruptible","fiber","sync","addFinalizer","exit","interrupt","restorePipe","void","OP_CONCAT_ALL","executor","prevLastClose","pipe","zipRight","PullFromUpstream","k","x","y","combineInners","combineAll","request","onPull","onEmit","out","Emit","OP_ENSURING","runEnsuring","OP_FAIL","doneHalt","OP_FOLD","push","provide","isFromEffect","doneSucceed","OP_PIPE_TO","previousInput","leftExec","left","right","OP_PROVIDE","previousEnv","context","inner","read","Read","identity","emitted","more","onExit","die","OP_SUCCEED","evaluate","OP_SUCCEED_NOW","terminal","OP_SUSPEND","failCause","cancelWith","clearInProgressFinalizer","storeInProgressFinalizer","finalizer","popAllFinalizers","finalizers","next","pop","length","runFinalizers","popNextFinalizers","builder","cont","OP_CONTINUATION_K","prev","currInput","close","runInProgressFinalizers","ensuring","closeSelf","selfFinalizers","closeSubexecutors","ifNotNull","zip","map","exit1","exit2","exit3","uninterruptible","succeed","head","reverse","finalizerEffect","f","onHalt","bracketOut","acquire","write","ContinuationFinalizerImpl","subexecutor","OP_PULL_FROM_CHILD","pullFromChild","childExecutor","parentSubexecutor","OP_PULL_FROM_UPSTREAM","pullFromUpstream","OP_DRAIN_CHILD_EXECUTORS","drainChildExecutors","replaceSubexecutor","nextSubExec","finishWithExit","finishSubexecutorWithCloseEffect","subexecutorDone","closeFuncs","forEach","closeFunc","closeEffect","discard","applyUpstreamPullStrategy","upstreamFinished","queue","strategy","OP_PULL_AFTER_NEXT","shouldPrepend","some","emitSeparator","OP_PULL_AFTER_ALL_ENQUEUED","shouldEnqueue","onEmitted","childExecutorDecision","OP_CONTINUE","OP_CLOSE","finishWithDoneValue","OP_YIELD","modifiedParent","enqueuePullFromChild","handleSubexecutorFailure","effectOrUndefinedIgnored","doneValue","upstreamExecutor","createChild","lastDone","combineChildResults","activeChildExecutors","combineWithChildResult","DrainChildExecutors","upstreamDone","performPullFromUpstream","activeChild","slice","PullFromChild","closeLastSubstream","updatedChildExecutors","Pulled","isSome","drain","lastClose","rest","remainingExecutors","NoUpstream","reduce","curr","fin","exits","all","getOrElse","readStack","current","upstream","dieMessage","emitEffect","doneEffect","onDone","onEffect","catchAllCause","exports","runIn","dual","self","scope","channelDeferred","scopeDeferred","acquireUseRelease","exec","runScopedInterpret","intoDeferred","await","zipLeft","finalize","tapErrorCause","uninterruptibleMask","restore","fork","sequential","make","child","forkIn","isDone","inheritAll","channelState","op"],"sources":["../../../../src/internal/channel/channelExecutor.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.zipRight = exports.zipLeft = exports.zip = exports.writeChunk = exports.writeAll = exports.withSpan = exports.updateService = exports.unwrapScoped = exports.unwrap = exports.toQueue = exports.toPull = exports.toPubSub = exports.splitLines = exports.serviceWithEffect = exports.serviceWithChannel = exports.serviceWith = exports.service = exports.scoped = exports.runDrain = exports.runCollect = exports.run = exports.repeated = exports.read = exports.provideSomeLayer = exports.provideService = exports.provideLayer = exports.pipeToOrFail = exports.orElse = exports.orDieWith = exports.orDie = exports.never = exports.mergeWith = exports.mergeOutWith = exports.mergeOut = exports.mergeMap = exports.mergeAllWith = exports.mergeAllUnboundedWith = exports.mergeAllUnbounded = exports.mergeAll = exports.mapOutEffectPar = exports.mapOutEffect = exports.mapOut = exports.mapInputInEffect = exports.mapInputIn = exports.mapInputErrorEffect = exports.mapInputError = exports.mapInputEffect = exports.mapInputContext = exports.mapInput = exports.mapErrorCause = exports.mapError = exports.mapEffect = exports.map = exports.isChannelException = exports.interruptWhenDeferred = exports.interruptWhen = exports.identityChannel = exports.fromQueue = exports.fromPubSubScoped = exports.fromPubSub = exports.fromOption = exports.fromInput = exports.fromEither = exports.foldChannel = exports.flatten = exports.ensuring = exports.emitCollect = exports.drain = exports.doneCollect = exports.contextWithEffect = exports.contextWithChannel = exports.contextWith = exports.context = exports.concatOut = exports.concatMap = exports.collect = exports.catchAll = exports.bufferChunk = exports.buffer = exports.asVoid = exports.as = exports.acquireUseRelease = exports.ChannelExceptionTypeId = exports.ChannelException = void 0;
6
+ exports.zipRight = exports.zipLeft = exports.zip = exports.writeChunk = exports.writeAll = exports.withSpan = exports.updateService = exports.unwrapScopedWith = exports.unwrapScoped = exports.unwrap = exports.toQueue = exports.toPullIn = exports.toPull = exports.toPubSub = exports.splitLines = exports.serviceWithEffect = exports.serviceWithChannel = exports.serviceWith = exports.service = exports.scopedWith = exports.scoped = exports.runScoped = exports.runDrain = exports.runCollect = exports.run = exports.repeated = exports.read = exports.provideSomeLayer = exports.provideService = exports.provideLayer = exports.pipeToOrFail = exports.orElse = exports.orDieWith = exports.orDie = exports.never = exports.mergeWith = exports.mergeOutWith = exports.mergeOut = exports.mergeMap = exports.mergeAllWith = exports.mergeAllUnboundedWith = exports.mergeAllUnbounded = exports.mergeAll = exports.mapOutEffectPar = exports.mapOutEffect = exports.mapOut = exports.mapInputInEffect = exports.mapInputIn = exports.mapInputErrorEffect = exports.mapInputError = exports.mapInputEffect = exports.mapInputContext = exports.mapInput = exports.mapErrorCause = exports.mapError = exports.mapEffect = exports.map = exports.isChannelException = exports.interruptWhenDeferred = exports.interruptWhen = exports.identityChannel = exports.fromQueue = exports.fromPubSubScoped = exports.fromPubSub = exports.fromOption = exports.fromInput = exports.fromEither = exports.foldChannel = exports.flatten = exports.ensuring = exports.emitCollect = exports.drain = exports.doneCollect = exports.contextWithEffect = exports.contextWithChannel = exports.contextWith = exports.context = exports.concatOut = exports.concatMap = exports.collect = exports.catchAll = exports.bufferChunk = exports.buffer = exports.asVoid = exports.as = exports.acquireUseRelease = exports.ChannelExceptionTypeId = exports.ChannelException = void 0;
7
7
  var Cause = _interopRequireWildcard(require("../Cause.js"));
8
8
  var Chunk = _interopRequireWildcard(require("../Chunk.js"));
9
9
  var Context = _interopRequireWildcard(require("../Context.js"));
@@ -273,31 +273,27 @@ const mapOutEffect = exports.mapOutEffect = /*#__PURE__*/(0, _Function.dual)(2,
273
273
  return core.pipeTo(self, reader);
274
274
  });
275
275
  /** @internal */
276
- const mapOutEffectPar = exports.mapOutEffectPar = /*#__PURE__*/(0, _Function.dual)(3, (self, f, n) => (0, _Function.pipe)(Effect.gen(function* ($) {
277
- const queue = yield* $(Effect.acquireRelease(Queue.bounded(n), queue => Queue.shutdown(queue)));
278
- const errorSignal = yield* $(Deferred.make());
279
- const withPermits = n === Number.POSITIVE_INFINITY ? _ => _Function.identity : (yield* $(Effect.makeSemaphore(n))).withPermits;
280
- const pull = yield* $(toPull(self));
281
- yield* $(Effect.matchCauseEffect(pull, {
276
+ const mapOutEffectPar = exports.mapOutEffectPar = /*#__PURE__*/(0, _Function.dual)(3, (self, f, n) => unwrapScopedWith(scope => Effect.gen(function* () {
277
+ const input = yield* singleProducerAsyncInput.make();
278
+ const queueReader = fromInput(input);
279
+ const queue = yield* Queue.bounded(n);
280
+ yield* Scope.addFinalizer(scope, Queue.shutdown(queue));
281
+ const errorSignal = yield* Deferred.make();
282
+ const withPermits = n === Number.POSITIVE_INFINITY ? _ => _Function.identity : (yield* Effect.makeSemaphore(n)).withPermits;
283
+ const pull = yield* queueReader.pipe(core.pipeTo(self), toPullIn(scope));
284
+ yield* pull.pipe(Effect.matchCauseEffect({
282
285
  onFailure: cause => Queue.offer(queue, Effect.failCause(cause)),
283
- onSuccess: either => Either.match(either, {
284
- onLeft: outDone => {
285
- const lock = withPermits(n);
286
- return Effect.zipRight(Effect.interruptible(lock(Effect.void)), Effect.asVoid(Queue.offer(queue, Effect.succeed(Either.left(outDone)))));
287
- },
288
- onRight: outElem => Effect.gen(function* ($) {
289
- const deferred = yield* $(Deferred.make());
290
- const latch = yield* $(Deferred.make());
291
- yield* $(Effect.asVoid(Queue.offer(queue, Effect.map(Deferred.await(deferred), Either.right))));
292
- yield* $(Deferred.succeed(latch, void 0), Effect.zipRight((0, _Function.pipe)(Effect.uninterruptibleMask(restore => (0, _Function.pipe)(Effect.exit(restore(Deferred.await(errorSignal))), Effect.raceFirst(Effect.exit(restore(f(outElem)))),
293
- // TODO: remove
294
- Effect.flatMap(exit => Effect.suspend(() => exit)))), Effect.tapErrorCause(cause => Deferred.failCause(errorSignal, cause)), Effect.intoDeferred(deferred))), withPermits(1), Effect.forkScoped);
295
- yield* $(Deferred.await(latch));
286
+ onSuccess: Either.match({
287
+ onLeft: outDone => Effect.zipRight(Effect.interruptible(withPermits(n)(Effect.void)), Effect.asVoid(Queue.offer(queue, Effect.succeed(Either.left(outDone))))),
288
+ onRight: outElem => Effect.gen(function* () {
289
+ const deferred = yield* Deferred.make();
290
+ const latch = yield* Deferred.make();
291
+ yield* Queue.offer(queue, Effect.map(Deferred.await(deferred), Either.right));
292
+ yield* Deferred.succeed(latch, void 0).pipe(Effect.zipRight(Effect.uninterruptibleMask(restore => Effect.exit(restore(Deferred.await(errorSignal))).pipe(Effect.raceFirst(Effect.exit(restore(f(outElem)))), Effect.flatMap(_Function.identity))).pipe(Effect.tapErrorCause(cause => Deferred.failCause(errorSignal, cause)), Effect.intoDeferred(deferred))), withPermits(1), Effect.forkIn(scope));
293
+ yield* Deferred.await(latch);
296
294
  })
297
295
  })
298
- }), Effect.forever, Effect.interruptible, Effect.forkScoped);
299
- return queue;
300
- }), Effect.map(queue => {
296
+ }), Effect.forever, Effect.interruptible, Effect.forkIn(scope));
301
297
  const consumer = unwrap(Effect.matchCause(Effect.flatten(Queue.take(queue)), {
302
298
  onFailure: core.failCause,
303
299
  onSuccess: Either.match({
@@ -305,8 +301,8 @@ const mapOutEffectPar = exports.mapOutEffectPar = /*#__PURE__*/(0, _Function.dua
305
301
  onRight: outElem => core.flatMap(core.write(outElem), () => consumer)
306
302
  })
307
303
  }));
308
- return consumer;
309
- }), unwrapScoped));
304
+ return core.embedInput(consumer, input);
305
+ })));
310
306
  /** @internal */
311
307
  const mergeAll = options => {
312
308
  return channels => mergeAllWith(options)(channels, _Function.constVoid);
@@ -327,63 +323,65 @@ const mergeAllWith = ({
327
323
  bufferSize = 16,
328
324
  concurrency,
329
325
  mergeStrategy = _mergeStrategy.BackPressure()
330
- }) => (channels, f) => (0, _Function.pipe)(Effect.gen(function* ($) {
326
+ }) => (channels, f) => unwrapScopedWith(scope => Effect.gen(function* () {
331
327
  const concurrencyN = concurrency === "unbounded" ? Number.MAX_SAFE_INTEGER : concurrency;
332
- const input = yield* $(singleProducerAsyncInput.make());
328
+ const input = yield* singleProducerAsyncInput.make();
333
329
  const queueReader = fromInput(input);
334
- const queue = yield* $(Effect.acquireRelease(Queue.bounded(bufferSize), queue => Queue.shutdown(queue)));
335
- const cancelers = yield* $(Effect.acquireRelease(Queue.unbounded(), queue => Queue.shutdown(queue)));
336
- const lastDone = yield* $(Ref.make(Option.none()));
337
- const errorSignal = yield* $(Deferred.make());
338
- const withPermits = (yield* $(Effect.makeSemaphore(concurrencyN))).withPermits;
339
- const pull = yield* $(toPull(channels));
340
- const evaluatePull = pull => (0, _Function.pipe)(Effect.flatMap(pull, Either.match({
341
- onLeft: done => Effect.succeed(Option.some(done)),
342
- onRight: outElem => Effect.as(Queue.offer(queue, Effect.succeed(Either.right(outElem))), Option.none())
343
- })), Effect.repeat({
344
- until: _ => Option.isSome(_)
345
- }), Effect.flatMap(outDone => Ref.update(lastDone, Option.match({
346
- onNone: () => Option.some(outDone.value),
347
- onSome: lastDone => Option.some(f(lastDone, outDone.value))
348
- }))), Effect.catchAllCause(cause => Cause.isInterrupted(cause) ? Effect.failCause(cause) : (0, _Function.pipe)(Queue.offer(queue, Effect.failCause(cause)), Effect.zipRight(Deferred.succeed(errorSignal, void 0)), Effect.asVoid)));
349
- yield* $(Effect.matchCauseEffect(pull, {
350
- onFailure: cause => (0, _Function.pipe)(Queue.offer(queue, Effect.failCause(cause)), Effect.zipRight(Effect.succeed(false))),
330
+ const queue = yield* Queue.bounded(bufferSize);
331
+ yield* Scope.addFinalizer(scope, Queue.shutdown(queue));
332
+ const cancelers = yield* Queue.unbounded();
333
+ yield* Scope.addFinalizer(scope, Queue.shutdown(cancelers));
334
+ const lastDone = yield* Ref.make(Option.none());
335
+ const errorSignal = yield* Deferred.make();
336
+ const withPermits = (yield* Effect.makeSemaphore(concurrencyN)).withPermits;
337
+ const pull = yield* toPullIn(core.pipeTo(queueReader, channels), scope);
338
+ function evaluatePull(pull) {
339
+ return pull.pipe(Effect.flatMap(Either.match({
340
+ onLeft: done => Effect.succeed(Option.some(done)),
341
+ onRight: outElem => Effect.as(Queue.offer(queue, Effect.succeed(Either.right(outElem))), Option.none())
342
+ })), Effect.repeat({
343
+ until: _ => Option.isSome(_)
344
+ }), Effect.flatMap(outDone => Ref.update(lastDone, Option.match({
345
+ onNone: () => Option.some(outDone.value),
346
+ onSome: lastDone => Option.some(f(lastDone, outDone.value))
347
+ }))), Effect.catchAllCause(cause => Cause.isInterrupted(cause) ? Effect.failCause(cause) : Queue.offer(queue, Effect.failCause(cause)).pipe(Effect.zipRight(Deferred.succeed(errorSignal, void 0)), Effect.asVoid)));
348
+ }
349
+ yield* pull.pipe(Effect.matchCauseEffect({
350
+ onFailure: cause => Queue.offer(queue, Effect.failCause(cause)).pipe(Effect.zipRight(Effect.succeed(false))),
351
351
  onSuccess: Either.match({
352
352
  onLeft: outDone => Effect.raceWith(Effect.interruptible(Deferred.await(errorSignal)), Effect.interruptible(withPermits(concurrencyN)(Effect.void)), {
353
353
  onSelfDone: (_, permitAcquisition) => Effect.as(Fiber.interrupt(permitAcquisition), false),
354
- onOtherDone: (_, failureAwait) => Effect.zipRight(Fiber.interrupt(failureAwait), (0, _Function.pipe)(Ref.get(lastDone), Effect.flatMap(Option.match({
354
+ onOtherDone: (_, failureAwait) => Effect.zipRight(Fiber.interrupt(failureAwait), Ref.get(lastDone).pipe(Effect.flatMap(Option.match({
355
355
  onNone: () => Queue.offer(queue, Effect.succeed(Either.left(outDone))),
356
356
  onSome: lastDone => Queue.offer(queue, Effect.succeed(Either.left(f(lastDone, outDone))))
357
357
  })), Effect.as(false)))
358
358
  }),
359
359
  onRight: channel => _mergeStrategy.match(mergeStrategy, {
360
- onBackPressure: () => Effect.gen(function* ($) {
361
- const latch = yield* $(Deferred.make());
362
- const raceEffects = (0, _Function.pipe)(queueReader, core.pipeTo(channel), toPull, Effect.flatMap(pull => Effect.race(evaluatePull(pull), Effect.interruptible(Deferred.await(errorSignal)))), Effect.scoped);
363
- yield* $(Deferred.succeed(latch, void 0), Effect.zipRight(raceEffects), withPermits(1), Effect.forkScoped);
364
- yield* $(Deferred.await(latch));
365
- const errored = yield* $(Deferred.isDone(errorSignal));
360
+ onBackPressure: () => Effect.gen(function* () {
361
+ const latch = yield* Deferred.make();
362
+ const raceEffects = Effect.scopedWith(scope => toPullIn(core.pipeTo(queueReader, channel), scope).pipe(Effect.flatMap(pull => Effect.race(Effect.exit(evaluatePull(pull)), Effect.exit(Effect.interruptible(Deferred.await(errorSignal))))), Effect.flatMap(_Function.identity)));
363
+ yield* Deferred.succeed(latch, void 0).pipe(Effect.zipRight(raceEffects), withPermits(1), Effect.forkIn(scope));
364
+ yield* Deferred.await(latch);
365
+ const errored = yield* Deferred.isDone(errorSignal);
366
366
  return !errored;
367
367
  }),
368
- onBufferSliding: () => Effect.gen(function* ($) {
369
- const canceler = yield* $(Deferred.make());
370
- const latch = yield* $(Deferred.make());
371
- const size = yield* $(Queue.size(cancelers));
372
- yield* $(Queue.take(cancelers), Effect.flatMap(_ => Deferred.succeed(_, void 0)), Effect.when(() => size >= concurrencyN));
373
- yield* $(Queue.offer(cancelers, canceler));
374
- const raceEffects = (0, _Function.pipe)(queueReader, core.pipeTo(channel), toPull, Effect.flatMap(pull => (0, _Function.pipe)(evaluatePull(pull), Effect.race(Effect.interruptible(Deferred.await(errorSignal))), Effect.race(Effect.interruptible(Deferred.await(canceler))))), Effect.scoped);
375
- yield* $(Deferred.succeed(latch, void 0), Effect.zipRight(raceEffects), withPermits(1), Effect.forkScoped);
376
- yield* $(Deferred.await(latch));
377
- const errored = yield* $(Deferred.isDone(errorSignal));
368
+ onBufferSliding: () => Effect.gen(function* () {
369
+ const canceler = yield* Deferred.make();
370
+ const latch = yield* Deferred.make();
371
+ const size = yield* Queue.size(cancelers);
372
+ yield* Queue.take(cancelers).pipe(Effect.flatMap(canceler => Deferred.succeed(canceler, void 0)), Effect.when(() => size >= concurrencyN));
373
+ yield* Queue.offer(cancelers, canceler);
374
+ const raceEffects = Effect.scopedWith(scope => toPullIn(core.pipeTo(queueReader, channel), scope).pipe(Effect.flatMap(pull => Effect.exit(evaluatePull(pull)).pipe(Effect.race(Effect.exit(Effect.interruptible(Deferred.await(errorSignal)))), Effect.race(Effect.exit(Effect.interruptible(Deferred.await(canceler)))))), Effect.flatMap(_Function.identity)));
375
+ yield* Deferred.succeed(latch, void 0).pipe(Effect.zipRight(raceEffects), withPermits(1), Effect.forkIn(scope));
376
+ yield* Deferred.await(latch);
377
+ const errored = yield* Deferred.isDone(errorSignal);
378
378
  return !errored;
379
379
  })
380
380
  })
381
381
  })
382
382
  }), Effect.repeat({
383
383
  while: _ => _
384
- }), Effect.forkScoped);
385
- return [queue, input];
386
- }), Effect.map(([queue, input]) => {
384
+ }), Effect.forkIn(scope));
387
385
  const consumer = (0, _Function.pipe)(Queue.take(queue), Effect.flatten, Effect.matchCause({
388
386
  onFailure: core.failCause,
389
387
  onSuccess: Either.match({
@@ -392,7 +390,7 @@ const mergeAllWith = ({
392
390
  })
393
391
  }), unwrap);
394
392
  return core.embedInput(consumer, input);
395
- }), unwrapScoped);
393
+ }));
396
394
  /** @internal */
397
395
  exports.mergeAllWith = mergeAllWith;
398
396
  const mergeMap = exports.mergeMap = /*#__PURE__*/(0, _Function.dual)(3, (self, f, options) => mergeAll(options)(mapOut(self, f)));
@@ -405,67 +403,84 @@ const mergeOutWith = exports.mergeOutWith = /*#__PURE__*/(0, _Function.dual)(3,
405
403
  concurrency: n
406
404
  })(mapOut(self, _Function.identity), f));
407
405
  /** @internal */
408
- const mergeWith = exports.mergeWith = /*#__PURE__*/(0, _Function.dual)(2, (self, options) => unwrapScoped(Effect.flatMap(singleProducerAsyncInput.make(), input => {
409
- const queueReader = fromInput(input);
410
- return Effect.map(Effect.all([toPull(core.pipeTo(queueReader, self)), toPull(core.pipeTo(queueReader, options.other)), Effect.scope]), ([pullL, pullR, scope]) => {
411
- const handleSide = (exit, fiber, pull) => (done, both, single) => {
412
- const onDecision = decision => {
413
- const op = decision;
414
- if (op._tag === MergeDecisionOpCodes.OP_DONE) {
415
- return Effect.succeed(core.fromEffect(Effect.zipRight(Fiber.interrupt(fiber), op.effect)));
416
- }
417
- return Effect.map(Fiber.await(fiber), Exit.match({
418
- onFailure: cause => core.fromEffect(op.f(Exit.failCause(cause))),
419
- onSuccess: Either.match({
420
- onLeft: done => core.fromEffect(op.f(Exit.succeed(done))),
421
- onRight: elem => zipRight(core.write(elem), go(single(op.f)))
422
- })
423
- }));
424
- };
425
- return Exit.match(exit, {
426
- onFailure: cause => onDecision(done(Exit.failCause(cause))),
427
- onSuccess: Either.match({
428
- onLeft: z => onDecision(done(Exit.succeed(z))),
429
- onRight: elem => Effect.succeed(core.flatMap(core.write(elem), () => core.flatMap(core.fromEffect(Effect.forkIn(Effect.interruptible(pull), scope)), leftFiber => go(both(leftFiber, fiber)))))
430
- })
431
- });
432
- };
433
- const go = state => {
434
- switch (state._tag) {
435
- case MergeStateOpCodes.OP_BOTH_RUNNING:
436
- {
437
- const leftJoin = Effect.interruptible(Fiber.join(state.left));
438
- const rightJoin = Effect.interruptible(Fiber.join(state.right));
439
- return unwrap(Effect.raceWith(leftJoin, rightJoin, {
440
- onSelfDone: (leftExit, rf) => Effect.zipRight(Fiber.interrupt(rf), handleSide(leftExit, state.right, pullL)(options.onSelfDone, mergeState.BothRunning, f => mergeState.LeftDone(f))),
441
- onOtherDone: (rightExit, lf) => Effect.zipRight(Fiber.interrupt(lf), handleSide(rightExit, state.left, pullR)(options.onOtherDone, (left, right) => mergeState.BothRunning(right, left), f => mergeState.RightDone(f)))
442
- }));
443
- }
444
- case MergeStateOpCodes.OP_LEFT_DONE:
445
- {
446
- return unwrap(Effect.map(Effect.exit(pullR), Exit.match({
447
- onFailure: cause => core.fromEffect(state.f(Exit.failCause(cause))),
448
- onSuccess: Either.match({
449
- onLeft: done => core.fromEffect(state.f(Exit.succeed(done))),
450
- onRight: elem => core.flatMap(core.write(elem), () => go(mergeState.LeftDone(state.f)))
451
- })
452
- })));
453
- }
454
- case MergeStateOpCodes.OP_RIGHT_DONE:
455
- {
456
- return unwrap(Effect.map(Effect.exit(pullL), Exit.match({
457
- onFailure: cause => core.fromEffect(state.f(Exit.failCause(cause))),
406
+ const mergeWith = exports.mergeWith = /*#__PURE__*/(0, _Function.dual)(2, (self, options) => {
407
+ function merge(scope) {
408
+ return Effect.gen(function* () {
409
+ const input = yield* singleProducerAsyncInput.make();
410
+ const queueReader = fromInput(input);
411
+ const pullL = yield* toPullIn(core.pipeTo(queueReader, self), scope);
412
+ const pullR = yield* toPullIn(core.pipeTo(queueReader, options.other), scope);
413
+ function handleSide(exit, fiber, pull) {
414
+ return (done, both, single) => {
415
+ function onDecision(decision) {
416
+ const op = decision;
417
+ if (op._tag === MergeDecisionOpCodes.OP_DONE) {
418
+ return Effect.succeed(core.fromEffect(Effect.zipRight(Fiber.interrupt(fiber), op.effect)));
419
+ }
420
+ return Effect.map(Fiber.await(fiber), Exit.match({
421
+ onFailure: cause => core.fromEffect(op.f(Exit.failCause(cause))),
458
422
  onSuccess: Either.match({
459
- onLeft: done => core.fromEffect(state.f(Exit.succeed(done))),
460
- onRight: elem => core.flatMap(core.write(elem), () => go(mergeState.RightDone(state.f)))
423
+ onLeft: done => core.fromEffect(op.f(Exit.succeed(done))),
424
+ onRight: elem => zipRight(core.write(elem), go(single(op.f)))
461
425
  })
462
- })));
426
+ }));
463
427
  }
428
+ return Exit.match(exit, {
429
+ onFailure: cause => onDecision(done(Exit.failCause(cause))),
430
+ onSuccess: Either.match({
431
+ onLeft: z => onDecision(done(Exit.succeed(z))),
432
+ onRight: elem => Effect.succeed(core.flatMap(core.write(elem), () => core.flatMap(core.fromEffect(Effect.forkIn(Effect.interruptible(pull), scope)), leftFiber => go(both(leftFiber, fiber)))))
433
+ })
434
+ });
435
+ };
464
436
  }
465
- };
466
- return (0, _Function.pipe)(core.fromEffect(Effect.zipWith(Effect.forkIn(Effect.interruptible(pullL), scope), Effect.forkIn(Effect.interruptible(pullR), scope), (left, right) => mergeState.BothRunning(left, right))), core.flatMap(go), core.embedInput(input));
467
- });
468
- })));
437
+ function go(state) {
438
+ switch (state._tag) {
439
+ case MergeStateOpCodes.OP_BOTH_RUNNING:
440
+ {
441
+ const leftJoin = Effect.interruptible(Fiber.join(state.left));
442
+ const rightJoin = Effect.interruptible(Fiber.join(state.right));
443
+ return unwrap(Effect.raceWith(leftJoin, rightJoin, {
444
+ onSelfDone: (leftExit, rf) => Effect.zipRight(Fiber.interrupt(rf), handleSide(leftExit, state.right, pullL)(options.onSelfDone, mergeState.BothRunning, f => mergeState.LeftDone(f))),
445
+ onOtherDone: (rightExit, lf) => Effect.zipRight(Fiber.interrupt(lf), handleSide(rightExit, state.left, pullR)(options.onOtherDone, (left, right) => mergeState.BothRunning(right, left), f => mergeState.RightDone(f)))
446
+ }));
447
+ }
448
+ case MergeStateOpCodes.OP_LEFT_DONE:
449
+ {
450
+ return unwrap(Effect.map(Effect.exit(pullR), Exit.match({
451
+ onFailure: cause => core.fromEffect(state.f(Exit.failCause(cause))),
452
+ onSuccess: Either.match({
453
+ onLeft: done => core.fromEffect(state.f(Exit.succeed(done))),
454
+ onRight: elem => core.flatMap(core.write(elem), () => go(mergeState.LeftDone(state.f)))
455
+ })
456
+ })));
457
+ }
458
+ case MergeStateOpCodes.OP_RIGHT_DONE:
459
+ {
460
+ return unwrap(Effect.map(Effect.exit(pullL), Exit.match({
461
+ onFailure: cause => core.fromEffect(state.f(Exit.failCause(cause))),
462
+ onSuccess: Either.match({
463
+ onLeft: done => core.fromEffect(state.f(Exit.succeed(done))),
464
+ onRight: elem => core.flatMap(core.write(elem), () => go(mergeState.RightDone(state.f)))
465
+ })
466
+ })));
467
+ }
468
+ }
469
+ }
470
+ return core.fromEffect(Effect.withFiberRuntime(parent => {
471
+ const inherit = Effect.withFiberRuntime(state => {
472
+ ;
473
+ state.transferChildren(parent.scope());
474
+ return Effect.void;
475
+ });
476
+ const leftFiber = Effect.interruptible(pullL).pipe(Effect.ensuring(inherit), Effect.forkIn(scope));
477
+ const rightFiber = Effect.interruptible(pullR).pipe(Effect.ensuring(inherit), Effect.forkIn(scope));
478
+ return Effect.zipWith(leftFiber, rightFiber, (left, right) => mergeState.BothRunning(left, right));
479
+ })).pipe(core.flatMap(go), core.embedInput(input));
480
+ });
481
+ }
482
+ return unwrapScopedWith(merge);
483
+ });
469
484
  /** @internal */
470
485
  const never = exports.never = /*#__PURE__*/core.fromEffect(Effect.never);
471
486
  /** @internal */
@@ -499,7 +514,7 @@ const provideService = exports.provideService = /*#__PURE__*/(0, _Function.dual)
499
514
  return core.flatMap(context(), context => core.provideContext(self, Context.add(context, tag, service)));
500
515
  });
501
516
  /** @internal */
502
- const provideLayer = exports.provideLayer = /*#__PURE__*/(0, _Function.dual)(2, (self, layer) => unwrapScoped(Effect.map(Layer.build(layer), env => core.provideContext(self, env))));
517
+ const provideLayer = exports.provideLayer = /*#__PURE__*/(0, _Function.dual)(2, (self, layer) => unwrapScopedWith(scope => Effect.map(Layer.buildWithScope(layer, scope), context => core.provideContext(self, context))));
503
518
  /** @internal */
504
519
  const mapInputContext = exports.mapInputContext = /*#__PURE__*/(0, _Function.dual)(2, (self, f) => contextWithChannel(context => core.provideContext(self, f(context))));
505
520
  /** @internal */
@@ -513,18 +528,24 @@ exports.read = read;
513
528
  const repeated = self => core.flatMap(self, () => repeated(self));
514
529
  /** @internal */
515
530
  exports.repeated = repeated;
516
- const run = self => Effect.scoped(executor.runScoped(self));
531
+ const run = self => Effect.scopedWith(scope => executor.runIn(self, scope));
517
532
  /** @internal */
518
533
  exports.run = run;
519
- const runCollect = self => executor.run(core.collectElements(self));
534
+ const runCollect = self => run(core.collectElements(self));
520
535
  /** @internal */
521
536
  exports.runCollect = runCollect;
522
- const runDrain = self => executor.run(drain(self));
537
+ const runDrain = self => run(drain(self));
523
538
  /** @internal */
524
539
  exports.runDrain = runDrain;
540
+ const runScoped = self => Effect.scopeWith(scope => executor.runIn(self, scope));
541
+ /** @internal */
542
+ exports.runScoped = runScoped;
525
543
  const scoped = effect => unwrap(Effect.uninterruptibleMask(restore => Effect.map(Scope.make(), scope => core.acquireReleaseOut(Effect.tapErrorCause(restore(Scope.extend(effect, scope)), cause => Scope.close(scope, Exit.failCause(cause))), (_, exit) => Scope.close(scope, exit)))));
526
544
  /** @internal */
527
545
  exports.scoped = scoped;
546
+ const scopedWith = f => unwrapScoped(Effect.map(Effect.scope, scope => core.flatMap(core.fromEffect(f(scope)), core.write)));
547
+ /** @internal */
548
+ exports.scopedWith = scopedWith;
528
549
  const service = tag => core.fromEffect(tag);
529
550
  /** @internal */
530
551
  exports.service = service;
@@ -614,12 +635,14 @@ exports.splitLines = splitLines;
614
635
  const toPubSub = pubsub => toQueue(pubsub);
615
636
  /** @internal */
616
637
  exports.toPubSub = toPubSub;
617
- const toPull = self => Effect.map(Effect.acquireRelease(Effect.sync(() => new executor.ChannelExecutor(self, void 0, _Function.identity)), (exec, exit) => {
618
- const finalize = exec.close(exit);
619
- return finalize === undefined ? Effect.void : finalize;
620
- }), exec => Effect.suspend(() => interpretToPull(exec.run(), exec)));
638
+ const toPull = self => Effect.flatMap(Effect.scope, scope => toPullIn(self, scope));
621
639
  /** @internal */
622
640
  exports.toPull = toPull;
641
+ const toPullIn = exports.toPullIn = /*#__PURE__*/(0, _Function.dual)(2, (self, scope) => Effect.zip(Effect.sync(() => new executor.ChannelExecutor(self, void 0, _Function.identity)), Effect.runtime()).pipe(Effect.tap(([executor, runtime]) => Scope.addFinalizerExit(scope, exit => {
642
+ const finalizer = executor.close(exit);
643
+ return finalizer !== undefined ? Effect.provide(finalizer, runtime) : Effect.void;
644
+ })), Effect.uninterruptible, Effect.map(([executor]) => Effect.suspend(() => interpretToPull(executor.run(), executor)))));
645
+ /** @internal */
623
646
  const interpretToPull = (channelState, exec) => {
624
647
  const state = channelState;
625
648
  switch (state._tag) {
@@ -662,6 +685,9 @@ exports.unwrap = unwrap;
662
685
  const unwrapScoped = self => core.concatAllWith(scoped(self), (d, _) => d, (d, _) => d);
663
686
  /** @internal */
664
687
  exports.unwrapScoped = unwrapScoped;
688
+ const unwrapScopedWith = f => core.concatAllWith(scopedWith(f), (d, _) => d, (d, _) => d);
689
+ /** @internal */
690
+ exports.unwrapScopedWith = unwrapScopedWith;
665
691
  const updateService = exports.updateService = /*#__PURE__*/(0, _Function.dual)(3, (self, tag, f) => mapInputContext(self, context => Context.merge(context, Context.make(tag, f(Context.unsafeGet(context, tag))))));
666
692
  /** @internal */
667
693
  const withSpan = function () {