@scrabble-solver/scrabble-solver 2.10.1 → 2.10.3

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.
Files changed (112) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +26 -26
  3. package/.next/cache/.tsbuildinfo +1 -1
  4. package/.next/cache/eslint/.cache_8dgz12 +1 -1
  5. package/.next/cache/next-server.js.nft.json +1 -1
  6. package/.next/cache/webpack/client-development/7.pack_ +0 -0
  7. package/.next/cache/webpack/client-production/0.pack +0 -0
  8. package/.next/cache/webpack/client-production/index.pack +0 -0
  9. package/.next/cache/webpack/edge-server-production/0.pack +0 -0
  10. package/.next/cache/webpack/edge-server-production/index.pack +0 -0
  11. package/.next/cache/webpack/server-production/0.pack +0 -0
  12. package/.next/cache/webpack/server-production/index.pack +0 -0
  13. package/.next/images-manifest.json +1 -1
  14. package/.next/next-server.js.nft.json +1 -1
  15. package/.next/prerender-manifest.json +1 -1
  16. package/.next/required-server-files.json +1 -1
  17. package/.next/routes-manifest.json +1 -1
  18. package/.next/server/chunks/131.js +1399 -117
  19. package/.next/server/chunks/{515.js → 176.js} +771 -679
  20. package/.next/server/chunks/210.js +122 -0
  21. package/.next/server/chunks/{939.js → 290.js} +3 -3
  22. package/.next/server/chunks/44.js +33 -33
  23. package/.next/server/chunks/50.js +5 -9
  24. package/.next/server/chunks/{413.js → 579.js} +136 -87
  25. package/.next/server/chunks/664.js +537 -350
  26. package/.next/server/chunks/859.js +56 -23
  27. package/.next/server/chunks/865.js +1 -1
  28. package/.next/server/middleware-build-manifest.js +1 -1
  29. package/.next/server/pages/404.html +2 -2
  30. package/.next/server/pages/404.js.nft.json +1 -1
  31. package/.next/server/pages/500.html +2 -2
  32. package/.next/server/pages/_app.js +23 -5
  33. package/.next/server/pages/_app.js.nft.json +1 -1
  34. package/.next/server/pages/_document.js +2 -2
  35. package/.next/server/pages/_error.js +206 -25
  36. package/.next/server/pages/_error.js.nft.json +1 -1
  37. package/.next/server/pages/api/dictionary/[locale]/[word].js +12 -11
  38. package/.next/server/pages/api/dictionary/[locale]/[word].js.nft.json +1 -1
  39. package/.next/server/pages/api/dictionary/[locale].js +10 -10
  40. package/.next/server/pages/api/dictionary/[locale].js.nft.json +1 -1
  41. package/.next/server/pages/api/solve.js +14 -13
  42. package/.next/server/pages/api/solve.js.nft.json +1 -1
  43. package/.next/server/pages/api/verify.js +10 -10
  44. package/.next/server/pages/api/verify.js.nft.json +1 -1
  45. package/.next/server/pages/api/visit.js +3 -3
  46. package/.next/server/pages/api/visit.js.nft.json +1 -1
  47. package/.next/server/pages/index.html +2 -2
  48. package/.next/server/pages/index.js +44 -128
  49. package/.next/server/pages/index.js.nft.json +1 -1
  50. package/.next/server/pages/index.json +1 -1
  51. package/.next/server/pages-manifest.json +4 -4
  52. package/.next/static/FJkPF91uL-OCAJKTTpVSP/_buildManifest.js +1 -0
  53. package/.next/static/{hf94cues-LcXZRCpAzQ6w → FJkPF91uL-OCAJKTTpVSP}/_ssgManifest.js +0 -0
  54. package/.next/static/chunks/361-d16f336a9752a55a.js +1 -0
  55. package/.next/static/chunks/724-eb48df4d1ba3df8b.js +5 -0
  56. package/.next/static/chunks/framework-2c79e2a64abdb08b.js +33 -0
  57. package/.next/static/chunks/main-f11614d8aa7ee555.js +1 -0
  58. package/.next/static/chunks/pages/404-24f9617eeb8d6dc1.js +1 -0
  59. package/.next/static/chunks/pages/_app-959e495f0f221247.js +24 -0
  60. package/.next/static/chunks/pages/_error-8353112a01355ec2.js +1 -0
  61. package/.next/static/chunks/pages/index-1e30dafa41bddb80.js +1 -0
  62. package/.next/static/chunks/webpack-59c5c889f52620d6.js +1 -0
  63. package/.next/static/css/aafd07997120f1e4.css +1 -0
  64. package/.next/static/css/cb5b206454513f3c.css +1 -0
  65. package/.next/static/css/eb9d57f7103525ab.css +1 -0
  66. package/.next/trace +52 -52
  67. package/package.json +21 -21
  68. package/public/og.png +0 -0
  69. package/src/components/Board/Board.module.scss +1 -2
  70. package/src/components/Board/BoardPure.tsx +2 -0
  71. package/src/components/Board/components/Cell/Cell.module.scss +77 -54
  72. package/src/components/Board/components/Cell/Cell.tsx +9 -0
  73. package/src/components/Board/components/Cell/CellPure.tsx +11 -2
  74. package/src/components/NavButtons/NavButtons.tsx +11 -1
  75. package/src/components/Rack/RackTile.tsx +10 -1
  76. package/src/components/RemainingTiles/Character.module.scss +0 -1
  77. package/src/components/RemainingTiles/Character.tsx +1 -0
  78. package/src/components/Solver/Solver.module.scss +85 -0
  79. package/src/components/Solver/Solver.tsx +75 -0
  80. package/src/components/Solver/index.ts +1 -0
  81. package/src/components/Tile/Tile.module.scss +51 -7
  82. package/src/components/Tile/Tile.tsx +3 -0
  83. package/src/components/Tile/TilePure.tsx +8 -1
  84. package/src/components/index.ts +1 -0
  85. package/src/hooks/index.ts +1 -0
  86. package/src/hooks/useIsTouchDevice.ts +7 -0
  87. package/src/icons/ExclamationSquareFill.svg +4 -0
  88. package/src/icons/index.ts +1 -0
  89. package/src/pages/api/dictionary/[locale]/[word].ts +2 -1
  90. package/src/pages/index.module.scss +1 -75
  91. package/src/pages/index.tsx +11 -73
  92. package/src/parameters/index.ts +2 -0
  93. package/src/service-worker/average.ts +9 -0
  94. package/src/service-worker/routeSolveRequests.ts +46 -7
  95. package/src/state/selectors.ts +20 -0
  96. package/src/state/slices/boardInitialState.ts +27 -0
  97. package/src/styles/mixins.scss +6 -1
  98. package/src/styles/variables.scss +6 -3
  99. package/.next/InjectManifest.js.nft.json +0 -1
  100. package/.next/static/chunks/368-8b386c3106556f62.js +0 -1
  101. package/.next/static/chunks/546-447e243fc9de2c59.js +0 -1
  102. package/.next/static/chunks/framework-4556c45dd113b893.js +0 -1
  103. package/.next/static/chunks/main-a75cf611e061d8f8.js +0 -1
  104. package/.next/static/chunks/pages/404-932294135c3206dd.js +0 -1
  105. package/.next/static/chunks/pages/_app-8f0df20f771045ed.js +0 -1
  106. package/.next/static/chunks/pages/_error-a4ba2246ff8fb532.js +0 -1
  107. package/.next/static/chunks/pages/index-8af7a9d7a2cd98a7.js +0 -1
  108. package/.next/static/chunks/webpack-5752944655d749a0.js +0 -1
  109. package/.next/static/css/6b1833fd19d3a74a.css +0 -1
  110. package/.next/static/css/a6154e4ca046ca13.css +0 -1
  111. package/.next/static/css/bad53af6f8616677.css +0 -1
  112. package/.next/static/hf94cues-LcXZRCpAzQ6w/_buildManifest.js +0 -1
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
- exports.id = 413;
3
- exports.ids = [413];
2
+ exports.id = 579;
3
+ exports.ids = [579];
4
4
  exports.modules = {
5
5
 
6
6
  /***/ 57079:
@@ -956,7 +956,7 @@ exports.VOWELS = ['a', 'ą', 'ä', 'e', 'ę', 'i', 'o', 'ó', 'ö', 'u', 'ü', '
956
956
 
957
957
  /***/ }),
