scrabble-solver 2.12.1 → 2.12.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 (259) hide show
  1. package/README.md +36 -4
  2. package/lerna.json +1 -1
  3. package/package.json +9 -8
  4. package/packages/configs/build/games/index.d.ts +3 -0
  5. package/packages/configs/build/games/index.js +12 -0
  6. package/packages/configs/build/games/literaki.d.ts +25 -0
  7. package/packages/configs/build/games/literaki.js +110 -0
  8. package/packages/configs/build/games/scrabble.d.ts +18 -0
  9. package/packages/configs/build/games/scrabble.js +78 -0
  10. package/packages/configs/build/games/superScrabble.d.ts +18 -0
  11. package/packages/configs/build/games/superScrabble.js +141 -0
  12. package/packages/configs/build/getConfig.d.ts +2 -6
  13. package/packages/configs/build/getConfig.js +29 -10
  14. package/packages/configs/build/hasConfig.d.ts +3 -0
  15. package/packages/configs/build/hasConfig.js +31 -0
  16. package/packages/configs/build/index.d.ts +7 -4
  17. package/packages/configs/build/index.js +32 -9
  18. package/packages/configs/build/locales/deDe.d.ts +3 -0
  19. package/packages/configs/build/locales/deDe.js +42 -0
  20. package/packages/configs/build/locales/enGb.d.ts +3 -0
  21. package/packages/configs/build/locales/enGb.js +104 -0
  22. package/packages/configs/build/locales/enUs.d.ts +3 -0
  23. package/packages/configs/build/locales/enUs.js +104 -0
  24. package/packages/configs/build/locales/esEs.d.ts +3 -0
  25. package/packages/configs/build/locales/esEs.js +41 -0
  26. package/packages/configs/build/locales/faIr.d.ts +3 -0
  27. package/packages/configs/build/locales/faIr.js +45 -0
  28. package/packages/configs/build/locales/frFr.d.ts +3 -0
  29. package/packages/configs/build/locales/frFr.js +39 -0
  30. package/packages/configs/build/locales/index.d.ts +7 -0
  31. package/packages/configs/build/locales/index.js +20 -0
  32. package/packages/configs/build/locales/plPl.d.ts +3 -0
  33. package/packages/configs/build/locales/plPl.js +83 -0
  34. package/packages/configs/package.json +4 -4
  35. package/packages/configs/src/games/index.ts +3 -0
  36. package/packages/configs/src/games/literaki.ts +110 -0
  37. package/packages/configs/src/games/scrabble.ts +78 -0
  38. package/packages/configs/src/games/superScrabble.ts +141 -0
  39. package/packages/configs/src/getConfig.ts +8 -15
  40. package/packages/configs/src/hasConfig.ts +10 -0
  41. package/packages/configs/src/index.ts +7 -4
  42. package/packages/configs/src/locales/deDe.ts +43 -0
  43. package/packages/configs/src/locales/enGb.ts +105 -0
  44. package/packages/configs/src/locales/enUs.ts +105 -0
  45. package/packages/configs/src/locales/esEs.ts +42 -0
  46. package/packages/configs/src/locales/faIr.ts +46 -0
  47. package/packages/configs/src/locales/frFr.ts +40 -0
  48. package/packages/configs/src/locales/index.ts +7 -0
  49. package/packages/configs/src/locales/plPl.ts +84 -0
  50. package/packages/constants/package.json +2 -2
  51. package/packages/dictionaries/package-lock.json +3 -10
  52. package/packages/dictionaries/package.json +5 -5
  53. package/packages/logger/package-lock.json +3 -224
  54. package/packages/logger/package.json +2 -2
  55. package/packages/scrabble-solver/.next/BUILD_ID +1 -1
  56. package/packages/scrabble-solver/.next/build-manifest.json +14 -14
  57. package/packages/scrabble-solver/.next/cache/.tsbuildinfo +1 -1
  58. package/packages/scrabble-solver/.next/cache/eslint/.cache_8dgz12 +1 -1
  59. package/packages/scrabble-solver/.next/cache/next-server.js.nft.json +1 -1
  60. package/packages/scrabble-solver/.next/cache/webpack/client-production/0.pack +0 -0
  61. package/packages/scrabble-solver/.next/cache/webpack/client-production/index.pack +0 -0
  62. package/packages/scrabble-solver/.next/cache/webpack/edge-server-production/0.pack +0 -0
  63. package/packages/scrabble-solver/.next/cache/webpack/edge-server-production/index.pack +0 -0
  64. package/packages/scrabble-solver/.next/cache/webpack/server-production/0.pack +0 -0
  65. package/packages/scrabble-solver/.next/cache/webpack/server-production/index.pack +0 -0
  66. package/packages/scrabble-solver/.next/next-server.js.nft.json +1 -1
  67. package/packages/scrabble-solver/.next/prerender-manifest.json +1 -1
  68. package/packages/scrabble-solver/.next/required-server-files.json +1 -1
  69. package/packages/scrabble-solver/.next/routes-manifest.json +1 -1
  70. package/packages/scrabble-solver/.next/server/chunks/131.js +478 -106
  71. package/packages/scrabble-solver/.next/server/chunks/277.js +1202 -1013
  72. package/packages/scrabble-solver/.next/server/chunks/44.js +36 -6
  73. package/packages/scrabble-solver/.next/server/chunks/675.js +35 -13
  74. package/packages/scrabble-solver/.next/server/chunks/859.js +21 -4
  75. package/packages/scrabble-solver/.next/server/chunks/865.js +478 -106
  76. package/packages/scrabble-solver/.next/server/chunks/911.js +894 -773
  77. package/packages/scrabble-solver/.next/server/middleware-build-manifest.js +1 -1
  78. package/packages/scrabble-solver/.next/server/pages/404.html +1 -1
  79. package/packages/scrabble-solver/.next/server/pages/404.js.nft.json +1 -1
  80. package/packages/scrabble-solver/.next/server/pages/500.html +1 -1
  81. package/packages/scrabble-solver/.next/server/pages/_app.js +3 -1
  82. package/packages/scrabble-solver/.next/server/pages/_app.js.nft.json +1 -1
  83. package/packages/scrabble-solver/.next/server/pages/api/dictionary/[locale]/[word].js +4 -2
  84. package/packages/scrabble-solver/.next/server/pages/api/solve.js +51 -20
  85. package/packages/scrabble-solver/.next/server/pages/api/verify.js +8 -5
  86. package/packages/scrabble-solver/.next/server/pages/index.html +1 -1
  87. package/packages/scrabble-solver/.next/server/pages/index.js +55 -65
  88. package/packages/scrabble-solver/.next/server/pages/index.js.nft.json +1 -1
  89. package/packages/scrabble-solver/.next/server/pages/index.json +1 -1
  90. package/packages/scrabble-solver/.next/server/pages-manifest.json +2 -2
  91. package/packages/scrabble-solver/.next/static/chunks/{framework-2c5cac93e8c637b5.js → framework-2c29dc3cd933590b.js} +2 -2
  92. package/packages/scrabble-solver/.next/static/chunks/main-4dcb7f9b52833aba.js +1 -0
  93. package/packages/scrabble-solver/.next/static/chunks/pages/_app-e7f3d1c9c09c8f91.js +32 -0
  94. package/packages/scrabble-solver/.next/static/chunks/pages/index-82b2939158c7729f.js +1 -0
  95. package/packages/scrabble-solver/.next/static/css/4e8b47fe382a8a8f.css +2 -0
  96. package/packages/scrabble-solver/.next/static/css/cfae5256f1689f57.css +1 -0
  97. package/packages/scrabble-solver/.next/static/{_yG9K-PD5kWT_p4sMdCSV → wNIKOJJzkMSJYb2nOL21o}/_buildManifest.js +1 -1
  98. package/packages/scrabble-solver/.next/trace +51 -52
  99. package/packages/scrabble-solver/package-lock.json +269 -5105
  100. package/packages/scrabble-solver/package.json +13 -13
  101. package/packages/scrabble-solver/src/components/Board/Board.module.scss +33 -0
  102. package/packages/scrabble-solver/src/components/Board/Board.tsx +3 -0
  103. package/packages/scrabble-solver/src/components/Board/BoardPure.tsx +25 -1
  104. package/packages/scrabble-solver/src/components/Board/components/Cell/Cell.module.scss +4 -12
  105. package/packages/scrabble-solver/src/components/Board/components/Cell/Cell.tsx +4 -0
  106. package/packages/scrabble-solver/src/components/Board/components/InputPrompt/InputPrompt.tsx +1 -0
  107. package/packages/scrabble-solver/src/components/Board/hooks/useBackgroundImage.tsx +24 -6
  108. package/packages/scrabble-solver/src/components/PlainTiles/lib/createPlainTile.ts +4 -4
  109. package/packages/scrabble-solver/src/components/Rack/components/InputPrompt/InputPrompt.tsx +1 -0
  110. package/packages/scrabble-solver/src/components/Radio/Radio.module.scss +4 -0
  111. package/packages/scrabble-solver/src/components/Radio/Radio.tsx +1 -0
  112. package/packages/scrabble-solver/src/components/SeoMessage/SeoMessage.tsx +3 -3
  113. package/packages/scrabble-solver/src/hooks/useAppLayout.ts +1 -2
  114. package/packages/scrabble-solver/src/hooks/useLocalStorage.ts +5 -5
  115. package/packages/scrabble-solver/src/i18n/constants.ts +31 -61
  116. package/packages/scrabble-solver/src/lib/extractCharacters.test.ts +3 -3
  117. package/packages/scrabble-solver/src/lib/extractCharactersByCase.test.ts +3 -3
  118. package/packages/scrabble-solver/src/lib/getCellSize.ts +2 -2
  119. package/packages/scrabble-solver/src/modals/MenuModal/MenuModal.module.scss +0 -1
  120. package/packages/scrabble-solver/src/modals/MenuModal/MenuModal.tsx +3 -3
  121. package/packages/scrabble-solver/src/modals/SettingsModal/SettingsModal.tsx +7 -3
  122. package/packages/scrabble-solver/src/modals/SettingsModal/components/ConfigSetting/ConfigSetting.tsx +16 -7
  123. package/packages/scrabble-solver/src/modals/SettingsModal/components/LocaleSetting/LocaleSetting.module.scss +1 -4
  124. package/packages/scrabble-solver/src/modals/SettingsModal/components/LocaleSetting/LocaleSetting.tsx +8 -8
  125. package/packages/scrabble-solver/src/pages/_app.tsx +3 -1
  126. package/packages/scrabble-solver/src/pages/api/dictionary/[locale]/[word].ts +6 -3
  127. package/packages/scrabble-solver/src/pages/api/solve.ts +11 -7
  128. package/packages/scrabble-solver/src/pages/api/verify.ts +11 -7
  129. package/packages/scrabble-solver/src/pages/index.module.scss +0 -1
  130. package/packages/scrabble-solver/src/parameters/index.ts +4 -6
  131. package/packages/scrabble-solver/src/sdk/solve.ts +3 -3
  132. package/packages/scrabble-solver/src/sdk/verify.ts +3 -3
  133. package/packages/scrabble-solver/src/service-worker/routeSolveRequests.ts +3 -3
  134. package/packages/scrabble-solver/src/state/localStorage.ts +6 -6
  135. package/packages/scrabble-solver/src/state/sagas.ts +18 -7
  136. package/packages/scrabble-solver/src/state/selectors.ts +10 -10
  137. package/packages/scrabble-solver/src/state/slices/boardInitialState.ts +3 -3
  138. package/packages/scrabble-solver/src/state/slices/boardSlice.ts +20 -6
  139. package/packages/scrabble-solver/src/state/slices/settingsInitialState.ts +3 -4
  140. package/packages/scrabble-solver/src/state/slices/settingsSlice.ts +5 -5
  141. package/packages/scrabble-solver/src/styles/variables.scss +0 -9
  142. package/packages/solver/README.md +1 -1
  143. package/packages/solver/build/areDigraphsValid.d.ts +3 -0
  144. package/packages/solver/build/areDigraphsValid.js +16 -0
  145. package/packages/solver/build/getPatternHash.js +2 -2
  146. package/packages/solver/build/index.d.ts +1 -0
  147. package/packages/solver/build/index.js +3 -1
  148. package/packages/solver/build/solve.js +5 -1
  149. package/packages/solver/package-lock.json +3 -10
  150. package/packages/solver/package.json +6 -6
  151. package/packages/solver/src/areDigraphsValid.ts +20 -0
  152. package/packages/solver/src/fillPattern.test.ts +3 -3
  153. package/packages/solver/src/generatePatterns.test.ts +13 -0
  154. package/packages/solver/src/getPatternHash.ts +2 -2
  155. package/packages/solver/src/getPatternScore.test.ts +13 -3
  156. package/packages/solver/src/index.ts +1 -0
  157. package/packages/solver/src/solve.test.ts +93 -7
  158. package/packages/solver/src/solve.ts +6 -1
  159. package/packages/types/build/Config.d.ts +2 -0
  160. package/packages/types/build/Config.js +3 -0
  161. package/packages/types/build/ConfigJson.d.ts +2 -1
  162. package/packages/types/build/Dictionary.d.ts +7 -0
  163. package/packages/types/build/Dictionary.js +2 -0
  164. package/packages/types/build/Game.d.ts +7 -0
  165. package/packages/types/build/Game.js +13 -0
  166. package/packages/types/build/Locale.d.ts +5 -0
  167. package/packages/types/build/Locale.js +5 -1
  168. package/packages/types/build/index.d.ts +4 -2
  169. package/packages/types/build/index.js +8 -5
  170. package/packages/types/package.json +3 -3
  171. package/packages/types/src/Config.ts +5 -0
  172. package/packages/types/src/ConfigJson.ts +2 -1
  173. package/packages/types/src/Dictionary.ts +9 -0
  174. package/packages/types/src/Game.ts +11 -0
  175. package/packages/types/src/Locale.ts +5 -1
  176. package/packages/types/src/index.ts +4 -2
  177. package/packages/word-definitions/build/lib/normalizeDefinition.js +3 -1
  178. package/packages/word-definitions/package-lock.json +9 -159
  179. package/packages/word-definitions/package.json +3 -3
  180. package/packages/word-definitions/src/lib/normalizeDefinition.ts +3 -1
  181. package/packages/word-lists/package-lock.json +9 -401
  182. package/packages/word-lists/package.json +3 -3
  183. package/packages/configs/build/getLocaleConfig.d.ts +0 -3
  184. package/packages/configs/build/getLocaleConfig.js +0 -10
  185. package/packages/configs/build/isConfigId.d.ts +0 -2
  186. package/packages/configs/build/isConfigId.js +0 -12
  187. package/packages/configs/build/literaki/bonuses.d.ts +0 -14
  188. package/packages/configs/build/literaki/bonuses.js +0 -99
  189. package/packages/configs/build/literaki/index.d.ts +0 -1
  190. package/packages/configs/build/literaki/index.js +0 -8
  191. package/packages/configs/build/literaki/literaki.d.ts +0 -13
  192. package/packages/configs/build/literaki/literaki.js +0 -31
  193. package/packages/configs/build/literaki/tiles/index.d.ts +0 -6
  194. package/packages/configs/build/literaki/tiles/index.js +0 -18
  195. package/packages/configs/build/literaki/tiles/tilesDe.d.ts +0 -6
  196. package/packages/configs/build/literaki/tiles/tilesDe.js +0 -34
  197. package/packages/configs/build/literaki/tiles/tilesEn.d.ts +0 -6
  198. package/packages/configs/build/literaki/tiles/tilesEn.js +0 -31
  199. package/packages/configs/build/literaki/tiles/tilesEs.d.ts +0 -6
  200. package/packages/configs/build/literaki/tiles/tilesEs.js +0 -33
  201. package/packages/configs/build/literaki/tiles/tilesFa.d.ts +0 -6
  202. package/packages/configs/build/literaki/tiles/tilesFa.js +0 -37
  203. package/packages/configs/build/literaki/tiles/tilesFr.d.ts +0 -6
  204. package/packages/configs/build/literaki/tiles/tilesFr.js +0 -31
  205. package/packages/configs/build/literaki/tiles/tilesPl.d.ts +0 -6
  206. package/packages/configs/build/literaki/tiles/tilesPl.js +0 -37
  207. package/packages/configs/build/scrabble/bonuses.d.ts +0 -7
  208. package/packages/configs/build/scrabble/bonuses.js +0 -67
  209. package/packages/configs/build/scrabble/index.d.ts +0 -1
  210. package/packages/configs/build/scrabble/index.js +0 -8
  211. package/packages/configs/build/scrabble/scrabble.d.ts +0 -13
  212. package/packages/configs/build/scrabble/scrabble.js +0 -31
  213. package/packages/configs/build/scrabble/tiles/index.d.ts +0 -6
  214. package/packages/configs/build/scrabble/tiles/index.js +0 -18
  215. package/packages/configs/build/scrabble/tiles/tilesDe.d.ts +0 -6
  216. package/packages/configs/build/scrabble/tiles/tilesDe.js +0 -34
  217. package/packages/configs/build/scrabble/tiles/tilesEn.d.ts +0 -6
  218. package/packages/configs/build/scrabble/tiles/tilesEn.js +0 -31
  219. package/packages/configs/build/scrabble/tiles/tilesEs.d.ts +0 -6
  220. package/packages/configs/build/scrabble/tiles/tilesEs.js +0 -33
  221. package/packages/configs/build/scrabble/tiles/tilesFa.d.ts +0 -6
  222. package/packages/configs/build/scrabble/tiles/tilesFa.js +0 -37
  223. package/packages/configs/build/scrabble/tiles/tilesFr.d.ts +0 -6
  224. package/packages/configs/build/scrabble/tiles/tilesFr.js +0 -31
  225. package/packages/configs/build/scrabble/tiles/tilesPl.d.ts +0 -6
  226. package/packages/configs/build/scrabble/tiles/tilesPl.js +0 -37
  227. package/packages/configs/src/getLocaleConfig.ts +0 -9
  228. package/packages/configs/src/isConfigId.ts +0 -10
  229. package/packages/configs/src/literaki/bonuses.ts +0 -99
  230. package/packages/configs/src/literaki/index.ts +0 -1
  231. package/packages/configs/src/literaki/literaki.ts +0 -30
  232. package/packages/configs/src/literaki/tiles/index.ts +0 -6
  233. package/packages/configs/src/literaki/tiles/tilesDe.ts +0 -33
  234. package/packages/configs/src/literaki/tiles/tilesEn.ts +0 -30
  235. package/packages/configs/src/literaki/tiles/tilesEs.ts +0 -32
  236. package/packages/configs/src/literaki/tiles/tilesFa.ts +0 -36
  237. package/packages/configs/src/literaki/tiles/tilesFr.ts +0 -30
  238. package/packages/configs/src/literaki/tiles/tilesPl.ts +0 -36
  239. package/packages/configs/src/scrabble/bonuses.ts +0 -67
  240. package/packages/configs/src/scrabble/index.ts +0 -1
  241. package/packages/configs/src/scrabble/scrabble.ts +0 -30
  242. package/packages/configs/src/scrabble/tiles/index.ts +0 -6
  243. package/packages/configs/src/scrabble/tiles/tilesDe.ts +0 -33
  244. package/packages/configs/src/scrabble/tiles/tilesEn.ts +0 -30
  245. package/packages/configs/src/scrabble/tiles/tilesEs.ts +0 -32
  246. package/packages/configs/src/scrabble/tiles/tilesFa.ts +0 -36
  247. package/packages/configs/src/scrabble/tiles/tilesFr.ts +0 -30
  248. package/packages/configs/src/scrabble/tiles/tilesPl.ts +0 -36
  249. package/packages/scrabble-solver/.next/static/chunks/main-0ecb9ccfcb6c9b24.js +0 -1
  250. package/packages/scrabble-solver/.next/static/chunks/pages/_app-bea4539a6b8042de.js +0 -32
  251. package/packages/scrabble-solver/.next/static/chunks/pages/index-4e8566409753e1c3.js +0 -1
  252. package/packages/scrabble-solver/.next/static/css/58053f9594647860.css +0 -2
  253. package/packages/scrabble-solver/.next/static/css/60e8258da7362a1a.css +0 -1
  254. package/packages/scrabble-solver/src/i18n/i18n.module.scss +0 -27
  255. package/packages/scrabble-solver/src/modals/SettingsModal/components/ConfigSetting/options.ts +0 -19
  256. package/packages/scrabble-solver/src/modals/SettingsModal/components/ConfigSetting/types.ts +0 -9
  257. package/packages/scrabble-solver/src/modals/SettingsModal/components/InputModeSetting/types.ts +0 -7
  258. package/packages/scrabble-solver/src/modals/SettingsModal/components/LocaleSetting/types.ts +0 -9
  259. /package/packages/scrabble-solver/.next/static/{_yG9K-PD5kWT_p4sMdCSV → wNIKOJJzkMSJYb2nOL21o}/_ssgManifest.js +0 -0
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@scrabble-solver/types",
3
- "version": "2.12.1",
3
+ "version": "2.12.3",
4
4
  "description": "Scrabble Solver 2 - Types",
