IO

interface IO<T> {
    @@type: string;
    ap<V>(ioFn: monet.IO<((v: T) => V)>): monet.IO<V>;
    apTo<V>(value: monet.IO<V>): T extends ((arg: V) => any)
        ? monet.IO<ReturnType<T<T>>>
        : never;
    bind<V>(fn: ((val: T) => monet.IO<V>)): monet.IO<V>;
    chain<V>(fn: ((val: T) => monet.IO<V>)): monet.IO<V>;
    fantasy-land/ap?<V>(afn: monet.Applicative<((val: T) => V)>): monet.Applicative<V>;
    fantasy-land/chain?<V>(fn: ((val: T) => monet.Chain<V>)): monet.Chain<V>;
    fantasy-land/map?<V>(fn: ((val: T) => V)): monet.Functor<V>;
    flatMap<V>(fn: ((val: T) => monet.IO<V>)): monet.IO<V>;
    join<V>(): monet.IO<V>;
    map<V>(fn: ((v: T) => V)): monet.IO<V>;
    perform(): T;
    performUnsafeIO(): T;
    run(): T;
    takeLeft<X>(m: monet.IO<X>): monet.IO<T>;
    takeRight<V>(m: monet.IO<V>): monet.IO<V>;
}

Type Parameters

  • T

Hierarchy-Diagram

UML class diagram of IO
Legend
icon for an interface in the UML class diagram interface
icon for a public method in the UML class diagram public method

Hierarchy (view full)

Properties

@@type: string

Methods

  • Type Parameters

    • V

    Parameters

    • fn: ((v: T) => V)
        • (v: T): V
        • Parameters

          Returns V

    Returns monet.IO<V>

  • Returns T

  • Returns T

  • Returns T