/** * @since 0.1.0 */ import { Applicative3 } from 'fp-ts/lib/Applicative' import { Apply3 } from 'fp-ts/lib/Apply' import { Either } from 'fp-ts/lib/Either' import { Predicate, Refinement } from 'fp-ts/lib/function' import { Functor3 } from 'fp-ts/lib/Functor' import { IO } from 'fp-ts/lib/IO' import { IOEither } from 'fp-ts/lib/IOEither' import { Monad3 } from 'fp-ts/lib/Monad' import { MonadThrow3 } from 'fp-ts/lib/MonadThrow' import { Option } from 'fp-ts/lib/Option' import { State } from 'fp-ts/lib/State' import { Task } from 'fp-ts/lib/Task' import * as TE from 'fp-ts/lib/TaskEither' import TaskEither = TE.TaskEither /** * @category model * @since 0.1.0 */ export interface StateTaskEither { (s: S): TaskEither } /** * @category constructors * @since 0.1.0 */ export declare const get: () => StateTaskEither /** * @category constructors * @since 0.1.0 */ export declare const put: (s: S) => StateTaskEither /** * @category constructors * @since 0.1.0 */ export declare const modify: (f: (s: S) => S) => StateTaskEither /** * @category constructors * @since 0.1.0 */ export declare const gets: (f: (s: S) => A) => StateTaskEither /** * @category constructors * @since 0.1.0 */ export declare const left: (e: E) => StateTaskEither /** * @category constructors * @since 0.1.0 */ export declare const right: (a: A) => StateTaskEither /** * @category constructors * @since 0.1.0 */ export declare const leftIO: (me: IO) => StateTaskEither /** * @category constructors * @since 0.1.0 */ export declare const rightIO: (ma: IO) => StateTaskEither /** * @category constructors * @since 0.1.0 */ export declare const leftTask: (me: Task) => StateTaskEither /** * @category constructors * @since 0.1.0 */ export declare const rightTask: (ma: Task) => StateTaskEither /** * @category constructors * @since 0.1.0 */ export declare const leftState: (me: State) => StateTaskEither /** * @category constructors * @since 0.1.0 */ export declare const rightState: (ma: State) => StateTaskEither /** * @category constructors * @since 0.1.18 */ export declare const fromOption: (onNone: () => E) => (ma: Option) => StateTaskEither /** * @category constructors * @since 0.1.18 */ export declare const fromEither: (ma: Either) => StateTaskEither /** * @category constructors * @since 0.1.0 */ export declare const fromIOEither: (ma: IOEither) => StateTaskEither /** * @category constructors * @since 0.1.0 */ export declare const fromTaskEither: (ma: TaskEither) => StateTaskEither /** * @category constructors * @since 0.1.10 */ export declare const fromEitherK: , B>( f: (...a: A) => Either ) => (...a: A) => StateTaskEither /** * @category constructors * @since 0.1.10 */ export declare const fromIOEitherK: , B>( f: (...a: A) => IOEither ) => (...a: A) => StateTaskEither /** * @category constructors * @since 0.1.10 */ export declare const fromTaskEitherK: , B>( f: (...a: A) => TaskEither ) => (...a: A) => StateTaskEither /** * @category constructors * @since 0.1.18 */ export declare const fromPredicate: { (refinement: Refinement, onFalse: (a: A) => E): (a: A) => StateTaskEither (predicate: Predicate, onFalse: (a: A) => E): (a: A) => StateTaskEither } /** * @category combinators * @since 0.1.18 */ export declare const filterOrElse: { (refinement: Refinement, onFalse: (a: A) => E): ( ma: StateTaskEither ) => StateTaskEither (predicate: Predicate, onFalse: (a: A) => E): (ma: StateTaskEither) => StateTaskEither } /** * @category Functor * @since 0.1.18 */ export declare const map: (f: (a: A) => B) => (fa: StateTaskEither) => StateTaskEither /** * @category Apply * @since 0.1.18 */ export declare const ap: ( fa: StateTaskEither ) => (fab: StateTaskEither B>) => StateTaskEither /** * @category Apply * @since 0.1.18 */ export declare const apFirst: ( fb: StateTaskEither ) => (fa: StateTaskEither) => StateTaskEither /** * @category Apply * @since 0.1.18 */ export declare const apSecond: ( fb: StateTaskEither ) => (fa: StateTaskEither) => StateTaskEither /** * @category Applicative * @since 0.1.18 */ export declare const of: (a: A) => StateTaskEither /** * @category Monad * @since 0.1.18 */ export declare const chain: ( f: (a: A) => StateTaskEither ) => (ma: StateTaskEither) => StateTaskEither /** * @category Monad * @since 0.1.18 */ export declare const chainFirst: ( f: (a: A) => StateTaskEither ) => (ma: StateTaskEither) => StateTaskEither /** * @category Monad * @since 0.1.10 */ export declare const chainEitherK: ( f: (a: A) => Either ) => (ma: StateTaskEither) => StateTaskEither /** * @category Monad * @since 0.1.10 */ export declare const chainIOEitherK: ( f: (a: A) => IOEither ) => (ma: StateTaskEither) => StateTaskEither /** * @category Monad * @since 0.1.10 */ export declare const chainTaskEitherK: ( f: (a: A) => TE.TaskEither ) => (ma: StateTaskEither) => StateTaskEither /** * @category Monad * @since 0.1.18 */ export declare const flatten: ( mma: StateTaskEither> ) => StateTaskEither /** * @category instances * @since 0.1.0 */ export declare const URI = 'StateTaskEither' /** * @category instances * @since 0.1.0 */ export declare type URI = typeof URI declare module 'fp-ts/lib/HKT' { interface URItoKind3 { StateTaskEither: StateTaskEither } } /** * @category instances * @since 0.1.18 */ export declare const Functor: Functor3 /** * @category instances * @since 0.1.18 */ export declare const Applicative: Applicative3 /** * @category instances * @since 0.1.18 */ export declare const Apply: Apply3 /** * @category instances * @since 0.1.18 */ export declare const Monad: Monad3 /** * @category instances * @since 0.1.0 */ export declare const stateTaskEither: Monad3 & MonadThrow3 /** * Like `stateTaskEither` but `ap` is sequential * * @category instances * @since 0.1.0 */ export declare const stateTaskEitherSeq: typeof stateTaskEither /** * @since 0.1.0 */ export declare const evalState: (ma: StateTaskEither, s: S) => TaskEither /** * @since 0.1.0 */ export declare const execState: (ma: StateTaskEither, s: S) => TaskEither /** * @since 0.1.0 */ export declare const run: (ma: StateTaskEither, s: S) => Promise>