@scrabble-solver/scrabble-solver 2.10.0 → 2.10.2
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 +19 -31
- 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-development/0.pack +0 -0
- package/.next/cache/webpack/client-development/1.pack +0 -0
- package/.next/cache/webpack/client-development/2.pack +0 -0
- package/.next/cache/webpack/client-development/3.pack +0 -0
- package/.next/cache/webpack/client-development/4.pack +0 -0
- package/.next/cache/webpack/client-development/index.pack +0 -0
- package/.next/cache/webpack/client-development/index.pack.old +0 -0
- package/.next/cache/webpack/client-production/0.pack +0 -0
- package/.next/cache/webpack/client-production/index.pack +0 -0
- package/.next/cache/webpack/edge-server-production/0.pack +0 -0
- package/.next/cache/webpack/edge-server-production/index.pack +0 -0
- package/.next/cache/webpack/server-development/0.pack +0 -0
- package/.next/cache/webpack/server-development/10.pack_ +0 -0
- package/.next/cache/webpack/server-development/5.pack_ +0 -0
- package/.next/cache/webpack/server-development/8.pack_ +0 -0
- package/.next/cache/webpack/server-development/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/images-manifest.json +1 -1
- package/.next/next-server.js.nft.json +1 -1
- package/.next/prerender-manifest.json +1 -1
- package/.next/required-server-files.json +1 -1
- package/.next/routes-manifest.json +1 -1
- package/.next/server/chunks/131.js +1399 -117
- package/.next/server/chunks/{515.js → 176.js} +850 -732
- package/.next/server/chunks/210.js +122 -0
- package/.next/server/chunks/{939.js → 290.js} +4 -3
- package/.next/server/chunks/44.js +33 -33
- package/.next/server/chunks/50.js +5 -9
- package/.next/server/chunks/{413.js → 579.js} +184 -117
- package/.next/server/chunks/664.js +537 -350
- package/.next/server/chunks/859.js +56 -23
- package/.next/server/chunks/865.js +1 -1
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/middleware-react-loadable-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 +23 -5
- package/.next/server/pages/_app.js.nft.json +1 -1
- package/.next/server/pages/_document.js +2 -2
- package/.next/server/pages/_error.js +206 -25
- package/.next/server/pages/_error.js.nft.json +1 -1
- package/.next/server/pages/api/dictionary/[locale]/[word].js +11 -11
- package/.next/server/pages/api/dictionary/[locale]/[word].js.nft.json +1 -1
- package/.next/server/pages/api/dictionary/[locale].js +10 -10
- package/.next/server/pages/api/dictionary/[locale].js.nft.json +1 -1
- package/.next/server/pages/api/solve.js +34 -36
- package/.next/server/pages/api/solve.js.nft.json +1 -1
- package/.next/server/pages/api/verify.js +10 -10
- package/.next/server/pages/api/verify.js.nft.json +1 -1
- package/.next/server/pages/api/visit.js +3 -3
- package/.next/server/pages/api/visit.js.nft.json +1 -1
- package/.next/server/pages/index.html +2 -2
- package/.next/server/pages/index.js +44 -128
- package/.next/server/pages/index.js.nft.json +1 -1
- package/.next/server/pages/index.json +1 -1
- package/.next/server/pages-manifest.json +4 -4
- package/.next/static/FjrbXpI5fkt4lmko-vL_7/_buildManifest.js +1 -0
- package/.next/static/{vscqn7BEtAxJteWSwNnas → FjrbXpI5fkt4lmko-vL_7}/_ssgManifest.js +0 -0
- package/.next/static/chunks/361-d16f336a9752a55a.js +1 -0
- package/.next/static/chunks/724-eb48df4d1ba3df8b.js +5 -0
- package/.next/static/chunks/amp.js +720 -0
- package/.next/static/chunks/framework-2c79e2a64abdb08b.js +33 -0
- package/.next/static/chunks/main-f11614d8aa7ee555.js +1 -0
- package/.next/static/chunks/main.js +1076 -0
- package/.next/static/chunks/pages/404-24f9617eeb8d6dc1.js +1 -0
- package/.next/static/chunks/pages/_app-959e495f0f221247.js +24 -0
- package/.next/static/chunks/pages/_app.js +2121 -0
- package/.next/static/chunks/pages/_error-8353112a01355ec2.js +1 -0
- package/.next/static/chunks/pages/_error.js +28 -0
- package/.next/static/chunks/pages/index-1e30dafa41bddb80.js +1 -0
- package/.next/static/chunks/pages/index.js +5314 -0
- package/.next/static/chunks/react-refresh.js +62 -0
- package/.next/static/chunks/webpack-59c5c889f52620d6.js +1 -0
- package/.next/static/chunks/webpack.js +1237 -0
- package/.next/static/css/aafd07997120f1e4.css +1 -0
- package/.next/static/css/c8d26240c04079b9.css +1 -0
- package/.next/static/css/eb9d57f7103525ab.css +1 -0
- package/.next/static/development/_buildManifest.js +1 -0
- package/.next/static/development/_ssgManifest.js +1 -0
- package/.next/static/webpack/fb4b50d5e70ee127.webpack.hot-update.json +1 -0
- package/.next/static/webpack/pages/index.fb4b50d5e70ee127.hot-update.js +171 -0
- package/.next/static/webpack/webpack.fb4b50d5e70ee127.hot-update.js +18 -0
- package/.next/trace +52 -52
- package/package.json +21 -21
- package/public/og.png +0 -0
- package/src/components/Board/Board.module.scss +1 -2
- package/src/components/Board/BoardPure.tsx +2 -0
- package/src/components/Board/components/Cell/Cell.module.scss +65 -55
- package/src/components/Board/components/Cell/Cell.tsx +9 -0
- package/src/components/Board/components/Cell/CellPure.tsx +11 -2
- package/src/components/Board/hooks/useGrid.ts +6 -6
- package/src/components/NavButtons/NavButtons.tsx +11 -1
- package/src/components/Rack/Rack.tsx +16 -4
- package/src/components/Rack/RackTile.tsx +10 -1
- package/src/components/RemainingTiles/Character.module.scss +0 -1
- package/src/components/RemainingTiles/Character.tsx +1 -0
- package/src/components/Results/Results.tsx +2 -2
- package/src/components/Settings/components/AutoGroupTilesSetting/AutoGroupTilesSetting.tsx +2 -2
- package/src/components/Settings/components/LocaleSetting/options.ts +9 -1
- package/src/components/Solver/Solver.module.scss +85 -0
- package/src/components/Solver/Solver.tsx +75 -0
- package/src/components/Solver/index.ts +1 -0
- package/src/components/Tile/Tile.module.scss +51 -7
- package/src/components/Tile/Tile.tsx +3 -0
- package/src/components/Tile/TilePure.tsx +8 -1
- package/src/components/index.ts +1 -0
- package/src/hooks/index.ts +1 -0
- package/src/hooks/useIsTouchDevice.ts +7 -0
- package/src/i18n/fr.json +1 -1
- package/src/icons/ExclamationSquareFill.svg +4 -0
- package/src/icons/index.ts +1 -0
- package/src/lib/getRemainingTilesGroups.ts +24 -26
- package/src/pages/index.module.scss +1 -75
- package/src/pages/index.tsx +11 -73
- package/src/parameters/index.ts +2 -0
- package/src/sdk/findWordDefinitions.ts +1 -1
- package/src/service-worker/average.ts +9 -0
- package/src/service-worker/routeSolveRequests.ts +46 -7
- package/src/state/sagas.ts +19 -5
- package/src/state/selectors.ts +30 -2
- package/src/state/slices/boardInitialState.ts +27 -0
- package/src/styles/mixins.scss +6 -1
- package/src/styles/variables.scss +6 -3
- package/.next/InjectManifest.js.nft.json +0 -1
- package/.next/static/chunks/368-d423e70be6c0c473.js +0 -1
- package/.next/static/chunks/546-447e243fc9de2c59.js +0 -1
- package/.next/static/chunks/framework-4556c45dd113b893.js +0 -1
- package/.next/static/chunks/main-a75cf611e061d8f8.js +0 -1
- package/.next/static/chunks/pages/404-932294135c3206dd.js +0 -1
- package/.next/static/chunks/pages/_app-3f5508a5f544d9eb.js +0 -1
- package/.next/static/chunks/pages/_error-a4ba2246ff8fb532.js +0 -1
- package/.next/static/chunks/pages/index-8af7a9d7a2cd98a7.js +0 -1
- package/.next/static/chunks/webpack-5752944655d749a0.js +0 -1
- package/.next/static/css/6b1833fd19d3a74a.css +0 -1
- package/.next/static/css/a6154e4ca046ca13.css +0 -1
- package/.next/static/css/bad53af6f8616677.css +0 -1
- package/.next/static/vscqn7BEtAxJteWSwNnas/_buildManifest.js +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
exports.id =
|
|
3
|
-
exports.ids = [
|
|
2
|
+
exports.id = 579;
|
|
3
|
+
exports.ids = [579];
|
|
4
4
|
exports.modules = {
|
|
5
5
|
|
|
6
6
|
/***/ 57079:
|
|
@@ -937,6 +937,7 @@ exports.CONSONANTS = [
|
|
|
937
937
|
'm',
|
|
938
938
|
'n',
|
|
939
939
|
'ń',
|
|
940
|
+
'ñ',
|
|
940
941
|
'p',
|
|
941
942
|
'q',
|
|
942
943
|
'r',
|
|
@@ -955,7 +956,7 @@ exports.VOWELS = ['a', 'ą', 'ä', 'e', 'ę', 'i', 'o', 'ó', 'ö', 'u', 'ü', '
|
|
|
955
956
|
|
|
956
957
|
/***/ }),
|
|
957
958
|
|
|
958
|
-
/***/
|
|
959
|
+
/***/ 77586:
|
|
959
960
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
960
961
|
|
|
961
962
|
|
|
@@ -976,7 +977,7 @@ const es_namespaceObject = JSON.parse('{"cell.filter-cell":"Destino objetivo: ha
|
|
|
976
977
|
;// CONCATENATED MODULE: ./src/i18n/fa.json
|
|
977
978
|
const fa_namespaceObject = JSON.parse('{"cell.filter-cell":"مقصد - کلیک برای تغییر","cell.set-blank":"علامت گذاری به عنوان خالی","cell.set-not-blank":"علامت گذاری به عنوان غیر خالی","cell.toggle-direction":"جهت تایپ - کلیک برای تغییر","common.blanks":"خالی","common.clear":"پاک کردن","common.close":"بستن","common.consonants":"حروف صامت","common.loading":"در حال بارگزاری","common.points":"امتیازات","common.tiles":"کاشی ها","common.two-letter-tiles":"دو حرفی","common.vowels":"حروف مصوت","common.word":"کلمه","common.words":"کلمات","dictionary.empty-state.no-definitions":"کلمه در فرهنگ لغت وجود دارد، ولی معنایی برای آن ثبت نشده است.","dictionary.empty-state.no-results":"کلمه در فرهنگ لغت یافت نشد.","dictionary.empty-state.not-allowed":"این کلمه مجاز نیست.","dictionary.empty-state.uninitialized":"معنی لغت اینجا نمایش داده خواهد شد.","dictionary.input.placeholder":"جستجو در فرهنگ لغت ...","empty-state.error":"خطا","empty-state.info":"اطلاعات","empty-state.success":"حله!","empty-state.warning":"اوووخ!","github":"به این پروژه در گیتهاب سر بزنید","keyMap":"میانبر های کیبورد","keyMap.board":"صفحه","keyMap.board.toggle-blank":"علامت/عدم علامت گذاری کاشی به عنوان خالی","keyMap.board.toggle-direction":"تغییر جهت تایپ","keyMap.board-and-rack":"صفحه و طاقچه","keyMap.board-and-rack.insert-two-letter-tile":"وارد کردن کاشی دو حرفی","keyMap.board-and-rack.navigate":"حرکت","keyMap.board-and-rack.remove-tile":"حذف کاشی","keyMap.board-and-rack.submit":"حل کردن","keyMap.rack":"طاقچه","keyMap.rack.insert-blank":"وارد کردن کاشی خالی (دکمه اسپیس)","rack.placeholder":"لیستحرف","remaining-tiles":"کاشی های باقی مانده","results.empty-state.no-filtered-results":"پاسخی یافت نشد.","results.empty-state.no-results":"کلمه قابل استفاده پیدا نشد.","results.empty-state.outdated":"نتایج به روز نیستند، برای بروز رسانی کلیک کنید.","results.empty-state.uninitialized":"کلمات تولید شده از حروف شما اینجا نمایش داده خواهد شد.","results.input.placeholder":"جستجو در نتایج (RegExp)","results.solve":"حل کن","settings":"تنظیمات","settings.autoGroupTiles":"کاشی های باقی مانده ی طاقچه را کنار هم قرار بده","settings.autoGroupTiles.left":"در سمت چپ","settings.autoGroupTiles.right":"در سمت راست","settings.autoGroupTiles.null":"کنار هم قرار نده","settings.game":"بازی","settings.language":"زبان","words":"کلمات ساخته شده","words.invalid":"نا معتبر","words.valid":"معتبر"}');
|
|
978
979
|
;// CONCATENATED MODULE: ./src/i18n/fr.json
|
|
979
|
-
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":"
|
|
980
|
+
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":"Les mots générés à partir de vos lettres seront affichés ici.","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"}');
|
|
980
981
|
;// CONCATENATED MODULE: ./src/i18n/pl.json
|
|
981
982
|
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"}');
|
|
982
983
|
;// CONCATENATED MODULE: ./src/i18n/i18n.ts
|
|
@@ -1052,7 +1053,7 @@ const LOCALE_FEATURES = {
|
|
|
1052
1053
|
|
|
1053
1054
|
/***/ }),
|
|
1054
1055
|
|
|
1055
|
-
/***/
|
|
1056
|
+
/***/ 95784:
|
|
1056
1057
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
1057
1058
|
|
|
1058
1059
|
|
|
@@ -1213,7 +1214,7 @@ const findCell = (cells, x, y)=>{
|
|
|
1213
1214
|
/* harmony default export */ const lib_findCell = (findCell);
|
|
1214
1215
|
|
|
1215
1216
|
// EXTERNAL MODULE: ./src/parameters/index.ts
|
|
1216
|
-
var parameters = __webpack_require__(
|
|
1217
|
+
var parameters = __webpack_require__(74200);
|
|
1217
1218
|
;// CONCATENATED MODULE: ./src/lib/getCellSize.ts
|
|
1218
1219
|
|
|
1219
1220
|
const getCellSize = (config, width, height)=>{
|
|
@@ -1272,7 +1273,7 @@ const getRemainingTiles = (config, board, characters, locale)=>{
|
|
|
1272
1273
|
};
|
|
1273
1274
|
const letters = [
|
|
1274
1275
|
...letterCells.map((cell)=>cell.tile.character),
|
|
1275
|
-
...characters.filter((letter)=>letter !== constants_build.BLANK)
|
|
1276
|
+
...characters.filter((letter)=>letter !== constants_build.BLANK)
|
|
1276
1277
|
];
|
|
1277
1278
|
const unknownLetters = letters.filter((letter)=>typeof remainingTiles[letter] === "undefined");
|
|
1278
1279
|
for (const letter of unknownLetters){
|
|
@@ -1283,8 +1284,8 @@ const getRemainingTiles = (config, board, characters, locale)=>{
|
|
|
1283
1284
|
usedCount: 0
|
|
1284
1285
|
};
|
|
1285
1286
|
}
|
|
1286
|
-
for (const
|
|
1287
|
-
++remainingTiles[
|
|
1287
|
+
for (const letter of letters){
|
|
1288
|
+
++remainingTiles[letter].usedCount;
|
|
1288
1289
|
}
|
|
1289
1290
|
const comparator = lib_createKeyComparator("character", locale);
|
|
1290
1291
|
return [
|
|
@@ -1313,29 +1314,26 @@ const getTotalRemainingTilesCount = (remainingTiles)=>{
|
|
|
1313
1314
|
const getRemainingTilesGroups = (remainingTiles)=>{
|
|
1314
1315
|
const consonants = remainingTiles.filter(isConsonant);
|
|
1315
1316
|
const vowels = remainingTiles.filter(isVowel);
|
|
1317
|
+
const other = remainingTiles.filter(isOther);
|
|
1316
1318
|
const groups = [];
|
|
1317
|
-
|
|
1318
|
-
|
|
1319
|
-
|
|
1320
|
-
|
|
1321
|
-
|
|
1322
|
-
|
|
1323
|
-
|
|
1324
|
-
|
|
1325
|
-
|
|
1326
|
-
|
|
1327
|
-
|
|
1328
|
-
|
|
1329
|
-
|
|
1330
|
-
|
|
1331
|
-
|
|
1332
|
-
|
|
1333
|
-
|
|
1334
|
-
|
|
1335
|
-
translationKey: "common.tiles",
|
|
1336
|
-
totalCount: lib_getTotalRemainingTilesCount(tiles)
|
|
1337
|
-
});
|
|
1338
|
-
}
|
|
1319
|
+
groups.push({
|
|
1320
|
+
remainingCount: lib_getRemainingTilesCount(vowels),
|
|
1321
|
+
tiles: vowels,
|
|
1322
|
+
translationKey: "common.vowels",
|
|
1323
|
+
totalCount: lib_getTotalRemainingTilesCount(vowels)
|
|
1324
|
+
});
|
|
1325
|
+
groups.push({
|
|
1326
|
+
remainingCount: lib_getRemainingTilesCount(consonants),
|
|
1327
|
+
tiles: consonants,
|
|
1328
|
+
translationKey: "common.consonants",
|
|
1329
|
+
totalCount: lib_getTotalRemainingTilesCount(consonants)
|
|
1330
|
+
});
|
|
1331
|
+
groups.push({
|
|
1332
|
+
remainingCount: lib_getRemainingTilesCount(other),
|
|
1333
|
+
tiles: other,
|
|
1334
|
+
translationKey: "common.tiles",
|
|
1335
|
+
totalCount: lib_getTotalRemainingTilesCount(other)
|
|
1336
|
+
});
|
|
1339
1337
|
const twoCharacterTiles = remainingTiles.filter(isTwoCharacter);
|
|
1340
1338
|
const blanks = remainingTiles.filter(isBlank);
|
|
1341
1339
|
groups.push({
|
|
@@ -1354,9 +1352,9 @@ const getRemainingTilesGroups = (remainingTiles)=>{
|
|
|
1354
1352
|
};
|
|
1355
1353
|
const isConsonant = (tile)=>constants_build.CONSONANTS.includes(tile.character);
|
|
1356
1354
|
const isVowel = (tile)=>constants_build.VOWELS.includes(tile.character);
|
|
1357
|
-
const isLetter = (tile)=>!isBlank(tile) && !isTwoCharacter(tile);
|
|
1358
1355
|
const isTwoCharacter = (tile)=>tile.character.length === 2;
|
|
1359
1356
|
const isBlank = (tile)=>tile.character === constants_build.BLANK;
|
|
1357
|
+
const isOther = (tile)=>!isConsonant(tile) && !isVowel(tile) && !isBlank(tile) && !isTwoCharacter(tile);
|
|
1360
1358
|
/* harmony default export */ const lib_getRemainingTilesGroups = (getRemainingTilesGroups);
|
|
1361
1359
|
|
|
1362
1360
|
;// CONCATENATED MODULE: ./src/lib/getTileSizes.ts
|
|
@@ -1447,7 +1445,7 @@ const parametersEqual = (a, b)=>{
|
|
|
1447
1445
|
/* harmony default export */ const lib_memoize = (memoize);
|
|
1448
1446
|
|
|
1449
1447
|
// EXTERNAL MODULE: ./src/types/index.ts
|
|
1450
|
-
var types = __webpack_require__(
|
|
1448
|
+
var types = __webpack_require__(9033);
|
|
1451
1449
|
;// CONCATENATED MODULE: ./src/lib/reverseComparator.ts
|
|
1452
1450
|
const reverseComparator = (comparator)=>{
|
|
1453
1451
|
return (a, b)=>-comparator(a, b);
|
|
@@ -1576,7 +1574,7 @@ const zipCharactersAndTiles = (characters, tiles)=>{
|
|
|
1576
1574
|
|
|
1577
1575
|
/***/ }),
|
|
1578
1576
|
|
|
1579
|
-
/***/
|
|
1577
|
+
/***/ 74200:
|
|
1580
1578
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
1581
1579
|
|
|
1582
1580
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
@@ -1605,11 +1603,13 @@ const zipCharactersAndTiles = (characters, tiles)=>{
|
|
|
1605
1603
|
/* harmony export */ "rx": () => (/* binding */ RESULTS_ITEM_HEIGHT),
|
|
1606
1604
|
/* harmony export */ "tr": () => (/* binding */ COMPONENTS_SPACING),
|
|
1607
1605
|
/* harmony export */ "uX": () => (/* binding */ PLAIN_TILES_PADDING_VERTICAL),
|
|
1606
|
+
/* harmony export */ "uk": () => (/* binding */ INITIALIZATION_DURATION),
|
|
1608
1607
|
/* harmony export */ "yg": () => (/* binding */ COLOR_RED),
|
|
1609
1608
|
/* harmony export */ "yr": () => (/* binding */ COLOR_YELLOW)
|
|
1610
1609
|
/* harmony export */ });
|
|
1611
1610
|
/* unused harmony exports TRANSITION_DURATION, PLAIN_TILES_VERSION_TILE_COLOR, PLAIN_TILES_VERSION_TILE_SIZE */
|
|
1612
1611
|
const GITHUB_PROJECT_URL = "https://github.com/kamilmielnik/scrabble-solver";
|
|
1612
|
+
const INITIALIZATION_DURATION = 100;
|
|
1613
1613
|
const TRANSITION_DURATION = 100;
|
|
1614
1614
|
const TRANSITION_DURATION_LONG = 250;
|
|
1615
1615
|
const COLOR_BLUE = "#c7d8f9";
|
|
@@ -1654,7 +1654,7 @@ const RESULTS_INPUT_HEIGHT = 43;
|
|
|
1654
1654
|
|
|
1655
1655
|
/***/ }),
|
|
1656
1656
|
|
|
1657
|
-
/***/
|
|
1657
|
+
/***/ 64594:
|
|
1658
1658
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
1659
1659
|
|
|
1660
1660
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
@@ -1670,7 +1670,7 @@ const reset = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAction)("re
|
|
|
1670
1670
|
|
|
1671
1671
|
/***/ }),
|
|
1672
1672
|
|
|
1673
|
-
/***/
|
|
1673
|
+
/***/ 37686:
|
|
1674
1674
|
/***/ ((module, __webpack_exports__, __webpack_require__) => {
|
|
1675
1675
|
|
|
1676
1676
|
__webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
|
|
@@ -1680,8 +1680,8 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
|
|
|
1680
1680
|
/* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(86695);
|
|
1681
1681
|
/* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(redux__WEBPACK_IMPORTED_MODULE_0__);
|
|
1682
1682
|
/* harmony import */ var redux_saga__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(75998);
|
|
1683
|
-
/* harmony import */ var _rootReducer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(
|
|
1684
|
-
/* harmony import */ var _sagas__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(
|
|
1683
|
+
/* harmony import */ var _rootReducer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5428);
|
|
1684
|
+
/* harmony import */ var _sagas__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(55883);
|
|
1685
1685
|
var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([redux_saga__WEBPACK_IMPORTED_MODULE_1__]);
|
|
1686
1686
|
redux_saga__WEBPACK_IMPORTED_MODULE_1__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
|
|
1687
1687
|
|
|
@@ -1703,12 +1703,13 @@ __webpack_async_result__();
|
|
|
1703
1703
|
|
|
1704
1704
|
/***/ }),
|
|
1705
1705
|
|
|
1706
|
-
/***/
|
|
1706
|
+
/***/ 64579:
|
|
1707
1707
|
/***/ ((module, __webpack_exports__, __webpack_require__) => {
|
|
1708
1708
|
|
|
1709
1709
|
__webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
|
|
1710
1710
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
1711
1711
|
/* harmony export */ "$o": () => (/* reexport safe */ _selectors__WEBPACK_IMPORTED_MODULE_3__.$o),
|
|
1712
|
+
/* harmony export */ "AN": () => (/* reexport safe */ _selectors__WEBPACK_IMPORTED_MODULE_3__.AN),
|
|
1712
1713
|
/* harmony export */ "En": () => (/* reexport safe */ _selectors__WEBPACK_IMPORTED_MODULE_3__.En),
|
|
1713
1714
|
/* harmony export */ "HM": () => (/* reexport safe */ _selectors__WEBPACK_IMPORTED_MODULE_3__.HM),
|
|
1714
1715
|
/* harmony export */ "I8": () => (/* reexport safe */ _slices__WEBPACK_IMPORTED_MODULE_4__.I8),
|
|
@@ -1731,6 +1732,7 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
|
|
|
1731
1732
|
/* harmony export */ "dN": () => (/* reexport safe */ _selectors__WEBPACK_IMPORTED_MODULE_3__.dN),
|
|
1732
1733
|
/* harmony export */ "f2": () => (/* reexport safe */ _selectors__WEBPACK_IMPORTED_MODULE_3__.f2),
|
|
1733
1734
|
/* harmony export */ "fN": () => (/* reexport safe */ _selectors__WEBPACK_IMPORTED_MODULE_3__.fN),
|
|
1735
|
+
/* harmony export */ "fZ": () => (/* reexport safe */ _selectors__WEBPACK_IMPORTED_MODULE_3__.fZ),
|
|
1734
1736
|
/* harmony export */ "id": () => (/* reexport safe */ _selectors__WEBPACK_IMPORTED_MODULE_3__.id),
|
|
1735
1737
|
/* harmony export */ "ix": () => (/* reexport safe */ _useTypedSelector__WEBPACK_IMPORTED_MODULE_6__.Z),
|
|
1736
1738
|
/* harmony export */ "j2": () => (/* reexport safe */ _actions__WEBPACK_IMPORTED_MODULE_0__.j),
|
|
@@ -1748,13 +1750,13 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
|
|
|
1748
1750
|
/* harmony export */ "xj": () => (/* reexport safe */ _slices__WEBPACK_IMPORTED_MODULE_4__.xj),
|
|
1749
1751
|
/* harmony export */ "z$": () => (/* reexport safe */ _selectors__WEBPACK_IMPORTED_MODULE_3__.z$)
|
|
1750
1752
|
/* harmony export */ });
|
|
1751
|
-
/* harmony import */ var _actions__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
|
|
1752
|
-
/* harmony import */ var _createAppStore__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
|
|
1753
|
-
/* harmony import */ var _localStorage__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(
|
|
1754
|
-
/* harmony import */ var _selectors__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(
|
|
1755
|
-
/* harmony import */ var _slices__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(
|
|
1756
|
-
/* harmony import */ var _useTranslate__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(
|
|
1757
|
-
/* harmony import */ var _useTypedSelector__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(
|
|
1753
|
+
/* harmony import */ var _actions__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(64594);
|
|
1754
|
+
/* harmony import */ var _createAppStore__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(37686);
|
|
1755
|
+
/* harmony import */ var _localStorage__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(65723);
|
|
1756
|
+
/* harmony import */ var _selectors__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(30391);
|
|
1757
|
+
/* harmony import */ var _slices__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(58995);
|
|
1758
|
+
/* harmony import */ var _useTranslate__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(92645);
|
|
1759
|
+
/* harmony import */ var _useTypedSelector__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(20106);
|
|
1758
1760
|
var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_createAppStore__WEBPACK_IMPORTED_MODULE_1__]);
|
|
1759
1761
|
_createAppStore__WEBPACK_IMPORTED_MODULE_1__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
|
|
1760
1762
|
|
|
@@ -1770,7 +1772,7 @@ __webpack_async_result__();
|
|
|
1770
1772
|
|
|
1771
1773
|
/***/ }),
|
|
1772
1774
|
|
|
1773
|
-
/***/
|
|
1775
|
+
/***/ 65723:
|
|
1774
1776
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
1775
1777
|
|
|
1776
1778
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
@@ -1827,7 +1829,7 @@ const localStorage = {
|
|
|
1827
1829
|
|
|
1828
1830
|
/***/ }),
|
|
1829
1831
|
|
|
1830
|
-
/***/
|
|
1832
|
+
/***/ 5428:
|
|
1831
1833
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
1832
1834
|
|
|
1833
1835
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
@@ -1835,7 +1837,7 @@ const localStorage = {
|
|
|
1835
1837
|
/* harmony export */ });
|
|
1836
1838
|
/* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(86695);
|
|
1837
1839
|
/* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(redux__WEBPACK_IMPORTED_MODULE_0__);
|
|
1838
|
-
/* harmony import */ var _slices__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
|
|
1840
|
+
/* harmony import */ var _slices__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(58995);
|
|
1839
1841
|
|
|
1840
1842
|
|
|
1841
1843
|
const rootReducer = (0,redux__WEBPACK_IMPORTED_MODULE_0__.combineReducers)({
|
|
@@ -1853,7 +1855,7 @@ const rootReducer = (0,redux__WEBPACK_IMPORTED_MODULE_0__.combineReducers)({
|
|
|
1853
1855
|
|
|
1854
1856
|
/***/ }),
|
|
1855
1857
|
|
|
1856
|
-
/***/
|
|
1858
|
+
/***/ 55883:
|
|
1857
1859
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
1858
1860
|
|
|
1859
1861
|
|
|
@@ -1865,7 +1867,7 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
1865
1867
|
// EXTERNAL MODULE: external "redux-saga/effects"
|
|
1866
1868
|
var effects_ = __webpack_require__(56477);
|
|
1867
1869
|
// EXTERNAL MODULE: ./src/lib/index.ts + 29 modules
|
|
1868
|
-
var lib = __webpack_require__(
|
|
1870
|
+
var lib = __webpack_require__(95784);
|
|
1869
1871
|
// EXTERNAL MODULE: ../types/build/index.js
|
|
1870
1872
|
var build = __webpack_require__(34046);
|
|
1871
1873
|
;// CONCATENATED MODULE: ./src/sdk/fetch.ts
|
|
@@ -1911,7 +1913,7 @@ const fetchJson = async (input, init)=>{
|
|
|
1911
1913
|
|
|
1912
1914
|
|
|
1913
1915
|
const findWordDefinitions = async (locale, word)=>{
|
|
1914
|
-
const json = await sdk_fetchJson(`/api/dictionary/${locale}/${word}`);
|
|
1916
|
+
const json = await sdk_fetchJson(`/api/dictionary/${locale}/${encodeURIComponent(word)}`);
|
|
1915
1917
|
return json.map(build.WordDefinition.fromJson);
|
|
1916
1918
|
};
|
|
1917
1919
|
/* harmony default export */ const sdk_findWordDefinitions = (findWordDefinitions);
|
|
@@ -1962,11 +1964,11 @@ const visit = ()=>{
|
|
|
1962
1964
|
|
|
1963
1965
|
|
|
1964
1966
|
// EXTERNAL MODULE: ./src/state/actions.ts
|
|
1965
|
-
var actions = __webpack_require__(
|
|
1967
|
+
var actions = __webpack_require__(64594);
|
|
1966
1968
|
// EXTERNAL MODULE: ./src/state/selectors.ts
|
|
1967
|
-
var selectors = __webpack_require__(
|
|
1969
|
+
var selectors = __webpack_require__(30391);
|
|
1968
1970
|
// EXTERNAL MODULE: ./src/state/slices/index.ts + 16 modules
|
|
1969
|
-
var slices = __webpack_require__(
|
|
1971
|
+
var slices = __webpack_require__(58995);
|
|
1970
1972
|
;// CONCATENATED MODULE: ./src/state/sagas.ts
|
|
1971
1973
|
|
|
1972
1974
|
|
|
@@ -2004,7 +2006,7 @@ function* onRackValueChange() {
|
|
|
2004
2006
|
yield (0,effects_.put)(slices/* resultsSlice.actions.changeResultCandidate */._C.actions.changeResultCandidate(null));
|
|
2005
2007
|
}
|
|
2006
2008
|
function* onApplyResult({ payload: result }) {
|
|
2007
|
-
const autoGroupTiles = yield (0,effects_.select)(selectors/*
|
|
2009
|
+
const autoGroupTiles = yield (0,effects_.select)(selectors/* selectLocaleAutoGroupTiles */.lP);
|
|
2008
2010
|
yield (0,effects_.put)(slices/* boardSlice.actions.applyResult */.I8.actions.applyResult(result));
|
|
2009
2011
|
yield (0,effects_.put)(slices/* cellFilterSlice.actions.reset */.mO.actions.reset());
|
|
2010
2012
|
yield (0,effects_.put)(slices/* rackSlice.actions.removeTiles */.O_.actions.removeTiles(result.tiles));
|
|
@@ -2012,8 +2014,13 @@ function* onApplyResult({ payload: result }) {
|
|
|
2012
2014
|
yield (0,effects_.put)(slices/* verifySlice.actions.submit */.Gt.actions.submit());
|
|
2013
2015
|
}
|
|
2014
2016
|
function* onConfigIdChange() {
|
|
2017
|
+
const characters = yield (0,effects_.select)(selectors/* selectCharacters */.yp);
|
|
2018
|
+
if (characters.length > 0) {
|
|
2019
|
+
yield (0,effects_.put)(slices/* solveSlice.actions.submit */.TP.actions.submit());
|
|
2020
|
+
} else {
|
|
2021
|
+
yield (0,effects_.put)(slices/* resultsSlice.actions.reset */._C.actions.reset());
|
|
2022
|
+
}
|
|
2015
2023
|
yield (0,effects_.put)(slices/* resultsSlice.actions.reset */._C.actions.reset());
|
|
2016
|
-
yield (0,effects_.put)(slices/* solveSlice.actions.submit */.TP.actions.submit());
|
|
2017
2024
|
yield (0,effects_.put)(slices/* verifySlice.actions.submit */.Gt.actions.submit());
|
|
2018
2025
|
yield* ensureProperTilesCount();
|
|
2019
2026
|
}
|
|
@@ -2044,9 +2051,14 @@ function* onReset() {
|
|
|
2044
2051
|
yield (0,effects_.put)(slices/* verifySlice.actions.submit */.Gt.actions.submit());
|
|
2045
2052
|
}
|
|
2046
2053
|
function* onLocaleChange() {
|
|
2054
|
+
const characters = yield (0,effects_.select)(selectors/* selectCharacters */.yp);
|
|
2055
|
+
if (characters.length > 0) {
|
|
2056
|
+
yield (0,effects_.put)(slices/* solveSlice.actions.submit */.TP.actions.submit());
|
|
2057
|
+
} else {
|
|
2058
|
+
yield (0,effects_.put)(slices/* resultsSlice.actions.reset */._C.actions.reset());
|
|
2059
|
+
}
|
|
2047
2060
|
yield (0,effects_.put)(slices/* dictionarySlice.actions.reset */.lj.actions.reset());
|
|
2048
2061
|
yield (0,effects_.put)(slices/* resultsSlice.actions.changeResultCandidate */._C.actions.changeResultCandidate(null));
|
|
2049
|
-
yield (0,effects_.put)(slices/* solveSlice.actions.submit */.TP.actions.submit());
|
|
2050
2062
|
yield (0,effects_.put)(slices/* verifySlice.actions.submit */.Gt.actions.submit());
|
|
2051
2063
|
}
|
|
2052
2064
|
function* onResultCandidateChange({ payload: result }) {
|
|
@@ -2116,11 +2128,11 @@ function* ensureProperTilesCount() {
|
|
|
2116
2128
|
]));
|
|
2117
2129
|
} else if (config.maximumCharactersCount < characters.length) {
|
|
2118
2130
|
const nonNulls = characters.filter(Boolean).slice(0, config.maximumCharactersCount);
|
|
2119
|
-
const
|
|
2120
|
-
const autoGroupTiles = yield (0,effects_.select)(selectors/*
|
|
2131
|
+
const differenceCount = Math.abs(config.maximumCharactersCount - nonNulls.length);
|
|
2132
|
+
const autoGroupTiles = yield (0,effects_.select)(selectors/* selectLocaleAutoGroupTiles */.lP);
|
|
2121
2133
|
yield (0,effects_.put)(slices/* rackSlice.actions.init */.O_.actions.init([
|
|
2122
2134
|
...nonNulls,
|
|
2123
|
-
...Array(
|
|
2135
|
+
...Array(differenceCount).fill(null)
|
|
2124
2136
|
]));
|
|
2125
2137
|
yield (0,effects_.put)(slices/* rackSlice.actions.groupTiles */.O_.actions.groupTiles(autoGroupTiles));
|
|
2126
2138
|
}
|
|
@@ -2129,11 +2141,12 @@ function* ensureProperTilesCount() {
|
|
|
2129
2141
|
|
|
2130
2142
|
/***/ }),
|
|
2131
2143
|
|
|
2132
|
-
/***/
|
|
2144
|
+
/***/ 30391:
|
|
2133
2145
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
2134
2146
|
|
|
2135
2147
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
2136
2148
|
/* harmony export */ "$o": () => (/* binding */ selectConfig),
|
|
2149
|
+
/* harmony export */ "AN": () => (/* binding */ selectCharacterIsValid),
|
|
2137
2150
|
/* harmony export */ "En": () => (/* binding */ selectHasOverusedTiles),
|
|
2138
2151
|
/* harmony export */ "HM": () => (/* binding */ selectVerify),
|
|
2139
2152
|
/* harmony export */ "Mj": () => (/* binding */ selectAreResultsOutdated),
|
|
@@ -2151,7 +2164,9 @@ function* ensureProperTilesCount() {
|
|
|
2151
2164
|
/* harmony export */ "dN": () => (/* binding */ selectSortedFilteredResults),
|
|
2152
2165
|
/* harmony export */ "f2": () => (/* binding */ selectSortedResults),
|
|
2153
2166
|
/* harmony export */ "fN": () => (/* binding */ selectLocale),
|
|
2167
|
+
/* harmony export */ "fZ": () => (/* binding */ selectCellIsValid),
|
|
2154
2168
|
/* harmony export */ "id": () => (/* binding */ selectCellIsFiltered),
|
|
2169
|
+
/* harmony export */ "lP": () => (/* binding */ selectLocaleAutoGroupTiles),
|
|
2155
2170
|
/* harmony export */ "mK": () => (/* binding */ selectDictionaryError),
|
|
2156
2171
|
/* harmony export */ "md": () => (/* binding */ selectConfigId),
|
|
2157
2172
|
/* harmony export */ "nb": () => (/* binding */ selectTranslations),
|
|
@@ -2167,10 +2182,12 @@ function* ensureProperTilesCount() {
|
|
|
2167
2182
|
/* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__);
|
|
2168
2183
|
/* harmony import */ var _scrabble_solver_configs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(89418);
|
|
2169
2184
|
/* harmony import */ var _scrabble_solver_configs__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_scrabble_solver_configs__WEBPACK_IMPORTED_MODULE_1__);
|
|
2170
|
-
/* harmony import */ var
|
|
2171
|
-
/* harmony import */ var
|
|
2172
|
-
/* harmony import */ var
|
|
2173
|
-
/* harmony import */ var
|
|
2185
|
+
/* harmony import */ var _scrabble_solver_constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(7618);
|
|
2186
|
+
/* harmony import */ var _scrabble_solver_types__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(34046);
|
|
2187
|
+
/* harmony import */ var _scrabble_solver_types__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_scrabble_solver_types__WEBPACK_IMPORTED_MODULE_3__);
|
|
2188
|
+
/* harmony import */ var i18n__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(77586);
|
|
2189
|
+
/* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(95784);
|
|
2190
|
+
|
|
2174
2191
|
|
|
2175
2192
|
|
|
2176
2193
|
|
|
@@ -2192,14 +2209,23 @@ const selectDictionary = selectDictionaryRoot;
|
|
|
2192
2209
|
const selectDictionaryError = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSelector)([
|
|
2193
2210
|
selectDictionaryRoot
|
|
2194
2211
|
], (dictionary)=>{
|
|
2195
|
-
return (0,
|
|
2212
|
+
return (0,_scrabble_solver_types__WEBPACK_IMPORTED_MODULE_3__.isError)(dictionary.error) ? dictionary.error : undefined;
|
|
2196
2213
|
});
|
|
2214
|
+
const selectLocale = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSelector)([
|
|
2215
|
+
selectSettingsRoot
|
|
2216
|
+
], (settings)=>settings.locale);
|
|
2197
2217
|
const selectAutoGroupTiles = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSelector)([
|
|
2198
2218
|
selectSettingsRoot
|
|
2199
2219
|
], (settings)=>settings.autoGroupTiles);
|
|
2200
|
-
const
|
|
2220
|
+
const selectLocaleAutoGroupTiles = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSelector)([
|
|
2221
|
+
selectLocale,
|
|
2201
2222
|
selectSettingsRoot
|
|
2202
|
-
], (settings)=>
|
|
2223
|
+
], (locale, settings)=>{
|
|
2224
|
+
if (i18n__WEBPACK_IMPORTED_MODULE_4__/* .LOCALE_FEATURES */ .q[locale].direction === "ltr" || settings.autoGroupTiles === null) {
|
|
2225
|
+
return settings.autoGroupTiles;
|
|
2226
|
+
}
|
|
2227
|
+
return settings.autoGroupTiles === "left" ? "right" : "left";
|
|
2228
|
+
});
|
|
2203
2229
|
const selectBoard = selectBoardRoot;
|
|
2204
2230
|
const selectConfigId = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSelector)([
|
|
2205
2231
|
selectSettingsRoot
|
|
@@ -2215,6 +2241,15 @@ const selectCellIsFiltered = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.cr
|
|
|
2215
2241
|
], (cellFilter, { x , y })=>{
|
|
2216
2242
|
return cellFilter.some((cell)=>cell.x === x && cell.y === y);
|
|
2217
2243
|
});
|
|
2244
|
+
const selectCellIsValid = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSelector)([
|
|
2245
|
+
selectConfig,
|
|
2246
|
+
selectCell
|
|
2247
|
+
], (config, cell)=>{
|
|
2248
|
+
if (!cell.hasTile()) {
|
|
2249
|
+
return true;
|
|
2250
|
+
}
|
|
2251
|
+
return config.tiles.some((tile)=>tile.character === cell.tile.character);
|
|
2252
|
+
});
|
|
2218
2253
|
const selectResults = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSelector)([
|
|
2219
2254
|
selectResultsRoot
|
|
2220
2255
|
], (results)=>results.results);
|
|
@@ -2232,7 +2267,7 @@ const selectSortedResults = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.cre
|
|
|
2232
2267
|
selectResultsSortColumn,
|
|
2233
2268
|
selectResultsSortDirection,
|
|
2234
2269
|
selectLocale
|
|
2235
|
-
],
|
|
2270
|
+
], lib__WEBPACK_IMPORTED_MODULE_5__/* .sortResults */ .uj);
|
|
2236
2271
|
const filterResultsByQuery = (results, query)=>{
|
|
2237
2272
|
if (query.trim().length === 0) {
|
|
2238
2273
|
return results;
|
|
@@ -2277,7 +2312,7 @@ const selectRowsWithCandidate = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__
|
|
|
2277
2312
|
selectBoardRoot,
|
|
2278
2313
|
selectResultCandidateCells
|
|
2279
2314
|
], (board, cells)=>{
|
|
2280
|
-
return board.rows.map((row, y)=>row.map((cell, x)=>(0,
|
|
2315
|
+
return board.rows.map((row, y)=>row.map((cell, x)=>(0,lib__WEBPACK_IMPORTED_MODULE_5__/* .findCell */ .Jp)(cells, x, y) || cell));
|
|
2281
2316
|
});
|
|
2282
2317
|
const selectCellBonus = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSelector)([
|
|
2283
2318
|
selectConfig,
|
|
@@ -2291,6 +2326,15 @@ const selectCharacterPoints = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.c
|
|
|
2291
2326
|
], (config, character)=>{
|
|
2292
2327
|
return config.getCharacterPoints(character);
|
|
2293
2328
|
});
|
|
2329
|
+
const selectCharacterIsValid = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSelector)([
|
|
2330
|
+
selectConfig,
|
|
2331
|
+
selectCharacter
|
|
2332
|
+
], (config, character)=>{
|
|
2333
|
+
if (character === null || character === _scrabble_solver_constants__WEBPACK_IMPORTED_MODULE_2__.BLANK) {
|
|
2334
|
+
return true;
|
|
2335
|
+
}
|
|
2336
|
+
return config.tiles.some((tile)=>tile.character === character);
|
|
2337
|
+
});
|
|
2294
2338
|
const selectTilePoints = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSelector)([
|
|
2295
2339
|
selectConfig,
|
|
2296
2340
|
selectTile
|
|
@@ -2299,7 +2343,7 @@ const selectTilePoints = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.create
|
|
|
2299
2343
|
});
|
|
2300
2344
|
const selectTranslations = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSelector)([
|
|
2301
2345
|
selectLocale
|
|
2302
|
-
], (locale)=>
|
|
2346
|
+
], (locale)=>i18n__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z[locale]);
|
|
2303
2347
|
const selectTranslation = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSelector)([
|
|
2304
2348
|
selectTranslations,
|
|
2305
2349
|
selectLocale,
|
|
@@ -2322,14 +2366,14 @@ const selectIsLoading = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createS
|
|
|
2322
2366
|
const selectSolveError = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSelector)([
|
|
2323
2367
|
selectSolveRoot
|
|
2324
2368
|
], (solve)=>{
|
|
2325
|
-
return (0,
|
|
2369
|
+
return (0,_scrabble_solver_types__WEBPACK_IMPORTED_MODULE_3__.isError)(solve.error) ? solve.error : undefined;
|
|
2326
2370
|
});
|
|
2327
2371
|
const selectHaveCharactersChanged = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSelector)([
|
|
2328
2372
|
selectLastSolvedParameters,
|
|
2329
2373
|
selectCharacters,
|
|
2330
2374
|
selectLocale
|
|
2331
2375
|
], (lastSolvedParameters, characters, locale)=>{
|
|
2332
|
-
return !(0,
|
|
2376
|
+
return !(0,lib__WEBPACK_IMPORTED_MODULE_5__/* .unorderedArraysEqual */ .DR)(lastSolvedParameters.characters, characters, locale);
|
|
2333
2377
|
});
|
|
2334
2378
|
const selectHasBoardChanged = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSelector)([
|
|
2335
2379
|
selectLastSolvedParameters,
|
|
@@ -2344,7 +2388,7 @@ const selectRemainingTiles = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.cr
|
|
|
2344
2388
|
selectBoardRoot,
|
|
2345
2389
|
selectCharacters,
|
|
2346
2390
|
selectLocale
|
|
2347
|
-
],
|
|
2391
|
+
], lib__WEBPACK_IMPORTED_MODULE_5__/* .getRemainingTiles */ .ZM);
|
|
2348
2392
|
const selectHasOverusedTiles = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSelector)([
|
|
2349
2393
|
selectRemainingTiles
|
|
2350
2394
|
], (remainingTiles)=>{
|
|
@@ -2352,7 +2396,7 @@ const selectHasOverusedTiles = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.
|
|
|
2352
2396
|
});
|
|
2353
2397
|
const selectRemainingTilesGroups = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSelector)([
|
|
2354
2398
|
selectRemainingTiles
|
|
2355
|
-
],
|
|
2399
|
+
], lib__WEBPACK_IMPORTED_MODULE_5__/* .getRemainingTilesGroups */ .op);
|
|
2356
2400
|
const selectVerify = selectVerifyRoot;
|
|
2357
2401
|
const selectHasInvalidWords = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSelector)([
|
|
2358
2402
|
selectVerify
|
|
@@ -2363,7 +2407,7 @@ const selectHasInvalidWords = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.c
|
|
|
2363
2407
|
|
|
2364
2408
|
/***/ }),
|
|
2365
2409
|
|
|
2366
|
-
/***/
|
|
2410
|
+
/***/ 58995:
|
|
2367
2411
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
2368
2412
|
|
|
2369
2413
|
|
|
@@ -2416,6 +2460,29 @@ const settingsInitialState = {
|
|
|
2416
2460
|
const { configId , locale } = slices_settingsInitialState;
|
|
2417
2461
|
const { boardHeight , boardWidth } = (0,build.getLocaleConfig)(configId, locale);
|
|
2418
2462
|
const boardInitialState = types_build.Board.create(boardWidth, boardHeight);
|
|
2463
|
+
// const createOxyphenbutazone = () => {
|
|
2464
|
+
// // Tiles: oypbaze
|
|
2465
|
+
// const board = Board.fromStringArray([
|
|
2466
|
+
// ' x hen ut on ',
|
|
2467
|
+
// 'puer or amas j',
|
|
2468
|
+
// 'a led a er a',
|
|
2469
|
+
// 'c ki i elf c',
|
|
2470
|
+
// 'i snot n is u',
|
|
2471
|
+
// 'f t o w do l',
|
|
2472
|
+
// 'y e moa er a',
|
|
2473
|
+
// 'i r solar t',
|
|
2474
|
+
// 'n v h t i',
|
|
2475
|
+
// 'g i i bitten',
|
|
2476
|
+
// ' e n v g',
|
|
2477
|
+
// ' w g e ',
|
|
2478
|
+
// ' e ',
|
|
2479
|
+
// ' d ',
|
|
2480
|
+
// ' ',
|
|
2481
|
+
// ]);
|
|
2482
|
+
// board.rows[4][3].tile.isBlank = true;
|
|
2483
|
+
// board.rows[9][11].tile.isBlank = true;
|
|
2484
|
+
// return board;
|
|
2485
|
+
// };
|
|
2419
2486
|
/* harmony default export */ const slices_boardInitialState = (boardInitialState);
|
|
2420
2487
|
|
|
2421
2488
|
// EXTERNAL MODULE: external "@reduxjs/toolkit"
|
|
@@ -2573,7 +2640,7 @@ const dictionarySlice = (0,toolkit_.createSlice)({
|
|
|
2573
2640
|
/* harmony default export */ const slices_dictionarySlice = (dictionarySlice);
|
|
2574
2641
|
|
|
2575
2642
|
// EXTERNAL MODULE: ./src/lib/index.ts + 29 modules
|
|
2576
|
-
var lib = __webpack_require__(
|
|
2643
|
+
var lib = __webpack_require__(95784);
|
|
2577
2644
|
;// CONCATENATED MODULE: ./src/state/slices/rackInitialState.ts
|
|
2578
2645
|
const rackInitialState = [
|
|
2579
2646
|
null,
|
|
@@ -2639,7 +2706,7 @@ const rackSlice = (0,toolkit_.createSlice)({
|
|
|
2639
2706
|
/* harmony default export */ const slices_rackSlice = (rackSlice);
|
|
2640
2707
|
|
|
2641
2708
|
// EXTERNAL MODULE: ./src/types/index.ts
|
|
2642
|
-
var types = __webpack_require__(
|
|
2709
|
+
var types = __webpack_require__(9033);
|
|
2643
2710
|
;// CONCATENATED MODULE: ./src/state/slices/resultsInitialState.ts
|
|
2644
2711
|
|
|
2645
2712
|
const resultsInitialState = {
|
|
@@ -2861,7 +2928,7 @@ const verifySlice = (0,toolkit_.createSlice)({
|
|
|
2861
2928
|
|
|
2862
2929
|
/***/ }),
|
|
2863
2930
|
|
|
2864
|
-
/***/
|
|
2931
|
+
/***/ 92645:
|
|
2865
2932
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
2866
2933
|
|
|
2867
2934
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
@@ -2869,8 +2936,8 @@ const verifySlice = (0,toolkit_.createSlice)({
|
|
|
2869
2936
|
/* harmony export */ });
|
|
2870
2937
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
|
|
2871
2938
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
2872
|
-
/* harmony import */ var _selectors__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
|
|
2873
|
-
/* harmony import */ var _useTypedSelector__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(
|
|
2939
|
+
/* harmony import */ var _selectors__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(30391);
|
|
2940
|
+
/* harmony import */ var _useTypedSelector__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(20106);
|
|
2874
2941
|
|
|
2875
2942
|
|
|
2876
2943
|
|
|
@@ -2894,7 +2961,7 @@ const useTranslate = ()=>{
|
|
|
2894
2961
|
|
|
2895
2962
|
/***/ }),
|
|
2896
2963
|
|
|
2897
|
-
/***/
|
|
2964
|
+
/***/ 20106:
|
|
2898
2965
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
2899
2966
|
|
|
2900
2967
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
@@ -2909,7 +2976,7 @@ const useTypedSelector = react_redux__WEBPACK_IMPORTED_MODULE_0__.useSelector;
|
|
|
2909
2976
|
|
|
2910
2977
|
/***/ }),
|
|
2911
2978
|
|
|
2912
|
-
/***/
|
|
2979
|
+
/***/ 9033:
|
|
2913
2980
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
2914
2981
|
|
|
2915
2982
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
@@ -2947,11 +3014,6 @@ const constants_1 = __webpack_require__(7618);
|
|
|
2947
3014
|
const Cell_1 = __importDefault(__webpack_require__(52251));
|
|
2948
3015
|
const Tile_1 = __importDefault(__webpack_require__(25275));
|
|
2949
3016
|
class Board {
|
|
2950
|
-
constructor({ rows }) {
|
|
2951
|
-
this.rows = rows;
|
|
2952
|
-
this.columnsCount = rows[0].length;
|
|
2953
|
-
this.rowsCount = rows.length;
|
|
2954
|
-
}
|
|
2955
3017
|
static create(width, height) {
|
|
2956
3018
|
return Board.fromStringArray(Array(height).fill(Array(width).fill(' ').join('')));
|
|
2957
3019
|
}
|
|
@@ -2970,6 +3032,11 @@ class Board {
|
|
|
2970
3032
|
}))),
|
|
2971
3033
|
});
|
|
2972
3034
|
}
|
|
3035
|
+
constructor({ rows }) {
|
|
3036
|
+
this.rows = rows;
|
|
3037
|
+
this.columnsCount = rows[0].length;
|
|
3038
|
+
this.rowsCount = rows.length;
|
|
3039
|
+
}
|
|
2973
3040
|
get center() {
|
|
2974
3041
|
const x = Math.floor(this.columnsCount / 2);
|
|
2975
3042
|
const y = Math.floor(this.rowsCount / 2);
|
|
@@ -3133,13 +3200,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3133
3200
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
3134
3201
|
const Tile_1 = __importDefault(__webpack_require__(25275));
|
|
3135
3202
|
class Cell {
|
|
3136
|
-
// eslint-disable-next-line no-undef
|
|
3137
|
-
constructor({ isEmpty = true, tile = Tile_1.default.Null, x, y }) {
|
|
3138
|
-
this.isEmpty = isEmpty;
|
|
3139
|
-
this.tile = tile;
|
|
3140
|
-
this.x = x;
|
|
3141
|
-
this.y = y;
|
|
3142
|
-
}
|
|
3143
3203
|
static fromJson(json) {
|
|
3144
3204
|
return new Cell({
|
|
3145
3205
|
isEmpty: json.isEmpty,
|
|
@@ -3148,6 +3208,13 @@ class Cell {
|
|
|
3148
3208
|
y: json.y,
|
|
3149
3209
|
});
|
|
3150
3210
|
}
|
|
3211
|
+
// eslint-disable-next-line no-undef
|
|
3212
|
+
constructor({ isEmpty = true, tile = Tile_1.default.Null, x, y }) {
|
|
3213
|
+
this.isEmpty = isEmpty;
|
|
3214
|
+
this.tile = tile;
|
|
3215
|
+
this.x = x;
|
|
3216
|
+
this.y = y;
|
|
3217
|
+
}
|
|
3151
3218
|
clone() {
|
|
3152
3219
|
return new Cell({
|
|
3153
3220
|
isEmpty: this.isEmpty,
|
|
@@ -3253,14 +3320,14 @@ const constants_1 = __webpack_require__(7618);
|
|
|
3253
3320
|
const CharacterBonus_1 = __importDefault(__webpack_require__(19582));
|
|
3254
3321
|
const WordBonus_1 = __importDefault(__webpack_require__(58627));
|
|
3255
3322
|
class Config {
|
|
3323
|
+
static fromJson(json) {
|
|
3324
|
+
return new Config(json);
|
|
3325
|
+
}
|
|
3256
3326
|
constructor(config) {
|
|
3257
3327
|
this.bonuses = getBonuses(config);
|
|
3258
3328
|
this.config = config;
|
|
3259
3329
|
this.pointsMap = getPointsMap(this.config);
|
|
3260
3330
|
}
|
|
3261
|
-
static fromJson(json) {
|
|
3262
|
-
return new Config(json);
|
|
3263
|
-
}
|
|
3264
3331
|
get allTilesBonusScore() {
|
|
3265
3332
|
return this.config.allTilesBonusScore;
|
|
3266
3333
|
}
|
|
@@ -3504,6 +3571,14 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
|
3504
3571
|
const constants_1 = __webpack_require__(7618);
|
|
3505
3572
|
const Cell_1 = __importDefault(__webpack_require__(52251));
|
|
3506
3573
|
class Result {
|
|
3574
|
+
static fromJson(json) {
|
|
3575
|
+
return new Result({
|
|
3576
|
+
id: json.id,
|
|
3577
|
+
cells: json.cells.map(Cell_1.default.fromJson),
|
|
3578
|
+
collisions: json.collisions.map((collision) => collision.map(Cell_1.default.fromJson)),
|
|
3579
|
+
points: json.points,
|
|
3580
|
+
});
|
|
3581
|
+
}
|
|
3507
3582
|
constructor({ cells, id, collisions, points, }) {
|
|
3508
3583
|
const tiles = getTiles(cells);
|
|
3509
3584
|
this.blanksCount = getBlanks(tiles).length;
|
|
@@ -3521,14 +3596,6 @@ class Result {
|
|
|
3521
3596
|
this.words = getWords(cells, collisions);
|
|
3522
3597
|
this.wordsCount = 1 + this.collisions.length;
|
|
3523
3598
|
}
|
|
3524
|
-
static fromJson(json) {
|
|
3525
|
-
return new Result({
|
|
3526
|
-
id: json.id,
|
|
3527
|
-
cells: json.cells.map(Cell_1.default.fromJson),
|
|
3528
|
-
collisions: json.collisions.map((collision) => collision.map(Cell_1.default.fromJson)),
|
|
3529
|
-
points: json.points,
|
|
3530
|
-
});
|
|
3531
|
-
}
|
|
3532
3599
|
toJson() {
|
|
3533
3600
|
return {
|
|
3534
3601
|
cells: this.cells.map((cell) => cell.toJson()),
|
|
@@ -3560,10 +3627,6 @@ exports["default"] = Result;
|
|
|
3560
3627
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
3561
3628
|
const constants_1 = __webpack_require__(7618);
|
|
3562
3629
|
class Tile {
|
|
3563
|
-
constructor({ character, isBlank = false }) {
|
|
3564
|
-
this.character = character;
|
|
3565
|
-
this.isBlank = isBlank;
|
|
3566
|
-
}
|
|
3567
3630
|
static fromJson(json) {
|
|
3568
3631
|
if (!json) {
|
|
3569
3632
|
return Tile.Null;
|
|
@@ -3573,6 +3636,10 @@ class Tile {
|
|
|
3573
3636
|
isBlank: json.isBlank,
|
|
3574
3637
|
});
|
|
3575
3638
|
}
|
|
3639
|
+
constructor({ character, isBlank = false }) {
|
|
3640
|
+
this.character = character;
|
|
3641
|
+
this.isBlank = isBlank;
|
|
3642
|
+
}
|
|
3576
3643
|
clone() {
|
|
3577
3644
|
return new Tile({
|
|
3578
3645
|
character: this.character,
|
|
@@ -3699,12 +3766,6 @@ exports["default"] = WordBonus;
|
|
|
3699
3766
|
|
|
3700
3767
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
3701
3768
|
class WordDefinition {
|
|
3702
|
-
constructor({ definitions, exists, isAllowed, word }) {
|
|
3703
|
-
this.definitions = definitions;
|
|
3704
|
-
this.exists = exists;
|
|
3705
|
-
this.isAllowed = isAllowed;
|
|
3706
|
-
this.word = word;
|
|
3707
|
-
}
|
|
3708
3769
|
static fromJson(json) {
|
|
3709
3770
|
if (!json) {
|
|
3710
3771
|
return WordDefinition.Null;
|
|
@@ -3716,6 +3777,12 @@ class WordDefinition {
|
|
|
3716
3777
|
word: json.word,
|
|
3717
3778
|
});
|
|
3718
3779
|
}
|
|
3780
|
+
constructor({ definitions, exists, isAllowed, word }) {
|
|
3781
|
+
this.definitions = definitions;
|
|
3782
|
+
this.exists = exists;
|
|
3783
|
+
this.isAllowed = isAllowed;
|
|
3784
|
+
this.word = word;
|
|
3785
|
+
}
|
|
3719
3786
|
toJson() {
|
|
3720
3787
|
return {
|
|
3721
3788
|
definitions: this.definitions,
|