dashp
Version:
Utilities for monadic promises.
42 lines (35 loc) • 1.29 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.flatmap8 = exports.flatmap7 = exports.flatmap6 = exports.flatmap5 = exports.flatmap4 = exports.flatmap3 = exports.flatmap2 = exports.flatmap = void 0;
var _collect = require("./collect");
var _curry = require("./internal/curry");
var _flatten = _interopRequireDefault(require("./internal/flatten"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
const flatmapN = (mapper, f, xs) => mapper(f, xs).then(_flatten.default);
const {
flatmap,
flatmap2,
flatmap3,
flatmap4,
flatmap5,
flatmap6,
flatmap7,
flatmap8
} = [_collect.collect, _collect.collect2, _collect.collect3, _collect.collect4, _collect.collect5, _collect.collect6, _collect.collect7, _collect.collect8].reduce((memo, m, i) => {
const name = `flatmap${i === 0 ? "" : i + 1}`;
const f = (0, _curry.curry2)(name, (g, xs) => flatmapN(m, g, xs));
return Object.assign(memo, {
[name]: f
});
}, {});
exports.flatmap8 = flatmap8;
exports.flatmap7 = flatmap7;
exports.flatmap6 = flatmap6;
exports.flatmap5 = flatmap5;
exports.flatmap4 = flatmap4;
exports.flatmap3 = flatmap3;
exports.flatmap2 = flatmap2;
exports.flatmap = flatmap;
//# sourceMappingURL=flatmap.js.map