scrabble-solver 2.8.10 → 2.8.11
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/README.md +8 -8
- package/lerna.json +1 -1
- package/package.json +1 -1
- package/packages/configs/package.json +3 -3
- package/packages/constants/package.json +1 -1
- package/packages/dictionaries/package-lock.json +2 -2
- package/packages/dictionaries/package.json +4 -4
- package/packages/logger/package-lock.json +2 -2
- package/packages/logger/package.json +1 -1
- package/packages/scrabble-solver/.next/BUILD_ID +1 -1
- package/packages/scrabble-solver/.next/build-manifest.json +9 -9
- 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/next-server.js.nft.json +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/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-server.js.nft.json +1 -1
- package/packages/scrabble-solver/.next/prerender-manifest.json +1 -1
- package/packages/scrabble-solver/.next/routes-manifest.json +1 -1
- package/packages/scrabble-solver/.next/server/chunks/413.js +8 -4
- package/packages/scrabble-solver/.next/server/chunks/515.js +78 -44
- package/packages/scrabble-solver/.next/server/middleware-build-manifest.js +1 -1
- package/packages/scrabble-solver/.next/server/pages/404.html +2 -2
- package/packages/scrabble-solver/.next/server/pages/404.js.nft.json +1 -1
- package/packages/scrabble-solver/.next/server/pages/500.html +2 -2
- package/packages/scrabble-solver/.next/server/pages/_app.js.nft.json +1 -1
- package/packages/scrabble-solver/.next/server/pages/_document.js.nft.json +1 -1
- package/packages/scrabble-solver/.next/server/pages/_error.js.nft.json +1 -1
- package/packages/scrabble-solver/.next/server/pages/api/solve.js +25 -1
- package/packages/scrabble-solver/.next/server/pages/index.html +2 -2
- 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/static/VJkrGviICslA_8zNVJ-g-/_buildManifest.js +1 -0
- package/packages/scrabble-solver/.next/static/{A8A_Lmg8cM-Bkf-Jo1CLh → VJkrGviICslA_8zNVJ-g-}/_ssgManifest.js +0 -0
- package/packages/scrabble-solver/.next/static/chunks/317-8e8909dd2f587b64.js +1 -0
- package/packages/scrabble-solver/.next/static/chunks/{758-eff80059a1365d5d.js → 546-447e243fc9de2c59.js} +1 -1
- package/packages/scrabble-solver/.next/static/chunks/pages/{404-90c624da3c83fd17.js → 404-7082923654d5996f.js} +1 -1
- package/packages/scrabble-solver/.next/static/chunks/pages/{_app-0e358b5622cf9e66.js → _app-57c77cad0f197d93.js} +1 -1
- package/packages/scrabble-solver/.next/static/chunks/pages/{index-0cc5e6eda5adac73.js → index-d3360e075ca3c222.js} +1 -1
- package/packages/scrabble-solver/.next/trace +42 -42
- package/packages/scrabble-solver/package-lock.json +2 -2
- package/packages/scrabble-solver/package.json +8 -8
- package/packages/scrabble-solver/src/components/Board/components/Cell/CellPure.tsx +33 -31
- package/packages/scrabble-solver/src/components/Board/hooks/useGrid.ts +23 -18
- package/packages/scrabble-solver/src/components/Sidebar/Sidebar.tsx +20 -1
- package/packages/scrabble-solver/src/state/sagas.ts +6 -0
- package/packages/scrabble-solver/src/state/slices/rackSlice.ts +0 -5
- package/packages/solver/build/index.d.ts +12 -0
- package/packages/solver/build/index.js +25 -1
- package/packages/solver/package-lock.json +2 -2
- package/packages/solver/package.json +5 -5
- package/packages/solver/src/index.ts +12 -0
- package/packages/types/package.json +2 -2
- package/packages/word-definitions/package-lock.json +8 -8
- package/packages/word-definitions/package.json +2 -2
- package/packages/word-lists/package-lock.json +2 -2
- package/packages/word-lists/package.json +2 -2
- package/packages/scrabble-solver/.next/static/A8A_Lmg8cM-Bkf-Jo1CLh/_buildManifest.js +0 -1
- package/packages/scrabble-solver/.next/static/chunks/317-95ab9051449362fa.js +0 -1
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@scrabble-solver/scrabble-solver",
|
|
3
|
-
"version": "2.8.
|
|
3
|
+
"version": "2.8.11",
|
|
4
4
|
"lockfileVersion": 2,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "@scrabble-solver/scrabble-solver",
|
|
9
|
-
"version": "2.8.
|
|
9
|
+
"version": "2.8.11",
|
|
10
10
|
"license": "CC BY-NC-ND 4.0",
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@popperjs/core": "^2.11.6",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@scrabble-solver/scrabble-solver",
|
|
3
|
-
"version": "2.8.
|
|
3
|
+
"version": "2.8.11",
|
|
4
4
|
"description": "Scrabble Solver 2 - App",
|
|
5
5
|
"engines": {
|
|
6
6
|
"node": ">=16"
|
|
@@ -30,13 +30,13 @@
|
|
|
30
30
|
"dependencies": {
|
|
31
31
|
"@popperjs/core": "^2.11.6",
|
|
32
32
|
"@reduxjs/toolkit": "^1.8.6",
|
|
33
|
-
"@scrabble-solver/configs": "^2.8.
|
|
34
|
-
"@scrabble-solver/constants": "^2.8.
|
|
35
|
-
"@scrabble-solver/dictionaries": "^2.8.
|
|
36
|
-
"@scrabble-solver/logger": "^2.8.
|
|
37
|
-
"@scrabble-solver/solver": "^2.8.
|
|
38
|
-
"@scrabble-solver/types": "^2.8.
|
|
39
|
-
"@scrabble-solver/word-definitions": "^2.8.
|
|
33
|
+
"@scrabble-solver/configs": "^2.8.11",
|
|
34
|
+
"@scrabble-solver/constants": "^2.8.11",
|
|
35
|
+
"@scrabble-solver/dictionaries": "^2.8.11",
|
|
36
|
+
"@scrabble-solver/logger": "^2.8.11",
|
|
37
|
+
"@scrabble-solver/solver": "^2.8.11",
|
|
38
|
+
"@scrabble-solver/types": "^2.8.11",
|
|
39
|
+
"@scrabble-solver/word-definitions": "^2.8.11",
|
|
40
40
|
"classnames": "^2.3.2",
|
|
41
41
|
"next": "^12.3.1",
|
|
42
42
|
"normalize.css": "^8.0.1",
|
|
@@ -81,39 +81,41 @@ const CellPure: FunctionComponent<Props> = ({
|
|
|
81
81
|
onFocus={onFocus}
|
|
82
82
|
/>
|
|
83
83
|
|
|
84
|
-
|
|
85
|
-
<
|
|
86
|
-
<
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
{isEmpty && (
|
|
94
|
-
<Button
|
|
95
|
-
className={classNames(styles.filterCell, {
|
|
96
|
-
[styles.filtered]: isFiltered,
|
|
97
|
-
})}
|
|
98
|
-
tooltip={translate('cell.filter-cell')}
|
|
99
|
-
onClick={onToggleFilterCellClick}
|
|
100
|
-
>
|
|
101
|
-
<Flag />
|
|
84
|
+
{!cell.isCandidate() && (
|
|
85
|
+
<div className={styles.actions}>
|
|
86
|
+
<Button tooltip={translate('cell.toggle-direction')} onClick={onDirectionToggleClick}>
|
|
87
|
+
<ArrowDown
|
|
88
|
+
className={classNames(styles.toggleDirection, {
|
|
89
|
+
[styles.right]: direction === 'horizontal',
|
|
90
|
+
})}
|
|
91
|
+
/>
|
|
102
92
|
</Button>
|
|
103
|
-
)}
|
|
104
93
|
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
94
|
+
{isEmpty && (
|
|
95
|
+
<Button
|
|
96
|
+
className={classNames(styles.filterCell, {
|
|
97
|
+
[styles.filtered]: isFiltered,
|
|
98
|
+
})}
|
|
99
|
+
tooltip={translate('cell.filter-cell')}
|
|
100
|
+
onClick={onToggleFilterCellClick}
|
|
101
|
+
>
|
|
102
|
+
<Flag />
|
|
103
|
+
</Button>
|
|
104
|
+
)}
|
|
105
|
+
|
|
106
|
+
{!isEmpty && (
|
|
107
|
+
<Button
|
|
108
|
+
className={classNames(styles.blank, {
|
|
109
|
+
[styles.active]: tile.isBlank,
|
|
110
|
+
})}
|
|
111
|
+
tooltip={tile.isBlank ? translate('cell.set-not-blank') : translate('cell.set-blank')}
|
|
112
|
+
onClick={onToggleBlankClick}
|
|
113
|
+
>
|
|
114
|
+
B
|
|
115
|
+
</Button>
|
|
116
|
+
)}
|
|
117
|
+
</div>
|
|
118
|
+
)}
|
|
117
119
|
</div>
|
|
118
120
|
);
|
|
119
121
|
|
|
@@ -15,6 +15,7 @@ import {
|
|
|
15
15
|
} from 'react';
|
|
16
16
|
import { useDispatch } from 'react-redux';
|
|
17
17
|
import { useLatest } from 'react-use';
|
|
18
|
+
import { AnyAction } from 'redux';
|
|
18
19
|
|
|
19
20
|
import { createGridOf, createKeyboardNavigation, extractCharacters, extractInputValue, isCtrl } from 'lib';
|
|
20
21
|
import { boardSlice, selectConfig, useTypedSelector } from 'state';
|
|
@@ -82,6 +83,7 @@ const useGrid = (rows: Cell[][]): [State, Actions] => {
|
|
|
82
83
|
const insertValue = useCallback(
|
|
83
84
|
(position: Point, value: string) => {
|
|
84
85
|
const characters = value ? extractCharacters(config, value).filter((character) => character !== BLANK) : [BLANK];
|
|
86
|
+
const actions: AnyAction[] = [];
|
|
85
87
|
let board = new Board({ rows: rows.map((row) => row.map((cell) => cell.clone())) });
|
|
86
88
|
let { x, y } = position;
|
|
87
89
|
|
|
@@ -108,10 +110,9 @@ const useGrid = (rows: Cell[][]): [State, Actions] => {
|
|
|
108
110
|
const twoCharacterCandidate = cellUp.tile.character + character;
|
|
109
111
|
|
|
110
112
|
if (!cellUp.tile.isBlank && config.twoCharacterTiles.includes(twoCharacterCandidate)) {
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
);
|
|
113
|
+
const action = boardSlice.actions.changeCellValue({ x, y: y - 1, value: twoCharacterCandidate });
|
|
114
|
+
board = boardSlice.reducer(board, action);
|
|
115
|
+
actions.push(action);
|
|
115
116
|
return;
|
|
116
117
|
}
|
|
117
118
|
}
|
|
@@ -121,8 +122,10 @@ const useGrid = (rows: Cell[][]): [State, Actions] => {
|
|
|
121
122
|
const twoCharacterCandidate = character + cellDown.tile.character;
|
|
122
123
|
|
|
123
124
|
if (!cellDown.tile.isBlank && config.twoCharacterTiles.includes(twoCharacterCandidate)) {
|
|
124
|
-
|
|
125
|
-
|
|
125
|
+
const action1 = boardSlice.actions.changeCellValue({ x, y, value: character });
|
|
126
|
+
const action2 = boardSlice.actions.changeCellValue({ x, y: y + 1, value: EMPTY_CELL });
|
|
127
|
+
board = boardSlice.reducer(boardSlice.reducer(board, action1), action2);
|
|
128
|
+
actions.push(action1, action2);
|
|
126
129
|
scheduleMoveFocus();
|
|
127
130
|
return;
|
|
128
131
|
}
|
|
@@ -133,10 +136,9 @@ const useGrid = (rows: Cell[][]): [State, Actions] => {
|
|
|
133
136
|
const twoCharacterCandidate = cellLeft.tile.character + character;
|
|
134
137
|
|
|
135
138
|
if (!cellLeft.tile.isBlank && config.twoCharacterTiles.includes(twoCharacterCandidate)) {
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
);
|
|
139
|
+
const action = boardSlice.actions.changeCellValue({ x: x - 1, y, value: twoCharacterCandidate });
|
|
140
|
+
board = boardSlice.reducer(board, action);
|
|
141
|
+
actions.push(action);
|
|
140
142
|
return;
|
|
141
143
|
}
|
|
142
144
|
}
|
|
@@ -146,8 +148,10 @@ const useGrid = (rows: Cell[][]): [State, Actions] => {
|
|
|
146
148
|
const twoCharacterCandidate = character + cellRight.tile.character;
|
|
147
149
|
|
|
148
150
|
if (!cellRight.tile.isBlank && config.twoCharacterTiles.includes(twoCharacterCandidate)) {
|
|
149
|
-
|
|
150
|
-
|
|
151
|
+
const action1 = boardSlice.actions.changeCellValue({ x, y, value: character });
|
|
152
|
+
const action2 = boardSlice.actions.changeCellValue({ x: x + 1, y, value: EMPTY_CELL });
|
|
153
|
+
board = boardSlice.reducer(boardSlice.reducer(board, action1), action2);
|
|
154
|
+
actions.push(action1, action2);
|
|
151
155
|
scheduleMoveFocus();
|
|
152
156
|
return;
|
|
153
157
|
}
|
|
@@ -158,20 +162,21 @@ const useGrid = (rows: Cell[][]): [State, Actions] => {
|
|
|
158
162
|
const twoCharacterCandidate = cell.tile.character + character;
|
|
159
163
|
|
|
160
164
|
if (!cell.tile.isBlank && config.twoCharacterTiles.includes(twoCharacterCandidate)) {
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
);
|
|
165
|
+
const action = boardSlice.actions.changeCellValue({ x, y, value: twoCharacterCandidate });
|
|
166
|
+
board = boardSlice.reducer(board, action);
|
|
167
|
+
actions.push(action);
|
|
165
168
|
return;
|
|
166
169
|
}
|
|
167
170
|
}
|
|
168
171
|
|
|
169
|
-
|
|
172
|
+
const action = boardSlice.actions.changeCellValue({ x, y, value: character });
|
|
173
|
+
board = boardSlice.reducer(board, action);
|
|
174
|
+
actions.push(action);
|
|
170
175
|
scheduleMoveFocus();
|
|
171
176
|
});
|
|
172
177
|
|
|
173
178
|
moveFocus(Math.abs(position.x - x) + Math.abs(position.y - y));
|
|
174
|
-
|
|
179
|
+
actions.forEach(dispatch);
|
|
175
180
|
},
|
|
176
181
|
[config, directionRef, dispatch, moveFocus, rows],
|
|
177
182
|
);
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import classNames from 'classnames';
|
|
2
|
-
import { FunctionComponent, ReactNode } from 'react';
|
|
2
|
+
import { FunctionComponent, ReactNode, useEffect, useState } from 'react';
|
|
3
3
|
import Modal from 'react-modal';
|
|
4
|
+
import { useKey } from 'react-use';
|
|
4
5
|
|
|
5
6
|
import { CrossFill } from 'icons';
|
|
6
7
|
import { TRANSITION_DURATION_LONG } from 'parameters';
|
|
@@ -21,6 +22,23 @@ export interface Props {
|
|
|
21
22
|
|
|
22
23
|
const Sidebar: FunctionComponent<Props> = ({ children, className, isOpen, title, onClose }) => {
|
|
23
24
|
const translate = useTranslate();
|
|
25
|
+
const [shouldReturnFocusAfterClose, setShouldReturnFocusAfterClose] = useState(true);
|
|
26
|
+
|
|
27
|
+
useKey(
|
|
28
|
+
'Escape',
|
|
29
|
+
() => {
|
|
30
|
+
setShouldReturnFocusAfterClose(false);
|
|
31
|
+
onClose();
|
|
32
|
+
},
|
|
33
|
+
undefined,
|
|
34
|
+
[onClose],
|
|
35
|
+
);
|
|
36
|
+
|
|
37
|
+
useEffect(() => {
|
|
38
|
+
if (isOpen) {
|
|
39
|
+
setShouldReturnFocusAfterClose(true);
|
|
40
|
+
}
|
|
41
|
+
}, [isOpen]);
|
|
24
42
|
|
|
25
43
|
return (
|
|
26
44
|
<Modal
|
|
@@ -33,6 +51,7 @@ const Sidebar: FunctionComponent<Props> = ({ children, className, isOpen, title,
|
|
|
33
51
|
contentLabel={title}
|
|
34
52
|
isOpen={isOpen}
|
|
35
53
|
overlayClassName={styles.overlay}
|
|
54
|
+
shouldReturnFocusAfterClose={shouldReturnFocusAfterClose}
|
|
36
55
|
onRequestClose={onClose}
|
|
37
56
|
>
|
|
38
57
|
<div className={classNames(styles.sidebar, className)}>
|
|
@@ -37,6 +37,7 @@ type AnyGenerator = Generator<any, any, any>;
|
|
|
37
37
|
|
|
38
38
|
export function* rootSaga(): AnyGenerator {
|
|
39
39
|
yield takeEvery(boardSlice.actions.changeCellValue.type, onCellValueChange);
|
|
40
|
+
yield takeEvery([rackSlice.actions.changeCharacter.type, rackSlice.actions.changeCharacters.type], onRackValueChange);
|
|
40
41
|
yield takeEvery(resultsSlice.actions.applyResult.type, onApplyResult);
|
|
41
42
|
yield takeEvery(resultsSlice.actions.changeResultCandidate.type, onResultCandidateChange);
|
|
42
43
|
yield takeEvery(settingsSlice.actions.changeConfigId.type, onConfigIdChange);
|
|
@@ -55,9 +56,14 @@ function* onCellValueChange({ payload }: PayloadAction<{ value: string; x: numbe
|
|
|
55
56
|
yield put(cellFilterSlice.actions.toggle(payload));
|
|
56
57
|
}
|
|
57
58
|
|
|
59
|
+
yield put(resultsSlice.actions.changeResultCandidate(null));
|
|
58
60
|
yield put(verifySlice.actions.submit());
|
|
59
61
|
}
|
|
60
62
|
|
|
63
|
+
function* onRackValueChange(): AnyGenerator {
|
|
64
|
+
yield put(resultsSlice.actions.changeResultCandidate(null));
|
|
65
|
+
}
|
|
66
|
+
|
|
61
67
|
function* onApplyResult({ payload: result }: PayloadAction<Result>): AnyGenerator {
|
|
62
68
|
const autoGroupTiles = yield select(selectAutoGroupTiles);
|
|
63
69
|
yield put(boardSlice.actions.applyResult(result));
|
|
@@ -9,11 +9,6 @@ const rackSlice = createSlice({
|
|
|
9
9
|
initialState: rackInitialState,
|
|
10
10
|
name: 'rack',
|
|
11
11
|
reducers: {
|
|
12
|
-
change: (_state, action: PayloadAction<(string | null)[]>) => {
|
|
13
|
-
const rack = action.payload;
|
|
14
|
-
return rack;
|
|
15
|
-
},
|
|
16
|
-
|
|
17
12
|
changeCharacter: (state, action: PayloadAction<{ character: string | null; index: number }>) => {
|
|
18
13
|
const { character, index } = action.payload;
|
|
19
14
|
return [...state.slice(0, index), character, ...state.slice(index + 1)];
|
|
@@ -1 +1,13 @@
|
|
|
1
|
+
export { default as fillPattern } from './fillPattern';
|
|
2
|
+
export { default as generateEndIndices } from './generateEndIndices';
|
|
3
|
+
export { default as generateHorizontalPatterns } from './generateHorizontalPatterns';
|
|
4
|
+
export { default as generatePattern } from './generatePattern';
|
|
5
|
+
export { default as generatePatterns } from './generatePatterns';
|
|
6
|
+
export { default as generateStartIndices } from './generateStartIndices';
|
|
7
|
+
export { default as generateVectors } from './generateVectors';
|
|
8
|
+
export { default as generateVerticalPatterns } from './generateVerticalPatterns';
|
|
9
|
+
export { default as getCellsScore } from './getCellsScore';
|
|
10
|
+
export { default as getPatternHash } from './getPatternHash';
|
|
11
|
+
export { default as getPatternScore } from './getPatternScore';
|
|
12
|
+
export { default as getUniquePatterns } from './getUniquePatterns';
|
|
1
13
|
export { default as solve } from './solve';
|
|
@@ -3,6 +3,30 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.solve = void 0;
|
|
6
|
+
exports.solve = exports.getUniquePatterns = exports.getPatternScore = exports.getPatternHash = exports.getCellsScore = exports.generateVerticalPatterns = exports.generateVectors = exports.generateStartIndices = exports.generatePatterns = exports.generatePattern = exports.generateHorizontalPatterns = exports.generateEndIndices = exports.fillPattern = void 0;
|
|
7
|
+
var fillPattern_1 = require("./fillPattern");
|
|
8
|
+
Object.defineProperty(exports, "fillPattern", { enumerable: true, get: function () { return __importDefault(fillPattern_1).default; } });
|
|
9
|
+
var generateEndIndices_1 = require("./generateEndIndices");
|
|
10
|
+
Object.defineProperty(exports, "generateEndIndices", { enumerable: true, get: function () { return __importDefault(generateEndIndices_1).default; } });
|
|
11
|
+
var generateHorizontalPatterns_1 = require("./generateHorizontalPatterns");
|
|
12
|
+
Object.defineProperty(exports, "generateHorizontalPatterns", { enumerable: true, get: function () { return __importDefault(generateHorizontalPatterns_1).default; } });
|
|
13
|
+
var generatePattern_1 = require("./generatePattern");
|
|
14
|
+
Object.defineProperty(exports, "generatePattern", { enumerable: true, get: function () { return __importDefault(generatePattern_1).default; } });
|
|
15
|
+
var generatePatterns_1 = require("./generatePatterns");
|
|
16
|
+
Object.defineProperty(exports, "generatePatterns", { enumerable: true, get: function () { return __importDefault(generatePatterns_1).default; } });
|
|
17
|
+
var generateStartIndices_1 = require("./generateStartIndices");
|
|
18
|
+
Object.defineProperty(exports, "generateStartIndices", { enumerable: true, get: function () { return __importDefault(generateStartIndices_1).default; } });
|
|
19
|
+
var generateVectors_1 = require("./generateVectors");
|
|
20
|
+
Object.defineProperty(exports, "generateVectors", { enumerable: true, get: function () { return __importDefault(generateVectors_1).default; } });
|
|
21
|
+
var generateVerticalPatterns_1 = require("./generateVerticalPatterns");
|
|
22
|
+
Object.defineProperty(exports, "generateVerticalPatterns", { enumerable: true, get: function () { return __importDefault(generateVerticalPatterns_1).default; } });
|
|
23
|
+
var getCellsScore_1 = require("./getCellsScore");
|
|
24
|
+
Object.defineProperty(exports, "getCellsScore", { enumerable: true, get: function () { return __importDefault(getCellsScore_1).default; } });
|
|
25
|
+
var getPatternHash_1 = require("./getPatternHash");
|
|
26
|
+
Object.defineProperty(exports, "getPatternHash", { enumerable: true, get: function () { return __importDefault(getPatternHash_1).default; } });
|
|
27
|
+
var getPatternScore_1 = require("./getPatternScore");
|
|
28
|
+
Object.defineProperty(exports, "getPatternScore", { enumerable: true, get: function () { return __importDefault(getPatternScore_1).default; } });
|
|
29
|
+
var getUniquePatterns_1 = require("./getUniquePatterns");
|
|
30
|
+
Object.defineProperty(exports, "getUniquePatterns", { enumerable: true, get: function () { return __importDefault(getUniquePatterns_1).default; } });
|
|
7
31
|
var solve_1 = require("./solve");
|
|
8
32
|
Object.defineProperty(exports, "solve", { enumerable: true, get: function () { return __importDefault(solve_1).default; } });
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@scrabble-solver/solver",
|
|
3
|
-
"version": "2.8.
|
|
3
|
+
"version": "2.8.11",
|
|
4
4
|
"lockfileVersion": 2,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "@scrabble-solver/solver",
|
|
9
|
-
"version": "2.8.
|
|
9
|
+
"version": "2.8.11",
|
|
10
10
|
"license": "CC-BY-NC-ND-4.0",
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@kamilmielnik/trie": "^2.0.1"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@scrabble-solver/solver",
|
|
3
|
-
"version": "2.8.
|
|
3
|
+
"version": "2.8.11",
|
|
4
4
|
"description": "Scrabble Solver 2 - Solver",
|
|
5
5
|
"main": "build/index.js",
|
|
6
6
|
"types": "build/index.d.ts",
|
|
@@ -25,12 +25,12 @@
|
|
|
25
25
|
},
|
|
26
26
|
"dependencies": {
|
|
27
27
|
"@kamilmielnik/trie": "^2.0.1",
|
|
28
|
-
"@scrabble-solver/types": "^2.8.
|
|
28
|
+
"@scrabble-solver/types": "^2.8.11"
|
|
29
29
|
},
|
|
30
30
|
"devDependencies": {
|
|
31
|
-
"@scrabble-solver/configs": "^2.8.
|
|
32
|
-
"@scrabble-solver/constants": "^2.8.
|
|
33
|
-
"@scrabble-solver/dictionaries": "^2.8.
|
|
31
|
+
"@scrabble-solver/configs": "^2.8.11",
|
|
32
|
+
"@scrabble-solver/constants": "^2.8.11",
|
|
33
|
+
"@scrabble-solver/dictionaries": "^2.8.11"
|
|
34
34
|
},
|
|
35
35
|
"gitHead": "1e2d1ad49a288d4a44196d8e3336740da132c637"
|
|
36
36
|
}
|
|
@@ -1 +1,13 @@
|
|
|
1
|
+
export { default as fillPattern } from './fillPattern';
|
|
2
|
+
export { default as generateEndIndices } from './generateEndIndices';
|
|
3
|
+
export { default as generateHorizontalPatterns } from './generateHorizontalPatterns';
|
|
4
|
+
export { default as generatePattern } from './generatePattern';
|
|
5
|
+
export { default as generatePatterns } from './generatePatterns';
|
|
6
|
+
export { default as generateStartIndices } from './generateStartIndices';
|
|
7
|
+
export { default as generateVectors } from './generateVectors';
|
|
8
|
+
export { default as generateVerticalPatterns } from './generateVerticalPatterns';
|
|
9
|
+
export { default as getCellsScore } from './getCellsScore';
|
|
10
|
+
export { default as getPatternHash } from './getPatternHash';
|
|
11
|
+
export { default as getPatternScore } from './getPatternScore';
|
|
12
|
+
export { default as getUniquePatterns } from './getUniquePatterns';
|
|
1
13
|
export { default as solve } from './solve';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@scrabble-solver/types",
|
|
3
|
-
"version": "2.8.
|
|
3
|
+
"version": "2.8.11",
|
|
4
4
|
"description": "Scrabble Solver 2 - Types",
|
|
5
5
|
"main": "build/index.js",
|
|
6
6
|
"types": "build/index.d.ts",
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"clean:force": "npm run clean && rimraf package-lock.json"
|
|
25
25
|
},
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"@scrabble-solver/constants": "^2.8.
|
|
27
|
+
"@scrabble-solver/constants": "^2.8.11"
|
|
28
28
|
},
|
|
29
29
|
"gitHead": "1e2d1ad49a288d4a44196d8e3336740da132c637"
|
|
30
30
|
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@scrabble-solver/word-definitions",
|
|
3
|
-
"version": "2.8.
|
|
3
|
+
"version": "2.8.11",
|
|
4
4
|
"lockfileVersion": 2,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "@scrabble-solver/word-definitions",
|
|
9
|
-
"version": "2.8.
|
|
9
|
+
"version": "2.8.11",
|
|
10
10
|
"license": "CC-BY-NC-ND-4.0",
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"cheerio": "^1.0.0-rc.12",
|
|
@@ -27,9 +27,9 @@
|
|
|
27
27
|
}
|
|
28
28
|
},
|
|
29
29
|
"node_modules/@types/node": {
|
|
30
|
-
"version": "18.11.
|
|
31
|
-
"resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.
|
|
32
|
-
"integrity": "sha512-
|
|
30
|
+
"version": "18.11.3",
|
|
31
|
+
"resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.3.tgz",
|
|
32
|
+
"integrity": "sha512-fNjDQzzOsZeKZu5NATgXUPsaFaTxeRgFXoosrHivTl8RGeV733OLawXsGfEk9a8/tySyZUyiZ6E8LcjPFZ2y1A==",
|
|
33
33
|
"dev": true
|
|
34
34
|
},
|
|
35
35
|
"node_modules/boolbase": {
|
|
@@ -249,9 +249,9 @@
|
|
|
249
249
|
}
|
|
250
250
|
},
|
|
251
251
|
"@types/node": {
|
|
252
|
-
"version": "18.11.
|
|
253
|
-
"resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.
|
|
254
|
-
"integrity": "sha512-
|
|
252
|
+
"version": "18.11.3",
|
|
253
|
+
"resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.3.tgz",
|
|
254
|
+
"integrity": "sha512-fNjDQzzOsZeKZu5NATgXUPsaFaTxeRgFXoosrHivTl8RGeV733OLawXsGfEk9a8/tySyZUyiZ6E8LcjPFZ2y1A==",
|
|
255
255
|
"dev": true
|
|
256
256
|
},
|
|
257
257
|
"boolbase": {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@scrabble-solver/word-definitions",
|
|
3
|
-
"version": "2.8.
|
|
3
|
+
"version": "2.8.11",
|
|
4
4
|
"description": "Scrabble Solver 2 - Word definitions",
|
|
5
5
|
"main": "build/index.js",
|
|
6
6
|
"types": "build/index.d.ts",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"clean": "rimraf build/ node_modules/ package-lock.json"
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@scrabble-solver/types": "^2.8.
|
|
26
|
+
"@scrabble-solver/types": "^2.8.11",
|
|
27
27
|
"cheerio": "^1.0.0-rc.12",
|
|
28
28
|
"follow-redirects": "^1.15.2",
|
|
29
29
|
"striptags": "^3.2.0"
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@scrabble-solver/word-lists",
|
|
3
|
-
"version": "2.8.
|
|
3
|
+
"version": "2.8.11",
|
|
4
4
|
"lockfileVersion": 2,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "@scrabble-solver/word-lists",
|
|
9
|
-
"version": "2.8.
|
|
9
|
+
"version": "2.8.11",
|
|
10
10
|
"license": "CC-BY-NC-ND-4.0",
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"cheerio": "^1.0.0-rc.12",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@scrabble-solver/word-lists",
|
|
3
|
-
"version": "2.8.
|
|
3
|
+
"version": "2.8.11",
|
|
4
4
|
"description": "Scrabble Solver 2 - Word lists",
|
|
5
5
|
"main": "build/index.js",
|
|
6
6
|
"types": "build/index.d.ts",
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"clean:force": "npm run clean && rimraf package-lock.json"
|
|
25
25
|
},
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"@scrabble-solver/types": "^2.8.
|
|
27
|
+
"@scrabble-solver/types": "^2.8.11",
|
|
28
28
|
"cheerio": "^1.0.0-rc.12",
|
|
29
29
|
"follow-redirects": "^1.15.2",
|
|
30
30
|
"memfs": "^3.4.7",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
self.__BUILD_MANIFEST=function(s,e,a){return{__rewrites:{beforeFiles:[],afterFiles:[],fallback:[]},"/":[s,e,a,"static/css/751e8a14776d05d8.css","static/chunks/pages/index-0cc5e6eda5adac73.js"],"/404":[s,e,a,"static/chunks/pages/404-90c624da3c83fd17.js"],"/_error":["static/chunks/pages/_error-a4ba2246ff8fb532.js"],sortedPages:["/","/404","/_app","/_error"]}}("static/chunks/758-eff80059a1365d5d.js","static/css/9ac903004135f4b1.css","static/chunks/317-95ab9051449362fa.js"),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB();
|