import * as tsplus_module_1 from "@effect/core/stream/Channel/operations/suspend";
import { concreteSink, SinkInternal } from "@effect/core/stream/Sink/operations/_internal/SinkInternal";
/**
 * Returns a lazily constructed sink that may require effects for its
 * creation.
 *
 * @tsplus static ets/Sink/Ops suspend
 */

export function suspend(sink, __tsplusTrace) {
  return new SinkInternal(tsplus_module_1.suspend(() => {
    const sink0 = sink();
    void 0;
    return sink0.channel;
  }));
}
//# sourceMappingURL=suspend.mjs.map