honigle/src/lib/statuses.ts

59 lines
954 B
TypeScript
Raw Normal View History

2022-01-09 17:06:37 -05:00
import { solution } from "./words";
export type CharStatus = "absent" | "present" | "correct";
export type CharValue =
| "Q"
| "W"
| "E"
| "R"
| "T"
| "Y"
| "U"
| "I"
| "O"
| "P"
| "A"
| "S"
| "D"
| "F"
| "G"
| "H"
| "J"
| "K"
| "L"
| "Z"
| "X"
| "C"
| "V"
| "B"
| "N"
| "M";
export const getStatuses = (
guesses: string[]
): { [key: string]: CharStatus } => {
const charObj: { [key: string]: CharStatus } = {};
guesses.forEach((word) => {
word.split("").forEach((letter, i) => {
if (!solution.includes(letter)) {
// make status absent
return (charObj[letter] = "absent");
}
if (letter === solution[i]) {
//make status correct
return (charObj[letter] = "correct");
}
if (charObj[letter] !== "correct") {
//make status present
return (charObj[letter] = "present");
}
});
});
return charObj;
};