MCPcopy Create free account
hub / github.com/MaterializeInc/materialize / aggregateByDay

Function aggregateByDay

console/src/platform/billing/utils.ts:31–52  ·  view source on GitHub ↗
(data: DailyCosts["daily"])

Source from the content-addressed store, hash-verified

29import { RegionGroupedSummary, RegionResourceBreakdown } from "./types";
30
31export function aggregateByDay(data: DailyCosts["daily"]) {
32 const days = new Map<string, DailyCosts["daily"][0]>();
33 for (const slice of data) {
34 const startDate = parseISO(slice.startDate);
35 const formattedDate = formatDateInUtc(startDate);
36 let day = days.get(formattedDate);
37 if (!day) {
38 startDate.setUTCHours(0, 0, 0, 0);
39 day = {
40 costs: structuredClone(slice.costs),
41 startDate: formatUtcIso(startDate),
42 endDate: formatUtcIso(addDays(startDate, 1)),
43 subtotal: slice.subtotal,
44 total: slice.total,
45 };
46 } else {
47 day = rollupSlice(day, slice);
48 }
49 days.set(formattedDate, day);
50 }
51 return Array.from(days.values());
52}
53
54function rollupSlice(
55 day: DailyCosts["daily"][0],

Callers 2

DailyUsageChartGraphFunction · 0.90

Calls 7

formatDateInUtcFunction · 0.90
formatUtcIsoFunction · 0.90
rollupSliceFunction · 0.85
getMethod · 0.45
setMethod · 0.45
fromMethod · 0.45
valuesMethod · 0.45

Tested by

no test coverage detected