scrabble-solver 2.12.4 → 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.
Files changed (101) hide show
  1. package/README.md +11 -9
  2. package/lerna.json +1 -1
  3. package/package.json +1 -1
  4. package/packages/configs/build/locales/index.d.ts +1 -0
  5. package/packages/configs/build/locales/index.js +3 -1
  6. package/packages/configs/build/locales/roRo.d.ts +3 -0
  7. package/packages/configs/build/locales/roRo.js +35 -0
  8. package/packages/configs/package.json +3 -3
  9. package/packages/configs/src/locales/index.ts +1 -0
  10. package/packages/configs/src/locales/roRo.ts +36 -0
  11. package/packages/constants/package.json +1 -1
  12. package/packages/dictionaries/package-lock.json +2 -2
  13. package/packages/dictionaries/package.json +4 -4
  14. package/packages/logger/package-lock.json +2 -2
  15. package/packages/logger/package.json +1 -1
  16. package/packages/scrabble-solver/.next/BUILD_ID +1 -1
  17. package/packages/scrabble-solver/.next/build-manifest.json +4 -4
  18. package/packages/scrabble-solver/.next/cache/.tsbuildinfo +1 -1
  19. package/packages/scrabble-solver/.next/cache/eslint/.cache_8dgz12 +1 -1
  20. package/packages/scrabble-solver/.next/cache/next-server.js.nft.json +1 -1
  21. package/packages/scrabble-solver/.next/cache/webpack/client-production/0.pack +0 -0
  22. package/packages/scrabble-solver/.next/cache/webpack/client-production/index.pack +0 -0
  23. package/packages/scrabble-solver/.next/cache/webpack/edge-server-production/0.pack +0 -0
  24. package/packages/scrabble-solver/.next/cache/webpack/edge-server-production/index.pack +0 -0
  25. package/packages/scrabble-solver/.next/cache/webpack/server-production/0.pack +0 -0
  26. package/packages/scrabble-solver/.next/cache/webpack/server-production/index.pack +0 -0
  27. package/packages/scrabble-solver/.next/next-server.js.nft.json +1 -1
  28. package/packages/scrabble-solver/.next/prerender-manifest.json +1 -1
  29. package/packages/scrabble-solver/.next/routes-manifest.json +1 -1
  30. package/packages/scrabble-solver/.next/server/chunks/277.js +126 -39
  31. package/packages/scrabble-solver/.next/server/chunks/44.js +68 -19
  32. package/packages/scrabble-solver/.next/server/chunks/865.js +16 -4
  33. package/packages/scrabble-solver/.next/server/chunks/911.js +45 -1
  34. package/packages/scrabble-solver/.next/server/middleware-build-manifest.js +1 -1
  35. package/packages/scrabble-solver/.next/server/pages/404.html +1 -1
  36. package/packages/scrabble-solver/.next/server/pages/404.js.nft.json +1 -1
  37. package/packages/scrabble-solver/.next/server/pages/500.html +1 -1
  38. package/packages/scrabble-solver/.next/server/pages/_app.js.nft.json +1 -1
  39. package/packages/scrabble-solver/.next/server/pages/_document.js.nft.json +1 -1
  40. package/packages/scrabble-solver/.next/server/pages/api/dictionary/[locale]/[word].js +48 -1
  41. package/packages/scrabble-solver/.next/server/pages/api/solve.js +8 -4
  42. package/packages/scrabble-solver/.next/server/pages/index.html +1 -1
  43. package/packages/scrabble-solver/.next/server/pages/index.js +9 -9
  44. package/packages/scrabble-solver/.next/server/pages/index.js.nft.json +1 -1
  45. package/packages/scrabble-solver/.next/server/pages/index.json +1 -1
  46. package/packages/scrabble-solver/.next/server/pages-manifest.json +2 -2
  47. package/packages/scrabble-solver/.next/static/{8oRk1nUMQYFWmhu4SExQI → CltG6_MGtxzoDJ0EuX7kt}/_buildManifest.js +1 -1
  48. package/packages/scrabble-solver/.next/static/chunks/pages/_app-9c8edd7786319b76.js +32 -0
  49. package/packages/scrabble-solver/.next/static/chunks/pages/{index-82b2939158c7729f.js → index-f56eaa969a831c70.js} +1 -1
  50. package/packages/scrabble-solver/.next/trace +51 -51
  51. package/packages/scrabble-solver/package-lock.json +2 -2
  52. package/packages/scrabble-solver/package.json +8 -8
  53. package/packages/scrabble-solver/src/i18n/constants.ts +12 -1
  54. package/packages/scrabble-solver/src/i18n/i18n.ts +2 -0
  55. package/packages/scrabble-solver/src/i18n/ro.json +70 -0
  56. package/packages/scrabble-solver/src/icons/FlagRo.svg +5 -0
  57. package/packages/scrabble-solver/src/icons/index.ts +1 -0
  58. package/packages/scrabble-solver/src/lib/detectLocale.ts +10 -4
  59. package/packages/solver/package-lock.json +2 -2
  60. package/packages/solver/package.json +5 -5
  61. package/packages/types/build/Locale.d.ts +2 -1
  62. package/packages/types/build/Locale.js +1 -0
  63. package/packages/types/package.json +2 -2
  64. package/packages/types/src/Locale.ts +1 -0
  65. package/packages/word-definitions/build/crawl/crawl.js +2 -0
  66. package/packages/word-definitions/build/crawl/crawlRomanian.d.ts +2 -0
  67. package/packages/word-definitions/build/crawl/crawlRomanian.js +11 -0
  68. package/packages/word-definitions/build/parse/index.d.ts +1 -0
  69. package/packages/word-definitions/build/parse/index.js +3 -1
  70. package/packages/word-definitions/build/parse/parse.js +2 -0
  71. package/packages/word-definitions/build/parse/parseRomanian.d.ts +3 -0
  72. package/packages/word-definitions/build/parse/parseRomanian.js +16 -0
  73. package/packages/word-definitions/package-lock.json +21 -12
  74. package/packages/word-definitions/package.json +2 -2
  75. package/packages/word-definitions/src/crawl/crawl.ts +2 -0
  76. package/packages/word-definitions/src/crawl/crawlRomanian.ts +11 -0
  77. package/packages/word-definitions/src/parse/__tests__/expected/ro-RO.aciua.json +7 -0
  78. package/packages/word-definitions/src/parse/__tests__/input/ro-RO.aciua.html +33 -0
  79. package/packages/word-definitions/src/parse/index.ts +1 -0
  80. package/packages/word-definitions/src/parse/parse.test.ts +1 -0
  81. package/packages/word-definitions/src/parse/parse.ts +2 -0
  82. package/packages/word-definitions/src/parse/parseRomanian.ts +20 -0
  83. package/packages/word-lists/build/getFrFrWordList.js +1 -1
  84. package/packages/word-lists/build/getPlPlWordList.js +1 -17
  85. package/packages/word-lists/build/getRoRoWordList.d.ts +2 -0
  86. package/packages/word-lists/build/getRoRoWordList.js +23 -0
  87. package/packages/word-lists/build/getWordList.js +2 -0
  88. package/packages/word-lists/build/lib/index.d.ts +1 -0
  89. package/packages/word-lists/build/lib/index.js +3 -1
  90. package/packages/word-lists/build/lib/unzip.d.ts +2 -0
  91. package/packages/word-lists/build/lib/unzip.js +23 -0
  92. package/packages/word-lists/package-lock.json +2 -2
  93. package/packages/word-lists/package.json +2 -2
  94. package/packages/word-lists/src/getFrFrWordList.ts +1 -1
  95. package/packages/word-lists/src/getPlPlWordList.ts +2 -19
  96. package/packages/word-lists/src/getRoRoWordList.ts +23 -0
  97. package/packages/word-lists/src/getWordList.ts +2 -0
  98. package/packages/word-lists/src/lib/index.ts +1 -0
  99. package/packages/word-lists/src/lib/unzip.ts +20 -0
  100. package/packages/scrabble-solver/.next/static/chunks/pages/_app-e7f3d1c9c09c8f91.js +0 -32
  101. /package/packages/scrabble-solver/.next/static/{8oRk1nUMQYFWmhu4SExQI → CltG6_MGtxzoDJ0EuX7kt}/_ssgManifest.js +0 -0
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@scrabble-solver/scrabble-solver",
3
- "version": "2.12.4",
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.12.4",
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.12.4",
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.12.4",
35
- "@scrabble-solver/constants": "^2.12.4",
36
- "@scrabble-solver/dictionaries": "^2.12.4",
37
- "@scrabble-solver/logger": "^2.12.4",
38
- "@scrabble-solver/solver": "^2.12.4",
39
- "@scrabble-solver/types": "^2.12.4",
40
- "@scrabble-solver/word-definitions": "^2.12.4",
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
+ }
@@ -0,0 +1,5 @@
1
+ <svg viewBox="0 0 3 2" xmlns="http://www.w3.org/2000/svg">
2
+ <rect width="3" height="2" fill="#002B7F" />
3
+ <rect width="2" height="2" x="1" fill="#FCD116" />
4
+ <rect width="1" height="2" x="2" fill="#CE1126" />
5
+ </svg>
@@ -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
- if (window.navigator.languages.includes('pl') || window.navigator.languages.includes('pl-PL')) {
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 (window.navigator.languages.includes('en-GB')) {
10
+ if (languages.includes('en-GB')) {
9
11
  return Locale.EN_GB;
10
12
  }
11
13
 
12
- if (window.navigator.languages.includes('fa') || window.navigator.languages.includes('fa-IR')) {
14
+ if (languages.includes('fa') || languages.includes('fa-IR')) {
13
15
  return Locale.FA_IR;
14
16
  }
15
17
 
16
- if (window.navigator.languages.includes('fr-FR')) {
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.12.4",
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.12.4",
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.12.4",
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.12.4"
28
+ "@scrabble-solver/types": "^2.13.0"
29
29
  },
30
30
  "devDependencies": {
31
- "@scrabble-solver/configs": "^2.12.4",
32
- "@scrabble-solver/constants": "^2.12.4",
33
- "@scrabble-solver/dictionaries": "^2.12.4"
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
  }
@@ -10,7 +10,8 @@ declare enum Locale {
10
10
  ES_ES = "es-ES",
11
11
  FA_IR = "fa-IR",
12
12
  FR_FR = "fr-FR",
13
- PL_PL = "pl-PL"
13
+ PL_PL = "pl-PL",
14
+ RO_RO = "ro-RO"
14
15
  }
15
16
  export declare const isLocale: (locale: unknown) => locale is Locale;
16
17
  export default Locale;
@@ -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.12.4",
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.12.4"
27
+ "@scrabble-solver/constants": "^2.13.0"
28
28
  },
29
29
  "gitHead": "1e2d1ad49a288d4a44196d8e3336740da132c637"
30
30
  }
@@ -11,6 +11,7 @@ enum Locale {
11
11
  FA_IR = 'fa-IR',
12
12
  FR_FR = 'fr-FR',
13
13
  PL_PL = 'pl-PL',
14
+ RO_RO = 'ro-RO',
14
15
  }
15
16
 
16
17
  const locales = Object.values(Locale);
@@ -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,2 @@
1
+ declare const crawlRomanian: (word: string) => Promise<string>;
2
+ export default crawlRomanian;
@@ -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,3 @@
1
+ import { ParseResult } from '../types';
2
+ declare const parseRomanian: (html: string) => ParseResult;
3
+ export default parseRomanian;
@@ -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.12.4",
3
+ "version": "2.13.0",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "@scrabble-solver/word-definitions",
9
- "version": "2.12.4",
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.1",
22
- "resolved": "https://registry.npmjs.org/@types/follow-redirects/-/follow-redirects-1.14.1.tgz",
23
- "integrity": "sha512-THBEFwqsLuU/K62B5JRwab9NW97cFmL4Iy34NTMX0bMycQVzq2q7PKOkhfivIwxdpa/J72RppgC42vCHfwKJ0Q==",
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.4.5",
31
- "resolved": "https://registry.npmjs.org/@types/node/-/node-20.4.5.tgz",
32
- "integrity": "sha512-rt40Nk13II9JwQBdeYqmbn2Q6IVTA5uPhvSO+JVqdXw/6/4glI6oR9ezty/A9Hg5u7JH4OmYmuQ+XvjKm0Datg==",
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.2",
166
- "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz",
167
- "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==",
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,6 +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=="
242
+ },
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==",
247
+ "dev": true
239
248
  }
