@codibre/fluent-iterable
Version:
Provides LINQ-like fluent api operations for iterables and async iterables (ES2018+).
14 lines (13 loc) • 570 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.toSetRecipe = toSetRecipe;
const prepare_1 = require("../types-internal/prepare");
const utils_1 = require("../utils");
function toSetRecipe({ forEach, resolver }) {
return function toSet(mapper = utils_1.identity) {
const preparedMapper = (0, prepare_1.prepare)(mapper);
const set = new Set();
const bindSet = set.add.bind(set);
return resolver(forEach.call(this, (x) => resolver(preparedMapper(x), bindSet)), (0, utils_1.constant)(set));
};
}