scrabble-solver 2.13.2 → 2.13.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/build.yml +3 -4
- package/.github/workflows/eslint.yml +1 -1
- package/.github/workflows/test.yml +1 -2
- package/.nx/cache/file-map.json +2610 -0
- package/.nx/cache/lockfile.hash +1 -0
- package/.nx/cache/nx_files.nxt +0 -0
- package/.nx/cache/parsed-lock-file.json +32593 -0
- package/.nx/cache/project-graph.json +32416 -0
- package/README.md +7 -7
- package/lerna.json +1 -1
- package/package.json +36 -29
- package/packages/configs/package.json +4 -5
- package/packages/constants/package.json +2 -3
- package/packages/dictionaries/package-lock.json +2 -2
- package/packages/dictionaries/package.json +5 -6
- package/packages/logger/package-lock.json +15 -7
- package/packages/logger/package.json +3 -4
- package/packages/scrabble-solver/.next/BUILD_ID +1 -1
- package/packages/scrabble-solver/.next/build-manifest.json +16 -16
- package/packages/scrabble-solver/.next/cache/.tsbuildinfo +1 -1
- package/packages/scrabble-solver/.next/cache/eslint/.cache_8dgz12 +1 -1
- package/packages/scrabble-solver/.next/cache/webpack/client-production/0.pack +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/client-production/index.pack +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/edge-server-production/0.pack +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/edge-server-production/index.pack +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/server-production/0.pack +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/server-production/index.pack +0 -0
- package/packages/scrabble-solver/.next/next-minimal-server.js.nft.json +1 -0
- package/packages/scrabble-solver/.next/next-server.js.nft.json +1 -1
- package/packages/scrabble-solver/.next/prerender-manifest.js +1 -0
- package/packages/scrabble-solver/.next/prerender-manifest.json +1 -1
- package/packages/scrabble-solver/.next/required-server-files.json +1 -1
- package/packages/scrabble-solver/.next/routes-manifest.json +1 -1
- package/packages/scrabble-solver/.next/server/InjectManifest.js.nft.json +1 -1
- package/packages/scrabble-solver/.next/server/chunks/28.js +1 -0
- package/packages/scrabble-solver/.next/server/chunks/331.js +6 -0
- package/packages/scrabble-solver/.next/server/chunks/577.js +1 -0
- package/packages/scrabble-solver/.next/server/chunks/911.js +1 -1083
- package/packages/scrabble-solver/.next/server/chunks/977.js +1 -0
- package/packages/scrabble-solver/.next/server/functions-config-manifest.json +1 -0
- package/packages/scrabble-solver/.next/server/middleware-build-manifest.js +1 -1
- package/packages/scrabble-solver/.next/server/middleware-react-loadable-manifest.js +1 -1
- package/packages/scrabble-solver/.next/server/next-font-manifest.js +1 -1
- package/packages/scrabble-solver/.next/server/next-font-manifest.json +1 -6
- package/packages/scrabble-solver/.next/server/pages/404.html +1 -1
- package/packages/scrabble-solver/.next/server/pages/404.js.nft.json +1 -1
- package/packages/scrabble-solver/.next/server/pages/500.html +1 -1
- package/packages/scrabble-solver/.next/server/pages/_app.js +1 -380
- package/packages/scrabble-solver/.next/server/pages/_app.js.nft.json +1 -1
- package/packages/scrabble-solver/.next/server/pages/_document.js +1 -212
- package/packages/scrabble-solver/.next/server/pages/_document.js.nft.json +1 -1
- package/packages/scrabble-solver/.next/server/pages/_error.js +1 -166
- package/packages/scrabble-solver/.next/server/pages/_error.js.nft.json +1 -1
- package/packages/scrabble-solver/.next/server/pages/api/dictionary/[locale]/[word].js +2 -836
- package/packages/scrabble-solver/.next/server/pages/api/dictionary/[locale]/[word].js.nft.json +1 -1
- package/packages/scrabble-solver/.next/server/pages/api/dictionary/[locale].js +1 -192
- package/packages/scrabble-solver/.next/server/pages/api/dictionary/[locale].js.nft.json +1 -1
- package/packages/scrabble-solver/.next/server/pages/api/solve.js +1 -1121
- package/packages/scrabble-solver/.next/server/pages/api/solve.js.nft.json +1 -1
- package/packages/scrabble-solver/.next/server/pages/api/verify.js +1 -213
- package/packages/scrabble-solver/.next/server/pages/api/verify.js.nft.json +1 -1
- package/packages/scrabble-solver/.next/server/pages/api/visit.js +1 -131
- package/packages/scrabble-solver/.next/server/pages/api/visit.js.nft.json +1 -1
- package/packages/scrabble-solver/.next/server/pages/index.html +1 -1
- package/packages/scrabble-solver/.next/server/pages/index.js +1 -2088
- package/packages/scrabble-solver/.next/server/pages/index.js.nft.json +1 -1
- package/packages/scrabble-solver/.next/server/pages/index.json +1 -1
- package/packages/scrabble-solver/.next/server/pages-manifest.json +1 -12
- package/packages/scrabble-solver/.next/server/webpack-api-runtime.js +1 -172
- package/packages/scrabble-solver/.next/server/webpack-runtime.js +1 -229
- package/packages/scrabble-solver/.next/static/chunks/framework-1728d40275bc359a.js +49 -0
- package/packages/scrabble-solver/.next/static/chunks/main-5fb7abbfc135de15.js +1 -0
- package/packages/scrabble-solver/.next/static/chunks/pages/404-b6e238bb4117d451.js +1 -0
- package/packages/scrabble-solver/.next/static/chunks/pages/_app-b95404c40a0092e6.js +17 -0
- package/packages/scrabble-solver/.next/static/chunks/pages/_error-db043fa3544f8809.js +1 -0
- package/packages/scrabble-solver/.next/static/chunks/pages/index-59d569ef79bc2580.js +1 -0
- package/packages/scrabble-solver/.next/static/css/8fa2fb99b90e109e.css +1 -0
- package/packages/scrabble-solver/.next/static/css/c80ebc6fd13311f1.css +2 -0
- package/packages/scrabble-solver/.next/static/jyVoCYlAT5PMzOeavr5AX/_buildManifest.js +1 -0
- package/packages/scrabble-solver/.next/trace +44 -51
- package/packages/scrabble-solver/package-lock.json +754 -524
- package/packages/scrabble-solver/package.json +30 -31
- package/packages/scrabble-solver/public/service-worker.js +2 -0
- package/packages/scrabble-solver/public/service-worker.js.map +1 -0
- package/packages/scrabble-solver/src/state/slices/boardSlice.ts +4 -4
- package/packages/scrabble-solver/src/state/store.ts +1 -1
- package/packages/solver/package-lock.json +2 -2
- package/packages/solver/package.json +6 -7
- package/packages/types/package.json +3 -4
- package/packages/word-definitions/package-lock.json +10 -10
- package/packages/word-definitions/package.json +5 -5
- package/packages/word-lists/package-lock.json +22 -22
- package/packages/word-lists/package.json +8 -9
- package/tsconfig.json +1 -1
- package/packages/configs/dictionaries/build/Dictionaries.d.ts +0 -13
- package/packages/configs/dictionaries/build/Dictionaries.js +0 -46
- package/packages/configs/dictionaries/build/constants/index.d.ts +0 -3
- package/packages/configs/dictionaries/build/constants/index.js +0 -11
- package/packages/configs/dictionaries/build/index.d.ts +0 -3
- package/packages/configs/dictionaries/build/index.js +0 -23
- package/packages/configs/dictionaries/build/lib/DiskCache.d.ts +0 -11
- package/packages/configs/dictionaries/build/lib/DiskCache.js +0 -48
- package/packages/configs/dictionaries/build/lib/LayeredCache.d.ts +0 -13
- package/packages/configs/dictionaries/build/lib/LayeredCache.js +0 -55
- package/packages/configs/dictionaries/build/lib/MemoryCache.d.ts +0 -13
- package/packages/configs/dictionaries/build/lib/MemoryCache.js +0 -32
- package/packages/configs/dictionaries/build/lib/createAsyncProxy.d.ts +0 -3
- package/packages/configs/dictionaries/build/lib/createAsyncProxy.js +0 -18
- package/packages/configs/dictionaries/build/lib/createCacheTimestampComparator.d.ts +0 -5
- package/packages/configs/dictionaries/build/lib/createCacheTimestampComparator.js +0 -19
- package/packages/configs/dictionaries/build/lib/downloadDictionary.d.ts +0 -4
- package/packages/configs/dictionaries/build/lib/downloadDictionary.js +0 -16
- package/packages/configs/dictionaries/build/lib/getDictionaryFilepath.d.ts +0 -3
- package/packages/configs/dictionaries/build/lib/getDictionaryFilepath.js +0 -11
- package/packages/configs/dictionaries/build/lib/index.d.ts +0 -7
- package/packages/configs/dictionaries/build/lib/index.js +0 -20
- package/packages/configs/dictionaries/build/types/Cache.d.ts +0 -8
- package/packages/configs/dictionaries/build/types/Cache.js +0 -2
- package/packages/configs/dictionaries/build/types/index.d.ts +0 -1
- package/packages/configs/dictionaries/build/types/index.js +0 -2
- package/packages/scrabble-solver/.next/cache/next-server.js.nft.json +0 -1
- package/packages/scrabble-solver/.next/server/chunks/210.js +0 -109
- package/packages/scrabble-solver/.next/server/chunks/277.js +0 -11942
- package/packages/scrabble-solver/.next/server/chunks/44.js +0 -1838
- package/packages/scrabble-solver/.next/server/chunks/50.js +0 -12119
- package/packages/scrabble-solver/.next/server/chunks/636.js +0 -286
- package/packages/scrabble-solver/.next/server/chunks/675.js +0 -572
- package/packages/scrabble-solver/.next/server/chunks/859.js +0 -835
- package/packages/scrabble-solver/.next/server/chunks/865.js +0 -20424
- package/packages/scrabble-solver/.next/server/chunks/907.js +0 -42530
- package/packages/scrabble-solver/.next/server/chunks/987.js +0 -91
- package/packages/scrabble-solver/.next/static/16S6EJJ0_LRmtRPwnUIw5/_buildManifest.js +0 -1
- package/packages/scrabble-solver/.next/static/chunks/framework-2c29dc3cd933590b.js +0 -49
- package/packages/scrabble-solver/.next/static/chunks/main-4dcb7f9b52833aba.js +0 -1
- package/packages/scrabble-solver/.next/static/chunks/pages/404-b4b5ce15153d4825.js +0 -1
- package/packages/scrabble-solver/.next/static/chunks/pages/_app-122dc8ecfa0220d5.js +0 -32
- package/packages/scrabble-solver/.next/static/chunks/pages/_error-54de1933a164a1ff.js +0 -1
- package/packages/scrabble-solver/.next/static/chunks/pages/index-f56eaa969a831c70.js +0 -1
- package/packages/scrabble-solver/.next/static/css/4e8b47fe382a8a8f.css +0 -2
- package/packages/scrabble-solver/.next/static/css/cfae5256f1689f57.css +0 -1
- /package/packages/scrabble-solver/.next/static/{16S6EJJ0_LRmtRPwnUIw5 → jyVoCYlAT5PMzOeavr5AX}/_ssgManifest.js +0 -0
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
exports.id = 210;
|
|
3
|
-
exports.ids = [210];
|
|
4
|
-
exports.modules = {
|
|
5
|
-
|
|
6
|
-
/***/ 31210:
|
|
7
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
// EXPORTS
|
|
11
|
-
__webpack_require__.d(__webpack_exports__, {
|
|
12
|
-
"Z": () => (/* binding */ api_isBoardValid)
|
|
13
|
-
});
|
|
14
|
-
|
|
15
|
-
// EXTERNAL MODULE: ./src/api/isCharacterValid.ts
|
|
16
|
-
var isCharacterValid = __webpack_require__(38246);
|
|
17
|
-
;// CONCATENATED MODULE: ./src/api/isCellValid.ts
|
|
18
|
-
|
|
19
|
-
const isCellValid = (cell, config)=>{
|
|
20
|
-
const { isEmpty , tile , x , y } = cell;
|
|
21
|
-
if (x < 0 || x >= config.boardWidth) {
|
|
22
|
-
return false;
|
|
23
|
-
}
|
|
24
|
-
if (y < 0 || y >= config.boardHeight) {
|
|
25
|
-
return false;
|
|
26
|
-
}
|
|
27
|
-
if (isEmpty && tile !== null) {
|
|
28
|
-
return false;
|
|
29
|
-
}
|
|
30
|
-
if (tile !== null && !(0,isCharacterValid/* default */.Z)(tile.character)) {
|
|
31
|
-
return false;
|
|
32
|
-
}
|
|
33
|
-
return true;
|
|
34
|
-
};
|
|
35
|
-
/* harmony default export */ const api_isCellValid = (isCellValid);
|
|
36
|
-
|
|
37
|
-
;// CONCATENATED MODULE: ./src/api/isRowValid.ts
|
|
38
|
-
|
|
39
|
-
const isRowValid = (row, config)=>{
|
|
40
|
-
if (row.length !== config.boardWidth) {
|
|
41
|
-
return false;
|
|
42
|
-
}
|
|
43
|
-
for (const cell of row){
|
|
44
|
-
if (!api_isCellValid(cell, config)) {
|
|
45
|
-
return false;
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
return true;
|
|
49
|
-
};
|
|
50
|
-
/* harmony default export */ const api_isRowValid = (isRowValid);
|
|
51
|
-
|
|
52
|
-
;// CONCATENATED MODULE: ./src/api/isBoardValid.ts
|
|
53
|
-
|
|
54
|
-
const isBoardValid = (board, config)=>{
|
|
55
|
-
if (board.length !== config.boardHeight) {
|
|
56
|
-
return false;
|
|
57
|
-
}
|
|
58
|
-
for (const row of board){
|
|
59
|
-
if (!api_isRowValid(row, config)) {
|
|
60
|
-
return false;
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
return areTwoCharacterTilesValid(board, config);
|
|
64
|
-
};
|
|
65
|
-
const areTwoCharacterTilesValid = (board, config)=>{
|
|
66
|
-
const cells = board.flat().filter((cell)=>cell && cell.tile && config.isTwoCharacterTilePrefix(cell.tile.character));
|
|
67
|
-
for (const cell of cells){
|
|
68
|
-
for (const characters of config.twoCharacterTiles){
|
|
69
|
-
const canCheckDown = cell.y + 1 < board.length;
|
|
70
|
-
const canCheckRight = cell.x + 1 < board[0].length;
|
|
71
|
-
const cellDown = board[cell.y + 1][cell.x];
|
|
72
|
-
const cellRight = board[cell.y][cell.x + 1];
|
|
73
|
-
const collidesDown = canCheckDown && cellDown.tile && cellDown.tile.character === characters[1];
|
|
74
|
-
const collidesRight = canCheckRight && cellRight.tile && cellRight.tile.character === characters[1];
|
|
75
|
-
const collides = collidesDown || collidesRight;
|
|
76
|
-
if (cell.tile && characters.startsWith(cell.tile.character) && collides) {
|
|
77
|
-
return false;
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
return true;
|
|
82
|
-
};
|
|
83
|
-
/* harmony default export */ const api_isBoardValid = (isBoardValid);
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
/***/ }),
|
|
87
|
-
|
|
88
|
-
/***/ 38246:
|
|
89
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
90
|
-
|
|
91
|
-
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
92
|
-
/* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
93
|
-
/* harmony export */ });
|
|
94
|
-
const TWO_TILE_CHARACTER_LENGTH = 2;
|
|
95
|
-
const MAX_CHARACTER_LENGTH = TWO_TILE_CHARACTER_LENGTH;
|
|
96
|
-
const isCharacterValid = (character)=>{
|
|
97
|
-
/*
|
|
98
|
-
* We could be strict here and check whether config.hasCharacter(character) || character === BLANK
|
|
99
|
-
* but since this case won't really affect/break solving, we don't need to worry about it.
|
|
100
|
-
* It's better to display an empty state than error state in UI, so this is a sanity check only.
|
|
101
|
-
*/ return character.length !== 0 && character.length <= MAX_CHARACTER_LENGTH;
|
|
102
|
-
};
|
|
103
|
-
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (isCharacterValid);
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
/***/ })
|
|
107
|
-
|
|
108
|
-
};
|
|
109
|
-
;
|