Read, Replied, Forwarded
by Patrick Hund
Babel + JSX
const testCases = [
[],
["READ"],
["READ", "REPLIED"],
["READ", "FORWARDED"],
["READ", "REPLIED", "FORWARDED"]
];
testCases.forEach(testCase => {
console.log("test case:", testCase);
console.log("result: ", getState(testCase));
});
function getState(stateArray) {
let isRead = false,
isReplied = false,
isForwarded = false,
reusult;
stateArray.forEach(state => {
switch (state) {
case "READ": isRead = true; break;
case "REPLIED": isReplied = true; break;
case "FORWARDED": isForwarded = true; break;
}
});
if (isReplied && isForwarded) {
return "RepliedAndForwarded";
}
if (isReplied) {
return "Replied";
}
if (isForwarded) {
return "Forwarded";
}
if (isRead) {
return "Read";
}
return "Unread";
}