scrabble-solver 2.13.1 → 2.13.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (155) hide show
  1. package/.github/workflows/build.yml +3 -4
  2. package/.github/workflows/eslint.yml +1 -1
  3. package/.github/workflows/test.yml +1 -2
  4. package/.nx/cache/file-map.json +2610 -0
  5. package/.nx/cache/lockfile.hash +1 -0
  6. package/.nx/cache/nx_files.nxt +0 -0
  7. package/.nx/cache/parsed-lock-file.json +32593 -0
  8. package/.nx/cache/project-graph.json +32416 -0
  9. package/README.md +8 -8
  10. package/lerna.json +1 -1
  11. package/package.json +36 -29
  12. package/packages/configs/package.json +4 -5
  13. package/packages/constants/package.json +2 -3
  14. package/packages/dictionaries/package-lock.json +2 -2
  15. package/packages/dictionaries/package.json +5 -6
  16. package/packages/logger/package-lock.json +15 -7
  17. package/packages/logger/package.json +3 -4
  18. package/packages/scrabble-solver/.next/BUILD_ID +1 -1
  19. package/packages/scrabble-solver/.next/build-manifest.json +16 -16
  20. package/packages/scrabble-solver/.next/cache/.tsbuildinfo +1 -1
  21. package/packages/scrabble-solver/.next/cache/eslint/.cache_8dgz12 +1 -1
  22. package/packages/scrabble-solver/.next/cache/webpack/client-production/0.pack +0 -0
  23. package/packages/scrabble-solver/.next/cache/webpack/client-production/index.pack +0 -0
  24. package/packages/scrabble-solver/.next/cache/webpack/edge-server-production/0.pack +0 -0
  25. package/packages/scrabble-solver/.next/cache/webpack/edge-server-production/index.pack +0 -0
  26. package/packages/scrabble-solver/.next/cache/webpack/server-production/0.pack +0 -0
  27. package/packages/scrabble-solver/.next/cache/webpack/server-production/index.pack +0 -0
  28. package/packages/scrabble-solver/.next/next-minimal-server.js.nft.json +1 -0
  29. package/packages/scrabble-solver/.next/next-server.js.nft.json +1 -1
  30. package/packages/scrabble-solver/.next/prerender-manifest.js +1 -0
  31. package/packages/scrabble-solver/.next/prerender-manifest.json +1 -1
  32. package/packages/scrabble-solver/.next/required-server-files.json +1 -1
  33. package/packages/scrabble-solver/.next/routes-manifest.json +1 -1
  34. package/packages/scrabble-solver/.next/server/InjectManifest.js.nft.json +1 -1
  35. package/packages/scrabble-solver/.next/server/chunks/28.js +1 -0
  36. package/packages/scrabble-solver/.next/server/chunks/331.js +6 -0
  37. package/packages/scrabble-solver/.next/server/chunks/577.js +1 -0
  38. package/packages/scrabble-solver/.next/server/chunks/911.js +1 -1083
  39. package/packages/scrabble-solver/.next/server/chunks/977.js +1 -0
  40. package/packages/scrabble-solver/.next/server/functions-config-manifest.json +1 -0
  41. package/packages/scrabble-solver/.next/server/middleware-build-manifest.js +1 -1
  42. package/packages/scrabble-solver/.next/server/middleware-react-loadable-manifest.js +1 -1
  43. package/packages/scrabble-solver/.next/server/next-font-manifest.js +1 -1
  44. package/packages/scrabble-solver/.next/server/next-font-manifest.json +1 -6
  45. package/packages/scrabble-solver/.next/server/pages/404.html +1 -1
  46. package/packages/scrabble-solver/.next/server/pages/404.js.nft.json +1 -1
  47. package/packages/scrabble-solver/.next/server/pages/500.html +1 -1
  48. package/packages/scrabble-solver/.next/server/pages/_app.js +1 -380
  49. package/packages/scrabble-solver/.next/server/pages/_app.js.nft.json +1 -1
  50. package/packages/scrabble-solver/.next/server/pages/_document.js +1 -212
  51. package/packages/scrabble-solver/.next/server/pages/_document.js.nft.json +1 -1
  52. package/packages/scrabble-solver/.next/server/pages/_error.js +1 -166
  53. package/packages/scrabble-solver/.next/server/pages/_error.js.nft.json +1 -1
  54. package/packages/scrabble-solver/.next/server/pages/api/dictionary/[locale]/[word].js +2 -836
  55. package/packages/scrabble-solver/.next/server/pages/api/dictionary/[locale]/[word].js.nft.json +1 -1
  56. package/packages/scrabble-solver/.next/server/pages/api/dictionary/[locale].js +1 -192
  57. package/packages/scrabble-solver/.next/server/pages/api/dictionary/[locale].js.nft.json +1 -1
  58. package/packages/scrabble-solver/.next/server/pages/api/solve.js +1 -1121
  59. package/packages/scrabble-solver/.next/server/pages/api/solve.js.nft.json +1 -1
  60. package/packages/scrabble-solver/.next/server/pages/api/verify.js +1 -213
  61. package/packages/scrabble-solver/.next/server/pages/api/verify.js.nft.json +1 -1
  62. package/packages/scrabble-solver/.next/server/pages/api/visit.js +1 -131
  63. package/packages/scrabble-solver/.next/server/pages/api/visit.js.nft.json +1 -1
  64. package/packages/scrabble-solver/.next/server/pages/index.html +1 -1
  65. package/packages/scrabble-solver/.next/server/pages/index.js +1 -2088
  66. package/packages/scrabble-solver/.next/server/pages/index.js.nft.json +1 -1
  67. package/packages/scrabble-solver/.next/server/pages/index.json +1 -1
  68. package/packages/scrabble-solver/.next/server/pages-manifest.json +1 -12
  69. package/packages/scrabble-solver/.next/server/webpack-api-runtime.js +1 -172
  70. package/packages/scrabble-solver/.next/server/webpack-runtime.js +1 -229
  71. package/packages/scrabble-solver/.next/static/chunks/framework-1728d40275bc359a.js +49 -0
  72. package/packages/scrabble-solver/.next/static/chunks/main-5fb7abbfc135de15.js +1 -0
  73. package/packages/scrabble-solver/.next/static/chunks/pages/404-b6e238bb4117d451.js +1 -0
  74. package/packages/scrabble-solver/.next/static/chunks/pages/_app-b95404c40a0092e6.js +17 -0
  75. package/packages/scrabble-solver/.next/static/chunks/pages/_error-db043fa3544f8809.js +1 -0
  76. package/packages/scrabble-solver/.next/static/chunks/pages/index-59d569ef79bc2580.js +1 -0
  77. package/packages/scrabble-solver/.next/static/css/8fa2fb99b90e109e.css +1 -0
  78. package/packages/scrabble-solver/.next/static/css/c80ebc6fd13311f1.css +2 -0
  79. package/packages/scrabble-solver/.next/static/r00VHxlMI-jbGWpg3nm2M/_buildManifest.js +1 -0
  80. package/packages/scrabble-solver/.next/trace +44 -51
  81. package/packages/scrabble-solver/package-lock.json +755 -524
  82. package/packages/scrabble-solver/package.json +30 -31
  83. package/packages/scrabble-solver/public/service-worker.js +2 -0
  84. package/packages/scrabble-solver/public/service-worker.js.map +1 -0
  85. package/packages/scrabble-solver/src/i18n/ro.json +5 -5
  86. package/packages/scrabble-solver/src/state/slices/boardSlice.ts +4 -4
  87. package/packages/scrabble-solver/src/state/store.ts +1 -1
  88. package/packages/solver/package-lock.json +2 -2
  89. package/packages/solver/package.json +6 -7
  90. package/packages/types/package.json +3 -4
  91. package/packages/word-definitions/package-lock.json +10 -10
  92. package/packages/word-definitions/package.json +5 -5
  93. package/packages/word-lists/build/getFrFrWordList.js +1 -5
  94. package/packages/word-lists/build/getRoRoWordList.js +1 -5
  95. package/packages/word-lists/build/lib/index.d.ts +2 -0
  96. package/packages/word-lists/build/lib/index.js +5 -1
  97. package/packages/word-lists/build/lib/latinizeDiacritics.d.ts +2 -0
  98. package/packages/word-lists/build/lib/latinizeDiacritics.js +11 -0
  99. package/packages/word-lists/build/lib/unique.d.ts +2 -0
  100. package/packages/word-lists/build/lib/unique.js +4 -0
  101. package/packages/word-lists/package-lock.json +22 -22
  102. package/packages/word-lists/package.json +8 -9
  103. package/packages/word-lists/src/getFrFrWordList.ts +2 -3
  104. package/packages/word-lists/src/getRoRoWordList.ts +2 -3
  105. package/packages/word-lists/src/lib/index.ts +2 -0
  106. package/packages/word-lists/src/lib/latinizeDiacritics.ts +9 -0
  107. package/packages/word-lists/src/lib/unique.ts +3 -0
  108. package/tsconfig.json +1 -1
  109. package/packages/configs/dictionaries/build/Dictionaries.d.ts +0 -13
  110. package/packages/configs/dictionaries/build/Dictionaries.js +0 -46
  111. package/packages/configs/dictionaries/build/constants/index.d.ts +0 -3
  112. package/packages/configs/dictionaries/build/constants/index.js +0 -11
  113. package/packages/configs/dictionaries/build/index.d.ts +0 -3
  114. package/packages/configs/dictionaries/build/index.js +0 -23
  115. package/packages/configs/dictionaries/build/lib/DiskCache.d.ts +0 -11
  116. package/packages/configs/dictionaries/build/lib/DiskCache.js +0 -48
  117. package/packages/configs/dictionaries/build/lib/LayeredCache.d.ts +0 -13
  118. package/packages/configs/dictionaries/build/lib/LayeredCache.js +0 -55
  119. package/packages/configs/dictionaries/build/lib/MemoryCache.d.ts +0 -13
  120. package/packages/configs/dictionaries/build/lib/MemoryCache.js +0 -32
  121. package/packages/configs/dictionaries/build/lib/createAsyncProxy.d.ts +0 -3
  122. package/packages/configs/dictionaries/build/lib/createAsyncProxy.js +0 -18
  123. package/packages/configs/dictionaries/build/lib/createCacheTimestampComparator.d.ts +0 -5
  124. package/packages/configs/dictionaries/build/lib/createCacheTimestampComparator.js +0 -19
  125. package/packages/configs/dictionaries/build/lib/downloadDictionary.d.ts +0 -4
  126. package/packages/configs/dictionaries/build/lib/downloadDictionary.js +0 -16
  127. package/packages/configs/dictionaries/build/lib/getDictionaryFilepath.d.ts +0 -3
  128. package/packages/configs/dictionaries/build/lib/getDictionaryFilepath.js +0 -11
  129. package/packages/configs/dictionaries/build/lib/index.d.ts +0 -7
  130. package/packages/configs/dictionaries/build/lib/index.js +0 -20
  131. package/packages/configs/dictionaries/build/types/Cache.d.ts +0 -8
  132. package/packages/configs/dictionaries/build/types/Cache.js +0 -2
  133. package/packages/configs/dictionaries/build/types/index.d.ts +0 -1
  134. package/packages/configs/dictionaries/build/types/index.js +0 -2
  135. package/packages/scrabble-solver/.next/cache/next-server.js.nft.json +0 -1
  136. package/packages/scrabble-solver/.next/server/chunks/210.js +0 -109
  137. package/packages/scrabble-solver/.next/server/chunks/277.js +0 -11942
  138. package/packages/scrabble-solver/.next/server/chunks/44.js +0 -1813
  139. package/packages/scrabble-solver/.next/server/chunks/50.js +0 -12119
  140. package/packages/scrabble-solver/.next/server/chunks/636.js +0 -286
  141. package/packages/scrabble-solver/.next/server/chunks/675.js +0 -572
  142. package/packages/scrabble-solver/.next/server/chunks/859.js +0 -835
  143. package/packages/scrabble-solver/.next/server/chunks/865.js +0 -20424
  144. package/packages/scrabble-solver/.next/server/chunks/907.js +0 -42530
  145. package/packages/scrabble-solver/.next/server/chunks/987.js +0 -91
  146. package/packages/scrabble-solver/.next/static/RJ5_dKU0dHcryeTVO6SSX/_buildManifest.js +0 -1
  147. package/packages/scrabble-solver/.next/static/chunks/framework-2c29dc3cd933590b.js +0 -49
  148. package/packages/scrabble-solver/.next/static/chunks/main-4dcb7f9b52833aba.js +0 -1
  149. package/packages/scrabble-solver/.next/static/chunks/pages/404-b4b5ce15153d4825.js +0 -1
  150. package/packages/scrabble-solver/.next/static/chunks/pages/_app-b92880dde164b954.js +0 -32
  151. package/packages/scrabble-solver/.next/static/chunks/pages/_error-54de1933a164a1ff.js +0 -1
  152. package/packages/scrabble-solver/.next/static/chunks/pages/index-f56eaa969a831c70.js +0 -1
  153. package/packages/scrabble-solver/.next/static/css/4e8b47fe382a8a8f.css +0 -2
  154. package/packages/scrabble-solver/.next/static/css/cfae5256f1689f57.css +0 -1
  155. /package/packages/scrabble-solver/.next/static/{RJ5_dKU0dHcryeTVO6SSX → r00VHxlMI-jbGWpg3nm2M}/_ssgManifest.js +0 -0
