scrabble-solver 2.12.5 → 2.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -9
- package/lerna.json +1 -1
- package/package.json +1 -1
- package/packages/configs/build/locales/index.d.ts +1 -0
- package/packages/configs/build/locales/index.js +3 -1
- package/packages/configs/build/locales/roRo.d.ts +3 -0
- package/packages/configs/build/locales/roRo.js +35 -0
- package/packages/configs/package.json +3 -3
- package/packages/configs/src/locales/index.ts +1 -0
- package/packages/configs/src/locales/roRo.ts +36 -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_ID +1 -1
- package/packages/scrabble-solver/.next/build-manifest.json +4 -4
- 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/next-server.js.nft.json +1 -1
- package/packages/scrabble-solver/.next/cache/webpack/client-production/0.pack +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/client-production/index.pack +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/index.pack +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/server-production/0.pack +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/server-production/index.pack +0 -0
- package/packages/scrabble-solver/.next/next-server.js.nft.json +1 -1
- package/packages/scrabble-solver/.next/prerender-manifest.json +1 -1
- package/packages/scrabble-solver/.next/routes-manifest.json +1 -1
- package/packages/scrabble-solver/.next/server/chunks/277.js +126 -39
- package/packages/scrabble-solver/.next/server/chunks/44.js +67 -18
- package/packages/scrabble-solver/.next/server/chunks/865.js +16 -4
- package/packages/scrabble-solver/.next/server/chunks/911.js +45 -1
- package/packages/scrabble-solver/.next/server/middleware-build-manifest.js +1 -1
- package/packages/scrabble-solver/.next/server/pages/404.html +1 -1
- package/packages/scrabble-solver/.next/server/pages/404.js.nft.json +1 -1
- package/packages/scrabble-solver/.next/server/pages/500.html +1 -1
- package/packages/scrabble-solver/.next/server/pages/_app.js.nft.json +1 -1
- package/packages/scrabble-solver/.next/server/pages/_document.js.nft.json +1 -1
- package/packages/scrabble-solver/.next/server/pages/api/dictionary/[locale]/[word].js +48 -1
- package/packages/scrabble-solver/.next/server/pages/api/solve.js +8 -4
- package/packages/scrabble-solver/.next/server/pages/index.html +1 -1
- package/packages/scrabble-solver/.next/server/pages/index.js +9 -9
- package/packages/scrabble-solver/.next/server/pages/index.js.nft.json +1 -1
- package/packages/scrabble-solver/.next/server/pages/index.json +1 -1
- package/packages/scrabble-solver/.next/server/pages-manifest.json +1 -1
- package/packages/scrabble-solver/.next/static/{aKRf05U1XHnDU2-82b9mQ → CltG6_MGtxzoDJ0EuX7kt}/_buildManifest.js +1 -1
- package/packages/scrabble-solver/.next/static/chunks/pages/_app-9c8edd7786319b76.js +32 -0
- package/packages/scrabble-solver/.next/static/chunks/pages/{index-82b2939158c7729f.js → index-f56eaa969a831c70.js} +1 -1
- package/packages/scrabble-solver/.next/trace +51 -51
- package/packages/scrabble-solver/package-lock.json +2 -2
- package/packages/scrabble-solver/package.json +8 -8
- package/packages/scrabble-solver/src/i18n/constants.ts +12 -1
- package/packages/scrabble-solver/src/i18n/i18n.ts +2 -0
- package/packages/scrabble-solver/src/i18n/ro.json +70 -0
- package/packages/scrabble-solver/src/icons/FlagRo.svg +5 -0
- package/packages/scrabble-solver/src/icons/index.ts +1 -0
- package/packages/scrabble-solver/src/lib/detectLocale.ts +10 -4
- package/packages/solver/package-lock.json +2 -2
- package/packages/solver/package.json +5 -5
- package/packages/types/build/Locale.d.ts +2 -1
- package/packages/types/build/Locale.js +1 -0
- package/packages/types/package.json +2 -2
- package/packages/types/src/Locale.ts +1 -0
- package/packages/word-definitions/build/crawl/crawl.js +2 -0
- package/packages/word-definitions/build/crawl/crawlRomanian.d.ts +2 -0
- package/packages/word-definitions/build/crawl/crawlRomanian.js +11 -0
- package/packages/word-definitions/build/parse/index.d.ts +1 -0
- package/packages/word-definitions/build/parse/index.js +3 -1
- package/packages/word-definitions/build/parse/parse.js +2 -0
- package/packages/word-definitions/build/parse/parseRomanian.d.ts +3 -0
- package/packages/word-definitions/build/parse/parseRomanian.js +16 -0
- package/packages/word-definitions/package-lock.json +20 -161
- package/packages/word-definitions/package.json +2 -2
- package/packages/word-definitions/src/crawl/crawl.ts +2 -0
- package/packages/word-definitions/src/crawl/crawlRomanian.ts +11 -0
- package/packages/word-definitions/src/parse/__tests__/expected/ro-RO.aciua.json +7 -0
- package/packages/word-definitions/src/parse/__tests__/input/ro-RO.aciua.html +33 -0
- package/packages/word-definitions/src/parse/index.ts +1 -0
- package/packages/word-definitions/src/parse/parse.test.ts +1 -0
- package/packages/word-definitions/src/parse/parse.ts +2 -0
- package/packages/word-definitions/src/parse/parseRomanian.ts +20 -0
- package/packages/word-lists/build/getPlPlWordList.js +1 -17
- package/packages/word-lists/build/getRoRoWordList.d.ts +2 -0
- package/packages/word-lists/build/getRoRoWordList.js +23 -0
- package/packages/word-lists/build/getWordList.js +2 -0
- package/packages/word-lists/build/lib/index.d.ts +1 -0
- package/packages/word-lists/build/lib/index.js +3 -1
- package/packages/word-lists/build/lib/unzip.d.ts +2 -0
- package/packages/word-lists/build/lib/unzip.js +23 -0
- package/packages/word-lists/package-lock.json +2 -2
- package/packages/word-lists/package.json +2 -2
- package/packages/word-lists/src/getPlPlWordList.ts +2 -19
- package/packages/word-lists/src/getRoRoWordList.ts +23 -0
- package/packages/word-lists/src/getWordList.ts +2 -0
- package/packages/word-lists/src/lib/index.ts +1 -0
- package/packages/word-lists/src/lib/unzip.ts +20 -0
- package/packages/scrabble-solver/.next/static/chunks/pages/_app-e7f3d1c9c09c8f91.js +0 -32
- /package/packages/scrabble-solver/.next/static/{aKRf05U1XHnDU2-82b9mQ → CltG6_MGtxzoDJ0EuX7kt}/_ssgManifest.js +0 -0
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@scrabble-solver/scrabble-solver",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.13.0",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "@scrabble-solver/scrabble-solver",
|
|
9
|
-
"version": "2.
|
|
9
|
+
"version": "2.13.0",
|
|
10
10
|
"license": "CC BY-NC-ND 4.0",
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@floating-ui/react": "^0.22.3",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@scrabble-solver/scrabble-solver",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.13.0",
|
|
4
4
|
"description": "Scrabble Solver 2 - App",
|
|
5
5
|
"engines": {
|
|
6
6
|
"node": ">=16"
|
|
@@ -31,13 +31,13 @@
|
|
|
31
31
|
"@floating-ui/react": "^0.22.3",
|
|
32
32
|
"@kamilmielnik/trie": "^2.0.1",
|
|
33
33
|
"@reduxjs/toolkit": "^1.9.3",
|
|
34
|
-
"@scrabble-solver/configs": "^2.
|
|
35
|
-
"@scrabble-solver/constants": "^2.
|
|
36
|
-
"@scrabble-solver/dictionaries": "^2.
|
|
37
|
-
"@scrabble-solver/logger": "^2.
|
|
38
|
-
"@scrabble-solver/solver": "^2.
|
|
39
|
-
"@scrabble-solver/types": "^2.
|
|
40
|
-
"@scrabble-solver/word-definitions": "^2.
|
|
34
|
+
"@scrabble-solver/configs": "^2.13.0",
|
|
35
|
+
"@scrabble-solver/constants": "^2.13.0",
|
|
36
|
+
"@scrabble-solver/dictionaries": "^2.13.0",
|
|
37
|
+
"@scrabble-solver/logger": "^2.13.0",
|
|
38
|
+
"@scrabble-solver/solver": "^2.13.0",
|
|
39
|
+
"@scrabble-solver/types": "^2.13.0",
|
|
40
|
+
"@scrabble-solver/word-definitions": "^2.13.0",
|
|
41
41
|
"classnames": "^2.3.2",
|
|
42
42
|
"include-media": "^2.0.0",
|
|
43
43
|
"include-media-query-builder": "^1.1.0",
|
|
@@ -2,7 +2,7 @@ import { COMMA_ARABIC, COMMA_LATIN } from '@scrabble-solver/constants';
|
|
|
2
2
|
import { Locale } from '@scrabble-solver/types';
|
|
3
3
|
import { FunctionComponent, SVGAttributes } from 'react';
|
|
4
4
|
|
|
5
|
-
import { FlagDe, FlagEs, FlagFa, FlagFr, FlagGb, FlagPl, FlagUs } from 'icons';
|
|
5
|
+
import { FlagDe, FlagEs, FlagFa, FlagFr, FlagGb, FlagPl, FlagRo, FlagUs } from 'icons';
|
|
6
6
|
|
|
7
7
|
interface LocaleFeatures {
|
|
8
8
|
comma: string;
|
|
@@ -94,4 +94,15 @@ export const LOCALE_FEATURES: Record<Locale, LocaleFeatures> = {
|
|
|
94
94
|
separator: `${COMMA_LATIN} `,
|
|
95
95
|
vowels: true,
|
|
96
96
|
},
|
|
97
|
+
[Locale.RO_RO]: {
|
|
98
|
+
comma: COMMA_LATIN,
|
|
99
|
+
consonants: true,
|
|
100
|
+
direction: 'ltr',
|
|
101
|
+
Icon: FlagRo,
|
|
102
|
+
label: 'Română',
|
|
103
|
+
locale: Locale.RO_RO,
|
|
104
|
+
name: 'Romanian',
|
|
105
|
+
separator: `${COMMA_LATIN} `,
|
|
106
|
+
vowels: true,
|
|
107
|
+
},
|
|
97
108
|
};
|
|
@@ -8,6 +8,7 @@ import es from './es.json';
|
|
|
8
8
|
import fa from './fa.json';
|
|
9
9
|
import fr from './fr.json';
|
|
10
10
|
import pl from './pl.json';
|
|
11
|
+
import ro from './ro.json';
|
|
11
12
|
|
|
12
13
|
const i18n: Record<Locale, Translations> = {
|
|
13
14
|
[Locale.DE_DE]: de,
|
|
@@ -17,6 +18,7 @@ const i18n: Record<Locale, Translations> = {
|
|
|
17
18
|
[Locale.FA_IR]: fa,
|
|
18
19
|
[Locale.FR_FR]: fr,
|
|
19
20
|
[Locale.PL_PL]: pl,
|
|
21
|
+
[Locale.RO_RO]: ro,
|
|
20
22
|
};
|
|
21
23
|
|
|
22
24
|
export default i18n;
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
{
|
|
2
|
+
"cell.enter-word": "Introducere cuvant",
|
|
3
|
+
"cell.filter-cell": "Destinatia",
|
|
4
|
+
"cell.set-blank": "Marcare camp liber",
|
|
5
|
+
"cell.set-not-blank": "Marcare camp ocupat ",
|
|
6
|
+
"cell.tile.location": "Tabla: camp ({{x}}, {{y}})",
|
|
7
|
+
"cell.toggle-direction": "Directie scriere",
|
|
8
|
+
"common.blanks": "Campuri libere",
|
|
9
|
+
"common.clear": "Stergere",
|
|
10
|
+
"common.close": "Inchidere",
|
|
11
|
+
"common.consonants": "Consoane",
|
|
12
|
+
"common.loading": "Incarcare",
|
|
13
|
+
"common.next": "Pasul urmator",
|
|
14
|
+
"common.points": "Puncte",
|
|
15
|
+
"common.previous": "Pasul anterior",
|
|
16
|
+
"common.tiles": "Piese",
|
|
17
|
+
"common.two-letter-tiles": "2 litere",
|
|
18
|
+
"common.vowels": "Vocale",
|
|
19
|
+
"common.word": "Cuvant",
|
|
20
|
+
"common.words": "Cuvinte",
|
|
21
|
+
"dictionary": "Dictionar",
|
|
22
|
+
"dictionary.empty-state.no-definitions": "Cuvantul exista in dictionar dar nu are o definitie.",
|
|
23
|
+
"dictionary.empty-state.no-results": "Definitia nu a fost gasita in dictionar",
|
|
24
|
+
"dictionary.empty-state.not-allowed": "Cuvantul nu este permis.",
|
|
25
|
+
"dictionary.empty-state.uninitialized": "Aici va fi definitia cuvantului.",
|
|
26
|
+
"dictionary.input.placeholder": "Cautare dictionar…",
|
|
27
|
+
"dictionary.input.title": "Cuvinte separate prin virgula",
|
|
28
|
+
"empty-state.error": "Eroare",
|
|
29
|
+
"empty-state.info": "Informatii",
|
|
30
|
+
"empty-state.success": "Succes",
|
|
31
|
+
"empty-state.warning": "Atentionare",
|
|
32
|
+
"github": "Vezi acest proiect pe GitHub",
|
|
33
|
+
"keyMap": "Comanda rapida la tastatura",
|
|
34
|
+
"keyMap.board": "Tabla joc",
|
|
35
|
+
"keyMap.board.toggle-blank": "Marcheaza/Deselecteaza campul ca liber",
|
|
36
|
+
"keyMap.board.toggle-direction": "Schimbati directia de tastare",
|
|
37
|
+
"keyMap.board-and-rack": "Tabla si literele extrase",
|
|
38
|
+
"keyMap.board-and-rack.insert-two-letter-tile": "Introducere piesa 2 litere",
|
|
39
|
+
"keyMap.board-and-rack.navigate": "Navigare",
|
|
40
|
+
"keyMap.board-and-rack.remove-tile": "Indeparteaza piesa",
|
|
41
|
+
"keyMap.board-and-rack.submit": "Pornire cautare",
|
|
42
|
+
"keyMap.rack": "Grupa litere",
|
|
43
|
+
"keyMap.rack.insert-blank": "Introduce camp liber (spacebar)",
|
|
44
|
+
"menu": "Meniu",
|
|
45
|
+
"rack.placeholder": "Litere…",
|
|
46
|
+
"rack.tile.location": "Grupa litere: piesa ({{index}})",
|
|
47
|
+
"rack.touchscreen.placeholder": "Litere…",
|
|
48
|
+
"remaining-tiles": "Litere ramase",
|
|
49
|
+
"results": "Rezultate",
|
|
50
|
+
"results.empty-state.no-results": "Nu a fost gasit nici un rezultat.",
|
|
51
|
+
"results.empty-state.outdated": "Rezultatele nu sunt actuale.",
|
|
52
|
+
"results.empty-state.uninitialized": "Cuvintele formate din literele tale vor fi afisate aici.",
|
|
53
|
+
"results.input.placeholder": "Cautare solutii... (RegExp)",
|
|
54
|
+
"results.insert": "Introducere",
|
|
55
|
+
"results.preview": "Previzualizare",
|
|
56
|
+
"results.solve": "Gasire solutii",
|
|
57
|
+
"settings": "Setari",
|
|
58
|
+
"settings.autoGroupTiles": "Litere ramase",
|
|
59
|
+
"settings.autoGroupTiles.left": "In partea stanga",
|
|
60
|
+
"settings.autoGroupTiles.right": "In partea dreapta",
|
|
61
|
+
"settings.autoGroupTiles.null": "Nu se grupeaza",
|
|
62
|
+
"settings.game": "Joc",
|
|
63
|
+
"settings.inputMode": "Mod introducere",
|
|
64
|
+
"settings.inputMode.keyboard": "Tastatura",
|
|
65
|
+
"settings.inputMode.touchscreen": "Ecran",
|
|
66
|
+
"settings.language": "Limba",
|
|
67
|
+
"words": "Cuvinte create",
|
|
68
|
+
"words.invalid": "Invalid",
|
|
69
|
+
"words.valid": "Valid"
|
|
70
|
+
}
|
|
@@ -27,6 +27,7 @@ export { default as FlagFill } from './FlagFill.svg';
|
|
|
27
27
|
export { default as FlagFr } from './FlagFr.svg';
|
|
28
28
|
export { default as FlagGb } from './FlagGb.svg';
|
|
29
29
|
export { default as FlagPl } from './FlagPl.svg';
|
|
30
|
+
export { default as FlagRo } from './FlagRo.svg';
|
|
30
31
|
export { default as FlagUs } from './FlagUs.svg';
|
|
31
32
|
export { default as Github } from './Github.svg';
|
|
32
33
|
export { default as InfoCircleFill } from './InfoCircleFill.svg';
|
|
@@ -1,22 +1,28 @@
|
|
|
1
1
|
import { Locale } from '@scrabble-solver/types';
|
|
2
2
|
|
|
3
3
|
const detectLocale = (): Locale => {
|
|
4
|
-
|
|
4
|
+
const languages = window.navigator.languages;
|
|
5
|
+
|
|
6
|
+
if (languages.includes('pl') || languages.includes('pl-PL')) {
|
|
5
7
|
return Locale.PL_PL;
|
|
6
8
|
}
|
|
7
9
|
|
|
8
|
-
if (
|
|
10
|
+
if (languages.includes('en-GB')) {
|
|
9
11
|
return Locale.EN_GB;
|
|
10
12
|
}
|
|
11
13
|
|
|
12
|
-
if (
|
|
14
|
+
if (languages.includes('fa') || languages.includes('fa-IR')) {
|
|
13
15
|
return Locale.FA_IR;
|
|
14
16
|
}
|
|
15
17
|
|
|
16
|
-
if (
|
|
18
|
+
if (languages.includes('fr-FR')) {
|
|
17
19
|
return Locale.FR_FR;
|
|
18
20
|
}
|
|
19
21
|
|
|
22
|
+
if (languages.includes('ro') || languages.includes('ro-RO')) {
|
|
23
|
+
return Locale.RO_RO;
|
|
24
|
+
}
|
|
25
|
+
|
|
20
26
|
return Locale.EN_US;
|
|
21
27
|
};
|
|
22
28
|
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@scrabble-solver/solver",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.13.0",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "@scrabble-solver/solver",
|
|
9
|
-
"version": "2.
|
|
9
|
+
"version": "2.13.0",
|
|
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.
|
|
3
|
+
"version": "2.13.0",
|
|
4
4
|
"description": "Scrabble Solver 2 - Solver",
|
|
5
5
|
"main": "build/index.js",
|
|
6
6
|
"types": "build/index.d.ts",
|
|
@@ -25,12 +25,12 @@
|
|
|
25
25
|
},
|
|
26
26
|
"dependencies": {
|
|
27
27
|
"@kamilmielnik/trie": "^2.0.1",
|
|
28
|
-
"@scrabble-solver/types": "^2.
|
|
28
|
+
"@scrabble-solver/types": "^2.13.0"
|
|
29
29
|
},
|
|
30
30
|
"devDependencies": {
|
|
31
|
-
"@scrabble-solver/configs": "^2.
|
|
32
|
-
"@scrabble-solver/constants": "^2.
|
|
33
|
-
"@scrabble-solver/dictionaries": "^2.
|
|
31
|
+
"@scrabble-solver/configs": "^2.13.0",
|
|
32
|
+
"@scrabble-solver/constants": "^2.13.0",
|
|
33
|
+
"@scrabble-solver/dictionaries": "^2.13.0"
|
|
34
34
|
},
|
|
35
35
|
"gitHead": "1e2d1ad49a288d4a44196d8e3336740da132c637"
|
|
36
36
|
}
|
|
@@ -15,6 +15,7 @@ var Locale;
|
|
|
15
15
|
Locale["FA_IR"] = "fa-IR";
|
|
16
16
|
Locale["FR_FR"] = "fr-FR";
|
|
17
17
|
Locale["PL_PL"] = "pl-PL";
|
|
18
|
+
Locale["RO_RO"] = "ro-RO";
|
|
18
19
|
})(Locale || (Locale = {}));
|
|
19
20
|
const locales = Object.values(Locale);
|
|
20
21
|
const isLocale = (locale) => locales.includes(locale);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@scrabble-solver/types",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.13.0",
|
|
4
4
|
"description": "Scrabble Solver 2 - Types",
|
|
5
5
|
"main": "build/index.js",
|
|
6
6
|
"types": "build/index.d.ts",
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"clean:force": "npm run clean && rimraf package-lock.json"
|
|
25
25
|
},
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"@scrabble-solver/constants": "^2.
|
|
27
|
+
"@scrabble-solver/constants": "^2.13.0"
|
|
28
28
|
},
|
|
29
29
|
"gitHead": "1e2d1ad49a288d4a44196d8e3336740da132c637"
|
|
30
30
|
}
|
|
@@ -9,6 +9,7 @@ const crawlFarsi_1 = __importDefault(require("./crawlFarsi"));
|
|
|
9
9
|
const crawlFrench_1 = __importDefault(require("./crawlFrench"));
|
|
10
10
|
const crawlGerman_1 = __importDefault(require("./crawlGerman"));
|
|
11
11
|
const crawlPolish_1 = __importDefault(require("./crawlPolish"));
|
|
12
|
+
const crawlRomanian_1 = __importDefault(require("./crawlRomanian"));
|
|
12
13
|
const crawlSpanish_1 = __importDefault(require("./crawlSpanish"));
|
|
13
14
|
const crawlPerLocale = {
|
|
14
15
|
[types_1.Locale.DE_DE]: crawlGerman_1.default,
|
|
@@ -18,6 +19,7 @@ const crawlPerLocale = {
|
|
|
18
19
|
[types_1.Locale.FA_IR]: crawlFarsi_1.default,
|
|
19
20
|
[types_1.Locale.FR_FR]: crawlFrench_1.default,
|
|
20
21
|
[types_1.Locale.PL_PL]: crawlPolish_1.default,
|
|
22
|
+
[types_1.Locale.RO_RO]: crawlRomanian_1.default,
|
|
21
23
|
};
|
|
22
24
|
const crawl = (locale, word) => {
|
|
23
25
|
return crawlPerLocale[locale](word);
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const lib_1 = require("../lib");
|
|
4
|
+
const crawlRomanian = (word) => {
|
|
5
|
+
return (0, lib_1.request)({
|
|
6
|
+
protocol: 'https',
|
|
7
|
+
hostname: 'dexonline.ro',
|
|
8
|
+
path: `/definitie/${encodeURIComponent(word)}`,
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
exports.default = crawlRomanian;
|
|
@@ -4,4 +4,5 @@ export { default as parseFarsi } from './parseFarsi';
|
|
|
4
4
|
export { default as parseFrench } from './parseFrench';
|
|
5
5
|
export { default as parseGerman } from './parseGerman';
|
|
6
6
|
export { default as parsePolish } from './parsePolish';
|
|
7
|
+
export { default as parseRomanian } from './parseRomanian';
|
|
7
8
|
export { default as parseSpanish } from './parseSpanish';
|
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.parseSpanish = exports.parsePolish = exports.parseGerman = exports.parseFrench = exports.parseFarsi = exports.parseEnglish = exports.parse = void 0;
|
|
6
|
+
exports.parseSpanish = exports.parseRomanian = exports.parsePolish = exports.parseGerman = exports.parseFrench = exports.parseFarsi = exports.parseEnglish = exports.parse = void 0;
|
|
7
7
|
var parse_1 = require("./parse");
|
|
8
8
|
Object.defineProperty(exports, "parse", { enumerable: true, get: function () { return __importDefault(parse_1).default; } });
|
|
9
9
|
var parseEnglish_1 = require("./parseEnglish");
|
|
@@ -16,5 +16,7 @@ var parseGerman_1 = require("./parseGerman");
|
|
|
16
16
|
Object.defineProperty(exports, "parseGerman", { enumerable: true, get: function () { return __importDefault(parseGerman_1).default; } });
|
|
17
17
|
var parsePolish_1 = require("./parsePolish");
|
|
18
18
|
Object.defineProperty(exports, "parsePolish", { enumerable: true, get: function () { return __importDefault(parsePolish_1).default; } });
|
|
19
|
+
var parseRomanian_1 = require("./parseRomanian");
|
|
20
|
+
Object.defineProperty(exports, "parseRomanian", { enumerable: true, get: function () { return __importDefault(parseRomanian_1).default; } });
|
|
19
21
|
var parseSpanish_1 = require("./parseSpanish");
|
|
20
22
|
Object.defineProperty(exports, "parseSpanish", { enumerable: true, get: function () { return __importDefault(parseSpanish_1).default; } });
|
|
@@ -10,6 +10,7 @@ const parseFarsi_1 = __importDefault(require("./parseFarsi"));
|
|
|
10
10
|
const parseFrench_1 = __importDefault(require("./parseFrench"));
|
|
11
11
|
const parseGerman_1 = __importDefault(require("./parseGerman"));
|
|
12
12
|
const parsePolish_1 = __importDefault(require("./parsePolish"));
|
|
13
|
+
const parseRomanian_1 = __importDefault(require("./parseRomanian"));
|
|
13
14
|
const parseSpanish_1 = __importDefault(require("./parseSpanish"));
|
|
14
15
|
const parsePerLocale = {
|
|
15
16
|
[types_1.Locale.DE_DE]: parseGerman_1.default,
|
|
@@ -19,6 +20,7 @@ const parsePerLocale = {
|
|
|
19
20
|
[types_1.Locale.FA_IR]: parseFarsi_1.default,
|
|
20
21
|
[types_1.Locale.FR_FR]: parseFrench_1.default,
|
|
21
22
|
[types_1.Locale.PL_PL]: parsePolish_1.default,
|
|
23
|
+
[types_1.Locale.RO_RO]: parseRomanian_1.default,
|
|
22
24
|
};
|
|
23
25
|
const parse = (locale, html) => {
|
|
24
26
|
const { definitions, exists } = parsePerLocale[locale](html);
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const cheerio_1 = require("cheerio");
|
|
4
|
+
const parseRomanian = (html) => {
|
|
5
|
+
const $ = (0, cheerio_1.load)(html);
|
|
6
|
+
const $activeTab = $('.tab-pane.show.active');
|
|
7
|
+
$('.type-example').remove();
|
|
8
|
+
const $definitions = $activeTab.find('li.type-meaning.depth-0 > .meaningContainer .def.html');
|
|
9
|
+
$definitions.find('.meaningTree').remove();
|
|
10
|
+
const definitions = Array.from($definitions).map((definition) => $(definition).text().replace(/\n/g, ''));
|
|
11
|
+
return {
|
|
12
|
+
definitions,
|
|
13
|
+
exists: definitions.length > 0,
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
exports.default = parseRomanian;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@scrabble-solver/word-definitions",
|
|
3
|
-
"version": "2.
|
|
4
|
-
"lockfileVersion":
|
|
3
|
+
"version": "2.13.0",
|
|
4
|
+
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "@scrabble-solver/word-definitions",
|
|
9
|
-
"version": "2.
|
|
9
|
+
"version": "2.13.0",
|
|
10
10
|
"license": "CC-BY-NC-ND-4.0",
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"cheerio": "^1.0.0-rc.12",
|
|
@@ -18,19 +18,22 @@
|
|
|
18
18
|
}
|
|
19
19
|
},
|
|
20
20
|
"node_modules/@types/follow-redirects": {
|
|
21
|
-
"version": "1.14.
|
|
22
|
-
"resolved": "https://registry.npmjs.org/@types/follow-redirects/-/follow-redirects-1.14.
|
|
23
|
-
"integrity": "sha512-
|
|
21
|
+
"version": "1.14.3",
|
|
22
|
+
"resolved": "https://registry.npmjs.org/@types/follow-redirects/-/follow-redirects-1.14.3.tgz",
|
|
23
|
+
"integrity": "sha512-VN4w0rKWI4DVySabR5/9P65nwcVEAr1taWFyYW3YR7rHYO/bOgG+LHpWfSzthPmCEfmawuXsMd4huQeSoc7jpg==",
|
|
24
24
|
"dev": true,
|
|
25
25
|
"dependencies": {
|
|
26
26
|
"@types/node": "*"
|
|
27
27
|
}
|
|
28
28
|
},
|
|
29
29
|
"node_modules/@types/node": {
|
|
30
|
-
"version": "20.
|
|
31
|
-
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.
|
|
32
|
-
"integrity": "sha512-
|
|
33
|
-
"dev": true
|
|
30
|
+
"version": "20.8.10",
|
|
31
|
+
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.10.tgz",
|
|
32
|
+
"integrity": "sha512-TlgT8JntpcbmKUFzjhsyhGfP2fsiz1Mv56im6enJ905xG1DAYesxJaeSbGqQmAw8OWPdhyJGhGSQGKRNJ45u9w==",
|
|
33
|
+
"dev": true,
|
|
34
|
+
"dependencies": {
|
|
35
|
+
"undici-types": "~5.26.4"
|
|
36
|
+
}
|
|
34
37
|
},
|
|
35
38
|
"node_modules/boolbase": {
|
|
36
39
|
"version": "1.0.0",
|
|
@@ -162,9 +165,9 @@
|
|
|
162
165
|
}
|
|
163
166
|
},
|
|
164
167
|
"node_modules/follow-redirects": {
|
|
165
|
-
"version": "1.15.
|
|
166
|
-
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.
|
|
167
|
-
"integrity": "sha512-
|
|
168
|
+
"version": "1.15.3",
|
|
169
|
+
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz",
|
|
170
|
+
"integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==",
|
|
168
171
|
"funding": [
|
|
169
172
|
{
|
|
170
173
|
"type": "individual",
|
|
@@ -236,156 +239,12 @@
|
|
|
236
239
|
"version": "3.2.0",
|
|
237
240
|
"resolved": "https://registry.npmjs.org/striptags/-/striptags-3.2.0.tgz",
|
|
238
241
|
"integrity": "sha512-g45ZOGzHDMe2bdYMdIvdAfCQkCTDMGBazSw1ypMowwGIee7ZQ5dU0rBJ8Jqgl+jAKIv4dbeE1jscZq9wid1Tkw=="
|
|
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
242
|
},
|
|
251
|
-
"
|
|
252
|
-
"version": "
|
|
253
|
-
"resolved": "https://registry.npmjs.org
|
|
254
|
-
"integrity": "sha512-
|
|
243
|
+
"node_modules/undici-types": {
|
|
244
|
+
"version": "5.26.5",
|
|
245
|
+
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz",
|
|
246
|
+
"integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==",
|
|
255
247
|
"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.1.0",
|
|
331
|
-
"resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz",
|
|
332
|
-
"integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==",
|
|
333
|
-
"requires": {
|
|
334
|
-
"dom-serializer": "^2.0.0",
|
|
335
|
-
"domelementtype": "^2.3.0",
|
|
336
|
-
"domhandler": "^5.0.3"
|
|
337
|
-
}
|
|
338
|
-
},
|
|
339
|
-
"entities": {
|
|
340
|
-
"version": "4.5.0",
|
|
341
|
-
"resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
|
|
342
|
-
"integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw=="
|
|
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
248
|
}
|
|
390
249
|
}
|
|
391
250
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@scrabble-solver/word-definitions",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.13.0",
|
|
4
4
|
"description": "Scrabble Solver 2 - Word definitions",
|
|
5
5
|
"main": "build/index.js",
|
|
6
6
|
"types": "build/index.d.ts",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"clean": "rimraf build/ node_modules/ package-lock.json"
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@scrabble-solver/types": "^2.
|
|
26
|
+
"@scrabble-solver/types": "^2.13.0",
|
|
27
27
|
"cheerio": "^1.0.0-rc.12",
|
|
28
28
|
"follow-redirects": "^1.15.2",
|
|
29
29
|
"striptags": "^3.2.0"
|