958
958
 
959
- /***/ 43898:
959
+ /***/ 77586:
960
960
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
961
961
 
962
962
 
@@ -1053,7 +1053,7 @@ const LOCALE_FEATURES = {
1053
1053
 
1054
1054
  /***/ }),
1055
1055
 
1056
- /***/ 30459:
1056
+ /***/ 95784:
1057
1057
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1058
1058
 
1059
1059
 
@@ -1214,7 +1214,7 @@ const findCell = (cells, x, y)=>{
1214
1214
  /* harmony default export */ const lib_findCell = (findCell);
1215
1215
 
1216
1216
  // EXTERNAL MODULE: ./src/parameters/index.ts
1217
- var parameters = __webpack_require__(90485);
1217
+ var parameters = __webpack_require__(74200);
1218
1218
  ;// CONCATENATED MODULE: ./src/lib/getCellSize.ts
1219
1219
 
1220
1220
  const getCellSize = (config, width, height)=>{
@@ -1273,7 +1273,7 @@ const getRemainingTiles = (config, board, characters, locale)=>{
1273
1273
  };
1274
1274
  const letters = [
1275
1275
  ...letterCells.map((cell)=>cell.tile.character),
1276
- ...characters.filter((letter)=>letter !== constants_build.BLANK),
1276
+ ...characters.filter((letter)=>letter !== constants_build.BLANK)
1277
1277
  ];
1278
1278
  const unknownLetters = letters.filter((letter)=>typeof remainingTiles[letter] === "undefined");
1279
1279
  for (const letter of unknownLetters){
@@ -1284,8 +1284,8 @@ const getRemainingTiles = (config, board, characters, locale)=>{
1284
1284
  usedCount: 0
1285
1285
  };
1286
1286
  }
1287
- for (const letter1 of letters){
1288
- ++remainingTiles[letter1].usedCount;
1287
+ for (const letter of letters){
1288
+ ++remainingTiles[letter].usedCount;
1289
1289
  }
1290
1290
  const comparator = lib_createKeyComparator("character", locale);
1291
1291
  return [
@@ -1445,7 +1445,7 @@ const parametersEqual = (a, b)=>{
1445
1445
  /* harmony default export */ const lib_memoize = (memoize);
1446
1446
 
1447
1447
  // EXTERNAL MODULE: ./src/types/index.ts
1448
- var types = __webpack_require__(3620);
1448
+ var types = __webpack_require__(9033);
1449
1449
  ;// CONCATENATED MODULE: ./src/lib/reverseComparator.ts
1450
1450
  const reverseComparator = (comparator)=>{
1451
1451
  return (a, b)=>-comparator(a, b);
@@ -1574,7 +1574,7 @@ const zipCharactersAndTiles = (characters, tiles)=>{
1574
1574
 
1575
1575
  /***/ }),
1576
1576
 
1577
- /***/ 90485:
1577
+ /***/ 74200:
1578
1578
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1579
1579
 
1580
1580
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
@@ -1603,11 +1603,13 @@ const zipCharactersAndTiles = (characters, tiles)=>{
1603
1603
  /* harmony export */ "rx": () => (/* binding */ RESULTS_ITEM_HEIGHT),
1604
1604
  /* harmony export */ "tr": () => (/* binding */ COMPONENTS_SPACING),
1605
1605
  /* harmony export */ "uX": () => (/* binding */ PLAIN_TILES_PADDING_VERTICAL),
1606
+ /* harmony export */ "uk": () => (/* binding */ INITIALIZATION_DURATION),
1606
1607
  /* harmony export */ "yg": () => (/* binding */ COLOR_RED),
1607
1608
  /* harmony export */ "yr": () => (/* binding */ COLOR_YELLOW)
1608
1609
  /* harmony export */ });
1609
1610
  /* unused harmony exports TRANSITION_DURATION, PLAIN_TILES_VERSION_TILE_COLOR, PLAIN_TILES_VERSION_TILE_SIZE */
1610
1611
  const GITHUB_PROJECT_URL = "https://github.com/kamilmielnik/scrabble-solver";
1612
+ const INITIALIZATION_DURATION = 100;
1611
1613
  const TRANSITION_DURATION = 100;
1612
1614
  const TRANSITION_DURATION_LONG = 250;
1613
1615
  const COLOR_BLUE = "#c7d8f9";
@@ -1652,7 +1654,7 @@ const RESULTS_INPUT_HEIGHT = 43;
1652
1654
 
1653
1655
  /***/ }),
1654
1656
 
1655
- /***/ 89969:
1657
+ /***/ 64594:
1656
1658
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1657
1659
 
1658
1660
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
@@ -1668,7 +1670,7 @@ const reset = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAction)("re
1668
1670
 
1669
1671
  /***/ }),