5
5
  "main": "build/index.js",
6
6
  "types": "build/index.d.ts",
@@ -17,14 +17,14 @@
17
17
  "bugs": {
18
18
  "url": "https://github.com/kamilmielnik/scrabble-solver/issues"
19
19
  },
20
- "homepage": "https://github.com/kamilmielnik/scrabble-solver#readme",
20
+ "homepage": "https://scrabble-solver.org",
21
21
  "scripts": {
22
22
  "build": "tsc --project .",
23
23
  "clean": "rimraf build/ node_modules/",
24
24
  "clean:force": "npm run clean && rimraf package-lock.json"
25
25
  },
26
26
  "dependencies": {
27
- "@scrabble-solver/constants": "^2.12.1"
27
+ "@scrabble-solver/constants": "^2.12.3"
28
28
  },
29
29
  "gitHead": "1e2d1ad49a288d4a44196d8e3336740da132c637"
30
30
  }
@@ -5,6 +5,7 @@ import BonusValue from './BonusValue';
5
5
  import Cell from './Cell';
6
6
  import CharacterBonus from './CharacterBonus';
7
7
  import ConfigJson from './ConfigJson';
8
+ import Game from './Game';
8
9
  import Locale from './Locale';
9
10
  import Tile from './Tile';
10
11
  import TileConfig from './TileConfig';
