@scrabble-solver/scrabble-solver 2.15.13 → 2.15.15
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/.next/BUILD_ID +1 -1
- package/.next/build/chunks/[root-of-the-server]__6e020478._.js +441 -0
- package/.next/build/chunks/[root-of-the-server]__6e020478._.js.map +7 -0
- package/.next/build/chunks/[root-of-the-server]__c7ae8543._.js +500 -0
- package/.next/build/chunks/[root-of-the-server]__c7ae8543._.js.map +11 -0
- package/.next/build/chunks/[turbopack-node]_transforms_webpack-loaders_ts_c84aa21a._.js +12 -0
- package/.next/build/chunks/[turbopack-node]_transforms_webpack-loaders_ts_c84aa21a._.js.map +5 -0
- package/.next/build/chunks/[turbopack]_runtime.js +770 -0
- package/.next/build/chunks/[turbopack]_runtime.js.map +10 -0
- package/.next/build/package.json +1 -0
- package/.next/build/webpack-loaders.js +6 -0
- package/.next/build/webpack-loaders.js.map +5 -0
- package/.next/build-manifest.json +29 -32
- package/.next/cache/.previewinfo +1 -1
- package/.next/cache/.rscinfo +1 -1
- package/.next/cache/.tsbuildinfo +1 -1
- package/.next/diagnostics/build-diagnostics.json +1 -1
- package/.next/diagnostics/framework.json +1 -1
- package/.next/fallback-build-manifest.json +24 -0
- package/.next/images-manifest.json +12 -3
- package/.next/next-minimal-server.js.nft.json +1 -1
- package/.next/next-server.js.nft.json +1 -1
- package/.next/prerender-manifest.json +4 -4
- package/.next/required-server-files.json +104 -73
- package/.next/routes-manifest.json +30 -9
- package/.next/server/chunks/[root-of-the-server]__378b5933._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__378b5933._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__51a21f60._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__51a21f60._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__53eb4a3b._.js +4 -0
- package/.next/server/chunks/[root-of-the-server]__53eb4a3b._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__7e4e99cd._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__7e4e99cd._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__a6a82e19._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__a6a82e19._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__a84df743._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__a84df743._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__a99303dc._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__a99303dc._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__bfa4320b._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__bfa4320b._.js.map +1 -0
- package/.next/server/chunks/[turbopack]_runtime.js +770 -0
- package/.next/server/chunks/[turbopack]_runtime.js.map +10 -0
- package/.next/server/chunks/scrabble-solver_b903dbba._.js +3 -0
- package/.next/server/chunks/scrabble-solver_b903dbba._.js.map +1 -0
- package/.next/server/chunks/scrabble-solver_packages_configs_build_5accd600._.js +3 -0
- package/.next/server/chunks/scrabble-solver_packages_configs_build_5accd600._.js.map +1 -0
- package/.next/server/chunks/ssr/1b834_next_d69de9fa._.js +3 -0
- package/.next/server/chunks/ssr/1b834_next_d69de9fa._.js.map +1 -0
- package/.next/server/chunks/ssr/[externals]_fs_54ffce70._.js +3 -0
- package/.next/server/chunks/ssr/[externals]_fs_54ffce70._.js.map +1 -0
- package/.next/server/chunks/ssr/[externals]_transliteration_b8916dda._.js +3 -0
- package/.next/server/chunks/ssr/[externals]_transliteration_b8916dda._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1115f13a._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1115f13a._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__421f2b10._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__421f2b10._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__b87cf431._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__b87cf431._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__bdcde4df._.js +5 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__bdcde4df._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__c803ce2b._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__c803ce2b._.js.map +1 -0
- package/.next/server/chunks/ssr/[turbopack]_runtime.js +770 -0
- package/.next/server/chunks/ssr/[turbopack]_runtime.js.map +10 -0
- package/.next/server/chunks/ssr/scrabble-solver_1bf76a93._.js +3 -0
- package/.next/server/chunks/ssr/scrabble-solver_1bf76a93._.js.map +1 -0
- package/.next/server/chunks/ssr/scrabble-solver_a6d23152._.js +8 -0
- package/.next/server/chunks/ssr/scrabble-solver_a6d23152._.js.map +1 -0
- package/.next/server/chunks/ssr/scrabble-solver_packages_scrabble-solver_src_i18n_languages_1f0474f1._.js +3 -0
- package/.next/server/chunks/ssr/scrabble-solver_packages_scrabble-solver_src_i18n_languages_1f0474f1._.js.map +1 -0
- package/.next/server/middleware-build-manifest.js +40 -1
- package/.next/server/middleware-manifest.json +2 -2
- package/.next/server/next-font-manifest.js +1 -1
- package/.next/server/next-font-manifest.json +6 -1
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/pages/_app/build-manifest.json +18 -0
- package/.next/server/pages/_app/client-build-manifest.json +5 -0
- package/.next/server/pages/_app/next-font-manifest.json +6 -0
- package/.next/server/pages/_app/pages-manifest.json +3 -0
- package/.next/server/pages/_app/react-loadable-manifest.json +1 -0
- package/.next/server/pages/_app.js +6 -1
- package/.next/server/pages/_app.js.map +5 -0
- package/.next/server/pages/_app.js.nft.json +1 -1
- package/.next/server/pages/_document/next-font-manifest.json +6 -0
- package/.next/server/pages/_document/pages-manifest.json +3 -0
- package/.next/server/pages/_document/react-loadable-manifest.json +1 -0
- package/.next/server/pages/_document.js +5 -1
- package/.next/server/pages/_document.js.map +5 -0
- package/.next/server/pages/_document.js.nft.json +1 -1
- package/.next/server/pages/_error/build-manifest.json +15 -0
- package/.next/server/pages/_error/client-build-manifest.json +5 -0
- package/.next/server/pages/_error/next-font-manifest.json +6 -0
- package/.next/server/pages/_error/pages-manifest.json +3 -0
- package/.next/server/pages/_error/react-loadable-manifest.json +1 -0
- package/.next/server/pages/_error.js +10 -1
- package/.next/server/pages/_error.js.map +5 -0
- package/.next/server/pages/_error.js.nft.json +1 -1
- package/.next/server/pages/api/dictionary/[locale]/[word]/pages-manifest.json +3 -0
- package/.next/server/pages/api/dictionary/[locale]/[word].js +8 -2
- package/.next/server/pages/api/dictionary/[locale]/[word].js.map +5 -0
- package/.next/server/pages/api/dictionary/[locale]/[word].js.nft.json +1 -1
- package/.next/server/pages/api/dictionary/[locale]/pages-manifest.json +3 -0
- package/.next/server/pages/api/dictionary/[locale].js +6 -1
- package/.next/server/pages/api/dictionary/[locale].js.map +5 -0
- package/.next/server/pages/api/dictionary/[locale].js.nft.json +1 -1
- package/.next/server/pages/api/solve/pages-manifest.json +3 -0
- package/.next/server/pages/api/solve.js +8 -1
- package/.next/server/pages/api/solve.js.map +5 -0
- package/.next/server/pages/api/solve.js.nft.json +1 -1
- package/.next/server/pages/api/verify/pages-manifest.json +3 -0
- package/.next/server/pages/api/verify.js +7 -1
- package/.next/server/pages/api/verify.js.map +5 -0
- package/.next/server/pages/api/verify.js.nft.json +1 -1
- package/.next/server/pages/api/visit/pages-manifest.json +3 -0
- package/.next/server/pages/api/visit.js +5 -1
- package/.next/server/pages/api/visit.js.map +5 -0
- package/.next/server/pages/api/visit.js.nft.json +1 -1
- package/.next/server/pages/index/build-manifest.json +18 -0
- package/.next/server/pages/index/client-build-manifest.json +5 -0
- package/.next/server/pages/index/next-font-manifest.json +6 -0
- package/.next/server/pages/index/pages-manifest.json +3 -0
- package/.next/server/pages/index/react-loadable-manifest.json +1 -0
- package/.next/server/pages/index.html +1 -1
- package/.next/server/pages/index.js +11 -1
- package/.next/server/pages/index.js.map +5 -0
- package/.next/server/pages/index.js.nft.json +1 -1
- package/.next/server/pages/index.json +1 -1
- package/.next/server/pages/not-found/build-manifest.json +17 -0
- package/.next/server/pages/not-found/client-build-manifest.json +5 -0
- package/.next/server/pages/not-found/next-font-manifest.json +6 -0
- package/.next/server/pages/not-found/pages-manifest.json +3 -0
- package/.next/server/pages/not-found/react-loadable-manifest.json +1 -0
- package/.next/server/pages/not-found.html +1 -0
- package/.next/server/pages/not-found.js.map +5 -0
- package/.next/server/pages/not-found.js.nft.json +1 -0
- package/.next/server/pages-manifest.json +6 -5
- package/.next/server/server-reference-manifest.js +1 -0
- package/.next/server/server-reference-manifest.json +5 -0
- package/.next/static/7kzTSHcrJ7tE47btIJcLO/_buildManifest.js +27 -0
- package/.next/static/chunks/060b82a3f336704f.js +3 -0
- package/.next/static/chunks/18159e87dc14f3cf.js +1 -0
- package/.next/static/chunks/27692b9d65f8b241.js +8 -0
- package/.next/static/chunks/2f5ae49118c8c86e.js +1 -0
- package/.next/static/chunks/339ed8704781040d.js +5 -0
- package/.next/static/chunks/3c8b810de7908416.js +3 -0
- package/.next/static/chunks/50e709cb7765c2f9.js +1 -0
- package/.next/static/chunks/69fdc9801e177051.js +1 -0
- package/.next/static/chunks/77bd0d5f1fb6eeba.js +3 -0
- package/.next/static/chunks/88b0985f454c1075.js +1 -0
- package/.next/static/chunks/95230bbbdd629d16.js +1 -0
- package/.next/static/chunks/997907c5fccf02bb.js +5 -0
- package/.next/static/chunks/9b2e7a689e581b58.js +7 -0
- package/.next/static/chunks/a4580bbcd72cf165.css +2 -0
- package/.next/static/chunks/e37c75eaddd8268a.css +47 -0
- package/.next/static/chunks/e75d2aeb209c3d8c.js +8 -0
- package/.next/static/chunks/eebac312ab720248.js +1 -0
- package/.next/static/chunks/turbopack-3eaa540498b1c1e9.js +3 -0
- package/.next/static/chunks/turbopack-6422aba52462ed1d.js +3 -0
- package/.next/static/chunks/turbopack-c70c4122d677e1a8.js +3 -0
- package/.next/static/chunks/turbopack-cc316a12eadf598b.js +3 -0
- package/.next/trace +1 -24
- package/.next/trace-build +1 -0
- package/.next/turbopack +0 -0
- package/.next/types/routes.d.ts +57 -0
- package/.next/types/validator.ts +106 -0
- package/next-env.d.ts +1 -0
- package/next.config.js +9 -32
- package/package.json +27 -27
- package/src/components/Modal/Modal.tsx +1 -0
- package/src/components/Results/Result.tsx +13 -17
- package/src/components/Results/Results.tsx +23 -24
- package/src/hooks/useMedia.ts +1 -0
- package/src/pages/_app.tsx +1 -1
- package/src/pages/{404.tsx → not-found.tsx} +2 -0
- package/src/state/cellFilters/slice.ts +1 -2
- package/src/state/settings/selectors.ts +0 -1
- package/src/styles/global.scss +1 -1
- package/src/styles/variables.scss +2 -2
- package/.next/cache/webpack/client-production/0.pack +0 -0
- package/.next/cache/webpack/client-production/index.pack +0 -0
- package/.next/cache/webpack/client-production/index.pack.old +0 -0
- package/.next/cache/webpack/edge-server-production/0.pack +0 -0
- package/.next/cache/webpack/edge-server-production/index.pack +0 -0
- package/.next/cache/webpack/edge-server-production/index.pack.old +0 -0
- package/.next/cache/webpack/server-production/0.pack +0 -0
- package/.next/cache/webpack/server-production/index.pack +0 -0
- package/.next/cache/webpack/server-production/index.pack.old +0 -0
- package/.next/server/InjectManifest.js.nft.json +0 -1
- package/.next/server/chunks/106.js +0 -1
- package/.next/server/chunks/30.js +0 -6
- package/.next/server/chunks/318.js +0 -1
- package/.next/server/chunks/50.js +0 -19
- package/.next/server/chunks/812.js +0 -1
- package/.next/server/chunks/929.js +0 -1
- package/.next/server/chunks/974.js +0 -1
- package/.next/server/dynamic-css-manifest.js +0 -1
- package/.next/server/middleware-react-loadable-manifest.js +0 -1
- package/.next/server/pages/404.js.nft.json +0 -1
- package/.next/server/webpack-api-runtime.js +0 -1
- package/.next/server/webpack-runtime.js +0 -1
- package/.next/static/MhrqAqLI9_L8obb7tgjvi/_buildManifest.js +0 -1
- package/.next/static/chunks/framework-aad31c68dd0bb0ea.js +0 -1
- package/.next/static/chunks/main-eab5847b41f0af4a.js +0 -1
- package/.next/static/chunks/pages/404-04457ede98c6b53e.js +0 -1
- package/.next/static/chunks/pages/_app-bf81f201c021fdc1.js +0 -1
- package/.next/static/chunks/pages/_error-a9800cedd835bcad.js +0 -1
- package/.next/static/chunks/pages/index-79a390f3c2a2499f.js +0 -1
- package/.next/static/chunks/polyfills-42372ed130431b0a.js +0 -1
- package/.next/static/chunks/webpack-6224d37324e372cb.js +0 -1
- package/.next/static/css/04a3767982ec10e8.css +0 -1
- package/.next/static/css/1fae874a25934f54.css +0 -2
- /package/.next/{react-loadable-manifest.json → server/app-paths-manifest.json} +0 -0
- /package/.next/{dynamic-css-manifest.json → static/7kzTSHcrJ7tE47btIJcLO/_clientMiddlewareManifest.json} +0 -0
- /package/.next/static/{MhrqAqLI9_L8obb7tgjvi → 7kzTSHcrJ7tE47btIJcLO}/_ssgManifest.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../scrabble-solver/packages/constants/build/index.js","../../../../../../scrabble-solver/packages/types/build/isObject.js","../../../../../../scrabble-solver/packages/types/build/Bingo.js","../../../../../../scrabble-solver/packages/types/build/Tile.js","../../../../../../scrabble-solver/packages/types/build/Cell.js","../../../../../../scrabble-solver/packages/types/build/Board.js","../../../../../../scrabble-solver/packages/types/build/TileJson.js","../../../../../../scrabble-solver/packages/types/build/CellJson.js","../../../../../../scrabble-solver/packages/types/build/BoardJson.js","../../../../../../scrabble-solver/packages/types/build/Bonus.js","../../../../../../scrabble-solver/packages/types/build/CharacterBonus.js","../../../../../../scrabble-solver/packages/types/build/WordBonus.js","../../../../../../scrabble-solver/packages/types/build/Config.js","../../../../../../scrabble-solver/packages/types/build/Pattern.js","../../../../../../scrabble-solver/packages/types/build/FinalPattern.js","../../../../../../scrabble-solver/packages/types/build/Game.js","../../../../../../scrabble-solver/packages/types/build/HorizontalPattern.js","../../../../../../scrabble-solver/packages/types/build/isError.js","../../../../../../scrabble-solver/packages/types/build/Locale.js","../../../../../../scrabble-solver/packages/types/build/Result.js","../../../../../../scrabble-solver/packages/types/build/VerticalPattern.js","../../../../../../scrabble-solver/packages/types/build/WordDefinition.js","../../../../../../scrabble-solver/packages/types/build/index.js","../../../../../../scrabble-solver/packages/dictionaries/build/constants.js","../../../../../../scrabble-solver/packages/dictionaries/build/lib/createAsyncProxy.js","../../../../../../scrabble-solver/packages/dictionaries/build/lib/createCacheTimestampComparator.js","../../../../../../scrabble-solver/packages/dictionaries/build/lib/getDictionaryFilepath.js","../../../../../../scrabble-solver/packages/dictionaries/build/lib/DiskCache.js","../../../../../../scrabble-solver/packages/word-lists/build/lib/getHash.js","../../../../../../scrabble-solver/packages/word-lists/build/lib/getTempFilepath.js","../../../../../../scrabble-solver/packages/word-lists/build/lib/downloadFile.js","../../../../../../scrabble-solver/packages/word-lists/build/lib/downloadHtml.js","../../../../../../scrabble-solver/packages/word-lists/build/lib/findFirstWordIndex.js","../../../../../../scrabble-solver/packages/word-lists/build/lib/extractWords.js","../../../../../../scrabble-solver/packages/word-lists/build/lib/getTxtWordList.js","../../../../../../scrabble-solver/packages/word-lists/build/lib/unique.js","../../../../../../scrabble-solver/packages/word-lists/build/lib/transliterateDiacritics.js","../../../../../../scrabble-solver/packages/word-lists/build/lib/unzip.js","../../../../../../scrabble-solver/packages/word-lists/build/lib/index.js","../../../../../../scrabble-solver/packages/word-lists/build/languages/english.js","../../../../../../scrabble-solver/packages/word-lists/build/languages/german.js","../../../../../../scrabble-solver/packages/word-lists/build/languages/french.js","../../../../../../scrabble-solver/packages/word-lists/build/languages/persian.js","../../../../../../scrabble-solver/packages/word-lists/build/languages/polish.js","../../../../../../scrabble-solver/packages/word-lists/build/languages/romanian.js","../../../../../../scrabble-solver/packages/word-lists/build/languages/spanish.js","../../../../../../scrabble-solver/packages/word-lists/build/languages/turkish.js","../../../../../../scrabble-solver/packages/word-lists/build/languages/index.js","../../../../../../scrabble-solver/packages/word-lists/build/getWordList.js","../../../../../../scrabble-solver/packages/word-lists/build/index.js","../../../../../../scrabble-solver/packages/dictionaries/build/lib/downloadDictionary.js","../../../../../../scrabble-solver/packages/dictionaries/build/lib/MemoryCache.js","../../../../../../scrabble-solver/packages/dictionaries/build/lib/LayeredCache.js","../../../../../../scrabble-solver/packages/dictionaries/build/lib/index.js","../../../../../../scrabble-solver/packages/dictionaries/build/Dictionaries.js","../../../../../../scrabble-solver/packages/dictionaries/build/index.js"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.VOWELS = exports.CONSONANTS = exports.NO_BONUS = exports.EMPTY_CELL = exports.BONUS_WORD = exports.BONUS_CHARACTER = exports.BLANK = exports.COMMA_LATIN = exports.COMMA_ARABIC = void 0;\nexports.COMMA_ARABIC = '،';\nexports.COMMA_LATIN = ',';\nexports.BLANK = ' ';\nexports.BONUS_CHARACTER = 'BONUS_CHARACTER';\nexports.BONUS_WORD = 'BONUS_WORD';\nexports.EMPTY_CELL = ' ';\nexports.NO_BONUS = { characterMultiplier: 1, wordMultiplier: 1 };\nexports.CONSONANTS = 'bcçćdfgğhjklłmnńñpqrsşśtvwxzźż'.split('');\nexports.VOWELS = 'aąäeęioóöuüyı'.split('');\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isObject = void 0;\nconst isObject = (value) => {\n return typeof value === 'object' && value !== null;\n};\nexports.isObject = isObject;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isMultiplierBingo = exports.isScoreBingo = exports.isBingo = void 0;\nconst isObject_1 = require(\"./isObject\");\nconst isBingo = (value) => {\n return (0, exports.isScoreBingo)(value) || (0, exports.isMultiplierBingo)(value);\n};\nexports.isBingo = isBingo;\nconst isScoreBingo = (value) => {\n return (0, isObject_1.isObject)(value) && 'score' in value && typeof value.score === 'number';\n};\nexports.isScoreBingo = isScoreBingo;\nconst isMultiplierBingo = (value) => {\n return (0, isObject_1.isObject)(value) && 'multiplier' in value && typeof value.multiplier === 'number';\n};\nexports.isMultiplierBingo = isMultiplierBingo;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Tile = void 0;\nconst constants_1 = require(\"@scrabble-solver/constants\");\nclass Tile {\n constructor({ character, isBlank = false }) {\n this.character = character;\n this.isBlank = isBlank;\n }\n clone() {\n return new Tile({\n character: this.character,\n isBlank: this.isBlank,\n });\n }\n equals(other) {\n return this.character === other.character && this.isBlank === other.isBlank;\n }\n toJson() {\n return {\n character: this.character,\n isBlank: this.isBlank,\n };\n }\n toString() {\n return this.character;\n }\n}\nexports.Tile = Tile;\nTile.fromJson = (json) => {\n if (!json) {\n return Tile.Null;\n }\n return new Tile({\n character: json.character,\n isBlank: json.isBlank,\n });\n};\nTile.Null = Object.freeze({\n character: constants_1.EMPTY_CELL,\n isBlank: false,\n clone: () => Tile.Null,\n equals: (other) => other === Tile.Null,\n toJson: () => null,\n toString: () => constants_1.EMPTY_CELL,\n});\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Cell = void 0;\nconst Tile_1 = require(\"./Tile\");\nclass Cell {\n constructor({ isEmpty = true, tile = Tile_1.Tile.Null, x, y }) {\n this.isEmpty = isEmpty;\n this.tile = tile;\n this.x = x;\n this.y = y;\n }\n clone() {\n return new Cell({\n isEmpty: this.isEmpty,\n tile: this.tile.clone(),\n x: this.x,\n y: this.y,\n });\n }\n equals(other) {\n return this.x === other.x && this.y === other.y && this.isEmpty === other.isEmpty && this.tile.equals(other.tile);\n }\n hasTile() {\n return this.tile !== Tile_1.Tile.Null;\n }\n isCandidate() {\n return this.isEmpty && this.hasTile();\n }\n toJson() {\n return {\n isEmpty: this.isEmpty,\n tile: this.tile.toJson(),\n x: this.x,\n y: this.y,\n };\n }\n toString() {\n return this.tile.toString();\n }\n}\nexports.Cell = Cell;\nCell.fromJson = (json) => {\n return new Cell({\n isEmpty: json.isEmpty,\n tile: Tile_1.Tile.fromJson(json.tile),\n x: json.x,\n y: json.y,\n });\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Board = void 0;\nconst constants_1 = require(\"@scrabble-solver/constants\");\nconst Cell_1 = require(\"./Cell\");\nconst Tile_1 = require(\"./Tile\");\nclass Board {\n static fromStringArray(stringArray) {\n return new Board({\n rows: stringArray.map((row, y) => row.split('').map((character, x) => new Cell_1.Cell({\n isEmpty: !character || character === constants_1.EMPTY_CELL,\n tile: character === constants_1.EMPTY_CELL ? Tile_1.Tile.Null : new Tile_1.Tile({ character }),\n x,\n y,\n }))),\n });\n }\n constructor({ rows }) {\n this.rows = rows;\n this.columnsCount = rows[0].length;\n this.rowsCount = rows.length;\n }\n get center() {\n const x = Math.floor(this.columnsCount / 2);\n const y = Math.floor(this.rowsCount / 2);\n return this.rows[y][x];\n }\n clone() {\n const rows = this.rows.map((row) => row.map((cell) => cell.clone()));\n return new Board({ rows });\n }\n collides(cell) {\n return this.collidesUp(cell) || this.collidesDown(cell) || this.collidesLeft(cell) || this.collidesRight(cell);\n }\n collidesDown({ x, y }) {\n return y < this.rowsCount - 1 && !this.rows[y + 1][x].isEmpty;\n }\n collidesLeft({ x, y }) {\n return x > 0 && !this.rows[y][x - 1].isEmpty;\n }\n collidesRight({ x, y }) {\n return x < this.columnsCount - 1 && !this.rows[y][x + 1].isEmpty;\n }\n collidesUp({ x, y }) {\n return y > 0 && !this.rows[y - 1][x].isEmpty;\n }\n equals(other) {\n return (this.columnsCount === other.columnsCount &&\n this.rowsCount === other.rowsCount &&\n this.rows.every((row, rowIndex) => {\n return row.every((cell, cellIndex) => {\n return cell.equals(other.rows[rowIndex][cellIndex]);\n });\n }));\n }\n getBlanksCount() {\n return this.rows.reduce((count, row) => {\n return count + row.reduce((rowCount, cell) => rowCount + (cell.tile.isBlank ? 1 : 0), 0);\n }, 0);\n }\n getColumn(index) {\n return this.rows.map((row) => row[index]);\n }\n getRow(index) {\n return this.rows[index];\n }\n getTilesCount() {\n return this.rows.reduce((count, row) => {\n return count + row.reduce((rowCount, cell) => rowCount + (cell.hasTile() ? 1 : 0), 0);\n }, 0);\n }\n getWords() {\n const horizontalWords = getHorizontalWords(this.rows);\n const verticalWords = getHorizontalWords(transpose(this.rows));\n return [...horizontalWords, ...verticalWords];\n }\n isEmpty() {\n return this.rows.every((row) => row.every(({ isEmpty }) => isEmpty));\n }\n toJson() {\n return this.rows.map((row) => row.map((cell) => cell.toJson()));\n }\n toString() {\n return this.rows.map((row) => row.map(String).join('')).join('\\n');\n }\n updateCell(x, y, updateCell) {\n this.rows[y][x] = updateCell(this.rows[y][x]);\n }\n updateRow(y, updateRow) {\n this.rows[y] = updateRow(this.rows[y]);\n }\n}\nexports.Board = Board;\nBoard.create = (width, height) => {\n const rows = Array(height);\n const emptyRow = Array(width).fill(' ').join('');\n const emptyRows = rows.fill(emptyRow);\n return Board.fromStringArray(emptyRows);\n};\nBoard.fromJson = (json) => {\n return new Board({\n rows: json.map((row) => row.map(Cell_1.Cell.fromJson)),\n });\n};\nconst transpose = (array) => {\n const rows = array.length;\n const cols = array[0].length;\n const transposed = Array(cols)\n .fill(null)\n .map(() => Array(rows));\n for (let y = 0; y < rows; ++y) {\n for (let x = 0; x < cols; ++x) {\n transposed[x][y] = array[y][x];\n }\n }\n return transposed;\n};\nconst getHorizontalWords = (cells) => {\n const words = [];\n for (const row of cells) {\n let currentWord = [];\n for (const cell of row) {\n if (!cell.isEmpty) {\n currentWord.push(cell);\n }\n else if (currentWord.length > 0) {\n if (currentWord.length > 1) {\n words.push(wordToString(currentWord));\n }\n currentWord = [];\n }\n }\n if (currentWord.length > 1) {\n words.push(wordToString(currentWord));\n }\n }\n return words;\n};\nconst wordToString = (word) => {\n return word.map((cell) => cell.tile.character).join('');\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isTileJson = void 0;\nconst isObject_1 = require(\"./isObject\");\nconst isTileJson = (value) => {\n return (0, isObject_1.isObject)(value) && typeof value.character === 'string' && typeof value.isBlank === 'boolean';\n};\nexports.isTileJson = isTileJson;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isCellJson = void 0;\nconst isObject_1 = require(\"./isObject\");\nconst TileJson_1 = require(\"./TileJson\");\nconst isCellJson = (value) => {\n return ((0, isObject_1.isObject)(value) &&\n typeof value.isEmpty === 'boolean' &&\n ((0, TileJson_1.isTileJson)(value.tile) || value.tile === null) &&\n typeof value.x === 'number' &&\n typeof value.y === 'number');\n};\nexports.isCellJson = isCellJson;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isBoardJson = void 0;\nconst CellJson_1 = require(\"./CellJson\");\nconst isBoardJson = (value) => {\n if (!Array.isArray(value)) {\n return false;\n }\n for (const row of value) {\n if (!Array.isArray(value)) {\n return false;\n }\n for (const cell of row) {\n if (!(0, CellJson_1.isCellJson)(cell)) {\n return false;\n }\n }\n }\n return true;\n};\nexports.isBoardJson = isBoardJson;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Bonus = void 0;\nclass Bonus {\n constructor({ multiplier, score, x, y }) {\n this.multiplier = multiplier;\n this.score = score;\n this.x = x;\n this.y = y;\n }\n canApply(_config, cell) {\n return cell.isEmpty && this.matchesCellCoordinates(cell);\n }\n matchesCellCoordinates(cell) {\n return this.x === cell.x && this.y === cell.y;\n }\n toJson() {\n return {\n multiplier: this.multiplier,\n score: this.score,\n type: this.type,\n x: this.x,\n y: this.y,\n };\n }\n get value() {\n return {\n characterMultiplier: 1,\n wordMultiplier: 1,\n };\n }\n}\nexports.Bonus = Bonus;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CharacterBonus = void 0;\nconst constants_1 = require(\"@scrabble-solver/constants\");\nconst Bonus_1 = require(\"./Bonus\");\nclass CharacterBonus extends Bonus_1.Bonus {\n constructor() {\n super(...arguments);\n this.type = constants_1.BONUS_CHARACTER;\n }\n canApply(config, cell) {\n return super.canApply(config, cell) && this.matchesCellTileScore(config, cell);\n }\n matchesCellTileScore(config, cell) {\n if (typeof this.score === 'undefined') {\n return true;\n }\n return this.score === config.pointsMap[cell.tile.character];\n }\n get value() {\n return {\n characterMultiplier: this.multiplier,\n wordMultiplier: 1,\n };\n }\n}\nexports.CharacterBonus = CharacterBonus;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.WordBonus = void 0;\nconst constants_1 = require(\"@scrabble-solver/constants\");\nconst Bonus_1 = require(\"./Bonus\");\nclass WordBonus extends Bonus_1.Bonus {\n constructor() {\n super(...arguments);\n this.type = constants_1.BONUS_WORD;\n }\n get value() {\n return {\n characterMultiplier: 1,\n wordMultiplier: this.multiplier,\n };\n }\n}\nexports.WordBonus = WordBonus;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Config = void 0;\nconst constants_1 = require(\"@scrabble-solver/constants\");\nconst CharacterBonus_1 = require(\"./CharacterBonus\");\nconst WordBonus_1 = require(\"./WordBonus\");\nclass Config {\n constructor(config) {\n this.bonuses = getBonuses(config);\n this.config = config;\n this.pointsMap = getPointsMap(this.config);\n }\n get alphabet() {\n return getAlphabet(this.config);\n }\n get bingo() {\n return this.config.bingo;\n }\n get blankScore() {\n return this.config.blankScore;\n }\n get blanksCount() {\n return this.config.blanksCount;\n }\n get boardHeight() {\n return this.config.boardHeight;\n }\n get boardWidth() {\n return this.config.boardWidth;\n }\n get game() {\n return this.config.game;\n }\n get locale() {\n return this.config.locale;\n }\n get twoCharacterTiles() {\n return this.config.tiles.filter((tile) => tile.character.length === 2).map((tile) => tile.character);\n }\n getCellBonus(cell) {\n return this.bonuses.find((bonus) => bonus.matchesCellCoordinates(cell));\n }\n getCellBonusValue(cell) {\n return this.getCellBonus(cell)?.value || constants_1.NO_BONUS;\n }\n getCharacterPoints(character) {\n if (character === null) {\n return undefined;\n }\n if (character === constants_1.BLANK) {\n return this.blankScore;\n }\n return this.pointsMap[character];\n }\n getTwoCharacterTileByPrefix(character) {\n if (character.length !== 1) {\n return undefined;\n }\n return this.twoCharacterTiles.find((characters) => characters.startsWith(character));\n }\n getTilePoints(tile) {\n if (tile === null) {\n return undefined;\n }\n return tile.isBlank ? this.blankScore : this.getCharacterPoints(tile.character);\n }\n hasCharacter(character) {\n return character in this.pointsMap;\n }\n isTwoCharacterTilePrefix(character) {\n return typeof this.getTwoCharacterTileByPrefix(character) !== 'undefined';\n }\n get rackSize() {\n return this.config.rackSize;\n }\n get supportsRemainingTiles() {\n return this.tiles.every((tile) => typeof tile.count === 'number');\n }\n get tiles() {\n return this.config.tiles;\n }\n toJson() {\n return this.config;\n }\n}\nexports.Config = Config;\nConfig.fromJson = (json) => {\n return new Config(json);\n};\nconst getBonuses = (config) => {\n return config.bonuses.map((bonus) => {\n if (bonus.type === constants_1.BONUS_CHARACTER) {\n return new CharacterBonus_1.CharacterBonus(bonus);\n }\n if (bonus.type === constants_1.BONUS_WORD) {\n return new WordBonus_1.WordBonus(bonus);\n }\n throw new Error(`Unsupported Bonus type: \"${bonus.type}\"`);\n });\n};\nconst getAlphabet = (config) => config.tiles.map(({ character }) => character);\nconst getPointsMap = (config) => config.tiles.reduce((pointsMap, { character, score }) => ({\n ...pointsMap,\n [character]: score,\n}), {});\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Pattern = void 0;\nclass Pattern {\n constructor(board, cells) {\n this.board = board;\n this.cells = cells;\n }\n canBePlaced(config) {\n const emptyCellsCount = this.getEmptyCellsCount();\n const isUsedCellsCountInRange = emptyCellsCount >= 1 && emptyCellsCount <= config.rackSize;\n return (isUsedCellsCountInRange &&\n (this.hasAtLeast1NonEmptyCell() || this.collides() || (this.goesThroughBoardCenter() && this.board.isEmpty())));\n }\n clone() {\n return new Pattern(this.board, this.cells.map((cell) => cell.clone()));\n }\n collides() {\n return this.cells.some((cell) => cell.isEmpty && this.board.collides(cell));\n }\n getIndexOfFirstCellWithoutTile() {\n return this.cells.findIndex((cell) => !cell.hasTile());\n }\n getEmptyCellsCount() {\n return this.cells.filter((cell) => cell.isEmpty).length;\n }\n goesThroughBoardCenter() {\n return this.cells.some((cell) => cell.x === this.board.center.x && cell.y === this.board.center.y && cell.isEmpty);\n }\n hasAtLeast1EmptyCell() {\n return this.cells.some((cell) => cell.isEmpty);\n }\n hasAtLeast1NonEmptyCell() {\n return this.cells.some((cell) => !cell.isEmpty);\n }\n getCollisions() {\n return [];\n }\n toJson() {\n return {\n cells: this.cells.map((cell) => cell.toJson()),\n collisions: this.getCollisions().map((collision) => collision.toJson()),\n word: this.toString(),\n };\n }\n toString() {\n return this.cells.reduce((result, cell) => result + cell.toString(), '');\n }\n}\nexports.Pattern = Pattern;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FinalPattern = void 0;\nconst Pattern_1 = require(\"./Pattern\");\nclass FinalPattern extends Pattern_1.Pattern {\n constructor(pattern) {\n super(pattern.board, pattern.cells);\n this.collisions = pattern.getCollisions();\n }\n getCollisions() {\n return this.collisions;\n }\n}\nexports.FinalPattern = FinalPattern;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isGame = exports.Game = void 0;\nvar Game;\n(function (Game) {\n Game[\"Kelimelik\"] = \"kelimelik\";\n Game[\"LetterLeague\"] = \"letter-league\";\n Game[\"Literaki\"] = \"literaki\";\n Game[\"Scrabble\"] = \"scrabble\";\n Game[\"ScrabbleDuel\"] = \"scrabble-duel\";\n Game[\"SuperScrabble\"] = \"super-scrabble\";\n})(Game || (exports.Game = Game = {}));\nconst games = Object.values(Game);\nconst isGame = (locale) => games.includes(locale);\nexports.isGame = isGame;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HorizontalPattern = void 0;\nconst Pattern_1 = require(\"./Pattern\");\nclass HorizontalPattern extends Pattern_1.Pattern {\n clone() {\n return new HorizontalPattern(this.board, this.cells.map((cell) => cell.clone()));\n }\n getCollisions() {\n const collisions = [];\n this.cells\n .filter((cell) => cell.isEmpty && (this.board.collidesUp(cell) || this.board.collidesDown(cell)))\n .forEach((cell) => {\n const column = this.board.getColumn(cell.x);\n let y = cell.y - 1;\n while (y >= 0 && column[y].hasTile()) {\n --y;\n }\n const previousCells = column.slice(y + 1, cell.y);\n y = cell.y + 1;\n while (y < column.length && column[y].hasTile()) {\n ++y;\n }\n const nextCells = column.slice(cell.y + 1, y);\n const cells = [...previousCells, cell, ...nextCells];\n if (cells.length > 1) {\n const pattern = new Pattern_1.Pattern(this.board, cells);\n collisions.push(pattern);\n }\n });\n return collisions;\n }\n}\nexports.HorizontalPattern = HorizontalPattern;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isError = void 0;\nconst isObject_1 = require(\"./isObject\");\nconst isError = (value) => {\n if (!(0, isObject_1.isObject)(value)) {\n return false;\n }\n return typeof value.message === 'string';\n};\nexports.isError = isError;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isLocale = exports.Locale = void 0;\n/**\n * Locales are defined using IETF language tags\n * @see https://en.wikipedia.org/wiki/IETF_language_tag\n * @see https://en.wikipedia.org/wiki/ISO_3166-1\n */\nvar Locale;\n(function (Locale) {\n Locale[\"DE_DE\"] = \"de-DE\";\n Locale[\"EN_GB\"] = \"en-GB\";\n Locale[\"EN_US\"] = \"en-US\";\n Locale[\"ES_ES\"] = \"es-ES\";\n Locale[\"FA_IR\"] = \"fa-IR\";\n Locale[\"FR_FR\"] = \"fr-FR\";\n Locale[\"PL_PL\"] = \"pl-PL\";\n Locale[\"RO_RO\"] = \"ro-RO\";\n Locale[\"TR_TR\"] = \"tr-TR\";\n})(Locale || (exports.Locale = Locale = {}));\nconst locales = Object.values(Locale);\nconst isLocale = (locale) => locales.includes(locale);\nexports.isLocale = isLocale;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Result = void 0;\nconst constants_1 = require(\"@scrabble-solver/constants\");\nconst Cell_1 = require(\"./Cell\");\nclass Result {\n constructor({ cells, id, collisions, points, }) {\n const tiles = getTiles(cells);\n this.blanksCount = getBlanks(tiles).length;\n this.cells = cells;\n this.collisions = collisions;\n this.consonantsCount = getConsonants(tiles).length;\n this.id = id;\n this.length = cells.length;\n this.points = points;\n this.pointsRatio = getPointsRatio(tiles, points);\n this.tiles = tiles;\n this.tilesCount = tiles.length;\n this.vowelsCount = getVowels(tiles).length;\n this.word = getWord(cells);\n this.words = getWords(cells, collisions);\n this.wordsCount = 1 + this.collisions.length;\n }\n toJson() {\n return {\n cells: this.cells.map((cell) => cell.toJson()),\n id: this.id,\n collisions: this.collisions.map((collision) => collision.map((cell) => cell.toJson())),\n points: this.points,\n };\n }\n isHorizontal() {\n return this.cells[0].y === this.cells[1].y;\n }\n isVertical() {\n return this.cells[0].x === this.cells[1].x;\n }\n}\nexports.Result = Result;\nResult.fromJson = (json) => {\n return new Result({\n id: json.id,\n cells: json.cells.map(Cell_1.Cell.fromJson),\n collisions: json.collisions.map((collision) => collision.map(Cell_1.Cell.fromJson)),\n points: json.points,\n });\n};\nconst getBlanks = (tiles) => tiles.filter(({ isBlank }) => isBlank);\nconst getConsonants = (tiles) => tiles.filter(isConsonant);\nconst getVowels = (tiles) => tiles.filter(isVowel);\nconst getPointsRatio = (tiles, points) => points / tiles.length;\nconst getTiles = (cells) => cells.filter(({ isEmpty }) => isEmpty).map(({ tile }) => tile);\nconst getWord = (cells) => cells.reduce((word, cell) => word + cell.toString(), '');\nconst getWords = (cells, collisions) => [cells, ...collisions].map(getWord);\nconst isConsonant = ({ character, isBlank }) => constants_1.CONSONANTS.includes(character) && !isBlank;\nconst isVowel = ({ character, isBlank }) => constants_1.VOWELS.includes(character) && !isBlank;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.VerticalPattern = void 0;\nconst Pattern_1 = require(\"./Pattern\");\nclass VerticalPattern extends Pattern_1.Pattern {\n clone() {\n return new VerticalPattern(this.board, this.cells.map((cell) => cell.clone()));\n }\n getCollisions() {\n const collisions = [];\n this.cells\n .filter((cell) => cell.isEmpty && (this.board.collidesLeft(cell) || this.board.collidesRight(cell)))\n .forEach((cell) => {\n const row = this.board.getRow(cell.y);\n let x = cell.x - 1;\n while (x >= 0 && row[x].hasTile()) {\n --x;\n }\n const previousCells = row.slice(x + 1, cell.x);\n x = cell.x + 1;\n while (x < row.length && row[x].hasTile()) {\n ++x;\n }\n const nextCells = row.slice(cell.x + 1, x);\n const cells = [...previousCells, cell, ...nextCells];\n if (cells.length > 1) {\n const pattern = new Pattern_1.Pattern(this.board, cells);\n collisions.push(pattern);\n }\n });\n return collisions;\n }\n}\nexports.VerticalPattern = VerticalPattern;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.WordDefinition = void 0;\nclass WordDefinition {\n constructor({ definitions, exists, isAllowed, word }) {\n this.definitions = definitions;\n this.exists = exists;\n this.isAllowed = isAllowed;\n this.word = word;\n }\n toJson() {\n return {\n definitions: this.definitions,\n exists: this.exists,\n isAllowed: this.isAllowed,\n word: this.word,\n };\n }\n}\nexports.WordDefinition = WordDefinition;\nWordDefinition.fromJson = (json) => {\n if (!json) {\n return WordDefinition.Null;\n }\n return new WordDefinition({\n definitions: json.definitions,\n exists: json.exists,\n isAllowed: json.isAllowed,\n word: json.word,\n });\n};\nWordDefinition.Null = Object.freeze({\n definitions: [],\n exists: false,\n isAllowed: false,\n word: '',\n toJson: () => null,\n});\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.WordDefinition = exports.WordBonus = exports.VerticalPattern = exports.isTileJson = exports.Tile = exports.Result = exports.Pattern = exports.Locale = exports.isLocale = exports.isObject = exports.isError = exports.HorizontalPattern = exports.isGame = exports.Game = exports.FinalPattern = exports.Config = exports.CharacterBonus = exports.isCellJson = exports.Cell = exports.Bonus = exports.isBoardJson = exports.Board = exports.isScoreBingo = exports.isMultiplierBingo = exports.isBingo = void 0;\nvar Bingo_1 = require(\"./Bingo\");\nObject.defineProperty(exports, \"isBingo\", { enumerable: true, get: function () { return Bingo_1.isBingo; } });\nObject.defineProperty(exports, \"isMultiplierBingo\", { enumerable: true, get: function () { return Bingo_1.isMultiplierBingo; } });\nObject.defineProperty(exports, \"isScoreBingo\", { enumerable: true, get: function () { return Bingo_1.isScoreBingo; } });\nvar Board_1 = require(\"./Board\");\nObject.defineProperty(exports, \"Board\", { enumerable: true, get: function () { return Board_1.Board; } });\nvar BoardJson_1 = require(\"./BoardJson\");\nObject.defineProperty(exports, \"isBoardJson\", { enumerable: true, get: function () { return BoardJson_1.isBoardJson; } });\nvar Bonus_1 = require(\"./Bonus\");\nObject.defineProperty(exports, \"Bonus\", { enumerable: true, get: function () { return Bonus_1.Bonus; } });\nvar Cell_1 = require(\"./Cell\");\nObject.defineProperty(exports, \"Cell\", { enumerable: true, get: function () { return Cell_1.Cell; } });\nvar CellJson_1 = require(\"./CellJson\");\nObject.defineProperty(exports, \"isCellJson\", { enumerable: true, get: function () { return CellJson_1.isCellJson; } });\nvar CharacterBonus_1 = require(\"./CharacterBonus\");\nObject.defineProperty(exports, \"CharacterBonus\", { enumerable: true, get: function () { return CharacterBonus_1.CharacterBonus; } });\nvar Config_1 = require(\"./Config\");\nObject.defineProperty(exports, \"Config\", { enumerable: true, get: function () { return Config_1.Config; } });\nvar FinalPattern_1 = require(\"./FinalPattern\");\nObject.defineProperty(exports, \"FinalPattern\", { enumerable: true, get: function () { return FinalPattern_1.FinalPattern; } });\nvar Game_1 = require(\"./Game\");\nObject.defineProperty(exports, \"Game\", { enumerable: true, get: function () { return Game_1.Game; } });\nObject.defineProperty(exports, \"isGame\", { enumerable: true, get: function () { return Game_1.isGame; } });\nvar HorizontalPattern_1 = require(\"./HorizontalPattern\");\nObject.defineProperty(exports, \"HorizontalPattern\", { enumerable: true, get: function () { return HorizontalPattern_1.HorizontalPattern; } });\nvar isError_1 = require(\"./isError\");\nObject.defineProperty(exports, \"isError\", { enumerable: true, get: function () { return isError_1.isError; } });\nvar isObject_1 = require(\"./isObject\");\nObject.defineProperty(exports, \"isObject\", { enumerable: true, get: function () { return isObject_1.isObject; } });\nvar Locale_1 = require(\"./Locale\");\nObject.defineProperty(exports, \"isLocale\", { enumerable: true, get: function () { return Locale_1.isLocale; } });\nObject.defineProperty(exports, \"Locale\", { enumerable: true, get: function () { return Locale_1.Locale; } });\nvar Pattern_1 = require(\"./Pattern\");\nObject.defineProperty(exports, \"Pattern\", { enumerable: true, get: function () { return Pattern_1.Pattern; } });\nvar Result_1 = require(\"./Result\");\nObject.defineProperty(exports, \"Result\", { enumerable: true, get: function () { return Result_1.Result; } });\nvar Tile_1 = require(\"./Tile\");\nObject.defineProperty(exports, \"Tile\", { enumerable: true, get: function () { return Tile_1.Tile; } });\nvar TileJson_1 = require(\"./TileJson\");\nObject.defineProperty(exports, \"isTileJson\", { enumerable: true, get: function () { return TileJson_1.isTileJson; } });\nvar VerticalPattern_1 = require(\"./VerticalPattern\");\nObject.defineProperty(exports, \"VerticalPattern\", { enumerable: true, get: function () { return VerticalPattern_1.VerticalPattern; } });\nvar WordBonus_1 = require(\"./WordBonus\");\nObject.defineProperty(exports, \"WordBonus\", { enumerable: true, get: function () { return WordBonus_1.WordBonus; } });\nvar WordDefinition_1 = require(\"./WordDefinition\");\nObject.defineProperty(exports, \"WordDefinition\", { enumerable: true, get: function () { return WordDefinition_1.WordDefinition; } });\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OUTPUT_DIRECTORY = exports.CACHE_STALE_THRESHOLD = exports.DAY = void 0;\nconst os_1 = __importDefault(require(\"os\"));\nconst path_1 = __importDefault(require(\"path\"));\nexports.DAY = 24 * 60 * 60 * 1000;\nexports.CACHE_STALE_THRESHOLD = 1 * exports.DAY; // eslint-disable-line no-implicit-coercion\nexports.OUTPUT_DIRECTORY = path_1.default.resolve(os_1.default.homedir(), '.scrabble-solver', 'dictionaries');\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createAsyncProxy = void 0;\nconst createAsyncProxy = (asyncCallback) => {\n let promise = null;\n return async () => {\n if (promise) {\n return promise;\n }\n try {\n promise = asyncCallback();\n return await promise;\n }\n finally {\n promise = null;\n }\n };\n};\nexports.createAsyncProxy = createAsyncProxy;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createCacheTimestampComparator = void 0;\nconst createCacheTimestampComparator = (locale) => {\n return (a, b) => {\n const aTimestamp = a.getLastModifiedTimestamp(locale);\n const bTimestamp = b.getLastModifiedTimestamp(locale);\n if (aTimestamp === bTimestamp) {\n return 0;\n }\n if (typeof aTimestamp === 'undefined') {\n return 1;\n }\n if (typeof bTimestamp === 'undefined') {\n return -1;\n }\n return bTimestamp - aTimestamp;\n };\n};\nexports.createCacheTimestampComparator = createCacheTimestampComparator;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getDictionaryFilepath = void 0;\nconst path_1 = __importDefault(require(\"path\"));\nconst constants_1 = require(\"../constants\");\nconst getDictionaryFilepath = (locale) => {\n return path_1.default.resolve(constants_1.OUTPUT_DIRECTORY, `${locale}.txt`);\n};\nexports.getDictionaryFilepath = getDictionaryFilepath;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DiskCache = void 0;\nconst trie_1 = require(\"@kamilmielnik/trie\");\nconst fs_1 = __importDefault(require(\"fs\"));\nconst constants_1 = require(\"../constants\");\nconst getDictionaryFilepath_1 = require(\"./getDictionaryFilepath\");\nclass DiskCache {\n async get(locale) {\n if (!this.has(locale)) {\n return undefined;\n }\n const filepath = (0, getDictionaryFilepath_1.getDictionaryFilepath)(locale);\n const serialized = await fs_1.default.promises.readFile(filepath, 'utf-8');\n const trie = trie_1.Trie.deserialize(serialized);\n return trie;\n }\n getLastModifiedTimestamp(locale) {\n const filepath = (0, getDictionaryFilepath_1.getDictionaryFilepath)(locale);\n if (!fs_1.default.existsSync(filepath)) {\n return undefined;\n }\n const stats = fs_1.default.statSync(filepath);\n return stats.mtimeMs;\n }\n has(locale) {\n const filepath = (0, getDictionaryFilepath_1.getDictionaryFilepath)(locale);\n return fs_1.default.existsSync(filepath);\n }\n isStale(locale) {\n if (!this.has(locale)) {\n return undefined;\n }\n const lastModifiedTimestamp = this.getLastModifiedTimestamp(locale);\n if (typeof lastModifiedTimestamp === 'undefined') {\n return undefined;\n }\n const timeSinceModification = Math.abs(lastModifiedTimestamp - Date.now());\n return timeSinceModification > constants_1.CACHE_STALE_THRESHOLD;\n }\n async set(locale, trie) {\n const filepath = (0, getDictionaryFilepath_1.getDictionaryFilepath)(locale);\n await fs_1.default.promises.writeFile(filepath, trie.serialize());\n }\n}\nexports.DiskCache = DiskCache;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getHash = void 0;\nconst crypto_1 = __importDefault(require(\"crypto\"));\nconst getHash = (bytes = 8) => crypto_1.default.randomBytes(bytes).toString('hex');\nexports.getHash = getHash;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getTempFilepath = void 0;\nconst os_1 = __importDefault(require(\"os\"));\nconst path_1 = __importDefault(require(\"path\"));\nconst getHash_1 = require(\"./getHash\");\nconst OUTPUT_DIRECTORY = path_1.default.resolve(os_1.default.homedir(), '.scrabble-solver');\nconst getTempFilepath = () => {\n const filename = `${(0, getHash_1.getHash)()}.txt`;\n return path_1.default.join(OUTPUT_DIRECTORY, filename);\n};\nexports.getTempFilepath = getTempFilepath;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.downloadFile = void 0;\nconst follow_redirects_1 = require(\"follow-redirects\");\nconst fs_1 = __importDefault(require(\"fs\"));\nconst getTempFilepath_1 = require(\"./getTempFilepath\");\nconst downloadFile = (url) => {\n return new Promise((resolve, reject) => {\n const tempFilepath = (0, getTempFilepath_1.getTempFilepath)();\n const protocol = url.startsWith('https') ? follow_redirects_1.https : follow_redirects_1.http;\n const writeStream = fs_1.default.createWriteStream(tempFilepath);\n const request = protocol.get(url, (response) => {\n if (typeof response.statusCode === 'undefined' || response.statusCode >= 400) {\n reject(new Error(`Cannot download file: ${url}`));\n return;\n }\n response.on('error', (error) => {\n writeStream.close();\n reject(error);\n });\n response.on('end', () => {\n writeStream.on('finish', () => {\n writeStream.close();\n resolve(tempFilepath);\n });\n });\n response.pipe(writeStream);\n });\n request.on('error', (error) => {\n writeStream.close();\n reject(error);\n });\n });\n};\nexports.downloadFile = downloadFile;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.downloadHtml = void 0;\nconst follow_redirects_1 = require(\"follow-redirects\");\nconst downloadHtml = (url) => {\n return new Promise((resolve, reject) => {\n const protocol = url.startsWith('https') ? follow_redirects_1.https : follow_redirects_1.http;\n protocol.get(url, (response) => {\n let data = '';\n response.setEncoding('utf8');\n response.on('data', (chunk) => {\n data += chunk;\n });\n response.on('end', () => {\n resolve(data);\n });\n response.on('error', reject);\n });\n });\n};\nexports.downloadHtml = downloadHtml;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.findFirstWordIndex = void 0;\nconst findFirstWordIndex = (lines, locale) => {\n const firstWordIndex = lines.findIndex((line, index) => {\n const nextLine = line[index + 1] || '';\n const isNextLineInOrder = line.localeCompare(nextLine, locale) > 0;\n const hasWhitespace = Boolean(line.match(/\\s/));\n const isEmpty = line.trim().length === 0;\n return !isEmpty && !hasWhitespace && isNextLineInOrder;\n });\n if (typeof firstWordIndex === 'undefined') {\n throw new Error('Cannot find index of the first word in the file');\n }\n return firstWordIndex;\n};\nexports.findFirstWordIndex = findFirstWordIndex;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.extractWords = void 0;\nconst findFirstWordIndex_1 = require(\"./findFirstWordIndex\");\nconst extractWords = (file, locale) => {\n const lines = file.split(/\\r?\\n/g);\n const firstWordIndex = (0, findFirstWordIndex_1.findFirstWordIndex)(lines, locale);\n const words = [];\n for (let i = firstWordIndex; i < lines.length; ++i) {\n const trimmed = lines[i].trim();\n if (trimmed.length > 0) {\n words.push(trimmed.toLocaleLowerCase());\n }\n }\n return words;\n};\nexports.extractWords = extractWords;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getTxtWordList = void 0;\nconst fs_1 = __importDefault(require(\"fs\"));\nconst downloadFile_1 = require(\"./downloadFile\");\nconst extractWords_1 = require(\"./extractWords\");\nconst getTxtWordList = async (url, locale) => {\n const tempFilename = await (0, downloadFile_1.downloadFile)(url);\n const file = fs_1.default.readFileSync(tempFilename, 'utf-8');\n const words = (0, extractWords_1.extractWords)(file.toLocaleString(), locale);\n fs_1.default.unlinkSync(tempFilename);\n return words;\n};\nexports.getTxtWordList = getTxtWordList;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.unique = void 0;\nconst unique = (array) => Array.from(new Set(array));\nexports.unique = unique;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.transliterateDiacritics = void 0;\nconst transliteration_1 = require(\"transliteration\");\nconst unique_1 = require(\"./unique\");\nconst transliterateDiacritics = (words, options) => {\n return (0, unique_1.unique)(words.map((word) => (0, transliteration_1.transliterate)(word, options)));\n};\nexports.transliterateDiacritics = transliterateDiacritics;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.unzip = void 0;\nconst fs_1 = __importDefault(require(\"fs\"));\nconst unzipper_1 = __importDefault(require(\"unzipper\"));\nconst unzip = (zipFilename, extractFilename, outputFilename) => {\n return fs_1.default\n .createReadStream(zipFilename)\n .pipe(unzipper_1.default.Parse())\n .on('entry', (entry) => {\n const fileName = entry.path;\n if (fileName === extractFilename) {\n entry.pipe(fs_1.default.createWriteStream(outputFilename));\n }\n else {\n entry.autodrain();\n }\n })\n .promise();\n};\nexports.unzip = unzip;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.unzip = exports.unique = exports.transliterateDiacritics = exports.getTxtWordList = exports.getTempFilepath = exports.getHash = exports.findFirstWordIndex = exports.extractWords = exports.downloadHtml = exports.downloadFile = void 0;\nvar downloadFile_1 = require(\"./downloadFile\");\nObject.defineProperty(exports, \"downloadFile\", { enumerable: true, get: function () { return downloadFile_1.downloadFile; } });\nvar downloadHtml_1 = require(\"./downloadHtml\");\nObject.defineProperty(exports, \"downloadHtml\", { enumerable: true, get: function () { return downloadHtml_1.downloadHtml; } });\nvar extractWords_1 = require(\"./extractWords\");\nObject.defineProperty(exports, \"extractWords\", { enumerable: true, get: function () { return extractWords_1.extractWords; } });\nvar findFirstWordIndex_1 = require(\"./findFirstWordIndex\");\nObject.defineProperty(exports, \"findFirstWordIndex\", { enumerable: true, get: function () { return findFirstWordIndex_1.findFirstWordIndex; } });\nvar getHash_1 = require(\"./getHash\");\nObject.defineProperty(exports, \"getHash\", { enumerable: true, get: function () { return getHash_1.getHash; } });\nvar getTempFilepath_1 = require(\"./getTempFilepath\");\nObject.defineProperty(exports, \"getTempFilepath\", { enumerable: true, get: function () { return getTempFilepath_1.getTempFilepath; } });\nvar getTxtWordList_1 = require(\"./getTxtWordList\");\nObject.defineProperty(exports, \"getTxtWordList\", { enumerable: true, get: function () { return getTxtWordList_1.getTxtWordList; } });\nvar transliterateDiacritics_1 = require(\"./transliterateDiacritics\");\nObject.defineProperty(exports, \"transliterateDiacritics\", { enumerable: true, get: function () { return transliterateDiacritics_1.transliterateDiacritics; } });\nvar unique_1 = require(\"./unique\");\nObject.defineProperty(exports, \"unique\", { enumerable: true, get: function () { return unique_1.unique; } });\nvar unzip_1 = require(\"./unzip\");\nObject.defineProperty(exports, \"unzip\", { enumerable: true, get: function () { return unzip_1.unzip; } });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getWordListUs = exports.getWordListGb = void 0;\nconst types_1 = require(\"@scrabble-solver/types\");\nconst lib_1 = require(\"../lib\");\nconst EN_GB_FILE_URL = 'https://raw.githubusercontent.com/kamilmielnik/scrabble-dictionaries/refs/heads/master/english/sowpods.txt';\nconst EN_US_FILE_URL = 'https://raw.githubusercontent.com/kamilmielnik/scrabble-dictionaries/refs/heads/master/english/twl06.txt';\nconst getWordListGb = async () => {\n return (0, lib_1.getTxtWordList)(EN_GB_FILE_URL, types_1.Locale.EN_GB);\n};\nexports.getWordListGb = getWordListGb;\nconst getWordListUs = async () => {\n return (0, lib_1.getTxtWordList)(EN_US_FILE_URL, types_1.Locale.EN_US);\n};\nexports.getWordListUs = getWordListUs;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getWordList = void 0;\nconst types_1 = require(\"@scrabble-solver/types\");\nconst lib_1 = require(\"../lib\");\nconst FILE_URL = 'https://raw.githubusercontent.com/kamilmielnik/scrabble-dictionaries/refs/heads/master/german/german.txt';\nconst getWordList = async () => {\n return (0, lib_1.getTxtWordList)(FILE_URL, types_1.Locale.DE_DE);\n};\nexports.getWordList = getWordList;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getWordList = void 0;\nconst types_1 = require(\"@scrabble-solver/types\");\nconst lib_1 = require(\"../lib\");\nconst FILE_URL = 'https://raw.githubusercontent.com/kamilmielnik/scrabble-dictionaries/refs/heads/master/french/ods8.txt';\nconst getWordList = async () => {\n const words = await (0, lib_1.getTxtWordList)(FILE_URL, types_1.Locale.FR_FR);\n return (0, lib_1.transliterateDiacritics)(words);\n};\nexports.getWordList = getWordList;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getWordList = void 0;\nconst types_1 = require(\"@scrabble-solver/types\");\nconst lib_1 = require(\"../lib\");\nconst FILE_URL = 'https://raw.githubusercontent.com/kamilmielnik/scrabble-dictionaries/refs/heads/master/persian/persian.txt';\nconst getWordList = async () => {\n return (0, lib_1.getTxtWordList)(FILE_URL, types_1.Locale.FA_IR);\n};\nexports.getWordList = getWordList;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getWordList = void 0;\nconst types_1 = require(\"@scrabble-solver/types\");\nconst cheerio_1 = require(\"cheerio\");\nconst fs_1 = __importDefault(require(\"fs\"));\nconst url_1 = require(\"url\");\nconst lib_1 = require(\"../lib\");\nconst PAGE_URL = 'https://sjp.pl/sl/growy/';\nconst FILE_TO_EXTRACT_FROM_ZIP = 'slowa.txt';\nconst REASONABLE_VALID_WORD_COUNT_TRESHOLD = 2_000_000; // more like 3M, but just to be safe\nconst SECONDARY_FILE_URL = 'https://raw.githubusercontent.com/kamilmielnik/scrabble-dictionaries/refs/heads/master/polish/sjp.txt';\nconst getWordList = async () => {\n try {\n const tempFilepath = (0, lib_1.getTempFilepath)();\n const zipUrl = await fetchZipUrl(PAGE_URL);\n const zipTempFilename = await (0, lib_1.downloadFile)(zipUrl);\n await (0, lib_1.unzip)(zipTempFilename, FILE_TO_EXTRACT_FROM_ZIP, tempFilepath);\n fs_1.default.unlinkSync(zipTempFilename);\n const file = fs_1.default.readFileSync(tempFilepath, 'utf-8');\n fs_1.default.unlinkSync(tempFilepath);\n const words = (0, lib_1.extractWords)(file.toLocaleString(), 'pl-PL');\n if (words.length < REASONABLE_VALID_WORD_COUNT_TRESHOLD) {\n return getBackupWordList();\n }\n return words;\n }\n catch {\n return getBackupWordList();\n }\n};\nexports.getWordList = getWordList;\nconst fetchZipUrl = async (url) => {\n const html = await (0, lib_1.downloadHtml)(url);\n const filename = parseZipContainingPage(html);\n const { href } = new url_1.URL(filename, url);\n return href;\n};\nconst parseZipContainingPage = (html) => {\n const $ = (0, cheerio_1.load)(html);\n const $links = $('a');\n const links = Array.from($links)\n .map((link) => $(link).attr('href'))\n .filter(Boolean);\n const zipFilename = links.find((link) => link.endsWith('.zip'));\n if (typeof zipFilename === 'undefined') {\n throw new Error('Cannot find link to zip file on the page');\n }\n return zipFilename;\n};\nconst getBackupWordList = () => {\n return (0, lib_1.getTxtWordList)(SECONDARY_FILE_URL, types_1.Locale.PL_PL);\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getWordList = void 0;\nconst types_1 = require(\"@scrabble-solver/types\");\nconst lib_1 = require(\"../lib\");\nconst FILE_URL = 'https://raw.githubusercontent.com/kamilmielnik/scrabble-dictionaries/master/romanian/loc-5.0.txt';\nconst getWordList = async () => {\n const words = await (0, lib_1.getTxtWordList)(FILE_URL, types_1.Locale.RO_RO);\n return (0, lib_1.transliterateDiacritics)(words);\n};\nexports.getWordList = getWordList;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getWordList = void 0;\nconst types_1 = require(\"@scrabble-solver/types\");\nconst lib_1 = require(\"../lib\");\nconst FILE_URL = 'https://raw.githubusercontent.com/kamilmielnik/scrabble-dictionaries/master/spanish/file-2017.txt';\nconst getWordList = async () => {\n const words = await (0, lib_1.getTxtWordList)(FILE_URL, types_1.Locale.ES_ES);\n return (0, lib_1.transliterateDiacritics)(words, { ignore: ['ñ'] });\n};\nexports.getWordList = getWordList;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getWordList = void 0;\nconst types_1 = require(\"@scrabble-solver/types\");\nconst lib_1 = require(\"../lib\");\nconst FILE_URL = 'https://raw.githubusercontent.com/kamilmielnik/scrabble-dictionaries/master/turkish/kelimelik.txt';\nconst getWordList = async () => {\n return (0, lib_1.getTxtWordList)(FILE_URL, types_1.Locale.TR_TR);\n};\nexports.getWordList = getWordList;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.turkish = exports.spanish = exports.romanian = exports.polish = exports.persian = exports.french = exports.german = exports.english = void 0;\nexports.english = __importStar(require(\"./english\"));\nexports.german = __importStar(require(\"./german\"));\nexports.french = __importStar(require(\"./french\"));\nexports.persian = __importStar(require(\"./persian\"));\nexports.polish = __importStar(require(\"./polish\"));\nexports.romanian = __importStar(require(\"./romanian\"));\nexports.spanish = __importStar(require(\"./spanish\"));\nexports.turkish = __importStar(require(\"./turkish\"));\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getWordList = void 0;\nconst types_1 = require(\"@scrabble-solver/types\");\nconst languages_1 = require(\"./languages\");\nconst localeMap = {\n [types_1.Locale.DE_DE]: languages_1.german.getWordList,\n [types_1.Locale.EN_GB]: languages_1.english.getWordListGb,\n [types_1.Locale.EN_US]: languages_1.english.getWordListUs,\n [types_1.Locale.ES_ES]: languages_1.spanish.getWordList,\n [types_1.Locale.FA_IR]: languages_1.persian.getWordList,\n [types_1.Locale.FR_FR]: languages_1.french.getWordList,\n [types_1.Locale.PL_PL]: languages_1.polish.getWordList,\n [types_1.Locale.RO_RO]: languages_1.romanian.getWordList,\n [types_1.Locale.TR_TR]: languages_1.turkish.getWordList,\n};\nconst getWordList = (locale) => localeMap[locale]();\nexports.getWordList = getWordList;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getWordList = void 0;\nvar getWordList_1 = require(\"./getWordList\");\nObject.defineProperty(exports, \"getWordList\", { enumerable: true, get: function () { return getWordList_1.getWordList; } });\n__exportStar(require(\"./languages\"), exports);\n__exportStar(require(\"./lib\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.downloadDictionary = void 0;\nconst trie_1 = require(\"@kamilmielnik/trie\");\nconst logger_1 = require(\"@scrabble-solver/logger\");\nconst word_lists_1 = require(\"@scrabble-solver/word-lists\");\nconst downloadDictionary = async (locale) => {\n logger_1.logger.info('downloadDictionary', { locale });\n const words = await (0, word_lists_1.getWordList)(locale);\n logger_1.logger.info('downloadDictionary - success', { locale });\n const trie = trie_1.Trie.fromArray(words);\n return trie;\n};\nexports.downloadDictionary = downloadDictionary;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MemoryCache = void 0;\nconst constants_1 = require(\"../constants\");\nclass MemoryCache {\n constructor() {\n this.cache = {};\n this.cacheTimestamps = {};\n }\n get(locale) {\n return Promise.resolve(this.cache[locale]);\n }\n getLastModifiedTimestamp(locale) {\n return this.cacheTimestamps[locale];\n }\n has(locale) {\n return typeof this.cache[locale] !== 'undefined';\n }\n isStale(locale) {\n const timestamp = this.getLastModifiedTimestamp(locale);\n if (!this.has(locale) || typeof timestamp === 'undefined') {\n return undefined;\n }\n const timeSinceModification = Math.abs(timestamp - Date.now());\n return timeSinceModification > constants_1.CACHE_STALE_THRESHOLD;\n }\n set(locale, trie) {\n this.cacheTimestamps[locale] = Date.now();\n this.cache[locale] = trie;\n return Promise.resolve();\n }\n}\nexports.MemoryCache = MemoryCache;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LayeredCache = void 0;\nconst createCacheTimestampComparator_1 = require(\"./createCacheTimestampComparator\");\nconst DiskCache_1 = require(\"./DiskCache\");\nconst MemoryCache_1 = require(\"./MemoryCache\");\nclass LayeredCache {\n constructor() {\n this.layers = [new MemoryCache_1.MemoryCache(), new DiskCache_1.DiskCache()];\n }\n async get(locale) {\n const cache = this.getLastModifiedLayer(locale);\n if (!cache) {\n return Promise.resolve(undefined);\n }\n const [memoryCache, diskCache] = this.layers;\n const value = await cache.get(locale);\n if (cache === diskCache && typeof value !== 'undefined') {\n await memoryCache.set(locale, value);\n }\n return value;\n }\n getLastModifiedTimestamp(locale) {\n const cache = this.getLastModifiedLayer(locale);\n if (!cache) {\n return undefined;\n }\n return cache.getLastModifiedTimestamp(locale);\n }\n has(locale) {\n return this.layers.some((cache) => cache.has(locale));\n }\n isStale(locale) {\n if (this.layers.some((cache) => cache.isStale(locale))) {\n return true;\n }\n if (this.layers.every((cache) => typeof cache.isStale(locale) === 'undefined')) {\n return undefined;\n }\n return false;\n }\n async set(locale, trie) {\n const [memoryCache, diskCache] = this.layers;\n await diskCache.set(locale, trie);\n await memoryCache.set(locale, trie);\n }\n getLastModifiedLayer(locale) {\n const layers = this.layers.filter((cache) => cache.has(locale));\n const [cached] = [...layers].sort((0, createCacheTimestampComparator_1.createCacheTimestampComparator)(locale));\n return cached;\n }\n}\nexports.LayeredCache = LayeredCache;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MemoryCache = exports.LayeredCache = exports.getDictionaryFilepath = exports.downloadDictionary = exports.DiskCache = exports.createCacheTimestampComparator = exports.createAsyncProxy = void 0;\nvar createAsyncProxy_1 = require(\"./createAsyncProxy\");\nObject.defineProperty(exports, \"createAsyncProxy\", { enumerable: true, get: function () { return createAsyncProxy_1.createAsyncProxy; } });\nvar createCacheTimestampComparator_1 = require(\"./createCacheTimestampComparator\");\nObject.defineProperty(exports, \"createCacheTimestampComparator\", { enumerable: true, get: function () { return createCacheTimestampComparator_1.createCacheTimestampComparator; } });\nvar DiskCache_1 = require(\"./DiskCache\");\nObject.defineProperty(exports, \"DiskCache\", { enumerable: true, get: function () { return DiskCache_1.DiskCache; } });\nvar downloadDictionary_1 = require(\"./downloadDictionary\");\nObject.defineProperty(exports, \"downloadDictionary\", { enumerable: true, get: function () { return downloadDictionary_1.downloadDictionary; } });\nvar getDictionaryFilepath_1 = require(\"./getDictionaryFilepath\");\nObject.defineProperty(exports, \"getDictionaryFilepath\", { enumerable: true, get: function () { return getDictionaryFilepath_1.getDictionaryFilepath; } });\nvar LayeredCache_1 = require(\"./LayeredCache\");\nObject.defineProperty(exports, \"LayeredCache\", { enumerable: true, get: function () { return LayeredCache_1.LayeredCache; } });\nvar MemoryCache_1 = require(\"./MemoryCache\");\nObject.defineProperty(exports, \"MemoryCache\", { enumerable: true, get: function () { return MemoryCache_1.MemoryCache; } });\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Dictionaries = void 0;\nconst logger_1 = require(\"@scrabble-solver/logger\");\nconst types_1 = require(\"@scrabble-solver/types\");\nconst fs_1 = __importDefault(require(\"fs\"));\nconst constants_1 = require(\"./constants\");\nconst lib_1 = require(\"./lib\");\nclass Dictionaries {\n constructor() {\n this.cache = new lib_1.LayeredCache();\n this.downloadDictionaryProxies = Object.fromEntries(Object.values(types_1.Locale).map((locale) => [locale, (0, lib_1.createAsyncProxy)(() => (0, lib_1.downloadDictionary)(locale))]));\n }\n async get(locale) {\n if (this.cache.has(locale)) {\n const trie = await this.cache.get(locale);\n if (trie) {\n return trie;\n }\n }\n logger_1.logger.info('Dictionaries - cache miss', { locale });\n return this.updateDictionary(locale);\n }\n remove() {\n fs_1.default.rmdirSync(constants_1.OUTPUT_DIRECTORY, { recursive: true });\n }\n async update(force) {\n const locales = force ? Object.values(types_1.Locale) : this.getLocalesToUpdate();\n logger_1.logger.info('Dictionaries - update', { force, locales });\n await Promise.all(locales.map((locale) => this.updateDictionary(locale)));\n }\n getLocalesToUpdate() {\n return Object.values(types_1.Locale).filter((locale) => this.cache.isStale(locale) !== false);\n }\n async updateDictionary(locale) {\n logger_1.logger.info('Dictionaries - updateDictionary', { locale });\n fs_1.default.mkdirSync(constants_1.OUTPUT_DIRECTORY, { recursive: true });\n const downloadDictionaryProxy = this.downloadDictionaryProxies[locale];\n const trie = await downloadDictionaryProxy();\n await this.cache.set(locale, trie);\n return trie;\n }\n}\nexports.Dictionaries = Dictionaries;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.dictionaries = void 0;\nconst Dictionaries_1 = require(\"./Dictionaries\");\n__exportStar(require(\"./lib\"), exports);\nexports.dictionaries = new Dictionaries_1.Dictionaries();\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},42773,(e,t,r)=>{t.exports=e.x("transliteration",()=>require("transliteration"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},35053,e=>{"use strict";var t=e.i(49716),r=e.i(65732),a=e.i(79796),i=e.i(11320),o=e.i(8800),n=e.i(55584),s=e.i(92044),l=e.i(69421);e.i(87602);var d=e.i(60885),p=e.i(34991);let u=async(e,t)=>{let r=(0,d.getServerLoggingData)(e);try{let{board:a,game:i,locale:o}=f(e);s.logger.info("verify - request",{meta:r,payload:{board:a.toString(),boardBlanksCount:a.getBlanksCount(),boardTilesCount:a.getTilesCount(),game:i,locale:o}});let l=await n.dictionaries.get(o),d=a.getWords().sort((e,t)=>e.localeCompare(t,o)),p=d.filter(e=>!l.has(e)),u=d.filter(e=>l.has(e));t.status(200).send({invalidWords:p,validWords:u})}catch(a){let e=a instanceof Error?a.message:"Unknown error";s.logger.error("verify - error",{error:a,meta:r}),t.status(500).send({error:"Server error",message:e})}},f=e=>{let{board:t,game:r,locale:a}=e.body;if(!(0,l.isLocale)(a))throw Error('Invalid "locale" parameter');if(!(0,l.isGame)(r))throw Error('Invalid "game" parameter');if(!(0,o.hasConfig)(r,a))throw Error(`No game "${r}" in "${a}"`);let i=(0,o.getConfig)(r,a);if(!(0,l.isBoardJson)(t)||!(0,p.isBoardValid)(t,i))throw Error('Invalid "board" parameter');return{board:l.Board.fromJson(t),config:i,game:r,locale:a}};e.s(["default",0,u],41731);var g=e.i(41731),v=e.i(23399),c=e.i(52899),h=e.i(90965);let m=(0,i.hoist)(g,"default"),x=(0,i.hoist)(g,"config"),y=new a.PagesAPIRouteModule({definition:{kind:r.RouteKind.PAGES_API,page:"/api/verify",pathname:"/api/verify",bundlePath:"",filename:""},userland:g,distDir:".next",relativeProjectDir:""});async function w(e,r,a){y.isDev&&(0,h.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let i="/api/verify";i=i.replace(/\/index$/,"")||"/";let o=await y.prepare(e,r,{srcPage:i});if(!o){r.statusCode=400,r.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve());return}let{query:n,params:s,prerenderManifest:l,routerServerContext:d}=o;try{let t=e.method||"GET",a=(0,v.getTracer)(),o=a.getActiveScopeSpan(),p=y.instrumentationOnRequestError.bind(y),u=async o=>y.render(e,r,{query:{...n,...s},params:s,allowedRevalidateHeaderKeys:[],multiZoneDraftMode:!1,trustHostHeader:!1,previewProps:l.preview,propagateError:!1,dev:y.isDev,page:"/api/verify",internalRevalidate:null==d?void 0:d.revalidate,onError:(...t)=>p(e,...t)}).finally(()=>{if(!o)return;o.setAttributes({"http.status_code":r.statusCode,"next.rsc":!1});let e=a.getRootSpanAttributes();if(!e)return;if(e.get("next.span_type")!==c.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${e.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=e.get("next.route");if(n){let e=`${t} ${n}`;o.setAttributes({"next.route":n,"http.route":n,"next.span_name":e}),o.updateName(e)}else o.updateName(`${t} ${i}`)});o?await u(o):await a.withPropagatedContext(e.headers,()=>a.trace(c.BaseServerSpan.handleRequest,{spanName:`${t} ${i}`,kind:v.SpanKind.SERVER,attributes:{"http.method":t,"http.target":e.url}},u))}catch(e){if(y.isDev)throw e;(0,t.sendError)(r,500,"Internal Server Error")}finally{null==a.waitUntil||a.waitUntil.call(a,Promise.resolve())}}e.s(["config",0,x,"default",0,m,"handler",()=>w],35053)}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__51a21f60._.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../scrabble-solver/packages/scrabble-solver/src/pages/api/verify.ts","../../../../../../scrabble-solver/node_modules/next/dist/esm/build/templates/pages-api.js"],"sourcesContent":["import { getConfig, hasConfig } from '@scrabble-solver/configs';\nimport { dictionaries } from '@scrabble-solver/dictionaries';\nimport { logger } from '@scrabble-solver/logger';\nimport { Board, type Config, type Game, type Locale, isBoardJson, isGame, isLocale } from '@scrabble-solver/types';\nimport { type NextApiRequest, type NextApiResponse } from 'next';\n\nimport { getServerLoggingData, isBoardValid } from 'api';\n\ninterface RequestData {\n board: Board;\n config: Config;\n game: Game;\n locale: Locale;\n}\n\nconst verify = async (request: NextApiRequest, response: NextApiResponse): Promise<void> => {\n const meta = getServerLoggingData(request);\n\n try {\n const { board, game, locale } = parseRequest(request);\n\n logger.info('verify - request', {\n meta,\n payload: {\n board: board.toString(),\n boardBlanksCount: board.getBlanksCount(),\n boardTilesCount: board.getTilesCount(),\n game,\n locale,\n },\n });\n\n const trie = await dictionaries.get(locale);\n const words = board.getWords().sort((a, b) => a.localeCompare(b, locale));\n const invalidWords = words.filter((word) => !trie.has(word));\n const validWords = words.filter((word) => trie.has(word));\n response.status(200).send({ invalidWords, validWords });\n } catch (error) {\n const message = error instanceof Error ? error.message : 'Unknown error';\n logger.error('verify - error', { error, meta });\n response.status(500).send({ error: 'Server error', message });\n }\n};\n\nconst parseRequest = (request: NextApiRequest): RequestData => {\n const { board: boardJson, game, locale } = request.body;\n\n if (!isLocale(locale)) {\n throw new Error('Invalid \"locale\" parameter');\n }\n\n if (!isGame(game)) {\n throw new Error('Invalid \"game\" parameter');\n }\n\n if (!hasConfig(game, locale)) {\n throw new Error(`No game \"${game}\" in \"${locale}\"`);\n }\n\n const config = getConfig(game, locale);\n\n if (!isBoardJson(boardJson) || !isBoardValid(boardJson, config)) {\n throw new Error('Invalid \"board\" parameter');\n }\n\n const board = Board.fromJson(boardJson);\n\n return {\n board,\n config,\n game,\n locale,\n };\n};\n\nexport default verify;\n","import { sendError } from \"next/dist/esm/server/api-utils\";\nimport { RouteKind } from \"next/dist/esm/server/route-kind\";\nimport { PagesAPIRouteModule } from \"next/dist/esm/server/route-modules/pages-api/module.compiled\";\nimport { hoist } from \"next/dist/esm/build/templates/helpers\";\n// Import the userland code.\nimport * as userland from \"INNER_PAGE\";\nimport { getTracer, SpanKind } from \"next/dist/esm/server/lib/trace/tracer\";\nimport { BaseServerSpan } from \"next/dist/esm/server/lib/trace/constants\";\nimport { addRequestMeta } from \"next/dist/esm/server/request-meta\";\n// Re-export the handler (should be the default export).\nexport default hoist(userland, 'default');\n// Re-export config.\nexport const config = hoist(userland, 'config');\n// Create and export the route module that will be consumed.\nconst routeModule = new PagesAPIRouteModule({\n definition: {\n kind: RouteKind.PAGES_API,\n page: \"/api/verify\",\n pathname: \"/api/verify\",\n // The following aren't used in production.\n bundlePath: '',\n filename: ''\n },\n userland,\n distDir: process.env.__NEXT_RELATIVE_DIST_DIR || '',\n relativeProjectDir: process.env.__NEXT_RELATIVE_PROJECT_DIR || ''\n});\nexport async function handler(req, res, ctx) {\n if (routeModule.isDev) {\n addRequestMeta(req, 'devRequestTimingInternalsEnd', process.hrtime.bigint());\n }\n let srcPage = \"/api/verify\";\n // turbopack doesn't normalize `/index` in the page name\n // so we need to to process dynamic routes properly\n // TODO: fix turbopack providing differing value from webpack\n if (process.env.TURBOPACK) {\n srcPage = srcPage.replace(/\\/index$/, '') || '/';\n }\n const prepareResult = await routeModule.prepare(req, res, {\n srcPage\n });\n if (!prepareResult) {\n res.statusCode = 400;\n res.end('Bad Request');\n ctx.waitUntil == null ? void 0 : ctx.waitUntil.call(ctx, Promise.resolve());\n return;\n }\n const { query, params, prerenderManifest, routerServerContext } = prepareResult;\n try {\n const method = req.method || 'GET';\n const tracer = getTracer();\n const activeSpan = tracer.getActiveScopeSpan();\n const onRequestError = routeModule.instrumentationOnRequestError.bind(routeModule);\n const invokeRouteModule = async (span)=>routeModule.render(req, res, {\n query: {\n ...query,\n ...params\n },\n params,\n allowedRevalidateHeaderKeys: process.env.__NEXT_ALLOWED_REVALIDATE_HEADERS,\n multiZoneDraftMode: Boolean(process.env.__NEXT_MULTI_ZONE_DRAFT_MODE),\n trustHostHeader: process.env.__NEXT_TRUST_HOST_HEADER,\n // TODO: get this from from runtime env so manifest\n // doesn't need to load\n previewProps: prerenderManifest.preview,\n propagateError: false,\n dev: routeModule.isDev,\n page: \"/api/verify\",\n internalRevalidate: routerServerContext == null ? void 0 : routerServerContext.revalidate,\n onError: (...args)=>onRequestError(req, ...args)\n }).finally(()=>{\n if (!span) return;\n span.setAttributes({\n 'http.status_code': res.statusCode,\n 'next.rsc': false\n });\n const rootSpanAttributes = tracer.getRootSpanAttributes();\n // We were unable to get attributes, probably OTEL is not enabled\n if (!rootSpanAttributes) {\n return;\n }\n if (rootSpanAttributes.get('next.span_type') !== BaseServerSpan.handleRequest) {\n console.warn(`Unexpected root span type '${rootSpanAttributes.get('next.span_type')}'. Please report this Next.js issue https://github.com/vercel/next.js`);\n return;\n }\n const route = rootSpanAttributes.get('next.route');\n if (route) {\n const name = `${method} ${route}`;\n span.setAttributes({\n 'next.route': route,\n 'http.route': route,\n 'next.span_name': name\n });\n span.updateName(name);\n } else {\n span.updateName(`${method} ${srcPage}`);\n }\n });\n // TODO: activeSpan code path is for when wrapped by\n // next-server can be removed when this is no longer used\n if (activeSpan) {\n await invokeRouteModule(activeSpan);\n } else {\n await tracer.withPropagatedContext(req.headers, ()=>tracer.trace(BaseServerSpan.handleRequest, {\n spanName: `${method} ${srcPage}`,\n kind: SpanKind.SERVER,\n attributes: {\n 'http.method': method,\n 'http.target': req.url\n }\n }, invokeRouteModule));\n }\n } catch (err) {\n // we re-throw in dev to show the error overlay\n if (routeModule.isDev) {\n throw err;\n }\n // this is technically an invariant as error handling\n // should be done inside of api-resolver onError\n sendError(res, 500, 'Internal Server Error');\n } finally{\n // We don't allow any waitUntil work in pages API routes currently\n // so if callback is present return with resolved promise since no\n // pending work\n ctx.waitUntil == null ? void 0 : ctx.waitUntil.call(ctx, Promise.resolve());\n }\n}\n\n//# sourceMappingURL=pages-api.js.map\n"],"names":[],"mappings":"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","ignoreList":[1]}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
module.exports=[4623,(e,r,t)=>{r.exports=e.x("striptags",()=>require("striptags"))},65998,(e,r,t)=>{"use strict";var a=e.e&&e.e.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.normalizeDefinition=void 0;let i=a(e.r(4623)),n=["a","b","em","internalXref"],o=[e=>(0,i.default)((0,i.default)(e,n),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()];t.normalizeDefinition=e=>{let r=o.reduce((e,r)=>r(e),e);return r!==e?(0,t.normalizeDefinition)(r):r}},28655,(e,r,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.request=void 0;let a=e.r(69421),i=e.r(43609);t.request=({protocol:e,...r})=>{let t="https"===e?i.https:i.http;return new Promise((e,i)=>t.get(r,r=>{let t="";r.setEncoding("utf8"),r.on("data",e=>{t+=e}),r.on("end",()=>{try{e(t)}catch(e){i((0,a.isError)(e)?e:Error(String(e)))}})}).on("error",i))}},45426,(e,r,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.unique=void 0,t.unique=e=>Array.from(new Set(e))},51103,(e,r,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.unique=t.request=t.normalizeDefinition=void 0;var a=e.r(65998);Object.defineProperty(t,"normalizeDefinition",{enumerable:!0,get:function(){return a.normalizeDefinition}});var i=e.r(28655);Object.defineProperty(t,"request",{enumerable:!0,get:function(){return i.request}});var n=e.r(45426);Object.defineProperty(t,"unique",{enumerable:!0,get:function(){return n.unique}})},62564,(e,r,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.parse=t.crawl=void 0;let a=e.r(40182),i=e.r(51103);t.crawl=e=>(0,i.request)({protocol:"https",hostname:"www.merriam-webster.com",path:`/dictionary/${encodeURIComponent(e)}`}),t.parse=e=>{let r=(0,a.load)(e);return r("strong.mw_t_bc").replaceWith(", "),r(".text-lowercase").remove(),r(".sub-content-thread").remove(),{definitions:Array.from(r("[id^=dictionary-entry]").find(".dtText, .cxl-ref")).map(e=>r(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."!==r(".spelling-suggestion-text").text().trim()}}},66123,(e,r,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.parse=t.crawl=void 0;let a=e.r(40182),i=e.r(51103);t.crawl=e=>(0,i.request)({protocol:"https",hostname:"www.dwds.de",path:`/wb/${encodeURIComponent(e)}`}),t.parse=e=>{let r=(0,a.load)(e);return{definitions:[n,l,o].reduce((e,t)=>0===e.length?t(r):e,[]),exists:Array.from(r(".label-danger")).every(e=>"Hinweis"!==r(e).text())}};let n=e=>(Array.from(e(".bedeutungsuebersicht ol > li > a")).forEach(r=>{e(r).text(e(r).text().replace(/\n/g,""))}),Array.from(e(".bedeutungsuebersicht ol > li > ol > li")).forEach(r=>{let t=`
|
|
2
|
+
${e(r).text().replace(/\n/g,"")}`,a=e(`<div>${t}</div>`);e(r).replaceWith(a)}),Array.from(e(".bedeutungsuebersicht ol > li > ol")).forEach(r=>{let t=e(r),a=t.html()||"",i=e(`<div>${a}</div>`),n=t.prev("a");n?(n.append(i),e(r).remove()):e(r).replaceWith(i)}),s(e,e(".bedeutungsuebersicht ol > li"))),o=e=>s(e,e(".dwdswb-lesart .dwdswb-definition-spezifizierung")),l=e=>{let r=s(e,e(".dwdswb-lesart .dwdswb-definition"));return r.length>0?r:Array.from(e(".dwdswb-lesart .dwdswb-verweis")).reduce((r,t)=>{let a=e(t.attribs["data-content"]||"<span />").text().split(";").map(e=>e.trim());return r.concat(a)},[])},s=(e,r)=>Array.from(r).map(r=>e(r).text().replace(/[ ]+/g," ").replace(/[ ]\n/g,"\n").replace(/^[0-9]+\.\s/g,""))},11497,(e,r,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.parse=t.crawl=void 0;let a=e.r(40182),i=e.r(51103);t.crawl=e=>(0,i.request)({protocol:"https",hostname:"www.cnrtl.fr",path:`/definition/${encodeURIComponent(e)}`}),t.parse=e=>{let r=(0,a.load)(e);return{definitions:Array.from(r(".tlf_cdefinition")).map(e=>r(e).text()),exists:r("#vitemselected span").length>0}}},971,(e,r,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.parse=t.crawl=void 0;let a=e.r(40182),i=e.r(51103);t.crawl=e=>(0,i.request)({protocol:"https",hostname:"www.vajehyab.com",path:`/moein/${encodeURIComponent(e)}`}),t.parse=e=>{let r=(0,a.load)(e);return{definitions:Array.from(r("[itemprop=articleBody]")).map(e=>r(e).text()),exists:"404 Page Not Found"!==r("#container h1").text()}}},33200,(e,r,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.parse=t.crawl=void 0;let a=e.r(40182),i=e.r(51103);t.crawl=e=>(0,i.request)({protocol:"https",hostname:"sjp.pl",path:`/${encodeURIComponent(e)}`}),t.parse=e=>{let r=(0,a.load)(e),t=r(r("h1")[0]),i=t.next();return{definitions:t.next().next().next().next().text().trim().split(/\d+\./),exists:i.text().trim().indexOf("dopuszczalne w grach")>=0}}},67175,(e,r,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.parse=t.crawl=void 0;let a=e.r(40182),i=e.r(51103);t.crawl=e=>(0,i.request)({protocol:"https",hostname:"dexonline.ro",path:`/definitie/${encodeURIComponent(e)}`}),t.parse=e=>{let r=(0,a.load)(e),t=r(".tab-pane.show.active");r(".type-example").remove();let i=t.find("li.type-meaning.depth-0 > .meaningContainer .tree-def.html");i.find(".meaningTree").remove();let n=Array.from(i).map(e=>r(e).text().replace(/\n/g,""));return{definitions:n,exists:n.length>0}}},3001,(e,r,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.parse=t.crawl=void 0;let a=e.r(40182),i=e.r(51103);t.crawl=e=>(0,i.request)({protocol:"https",hostname:"www.diccionarios.com",path:`/diccionario/espanol/${encodeURIComponent(e)}`}),t.parse=e=>{let r=(0,a.load)(e);return r(".verdBold14 + .gris11 + .gris13").remove(),r("br + .gris13").remove(),r(".grisItalic13 + .gris13").remove(),r('font[class^="verd"]').remove(),r("font.gris11").remove(),r('font[class^="grisBold"]').remove(),r('font[class^="grisItalic"]').remove(),Array.from(r(".gris13")).forEach(e=>{let t=r(e).find(".gris13");t&&t.length>0&&t.remove()}),{definitions:Array.from(r(".dcom-search-result .gris13")).map(e=>r(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"!==r(".wrapper > p > strong").text()}}},64735,(e,r,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.parse=t.crawl=void 0;let a=e.r(51103);t.crawl=e=>(0,a.request)({protocol:"https",hostname:"sozluk.gov.tr",path:`/gts?ara=${encodeURIComponent(e)}`,headers:{"content-type":"text/json"}}),t.parse=e=>{let r=JSON.parse(e);if(!Array.isArray(r)||"error"in r&&r.error)return{definitions:[],exists:!1};let[t]=r,a=t.anlamlarListe.map(e=>e.anlam.replace("►","").trim());return{definitions:a,exists:a.length>0}}},15266,(e,r,t)=>{"use strict";var a,i=e.e&&e.e.__createBinding||(Object.create?function(e,r,t,a){void 0===a&&(a=t);var i=Object.getOwnPropertyDescriptor(r,t);(!i||("get"in i?!r.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return r[t]}}),Object.defineProperty(e,a,i)}:function(e,r,t,a){void 0===a&&(a=t),e[a]=r[t]}),n=e.e&&e.e.__setModuleDefault||(Object.create?function(e,r){Object.defineProperty(e,"default",{enumerable:!0,value:r})}:function(e,r){e.default=r}),o=e.e&&e.e.__importStar||(a=function(e){return(a=Object.getOwnPropertyNames||function(e){var r=[];for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&(r[r.length]=t);return r})(e)},function(e){if(e&&e.__esModule)return e;var r={};if(null!=e)for(var t=a(e),o=0;o<t.length;o++)"default"!==t[o]&&i(r,e,t[o]);return n(r,e),r});Object.defineProperty(t,"__esModule",{value:!0}),t.turkish=t.spanish=t.romanian=t.polish=t.persian=t.french=t.german=t.english=void 0,t.english=o(e.r(62564)),t.german=o(e.r(66123)),t.french=o(e.r(11497)),t.persian=o(e.r(971)),t.polish=o(e.r(33200)),t.romanian=o(e.r(67175)),t.spanish=o(e.r(3001)),t.turkish=o(e.r(64735))},23154,(e,r,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.crawl=void 0;let a=e.r(69421),i=e.r(15266),n={[a.Locale.DE_DE]:i.german.crawl,[a.Locale.EN_GB]:i.english.crawl,[a.Locale.EN_US]:i.english.crawl,[a.Locale.ES_ES]:i.spanish.crawl,[a.Locale.FA_IR]:i.persian.crawl,[a.Locale.FR_FR]:i.french.crawl,[a.Locale.PL_PL]:i.polish.crawl,[a.Locale.RO_RO]:i.romanian.crawl,[a.Locale.TR_TR]:i.turkish.crawl};t.crawl=(e,r)=>n[e](r)},53060,(e,r,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.parse=void 0;let a=e.r(69421),i=e.r(15266),n=e.r(51103),o={[a.Locale.DE_DE]:i.german.parse,[a.Locale.EN_GB]:i.english.parse,[a.Locale.EN_US]:i.english.parse,[a.Locale.ES_ES]:i.spanish.parse,[a.Locale.FA_IR]:i.persian.parse,[a.Locale.FR_FR]:i.french.parse,[a.Locale.PL_PL]:i.polish.parse,[a.Locale.RO_RO]:i.romanian.parse,[a.Locale.TR_TR]:i.turkish.parse};t.parse=(e,r)=>{let{definitions:t,exists:a}=o[e](r);return{definitions:(0,n.unique)(t.map(n.normalizeDefinition).filter(Boolean)),exists:a}}},967,(e,r,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getWordDefinition=void 0;let a=e.r(69421),i=e.r(23154),n=e.r(53060);t.getWordDefinition=async(e,r,t)=>{let o=await (0,i.crawl)(e,r),{definitions:l,exists:s}=(0,n.parse)(e,o);return new a.WordDefinition({definitions:l,exists:s,isAllowed:t,word:r})}},68462,(e,r,t)=>{"use strict";var a=e.e&&e.e.__createBinding||(Object.create?function(e,r,t,a){void 0===a&&(a=t);var i=Object.getOwnPropertyDescriptor(r,t);(!i||("get"in i?!r.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return r[t]}}),Object.defineProperty(e,a,i)}:function(e,r,t,a){void 0===a&&(a=t),e[a]=r[t]}),i=e.e&&e.e.__exportStar||function(e,r){for(var t in e)"default"===t||Object.prototype.hasOwnProperty.call(r,t)||a(r,e,t)};Object.defineProperty(t,"__esModule",{value:!0}),i(e.r(23154),t),i(e.r(967),t),i(e.r(15266),t),i(e.r(51103),t),i(e.r(53060),t)},87237,e=>{"use strict";var r=e.i(49716),t=e.i(65732),a=e.i(79796),i=e.i(11320),n=e.i(8800),o=e.i(47255),l=e.i(55584),s=e.i(92044),c=e.i(69421),d=e.i(68462);e.i(87602);var p=e.i(60885);let u=Object.values(n.games).reduce((e,r)=>Math.max(e,r.rackSize),0)+1,f=async(e,r)=>{let t=(0,p.getServerLoggingData)(e);try{let{locale:a,words:i}=m(e);s.logger.info("dictionary - request",{meta:t,payload:{locale:a,words:i}});let n=await l.dictionaries.get(a),o=await Promise.all(i.map(e=>(0,d.getWordDefinition)(a,e,n.has(e))));r.status(200).send(o.map(e=>e.toJson()))}catch(a){let e=a instanceof Error?a.message:"Unknown error";s.logger.error("dictionary - error",{error:a,meta:t}),r.status(500).send({error:"Server error",message:e})}},m=e=>{let{locale:r,word:t}=e.query;if(!(0,c.isLocale)(r))throw Error('Invalid "locale" parameter');if("string"!=typeof t||0===t.length)throw Error('Invalid "word" parameter');let a=Array.from(new Set(t.replaceAll(o.COMMA_ARABIC,o.COMMA_LATIN).split(o.COMMA_LATIN).map(e=>e.trim()).filter(Boolean)));if(a.length>u)throw Error('Invalid "word" parameter');return{locale:r,words:a}};e.s(["default",0,f],83555);var g=e.i(83555),h=e.i(23399),v=e.i(52899),w=e.i(90965);let _=(0,i.hoist)(g,"default"),y=(0,i.hoist)(g,"config"),b=new a.PagesAPIRouteModule({definition:{kind:t.RouteKind.PAGES_API,page:"/api/dictionary/[locale]/[word]",pathname:"/api/dictionary/[locale]/[word]",bundlePath:"",filename:""},userland:g,distDir:".next",relativeProjectDir:""});async function x(e,t,a){b.isDev&&(0,w.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let i="/api/dictionary/[locale]/[word]";i=i.replace(/\/index$/,"")||"/";let n=await b.prepare(e,t,{srcPage:i});if(!n){t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve());return}let{query:o,params:l,prerenderManifest:s,routerServerContext:c}=n;try{let r=e.method||"GET",a=(0,h.getTracer)(),n=a.getActiveScopeSpan(),d=b.instrumentationOnRequestError.bind(b),p=async n=>b.render(e,t,{query:{...o,...l},params:l,allowedRevalidateHeaderKeys:[],multiZoneDraftMode:!1,trustHostHeader:!1,previewProps:s.preview,propagateError:!1,dev:b.isDev,page:"/api/dictionary/[locale]/[word]",internalRevalidate:null==c?void 0:c.revalidate,onError:(...r)=>d(e,...r)}).finally(()=>{if(!n)return;n.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let e=a.getRootSpanAttributes();if(!e)return;if(e.get("next.span_type")!==v.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${e.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let o=e.get("next.route");if(o){let e=`${r} ${o}`;n.setAttributes({"next.route":o,"http.route":o,"next.span_name":e}),n.updateName(e)}else n.updateName(`${r} ${i}`)});n?await p(n):await a.withPropagatedContext(e.headers,()=>a.trace(v.BaseServerSpan.handleRequest,{spanName:`${r} ${i}`,kind:h.SpanKind.SERVER,attributes:{"http.method":r,"http.target":e.url}},p))}catch(e){if(b.isDev)throw e;(0,r.sendError)(t,500,"Internal Server Error")}finally{null==a.waitUntil||a.waitUntil.call(a,Promise.resolve())}}e.s(["config",0,y,"default",0,_,"handler",()=>x],87237)}];
|
|
3
|
+
|
|
4
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__53eb4a3b._.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../scrabble-solver/packages/word-definitions/build/lib/normalizeDefinition.js","../../../../../../scrabble-solver/packages/word-definitions/build/lib/request.js","../../../../../../scrabble-solver/packages/word-definitions/build/lib/unique.js","../../../../../../scrabble-solver/packages/word-definitions/build/lib/index.js","../../../../../../scrabble-solver/packages/word-definitions/build/languages/english.js","../../../../../../scrabble-solver/packages/word-definitions/build/languages/german.js","../../../../../../scrabble-solver/packages/word-definitions/build/languages/french.js","../../../../../../scrabble-solver/packages/word-definitions/build/languages/persian.js","../../../../../../scrabble-solver/packages/word-definitions/build/languages/polish.js","../../../../../../scrabble-solver/packages/word-definitions/build/languages/romanian.js","../../../../../../scrabble-solver/packages/word-definitions/build/languages/spanish.js","../../../../../../scrabble-solver/packages/word-definitions/build/languages/turkish.js","../../../../../../scrabble-solver/packages/word-definitions/build/languages/index.js","../../../../../../scrabble-solver/packages/word-definitions/build/crawl.js","../../../../../../scrabble-solver/packages/word-definitions/build/parse.js","../../../../../../scrabble-solver/packages/word-definitions/build/getWordDefinition.js","../../../../../../scrabble-solver/packages/word-definitions/build/index.js","../../../../../../scrabble-solver/packages/scrabble-solver/src/pages/api/dictionary/%5Blocale%5D/%5Bword%5D.ts","../../../../../../scrabble-solver/node_modules/next/dist/esm/build/templates/pages-api.js"],"sourcesContent":["\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.normalizeDefinition = void 0;\nconst striptags_1 = __importDefault(require(\"striptags\"));\nconst EMPHASIS_TAGS = ['a', 'b', 'em', 'internalXref'];\nconst normalizeHtmlTags = (definition) => (0, striptags_1.default)((0, striptags_1.default)(definition, EMPHASIS_TAGS), undefined, '\"');\nconst normalizeLineBreaks = (definition) => definition.replace(/\\r\\n/g, '\\n');\nconst normalizeWhitespace = (definition) => definition.replace(/[^\\S\\n ]+/g, ' ').replace(/[ ]+/g, ' ');\nconst normalizeQuotes = (definition) => definition.replace(/\\.\"/g, '\".');\n/**\n * `(1.2) definition` -> `definition`\n */\nconst normalizeMarkers = (definition) => definition.replace(/^\\(\\d+\\.\\d+\\)\\s+/g, '');\nconst normalizeTrailingSymbols = (definition) => definition.trim().replace(/:$/, '');\nconst normalizeLeadingSymbols = (definition) => definition.trim().replace(/^:/, '');\n/**\n * @see https://stackoverflow.com/a/40732368\n */\nconst normalizeNonWords = (definition) => (/[\\w\\u0621-\\u064A]+/.test(definition) ? definition : '');\nconst normalizeCommas = (definition) => {\n return definition\n .replace(/\\s+,\\s+/g, ', ')\n .replace(/^,/, '')\n .replace(/,$/, '');\n};\nconst normalizers = [\n normalizeHtmlTags,\n normalizeMarkers,\n normalizeQuotes,\n normalizeLineBreaks,\n normalizeWhitespace,\n normalizeTrailingSymbols,\n normalizeLeadingSymbols,\n normalizeNonWords,\n normalizeCommas,\n (definition) => definition.trim(),\n];\nconst normalizeDefinition = (definition) => {\n const normalized = normalizers.reduce((result, normalize) => normalize(result), definition);\n const hasChanged = normalized !== definition;\n return hasChanged ? (0, exports.normalizeDefinition)(normalized) : normalized;\n};\nexports.normalizeDefinition = normalizeDefinition;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.request = void 0;\nconst types_1 = require(\"@scrabble-solver/types\");\nconst follow_redirects_1 = require(\"follow-redirects\");\nconst request = ({ protocol, ...options }) => {\n const agent = protocol === 'https' ? follow_redirects_1.https : follow_redirects_1.http;\n return new Promise((resolve, reject) => {\n return agent\n .get(options, (response) => {\n let data = '';\n response.setEncoding('utf8');\n response.on('data', (chunk) => {\n data += chunk;\n });\n response.on('end', () => {\n try {\n resolve(data);\n }\n catch (error) {\n reject((0, types_1.isError)(error) ? error : new Error(String(error)));\n }\n });\n })\n .on('error', reject);\n });\n};\nexports.request = request;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.unique = void 0;\nconst unique = (array) => Array.from(new Set(array));\nexports.unique = unique;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.unique = exports.request = exports.normalizeDefinition = void 0;\nvar normalizeDefinition_1 = require(\"./normalizeDefinition\");\nObject.defineProperty(exports, \"normalizeDefinition\", { enumerable: true, get: function () { return normalizeDefinition_1.normalizeDefinition; } });\nvar request_1 = require(\"./request\");\nObject.defineProperty(exports, \"request\", { enumerable: true, get: function () { return request_1.request; } });\nvar unique_1 = require(\"./unique\");\nObject.defineProperty(exports, \"unique\", { enumerable: true, get: function () { return unique_1.unique; } });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.parse = exports.crawl = void 0;\nconst cheerio_1 = require(\"cheerio\");\nconst lib_1 = require(\"../lib\");\nconst DOES_NOT_EXIST_MESSAGE = \n// eslint-disable-next-line max-len\n\"The word you've entered isn't in the dictionary. Click on a spelling suggestion below or try again using the search bar above.\";\nconst crawl = (word) => {\n return (0, lib_1.request)({\n protocol: 'https',\n hostname: 'www.merriam-webster.com',\n path: `/dictionary/${encodeURIComponent(word)}`,\n });\n};\nexports.crawl = crawl;\nconst parse = (html) => {\n const $ = (0, cheerio_1.load)(html);\n $('strong.mw_t_bc').replaceWith(', ');\n $('.text-lowercase').remove();\n $('.sub-content-thread').remove();\n const $definitions = $('[id^=dictionary-entry]').find('.dtText, .cxl-ref');\n return {\n definitions: Array.from($definitions).map((definition) => $(definition).text().replace(/\\n/g, '')),\n exists: $('.spelling-suggestion-text').text().trim() !== DOES_NOT_EXIST_MESSAGE,\n };\n};\nexports.parse = parse;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.parse = exports.crawl = void 0;\nconst cheerio_1 = require(\"cheerio\");\nconst lib_1 = require(\"../lib\");\nconst crawl = (word) => {\n return (0, lib_1.request)({\n protocol: 'https',\n hostname: 'www.dwds.de',\n path: `/wb/${encodeURIComponent(word)}`,\n });\n};\nexports.crawl = crawl;\nconst parse = (html) => {\n const $ = (0, cheerio_1.load)(html);\n const definitions = [parseBedeutungsubersicht, parseBedeutungen, parseBedeutung].reduce((results, parseDefinition) => (results.length === 0 ? parseDefinition($) : results), []);\n const exists = Array.from($('.label-danger')).every((label) => $(label).text() !== 'Hinweis');\n return { definitions, exists };\n};\nexports.parse = parse;\nconst parseBedeutungsubersicht = ($) => {\n Array.from($('.bedeutungsuebersicht ol > li > a')).forEach((item) => {\n $(item).text($(item).text().replace(/\\n/g, ''));\n });\n Array.from($('.bedeutungsuebersicht ol > li > ol > li')).forEach((item) => {\n const text = `\\n${$(item).text().replace(/\\n/g, '')}`;\n const $text = $(`<div>${text}</div>`);\n $(item).replaceWith($text);\n });\n Array.from($('.bedeutungsuebersicht ol > li > ol')).forEach((list) => {\n const $list = $(list);\n const html = $list.html() || '';\n const $html = $(`<div>${html}</div>`);\n const $prev = $list.prev('a');\n if ($prev) {\n $prev.append($html);\n $(list).remove();\n }\n else {\n $(list).replaceWith($html);\n }\n });\n return parseDefinitions($, $('.bedeutungsuebersicht ol > li'));\n};\nconst parseBedeutung = ($) => {\n return parseDefinitions($, $('.dwdswb-lesart .dwdswb-definition-spezifizierung'));\n};\nconst parseBedeutungen = ($) => {\n const definitions = parseDefinitions($, $('.dwdswb-lesart .dwdswb-definition'));\n if (definitions.length > 0) {\n return definitions;\n }\n const $references = $('.dwdswb-lesart .dwdswb-verweis');\n const references = Array.from($references).reduce((result, reference) => {\n const html = reference.attribs['data-content'] || '<span />';\n const values = $(html)\n .text()\n .split(';')\n .map((value) => value.trim());\n return result.concat(values);\n }, []);\n return references;\n};\nconst parseDefinitions = ($, $definitions) => {\n return Array.from($definitions).map((definition) => $(definition)\n .text()\n .replace(/[ ]+/g, ' ')\n .replace(/[ ]\\n/g, '\\n')\n .replace(/^[0-9]+\\.\\s/g, ''));\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.parse = exports.crawl = void 0;\nconst cheerio_1 = require(\"cheerio\");\nconst lib_1 = require(\"../lib\");\nconst crawl = (word) => {\n return (0, lib_1.request)({\n protocol: 'https',\n hostname: 'www.cnrtl.fr',\n path: `/definition/${encodeURIComponent(word)}`,\n });\n};\nexports.crawl = crawl;\nconst parse = (html) => {\n const $ = (0, cheerio_1.load)(html);\n const $definitions = $('.tlf_cdefinition');\n return {\n definitions: Array.from($definitions).map((definition) => $(definition).text()),\n exists: $('#vitemselected span').length > 0,\n };\n};\nexports.parse = parse;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.parse = exports.crawl = void 0;\nconst cheerio_1 = require(\"cheerio\");\nconst lib_1 = require(\"../lib\");\nconst DOES_NOT_EXIST_MESSAGE = '404 Page Not Found';\nconst crawl = (word) => {\n return (0, lib_1.request)({\n protocol: 'https',\n hostname: 'www.vajehyab.com',\n path: `/moein/${encodeURIComponent(word)}`,\n });\n};\nexports.crawl = crawl;\nconst parse = (html) => {\n const $ = (0, cheerio_1.load)(html);\n const $definitions = $('[itemprop=articleBody]');\n return {\n definitions: Array.from($definitions).map((definition) => $(definition).text()),\n exists: $('#container h1').text() !== DOES_NOT_EXIST_MESSAGE,\n };\n};\nexports.parse = parse;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.parse = exports.crawl = void 0;\nconst cheerio_1 = require(\"cheerio\");\nconst lib_1 = require(\"../lib\");\nconst crawl = (word) => {\n return (0, lib_1.request)({\n protocol: 'https',\n hostname: 'sjp.pl',\n path: `/${encodeURIComponent(word)}`,\n });\n};\nexports.crawl = crawl;\nconst parse = (html) => {\n const $ = (0, cheerio_1.load)(html);\n const $header = $($('h1')[0]);\n const $isAllowed = $header.next();\n const $definitions = $header.next().next().next().next();\n return {\n definitions: $definitions.text().trim().split(/\\d+\\./),\n exists: $isAllowed.text().trim().indexOf('dopuszczalne w grach') >= 0,\n };\n};\nexports.parse = parse;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.parse = exports.crawl = void 0;\nconst cheerio_1 = require(\"cheerio\");\nconst lib_1 = require(\"../lib\");\nconst crawl = (word) => {\n return (0, lib_1.request)({\n protocol: 'https',\n hostname: 'dexonline.ro',\n path: `/definitie/${encodeURIComponent(word)}`,\n });\n};\nexports.crawl = crawl;\nconst parse = (html) => {\n const $ = (0, cheerio_1.load)(html);\n const $activeTab = $('.tab-pane.show.active');\n $('.type-example').remove();\n const $definitions = $activeTab.find('li.type-meaning.depth-0 > .meaningContainer .tree-def.html');\n $definitions.find('.meaningTree').remove();\n const definitions = Array.from($definitions).map((definition) => $(definition).text().replace(/\\n/g, ''));\n return {\n definitions,\n exists: definitions.length > 0,\n };\n};\nexports.parse = parse;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.parse = exports.crawl = void 0;\nconst cheerio_1 = require(\"cheerio\");\nconst lib_1 = require(\"../lib\");\nconst crawl = (word) => {\n return (0, lib_1.request)({\n protocol: 'https',\n hostname: 'www.diccionarios.com',\n path: `/diccionario/espanol/${encodeURIComponent(word)}`,\n });\n};\nexports.crawl = crawl;\nconst parse = (html) => {\n const $ = (0, cheerio_1.load)(html);\n $('.verdBold14 + .gris11 + .gris13').remove();\n $('br + .gris13').remove();\n $('.grisItalic13 + .gris13').remove();\n $('font[class^=\"verd\"]').remove();\n $('font.gris11').remove();\n $('font[class^=\"grisBold\"]').remove();\n $('font[class^=\"grisItalic\"]').remove();\n Array.from($('.gris13')).forEach((element) => {\n const children = $(element).find('.gris13');\n if (children && children.length > 0) {\n children.remove();\n }\n });\n const definitions = Array.from($('.dcom-search-result .gris13'));\n return {\n definitions: definitions\n .map((definition) => $(definition).text().trim())\n .filter(Boolean)\n .map((definition) => definition.replace(/\\s+\\.$/g, ''))\n .map((definition) => (definition.endsWith('.') ? definition : `${definition}.`)),\n exists: $('.wrapper > p > strong').text() !== 'No se ha encontrado la palabra exacta',\n };\n};\nexports.parse = parse;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.parse = exports.crawl = void 0;\nconst lib_1 = require(\"../lib\");\nconst crawl = (word) => {\n return (0, lib_1.request)({\n protocol: 'https',\n hostname: 'sozluk.gov.tr',\n path: `/gts?ara=${encodeURIComponent(word)}`,\n headers: {\n 'content-type': 'text/json',\n },\n });\n};\nexports.crawl = crawl;\nconst parse = (json) => {\n const response = JSON.parse(json);\n if (!Array.isArray(response) || ('error' in response && response.error)) {\n return {\n definitions: [],\n exists: false,\n };\n }\n const [wordInfo] = response;\n const definitions = wordInfo.anlamlarListe.map((entry) => entry.anlam.replace('►', '').trim());\n return {\n definitions,\n exists: definitions.length > 0,\n };\n};\nexports.parse = parse;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.turkish = exports.spanish = exports.romanian = exports.polish = exports.persian = exports.french = exports.german = exports.english = void 0;\nexports.english = __importStar(require(\"./english\"));\nexports.german = __importStar(require(\"./german\"));\nexports.french = __importStar(require(\"./french\"));\nexports.persian = __importStar(require(\"./persian\"));\nexports.polish = __importStar(require(\"./polish\"));\nexports.romanian = __importStar(require(\"./romanian\"));\nexports.spanish = __importStar(require(\"./spanish\"));\nexports.turkish = __importStar(require(\"./turkish\"));\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.crawl = void 0;\nconst types_1 = require(\"@scrabble-solver/types\");\nconst languages_1 = require(\"./languages\");\nconst crawlPerLocale = {\n [types_1.Locale.DE_DE]: languages_1.german.crawl,\n [types_1.Locale.EN_GB]: languages_1.english.crawl,\n [types_1.Locale.EN_US]: languages_1.english.crawl,\n [types_1.Locale.ES_ES]: languages_1.spanish.crawl,\n [types_1.Locale.FA_IR]: languages_1.persian.crawl,\n [types_1.Locale.FR_FR]: languages_1.french.crawl,\n [types_1.Locale.PL_PL]: languages_1.polish.crawl,\n [types_1.Locale.RO_RO]: languages_1.romanian.crawl,\n [types_1.Locale.TR_TR]: languages_1.turkish.crawl,\n};\nconst crawl = (locale, word) => {\n return crawlPerLocale[locale](word);\n};\nexports.crawl = crawl;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.parse = void 0;\nconst types_1 = require(\"@scrabble-solver/types\");\nconst languages_1 = require(\"./languages\");\nconst lib_1 = require(\"./lib\");\nconst parsePerLocale = {\n [types_1.Locale.DE_DE]: languages_1.german.parse,\n [types_1.Locale.EN_GB]: languages_1.english.parse,\n [types_1.Locale.EN_US]: languages_1.english.parse,\n [types_1.Locale.ES_ES]: languages_1.spanish.parse,\n [types_1.Locale.FA_IR]: languages_1.persian.parse,\n [types_1.Locale.FR_FR]: languages_1.french.parse,\n [types_1.Locale.PL_PL]: languages_1.polish.parse,\n [types_1.Locale.RO_RO]: languages_1.romanian.parse,\n [types_1.Locale.TR_TR]: languages_1.turkish.parse,\n};\nconst parse = (locale, html) => {\n const { definitions, exists } = parsePerLocale[locale](html);\n return {\n definitions: (0, lib_1.unique)(definitions.map(lib_1.normalizeDefinition).filter(Boolean)),\n exists,\n };\n};\nexports.parse = parse;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getWordDefinition = void 0;\nconst types_1 = require(\"@scrabble-solver/types\");\nconst crawl_1 = require(\"./crawl\");\nconst parse_1 = require(\"./parse\");\nconst getWordDefinition = async (locale, word, isAllowed) => {\n const html = await (0, crawl_1.crawl)(locale, word);\n const { definitions, exists } = (0, parse_1.parse)(locale, html);\n const wordDefinition = new types_1.WordDefinition({ definitions, exists, isAllowed, word });\n return wordDefinition;\n};\nexports.getWordDefinition = getWordDefinition;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./crawl\"), exports);\n__exportStar(require(\"./getWordDefinition\"), exports);\n__exportStar(require(\"./languages\"), exports);\n__exportStar(require(\"./lib\"), exports);\n__exportStar(require(\"./parse\"), exports);\n","import { games } from '@scrabble-solver/configs';\nimport { COMMA_ARABIC, COMMA_LATIN } from '@scrabble-solver/constants';\nimport { dictionaries } from '@scrabble-solver/dictionaries';\nimport { logger } from '@scrabble-solver/logger';\nimport { type Locale, isLocale } from '@scrabble-solver/types';\nimport { getWordDefinition } from '@scrabble-solver/word-definitions';\nimport { type NextApiRequest, type NextApiResponse } from 'next';\n\nimport { getServerLoggingData } from 'api';\n\ninterface RequestData {\n locale: Locale;\n words: string[];\n}\n\nconst MAXIMUM_COLLISIONS_COUNT = Object.values(games).reduce((result, game) => Math.max(result, game.rackSize), 0);\nconst MAXIMUM_WORDS_COUNT = MAXIMUM_COLLISIONS_COUNT + 1;\n\nconst dictionary = async (request: NextApiRequest, response: NextApiResponse): Promise<void> => {\n const meta = getServerLoggingData(request);\n\n try {\n const { locale, words } = parseRequest(request);\n\n logger.info('dictionary - request', {\n meta,\n payload: {\n locale,\n words,\n },\n });\n\n const trie = await dictionaries.get(locale);\n const results = await Promise.all(words.map((word) => getWordDefinition(locale, word, trie.has(word))));\n response.status(200).send(results.map((result) => result.toJson()));\n } catch (error) {\n const message = error instanceof Error ? error.message : 'Unknown error';\n logger.error('dictionary - error', { error, meta });\n response.status(500).send({ error: 'Server error', message });\n }\n};\n\nconst parseRequest = (request: NextApiRequest): RequestData => {\n const { locale, word } = request.query;\n\n if (!isLocale(locale)) {\n throw new Error('Invalid \"locale\" parameter');\n }\n\n if (typeof word !== 'string' || word.length === 0) {\n throw new Error('Invalid \"word\" parameter');\n }\n\n const words = Array.from(\n new Set(\n word\n .replaceAll(COMMA_ARABIC, COMMA_LATIN)\n .split(COMMA_LATIN)\n .map((part) => part.trim())\n .filter(Boolean),\n ),\n );\n\n if (words.length > MAXIMUM_WORDS_COUNT) {\n throw new Error('Invalid \"word\" parameter');\n }\n\n return {\n locale,\n words,\n };\n};\n\nexport default dictionary;\n","import { sendError } from \"next/dist/esm/server/api-utils\";\nimport { RouteKind } from \"next/dist/esm/server/route-kind\";\nimport { PagesAPIRouteModule } from \"next/dist/esm/server/route-modules/pages-api/module.compiled\";\nimport { hoist } from \"next/dist/esm/build/templates/helpers\";\n// Import the userland code.\nimport * as userland from \"INNER_PAGE\";\nimport { getTracer, SpanKind } from \"next/dist/esm/server/lib/trace/tracer\";\nimport { BaseServerSpan } from \"next/dist/esm/server/lib/trace/constants\";\nimport { addRequestMeta } from \"next/dist/esm/server/request-meta\";\n// Re-export the handler (should be the default export).\nexport default hoist(userland, 'default');\n// Re-export config.\nexport const config = hoist(userland, 'config');\n// Create and export the route module that will be consumed.\nconst routeModule = new PagesAPIRouteModule({\n definition: {\n kind: RouteKind.PAGES_API,\n page: \"/api/dictionary/[locale]/[word]\",\n pathname: \"/api/dictionary/[locale]/[word]\",\n // The following aren't used in production.\n bundlePath: '',\n filename: ''\n },\n userland,\n distDir: process.env.__NEXT_RELATIVE_DIST_DIR || '',\n relativeProjectDir: process.env.__NEXT_RELATIVE_PROJECT_DIR || ''\n});\nexport async function handler(req, res, ctx) {\n if (routeModule.isDev) {\n addRequestMeta(req, 'devRequestTimingInternalsEnd', process.hrtime.bigint());\n }\n let srcPage = \"/api/dictionary/[locale]/[word]\";\n // turbopack doesn't normalize `/index` in the page name\n // so we need to to process dynamic routes properly\n // TODO: fix turbopack providing differing value from webpack\n if (process.env.TURBOPACK) {\n srcPage = srcPage.replace(/\\/index$/, '') || '/';\n }\n const prepareResult = await routeModule.prepare(req, res, {\n srcPage\n });\n if (!prepareResult) {\n res.statusCode = 400;\n res.end('Bad Request');\n ctx.waitUntil == null ? void 0 : ctx.waitUntil.call(ctx, Promise.resolve());\n return;\n }\n const { query, params, prerenderManifest, routerServerContext } = prepareResult;\n try {\n const method = req.method || 'GET';\n const tracer = getTracer();\n const activeSpan = tracer.getActiveScopeSpan();\n const onRequestError = routeModule.instrumentationOnRequestError.bind(routeModule);\n const invokeRouteModule = async (span)=>routeModule.render(req, res, {\n query: {\n ...query,\n ...params\n },\n params,\n allowedRevalidateHeaderKeys: process.env.__NEXT_ALLOWED_REVALIDATE_HEADERS,\n multiZoneDraftMode: Boolean(process.env.__NEXT_MULTI_ZONE_DRAFT_MODE),\n trustHostHeader: process.env.__NEXT_TRUST_HOST_HEADER,\n // TODO: get this from from runtime env so manifest\n // doesn't need to load\n previewProps: prerenderManifest.preview,\n propagateError: false,\n dev: routeModule.isDev,\n page: \"/api/dictionary/[locale]/[word]\",\n internalRevalidate: routerServerContext == null ? void 0 : routerServerContext.revalidate,\n onError: (...args)=>onRequestError(req, ...args)\n }).finally(()=>{\n if (!span) return;\n span.setAttributes({\n 'http.status_code': res.statusCode,\n 'next.rsc': false\n });\n const rootSpanAttributes = tracer.getRootSpanAttributes();\n // We were unable to get attributes, probably OTEL is not enabled\n if (!rootSpanAttributes) {\n return;\n }\n if (rootSpanAttributes.get('next.span_type') !== BaseServerSpan.handleRequest) {\n console.warn(`Unexpected root span type '${rootSpanAttributes.get('next.span_type')}'. Please report this Next.js issue https://github.com/vercel/next.js`);\n return;\n }\n const route = rootSpanAttributes.get('next.route');\n if (route) {\n const name = `${method} ${route}`;\n span.setAttributes({\n 'next.route': route,\n 'http.route': route,\n 'next.span_name': name\n });\n span.updateName(name);\n } else {\n span.updateName(`${method} ${srcPage}`);\n }\n });\n // TODO: activeSpan code path is for when wrapped by\n // next-server can be removed when this is no longer used\n if (activeSpan) {\n await invokeRouteModule(activeSpan);\n } else {\n await tracer.withPropagatedContext(req.headers, ()=>tracer.trace(BaseServerSpan.handleRequest, {\n spanName: `${method} ${srcPage}`,\n kind: SpanKind.SERVER,\n attributes: {\n 'http.method': method,\n 'http.target': req.url\n }\n }, invokeRouteModule));\n }\n } catch (err) {\n // we re-throw in dev to show the error overlay\n if (routeModule.isDev) {\n throw err;\n }\n // this is technically an invariant as error handling\n // should be done inside of api-resolver onError\n sendError(res, 500, 'Internal Server Error');\n } finally{\n // We don't allow any waitUntil work in pages API routes currently\n // so if callback is present return with resolved promise since no\n // pending work\n ctx.waitUntil == null ? void 0 : ctx.waitUntil.call(ctx, Promise.resolve());\n }\n}\n\n//# sourceMappingURL=pages-api.js.map\n"],"names":[],"mappings":"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","ignoreList":[18]}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},42773,(e,t,r)=>{t.exports=e.x("transliteration",()=>require("transliteration"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},4211,e=>{"use strict";var t=e.i(49716),r=e.i(65732),i=e.i(79796),a=e.i(11320),n=e.i(55584),o=e.i(92044),s=e.i(69421);e.i(87602);var l=e.i(60885);let d=async(e,t)=>{let r=(0,l.getServerLoggingData)(e);try{let{locale:i}=p(e);o.logger.info("dictionary - request",{meta:r,payload:{locale:i}});let a=await n.dictionaries.get(i);t.status(200).send(a.serialize())}catch(i){let e=i instanceof Error?i.message:"Unknown error";o.logger.error("dictionary - error",{error:i,meta:r}),t.status(500).send({error:"Server error",message:e})}},p=e=>{let{locale:t}=e.query;if(!(0,s.isLocale)(t))throw Error('Invalid "locale" parameter');return{locale:t}};e.s(["config",0,{api:{responseLimit:"25mb"}},"default",0,d],67723);var u=e.i(67723),c=e.i(23399),g=e.i(52899),v=e.i(90965);let x=(0,a.hoist)(u,"default"),h=(0,a.hoist)(u,"config"),m=new i.PagesAPIRouteModule({definition:{kind:r.RouteKind.PAGES_API,page:"/api/dictionary/[locale]/index",pathname:"/api/dictionary/[locale]",bundlePath:"",filename:""},userland:u,distDir:".next",relativeProjectDir:""});async function f(e,r,i){m.isDev&&(0,v.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let a="/api/dictionary/[locale]/index";a=a.replace(/\/index$/,"")||"/";let n=await m.prepare(e,r,{srcPage:a});if(!n){r.statusCode=400,r.end("Bad Request"),null==i.waitUntil||i.waitUntil.call(i,Promise.resolve());return}let{query:o,params:s,prerenderManifest:l,routerServerContext:d}=n;try{let t=e.method||"GET",i=(0,c.getTracer)(),n=i.getActiveScopeSpan(),p=m.instrumentationOnRequestError.bind(m),u=async n=>m.render(e,r,{query:{...o,...s},params:s,allowedRevalidateHeaderKeys:[],multiZoneDraftMode:!1,trustHostHeader:!1,previewProps:l.preview,propagateError:!1,dev:m.isDev,page:"/api/dictionary/[locale]/index",internalRevalidate:null==d?void 0:d.revalidate,onError:(...t)=>p(e,...t)}).finally(()=>{if(!n)return;n.setAttributes({"http.status_code":r.statusCode,"next.rsc":!1});let e=i.getRootSpanAttributes();if(!e)return;if(e.get("next.span_type")!==g.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${e.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let o=e.get("next.route");if(o){let e=`${t} ${o}`;n.setAttributes({"next.route":o,"http.route":o,"next.span_name":e}),n.updateName(e)}else n.updateName(`${t} ${a}`)});n?await u(n):await i.withPropagatedContext(e.headers,()=>i.trace(g.BaseServerSpan.handleRequest,{spanName:`${t} ${a}`,kind:c.SpanKind.SERVER,attributes:{"http.method":t,"http.target":e.url}},u))}catch(e){if(m.isDev)throw e;(0,t.sendError)(r,500,"Internal Server Error")}finally{null==i.waitUntil||i.waitUntil.call(i,Promise.resolve())}}e.s(["config",0,h,"default",0,x,"handler",()=>f],4211)}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__7e4e99cd._.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../scrabble-solver/packages/scrabble-solver/src/pages/api/dictionary/%5Blocale%5D/index.ts","../../../../../../scrabble-solver/node_modules/next/dist/esm/build/templates/pages-api.js"],"sourcesContent":["import { dictionaries } from '@scrabble-solver/dictionaries';\nimport { logger } from '@scrabble-solver/logger';\nimport { isLocale, type Locale } from '@scrabble-solver/types';\nimport { type NextApiRequest, type NextApiResponse } from 'next';\n\nimport { getServerLoggingData } from 'api';\n\ninterface RequestData {\n locale: Locale;\n}\n\nconst dictionary = async (request: NextApiRequest, response: NextApiResponse): Promise<void> => {\n const meta = getServerLoggingData(request);\n\n try {\n const { locale } = parseRequest(request);\n\n logger.info('dictionary - request', {\n meta,\n payload: {\n locale,\n },\n });\n\n const trie = await dictionaries.get(locale);\n response.status(200).send(trie.serialize());\n } catch (error) {\n const message = error instanceof Error ? error.message : 'Unknown error';\n logger.error('dictionary - error', { error, meta });\n response.status(500).send({ error: 'Server error', message });\n }\n};\n\nconst parseRequest = (request: NextApiRequest): RequestData => {\n const { locale } = request.query;\n\n if (!isLocale(locale)) {\n throw new Error('Invalid \"locale\" parameter');\n }\n\n return {\n locale,\n };\n};\n\nexport const config = {\n api: {\n responseLimit: '25mb',\n },\n};\n\nexport default dictionary;\n","import { sendError } from \"next/dist/esm/server/api-utils\";\nimport { RouteKind } from \"next/dist/esm/server/route-kind\";\nimport { PagesAPIRouteModule } from \"next/dist/esm/server/route-modules/pages-api/module.compiled\";\nimport { hoist } from \"next/dist/esm/build/templates/helpers\";\n// Import the userland code.\nimport * as userland from \"INNER_PAGE\";\nimport { getTracer, SpanKind } from \"next/dist/esm/server/lib/trace/tracer\";\nimport { BaseServerSpan } from \"next/dist/esm/server/lib/trace/constants\";\nimport { addRequestMeta } from \"next/dist/esm/server/request-meta\";\n// Re-export the handler (should be the default export).\nexport default hoist(userland, 'default');\n// Re-export config.\nexport const config = hoist(userland, 'config');\n// Create and export the route module that will be consumed.\nconst routeModule = new PagesAPIRouteModule({\n definition: {\n kind: RouteKind.PAGES_API,\n page: \"/api/dictionary/[locale]/index\",\n pathname: \"/api/dictionary/[locale]\",\n // The following aren't used in production.\n bundlePath: '',\n filename: ''\n },\n userland,\n distDir: process.env.__NEXT_RELATIVE_DIST_DIR || '',\n relativeProjectDir: process.env.__NEXT_RELATIVE_PROJECT_DIR || ''\n});\nexport async function handler(req, res, ctx) {\n if (routeModule.isDev) {\n addRequestMeta(req, 'devRequestTimingInternalsEnd', process.hrtime.bigint());\n }\n let srcPage = \"/api/dictionary/[locale]/index\";\n // turbopack doesn't normalize `/index` in the page name\n // so we need to to process dynamic routes properly\n // TODO: fix turbopack providing differing value from webpack\n if (process.env.TURBOPACK) {\n srcPage = srcPage.replace(/\\/index$/, '') || '/';\n }\n const prepareResult = await routeModule.prepare(req, res, {\n srcPage\n });\n if (!prepareResult) {\n res.statusCode = 400;\n res.end('Bad Request');\n ctx.waitUntil == null ? void 0 : ctx.waitUntil.call(ctx, Promise.resolve());\n return;\n }\n const { query, params, prerenderManifest, routerServerContext } = prepareResult;\n try {\n const method = req.method || 'GET';\n const tracer = getTracer();\n const activeSpan = tracer.getActiveScopeSpan();\n const onRequestError = routeModule.instrumentationOnRequestError.bind(routeModule);\n const invokeRouteModule = async (span)=>routeModule.render(req, res, {\n query: {\n ...query,\n ...params\n },\n params,\n allowedRevalidateHeaderKeys: process.env.__NEXT_ALLOWED_REVALIDATE_HEADERS,\n multiZoneDraftMode: Boolean(process.env.__NEXT_MULTI_ZONE_DRAFT_MODE),\n trustHostHeader: process.env.__NEXT_TRUST_HOST_HEADER,\n // TODO: get this from from runtime env so manifest\n // doesn't need to load\n previewProps: prerenderManifest.preview,\n propagateError: false,\n dev: routeModule.isDev,\n page: \"/api/dictionary/[locale]/index\",\n internalRevalidate: routerServerContext == null ? void 0 : routerServerContext.revalidate,\n onError: (...args)=>onRequestError(req, ...args)\n }).finally(()=>{\n if (!span) return;\n span.setAttributes({\n 'http.status_code': res.statusCode,\n 'next.rsc': false\n });\n const rootSpanAttributes = tracer.getRootSpanAttributes();\n // We were unable to get attributes, probably OTEL is not enabled\n if (!rootSpanAttributes) {\n return;\n }\n if (rootSpanAttributes.get('next.span_type') !== BaseServerSpan.handleRequest) {\n console.warn(`Unexpected root span type '${rootSpanAttributes.get('next.span_type')}'. Please report this Next.js issue https://github.com/vercel/next.js`);\n return;\n }\n const route = rootSpanAttributes.get('next.route');\n if (route) {\n const name = `${method} ${route}`;\n span.setAttributes({\n 'next.route': route,\n 'http.route': route,\n 'next.span_name': name\n });\n span.updateName(name);\n } else {\n span.updateName(`${method} ${srcPage}`);\n }\n });\n // TODO: activeSpan code path is for when wrapped by\n // next-server can be removed when this is no longer used\n if (activeSpan) {\n await invokeRouteModule(activeSpan);\n } else {\n await tracer.withPropagatedContext(req.headers, ()=>tracer.trace(BaseServerSpan.handleRequest, {\n spanName: `${method} ${srcPage}`,\n kind: SpanKind.SERVER,\n attributes: {\n 'http.method': method,\n 'http.target': req.url\n }\n }, invokeRouteModule));\n }\n } catch (err) {\n // we re-throw in dev to show the error overlay\n if (routeModule.isDev) {\n throw err;\n }\n // this is technically an invariant as error handling\n // should be done inside of api-resolver onError\n sendError(res, 500, 'Internal Server Error');\n } finally{\n // We don't allow any waitUntil work in pages API routes currently\n // so if callback is present return with resolved promise since no\n // pending work\n ctx.waitUntil == null ? void 0 : ctx.waitUntil.call(ctx, Promise.resolve());\n }\n}\n\n//# sourceMappingURL=pages-api.js.map\n"],"names":[],"mappings":"sWCAA,IAAA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,ODHA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OAGA,EAAA,CAAA,CAAA,OAAA,IAAA,EAAA,EAAA,CAAA,CAAA,OAMA,IAAM,EAAa,MAAO,EAAyB,KACjD,IAAM,EAAO,CAAA,EAAA,EAAA,oBAAoB,AAApB,EAAqB,GAElC,GAAI,CACF,GAAM,QAAE,CAAM,CAAE,CAAG,EAAa,GAEhC,EAAA,MAAM,CAAC,IAAI,CAAC,uBAAwB,MAClC,EACA,QAAS,QACP,CACF,CACF,GAEA,IAAM,EAAO,MAAM,EAAA,YAAY,CAAC,GAAG,CAAC,GACpC,EAAS,MAAM,CAAC,KAAK,IAAI,CAAC,EAAK,SAAS,GAC1C,CAAE,MAAO,EAAO,CACd,IAAM,EAAU,aAAiB,MAAQ,EAAM,OAAO,CAAG,gBACzD,EAAA,MAAM,CAAC,KAAK,CAAC,qBAAsB,OAAE,OAAO,CAAK,GACjD,EAAS,MAAM,CAAC,KAAK,IAAI,CAAC,CAAE,MAAO,uBAAgB,CAAQ,EAC7D,CACF,EAEM,EAAgB,AAAD,IACnB,GAAM,QAAE,CAAM,CAAE,CAAG,EAAQ,KAAK,CAEhC,GAAI,CAAC,CAAA,EAAA,EAAA,QAAA,AAAQ,EAAC,GACZ,MAAU,AAAJ,AADe,MACL,8BAGlB,MAAO,QACL,CACF,CACF,kBAEsB,CACpB,IAAK,CACH,cAAe,MACjB,CACF,cAEe,UC9Cf,IAAA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,aAEe,CAAA,EAAA,EAAA,KAAA,AAAK,EAAC,EAAU,WAElB,EAAS,CAAA,EAAA,EAAA,KAAA,AAAK,EAAC,EAAU,UAEhC,EAAc,IAAI,EAAA,mBAAmB,CAAC,CACxC,WAAY,CACR,KAAM,EAAA,SAAS,CAAC,SAAS,CACzB,KAAM,iCACN,SAAU,2BAEV,WAAY,GACZ,SAAU,EACd,EACA,SAAA,EACA,QAAS,CAAA,OACT,IADiD,eACc,CAA3C,CACxB,GACO,eAAe,EAAQ,CAAG,CAAE,CAAG,CAAE,CAAG,EACnC,EAAY,KAAK,EAAE,AACnB,CAAA,EAAA,EAAA,cAAA,AAAc,EAAC,EAAK,+BAAgC,QAAQ,MAAM,CAAC,MAAM,IAE7E,IAAI,EAAU,iCAKV,EAAU,EAAQ,OAAO,CAAC,WAAY,KAAO,IAEjD,IAAM,EAAgB,MAAM,EAAY,OAAO,CAAC,EAAK,EAAK,SACtD,CACJ,GACA,GAAI,CAAC,EAAe,CAChB,EAAI,UAAU,CAAG,IACjB,EAAI,GAAG,CAAC,eACS,MAAjB,CAAwB,CAApB,IAAyB,KAAhB,EAAoB,EAAI,SAAS,CAAC,IAAI,CAAC,EAAK,QAAQ,OAAO,IACxE,MACJ,CACA,GAAM,OAAE,CAAK,QAAE,CAAM,mBAAE,CAAiB,qBAAE,CAAmB,CAAE,CAAG,EAClE,GAAI,CACA,IAAM,EAAS,EAAI,MAAM,EAAI,MACvB,EAAS,CAAA,EAAA,EAAA,SAAA,AAAS,IAClB,EAAa,EAAO,kBAAkB,GACtC,EAAiB,EAAY,6BAA6B,CAAC,IAAI,CAAC,GAChE,EAAoB,MAAO,GAAO,EAAY,MAAM,CAAC,EAAK,EAAK,CAC7D,MAAO,CACH,GAAG,CAAK,CACR,GAAG,CAAM,AACb,SACA,EACA,2BAA2B,CAAA,EAAA,CAC3B,mBAAoB,CAAA,EACpB,eAAe,CAAA,CAAA,EAGf,aAAc,EAAkB,OAAO,CACvC,gBAAgB,EAChB,IAAK,EAAY,KAAK,CACtB,KAAM,iCACN,mBAA2C,MAAvB,EAA8B,KAAK,EAAI,EAAoB,UAAU,CACzF,QAAS,CAAC,GAAG,IAAO,EAAe,KAAQ,EAC/C,GAAG,OAAO,CAAC,KACP,GAAI,CAAC,EAAM,OACX,EAAK,aAAa,CAAC,CACf,mBAAoB,EAAI,UAAU,CAClC,YAAY,CAChB,GACA,IAAM,EAAqB,EAAO,qBAAqB,GAEvD,GAAI,CAAC,EACD,OAEJ,GAAI,EAAmB,GAAG,CAAC,EAHF,kBAGwB,EAAA,cAAc,CAAC,aAAa,CAAE,YAC3E,QAAQ,IAAI,CAAC,CAAC,2BAA2B,EAAE,EAAmB,GAAG,CAAC,kBAAkB,qEAAqE,CAAC,EAG9J,IAAM,EAAQ,EAAmB,GAAG,CAAC,cACrC,GAAI,EAAO,CACP,IAAM,EAAO,CAAA,EAAG,EAAO,CAAC,EAAE,EAAA,CAAO,CACjC,EAAK,aAAa,CAAC,CACf,aAAc,EACd,aAAc,EACd,iBAAkB,CACtB,GACA,EAAK,UAAU,CAAC,EACpB,MACI,CADG,CACE,UAAU,CAAC,CAAA,EAAG,EAAO,CAAC,EAAE,EAAA,CAAS,CAE9C,GAGA,EACA,MAAM,EAAkB,EADZ,CAGZ,MAAM,EAAO,qBAAqB,CAAC,EAAI,OAAO,CAAE,IAAI,EAAO,KAAK,CAAC,EAAA,cAAc,CAAC,aAAa,CAAE,CACvF,SAAU,CAAA,EAAG,EAAO,CAAC,EAAE,EAAA,CAAS,CAChC,KAAM,EAAA,QAAQ,CAAC,MAAM,CACrB,WAAY,CACR,cAAe,EACf,cAAe,EAAI,GAAG,AAC1B,CACJ,EAAG,GAEf,CAAE,MAAO,EAAK,CAEV,GAAI,EAAY,KAAK,CACjB,CADmB,KACb,EAIV,CAAA,EAAA,EAAA,SAAA,AAAS,EAAC,EAAK,IAAK,wBACxB,QAAS,CAIY,MAAjB,CAAwB,CAApB,IAAyB,KAAhB,EAAoB,EAAI,SAAS,CAAC,IAAI,CAAC,EAAK,QAAQ,OAAO,GAC5E,CACJ,EAEA,qCAAqC","ignoreList":[1]}
|