1670
1672
 
1671
- /***/ 33282:
1673
+ /***/ 37686:
1672
1674
  /***/ ((module, __webpack_exports__, __webpack_require__) => {
1673
1675
 
1674
1676
  __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
@@ -1678,8 +1680,8 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
1678
1680
  /* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(86695);
1679
1681
  /* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(redux__WEBPACK_IMPORTED_MODULE_0__);
1680
1682
  /* harmony import */ var redux_saga__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(75998);
1681
- /* harmony import */ var _rootReducer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(12935);
1682
- /* harmony import */ var _sagas__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(91972);
1683
+ /* harmony import */ var _rootReducer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5428);
1684
+ /* harmony import */ var _sagas__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(55883);
1683
1685
  var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([redux_saga__WEBPACK_IMPORTED_MODULE_1__]);
1684
1686
  redux_saga__WEBPACK_IMPORTED_MODULE_1__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
1685
1687
 
@@ -1701,12 +1703,13 @@ __webpack_async_result__();
1701
1703
 
1702
1704
  /***/ }),
1703
1705
 
1704
- /***/ 51413:
1706
+ /***/ 64579:
1705
1707
  /***/ ((module, __webpack_exports__, __webpack_require__) => {
1706
1708
 
1707
1709
  __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
1708
1710
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1709
1711
  /* harmony export */ "$o": () => (/* reexport safe */ _selectors__WEBPACK_IMPORTED_MODULE_3__.$o),
1712
+ /* harmony export */ "AN": () => (/* reexport safe */ _selectors__WEBPACK_IMPORTED_MODULE_3__.AN),
1710
1713
  /* harmony export */ "En": () => (/* reexport safe */ _selectors__WEBPACK_IMPORTED_MODULE_3__.En),
1711
1714
  /* harmony export */ "HM": () => (/* reexport safe */ _selectors__WEBPACK_IMPORTED_MODULE_3__.HM),
1712
1715
  /* harmony export */ "I8": () => (/* reexport safe */ _slices__WEBPACK_IMPORTED_MODULE_4__.I8),
@@ -1729,6 +1732,7 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
1729
1732
  /* harmony export */ "dN": () => (/* reexport safe */ _selectors__WEBPACK_IMPORTED_MODULE_3__.dN),
1730
1733
  /* harmony export */ "f2": () => (/* reexport safe */ _selectors__WEBPACK_IMPORTED_MODULE_3__.f2),
1731
1734
  /* harmony export */ "fN": () => (/* reexport safe */ _selectors__WEBPACK_IMPORTED_MODULE_3__.fN),
1735
+ /* harmony export */ "fZ": () => (/* reexport safe */ _selectors__WEBPACK_IMPORTED_MODULE_3__.fZ),
1732
1736
  /* harmony export */ "id": () => (/* reexport safe */ _selectors__WEBPACK_IMPORTED_MODULE_3__.id),
1733
1737
  /* harmony export */ "ix": () => (/* reexport safe */ _useTypedSelector__WEBPACK_IMPORTED_MODULE_6__.Z),
1734
1738
  /* harmony export */ "j2": () => (/* reexport safe */ _actions__WEBPACK_IMPORTED_MODULE_0__.j),
@@ -1746,13 +1750,13 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
1746
1750
  /* harmony export */ "xj": () => (/* reexport safe */ _slices__WEBPACK_IMPORTED_MODULE_4__.xj),
1747
1751
  /* harmony export */ "z$": () => (/* reexport safe */ _selectors__WEBPACK_IMPORTED_MODULE_3__.z$)
1748
1752
  /* harmony export */ });
