diff --git a/app/main.js b/app/main.js index 8f1d804..2ea92c1 100644 --- a/app/main.js +++ b/app/main.js @@ -7,6 +7,6 @@ const version = import.meta.env.MODE === 'development' const game = new mnswpr('app', version, { levelChanged: () => console.log('[hook]: level reset'), - gameDone: (game) => console.log('[hook] game done', game) + gameDone: (game) => console.log('[hook]: game done', game) }) game.initialize() \ No newline at end of file diff --git a/lib/mnswpr.js b/lib/mnswpr.js index d1a1746..4122476 100644 --- a/lib/mnswpr.js +++ b/lib/mnswpr.js @@ -21,16 +21,23 @@ const PC_BUSY_DELAY = 500 * @param {String} appId * @param {String} version * @param {{ - * levelChanged: () => {}, - * gameDone: (game: any) => {} - * }} hooks + * levelChanged: () => void, + * gameDone: (game: any) => void + * } | undefined } hooks */ -const Minesweeper = function(appId, version, hooks) { +const Minesweeper = function(appId, version, hooks = undefined) { const _this = this const storageService = new StorageService() const timerService = new TimerService() const loggerService = new LoggerService() + if (!hooks) { + hooks = { + levelChanged: () => {}, + gameDone: () => {} + } + } + let grid = document.createElement('table') grid.setAttribute('id', 'grid') let flagsDisplay = document.createElement('span') @@ -219,7 +226,6 @@ const Minesweeper = function(appId, version, hooks) { if (initial) hooks.levelChanged() - timerService.initialize(timerDisplay) updateFlagsCountDisplay() addMines(setting.mines)