const GAME_STATE_KEY = "gameState"; class GameState { getQuestionChoice(qId) { let savedItem = this._readGameState(); if (qId in savedItem) { return savedItem[qId]; } return null; } setQuestionChoice(qId, cId, isRight) { let savedItem = this._readGameState(); savedItem[qId] = {cId: cId, isRight: isRight}; localStorage.setItem(GAME_STATE_KEY, JSON.stringify(savedItem)); } clearChoices() { localStorage.removeItem(GAME_STATE_KEY); } getSummary() { let savedItem = this._readGameState(); let summary = { totalAnswered: 0, totalRight: 0 }; for (let k in savedItem) { summary.totalAnswered++; if (savedItem[k].isRight) { summary.totalRight++; } } return summary; } _readGameState() { let savedItem = localStorage.getItem(GAME_STATE_KEY); if (savedItem === null) { return {}; } else { return JSON.parse(savedItem); } } } export let gameState = new GameState();