@coveord/plasma-mantine
Version:
A Plasma flavoured Mantine theme
45 lines (44 loc) • 1.4 kB
JavaScript
/**
* Represents an item that can optionally belong to a group.
*/ "use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "groupOptions", {
enumerable: true,
get: function() {
return groupOptions;
}
});
var _to_consumable_array = require("@swc/helpers/_/_to_consumable_array");
var groupOptions = function groupOptions(param) {
var data = param.data;
var _sortedData;
var sortedData = [];
var unGroupedDataIndexes = [];
var groupedData = data.reduce(function(acc, item, index) {
if (item.group) {
if (acc[item.group]) {
acc[item.group].push(index);
} else {
acc[item.group] = [
index
];
}
} else {
unGroupedDataIndexes.push(index);
}
return acc;
}, {});
Object.keys(groupedData).forEach(function(groupName) {
var _sortedData;
(_sortedData = sortedData).push.apply(_sortedData, _to_consumable_array._(groupedData[groupName].map(function(index) {
return data[index];
})));
});
(_sortedData = sortedData).push.apply(_sortedData, _to_consumable_array._(unGroupedDataIndexes.map(function(itemIndex) {
return data[itemIndex];
})));
return sortedData;
};
//# sourceMappingURL=groupOptions.js.map