Задача конвертации > в ReaderTask с FP-TS - PullRequest
2 голосов
/ 01 апреля 2020

Я ищу краткий способ преобразования Task<Reader<A, B>> в ReaderTask<A, B> с использованием TypeScript. Кажется, что работает следующее, но мне интересно, доступна ли эта функция в FP-TS.

import { pipe } from 'fp-ts/lib/pipeable';
import { Task, map } from 'fp-ts/lib/Task';
import { Reader } from 'fp-ts/lib/Reader';
import { ReaderTask } from 'fp-ts/lib/ReaderTask';

function fromTaskReader<A, B>(taskReader: Task<Reader<A, B>>): ReaderTask<A, B> {
  return (context: A): Task<B> => pipe(
    taskReader,
    map((reader) => reader(context)),
  );
}
...