@thi.ng/transducers
Version:
Collection of ~170 lightweight, composable transducers, reducers, generators, iterators for functional data transformations
14 lines (13 loc) • 412 B
JavaScript
import { assocObj } from "./assoc-obj.js";
import { map } from "./map.js";
import { mapcat } from "./mapcat.js";
import { pairs } from "./pairs.js";
import { partition } from "./partition.js";
import { permutations } from "./permutations.js";
const keyPermutations = (spec) => map(
(x) => assocObj(partition(2, x)),
permutations(...mapcat(([k, v]) => [[k], v], pairs(spec)))
);
export {
keyPermutations
};