@baruchiro/actual-mcp
Version:
Actual Budget MCP server exposing API functionality
21 lines • 1 kB
JavaScript
import { formatAmount } from '../../utils.js';
export class SpendingByCategoryReportGenerator {
generate(sortedGroups, period, accountLabel, includeIncome) {
let markdown = `# Spending by Category\n\n`;
markdown += `Period: ${period.start} to ${period.end}\n\n`;
markdown += `${accountLabel}\n\n`;
markdown += `Income categories: ${includeIncome ? 'Included' : 'Excluded'}\n\n`;
sortedGroups.forEach((group) => {
markdown += `## ${group.name}\n`;
markdown += `Total: ${formatAmount(group.total)}\n\n`;
markdown += `| Category | Amount | Transactions |\n`;
markdown += `| -------- | ------ | ------------ |\n`;
group.categories.forEach((category) => {
markdown += `| ${category.name} | ${formatAmount(category.total)} | ${category.transactions} |\n`;
});
markdown += `\n`;
});
return markdown;
}
}
//# sourceMappingURL=report-generator.js.map