1749
- /* harmony import */ var _actions__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(89969);
1750
- /* harmony import */ var _createAppStore__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(33282);
1751
- /* harmony import */ var _localStorage__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(83773);
1752
- /* harmony import */ var _selectors__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(40897);
1753
- /* harmony import */ var _slices__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(99134);
1754
- /* harmony import */ var _useTranslate__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(41573);
1755
- /* harmony import */ var _useTypedSelector__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(53872);
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);
1756
1760
  var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_createAppStore__WEBPACK_IMPORTED_MODULE_1__]);
1757
1761
  _createAppStore__WEBPACK_IMPORTED_MODULE_1__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
1758
1762
 
@@ -1768,7 +1772,7 @@ __webpack_async_result__();
1768
1772
 
1769
1773
  /***/ }),
1770
1774
 
1771
- /***/ 83773:
1775
+ /***/ 65723:
1772
1776
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1773
1777
 
1774
1778
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
@@ -1825,7 +1829,7 @@ const localStorage = {
1825
1829
 
1826
1830
  /***/ }),
1827
1831
 
1828
- /***/ 12935:
1832
+ /***/ 5428:
1829
1833
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1830
1834
 
1831
1835
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
@@ -1833,7 +1837,7 @@ const localStorage = {
1833
1837
  /* harmony export */ });
1834
1838
  /* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(86695);
1835
1839
  /* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(redux__WEBPACK_IMPORTED_MODULE_0__);
1836
- /* harmony import */ var _slices__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(99134);
1840
+ /* harmony import */ var _slices__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(58995);
1837
1841
 
1838
1842
 
