UNPKG

fp-ts-std

Version:

The missing pseudo-standard library for fp-ts.

50 lines 1.38 kB
/** * Utility functions to accommodate `fp-ts/ReaderEither`. * * @since 0.15.0 */ import type { Either } from "fp-ts/Either"; import type { ReaderEither } from "fp-ts/ReaderEither"; /** * Runs a ReaderEither and extracts the final Either from it. * * @example * import { runReaderEither } from 'fp-ts-std/ReaderEither' * import { pipe } from "fp-ts/function" * import * as RE from "fp-ts/ReaderEither" * import * as E from "fp-ts/Either" * * type Env = { dependency: string } * const env: Env = { dependency: "dependency" } * * const extractedEither = pipe( * E.right(1), * RE.fromEither, * runReaderEither(env) * ) * * assert.deepStrictEqual(extractedEither, E.right(1)) * * @category 3 Functions * @since 0.15.0 */ export declare const runReaderEither: <R, E, A>(r: R) => (reader: ReaderEither<R, E, A>) => Either<E, A>; /** * Effectfully accesses the environment outside of the `Reader` layer. * * @example * import { asksEither } from 'fp-ts-std/ReaderEither' * import * as E from 'fp-ts/Either' * * const lucky = asksEither<number, unknown, boolean>(n => E.right(n === Date.now())) * * assert.deepStrictEqual( * lucky(42), * E.right(false), * ) * * @category 3 Functions * @since 0.16.0 */ export declare const asksEither: <R, E, A>(f: (r: R) => Either<E, A>) => ReaderEither<R, E, A>; //# sourceMappingURL=ReaderEither.d.ts.map