Hyperlinkv0.8.0-beta.28

Channel

Channel.mapInputconsteffect/Channel.ts:2063
<InElem, InElem2, InErr, R = never>(
  f: (i: InElem2) => Effect.Effect<InElem, InErr, R>
): <OutElem, OutErr, OutDone, InErr, InDone, Env>(
  self: Channel<OutElem, OutErr, OutDone, InElem, InErr, InDone, Env | R>
) => Channel<OutElem, OutErr, OutDone, InElem2, InErr, InDone, Env>
<
  OutElem,
  OutErr,
  OutDone,
  InElem,
  InErr,
  InDone,
  Env,
  InElem2,
  R = never
>(
  self: Channel<OutElem, OutErr, OutDone, InElem, InErr, InDone, Env>,
  f: (i: InElem2) => Effect.Effect<InElem, InErr, R>
): Channel<OutElem, OutErr, OutDone, InElem2, InErr, InDone, Env | R>

Returns a new channel which is the same as this one but applies the given function to the input channel’s input elements.

sequencing
Source effect/Channel.ts:206320 lines
export const mapInput: {
  <InElem, InElem2, InErr, R = never>(
    f: (i: InElem2) => Effect.Effect<InElem, InErr, R>
  ): <OutElem, OutErr, OutDone, InErr, InDone, Env>(
    self: Channel<OutElem, OutErr, OutDone, InElem, InErr, InDone, Env | R>
  ) => Channel<OutElem, OutErr, OutDone, InElem2, InErr, InDone, Env>
  <OutElem, OutErr, OutDone, InElem, InErr, InDone, Env, InElem2, R = never>(
    self: Channel<OutElem, OutErr, OutDone, InElem, InErr, InDone, Env>,
    f: (i: InElem2) => Effect.Effect<InElem, InErr, R>
  ): Channel<OutElem, OutErr, OutDone, InElem2, InErr, InDone, Env | R>
} = dual(2, <OutElem, OutErr, OutDone, InElem, InErr, InDone, Env, InElem2, R = never>(
  self: Channel<OutElem, OutErr, OutDone, InElem, InErr, InDone, Env>,
  f: (i: InElem2) => Effect.Effect<InElem, InErr, R>
): Channel<OutElem, OutErr, OutDone, InElem2, InErr, InDone, Env | R> =>
  fromTransform((upstream, scope) =>
    toTransform(self)(
      Effect.flatMap(upstream, (el) => f(el)) as Pull.Pull<InElem, InErr, InDone>,
      scope
    )
  ))