scrabble-solver 2.13.5-alpha.0 → 2.13.5-alpha.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.gitattributes +2 -2
- package/.nx/cache/file-map.json +467 -484
- package/.nx/cache/lockfile.hash +1 -1
- package/.nx/cache/nx_files.nxt +0 -0
- package/.nx/cache/parsed-lock-file.json +46 -46
- package/.nx/cache/project-graph.json +52 -52
- package/README.md +23 -8
- package/lerna.json +1 -1
- package/package.json +5 -4
- package/packages/configs/build/getConfig.d.ts +1 -2
- package/packages/configs/build/getConfig.js +4 -3
- package/packages/configs/build/hasConfig.d.ts +1 -2
- package/packages/configs/build/hasConfig.js +4 -3
- package/packages/configs/build/index.d.ts +4 -7
- package/packages/configs/build/index.js +5 -10
- package/packages/configs/build/languages/english.d.ts +7 -0
- package/packages/configs/build/languages/english.js +199 -0
- package/packages/configs/build/languages/french.d.ts +2 -0
- package/packages/configs/build/languages/french.js +37 -0
- package/packages/configs/build/languages/german.d.ts +2 -0
- package/packages/configs/build/languages/german.js +40 -0
- package/packages/configs/build/languages/index.d.ts +7 -0
- package/packages/configs/build/languages/index.js +23 -0
- package/packages/configs/build/languages/persian.d.ts +2 -0
- package/packages/configs/build/languages/persian.js +43 -0
- package/packages/configs/build/languages/polish.d.ts +3 -0
- package/packages/configs/build/languages/polish.js +81 -0
- package/packages/configs/build/languages/romanian.d.ts +2 -0
- package/packages/configs/build/languages/romanian.js +36 -0
- package/packages/configs/build/languages/spanish.d.ts +2 -0
- package/packages/configs/build/languages/spanish.js +39 -0
- package/packages/configs/package.json +3 -3
- package/packages/configs/src/games/superScrabble.ts +2 -2
- package/packages/configs/src/getConfig.ts +3 -5
- package/packages/configs/src/hasConfig.ts +3 -5
- package/packages/configs/src/index.ts +4 -6
- package/packages/configs/src/languages/english.ts +203 -0
- package/packages/configs/src/languages/french.ts +36 -0
- package/packages/configs/src/languages/german.ts +39 -0
- package/packages/configs/src/languages/index.ts +7 -0
- package/packages/configs/src/languages/persian.ts +42 -0
- package/packages/configs/src/languages/polish.ts +81 -0
- package/packages/configs/src/languages/romanian.ts +35 -0
- package/packages/configs/src/languages/spanish.ts +38 -0
- package/packages/constants/package.json +1 -1
- package/packages/dictionaries/package-lock.json +2 -2
- package/packages/dictionaries/package.json +4 -4
- package/packages/logger/package-lock.json +2 -2
- package/packages/logger/package.json +1 -1
- package/packages/scrabble-solver/.next/build-manifest.json +15 -24
- package/packages/scrabble-solver/.next/cache/.tsbuildinfo +1 -1
- package/packages/scrabble-solver/.next/cache/eslint/.cache_8dgz12 +1 -1
- package/packages/scrabble-solver/.next/cache/webpack/client-development/0.pack.gz +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/client-development/1.pack.gz +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/client-development/10.pack.gz +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/client-development/11.pack.gz +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/client-development/12.pack.gz +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/client-development/13.pack.gz +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/client-development/14.pack.gz +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/client-development/15.pack.gz +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/client-development/2.pack.gz +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/client-development/3.pack.gz +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/client-development/4.pack.gz +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/client-development/5.pack.gz +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/client-development/6.pack.gz +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/client-development/7.pack.gz +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/client-development/8.pack.gz +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/client-development/9.pack.gz +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/client-development/index.pack.gz +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/client-development/index.pack.gz.old +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/client-development-fallback/0.pack.gz +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/client-development-fallback/index.pack.gz +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/client-production/0.pack +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/client-production/1.pack +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/client-production/2.pack +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/client-production/3.pack +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/client-production/4.pack +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/client-production/index.pack +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/client-production/index.pack.old +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/edge-server-production/0.pack +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/edge-server-production/1.pack +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/edge-server-production/2.pack +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/edge-server-production/index.pack +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/edge-server-production/index.pack.old +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/server-development/0.pack.gz +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/server-development/1.pack.gz +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/server-development/10.pack.gz +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/server-development/11.pack.gz +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/server-development/12.pack.gz +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/server-development/13.pack.gz +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/server-development/14.pack.gz +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/server-development/15.pack.gz +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/server-development/16.pack.gz +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/server-development/17.pack.gz +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/server-development/18.pack.gz +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/server-development/19.pack.gz +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/server-development/2.pack.gz +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/server-development/20.pack.gz +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/server-development/21.pack.gz +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/server-development/22.pack.gz +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/server-development/23.pack.gz +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/server-development/3.pack.gz +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/server-development/4.pack.gz +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/server-development/5.pack.gz +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/server-development/6.pack.gz +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/server-development/7.pack.gz +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/server-development/8.pack.gz +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/server-development/9.pack.gz +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/server-development/index.pack.gz +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/server-development/index.pack.gz.old +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/server-production/0.pack +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/server-production/1.pack +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/server-production/2.pack +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/server-production/3.pack +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/server-production/4.pack +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/server-production/index.pack +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/server-production/index.pack.old +0 -0
- package/packages/scrabble-solver/.next/server/middleware-build-manifest.js +1 -1
- package/packages/scrabble-solver/.next/server/middleware-react-loadable-manifest.js +1 -1
- package/packages/scrabble-solver/.next/server/next-font-manifest.js +1 -1
- package/packages/scrabble-solver/.next/server/pages/_app.js +3720 -1
- package/packages/scrabble-solver/.next/server/pages/_document.js +86 -1
- package/packages/scrabble-solver/.next/server/pages/_error.js +3742 -1
- package/packages/scrabble-solver/.next/server/pages/api/dictionary/[locale]/[word].js +1116 -2
- package/packages/scrabble-solver/.next/server/pages/api/solve.js +1496 -1
- package/packages/scrabble-solver/.next/server/pages/api/verify.js +946 -1
- package/packages/scrabble-solver/.next/server/pages/api/visit.js +176 -1
- package/packages/scrabble-solver/.next/server/pages/index.js +4312 -1
- package/packages/scrabble-solver/.next/server/pages-manifest.json +10 -1
- package/packages/scrabble-solver/.next/server/vendor-chunks/@swc.js +35 -0
- package/packages/scrabble-solver/.next/server/vendor-chunks/next.js +517 -0
- package/packages/scrabble-solver/.next/server/webpack-api-runtime.js +168 -1
- package/packages/scrabble-solver/.next/server/webpack-runtime.js +237 -1
- package/packages/scrabble-solver/.next/static/chunks/main.js +1285 -0
- package/packages/scrabble-solver/.next/static/chunks/pages/_app.js +4854 -0
- package/packages/scrabble-solver/.next/static/chunks/pages/_error.js +28 -0
- package/packages/scrabble-solver/.next/static/chunks/pages/index.js +717 -0
- package/packages/scrabble-solver/.next/static/chunks/react-refresh.js +62 -0
- package/packages/scrabble-solver/.next/static/chunks/webpack.js +1261 -0
- package/packages/scrabble-solver/.next/static/development/_buildManifest.js +1 -0
- package/packages/scrabble-solver/.next/static/development/_ssgManifest.js +1 -0
- package/packages/scrabble-solver/.next/static/webpack/29a2bd94727d51e6.webpack.hot-update.json +1 -0
- package/packages/scrabble-solver/.next/static/webpack/3754455b7d774808.webpack.hot-update.json +1 -0
- package/packages/scrabble-solver/.next/static/webpack/633457081244afec._.hot-update.json +1 -0
- package/packages/scrabble-solver/.next/static/webpack/b71388f846dd4d8b.webpack.hot-update.json +1 -0
- package/packages/scrabble-solver/.next/static/webpack/e7718e8f7cbe05a0.webpack.hot-update.json +1 -0
- package/packages/scrabble-solver/.next/static/webpack/pages/_app.29a2bd94727d51e6.hot-update.js +22 -0
- package/packages/scrabble-solver/.next/static/webpack/pages/_app.3754455b7d774808.hot-update.js +262 -0
- package/packages/scrabble-solver/.next/static/webpack/pages/_app.e7718e8f7cbe05a0.hot-update.js +251 -0
- package/packages/scrabble-solver/.next/static/webpack/pages/index.3754455b7d774808.hot-update.js +75 -0
- package/packages/scrabble-solver/.next/static/webpack/pages/index.b71388f846dd4d8b.hot-update.js +22 -0
- package/packages/scrabble-solver/.next/static/webpack/pages/index.e7718e8f7cbe05a0.hot-update.js +32 -0
- package/packages/scrabble-solver/.next/static/webpack/webpack.29a2bd94727d51e6.hot-update.js +18 -0
- package/packages/scrabble-solver/.next/static/webpack/webpack.3754455b7d774808.hot-update.js +18 -0
- package/packages/scrabble-solver/.next/static/webpack/webpack.b71388f846dd4d8b.hot-update.js +18 -0
- package/packages/scrabble-solver/.next/static/webpack/webpack.e7718e8f7cbe05a0.hot-update.js +18 -0
- package/packages/scrabble-solver/.next/trace +17 -44
- package/packages/scrabble-solver/package-lock.json +2 -4
- package/packages/scrabble-solver/package.json +9 -9
- package/packages/scrabble-solver/public/service-worker.js +2 -2
- package/packages/scrabble-solver/public/service-worker.js.map +1 -1
- package/packages/scrabble-solver/src/components/Board/Board.module.scss +14 -0
- package/packages/scrabble-solver/src/components/Board/Board.tsx +8 -1
- package/packages/scrabble-solver/src/components/Board/BoardPure.tsx +76 -21
- package/packages/scrabble-solver/src/components/Board/hooks/useBackgroundImage.tsx +46 -7
- package/packages/scrabble-solver/src/components/Board/hooks/useBoardStyle.ts +8 -3
- package/packages/scrabble-solver/src/components/Board/lib/getCoordinate.ts +11 -0
- package/packages/scrabble-solver/src/components/Board/lib/index.ts +1 -0
- package/packages/scrabble-solver/src/components/Dictionary/Dictionary.tsx +17 -18
- package/packages/scrabble-solver/src/components/EmptyState/EmptyState.tsx +1 -1
- package/packages/scrabble-solver/src/components/Results/Results.module.scss +1 -0
- package/packages/scrabble-solver/src/hooks/useAppLayout.ts +18 -4
- package/packages/scrabble-solver/src/i18n/i18n.ts +15 -15
- package/packages/scrabble-solver/src/i18n/{en.json → languages/english.json} +4 -0
- package/packages/scrabble-solver/src/i18n/{fr.json → languages/french.json} +4 -0
- package/packages/scrabble-solver/src/i18n/{de.json → languages/german.json} +4 -0
- package/packages/scrabble-solver/src/i18n/{fa.json → languages/persian.json} +4 -0
- package/packages/scrabble-solver/src/i18n/{pl.json → languages/polish.json} +4 -0
- package/packages/scrabble-solver/src/i18n/{ro.json → languages/romanian.json} +4 -0
- package/packages/scrabble-solver/src/i18n/{es.json → languages/spanish.json} +4 -0
- package/packages/scrabble-solver/src/lib/extractCharacters.test.ts +3 -5
- package/packages/scrabble-solver/src/lib/extractCharactersByCase.test.ts +3 -5
- package/packages/scrabble-solver/src/modals/SettingsModal/SettingsModal.tsx +11 -1
- package/packages/scrabble-solver/src/modals/SettingsModal/components/ShowCoordinatesSetting/ShowCoordinatesSetting.module.scss +12 -0
- package/packages/scrabble-solver/src/modals/SettingsModal/components/ShowCoordinatesSetting/ShowCoordinatesSetting.tsx +59 -0
- package/packages/scrabble-solver/src/modals/SettingsModal/components/ShowCoordinatesSetting/index.ts +1 -0
- package/packages/scrabble-solver/src/modals/SettingsModal/components/index.ts +1 -0
- package/packages/scrabble-solver/src/parameters/index.ts +1 -0
- package/packages/scrabble-solver/src/state/localStorage.ts +10 -1
- package/packages/scrabble-solver/src/state/sagas.ts +6 -3
- package/packages/scrabble-solver/src/state/selectors.ts +2 -0
- package/packages/scrabble-solver/src/state/slices/settingsInitialState.ts +6 -4
- package/packages/scrabble-solver/src/state/slices/settingsSlice.ts +6 -1
- package/packages/scrabble-solver/src/state/store.ts +1 -1
- package/packages/scrabble-solver/src/types/index.ts +4 -0
- package/packages/scrabble-solver/tsconfig.json +1 -0
- package/packages/solver/package-lock.json +2 -2
- package/packages/solver/package.json +5 -5
- package/packages/types/build/ShowCoordinates.d.ts +7 -0
- package/packages/types/build/ShowCoordinates.js +2 -0
- package/packages/types/build/index.d.ts +1 -0
- package/packages/types/package.json +2 -2
- package/packages/types/src/ShowCoordinates.ts +8 -0
- package/packages/types/src/index.ts +1 -0
- package/packages/word-definitions/build/crawl.d.ts +2 -0
- package/packages/word-definitions/build/crawl.js +19 -0
- package/packages/word-definitions/build/getWordDefinition.d.ts +1 -2
- package/packages/word-definitions/build/getWordDefinition.js +2 -1
- package/packages/word-definitions/build/index.d.ts +2 -1
- package/packages/word-definitions/build/index.js +2 -4
- package/packages/word-definitions/build/languages/english.d.ts +3 -0
- package/packages/word-definitions/build/languages/english.js +28 -0
- package/packages/word-definitions/build/languages/french.d.ts +3 -0
- package/packages/word-definitions/build/languages/french.js +22 -0
- package/packages/word-definitions/build/languages/german.d.ts +3 -0
- package/packages/word-definitions/build/languages/german.js +70 -0
- package/packages/word-definitions/build/languages/index.d.ts +7 -0
- package/packages/word-definitions/build/languages/index.js +33 -0
- package/packages/word-definitions/build/languages/persian.d.ts +3 -0
- package/packages/word-definitions/build/languages/persian.js +23 -0
- package/packages/word-definitions/build/languages/polish.d.ts +3 -0
- package/packages/word-definitions/build/languages/polish.js +24 -0
- package/packages/word-definitions/build/languages/romanian.d.ts +3 -0
- package/packages/word-definitions/build/languages/romanian.js +26 -0
- package/packages/word-definitions/build/languages/spanish.d.ts +3 -0
- package/packages/word-definitions/build/languages/spanish.js +39 -0
- package/packages/word-definitions/build/lib/index.d.ts +3 -3
- package/packages/word-definitions/build/lib/index.js +3 -6
- package/packages/word-definitions/build/lib/normalizeDefinition.d.ts +1 -2
- package/packages/word-definitions/build/lib/normalizeDefinition.js +3 -2
- package/packages/word-definitions/build/lib/request.d.ts +2 -2
- package/packages/word-definitions/build/lib/request.js +2 -1
- package/packages/word-definitions/build/lib/unique.d.ts +1 -2
- package/packages/word-definitions/build/lib/unique.js +2 -1
- package/packages/word-definitions/build/parse.d.ts +3 -0
- package/packages/word-definitions/build/parse.js +24 -0
- package/packages/word-definitions/build/types.d.ts +1 -1
- package/packages/word-definitions/package-lock.json +2 -2
- package/packages/word-definitions/package.json +2 -2
- package/packages/word-definitions/src/crawl.ts +18 -0
- package/packages/word-definitions/src/getWordDefinition.ts +1 -3
- package/packages/word-definitions/src/index.ts +2 -1
- package/packages/word-definitions/src/{parse/parseEnglish.ts → languages/english.ts} +11 -4
- package/packages/word-definitions/src/languages/french.ts +22 -0
- package/packages/word-definitions/src/{parse/parseGerman.ts → languages/german.ts} +12 -5
- package/packages/word-definitions/src/languages/index.ts +7 -0
- package/packages/word-definitions/src/{parse/parseFarsi.ts → languages/persian.ts} +11 -4
- package/packages/word-definitions/src/{parse/parsePolish.ts → languages/polish.ts} +11 -4
- package/packages/word-definitions/src/{parse/parseRomanian.ts → languages/romanian.ts} +11 -4
- package/packages/word-definitions/src/{parse/parseSpanish.ts → languages/spanish.ts} +11 -4
- package/packages/word-definitions/src/lib/index.ts +3 -3
- package/packages/word-definitions/src/lib/normalizeDefinition.ts +1 -3
- package/packages/word-definitions/src/lib/request.ts +1 -3
- package/packages/word-definitions/src/lib/unique.ts +1 -3
- package/packages/word-definitions/src/{parse/parse.test.ts → parse.test.ts} +5 -7
- package/packages/word-definitions/src/parse.ts +25 -0
- package/packages/word-definitions/src/types.ts +1 -1
- package/packages/word-lists/build/getWordList.d.ts +1 -2
- package/packages/word-lists/build/getWordList.js +11 -20
- package/packages/word-lists/build/index.d.ts +2 -6
- package/packages/word-lists/build/index.js +3 -15
- package/packages/word-lists/build/languages/english.d.ts +2 -0
- package/packages/word-lists/build/languages/english.js +15 -0
- package/packages/word-lists/build/languages/french.d.ts +1 -0
- package/packages/word-lists/build/languages/french.js +11 -0
- package/packages/word-lists/build/languages/german.d.ts +1 -0
- package/packages/word-lists/build/languages/german.js +10 -0
- package/packages/word-lists/build/languages/index.d.ts +7 -0
- package/packages/word-lists/build/languages/index.js +33 -0
- package/packages/word-lists/build/languages/persian.d.ts +1 -0
- package/packages/word-lists/build/languages/persian.js +10 -0
- package/packages/word-lists/build/languages/polish.d.ts +1 -0
- package/packages/word-lists/build/languages/polish.js +42 -0
- package/packages/word-lists/build/languages/romanian.d.ts +1 -0
- package/packages/word-lists/build/languages/romanian.js +11 -0
- package/packages/word-lists/build/languages/spanish.d.ts +1 -0
- package/packages/word-lists/build/languages/spanish.js +19 -0
- package/packages/word-lists/package-lock.json +2 -2
- package/packages/word-lists/package.json +2 -2
- package/packages/word-lists/src/getWordList.ts +10 -19
- package/packages/word-lists/src/index.ts +2 -6
- package/packages/word-lists/src/languages/english.ts +14 -0
- package/packages/word-lists/src/{getFrFrWordList.ts → languages/french.ts} +2 -4
- package/packages/word-lists/src/{getDeDeWordList.ts → languages/german.ts} +2 -4
- package/packages/word-lists/src/languages/index.ts +7 -0
- package/packages/word-lists/src/{getFaIrWordList.ts → languages/persian.ts} +2 -4
- package/packages/word-lists/src/{getPlPlWordList.ts → languages/polish.ts} +2 -4
- package/packages/word-lists/src/{getRoRoWordList.ts → languages/romanian.ts} +2 -4
- package/packages/word-lists/src/{getEsEsWordList.ts → languages/spanish.ts} +2 -4
- package/tsconfig.jest.json +1 -0
- package/packages/configs/src/locales/deDe.ts +0 -43
- package/packages/configs/src/locales/enGb.ts +0 -105
- package/packages/configs/src/locales/enUs.ts +0 -105
- package/packages/configs/src/locales/esEs.ts +0 -42
- package/packages/configs/src/locales/faIr.ts +0 -46
- package/packages/configs/src/locales/frFr.ts +0 -40
- package/packages/configs/src/locales/index.ts +0 -8
- package/packages/configs/src/locales/plPl.ts +0 -84
- package/packages/configs/src/locales/roRo.ts +0 -39
- package/packages/scrabble-solver/.next/BUILD_ID +0 -1
- package/packages/scrabble-solver/.next/export-marker.json +0 -1
- package/packages/scrabble-solver/.next/images-manifest.json +0 -1
- package/packages/scrabble-solver/.next/next-minimal-server.js.nft.json +0 -1
- package/packages/scrabble-solver/.next/next-server.js.nft.json +0 -1
- package/packages/scrabble-solver/.next/prerender-manifest.js +0 -1
- package/packages/scrabble-solver/.next/prerender-manifest.json +0 -1
- package/packages/scrabble-solver/.next/required-server-files.json +0 -1
- package/packages/scrabble-solver/.next/routes-manifest.json +0 -1
- package/packages/scrabble-solver/.next/server/InjectManifest.js.nft.json +0 -1
- package/packages/scrabble-solver/.next/server/chunks/28.js +0 -1
- package/packages/scrabble-solver/.next/server/chunks/331.js +0 -6
- package/packages/scrabble-solver/.next/server/chunks/577.js +0 -1
- package/packages/scrabble-solver/.next/server/chunks/911.js +0 -1
- package/packages/scrabble-solver/.next/server/chunks/977.js +0 -1
- package/packages/scrabble-solver/.next/server/chunks/font-manifest.json +0 -1
- package/packages/scrabble-solver/.next/server/font-manifest.json +0 -1
- package/packages/scrabble-solver/.next/server/functions-config-manifest.json +0 -1
- package/packages/scrabble-solver/.next/server/pages/404.html +0 -1
- package/packages/scrabble-solver/.next/server/pages/404.js.nft.json +0 -1
- package/packages/scrabble-solver/.next/server/pages/500.html +0 -1
- package/packages/scrabble-solver/.next/server/pages/_app.js.nft.json +0 -1
- package/packages/scrabble-solver/.next/server/pages/_document.js.nft.json +0 -1
- package/packages/scrabble-solver/.next/server/pages/_error.js.nft.json +0 -1
- package/packages/scrabble-solver/.next/server/pages/api/dictionary/[locale]/[word].js.nft.json +0 -1
- package/packages/scrabble-solver/.next/server/pages/api/dictionary/[locale].js +0 -1
- package/packages/scrabble-solver/.next/server/pages/api/dictionary/[locale].js.nft.json +0 -1
- package/packages/scrabble-solver/.next/server/pages/api/solve.js.nft.json +0 -1
- package/packages/scrabble-solver/.next/server/pages/api/verify.js.nft.json +0 -1
- package/packages/scrabble-solver/.next/server/pages/api/visit.js.nft.json +0 -1
- package/packages/scrabble-solver/.next/server/pages/index.html +0 -1
- package/packages/scrabble-solver/.next/server/pages/index.js.nft.json +0 -1
- package/packages/scrabble-solver/.next/server/pages/index.json +0 -1
- package/packages/scrabble-solver/.next/static/bQ-v-R6yKq5G7C4cYlhIp/_buildManifest.js +0 -1
- package/packages/scrabble-solver/.next/static/bQ-v-R6yKq5G7C4cYlhIp/_ssgManifest.js +0 -1
- package/packages/scrabble-solver/.next/static/chunks/framework-1728d40275bc359a.js +0 -49
- package/packages/scrabble-solver/.next/static/chunks/main-5fb7abbfc135de15.js +0 -1
- package/packages/scrabble-solver/.next/static/chunks/pages/404-b6e238bb4117d451.js +0 -1
- package/packages/scrabble-solver/.next/static/chunks/pages/_app-b95404c40a0092e6.js +0 -17
- package/packages/scrabble-solver/.next/static/chunks/pages/_error-db043fa3544f8809.js +0 -1
- package/packages/scrabble-solver/.next/static/chunks/pages/index-59d569ef79bc2580.js +0 -1
- package/packages/scrabble-solver/.next/static/chunks/webpack-6ef43a8d4a395f49.js +0 -1
- package/packages/scrabble-solver/.next/static/css/8fa2fb99b90e109e.css +0 -1
- package/packages/scrabble-solver/.next/static/css/c80ebc6fd13311f1.css +0 -2
- package/packages/word-definitions/src/crawl/crawl.ts +0 -26
- package/packages/word-definitions/src/crawl/crawlEnglish.ts +0 -11
- package/packages/word-definitions/src/crawl/crawlFarsi.ts +0 -11
- package/packages/word-definitions/src/crawl/crawlFrench.ts +0 -11
- package/packages/word-definitions/src/crawl/crawlGerman.ts +0 -11
- package/packages/word-definitions/src/crawl/crawlPolish.ts +0 -11
- package/packages/word-definitions/src/crawl/crawlRomanian.ts +0 -11
- package/packages/word-definitions/src/crawl/crawlSpanish.ts +0 -11
- package/packages/word-definitions/src/crawl/index.ts +0 -6
- package/packages/word-definitions/src/parse/index.ts +0 -8
- package/packages/word-definitions/src/parse/parse.ts +0 -34
- package/packages/word-definitions/src/parse/parseFrench.ts +0 -15
- package/packages/word-lists/src/getEnGbWordList.ts +0 -11
- package/packages/word-lists/src/getEnUsWordList.ts +0 -11
- /package/packages/scrabble-solver/.next/static/chunks/{polyfills-c67a75d1b6f99dc8.js → polyfills.js} +0 -0
- /package/packages/word-definitions/src/{parse/__tests__ → __tests__}/expected/de-DE.hm.json +0 -0
- /package/packages/word-definitions/src/{parse/__tests__ → __tests__}/expected/de-DE.ho.json +0 -0
- /package/packages/word-definitions/src/{parse/__tests__ → __tests__}/expected/de-DE.kolla.json +0 -0
- /package/packages/word-definitions/src/{parse/__tests__ → __tests__}/expected/de-DE.vom.json +0 -0
- /package/packages/word-definitions/src/{parse/__tests__ → __tests__}/expected/en-US.awe.json +0 -0
- /package/packages/word-definitions/src/{parse/__tests__ → __tests__}/expected/en-US.oe.json +0 -0
- /package/packages/word-definitions/src/{parse/__tests__ → __tests__}/expected/en-US.pawn.json +0 -0
- /package/packages/word-definitions/src/{parse/__tests__ → __tests__}/expected/en-US.pawnee.json +0 -0
- /package/packages/word-definitions/src/{parse/__tests__ → __tests__}/expected/en-US.pean.json +0 -0
- /package/packages/word-definitions/src/{parse/__tests__ → __tests__}/expected/en-US.wiz.json +0 -0
- /package/packages/word-definitions/src/{parse/__tests__ → __tests__}/expected/es-ES.corma.json +0 -0
- /package/packages/word-definitions/src/{parse/__tests__ → __tests__}/expected/es-ES.portero.json +0 -0
- /package/packages/word-definitions/src/{parse/__tests__ → __tests__}/expected/ro-RO.aciua.json +0 -0
- /package/packages/word-definitions/src/{parse/__tests__ → __tests__}/input/de-DE.hm.html +0 -0
- /package/packages/word-definitions/src/{parse/__tests__ → __tests__}/input/de-DE.ho.html +0 -0
- /package/packages/word-definitions/src/{parse/__tests__ → __tests__}/input/de-DE.kolla.html +0 -0
- /package/packages/word-definitions/src/{parse/__tests__ → __tests__}/input/de-DE.vom.html +0 -0
- /package/packages/word-definitions/src/{parse/__tests__ → __tests__}/input/en-US.awe.html +0 -0
- /package/packages/word-definitions/src/{parse/__tests__ → __tests__}/input/en-US.oe.html +0 -0
- /package/packages/word-definitions/src/{parse/__tests__ → __tests__}/input/en-US.pawn.html +0 -0
- /package/packages/word-definitions/src/{parse/__tests__ → __tests__}/input/en-US.pawnee.html +0 -0
- /package/packages/word-definitions/src/{parse/__tests__ → __tests__}/input/en-US.pean.html +0 -0
- /package/packages/word-definitions/src/{parse/__tests__ → __tests__}/input/en-US.wiz.html +0 -0
- /package/packages/word-definitions/src/{parse/__tests__ → __tests__}/input/es-ES.corma.html +0 -0
- /package/packages/word-definitions/src/{parse/__tests__ → __tests__}/input/es-ES.portero.html +0 -0
- /package/packages/word-definitions/src/{parse/__tests__ → __tests__}/input/ro-RO.aciua.html +0 -0
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { ShowCoordinates } from '@scrabble-solver/types';
|
|
2
|
+
import { ChangeEvent, FunctionComponent } from 'react';
|
|
3
|
+
import { useDispatch } from 'react-redux';
|
|
4
|
+
|
|
5
|
+
import { Radio } from 'components';
|
|
6
|
+
import { selectShowCoordinates, settingsSlice, useTranslate, useTypedSelector } from 'state';
|
|
7
|
+
|
|
8
|
+
import styles from './ShowCoordinatesSetting.module.scss';
|
|
9
|
+
|
|
10
|
+
interface Props {
|
|
11
|
+
className?: string;
|
|
12
|
+
disabled?: boolean;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
const ShowCoordinatesSetting: FunctionComponent<Props> = ({ className, disabled }) => {
|
|
16
|
+
const dispatch = useDispatch();
|
|
17
|
+
const translate = useTranslate();
|
|
18
|
+
const value = useTypedSelector(selectShowCoordinates);
|
|
19
|
+
|
|
20
|
+
const options = [
|
|
21
|
+
{
|
|
22
|
+
label: translate('settings.showCoordinates.hidden'),
|
|
23
|
+
value: 'hidden',
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
label: translate('settings.showCoordinates.original'),
|
|
27
|
+
value: 'original',
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
label: translate('settings.showCoordinates.alternative'),
|
|
31
|
+
value: 'alternative',
|
|
32
|
+
},
|
|
33
|
+
];
|
|
34
|
+
|
|
35
|
+
const handleChange = (event: ChangeEvent<HTMLInputElement>) => {
|
|
36
|
+
const showCoordinates = event.target.value as ShowCoordinates;
|
|
37
|
+
dispatch(settingsSlice.actions.changeShowCoordinates(showCoordinates));
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
return (
|
|
41
|
+
<div className={className}>
|
|
42
|
+
{options.map((option) => (
|
|
43
|
+
<Radio
|
|
44
|
+
checked={String(value) === option.value}
|
|
45
|
+
className={styles.option}
|
|
46
|
+
disabled={disabled}
|
|
47
|
+
key={option.value}
|
|
48
|
+
name="inputMode"
|
|
49
|
+
value={option.value}
|
|
50
|
+
onChange={handleChange}
|
|
51
|
+
>
|
|
52
|
+
<div className={styles.label}>{option.label}</div>
|
|
53
|
+
</Radio>
|
|
54
|
+
))}
|
|
55
|
+
</div>
|
|
56
|
+
);
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
export default ShowCoordinatesSetting;
|
package/packages/scrabble-solver/src/modals/SettingsModal/components/ShowCoordinatesSetting/index.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from './ShowCoordinatesSetting';
|
|
@@ -2,3 +2,4 @@ export { default as AutoGroupTilesSetting } from './AutoGroupTilesSetting';
|
|
|
2
2
|
export { default as ConfigSetting } from './ConfigSetting';
|
|
3
3
|
export { default as InputModeSetting } from './InputModeSetting';
|
|
4
4
|
export { default as LocaleSetting } from './LocaleSetting';
|
|
5
|
+
export { default as ShowCoordinatesSetting } from './ShowCoordinatesSetting';
|
|
@@ -31,6 +31,7 @@ export const COLOR_BONUS_WORD_MULTIPLIER_2 = '#fbc997';
|
|
|
31
31
|
export const COLOR_BONUS_WORD_MULTIPLIER_3 = '#f19393';
|
|
32
32
|
export const COLOR_BONUS_WORD_MULTIPLIER_4 = '#ed5e5e';
|
|
33
33
|
export const COLOR_FILTERED = '#444';
|
|
34
|
+
export const COLOR_BACKGROUND = '#f4f4f4';
|
|
34
35
|
|
|
35
36
|
export const COLOR_BONUS_CHARACTER: Record<number, string> = {
|
|
36
37
|
1: COLOR_BONUS_CHARACTER_1,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Board, Game, Locale } from '@scrabble-solver/types';
|
|
1
|
+
import { Board, Game, Locale, ShowCoordinates } from '@scrabble-solver/types';
|
|
2
2
|
import store2 from 'store2';
|
|
3
3
|
|
|
4
4
|
import { AutoGroupTiles, InputMode, Rack } from 'types';
|
|
@@ -9,6 +9,7 @@ const GAME_ID = 'config-id';
|
|
|
9
9
|
const INPUT_MODE = 'input-mode';
|
|
10
10
|
const LOCALE = 'locale';
|
|
11
11
|
const RACK = 'rack';
|
|
12
|
+
const SHOW_COORDINATES = 'show-coordinates';
|
|
12
13
|
|
|
13
14
|
const store = store2.namespace('scrabble-solver');
|
|
14
15
|
|
|
@@ -62,6 +63,14 @@ const localStorage = {
|
|
|
62
63
|
setRack(rack: Rack | undefined): void {
|
|
63
64
|
store.set(RACK, rack, true);
|
|
64
65
|
},
|
|
66
|
+
|
|
67
|
+
getShowCoordinates(): ShowCoordinates | undefined {
|
|
68
|
+
return store.get(SHOW_COORDINATES);
|
|
69
|
+
},
|
|
70
|
+
|
|
71
|
+
setShowCoordinates(showCoordinates: ShowCoordinates | undefined): void {
|
|
72
|
+
store.set(SHOW_COORDINATES, showCoordinates, true);
|
|
73
|
+
},
|
|
65
74
|
};
|
|
66
75
|
|
|
67
76
|
export default localStorage;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/* eslint-disable max-lines */
|
|
2
2
|
|
|
3
3
|
import { PayloadAction } from '@reduxjs/toolkit';
|
|
4
|
-
import { hasConfig,
|
|
4
|
+
import { hasConfig, languages } from '@scrabble-solver/configs';
|
|
5
5
|
import { Board, Locale, Result } from '@scrabble-solver/types';
|
|
6
6
|
import { call, delay, put, select, takeEvery, takeLatest } from 'redux-saga/effects';
|
|
7
7
|
|
|
@@ -136,8 +136,11 @@ function* onLocaleChange({ payload: locale }: PayloadAction<Locale>): AnyGenerat
|
|
|
136
136
|
const game = yield select(selectGame);
|
|
137
137
|
|
|
138
138
|
if (!hasConfig(game, locale)) {
|
|
139
|
-
const defaultConfig =
|
|
140
|
-
|
|
139
|
+
const defaultConfig = Object.values(languages).find((config) => config.locale === locale);
|
|
140
|
+
|
|
141
|
+
if (defaultConfig) {
|
|
142
|
+
yield put(settingsSlice.actions.changeGame(defaultConfig.game));
|
|
143
|
+
}
|
|
141
144
|
}
|
|
142
145
|
|
|
143
146
|
const characters = yield select(selectCharacters);
|
|
@@ -67,6 +67,8 @@ export const selectBoard = selectBoardRoot;
|
|
|
67
67
|
|
|
68
68
|
export const selectInputMode = createSelector([selectSettingsRoot], (settings) => settings.inputMode);
|
|
69
69
|
|
|
70
|
+
export const selectShowCoordinates = createSelector([selectSettingsRoot], (settings) => settings.showCoordinates);
|
|
71
|
+
|
|
70
72
|
export const selectGame = createSelector([selectSettingsRoot], (settings) => settings.game);
|
|
71
73
|
|
|
72
74
|
export const selectConfig = createSelector([selectGame, selectLocale], getConfig);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Game, Locale } from '@scrabble-solver/types';
|
|
1
|
+
import { Game, Locale, ShowCoordinates } from '@scrabble-solver/types';
|
|
2
2
|
|
|
3
3
|
import { guessLocale } from 'lib';
|
|
4
4
|
import { AutoGroupTiles, InputMode } from 'types';
|
|
@@ -10,6 +10,7 @@ export interface SettingsState {
|
|
|
10
10
|
game: Game;
|
|
11
11
|
inputMode: InputMode;
|
|
12
12
|
locale: Locale;
|
|
13
|
+
showCoordinates: ShowCoordinates;
|
|
13
14
|
}
|
|
14
15
|
|
|
15
16
|
const localStorageAutoGroupTiles = localStorage.getAutoGroupTiles();
|
|
@@ -17,9 +18,10 @@ const isTouchScreen = typeof globalThis.matchMedia !== 'undefined' && globalThis
|
|
|
17
18
|
|
|
18
19
|
const settingsInitialState: SettingsState = {
|
|
19
20
|
autoGroupTiles: typeof localStorageAutoGroupTiles === 'undefined' ? 'left' : localStorageAutoGroupTiles,
|
|
20
|
-
game: localStorage.getGame()
|
|
21
|
-
inputMode: localStorage.getInputMode()
|
|
22
|
-
locale: localStorage.getLocale()
|
|
21
|
+
game: localStorage.getGame() ?? Game.Scrabble,
|
|
22
|
+
inputMode: localStorage.getInputMode() ?? (isTouchScreen ? 'touchscreen' : 'keyboard'),
|
|
23
|
+
locale: localStorage.getLocale() ?? guessLocale(),
|
|
24
|
+
showCoordinates: localStorage.getShowCoordinates() ?? 'hidden',
|
|
23
25
|
};
|
|
24
26
|
|
|
25
27
|
export default settingsInitialState;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createSlice, PayloadAction } from '@reduxjs/toolkit';
|
|
2
|
-
import { Game, Locale } from '@scrabble-solver/types';
|
|
2
|
+
import { Game, Locale, ShowCoordinates } from '@scrabble-solver/types';
|
|
3
3
|
|
|
4
4
|
import { AutoGroupTiles, InputMode } from 'types';
|
|
5
5
|
|
|
@@ -29,6 +29,11 @@ const settingsSlice = createSlice({
|
|
|
29
29
|
return { ...state, locale };
|
|
30
30
|
},
|
|
31
31
|
|
|
32
|
+
changeShowCoordinates: (state, action: PayloadAction<ShowCoordinates>) => {
|
|
33
|
+
const showCoordinates = action.payload;
|
|
34
|
+
return { ...state, showCoordinates };
|
|
35
|
+
},
|
|
36
|
+
|
|
32
37
|
init: (state, action: PayloadAction<Partial<Pick<typeof settingsInitialState, 'game' | 'locale'>>>) => {
|
|
33
38
|
return { ...state, ...action.payload };
|
|
34
39
|
},
|
|
@@ -26,7 +26,7 @@ const store = configureStore({
|
|
|
26
26
|
solve: solveSlice.reducer,
|
|
27
27
|
verify: verifySlice.reducer,
|
|
28
28
|
},
|
|
29
|
-
middleware: (getDefaultMiddleware) => getDefaultMiddleware().concat([sagaMiddleware]),
|
|
29
|
+
middleware: (getDefaultMiddleware) => getDefaultMiddleware({ serializableCheck: false }).concat([sagaMiddleware]),
|
|
30
30
|
});
|
|
31
31
|
|
|
32
32
|
sagaMiddleware.run(rootSaga);
|
|
@@ -112,6 +112,10 @@ export type TranslationKey =
|
|
|
112
112
|
| 'settings.inputMode.keyboard'
|
|
113
113
|
| 'settings.inputMode.touchscreen'
|
|
114
114
|
| 'settings.language'
|
|
115
|
+
| 'settings.showCoordinates'
|
|
116
|
+
| 'settings.showCoordinates.alternative'
|
|
117
|
+
| 'settings.showCoordinates.hidden'
|
|
118
|
+
| 'settings.showCoordinates.original'
|
|
115
119
|
| 'words'
|
|
116
120
|
| 'words.invalid'
|
|
117
121
|
| 'words.valid';
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@scrabble-solver/solver",
|
|
3
|
-
"version": "2.13.5-alpha.
|
|
3
|
+
"version": "2.13.5-alpha.2",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "@scrabble-solver/solver",
|
|
9
|
-
"version": "2.13.5-alpha.
|
|
9
|
+
"version": "2.13.5-alpha.2",
|
|
10
10
|
"license": "CC-BY-NC-ND-4.0",
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@kamilmielnik/trie": "^2.0.1"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@scrabble-solver/solver",
|
|
3
|
-
"version": "2.13.5-alpha.
|
|
3
|
+
"version": "2.13.5-alpha.2",
|
|
4
4
|
"description": "Scrabble Solver 2 - Solver",
|
|
5
5
|
"main": "build/index.js",
|
|
6
6
|
"types": "build/index.d.ts",
|
|
@@ -24,12 +24,12 @@
|
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
26
|
"@kamilmielnik/trie": "^2.0.1",
|
|
27
|
-
"@scrabble-solver/types": "^2.13.5-alpha.
|
|
27
|
+
"@scrabble-solver/types": "^2.13.5-alpha.2"
|
|
28
28
|
},
|
|
29
29
|
"devDependencies": {
|
|
30
|
-
"@scrabble-solver/configs": "^2.13.5-alpha.
|
|
31
|
-
"@scrabble-solver/constants": "^2.13.5-alpha.
|
|
32
|
-
"@scrabble-solver/dictionaries": "^2.13.5-alpha.
|
|
30
|
+
"@scrabble-solver/configs": "^2.13.5-alpha.2",
|
|
31
|
+
"@scrabble-solver/constants": "^2.13.5-alpha.2",
|
|
32
|
+
"@scrabble-solver/dictionaries": "^2.13.5-alpha.2"
|
|
33
33
|
},
|
|
34
34
|
"gitHead": "1e2d1ad49a288d4a44196d8e3336740da132c637"
|
|
35
35
|
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 'original' means columns have letters and rows have numbers
|
|
3
|
+
* 'alternative' means columns have numbers and rows have letters
|
|
4
|
+
* 'hidden' means coordinates won't be shown
|
|
5
|
+
*/
|
|
6
|
+
type ShowCoordinates = 'original' | 'alternative' | 'hidden';
|
|
7
|
+
export default ShowCoordinates;
|
|
@@ -19,6 +19,7 @@ export { default as Pattern } from './Pattern';
|
|
|
19
19
|
export { default as PatternJson } from './PatternJson';
|
|
20
20
|
export { default as Result } from './Result';
|
|
21
21
|
export { default as ResultJson } from './ResultJson';
|
|
22
|
+
export { default as ShowCoordinates } from './ShowCoordinates';
|
|
22
23
|
export { default as Tile } from './Tile';
|
|
23
24
|
export { default as TileConfig } from './TileConfig';
|
|
24
25
|
export { default as TileJson, isTileJson } from './TileJson';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@scrabble-solver/types",
|
|
3
|
-
"version": "2.13.5-alpha.
|
|
3
|
+
"version": "2.13.5-alpha.2",
|
|
4
4
|
"description": "Scrabble Solver 2 - Types",
|
|
5
5
|
"main": "build/index.js",
|
|
6
6
|
"types": "build/index.d.ts",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"clean": "rimraf build/"
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@scrabble-solver/constants": "^2.13.5-alpha.
|
|
26
|
+
"@scrabble-solver/constants": "^2.13.5-alpha.2"
|
|
27
27
|
},
|
|
28
28
|
"gitHead": "1e2d1ad49a288d4a44196d8e3336740da132c637"
|
|
29
29
|
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 'original' means columns have letters and rows have numbers
|
|
3
|
+
* 'alternative' means columns have numbers and rows have letters
|
|
4
|
+
* 'hidden' means coordinates won't be shown
|
|
5
|
+
*/
|
|
6
|
+
type ShowCoordinates = 'original' | 'alternative' | 'hidden';
|
|
7
|
+
|
|
8
|
+
export default ShowCoordinates;
|
|
@@ -19,6 +19,7 @@ export { default as Pattern } from './Pattern';
|
|
|
19
19
|
export { default as PatternJson } from './PatternJson';
|
|
20
20
|
export { default as Result } from './Result';
|
|
21
21
|
export { default as ResultJson } from './ResultJson';
|
|
22
|
+
export { default as ShowCoordinates } from './ShowCoordinates';
|
|
22
23
|
export { default as Tile } from './Tile';
|
|
23
24
|
export { default as TileConfig } from './TileConfig';
|
|
24
25
|
export { default as TileJson, isTileJson } from './TileJson';
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.crawl = void 0;
|
|
4
|
+
const types_1 = require("@scrabble-solver/types");
|
|
5
|
+
const languages_1 = require("./languages");
|
|
6
|
+
const crawlPerLocale = {
|
|
7
|
+
[types_1.Locale.DE_DE]: languages_1.german.crawl,
|
|
8
|
+
[types_1.Locale.EN_GB]: languages_1.english.crawl,
|
|
9
|
+
[types_1.Locale.EN_US]: languages_1.english.crawl,
|
|
10
|
+
[types_1.Locale.ES_ES]: languages_1.spanish.crawl,
|
|
11
|
+
[types_1.Locale.FA_IR]: languages_1.persian.crawl,
|
|
12
|
+
[types_1.Locale.FR_FR]: languages_1.french.crawl,
|
|
13
|
+
[types_1.Locale.PL_PL]: languages_1.polish.crawl,
|
|
14
|
+
[types_1.Locale.RO_RO]: languages_1.romanian.crawl,
|
|
15
|
+
};
|
|
16
|
+
const crawl = (locale, word) => {
|
|
17
|
+
return crawlPerLocale[locale](word);
|
|
18
|
+
};
|
|
19
|
+
exports.crawl = crawl;
|
|
@@ -1,3 +1,2 @@
|
|
|
1
1
|
import { Locale, WordDefinition } from '@scrabble-solver/types';
|
|
2
|
-
declare const getWordDefinition: (locale: Locale, word: string, isAllowed: boolean) => Promise<WordDefinition>;
|
|
3
|
-
export default getWordDefinition;
|
|
2
|
+
export declare const getWordDefinition: (locale: Locale, word: string, isAllowed: boolean) => Promise<WordDefinition>;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getWordDefinition = void 0;
|
|
3
4
|
const types_1 = require("@scrabble-solver/types");
|
|
4
5
|
const crawl_1 = require("./crawl");
|
|
5
6
|
const parse_1 = require("./parse");
|
|
@@ -9,4 +10,4 @@ const getWordDefinition = async (locale, word, isAllowed) => {
|
|
|
9
10
|
const wordDefinition = new types_1.WordDefinition({ definitions, exists, isAllowed, word });
|
|
10
11
|
return wordDefinition;
|
|
11
12
|
};
|
|
12
|
-
exports.
|
|
13
|
+
exports.getWordDefinition = getWordDefinition;
|
|
@@ -13,13 +13,11 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
|
|
|
13
13
|
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
17
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
18
|
-
};
|
|
19
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
17
|
exports.getWordDefinition = void 0;
|
|
21
18
|
var getWordDefinition_1 = require("./getWordDefinition");
|
|
22
|
-
Object.defineProperty(exports, "getWordDefinition", { enumerable: true, get: function () { return
|
|
19
|
+
Object.defineProperty(exports, "getWordDefinition", { enumerable: true, get: function () { return getWordDefinition_1.getWordDefinition; } });
|
|
23
20
|
__exportStar(require("./crawl"), exports);
|
|
21
|
+
__exportStar(require("./languages"), exports);
|
|
24
22
|
__exportStar(require("./lib"), exports);
|
|
25
23
|
__exportStar(require("./parse"), exports);
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parse = exports.crawl = void 0;
|
|
4
|
+
const cheerio_1 = require("cheerio");
|
|
5
|
+
const lib_1 = require("../lib");
|
|
6
|
+
const DOES_NOT_EXIST_MESSAGE =
|
|
7
|
+
// eslint-disable-next-line max-len
|
|
8
|
+
"The word you've entered isn't in the dictionary. Click on a spelling suggestion below or try again using the search bar above.";
|
|
9
|
+
const crawl = (word) => {
|
|
10
|
+
return (0, lib_1.request)({
|
|
11
|
+
protocol: 'https',
|
|
12
|
+
hostname: 'www.merriam-webster.com',
|
|
13
|
+
path: `/dictionary/${encodeURIComponent(word)}`,
|
|
14
|
+
});
|
|
15
|
+
};
|
|
16
|
+
exports.crawl = crawl;
|
|
17
|
+
const parse = (html) => {
|
|
18
|
+
const $ = (0, cheerio_1.load)(html);
|
|
19
|
+
$('strong.mw_t_bc').replaceWith(', ');
|
|
20
|
+
$('.text-lowercase').remove();
|
|
21
|
+
$('.sub-content-thread').remove();
|
|
22
|
+
const $definitions = $('[id^=dictionary-entry]').find('.dtText, .cxl-ref');
|
|
23
|
+
return {
|
|
24
|
+
definitions: Array.from($definitions).map((definition) => $(definition).text().replace(/\n/g, '')),
|
|
25
|
+
exists: $('.spelling-suggestion-text').text().trim() !== DOES_NOT_EXIST_MESSAGE,
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
exports.parse = parse;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parse = exports.crawl = void 0;
|
|
4
|
+
const cheerio_1 = require("cheerio");
|
|
5
|
+
const lib_1 = require("../lib");
|
|
6
|
+
const crawl = (word) => {
|
|
7
|
+
return (0, lib_1.request)({
|
|
8
|
+
protocol: 'https',
|
|
9
|
+
hostname: 'www.cnrtl.fr',
|
|
10
|
+
path: `/definition/${encodeURIComponent(word)}`,
|
|
11
|
+
});
|
|
12
|
+
};
|
|
13
|
+
exports.crawl = crawl;
|
|
14
|
+
const parse = (html) => {
|
|
15
|
+
const $ = (0, cheerio_1.load)(html);
|
|
16
|
+
const $definitions = $('.tlf_cdefinition');
|
|
17
|
+
return {
|
|
18
|
+
definitions: Array.from($definitions).map((definition) => $(definition).text()),
|
|
19
|
+
exists: $('#vitemselected span').length > 0,
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
exports.parse = parse;
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parse = exports.crawl = void 0;
|
|
4
|
+
const cheerio_1 = require("cheerio");
|
|
5
|
+
const lib_1 = require("../lib");
|
|
6
|
+
const crawl = (word) => {
|
|
7
|
+
return (0, lib_1.request)({
|
|
8
|
+
protocol: 'https',
|
|
9
|
+
hostname: 'www.dwds.de',
|
|
10
|
+
path: `/wb/${encodeURIComponent(word)}`,
|
|
11
|
+
});
|
|
12
|
+
};
|
|
13
|
+
exports.crawl = crawl;
|
|
14
|
+
const parse = (html) => {
|
|
15
|
+
const $ = (0, cheerio_1.load)(html);
|
|
16
|
+
const definitions = [parseBedeutungsubersicht, parseBedeutungen, parseBedeutung].reduce((results, parseDefinition) => (results.length === 0 ? parseDefinition($) : results), []);
|
|
17
|
+
const exists = Array.from($('.label-danger')).every((label) => $(label).text() !== 'Hinweis');
|
|
18
|
+
return { definitions, exists };
|
|
19
|
+
};
|
|
20
|
+
exports.parse = parse;
|
|
21
|
+
const parseBedeutungsubersicht = ($) => {
|
|
22
|
+
Array.from($('.bedeutungsuebersicht ol > li > a')).forEach((item) => {
|
|
23
|
+
$(item).text($(item).text().replace(/\n/g, ''));
|
|
24
|
+
});
|
|
25
|
+
Array.from($('.bedeutungsuebersicht ol > li > ol > li')).forEach((item) => {
|
|
26
|
+
const text = `\n${$(item).text().replace(/\n/g, '')}`;
|
|
27
|
+
const $text = $(`<div>${text}</div>`);
|
|
28
|
+
$(item).replaceWith($text);
|
|
29
|
+
});
|
|
30
|
+
Array.from($('.bedeutungsuebersicht ol > li > ol')).forEach((list) => {
|
|
31
|
+
const $list = $(list);
|
|
32
|
+
const html = $list.html() || '';
|
|
33
|
+
const $html = $(`<div>${html}</div>`);
|
|
34
|
+
const $prev = $list.prev('a');
|
|
35
|
+
if ($prev) {
|
|
36
|
+
$prev.append($html);
|
|
37
|
+
$(list).remove();
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
$(list).replaceWith($html);
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
return parseDefinitions($, $('.bedeutungsuebersicht ol > li'));
|
|
44
|
+
};
|
|
45
|
+
const parseBedeutung = ($) => {
|
|
46
|
+
return parseDefinitions($, $('.dwdswb-lesart .dwdswb-definition-spezifizierung'));
|
|
47
|
+
};
|
|
48
|
+
const parseBedeutungen = ($) => {
|
|
49
|
+
const definitions = parseDefinitions($, $('.dwdswb-lesart .dwdswb-definition'));
|
|
50
|
+
if (definitions.length > 0) {
|
|
51
|
+
return definitions;
|
|
52
|
+
}
|
|
53
|
+
const $references = $('.dwdswb-lesart .dwdswb-verweis');
|
|
54
|
+
const references = Array.from($references).reduce((result, reference) => {
|
|
55
|
+
const html = reference.attribs['data-content'] || '<span />';
|
|
56
|
+
const values = $(html)
|
|
57
|
+
.text()
|
|
58
|
+
.split(';')
|
|
59
|
+
.map((value) => value.trim());
|
|
60
|
+
return result.concat(values);
|
|
61
|
+
}, []);
|
|
62
|
+
return references;
|
|
63
|
+
};
|
|
64
|
+
const parseDefinitions = ($, $definitions) => {
|
|
65
|
+
return Array.from($definitions).map((definition) => $(definition)
|
|
66
|
+
.text()
|
|
67
|
+
.replace(/[ ]+/g, ' ')
|
|
68
|
+
.replace(/[ ]\n/g, '\n')
|
|
69
|
+
.replace(/^[0-9]+\.\s/g, ''));
|
|
70
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export * as english from './english';
|
|
2
|
+
export * as german from './german';
|
|
3
|
+
export * as french from './french';
|
|
4
|
+
export * as persian from './persian';
|
|
5
|
+
export * as polish from './polish';
|
|
6
|
+
export * as romanian from './romanian';
|
|
7
|
+
export * as spanish from './spanish';
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.spanish = exports.romanian = exports.polish = exports.persian = exports.french = exports.german = exports.english = void 0;
|
|
27
|
+
exports.english = __importStar(require("./english"));
|
|
28
|
+
exports.german = __importStar(require("./german"));
|
|
29
|
+
exports.french = __importStar(require("./french"));
|
|
30
|
+
exports.persian = __importStar(require("./persian"));
|
|
31
|
+
exports.polish = __importStar(require("./polish"));
|
|
32
|
+
exports.romanian = __importStar(require("./romanian"));
|
|
33
|
+
exports.spanish = __importStar(require("./spanish"));
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parse = exports.crawl = void 0;
|
|
4
|
+
const cheerio_1 = require("cheerio");
|
|
5
|
+
const lib_1 = require("../lib");
|
|
6
|
+
const DOES_NOT_EXIST_MESSAGE = '404 Page Not Found';
|
|
7
|
+
const crawl = (word) => {
|
|
8
|
+
return (0, lib_1.request)({
|
|
9
|
+
protocol: 'https',
|
|
10
|
+
hostname: 'www.vajehyab.com',
|
|
11
|
+
path: `/moein/${encodeURIComponent(word)}`,
|
|
12
|
+
});
|
|
13
|
+
};
|
|
14
|
+
exports.crawl = crawl;
|
|
15
|
+
const parse = (html) => {
|
|
16
|
+
const $ = (0, cheerio_1.load)(html);
|
|
17
|
+
const $definitions = $('[itemprop=articleBody]');
|
|
18
|
+
return {
|
|
19
|
+
definitions: Array.from($definitions).map((definition) => $(definition).text()),
|
|
20
|
+
exists: $('#container h1').text() !== DOES_NOT_EXIST_MESSAGE,
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
exports.parse = parse;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parse = exports.crawl = void 0;
|
|
4
|
+
const cheerio_1 = require("cheerio");
|
|
5
|
+
const lib_1 = require("../lib");
|
|
6
|
+
const crawl = (word) => {
|
|
7
|
+
return (0, lib_1.request)({
|
|
8
|
+
protocol: 'https',
|
|
9
|
+
hostname: 'sjp.pl',
|
|
10
|
+
path: `/${encodeURIComponent(word)}`,
|
|
11
|
+
});
|
|
12
|
+
};
|
|
13
|
+
exports.crawl = crawl;
|
|
14
|
+
const parse = (html) => {
|
|
15
|
+
const $ = (0, cheerio_1.load)(html);
|
|
16
|
+
const $header = $($('h1')[0]);
|
|
17
|
+
const $isAllowed = $header.next();
|
|
18
|
+
const $definitions = $header.next().next().next().next();
|
|
19
|
+
return {
|
|
20
|
+
definitions: $definitions.text().trim().split(/\d+\./),
|
|
21
|
+
exists: $isAllowed.text().trim().indexOf('dopuszczalne w grach') >= 0,
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
exports.parse = parse;
|