const fileName_1 = "(@effect/core) _src/stream/Stream/operations/do.ts";
import * as tsplus_module_1 from "@effect/core/stream/Stream/operations/map";
import * as tsplus_module_2 from "@effect/core/stream/Stream/operations/flatMap";
import * as tsplus_module_3 from "@effect/core/io/Effect/operations/succeedNow";
import * as tsplus_module_4 from "@effect/core/stream/Stream/operations/fromEffect";
/**
 * @tsplus fluent ets/Stream bind
 */

export function bind_(self, tag, f) {
  return tsplus_module_2.flatMap_(self, k => tsplus_module_1.map_(f(k), a => ({ ...k,
    [tag]: a
  }), fileName_1 + ":9:38"), fileName_1 + ":9:22");
}
/**
 * @tsplus static ets/Stream/Aspects bind
 */

export const bind = (tag, f) => self => bind_(self, tag, f);
/**
 * @tsplus fluent ets/Stream bindValue
 */

export function bindValue_(self, tag, f) {
  return tsplus_module_1.map_(self, k => ({ ...k,
    [tag]: f(k)
  }), fileName_1 + ":25:18");
}
/**
 * @tsplus static ets/Stream/Aspects bindValue
 */

export const bindValue = (tag, f) => self => bindValue_(self, tag, f);
/**
 * @tsplus static ets/Stream/Ops Do
 */

export function Do(__tsplusTrace) {
  return tsplus_module_4.fromEffect(() => tsplus_module_3.succeedNow({}, __tsplusTrace), __tsplusTrace);
}
//# sourceMappingURL=do.mjs.map