Skip to content

Commit 993a1b5

Browse files
committed
Fix date parsing issue in chart-line-usage-daily.component.ts and usage-report.service.ts
1 parent 4ccd8ef commit 993a1b5

File tree

2 files changed

+14
-5
lines changed

2 files changed

+14
-5
lines changed

src/app/components/usage/actions/charts/chart-line-usage-daily/chart-line-usage-daily.component.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -101,18 +101,18 @@ export class ChartLineUsageDailyComponent implements OnChanges {
101101
if (!series.data[timeKey]) series.data[timeKey] = [];
102102
if (timeKey === 'total') {
103103
const last = series.data[timeKey][series.data[timeKey].length - 1];
104-
series.data[timeKey].push([new Date(line.date).getTime(), (last[1] + line.value)]);
104+
series.data[timeKey].push([line.date.getTime(), (last[1] + line.value)]);
105105
} else if (this.timeType.startsWith('rolling')) {
106-
series.data[timeKey].push([new Date(line.date).getTime(), line.value]);
106+
series.data[timeKey].push([line.date.getTime(), line.value]);
107107
} else {
108-
series.data[timeKey].push([new Date(line.date).getTime(), line.value]);
108+
series.data[timeKey].push([line.date.getTime(), line.value]);
109109
}
110110
series.total += line.value;
111111
} else {
112112
acc.push({
113113
name,
114114
data: {
115-
[timeKey]: [[new Date(line.date).getTime(), line.value]]
115+
[timeKey]: [[line.date.getTime(), line.value]]
116116
},
117117
total: line.value
118118
});

src/app/usage-report.service.ts

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,22 @@ const readGithubUsageReport = async (data: string, cb?: (usageReport: UsageRepor
1616

1717
const lines = data.split('\n');
1818
total = lines.length;
19+
const first = lines[1].split(',')[0];
20+
const dateDelim = first.includes('-') ? '-' : first.includes('/') ? '/' : null;
21+
if (dateDelim == null) throw new Error('Invalid date delimiter');
1922
for (const line of lines) {
2023
if (index == 0) {
2124
index++;
2225
continue;
2326
}
2427
const csv = line.split(',');
25-
const [year, month, day] = csv[0].split(/-|\//).map(Number);
28+
let month, day, year;
29+
if (dateDelim === '/') {
30+
[month, day, year] = csv[0].split('/').map(Number);
31+
} else if (dateDelim === '-') {
32+
[year, month, day] = csv[0].split('-').map(Number);
33+
}
34+
if (!year || !month || !day) throw new Error('Invalid date');
2635
const date = new Date(year, month - 1, day);
2736
const data: UsageReportLine = {
2837
date,

0 commit comments

Comments
 (0)