UNPKG

actual-mcp

Version:

Actual Budget MCP server exposing API functionality

24 lines 1.03 kB
export class GroupAggregator { aggregateAndSort(spendingByCategory) { const spendingByGroup = {}; Object.values(spendingByCategory).forEach((category) => { if (!spendingByGroup[category.group]) { spendingByGroup[category.group] = { name: category.group, total: 0, categories: [], }; } spendingByGroup[category.group].total += category.total; spendingByGroup[category.group].categories.push(category); }); // Sort groups by absolute total (descending) const sortedGroups = Object.values(spendingByGroup).sort((a, b) => Math.abs(b.total) - Math.abs(a.total)); // Sort categories within each group by absolute total (descending) sortedGroups.forEach((group) => { group.categories.sort((a, b) => Math.abs(b.total) - Math.abs(a.total)); }); return sortedGroups; } } //# sourceMappingURL=group-by.js.map