Hyperlinkv0.8.0-beta.28

Channel

Channel.ignoreconsteffect/Channel.ts:5621
<
  Arg extends
    | Channel<any, any, any, any, any, any, any>
    | { readonly log?: boolean | Severity | undefined }
    | undefined = { readonly log?: boolean | Severity | undefined }
>(
  selfOrOptions: Arg,
  options?: { readonly log?: boolean | Severity | undefined } | undefined
): [Arg] extends [
  Channel<
    infer OutElem,
    infer _OutErr,
    infer OutDone,
    infer InElem,
    infer InErr,
    infer InDone,
    infer Env
  >
]
  ? Channel<OutElem, never, OutDone | void, InElem, InErr, InDone, Env>
  : <OutElem, OutErr, OutDone, InElem, InErr, InDone, Env>(
      self: Channel<OutElem, OutErr, OutDone, InElem, InErr, InDone, Env>
    ) => Channel<
      OutElem,
      never,
      OutDone | void,
      InElem,
      InErr,
      InDone,
      Env
    >

Ignores all errors in the channel, converting them to an empty channel.

Details

Use the log option to emit the full Cause when the channel fails.

error handlingCause
Source effect/Channel.ts:562134 lines
export const ignore: <
  Arg extends Channel<any, any, any, any, any, any, any> | {
    readonly log?: boolean | Severity | undefined
  } | undefined = {
    readonly log?: boolean | Severity | undefined
  }
>(
  selfOrOptions: Arg,
  options?: {
    readonly log?: boolean | Severity | undefined
  } | undefined
) => [Arg] extends
  [Channel<infer OutElem, infer _OutErr, infer OutDone, infer InElem, infer InErr, infer InDone, infer Env>]
  ? Channel<OutElem, never, OutDone | void, InElem, InErr, InDone, Env>
  : <OutElem, OutErr, OutDone, InElem, InErr, InDone, Env>(
    self: Channel<OutElem, OutErr, OutDone, InElem, InErr, InDone, Env>
  ) => Channel<OutElem, never, OutDone | void, InElem, InErr, InDone, Env> = dual(
    (args) => isChannel(args[0]),
    <OutElem, OutErr, OutDone, InElem, InErr, InDone, Env>(
      self: Channel<OutElem, OutErr, OutDone, InElem, InErr, InDone, Env>,
      options?: {
        readonly log?: boolean | Severity | undefined
      } | undefined
    ): Channel<OutElem, never, OutDone | void, InElem, InErr, InDone, Env> => {
      if (!options?.log) {
        return catch_(self, () => empty)
      }
      const logEffect = Effect.logWithLevel(options.log === true ? undefined : options.log)
      return catch_(
        tapCause(self, (cause) => Cause.hasFails(cause) ? logEffect(cause) : Effect.void),
        () => empty
      )
    }
  )
Referenced by 1 symbols