import * as tsplus_module_1 from "@tsplus/stdlib/data/Maybe/definition";
import * as tsplus_module_2 from "@effect/core/stream/Channel/UpstreamPullStrategy";
import * as tsplus_module_3 from "@effect/core/stream/Channel/ChildExecutorDecision";
import * as tsplus_module_4 from "@tsplus/stdlib/data/Function";
import { ConcatAll } from "@effect/core/stream/Channel/definition/primitives";
/**
 * Concat sequentially a channel of channels.
 *
 * @tsplus static ets/Channel/Ops concatAllWith
 */

export function concatAllWith(channels, f, g) {
  return new ConcatAll(f, g, () => tsplus_module_2.pullAfterNext(tsplus_module_1.none), () => tsplus_module_3._continue, channels, tsplus_module_4.identity);
}
//# sourceMappingURL=concatAllWith.mjs.map