@vymalo/medusa-printful
Version:
Connect your MedusaJS store to Printful
27 lines • 939 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.multiMap = multiMap;
const lodash_1 = require("lodash");
function multiMap(arr, fns, { filterConfig, uniqByConfig, } = {}) {
const result = (0, lodash_1.reduce)(arr, (acc, item) => {
for (const fnKey in fns) {
const fn = fns[fnKey];
const value = fn(item);
const previous = acc[fnKey] ?? [];
acc[fnKey] = previous.concat(value);
}
return acc;
}, {});
for (const resultKey in result) {
const filterFn = filterConfig[resultKey];
if (filterFn) {
result[resultKey] = (0, lodash_1.filter)(result[resultKey], filterFn);
}
const uniqFn = uniqByConfig[resultKey];
if (uniqFn) {
result[resultKey] = (0, lodash_1.uniqBy)(result[resultKey], uniqFn);
}
}
return result;
}
//# sourceMappingURL=fn.js.map