1839
1843
  const rootReducer = (0,redux__WEBPACK_IMPORTED_MODULE_0__.combineReducers)({
@@ -1851,7 +1855,7 @@ const rootReducer = (0,redux__WEBPACK_IMPORTED_MODULE_0__.combineReducers)({
1851
1855
 
1852
1856
  /***/ }),
1853
1857
 
1854
- /***/ 91972:
1858
+ /***/ 55883:
1855
1859
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1856
1860
 
1857
1861
 
@@ -1863,7 +1867,7 @@ __webpack_require__.d(__webpack_exports__, {
1863
1867
  // EXTERNAL MODULE: external "redux-saga/effects"
1864
1868
  var effects_ = __webpack_require__(56477);
1865
1869
  // EXTERNAL MODULE: ./src/lib/index.ts + 29 modules
1866
- var lib = __webpack_require__(30459);
1870
+ var lib = __webpack_require__(95784);
1867
1871
  // EXTERNAL MODULE: ../types/build/index.js
1868
1872
  var build = __webpack_require__(34046);
1869
1873
  ;// CONCATENATED MODULE: ./src/sdk/fetch.ts
@@ -1960,11 +1964,11 @@ const visit = ()=>{
1960
1964
 
1961
1965
 
1962
1966
  // EXTERNAL MODULE: ./src/state/actions.ts
1963
- var actions = __webpack_require__(89969);
1967
+ var actions = __webpack_require__(64594);
1964
1968
  // EXTERNAL MODULE: ./src/state/selectors.ts
1965
- var selectors = __webpack_require__(40897);
1969
+ var selectors = __webpack_require__(30391);
1966
1970
  // EXTERNAL MODULE: ./src/state/slices/index.ts + 16 modules
1967
- var slices = __webpack_require__(99134);
1971
+ var slices = __webpack_require__(58995);
1968
1972
  ;// CONCATENATED MODULE: ./src/state/sagas.ts
1969
1973
 
1970
1974
 
@@ -2124,11 +2128,11 @@ function* ensureProperTilesCount() {
2124
2128
  ]));
2125
2129
  } else if (config.maximumCharactersCount < characters.length) {
2126
2130
  const nonNulls = characters.filter(Boolean).slice(0, config.maximumCharactersCount);
2127
- const differenceCount1 = Math.abs(config.maximumCharactersCount - nonNulls.length);
2131
+ const differenceCount = Math.abs(config.maximumCharactersCount - nonNulls.length);
2128
2132
  const autoGroupTiles = yield (0,effects_.select)(selectors/* selectLocaleAutoGroupTiles */.lP);
2129
2133
  yield (0,effects_.put)(slices/* rackSlice.actions.init */.O_.actions.init([
2130
2134
  ...nonNulls,
2131
- ...Array(differenceCount1).fill(null)
2135
+ ...Array(differenceCount).fill(null)
2132
2136
  ]));
2133
2137
  yield (0,effects_.put)(slices/* rackSlice.actions.groupTiles */.O_.actions.groupTiles(autoGroupTiles));
2134
2138
  }
@@ -2137,11 +2141,12 @@ function* ensureProperTilesCount() {
2137
2141
 
2138
2142
  /***/ }),
2139
2143
 
2140
- /***/ 40897:
2144
+ /***/ 30391:
2141
2145
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2142
2146
 
2143
2147
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2144
2148
  /* harmony export */ "$o": () => (/* binding */ selectConfig),
2149
+ /* harmony export */ "AN": () => (/* binding */ selectCharacterIsValid),
2145
2150
  /* harmony export */ "En": () => (/* binding */ selectHasOverusedTiles),
2146
2151
  /* harmony export */ "HM": () => (/* binding */ selectVerify),
2147
2152
  /* harmony export */ "Mj": () => (/* binding */ selectAreResultsOutdated),
@@ -2159,6 +2164,7 @@ function* ensureProperTilesCount() {
2159
2164
  /* harmony export */ "dN": () => (/* binding */ selectSortedFilteredResults),
2160
2165
  /* harmony export */ "f2": () => (/* binding */ selectSortedResults),
2161
2166
  /* harmony export */ "fN": () => (/* binding */ selectLocale),
2167
+ /* harmony export */ "fZ": () => (/* binding */ selectCellIsValid),
2162
2168
  /* harmony export */ "id": () => (/* binding */ selectCellIsFiltered),
2163
2169
  /* harmony export */ "lP": () => (/* binding */ selectLocaleAutoGroupTiles),
2164
2170
  /* harmony export */ "mK": () => (/* binding */ selectDictionaryError),
@@ -2176,10 +2182,12 @@ function* ensureProperTilesCount() {
2176
2182
  /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__);
2177
2183
  /* harmony import */ var _scrabble_solver_configs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(89418);
2178
2184
  /* harmony import */ var _scrabble_solver_configs__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_scrabble_solver_configs__WEBPACK_IMPORTED_MODULE_1__);
2179
- /* harmony import */ var _scrabble_solver_types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(34046);
2180
- /* harmony import */ var _scrabble_solver_types__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_scrabble_solver_types__WEBPACK_IMPORTED_MODULE_2__);
2181
- /* harmony import */ var i18n__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(43898);
2182
- /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(30459);
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
+
2183
2191
 
2184
2192
 
2185
2193
 
@@ -2201,7 +2209,7 @@ const selectDictionary = selectDictionaryRoot;
2201
2209
  const selectDictionaryError = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSelector)([
2202
2210
  selectDictionaryRoot
2203
2211
  ], (dictionary)=>{
2204
- return (0,_scrabble_solver_types__WEBPACK_IMPORTED_MODULE_2__.isError)(dictionary.error) ? dictionary.error : undefined;
2212
+ return (0,_scrabble_solver_types__WEBPACK_IMPORTED_MODULE_3__.isError)(dictionary.error) ? dictionary.error : undefined;
2205
2213
  });
