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

1 год назад
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. exports.getReaderM = exports.fromNaturalTransformation = exports.fromReader = exports.chain = exports.ap = exports.map = exports.of = void 0;
  4. var function_1 = require("./function");
  5. function of(F) {
  6. return function (a) { return function () { return F.of(a); }; };
  7. }
  8. exports.of = of;
  9. function map(F) {
  10. return function (f) { return function (fa) { return function (r) { return F.map(fa(r), f); }; }; };
  11. }
  12. exports.map = map;
  13. function ap(F) {
  14. return function (fa) { return function (fab) { return function (r) { return F.ap(fab(r), fa(r)); }; }; };
  15. }
  16. exports.ap = ap;
  17. function chain(M) {
  18. return function (f) { return function (ma) { return function (r) { return M.chain(ma(r), function (a) { return f(a)(r); }); }; }; };
  19. }
  20. exports.chain = chain;
  21. function fromReader(F) {
  22. return function (ma) { return (0, function_1.flow)(ma, F.of); };
  23. }
  24. exports.fromReader = fromReader;
  25. function fromNaturalTransformation(nt) {
  26. return function (f) { return (0, function_1.flow)(f, nt); };
  27. }
  28. exports.fromNaturalTransformation = fromNaturalTransformation;
  29. /** @deprecated */
  30. /* istanbul ignore next */
  31. function getReaderM(M) {
  32. var _ap = ap(M);
  33. var _map = map(M);
  34. var _chain = chain(M);
  35. return {
  36. map: function (fa, f) { return (0, function_1.pipe)(fa, _map(f)); },
  37. ap: function (fab, fa) { return (0, function_1.pipe)(fab, _ap(fa)); },
  38. of: of(M),
  39. chain: function (ma, f) { return (0, function_1.pipe)(ma, _chain(f)); },
  40. ask: function () { return M.of; },
  41. asks: function (f) { return (0, function_1.flow)(f, M.of); },
  42. local: function (ma, f) { return function (q) { return ma(f(q)); }; },
  43. fromReader: fromReader(M),
  44. fromM: function (ma) { return function () { return ma; }; }
  45. };
  46. }
  47. exports.getReaderM = getReaderM;