public enum CommentReactionType {
    case like
    case dislike
    case removeReaction

    public init(_ raw: String?) {
        switch raw?.lowercased() {
        case "like":
            self = .like
        case "dislike":
            self = .dislike
        default:
            self = .removeReaction
        }
    }

    //  "LIKE" | "DISLIKE" | null (null removes existing reaction)
    public var propertyValue: String? {
        switch self {
        case .like:
            return "LIKE"
        case .dislike:
            return "DISLIKE"
        case .removeReaction:
            return nil
        }
    }

    /* Used in the time before the actual count is returned */
    public var countValueDelta: Int {
        switch self {
        case .like:
            return 1
        case .dislike, .removeReaction:
            return -1
        }
    }
}
