input: from typing import List
  
  def getComputerSpot(board: List[str], player: str) -> int:
      """ This function determines the best spot for the computer player to mark on the Tic-Tac-Toe board.
      If there is a winning move for the computer, it will take it. If not, it will choose a random spot.
      If no spots are available, it returns None.
      >>> getComputerSpot(['-', '-', '-', '-', '-', '-', '-', '-', '-', '-'], 'O')
      1
      >>> getComputerSpot(['-', 'O', 'O', '-', '-', '-', '-', '-', '-', '-'], 'O')
      9
      >>> getComputerSpot(['O', 'O', 'O', 'X', 'X', '-', '-', '-', '-', '-'], 'O')
      None
      """
output:     for i in range(len(board)):
          if board[i] == '-':
              board[i] = player
              if check_winner(board, player):
                  board[i] = '-'
                  return i + 1
              board[i] = '-'
  
      available_spots = [i for i, spot in enumerate(board) if spot == '-']
      if not available_spots:
          return None
      return available_spots[0] + 1
  
  def check_winner(board: List[str], player: str) -> bool:
      winning_combinations = [
          [0, 1, 2], [3, 4, 5], [6, 7, 8],  # Rows
          [0, 3, 6], [1, 4, 7], [2, 5, 8],  # Columns
          [0, 4, 8], [2, 4, 6]              # Diagonals
      ]
      for combo in winning_combinations:
          if all(board[i] == player for i in combo):
              return True
      return False