@@ -1,836 +1,2 @@
1
- "use strict";
2
- (() => {
3
- var exports = {};
4
- exports.id = 611;
5
- exports.ids = [611];
6
- exports.modules = {
7
-
8
- /***/ 60871:
9
- /***/ ((module) => {
10
-
11
- module.exports = require("buffer");
12
-
13
- /***/ }),
14
-
15
- /***/ 39491:
16
- /***/ ((module) => {
17
-
18
- module.exports = require("assert");
19
-
20
- /***/ }),
21
-
22
- /***/ 22057:
23
- /***/ ((module) => {
24
-
25
- module.exports = require("constants");
26
-
27
- /***/ }),
28
-
29
- /***/ 6113:
30
- /***/ ((module) => {
31
-
32
- module.exports = require("crypto");
33
-
34
- /***/ }),
35
-
36
- /***/ 82361:
37
- /***/ ((module) => {
38
-
39
- module.exports = require("events");
40
-
41
- /***/ }),
42
-
43
- /***/ 57147:
44
- /***/ ((module) => {
45
-
46
- module.exports = require("fs");
47
-
48
- /***/ }),
49
-
50
- /***/ 13685:
51
- /***/ ((module) => {
52
-
53
- module.exports = require("http");
54
-
55
- /***/ }),
56
-
57
- /***/ 95687:
58
- /***/ ((module) => {
59
-
60
- module.exports = require("https");
61
-
62
- /***/ }),
63
-
64
- /***/ 22037:
65
- /***/ ((module) => {
66
-
67
- module.exports = require("os");
68
-
69
- /***/ }),
70
-
71
- /***/ 71017:
72
- /***/ ((module) => {
73
-
74
- module.exports = require("path");
75
-
76
- /***/ }),
77
-
78
- /***/ 12781:
79
- /***/ ((module) => {
80
-
81
- module.exports = require("stream");
82
-
83
- /***/ }),
84
-
85
- /***/ 71576:
86
- /***/ ((module) => {
87
-
88
- module.exports = require("string_decoder");
89
-
90
- /***/ }),
91
-
92
- /***/ 76224:
93
- /***/ ((module) => {
94
-
95
- module.exports = require("tty");
96
-
97
- /***/ }),
98
-
99
- /***/ 57310:
100
- /***/ ((module) => {
101
-
102
- module.exports = require("url");
103
-
104
- /***/ }),
105
-
106
- /***/ 73837:
107
- /***/ ((module) => {
108
-
109
- module.exports = require("util");
110
-
111
- /***/ }),
112
-
113
- /***/ 59796:
114
- /***/ ((module) => {
115
-
116
- module.exports = require("zlib");
117
-
118
- /***/ }),
119
-
120
- /***/ 93470:
121
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
122
-
123
- __webpack_require__.r(__webpack_exports__);
124
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
125
- /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
126
- /* harmony export */ });
127
- /* harmony import */ var _scrabble_solver_configs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(27911);
128
- /* harmony import */ var _scrabble_solver_configs__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_scrabble_solver_configs__WEBPACK_IMPORTED_MODULE_0__);
129
- /* harmony import */ var _scrabble_solver_constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(38436);
130
- /* harmony import */ var _scrabble_solver_dictionaries__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(89044);
131
- /* harmony import */ var _scrabble_solver_dictionaries__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_scrabble_solver_dictionaries__WEBPACK_IMPORTED_MODULE_2__);
132
- /* harmony import */ var _scrabble_solver_logger__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(52954);
133
- /* harmony import */ var _scrabble_solver_logger__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_scrabble_solver_logger__WEBPACK_IMPORTED_MODULE_3__);
134
- /* harmony import */ var _scrabble_solver_types__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(46452);
135
- /* harmony import */ var _scrabble_solver_types__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_scrabble_solver_types__WEBPACK_IMPORTED_MODULE_4__);
136
- /* harmony import */ var _scrabble_solver_word_definitions__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(98173);
137
- /* harmony import */ var _scrabble_solver_word_definitions__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_scrabble_solver_word_definitions__WEBPACK_IMPORTED_MODULE_5__);
138
- /* harmony import */ var api__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(84021);
139
-
140
-
141
-
142
-
143
-
144
-
145
-
146
- const MAXIMUM_COLLISIONS_COUNT = Object.values(_scrabble_solver_configs__WEBPACK_IMPORTED_MODULE_0__.games).reduce((result, game)=>Math.max(result, game.maximumCharactersCount), 0);
147
- const MAXIMUM_WORDS_COUNT = MAXIMUM_COLLISIONS_COUNT + 1;
148
- const dictionary = async (request, response)=>{
149
- const meta = (0,api__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z)(request);
150
- try {
151
- const { locale , words } = parseRequest(request);
152
- _scrabble_solver_logger__WEBPACK_IMPORTED_MODULE_3___default().info("dictionary - request", {
153
- meta,
154
- payload: {
155
- locale,
156
- words
157
- }
158
- });
159
- const trie = await _scrabble_solver_dictionaries__WEBPACK_IMPORTED_MODULE_2__.dictionaries.get(locale);
160
- const results = await Promise.all(words.map((word)=>(0,_scrabble_solver_word_definitions__WEBPACK_IMPORTED_MODULE_5__.getWordDefinition)(locale, word, trie.has(word))));
161
- response.status(200).send(results.map((result)=>result.toJson()));
162
- } catch (error) {
163
- const message = error instanceof Error ? error.message : "Unknown error";
164
- _scrabble_solver_logger__WEBPACK_IMPORTED_MODULE_3___default().error("dictionary - error", {
165
- error,
166
- meta
167
- });
168
- response.status(500).send({
169
- error: "Server error",
170
- message
171
- });
172
- }
173
- };
174
- const parseRequest = (request)=>{
175
- const { locale , word } = request.query;
176
- if (!(0,_scrabble_solver_types__WEBPACK_IMPORTED_MODULE_4__.isLocale)(locale)) {
177
- throw new Error('Invalid "locale" parameter');
178
- }
179
- if (typeof word !== "string" || word.length === 0) {
180
- throw new Error('Invalid "word" parameter');
181
- }
182
- const words = Array.from(new Set(word.replaceAll(_scrabble_solver_constants__WEBPACK_IMPORTED_MODULE_1__.COMMA_ARABIC, _scrabble_solver_constants__WEBPACK_IMPORTED_MODULE_1__.COMMA_LATIN).split(_scrabble_solver_constants__WEBPACK_IMPORTED_MODULE_1__.COMMA_LATIN).map((part)=>part.trim()).filter(Boolean)));
183
- if (words.length > MAXIMUM_WORDS_COUNT) {
184
- throw new Error('Invalid "word" parameter');
185
- }
186
- return {
187
- locale,
188
- words
189
- };
190
- };
191
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (dictionary);
192
-
193
-
194
- /***/ }),
195
-
196
- /***/ 864:
197
- /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
198
-
199
-
200
- var __importDefault = (this && this.__importDefault) || function (mod) {
201
- return (mod && mod.__esModule) ? mod : { "default": mod };
202
- };
203
- Object.defineProperty(exports, "__esModule", ({ value: true }));
204
- const types_1 = __webpack_require__(46452);
205
- const crawlEnglish_1 = __importDefault(__webpack_require__(90357));
206
- const crawlFarsi_1 = __importDefault(__webpack_require__(82397));
207
- const crawlFrench_1 = __importDefault(__webpack_require__(93174));
208
- const crawlGerman_1 = __importDefault(__webpack_require__(69047));
209
- const crawlPolish_1 = __importDefault(__webpack_require__(18698));
210
- const crawlRomanian_1 = __importDefault(__webpack_require__(58801));
211
- const crawlSpanish_1 = __importDefault(__webpack_require__(82360));
212
- const crawlPerLocale = {
213
- [types_1.Locale.DE_DE]: crawlGerman_1.default,
214
- [types_1.Locale.EN_GB]: crawlEnglish_1.default,
215
- [types_1.Locale.EN_US]: crawlEnglish_1.default,
216
- [types_1.Locale.ES_ES]: crawlSpanish_1.default,
217
- [types_1.Locale.FA_IR]: crawlFarsi_1.default,
218
- [types_1.Locale.FR_FR]: crawlFrench_1.default,
219
- [types_1.Locale.PL_PL]: crawlPolish_1.default,
220
- [types_1.Locale.RO_RO]: crawlRomanian_1.default,
221
- };
222
- const crawl = (locale, word) => {
223
- return crawlPerLocale[locale](word);
224
- };
225
- exports["default"] = crawl;
226
-
227
-
228
- /***/ }),
229
-
230
- /***/ 90357:
231
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
232
-
233
-
234
- Object.defineProperty(exports, "__esModule", ({ value: true }));
235
- const lib_1 = __webpack_require__(3805);
236
- const crawlEnglish = (word) => {
237
- return (0, lib_1.request)({
238
- protocol: 'https',
239
- hostname: 'www.merriam-webster.com',
240
- path: `/dictionary/${encodeURIComponent(word)}`,
241
- });
242
- };
243
- exports["default"] = crawlEnglish;
244
-
245
-
246
- /***/ }),
247
-
248
- /***/ 82397:
249
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
250
-
251
-
252
- Object.defineProperty(exports, "__esModule", ({ value: true }));
253
- const lib_1 = __webpack_require__(3805);
254
- const crawlFarsi = (word) => {
255
- return (0, lib_1.request)({
256
- protocol: 'https',
257
- hostname: 'www.vajehyab.com',
258
- path: `/moein/${encodeURIComponent(word)}`,
259
- });
260
- };
261
- exports["default"] = crawlFarsi;
262
-
263
-
264
- /***/ }),
265
-
266
- /***/ 93174:
267
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
268
-
269
-
270
- Object.defineProperty(exports, "__esModule", ({ value: true }));
271
- const lib_1 = __webpack_require__(3805);
272
- const crawlFrench = (word) => {
273
- return (0, lib_1.request)({
274
- protocol: 'https',
275
- hostname: 'www.cnrtl.fr',
276
- path: `/definition/${encodeURIComponent(word)}`,
277
- });
278
- };
279
- exports["default"] = crawlFrench;
280
-
281
-
282
- /***/ }),
283
-
284
- /***/ 69047:
285
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
286
-
287
-
288
- Object.defineProperty(exports, "__esModule", ({ value: true }));
289
- const lib_1 = __webpack_require__(3805);
290
- const crawlGerman = (word) => {
291
- return (0, lib_1.request)({
292
- protocol: 'https',
293
- hostname: 'www.dwds.de',
294
- path: `/wb/${encodeURIComponent(word)}`,
295
- });
296
- };
297
- exports["default"] = crawlGerman;
298
-
299
-
300
- /***/ }),
301
-
302
- /***/ 18698:
303
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
304
-
305
-
306
- Object.defineProperty(exports, "__esModule", ({ value: true }));
307
- const lib_1 = __webpack_require__(3805);
308
- const crawlPolish = (word) => {
309
- return (0, lib_1.request)({
310
- protocol: 'https',
311
- hostname: 'sjp.pl',
312
- path: `/${encodeURIComponent(word)}`,
313
- });
314
- };
315
- exports["default"] = crawlPolish;
316
-
317
-
318
- /***/ }),
319
-
320
- /***/ 58801:
321
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
322
-
323
-
324
- Object.defineProperty(exports, "__esModule", ({ value: true }));
325
- const lib_1 = __webpack_require__(3805);
326
- const crawlRomanian = (word) => {
327
- return (0, lib_1.request)({
328
- protocol: 'https',
329
- hostname: 'dexonline.ro',
330
- path: `/definitie/${encodeURIComponent(word)}`,
331
- });
332
- };
333
- exports["default"] = crawlRomanian;
334
-
335
-
336
- /***/ }),
337
-
338
- /***/ 82360:
339
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
340
-
341
-
342
- Object.defineProperty(exports, "__esModule", ({ value: true }));
343
- const lib_1 = __webpack_require__(3805);
344
- const crawlSpanish = (word) => {
345
- return (0, lib_1.request)({
346
- protocol: 'https',
347
- hostname: 'www.diccionarios.com',
348
- path: `/diccionario/espanol/${encodeURIComponent(word)}`,
349
- });
350
- };
351
- exports["default"] = crawlSpanish;
352
-
353
-
354
- /***/ }),
355
-
356
- /***/ 66344:
357
- /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
358
-
359
-
360
- var __importDefault = (this && this.__importDefault) || function (mod) {
361
- return (mod && mod.__esModule) ? mod : { "default": mod };
362
- };
363
- Object.defineProperty(exports, "__esModule", ({ value: true }));
364
- exports.crawlGerman = exports.crawlSpanish = exports.crawlPolish = exports.crawlFrench = exports.crawlEnglish = exports.crawl = void 0;
365
- var crawl_1 = __webpack_require__(864);
366
- Object.defineProperty(exports, "crawl", ({ enumerable: true, get: function () { return __importDefault(crawl_1).default; } }));
367
- var crawlEnglish_1 = __webpack_require__(90357);
368
- Object.defineProperty(exports, "crawlEnglish", ({ enumerable: true, get: function () { return __importDefault(crawlEnglish_1).default; } }));
369
- var crawlFrench_1 = __webpack_require__(93174);
370
- Object.defineProperty(exports, "crawlFrench", ({ enumerable: true, get: function () { return __importDefault(crawlFrench_1).default; } }));
371
- var crawlPolish_1 = __webpack_require__(18698);
372
- Object.defineProperty(exports, "crawlPolish", ({ enumerable: true, get: function () { return __importDefault(crawlPolish_1).default; } }));
373
- var crawlSpanish_1 = __webpack_require__(82360);
374
- Object.defineProperty(exports, "crawlSpanish", ({ enumerable: true, get: function () { return __importDefault(crawlSpanish_1).default; } }));
375
- var crawlGerman_1 = __webpack_require__(69047);
376
- Object.defineProperty(exports, "crawlGerman", ({ enumerable: true, get: function () { return __importDefault(crawlGerman_1).default; } }));
377
-
378
-
379
- /***/ }),
380
-
381
- /***/ 41568:
382
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
383
-
384
-
385
- Object.defineProperty(exports, "__esModule", ({ value: true }));
386
- const types_1 = __webpack_require__(46452);
387
- const crawl_1 = __webpack_require__(66344);
388
- const parse_1 = __webpack_require__(74630);
389
- const getWordDefinition = async (locale, word, isAllowed) => {
390
- const html = await (0, crawl_1.crawl)(locale, word);
391
- const { definitions, exists } = (0, parse_1.parse)(locale, html);
392
- const wordDefinition = new types_1.WordDefinition({ definitions, exists, isAllowed, word });
393
- return wordDefinition;
394
- };
395
- exports["default"] = getWordDefinition;
396
-
397
-
398
- /***/ }),
399
-
400
- /***/ 98173:
401
- /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
402
-
403
-
404
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
405
- if (k2 === undefined) k2 = k;
406
- var desc = Object.getOwnPropertyDescriptor(m, k);
407
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
408
- desc = { enumerable: true, get: function() { return m[k]; } };
409
- }
410
- Object.defineProperty(o, k2, desc);
411
- }) : (function(o, m, k, k2) {
412
- if (k2 === undefined) k2 = k;
413
- o[k2] = m[k];
414
- }));
415
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
416
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
417
- };
418
- var __importDefault = (this && this.__importDefault) || function (mod) {
419
- return (mod && mod.__esModule) ? mod : { "default": mod };
420
- };
421
- Object.defineProperty(exports, "__esModule", ({ value: true }));
422
- exports.getWordDefinition = void 0;
423
- var getWordDefinition_1 = __webpack_require__(41568);
424
- Object.defineProperty(exports, "getWordDefinition", ({ enumerable: true, get: function () { return __importDefault(getWordDefinition_1).default; } }));
425
- __exportStar(__webpack_require__(66344), exports);
426
- __exportStar(__webpack_require__(3805), exports);
427
- __exportStar(__webpack_require__(74630), exports);
428
-
429
-
430
- /***/ }),
431
-
432
- /***/ 3805:
433
- /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
434
-
435
-
436
- var __importDefault = (this && this.__importDefault) || function (mod) {
437
- return (mod && mod.__esModule) ? mod : { "default": mod };
438
- };
439
- Object.defineProperty(exports, "__esModule", ({ value: true }));
440
- exports.unique = exports.request = exports.normalizeDefinition = void 0;
441
- var normalizeDefinition_1 = __webpack_require__(9505);
442
- Object.defineProperty(exports, "normalizeDefinition", ({ enumerable: true, get: function () { return __importDefault(normalizeDefinition_1).default; } }));
443
- var request_1 = __webpack_require__(36);
444
- Object.defineProperty(exports, "request", ({ enumerable: true, get: function () { return __importDefault(request_1).default; } }));
445
- var unique_1 = __webpack_require__(76381);
446
- Object.defineProperty(exports, "unique", ({ enumerable: true, get: function () { return __importDefault(unique_1).default; } }));
447
-
448
-
449
- /***/ }),
450
-
451
- /***/ 9505:
452
- /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
453
-
454
-
455
- var __importDefault = (this && this.__importDefault) || function (mod) {
456
- return (mod && mod.__esModule) ? mod : { "default": mod };
457
- };
458
- Object.defineProperty(exports, "__esModule", ({ value: true }));
459
- const striptags_1 = __importDefault(__webpack_require__(37983));
460
- const EMPHASIS_TAGS = ['a', 'b', 'em', 'internalXref'];
461
- const normalizeHtmlTags = (definition) => (0, striptags_1.default)((0, striptags_1.default)(definition, EMPHASIS_TAGS), undefined, '"');
462
- const normalizeLineBreaks = (definition) => definition.replace(/\r\n/g, '\n');
463
- const normalizeWhitespace = (definition) => definition.replace(/[^\S\n ]+/g, ' ').replace(/[ ]+/g, ' ');
464
- const normalizeQuotes = (definition) => definition.replace(/\."/g, '".');
465
- /**
466
- * `(1.2) definition` -> `definition`
467
- */
468
- const normalizeMarkers = (definition) => definition.replace(/^\(\d+\.\d+\)\s+/g, '');
469
- const normalizeTrailingSymbols = (definition) => definition.trim().replace(/:$/, '');
470
- const normalizeLeadingSymbols = (definition) => definition.trim().replace(/^:/, '');
471
- /**
472
- * @see https://stackoverflow.com/a/40732368
473
- */
474
- const normalizeNonWords = (definition) => (/[\w\u0621-\u064A]+/.test(definition) ? definition : '');
475
- const normalizeCommas = (definition) => {
476
- return definition
477
- .replace(/\s+,\s+/g, ', ')
478
- .replace(/^,/, '')
479
- .replace(/,$/, '');
480
- };
481
- const normalizers = [
482
- normalizeHtmlTags,
483
- normalizeMarkers,
484
- normalizeQuotes,
485
- normalizeLineBreaks,
486
- normalizeWhitespace,
487
- normalizeTrailingSymbols,
488
- normalizeLeadingSymbols,
489
- normalizeNonWords,
490
- normalizeCommas,
491
- (definition) => definition.trim(),
492
- ];
493
- const normalizeDefinition = (definition) => {
494
- const normalized = normalizers.reduce((result, normalize) => normalize(result), definition);
495
- const hasChanged = normalized !== definition;
496
- return hasChanged ? normalizeDefinition(normalized) : normalized;
497
- };
498
- exports["default"] = normalizeDefinition;
499
-
500
-
501
- /***/ }),
502
-
503
- /***/ 36:
504
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
505
-
506
-
507
- Object.defineProperty(exports, "__esModule", ({ value: true }));
508
- const follow_redirects_1 = __webpack_require__(46966);
509
- const request = ({ protocol, ...options }) => {
510
- const agent = protocol === 'https' ? follow_redirects_1.https : follow_redirects_1.http;
511
- return new Promise((resolve, reject) => {
512
- return agent
513
- .get(options, (response) => {
514
- let data = '';
515
- response.setEncoding('utf8');
516
- response.on('data', (chunk) => {
517
- data += chunk;
518
- });
519
- response.on('end', () => {
520
- try {
521
- resolve(data);
522
- }
523
- catch (error) {
524
- reject(error);
525
- }
526
- });
527
- })
528
- .on('error', reject);
529
- });
530
- };
531
- exports["default"] = request;
532
-
533
-
534
- /***/ }),
535
-
536
- /***/ 76381:
537
- /***/ ((__unused_webpack_module, exports) => {
538
-
539
-
540
- Object.defineProperty(exports, "__esModule", ({ value: true }));
541
- const unique = (array) => Array.from(new Set(array));
542
- exports["default"] = unique;
543
-
544
-
545
- /***/ }),
546
-
547
- /***/ 74630:
548
- /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
549
-
550
-
551
- var __importDefault = (this && this.__importDefault) || function (mod) {
552
- return (mod && mod.__esModule) ? mod : { "default": mod };
553
- };
554
- Object.defineProperty(exports, "__esModule", ({ value: true }));
555
- exports.parseSpanish = exports.parseRomanian = exports.parsePolish = exports.parseGerman = exports.parseFrench = exports.parseFarsi = exports.parseEnglish = exports.parse = void 0;
556
- var parse_1 = __webpack_require__(16837);
557
- Object.defineProperty(exports, "parse", ({ enumerable: true, get: function () { return __importDefault(parse_1).default; } }));
558
- var parseEnglish_1 = __webpack_require__(26519);
559
- Object.defineProperty(exports, "parseEnglish", ({ enumerable: true, get: function () { return __importDefault(parseEnglish_1).default; } }));
560
- var parseFarsi_1 = __webpack_require__(3475);
561
- Object.defineProperty(exports, "parseFarsi", ({ enumerable: true, get: function () { return __importDefault(parseFarsi_1).default; } }));
562
- var parseFrench_1 = __webpack_require__(51120);
563
- Object.defineProperty(exports, "parseFrench", ({ enumerable: true, get: function () { return __importDefault(parseFrench_1).default; } }));
564
- var parseGerman_1 = __webpack_require__(29075);
565
- Object.defineProperty(exports, "parseGerman", ({ enumerable: true, get: function () { return __importDefault(parseGerman_1).default; } }));
566
- var parsePolish_1 = __webpack_require__(92198);
567
- Object.defineProperty(exports, "parsePolish", ({ enumerable: true, get: function () { return __importDefault(parsePolish_1).default; } }));
568
- var parseRomanian_1 = __webpack_require__(40609);
569
- Object.defineProperty(exports, "parseRomanian", ({ enumerable: true, get: function () { return __importDefault(parseRomanian_1).default; } }));
570
- var parseSpanish_1 = __webpack_require__(22292);
571
- Object.defineProperty(exports, "parseSpanish", ({ enumerable: true, get: function () { return __importDefault(parseSpanish_1).default; } }));
572
-
573
-
574
- /***/ }),
575
-
576
- /***/ 16837:
577
- /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
578
-
579
-
580
- var __importDefault = (this && this.__importDefault) || function (mod) {
581
- return (mod && mod.__esModule) ? mod : { "default": mod };
582
- };
583
- Object.defineProperty(exports, "__esModule", ({ value: true }));
584
- const types_1 = __webpack_require__(46452);
585
- const lib_1 = __webpack_require__(3805);
586
- const parseEnglish_1 = __importDefault(__webpack_require__(26519));
587
- const parseFarsi_1 = __importDefault(__webpack_require__(3475));
588
- const parseFrench_1 = __importDefault(__webpack_require__(51120));
589
- const parseGerman_1 = __importDefault(__webpack_require__(29075));
590
- const parsePolish_1 = __importDefault(__webpack_require__(92198));
591
- const parseRomanian_1 = __importDefault(__webpack_require__(40609));
592
- const parseSpanish_1 = __importDefault(__webpack_require__(22292));
593
- const parsePerLocale = {
594
- [types_1.Locale.DE_DE]: parseGerman_1.default,
595
- [types_1.Locale.EN_GB]: parseEnglish_1.default,
596
- [types_1.Locale.EN_US]: parseEnglish_1.default,
597
- [types_1.Locale.ES_ES]: parseSpanish_1.default,
598
- [types_1.Locale.FA_IR]: parseFarsi_1.default,
599
- [types_1.Locale.FR_FR]: parseFrench_1.default,
600
- [types_1.Locale.PL_PL]: parsePolish_1.default,
601
- [types_1.Locale.RO_RO]: parseRomanian_1.default,
602
- };
603
- const parse = (locale, html) => {
604
- const { definitions, exists } = parsePerLocale[locale](html);
605
- return {
606
- definitions: (0, lib_1.unique)(definitions.map(lib_1.normalizeDefinition).filter(Boolean)),
607
- exists,
608
- };
609
- };
610
- exports["default"] = parse;
611
-
612
-
613
- /***/ }),
614
-
615
- /***/ 26519:
616
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
617
-
618
-
619
- Object.defineProperty(exports, "__esModule", ({ value: true }));
620
- const cheerio_1 = __webpack_require__(85131);
621
- const DOES_NOT_EXIST_MESSAGE =
622
- // eslint-disable-next-line max-len
623
- "The word you've entered isn't in the dictionary. Click on a spelling suggestion below or try again using the search bar above.";
624
- const parseEnglish = (html) => {
625
- const $ = (0, cheerio_1.load)(html);
626
- $('strong.mw_t_bc').replaceWith(', ');
627
- $('.text-lowercase').remove();
628
- $('.sub-content-thread').remove();
629
- const $definitions = $('[id^=dictionary-entry]').find('.dtText, .cxl-ref');
630
- return {
631
- definitions: Array.from($definitions).map((definition) => $(definition).text().replace(/\n/g, '')),
632
- exists: $('.spelling-suggestion-text').text().trim() !== DOES_NOT_EXIST_MESSAGE,
633
- };
634
- };
635
- exports["default"] = parseEnglish;
636
-
637
-
638
- /***/ }),
639
-
640
- /***/ 3475:
641
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
642
-
643
-
644
- Object.defineProperty(exports, "__esModule", ({ value: true }));
645
- const cheerio_1 = __webpack_require__(85131);
646
- const DOES_NOT_EXIST_MESSAGE = '404 Page Not Found';
647
- const parseFarsi = (html) => {
648
- const $ = (0, cheerio_1.load)(html);
649
- const $definitions = $('[itemprop=articleBody]');
650
- return {
651
- definitions: Array.from($definitions).map((definition) => $(definition).text()),
652
- exists: $('#container h1').text() !== DOES_NOT_EXIST_MESSAGE,
653
- };
654
- };
655
- exports["default"] = parseFarsi;
656
-
657
-
658
- /***/ }),
659
-
660
- /***/ 51120:
661
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
662
-
663
-
664
- Object.defineProperty(exports, "__esModule", ({ value: true }));
665
- const cheerio_1 = __webpack_require__(85131);
666
- const parseFrench = (html) => {
667
- const $ = (0, cheerio_1.load)(html);
668
- const $definitions = $('.tlf_cdefinition');
669
- return {
670
- definitions: Array.from($definitions).map((definition) => $(definition).text()),
671
- exists: $('#vitemselected span').length > 0,
672
- };
673
- };
674
- exports["default"] = parseFrench;
675
-
676
-
677
- /***/ }),
678
-
679
- /***/ 29075:
680
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
681
-
682
-
683
- Object.defineProperty(exports, "__esModule", ({ value: true }));
684
- const cheerio_1 = __webpack_require__(85131);
685
- const parseGerman = (html) => {
686
- const $ = (0, cheerio_1.load)(html);
687
- const definitions = [parseBedeutungsubersicht, parseBedeutungen, parseBedeutung].reduce((results, parse) => (results.length === 0 ? parse($) : results), []);
688
- const exists = Array.from($('.label-danger')).every((label) => $(label).text() !== 'Hinweis');
689
- return { definitions, exists };
690
- };
691
- const parseBedeutungsubersicht = ($) => {
692
- Array.from($('.bedeutungsuebersicht ol > li > a')).forEach((item) => {
693
- $(item).text($(item).text().replace(/\n/g, ''));
694
- });
695
- Array.from($('.bedeutungsuebersicht ol > li > ol > li')).forEach((item) => {
696
- const text = `\n${$(item).text().replace(/\n/g, '')}`;
697
- const $text = $(`<div>${text}</div>`);
698
- $(item).replaceWith($text);
699
- });
700
- Array.from($('.bedeutungsuebersicht ol > li > ol')).forEach((list) => {
701
- const $list = $(list);
702
- const html = $list.html() || '';
703
- const $html = $(`<div>${html}</div>`);
704
- const $prev = $list.prev('a');
705
- if ($prev) {
706
- $prev.append($html);
707
- $(list).remove();
708
- }
709
- else {
710
- $(list).replaceWith($html);
711
- }
712
- });
713
- return parseDefinitions($, $('.bedeutungsuebersicht ol > li'));
714
- };
715
- const parseBedeutung = ($) => {
716
- return parseDefinitions($, $('.dwdswb-lesart .dwdswb-definition-spezifizierung'));
717
- };
718
- const parseBedeutungen = ($) => {
719
- const definitions = parseDefinitions($, $('.dwdswb-lesart .dwdswb-definition'));
720
- if (definitions.length > 0) {
721
- return definitions;
722
- }
723
- const $references = $('.dwdswb-lesart .dwdswb-verweis');
724
- const references = Array.from($references).reduce((result, reference) => {
725
- const html = reference.attribs['data-content'] || '<span />';
726
- const values = $(html)
727
- .text()
728
- .split(';')
729
- .map((value) => value.trim());
730
- return result.concat(values);
731
- }, []);
732
- return references;
733
- };
734
- const parseDefinitions = ($, $definitions) => {
735
- return Array.from($definitions).map((definition) => $(definition)
736
- .text()
737
- .replace(/[ ]+/g, ' ')
738
- .replace(/[ ]\n/g, '\n')
739
- .replace(/^[0-9]+\.\s/g, ''));
740
- };
741
- exports["default"] = parseGerman;
742
-
743
-
744
- /***/ }),
745
-
746
- /***/ 92198:
747
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
748
-
749
-
750
- Object.defineProperty(exports, "__esModule", ({ value: true }));
751
- const cheerio_1 = __webpack_require__(85131);
752
- const parsePolish = (html) => {
753
- const $ = (0, cheerio_1.load)(html);
754
- const $header = $($('h1')[0]);
755
- const $isAllowed = $header.next();
756
- const $definitions = $header.next().next().next().next();
757
- return {
758
- definitions: $definitions.text().trim().split(/\d+\./),
759
- exists: $isAllowed.text().trim().indexOf('dopuszczalne w grach') >= 0,
760
- };
761
- };
762
- exports["default"] = parsePolish;
763
-
764
-
765
- /***/ }),
766
-
767
- /***/ 40609:
768
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
769
-
770
-
771
- Object.defineProperty(exports, "__esModule", ({ value: true }));
772
- const cheerio_1 = __webpack_require__(85131);
773
- const parseRomanian = (html) => {
774
- const $ = (0, cheerio_1.load)(html);
775
- const $activeTab = $('.tab-pane.show.active');
776
- $('.type-example').remove();
777
- const $definitions = $activeTab.find('li.type-meaning.depth-0 > .meaningContainer .def.html');
778
- $definitions.find('.meaningTree').remove();
779
- const definitions = Array.from($definitions).map((definition) => $(definition).text().replace(/\n/g, ''));
780
- return {
781
- definitions,
782
- exists: definitions.length > 0,
783
- };
784
- };
785
- exports["default"] = parseRomanian;
786
-
787
-
788
- /***/ }),
789
-
790
- /***/ 22292:
791
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
792
-
793
-
794
- Object.defineProperty(exports, "__esModule", ({ value: true }));
795
- const cheerio_1 = __webpack_require__(85131);
796
- const parseSpanish = (html) => {
797
- const $ = (0, cheerio_1.load)(html);
798
- $('.verdBold14 + .gris11 + .gris13').remove();
799
- $('br + .gris13').remove();
800
- $('.grisItalic13 + .gris13').remove();
801
- $('font[class^="verd"]').remove();
802
- $('font.gris11').remove();
803
- $('font[class^="grisBold"]').remove();
804
- $('font[class^="grisItalic"]').remove();
805
- Array.from($('.gris13')).forEach((element) => {
806
- const children = $(element).find('.gris13');
807
- if (children && children.length > 0) {
808
- children.remove();
809
- }
810
- });
811
- const definitions = Array.from($('.dcom-search-result .gris13'));
812
- return {
813
- definitions: definitions
814
- .map((definition) => $(definition).text().trim())
815
- .filter(Boolean)
816
- .map((definition) => definition.replace(/\s+\.$/g, ''))
817
- .map((definition) => (definition.endsWith('.') ? definition : `${definition}.`)),
818
- exists: $('.wrapper > p > strong').text() !== 'No se ha encontrado la palabra exacta',
819
- };
820
- };
821
- exports["default"] = parseSpanish;
822
-
823
-
824
- /***/ })
825
-
826
- };
827
- ;
828
-
829
- // load runtime
830
- var __webpack_require__ = require("../../../../webpack-api-runtime.js");
831
- __webpack_require__.C(exports);
832
- var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId))
833
- var __webpack_exports__ = __webpack_require__.X(0, [50,907,865,987,44,911], () => (__webpack_exec__(93470)));
834
- module.exports = __webpack_exports__;
835
-
836
- })();
1
+ "use strict";(()=>{var e={};e.id=611,e.ids=[611],e.modules={9119:e=>{e.exports=require("@kamilmielnik/trie")},8048:e=>{e.exports=require("cheerio")},6953:e=>{e.exports=require("follow-redirects")},1118:e=>{e.exports=require("latinize")},145:e=>{e.exports=require("next/dist/compiled/next-server/pages-api.runtime.prod.js")},8151:e=>{e.exports=require("striptags")},4616:e=>{e.exports=require("unzipper")},7773:e=>{e.exports=require("winston")},6113:e=>{e.exports=require("crypto")},7147:e=>{e.exports=require("fs")},2037:e=>{e.exports=require("os")},1017:e=>{e.exports=require("path")},7310:e=>{e.exports=require("url")},1715:(e,t,r)=>{r.r(t),r.d(t,{config:()=>g,default:()=>v,routeModule:()=>y});var a={};r.r(a),r.d(a,{default:()=>b});var n=r(9150),o=r(1631),l=r(6835),i=r(7911),u=r(8436),d=r(9044),s=r(2954),c=r.n(s),f=r(6452),p=r(8173),m=r(9927);let h=Object.values(i.games).reduce((e,t)=>Math.max(e,t.maximumCharactersCount),0)+1,_=e=>{let{locale:t,word:r}=e.query;if(!(0,f.isLocale)(t))throw Error('Invalid "locale" parameter');if("string"!=typeof r||0===r.length)throw Error('Invalid "word" parameter');let a=Array.from(new Set(r.replaceAll(u.COMMA_ARABIC,u.COMMA_LATIN).split(u.COMMA_LATIN).map(e=>e.trim()).filter(Boolean)));if(a.length>h)throw Error('Invalid "word" parameter');return{locale:t,words:a}},b=async(e,t)=>{let r=(0,m.Z)(e);try{let{locale:a,words:n}=_(e);c().info("dictionary - request",{meta:r,payload:{locale:a,words:n}});let o=await d.dictionaries.get(a),l=await Promise.all(n.map(e=>(0,p.getWordDefinition)(a,e,o.has(e))));t.status(200).send(l.map(e=>e.toJson()))}catch(a){let e=a instanceof Error?a.message:"Unknown error";c().error("dictionary - error",{error:a,meta:r}),t.status(500).send({error:"Server error",message:e})}},v=(0,l.l)(a,"default"),g=(0,l.l)(a,"config"),y=new n.PagesAPIRouteModule({definition:{kind:o.x.PAGES_API,page:"/api/dictionary/[locale]/[word]",pathname:"/api/dictionary/[locale]/[word]",bundlePath:"",filename:""},userland:a})},864:function(e,t,r){var a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});let n=r(6452),o=a(r(357)),l=a(r(2397)),i=a(r(3174)),u=a(r(9047)),d=a(r(8698)),s=a(r(8801)),c=a(r(2360)),f={[n.Locale.DE_DE]:u.default,[n.Locale.EN_GB]:o.default,[n.Locale.EN_US]:o.default,[n.Locale.ES_ES]:c.default,[n.Locale.FA_IR]:l.default,[n.Locale.FR_FR]:i.default,[n.Locale.PL_PL]:d.default,[n.Locale.RO_RO]:s.default};t.default=(e,t)=>f[e](t)},357:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});let a=r(3805);t.default=e=>(0,a.request)({protocol:"https",hostname:"www.merriam-webster.com",path:`/dictionary/${encodeURIComponent(e)}`})},2397:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});let a=r(3805);t.default=e=>(0,a.request)({protocol:"https",hostname:"www.vajehyab.com",path:`/moein/${encodeURIComponent(e)}`})},3174:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});let a=r(3805);t.default=e=>(0,a.request)({protocol:"https",hostname:"www.cnrtl.fr",path:`/definition/${encodeURIComponent(e)}`})},9047:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});let a=r(3805);t.default=e=>(0,a.request)({protocol:"https",hostname:"www.dwds.de",path:`/wb/${encodeURIComponent(e)}`})},8698:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});let a=r(3805);t.default=e=>(0,a.request)({protocol:"https",hostname:"sjp.pl",path:`/${encodeURIComponent(e)}`})},8801:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});let a=r(3805);t.default=e=>(0,a.request)({protocol:"https",hostname:"dexonline.ro",path:`/definitie/${encodeURIComponent(e)}`})},2360:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});let a=r(3805);t.default=e=>(0,a.request)({protocol:"https",hostname:"www.diccionarios.com",path:`/diccionario/espanol/${encodeURIComponent(e)}`})},6344:function(e,t,r){var a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.crawlGerman=t.crawlSpanish=t.crawlPolish=t.crawlFrench=t.crawlEnglish=t.crawl=void 0;var n=r(864);Object.defineProperty(t,"crawl",{enumerable:!0,get:function(){return a(n).default}});var o=r(357);Object.defineProperty(t,"crawlEnglish",{enumerable:!0,get:function(){return a(o).default}});var l=r(3174);Object.defineProperty(t,"crawlFrench",{enumerable:!0,get:function(){return a(l).default}});var i=r(8698);Object.defineProperty(t,"crawlPolish",{enumerable:!0,get:function(){return a(i).default}});var u=r(2360);Object.defineProperty(t,"crawlSpanish",{enumerable:!0,get:function(){return a(u).default}});var d=r(9047);Object.defineProperty(t,"crawlGerman",{enumerable:!0,get:function(){return a(d).default}})},1568:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});let a=r(6452),n=r(6344),o=r(4630),l=async(e,t,r)=>{let l=await (0,n.crawl)(e,t),{definitions:i,exists:u}=(0,o.parse)(e,l);return new a.WordDefinition({definitions:i,exists:u,isAllowed:r,word:t})};t.default=l},8173:function(e,t,r){var a=this&&this.__createBinding||(Object.create?function(e,t,r,a){void 0===a&&(a=r);var n=Object.getOwnPropertyDescriptor(t,r);(!n||("get"in n?!t.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,a,n)}:function(e,t,r,a){void 0===a&&(a=r),e[a]=t[r]}),n=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||a(t,e,r)},o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.getWordDefinition=void 0;var l=r(1568);Object.defineProperty(t,"getWordDefinition",{enumerable:!0,get:function(){return o(l).default}}),n(r(6344),t),n(r(3805),t),n(r(4630),t)},3805:function(e,t,r){var a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.unique=t.request=t.normalizeDefinition=void 0;var n=r(6875);Object.defineProperty(t,"normalizeDefinition",{enumerable:!0,get:function(){return a(n).default}});var o=r(36);Object.defineProperty(t,"request",{enumerable:!0,get:function(){return a(o).default}});var l=r(6381);Object.defineProperty(t,"unique",{enumerable:!0,get:function(){return a(l).default}})},6875:function(e,t,r){var a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});let n=a(r(8151)),o=["a","b","em","internalXref"],l=[e=>(0,n.default)((0,n.default)(e,o),void 0,'"'),e=>e.replace(/^\(\d+\.\d+\)\s+/g,""),e=>e.replace(/\."/g,'".'),e=>e.replace(/\r\n/g,"\n"),e=>e.replace(/[^\S\n ]+/g," ").replace(/[ ]+/g," "),e=>e.trim().replace(/:$/,""),e=>e.trim().replace(/^:/,""),e=>/[\w\u0621-\u064A]+/.test(e)?e:"",e=>e.replace(/\s+,\s+/g,", ").replace(/^,/,"").replace(/,$/,""),e=>e.trim()],i=e=>{let t=l.reduce((e,t)=>t(e),e);return t!==e?i(t):t};t.default=i},36:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});let a=r(6953);t.default=({protocol:e,...t})=>{let r="https"===e?a.https:a.http;return new Promise((e,a)=>r.get(t,t=>{let r="";t.setEncoding("utf8"),t.on("data",e=>{r+=e}),t.on("end",()=>{try{e(r)}catch(e){a(e)}})}).on("error",a))}},6381:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=e=>Array.from(new Set(e))},4630:function(e,t,r){var a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.parseSpanish=t.parseRomanian=t.parsePolish=t.parseGerman=t.parseFrench=t.parseFarsi=t.parseEnglish=t.parse=void 0;var n=r(6837);Object.defineProperty(t,"parse",{enumerable:!0,get:function(){return a(n).default}});var o=r(6519);Object.defineProperty(t,"parseEnglish",{enumerable:!0,get:function(){return a(o).default}});var l=r(3475);Object.defineProperty(t,"parseFarsi",{enumerable:!0,get:function(){return a(l).default}});var i=r(1120);Object.defineProperty(t,"parseFrench",{enumerable:!0,get:function(){return a(i).default}});var u=r(9075);Object.defineProperty(t,"parseGerman",{enumerable:!0,get:function(){return a(u).default}});var d=r(2198);Object.defineProperty(t,"parsePolish",{enumerable:!0,get:function(){return a(d).default}});var s=r(609);Object.defineProperty(t,"parseRomanian",{enumerable:!0,get:function(){return a(s).default}});var c=r(2292);Object.defineProperty(t,"parseSpanish",{enumerable:!0,get:function(){return a(c).default}})},6837:function(e,t,r){var a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});let n=r(6452),o=r(3805),l=a(r(6519)),i=a(r(3475)),u=a(r(1120)),d=a(r(9075)),s=a(r(2198)),c=a(r(609)),f=a(r(2292)),p={[n.Locale.DE_DE]:d.default,[n.Locale.EN_GB]:l.default,[n.Locale.EN_US]:l.default,[n.Locale.ES_ES]:f.default,[n.Locale.FA_IR]:i.default,[n.Locale.FR_FR]:u.default,[n.Locale.PL_PL]:s.default,[n.Locale.RO_RO]:c.default};t.default=(e,t)=>{let{definitions:r,exists:a}=p[e](t);return{definitions:(0,o.unique)(r.map(o.normalizeDefinition).filter(Boolean)),exists:a}}},6519:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});let a=r(8048);t.default=e=>{let t=(0,a.load)(e);return t("strong.mw_t_bc").replaceWith(", "),t(".text-lowercase").remove(),t(".sub-content-thread").remove(),{definitions:Array.from(t("[id^=dictionary-entry]").find(".dtText, .cxl-ref")).map(e=>t(e).text().replace(/\n/g,"")),exists:"The word you've entered isn't in the dictionary. Click on a spelling suggestion below or try again using the search bar above."!==t(".spelling-suggestion-text").text().trim()}}},3475:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});let a=r(8048);t.default=e=>{let t=(0,a.load)(e);return{definitions:Array.from(t("[itemprop=articleBody]")).map(e=>t(e).text()),exists:"404 Page Not Found"!==t("#container h1").text()}}},1120:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});let a=r(8048);t.default=e=>{let t=(0,a.load)(e);return{definitions:Array.from(t(".tlf_cdefinition")).map(e=>t(e).text()),exists:t("#vitemselected span").length>0}}},9075:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});let a=r(8048),n=e=>(Array.from(e(".bedeutungsuebersicht ol > li > a")).forEach(t=>{e(t).text(e(t).text().replace(/\n/g,""))}),Array.from(e(".bedeutungsuebersicht ol > li > ol > li")).forEach(t=>{let r=`
2
+ ${e(t).text().replace(/\n/g,"")}`,a=e(`<div>${r}</div>`);e(t).replaceWith(a)}),Array.from(e(".bedeutungsuebersicht ol > li > ol")).forEach(t=>{let r=e(t),a=r.html()||"",n=e(`<div>${a}</div>`),o=r.prev("a");o?(o.append(n),e(t).remove()):e(t).replaceWith(n)}),i(e,e(".bedeutungsuebersicht ol > li"))),o=e=>i(e,e(".dwdswb-lesart .dwdswb-definition-spezifizierung")),l=e=>{let t=i(e,e(".dwdswb-lesart .dwdswb-definition"));return t.length>0?t:Array.from(e(".dwdswb-lesart .dwdswb-verweis")).reduce((t,r)=>{let a=e(r.attribs["data-content"]||"<span />").text().split(";").map(e=>e.trim());return t.concat(a)},[])},i=(e,t)=>Array.from(t).map(t=>e(t).text().replace(/[ ]+/g," ").replace(/[ ]\n/g,"\n").replace(/^[0-9]+\.\s/g,""));t.default=e=>{let t=(0,a.load)(e);return{definitions:[n,l,o].reduce((e,r)=>0===e.length?r(t):e,[]),exists:Array.from(t(".label-danger")).every(e=>"Hinweis"!==t(e).text())}}},2198:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});let a=r(8048);t.default=e=>{let t=(0,a.load)(e),r=t(t("h1")[0]),n=r.next();return{definitions:r.next().next().next().next().text().trim().split(/\d+\./),exists:n.text().trim().indexOf("dopuszczalne w grach")>=0}}},609:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});let a=r(8048);t.default=e=>{let t=(0,a.load)(e),r=t(".tab-pane.show.active");t(".type-example").remove();let n=r.find("li.type-meaning.depth-0 > .meaningContainer .def.html");n.find(".meaningTree").remove();let o=Array.from(n).map(e=>t(e).text().replace(/\n/g,""));return{definitions:o,exists:o.length>0}}},2292:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});let a=r(8048);t.default=e=>{let t=(0,a.load)(e);return t(".verdBold14 + .gris11 + .gris13").remove(),t("br + .gris13").remove(),t(".grisItalic13 + .gris13").remove(),t('font[class^="verd"]').remove(),t("font.gris11").remove(),t('font[class^="grisBold"]').remove(),t('font[class^="grisItalic"]').remove(),Array.from(t(".gris13")).forEach(e=>{let r=t(e).find(".gris13");r&&r.length>0&&r.remove()}),{definitions:Array.from(t(".dcom-search-result .gris13")).map(e=>t(e).text().trim()).filter(Boolean).map(e=>e.replace(/\s+\.$/g,"")).map(e=>e.endsWith(".")?e:`${e}.`),exists:"No se ha encontrado la palabra exacta"!==t(".wrapper > p > strong").text()}}}};var t=require("../../../../webpack-api-runtime.js");t.C(e);var r=e=>t(t.s=e),a=t.X(0,[977,911],()=>r(1715));module.exports=a})();