240
249
  }
241
250
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@scrabble-solver/word-definitions",
3
- "version": "2.12.4",
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.12.4",
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"
@@ -5,6 +5,7 @@ import crawlFarsi from './crawlFarsi';
5
5
  import crawlFrench from './crawlFrench';
6
6
  import crawlGerman from './crawlGerman';
7
7
  import crawlPolish from './crawlPolish';
8
+ import crawlRomanian from './crawlRomanian';
8
9
  import crawlSpanish from './crawlSpanish';
9
10
 
10
11
  const crawlPerLocale: Record<Locale, (word: string) => Promise<string>> = {
@@ -15,6 +16,7 @@ const crawlPerLocale: Record<Locale, (word: string) => Promise<string>> = {
15
16
  [Locale.FA_IR]: crawlFarsi,
16
17
  [Locale.FR_FR]: crawlFrench,
17
18
  [Locale.PL_PL]: crawlPolish,
19
+ [Locale.RO_RO]: crawlRomanian,
18
20
  };
19
21
 
20
22
  const crawl = (locale: Locale, word: string): Promise<string> => {
@@ -0,0 +1,11 @@
1
+ import { request } from '../lib';
2
+
3
+ const crawlRomanian = (word: string): Promise<string> => {
4
+ return request({
5
+ protocol: 'https',
6
+ hostname: 'dexonline.ro',
7
+ path: `/definitie/${encodeURIComponent(word)}`,
8
+ });
9
+ };
10
+
11
+ export default crawlRomanian;
@@ -0,0 +1,7 @@
1
+ {
2
+ "definitions": [
3
+ "A-și găsi refugiu, a se stabili (vremelnic), a se pune la adăpost undeva sau pe lângă cineva; a se pripăși, a se oploși, a se aciola, a se agesti.",
4
+ "A se odihni, a se culca."
5
+ ],
6
+ "exists": true
7
+ }