+export const compareFinished = round => (a, b) => {
+ const a_result = findResult(a, round);
+ const b_result = findResult(b, round);
+ const a_finished = a_result && a_result.has_finished;
+ const b_finished = b_result && b_result.has_finished;
+ if (a_finished) {
+ if (b_finished) {
+ return compareUsername(a, b);
+ }
+ return -1;
+ }
+ if (b_finished) {
+ return 1;
+ }
+ return compareUsername(a, b);
+};
+
export const comparePlacement = (a, b) => {
if (a.placement < b.placement) return -1;
if (b.placement < a.placement) return 1;
};
};
+export const sortByFinished = (participants, round) => {
+ if (!participants || !participants.length) return participants;
+ if (!round || !round.results || !round.results.length) return participants;
+ return participants.sort(compareFinished(round));
+};
+
export const sortByResult = (participants, round) => {
if (!participants || !participants.length) return participants;
if (!round || !round.results || !round.results.length) return participants;
return participants.sort(compareResult(round));
};
+export const sortByUsername = (participants, round) => {
+ if (!participants || !participants.length) return participants;
+ if (!round || !round.results || !round.results.length) return participants;
+ return participants.sort(compareUsername);
+};
+
export default {
+ compareFinished,
compareResult,
compareUsername,
findResult,