static _normalizeAuditScore(score, scoreDisplayMode, auditId) {
    if (scoreDisplayMode === Audit.SCORING_MODES.INFORMATIVE) {
      return 1;
    }

    if (scoreDisplayMode !== Audit.SCORING_MODES.BINARY &&
        scoreDisplayMode !== Audit.SCORING_MODES.NUMERIC &&
        scoreDisplayMode !== Audit.SCORING_MODES.METRIC_SAVINGS) {
      return null;
    }

    // Otherwise, score must be a number in [0, 1].
    if (score === null || !Number.isFinite(score)) {
      throw new Error(`Invalid score for ${auditId}: ${score}`);
    }
    if (score > 1) throw new Error(`Audit score for ${auditId} is > 1`);
    if (score < 0) throw new Error(`Audit score for ${auditId} is < 0`);

    score = clampTo2Decimals(score);

    return score;
  }
@param {number|null} score
@param {LH.Audit.ScoreDisplayMode} scoreDisplayMode
@param {string} auditId
@return {number|null}