feat: set default hooks functions

This commit is contained in:
ayo 2026-04-03 11:26:48 +02:00
parent 39683946a7
commit 994e0d2d5b
2 changed files with 12 additions and 6 deletions

View file

@ -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()

View file

@ -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)