@scrabble-solver/scrabble-solver 2.8.8 → 2.8.10
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/.next/BUILD_ID +1 -1
- package/.next/build-manifest.json +12 -12
- package/.next/cache/.tsbuildinfo +1 -1
- package/.next/cache/eslint/.cache_8dgz12 +1 -1
- package/.next/cache/next-server.js.nft.json +1 -1
- package/.next/cache/webpack/client-production/0.pack +0 -0
- package/.next/cache/webpack/client-production/index.pack +0 -0
- package/.next/cache/webpack/server-production/0.pack +0 -0
- package/.next/cache/webpack/server-production/index.pack +0 -0
- package/.next/next-server.js.nft.json +1 -1
- package/.next/prerender-manifest.json +1 -1
- package/.next/routes-manifest.json +1 -1
- package/.next/server/chunks/413.js +350 -73
- package/.next/server/chunks/429.js +2 -13
- package/.next/server/chunks/44.js +802 -0
- package/.next/server/chunks/515.js +767 -322
- package/.next/server/chunks/911.js +77 -25
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/pages/404.html +2 -2
- package/.next/server/pages/404.js.nft.json +1 -1
- package/.next/server/pages/500.html +2 -2
- package/.next/server/pages/_app.js.nft.json +1 -1
- package/.next/server/pages/_document.js.nft.json +1 -1
- package/.next/server/pages/_error.js.nft.json +1 -1
- package/.next/server/pages/api/solve.js +226 -927
- package/.next/server/pages/api/solve.js.nft.json +1 -1
- package/.next/server/pages/api/verify.js +217 -0
- package/.next/server/pages/api/verify.js.nft.json +1 -0
- package/.next/server/pages/index.html +3 -3
- package/.next/server/pages/index.js +8 -2
- package/.next/server/pages/index.js.nft.json +1 -1
- package/.next/server/pages/index.json +1 -1
- package/.next/server/pages-manifest.json +1 -0
- package/.next/static/A8A_Lmg8cM-Bkf-Jo1CLh/_buildManifest.js +1 -0
- package/.next/static/{z3J3qmq1nazbDv_ENIkCo → A8A_Lmg8cM-Bkf-Jo1CLh}/_ssgManifest.js +0 -0
- package/.next/static/chunks/317-95ab9051449362fa.js +1 -0
- package/.next/static/chunks/758-eff80059a1365d5d.js +1 -0
- package/.next/static/chunks/pages/{404-8eb3ba4f0ba17e08.js → 404-90c624da3c83fd17.js} +1 -1
- package/.next/static/chunks/pages/_app-0e358b5622cf9e66.js +1 -0
- package/.next/static/chunks/pages/index-0cc5e6eda5adac73.js +1 -0
- package/.next/static/css/9ac903004135f4b1.css +1 -0
- package/.next/static/css/{cdbc9e0afcff5473.css → ad2a08918868cad8.css} +1 -1
- package/.next/trace +42 -41
- package/package.json +12 -12
- package/src/components/Badge/Badge.module.scss +13 -0
- package/src/components/Badge/Badge.tsx +15 -0
- package/src/components/Badge/index.ts +1 -0
- package/src/components/Board/Board.tsx +4 -2
- package/src/components/Board/BoardPure.tsx +25 -5
- package/src/components/Board/hooks/useGrid.ts +212 -91
- package/src/components/Dictionary/Dictionary.tsx +8 -1
- package/src/components/NavButtons/NavButtons.tsx +33 -14
- package/src/components/Rack/Rack.tsx +51 -11
- package/src/components/Rack/RackTile.tsx +33 -16
- package/src/components/RemainingTiles/RemainingTiles.module.scss +8 -7
- package/src/components/RemainingTiles/RemainingTiles.tsx +13 -4
- package/src/components/Results/Results.tsx +19 -3
- package/src/components/Sidebar/Sidebar.tsx +2 -2
- package/src/components/Sidebar/components/Section/Section.module.scss +0 -1
- package/src/components/Sidebar/components/Section/Section.tsx +1 -1
- package/src/components/SquareButton/Link.tsx +1 -1
- package/src/components/SquareButton/SquareButton.module.scss +5 -0
- package/src/components/Tile/Tile.module.scss +4 -0
- package/src/components/Tile/Tile.tsx +13 -4
- package/src/components/Tile/TilePure.tsx +3 -4
- package/src/components/Words/Words.module.scss +35 -0
- package/src/components/Words/Words.tsx +57 -0
- package/src/components/Words/index.ts +1 -0
- package/src/components/index.ts +2 -0
- package/src/i18n/de.json +4 -1
- package/src/i18n/en.json +4 -1
- package/src/i18n/es.json +4 -1
- package/src/i18n/fr.json +4 -1
- package/src/i18n/pl.json +4 -1
- package/src/icons/BookHalf.svg +4 -0
- package/src/icons/Check.svg +4 -0
- package/src/icons/Cross.svg +2 -2
- package/src/icons/CrossFill.svg +4 -0
- package/src/icons/index.ts +3 -0
- package/src/lib/extractCharacters.ts +26 -0
- package/src/lib/extractInputValue.ts +17 -0
- package/src/lib/index.ts +2 -0
- package/src/lib/isCtrl.ts +1 -1
- package/src/lib/memoize.ts +15 -1
- package/src/pages/api/solve.ts +3 -4
- package/src/pages/api/verify.ts +71 -0
- package/src/pages/index.tsx +5 -0
- package/src/sdk/fetchJson.ts +36 -0
- package/src/sdk/findWordDefinitions.ts +4 -3
- package/src/sdk/index.ts +1 -0
- package/src/sdk/solve.ts +8 -7
- package/src/sdk/verify.ts +23 -0
- package/src/state/rootReducer.ts +2 -0
- package/src/state/sagas.ts +35 -8
- package/src/state/selectors.ts +17 -1
- package/src/state/slices/dictionaryInitialState.ts +10 -2
- package/src/state/slices/dictionarySlice.ts +10 -16
- package/src/state/slices/index.ts +2 -0
- package/src/state/slices/rackSlice.ts +7 -0
- package/src/state/slices/solveInitialState.ts +14 -2
- package/src/state/slices/solveSlice.ts +7 -4
- package/src/state/slices/verifyInitialState.ts +12 -0
- package/src/state/slices/verifySlice.ts +31 -0
- package/src/styles/variables.scss +2 -1
- package/src/types/index.ts +6 -1
- package/.next/static/chunks/615-d258f6c528c18622.js +0 -1
- package/.next/static/chunks/758-f333b1dcdb941547.js +0 -1
- package/.next/static/chunks/pages/_app-4a663fd3d5ca4524.js +0 -1
- package/.next/static/chunks/pages/index-1a9826d740cc8830.js +0 -1
- package/.next/static/css/180c6c26317ac90f.css +0 -1
- package/.next/static/z3J3qmq1nazbDv_ENIkCo/_buildManifest.js +0 -1
|
@@ -861,7 +861,7 @@ exports.VOWELS = ['a', 'ą', 'ä', 'e', 'ę', 'i', 'o', 'ó', 'ö', 'u', 'ü', '
|
|
|
861
861
|
|
|
862
862
|
/***/ }),
|
|
863
863
|
|
|
864
|
-
/***/
|
|
864
|
+
/***/ 75558:
|
|
865
865
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
866
866
|
|
|
867
867
|
|
|
@@ -873,6 +873,8 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
873
873
|
"np": () => (/* reexport */ lib_createKeyboardNavigation),
|
|
874
874
|
"Ml": () => (/* reexport */ lib_createNullMovingComparator),
|
|
875
875
|
"Nj": () => (/* reexport */ lib_detectLocale),
|
|
876
|
+
"nK": () => (/* reexport */ lib_extractCharacters),
|
|
877
|
+
"WM": () => (/* reexport */ lib_extractInputValue),
|
|
876
878
|
"Jp": () => (/* reexport */ lib_findCell),
|
|
877
879
|
"Dz": () => (/* reexport */ lib_getCellSize),
|
|
878
880
|
"ZM": () => (/* reexport */ lib_getRemainingTiles),
|
|
@@ -973,6 +975,43 @@ const detectLocale = ()=>{
|
|
|
973
975
|
};
|
|
974
976
|
/* harmony default export */ const lib_detectLocale = (detectLocale);
|
|
975
977
|
|
|
978
|
+
// EXTERNAL MODULE: ../constants/build/index.js
|
|
979
|
+
var constants_build = __webpack_require__(7618);
|
|
980
|
+
;// CONCATENATED MODULE: ./src/lib/extractCharacters.ts
|
|
981
|
+
|
|
982
|
+
const extractCharacters = (config, value)=>{
|
|
983
|
+
let index = 0;
|
|
984
|
+
const characters = [];
|
|
985
|
+
while(index < value.length){
|
|
986
|
+
const character = value[index];
|
|
987
|
+
const nextCharacter = value[index + 1];
|
|
988
|
+
const twoCharacterTileCandidate = `${character}${nextCharacter}`;
|
|
989
|
+
if (config.twoCharacterTiles.includes(twoCharacterTileCandidate)) {
|
|
990
|
+
characters.push(twoCharacterTileCandidate);
|
|
991
|
+
++index;
|
|
992
|
+
} else if (config.hasCharacter(character) || character === constants_build.BLANK) {
|
|
993
|
+
characters.push(character);
|
|
994
|
+
}
|
|
995
|
+
++index;
|
|
996
|
+
}
|
|
997
|
+
return characters;
|
|
998
|
+
};
|
|
999
|
+
/* harmony default export */ const lib_extractCharacters = (extractCharacters);
|
|
1000
|
+
|
|
1001
|
+
;// CONCATENATED MODULE: ./src/lib/extractInputValue.ts
|
|
1002
|
+
const extractInputValue = (input)=>{
|
|
1003
|
+
const value = input.value.toLocaleLowerCase();
|
|
1004
|
+
if (input.selectionStart === null || input.selectionEnd === null) {
|
|
1005
|
+
return value;
|
|
1006
|
+
}
|
|
1007
|
+
const index = Math.min(input.selectionStart, input.selectionEnd);
|
|
1008
|
+
if (index > 0) {
|
|
1009
|
+
return value.substring(index - 1, index);
|
|
1010
|
+
}
|
|
1011
|
+
return value;
|
|
1012
|
+
};
|
|
1013
|
+
/* harmony default export */ const lib_extractInputValue = (extractInputValue);
|
|
1014
|
+
|
|
976
1015
|
;// CONCATENATED MODULE: ./src/lib/findCell.ts
|
|
977
1016
|
const findCell = (cells, x, y)=>{
|
|
978
1017
|
return cells.find((cell)=>cell.x === x && cell.y === y);
|
|
@@ -991,8 +1030,6 @@ const getCellSize = (config, width, height)=>{
|
|
|
991
1030
|
};
|
|
992
1031
|
/* harmony default export */ const lib_getCellSize = (getCellSize);
|
|
993
1032
|
|
|
994
|
-
// EXTERNAL MODULE: ../constants/build/index.js
|
|
995
|
-
var constants_build = __webpack_require__(7618);
|
|
996
1033
|
;// CONCATENATED MODULE: ./src/lib/numberComparator.ts
|
|
997
1034
|
const numberComparator = (a, b)=>a - b;
|
|
998
1035
|
/* harmony default export */ const lib_numberComparator = (numberComparator);
|
|
@@ -1161,6 +1198,12 @@ const memoize = (fn)=>{
|
|
|
1161
1198
|
const readCache = (parameters)=>{
|
|
1162
1199
|
return cache.find((entry)=>parametersEqual(entry.parameters, parameters))?.result;
|
|
1163
1200
|
};
|
|
1201
|
+
const removeCache = (parameters)=>{
|
|
1202
|
+
const index = cache.findIndex((entry)=>parametersEqual(entry.parameters, parameters));
|
|
1203
|
+
if (index >= 0) {
|
|
1204
|
+
cache.splice(index, 1);
|
|
1205
|
+
}
|
|
1206
|
+
};
|
|
1164
1207
|
const writeCache = (parameters, result)=>{
|
|
1165
1208
|
cache.push({
|
|
1166
1209
|
parameters,
|
|
@@ -1173,6 +1216,11 @@ const memoize = (fn)=>{
|
|
|
1173
1216
|
return cached;
|
|
1174
1217
|
}
|
|
1175
1218
|
const result = fn(...parameters);
|
|
1219
|
+
if (result instanceof Promise) {
|
|
1220
|
+
result.catch(()=>{
|
|
1221
|
+
removeCache(parameters);
|
|
1222
|
+
});
|
|
1223
|
+
}
|
|
1176
1224
|
writeCache(parameters, result);
|
|
1177
1225
|
return result;
|
|
1178
1226
|
};
|
|
@@ -1306,6 +1354,8 @@ const zipCharactersAndTiles = (characters, tiles)=>{
|
|
|
1306
1354
|
|
|
1307
1355
|
|
|
1308
1356
|
|
|
1357
|
+
|
|
1358
|
+
|
|
1309
1359
|
|
|
1310
1360
|
|
|
1311
1361
|
|
|
@@ -1416,7 +1466,7 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
|
|
|
1416
1466
|
/* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(redux__WEBPACK_IMPORTED_MODULE_0__);
|
|
1417
1467
|
/* harmony import */ var redux_saga__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(75998);
|
|
1418
1468
|
/* harmony import */ var _rootReducer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(12935);
|
|
1419
|
-
/* harmony import */ var _sagas__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(
|
|
1469
|
+
/* harmony import */ var _sagas__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(22418);
|
|
1420
1470
|
var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([redux_saga__WEBPACK_IMPORTED_MODULE_1__]);
|
|
1421
1471
|
redux_saga__WEBPACK_IMPORTED_MODULE_1__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
|
|
1422
1472
|
|
|
@@ -1445,6 +1495,7 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
|
|
|
1445
1495
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
1446
1496
|
/* harmony export */ "$o": () => (/* reexport safe */ _selectors__WEBPACK_IMPORTED_MODULE_3__.$o),
|
|
1447
1497
|
/* harmony export */ "En": () => (/* reexport safe */ _selectors__WEBPACK_IMPORTED_MODULE_3__.En),
|
|
1498
|
+
/* harmony export */ "HM": () => (/* reexport safe */ _selectors__WEBPACK_IMPORTED_MODULE_3__.HM),
|
|
1448
1499
|
/* harmony export */ "I8": () => (/* reexport safe */ _slices__WEBPACK_IMPORTED_MODULE_4__.I8),
|
|
1449
1500
|
/* harmony export */ "Mj": () => (/* reexport safe */ _selectors__WEBPACK_IMPORTED_MODULE_3__.Mj),
|
|
1450
1501
|
/* harmony export */ "O0": () => (/* reexport safe */ _selectors__WEBPACK_IMPORTED_MODULE_3__.O0),
|
|
@@ -1453,6 +1504,7 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
|
|
|
1453
1504
|
/* harmony export */ "QB": () => (/* reexport safe */ _selectors__WEBPACK_IMPORTED_MODULE_3__.QB),
|
|
1454
1505
|
/* harmony export */ "QL": () => (/* reexport safe */ _selectors__WEBPACK_IMPORTED_MODULE_3__.QL),
|
|
1455
1506
|
/* harmony export */ "R": () => (/* reexport safe */ _selectors__WEBPACK_IMPORTED_MODULE_3__.R),
|
|
1507
|
+
/* harmony export */ "Rn": () => (/* reexport safe */ _selectors__WEBPACK_IMPORTED_MODULE_3__.Rn),
|
|
1456
1508
|
/* harmony export */ "TP": () => (/* reexport safe */ _slices__WEBPACK_IMPORTED_MODULE_4__.TP),
|
|
1457
1509
|
/* harmony export */ "Xb": () => (/* reexport safe */ _localStorage__WEBPACK_IMPORTED_MODULE_2__.Z),
|
|
1458
1510
|
/* harmony export */ "Yj": () => (/* reexport safe */ _selectors__WEBPACK_IMPORTED_MODULE_3__.Yj),
|
|
@@ -1460,6 +1512,7 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
|
|
|
1460
1512
|
/* harmony export */ "ZO": () => (/* reexport safe */ _selectors__WEBPACK_IMPORTED_MODULE_3__.ZO),
|
|
1461
1513
|
/* harmony export */ "Zf": () => (/* reexport safe */ _selectors__WEBPACK_IMPORTED_MODULE_3__.Zf),
|
|
1462
1514
|
/* harmony export */ "_C": () => (/* reexport safe */ _slices__WEBPACK_IMPORTED_MODULE_4__._C),
|
|
1515
|
+
/* harmony export */ "bs": () => (/* reexport safe */ _selectors__WEBPACK_IMPORTED_MODULE_3__.bs),
|
|
1463
1516
|
/* harmony export */ "dN": () => (/* reexport safe */ _selectors__WEBPACK_IMPORTED_MODULE_3__.dN),
|
|
1464
1517
|
/* harmony export */ "f2": () => (/* reexport safe */ _selectors__WEBPACK_IMPORTED_MODULE_3__.f2),
|
|
1465
1518
|
/* harmony export */ "fN": () => (/* reexport safe */ _selectors__WEBPACK_IMPORTED_MODULE_3__.fN),
|
|
@@ -1467,6 +1520,7 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
|
|
|
1467
1520
|
/* harmony export */ "ix": () => (/* reexport safe */ _useTypedSelector__WEBPACK_IMPORTED_MODULE_6__.Z),
|
|
1468
1521
|
/* harmony export */ "j2": () => (/* reexport safe */ _actions__WEBPACK_IMPORTED_MODULE_0__.j),
|
|
1469
1522
|
/* harmony export */ "lj": () => (/* reexport safe */ _slices__WEBPACK_IMPORTED_MODULE_4__.lj),
|
|
1523
|
+
/* harmony export */ "mK": () => (/* reexport safe */ _selectors__WEBPACK_IMPORTED_MODULE_3__.mK),
|
|
1470
1524
|
/* harmony export */ "mO": () => (/* reexport safe */ _slices__WEBPACK_IMPORTED_MODULE_4__.mO),
|
|
1471
1525
|
/* harmony export */ "mc": () => (/* reexport safe */ _actions__WEBPACK_IMPORTED_MODULE_0__.m),
|
|
1472
1526
|
/* harmony export */ "md": () => (/* reexport safe */ _selectors__WEBPACK_IMPORTED_MODULE_3__.md),
|
|
@@ -1483,7 +1537,7 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
|
|
|
1483
1537
|
/* harmony import */ var _createAppStore__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(33282);
|
|
1484
1538
|
/* harmony import */ var _localStorage__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(83773);
|
|
1485
1539
|
/* harmony import */ var _selectors__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(6114);
|
|
1486
|
-
/* harmony import */ var _slices__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(
|
|
1540
|
+
/* harmony import */ var _slices__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(99134);
|
|
1487
1541
|
/* harmony import */ var _useTranslate__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(41573);
|
|
1488
1542
|
/* harmony import */ var _useTypedSelector__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(53872);
|
|
1489
1543
|
var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_createAppStore__WEBPACK_IMPORTED_MODULE_1__]);
|
|
@@ -1566,7 +1620,7 @@ const localStorage = {
|
|
|
1566
1620
|
/* harmony export */ });
|
|
1567
1621
|
/* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(86695);
|
|
1568
1622
|
/* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(redux__WEBPACK_IMPORTED_MODULE_0__);
|
|
1569
|
-
/* harmony import */ var _slices__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
|
|
1623
|
+
/* harmony import */ var _slices__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(99134);
|
|
1570
1624
|
|
|
1571
1625
|
|
|
1572
1626
|
const rootReducer = (0,redux__WEBPACK_IMPORTED_MODULE_0__.combineReducers)({
|
|
@@ -1576,14 +1630,15 @@ const rootReducer = (0,redux__WEBPACK_IMPORTED_MODULE_0__.combineReducers)({
|
|
|
1576
1630
|
rack: _slices__WEBPACK_IMPORTED_MODULE_1__/* .rackSlice.reducer */ .O_.reducer,
|
|
1577
1631
|
results: _slices__WEBPACK_IMPORTED_MODULE_1__/* .resultsSlice.reducer */ ._C.reducer,
|
|
1578
1632
|
settings: _slices__WEBPACK_IMPORTED_MODULE_1__/* .settingsSlice.reducer */ .xj.reducer,
|
|
1579
|
-
solve: _slices__WEBPACK_IMPORTED_MODULE_1__/* .solveSlice.reducer */ .TP.reducer
|
|
1633
|
+
solve: _slices__WEBPACK_IMPORTED_MODULE_1__/* .solveSlice.reducer */ .TP.reducer,
|
|
1634
|
+
verify: _slices__WEBPACK_IMPORTED_MODULE_1__/* .verifySlice.reducer */ .Gt.reducer
|
|
1580
1635
|
});
|
|
1581
1636
|
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (rootReducer);
|
|
1582
1637
|
|
|
1583
1638
|
|
|
1584
1639
|
/***/ }),
|
|
1585
1640
|
|
|
1586
|
-
/***/
|
|
1641
|
+
/***/ 22418:
|
|
1587
1642
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
1588
1643
|
|
|
1589
1644
|
|
|
@@ -1592,38 +1647,83 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
1592
1647
|
"R": () => (/* binding */ rootSaga)
|
|
1593
1648
|
});
|
|
1594
1649
|
|
|
1595
|
-
// EXTERNAL MODULE: ../types/build/index.js
|
|
1596
|
-
var build = __webpack_require__(34046);
|
|
1597
1650
|
// EXTERNAL MODULE: external "redux-saga/effects"
|
|
1598
1651
|
var effects_ = __webpack_require__(56477);
|
|
1599
|
-
// EXTERNAL MODULE: ./src/lib/index.ts +
|
|
1600
|
-
var lib = __webpack_require__(
|
|
1652
|
+
// EXTERNAL MODULE: ./src/lib/index.ts + 29 modules
|
|
1653
|
+
var lib = __webpack_require__(75558);
|
|
1654
|
+
// EXTERNAL MODULE: ../types/build/index.js
|
|
1655
|
+
var build = __webpack_require__(34046);
|
|
1656
|
+
;// CONCATENATED MODULE: ./src/sdk/fetchJson.ts
|
|
1657
|
+
|
|
1658
|
+
const fetchJson = async (input, init)=>{
|
|
1659
|
+
let response;
|
|
1660
|
+
try {
|
|
1661
|
+
response = await fetch(input, {
|
|
1662
|
+
...init,
|
|
1663
|
+
headers: {
|
|
1664
|
+
"Content-Type": "application/json",
|
|
1665
|
+
...init?.headers
|
|
1666
|
+
}
|
|
1667
|
+
});
|
|
1668
|
+
} catch (error) {
|
|
1669
|
+
const message = (0,build.isError)(error) ? error.message : "Unknown error";
|
|
1670
|
+
throw new Error(`Network error: ${message}`);
|
|
1671
|
+
}
|
|
1672
|
+
if (response.ok) {
|
|
1673
|
+
return response.json();
|
|
1674
|
+
}
|
|
1675
|
+
try {
|
|
1676
|
+
const json = await response.json();
|
|
1677
|
+
if ((0,build.isError)(json)) {
|
|
1678
|
+
throw new Error(json.message);
|
|
1679
|
+
}
|
|
1680
|
+
} finally{
|
|
1681
|
+
// do nothing
|
|
1682
|
+
}
|
|
1683
|
+
throw new Error(`HTTP ${response.status}: ${response.statusText}`);
|
|
1684
|
+
};
|
|
1685
|
+
/* harmony default export */ const sdk_fetchJson = (fetchJson);
|
|
1686
|
+
|
|
1601
1687
|
;// CONCATENATED MODULE: ./src/sdk/findWordDefinitions.ts
|
|
1602
1688
|
|
|
1689
|
+
|
|
1603
1690
|
const findWordDefinitions = async (locale, word)=>{
|
|
1604
|
-
const
|
|
1605
|
-
const json = await fetch(url).then((response)=>response.json());
|
|
1691
|
+
const json = await sdk_fetchJson(`/api/dictionary/${locale}/${word}`);
|
|
1606
1692
|
return json.map(build.WordDefinition.fromJson);
|
|
1607
1693
|
};
|
|
1608
1694
|
/* harmony default export */ const sdk_findWordDefinitions = (findWordDefinitions);
|
|
1609
1695
|
|
|
1610
1696
|
;// CONCATENATED MODULE: ./src/sdk/solve.ts
|
|
1611
|
-
|
|
1612
|
-
|
|
1697
|
+
|
|
1698
|
+
|
|
1699
|
+
const solve = async ({ board , characters , configId , locale })=>{
|
|
1700
|
+
const json = await sdk_fetchJson("/api/solve", {
|
|
1613
1701
|
method: "POST",
|
|
1614
|
-
headers: {
|
|
1615
|
-
"Content-Type": "application/json"
|
|
1616
|
-
},
|
|
1617
1702
|
body: JSON.stringify({
|
|
1618
1703
|
board,
|
|
1619
1704
|
characters,
|
|
1620
1705
|
configId,
|
|
1621
1706
|
locale
|
|
1622
1707
|
})
|
|
1623
|
-
})
|
|
1708
|
+
});
|
|
1709
|
+
return json.map(build.Result.fromJson);
|
|
1624
1710
|
};
|
|
1625
1711
|
/* harmony default export */ const sdk_solve = (solve);
|
|
1626
1712
|
|
|
1713
|
+
;// CONCATENATED MODULE: ./src/sdk/verify.ts
|
|
1714
|
+
|
|
1715
|
+
const verify = async ({ board , configId , locale })=>{
|
|
1716
|
+
return sdk_fetchJson("/api/verify", {
|
|
1717
|
+
method: "POST",
|
|
1718
|
+
body: JSON.stringify({
|
|
1719
|
+
board,
|
|
1720
|
+
configId,
|
|
1721
|
+
locale
|
|
1722
|
+
})
|
|
1723
|
+
});
|
|
1724
|
+
};
|
|
1725
|
+
/* harmony default export */ const sdk_verify = (verify);
|
|
1726
|
+
|
|
1627
1727
|
;// CONCATENATED MODULE: ./src/sdk/visit.ts
|
|
1628
1728
|
const visit = ()=>{
|
|
1629
1729
|
return fetch("/api/visit", {
|
|
@@ -1637,12 +1737,13 @@ const visit = ()=>{
|
|
|
1637
1737
|
|
|
1638
1738
|
|
|
1639
1739
|
|
|
1740
|
+
|
|
1640
1741
|
// EXTERNAL MODULE: ./src/state/actions.ts
|
|
1641
1742
|
var actions = __webpack_require__(89969);
|
|
1642
1743
|
// EXTERNAL MODULE: ./src/state/selectors.ts + 6 modules
|
|
1643
1744
|
var selectors = __webpack_require__(6114);
|
|
1644
|
-
// EXTERNAL MODULE: ./src/state/slices/index.ts +
|
|
1645
|
-
var slices = __webpack_require__(
|
|
1745
|
+
// EXTERNAL MODULE: ./src/state/slices/index.ts + 16 modules
|
|
1746
|
+
var slices = __webpack_require__(99134);
|
|
1646
1747
|
;// CONCATENATED MODULE: ./src/state/sagas.ts
|
|
1647
1748
|
|
|
1648
1749
|
|
|
@@ -1650,7 +1751,6 @@ var slices = __webpack_require__(8772);
|
|
|
1650
1751
|
|
|
1651
1752
|
|
|
1652
1753
|
|
|
1653
|
-
|
|
1654
1754
|
const SUBMIT_DELAY = 150;
|
|
1655
1755
|
const memoizedFindWordDefinitions = (0,lib/* memoize */.HP)(sdk_findWordDefinitions);
|
|
1656
1756
|
function* rootSaga() {
|
|
@@ -1662,13 +1762,15 @@ function* rootSaga() {
|
|
|
1662
1762
|
yield (0,effects_.takeLatest)(slices/* dictionarySlice.actions.submit.type */.lj.actions.submit.type, onDictionarySubmit);
|
|
1663
1763
|
yield (0,effects_.takeLatest)(actions/* initialize.type */.j.type, onInitialize);
|
|
1664
1764
|
yield (0,effects_.takeLatest)(actions/* reset.type */.m.type, onReset);
|
|
1665
|
-
yield (0,effects_.takeLatest)(slices/* solveSlice.actions.submit.type */.TP.actions.submit.type,
|
|
1765
|
+
yield (0,effects_.takeLatest)(slices/* solveSlice.actions.submit.type */.TP.actions.submit.type, onSolve);
|
|
1766
|
+
yield (0,effects_.takeLatest)(slices/* verifySlice.actions.submit.type */.Gt.actions.submit.type, onVerify);
|
|
1666
1767
|
}
|
|
1667
1768
|
function* onCellValueChange({ payload }) {
|
|
1668
1769
|
const isFiltered = yield (0,effects_.select)((state)=>(0,selectors/* selectCellIsFiltered */.id)(state, payload));
|
|
1669
1770
|
if (isFiltered) {
|
|
1670
1771
|
yield (0,effects_.put)(slices/* cellFilterSlice.actions.toggle */.mO.actions.toggle(payload));
|
|
1671
1772
|
}
|
|
1773
|
+
yield (0,effects_.put)(slices/* verifySlice.actions.submit */.Gt.actions.submit());
|
|
1672
1774
|
}
|
|
1673
1775
|
function* onApplyResult({ payload: result }) {
|
|
1674
1776
|
const autoGroupTiles = yield (0,effects_.select)(selectors/* selectAutoGroupTiles */.uz);
|
|
@@ -1676,10 +1778,12 @@ function* onApplyResult({ payload: result }) {
|
|
|
1676
1778
|
yield (0,effects_.put)(slices/* cellFilterSlice.actions.reset */.mO.actions.reset());
|
|
1677
1779
|
yield (0,effects_.put)(slices/* rackSlice.actions.removeTiles */.O_.actions.removeTiles(result.tiles));
|
|
1678
1780
|
yield (0,effects_.put)(slices/* rackSlice.actions.groupTiles */.O_.actions.groupTiles(autoGroupTiles));
|
|
1781
|
+
yield (0,effects_.put)(slices/* verifySlice.actions.submit */.Gt.actions.submit());
|
|
1679
1782
|
}
|
|
1680
1783
|
function* onConfigIdChange() {
|
|
1681
1784
|
yield (0,effects_.put)(slices/* resultsSlice.actions.reset */._C.actions.reset());
|
|
1682
1785
|
yield (0,effects_.put)(slices/* solveSlice.actions.submit */.TP.actions.submit());
|
|
1786
|
+
yield (0,effects_.put)(slices/* verifySlice.actions.submit */.Gt.actions.submit());
|
|
1683
1787
|
yield* ensureProperTilesCount();
|
|
1684
1788
|
}
|
|
1685
1789
|
function* onDictionarySubmit() {
|
|
@@ -1692,7 +1796,7 @@ function* onDictionarySubmit() {
|
|
|
1692
1796
|
const wordDefinitions = yield (0,effects_.call)(memoizedFindWordDefinitions, locale, word);
|
|
1693
1797
|
yield (0,effects_.put)(slices/* dictionarySlice.actions.submitSuccess */.lj.actions.submitSuccess(wordDefinitions));
|
|
1694
1798
|
} catch (error) {
|
|
1695
|
-
yield (0,effects_.put)(slices/* dictionarySlice.actions.submitFailure */.lj.actions.submitFailure());
|
|
1799
|
+
yield (0,effects_.put)(slices/* dictionarySlice.actions.submitFailure */.lj.actions.submitFailure(error));
|
|
1696
1800
|
}
|
|
1697
1801
|
}
|
|
1698
1802
|
function* onInitialize() {
|
|
@@ -1705,11 +1809,13 @@ function* onReset() {
|
|
|
1705
1809
|
yield (0,effects_.put)(slices/* dictionarySlice.actions.reset */.lj.actions.reset());
|
|
1706
1810
|
yield (0,effects_.put)(slices/* rackSlice.actions.reset */.O_.actions.reset());
|
|
1707
1811
|
yield (0,effects_.put)(slices/* resultsSlice.actions.reset */._C.actions.reset());
|
|
1812
|
+
yield (0,effects_.put)(slices/* verifySlice.actions.submit */.Gt.actions.submit());
|
|
1708
1813
|
}
|
|
1709
1814
|
function* onLocaleChange() {
|
|
1710
|
-
yield (0,effects_.put)(slices/* solveSlice.actions.submit */.TP.actions.submit());
|
|
1711
|
-
yield (0,effects_.put)(slices/* resultsSlice.actions.changeResultCandidate */._C.actions.changeResultCandidate(null));
|
|
1712
1815
|
yield (0,effects_.put)(slices/* dictionarySlice.actions.reset */.lj.actions.reset());
|
|
1816
|
+
yield (0,effects_.put)(slices/* resultsSlice.actions.changeResultCandidate */._C.actions.changeResultCandidate(null));
|
|
1817
|
+
yield (0,effects_.put)(slices/* solveSlice.actions.submit */.TP.actions.submit());
|
|
1818
|
+
yield (0,effects_.put)(slices/* verifySlice.actions.submit */.Gt.actions.submit());
|
|
1713
1819
|
}
|
|
1714
1820
|
function* onResultCandidateChange({ payload: result }) {
|
|
1715
1821
|
if (result) {
|
|
@@ -1717,7 +1823,7 @@ function* onResultCandidateChange({ payload: result }) {
|
|
|
1717
1823
|
yield (0,effects_.put)(slices/* dictionarySlice.actions.submit */.lj.actions.submit());
|
|
1718
1824
|
}
|
|
1719
1825
|
}
|
|
1720
|
-
function*
|
|
1826
|
+
function* onSolve() {
|
|
1721
1827
|
const board = yield (0,effects_.select)(selectors/* selectBoard */.ZO);
|
|
1722
1828
|
const { config } = yield (0,effects_.select)(selectors/* selectConfig */.$o);
|
|
1723
1829
|
const locale = yield (0,effects_.select)(selectors/* selectLocale */.fN);
|
|
@@ -1737,14 +1843,34 @@ function* onSubmit() {
|
|
|
1737
1843
|
configId: config.id,
|
|
1738
1844
|
locale
|
|
1739
1845
|
});
|
|
1846
|
+
yield (0,effects_.put)(slices/* resultsSlice.actions.changeResults */._C.actions.changeResults(results));
|
|
1740
1847
|
yield (0,effects_.put)(slices/* solveSlice.actions.submitSuccess */.TP.actions.submitSuccess({
|
|
1741
1848
|
board,
|
|
1742
1849
|
characters
|
|
1743
1850
|
}));
|
|
1744
|
-
yield (0,effects_.put)(slices/* resultsSlice.actions.changeResults */._C.actions.changeResults(results.map(build.Result.fromJson)));
|
|
1745
1851
|
} catch (error) {
|
|
1746
1852
|
yield (0,effects_.put)(slices/* resultsSlice.actions.changeResults */._C.actions.changeResults([]));
|
|
1747
|
-
yield (0,effects_.put)(slices/* solveSlice.actions.submitFailure */.TP.actions.submitFailure());
|
|
1853
|
+
yield (0,effects_.put)(slices/* solveSlice.actions.submitFailure */.TP.actions.submitFailure(error));
|
|
1854
|
+
}
|
|
1855
|
+
}
|
|
1856
|
+
function* onVerify() {
|
|
1857
|
+
yield (0,effects_.delay)(SUBMIT_DELAY);
|
|
1858
|
+
const board = yield (0,effects_.select)(selectors/* selectBoard */.ZO);
|
|
1859
|
+
const { config } = yield (0,effects_.select)(selectors/* selectConfig */.$o);
|
|
1860
|
+
const locale = yield (0,effects_.select)(selectors/* selectLocale */.fN);
|
|
1861
|
+
try {
|
|
1862
|
+
const { invalidWords , validWords } = yield (0,effects_.call)(sdk_verify, {
|
|
1863
|
+
board: board.toJson(),
|
|
1864
|
+
configId: config.id,
|
|
1865
|
+
locale
|
|
1866
|
+
});
|
|
1867
|
+
yield (0,effects_.put)(slices/* verifySlice.actions.submitSuccess */.Gt.actions.submitSuccess({
|
|
1868
|
+
board,
|
|
1869
|
+
invalidWords,
|
|
1870
|
+
validWords
|
|
1871
|
+
}));
|
|
1872
|
+
} catch (error) {
|
|
1873
|
+
yield (0,effects_.put)(slices/* verifySlice.actions.submitFailure */.Gt.actions.submitFailure());
|
|
1748
1874
|
}
|
|
1749
1875
|
}
|
|
1750
1876
|
function* ensureProperTilesCount() {
|
|
@@ -1787,6 +1913,8 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
1787
1913
|
"$o": () => (/* binding */ selectConfig),
|
|
1788
1914
|
"md": () => (/* binding */ selectConfigId),
|
|
1789
1915
|
"w1": () => (/* binding */ selectDictionary),
|
|
1916
|
+
"mK": () => (/* binding */ selectDictionaryError),
|
|
1917
|
+
"bs": () => (/* binding */ selectHasInvalidWords),
|
|
1790
1918
|
"En": () => (/* binding */ selectHasOverusedTiles),
|
|
1791
1919
|
"xU": () => (/* binding */ selectIsLoading),
|
|
1792
1920
|
"fN": () => (/* binding */ selectLocale),
|
|
@@ -1797,10 +1925,12 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
1797
1925
|
"R": () => (/* binding */ selectResultsSortColumn),
|
|
1798
1926
|
"sH": () => (/* binding */ selectResultsSortDirection),
|
|
1799
1927
|
"ZA": () => (/* binding */ selectRowsWithCandidate),
|
|
1928
|
+
"Rn": () => (/* binding */ selectSolveError),
|
|
1800
1929
|
"dN": () => (/* binding */ selectSortedFilteredResults),
|
|
1801
1930
|
"f2": () => (/* binding */ selectSortedResults),
|
|
1802
1931
|
"Zf": () => (/* binding */ selectTilePoints),
|
|
1803
|
-
"nb": () => (/* binding */ selectTranslations)
|
|
1932
|
+
"nb": () => (/* binding */ selectTranslations),
|
|
1933
|
+
"HM": () => (/* binding */ selectVerify)
|
|
1804
1934
|
});
|
|
1805
1935
|
|
|
1806
1936
|
// UNUSED EXPORTS: selectCellFilter, selectHasBoardChanged, selectHaveCharactersChanged, selectLastSolvedParameters, selectRemainingTiles, selectResultCandidate, selectResultCandidateCells, selectResults, selectTranslation
|
|
@@ -1812,15 +1942,15 @@ var build = __webpack_require__(89418);
|
|
|
1812
1942
|
// EXTERNAL MODULE: ../types/build/index.js
|
|
1813
1943
|
var types_build = __webpack_require__(34046);
|
|
1814
1944
|
;// CONCATENATED MODULE: ./src/i18n/de.json
|
|
1815
|
-
const de_namespaceObject = JSON.parse('{"cell.filter-cell":"Zielort - klicken zum Wechseln","cell.set-blank":"Als Blanko markieren","cell.set-not-blank":"Nicht als Blanko markieren","cell.toggle-direction":"Schreibrichtung - klicken zum Wechseln","common.blanks":"Blankos","common.clear":"Löschen","common.close":"Schließen","common.consonants":"Konsonanten","common.loading":"Laden","common.points":"Punkte","common.tiles":"Steine","common.two-letter-tiles":"Zwei-Buchstaben","common.vowels":"Vokale","common.word":"Wort","common.words":"Wörter","dictionary.empty-state.no-definitions":"Wort existiert im Wörterbuch aber hat keine Definition.","dictionary.empty-state.no-results":"Wort kann nicht im Wörterbuch gefunden werden.","dictionary.empty-state.not-allowed":"Dieses Wort ist nicht erlaubt.","dictionary.empty-state.uninitialized":"Die Wörterbuchdefinition des letzten markierten Wortes wird hier angezeigt.","dictionary.input.placeholder":"Durchsuche Wörterbuch...","empty-state.error":"Fehler","empty-state.info":"Info","empty-state.success":"Juhuu!","empty-state.warning":"Oje!","github":"Schau dieses Projekt auf GitHub an","keyMap":"Tastaturkürzel","keyMap.board":"Brett","keyMap.board.toggle-blank":"Als Blanko markieren / aufheben","keyMap.board.toggle-direction":"Schreibrichtung umschalten","keyMap.board-and-rack":"Brett & Ablage","keyMap.board-and-rack.insert-two-letter-tile":"Zwei-Buchstaben Stein hinzufügen","keyMap.board-and-rack.navigate":"Navigieren","keyMap.board-and-rack.remove-tile":"Stein entfernen","keyMap.board-and-rack.submit":"Lösen starten","keyMap.rack":"Ablage","keyMap.rack.insert-blank":"Blanko hinzufügen (Leertaste)","rack.placeholder":"Steine…","remaining-tiles":"Restliche Steine","results.empty-state.no-filtered-results":"Keine Ergebnisse für diese Anfrage.","results.empty-state.no-results":"Keine Ergebnisse - kein Wort konnte generiert werden.","results.empty-state.outdated":"Ergebnisse sind alt. Klicken zum Aktualisieren.","results.empty-state.uninitialized":"Wörter die aus deinen Buchstaben generiert wurden erscheinen hier.","results.input.placeholder":"Suchergebnisse... (RegExp)","results.solve":"Lösen","settings":"Einstellungen","settings.autoGroupTiles":"Restliche Steine gruppieren","settings.autoGroupTiles.left":"Linke Seite","settings.autoGroupTiles.right":"Rechte Seite","settings.autoGroupTiles.null":"Nicht gruppieren","settings.game":"Spiel","settings.language":"Sprache"}');
|
|
1945
|
+
const de_namespaceObject = JSON.parse('{"cell.filter-cell":"Zielort - klicken zum Wechseln","cell.set-blank":"Als Blanko markieren","cell.set-not-blank":"Nicht als Blanko markieren","cell.toggle-direction":"Schreibrichtung - klicken zum Wechseln","common.blanks":"Blankos","common.clear":"Löschen","common.close":"Schließen","common.consonants":"Konsonanten","common.loading":"Laden","common.points":"Punkte","common.tiles":"Steine","common.two-letter-tiles":"Zwei-Buchstaben","common.vowels":"Vokale","common.word":"Wort","common.words":"Wörter","dictionary.empty-state.no-definitions":"Wort existiert im Wörterbuch aber hat keine Definition.","dictionary.empty-state.no-results":"Wort kann nicht im Wörterbuch gefunden werden.","dictionary.empty-state.not-allowed":"Dieses Wort ist nicht erlaubt.","dictionary.empty-state.uninitialized":"Die Wörterbuchdefinition des letzten markierten Wortes wird hier angezeigt.","dictionary.input.placeholder":"Durchsuche Wörterbuch...","empty-state.error":"Fehler","empty-state.info":"Info","empty-state.success":"Juhuu!","empty-state.warning":"Oje!","github":"Schau dieses Projekt auf GitHub an","keyMap":"Tastaturkürzel","keyMap.board":"Brett","keyMap.board.toggle-blank":"Als Blanko markieren / aufheben","keyMap.board.toggle-direction":"Schreibrichtung umschalten","keyMap.board-and-rack":"Brett & Ablage","keyMap.board-and-rack.insert-two-letter-tile":"Zwei-Buchstaben Stein hinzufügen","keyMap.board-and-rack.navigate":"Navigieren","keyMap.board-and-rack.remove-tile":"Stein entfernen","keyMap.board-and-rack.submit":"Lösen starten","keyMap.rack":"Ablage","keyMap.rack.insert-blank":"Blanko hinzufügen (Leertaste)","rack.placeholder":"Steine…","remaining-tiles":"Restliche Steine","results.empty-state.no-filtered-results":"Keine Ergebnisse für diese Anfrage.","results.empty-state.no-results":"Keine Ergebnisse - kein Wort konnte generiert werden.","results.empty-state.outdated":"Ergebnisse sind alt. Klicken zum Aktualisieren.","results.empty-state.uninitialized":"Wörter die aus deinen Buchstaben generiert wurden erscheinen hier.","results.input.placeholder":"Suchergebnisse... (RegExp)","results.solve":"Lösen","settings":"Einstellungen","settings.autoGroupTiles":"Restliche Steine gruppieren","settings.autoGroupTiles.left":"Linke Seite","settings.autoGroupTiles.right":"Rechte Seite","settings.autoGroupTiles.null":"Nicht gruppieren","settings.game":"Spiel","settings.language":"Sprache","words":"Gebildete Wörter","words.invalid":"Falsch","words.valid":"Korrekt"}');
|
|
1816
1946
|
;// CONCATENATED MODULE: ./src/i18n/en.json
|
|
1817
|
-
const en_namespaceObject = JSON.parse('{"cell.filter-cell":"Target destination - click to toggle","cell.set-blank":"Mark it a blank","cell.set-not-blank":"Mark it not a blank","cell.toggle-direction":"Typing direction - click to toggle","common.blanks":"Blanks","common.clear":"Clear","common.close":"Close","common.consonants":"Consonants","common.loading":"Loading","common.points":"Points","common.tiles":"Tiles","common.two-letter-tiles":"Two-letter","common.vowels":"Vowels","common.word":"Word","common.words":"Words","dictionary.empty-state.no-definitions":"Word exists in the dictionary but it does not have a definition.","dictionary.empty-state.no-results":"Unable to find word definition in dictionary.","dictionary.empty-state.not-allowed":"This word is not allowed.","dictionary.empty-state.uninitialized":"Dictionary definition of the last highlighted word will be shown here.","dictionary.input.placeholder":"Search dictionary...","empty-state.error":"Error","empty-state.info":"Info","empty-state.success":"Yeah!","empty-state.warning":"Oops!","github":"See this project on GitHub","keyMap":"Keyboard shortcuts","keyMap.board":"Board","keyMap.board.toggle-blank":"Mark/unmark tile as a blank","keyMap.board.toggle-direction":"Toggle typing direction","keyMap.board-and-rack":"Board & rack","keyMap.board-and-rack.insert-two-letter-tile":"Insert two-letter tile","keyMap.board-and-rack.navigate":"Navigate","keyMap.board-and-rack.remove-tile":"Remove tile","keyMap.board-and-rack.submit":"Start solving","keyMap.rack":"Rack","keyMap.rack.insert-blank":"Insert blank (spacebar)","rack.placeholder":"Letters","remaining-tiles":"Remaining tiles","results.empty-state.no-filtered-results":"No result matches this query.","results.empty-state.no-results":"No results - unable to generate any words.","results.empty-state.outdated":"Results are outdated. Click below to update.","results.empty-state.uninitialized":"Words generated from your letters will be shown here.","results.input.placeholder":"Search results... (RegExp)","results.solve":"Solve","settings":"Settings","settings.autoGroupTiles":"Group remaining tiles","settings.autoGroupTiles.left":"On the left","settings.autoGroupTiles.right":"On the right","settings.autoGroupTiles.null":"Do not group","settings.game":"Game","settings.language":"Language"}');
|
|
1947
|
+
const en_namespaceObject = JSON.parse('{"cell.filter-cell":"Target destination - click to toggle","cell.set-blank":"Mark it a blank","cell.set-not-blank":"Mark it not a blank","cell.toggle-direction":"Typing direction - click to toggle","common.blanks":"Blanks","common.clear":"Clear","common.close":"Close","common.consonants":"Consonants","common.loading":"Loading","common.points":"Points","common.tiles":"Tiles","common.two-letter-tiles":"Two-letter","common.vowels":"Vowels","common.word":"Word","common.words":"Words","dictionary.empty-state.no-definitions":"Word exists in the dictionary but it does not have a definition.","dictionary.empty-state.no-results":"Unable to find word definition in dictionary.","dictionary.empty-state.not-allowed":"This word is not allowed.","dictionary.empty-state.uninitialized":"Dictionary definition of the last highlighted word will be shown here.","dictionary.input.placeholder":"Search dictionary...","empty-state.error":"Error","empty-state.info":"Info","empty-state.success":"Yeah!","empty-state.warning":"Oops!","github":"See this project on GitHub","keyMap":"Keyboard shortcuts","keyMap.board":"Board","keyMap.board.toggle-blank":"Mark/unmark tile as a blank","keyMap.board.toggle-direction":"Toggle typing direction","keyMap.board-and-rack":"Board & rack","keyMap.board-and-rack.insert-two-letter-tile":"Insert two-letter tile","keyMap.board-and-rack.navigate":"Navigate","keyMap.board-and-rack.remove-tile":"Remove tile","keyMap.board-and-rack.submit":"Start solving","keyMap.rack":"Rack","keyMap.rack.insert-blank":"Insert blank (spacebar)","rack.placeholder":"Letters","remaining-tiles":"Remaining tiles","results.empty-state.no-filtered-results":"No result matches this query.","results.empty-state.no-results":"No results - unable to generate any words.","results.empty-state.outdated":"Results are outdated. Click below to update.","results.empty-state.uninitialized":"Words generated from your letters will be shown here.","results.input.placeholder":"Search results... (RegExp)","results.solve":"Solve","settings":"Settings","settings.autoGroupTiles":"Group remaining tiles","settings.autoGroupTiles.left":"On the left","settings.autoGroupTiles.right":"On the right","settings.autoGroupTiles.null":"Do not group","settings.game":"Game","settings.language":"Language","words":"Created words","words.invalid":"Invalid","words.valid":"Valid"}');
|
|
1818
1948
|
;// CONCATENATED MODULE: ./src/i18n/es.json
|
|
1819
|
-
const es_namespaceObject = JSON.parse('{"cell.filter-cell":"Destino objetivo: haga clic para alternar","cell.set-blank":"Marcar como en blanco","cell.set-not-blank":"Marcar como no en blanco","cell.toggle-direction":"Dirección de escritura: haga clic para alternar","common.blanks":"Blancos","common.clear":"Borrar","common.close":"Cerrar","common.consonants":"Consonantes","common.loading":"Cargando","common.points":"Puntos","common.tiles":"Longitud","common.two-letter-tiles":"Dos letras","common.vowels":"Vocales","common.word":"Palabra","common.words":"Palabras","dictionary.empty-state.no-definitions":"La palabra existe en el diccionario pero no tiene una definición.","dictionary.empty-state.no-results":"No se puede encontrar la definición de palabra en el diccionario.","dictionary.empty-state.not-allowed":"Esta palabra no es aceptable.","dictionary.empty-state.uninitialized":"Aquí se mostrará la definición del diccionario de la última palabra resaltada.","dictionary.input.placeholder":"Busca el diccionario...","empty-state.error":"Error","empty-state.info":"Info","empty-state.success":"Sí!","empty-state.warning":"Vaya!","github":"Ver este proyecto en GitHub","keyMap":"Atajos de teclado","keyMap.board":"Tablero","keyMap.board.toggle-blank":"Marcar / desmarcar un espacio en blanco","keyMap.board.toggle-direction":"Alternar dirección de escritura","keyMap.board-and-rack":"Tablero y estante","keyMap.board-and-rack.insert-two-letter-tile":"Insertar mosaico de dos letras","keyMap.board-and-rack.navigate":"Navegar","keyMap.board-and-rack.remove-tile":"Quitar Letra","keyMap.board-and-rack.submit":"Empezar a resolver","keyMap.rack":"Estante","keyMap.rack.insert-blank":"Insertar espacio en blanco (barra espaciadora)","rack.placeholder":"Letras…","remaining-tiles":"Casillas restantes","results.empty-state.no-filtered-results":"Ningún resultado coincide con esta consulta.","results.empty-state.no-results":"No hay resultados; no se pueden generar palabras","results.empty-state.outdated":"Los resultados están desactualizados. Haga clic a continuación para actualizar.","results.empty-state.uninitialized":"Aquí se mostrarán las palabras generadas a partir de sus letras.","results.input.placeholder":"Busque una solución... (RegExp)","results.solve":"Resolver","settings":"Configuración","settings.autoGroupTiles":"Agrupar casillas restantes","settings.autoGroupTiles.left":"A la izquierda","settings.autoGroupTiles.right":"A la derecha","settings.autoGroupTiles.null":"No agrupar","settings.game":"Juego","settings.language":"Idioma"}');
|
|
1949
|
+
const es_namespaceObject = JSON.parse('{"cell.filter-cell":"Destino objetivo: haga clic para alternar","cell.set-blank":"Marcar como en blanco","cell.set-not-blank":"Marcar como no en blanco","cell.toggle-direction":"Dirección de escritura: haga clic para alternar","common.blanks":"Blancos","common.clear":"Borrar","common.close":"Cerrar","common.consonants":"Consonantes","common.loading":"Cargando","common.points":"Puntos","common.tiles":"Longitud","common.two-letter-tiles":"Dos letras","common.vowels":"Vocales","common.word":"Palabra","common.words":"Palabras","dictionary.empty-state.no-definitions":"La palabra existe en el diccionario pero no tiene una definición.","dictionary.empty-state.no-results":"No se puede encontrar la definición de palabra en el diccionario.","dictionary.empty-state.not-allowed":"Esta palabra no es aceptable.","dictionary.empty-state.uninitialized":"Aquí se mostrará la definición del diccionario de la última palabra resaltada.","dictionary.input.placeholder":"Busca el diccionario...","empty-state.error":"Error","empty-state.info":"Info","empty-state.success":"Sí!","empty-state.warning":"Vaya!","github":"Ver este proyecto en GitHub","keyMap":"Atajos de teclado","keyMap.board":"Tablero","keyMap.board.toggle-blank":"Marcar / desmarcar un espacio en blanco","keyMap.board.toggle-direction":"Alternar dirección de escritura","keyMap.board-and-rack":"Tablero y estante","keyMap.board-and-rack.insert-two-letter-tile":"Insertar mosaico de dos letras","keyMap.board-and-rack.navigate":"Navegar","keyMap.board-and-rack.remove-tile":"Quitar Letra","keyMap.board-and-rack.submit":"Empezar a resolver","keyMap.rack":"Estante","keyMap.rack.insert-blank":"Insertar espacio en blanco (barra espaciadora)","rack.placeholder":"Letras…","remaining-tiles":"Casillas restantes","results.empty-state.no-filtered-results":"Ningún resultado coincide con esta consulta.","results.empty-state.no-results":"No hay resultados; no se pueden generar palabras","results.empty-state.outdated":"Los resultados están desactualizados. Haga clic a continuación para actualizar.","results.empty-state.uninitialized":"Aquí se mostrarán las palabras generadas a partir de sus letras.","results.input.placeholder":"Busque una solución... (RegExp)","results.solve":"Resolver","settings":"Configuración","settings.autoGroupTiles":"Agrupar casillas restantes","settings.autoGroupTiles.left":"A la izquierda","settings.autoGroupTiles.right":"A la derecha","settings.autoGroupTiles.null":"No agrupar","settings.game":"Juego","settings.language":"Idioma","words":"Palabras creadas","words.invalid":"Incorrecto","words.valid":"Correcto"}');
|
|
1820
1950
|
;// CONCATENATED MODULE: ./src/i18n/fr.json
|
|
1821
|
-
const fr_namespaceObject = JSON.parse('{"cell.filter-cell":"Destination cible - cliquer pour changer","cell.set-blank":"Marquer comme vide","cell.set-not-blank":"Marquer comme non vide","cell.toggle-direction":"Direction d\'écriture - cliquer pour changer","common.blanks":"Cases vides","common.clear":"Effacer","common.close":"Fermer","common.consonants":"Consonnes","common.loading":"Chargement","common.points":"Points","common.tiles":"Cases","common.two-letter-tiles":"Deux lettres","common.vowels":"Voyelles","common.word":"Mot","common.words":"Mots","dictionary.empty-state.no-definitions":"Le mot existe dans le dictionary mais n\'a pas de définition.","dictionary.empty-state.no-results":"Impossible de trouver une définition pour ce mot dans le dictionaire.","dictionary.empty-state.not-allowed":"Ce mot n\'est pas pas acceptable.","dictionary.empty-state.uninitialized":"La définition dictionaire du dernier mot surligné sera affichée ici.","dictionary.input.placeholder":"Rechercher dans le dictionnaire...","empty-state.error":"Erreur","empty-state.info":"Info","empty-state.success":"Ouais!","empty-state.warning":"Oups!","github":"Voir ce projet sur GitHub","keyMap":"Raccourcis clavier","keyMap.board":"Plateau","keyMap.board.toggle-blank":"Marqué/Démarqué la case en tant que vide","keyMap.board.toggle-direction":"Faire basculer la direction d\'écriture","keyMap.board-and-rack":"Plateau & chevalet","keyMap.board-and-rack.insert-two-letter-tile":"Insérer une tuile de deux lettres","keyMap.board-and-rack.navigate":"Naviguer","keyMap.board-and-rack.remove-tile":"Supprimer une case","keyMap.board-and-rack.submit":"Commencer la résolution","keyMap.rack":"Chevalet","keyMap.rack.insert-blank":"Inserer une case vide (spacebar)","rack.placeholder":"Lettres","remaining-tiles":"Cases restantes","results.empty-state.no-filtered-results":"Aucun résultat ne correspond à cette requête","results.empty-state.no-results":"Pas de résultats - impossible de générer des mots.","results.empty-state.outdated":"Les résultats sont dépassé. Cliquer ci-dessous pour mettre à jour.","results.empty-state.uninitialized":"Words generated from your letters will be shown here.","results.input.placeholder":"Rechercher les résultats... (RegExp)","results.solve":"Résoudre","settings":"Options","settings.autoGroupTiles":"Grouper les cases restantes","settings.autoGroupTiles.left":"Vers la droite","settings.autoGroupTiles.right":"Vers la gauche","settings.autoGroupTiles.null":"Ne pas grouper","settings.game":"Jeu","settings.language":"Langue"}');
|
|
1951
|
+
const fr_namespaceObject = JSON.parse('{"cell.filter-cell":"Destination cible - cliquer pour changer","cell.set-blank":"Marquer comme vide","cell.set-not-blank":"Marquer comme non vide","cell.toggle-direction":"Direction d\'écriture - cliquer pour changer","common.blanks":"Cases vides","common.clear":"Effacer","common.close":"Fermer","common.consonants":"Consonnes","common.loading":"Chargement","common.points":"Points","common.tiles":"Cases","common.two-letter-tiles":"Deux lettres","common.vowels":"Voyelles","common.word":"Mot","common.words":"Mots","dictionary.empty-state.no-definitions":"Le mot existe dans le dictionary mais n\'a pas de définition.","dictionary.empty-state.no-results":"Impossible de trouver une définition pour ce mot dans le dictionaire.","dictionary.empty-state.not-allowed":"Ce mot n\'est pas pas acceptable.","dictionary.empty-state.uninitialized":"La définition dictionaire du dernier mot surligné sera affichée ici.","dictionary.input.placeholder":"Rechercher dans le dictionnaire...","empty-state.error":"Erreur","empty-state.info":"Info","empty-state.success":"Ouais!","empty-state.warning":"Oups!","github":"Voir ce projet sur GitHub","keyMap":"Raccourcis clavier","keyMap.board":"Plateau","keyMap.board.toggle-blank":"Marqué/Démarqué la case en tant que vide","keyMap.board.toggle-direction":"Faire basculer la direction d\'écriture","keyMap.board-and-rack":"Plateau & chevalet","keyMap.board-and-rack.insert-two-letter-tile":"Insérer une tuile de deux lettres","keyMap.board-and-rack.navigate":"Naviguer","keyMap.board-and-rack.remove-tile":"Supprimer une case","keyMap.board-and-rack.submit":"Commencer la résolution","keyMap.rack":"Chevalet","keyMap.rack.insert-blank":"Inserer une case vide (spacebar)","rack.placeholder":"Lettres","remaining-tiles":"Cases restantes","results.empty-state.no-filtered-results":"Aucun résultat ne correspond à cette requête","results.empty-state.no-results":"Pas de résultats - impossible de générer des mots.","results.empty-state.outdated":"Les résultats sont dépassé. Cliquer ci-dessous pour mettre à jour.","results.empty-state.uninitialized":"Words generated from your letters will be shown here.","results.input.placeholder":"Rechercher les résultats... (RegExp)","results.solve":"Résoudre","settings":"Options","settings.autoGroupTiles":"Grouper les cases restantes","settings.autoGroupTiles.left":"Vers la droite","settings.autoGroupTiles.right":"Vers la gauche","settings.autoGroupTiles.null":"Ne pas grouper","settings.game":"Jeu","settings.language":"Langue","words":"Mots créés","words.invalid":"Incorrect","words.valid":"Corriger"}');
|
|
1822
1952
|
;// CONCATENATED MODULE: ./src/i18n/pl.json
|
|
1823
|
-
const pl_namespaceObject = JSON.parse('{"cell.filter-cell":"Miejsce docelowe - kliknij aby zmienić","cell.set-blank":"Oznacz jako blank","cell.set-not-blank":"Oznacz jako nie blank","cell.toggle-direction":"Kierunek wpisywania - kliknij aby zmienić","common.blanks":"Blanki","common.clear":"Wyczyść","common.close":"Zamknij","common.consonants":"Spółgłoski","common.loading":"Ładowanie","common.points":"Punkty","common.tiles":"Płytki","common.two-letter-tiles":"Dwuliterowe","common.vowels":"Samogłoski","common.word":"Słowo","common.words":"Słowa","dictionary.empty-state.no-definitions":"Słowo istnieje w słowniku ale nie posiada definicji.","dictionary.empty-state.no-results":"Nie udało się znaleźć definicji słowa w słowniku.","dictionary.empty-state.not-allowed":"To słowo nie jest dopuszczalne w grach.","dictionary.empty-state.uninitialized":"Tu zostanie wyświetlona słownikowa definicja ostatnio podświetlonego słowa.","dictionary.input.placeholder":"Szukaj w słowniku...","empty-state.error":"Błąd","empty-state.info":"Info","empty-state.success":"Hurra!","empty-state.warning":"Ups!","github":"Zobacz ten projekt na GitHubie","keyMap":"Skróty klawiszowe","keyMap.board":"Plansza","keyMap.board.toggle-blank":"Oznacz/odznacz płytkę jako blank","keyMap.board.toggle-direction":"Zmień kierunek wpisywania","keyMap.board-and-rack":"Plansza i stojak","keyMap.board-and-rack.insert-two-letter-tile":"Wstaw dwuliterową płytkę","keyMap.board-and-rack.navigate":"Nawigacja","keyMap.board-and-rack.remove-tile":"Zdejmij płytkę","keyMap.board-and-rack.submit":"Rozpocznij wyszukiwanie","keyMap.rack":"Stojak","keyMap.rack.insert-blank":"Wstaw blanka (spacja)","rack.placeholder":"Literki","remaining-tiles":"Pozostałe płytki","results.empty-state.no-filtered-results":"Żaden wynik nie pasuje do tej kwerendy.","results.empty-state.no-results":"Brak wyników - nie można wygenerować żadnego słowa.","results.empty-state.outdated":"Wyniki są nieaktualne. Kliknij poniżej, aby zaktualizować.","results.empty-state.uninitialized":"Tu zostaną wyświetlone słowa wygenerowane z Twoich liter.","results.input.placeholder":"Szukaj rozwiązania... (RegExp)","results.solve":"Rozwiąż","settings":"Opcje","settings.autoGroupTiles":"Grupuj pozostałe płytki","settings.autoGroupTiles.left":"Po lewej","settings.autoGroupTiles.right":"Po prawej","settings.autoGroupTiles.null":"Nie grupuj","settings.game":"Gra","settings.language":"Język"}');
|
|
1953
|
+
const pl_namespaceObject = JSON.parse('{"cell.filter-cell":"Miejsce docelowe - kliknij aby zmienić","cell.set-blank":"Oznacz jako blank","cell.set-not-blank":"Oznacz jako nie blank","cell.toggle-direction":"Kierunek wpisywania - kliknij aby zmienić","common.blanks":"Blanki","common.clear":"Wyczyść","common.close":"Zamknij","common.consonants":"Spółgłoski","common.loading":"Ładowanie","common.points":"Punkty","common.tiles":"Płytki","common.two-letter-tiles":"Dwuliterowe","common.vowels":"Samogłoski","common.word":"Słowo","common.words":"Słowa","dictionary.empty-state.no-definitions":"Słowo istnieje w słowniku ale nie posiada definicji.","dictionary.empty-state.no-results":"Nie udało się znaleźć definicji słowa w słowniku.","dictionary.empty-state.not-allowed":"To słowo nie jest dopuszczalne w grach.","dictionary.empty-state.uninitialized":"Tu zostanie wyświetlona słownikowa definicja ostatnio podświetlonego słowa.","dictionary.input.placeholder":"Szukaj w słowniku...","empty-state.error":"Błąd","empty-state.info":"Info","empty-state.success":"Hurra!","empty-state.warning":"Ups!","github":"Zobacz ten projekt na GitHubie","keyMap":"Skróty klawiszowe","keyMap.board":"Plansza","keyMap.board.toggle-blank":"Oznacz/odznacz płytkę jako blank","keyMap.board.toggle-direction":"Zmień kierunek wpisywania","keyMap.board-and-rack":"Plansza i stojak","keyMap.board-and-rack.insert-two-letter-tile":"Wstaw dwuliterową płytkę","keyMap.board-and-rack.navigate":"Nawigacja","keyMap.board-and-rack.remove-tile":"Zdejmij płytkę","keyMap.board-and-rack.submit":"Rozpocznij wyszukiwanie","keyMap.rack":"Stojak","keyMap.rack.insert-blank":"Wstaw blanka (spacja)","rack.placeholder":"Literki","remaining-tiles":"Pozostałe płytki","results.empty-state.no-filtered-results":"Żaden wynik nie pasuje do tej kwerendy.","results.empty-state.no-results":"Brak wyników - nie można wygenerować żadnego słowa.","results.empty-state.outdated":"Wyniki są nieaktualne. Kliknij poniżej, aby zaktualizować.","results.empty-state.uninitialized":"Tu zostaną wyświetlone słowa wygenerowane z Twoich liter.","results.input.placeholder":"Szukaj rozwiązania... (RegExp)","results.solve":"Rozwiąż","settings":"Opcje","settings.autoGroupTiles":"Grupuj pozostałe płytki","settings.autoGroupTiles.left":"Po lewej","settings.autoGroupTiles.right":"Po prawej","settings.autoGroupTiles.null":"Nie grupuj","settings.game":"Gra","settings.language":"Język","words":"Utworzone słowa","words.invalid":"Niepoprawne","words.valid":"Poprawne"}');
|
|
1824
1954
|
;// CONCATENATED MODULE: ./src/i18n/index.ts
|
|
1825
1955
|
|
|
1826
1956
|
|
|
@@ -1838,13 +1968,14 @@ const i18n = {
|
|
|
1838
1968
|
};
|
|
1839
1969
|
/* harmony default export */ const src_i18n = (i18n);
|
|
1840
1970
|
|
|
1841
|
-
// EXTERNAL MODULE: ./src/lib/index.ts +
|
|
1842
|
-
var lib = __webpack_require__(
|
|
1971
|
+
// EXTERNAL MODULE: ./src/lib/index.ts + 29 modules
|
|
1972
|
+
var lib = __webpack_require__(75558);
|
|
1843
1973
|
;// CONCATENATED MODULE: ./src/state/selectors.ts
|
|
1844
1974
|
|
|
1845
1975
|
|
|
1846
1976
|
|
|
1847
1977
|
|
|
1978
|
+
|
|
1848
1979
|
const selectCell = (_, cell)=>cell;
|
|
1849
1980
|
const selectPoint = (_, point)=>point;
|
|
1850
1981
|
const selectCharacter = (_, character)=>character;
|
|
@@ -1856,7 +1987,13 @@ const selectRackRoot = (state)=>state.rack;
|
|
|
1856
1987
|
const selectResultsRoot = (state)=>state.results;
|
|
1857
1988
|
const selectSettingsRoot = (state)=>state.settings;
|
|
1858
1989
|
const selectSolveRoot = (state)=>state.solve;
|
|
1990
|
+
const selectVerifyRoot = (state)=>state.verify;
|
|
1859
1991
|
const selectDictionary = selectDictionaryRoot;
|
|
1992
|
+
const selectDictionaryError = (0,toolkit_.createSelector)([
|
|
1993
|
+
selectDictionaryRoot
|
|
1994
|
+
], (dictionary)=>{
|
|
1995
|
+
return (0,types_build.isError)(dictionary.error) ? dictionary.error : undefined;
|
|
1996
|
+
});
|
|
1860
1997
|
const selectAutoGroupTiles = (0,toolkit_.createSelector)([
|
|
1861
1998
|
selectSettingsRoot
|
|
1862
1999
|
], (settings)=>settings.autoGroupTiles);
|
|
@@ -1981,6 +2118,11 @@ const selectLastSolvedParameters = (0,toolkit_.createSelector)([
|
|
|
1981
2118
|
const selectIsLoading = (0,toolkit_.createSelector)([
|
|
1982
2119
|
selectSolveRoot
|
|
1983
2120
|
], (solve)=>solve.isLoading);
|
|
2121
|
+
const selectSolveError = (0,toolkit_.createSelector)([
|
|
2122
|
+
selectSolveRoot
|
|
2123
|
+
], (solve)=>{
|
|
2124
|
+
return (0,types_build.isError)(solve.error) ? solve.error : undefined;
|
|
2125
|
+
});
|
|
1984
2126
|
const selectHaveCharactersChanged = (0,toolkit_.createSelector)([
|
|
1985
2127
|
selectLastSolvedParameters,
|
|
1986
2128
|
selectCharacters
|
|
@@ -2008,11 +2150,17 @@ const selectHasOverusedTiles = (0,toolkit_.createSelector)([
|
|
|
2008
2150
|
const selectRemainingTilesGroups = (0,toolkit_.createSelector)([
|
|
2009
2151
|
selectRemainingTiles
|
|
2010
2152
|
], lib/* getRemainingTilesGroups */.op);
|
|
2153
|
+
const selectVerify = selectVerifyRoot;
|
|
2154
|
+
const selectHasInvalidWords = (0,toolkit_.createSelector)([
|
|
2155
|
+
selectVerify
|
|
2156
|
+
], ({ invalidWords })=>{
|
|
2157
|
+
return invalidWords.length > 0;
|
|
2158
|
+
});
|
|
2011
2159
|
|
|
2012
2160
|
|
|
2013
2161
|
/***/ }),
|
|
2014
2162
|
|
|
2015
|
-
/***/
|
|
2163
|
+
/***/ 99134:
|
|
2016
2164
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
2017
2165
|
|
|
2018
2166
|
|
|
@@ -2024,10 +2172,11 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
2024
2172
|
"O_": () => (/* reexport */ slices_rackSlice),
|
|
2025
2173
|
"_C": () => (/* reexport */ slices_resultsSlice),
|
|
2026
2174
|
"xj": () => (/* reexport */ slices_settingsSlice),
|
|
2027
|
-
"TP": () => (/* reexport */ slices_solveSlice)
|
|
2175
|
+
"TP": () => (/* reexport */ slices_solveSlice),
|
|
2176
|
+
"Gt": () => (/* reexport */ slices_verifySlice)
|
|
2028
2177
|
});
|
|
2029
2178
|
|
|
2030
|
-
// UNUSED EXPORTS: boardInitialState, cellFilterInitialState, dictionaryInitialState, rackInitialState, resultsInitialState, settingsInitialState, solveInitialState
|
|
2179
|
+
// UNUSED EXPORTS: boardInitialState, cellFilterInitialState, dictionaryInitialState, rackInitialState, resultsInitialState, settingsInitialState, solveInitialState, verifyInitialState
|
|
2031
2180
|
|
|
2032
2181
|
// EXTERNAL MODULE: ../configs/build/index.js
|
|
2033
2182
|
var build = __webpack_require__(89418);
|
|
@@ -2151,6 +2300,7 @@ const cellFilterSlice = (0,toolkit_.createSlice)({
|
|
|
2151
2300
|
|
|
2152
2301
|
;// CONCATENATED MODULE: ./src/state/slices/dictionaryInitialState.ts
|
|
2153
2302
|
const dictionaryInitialState = {
|
|
2303
|
+
error: undefined,
|
|
2154
2304
|
input: "",
|
|
2155
2305
|
isLoading: false,
|
|
2156
2306
|
results: []
|
|
@@ -2172,32 +2322,41 @@ const dictionarySlice = (0,toolkit_.createSlice)({
|
|
|
2172
2322
|
},
|
|
2173
2323
|
reset: ()=>slices_dictionaryInitialState,
|
|
2174
2324
|
submit: (state)=>{
|
|
2325
|
+
const error = slices_dictionaryInitialState.error;
|
|
2326
|
+
const results = slices_dictionaryInitialState.results;
|
|
2175
2327
|
return {
|
|
2176
2328
|
...state,
|
|
2329
|
+
error,
|
|
2177
2330
|
isLoading: true,
|
|
2178
|
-
results
|
|
2331
|
+
results
|
|
2179
2332
|
};
|
|
2180
2333
|
},
|
|
2181
|
-
submitFailure: (state)=>{
|
|
2334
|
+
submitFailure: (state, action)=>{
|
|
2335
|
+
const error = action.payload;
|
|
2336
|
+
const results = slices_dictionaryInitialState.results;
|
|
2182
2337
|
return {
|
|
2183
2338
|
...state,
|
|
2339
|
+
error,
|
|
2184
2340
|
isLoading: false,
|
|
2185
|
-
results
|
|
2341
|
+
results
|
|
2186
2342
|
};
|
|
2187
2343
|
},
|
|
2188
2344
|
submitSuccess: (state, action)=>{
|
|
2345
|
+
const error = slices_dictionaryInitialState.error;
|
|
2346
|
+
const results = action.payload;
|
|
2189
2347
|
return {
|
|
2190
2348
|
...state,
|
|
2349
|
+
error,
|
|
2191
2350
|
isLoading: false,
|
|
2192
|
-
results
|
|
2351
|
+
results
|
|
2193
2352
|
};
|
|
2194
2353
|
}
|
|
2195
2354
|
}
|
|
2196
2355
|
});
|
|
2197
2356
|
/* harmony default export */ const slices_dictionarySlice = (dictionarySlice);
|
|
2198
2357
|
|
|
2199
|
-
// EXTERNAL MODULE: ./src/lib/index.ts +
|
|
2200
|
-
var lib = __webpack_require__(
|
|
2358
|
+
// EXTERNAL MODULE: ./src/lib/index.ts + 29 modules
|
|
2359
|
+
var lib = __webpack_require__(75558);
|
|
2201
2360
|
;// CONCATENATED MODULE: ./src/state/slices/rackInitialState.ts
|
|
2202
2361
|
const rackInitialState = [
|
|
2203
2362
|
null,
|
|
@@ -2230,6 +2389,16 @@ const rackSlice = (0,toolkit_.createSlice)({
|
|
|
2230
2389
|
...state.slice(index + 1)
|
|
2231
2390
|
];
|
|
2232
2391
|
},
|
|
2392
|
+
changeCharacters: (state, action)=>{
|
|
2393
|
+
const { characters , index } = action.payload;
|
|
2394
|
+
const expectedRackLength = state.length;
|
|
2395
|
+
const rack = [
|
|
2396
|
+
...state.slice(0, index),
|
|
2397
|
+
...characters,
|
|
2398
|
+
...state.slice(index + characters.length)
|
|
2399
|
+
];
|
|
2400
|
+
return rack.slice(0, expectedRackLength);
|
|
2401
|
+
},
|
|
2233
2402
|
groupTiles: (state, action)=>{
|
|
2234
2403
|
const direction = action.payload;
|
|
2235
2404
|
if (direction === null) {
|
|
@@ -2365,6 +2534,7 @@ const settingsSlice = (0,toolkit_.createSlice)({
|
|
|
2365
2534
|
;// CONCATENATED MODULE: ./src/state/slices/solveInitialState.ts
|
|
2366
2535
|
|
|
2367
2536
|
const solveInitialState = {
|
|
2537
|
+
error: undefined,
|
|
2368
2538
|
isLoading: false,
|
|
2369
2539
|
lastSolvedParameters: {
|
|
2370
2540
|
board: slices_boardInitialState,
|
|
@@ -2381,21 +2551,27 @@ const solveSlice = (0,toolkit_.createSlice)({
|
|
|
2381
2551
|
name: "solve",
|
|
2382
2552
|
reducers: {
|
|
2383
2553
|
submit: (state)=>{
|
|
2554
|
+
const error = slices_solveInitialState.error;
|
|
2384
2555
|
return {
|
|
2385
2556
|
...state,
|
|
2557
|
+
error,
|
|
2386
2558
|
isLoading: true
|
|
2387
2559
|
};
|
|
2388
2560
|
},
|
|
2389
|
-
submitFailure: (state)=>{
|
|
2561
|
+
submitFailure: (state, action)=>{
|
|
2562
|
+
const error = action.payload;
|
|
2390
2563
|
return {
|
|
2391
2564
|
...state,
|
|
2565
|
+
error,
|
|
2392
2566
|
isLoading: false
|
|
2393
2567
|
};
|
|
2394
2568
|
},
|
|
2395
2569
|
submitSuccess: (state, action)=>{
|
|
2570
|
+
const error = slices_solveInitialState.error;
|
|
2396
2571
|
const lastSolvedParameters = action.payload;
|
|
2397
2572
|
return {
|
|
2398
2573
|
...state,
|
|
2574
|
+
error,
|
|
2399
2575
|
isLoading: false,
|
|
2400
2576
|
lastSolvedParameters
|
|
2401
2577
|
};
|
|
@@ -2404,6 +2580,53 @@ const solveSlice = (0,toolkit_.createSlice)({
|
|
|
2404
2580
|
});
|
|
2405
2581
|
/* harmony default export */ const slices_solveSlice = (solveSlice);
|
|
2406
2582
|
|
|
2583
|
+
;// CONCATENATED MODULE: ./src/state/slices/verifyInitialState.ts
|
|
2584
|
+
|
|
2585
|
+
const verifyInitialState = {
|
|
2586
|
+
isLoading: false,
|
|
2587
|
+
lastSolvedParameters: {
|
|
2588
|
+
board: slices_boardInitialState
|
|
2589
|
+
},
|
|
2590
|
+
invalidWords: [],
|
|
2591
|
+
validWords: []
|
|
2592
|
+
};
|
|
2593
|
+
/* harmony default export */ const slices_verifyInitialState = (verifyInitialState);
|
|
2594
|
+
|
|
2595
|
+
;// CONCATENATED MODULE: ./src/state/slices/verifySlice.ts
|
|
2596
|
+
|
|
2597
|
+
|
|
2598
|
+
const verifySlice = (0,toolkit_.createSlice)({
|
|
2599
|
+
initialState: slices_verifyInitialState,
|
|
2600
|
+
name: "verify",
|
|
2601
|
+
reducers: {
|
|
2602
|
+
submit: (state)=>{
|
|
2603
|
+
return {
|
|
2604
|
+
...state,
|
|
2605
|
+
isLoading: true
|
|
2606
|
+
};
|
|
2607
|
+
},
|
|
2608
|
+
submitFailure: (state)=>{
|
|
2609
|
+
return {
|
|
2610
|
+
...state,
|
|
2611
|
+
isLoading: false
|
|
2612
|
+
};
|
|
2613
|
+
},
|
|
2614
|
+
submitSuccess: (state, action)=>{
|
|
2615
|
+
const { board , invalidWords , validWords } = action.payload;
|
|
2616
|
+
return {
|
|
2617
|
+
...state,
|
|
2618
|
+
isLoading: false,
|
|
2619
|
+
lastSolvedParameters: {
|
|
2620
|
+
board
|
|
2621
|
+
},
|
|
2622
|
+
invalidWords,
|
|
2623
|
+
validWords
|
|
2624
|
+
};
|
|
2625
|
+
}
|
|
2626
|
+
}
|
|
2627
|
+
});
|
|
2628
|
+
/* harmony default export */ const slices_verifySlice = (verifySlice);
|
|
2629
|
+
|
|
2407
2630
|
;// CONCATENATED MODULE: ./src/state/slices/index.ts
|
|
2408
2631
|
|
|
2409
2632
|
|
|
@@ -2421,6 +2644,8 @@ const solveSlice = (0,toolkit_.createSlice)({
|
|
|
2421
2644
|
|
|
2422
2645
|
|
|
2423
2646
|
|
|
2647
|
+
|
|
2648
|
+
|
|
2424
2649
|
/***/ }),
|
|
2425
2650
|
|
|
2426
2651
|
/***/ 41573:
|
|
@@ -2567,7 +2792,7 @@ class Board {
|
|
|
2567
2792
|
}
|
|
2568
2793
|
getBlanksCount() {
|
|
2569
2794
|
return this.rows.reduce((count, row) => {
|
|
2570
|
-
return count + row.reduce((rowCount, cell) => (cell.tile.isBlank ?
|
|
2795
|
+
return count + row.reduce((rowCount, cell) => rowCount + (cell.tile.isBlank ? 1 : 0), 0);
|
|
2571
2796
|
}, 0);
|
|
2572
2797
|
}
|
|
2573
2798
|
getColumn(index) {
|
|
@@ -2578,9 +2803,25 @@ class Board {
|
|
|
2578
2803
|
}
|
|
2579
2804
|
getTilesCount() {
|
|
2580
2805
|
return this.rows.reduce((count, row) => {
|
|
2581
|
-
return count + row.reduce((rowCount, cell) => (cell.hasTile() ?
|
|
2806
|
+
return count + row.reduce((rowCount, cell) => rowCount + (cell.hasTile() ? 1 : 0), 0);
|
|
2582
2807
|
}, 0);
|
|
2583
2808
|
}
|
|
2809
|
+
getWords() {
|
|
2810
|
+
const columns = [];
|
|
2811
|
+
for (let x = 0; x < this.columnsCount; ++x) {
|
|
2812
|
+
const column = [];
|
|
2813
|
+
for (let y = 0; y < this.rowsCount; ++y) {
|
|
2814
|
+
column.push(this.rows[y][x]);
|
|
2815
|
+
}
|
|
2816
|
+
columns.push(column);
|
|
2817
|
+
}
|
|
2818
|
+
const columnsBoard = new Board({ rows: columns });
|
|
2819
|
+
const lines = this.toString().split('\n').concat(columnsBoard.toString().split('\n'));
|
|
2820
|
+
const words = lines
|
|
2821
|
+
.flatMap((line) => line.replaceAll(/\s+/g, constants_1.EMPTY_CELL).split(' '))
|
|
2822
|
+
.filter((word) => word.length > 1);
|
|
2823
|
+
return words;
|
|
2824
|
+
}
|
|
2584
2825
|
isEmpty() {
|
|
2585
2826
|
return this.rows.every((row) => row.every(({ isEmpty }) => isEmpty));
|
|
2586
2827
|
}
|
|
@@ -2588,7 +2829,7 @@ class Board {
|
|
|
2588
2829
|
return this.rows.map((row) => row.map((cell) => cell.toJson()));
|
|
2589
2830
|
}
|
|
2590
2831
|
toString() {
|
|
2591
|
-
return this.rows.map((row) => row.map(String)).join('\n');
|
|
2832
|
+
return this.rows.map((row) => row.map(String).join('')).join('\n');
|
|
2592
2833
|
}
|
|
2593
2834
|
updateCell(x, y, updateCell) {
|
|
2594
2835
|
this.rows[y][x] = updateCell(this.rows[y][x]);
|
|
@@ -2856,7 +3097,7 @@ class Config {
|
|
|
2856
3097
|
return tile.isBlank ? this.blankScore : this.getCharacterPoints(tile.character);
|
|
2857
3098
|
}
|
|
2858
3099
|
hasCharacter(character) {
|
|
2859
|
-
return this.
|
|
3100
|
+
return character in this.pointsMap;
|
|
2860
3101
|
}
|
|
2861
3102
|
isTwoCharacterTilePrefix(character) {
|
|
2862
3103
|
return typeof this.getTwoCharacterTileByPrefix(character) !== 'undefined';
|
|
@@ -2890,6 +3131,29 @@ const getPointsMap = (config) => config.tiles.reduce((pointsMap, { character, sc
|
|
|
2890
3131
|
exports["default"] = Config;
|
|
2891
3132
|
|
|
2892
3133
|
|
|
3134
|
+
/***/ }),
|
|
3135
|
+
|
|
3136
|
+
/***/ 35905:
|
|
3137
|
+
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
3138
|
+
|
|
3139
|
+
|
|
3140
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3141
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
3142
|
+
};
|
|
3143
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
3144
|
+
const Pattern_1 = __importDefault(__webpack_require__(63207));
|
|
3145
|
+
class FinalPattern extends Pattern_1.default {
|
|
3146
|
+
constructor(pattern) {
|
|
3147
|
+
super(pattern.board, pattern.cells);
|
|
3148
|
+
this.collisions = pattern.getCollisions();
|
|
3149
|
+
}
|
|
3150
|
+
getCollisions() {
|
|
3151
|
+
return this.collisions;
|
|
3152
|
+
}
|
|
3153
|
+
}
|
|
3154
|
+
exports["default"] = FinalPattern;
|
|
3155
|
+
|
|
3156
|
+
|
|
2893
3157
|
/***/ }),
|
|
2894
3158
|
|
|
2895
3159
|
/***/ 49594:
|
|
@@ -2903,10 +3167,7 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
|
2903
3167
|
const Pattern_1 = __importDefault(__webpack_require__(63207));
|
|
2904
3168
|
class HorizontalPattern extends Pattern_1.default {
|
|
2905
3169
|
clone() {
|
|
2906
|
-
return new HorizontalPattern(
|
|
2907
|
-
board: this.board,
|
|
2908
|
-
cells: this.cells.map((cell) => cell.clone()),
|
|
2909
|
-
});
|
|
3170
|
+
return new HorizontalPattern(this.board, this.cells.map((cell) => cell.clone()));
|
|
2910
3171
|
}
|
|
2911
3172
|
getCollisions() {
|
|
2912
3173
|
const collisions = [];
|
|
@@ -2926,7 +3187,7 @@ class HorizontalPattern extends Pattern_1.default {
|
|
|
2926
3187
|
const nextCells = column.slice(cell.y + 1, y);
|
|
2927
3188
|
const cells = [...previousCells, cell, ...nextCells];
|
|
2928
3189
|
if (cells.length > 1) {
|
|
2929
|
-
const pattern = new Pattern_1.default(
|
|
3190
|
+
const pattern = new Pattern_1.default(this.board, cells);
|
|
2930
3191
|
collisions.push(pattern);
|
|
2931
3192
|
}
|
|
2932
3193
|
});
|
|
@@ -2968,7 +3229,7 @@ exports["default"] = Locale;
|
|
|
2968
3229
|
|
|
2969
3230
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
2970
3231
|
class Pattern {
|
|
2971
|
-
constructor(
|
|
3232
|
+
constructor(board, cells) {
|
|
2972
3233
|
this.board = board;
|
|
2973
3234
|
this.cells = cells;
|
|
2974
3235
|
}
|
|
@@ -2979,10 +3240,7 @@ class Pattern {
|
|
|
2979
3240
|
(this.hasAtLeast1NonEmptyCell() || this.collides() || (this.goesThroughBoardCenter() && this.board.isEmpty())));
|
|
2980
3241
|
}
|
|
2981
3242
|
clone() {
|
|
2982
|
-
return new Pattern(
|
|
2983
|
-
board: this.board,
|
|
2984
|
-
cells: this.cells.map((cell) => cell.clone()),
|
|
2985
|
-
});
|
|
3243
|
+
return new Pattern(this.board, this.cells.map((cell) => cell.clone()));
|
|
2986
3244
|
}
|
|
2987
3245
|
collides() {
|
|
2988
3246
|
return this.cells.some((cell) => cell.isEmpty && this.board.collides(cell));
|
|
@@ -3076,11 +3334,9 @@ const getNonBlanks = (tiles) => tiles.filter(({ isBlank }) => !isBlank);
|
|
|
3076
3334
|
const getPointsRatio = (tiles, points) => points / tiles.length;
|
|
3077
3335
|
const getTiles = (cells) => cells.filter(({ isEmpty }) => isEmpty).map(({ tile }) => tile);
|
|
3078
3336
|
const getTilesCharacters = (tiles) => getNonBlankCharacters(tiles).sort(charactersComparator).join('');
|
|
3079
|
-
|
|
3080
|
-
const
|
|
3081
|
-
|
|
3082
|
-
...collisions.map((collision) => collision.map(String).join('')),
|
|
3083
|
-
];
|
|
3337
|
+
// eslint-disable-next-line prefer-template
|
|
3338
|
+
const getWord = (cells) => cells.reduce((word, cell) => word + cell.toString(), '');
|
|
3339
|
+
const getWords = (cells, collisions) => [cells, ...collisions].map(getWord);
|
|
3084
3340
|
const isConsonant = ({ character, isBlank }) => constants_1.CONSONANTS.includes(character) && !isBlank;
|
|
3085
3341
|
const isVowel = ({ character, isBlank }) => constants_1.VOWELS.includes(character) && !isBlank;
|
|
3086
3342
|
exports["default"] = Result;
|
|
@@ -3169,10 +3425,7 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
|
3169
3425
|
const Pattern_1 = __importDefault(__webpack_require__(63207));
|
|
3170
3426
|
class VerticalPattern extends Pattern_1.default {
|
|
3171
3427
|
clone() {
|
|
3172
|
-
return new VerticalPattern(
|
|
3173
|
-
board: this.board,
|
|
3174
|
-
cells: this.cells.map((cell) => cell.clone()),
|
|
3175
|
-
});
|
|
3428
|
+
return new VerticalPattern(this.board, this.cells.map((cell) => cell.clone()));
|
|
3176
3429
|
}
|
|
3177
3430
|
getCollisions() {
|
|
3178
3431
|
const collisions = [];
|
|
@@ -3192,7 +3445,7 @@ class VerticalPattern extends Pattern_1.default {
|
|
|
3192
3445
|
const nextCells = row.slice(cell.x + 1, x);
|
|
3193
3446
|
const cells = [...previousCells, cell, ...nextCells];
|
|
3194
3447
|
if (cells.length > 1) {
|
|
3195
|
-
const pattern = new Pattern_1.default(
|
|
3448
|
+
const pattern = new Pattern_1.default(this.board, cells);
|
|
3196
3449
|
collisions.push(pattern);
|
|
3197
3450
|
}
|
|
3198
3451
|
});
|
|
@@ -3279,7 +3532,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3279
3532
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
3280
3533
|
};
|
|
3281
3534
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
3282
|
-
exports.WordDefinition = exports.WordBonus = exports.VerticalPattern = exports.isTileJson = exports.Tile = exports.Result = exports.Pattern = exports.isLocale = exports.Locale = exports.isObject = exports.HorizontalPattern = exports.Config = exports.CharacterBonus = exports.isCellJson = exports.Cell = exports.Bonus = exports.isBoardJson = exports.Board = void 0;
|
|
3535
|
+
exports.WordDefinition = exports.WordBonus = exports.VerticalPattern = exports.isTileJson = exports.Tile = exports.Result = exports.Pattern = exports.isLocale = exports.Locale = exports.isObject = exports.isError = exports.HorizontalPattern = exports.FinalPattern = exports.Config = exports.CharacterBonus = exports.isCellJson = exports.Cell = exports.Bonus = exports.isBoardJson = exports.Board = void 0;
|
|
3283
3536
|
var Board_1 = __webpack_require__(80559);
|
|
3284
3537
|
Object.defineProperty(exports, "Board", ({ enumerable: true, get: function () { return __importDefault(Board_1).default; } }));
|
|
3285
3538
|
var BoardJson_1 = __webpack_require__(46936);
|
|
@@ -3294,8 +3547,12 @@ var CharacterBonus_1 = __webpack_require__(19582);
|
|
|
3294
3547
|
Object.defineProperty(exports, "CharacterBonus", ({ enumerable: true, get: function () { return __importDefault(CharacterBonus_1).default; } }));
|
|
3295
3548
|
var Config_1 = __webpack_require__(28433);
|
|
3296
3549
|
Object.defineProperty(exports, "Config", ({ enumerable: true, get: function () { return __importDefault(Config_1).default; } }));
|
|
3550
|
+
var FinalPattern_1 = __webpack_require__(35905);
|
|
3551
|
+
Object.defineProperty(exports, "FinalPattern", ({ enumerable: true, get: function () { return __importDefault(FinalPattern_1).default; } }));
|
|
3297
3552
|
var HorizontalPattern_1 = __webpack_require__(49594);
|
|
3298
3553
|
Object.defineProperty(exports, "HorizontalPattern", ({ enumerable: true, get: function () { return __importDefault(HorizontalPattern_1).default; } }));
|
|
3554
|
+
var isError_1 = __webpack_require__(96255);
|
|
3555
|
+
Object.defineProperty(exports, "isError", ({ enumerable: true, get: function () { return __importDefault(isError_1).default; } }));
|
|
3299
3556
|
var isObject_1 = __webpack_require__(24814);
|
|
3300
3557
|
Object.defineProperty(exports, "isObject", ({ enumerable: true, get: function () { return __importDefault(isObject_1).default; } }));
|
|
3301
3558
|
var Locale_1 = __webpack_require__(26634);
|
|
@@ -3317,6 +3574,26 @@ var WordDefinition_1 = __webpack_require__(31560);
|
|
|
3317
3574
|
Object.defineProperty(exports, "WordDefinition", ({ enumerable: true, get: function () { return __importDefault(WordDefinition_1).default; } }));
|
|
3318
3575
|
|
|
3319
3576
|
|
|
3577
|
+
/***/ }),
|
|
3578
|
+
|
|
3579
|
+
/***/ 96255:
|
|
3580
|
+
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
3581
|
+
|
|
3582
|
+
|
|
3583
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3584
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
3585
|
+
};
|
|
3586
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
3587
|
+
const isObject_1 = __importDefault(__webpack_require__(24814));
|
|
3588
|
+
const isError = (value) => {
|
|
3589
|
+
if (!(0, isObject_1.default)(value)) {
|
|
3590
|
+
return false;
|
|
3591
|
+
}
|
|
3592
|
+
return typeof value.message === 'string';
|
|
3593
|
+
};
|
|
3594
|
+
exports["default"] = isError;
|
|
3595
|
+
|
|
3596
|
+
|
|
3320
3597
|
/***/ }),
|
|
3321
3598
|
|
|
3322
3599
|
/***/ 24814:
|