UNPKG

data-collectors

Version:

A collection of composable reduction operations for arbitrary streams of values

17 lines 845 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const toArray_1 = require("./toArray"); const groupingBy_1 = require("./groupingBy"); const flatMapping_1 = require("../transformers/flatMapping"); const mapping_1 = require("../transformers/mapping"); function groupingByMany(mapper, supplier, collector) { if (!supplier && !collector) { return groupingByMany(mapper, () => new Map(), toArray_1.toArray()); } else if (!collector) { return groupingByMany(mapper, () => new Map(), supplier); } return flatMapping_1.flatMapping(item => Array.from(mapper(item)).map(k => [k, item]), new groupingBy_1.GroupingByCollector(pair => pair[0], supplier, mapping_1.mapping(pair => pair[1]))); } exports.groupingByMany = groupingByMany; //# sourceMappingURL=groupingByMany.js.map