function isActiveMatchUp({
  matchUpStatus,
  winningSide,
  tieMatchUps,
  score,
}) {
  const activeTieMatchUps = tieMatchUps?.filter(isActiveMatchUp)?.length;
  const scoreExists = scoreHasValue({ score });

  const activeStatus =
    scoreExists ||
    winningSide ||
    activeTieMatchUps ||
    // must exclude IN_PROGRESS as this is automatically set by updateTieMatchUpScore
    (isActiveMatchUpStatus({ matchUpStatus }) && matchUpStatus !== IN_PROGRESS);

  return activeStatus;
}
// scoreStrings are not reliable because TEAM matchUps can have scoreString '0-0'
scoreStrings are not reliable because TEAM matchUps can have scoreString '0-0'
scoreStrings are not reliable because TEAM matchUps can have scoreString ' 0 - 0 '
function isActiveMatchUp({
  matchUpStatus,
  winningSide,
  tieMatchUps,
  score,
}) {
  const activeTieMatchUps = tieMatchUps?.filter(isActiveMatchUp)?.length;
  const scoreExists = scoreHasValue({ score });
  const activeStatus =
    scoreExists ||
    winningSide ||
    activeTieMatchUps ||
    (isActiveMatchUpStatus({ matchUpStatus }) && matchUpStatus !== IN_PROGRESS);
  return activeStatus;
}
function isActiveMatchUp ( { matchUpStatus , winningSide , tieMatchUps , score , } ) { const activeTieMatchUps = tieMatchUps ?. filter ( isActiveMatchUp ) ?. length ; const scoreExists = scoreHasValue ( { score } ) ; const activeStatus = scoreExists || winningSide || activeTieMatchUps || ( isActiveMatchUpStatus ( { matchUpStatus } ) && matchUpStatus !== IN_PROGRESS ) ; return activeStatus ; }
scoreStrings are not reliable because TEAM matchUps can have scoreString '0-0'
scoreStrings are not reliable because TEAM matchUps can have scoreString ' 0 - 0 '
// must exclude IN_PROGRESS as this is automatically set by updateTieMatchUpScore