版博士V2.0程序
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
 
 
 
 

25 строки
673 B

  1. /**
  2. * Lift a computation from the `Reader` monad.
  3. *
  4. * @since 2.11.0
  5. */
  6. import { chainFirst } from './Chain';
  7. import { flow } from './function';
  8. import * as R from './Reader';
  9. export function ask(F) {
  10. return function () { return F.fromReader(R.ask()); };
  11. }
  12. export function asks(F) {
  13. return F.fromReader;
  14. }
  15. export function fromReaderK(F) {
  16. return function (f) { return flow(f, F.fromReader); };
  17. }
  18. export function chainReaderK(F, M) {
  19. var fromReaderKF = fromReaderK(F);
  20. return function (f) { return function (ma) { return M.chain(ma, fromReaderKF(f)); }; };
  21. }
  22. export function chainFirstReaderK(F, M) {
  23. return flow(fromReaderK(F), chainFirst(M));
  24. }