Skip to content

Commit c3d4690

Browse files
committed
fix getAllPuzzlesForYear
1 parent 35b8213 commit c3d4690

File tree

2 files changed

+7
-7
lines changed

2 files changed

+7
-7
lines changed

src/validation/validatePuzzle.js

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,12 @@ export const puzzleIsInFuture = (year, day) => {
2222
export const getAllPuzzlesForYear = (year) => {
2323
const days = getConfigValue('aoc.validation.days');
2424
const levels = getConfigValue('aoc.validation.levels');
25-
return days.reduce(
26-
(acc, day) => [...acc, ...levels.map((level) => ({ year, day, level }))],
27-
[]
28-
);
25+
return [
26+
// days 1-(n-1) has L levels.
27+
...days.slice(0, -1).map((day) => levels.map((level) => ({ year, day, level }))),
28+
// day n has one level.
29+
{ year, day: days.at(-1), level: 1 },
30+
].flat();
2931
};
3032

3133
/**
@@ -34,6 +36,6 @@ export const getAllPuzzlesForYear = (year) => {
3436
export const getTotalPuzzleCount = () => {
3537
const days = getConfigValue('aoc.validation.days');
3638
const levels = getConfigValue('aoc.validation.levels');
37-
// Days 1-24 have 2 levels, but day 25 has 1 level.
39+
// Days 1-(n-1) have L levels, but day n has 1 level.
3840
return (days.length - 1) * levels.length + 1;
3941
};

tests/validation/validatePuzzle.test.js

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,8 +98,6 @@ describe('validatePuzzle', () => {
9898
{ year, day: 4, level: 2 },
9999
{ year, day: 4, level: 3 },
100100
{ year, day: 5, level: 1 },
101-
{ year, day: 5, level: 2 },
102-
{ year, day: 5, level: 3 },
103101
];
104102

105103
expect(getAllPuzzlesForYear(year)).toStrictEqual(expected);

0 commit comments

Comments
 (0)