@@ -3,7 +3,7 @@ import * as Levels from "../utils/levels";
33import { getAll } from "./theme-colors" ;
44import * as SlowTimer from "../states/slow-timer" ;
55import { XpBreakdown } from "@monkeytype/contracts/schemas/results" ;
6- import { mapRange } from "@monkeytype/util/numbers" ;
6+ import { isSafeNumber , mapRange } from "@monkeytype/util/numbers" ;
77
88let breakdownVisible = false ;
99let skip = false ;
@@ -268,12 +268,12 @@ async function animateXpBreakdown(
268268
269269 await Misc . sleep ( delay ) ;
270270
271- if ( breakdown . fullAccuracy ) {
271+ if ( isSafeNumber ( breakdown . fullAccuracy ) ) {
272272 await Misc . sleep ( delay ) ;
273273 total += breakdown . fullAccuracy ;
274274 void flashTotalXp ( total ) ;
275275 await addBreakdownListItem ( "perfect" , breakdown . fullAccuracy ) ;
276- } else if ( breakdown . corrected ) {
276+ } else if ( isSafeNumber ( breakdown . corrected ) ) {
277277 await Misc . sleep ( delay ) ;
278278 total += breakdown . corrected ;
279279 void flashTotalXp ( total ) ;
@@ -282,19 +282,19 @@ async function animateXpBreakdown(
282282
283283 if ( skip ) return ;
284284
285- if ( breakdown . quote ) {
285+ if ( isSafeNumber ( breakdown . quote ) ) {
286286 await Misc . sleep ( delay ) ;
287287 total += breakdown . quote ;
288288 void flashTotalXp ( total ) ;
289289 await addBreakdownListItem ( "quote" , breakdown . quote ) ;
290290 } else {
291- if ( breakdown . punctuation ) {
291+ if ( isSafeNumber ( breakdown . punctuation ) ) {
292292 await Misc . sleep ( delay ) ;
293293 total += breakdown . punctuation ;
294294 void flashTotalXp ( total ) ;
295295 await addBreakdownListItem ( "punctuation" , breakdown . punctuation ) ;
296296 }
297- if ( breakdown . numbers ) {
297+ if ( isSafeNumber ( breakdown . numbers ) ) {
298298 await Misc . sleep ( delay ) ;
299299 total += breakdown . numbers ;
300300 void flashTotalXp ( total ) ;
@@ -304,7 +304,7 @@ async function animateXpBreakdown(
304304
305305 if ( skip ) return ;
306306
307- if ( breakdown . funbox ) {
307+ if ( isSafeNumber ( breakdown . funbox ) ) {
308308 await Misc . sleep ( delay ) ;
309309 total += breakdown . funbox ;
310310 void flashTotalXp ( total ) ;
@@ -313,7 +313,7 @@ async function animateXpBreakdown(
313313
314314 if ( skip ) return ;
315315
316- if ( breakdown . streak ) {
316+ if ( isSafeNumber ( breakdown . streak ) ) {
317317 await Misc . sleep ( delay ) ;
318318 total += breakdown . streak ;
319319 void flashTotalXp ( total ) ;
@@ -322,7 +322,7 @@ async function animateXpBreakdown(
322322
323323 if ( skip ) return ;
324324
325- if ( breakdown . accPenalty ) {
325+ if ( isSafeNumber ( breakdown . accPenalty ) ) {
326326 await Misc . sleep ( delay ) ;
327327 total -= breakdown . accPenalty ;
328328 void flashTotalXp ( total ) ;
@@ -331,7 +331,7 @@ async function animateXpBreakdown(
331331
332332 if ( skip ) return ;
333333
334- if ( breakdown . incomplete ) {
334+ if ( isSafeNumber ( breakdown . incomplete ) ) {
335335 await Misc . sleep ( delay ) ;
336336 total += breakdown . incomplete ;
337337 void flashTotalXp ( total ) ;
@@ -340,7 +340,7 @@ async function animateXpBreakdown(
340340
341341 if ( skip ) return ;
342342
343- if ( breakdown . configMultiplier ) {
343+ if ( isSafeNumber ( breakdown . configMultiplier ) ) {
344344 await Misc . sleep ( delay ) ;
345345 total *= breakdown . configMultiplier ;
346346 void flashTotalXp ( total ) ;
@@ -352,7 +352,7 @@ async function animateXpBreakdown(
352352
353353 if ( skip ) return ;
354354
355- if ( breakdown . daily ) {
355+ if ( isSafeNumber ( breakdown . daily ) ) {
356356 await Misc . sleep ( delay ) ;
357357 total += breakdown . daily ;
358358 void flashTotalXp ( total ) ;
0 commit comments