2206
2214
  const selectLocale = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSelector)([
2207
2215
  selectSettingsRoot
@@ -2213,7 +2221,7 @@ const selectLocaleAutoGroupTiles = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_
2213
2221
  selectLocale,
2214
2222
  selectSettingsRoot
2215
2223
  ], (locale, settings)=>{
2216
- if (i18n__WEBPACK_IMPORTED_MODULE_3__/* .LOCALE_FEATURES */ .q[locale].direction === "ltr" || settings.autoGroupTiles === null) {
2224
+ if (i18n__WEBPACK_IMPORTED_MODULE_4__/* .LOCALE_FEATURES */ .q[locale].direction === "ltr" || settings.autoGroupTiles === null) {
2217
2225
  return settings.autoGroupTiles;
2218
2226
  }
2219
2227
  return settings.autoGroupTiles === "left" ? "right" : "left";
@@ -2233,6 +2241,15 @@ const selectCellIsFiltered = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.cr
2233
2241
  ], (cellFilter, { x , y })=>{
2234
2242
  return cellFilter.some((cell)=>cell.x === x && cell.y === y);
2235
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
+ });
2236
2253
  const selectResults = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSelector)([
2237
2254
  selectResultsRoot
2238
2255
  ], (results)=>results.results);
@@ -2250,7 +2267,7 @@ const selectSortedResults = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.cre
2250
2267
  selectResultsSortColumn,
2251
2268
  selectResultsSortDirection,
2252
2269
  selectLocale
2253
- ], lib__WEBPACK_IMPORTED_MODULE_4__/* .sortResults */ .uj);
2270
+ ], lib__WEBPACK_IMPORTED_MODULE_5__/* .sortResults */ .uj);
2254
2271
  const filterResultsByQuery = (results, query)=>{
2255
2272
  if (query.trim().length === 0) {
2256
2273
  return results;
@@ -2295,7 +2312,7 @@ const selectRowsWithCandidate = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__
2295
2312
  selectBoardRoot,
2296
2313
  selectResultCandidateCells
2297
2314
  ], (board, cells)=>{
2298
- return board.rows.map((row, y)=>row.map((cell, x)=>(0,lib__WEBPACK_IMPORTED_MODULE_4__/* .findCell */ .Jp)(cells, x, y) || cell));
2315
+ return board.rows.map((row, y)=>row.map((cell, x)=>(0,lib__WEBPACK_IMPORTED_MODULE_5__/* .findCell */ .Jp)(cells, x, y) || cell));
2299
2316
  });
2300
2317
  const selectCellBonus = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSelector)([
2301
2318
  selectConfig,
@@ -2309,6 +2326,15 @@ const selectCharacterPoints = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.c
2309
2326
  ], (config, character)=>{
2310
2327
  return config.getCharacterPoints(character);
2311
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
+ });
2312
2338
  const selectTilePoints = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSelector)([
2313
2339
  selectConfig,
2314
2340
  selectTile
@@ -2317,7 +2343,7 @@ const selectTilePoints = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.create
2317
2343
  });
2318
2344
  const selectTranslations = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSelector)([
2319
2345
  selectLocale
2320
- ], (locale)=>i18n__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z[locale]);
2346
+ ], (locale)=>i18n__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z[locale]);
2321
2347
  const selectTranslation = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSelector)([
2322
2348
  selectTranslations,
2323
2349
  selectLocale,
@@ -2340,14 +2366,14 @@ const selectIsLoading = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createS
2340
2366
  const selectSolveError = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSelector)([
2341
2367
  selectSolveRoot
2342
2368
  ], (solve)=>{
2343
- return (0,_scrabble_solver_types__WEBPACK_IMPORTED_MODULE_2__.isError)(solve.error) ? solve.error : undefined;
2369
+ return (0,_scrabble_solver_types__WEBPACK_IMPORTED_MODULE_3__.isError)(solve.error) ? solve.error : undefined;
2344
2370
  });
2345
2371
  const selectHaveCharactersChanged = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSelector)([
2346
2372
  selectLastSolvedParameters,
2347
2373
  selectCharacters,
2348
2374
  selectLocale
2349
2375
  ], (lastSolvedParameters, characters, locale)=>{
2350
- return !(0,lib__WEBPACK_IMPORTED_MODULE_4__/* .unorderedArraysEqual */ .DR)(lastSolvedParameters.characters, characters, locale);
2376
+ return !(0,lib__WEBPACK_IMPORTED_MODULE_5__/* .unorderedArraysEqual */ .DR)(lastSolvedParameters.characters, characters, locale);
2351
2377
  });
2352
2378
  const selectHasBoardChanged = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSelector)([
2353
2379
  selectLastSolvedParameters,
@@ -2362,7 +2388,7 @@ const selectRemainingTiles = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.cr
2362
2388
  selectBoardRoot,
2363
2389
  selectCharacters,
2364
2390
  selectLocale
2365
- ], lib__WEBPACK_IMPORTED_MODULE_4__/* .getRemainingTiles */ .ZM);
2391
+ ], lib__WEBPACK_IMPORTED_MODULE_5__/* .getRemainingTiles */ .ZM);
2366
2392
  const selectHasOverusedTiles = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSelector)([
2367
2393
  selectRemainingTiles
2368
2394
  ], (remainingTiles)=>{
@@ -2370,7 +2396,7 @@ const selectHasOverusedTiles = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.
2370
2396
  });
