@scrabble-solver/scrabble-solver 2.9.2 → 2.10.0
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 +11 -11
- 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/edge-server-production/0.pack +0 -0
- package/.next/cache/webpack/edge-server-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/{429.js → 131.js} +2 -3652
- package/.next/server/chunks/413.js +367 -185
- package/.next/server/chunks/44.js +71 -45
- package/.next/server/chunks/515.js +1135 -504
- package/.next/server/chunks/911.js +96 -2
- 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/_error.js.nft.json +1 -1
- package/.next/server/pages/api/dictionary/[locale]/[word].js +48 -10
- package/.next/server/pages/api/dictionary/[locale]/[word].js.nft.json +1 -1
- package/.next/server/pages/api/dictionary/[locale].js +1 -8
- package/.next/server/pages/api/dictionary/[locale].js.nft.json +1 -1
- package/.next/server/pages/api/solve.js +62 -49
- package/.next/server/pages/api/solve.js.nft.json +1 -1
- package/.next/server/pages/api/verify.js +2 -9
- package/.next/server/pages/api/verify.js.nft.json +1 -1
- package/.next/server/pages/index.html +4 -8
- package/.next/server/pages/index.js +43 -36
- package/.next/server/pages/index.js.nft.json +1 -1
- package/.next/server/pages/index.json +1 -1
- package/.next/server/pages-manifest.json +2 -2
- package/.next/static/chunks/368-d423e70be6c0c473.js +1 -0
- package/.next/static/chunks/pages/{404-7082923654d5996f.js → 404-932294135c3206dd.js} +1 -1
- package/.next/static/chunks/pages/_app-3f5508a5f544d9eb.js +1 -0
- package/.next/static/chunks/pages/index-8af7a9d7a2cd98a7.js +1 -0
- package/.next/static/css/6b1833fd19d3a74a.css +1 -0
- package/.next/static/css/a6154e4ca046ca13.css +1 -0
- package/.next/static/css/bad53af6f8616677.css +1 -0
- package/.next/static/vscqn7BEtAxJteWSwNnas/_buildManifest.js +1 -0
- package/.next/static/{Ntg-ilwD7GqTIFwRpSaTQ → vscqn7BEtAxJteWSwNnas}/_ssgManifest.js +0 -0
- package/.next/trace +52 -52
- package/package.json +9 -9
- package/src/components/Board/components/Cell/Cell.module.scss +45 -9
- package/src/components/Board/hooks/useGrid.ts +4 -2
- package/src/components/Dictionary/Dictionary.module.scss +8 -1
- package/src/components/EmptyState/EmptyState.tsx +6 -2
- package/src/components/Loading/Loading.tsx +13 -2
- package/src/components/Logo/Logo.svg +62 -0
- package/src/components/Logo/index.ts +1 -1
- package/src/components/NavButtons/NavButtons.module.scss +8 -7
- package/src/components/NavButtons/NavButtons.tsx +35 -28
- package/src/components/PlainTiles/PlainTiles.tsx +7 -1
- package/src/components/PlainTiles/Tile.tsx +4 -3
- package/src/components/Rack/Rack.tsx +4 -2
- package/src/components/Radio/Radio.module.scss +1 -1
- package/src/components/RemainingTiles/Character.tsx +7 -2
- package/src/components/RemainingTiles/RemainingTiles.tsx +28 -20
- package/src/components/Results/Cell.tsx +5 -3
- package/src/components/Results/Result.tsx +8 -3
- package/src/components/Results/Results.module.scss +31 -9
- package/src/components/Results/Results.tsx +6 -2
- package/src/components/Results/getColumns.ts +58 -0
- package/src/components/Settings/components/ConfigSetting/ConfigSetting.module.scss +1 -0
- package/src/components/Settings/components/LocaleSetting/LocaleSetting.module.scss +12 -1
- package/src/components/Settings/components/LocaleSetting/LocaleSetting.tsx +1 -1
- package/src/components/Settings/components/LocaleSetting/options.ts +7 -1
- package/src/components/Sidebar/Sidebar.module.scss +42 -8
- package/src/components/SvgFontCss/SvgFontCss.tsx +8 -7
- package/src/components/SvgFontCss/createCss.ts +11 -0
- package/src/components/SvgFontCss/createStyle.ts +9 -0
- package/src/components/SvgFontCss/createSvg.ts +10 -0
- package/src/components/SvgFontFix/SvgFontFix.module.scss +5 -0
- package/src/components/SvgFontFix/SvgFontFix.tsx +21 -0
- package/src/components/SvgFontFix/index.ts +1 -0
- package/src/components/Tile/Tile.module.scss +10 -2
- package/src/components/Tile/Tile.tsx +4 -0
- package/src/components/Tile/TilePure.tsx +3 -1
- package/src/components/Words/Words.tsx +4 -3
- package/src/components/index.ts +1 -0
- package/src/hooks/index.ts +2 -0
- package/src/hooks/useDirection.ts +22 -0
- package/src/hooks/useLanguage.ts +22 -0
- package/src/i18n/constants.ts +53 -0
- package/src/i18n/fa.json +56 -0
- package/src/i18n/i18n.ts +22 -0
- package/src/i18n/index.ts +2 -20
- package/src/icons/FlagFa.svg +95 -0
- package/src/icons/index.ts +1 -0
- package/src/lib/createComparator.ts +22 -0
- package/src/lib/createKeyComparator.ts +4 -2
- package/src/lib/createStringComparator.ts +5 -0
- package/src/lib/detectLocale.ts +4 -0
- package/src/lib/getRemainingTiles.ts +4 -2
- package/src/lib/getRemainingTilesGroups.ts +48 -23
- package/src/lib/index.ts +2 -2
- package/src/lib/sortResults.ts +11 -9
- package/src/lib/unorderedArraysEqual.ts +3 -2
- package/src/pages/api/verify.ts +1 -1
- package/src/pages/index.module.scss +7 -18
- package/src/pages/index.tsx +10 -2
- package/src/service-worker/routeVerifyRequests.ts +1 -1
- package/src/state/selectors.ts +5 -5
- package/src/styles/global.scss +6 -1
- package/.next/static/Ntg-ilwD7GqTIFwRpSaTQ/_buildManifest.js +0 -1
- package/.next/static/chunks/317-5e5334962dd7c681.js +0 -1
- package/.next/static/chunks/pages/_app-183f598b1d4d480b.js +0 -1
- package/.next/static/chunks/pages/index-b1ffeaddd9fb64b5.js +0 -1
- package/.next/static/css/751e8a14776d05d8.css +0 -1
- package/.next/static/css/ad2a08918868cad8.css +0 -1
- package/.next/static/css/e8de67ad5ea35427.css +0 -1
- package/src/components/Results/constants.ts +0 -42
- package/src/lib/comparator.ts +0 -16
- package/src/lib/stringComparator.ts +0 -5
|
@@ -235,6 +235,7 @@ const literaki = {
|
|
|
235
235
|
[types_1.Locale.EN_GB]: types_1.Config.fromJson({ ...base, tiles: tiles_1.tilesEn }),
|
|
236
236
|
[types_1.Locale.EN_US]: types_1.Config.fromJson({ ...base, tiles: tiles_1.tilesEn }),
|
|
237
237
|
[types_1.Locale.ES_ES]: types_1.Config.fromJson({ ...base, tiles: tiles_1.tilesEs }),
|
|
238
|
+
[types_1.Locale.FA_IR]: types_1.Config.fromJson({ ...base, tiles: tiles_1.tilesFa }),
|
|
238
239
|
[types_1.Locale.FR_FR]: types_1.Config.fromJson({ ...base, tiles: tiles_1.tilesFr }),
|
|
239
240
|
[types_1.Locale.PL_PL]: types_1.Config.fromJson({ ...base, tiles: tiles_1.tilesPl }),
|
|
240
241
|
};
|
|
@@ -251,11 +252,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
251
252
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
252
253
|
};
|
|
253
254
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
254
|
-
exports.tilesDe = exports.tilesPl = exports.tilesFr = exports.tilesEs = exports.tilesEn = void 0;
|
|
255
|
+
exports.tilesDe = exports.tilesPl = exports.tilesFr = exports.tilesFa = exports.tilesEs = exports.tilesEn = void 0;
|
|
255
256
|
var tilesEn_1 = __webpack_require__(17910);
|
|
256
257
|
Object.defineProperty(exports, "tilesEn", ({ enumerable: true, get: function () { return __importDefault(tilesEn_1).default; } }));
|
|
257
258
|
var tilesEs_1 = __webpack_require__(63029);
|
|
258
259
|
Object.defineProperty(exports, "tilesEs", ({ enumerable: true, get: function () { return __importDefault(tilesEs_1).default; } }));
|
|
260
|
+
var tilesFa_1 = __webpack_require__(35366);
|
|
261
|
+
Object.defineProperty(exports, "tilesFa", ({ enumerable: true, get: function () { return __importDefault(tilesFa_1).default; } }));
|
|
259
262
|
var tilesFr_1 = __webpack_require__(59541);
|
|
260
263
|
Object.defineProperty(exports, "tilesFr", ({ enumerable: true, get: function () { return __importDefault(tilesFr_1).default; } }));
|
|
261
264
|
var tilesPl_1 = __webpack_require__(2647);
|
|
@@ -383,6 +386,50 @@ const tilesEs = [
|
|
|
383
386
|
exports["default"] = tilesEs;
|
|
384
387
|
|
|
385
388
|
|
|
389
|
+
/***/ }),
|
|
390
|
+
|
|
391
|
+
/***/ 35366:
|
|
392
|
+
/***/ ((__unused_webpack_module, exports) => {
|
|
393
|
+
|
|
394
|
+
|
|
395
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
396
|
+
const tilesFa = [
|
|
397
|
+
{ character: 'ا', count: 12, score: 1 },
|
|
398
|
+
{ character: 'ب', count: 4, score: 1 },
|
|
399
|
+
{ character: 'پ', count: 1, score: 6 },
|
|
400
|
+
{ character: 'ت', count: 4, score: 1 },
|
|
401
|
+
{ character: 'ث', count: 1, score: 10 },
|
|
402
|
+
{ character: 'ج', count: 2, score: 5 },
|
|
403
|
+
{ character: 'چ', count: 1, score: 6 },
|
|
404
|
+
{ character: 'ح', count: 1, score: 6 },
|
|
405
|
+
{ character: 'خ', count: 2, score: 5 },
|
|
406
|
+
{ character: 'د', count: 6, score: 1 },
|
|
407
|
+
{ character: 'ذ', count: 1, score: 10 },
|
|
408
|
+
{ character: 'ر', count: 7, score: 1 },
|
|
409
|
+
{ character: 'ز', count: 3, score: 4 },
|
|
410
|
+
{ character: 'ژ', count: 1, score: 10 },
|
|
411
|
+
{ character: 'س', count: 3, score: 2 },
|
|
412
|
+
{ character: 'ش', count: 3, score: 3 },
|
|
413
|
+
{ character: 'ص', count: 1, score: 6 },
|
|
414
|
+
{ character: 'ض', count: 1, score: 8 },
|
|
415
|
+
{ character: 'ط', count: 1, score: 8 },
|
|
416
|
+
{ character: 'ظ', count: 1, score: 10 },
|
|
417
|
+
{ character: 'ع', count: 2, score: 5 },
|
|
418
|
+
{ character: 'غ', count: 1, score: 8 },
|
|
419
|
+
{ character: 'ف', count: 2, score: 4 },
|
|
420
|
+
{ character: 'ق', count: 2, score: 5 },
|
|
421
|
+
{ character: 'ک', count: 3, score: 3 },
|
|
422
|
+
{ character: 'گ', count: 2, score: 4 },
|
|
423
|
+
{ character: 'ل', count: 3, score: 2 },
|
|
424
|
+
{ character: 'م', count: 5, score: 1 },
|
|
425
|
+
{ character: 'ن', count: 6, score: 1 },
|
|
426
|
+
{ character: 'و', count: 5, score: 1 },
|
|
427
|
+
{ character: 'ه', count: 5, score: 1 },
|
|
428
|
+
{ character: 'ی', count: 8, score: 1 },
|
|
429
|
+
];
|
|
430
|
+
exports["default"] = tilesFa;
|
|
431
|
+
|
|
432
|
+
|
|
386
433
|
/***/ }),
|
|
387
434
|
|
|
388
435
|
/***/ 59541:
|
|
@@ -585,6 +632,7 @@ const scrabble = {
|
|
|
585
632
|
[types_1.Locale.DE_DE]: types_1.Config.fromJson({ ...base, tiles: tiles_1.tilesDe }),
|
|
586
633
|
[types_1.Locale.EN_US]: types_1.Config.fromJson({ ...base, tiles: tiles_1.tilesEn }),
|
|
587
634
|
[types_1.Locale.ES_ES]: types_1.Config.fromJson({ ...base, tiles: tiles_1.tilesEs }),
|
|
635
|
+
[types_1.Locale.FA_IR]: types_1.Config.fromJson({ ...base, tiles: tiles_1.tilesFa }),
|
|
588
636
|
[types_1.Locale.FR_FR]: types_1.Config.fromJson({ ...base, tiles: tiles_1.tilesFr }),
|
|
589
637
|
[types_1.Locale.PL_PL]: types_1.Config.fromJson({ ...base, tiles: tiles_1.tilesPl }),
|
|
590
638
|
};
|
|
@@ -601,11 +649,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
601
649
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
602
650
|
};
|
|
603
651
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
604
|
-
exports.tilesDe = exports.tilesPl = exports.tilesFr = exports.tilesEs = exports.tilesEn = void 0;
|
|
652
|
+
exports.tilesDe = exports.tilesPl = exports.tilesFr = exports.tilesFa = exports.tilesEs = exports.tilesEn = void 0;
|
|
605
653
|
var tilesEn_1 = __webpack_require__(76149);
|
|
606
654
|
Object.defineProperty(exports, "tilesEn", ({ enumerable: true, get: function () { return __importDefault(tilesEn_1).default; } }));
|
|
607
655
|
var tilesEs_1 = __webpack_require__(14537);
|
|
608
656
|
Object.defineProperty(exports, "tilesEs", ({ enumerable: true, get: function () { return __importDefault(tilesEs_1).default; } }));
|
|
657
|
+
var tilesFa_1 = __webpack_require__(22878);
|
|
658
|
+
Object.defineProperty(exports, "tilesFa", ({ enumerable: true, get: function () { return __importDefault(tilesFa_1).default; } }));
|
|
609
659
|
var tilesFr_1 = __webpack_require__(72866);
|
|
610
660
|
Object.defineProperty(exports, "tilesFr", ({ enumerable: true, get: function () { return __importDefault(tilesFr_1).default; } }));
|
|
611
661
|
var tilesPl_1 = __webpack_require__(85667);
|
|
@@ -733,6 +783,50 @@ const tilesEs = [
|
|
|
733
783
|
exports["default"] = tilesEs;
|
|
734
784
|
|
|
735
785
|
|
|
786
|
+
/***/ }),
|
|
787
|
+
|
|
788
|
+
/***/ 22878:
|
|
789
|
+
/***/ ((__unused_webpack_module, exports) => {
|
|
790
|
+
|
|
791
|
+
|
|
792
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
793
|
+
const tilesFa = [
|
|
794
|
+
{ character: 'ا', count: 12, score: 1 },
|
|
795
|
+
{ character: 'ب', count: 4, score: 1 },
|
|
796
|
+
{ character: 'پ', count: 1, score: 6 },
|
|
797
|
+
{ character: 'ت', count: 4, score: 1 },
|
|
798
|
+
{ character: 'ث', count: 1, score: 10 },
|
|
799
|
+
{ character: 'ج', count: 2, score: 5 },
|
|
800
|
+
{ character: 'چ', count: 1, score: 6 },
|
|
801
|
+
{ character: 'ح', count: 1, score: 6 },
|
|
802
|
+
{ character: 'خ', count: 2, score: 5 },
|
|
803
|
+
{ character: 'د', count: 6, score: 1 },
|
|
804
|
+
{ character: 'ذ', count: 1, score: 10 },
|
|
805
|
+
{ character: 'ر', count: 7, score: 1 },
|
|
806
|
+
{ character: 'ز', count: 3, score: 4 },
|
|
807
|
+
{ character: 'ژ', count: 1, score: 10 },
|
|
808
|
+
{ character: 'س', count: 3, score: 2 },
|
|
809
|
+
{ character: 'ش', count: 3, score: 3 },
|
|
810
|
+
{ character: 'ص', count: 1, score: 6 },
|
|
811
|
+
{ character: 'ض', count: 1, score: 8 },
|
|
812
|
+
{ character: 'ط', count: 1, score: 8 },
|
|
813
|
+
{ character: 'ظ', count: 1, score: 10 },
|
|
814
|
+
{ character: 'ع', count: 2, score: 5 },
|
|
815
|
+
{ character: 'غ', count: 1, score: 8 },
|
|
816
|
+
{ character: 'ف', count: 2, score: 4 },
|
|
817
|
+
{ character: 'ق', count: 2, score: 5 },
|
|
818
|
+
{ character: 'ک', count: 3, score: 3 },
|
|
819
|
+
{ character: 'گ', count: 2, score: 4 },
|
|
820
|
+
{ character: 'ل', count: 3, score: 2 },
|
|
821
|
+
{ character: 'م', count: 5, score: 1 },
|
|
822
|
+
{ character: 'ن', count: 6, score: 1 },
|
|
823
|
+
{ character: 'و', count: 5, score: 1 },
|
|
824
|
+
{ character: 'ه', count: 5, score: 1 },
|
|
825
|
+
{ character: 'ی', count: 8, score: 1 },
|
|
826
|
+
];
|
|
827
|
+
exports["default"] = tilesFa;
|
|
828
|
+
|
|
829
|
+
|
|
736
830
|
/***/ }),
|
|
737
831
|
|
|
738
832
|
/***/ 72866:
|
|
@@ -861,7 +955,104 @@ exports.VOWELS = ['a', 'ą', 'ä', 'e', 'ę', 'i', 'o', 'ó', 'ö', 'u', 'ü', '
|
|
|
861
955
|
|
|
862
956
|
/***/ }),
|
|
863
957
|
|
|
864
|
-
/***/
|
|
958
|
+
/***/ 43898:
|
|
959
|
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
960
|
+
|
|
961
|
+
|
|
962
|
+
// EXPORTS
|
|
963
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
964
|
+
"q": () => (/* reexport */ LOCALE_FEATURES),
|
|
965
|
+
"Z": () => (/* reexport */ i18n_i18n)
|
|
966
|
+
});
|
|
967
|
+
|
|
968
|
+
// EXTERNAL MODULE: ../types/build/index.js
|
|
969
|
+
var build = __webpack_require__(34046);
|
|
970
|
+
;// CONCATENATED MODULE: ./src/i18n/de.json
|
|
971
|
+
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"}');
|
|
972
|
+
;// CONCATENATED MODULE: ./src/i18n/en.json
|
|
973
|
+
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 the dictionary.","dictionary.empty-state.not-allowed":"This word is not allowed.","dictionary.empty-state.uninitialized":"Dictionary definition of the most recently 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"}');
|
|
974
|
+
;// CONCATENATED MODULE: ./src/i18n/es.json
|
|
975
|
+
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"}');
|
|
976
|
+
;// CONCATENATED MODULE: ./src/i18n/fa.json
|
|
977
|
+
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
|
+
;// 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":"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"}');
|
|
980
|
+
;// CONCATENATED MODULE: ./src/i18n/pl.json
|
|
981
|
+
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
|
+
;// CONCATENATED MODULE: ./src/i18n/i18n.ts
|
|
983
|
+
|
|
984
|
+
|
|
985
|
+
|
|
986
|
+
|
|
987
|
+
|
|
988
|
+
|
|
989
|
+
|
|
990
|
+
const i18n = {
|
|
991
|
+
[build.Locale.DE_DE]: de_namespaceObject,
|
|
992
|
+
[build.Locale.EN_GB]: en_namespaceObject,
|
|
993
|
+
[build.Locale.EN_US]: en_namespaceObject,
|
|
994
|
+
[build.Locale.ES_ES]: es_namespaceObject,
|
|
995
|
+
[build.Locale.FA_IR]: fa_namespaceObject,
|
|
996
|
+
[build.Locale.FR_FR]: fr_namespaceObject,
|
|
997
|
+
[build.Locale.PL_PL]: pl_namespaceObject
|
|
998
|
+
};
|
|
999
|
+
/* harmony default export */ const i18n_i18n = (i18n);
|
|
1000
|
+
|
|
1001
|
+
;// CONCATENATED MODULE: ./src/i18n/constants.ts
|
|
1002
|
+
|
|
1003
|
+
const LOCALE_FEATURES = {
|
|
1004
|
+
[build.Locale.DE_DE]: {
|
|
1005
|
+
direction: "ltr",
|
|
1006
|
+
fontFamily: "Open Sans",
|
|
1007
|
+
consonants: true,
|
|
1008
|
+
vowels: true
|
|
1009
|
+
},
|
|
1010
|
+
[build.Locale.EN_GB]: {
|
|
1011
|
+
direction: "ltr",
|
|
1012
|
+
fontFamily: "Open Sans",
|
|
1013
|
+
consonants: true,
|
|
1014
|
+
vowels: true
|
|
1015
|
+
},
|
|
1016
|
+
[build.Locale.EN_US]: {
|
|
1017
|
+
direction: "ltr",
|
|
1018
|
+
fontFamily: "Open Sans",
|
|
1019
|
+
consonants: true,
|
|
1020
|
+
vowels: true
|
|
1021
|
+
},
|
|
1022
|
+
[build.Locale.ES_ES]: {
|
|
1023
|
+
direction: "ltr",
|
|
1024
|
+
fontFamily: "Open Sans",
|
|
1025
|
+
consonants: true,
|
|
1026
|
+
vowels: true
|
|
1027
|
+
},
|
|
1028
|
+
[build.Locale.FA_IR]: {
|
|
1029
|
+
direction: "rtl",
|
|
1030
|
+
fontFamily: "Vazirmatn",
|
|
1031
|
+
consonants: false,
|
|
1032
|
+
vowels: false
|
|
1033
|
+
},
|
|
1034
|
+
[build.Locale.FR_FR]: {
|
|
1035
|
+
direction: "ltr",
|
|
1036
|
+
fontFamily: "Open Sans",
|
|
1037
|
+
consonants: true,
|
|
1038
|
+
vowels: true
|
|
1039
|
+
},
|
|
1040
|
+
[build.Locale.PL_PL]: {
|
|
1041
|
+
direction: "ltr",
|
|
1042
|
+
fontFamily: "Open Sans",
|
|
1043
|
+
consonants: true,
|
|
1044
|
+
vowels: true
|
|
1045
|
+
}
|
|
1046
|
+
};
|
|
1047
|
+
|
|
1048
|
+
;// CONCATENATED MODULE: ./src/i18n/index.ts
|
|
1049
|
+
|
|
1050
|
+
|
|
1051
|
+
|
|
1052
|
+
|
|
1053
|
+
/***/ }),
|
|
1054
|
+
|
|
1055
|
+
/***/ 30459:
|
|
865
1056
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
866
1057
|
|
|
867
1058
|
|
|
@@ -891,7 +1082,7 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
891
1082
|
"gV": () => (/* reexport */ lib_zipCharactersAndTiles)
|
|
892
1083
|
});
|
|
893
1084
|
|
|
894
|
-
// UNUSED EXPORTS:
|
|
1085
|
+
// UNUSED EXPORTS: createComparator, createKeyComparator, createStringComparator, getRemainingTilesCount, getTotalRemainingTilesCount, isStringArray, numberComparator, reverseComparator
|
|
895
1086
|
|
|
896
1087
|
;// CONCATENATED MODULE: ./src/lib/canUseDom.ts
|
|
897
1088
|
const canUseDom = Boolean( false && 0);
|
|
@@ -968,6 +1159,9 @@ const detectLocale = ()=>{
|
|
|
968
1159
|
if (window.navigator.languages.includes("en-GB")) {
|
|
969
1160
|
return build.Locale.EN_GB;
|
|
970
1161
|
}
|
|
1162
|
+
if (window.navigator.languages.includes("fa") || window.navigator.languages.includes("fa-IR")) {
|
|
1163
|
+
return build.Locale.FA_IR;
|
|
1164
|
+
}
|
|
971
1165
|
if (window.navigator.languages.includes("fr-FR")) {
|
|
972
1166
|
return build.Locale.FR_FR;
|
|
973
1167
|
}
|
|
@@ -1030,23 +1224,24 @@ const getCellSize = (config, width, height)=>{
|
|
|
1030
1224
|
};
|
|
1031
1225
|
/* harmony default export */ const lib_getCellSize = (getCellSize);
|
|
1032
1226
|
|
|
1227
|
+
;// CONCATENATED MODULE: ./src/lib/createStringComparator.ts
|
|
1228
|
+
const createStringComparator = (locale)=>(a, b)=>a.localeCompare(b, locale);
|
|
1229
|
+
/* harmony default export */ const lib_createStringComparator = (createStringComparator);
|
|
1230
|
+
|
|
1033
1231
|
;// CONCATENATED MODULE: ./src/lib/numberComparator.ts
|
|
1034
1232
|
const numberComparator = (a, b)=>a - b;
|
|
1035
1233
|
/* harmony default export */ const lib_numberComparator = (numberComparator);
|
|
1036
1234
|
|
|
1037
|
-
;// CONCATENATED MODULE: ./src/lib/stringComparator.ts
|
|
1038
|
-
const stringComparator = (a, b)=>a.localeCompare(b);
|
|
1039
|
-
/* harmony default export */ const lib_stringComparator = (stringComparator);
|
|
1040
|
-
|
|
1041
1235
|
;// CONCATENATED MODULE: ./src/lib/createKeyComparator.ts
|
|
1042
1236
|
|
|
1043
1237
|
|
|
1044
|
-
const createKeyComparator = (key)=>{
|
|
1238
|
+
const createKeyComparator = (key, locale)=>{
|
|
1239
|
+
const stringComparator = lib_createStringComparator(locale);
|
|
1045
1240
|
return (a, b)=>{
|
|
1046
1241
|
const aValue = a[key];
|
|
1047
1242
|
const bValue = b[key];
|
|
1048
1243
|
if (typeof aValue === "string" && typeof bValue === "string") {
|
|
1049
|
-
return
|
|
1244
|
+
return stringComparator(aValue, bValue);
|
|
1050
1245
|
}
|
|
1051
1246
|
if (typeof aValue === "number" && typeof bValue === "number") {
|
|
1052
1247
|
return lib_numberComparator(aValue, bValue);
|
|
@@ -1059,7 +1254,7 @@ const createKeyComparator = (key)=>{
|
|
|
1059
1254
|
;// CONCATENATED MODULE: ./src/lib/getRemainingTiles.ts
|
|
1060
1255
|
|
|
1061
1256
|
|
|
1062
|
-
const getRemainingTiles = (config, board, characters)=>{
|
|
1257
|
+
const getRemainingTiles = (config, board, characters, locale)=>{
|
|
1063
1258
|
const nonEmptyCells = board.rows.flat().filter((cell)=>!cell.isEmpty);
|
|
1064
1259
|
const letterCells = nonEmptyCells.filter((cell)=>!cell.tile.isBlank);
|
|
1065
1260
|
const remainingTiles = Object.fromEntries(config.tiles.map((tile)=>[
|
|
@@ -1091,8 +1286,9 @@ const getRemainingTiles = (config, board, characters)=>{
|
|
|
1091
1286
|
for (const letter1 of letters){
|
|
1092
1287
|
++remainingTiles[letter1].usedCount;
|
|
1093
1288
|
}
|
|
1289
|
+
const comparator = lib_createKeyComparator("character", locale);
|
|
1094
1290
|
return [
|
|
1095
|
-
...Object.values(remainingTiles).sort(
|
|
1291
|
+
...Object.values(remainingTiles).sort(comparator),
|
|
1096
1292
|
blank
|
|
1097
1293
|
];
|
|
1098
1294
|
};
|
|
@@ -1115,38 +1311,52 @@ const getTotalRemainingTilesCount = (remainingTiles)=>{
|
|
|
1115
1311
|
|
|
1116
1312
|
|
|
1117
1313
|
const getRemainingTilesGroups = (remainingTiles)=>{
|
|
1118
|
-
const consonants = remainingTiles.filter(
|
|
1119
|
-
const vowels = remainingTiles.filter(
|
|
1120
|
-
const
|
|
1121
|
-
|
|
1122
|
-
|
|
1123
|
-
{
|
|
1314
|
+
const consonants = remainingTiles.filter(isConsonant);
|
|
1315
|
+
const vowels = remainingTiles.filter(isVowel);
|
|
1316
|
+
const groups = [];
|
|
1317
|
+
if (consonants.length + vowels.length > 0) {
|
|
1318
|
+
groups.push({
|
|
1124
1319
|
remainingCount: lib_getRemainingTilesCount(vowels),
|
|
1125
1320
|
tiles: vowels,
|
|
1126
1321
|
translationKey: "common.vowels",
|
|
1127
1322
|
totalCount: lib_getTotalRemainingTilesCount(vowels)
|
|
1128
|
-
}
|
|
1129
|
-
{
|
|
1323
|
+
});
|
|
1324
|
+
groups.push({
|
|
1130
1325
|
remainingCount: lib_getRemainingTilesCount(consonants),
|
|
1131
1326
|
tiles: consonants,
|
|
1132
1327
|
translationKey: "common.consonants",
|
|
1133
1328
|
totalCount: lib_getTotalRemainingTilesCount(consonants)
|
|
1134
|
-
}
|
|
1135
|
-
|
|
1136
|
-
|
|
1137
|
-
|
|
1138
|
-
|
|
1139
|
-
|
|
1140
|
-
|
|
1141
|
-
|
|
1142
|
-
|
|
1143
|
-
|
|
1144
|
-
|
|
1145
|
-
|
|
1146
|
-
|
|
1147
|
-
|
|
1329
|
+
});
|
|
1330
|
+
} else {
|
|
1331
|
+
const tiles = remainingTiles.filter(isLetter);
|
|
1332
|
+
groups.push({
|
|
1333
|
+
remainingCount: lib_getRemainingTilesCount(tiles),
|
|
1334
|
+
tiles,
|
|
1335
|
+
translationKey: "common.tiles",
|
|
1336
|
+
totalCount: lib_getTotalRemainingTilesCount(tiles)
|
|
1337
|
+
});
|
|
1338
|
+
}
|
|
1339
|
+
const twoCharacterTiles = remainingTiles.filter(isTwoCharacter);
|
|
1340
|
+
const blanks = remainingTiles.filter(isBlank);
|
|
1341
|
+
groups.push({
|
|
1342
|
+
remainingCount: lib_getRemainingTilesCount(twoCharacterTiles),
|
|
1343
|
+
tiles: twoCharacterTiles,
|
|
1344
|
+
translationKey: "common.two-letter-tiles",
|
|
1345
|
+
totalCount: lib_getTotalRemainingTilesCount(twoCharacterTiles)
|
|
1346
|
+
});
|
|
1347
|
+
groups.push({
|
|
1348
|
+
remainingCount: lib_getRemainingTilesCount(blanks),
|
|
1349
|
+
tiles: blanks,
|
|
1350
|
+
translationKey: "common.blanks",
|
|
1351
|
+
totalCount: lib_getTotalRemainingTilesCount(blanks)
|
|
1352
|
+
});
|
|
1148
1353
|
return groups.filter(({ totalCount })=>totalCount > 0);
|
|
1149
1354
|
};
|
|
1355
|
+
const isConsonant = (tile)=>constants_build.CONSONANTS.includes(tile.character);
|
|
1356
|
+
const isVowel = (tile)=>constants_build.VOWELS.includes(tile.character);
|
|
1357
|
+
const isLetter = (tile)=>!isBlank(tile) && !isTwoCharacter(tile);
|
|
1358
|
+
const isTwoCharacter = (tile)=>tile.character.length === 2;
|
|
1359
|
+
const isBlank = (tile)=>tile.character === constants_build.BLANK;
|
|
1150
1360
|
/* harmony default export */ const lib_getRemainingTilesGroups = (getRemainingTilesGroups);
|
|
1151
1361
|
|
|
1152
1362
|
;// CONCATENATED MODULE: ./src/lib/getTileSizes.ts
|
|
@@ -1249,19 +1459,20 @@ const reverseComparator = (comparator)=>{
|
|
|
1249
1459
|
|
|
1250
1460
|
|
|
1251
1461
|
const comparators = {
|
|
1252
|
-
[types/* ResultColumn.BlanksCount */.M.BlanksCount]: lib_createKeyComparator("blanksCount"),
|
|
1253
|
-
[types/* ResultColumn.ConsonantsCount */.M.ConsonantsCount]: lib_createKeyComparator("consonantsCount"),
|
|
1254
|
-
[types/* ResultColumn.Points */.M.Points]: lib_createKeyComparator("points"),
|
|
1255
|
-
[types/* ResultColumn.TilesCount */.M.TilesCount]: lib_createKeyComparator("tilesCount"),
|
|
1256
|
-
[types/* ResultColumn.VowelsCount */.M.VowelsCount]: lib_createKeyComparator("vowelsCount"),
|
|
1257
|
-
[types/* ResultColumn.Word */.M.Word]: lib_createKeyComparator("word"),
|
|
1258
|
-
[types/* ResultColumn.WordsCount */.M.WordsCount]: lib_createKeyComparator("wordsCount")
|
|
1259
|
-
};
|
|
1260
|
-
const sortResults = (results, column, sortDirection)=>{
|
|
1462
|
+
[types/* ResultColumn.BlanksCount */.M.BlanksCount]: (locale)=>lib_createKeyComparator("blanksCount", locale),
|
|
1463
|
+
[types/* ResultColumn.ConsonantsCount */.M.ConsonantsCount]: (locale)=>lib_createKeyComparator("consonantsCount", locale),
|
|
1464
|
+
[types/* ResultColumn.Points */.M.Points]: (locale)=>lib_createKeyComparator("points", locale),
|
|
1465
|
+
[types/* ResultColumn.TilesCount */.M.TilesCount]: (locale)=>lib_createKeyComparator("tilesCount", locale),
|
|
1466
|
+
[types/* ResultColumn.VowelsCount */.M.VowelsCount]: (locale)=>lib_createKeyComparator("vowelsCount", locale),
|
|
1467
|
+
[types/* ResultColumn.Word */.M.Word]: (locale)=>lib_createKeyComparator("word", locale),
|
|
1468
|
+
[types/* ResultColumn.WordsCount */.M.WordsCount]: (locale)=>lib_createKeyComparator("wordsCount", locale)
|
|
1469
|
+
};
|
|
1470
|
+
const sortResults = (results, column, sortDirection, locale)=>{
|
|
1261
1471
|
if (typeof results === "undefined") {
|
|
1262
1472
|
return results;
|
|
1263
1473
|
}
|
|
1264
|
-
const
|
|
1474
|
+
const createComparator = comparators[column];
|
|
1475
|
+
const comparator = createComparator(locale);
|
|
1265
1476
|
const finalComparator = sortDirection === types/* SortDirection.Descending */.S.Descending ? lib_reverseComparator(comparator) : comparator;
|
|
1266
1477
|
return [
|
|
1267
1478
|
...results
|
|
@@ -1269,32 +1480,36 @@ const sortResults = (results, column, sortDirection)=>{
|
|
|
1269
1480
|
};
|
|
1270
1481
|
/* harmony default export */ const lib_sortResults = (sortResults);
|
|
1271
1482
|
|
|
1272
|
-
;// CONCATENATED MODULE: ./src/lib/
|
|
1483
|
+
;// CONCATENATED MODULE: ./src/lib/createComparator.ts
|
|
1273
1484
|
|
|
1274
1485
|
|
|
1275
|
-
const
|
|
1276
|
-
|
|
1277
|
-
|
|
1278
|
-
|
|
1279
|
-
|
|
1280
|
-
|
|
1281
|
-
|
|
1282
|
-
|
|
1486
|
+
const createComparator = (locale)=>{
|
|
1487
|
+
const stringComparator = lib_createStringComparator(locale);
|
|
1488
|
+
return (a, b)=>{
|
|
1489
|
+
if (typeof a === "string" && typeof b === "string") {
|
|
1490
|
+
return stringComparator(a, b);
|
|
1491
|
+
}
|
|
1492
|
+
if (typeof a === "number" && typeof b === "number") {
|
|
1493
|
+
return lib_numberComparator(a, b);
|
|
1494
|
+
}
|
|
1495
|
+
return 0;
|
|
1496
|
+
};
|
|
1283
1497
|
};
|
|
1284
|
-
/* harmony default export */ const
|
|
1498
|
+
/* harmony default export */ const lib_createComparator = (createComparator);
|
|
1285
1499
|
|
|
1286
1500
|
;// CONCATENATED MODULE: ./src/lib/unorderedArraysEqual.ts
|
|
1287
1501
|
|
|
1288
|
-
const unorderedArraysEqual = (a, b)=>{
|
|
1502
|
+
const unorderedArraysEqual = (a, b, locale)=>{
|
|
1289
1503
|
if (a.length !== b.length) {
|
|
1290
1504
|
return false;
|
|
1291
1505
|
}
|
|
1506
|
+
const comparator = lib_createComparator(locale);
|
|
1292
1507
|
const aSorted = [
|
|
1293
1508
|
...a
|
|
1294
|
-
].sort(
|
|
1509
|
+
].sort(comparator);
|
|
1295
1510
|
const bSorted = [
|
|
1296
1511
|
...b
|
|
1297
|
-
].sort(
|
|
1512
|
+
].sort(comparator);
|
|
1298
1513
|
return aSorted.every((character, index)=>character === bSorted[index]);
|
|
1299
1514
|
};
|
|
1300
1515
|
/* harmony default export */ const lib_unorderedArraysEqual = (unorderedArraysEqual);
|
|
@@ -1536,7 +1751,7 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
|
|
|
1536
1751
|
/* harmony import */ var _actions__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(89969);
|
|
1537
1752
|
/* harmony import */ var _createAppStore__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(33282);
|
|
1538
1753
|
/* harmony import */ var _localStorage__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(83773);
|
|
1539
|
-
/* harmony import */ var _selectors__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(
|
|
1754
|
+
/* harmony import */ var _selectors__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(40897);
|
|
1540
1755
|
/* harmony import */ var _slices__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(99134);
|
|
1541
1756
|
/* harmony import */ var _useTranslate__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(41573);
|
|
1542
1757
|
/* harmony import */ var _useTypedSelector__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(53872);
|
|
@@ -1650,7 +1865,7 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
1650
1865
|
// EXTERNAL MODULE: external "redux-saga/effects"
|
|
1651
1866
|
var effects_ = __webpack_require__(56477);
|
|
1652
1867
|
// EXTERNAL MODULE: ./src/lib/index.ts + 29 modules
|
|
1653
|
-
var lib = __webpack_require__(
|
|
1868
|
+
var lib = __webpack_require__(30459);
|
|
1654
1869
|
// EXTERNAL MODULE: ../types/build/index.js
|
|
1655
1870
|
var build = __webpack_require__(34046);
|
|
1656
1871
|
;// CONCATENATED MODULE: ./src/sdk/fetch.ts
|
|
@@ -1748,8 +1963,8 @@ const visit = ()=>{
|
|
|
1748
1963
|
|
|
1749
1964
|
// EXTERNAL MODULE: ./src/state/actions.ts
|
|
1750
1965
|
var actions = __webpack_require__(89969);
|
|
1751
|
-
// EXTERNAL MODULE: ./src/state/selectors.ts
|
|
1752
|
-
var selectors = __webpack_require__(
|
|
1966
|
+
// EXTERNAL MODULE: ./src/state/selectors.ts
|
|
1967
|
+
var selectors = __webpack_require__(40897);
|
|
1753
1968
|
// EXTERNAL MODULE: ./src/state/slices/index.ts + 16 modules
|
|
1754
1969
|
var slices = __webpack_require__(99134);
|
|
1755
1970
|
;// CONCATENATED MODULE: ./src/state/sagas.ts
|
|
@@ -1914,80 +2129,48 @@ function* ensureProperTilesCount() {
|
|
|
1914
2129
|
|
|
1915
2130
|
/***/ }),
|
|
1916
2131
|
|
|
1917
|
-
/***/
|
|
2132
|
+
/***/ 40897:
|
|
1918
2133
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
1919
2134
|
|
|
1920
|
-
|
|
1921
|
-
|
|
1922
|
-
|
|
1923
|
-
|
|
1924
|
-
|
|
1925
|
-
|
|
1926
|
-
|
|
1927
|
-
|
|
1928
|
-
|
|
1929
|
-
|
|
1930
|
-
|
|
1931
|
-
|
|
1932
|
-
|
|
1933
|
-
|
|
1934
|
-
|
|
1935
|
-
|
|
1936
|
-
|
|
1937
|
-
|
|
1938
|
-
|
|
1939
|
-
|
|
1940
|
-
|
|
1941
|
-
|
|
1942
|
-
|
|
1943
|
-
|
|
1944
|
-
|
|
1945
|
-
|
|
1946
|
-
|
|
1947
|
-
|
|
1948
|
-
|
|
1949
|
-
|
|
1950
|
-
|
|
1951
|
-
|
|
1952
|
-
|
|
1953
|
-
|
|
1954
|
-
|
|
1955
|
-
|
|
1956
|
-
var
|
|
1957
|
-
|
|
1958
|
-
var
|
|
1959
|
-
// EXTERNAL MODULE: ../types/build/index.js
|
|
1960
|
-
var types_build = __webpack_require__(34046);
|
|
1961
|
-
;// CONCATENATED MODULE: ./src/i18n/de.json
|
|
1962
|
-
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"}');
|
|
1963
|
-
;// CONCATENATED MODULE: ./src/i18n/en.json
|
|
1964
|
-
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 the dictionary.","dictionary.empty-state.not-allowed":"This word is not allowed.","dictionary.empty-state.uninitialized":"Dictionary definition of the most recently 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"}');
|
|
1965
|
-
;// CONCATENATED MODULE: ./src/i18n/es.json
|
|
1966
|
-
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"}');
|
|
1967
|
-
;// CONCATENATED MODULE: ./src/i18n/fr.json
|
|
1968
|
-
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"}');
|
|
1969
|
-
;// CONCATENATED MODULE: ./src/i18n/pl.json
|
|
1970
|
-
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"}');
|
|
1971
|
-
;// CONCATENATED MODULE: ./src/i18n/index.ts
|
|
1972
|
-
|
|
1973
|
-
|
|
1974
|
-
|
|
1975
|
-
|
|
1976
|
-
|
|
1977
|
-
|
|
1978
|
-
const i18n = {
|
|
1979
|
-
[types_build.Locale.DE_DE]: de_namespaceObject,
|
|
1980
|
-
[types_build.Locale.EN_GB]: en_namespaceObject,
|
|
1981
|
-
[types_build.Locale.EN_US]: en_namespaceObject,
|
|
1982
|
-
[types_build.Locale.ES_ES]: es_namespaceObject,
|
|
1983
|
-
[types_build.Locale.FR_FR]: fr_namespaceObject,
|
|
1984
|
-
[types_build.Locale.PL_PL]: pl_namespaceObject
|
|
1985
|
-
};
|
|
1986
|
-
/* harmony default export */ const src_i18n = (i18n);
|
|
1987
|
-
|
|
1988
|
-
// EXTERNAL MODULE: ./src/lib/index.ts + 29 modules
|
|
1989
|
-
var lib = __webpack_require__(75558);
|
|
1990
|
-
;// CONCATENATED MODULE: ./src/state/selectors.ts
|
|
2135
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
2136
|
+
/* harmony export */ "$o": () => (/* binding */ selectConfig),
|
|
2137
|
+
/* harmony export */ "En": () => (/* binding */ selectHasOverusedTiles),
|
|
2138
|
+
/* harmony export */ "HM": () => (/* binding */ selectVerify),
|
|
2139
|
+
/* harmony export */ "Mj": () => (/* binding */ selectAreResultsOutdated),
|
|
2140
|
+
/* harmony export */ "O0": () => (/* binding */ selectCellBonus),
|
|
2141
|
+
/* harmony export */ "Or": () => (/* binding */ selectCharacterPoints),
|
|
2142
|
+
/* harmony export */ "QB": () => (/* binding */ selectRack),
|
|
2143
|
+
/* harmony export */ "QL": () => (/* binding */ selectResultsQuery),
|
|
2144
|
+
/* harmony export */ "R": () => (/* binding */ selectResultsSortColumn),
|
|
2145
|
+
/* harmony export */ "Rn": () => (/* binding */ selectSolveError),
|
|
2146
|
+
/* harmony export */ "Yj": () => (/* binding */ selectRemainingTilesGroups),
|
|
2147
|
+
/* harmony export */ "ZA": () => (/* binding */ selectRowsWithCandidate),
|
|
2148
|
+
/* harmony export */ "ZO": () => (/* binding */ selectBoard),
|
|
2149
|
+
/* harmony export */ "Zf": () => (/* binding */ selectTilePoints),
|
|
2150
|
+
/* harmony export */ "bs": () => (/* binding */ selectHasInvalidWords),
|
|
2151
|
+
/* harmony export */ "dN": () => (/* binding */ selectSortedFilteredResults),
|
|
2152
|
+
/* harmony export */ "f2": () => (/* binding */ selectSortedResults),
|
|
2153
|
+
/* harmony export */ "fN": () => (/* binding */ selectLocale),
|
|
2154
|
+
/* harmony export */ "id": () => (/* binding */ selectCellIsFiltered),
|
|
2155
|
+
/* harmony export */ "mK": () => (/* binding */ selectDictionaryError),
|
|
2156
|
+
/* harmony export */ "md": () => (/* binding */ selectConfigId),
|
|
2157
|
+
/* harmony export */ "nb": () => (/* binding */ selectTranslations),
|
|
2158
|
+
/* harmony export */ "sH": () => (/* binding */ selectResultsSortDirection),
|
|
2159
|
+
/* harmony export */ "uz": () => (/* binding */ selectAutoGroupTiles),
|
|
2160
|
+
/* harmony export */ "w1": () => (/* binding */ selectDictionary),
|
|
2161
|
+
/* harmony export */ "xU": () => (/* binding */ selectIsLoading),
|
|
2162
|
+
/* harmony export */ "yp": () => (/* binding */ selectCharacters),
|
|
2163
|
+
/* harmony export */ "z$": () => (/* binding */ selectResultCandidateTiles)
|
|
2164
|
+
/* harmony export */ });
|
|
2165
|
+
/* unused harmony exports selectCellFilter, selectResults, selectResultCandidate, selectResultCandidateCells, selectTranslation, selectLastSolvedParameters, selectHaveCharactersChanged, selectHasBoardChanged, selectRemainingTiles */
|
|
2166
|
+
/* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(75184);
|
|
2167
|
+
/* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__);
|
|
2168
|
+
/* harmony import */ var _scrabble_solver_configs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(89418);
|
|
2169
|
+
/* 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 _scrabble_solver_types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(34046);
|
|
2171
|
+
/* harmony import */ var _scrabble_solver_types__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_scrabble_solver_types__WEBPACK_IMPORTED_MODULE_2__);
|
|
2172
|
+
/* harmony import */ var i18n__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(43898);
|
|
2173
|
+
/* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(30459);
|
|
1991
2174
|
|
|
1992
2175
|
|
|
1993
2176
|
|
|
@@ -2006,49 +2189,50 @@ const selectSettingsRoot = (state)=>state.settings;
|
|
|
2006
2189
|
const selectSolveRoot = (state)=>state.solve;
|
|
2007
2190
|
const selectVerifyRoot = (state)=>state.verify;
|
|
2008
2191
|
const selectDictionary = selectDictionaryRoot;
|
|
2009
|
-
const selectDictionaryError = (0,
|
|
2192
|
+
const selectDictionaryError = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSelector)([
|
|
2010
2193
|
selectDictionaryRoot
|
|
2011
2194
|
], (dictionary)=>{
|
|
2012
|
-
return (0,
|
|
2195
|
+
return (0,_scrabble_solver_types__WEBPACK_IMPORTED_MODULE_2__.isError)(dictionary.error) ? dictionary.error : undefined;
|
|
2013
2196
|
});
|
|
2014
|
-
const selectAutoGroupTiles = (0,
|
|
2197
|
+
const selectAutoGroupTiles = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSelector)([
|
|
2015
2198
|
selectSettingsRoot
|
|
2016
2199
|
], (settings)=>settings.autoGroupTiles);
|
|
2017
|
-
const selectLocale = (0,
|
|
2200
|
+
const selectLocale = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSelector)([
|
|
2018
2201
|
selectSettingsRoot
|
|
2019
2202
|
], (settings)=>settings.locale);
|
|
2020
2203
|
const selectBoard = selectBoardRoot;
|
|
2021
|
-
const selectConfigId = (0,
|
|
2204
|
+
const selectConfigId = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSelector)([
|
|
2022
2205
|
selectSettingsRoot
|
|
2023
2206
|
], (settings)=>settings.configId);
|
|
2024
|
-
const selectConfig = (0,
|
|
2207
|
+
const selectConfig = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSelector)([
|
|
2025
2208
|
selectConfigId,
|
|
2026
2209
|
selectLocale
|
|
2027
|
-
],
|
|
2210
|
+
], _scrabble_solver_configs__WEBPACK_IMPORTED_MODULE_1__.getLocaleConfig);
|
|
2028
2211
|
const selectCellFilter = selectCellFilterRoot;
|
|
2029
|
-
const selectCellIsFiltered = (0,
|
|
2212
|
+
const selectCellIsFiltered = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSelector)([
|
|
2030
2213
|
selectCellFilter,
|
|
2031
2214
|
selectPoint
|
|
2032
2215
|
], (cellFilter, { x , y })=>{
|
|
2033
2216
|
return cellFilter.some((cell)=>cell.x === x && cell.y === y);
|
|
2034
2217
|
});
|
|
2035
|
-
const selectResults = (0,
|
|
2218
|
+
const selectResults = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSelector)([
|
|
2036
2219
|
selectResultsRoot
|
|
2037
2220
|
], (results)=>results.results);
|
|
2038
|
-
const selectResultsQuery = (0,
|
|
2221
|
+
const selectResultsQuery = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSelector)([
|
|
2039
2222
|
selectResultsRoot
|
|
2040
2223
|
], (results)=>results.query);
|
|
2041
|
-
const selectResultsSortColumn = (0,
|
|
2224
|
+
const selectResultsSortColumn = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSelector)([
|
|
2042
2225
|
selectResultsRoot
|
|
2043
2226
|
], (results)=>results.sort.column);
|
|
2044
|
-
const selectResultsSortDirection = (0,
|
|
2227
|
+
const selectResultsSortDirection = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSelector)([
|
|
2045
2228
|
selectResultsRoot
|
|
2046
2229
|
], (results)=>results.sort.direction);
|
|
2047
|
-
const selectSortedResults = (0,
|
|
2230
|
+
const selectSortedResults = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSelector)([
|
|
2048
2231
|
selectResults,
|
|
2049
2232
|
selectResultsSortColumn,
|
|
2050
|
-
selectResultsSortDirection
|
|
2051
|
-
|
|
2233
|
+
selectResultsSortDirection,
|
|
2234
|
+
selectLocale
|
|
2235
|
+
], lib__WEBPACK_IMPORTED_MODULE_4__/* .sortResults */ .uj);
|
|
2052
2236
|
const filterResultsByQuery = (results, query)=>{
|
|
2053
2237
|
if (query.trim().length === 0) {
|
|
2054
2238
|
return results;
|
|
@@ -2064,7 +2248,7 @@ const filterResultsByQuery = (results, query)=>{
|
|
|
2064
2248
|
return regExp.test(result.word);
|
|
2065
2249
|
});
|
|
2066
2250
|
};
|
|
2067
|
-
const selectSortedFilteredResults = (0,
|
|
2251
|
+
const selectSortedFilteredResults = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSelector)([
|
|
2068
2252
|
selectSortedResults,
|
|
2069
2253
|
selectResultsQuery,
|
|
2070
2254
|
selectCellFilter
|
|
@@ -2080,43 +2264,43 @@ const selectSortedFilteredResults = (0,toolkit_.createSelector)([
|
|
|
2080
2264
|
return cellFilter.every(({ x , y })=>result.cells.some((cell)=>cell.x === x && cell.y === y));
|
|
2081
2265
|
});
|
|
2082
2266
|
});
|
|
2083
|
-
const selectResultCandidate = (0,
|
|
2267
|
+
const selectResultCandidate = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSelector)([
|
|
2084
2268
|
selectResultsRoot
|
|
2085
2269
|
], (results)=>results.candidate);
|
|
2086
|
-
const selectResultCandidateCells = (0,
|
|
2270
|
+
const selectResultCandidateCells = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSelector)([
|
|
2087
2271
|
selectResultCandidate
|
|
2088
2272
|
], (resultCandidate)=>resultCandidate?.cells || []);
|
|
2089
|
-
const selectResultCandidateTiles = (0,
|
|
2273
|
+
const selectResultCandidateTiles = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSelector)([
|
|
2090
2274
|
selectResultCandidate
|
|
2091
2275
|
], (resultCandidate)=>resultCandidate?.tiles || []);
|
|
2092
|
-
const selectRowsWithCandidate = (0,
|
|
2276
|
+
const selectRowsWithCandidate = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSelector)([
|
|
2093
2277
|
selectBoardRoot,
|
|
2094
2278
|
selectResultCandidateCells
|
|
2095
2279
|
], (board, cells)=>{
|
|
2096
|
-
return board.rows.map((row, y)=>row.map((cell, x)=>(0,
|
|
2280
|
+
return board.rows.map((row, y)=>row.map((cell, x)=>(0,lib__WEBPACK_IMPORTED_MODULE_4__/* .findCell */ .Jp)(cells, x, y) || cell));
|
|
2097
2281
|
});
|
|
2098
|
-
const selectCellBonus = (0,
|
|
2282
|
+
const selectCellBonus = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSelector)([
|
|
2099
2283
|
selectConfig,
|
|
2100
2284
|
selectCell
|
|
2101
2285
|
], (config, cell)=>{
|
|
2102
2286
|
return config.getCellBonus(cell);
|
|
2103
2287
|
});
|
|
2104
|
-
const selectCharacterPoints = (0,
|
|
2288
|
+
const selectCharacterPoints = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSelector)([
|
|
2105
2289
|
selectConfig,
|
|
2106
2290
|
selectCharacter
|
|
2107
2291
|
], (config, character)=>{
|
|
2108
2292
|
return config.getCharacterPoints(character);
|
|
2109
2293
|
});
|
|
2110
|
-
const selectTilePoints = (0,
|
|
2294
|
+
const selectTilePoints = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSelector)([
|
|
2111
2295
|
selectConfig,
|
|
2112
2296
|
selectTile
|
|
2113
2297
|
], (config, tile)=>{
|
|
2114
2298
|
return config.getTilePoints(tile);
|
|
2115
2299
|
});
|
|
2116
|
-
const selectTranslations = (0,
|
|
2300
|
+
const selectTranslations = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSelector)([
|
|
2117
2301
|
selectLocale
|
|
2118
|
-
], (locale)=>
|
|
2119
|
-
const selectTranslation = (0,
|
|
2302
|
+
], (locale)=>i18n__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z[locale]);
|
|
2303
|
+
const selectTranslation = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSelector)([
|
|
2120
2304
|
selectTranslations,
|
|
2121
2305
|
selectLocale,
|
|
2122
2306
|
(_, id)=>id
|
|
@@ -2128,47 +2312,49 @@ const selectTranslation = (0,toolkit_.createSelector)([
|
|
|
2128
2312
|
return translation;
|
|
2129
2313
|
});
|
|
2130
2314
|
const selectRack = selectRackRoot;
|
|
2131
|
-
const selectCharacters = (0,
|
|
2132
|
-
const selectLastSolvedParameters = (0,
|
|
2315
|
+
const selectCharacters = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSelector)(selectRackRoot, (rack)=>rack.filter((tile)=>tile !== null));
|
|
2316
|
+
const selectLastSolvedParameters = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSelector)([
|
|
2133
2317
|
selectSolveRoot
|
|
2134
2318
|
], (solve)=>solve.lastSolvedParameters);
|
|
2135
|
-
const selectIsLoading = (0,
|
|
2319
|
+
const selectIsLoading = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSelector)([
|
|
2136
2320
|
selectSolveRoot
|
|
2137
2321
|
], (solve)=>solve.isLoading);
|
|
2138
|
-
const selectSolveError = (0,
|
|
2322
|
+
const selectSolveError = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSelector)([
|
|
2139
2323
|
selectSolveRoot
|
|
2140
2324
|
], (solve)=>{
|
|
2141
|
-
return (0,
|
|
2325
|
+
return (0,_scrabble_solver_types__WEBPACK_IMPORTED_MODULE_2__.isError)(solve.error) ? solve.error : undefined;
|
|
2142
2326
|
});
|
|
2143
|
-
const selectHaveCharactersChanged = (0,
|
|
2327
|
+
const selectHaveCharactersChanged = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSelector)([
|
|
2144
2328
|
selectLastSolvedParameters,
|
|
2145
|
-
selectCharacters
|
|
2146
|
-
|
|
2147
|
-
|
|
2329
|
+
selectCharacters,
|
|
2330
|
+
selectLocale
|
|
2331
|
+
], (lastSolvedParameters, characters, locale)=>{
|
|
2332
|
+
return !(0,lib__WEBPACK_IMPORTED_MODULE_4__/* .unorderedArraysEqual */ .DR)(lastSolvedParameters.characters, characters, locale);
|
|
2148
2333
|
});
|
|
2149
|
-
const selectHasBoardChanged = (0,
|
|
2334
|
+
const selectHasBoardChanged = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSelector)([
|
|
2150
2335
|
selectLastSolvedParameters,
|
|
2151
2336
|
selectBoardRoot
|
|
2152
2337
|
], (lastSolvedParameters, board)=>!lastSolvedParameters.board.equals(board));
|
|
2153
|
-
const selectAreResultsOutdated = (0,
|
|
2338
|
+
const selectAreResultsOutdated = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSelector)([
|
|
2154
2339
|
selectHasBoardChanged,
|
|
2155
2340
|
selectHaveCharactersChanged
|
|
2156
2341
|
], (hasBoardChanged, haveCharactersChanged)=>hasBoardChanged || haveCharactersChanged);
|
|
2157
|
-
const selectRemainingTiles = (0,
|
|
2342
|
+
const selectRemainingTiles = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSelector)([
|
|
2158
2343
|
selectConfig,
|
|
2159
2344
|
selectBoardRoot,
|
|
2160
|
-
selectCharacters
|
|
2161
|
-
|
|
2162
|
-
|
|
2345
|
+
selectCharacters,
|
|
2346
|
+
selectLocale
|
|
2347
|
+
], lib__WEBPACK_IMPORTED_MODULE_4__/* .getRemainingTiles */ .ZM);
|
|
2348
|
+
const selectHasOverusedTiles = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSelector)([
|
|
2163
2349
|
selectRemainingTiles
|
|
2164
2350
|
], (remainingTiles)=>{
|
|
2165
2351
|
return remainingTiles.some(({ count , usedCount })=>usedCount > count);
|
|
2166
2352
|
});
|
|
2167
|
-
const selectRemainingTilesGroups = (0,
|
|
2353
|
+
const selectRemainingTilesGroups = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSelector)([
|
|
2168
2354
|
selectRemainingTiles
|
|
2169
|
-
],
|
|
2355
|
+
], lib__WEBPACK_IMPORTED_MODULE_4__/* .getRemainingTilesGroups */ .op);
|
|
2170
2356
|
const selectVerify = selectVerifyRoot;
|
|
2171
|
-
const selectHasInvalidWords = (0,
|
|
2357
|
+
const selectHasInvalidWords = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSelector)([
|
|
2172
2358
|
selectVerify
|
|
2173
2359
|
], ({ invalidWords })=>{
|
|
2174
2360
|
return invalidWords.length > 0;
|
|
@@ -2387,7 +2573,7 @@ const dictionarySlice = (0,toolkit_.createSlice)({
|
|
|
2387
2573
|
/* harmony default export */ const slices_dictionarySlice = (dictionarySlice);
|
|
2388
2574
|
|
|
2389
2575
|
// EXTERNAL MODULE: ./src/lib/index.ts + 29 modules
|
|
2390
|
-
var lib = __webpack_require__(
|
|
2576
|
+
var lib = __webpack_require__(30459);
|
|
2391
2577
|
;// CONCATENATED MODULE: ./src/state/slices/rackInitialState.ts
|
|
2392
2578
|
const rackInitialState = [
|
|
2393
2579
|
null,
|
|
@@ -2683,7 +2869,7 @@ const verifySlice = (0,toolkit_.createSlice)({
|
|
|
2683
2869
|
/* harmony export */ });
|
|
2684
2870
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
|
|
2685
2871
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
2686
|
-
/* harmony import */ var _selectors__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
|
|
2872
|
+
/* harmony import */ var _selectors__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(40897);
|
|
2687
2873
|
/* harmony import */ var _useTypedSelector__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(53872);
|
|
2688
2874
|
|
|
2689
2875
|
|
|
@@ -3239,6 +3425,7 @@ var Locale;
|
|
|
3239
3425
|
Locale["EN_GB"] = "en-GB";
|
|
3240
3426
|
Locale["EN_US"] = "en-US";
|
|
3241
3427
|
Locale["ES_ES"] = "es-ES";
|
|
3428
|
+
Locale["FA_IR"] = "fa-IR";
|
|
3242
3429
|
Locale["FR_FR"] = "fr-FR";
|
|
3243
3430
|
Locale["PL_PL"] = "pl-PL";
|
|
3244
3431
|
})(Locale || (Locale = {}));
|
|
@@ -3328,7 +3515,6 @@ class Result {
|
|
|
3328
3515
|
this.points = points;
|
|
3329
3516
|
this.pointsRatio = getPointsRatio(tiles, points);
|
|
3330
3517
|
this.tiles = tiles;
|
|
3331
|
-
this.tilesCharacters = getTilesCharacters(tiles);
|
|
3332
3518
|
this.tilesCount = tiles.length;
|
|
3333
3519
|
this.vowelsCount = getVowels(tiles).length;
|
|
3334
3520
|
this.word = getWord(cells);
|
|
@@ -3352,15 +3538,11 @@ class Result {
|
|
|
3352
3538
|
};
|
|
3353
3539
|
}
|
|
3354
3540
|
}
|
|
3355
|
-
const charactersComparator = (a, b) => a.localeCompare(b);
|
|
3356
3541
|
const getBlanks = (tiles) => tiles.filter(({ isBlank }) => isBlank);
|
|
3357
3542
|
const getConsonants = (tiles) => tiles.filter(isConsonant);
|
|
3358
3543
|
const getVowels = (tiles) => tiles.filter(isVowel);
|
|
3359
|
-
const getNonBlankCharacters = (tiles) => getNonBlanks(tiles).map(({ character }) => character);
|
|
3360
|
-
const getNonBlanks = (tiles) => tiles.filter(({ isBlank }) => !isBlank);
|
|
3361
3544
|
const getPointsRatio = (tiles, points) => points / tiles.length;
|
|
3362
3545
|
const getTiles = (cells) => cells.filter(({ isEmpty }) => isEmpty).map(({ tile }) => tile);
|
|
3363
|
-
const getTilesCharacters = (tiles) => getNonBlankCharacters(tiles).sort(charactersComparator).join('');
|
|
3364
3546
|
// eslint-disable-next-line prefer-template
|
|
3365
3547
|
const getWord = (cells) => cells.reduce((word, cell) => word + cell.toString(), '');
|
|
3366
3548
|
const getWords = (cells, collisions) => [cells, ...collisions].map(getWord);
|