(x, y)
| 111 | }) |
| 112 | |
| 113 | const removeMine: NavalFateStore["removeMine"] = (x, y) => |
| 114 | Effect.gen(function*() { |
| 115 | const mines = yield* getMines |
| 116 | const mineAtCoords = Arr.findFirstIndex(mines, (mine) => mine.hasCoordinates(x, y)) |
| 117 | if (Option.isSome(mineAtCoords)) { |
| 118 | const newMines = Arr.remove(mines, mineAtCoords.value) |
| 119 | yield* setMines(newMines) |
| 120 | } |
| 121 | }) |
| 122 | |
| 123 | return NavalFateStore.of({ |
| 124 | createShip, |
no test coverage detected