Skip to content

Commit b9cd2ff

Browse files
committed
Cleanup checkSue2
1 parent e6a3e70 commit b9cd2ff

File tree

1 file changed

+24
-45
lines changed

1 file changed

+24
-45
lines changed

scripts/aoc2015/day16/utils.ts

Lines changed: 24 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -96,51 +96,30 @@ pomeranians and goldfish readings indicate that there are fewer than that many
9696
export function checkSue2(sue: Partial<Sue>, referenceSue: Sue): boolean {
9797
const { name, ...sueWithoutName } = sue;
9898
for (const [name, value] of Object.entries(sueWithoutName)) {
99-
if (
100-
[
101-
"pomeranians",
102-
"goldfish",
103-
].includes(name)
104-
) {
105-
if (
106-
referenceSue[
107-
name as (
108-
| "pomeranians"
109-
| "goldfish"
110-
)
111-
] < value
112-
) {
113-
return false;
114-
}
115-
} else if (
116-
[
117-
"cats",
118-
"trees",
119-
].includes(name)
120-
) {
121-
if (
122-
referenceSue[
123-
name as (
124-
| "cats"
125-
| "trees"
126-
)
127-
] > value
128-
) {
129-
return false;
130-
}
131-
} else if (
132-
referenceSue[
133-
name as (
134-
| "children"
135-
| "samoyeds"
136-
| "akitas"
137-
| "vizslas"
138-
| "cars"
139-
| "perfumes"
140-
)
141-
] !== value
142-
) {
143-
return false;
99+
switch (name) {
100+
case "pomeranians":
101+
case "goldfish":
102+
if (referenceSue[name] < value) {
103+
return false;
104+
}
105+
break;
106+
case "cats":
107+
case "trees":
108+
if (referenceSue[name] > value) {
109+
return false;
110+
}
111+
break;
112+
case "children":
113+
case "samoyeds":
114+
case "akitas":
115+
case "vizslas":
116+
case "cars":
117+
case "perfumes":
118+
if (referenceSue[name] !== value) {
119+
return false;
120+
}
121+
break;
122+
default:
144123
}
145124
}
146125
return true;

0 commit comments

Comments
 (0)