// ets_tracing: off import type * as T from "../../../../Effect/index.js" import * as C from "../core.js" /** * Returns a new channel, which is the same as this one, except the terminal value of the * returned channel is created by applying the specified effectful function to the terminal value * of this channel. */ export function mapEffect_< Env, Env1, InErr, InElem, InDone, OutErr, OutErr1, OutElem, OutDone, OutDone1 >( self: C.Channel, f: (o: OutDone) => T.Effect ): C.Channel { return C.chain_(self, (z) => C.fromEffect(f(z))) } /** * Returns a new channel, which is the same as this one, except the terminal value of the * returned channel is created by applying the specified effectful function to the terminal value * of this channel. * * @ets_data_first mapEffect_ */ export function mapEffect( f: (o: OutDone) => T.Effect ) { return ( self: C.Channel ) => mapEffect_(self, f) }