aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/Sudoku.ts
blob: 879185a00c03508659cf1d31d2cd5a29c785b941 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
//@ts-expect-error
import _sudoku from "sudoku-umd";
//@ts-expect-error
import _sudoku2_ from "sudoku-solver-js";

const _sudoku2 = new _sudoku2_();

const sudoku: {
  solve(arg0: string): string,
  board_string_to_grid(arg0: string): string[][],
  board_grid_to_string(arg0: string[][]): string,
  get_candidates(arg0: string): string[][],
  print_board(arg0: string): void,
} = _sudoku;

export type Grid = Array<Array<string>>;
export type NGrid = Array<Array<number>>;
export type Coord = { x: number; y: number };
export * from "./sudoku/validation";

export function solve(grid: Grid) {
  return sudoku.board_string_to_grid(_sudoku2.solve(sudoku.board_grid_to_string(grid)))
}
// function grid2NGrid(grid: Grid): NGrid {
//   return grid.map(
//     row => row.map(t => t === "." ? 0 : parseInt(t))
//   )
// }
// function ngrid2Grid(ngrid: NGrid): Grid {
//   return ngrid.map(
//     row => row.map(t => t === 0 ? "." : t.toString())
//   )
// }