@segment/analytics-core
Version:
This package represents core 'shared' functionality that is shared by analytics packages. This is not designed to be used directly, but internal to analytics-node and analytics-browser.
24 lines • 804 B
JavaScript
import { __spreadArray } from "tslib";
export function groupBy(collection, grouper) {
var results = {};
collection.forEach(function (item) {
var _a;
var key = undefined;
if (typeof grouper === 'string') {
var suggestedKey = item[grouper];
key =
typeof suggestedKey !== 'string'
? JSON.stringify(suggestedKey)
: suggestedKey;
}
else if (grouper instanceof Function) {
key = grouper(item);
}
if (key === undefined) {
return;
}
results[key] = __spreadArray(__spreadArray([], ((_a = results[key]) !== null && _a !== void 0 ? _a : []), true), [item], false);
});
return results;
}
//# sourceMappingURL=group-by.js.map