Thanks to visit codestin.com
Credit goes to effect-ts.github.io

Skip to main content Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App

FlatMap.ts overview

Since v0.24.0


Exports Grouped by Category


type class

FlatMap (interface)

Signature

export interface FlatMap<F extends TypeLambda> extends TypeClass<F> {
  readonly flatMap: {
    <A, R2, O2, E2, B>(
      f: (a: A) => Kind<F, R2, O2, E2, B>
    ): <R1, O1, E1>(self: Kind<F, R1, O1, E1, A>) => Kind<F, R1 & R2, O1 | O2, E1 | E2, B>
    <R1, O1, E1, A, R2, O2, E2, B>(
      self: Kind<F, R1, O1, E1, A>,
      f: (a: A) => Kind<F, R2, O2, E2, B>
    ): Kind<F, R1 & R2, O1 | O2, E1 | E2, B>
  }
}

Source

Since v0.24.0

utils

composeK

Signature

declare const composeK: <F extends TypeLambda>(
  F: FlatMap<F>
) => {
  <B, R2, O2, E2, C>(
    bfc: (b: B) => Kind<F, R2, O2, E2, C>
  ): <A, R1, O1, E1>(afb: (a: A) => Kind<F, R1, O1, E1, B>) => (a: A) => Kind<F, R1 & R2, O2 | O1, E2 | E1, C>
  <A, R1, O1, E1, B, R2, O2, E2, C>(
    afb: (a: A) => Kind<F, R1, O1, E1, B>,
    bfc: (b: B) => Kind<F, R2, O2, E2, C>
  ): (a: A) => Kind<F, R1 & R2, O1 | O2, E1 | E2, C>
}

Source

Since v0.24.0

flatten

Signature

declare const flatten: <F extends TypeLambda>(
  F: FlatMap<F>
) => <R2, O2, E2, R1, O1, E1, A>(
  self: Kind<F, R2, O2, E2, Kind<F, R1, O1, E1, A>>
) => Kind<F, R1 & R2, O1 | O2, E1 | E2, A>

Source

Since v0.24.0

zipRight

A variant of flatMap that ignores the value produced by this effect.

Signature

declare const zipRight: <F extends TypeLambda>(
  F: FlatMap<F>
) => {
  <R2, O2, E2, B>(
    that: Kind<F, R2, O2, E2, B>
  ): <R1, O1, E1, _>(self: Kind<F, R1, O1, E1, _>) => Kind<F, R1 & R2, O2 | O1, E2 | E1, B>
  <R1, O1, E1, _, R2, O2, E2, B>(
    self: Kind<F, R1, O1, E1, _>,
    that: Kind<F, R2, O2, E2, B>
  ): Kind<F, R1 & R2, O1 | O2, E1 | E2, B>
}

Source

Since v0.24.0