@scrabble-solver/scrabble-solver 2.15.15 → 2.15.16
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-manifest.json +29 -28
- package/.next/cache/.previewinfo +1 -1
- package/.next/cache/.rscinfo +1 -1
- package/.next/cache/.tsbuildinfo +1 -1
- 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/diagnostics/build-diagnostics.json +1 -1
- package/.next/diagnostics/framework.json +1 -1
- 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 +4 -30
- package/.next/routes-manifest.json +1 -1
- package/.next/server/chunks/30.js +6 -0
- package/.next/server/chunks/318.js +3 -0
- package/.next/server/chunks/392.js +1 -0
- package/.next/server/chunks/671.js +1 -0
- package/.next/server/chunks/712.js +1 -0
- package/.next/server/chunks/791.js +19 -0
- package/.next/server/chunks/812.js +1 -0
- package/.next/server/dynamic-css-manifest.js +1 -0
- package/.next/server/middleware-build-manifest.js +1 -40
- package/.next/server/middleware-manifest.json +2 -2
- package/.next/server/middleware-react-loadable-manifest.js +1 -0
- package/.next/server/next-font-manifest.js +1 -1
- package/.next/server/next-font-manifest.json +1 -6
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/pages/_app.js +1 -6
- package/.next/server/pages/_app.js.nft.json +1 -1
- package/.next/server/pages/_document.js +1 -5
- package/.next/server/pages/_document.js.nft.json +1 -1
- package/.next/server/pages/_error.js +1 -10
- package/.next/server/pages/_error.js.nft.json +1 -1
- package/.next/server/pages/api/dictionary/[locale]/[word].js +2 -8
- package/.next/server/pages/api/dictionary/[locale]/[word].js.nft.json +1 -1
- package/.next/server/pages/api/dictionary/[locale].js +1 -6
- package/.next/server/pages/api/dictionary/[locale].js.nft.json +1 -1
- package/.next/server/pages/api/solve.js +1 -8
- package/.next/server/pages/api/solve.js.nft.json +1 -1
- package/.next/server/pages/api/verify.js +1 -7
- package/.next/server/pages/api/verify.js.nft.json +1 -1
- package/.next/server/pages/api/visit.js +1 -5
- package/.next/server/pages/api/visit.js.nft.json +1 -1
- package/.next/server/pages/index.html +1 -1
- package/.next/server/pages/index.js +1 -11
- package/.next/server/pages/index.js.nft.json +1 -1
- package/.next/server/pages/index.json +1 -1
- package/.next/server/pages/not-found.html +1 -1
- package/.next/server/pages/not-found.js.nft.json +1 -1
- package/.next/server/pages-manifest.json +5 -5
- package/.next/server/webpack-api-runtime.js +1 -0
- package/.next/server/webpack-runtime.js +1 -0
- package/.next/static/JsuHKQsDCNm7ddeBFmAGT/_buildManifest.js +1 -0
- package/.next/static/chunks/framework-07e31bfe438047c5.js +1 -0
- package/.next/static/chunks/main-5ae82999af4e5667.js +5 -0
- package/.next/static/chunks/pages/_app-34d868ee8cde5436.js +3 -0
- package/.next/static/chunks/pages/_error-afeda7c5231b6c3c.js +1 -0
- package/.next/static/chunks/pages/index-a23a3a272e535225.js +1 -0
- package/.next/static/chunks/pages/not-found-9e076427bad69d90.js +1 -0
- package/.next/static/chunks/polyfills-42372ed130431b0a.js +1 -0
- package/.next/static/chunks/webpack-06b4b4da58317e44.js +1 -0
- package/.next/static/css/500cdc9a24075d91.css +2 -0
- package/.next/static/css/addf6fd4f75742d0.css +1 -0
- package/.next/trace +21 -1
- package/.next/trace-build +1 -1
- package/next.config.js +19 -20
- package/package.json +14 -17
- package/.next/build/chunks/[root-of-the-server]__6e020478._.js +0 -441
- package/.next/build/chunks/[root-of-the-server]__6e020478._.js.map +0 -7
- package/.next/build/chunks/[root-of-the-server]__c7ae8543._.js +0 -500
- package/.next/build/chunks/[root-of-the-server]__c7ae8543._.js.map +0 -11
- package/.next/build/chunks/[turbopack-node]_transforms_webpack-loaders_ts_c84aa21a._.js +0 -12
- package/.next/build/chunks/[turbopack-node]_transforms_webpack-loaders_ts_c84aa21a._.js.map +0 -5
- package/.next/build/chunks/[turbopack]_runtime.js +0 -770
- package/.next/build/chunks/[turbopack]_runtime.js.map +0 -10
- package/.next/build/package.json +0 -1
- package/.next/build/webpack-loaders.js +0 -6
- package/.next/build/webpack-loaders.js.map +0 -5
- package/.next/fallback-build-manifest.json +0 -24
- package/.next/server/app-paths-manifest.json +0 -1
- package/.next/server/chunks/[root-of-the-server]__378b5933._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__378b5933._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__51a21f60._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__51a21f60._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__53eb4a3b._.js +0 -4
- package/.next/server/chunks/[root-of-the-server]__53eb4a3b._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__7e4e99cd._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__7e4e99cd._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__a6a82e19._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__a6a82e19._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__a84df743._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__a84df743._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__a99303dc._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__a99303dc._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__bfa4320b._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__bfa4320b._.js.map +0 -1
- package/.next/server/chunks/[turbopack]_runtime.js +0 -770
- package/.next/server/chunks/[turbopack]_runtime.js.map +0 -10
- package/.next/server/chunks/scrabble-solver_b903dbba._.js +0 -3
- package/.next/server/chunks/scrabble-solver_b903dbba._.js.map +0 -1
- package/.next/server/chunks/scrabble-solver_packages_configs_build_5accd600._.js +0 -3
- package/.next/server/chunks/scrabble-solver_packages_configs_build_5accd600._.js.map +0 -1
- package/.next/server/chunks/ssr/1b834_next_d69de9fa._.js +0 -3
- package/.next/server/chunks/ssr/1b834_next_d69de9fa._.js.map +0 -1
- package/.next/server/chunks/ssr/[externals]_fs_54ffce70._.js +0 -3
- package/.next/server/chunks/ssr/[externals]_fs_54ffce70._.js.map +0 -1
- package/.next/server/chunks/ssr/[externals]_transliteration_b8916dda._.js +0 -3
- package/.next/server/chunks/ssr/[externals]_transliteration_b8916dda._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__1115f13a._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__1115f13a._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__421f2b10._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__421f2b10._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__b87cf431._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__b87cf431._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__bdcde4df._.js +0 -5
- package/.next/server/chunks/ssr/[root-of-the-server]__bdcde4df._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__c803ce2b._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__c803ce2b._.js.map +0 -1
- package/.next/server/chunks/ssr/[turbopack]_runtime.js +0 -770
- package/.next/server/chunks/ssr/[turbopack]_runtime.js.map +0 -10
- package/.next/server/chunks/ssr/scrabble-solver_1bf76a93._.js +0 -3
- package/.next/server/chunks/ssr/scrabble-solver_1bf76a93._.js.map +0 -1
- package/.next/server/chunks/ssr/scrabble-solver_a6d23152._.js +0 -8
- package/.next/server/chunks/ssr/scrabble-solver_a6d23152._.js.map +0 -1
- package/.next/server/chunks/ssr/scrabble-solver_packages_scrabble-solver_src_i18n_languages_1f0474f1._.js +0 -3
- package/.next/server/chunks/ssr/scrabble-solver_packages_scrabble-solver_src_i18n_languages_1f0474f1._.js.map +0 -1
- package/.next/server/pages/_app/build-manifest.json +0 -18
- package/.next/server/pages/_app/client-build-manifest.json +0 -5
- package/.next/server/pages/_app/next-font-manifest.json +0 -6
- package/.next/server/pages/_app/pages-manifest.json +0 -3
- package/.next/server/pages/_app.js.map +0 -5
- package/.next/server/pages/_document/next-font-manifest.json +0 -6
- package/.next/server/pages/_document/pages-manifest.json +0 -3
- package/.next/server/pages/_document/react-loadable-manifest.json +0 -1
- package/.next/server/pages/_document.js.map +0 -5
- package/.next/server/pages/_error/build-manifest.json +0 -15
- package/.next/server/pages/_error/client-build-manifest.json +0 -5
- package/.next/server/pages/_error/next-font-manifest.json +0 -6
- package/.next/server/pages/_error/pages-manifest.json +0 -3
- package/.next/server/pages/_error/react-loadable-manifest.json +0 -1
- package/.next/server/pages/_error.js.map +0 -5
- package/.next/server/pages/api/dictionary/[locale]/[word]/pages-manifest.json +0 -3
- package/.next/server/pages/api/dictionary/[locale]/[word].js.map +0 -5
- package/.next/server/pages/api/dictionary/[locale]/pages-manifest.json +0 -3
- package/.next/server/pages/api/dictionary/[locale].js.map +0 -5
- package/.next/server/pages/api/solve/pages-manifest.json +0 -3
- package/.next/server/pages/api/solve.js.map +0 -5
- package/.next/server/pages/api/verify/pages-manifest.json +0 -3
- package/.next/server/pages/api/verify.js.map +0 -5
- package/.next/server/pages/api/visit/pages-manifest.json +0 -3
- package/.next/server/pages/api/visit.js.map +0 -5
- package/.next/server/pages/index/build-manifest.json +0 -18
- package/.next/server/pages/index/client-build-manifest.json +0 -5
- package/.next/server/pages/index/next-font-manifest.json +0 -6
- package/.next/server/pages/index/pages-manifest.json +0 -3
- package/.next/server/pages/index/react-loadable-manifest.json +0 -1
- package/.next/server/pages/index.js.map +0 -5
- package/.next/server/pages/not-found/build-manifest.json +0 -17
- package/.next/server/pages/not-found/client-build-manifest.json +0 -5
- package/.next/server/pages/not-found/next-font-manifest.json +0 -6
- package/.next/server/pages/not-found/pages-manifest.json +0 -3
- package/.next/server/pages/not-found/react-loadable-manifest.json +0 -1
- package/.next/server/pages/not-found.js.map +0 -5
- package/.next/server/server-reference-manifest.js +0 -1
- package/.next/server/server-reference-manifest.json +0 -5
- package/.next/static/7kzTSHcrJ7tE47btIJcLO/_buildManifest.js +0 -27
- package/.next/static/chunks/060b82a3f336704f.js +0 -3
- package/.next/static/chunks/18159e87dc14f3cf.js +0 -1
- package/.next/static/chunks/27692b9d65f8b241.js +0 -8
- package/.next/static/chunks/2f5ae49118c8c86e.js +0 -1
- package/.next/static/chunks/339ed8704781040d.js +0 -5
- package/.next/static/chunks/3c8b810de7908416.js +0 -3
- package/.next/static/chunks/50e709cb7765c2f9.js +0 -1
- package/.next/static/chunks/69fdc9801e177051.js +0 -1
- package/.next/static/chunks/77bd0d5f1fb6eeba.js +0 -3
- package/.next/static/chunks/88b0985f454c1075.js +0 -1
- package/.next/static/chunks/95230bbbdd629d16.js +0 -1
- package/.next/static/chunks/997907c5fccf02bb.js +0 -5
- package/.next/static/chunks/9b2e7a689e581b58.js +0 -7
- package/.next/static/chunks/a4580bbcd72cf165.css +0 -2
- package/.next/static/chunks/e37c75eaddd8268a.css +0 -47
- package/.next/static/chunks/e75d2aeb209c3d8c.js +0 -8
- package/.next/static/chunks/eebac312ab720248.js +0 -1
- package/.next/static/chunks/turbopack-3eaa540498b1c1e9.js +0 -3
- package/.next/static/chunks/turbopack-6422aba52462ed1d.js +0 -3
- package/.next/static/chunks/turbopack-c70c4122d677e1a8.js +0 -3
- package/.next/static/chunks/turbopack-cc316a12eadf598b.js +0 -3
- package/.next/turbopack +0 -0
- /package/.next/{static/7kzTSHcrJ7tE47btIJcLO/_clientMiddlewareManifest.json → dynamic-css-manifest.json} +0 -0
- /package/.next/{server/pages/_app/react-loadable-manifest.json → react-loadable-manifest.json} +0 -0
- /package/.next/static/{7kzTSHcrJ7tE47btIJcLO → JsuHKQsDCNm7ddeBFmAGT}/_ssgManifest.js +0 -0
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": [],
|
|
4
|
-
"sections": [
|
|
5
|
-
{"offset": {"line": 3, "column": 0}, "map": {"version":3,"sources":["turbopack:///[turbopack]/shared/runtime-utils.ts"],"sourcesContent":["/**\n * This file contains runtime types and functions that are shared between all\n * TurboPack ECMAScript runtimes.\n *\n * It will be prepended to the runtime code of each runtime.\n */\n\n/* eslint-disable @typescript-eslint/no-unused-vars */\n\n/// <reference path=\"./runtime-types.d.ts\" />\n\ntype EsmNamespaceObject = Record<string, any>\n\n// @ts-ignore Defined in `dev-base.ts`\ndeclare function getOrInstantiateModuleFromParent<M>(\n id: ModuleId,\n sourceModule: M\n): M\n\nconst REEXPORTED_OBJECTS = new WeakMap<Module, ReexportedObjects>()\n\n/**\n * Constructs the `__turbopack_context__` object for a module.\n */\nfunction Context(\n this: TurbopackBaseContext<Module>,\n module: Module,\n exports: Exports\n) {\n this.m = module\n // We need to store this here instead of accessing it from the module object to:\n // 1. Make it available to factories directly, since we rewrite `this` to\n // `__turbopack_context__.e` in CJS modules.\n // 2. Support async modules which rewrite `module.exports` to a promise, so we\n // can still access the original exports object from functions like\n // `esmExport`\n // Ideally we could find a new approach for async modules and drop this property altogether.\n this.e = exports\n}\nconst contextPrototype = Context.prototype as TurbopackBaseContext<Module>\n\ntype ModuleContextMap = Record<ModuleId, ModuleContextEntry>\n\ninterface ModuleContextEntry {\n id: () => ModuleId\n module: () => any\n}\n\ninterface ModuleContext {\n // require call\n (moduleId: ModuleId): Exports | EsmNamespaceObject\n\n // async import call\n import(moduleId: ModuleId): Promise<Exports | EsmNamespaceObject>\n\n keys(): ModuleId[]\n\n resolve(moduleId: ModuleId): ModuleId\n}\n\ntype GetOrInstantiateModuleFromParent<M extends Module> = (\n moduleId: M['id'],\n parentModule: M\n) => M\n\ndeclare function getOrInstantiateRuntimeModule(\n chunkPath: ChunkPath,\n moduleId: ModuleId\n): Module\n\nconst hasOwnProperty = Object.prototype.hasOwnProperty\nconst toStringTag = typeof Symbol !== 'undefined' && Symbol.toStringTag\n\nfunction defineProp(\n obj: any,\n name: PropertyKey,\n options: PropertyDescriptor & ThisType<any>\n) {\n if (!hasOwnProperty.call(obj, name)) Object.defineProperty(obj, name, options)\n}\n\nfunction getOverwrittenModule(\n moduleCache: ModuleCache<Module>,\n id: ModuleId\n): Module {\n let module = moduleCache[id]\n if (!module) {\n // This is invoked when a module is merged into another module, thus it wasn't invoked via\n // instantiateModule and the cache entry wasn't created yet.\n module = createModuleObject(id)\n moduleCache[id] = module\n }\n return module\n}\n\n/**\n * Creates the module object. Only done here to ensure all module objects have the same shape.\n */\nfunction createModuleObject(id: ModuleId): Module {\n return {\n exports: {},\n error: undefined,\n id,\n namespaceObject: undefined,\n }\n}\n\ntype BindingTag = 0\nconst BindingTag_Value = 0 as BindingTag\n\n// an arbitrary sequence of bindings as\n// - a prop name\n// - BindingTag_Value, a value to be bound directly, or\n// - 1 or 2 functions to bind as getters and sdetters\ntype EsmBindings = Array<\n string | BindingTag | (() => unknown) | ((v: unknown) => void) | unknown\n>\n\n/**\n * Adds the getters to the exports object.\n */\nfunction esm(exports: Exports, bindings: EsmBindings) {\n defineProp(exports, '__esModule', { value: true })\n if (toStringTag) defineProp(exports, toStringTag, { value: 'Module' })\n let i = 0\n while (i < bindings.length) {\n const propName = bindings[i++] as string\n const tagOrFunction = bindings[i++]\n if (typeof tagOrFunction === 'number') {\n if (tagOrFunction === BindingTag_Value) {\n defineProp(exports, propName, {\n value: bindings[i++],\n enumerable: true,\n writable: false,\n })\n } else {\n throw new Error(`unexpected tag: ${tagOrFunction}`)\n }\n } else {\n const getterFn = tagOrFunction as () => unknown\n if (typeof bindings[i] === 'function') {\n const setterFn = bindings[i++] as (v: unknown) => void\n defineProp(exports, propName, {\n get: getterFn,\n set: setterFn,\n enumerable: true,\n })\n } else {\n defineProp(exports, propName, {\n get: getterFn,\n enumerable: true,\n })\n }\n }\n }\n Object.seal(exports)\n}\n\n/**\n * Makes the module an ESM with exports\n */\nfunction esmExport(\n this: TurbopackBaseContext<Module>,\n bindings: EsmBindings,\n id: ModuleId | undefined\n) {\n let module: Module\n let exports: Module['exports']\n if (id != null) {\n module = getOverwrittenModule(this.c, id)\n exports = module.exports\n } else {\n module = this.m\n exports = this.e\n }\n module.namespaceObject = exports\n esm(exports, bindings)\n}\ncontextPrototype.s = esmExport\n\ntype ReexportedObjects = Record<PropertyKey, unknown>[]\nfunction ensureDynamicExports(\n module: Module,\n exports: Exports\n): ReexportedObjects {\n let reexportedObjects: ReexportedObjects | undefined =\n REEXPORTED_OBJECTS.get(module)\n\n if (!reexportedObjects) {\n REEXPORTED_OBJECTS.set(module, (reexportedObjects = []))\n module.exports = module.namespaceObject = new Proxy(exports, {\n get(target, prop) {\n if (\n hasOwnProperty.call(target, prop) ||\n prop === 'default' ||\n prop === '__esModule'\n ) {\n return Reflect.get(target, prop)\n }\n for (const obj of reexportedObjects!) {\n const value = Reflect.get(obj, prop)\n if (value !== undefined) return value\n }\n return undefined\n },\n ownKeys(target) {\n const keys = Reflect.ownKeys(target)\n for (const obj of reexportedObjects!) {\n for (const key of Reflect.ownKeys(obj)) {\n if (key !== 'default' && !keys.includes(key)) keys.push(key)\n }\n }\n return keys\n },\n })\n }\n return reexportedObjects\n}\n\n/**\n * Dynamically exports properties from an object\n */\nfunction dynamicExport(\n this: TurbopackBaseContext<Module>,\n object: Record<string, any>,\n id: ModuleId | undefined\n) {\n let module: Module\n let exports: Exports\n if (id != null) {\n module = getOverwrittenModule(this.c, id)\n exports = module.exports\n } else {\n module = this.m\n exports = this.e\n }\n const reexportedObjects = ensureDynamicExports(module, exports)\n\n if (typeof object === 'object' && object !== null) {\n reexportedObjects.push(object)\n }\n}\ncontextPrototype.j = dynamicExport\n\nfunction exportValue(\n this: TurbopackBaseContext<Module>,\n value: any,\n id: ModuleId | undefined\n) {\n let module: Module\n if (id != null) {\n module = getOverwrittenModule(this.c, id)\n } else {\n module = this.m\n }\n module.exports = value\n}\ncontextPrototype.v = exportValue\n\nfunction exportNamespace(\n this: TurbopackBaseContext<Module>,\n namespace: any,\n id: ModuleId | undefined\n) {\n let module: Module\n if (id != null) {\n module = getOverwrittenModule(this.c, id)\n } else {\n module = this.m\n }\n module.exports = module.namespaceObject = namespace\n}\ncontextPrototype.n = exportNamespace\n\nfunction createGetter(obj: Record<string | symbol, any>, key: string | symbol) {\n return () => obj[key]\n}\n\n/**\n * @returns prototype of the object\n */\nconst getProto: (obj: any) => any = Object.getPrototypeOf\n ? (obj) => Object.getPrototypeOf(obj)\n : (obj) => obj.__proto__\n\n/** Prototypes that are not expanded for exports */\nconst LEAF_PROTOTYPES = [null, getProto({}), getProto([]), getProto(getProto)]\n\n/**\n * @param raw\n * @param ns\n * @param allowExportDefault\n * * `false`: will have the raw module as default export\n * * `true`: will have the default property as default export\n */\nfunction interopEsm(\n raw: Exports,\n ns: EsmNamespaceObject,\n allowExportDefault?: boolean\n) {\n const bindings: EsmBindings = []\n let defaultLocation = -1\n for (\n let current = raw;\n (typeof current === 'object' || typeof current === 'function') &&\n !LEAF_PROTOTYPES.includes(current);\n current = getProto(current)\n ) {\n for (const key of Object.getOwnPropertyNames(current)) {\n bindings.push(key, createGetter(raw, key))\n if (defaultLocation === -1 && key === 'default') {\n defaultLocation = bindings.length - 1\n }\n }\n }\n\n // this is not really correct\n // we should set the `default` getter if the imported module is a `.cjs file`\n if (!(allowExportDefault && defaultLocation >= 0)) {\n // Replace the binding with one for the namespace itself in order to preserve iteration order.\n if (defaultLocation >= 0) {\n // Replace the getter with the value\n bindings.splice(defaultLocation, 1, BindingTag_Value, raw)\n } else {\n bindings.push('default', BindingTag_Value, raw)\n }\n }\n\n esm(ns, bindings)\n return ns\n}\n\nfunction createNS(raw: Module['exports']): EsmNamespaceObject {\n if (typeof raw === 'function') {\n return function (this: any, ...args: any[]) {\n return raw.apply(this, args)\n }\n } else {\n return Object.create(null)\n }\n}\n\nfunction esmImport(\n this: TurbopackBaseContext<Module>,\n id: ModuleId\n): Exclude<Module['namespaceObject'], undefined> {\n const module = getOrInstantiateModuleFromParent(id, this.m)\n\n // any ES module has to have `module.namespaceObject` defined.\n if (module.namespaceObject) return module.namespaceObject\n\n // only ESM can be an async module, so we don't need to worry about exports being a promise here.\n const raw = module.exports\n return (module.namespaceObject = interopEsm(\n raw,\n createNS(raw),\n raw && (raw as any).__esModule\n ))\n}\ncontextPrototype.i = esmImport\n\nfunction asyncLoader(\n this: TurbopackBaseContext<Module>,\n moduleId: ModuleId\n): Promise<Exports> {\n const loader = this.r(moduleId) as (\n importFunction: EsmImport\n ) => Promise<Exports>\n return loader(esmImport.bind(this))\n}\ncontextPrototype.A = asyncLoader\n\n// Add a simple runtime require so that environments without one can still pass\n// `typeof require` CommonJS checks so that exports are correctly registered.\nconst runtimeRequire =\n // @ts-ignore\n typeof require === 'function'\n ? // @ts-ignore\n require\n : function require() {\n throw new Error('Unexpected use of runtime require')\n }\ncontextPrototype.t = runtimeRequire\n\nfunction commonJsRequire(\n this: TurbopackBaseContext<Module>,\n id: ModuleId\n): Exports {\n return getOrInstantiateModuleFromParent(id, this.m).exports\n}\ncontextPrototype.r = commonJsRequire\n\n/**\n * `require.context` and require/import expression runtime.\n */\nfunction moduleContext(map: ModuleContextMap): ModuleContext {\n function moduleContext(id: ModuleId): Exports {\n if (hasOwnProperty.call(map, id)) {\n return map[id].module()\n }\n\n const e = new Error(`Cannot find module '${id}'`)\n ;(e as any).code = 'MODULE_NOT_FOUND'\n throw e\n }\n\n moduleContext.keys = (): ModuleId[] => {\n return Object.keys(map)\n }\n\n moduleContext.resolve = (id: ModuleId): ModuleId => {\n if (hasOwnProperty.call(map, id)) {\n return map[id].id()\n }\n\n const e = new Error(`Cannot find module '${id}'`)\n ;(e as any).code = 'MODULE_NOT_FOUND'\n throw e\n }\n\n moduleContext.import = async (id: ModuleId) => {\n return await (moduleContext(id) as Promise<Exports>)\n }\n\n return moduleContext\n}\ncontextPrototype.f = moduleContext\n\n/**\n * Returns the path of a chunk defined by its data.\n */\nfunction getChunkPath(chunkData: ChunkData): ChunkPath {\n return typeof chunkData === 'string' ? chunkData : chunkData.path\n}\n\nfunction isPromise<T = any>(maybePromise: any): maybePromise is Promise<T> {\n return (\n maybePromise != null &&\n typeof maybePromise === 'object' &&\n 'then' in maybePromise &&\n typeof maybePromise.then === 'function'\n )\n}\n\nfunction isAsyncModuleExt<T extends {}>(obj: T): obj is AsyncModuleExt & T {\n return turbopackQueues in obj\n}\n\nfunction createPromise<T>() {\n let resolve: (value: T | PromiseLike<T>) => void\n let reject: (reason?: any) => void\n\n const promise = new Promise<T>((res, rej) => {\n reject = rej\n resolve = res\n })\n\n return {\n promise,\n resolve: resolve!,\n reject: reject!,\n }\n}\n\n// Load the CompressedmoduleFactories of a chunk into the `moduleFactories` Map.\n// The CompressedModuleFactories format is\n// - 1 or more module ids\n// - a module factory function\n// So walking this is a little complex but the flat structure is also fast to\n// traverse, we can use `typeof` operators to distinguish the two cases.\nfunction installCompressedModuleFactories(\n chunkModules: CompressedModuleFactories,\n offset: number,\n moduleFactories: ModuleFactories,\n newModuleId?: (id: ModuleId) => void\n) {\n let i = offset\n while (i < chunkModules.length) {\n let moduleId = chunkModules[i] as ModuleId\n let end = i + 1\n // Find our factory function\n while (\n end < chunkModules.length &&\n typeof chunkModules[end] !== 'function'\n ) {\n end++\n }\n if (end === chunkModules.length) {\n throw new Error('malformed chunk format, expected a factory function')\n }\n // Each chunk item has a 'primary id' and optional additional ids. If the primary id is already\n // present we know all the additional ids are also present, so we don't need to check.\n if (!moduleFactories.has(moduleId)) {\n const moduleFactoryFn = chunkModules[end] as Function\n applyModuleFactoryName(moduleFactoryFn)\n newModuleId?.(moduleId)\n for (; i < end; i++) {\n moduleId = chunkModules[i] as ModuleId\n moduleFactories.set(moduleId, moduleFactoryFn)\n }\n }\n i = end + 1 // end is pointing at the last factory advance to the next id or the end of the array.\n }\n}\n\n// everything below is adapted from webpack\n// https://github.com/webpack/webpack/blob/6be4065ade1e252c1d8dcba4af0f43e32af1bdc1/lib/runtime/AsyncModuleRuntimeModule.js#L13\n\nconst turbopackQueues = Symbol('turbopack queues')\nconst turbopackExports = Symbol('turbopack exports')\nconst turbopackError = Symbol('turbopack error')\n\nconst enum QueueStatus {\n Unknown = -1,\n Unresolved = 0,\n Resolved = 1,\n}\n\ntype AsyncQueueFn = (() => void) & { queueCount: number }\ntype AsyncQueue = AsyncQueueFn[] & {\n status: QueueStatus\n}\n\nfunction resolveQueue(queue?: AsyncQueue) {\n if (queue && queue.status !== QueueStatus.Resolved) {\n queue.status = QueueStatus.Resolved\n queue.forEach((fn) => fn.queueCount--)\n queue.forEach((fn) => (fn.queueCount-- ? fn.queueCount++ : fn()))\n }\n}\n\ntype Dep = Exports | AsyncModulePromise | Promise<Exports>\n\ntype AsyncModuleExt = {\n [turbopackQueues]: (fn: (queue: AsyncQueue) => void) => void\n [turbopackExports]: Exports\n [turbopackError]?: any\n}\n\ntype AsyncModulePromise<T = Exports> = Promise<T> & AsyncModuleExt\n\nfunction wrapDeps(deps: Dep[]): AsyncModuleExt[] {\n return deps.map((dep): AsyncModuleExt => {\n if (dep !== null && typeof dep === 'object') {\n if (isAsyncModuleExt(dep)) return dep\n if (isPromise(dep)) {\n const queue: AsyncQueue = Object.assign([], {\n status: QueueStatus.Unresolved,\n })\n\n const obj: AsyncModuleExt = {\n [turbopackExports]: {},\n [turbopackQueues]: (fn: (queue: AsyncQueue) => void) => fn(queue),\n }\n\n dep.then(\n (res) => {\n obj[turbopackExports] = res\n resolveQueue(queue)\n },\n (err) => {\n obj[turbopackError] = err\n resolveQueue(queue)\n }\n )\n\n return obj\n }\n }\n\n return {\n [turbopackExports]: dep,\n [turbopackQueues]: () => {},\n }\n })\n}\n\nfunction asyncModule(\n this: TurbopackBaseContext<Module>,\n body: (\n handleAsyncDependencies: (\n deps: Dep[]\n ) => Exports[] | Promise<() => Exports[]>,\n asyncResult: (err?: any) => void\n ) => void,\n hasAwait: boolean\n) {\n const module = this.m\n const queue: AsyncQueue | undefined = hasAwait\n ? Object.assign([], { status: QueueStatus.Unknown })\n : undefined\n\n const depQueues: Set<AsyncQueue> = new Set()\n\n const { resolve, reject, promise: rawPromise } = createPromise<Exports>()\n\n const promise: AsyncModulePromise = Object.assign(rawPromise, {\n [turbopackExports]: module.exports,\n [turbopackQueues]: (fn) => {\n queue && fn(queue)\n depQueues.forEach(fn)\n promise['catch'](() => {})\n },\n } satisfies AsyncModuleExt)\n\n const attributes: PropertyDescriptor = {\n get(): any {\n return promise\n },\n set(v: any) {\n // Calling `esmExport` leads to this.\n if (v !== promise) {\n promise[turbopackExports] = v\n }\n },\n }\n\n Object.defineProperty(module, 'exports', attributes)\n Object.defineProperty(module, 'namespaceObject', attributes)\n\n function handleAsyncDependencies(deps: Dep[]) {\n const currentDeps = wrapDeps(deps)\n\n const getResult = () =>\n currentDeps.map((d) => {\n if (d[turbopackError]) throw d[turbopackError]\n return d[turbopackExports]\n })\n\n const { promise, resolve } = createPromise<() => Exports[]>()\n\n const fn: AsyncQueueFn = Object.assign(() => resolve(getResult), {\n queueCount: 0,\n })\n\n function fnQueue(q: AsyncQueue) {\n if (q !== queue && !depQueues.has(q)) {\n depQueues.add(q)\n if (q && q.status === QueueStatus.Unresolved) {\n fn.queueCount++\n q.push(fn)\n }\n }\n }\n\n currentDeps.map((dep) => dep[turbopackQueues](fnQueue))\n\n return fn.queueCount ? promise : getResult()\n }\n\n function asyncResult(err?: any) {\n if (err) {\n reject((promise[turbopackError] = err))\n } else {\n resolve(promise[turbopackExports])\n }\n\n resolveQueue(queue)\n }\n\n body(handleAsyncDependencies, asyncResult)\n\n if (queue && queue.status === QueueStatus.Unknown) {\n queue.status = QueueStatus.Unresolved\n }\n}\ncontextPrototype.a = asyncModule\n\n/**\n * A pseudo \"fake\" URL object to resolve to its relative path.\n *\n * When UrlRewriteBehavior is set to relative, calls to the `new URL()` will construct url without base using this\n * runtime function to generate context-agnostic urls between different rendering context, i.e ssr / client to avoid\n * hydration mismatch.\n *\n * This is based on webpack's existing implementation:\n * https://github.com/webpack/webpack/blob/87660921808566ef3b8796f8df61bd79fc026108/lib/runtime/RelativeUrlRuntimeModule.js\n */\nconst relativeURL = function relativeURL(this: any, inputUrl: string) {\n const realUrl = new URL(inputUrl, 'x:/')\n const values: Record<string, any> = {}\n for (const key in realUrl) values[key] = (realUrl as any)[key]\n values.href = inputUrl\n values.pathname = inputUrl.replace(/[?#].*/, '')\n values.origin = values.protocol = ''\n values.toString = values.toJSON = (..._args: Array<any>) => inputUrl\n for (const key in values)\n Object.defineProperty(this, key, {\n enumerable: true,\n configurable: true,\n value: values[key],\n })\n}\nrelativeURL.prototype = URL.prototype\ncontextPrototype.U = relativeURL\n\n/**\n * Utility function to ensure all variants of an enum are handled.\n */\nfunction invariant(never: never, computeMessage: (arg: any) => string): never {\n throw new Error(`Invariant: ${computeMessage(never)}`)\n}\n\n/**\n * A stub function to make `require` available but non-functional in ESM.\n */\nfunction requireStub(_moduleId: ModuleId): never {\n throw new Error('dynamic usage of require is not supported')\n}\ncontextPrototype.z = requireStub\n\n// Make `globalThis` available to the module in a way that cannot be shadowed by a local variable.\ncontextPrototype.g = globalThis\n\ntype ContextConstructor<M> = {\n new (module: Module, exports: Exports): TurbopackBaseContext<M>\n}\n\nfunction applyModuleFactoryName(factory: Function) {\n // Give the module factory a nice name to improve stack traces.\n Object.defineProperty(factory, 'name', {\n value: 'module evaluation',\n })\n}\n"],"names":[],"mappings":"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","ignoreList":[0]}},
|
|
6
|
-
{"offset": {"line": 483, "column": 0}, "map": {"version":3,"sources":["turbopack:///[turbopack]/shared-node/base-externals-utils.ts"],"sourcesContent":["/// <reference path=\"../shared/runtime-utils.ts\" />\n\n/// A 'base' utilities to support runtime can have externals.\n/// Currently this is for node.js / edge runtime both.\n/// If a fn requires node.js specific behavior, it should be placed in `node-external-utils` instead.\n\nasync function externalImport(id: DependencySpecifier) {\n let raw\n try {\n raw = await import(id)\n } catch (err) {\n // TODO(alexkirsz) This can happen when a client-side module tries to load\n // an external module we don't provide a shim for (e.g. querystring, url).\n // For now, we fail semi-silently, but in the future this should be a\n // compilation error.\n throw new Error(`Failed to load external module ${id}: ${err}`)\n }\n\n if (raw && raw.__esModule && raw.default && 'default' in raw.default) {\n return interopEsm(raw.default, createNS(raw), true)\n }\n\n return raw\n}\ncontextPrototype.y = externalImport\n\nfunction externalRequire(\n id: ModuleId,\n thunk: () => any,\n esm: boolean = false\n): Exports | EsmNamespaceObject {\n let raw\n try {\n raw = thunk()\n } catch (err) {\n // TODO(alexkirsz) This can happen when a client-side module tries to load\n // an external module we don't provide a shim for (e.g. querystring, url).\n // For now, we fail semi-silently, but in the future this should be a\n // compilation error.\n throw new Error(`Failed to load external module ${id}: ${err}`)\n }\n\n if (!esm || raw.__esModule) {\n return raw\n }\n\n return interopEsm(raw, createNS(raw), true)\n}\n\nexternalRequire.resolve = (\n id: string,\n options?: {\n paths?: string[]\n }\n) => {\n return require.resolve(id, options)\n}\ncontextPrototype.x = externalRequire\n"],"names":[],"mappings":"AAAA,mDAAmD;AAEnD,6DAA6D;AAC7D,sDAAsD;AACtD,qGAAqG;AAErG,eAAe,eAAe,EAAuB;IACnD,IAAI;IACJ,IAAI;QACF,MAAM,MAAM,MAAM,CAAC;IACrB,EAAE,OAAO,KAAK;QACZ,0EAA0E;QAC1E,0EAA0E;QAC1E,qEAAqE;QACrE,qBAAqB;QACrB,MAAM,IAAI,MAAM,CAAC,+BAA+B,EAAE,GAAG,EAAE,EAAE,KAAK;IAChE;IAEA,IAAI,OAAO,IAAI,UAAU,IAAI,IAAI,OAAO,IAAI,aAAa,IAAI,OAAO,EAAE;QACpE,OAAO,WAAW,IAAI,OAAO,EAAE,SAAS,MAAM;IAChD;IAEA,OAAO;AACT;AACA,iBAAiB,CAAC,GAAG;AAErB,SAAS,gBACP,EAAY,EACZ,KAAgB,EAChB,MAAe,KAAK;IAEpB,IAAI;IACJ,IAAI;QACF,MAAM;IACR,EAAE,OAAO,KAAK;QACZ,0EAA0E;QAC1E,0EAA0E;QAC1E,qEAAqE;QACrE,qBAAqB;QACrB,MAAM,IAAI,MAAM,CAAC,+BAA+B,EAAE,GAAG,EAAE,EAAE,KAAK;IAChE;IAEA,IAAI,CAAC,OAAO,IAAI,UAAU,EAAE;QAC1B,OAAO;IACT;IAEA,OAAO,WAAW,KAAK,SAAS,MAAM;AACxC;AAEA,gBAAgB,OAAO,GAAG,CACxB,IACA;IAIA,OAAO,QAAQ,OAAO,CAAC,IAAI;AAC7B;AACA,iBAAiB,CAAC,GAAG","ignoreList":[0]}},
|
|
7
|
-
{"offset": {"line": 524, "column": 0}, "map": {"version":3,"sources":["turbopack:///[turbopack]/shared-node/node-externals-utils.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\n\ndeclare var RUNTIME_PUBLIC_PATH: string\ndeclare var RELATIVE_ROOT_PATH: string\ndeclare var ASSET_PREFIX: string\n\nconst path = require('path')\n\nconst relativePathToRuntimeRoot = path.relative(RUNTIME_PUBLIC_PATH, '.')\n// Compute the relative path to the `distDir`.\nconst relativePathToDistRoot = path.join(\n relativePathToRuntimeRoot,\n RELATIVE_ROOT_PATH\n)\nconst RUNTIME_ROOT = path.resolve(__filename, relativePathToRuntimeRoot)\n// Compute the absolute path to the root, by stripping distDir from the absolute path to this file.\nconst ABSOLUTE_ROOT = path.resolve(__filename, relativePathToDistRoot)\n\n/**\n * Returns an absolute path to the given module path.\n * Module path should be relative, either path to a file or a directory.\n *\n * This fn allows to calculate an absolute path for some global static values, such as\n * `__dirname` or `import.meta.url` that Turbopack will not embeds in compile time.\n * See ImportMetaBinding::code_generation for the usage.\n */\nfunction resolveAbsolutePath(modulePath?: string): string {\n if (modulePath) {\n return path.join(ABSOLUTE_ROOT, modulePath)\n }\n return ABSOLUTE_ROOT\n}\nContext.prototype.P = resolveAbsolutePath\n"],"names":[],"mappings":"AAAA,oDAAoD,GAMpD,MAAM,OAAO,QAAQ;AAErB,MAAM,4BAA4B,KAAK,QAAQ,CAAC,qBAAqB;AACrE,8CAA8C;AAC9C,MAAM,yBAAyB,KAAK,IAAI,CACtC,2BACA;AAEF,MAAM,eAAe,KAAK,OAAO,CAAC,YAAY;AAC9C,mGAAmG;AACnG,MAAM,gBAAgB,KAAK,OAAO,CAAC,YAAY;AAE/C;;;;;;;CAOC,GACD,SAAS,oBAAoB,UAAmB;IAC9C,IAAI,YAAY;QACd,OAAO,KAAK,IAAI,CAAC,eAAe;IAClC;IACA,OAAO;AACT;AACA,QAAQ,SAAS,CAAC,CAAC,GAAG","ignoreList":[0]}},
|
|
8
|
-
{"offset": {"line": 545, "column": 0}, "map": {"version":3,"sources":["turbopack:///[turbopack]/shared-node/node-wasm-utils.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\n\n/// <reference path=\"../shared/runtime-utils.ts\" />\n\nfunction readWebAssemblyAsResponse(path: string) {\n const { createReadStream } = require('fs') as typeof import('fs')\n const { Readable } = require('stream') as typeof import('stream')\n\n const stream = createReadStream(path)\n\n // @ts-ignore unfortunately there's a slight type mismatch with the stream.\n return new Response(Readable.toWeb(stream), {\n headers: {\n 'content-type': 'application/wasm',\n },\n })\n}\n\nasync function compileWebAssemblyFromPath(\n path: string\n): Promise<WebAssembly.Module> {\n const response = readWebAssemblyAsResponse(path)\n\n return await WebAssembly.compileStreaming(response)\n}\n\nasync function instantiateWebAssemblyFromPath(\n path: string,\n importsObj: WebAssembly.Imports\n): Promise<Exports> {\n const response = readWebAssemblyAsResponse(path)\n\n const { instance } = await WebAssembly.instantiateStreaming(\n response,\n importsObj\n )\n\n return instance.exports\n}\n"],"names":[],"mappings":"AAAA,oDAAoD,GAEpD,mDAAmD;AAEnD,SAAS,0BAA0B,IAAY;IAC7C,MAAM,EAAE,gBAAgB,EAAE,GAAG,QAAQ;IACrC,MAAM,EAAE,QAAQ,EAAE,GAAG,QAAQ;IAE7B,MAAM,SAAS,iBAAiB;IAEhC,2EAA2E;IAC3E,OAAO,IAAI,SAAS,SAAS,KAAK,CAAC,SAAS;QAC1C,SAAS;YACP,gBAAgB;QAClB;IACF;AACF;AAEA,eAAe,2BACb,IAAY;IAEZ,MAAM,WAAW,0BAA0B;IAE3C,OAAO,MAAM,YAAY,gBAAgB,CAAC;AAC5C;AAEA,eAAe,+BACb,IAAY,EACZ,UAA+B;IAE/B,MAAM,WAAW,0BAA0B;IAE3C,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,YAAY,oBAAoB,CACzD,UACA;IAGF,OAAO,SAAS,OAAO;AACzB","ignoreList":[0]}},
|
|
9
|
-
{"offset": {"line": 566, "column": 0}, "map": {"version":3,"sources":["turbopack:///[turbopack]/nodejs/runtime.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\n\n/// <reference path=\"../shared/runtime-utils.ts\" />\n/// <reference path=\"../shared-node/base-externals-utils.ts\" />\n/// <reference path=\"../shared-node/node-externals-utils.ts\" />\n/// <reference path=\"../shared-node/node-wasm-utils.ts\" />\n\nenum SourceType {\n /**\n * The module was instantiated because it was included in an evaluated chunk's\n * runtime.\n * SourceData is a ChunkPath.\n */\n Runtime = 0,\n /**\n * The module was instantiated because a parent module imported it.\n * SourceData is a ModuleId.\n */\n Parent = 1,\n}\n\ntype SourceData = ChunkPath | ModuleId\n\nprocess.env.TURBOPACK = '1'\n\ninterface TurbopackNodeBuildContext extends TurbopackBaseContext<Module> {\n R: ResolvePathFromModule\n x: ExternalRequire\n y: ExternalImport\n}\n\nconst nodeContextPrototype = Context.prototype as TurbopackNodeBuildContext\n\ntype ModuleFactory = (\n this: Module['exports'],\n context: TurbopackNodeBuildContext\n) => unknown\n\nconst url = require('url') as typeof import('url')\n\nconst moduleFactories: ModuleFactories = new Map()\nnodeContextPrototype.M = moduleFactories\nconst moduleCache: ModuleCache<Module> = Object.create(null)\nnodeContextPrototype.c = moduleCache\n\n/**\n * Returns an absolute path to the given module's id.\n */\nfunction resolvePathFromModule(\n this: TurbopackBaseContext<Module>,\n moduleId: string\n): string {\n const exported = this.r(moduleId)\n const exportedPath = exported?.default ?? exported\n if (typeof exportedPath !== 'string') {\n return exported as any\n }\n\n const strippedAssetPrefix = exportedPath.slice(ASSET_PREFIX.length)\n const resolved = path.resolve(RUNTIME_ROOT, strippedAssetPrefix)\n\n return url.pathToFileURL(resolved).href\n}\nnodeContextPrototype.R = resolvePathFromModule\n\nfunction loadRuntimeChunk(sourcePath: ChunkPath, chunkData: ChunkData): void {\n if (typeof chunkData === 'string') {\n loadRuntimeChunkPath(sourcePath, chunkData)\n } else {\n loadRuntimeChunkPath(sourcePath, chunkData.path)\n }\n}\n\nconst loadedChunks = new Set<ChunkPath>()\nconst unsupportedLoadChunk = Promise.resolve(undefined)\nconst loadedChunk: Promise<void> = Promise.resolve(undefined)\nconst chunkCache = new Map<ChunkPath, Promise<void>>()\n\nfunction clearChunkCache() {\n chunkCache.clear()\n}\n\nfunction loadRuntimeChunkPath(\n sourcePath: ChunkPath,\n chunkPath: ChunkPath\n): void {\n if (!isJs(chunkPath)) {\n // We only support loading JS chunks in Node.js.\n // This branch can be hit when trying to load a CSS chunk.\n return\n }\n\n if (loadedChunks.has(chunkPath)) {\n return\n }\n\n try {\n const resolved = path.resolve(RUNTIME_ROOT, chunkPath)\n const chunkModules: CompressedModuleFactories = require(resolved)\n installCompressedModuleFactories(chunkModules, 0, moduleFactories)\n loadedChunks.add(chunkPath)\n } catch (e) {\n let errorMessage = `Failed to load chunk ${chunkPath}`\n\n if (sourcePath) {\n errorMessage += ` from runtime for chunk ${sourcePath}`\n }\n\n throw new Error(errorMessage, {\n cause: e,\n })\n }\n}\n\nfunction loadChunkAsync(\n this: TurbopackBaseContext<Module>,\n chunkData: ChunkData\n): Promise<void> {\n const chunkPath = typeof chunkData === 'string' ? chunkData : chunkData.path\n if (!isJs(chunkPath)) {\n // We only support loading JS chunks in Node.js.\n // This branch can be hit when trying to load a CSS chunk.\n return unsupportedLoadChunk\n }\n\n let entry = chunkCache.get(chunkPath)\n if (entry === undefined) {\n try {\n // resolve to an absolute path to simplify `require` handling\n const resolved = path.resolve(RUNTIME_ROOT, chunkPath)\n // TODO: consider switching to `import()` to enable concurrent chunk loading and async file io\n // However this is incompatible with hot reloading (since `import` doesn't use the require cache)\n const chunkModules: CompressedModuleFactories = require(resolved)\n installCompressedModuleFactories(chunkModules, 0, moduleFactories)\n entry = loadedChunk\n } catch (e) {\n const errorMessage = `Failed to load chunk ${chunkPath} from module ${this.m.id}`\n\n // Cache the failure promise, future requests will also get this same rejection\n entry = Promise.reject(\n new Error(errorMessage, {\n cause: e,\n })\n )\n }\n chunkCache.set(chunkPath, entry)\n }\n // TODO: Return an instrumented Promise that React can use instead of relying on referential equality.\n return entry\n}\ncontextPrototype.l = loadChunkAsync\n\nfunction loadChunkAsyncByUrl(\n this: TurbopackBaseContext<Module>,\n chunkUrl: string\n) {\n const path = url.fileURLToPath(new URL(chunkUrl, RUNTIME_ROOT)) as ChunkPath\n return loadChunkAsync.call(this, path)\n}\ncontextPrototype.L = loadChunkAsyncByUrl\n\nfunction loadWebAssembly(\n chunkPath: ChunkPath,\n _edgeModule: () => WebAssembly.Module,\n imports: WebAssembly.Imports\n) {\n const resolved = path.resolve(RUNTIME_ROOT, chunkPath)\n\n return instantiateWebAssemblyFromPath(resolved, imports)\n}\ncontextPrototype.w = loadWebAssembly\n\nfunction loadWebAssemblyModule(\n chunkPath: ChunkPath,\n _edgeModule: () => WebAssembly.Module\n) {\n const resolved = path.resolve(RUNTIME_ROOT, chunkPath)\n\n return compileWebAssemblyFromPath(resolved)\n}\ncontextPrototype.u = loadWebAssemblyModule\n\nfunction getWorkerBlobURL(_chunks: ChunkPath[]): string {\n throw new Error('Worker blobs are not implemented yet for Node.js')\n}\n\nnodeContextPrototype.b = getWorkerBlobURL\n\nfunction instantiateModule(\n id: ModuleId,\n sourceType: SourceType,\n sourceData: SourceData\n): Module {\n const moduleFactory = moduleFactories.get(id)\n if (typeof moduleFactory !== 'function') {\n // This can happen if modules incorrectly handle HMR disposes/updates,\n // e.g. when they keep a `setTimeout` around which still executes old code\n // and contains e.g. a `require(\"something\")` call.\n let instantiationReason: string\n switch (sourceType) {\n case SourceType.Runtime:\n instantiationReason = `as a runtime entry of chunk ${sourceData}`\n break\n case SourceType.Parent:\n instantiationReason = `because it was required from module ${sourceData}`\n break\n default:\n invariant(\n sourceType,\n (sourceType) => `Unknown source type: ${sourceType}`\n )\n }\n throw new Error(\n `Module ${id} was instantiated ${instantiationReason}, but the module factory is not available.`\n )\n }\n\n const module: Module = createModuleObject(id)\n const exports = module.exports\n moduleCache[id] = module\n\n const context = new (Context as any as ContextConstructor<Module>)(\n module,\n exports\n )\n // NOTE(alexkirsz) This can fail when the module encounters a runtime error.\n try {\n moduleFactory(context, module, exports)\n } catch (error) {\n module.error = error as any\n throw error\n }\n\n module.loaded = true\n if (module.namespaceObject && module.exports !== module.namespaceObject) {\n // in case of a circular dependency: cjs1 -> esm2 -> cjs1\n interopEsm(module.exports, module.namespaceObject)\n }\n\n return module\n}\n\n/**\n * Retrieves a module from the cache, or instantiate it if it is not cached.\n */\n// @ts-ignore\nfunction getOrInstantiateModuleFromParent(\n id: ModuleId,\n sourceModule: Module\n): Module {\n const module = moduleCache[id]\n\n if (module) {\n if (module.error) {\n throw module.error\n }\n\n return module\n }\n\n return instantiateModule(id, SourceType.Parent, sourceModule.id)\n}\n\n/**\n * Instantiates a runtime module.\n */\nfunction instantiateRuntimeModule(\n chunkPath: ChunkPath,\n moduleId: ModuleId\n): Module {\n return instantiateModule(moduleId, SourceType.Runtime, chunkPath)\n}\n\n/**\n * Retrieves a module from the cache, or instantiate it as a runtime module if it is not cached.\n */\n// @ts-ignore TypeScript doesn't separate this module space from the browser runtime\nfunction getOrInstantiateRuntimeModule(\n chunkPath: ChunkPath,\n moduleId: ModuleId\n): Module {\n const module = moduleCache[moduleId]\n if (module) {\n if (module.error) {\n throw module.error\n }\n return module\n }\n\n return instantiateRuntimeModule(chunkPath, moduleId)\n}\n\nconst regexJsUrl = /\\.js(?:\\?[^#]*)?(?:#.*)?$/\n/**\n * Checks if a given path/URL ends with .js, optionally followed by ?query or #fragment.\n */\nfunction isJs(chunkUrlOrPath: ChunkUrl | ChunkPath): boolean {\n return regexJsUrl.test(chunkUrlOrPath)\n}\n\nmodule.exports = (sourcePath: ChunkPath) => ({\n m: (id: ModuleId) => getOrInstantiateRuntimeModule(sourcePath, id),\n c: (chunkData: ChunkData) => loadRuntimeChunk(sourcePath, chunkData),\n})\n"],"names":[],"mappings":"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","ignoreList":[0]}}]
|
|
10
|
-
}
|
package/.next/build/package.json
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"type": "commonjs"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
var R=require("./chunks/[turbopack]_runtime.js")("webpack-loaders.js")
|
|
2
|
-
R.c("chunks/[turbopack-node]_transforms_webpack-loaders_ts_c84aa21a._.js")
|
|
3
|
-
R.c("chunks/[root-of-the-server]__c7ae8543._.js")
|
|
4
|
-
R.m("[turbopack-node]/globals.ts [webpack_loaders] (ecmascript)")
|
|
5
|
-
R.m("[turbopack-node]/ipc/evaluate.ts/evaluate.js { INNER => \"[turbopack-node]/transforms/webpack-loaders.ts [webpack_loaders] (ecmascript)\", RUNTIME => \"[turbopack-node]/ipc/evaluate.ts [webpack_loaders] (ecmascript)\" } [webpack_loaders] (ecmascript)")
|
|
6
|
-
module.exports=R.m("[turbopack-node]/ipc/evaluate.ts/evaluate.js { INNER => \"[turbopack-node]/transforms/webpack-loaders.ts [webpack_loaders] (ecmascript)\", RUNTIME => \"[turbopack-node]/ipc/evaluate.ts [webpack_loaders] (ecmascript)\" } [webpack_loaders] (ecmascript)").exports
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"pages": {
|
|
3
|
-
"/_app": [
|
|
4
|
-
"static/chunks/eebac312ab720248.js",
|
|
5
|
-
"static/chunks/3c8b810de7908416.js",
|
|
6
|
-
"static/chunks/997907c5fccf02bb.js",
|
|
7
|
-
"static/chunks/e37c75eaddd8268a.css",
|
|
8
|
-
"static/chunks/a4580bbcd72cf165.css",
|
|
9
|
-
"static/chunks/turbopack-6422aba52462ed1d.js"
|
|
10
|
-
],
|
|
11
|
-
"/_error": [
|
|
12
|
-
"static/chunks/2f5ae49118c8c86e.js",
|
|
13
|
-
"static/chunks/997907c5fccf02bb.js",
|
|
14
|
-
"static/chunks/turbopack-c70c4122d677e1a8.js"
|
|
15
|
-
]
|
|
16
|
-
},
|
|
17
|
-
"devFiles": [],
|
|
18
|
-
"polyfillFiles": [],
|
|
19
|
-
"lowPriorityFiles": [
|
|
20
|
-
"static/7kzTSHcrJ7tE47btIJcLO/_ssgManifest.js",
|
|
21
|
-
"static/7kzTSHcrJ7tE47btIJcLO/_buildManifest.js"
|
|
22
|
-
],
|
|
23
|
-
"rootMainFiles": []
|
|
24
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[47255,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.VOWELS=r.CONSONANTS=r.NO_BONUS=r.EMPTY_CELL=r.BONUS_WORD=r.BONUS_CHARACTER=r.BLANK=r.COMMA_LATIN=r.COMMA_ARABIC=void 0,r.COMMA_ARABIC="،",r.COMMA_LATIN=",",r.BLANK=" ",r.BONUS_CHARACTER="BONUS_CHARACTER",r.BONUS_WORD="BONUS_WORD",r.EMPTY_CELL=" ",r.NO_BONUS={characterMultiplier:1,wordMultiplier:1},r.CONSONANTS="bcçćdfgğhjklłmnńñpqrsşśtvwxzźż".split(""),r.VOWELS="aąäeęioóöuüyı".split("")},23086,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.isObject=void 0,r.isObject=e=>"object"==typeof e&&null!==e},35279,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.isMultiplierBingo=r.isScoreBingo=r.isBingo=void 0;let i=e.r(23086);r.isBingo=e=>(0,r.isScoreBingo)(e)||(0,r.isMultiplierBingo)(e),r.isScoreBingo=e=>(0,i.isObject)(e)&&"score"in e&&"number"==typeof e.score,r.isMultiplierBingo=e=>(0,i.isObject)(e)&&"multiplier"in e&&"number"==typeof e.multiplier},38526,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.Tile=void 0;let i=e.r(47255);class s{constructor({character:e,isBlank:t=!1}){this.character=e,this.isBlank=t}clone(){return new s({character:this.character,isBlank:this.isBlank})}equals(e){return this.character===e.character&&this.isBlank===e.isBlank}toJson(){return{character:this.character,isBlank:this.isBlank}}toString(){return this.character}}r.Tile=s,s.fromJson=e=>e?new s({character:e.character,isBlank:e.isBlank}):s.Null,s.Null=Object.freeze({character:i.EMPTY_CELL,isBlank:!1,clone:()=>s.Null,equals:e=>e===s.Null,toJson:()=>null,toString:()=>i.EMPTY_CELL})},23280,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.Cell=void 0;let i=e.r(38526);class s{constructor({isEmpty:e=!0,tile:t=i.Tile.Null,x:r,y:s}){this.isEmpty=e,this.tile=t,this.x=r,this.y=s}clone(){return new s({isEmpty:this.isEmpty,tile:this.tile.clone(),x:this.x,y:this.y})}equals(e){return this.x===e.x&&this.y===e.y&&this.isEmpty===e.isEmpty&&this.tile.equals(e.tile)}hasTile(){return this.tile!==i.Tile.Null}isCandidate(){return this.isEmpty&&this.hasTile()}toJson(){return{isEmpty:this.isEmpty,tile:this.tile.toJson(),x:this.x,y:this.y}}toString(){return this.tile.toString()}}r.Cell=s,s.fromJson=e=>new s({isEmpty:e.isEmpty,tile:i.Tile.fromJson(e.tile),x:e.x,y:e.y})},79050,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.Board=void 0;let i=e.r(47255),s=e.r(23280),o=e.r(38526);class n{static fromStringArray(e){return new n({rows:e.map((e,t)=>e.split("").map((e,r)=>new s.Cell({isEmpty:!e||e===i.EMPTY_CELL,tile:e===i.EMPTY_CELL?o.Tile.Null:new o.Tile({character:e}),x:r,y:t})))})}constructor({rows:e}){this.rows=e,this.columnsCount=e[0].length,this.rowsCount=e.length}get center(){let e=Math.floor(this.columnsCount/2),t=Math.floor(this.rowsCount/2);return this.rows[t][e]}clone(){return new n({rows:this.rows.map(e=>e.map(e=>e.clone()))})}collides(e){return this.collidesUp(e)||this.collidesDown(e)||this.collidesLeft(e)||this.collidesRight(e)}collidesDown({x:e,y:t}){return t<this.rowsCount-1&&!this.rows[t+1][e].isEmpty}collidesLeft({x:e,y:t}){return e>0&&!this.rows[t][e-1].isEmpty}collidesRight({x:e,y:t}){return e<this.columnsCount-1&&!this.rows[t][e+1].isEmpty}collidesUp({x:e,y:t}){return t>0&&!this.rows[t-1][e].isEmpty}equals(e){return this.columnsCount===e.columnsCount&&this.rowsCount===e.rowsCount&&this.rows.every((t,r)=>t.every((t,i)=>t.equals(e.rows[r][i])))}getBlanksCount(){return this.rows.reduce((e,t)=>e+t.reduce((e,t)=>e+ +!!t.tile.isBlank,0),0)}getColumn(e){return this.rows.map(t=>t[e])}getRow(e){return this.rows[e]}getTilesCount(){return this.rows.reduce((e,t)=>e+t.reduce((e,t)=>e+ +!!t.hasTile(),0),0)}getWords(){return[...a(this.rows),...a(l(this.rows))]}isEmpty(){return this.rows.every(e=>e.every(({isEmpty:e})=>e))}toJson(){return this.rows.map(e=>e.map(e=>e.toJson()))}toString(){return this.rows.map(e=>e.map(String).join("")).join("\n")}updateCell(e,t,r){this.rows[t][e]=r(this.rows[t][e])}updateRow(e,t){this.rows[e]=t(this.rows[e])}}r.Board=n,n.create=(e,t)=>{let r=Array(t),i=Array(e).fill(" ").join(""),s=r.fill(i);return n.fromStringArray(s)},n.fromJson=e=>new n({rows:e.map(e=>e.map(s.Cell.fromJson))});let l=e=>{let t=e.length,r=e[0].length,i=Array(r).fill(null).map(()=>Array(t));for(let s=0;s<t;++s)for(let t=0;t<r;++t)i[t][s]=e[s][t];return i},a=e=>{let t=[];for(let r of e){let e=[];for(let i of r)i.isEmpty?e.length>0&&(e.length>1&&t.push(c(e)),e=[]):e.push(i);e.length>1&&t.push(c(e))}return t},c=e=>e.map(e=>e.tile.character).join("")},66854,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.isTileJson=void 0;let i=e.r(23086);r.isTileJson=e=>(0,i.isObject)(e)&&"string"==typeof e.character&&"boolean"==typeof e.isBlank},85713,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.isCellJson=void 0;let i=e.r(23086),s=e.r(66854);r.isCellJson=e=>(0,i.isObject)(e)&&"boolean"==typeof e.isEmpty&&((0,s.isTileJson)(e.tile)||null===e.tile)&&"number"==typeof e.x&&"number"==typeof e.y},57185,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.isBoardJson=void 0;let i=e.r(85713);r.isBoardJson=e=>{if(!Array.isArray(e))return!1;for(let t of e){if(!Array.isArray(e))return!1;for(let e of t)if(!(0,i.isCellJson)(e))return!1}return!0}},63988,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.Bonus=void 0,r.Bonus=class{constructor({multiplier:e,score:t,x:r,y:i}){this.multiplier=e,this.score=t,this.x=r,this.y=i}canApply(e,t){return t.isEmpty&&this.matchesCellCoordinates(t)}matchesCellCoordinates(e){return this.x===e.x&&this.y===e.y}toJson(){return{multiplier:this.multiplier,score:this.score,type:this.type,x:this.x,y:this.y}}get value(){return{characterMultiplier:1,wordMultiplier:1}}}},21445,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.CharacterBonus=void 0;let i=e.r(47255),s=e.r(63988);class o extends s.Bonus{constructor(){super(...arguments),this.type=i.BONUS_CHARACTER}canApply(e,t){return super.canApply(e,t)&&this.matchesCellTileScore(e,t)}matchesCellTileScore(e,t){return void 0===this.score||this.score===e.pointsMap[t.tile.character]}get value(){return{characterMultiplier:this.multiplier,wordMultiplier:1}}}r.CharacterBonus=o},50858,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.WordBonus=void 0;let i=e.r(47255),s=e.r(63988);class o extends s.Bonus{constructor(){super(...arguments),this.type=i.BONUS_WORD}get value(){return{characterMultiplier:1,wordMultiplier:this.multiplier}}}r.WordBonus=o},90362,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.Config=void 0;let i=e.r(47255),s=e.r(21445),o=e.r(50858);class n{constructor(e){this.bonuses=l(e),this.config=e,this.pointsMap=c(this.config)}get alphabet(){return a(this.config)}get bingo(){return this.config.bingo}get blankScore(){return this.config.blankScore}get blanksCount(){return this.config.blanksCount}get boardHeight(){return this.config.boardHeight}get boardWidth(){return this.config.boardWidth}get game(){return this.config.game}get locale(){return this.config.locale}get twoCharacterTiles(){return this.config.tiles.filter(e=>2===e.character.length).map(e=>e.character)}getCellBonus(e){return this.bonuses.find(t=>t.matchesCellCoordinates(e))}getCellBonusValue(e){return this.getCellBonus(e)?.value||i.NO_BONUS}getCharacterPoints(e){if(null!==e)return e===i.BLANK?this.blankScore:this.pointsMap[e]}getTwoCharacterTileByPrefix(e){if(1===e.length)return this.twoCharacterTiles.find(t=>t.startsWith(e))}getTilePoints(e){if(null!==e)return e.isBlank?this.blankScore:this.getCharacterPoints(e.character)}hasCharacter(e){return e in this.pointsMap}isTwoCharacterTilePrefix(e){return void 0!==this.getTwoCharacterTileByPrefix(e)}get rackSize(){return this.config.rackSize}get supportsRemainingTiles(){return this.tiles.every(e=>"number"==typeof e.count)}get tiles(){return this.config.tiles}toJson(){return this.config}}r.Config=n,n.fromJson=e=>new n(e);let l=e=>e.bonuses.map(e=>{if(e.type===i.BONUS_CHARACTER)return new s.CharacterBonus(e);if(e.type===i.BONUS_WORD)return new o.WordBonus(e);throw Error(`Unsupported Bonus type: "${e.type}"`)}),a=e=>e.tiles.map(({character:e})=>e),c=e=>e.tiles.reduce((e,{character:t,score:r})=>({...e,[t]:r}),{})},74704,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.Pattern=void 0;class i{constructor(e,t){this.board=e,this.cells=t}canBePlaced(e){let t=this.getEmptyCellsCount();return t>=1&&t<=e.rackSize&&(this.hasAtLeast1NonEmptyCell()||this.collides()||this.goesThroughBoardCenter()&&this.board.isEmpty())}clone(){return new i(this.board,this.cells.map(e=>e.clone()))}collides(){return this.cells.some(e=>e.isEmpty&&this.board.collides(e))}getIndexOfFirstCellWithoutTile(){return this.cells.findIndex(e=>!e.hasTile())}getEmptyCellsCount(){return this.cells.filter(e=>e.isEmpty).length}goesThroughBoardCenter(){return this.cells.some(e=>e.x===this.board.center.x&&e.y===this.board.center.y&&e.isEmpty)}hasAtLeast1EmptyCell(){return this.cells.some(e=>e.isEmpty)}hasAtLeast1NonEmptyCell(){return this.cells.some(e=>!e.isEmpty)}getCollisions(){return[]}toJson(){return{cells:this.cells.map(e=>e.toJson()),collisions:this.getCollisions().map(e=>e.toJson()),word:this.toString()}}toString(){return this.cells.reduce((e,t)=>e+t.toString(),"")}}r.Pattern=i},8071,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.FinalPattern=void 0;let i=e.r(74704);class s extends i.Pattern{constructor(e){super(e.board,e.cells),this.collisions=e.getCollisions()}getCollisions(){return this.collisions}}r.FinalPattern=s},34751,(e,t,r)=>{"use strict";var i,s;Object.defineProperty(r,"__esModule",{value:!0}),r.isGame=r.Game=void 0,(s=i||(r.Game=i={})).Kelimelik="kelimelik",s.LetterLeague="letter-league",s.Literaki="literaki",s.Scrabble="scrabble",s.ScrabbleDuel="scrabble-duel",s.SuperScrabble="super-scrabble";let o=Object.values(i);r.isGame=e=>o.includes(e)},7164,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.HorizontalPattern=void 0;let i=e.r(74704);class s extends i.Pattern{clone(){return new s(this.board,this.cells.map(e=>e.clone()))}getCollisions(){let e=[];return this.cells.filter(e=>e.isEmpty&&(this.board.collidesUp(e)||this.board.collidesDown(e))).forEach(t=>{let r=this.board.getColumn(t.x),s=t.y-1;for(;s>=0&&r[s].hasTile();)--s;let o=r.slice(s+1,t.y);for(s=t.y+1;s<r.length&&r[s].hasTile();)++s;let n=r.slice(t.y+1,s),l=[...o,t,...n];if(l.length>1){let t=new i.Pattern(this.board,l);e.push(t)}}),e}}r.HorizontalPattern=s},49697,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.isError=void 0;let i=e.r(23086);r.isError=e=>!!(0,i.isObject)(e)&&"string"==typeof e.message},97329,(e,t,r)=>{"use strict";var i,s;Object.defineProperty(r,"__esModule",{value:!0}),r.isLocale=r.Locale=void 0,(s=i||(r.Locale=i={})).DE_DE="de-DE",s.EN_GB="en-GB",s.EN_US="en-US",s.ES_ES="es-ES",s.FA_IR="fa-IR",s.FR_FR="fr-FR",s.PL_PL="pl-PL",s.RO_RO="ro-RO",s.TR_TR="tr-TR";let o=Object.values(i);r.isLocale=e=>o.includes(e)},78871,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.Result=void 0;let i=e.r(47255),s=e.r(23280);class o{constructor({cells:e,id:t,collisions:r,points:i}){const s=u(e);this.blanksCount=n(s).length,this.cells=e,this.collisions=r,this.consonantsCount=l(s).length,this.id=t,this.length=e.length,this.points=i,this.pointsRatio=c(s,i),this.tiles=s,this.tilesCount=s.length,this.vowelsCount=a(s).length,this.word=d(e),this.words=h(e,r),this.wordsCount=1+this.collisions.length}toJson(){return{cells:this.cells.map(e=>e.toJson()),id:this.id,collisions:this.collisions.map(e=>e.map(e=>e.toJson())),points:this.points}}isHorizontal(){return this.cells[0].y===this.cells[1].y}isVertical(){return this.cells[0].x===this.cells[1].x}}r.Result=o,o.fromJson=e=>new o({id:e.id,cells:e.cells.map(s.Cell.fromJson),collisions:e.collisions.map(e=>e.map(s.Cell.fromJson)),points:e.points});let n=e=>e.filter(({isBlank:e})=>e),l=e=>e.filter(f),a=e=>e.filter(p),c=(e,t)=>t/e.length,u=e=>e.filter(({isEmpty:e})=>e).map(({tile:e})=>e),d=e=>e.reduce((e,t)=>e+t.toString(),""),h=(e,t)=>[e,...t].map(d),f=({character:e,isBlank:t})=>i.CONSONANTS.includes(e)&&!t,p=({character:e,isBlank:t})=>i.VOWELS.includes(e)&&!t},11850,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.VerticalPattern=void 0;let i=e.r(74704);class s extends i.Pattern{clone(){return new s(this.board,this.cells.map(e=>e.clone()))}getCollisions(){let e=[];return this.cells.filter(e=>e.isEmpty&&(this.board.collidesLeft(e)||this.board.collidesRight(e))).forEach(t=>{let r=this.board.getRow(t.y),s=t.x-1;for(;s>=0&&r[s].hasTile();)--s;let o=r.slice(s+1,t.x);for(s=t.x+1;s<r.length&&r[s].hasTile();)++s;let n=r.slice(t.x+1,s),l=[...o,t,...n];if(l.length>1){let t=new i.Pattern(this.board,l);e.push(t)}}),e}}r.VerticalPattern=s},98992,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.WordDefinition=void 0;class i{constructor({definitions:e,exists:t,isAllowed:r,word:i}){this.definitions=e,this.exists=t,this.isAllowed=r,this.word=i}toJson(){return{definitions:this.definitions,exists:this.exists,isAllowed:this.isAllowed,word:this.word}}}r.WordDefinition=i,i.fromJson=e=>e?new i({definitions:e.definitions,exists:e.exists,isAllowed:e.isAllowed,word:e.word}):i.Null,i.Null=Object.freeze({definitions:[],exists:!1,isAllowed:!1,word:"",toJson:()=>null})},69421,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.WordDefinition=r.WordBonus=r.VerticalPattern=r.isTileJson=r.Tile=r.Result=r.Pattern=r.Locale=r.isLocale=r.isObject=r.isError=r.HorizontalPattern=r.isGame=r.Game=r.FinalPattern=r.Config=r.CharacterBonus=r.isCellJson=r.Cell=r.Bonus=r.isBoardJson=r.Board=r.isScoreBingo=r.isMultiplierBingo=r.isBingo=void 0;var i=e.r(35279);Object.defineProperty(r,"isBingo",{enumerable:!0,get:function(){return i.isBingo}}),Object.defineProperty(r,"isMultiplierBingo",{enumerable:!0,get:function(){return i.isMultiplierBingo}}),Object.defineProperty(r,"isScoreBingo",{enumerable:!0,get:function(){return i.isScoreBingo}});var s=e.r(79050);Object.defineProperty(r,"Board",{enumerable:!0,get:function(){return s.Board}});var o=e.r(57185);Object.defineProperty(r,"isBoardJson",{enumerable:!0,get:function(){return o.isBoardJson}});var n=e.r(63988);Object.defineProperty(r,"Bonus",{enumerable:!0,get:function(){return n.Bonus}});var l=e.r(23280);Object.defineProperty(r,"Cell",{enumerable:!0,get:function(){return l.Cell}});var a=e.r(85713);Object.defineProperty(r,"isCellJson",{enumerable:!0,get:function(){return a.isCellJson}});var c=e.r(21445);Object.defineProperty(r,"CharacterBonus",{enumerable:!0,get:function(){return c.CharacterBonus}});var u=e.r(90362);Object.defineProperty(r,"Config",{enumerable:!0,get:function(){return u.Config}});var d=e.r(8071);Object.defineProperty(r,"FinalPattern",{enumerable:!0,get:function(){return d.FinalPattern}});var h=e.r(34751);Object.defineProperty(r,"Game",{enumerable:!0,get:function(){return h.Game}}),Object.defineProperty(r,"isGame",{enumerable:!0,get:function(){return h.isGame}});var f=e.r(7164);Object.defineProperty(r,"HorizontalPattern",{enumerable:!0,get:function(){return f.HorizontalPattern}});var p=e.r(49697);Object.defineProperty(r,"isError",{enumerable:!0,get:function(){return p.isError}});var g=e.r(23086);Object.defineProperty(r,"isObject",{enumerable:!0,get:function(){return g.isObject}});var m=e.r(97329);Object.defineProperty(r,"isLocale",{enumerable:!0,get:function(){return m.isLocale}}),Object.defineProperty(r,"Locale",{enumerable:!0,get:function(){return m.Locale}});var y=e.r(74704);Object.defineProperty(r,"Pattern",{enumerable:!0,get:function(){return y.Pattern}});var b=e.r(78871);Object.defineProperty(r,"Result",{enumerable:!0,get:function(){return b.Result}});var _=e.r(38526);Object.defineProperty(r,"Tile",{enumerable:!0,get:function(){return _.Tile}});var v=e.r(66854);Object.defineProperty(r,"isTileJson",{enumerable:!0,get:function(){return v.isTileJson}});var O=e.r(11850);Object.defineProperty(r,"VerticalPattern",{enumerable:!0,get:function(){return O.VerticalPattern}});var P=e.r(50858);Object.defineProperty(r,"WordBonus",{enumerable:!0,get:function(){return P.WordBonus}});var w=e.r(98992);Object.defineProperty(r,"WordDefinition",{enumerable:!0,get:function(){return w.WordDefinition}})},94758,(e,t,r)=>{"use strict";var i=e.e&&e.e.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,"__esModule",{value:!0}),r.OUTPUT_DIRECTORY=r.CACHE_STALE_THRESHOLD=r.DAY=void 0;let s=i(e.r(46786)),o=i(e.r(14747));r.DAY=864e5,r.CACHE_STALE_THRESHOLD=+r.DAY,r.OUTPUT_DIRECTORY=o.default.resolve(s.default.homedir(),".scrabble-solver","dictionaries")},80578,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.createAsyncProxy=void 0,r.createAsyncProxy=e=>{let t=null;return async()=>{if(t)return t;try{return t=e(),await t}finally{t=null}}}},38312,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.createCacheTimestampComparator=void 0,r.createCacheTimestampComparator=e=>(t,r)=>{let i=t.getLastModifiedTimestamp(e),s=r.getLastModifiedTimestamp(e);return i===s?0:void 0===i?1:void 0===s?-1:s-i}},86473,(e,t,r)=>{t.exports=e.x("@kamilmielnik/trie",()=>require("@kamilmielnik/trie"))},2971,(e,t,r)=>{"use strict";var i=e.e&&e.e.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,"__esModule",{value:!0}),r.getDictionaryFilepath=void 0;let s=i(e.r(14747)),o=e.r(94758);r.getDictionaryFilepath=e=>s.default.resolve(o.OUTPUT_DIRECTORY,`${e}.txt`)},43411,(e,t,r)=>{"use strict";var i=e.e&&e.e.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,"__esModule",{value:!0}),r.DiskCache=void 0;let s=e.r(86473),o=i(e.r(22734)),n=e.r(94758),l=e.r(2971);r.DiskCache=class{async get(e){if(!this.has(e))return;let t=(0,l.getDictionaryFilepath)(e),r=await o.default.promises.readFile(t,"utf-8");return s.Trie.deserialize(r)}getLastModifiedTimestamp(e){let t=(0,l.getDictionaryFilepath)(e);if(o.default.existsSync(t))return o.default.statSync(t).mtimeMs}has(e){let t=(0,l.getDictionaryFilepath)(e);return o.default.existsSync(t)}isStale(e){if(!this.has(e))return;let t=this.getLastModifiedTimestamp(e);if(void 0!==t)return Math.abs(t-Date.now())>n.CACHE_STALE_THRESHOLD}async set(e,t){let r=(0,l.getDictionaryFilepath)(e);await o.default.promises.writeFile(r,t.serialize())}}},43609,(e,t,r)=>{t.exports=e.x("follow-redirects",()=>require("follow-redirects"))},54799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},45408,(e,t,r)=>{"use strict";var i=e.e&&e.e.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,"__esModule",{value:!0}),r.getHash=void 0;let s=i(e.r(54799));r.getHash=(e=8)=>s.default.randomBytes(e).toString("hex")},52932,(e,t,r)=>{"use strict";var i=e.e&&e.e.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,"__esModule",{value:!0}),r.getTempFilepath=void 0;let s=i(e.r(46786)),o=i(e.r(14747)),n=e.r(45408),l=o.default.resolve(s.default.homedir(),".scrabble-solver");r.getTempFilepath=()=>{let e=`${(0,n.getHash)()}.txt`;return o.default.join(l,e)}},65386,(e,t,r)=>{"use strict";var i=e.e&&e.e.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,"__esModule",{value:!0}),r.downloadFile=void 0;let s=e.r(43609),o=i(e.r(22734)),n=e.r(52932);r.downloadFile=e=>new Promise((t,r)=>{let i=(0,n.getTempFilepath)(),l=e.startsWith("https")?s.https:s.http,a=o.default.createWriteStream(i);l.get(e,s=>{void 0===s.statusCode||s.statusCode>=400?r(Error(`Cannot download file: ${e}`)):(s.on("error",e=>{a.close(),r(e)}),s.on("end",()=>{a.on("finish",()=>{a.close(),t(i)})}),s.pipe(a))}).on("error",e=>{a.close(),r(e)})})},59802,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.downloadHtml=void 0;let i=e.r(43609);r.downloadHtml=e=>new Promise((t,r)=>{(e.startsWith("https")?i.https:i.http).get(e,e=>{let i="";e.setEncoding("utf8"),e.on("data",e=>{i+=e}),e.on("end",()=>{t(i)}),e.on("error",r)})})},22306,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.findFirstWordIndex=void 0,r.findFirstWordIndex=(e,t)=>{let r=e.findIndex((e,r)=>{let i=e[r+1]||"",s=e.localeCompare(i,t)>0,o=!!e.match(/\s/);return 0!==e.trim().length&&!o&&s});if(void 0===r)throw Error("Cannot find index of the first word in the file");return r}},17183,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.extractWords=void 0;let i=e.r(22306);r.extractWords=(e,t)=>{let r=e.split(/\r?\n/g),s=(0,i.findFirstWordIndex)(r,t),o=[];for(let e=s;e<r.length;++e){let t=r[e].trim();t.length>0&&o.push(t.toLocaleLowerCase())}return o}},10744,(e,t,r)=>{"use strict";var i=e.e&&e.e.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,"__esModule",{value:!0}),r.getTxtWordList=void 0;let s=i(e.r(22734)),o=e.r(65386),n=e.r(17183);r.getTxtWordList=async(e,t)=>{let r=await (0,o.downloadFile)(e),i=s.default.readFileSync(r,"utf-8"),l=(0,n.extractWords)(i.toLocaleString(),t);return s.default.unlinkSync(r),l}},40890,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.unique=void 0,r.unique=e=>Array.from(new Set(e))},98167,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.transliterateDiacritics=void 0;let i=e.r(42773),s=e.r(40890);r.transliterateDiacritics=(e,t)=>(0,s.unique)(e.map(e=>(0,i.transliterate)(e,t)))},92586,(e,t,r)=>{t.exports=e.x("unzipper",()=>require("unzipper"))},86349,(e,t,r)=>{"use strict";var i=e.e&&e.e.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,"__esModule",{value:!0}),r.unzip=void 0;let s=i(e.r(22734)),o=i(e.r(92586));r.unzip=(e,t,r)=>s.default.createReadStream(e).pipe(o.default.Parse()).on("entry",e=>{e.path===t?e.pipe(s.default.createWriteStream(r)):e.autodrain()}).promise()},76824,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.unzip=r.unique=r.transliterateDiacritics=r.getTxtWordList=r.getTempFilepath=r.getHash=r.findFirstWordIndex=r.extractWords=r.downloadHtml=r.downloadFile=void 0;var i=e.r(65386);Object.defineProperty(r,"downloadFile",{enumerable:!0,get:function(){return i.downloadFile}});var s=e.r(59802);Object.defineProperty(r,"downloadHtml",{enumerable:!0,get:function(){return s.downloadHtml}});var o=e.r(17183);Object.defineProperty(r,"extractWords",{enumerable:!0,get:function(){return o.extractWords}});var n=e.r(22306);Object.defineProperty(r,"findFirstWordIndex",{enumerable:!0,get:function(){return n.findFirstWordIndex}});var l=e.r(45408);Object.defineProperty(r,"getHash",{enumerable:!0,get:function(){return l.getHash}});var a=e.r(52932);Object.defineProperty(r,"getTempFilepath",{enumerable:!0,get:function(){return a.getTempFilepath}});var c=e.r(10744);Object.defineProperty(r,"getTxtWordList",{enumerable:!0,get:function(){return c.getTxtWordList}});var u=e.r(98167);Object.defineProperty(r,"transliterateDiacritics",{enumerable:!0,get:function(){return u.transliterateDiacritics}});var d=e.r(40890);Object.defineProperty(r,"unique",{enumerable:!0,get:function(){return d.unique}});var h=e.r(86349);Object.defineProperty(r,"unzip",{enumerable:!0,get:function(){return h.unzip}})},11043,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.getWordListUs=r.getWordListGb=void 0;let i=e.r(69421),s=e.r(76824);r.getWordListGb=async()=>(0,s.getTxtWordList)("https://raw.githubusercontent.com/kamilmielnik/scrabble-dictionaries/refs/heads/master/english/sowpods.txt",i.Locale.EN_GB),r.getWordListUs=async()=>(0,s.getTxtWordList)("https://raw.githubusercontent.com/kamilmielnik/scrabble-dictionaries/refs/heads/master/english/twl06.txt",i.Locale.EN_US)},24109,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.getWordList=void 0;let i=e.r(69421),s=e.r(76824);r.getWordList=async()=>(0,s.getTxtWordList)("https://raw.githubusercontent.com/kamilmielnik/scrabble-dictionaries/refs/heads/master/german/german.txt",i.Locale.DE_DE)},82258,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.getWordList=void 0;let i=e.r(69421),s=e.r(76824);r.getWordList=async()=>{let e=await (0,s.getTxtWordList)("https://raw.githubusercontent.com/kamilmielnik/scrabble-dictionaries/refs/heads/master/french/ods8.txt",i.Locale.FR_FR);return(0,s.transliterateDiacritics)(e)}},55020,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.getWordList=void 0;let i=e.r(69421),s=e.r(76824);r.getWordList=async()=>(0,s.getTxtWordList)("https://raw.githubusercontent.com/kamilmielnik/scrabble-dictionaries/refs/heads/master/persian/persian.txt",i.Locale.FA_IR)},40182,(e,t,r)=>{t.exports=e.x("cheerio",()=>require("cheerio"))},92509,(e,t,r)=>{t.exports=e.x("url",()=>require("url"))},94629,(e,t,r)=>{"use strict";var i=e.e&&e.e.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,"__esModule",{value:!0}),r.getWordList=void 0;let s=e.r(69421),o=e.r(40182),n=i(e.r(22734)),l=e.r(92509),a=e.r(76824);r.getWordList=async()=>{try{let e=(0,a.getTempFilepath)(),t=await c("https://sjp.pl/sl/growy/"),r=await (0,a.downloadFile)(t);await (0,a.unzip)(r,"slowa.txt",e),n.default.unlinkSync(r);let i=n.default.readFileSync(e,"utf-8");n.default.unlinkSync(e);let s=(0,a.extractWords)(i.toLocaleString(),"pl-PL");if(s.length<2e6)return d();return s}catch{return d()}};let c=async e=>{let t=u(await (0,a.downloadHtml)(e)),{href:r}=new l.URL(t,e);return r},u=e=>{let t=(0,o.load)(e),r=Array.from(t("a")).map(e=>t(e).attr("href")).filter(Boolean).find(e=>e.endsWith(".zip"));if(void 0===r)throw Error("Cannot find link to zip file on the page");return r},d=()=>(0,a.getTxtWordList)("https://raw.githubusercontent.com/kamilmielnik/scrabble-dictionaries/refs/heads/master/polish/sjp.txt",s.Locale.PL_PL)},35958,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.getWordList=void 0;let i=e.r(69421),s=e.r(76824);r.getWordList=async()=>{let e=await (0,s.getTxtWordList)("https://raw.githubusercontent.com/kamilmielnik/scrabble-dictionaries/master/romanian/loc-5.0.txt",i.Locale.RO_RO);return(0,s.transliterateDiacritics)(e)}},6958,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.getWordList=void 0;let i=e.r(69421),s=e.r(76824);r.getWordList=async()=>{let e=await (0,s.getTxtWordList)("https://raw.githubusercontent.com/kamilmielnik/scrabble-dictionaries/master/spanish/file-2017.txt",i.Locale.ES_ES);return(0,s.transliterateDiacritics)(e,{ignore:["ñ"]})}},50360,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.getWordList=void 0;let i=e.r(69421),s=e.r(76824);r.getWordList=async()=>(0,s.getTxtWordList)("https://raw.githubusercontent.com/kamilmielnik/scrabble-dictionaries/master/turkish/kelimelik.txt",i.Locale.TR_TR)},29470,(e,t,r)=>{"use strict";var i,s=e.e&&e.e.__createBinding||(Object.create?function(e,t,r,i){void 0===i&&(i=r);var s=Object.getOwnPropertyDescriptor(t,r);(!s||("get"in s?!t.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,i,s)}:function(e,t,r,i){void 0===i&&(i=r),e[i]=t[r]}),o=e.e&&e.e.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),n=e.e&&e.e.__importStar||(i=function(e){return(i=Object.getOwnPropertyNames||function(e){var t=[];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[t.length]=r);return t})(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r=i(e),n=0;n<r.length;n++)"default"!==r[n]&&s(t,e,r[n]);return o(t,e),t});Object.defineProperty(r,"__esModule",{value:!0}),r.turkish=r.spanish=r.romanian=r.polish=r.persian=r.french=r.german=r.english=void 0,r.english=n(e.r(11043)),r.german=n(e.r(24109)),r.french=n(e.r(82258)),r.persian=n(e.r(55020)),r.polish=n(e.r(94629)),r.romanian=n(e.r(35958)),r.spanish=n(e.r(6958)),r.turkish=n(e.r(50360))},75414,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.getWordList=void 0;let i=e.r(69421),s=e.r(29470),o={[i.Locale.DE_DE]:s.german.getWordList,[i.Locale.EN_GB]:s.english.getWordListGb,[i.Locale.EN_US]:s.english.getWordListUs,[i.Locale.ES_ES]:s.spanish.getWordList,[i.Locale.FA_IR]:s.persian.getWordList,[i.Locale.FR_FR]:s.french.getWordList,[i.Locale.PL_PL]:s.polish.getWordList,[i.Locale.RO_RO]:s.romanian.getWordList,[i.Locale.TR_TR]:s.turkish.getWordList};r.getWordList=e=>o[e]()},78110,(e,t,r)=>{"use strict";var i=e.e&&e.e.__createBinding||(Object.create?function(e,t,r,i){void 0===i&&(i=r);var s=Object.getOwnPropertyDescriptor(t,r);(!s||("get"in s?!t.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,i,s)}:function(e,t,r,i){void 0===i&&(i=r),e[i]=t[r]}),s=e.e&&e.e.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||i(t,e,r)};Object.defineProperty(r,"__esModule",{value:!0}),r.getWordList=void 0;var o=e.r(75414);Object.defineProperty(r,"getWordList",{enumerable:!0,get:function(){return o.getWordList}}),s(e.r(29470),r),s(e.r(76824),r)},14352,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.downloadDictionary=void 0;let i=e.r(86473),s=e.r(92044),o=e.r(78110);r.downloadDictionary=async e=>{s.logger.info("downloadDictionary",{locale:e});let t=await (0,o.getWordList)(e);return s.logger.info("downloadDictionary - success",{locale:e}),i.Trie.fromArray(t)}},19678,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.MemoryCache=void 0;let i=e.r(94758);r.MemoryCache=class{constructor(){this.cache={},this.cacheTimestamps={}}get(e){return Promise.resolve(this.cache[e])}getLastModifiedTimestamp(e){return this.cacheTimestamps[e]}has(e){return void 0!==this.cache[e]}isStale(e){let t=this.getLastModifiedTimestamp(e);if(this.has(e)&&void 0!==t)return Math.abs(t-Date.now())>i.CACHE_STALE_THRESHOLD}set(e,t){return this.cacheTimestamps[e]=Date.now(),this.cache[e]=t,Promise.resolve()}}},31414,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.LayeredCache=void 0;let i=e.r(38312),s=e.r(43411),o=e.r(19678);r.LayeredCache=class{constructor(){this.layers=[new o.MemoryCache,new s.DiskCache]}async get(e){let t=this.getLastModifiedLayer(e);if(!t)return Promise.resolve(void 0);let[r,i]=this.layers,s=await t.get(e);return t===i&&void 0!==s&&await r.set(e,s),s}getLastModifiedTimestamp(e){let t=this.getLastModifiedLayer(e);if(t)return t.getLastModifiedTimestamp(e)}has(e){return this.layers.some(t=>t.has(e))}isStale(e){return!!this.layers.some(t=>t.isStale(e))||!!this.layers.every(t=>void 0===t.isStale(e))&&void 0}async set(e,t){let[r,i]=this.layers;await i.set(e,t),await r.set(e,t)}getLastModifiedLayer(e){let[t]=[...this.layers.filter(t=>t.has(e))].sort((0,i.createCacheTimestampComparator)(e));return t}}},84999,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.MemoryCache=r.LayeredCache=r.getDictionaryFilepath=r.downloadDictionary=r.DiskCache=r.createCacheTimestampComparator=r.createAsyncProxy=void 0;var i=e.r(80578);Object.defineProperty(r,"createAsyncProxy",{enumerable:!0,get:function(){return i.createAsyncProxy}});var s=e.r(38312);Object.defineProperty(r,"createCacheTimestampComparator",{enumerable:!0,get:function(){return s.createCacheTimestampComparator}});var o=e.r(43411);Object.defineProperty(r,"DiskCache",{enumerable:!0,get:function(){return o.DiskCache}});var n=e.r(14352);Object.defineProperty(r,"downloadDictionary",{enumerable:!0,get:function(){return n.downloadDictionary}});var l=e.r(2971);Object.defineProperty(r,"getDictionaryFilepath",{enumerable:!0,get:function(){return l.getDictionaryFilepath}});var a=e.r(31414);Object.defineProperty(r,"LayeredCache",{enumerable:!0,get:function(){return a.LayeredCache}});var c=e.r(19678);Object.defineProperty(r,"MemoryCache",{enumerable:!0,get:function(){return c.MemoryCache}})},58966,(e,t,r)=>{"use strict";var i=e.e&&e.e.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,"__esModule",{value:!0}),r.Dictionaries=void 0;let s=e.r(92044),o=e.r(69421),n=i(e.r(22734)),l=e.r(94758),a=e.r(84999);r.Dictionaries=class{constructor(){this.cache=new a.LayeredCache,this.downloadDictionaryProxies=Object.fromEntries(Object.values(o.Locale).map(e=>[e,(0,a.createAsyncProxy)(()=>(0,a.downloadDictionary)(e))]))}async get(e){if(this.cache.has(e)){let t=await this.cache.get(e);if(t)return t}return s.logger.info("Dictionaries - cache miss",{locale:e}),this.updateDictionary(e)}remove(){n.default.rmdirSync(l.OUTPUT_DIRECTORY,{recursive:!0})}async update(e){let t=e?Object.values(o.Locale):this.getLocalesToUpdate();s.logger.info("Dictionaries - update",{force:e,locales:t}),await Promise.all(t.map(e=>this.updateDictionary(e)))}getLocalesToUpdate(){return Object.values(o.Locale).filter(e=>!1!==this.cache.isStale(e))}async updateDictionary(e){s.logger.info("Dictionaries - updateDictionary",{locale:e}),n.default.mkdirSync(l.OUTPUT_DIRECTORY,{recursive:!0});let t=this.downloadDictionaryProxies[e],r=await t();return await this.cache.set(e,r),r}}},55584,(e,t,r)=>{"use strict";var i=e.e&&e.e.__createBinding||(Object.create?function(e,t,r,i){void 0===i&&(i=r);var s=Object.getOwnPropertyDescriptor(t,r);(!s||("get"in s?!t.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,i,s)}:function(e,t,r,i){void 0===i&&(i=r),e[i]=t[r]}),s=e.e&&e.e.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||i(t,e,r)};Object.defineProperty(r,"__esModule",{value:!0}),r.dictionaries=void 0;let o=e.r(58966);s(e.r(84999),r),r.dictionaries=new o.Dictionaries}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=%5Broot-of-the-server%5D__378b5933._.js.map
|
|
@@ -1 +0,0 @@
|
|
|
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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"}
|
|
@@ -1,3 +0,0 @@
|
|
|
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
|