fix: Crash because of empty vocabulary list
Array.reduce(...) will crash if the array is empty. So we just default to 0, if this.vocab is empty.
This commit is contained in:
parent
8754c9b6da
commit
4ba879c531
@ -281,13 +281,17 @@ const ReviewPageWithRouter = withRouter(
|
|||||||
// will then deduce the type of acc and curr to be '1|3',
|
// will then deduce the type of acc and curr to be '1|3',
|
||||||
// leads to compiler warnings, as a, b element {1, 3} is not
|
// leads to compiler warnings, as a, b element {1, 3} is not
|
||||||
// element {1, 3}.
|
// element {1, 3}.
|
||||||
const numCards = this.vocab.map((vocab): number => {
|
// NOTE: We need to check if this.vocab is empty because otherwise
|
||||||
|
// the '.reduce' call will throw and crash the entire
|
||||||
|
// application.
|
||||||
|
// TOFIX: This is pure garbage. Fix this
|
||||||
|
const numCards = this.vocab.length > 0 ? this.vocab.map((vocab): number => {
|
||||||
if (vocab.type === VocabType.ADVERB) {
|
if (vocab.type === VocabType.ADVERB) {
|
||||||
return 1;
|
return 1;
|
||||||
} else {
|
} else {
|
||||||
return 3;
|
return 3;
|
||||||
}
|
}
|
||||||
}).reduce((acc, curr) => acc + curr);
|
}).reduce((acc, curr) => acc + curr) : 0;
|
||||||
|
|
||||||
const progress = numCards === 0 ? (
|
const progress = numCards === 0 ? (
|
||||||
0
|
0
|
||||||
|
Reference in New Issue
Block a user