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";
}