|
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.getFoldableComposition = exports.toArray = exports.foldM = exports.traverse_ = exports.toReadonlyArray = exports.intercalate = exports.reduceM = exports.reduceRight = exports.foldMap = exports.reduce = void 0;
- var function_1 = require("./function");
- function reduce(F, G) {
- return function (b, f) { return function (fga) { return F.reduce(fga, b, function (b, ga) { return G.reduce(ga, b, f); }); }; };
- }
- exports.reduce = reduce;
- function foldMap(F, G) {
- return function (M) {
- var foldMapF = F.foldMap(M);
- var foldMapG = G.foldMap(M);
- return function (f) { return function (fga) { return foldMapF(fga, function (ga) { return foldMapG(ga, f); }); }; };
- };
- }
- exports.foldMap = foldMap;
- function reduceRight(F, G) {
- return function (b, f) { return function (fga) { return F.reduceRight(fga, b, function (ga, b) { return G.reduceRight(ga, b, f); }); }; };
- }
- exports.reduceRight = reduceRight;
- function reduceM(M, F) {
- return function (b, f) { return function (fa) { return F.reduce(fa, M.of(b), function (mb, a) { return M.chain(mb, function (b) { return f(b, a); }); }); }; };
- }
- exports.reduceM = reduceM;
- function intercalate(M, F) {
- return function (middle, fm) {
- var go = function (_a, x) {
- var init = _a.init, acc = _a.acc;
- return init ? { init: false, acc: x } : { init: false, acc: M.concat(M.concat(acc, middle), x) };
- };
- return F.reduce(fm, { init: true, acc: M.empty }, go).acc;
- };
- }
- exports.intercalate = intercalate;
- function toReadonlyArray(F) {
- return function (fa) {
- return F.reduce(fa, [], function (acc, a) {
- acc.push(a);
- return acc;
- });
- };
- }
- exports.toReadonlyArray = toReadonlyArray;
- function traverse_(M, F) {
- var applyFirst = function (mu, mb) { return M.ap(M.map(mu, function_1.constant), mb); };
- var mu = M.of(undefined);
- return function (fa, f) { return F.reduce(fa, mu, function (mu, a) { return applyFirst(mu, f(a)); }); };
- }
- exports.traverse_ = traverse_;
- function foldM(M, F) {
- return function (fa, b, f) { return F.reduce(fa, M.of(b), function (mb, a) { return M.chain(mb, function (b) { return f(b, a); }); }); };
- }
- exports.foldM = foldM;
- /**
- * Use [`toReadonlyArray`](#toreadonlyarray) instead
- *
- * @category zone of death
- * @since 2.8.0
- * @deprecated
- */
- exports.toArray = toReadonlyArray;
- /** @deprecated */
- function getFoldableComposition(F, G) {
- var _reduce = reduce(F, G);
- var _foldMap = foldMap(F, G);
- var _reduceRight = reduceRight(F, G);
- return {
- reduce: function (fga, b, f) { return (0, function_1.pipe)(fga, _reduce(b, f)); },
- foldMap: function (M) {
- var foldMapM = _foldMap(M);
- return function (fga, f) { return (0, function_1.pipe)(fga, foldMapM(f)); };
- },
- reduceRight: function (fga, b, f) { return (0, function_1.pipe)(fga, _reduceRight(b, f)); }
- };
- }
- exports.getFoldableComposition = getFoldableComposition;
|