@@ -51,6 +52,10 @@ class Config {
51
52
  return this.config.boardWidth;
52
53
  }
53
54
 
55
+ public get game(): Game {
56
+ return this.config.game;
57
+ }
58
+
54
59
  public get locale(): Locale {
55
60
  return this.config.locale;
56
61
  }
@@ -1,4 +1,5 @@
1
1
  import BonusJson from './BonusJson';
2
+ import Game from './Game';
2
3
  import Locale from './Locale';
3
4
  import TileConfig from './TileConfig';
4
5
 
@@ -9,7 +10,7 @@ interface ConfigJson {
9
10
  boardHeight: number;
10
11
  boardWidth: number;
11
12
  bonuses: BonusJson[];
12
- id: string;
13
+ game: Game;
13
14
  locale: Locale;
14
15
  maximumCharactersCount: number;
15
16
  name: string;
@@ -0,0 +1,9 @@
1
+ import Locale from './Locale';
2
+
3
+ interface Dictionary {
4
+ description: string;
5
+ locale: Locale;
6
+ name: string;
7
+ }
8
+
9
+ export default Dictionary;
@@ -0,0 +1,11 @@
1
+ enum Game {
2
+ Literaki = 'literaki',
3
+ Scrabble = 'scrabble',
4
+ SuperScrabble = 'super-scrabble',
5
+ }
6
+
7
+ const games = Object.values(Game);
8
+
9
+ export const isGame = (locale: unknown): locale is Game => games.includes(locale as Game);
10
+
11
+ export default Game;
@@ -1,4 +1,8 @@
1
- // eslint-disable-next-line no-shadow
1
+ /**
2
+ * Locales are defined using IETF language tags
3
+ * @see https://en.wikipedia.org/wiki/IETF_language_tag
4
+ * @see https://en.wikipedia.org/wiki/ISO_3166-1
5
+ */
2
6
  enum Locale {
3
7
  DE_DE = 'de-DE',
4
8
  EN_GB = 'en-GB',
@@ -10,10 +10,10 @@ export { default as Collision } from './Collision';
10
10
  export { default as CollisionJson } from './CollisionJson';
11
11
  export { default as Config } from './Config';
12
12
  export { default as ConfigJson } from './ConfigJson';
13
+ export { default as Dictionary } from './Dictionary';
13
14
  export { default as FinalPattern } from './FinalPattern';
15
+ export { default as Game, isGame } from './Game';
14
16
  export { default as HorizontalPattern } from './HorizontalPattern';
15
- export { default as isError } from './isError';
16
- export { default as isObject } from './isObject';
17
17
  export { default as Locale, isLocale } from './Locale';
18
18
  export { default as Pattern } from './Pattern';
19
19
  export { default as PatternJson } from './PatternJson';
@@ -26,3 +26,5 @@ export { default as VerticalPattern } from './VerticalPattern';
26
26
  export { default as WordBonus } from './WordBonus';
27
27
  export { default as WordDefinition } from './WordDefinition';
28
28
  export { default as WordDefinitionJson } from './WordDefinitionJson';
29
+ export { default as isError } from './isError';
30
+ export { default as isObject } from './isObject';
@@ -15,7 +15,9 @@ const normalizeQuotes = (definition) => definition.replace(/\."/g, '".');
15
15
  const normalizeMarkers = (definition) => definition.replace(/^\(\d+\.\d+\)\s+/g, '');
16
16
  const normalizeTrailingSymbols = (definition) => definition.trim().replace(/:$/, '');
17
17
  const normalizeLeadingSymbols = (definition) => definition.trim().replace(/^:/, '');
18
- // https://stackoverflow.com/a/40732368
18
+ /**
19
+ * @see https://stackoverflow.com/a/40732368
20
+ */
19
21
  const normalizeNonWords = (definition) => (/[\w\u0621-\u064A]+/.test(definition) ? definition : '');
20
22
  const normalizeCommas = (definition) => {
21
23
  return definition
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@scrabble-solver/word-definitions",
3
- "version": "2.12.1",
4
- "lockfileVersion": 2,
3
+ "version": "2.12.3",
4
+ "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "@scrabble-solver/word-definitions",
9
- "version": "2.12.1",
9
+ "version": "2.12.3",
10
10
  "license": "CC-BY-NC-ND-4.0",
11
11
  "dependencies": {
12
12
  "cheerio": "^1.0.0-rc.12",
@@ -27,9 +27,9 @@
27
27
  }
28
28
  },
29
29
  "node_modules/@types/node": {
30
- "version": "18.15.11",
31
- "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
32
- "integrity": "sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==",
30
+ "version": "18.15.13",
31
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.13.tgz",
32
+ "integrity": "sha512-N+0kuo9KgrUQ1Sn/ifDXsvg0TTleP7rIy4zOBGECxAljqvqfqpTfzx0Q1NUedOixRMBfe2Whhb056a42cWs26Q==",
33
33
  "dev": true
34
34
  },
35
35
  "node_modules/boolbase": {
@@ -151,9 +151,9 @@
151
151
  }
152
152
  },
153
153
  "node_modules/entities": {
154
- "version": "4.4.0",
155
- "resolved": "https://registry.npmjs.org/entities/-/entities-4.4.0.tgz",
156
- "integrity": "sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==",
154
+ "version": "4.5.0",
155
+ "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
156
+ "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==",
157
157
  "engines": {
158
158
  "node": ">=0.12"
159
159
  },
@@ -237,155 +237,5 @@
237
237
  "resolved": "https://registry.npmjs.org/striptags/-/striptags-3.2.0.tgz",
238
238
  "integrity": "sha512-g45ZOGzHDMe2bdYMdIvdAfCQkCTDMGBazSw1ypMowwGIee7ZQ5dU0rBJ8Jqgl+jAKIv4dbeE1jscZq9wid1Tkw=="
239
239
  }
240
- },
241
- "dependencies": {
242
- "@types/follow-redirects": {
243
- "version": "1.14.1",
244
- "resolved": "https://registry.npmjs.org/@types/follow-redirects/-/follow-redirects-1.14.1.tgz",
245
- "integrity": "sha512-THBEFwqsLuU/K62B5JRwab9NW97cFmL4Iy34NTMX0bMycQVzq2q7PKOkhfivIwxdpa/J72RppgC42vCHfwKJ0Q==",
246
- "dev": true,
247
- "requires": {
248
- "@types/node": "*"
249
- }
250
- },
251
- "@types/node": {
252
- "version": "18.15.11",
253
- "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
254
- "integrity": "sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==",
255
- "dev": true
256
- },
257
- "boolbase": {
258
- "version": "1.0.0",
259
- "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
260
- "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww=="
261
- },
262
- "cheerio": {
263
- "version": "1.0.0-rc.12",
264
- "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz",
265
- "integrity": "sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==",
266
- "requires": {
267
- "cheerio-select": "^2.1.0",
268
- "dom-serializer": "^2.0.0",
269
- "domhandler": "^5.0.3",
270
- "domutils": "^3.0.1",
271
- "htmlparser2": "^8.0.1",
272
- "parse5": "^7.0.0",
273
- "parse5-htmlparser2-tree-adapter": "^7.0.0"
274
- }
275
- },
276
- "cheerio-select": {
277
- "version": "2.1.0",
278
- "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz",
279
- "integrity": "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==",
280
- "requires": {
281
- "boolbase": "^1.0.0",
282
- "css-select": "^5.1.0",
283
- "css-what": "^6.1.0",
284
- "domelementtype": "^2.3.0",
285
- "domhandler": "^5.0.3",
286
- "domutils": "^3.0.1"
287
- }
288
- },
289
- "css-select": {
290
- "version": "5.1.0",
291
- "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz",
292
- "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==",
293
- "requires": {
294
- "boolbase": "^1.0.0",
295
- "css-what": "^6.1.0",
296
- "domhandler": "^5.0.2",
297
- "domutils": "^3.0.1",
298
- "nth-check": "^2.0.1"
299
- }
300
- },
301
- "css-what": {
302
- "version": "6.1.0",
303
- "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz",
304
- "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw=="
305
- },
306
- "dom-serializer": {
307
- "version": "2.0.0",
308
- "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz",
309
- "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==",
310
- "requires": {
311
- "domelementtype": "^2.3.0",
312
- "domhandler": "^5.0.2",
313
- "entities": "^4.2.0"
314
- }
315
- },
316
- "domelementtype": {
317
- "version": "2.3.0",
318
- "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz",
319
- "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw=="
320
- },
321
- "domhandler": {
322
- "version": "5.0.3",
323
- "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz",
324
- "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==",
325
- "requires": {
326
- "domelementtype": "^2.3.0"
327
- }
328
- },
329
- "domutils": {
330
- "version": "3.0.1",
331
- "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.0.1.tgz",
332
- "integrity": "sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q==",
333
- "requires": {
334
- "dom-serializer": "^2.0.0",
335
- "domelementtype": "^2.3.0",
336
- "domhandler": "^5.0.1"
337
- }
338
- },
339
- "entities": {
340
- "version": "4.4.0",
341
- "resolved": "https://registry.npmjs.org/entities/-/entities-4.4.0.tgz",
342
- "integrity": "sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA=="
343
- },
344
- "follow-redirects": {
345
- "version": "1.15.2",
346
- "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz",
347
- "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA=="
348
- },
349
- "htmlparser2": {
350
- "version": "8.0.2",
351
- "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz",
352
- "integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==",
353
- "requires": {
354
- "domelementtype": "^2.3.0",
355
- "domhandler": "^5.0.3",
356
- "domutils": "^3.0.1",
357
- "entities": "^4.4.0"
358
- }
359
- },
360
- "nth-check": {
361
- "version": "2.1.1",
362
- "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz",
363
- "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==",
364
- "requires": {
365
- "boolbase": "^1.0.0"
366
- }
367
- },
368
- "parse5": {
369
- "version": "7.1.2",
370
- "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz",
371
- "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==",
372
- "requires": {
373
- "entities": "^4.4.0"
374
- }
375
- },
376
- "parse5-htmlparser2-tree-adapter": {
377
- "version": "7.0.0",
378
- "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz",
379
- "integrity": "sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==",
380
- "requires": {
381
- "domhandler": "^5.0.2",
382
- "parse5": "^7.0.0"
383
- }
384
- },
385
- "striptags": {
386
- "version": "3.2.0",
387
- "resolved": "https://registry.npmjs.org/striptags/-/striptags-3.2.0.tgz",
388
- "integrity": "sha512-g45ZOGzHDMe2bdYMdIvdAfCQkCTDMGBazSw1ypMowwGIee7ZQ5dU0rBJ8Jqgl+jAKIv4dbeE1jscZq9wid1Tkw=="
389
- }
390
240
  }
391
241
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@scrabble-solver/word-definitions",
3
- "version": "2.12.1",
3
+ "version": "2.12.3",
4
4
  "description": "Scrabble Solver 2 - Word definitions",
5
5
  "main": "build/index.js",
6
6
  "types": "build/index.d.ts",
@@ -17,13 +17,13 @@
17
17
  "bugs": {
18
18
  "url": "https://github.com/kamilmielnik/scrabble-solver/issues"
19
19
  },
20
- "homepage": "https://github.com/kamilmielnik/scrabble-solver#readme",
20
+ "homepage": "https://scrabble-solver.org",
21
21
  "scripts": {
22
22
  "build": "tsc --project .",
23
23
  "clean": "rimraf build/ node_modules/ package-lock.json"
24
24
  },
25
25
  "dependencies": {
26
- "@scrabble-solver/types": "^2.12.1",
26
+ "@scrabble-solver/types": "^2.12.3",
27
27
  "cheerio": "^1.0.0-rc.12",
28
28
  "follow-redirects": "^1.15.2",
29
29
  "striptags": "^3.2.0"
@@ -21,7 +21,9 @@ const normalizeTrailingSymbols: Normalize = (definition) => definition.trim().re
21
21
 
22
22
  const normalizeLeadingSymbols: Normalize = (definition) => definition.trim().replace(/^:/, '');
23
23
 
24
- // https://stackoverflow.com/a/40732368
24
+ /**
25
+ * @see https://stackoverflow.com/a/40732368
26
+ */
25
27
  const normalizeNonWords: Normalize = (definition) => (/[\w\u0621-\u064A]+/.test(definition) ? definition : '');
26
28
 
27
29
  const normalizeCommas: Normalize = (definition) => {