2371
2397
  const selectRemainingTilesGroups = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSelector)([
2372
2398
  selectRemainingTiles
2373
- ], lib__WEBPACK_IMPORTED_MODULE_4__/* .getRemainingTilesGroups */ .op);
2399
+ ], lib__WEBPACK_IMPORTED_MODULE_5__/* .getRemainingTilesGroups */ .op);
2374
2400
  const selectVerify = selectVerifyRoot;
2375
2401
  const selectHasInvalidWords = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSelector)([
2376
2402
  selectVerify
@@ -2381,7 +2407,7 @@ const selectHasInvalidWords = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.c
2381
2407
 
2382
2408
  /***/ }),
2383
2409
 
2384
- /***/ 99134:
2410
+ /***/ 58995:
2385
2411
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2386
2412
 
2387
2413
 
@@ -2434,6 +2460,29 @@ const settingsInitialState = {
2434
2460
  const { configId , locale } = slices_settingsInitialState;
2435
2461
  const { boardHeight , boardWidth } = (0,build.getLocaleConfig)(configId, locale);
2436
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
+ // };
2437
2486
  /* harmony default export */ const slices_boardInitialState = (boardInitialState);
2438
2487
 
2439
2488
  // EXTERNAL MODULE: external "@reduxjs/toolkit"
@@ -2591,7 +2640,7 @@ const dictionarySlice = (0,toolkit_.createSlice)({
2591
2640
  /* harmony default export */ const slices_dictionarySlice = (dictionarySlice);
2592
2641
 
2593
2642
  // EXTERNAL MODULE: ./src/lib/index.ts + 29 modules
2594
- var lib = __webpack_require__(30459);
2643
+ var lib = __webpack_require__(95784);
2595
2644
  ;// CONCATENATED MODULE: ./src/state/slices/rackInitialState.ts
2596
2645
  const rackInitialState = [
2597
2646
  null,
@@ -2657,7 +2706,7 @@ const rackSlice = (0,toolkit_.createSlice)({
2657
2706
  /* harmony default export */ const slices_rackSlice = (rackSlice);
2658
2707
 
2659
2708
  // EXTERNAL MODULE: ./src/types/index.ts
2660
- var types = __webpack_require__(3620);
2709
+ var types = __webpack_require__(9033);
2661
2710
  ;// CONCATENATED MODULE: ./src/state/slices/resultsInitialState.ts
2662
2711
 
2663
2712
  const resultsInitialState = {
@@ -2879,7 +2928,7 @@ const verifySlice = (0,toolkit_.createSlice)({
2879
2928
 
2880
2929
  /***/ }),
2881
2930
 
2882
- /***/ 41573:
2931
+ /***/ 92645:
2883
2932
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2884
2933
 
2885
2934
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
@@ -2887,8 +2936,8 @@ const verifySlice = (0,toolkit_.createSlice)({
2887
2936
  /* harmony export */ });
2888
2937
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
2889
2938
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
2890
- /* harmony import */ var _selectors__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(40897);
2891
- /* harmony import */ var _useTypedSelector__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(53872);
2939
+ /* harmony import */ var _selectors__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(30391);
2940
+ /* harmony import */ var _useTypedSelector__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(20106);
2892
2941
 
2893
2942
 
2894
2943
 
@@ -2912,7 +2961,7 @@ const useTranslate = ()=>{
2912
2961
 
2913
2962
  /***/ }),
2914
2963
 
2915
- /***/ 53872:
2964
+ /***/ 20106:
2916
2965
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2917
2966
 
2918
2967
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
@@ -2927,7 +2976,7 @@ const useTypedSelector = react_redux__WEBPACK_IMPORTED_MODULE_0__.useSelector;
2927
2976
 
2928
2977
  /***/ }),
2929
2978
 
2930
- /***/ 3620:
2979
+ /***/ 9033:
2931
2980
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2932
2981
 
2933
2982
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
@@ -2965,11 +3014,6 @@ const constants_1 = __webpack_require__(7618);
2965
3014
  const Cell_1 = __importDefault(__webpack_require__(52251));
2966
3015
  const Tile_1 = __importDefault(__webpack_require__(25275));
2967
3016
  class Board {
2968
- constructor({ rows }) {
2969
- this.rows = rows;
2970
- this.columnsCount = rows[0].length;
2971
- this.rowsCount = rows.length;
2972
- }
2973
3017
  static create(width, height) {
2974
3018
  return Board.fromStringArray(Array(height).fill(Array(width).fill(' ').join('')));
2975
3019
  }
@@ -2988,6 +3032,11 @@ class Board {
2988
3032
  }))),
2989
3033
  });
2990
3034
  }
