"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.flatMap = void 0;
exports.flatMap_ = flatMap_;

var _primitives = /*#__PURE__*/require("@effect/core/io/Effect/definition/primitives");

/**
 * Returns an effect that models the execution of this effect, followed by the
 * passing of its value to the specified continuation function `k`, followed
 * by the effect that it returns.
 *
 * @tsplus fluent ets/Effect flatMap
 */
function flatMap_(self, f, __tsplusTrace) {
  return new _primitives.IFlatMap(self, f, __tsplusTrace);
}
/**
 * Returns an effect that models the execution of this effect, followed by the
 * passing of its value to the specified continuation function `k`, followed
 * by the effect that it returns.
 *
 * @tsplus static ets/Effect/Aspects flatMap
 */


const flatMap = (f, __tsplusTrace) => self => flatMap_(self, f, __tsplusTrace);

exports.flatMap = flatMap;
//# sourceMappingURL=flatMap.js.map