fp-ts-std
Version:
The missing pseudo-standard library for fp-ts.
44 lines • 1.23 kB
TypeScript
/**
* Utility functions to accommodate `fp-ts/ReaderTask`.
*
* @since 0.15.0
*/
import type { ReaderTask } from "fp-ts/ReaderTask";
import type { Task } from "fp-ts/Task";
/**
* Runs a ReaderTask and extracts the final Task from it.
*
* @example
* import { runReaderTask } from 'fp-ts-std/ReaderTask'
* import { pipe } from "fp-ts/function"
* import * as RT from "fp-ts/ReaderTask"
*
* type Env = { dependency: string }
* const env: Env = { dependency: "dependency " }
* pipe(
* RT.of<Env, number>(1),
* runReaderTask(env)
* )().then(extractedValue => assert.strictEqual(extractedValue, 1))
*
* @category 3 Functions
* @since 0.15.0
*/
export declare const runReaderTask: <R, A>(r: R) => (reader: ReaderTask<R, A>) => Task<A>;
/**
* Effectfully accesses the environment outside of the `Reader` layer.
*
* @example
* import { asksTask } from 'fp-ts-std/ReaderTask'
*
* const lucky = asksTask<number, boolean>(n => () => Promise.resolve(n === Date.now()))
*
* assert.deepEqual(
* lucky(42)(),
* Promise.resolve(false),
* )
*
* @category 3 Functions
* @since 0.16.0
*/
export declare const asksTask: <R, A>(f: (r: R) => Task<A>) => ReaderTask<R, A>;
//# sourceMappingURL=ReaderTask.d.ts.map