3035
+ constructor({ rows }) {
3036
+ this.rows = rows;
3037
+ this.columnsCount = rows[0].length;
3038
+ this.rowsCount = rows.length;
3039
+ }
2991
3040
  get center() {
2992
3041
  const x = Math.floor(this.columnsCount / 2);
2993
3042
  const y = Math.floor(this.rowsCount / 2);
@@ -3151,13 +3200,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3151
3200
  Object.defineProperty(exports, "__esModule", ({ value: true }));
3152
3201
  const Tile_1 = __importDefault(__webpack_require__(25275));
3153
3202
  class Cell {
3154
- // eslint-disable-next-line no-undef
3155
- constructor({ isEmpty = true, tile = Tile_1.default.Null, x, y }) {
3156
- this.isEmpty = isEmpty;
3157
- this.tile = tile;
3158
- this.x = x;
3159
- this.y = y;
3160
- }
3161
3203
  static fromJson(json) {
3162
3204
  return new Cell({
3163
3205
  isEmpty: json.isEmpty,
@@ -3166,6 +3208,13 @@ class Cell {
3166
3208
  y: json.y,
3167
3209
  });
3168
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
+ }
3169
3218
  clone() {
3170
3219
  return new Cell({
3171
3220
  isEmpty: this.isEmpty,
@@ -3271,14 +3320,14 @@ const constants_1 = __webpack_require__(7618);
3271
3320
  const CharacterBonus_1 = __importDefault(__webpack_require__(19582));
3272
3321
  const WordBonus_1 = __importDefault(__webpack_require__(58627));
3273
3322
  class Config {
3323
+ static fromJson(json) {
3324
+ return new Config(json);
3325
+ }
3274
3326
  constructor(config) {
3275
3327
  this.bonuses = getBonuses(config);
3276
3328
  this.config = config;
3277
3329
  this.pointsMap = getPointsMap(this.config);
3278
3330
  }
3279
- static fromJson(json) {
3280
- return new Config(json);
3281
- }
3282
3331
  get allTilesBonusScore() {
3283
3332
  return this.config.allTilesBonusScore;
3284
3333
  }
@@ -3522,6 +3571,14 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
3522
3571
  const constants_1 = __webpack_require__(7618);
3523
3572
  const Cell_1 = __importDefault(__webpack_require__(52251));
3524
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
+ }
3525
3582
  constructor({ cells, id, collisions, points, }) {
3526
3583
  const tiles = getTiles(cells);
3527
3584
  this.blanksCount = getBlanks(tiles).length;
@@ -3539,14 +3596,6 @@ class Result {
3539
3596
  this.words = getWords(cells, collisions);
3540
3597
  this.wordsCount = 1 + this.collisions.length;
3541
3598
  }
3542
- static fromJson(json) {
3543
- return new Result({
3544
- id: json.id,
3545
- cells: json.cells.map(Cell_1.default.fromJson),
3546
- collisions: json.collisions.map((collision) => collision.map(Cell_1.default.fromJson)),
3547
- points: json.points,
3548
- });
3549
- }
3550
3599
  toJson() {
3551
3600
  return {
3552
3601
  cells: this.cells.map((cell) => cell.toJson()),
@@ -3578,10 +3627,6 @@ exports["default"] = Result;
3578
3627
  Object.defineProperty(exports, "__esModule", ({ value: true }));
3579
3628
  const constants_1 = __webpack_require__(7618);
3580
3629
  class Tile {
3581
- constructor({ character, isBlank = false }) {
3582
- this.character = character;
3583
- this.isBlank = isBlank;
3584
- }
3585
3630
  static fromJson(json) {
3586
3631
  if (!json) {
3587
3632
  return Tile.Null;
@@ -3591,6 +3636,10 @@ class Tile {
3591
3636
  isBlank: json.isBlank,
3592
3637
  });
3593
3638
  }
3639
+ constructor({ character, isBlank = false }) {
3640
+ this.character = character;
3641
+ this.isBlank = isBlank;
3642
+ }
3594
3643
  clone() {
3595
3644
  return new Tile({
3596
3645
  character: this.character,
@@ -3717,12 +3766,6 @@ exports["default"] = WordBonus;
3717
3766
 
3718
3767
  Object.defineProperty(exports, "__esModule", ({ value: true }));
3719
3768
  class WordDefinition {
3720
- constructor({ definitions, exists, isAllowed, word }) {
3721
- this.definitions = definitions;
3722
- this.exists = exists;
3723
- this.isAllowed = isAllowed;
3724
- this.word = word;
3725
- }
3726
3769
  static fromJson(json) {
3727
3770
  if (!json) {
3728
3771
  return WordDefinition.Null;
@@ -3734,6 +3777,12 @@ class WordDefinition {
3734
3777
  word: json.word,
3735
3778
  });
3736
3779
  }
3780
+ constructor({ definitions, exists, isAllowed, word }) {
3781
+ this.definitions = definitions;
3782
+ this.exists = exists;
3783
+ this.isAllowed = isAllowed;
3784
+ this.word = word;
3785
+ }
3737
3786
  toJson() {
3738
3787
  return {
3739
3788
  definitions: this.definitions,