@inlang/paraglide-js 2.23.0 → 2.23.2
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/dist/bundler-plugins/esbuild.d.ts +0 -1
- package/dist/bundler-plugins/esbuild.js.map +1 -1
- package/dist/bundler-plugins/index.d.ts +0 -1
- package/dist/bundler-plugins/index.js.map +1 -1
- package/dist/bundler-plugins/per-locale-build/constants.d.ts +0 -1
- package/dist/bundler-plugins/per-locale-build/constants.js.map +1 -1
- package/dist/bundler-plugins/per-locale-build/index.d.ts +0 -1
- package/dist/bundler-plugins/per-locale-build/index.js.map +1 -1
- package/dist/bundler-plugins/per-locale-build/locale-id.d.ts +0 -1
- package/dist/bundler-plugins/per-locale-build/locale-id.js.map +1 -1
- package/dist/bundler-plugins/per-locale-build/types.d.ts +0 -1
- package/dist/bundler-plugins/per-locale-build/types.js.map +1 -1
- package/dist/bundler-plugins/per-locale-build/vite-environments.d.ts +0 -1
- package/dist/bundler-plugins/per-locale-build/vite-environments.js.map +1 -1
- package/dist/bundler-plugins/per-locale-build/vite-environments.test.d.ts +0 -1
- package/dist/bundler-plugins/per-locale-build/vite-environments.test.js.map +1 -1
- package/dist/bundler-plugins/rolldown.d.ts +0 -1
- package/dist/bundler-plugins/rolldown.js.map +1 -1
- package/dist/bundler-plugins/rollup.d.ts +0 -1
- package/dist/bundler-plugins/rollup.js.map +1 -1
- package/dist/bundler-plugins/rspack.d.ts +0 -1
- package/dist/bundler-plugins/rspack.js.map +1 -1
- package/dist/bundler-plugins/unplugin.d.ts +0 -1
- package/dist/bundler-plugins/unplugin.js.map +1 -1
- package/dist/bundler-plugins/unplugin.test.d.ts +0 -1
- package/dist/bundler-plugins/unplugin.test.js.map +1 -1
- package/dist/bundler-plugins/vite.d.ts +0 -1
- package/dist/bundler-plugins/vite.js.map +1 -1
- package/dist/bundler-plugins/vite.test.d.ts +0 -1
- package/dist/bundler-plugins/vite.test.js.map +1 -1
- package/dist/bundler-plugins/webpack.d.ts +0 -1
- package/dist/bundler-plugins/webpack.js.map +1 -1
- package/dist/cli/commands/compile/command.d.ts +0 -1
- package/dist/cli/commands/compile/command.js.map +1 -1
- package/dist/cli/commands/compile/command.test.d.ts +0 -1
- package/dist/cli/commands/compile/command.test.js.map +1 -1
- package/dist/cli/commands/init/command.d.ts +0 -1
- package/dist/cli/commands/init/command.js.map +1 -1
- package/dist/cli/defaults.d.ts +0 -1
- package/dist/cli/defaults.js.map +1 -1
- package/dist/cli/index.d.ts +0 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/steps/add-vite-plugin.d.ts +0 -1
- package/dist/cli/steps/add-vite-plugin.js.map +1 -1
- package/dist/cli/steps/add-vite-plugin.test.d.ts +0 -1
- package/dist/cli/steps/add-vite-plugin.test.js.map +1 -1
- package/dist/cli/steps/check-for-uncomitted-changes.d.ts +0 -1
- package/dist/cli/steps/check-for-uncomitted-changes.js.map +1 -1
- package/dist/cli/steps/detect-bundler.d.ts +0 -1
- package/dist/cli/steps/detect-bundler.js.map +1 -1
- package/dist/cli/steps/detect-bundler.test.d.ts +0 -1
- package/dist/cli/steps/detect-bundler.test.js.map +1 -1
- package/dist/cli/steps/initialize-inlang-project.d.ts +0 -1
- package/dist/cli/steps/initialize-inlang-project.js.map +1 -1
- package/dist/cli/steps/maybe-add-machine-translation.d.ts +0 -1
- package/dist/cli/steps/maybe-add-machine-translation.js.map +1 -1
- package/dist/cli/steps/maybe-add-sherlock.d.ts +0 -1
- package/dist/cli/steps/maybe-add-sherlock.js.map +1 -1
- package/dist/cli/steps/prompt-for-outdir.d.ts +0 -1
- package/dist/cli/steps/prompt-for-outdir.js.map +1 -1
- package/dist/cli/steps/update-package-json.d.ts +0 -1
- package/dist/cli/steps/update-package-json.js.map +1 -1
- package/dist/cli/steps/update-ts-config.d.ts +0 -1
- package/dist/cli/steps/update-ts-config.js.map +1 -1
- package/dist/cli/steps/update-ts-config.test.d.ts +0 -1
- package/dist/cli/steps/update-ts-config.test.js.map +1 -1
- package/dist/cli/utils.d.ts +0 -1
- package/dist/cli/utils.js.map +1 -1
- package/dist/compiler/compile-annotation.d.ts +0 -1
- package/dist/compiler/compile-annotation.js.map +1 -1
- package/dist/compiler/compile-bundle.d.ts +0 -1
- package/dist/compiler/compile-bundle.js.map +1 -1
- package/dist/compiler/compile-bundle.test.d.ts +0 -1
- package/dist/compiler/compile-bundle.test.js.map +1 -1
- package/dist/compiler/compile-local-variable.d.ts +0 -1
- package/dist/compiler/compile-local-variable.js.map +1 -1
- package/dist/compiler/compile-local-variable.test.d.ts +0 -1
- package/dist/compiler/compile-local-variable.test.js.map +1 -1
- package/dist/compiler/compile-message.d.ts +0 -1
- package/dist/compiler/compile-message.js.map +1 -1
- package/dist/compiler/compile-message.test.d.ts +0 -1
- package/dist/compiler/compile-message.test.js.map +1 -1
- package/dist/compiler/compile-pattern.d.ts +0 -1
- package/dist/compiler/compile-pattern.js.map +1 -1
- package/dist/compiler/compile-pattern.test.d.ts +0 -1
- package/dist/compiler/compile-pattern.test.js.map +1 -1
- package/dist/compiler/compile-project.d.ts +0 -1
- package/dist/compiler/compile-project.js.map +1 -1
- package/dist/compiler/compile-project.test.d.ts +0 -1
- package/dist/compiler/compile-project.test.js.map +1 -1
- package/dist/compiler/compile.bench.d.ts +0 -1
- package/dist/compiler/compile.bench.js.map +1 -1
- package/dist/compiler/compile.d.ts +0 -1
- package/dist/compiler/compile.js.map +1 -1
- package/dist/compiler/compile.test.d.ts +0 -1
- package/dist/compiler/compile.test.js.map +1 -1
- package/dist/compiler/compiler-options.d.ts +0 -1
- package/dist/compiler/compiler-options.js.map +1 -1
- package/dist/compiler/create-paraglide.d.ts +0 -1
- package/dist/compiler/create-paraglide.js.map +1 -1
- package/dist/compiler/create-paraglide.test.d.ts +0 -1
- package/dist/compiler/create-paraglide.test.js.map +1 -1
- package/dist/compiler/create-readme.d.ts +0 -1
- package/dist/compiler/create-readme.js.map +1 -1
- package/dist/compiler/emit-ts-declarations.d.ts +0 -1
- package/dist/compiler/emit-ts-declarations.interop.test.d.ts +0 -1
- package/dist/compiler/emit-ts-declarations.interop.test.js.map +1 -1
- package/dist/compiler/emit-ts-declarations.js.map +1 -1
- package/dist/compiler/emit-ts-declarations.test.d.ts +0 -1
- package/dist/compiler/emit-ts-declarations.test.js.map +1 -1
- package/dist/compiler/index.d.ts +0 -1
- package/dist/compiler/index.js.map +1 -1
- package/dist/compiler/jsdoc-types.d.ts +0 -1
- package/dist/compiler/jsdoc-types.js.map +1 -1
- package/dist/compiler/jsdoc-types.test.d.ts +0 -1
- package/dist/compiler/jsdoc-types.test.js.map +1 -1
- package/dist/compiler/match-literals.d.ts +0 -1
- package/dist/compiler/match-literals.js.map +1 -1
- package/dist/compiler/output-structure/locale-modules.d.ts +0 -1
- package/dist/compiler/output-structure/locale-modules.js.map +1 -1
- package/dist/compiler/output-structure/locale-modules.test.d.ts +0 -1
- package/dist/compiler/output-structure/locale-modules.test.js.map +1 -1
- package/dist/compiler/output-structure/message-modules.d.ts +0 -1
- package/dist/compiler/output-structure/message-modules.js.map +1 -1
- package/dist/compiler/output-structure/message-modules.test.d.ts +0 -1
- package/dist/compiler/output-structure/message-modules.test.js.map +1 -1
- package/dist/compiler/per-locale-build.d.ts +0 -1
- package/dist/compiler/per-locale-build.js.map +1 -1
- package/dist/compiler/registry.d.ts +0 -1
- package/dist/compiler/registry.js.map +1 -1
- package/dist/compiler/resolve-tsc-js-path.d.ts +0 -1
- package/dist/compiler/resolve-tsc-js-path.js.map +1 -1
- package/dist/compiler/runtime/check-locale.d.ts +0 -1
- package/dist/compiler/runtime/check-locale.js.map +1 -1
- package/dist/compiler/runtime/check-locale.test.d.ts +0 -1
- package/dist/compiler/runtime/check-locale.test.js.map +1 -1
- package/dist/compiler/runtime/create-runtime.d.ts +0 -1
- package/dist/compiler/runtime/create-runtime.js.map +1 -1
- package/dist/compiler/runtime/extract-locale-from-cookie.d.ts +0 -1
- package/dist/compiler/runtime/extract-locale-from-cookie.js.map +1 -1
- package/dist/compiler/runtime/extract-locale-from-cookie.test.d.ts +0 -1
- package/dist/compiler/runtime/extract-locale-from-cookie.test.js.map +1 -1
- package/dist/compiler/runtime/extract-locale-from-header.d.ts +0 -1
- package/dist/compiler/runtime/extract-locale-from-header.js.map +1 -1
- package/dist/compiler/runtime/extract-locale-from-header.test.d.ts +0 -1
- package/dist/compiler/runtime/extract-locale-from-header.test.js.map +1 -1
- package/dist/compiler/runtime/extract-locale-from-navigator.d.ts +0 -1
- package/dist/compiler/runtime/extract-locale-from-navigator.js.map +1 -1
- package/dist/compiler/runtime/extract-locale-from-navigator.test.d.ts +0 -1
- package/dist/compiler/runtime/extract-locale-from-navigator.test.js.map +1 -1
- package/dist/compiler/runtime/extract-locale-from-request-async.d.ts +0 -1
- package/dist/compiler/runtime/extract-locale-from-request-async.js.map +1 -1
- package/dist/compiler/runtime/extract-locale-from-request-async.test.d.ts +0 -1
- package/dist/compiler/runtime/extract-locale-from-request-async.test.js.map +1 -1
- package/dist/compiler/runtime/extract-locale-from-request.d.ts +0 -1
- package/dist/compiler/runtime/extract-locale-from-request.js.map +1 -1
- package/dist/compiler/runtime/extract-locale-from-request.test.d.ts +0 -1
- package/dist/compiler/runtime/extract-locale-from-request.test.js.map +1 -1
- package/dist/compiler/runtime/extract-locale-from-url.d.ts +0 -1
- package/dist/compiler/runtime/extract-locale-from-url.js.map +1 -1
- package/dist/compiler/runtime/extract-locale-from-url.test.d.ts +0 -1
- package/dist/compiler/runtime/extract-locale-from-url.test.js.map +1 -1
- package/dist/compiler/runtime/generate-static-localized-urls.d.ts +0 -1
- package/dist/compiler/runtime/generate-static-localized-urls.js.map +1 -1
- package/dist/compiler/runtime/generate-static-localized-urls.test.d.ts +0 -1
- package/dist/compiler/runtime/generate-static-localized-urls.test.js.map +1 -1
- package/dist/compiler/runtime/get-locale.d.ts +0 -1
- package/dist/compiler/runtime/get-locale.js.map +1 -1
- package/dist/compiler/runtime/get-locale.test.d.ts +0 -1
- package/dist/compiler/runtime/get-locale.test.js.map +1 -1
- package/dist/compiler/runtime/get-text-direction.d.ts +0 -1
- package/dist/compiler/runtime/get-text-direction.js.map +1 -1
- package/dist/compiler/runtime/get-text-direction.test.d.ts +0 -1
- package/dist/compiler/runtime/get-text-direction.test.js.map +1 -1
- package/dist/compiler/runtime/get-url-origin.d.ts +0 -1
- package/dist/compiler/runtime/get-url-origin.js.map +1 -1
- package/dist/compiler/runtime/get-url-origin.test.d.ts +0 -1
- package/dist/compiler/runtime/get-url-origin.test.js.map +1 -1
- package/dist/compiler/runtime/localize-href.d.ts +0 -1
- package/dist/compiler/runtime/localize-href.js.map +1 -1
- package/dist/compiler/runtime/localize-href.test.d.ts +0 -1
- package/dist/compiler/runtime/localize-href.test.js.map +1 -1
- package/dist/compiler/runtime/localize-url.d.ts +0 -1
- package/dist/compiler/runtime/localize-url.js.map +1 -1
- package/dist/compiler/runtime/localize-url.test.d.ts +0 -1
- package/dist/compiler/runtime/localize-url.test.js.map +1 -1
- package/dist/compiler/runtime/route-strategy.d.ts +0 -1
- package/dist/compiler/runtime/route-strategy.js.map +1 -1
- package/dist/compiler/runtime/set-locale.d.ts +0 -1
- package/dist/compiler/runtime/set-locale.js.map +1 -1
- package/dist/compiler/runtime/set-locale.test.d.ts +0 -1
- package/dist/compiler/runtime/set-locale.test.js.map +1 -1
- package/dist/compiler/runtime/should-redirect.d.ts +0 -1
- package/dist/compiler/runtime/should-redirect.js.map +1 -1
- package/dist/compiler/runtime/should-redirect.test.d.ts +0 -1
- package/dist/compiler/runtime/should-redirect.test.js.map +1 -1
- package/dist/compiler/runtime/strategy.d.ts +0 -1
- package/dist/compiler/runtime/strategy.js.map +1 -1
- package/dist/compiler/runtime/strategy.test.d.ts +0 -1
- package/dist/compiler/runtime/strategy.test.js.map +1 -1
- package/dist/compiler/runtime/track-message-call.d.ts +0 -1
- package/dist/compiler/runtime/track-message-call.js.map +1 -1
- package/dist/compiler/runtime/track-message-call.test.d.ts +0 -1
- package/dist/compiler/runtime/track-message-call.test.js.map +1 -1
- package/dist/compiler/runtime/type-definitions.d.ts +0 -1
- package/dist/compiler/runtime/type-definitions.js.map +1 -1
- package/dist/compiler/runtime/type.d.ts +1 -1
- package/dist/compiler/runtime/type.js.map +1 -1
- package/dist/compiler/runtime/type.test.d.ts +0 -1
- package/dist/compiler/runtime/type.test.js.map +1 -1
- package/dist/compiler/runtime/variables.d.ts +9 -1
- package/dist/compiler/runtime/variables.js +11 -0
- package/dist/compiler/runtime/variables.js.map +1 -1
- package/dist/compiler/safe-module-id.d.ts +0 -1
- package/dist/compiler/safe-module-id.js.map +1 -1
- package/dist/compiler/safe-module-id.test.d.ts +0 -1
- package/dist/compiler/safe-module-id.test.js.map +1 -1
- package/dist/compiler/seed-previous-compilation.d.ts +0 -1
- package/dist/compiler/seed-previous-compilation.js.map +1 -1
- package/dist/compiler/server/create-server-file.d.ts +0 -1
- package/dist/compiler/server/create-server-file.js +15 -6
- package/dist/compiler/server/create-server-file.js.map +1 -1
- package/dist/compiler/server/create-server-file.test.d.ts +1 -0
- package/dist/compiler/server/create-server-file.test.js +48 -0
- package/dist/compiler/server/create-server-file.test.js.map +1 -0
- package/dist/compiler/server/middleware.d.ts +0 -1
- package/dist/compiler/server/middleware.js +3 -2
- package/dist/compiler/server/middleware.js.map +1 -1
- package/dist/compiler/server/middleware.test.d.ts +0 -1
- package/dist/compiler/server/middleware.test.js.map +1 -1
- package/dist/compiler/server/type.d.ts +0 -1
- package/dist/compiler/server/type.js.map +1 -1
- package/dist/compiler/types.d.ts +0 -1
- package/dist/compiler/types.js.map +1 -1
- package/dist/compiler/variable-access.d.ts +0 -1
- package/dist/compiler/variable-access.js.map +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.js.map +1 -1
- package/dist/services/account/index.d.ts +0 -1
- package/dist/services/account/index.js.map +1 -1
- package/dist/services/codegen/escape.d.ts +0 -1
- package/dist/services/codegen/escape.js.map +1 -1
- package/dist/services/codegen/quotes.d.ts +0 -1
- package/dist/services/codegen/quotes.js.map +1 -1
- package/dist/services/env-variables/create-index-file.d.ts +0 -1
- package/dist/services/env-variables/create-index-file.js.map +1 -1
- package/dist/services/env-variables/index.d.ts +0 -1
- package/dist/services/env-variables/index.js +1 -1
- package/dist/services/env-variables/index.js.map +1 -1
- package/dist/services/environment/package.d.ts +0 -1
- package/dist/services/environment/package.js.map +1 -1
- package/dist/services/environment/package.test.d.ts +0 -1
- package/dist/services/environment/package.test.js.map +1 -1
- package/dist/services/error-handling.d.ts +0 -1
- package/dist/services/error-handling.js.map +1 -1
- package/dist/services/error-handling.test.d.ts +0 -1
- package/dist/services/error-handling.test.js.map +1 -1
- package/dist/services/file-handling/exists.d.ts +0 -1
- package/dist/services/file-handling/exists.js.map +1 -1
- package/dist/services/file-handling/exists.test.d.ts +0 -1
- package/dist/services/file-handling/exists.test.js.map +1 -1
- package/dist/services/file-handling/types.d.ts +0 -1
- package/dist/services/file-handling/types.js.map +1 -1
- package/dist/services/file-handling/write-output.d.ts +0 -1
- package/dist/services/file-handling/write-output.js.map +1 -1
- package/dist/services/file-handling/write-output.test.d.ts +0 -1
- package/dist/services/file-handling/write-output.test.js.map +1 -1
- package/dist/services/file-watching/tracked-fs.d.ts +0 -1
- package/dist/services/file-watching/tracked-fs.js.map +1 -1
- package/dist/services/file-watching/tracked-fs.test.d.ts +0 -1
- package/dist/services/file-watching/tracked-fs.test.js.map +1 -1
- package/dist/services/logger/index.d.ts +0 -1
- package/dist/services/logger/index.js.map +1 -1
- package/dist/services/lookup.d.ts +0 -1
- package/dist/services/lookup.js.map +1 -1
- package/dist/urlpattern-polyfill/index.d.ts +0 -1
- package/dist/urlpattern-polyfill/index.js.map +1 -1
- package/dist/utilities/detect-json-formatting.d.ts +0 -1
- package/dist/utilities/detect-json-formatting.js.map +1 -1
- package/dist/utilities/node-normalize-path.d.ts +0 -1
- package/dist/utilities/node-normalize-path.js.map +1 -1
- package/package.json +1 -1
- package/dist/bundler-plugins/esbuild.d.ts.map +0 -1
- package/dist/bundler-plugins/index.d.ts.map +0 -1
- package/dist/bundler-plugins/per-locale-build/constants.d.ts.map +0 -1
- package/dist/bundler-plugins/per-locale-build/index.d.ts.map +0 -1
- package/dist/bundler-plugins/per-locale-build/locale-id.d.ts.map +0 -1
- package/dist/bundler-plugins/per-locale-build/types.d.ts.map +0 -1
- package/dist/bundler-plugins/per-locale-build/vite-environments.d.ts.map +0 -1
- package/dist/bundler-plugins/per-locale-build/vite-environments.test.d.ts.map +0 -1
- package/dist/bundler-plugins/rolldown.d.ts.map +0 -1
- package/dist/bundler-plugins/rollup.d.ts.map +0 -1
- package/dist/bundler-plugins/rspack.d.ts.map +0 -1
- package/dist/bundler-plugins/unplugin.d.ts.map +0 -1
- package/dist/bundler-plugins/unplugin.test.d.ts.map +0 -1
- package/dist/bundler-plugins/vite.d.ts.map +0 -1
- package/dist/bundler-plugins/vite.test.d.ts.map +0 -1
- package/dist/bundler-plugins/webpack.d.ts.map +0 -1
- package/dist/cli/commands/compile/command.d.ts.map +0 -1
- package/dist/cli/commands/compile/command.test.d.ts.map +0 -1
- package/dist/cli/commands/init/command.d.ts.map +0 -1
- package/dist/cli/defaults.d.ts.map +0 -1
- package/dist/cli/index.d.ts.map +0 -1
- package/dist/cli/steps/add-vite-plugin.d.ts.map +0 -1
- package/dist/cli/steps/add-vite-plugin.test.d.ts.map +0 -1
- package/dist/cli/steps/check-for-uncomitted-changes.d.ts.map +0 -1
- package/dist/cli/steps/detect-bundler.d.ts.map +0 -1
- package/dist/cli/steps/detect-bundler.test.d.ts.map +0 -1
- package/dist/cli/steps/initialize-inlang-project.d.ts.map +0 -1
- package/dist/cli/steps/maybe-add-machine-translation.d.ts.map +0 -1
- package/dist/cli/steps/maybe-add-sherlock.d.ts.map +0 -1
- package/dist/cli/steps/prompt-for-outdir.d.ts.map +0 -1
- package/dist/cli/steps/update-package-json.d.ts.map +0 -1
- package/dist/cli/steps/update-ts-config.d.ts.map +0 -1
- package/dist/cli/steps/update-ts-config.test.d.ts.map +0 -1
- package/dist/cli/utils.d.ts.map +0 -1
- package/dist/compiler/compile-annotation.d.ts.map +0 -1
- package/dist/compiler/compile-bundle.d.ts.map +0 -1
- package/dist/compiler/compile-bundle.test.d.ts.map +0 -1
- package/dist/compiler/compile-local-variable.d.ts.map +0 -1
- package/dist/compiler/compile-local-variable.test.d.ts.map +0 -1
- package/dist/compiler/compile-message.d.ts.map +0 -1
- package/dist/compiler/compile-message.test.d.ts.map +0 -1
- package/dist/compiler/compile-pattern.d.ts.map +0 -1
- package/dist/compiler/compile-pattern.test.d.ts.map +0 -1
- package/dist/compiler/compile-project.d.ts.map +0 -1
- package/dist/compiler/compile-project.test.d.ts.map +0 -1
- package/dist/compiler/compile.bench.d.ts.map +0 -1
- package/dist/compiler/compile.d.ts.map +0 -1
- package/dist/compiler/compile.test.d.ts.map +0 -1
- package/dist/compiler/compiler-options.d.ts.map +0 -1
- package/dist/compiler/create-paraglide.d.ts.map +0 -1
- package/dist/compiler/create-paraglide.test.d.ts.map +0 -1
- package/dist/compiler/create-readme.d.ts.map +0 -1
- package/dist/compiler/emit-ts-declarations.d.ts.map +0 -1
- package/dist/compiler/emit-ts-declarations.interop.test.d.ts.map +0 -1
- package/dist/compiler/emit-ts-declarations.test.d.ts.map +0 -1
- package/dist/compiler/index.d.ts.map +0 -1
- package/dist/compiler/jsdoc-types.d.ts.map +0 -1
- package/dist/compiler/jsdoc-types.test.d.ts.map +0 -1
- package/dist/compiler/match-literals.d.ts.map +0 -1
- package/dist/compiler/output-structure/locale-modules.d.ts.map +0 -1
- package/dist/compiler/output-structure/locale-modules.test.d.ts.map +0 -1
- package/dist/compiler/output-structure/message-modules.d.ts.map +0 -1
- package/dist/compiler/output-structure/message-modules.test.d.ts.map +0 -1
- package/dist/compiler/per-locale-build.d.ts.map +0 -1
- package/dist/compiler/registry.d.ts.map +0 -1
- package/dist/compiler/resolve-tsc-js-path.d.ts.map +0 -1
- package/dist/compiler/runtime/check-locale.d.ts.map +0 -1
- package/dist/compiler/runtime/check-locale.test.d.ts.map +0 -1
- package/dist/compiler/runtime/create-runtime.d.ts.map +0 -1
- package/dist/compiler/runtime/extract-locale-from-cookie.d.ts.map +0 -1
- package/dist/compiler/runtime/extract-locale-from-cookie.test.d.ts.map +0 -1
- package/dist/compiler/runtime/extract-locale-from-header.d.ts.map +0 -1
- package/dist/compiler/runtime/extract-locale-from-header.test.d.ts.map +0 -1
- package/dist/compiler/runtime/extract-locale-from-navigator.d.ts.map +0 -1
- package/dist/compiler/runtime/extract-locale-from-navigator.test.d.ts.map +0 -1
- package/dist/compiler/runtime/extract-locale-from-request-async.d.ts.map +0 -1
- package/dist/compiler/runtime/extract-locale-from-request-async.test.d.ts.map +0 -1
- package/dist/compiler/runtime/extract-locale-from-request.d.ts.map +0 -1
- package/dist/compiler/runtime/extract-locale-from-request.test.d.ts.map +0 -1
- package/dist/compiler/runtime/extract-locale-from-url.d.ts.map +0 -1
- package/dist/compiler/runtime/extract-locale-from-url.test.d.ts.map +0 -1
- package/dist/compiler/runtime/generate-static-localized-urls.d.ts.map +0 -1
- package/dist/compiler/runtime/generate-static-localized-urls.test.d.ts.map +0 -1
- package/dist/compiler/runtime/get-locale.d.ts.map +0 -1
- package/dist/compiler/runtime/get-locale.test.d.ts.map +0 -1
- package/dist/compiler/runtime/get-text-direction.d.ts.map +0 -1
- package/dist/compiler/runtime/get-text-direction.test.d.ts.map +0 -1
- package/dist/compiler/runtime/get-url-origin.d.ts.map +0 -1
- package/dist/compiler/runtime/get-url-origin.test.d.ts.map +0 -1
- package/dist/compiler/runtime/localize-href.d.ts.map +0 -1
- package/dist/compiler/runtime/localize-href.test.d.ts.map +0 -1
- package/dist/compiler/runtime/localize-url.d.ts.map +0 -1
- package/dist/compiler/runtime/localize-url.test.d.ts.map +0 -1
- package/dist/compiler/runtime/route-strategy.d.ts.map +0 -1
- package/dist/compiler/runtime/set-locale.d.ts.map +0 -1
- package/dist/compiler/runtime/set-locale.test.d.ts.map +0 -1
- package/dist/compiler/runtime/should-redirect.d.ts.map +0 -1
- package/dist/compiler/runtime/should-redirect.test.d.ts.map +0 -1
- package/dist/compiler/runtime/strategy.d.ts.map +0 -1
- package/dist/compiler/runtime/strategy.test.d.ts.map +0 -1
- package/dist/compiler/runtime/track-message-call.d.ts.map +0 -1
- package/dist/compiler/runtime/track-message-call.test.d.ts.map +0 -1
- package/dist/compiler/runtime/type-definitions.d.ts.map +0 -1
- package/dist/compiler/runtime/type.d.ts.map +0 -1
- package/dist/compiler/runtime/type.test.d.ts.map +0 -1
- package/dist/compiler/runtime/variables.d.ts.map +0 -1
- package/dist/compiler/safe-module-id.d.ts.map +0 -1
- package/dist/compiler/safe-module-id.test.d.ts.map +0 -1
- package/dist/compiler/seed-previous-compilation.d.ts.map +0 -1
- package/dist/compiler/server/create-server-file.d.ts.map +0 -1
- package/dist/compiler/server/middleware.d.ts.map +0 -1
- package/dist/compiler/server/middleware.test.d.ts.map +0 -1
- package/dist/compiler/server/type.d.ts.map +0 -1
- package/dist/compiler/types.d.ts.map +0 -1
- package/dist/compiler/variable-access.d.ts.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/services/account/index.d.ts.map +0 -1
- package/dist/services/codegen/escape.d.ts.map +0 -1
- package/dist/services/codegen/quotes.d.ts.map +0 -1
- package/dist/services/env-variables/create-index-file.d.ts.map +0 -1
- package/dist/services/env-variables/index.d.ts.map +0 -1
- package/dist/services/environment/package.d.ts.map +0 -1
- package/dist/services/environment/package.test.d.ts.map +0 -1
- package/dist/services/error-handling.d.ts.map +0 -1
- package/dist/services/error-handling.test.d.ts.map +0 -1
- package/dist/services/file-handling/exists.d.ts.map +0 -1
- package/dist/services/file-handling/exists.test.d.ts.map +0 -1
- package/dist/services/file-handling/types.d.ts.map +0 -1
- package/dist/services/file-handling/write-output.d.ts.map +0 -1
- package/dist/services/file-handling/write-output.test.d.ts.map +0 -1
- package/dist/services/file-watching/tracked-fs.d.ts.map +0 -1
- package/dist/services/file-watching/tracked-fs.test.d.ts.map +0 -1
- package/dist/services/logger/index.d.ts.map +0 -1
- package/dist/services/lookup.d.ts.map +0 -1
- package/dist/urlpattern-polyfill/index.d.ts.map +0 -1
- package/dist/utilities/detect-json-formatting.d.ts.map +0 -1
- package/dist/utilities/node-normalize-path.d.ts.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route-strategy.js","sourceRoot":"","sources":["../../../src/compiler/runtime/route-strategy.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE3D,iCAAiC;AACjC,IAAI,sBAAsB,CAAC;AAC3B,2FAA2F;AAC3F,IAAI,mBAAmB,CAAC;AAExB;;;;;;;;GAQG;AACH,MAAM,UAAU,yBAAyB,CAAC,GAAG;IAC5C,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClC,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;IAC3D,IAAI,sBAAsB,KAAK,SAAS,EAAE,CAAC;QAC1C,OAAO,mBAAmB,CAAC;IAC5B,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;IAC3D,MAAM,YAAY,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;IAC9C,MAAM,aAAa,GAClB,YAAY,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI;QACnC,CAAC,CAAC,CAAC,SAAS,CAAC;QACb,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IAC9B,IAAI,KAAK,CAAC;IACV,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;QAC1C,KAAK,MAAM,aAAa,IAAI,eAAe,EAAE,CAAC;YAC7C,MAAM,OAAO,GAAG,IAAI,UAAU,CAAC,aAAa,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;YACvE,IAAI,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrC,KAAK,GAAG,aAAa,CAAC;gBACtB,MAAM;YACP,CAAC;QACF,CAAC;QACD,IAAI,KAAK;YAAE,MAAM;IAClB,CAAC;IAED,sBAAsB,GAAG,SAAS,CAAC;IACnC,mBAAmB,GAAG,KAAK,CAAC;IAC5B,OAAO,KAAK,CAAC;AACd,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAG;IACpC,MAAM,aAAa,GAAG,yBAAyB,CAAC,GAAG,CAAC,CAAC;IACrD,IACC,aAAa;QACb,aAAa,CAAC,OAAO,KAAK,IAAI;QAC9B,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,EACpC,CAAC;QACF,OAAO,aAAa,CAAC,QAAQ,CAAC;IAC/B,CAAC;IACD,OAAO,QAAQ,CAAC;AACjB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,yBAAyB,CAAC,GAAG;IAC5C,OAAO,yBAAyB,CAAC,GAAG,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;AACzD,CAAC"}
|
|
1
|
+
{"version":3,"file":"route-strategy.js","sourceRoot":"","sources":["../../../src/compiler/runtime/route-strategy.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE3D,iCAAiC;AACjC,IAAI,sBAAsB,CAAC;AAC3B,2FAA2F;AAC3F,IAAI,mBAAmB,CAAC;AAExB;;;;;;;;GAQG;AACH,MAAM,UAAU,yBAAyB,CAAC,GAAG;IAC5C,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClC,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;IAC3D,IAAI,sBAAsB,KAAK,SAAS,EAAE,CAAC;QAC1C,OAAO,mBAAmB,CAAC;IAC5B,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;IAC3D,MAAM,YAAY,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;IAC9C,MAAM,aAAa,GAClB,YAAY,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI;QACnC,CAAC,CAAC,CAAC,SAAS,CAAC;QACb,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IAC9B,IAAI,KAAK,CAAC;IACV,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;QAC1C,KAAK,MAAM,aAAa,IAAI,eAAe,EAAE,CAAC;YAC7C,MAAM,OAAO,GAAG,IAAI,UAAU,CAAC,aAAa,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;YACvE,IAAI,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrC,KAAK,GAAG,aAAa,CAAC;gBACtB,MAAM;YACP,CAAC;QACF,CAAC;QACD,IAAI,KAAK;YAAE,MAAM;IAClB,CAAC;IAED,sBAAsB,GAAG,SAAS,CAAC;IACnC,mBAAmB,GAAG,KAAK,CAAC;IAC5B,OAAO,KAAK,CAAC;AACd,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAG;IACpC,MAAM,aAAa,GAAG,yBAAyB,CAAC,GAAG,CAAC,CAAC;IACrD,IACC,aAAa;QACb,aAAa,CAAC,OAAO,KAAK,IAAI;QAC9B,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,EACpC,CAAC;QACF,OAAO,aAAa,CAAC,QAAQ,CAAC;IAC/B,CAAC;IACD,OAAO,QAAQ,CAAC;AACjB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,yBAAyB,CAAC,GAAG;IAC5C,OAAO,yBAAyB,CAAC,GAAG,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;AACzD,CAAC","sourcesContent":["import { deLocalizeUrl } from \"./localize-url.js\";\nimport { routeStrategies, strategy } from \"./variables.js\";\n\n/** @type {string | undefined} */\nlet cachedRouteStrategyUrl;\n/** @type {{ match: string; strategy?: typeof strategy; exclude?: boolean } | undefined} */\nlet cachedRouteStrategy;\n\n/**\n * Match route policy against both the public URL and its canonical URL.\n *\n * The function is deliberately separate from variables.js: configuration is\n * inert data, while canonicalization and route selection form a routing layer.\n *\n * @param {string | URL} url\n * @returns {{ match: string; strategy?: typeof strategy; exclude?: boolean } | undefined}\n */\nexport function findMatchingRouteStrategy(url) {\n\tif (routeStrategies.length === 0) {\n\t\treturn undefined;\n\t}\n\n\tconst urlString = typeof url === \"string\" ? url : url.href;\n\tif (cachedRouteStrategyUrl === urlString) {\n\t\treturn cachedRouteStrategy;\n\t}\n\n\tconst publicUrl = new URL(urlString, \"http://example.com\");\n\tconst canonicalUrl = deLocalizeUrl(publicUrl);\n\tconst candidateUrls =\n\t\tcanonicalUrl.href === publicUrl.href\n\t\t\t? [publicUrl]\n\t\t\t: [publicUrl, canonicalUrl];\n\tlet match;\n\tfor (const candidateUrl of candidateUrls) {\n\t\tfor (const routeStrategy of routeStrategies) {\n\t\t\tconst pattern = new URLPattern(routeStrategy.match, candidateUrl.href);\n\t\t\tif (pattern.exec(candidateUrl.href)) {\n\t\t\t\tmatch = routeStrategy;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tif (match) break;\n\t}\n\n\tcachedRouteStrategyUrl = urlString;\n\tcachedRouteStrategy = match;\n\treturn match;\n}\n\n/**\n * Returns the strategy to use for a specific URL.\n *\n * If no route strategy matches (or the matching rule is `exclude: true`),\n * the global strategy is returned.\n *\n * @param {string | URL} url\n * @returns {typeof strategy}\n */\nexport function getStrategyForUrl(url) {\n\tconst routeStrategy = findMatchingRouteStrategy(url);\n\tif (\n\t\trouteStrategy &&\n\t\trouteStrategy.exclude !== true &&\n\t\tArray.isArray(routeStrategy.strategy)\n\t) {\n\t\treturn routeStrategy.strategy;\n\t}\n\treturn strategy;\n}\n\n/**\n * Returns whether the given URL is excluded from middleware i18n processing.\n *\n * @param {string | URL} url\n * @returns {boolean}\n */\nexport function isExcludedByRouteStrategy(url) {\n\treturn findMatchingRouteStrategy(url)?.exclude === true;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"set-locale.js","sourceRoot":"","sources":["../../../src/compiler/runtime/set-locale.js"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"set-locale.js","sourceRoot":"","sources":["../../../src/compiler/runtime/set-locale.js"],"names":[],"mappings":"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","sourcesContent":["import { getLocale } from \"./get-locale.js\";\nimport { clearLocaleCookieCache } from \"./extract-locale-from-cookie.js\";\nimport { localizeUrl } from \"./localize-url.js\";\nimport { getStrategyForUrl } from \"./route-strategy.js\";\nimport { customClientStrategies, isCustomStrategy } from \"./strategy.js\";\nimport {\n\tcookieDomain,\n\tcookieMaxAge,\n\tcookieName,\n\tisServer,\n\tlocalStorageKey,\n\texperimentalStaticLocale,\n\tstrategy,\n\tTREE_SHAKE_COOKIE_STRATEGY_USED,\n\tTREE_SHAKE_GLOBAL_VARIABLE_STRATEGY_USED,\n\tTREE_SHAKE_LOCAL_STORAGE_STRATEGY_USED,\n\tTREE_SHAKE_URL_STRATEGY_USED,\n} from \"./variables.js\";\n\n/**\n * Navigates to the localized URL, or reloads the current page\n *\n * @param {string} [newLocation] The new location\n */\nconst navigateOrReload = (newLocation) => {\n\tif (newLocation) {\n\t\t// reload the page by navigating to the new url\n\t\twindow.location.href = newLocation;\n\t} else {\n\t\t// reload the page to reflect the new locale\n\t\twindow.location.reload();\n\t}\n};\n\n/**\n * @typedef {(newLocale: Locale, options?: { reload?: boolean }) => void | Promise<void>} SetLocaleFn\n */\n\n/**\n * Set the locale.\n *\n * Updates the locale using your configured strategies (cookie, localStorage, URL, etc.).\n * By default, this navigates the client to the localized URL or reloads the current\n * document to reflect the new locale. `reload: false` is a narrow browser-only escape\n * hatch for a fully client-rendered, non-URL-routed surface that owns its reactive\n * updates and document state. It does not re-render the UI or update the document.\n * Do not use it for normal locale pickers, URL-routed pages, or switching an SSR,\n * SSG, or hydrated document. It is incompatible with per-locale builds.\n *\n * If any custom strategy's `setLocale` function is async, then this function\n * will become async as well.\n *\n * @see https://paraglidejs.com/strategy\n *\n * @example\n * setLocale('en');\n *\n * @example\n * setLocale('en', { reload: false });\n *\n * @type {SetLocaleFn}\n */\nexport let setLocale = (newLocale, options) => {\n\tconst optionsWithDefaults = {\n\t\treload: true,\n\t\t...options,\n\t};\n\tif (\n\t\texperimentalStaticLocale !== undefined &&\n\t\tnewLocale !== experimentalStaticLocale &&\n\t\toptionsWithDefaults.reload === false\n\t) {\n\t\tconsole.warn(\n\t\t\t`Paraglide: setLocale(${JSON.stringify(newLocale)}, { reload: false }) cannot switch away from the statically built locale ${JSON.stringify(experimentalStaticLocale)}. A document navigation is required; reload has been forced to true.`\n\t\t);\n\t\toptionsWithDefaults.reload = true;\n\t}\n\t// locale is already set\n\t// https://github.com/opral/inlang-paraglide-js/issues/430\n\t/** @type {Locale | undefined} */\n\tlet currentLocale;\n\ttry {\n\t\tcurrentLocale = getLocale();\n\t} catch {\n\t\t// do nothing, no locale has been set yet.\n\t}\n\t/** @type {Array<Promise<void>>} */\n\tconst customSetLocalePromises = [];\n\t/** @type {string | undefined} */\n\tlet newLocation = undefined;\n\tlet strategyToUse = strategy;\n\tif (!isServer && typeof window !== \"undefined\" && window.location?.href) {\n\t\tstrategyToUse = getStrategyForUrl(window.location.href);\n\t}\n\tfor (const strat of strategyToUse) {\n\t\tif (\n\t\t\tTREE_SHAKE_GLOBAL_VARIABLE_STRATEGY_USED &&\n\t\t\tstrat === \"globalVariable\"\n\t\t) {\n\t\t\t// a default for a custom strategy to get started quickly\n\t\t\t// is likely overwritten by `defineSetLocale()`\n\t\t\t_locale = newLocale;\n\t\t} else if (TREE_SHAKE_COOKIE_STRATEGY_USED && strat === \"cookie\") {\n\t\t\tif (\n\t\t\t\tisServer ||\n\t\t\t\ttypeof document === \"undefined\" ||\n\t\t\t\ttypeof window === \"undefined\"\n\t\t\t) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// set the cookie\n\t\t\tconst cookieString = `${cookieName}=${newLocale}; path=/; max-age=${cookieMaxAge}`;\n\t\t\tdocument.cookie = cookieDomain\n\t\t\t\t? `${cookieString}; domain=${cookieDomain}`\n\t\t\t\t: cookieString;\n\t\t\tclearLocaleCookieCache();\n\t\t} else if (strat === \"baseLocale\") {\n\t\t\t// nothing to be set here. baseLocale is only a fallback\n\t\t\tcontinue;\n\t\t} else if (\n\t\t\tTREE_SHAKE_URL_STRATEGY_USED &&\n\t\t\tstrat === \"url\" &&\n\t\t\ttypeof window !== \"undefined\"\n\t\t) {\n\t\t\t// route to the new url\n\t\t\t//\n\t\t\t// this triggers a page reload but a user rarely\n\t\t\t// switches locales, so this should be fine.\n\t\t\t//\n\t\t\t// if the behavior is not desired, the implementation\n\t\t\t// can be overwritten by `defineSetLocale()` to avoid\n\t\t\t// a full page reload.\n\t\t\tnewLocation = localizeUrl(window.location.href, {\n\t\t\t\tlocale: newLocale,\n\t\t\t}).href;\n\t\t} else if (\n\t\t\tTREE_SHAKE_LOCAL_STORAGE_STRATEGY_USED &&\n\t\t\tstrat === \"localStorage\" &&\n\t\t\ttypeof window !== \"undefined\"\n\t\t) {\n\t\t\t// set the localStorage\n\t\t\tlocalStorage.setItem(localStorageKey, newLocale);\n\t\t} else if (isCustomStrategy(strat) && customClientStrategies.has(strat)) {\n\t\t\tconst handler = customClientStrategies.get(strat);\n\t\t\tif (handler) {\n\t\t\t\tlet result = handler.setLocale(newLocale);\n\t\t\t\t// Handle async setLocale\n\t\t\t\tif (result instanceof Promise) {\n\t\t\t\t\tresult = result.catch((error) => {\n\t\t\t\t\t\tthrow new Error(`Custom strategy \"${strat}\" setLocale failed.`, {\n\t\t\t\t\t\t\tcause: error,\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t\t\t\t\tcustomSetLocalePromises.push(result);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tconst runReload = () => {\n\t\tif (\n\t\t\t!isServer &&\n\t\t\toptionsWithDefaults.reload &&\n\t\t\twindow.location &&\n\t\t\tnewLocale !== currentLocale\n\t\t) {\n\t\t\tnavigateOrReload(newLocation);\n\t\t}\n\t};\n\n\tif (customSetLocalePromises.length) {\n\t\treturn Promise.all(customSetLocalePromises).then(() => {\n\t\t\trunReload();\n\t\t});\n\t}\n\n\trunReload();\n\n\treturn;\n};\n\n/**\n * Overwrite the `setLocale()` function.\n *\n * Use this function to overwrite how the locale is set. For example,\n * modify a cookie, env variable, or a user's preference.\n *\n * @example\n * overwriteSetLocale((newLocale) => {\n * // set the locale in a cookie\n * return Cookies.set('locale', newLocale)\n * });\n *\n * @param {SetLocaleFn} fn\n */\nexport const overwriteSetLocale = (fn) => {\n\tsetLocale = fn;\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"set-locale.test.js","sourceRoot":"","sources":["../../../src/compiler/runtime/set-locale.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,IAAI,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;IACxD,gDAAgD;IAChD,UAAU,CAAC,QAAQ,GAAG,EAAE,CAAC;IACzB,gDAAgD;IAChD,UAAU,CAAC,MAAM,GAAG,EAAE,CAAC;IACvB,gDAAgD;IAChD,UAAU,CAAC,MAAM,CAAC,QAAQ,GAAG,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC;IACzD,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;IAE5C,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC;QACrC,IAAI,EAAE,MAAM,UAAU,CAAC;YACtB,QAAQ,EAAE;gBACT,UAAU,EAAE,IAAI;gBAChB,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;aACrB;SACD,CAAC;QACF,QAAQ,EAAE,CAAC,QAAQ,CAAC;QACpB,UAAU,EAAE,kBAAkB;KAC9B,CAAC,CAAC;IAEH,UAAU,CAAC,QAAQ,CAAC,MAAM,GAAG,qBAAqB,CAAC;IAEnD,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAExB,iBAAiB;IACjB,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CACtC,+CAA+C,CAC/C,CAAC;IACF,0CAA0C;IAC1C,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,CAAC;AACxD,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,iFAAiF,EAAE,KAAK,IAAI,EAAE;IAClG,gDAAgD;IAChD,UAAU,CAAC,QAAQ,GAAG,EAAE,CAAC;IACzB,gDAAgD;IAChD,UAAU,CAAC,MAAM,GAAG,EAAE,CAAC;IACvB,gDAAgD;IAChD,UAAU,CAAC,MAAM,CAAC,QAAQ,GAAG,EAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC7D,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;IAE5C,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC;QACrC,IAAI,EAAE,MAAM,UAAU,CAAC;YACtB,QAAQ,EAAE;gBACT,UAAU,EAAE,IAAI;gBAChB,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;aACrB;SACD,CAAC;QACF,QAAQ,EAAE,CAAC,QAAQ,CAAC;QACpB,UAAU,EAAE,kBAAkB;QAC9B,YAAY,EAAE,aAAa;KAC3B,CAAC,CAAC;IAEH,UAAU,CAAC,QAAQ,CAAC,MAAM,GAAG,qBAAqB,CAAC;IAEnD,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAExB,iBAAiB;IACjB,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CACtC,mEAAmE,CACnE,CAAC;IACF,0CAA0C;IAC1C,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,CAAC;AACxD,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,8EAA8E,EAAE,KAAK,IAAI,EAAE;IAC/F,gDAAgD;IAChD,UAAU,CAAC,QAAQ,GAAG,EAAE,CAAC;IACzB,gDAAgD;IAChD,UAAU,CAAC,MAAM,GAAG,EAAE,CAAC;IACvB,gDAAgD;IAChD,UAAU,CAAC,MAAM,CAAC,QAAQ,GAAG,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC;IACzD,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;IAE5C,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC;QACrC,IAAI,EAAE,MAAM,UAAU,CAAC;YACtB,QAAQ,EAAE;gBACT,UAAU,EAAE,IAAI;gBAChB,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;aACrB;SACD,CAAC;QACF,QAAQ,EAAE,CAAC,QAAQ,CAAC;QACpB,UAAU,EAAE,kBAAkB;QAC9B,YAAY,EAAE,aAAa;KAC3B,CAAC,CAAC;IAEH,UAAU,CAAC,QAAQ,CAAC,MAAM,GAAG,qBAAqB,CAAC;IAEnD,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAExB,iBAAiB;IACjB,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CACtC,mEAAmE,CACnE,CAAC;IACF,0CAA0C;IAC1C,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,CAAC;AACxD,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;IAChE,gDAAgD;IAChD,UAAU,CAAC,MAAM,GAAG,EAAE,CAAC;IACvB,gDAAgD;IAChD,UAAU,CAAC,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC;IAChC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,GAAG,aAAa,CAAC;IACpD,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;IAE5C,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC;QACrC,IAAI,EAAE,MAAM,UAAU,CAAC;YACtB,QAAQ,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE;SACrD,CAAC;QACF,QAAQ,EAAE,CAAC,KAAK,CAAC;QACjB,WAAW,EAAE;YACZ;gBACC,OAAO,EAAE,6BAA6B;gBACtC,SAAS,EAAE;oBACV,CAAC,IAAI,EAAE,4BAA4B,CAAC;oBACpC,CAAC,IAAI,EAAE,2BAA2B,CAAC;iBACnC;aACD;SACD;KACD,CAAC,CAAC;IAEH,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,0BAA0B,CAAC;IAE7D,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAExB,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IACxE,kEAAkE;IAClE,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;AAC5D,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;IAChF,gDAAgD;IAChD,UAAU,CAAC,MAAM,GAAG,EAAE,CAAC;IACvB,gDAAgD;IAChD,UAAU,CAAC,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC;IAChC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,GAAG,aAAa,CAAC;IACpD,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;IAE5C,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC;QACrC,IAAI,EAAE,MAAM,UAAU,CAAC;YACtB,QAAQ,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE;SACrD,CAAC;QACF,QAAQ,EAAE,CAAC,KAAK,CAAC;QACjB,WAAW,EAAE;YACZ;gBACC,OAAO,EAAE,6BAA6B;gBACtC,SAAS,EAAE;oBACV,CAAC,IAAI,EAAE,4BAA4B,CAAC;oBACpC,CAAC,IAAI,EAAE,2BAA2B,CAAC;iBACnC;aACD;SACD;KACD,CAAC,CAAC;IAEH,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,0BAA0B,CAAC;IAE7D,OAAO,CAAC,SAAS,CAAC,IAAW,CAAC,CAAC;IAE/B,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IACxE,kEAAkE;IAClE,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;AAC5D,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;IAChF,gDAAgD;IAChD,UAAU,CAAC,MAAM,GAAG,EAAE,CAAC;IACvB,gDAAgD;IAChD,UAAU,CAAC,QAAQ,GAAG,EAAE,CAAC;IACzB,gDAAgD;IAChD,UAAU,CAAC,MAAM,CAAC,QAAQ,GAAG;QAC5B,IAAI,EAAE,+BAA+B;QACrC,QAAQ,EAAE,aAAa;QACvB,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE;KACf,CAAC;IAEF,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC;QACrC,IAAI,EAAE,MAAM,UAAU,CAAC;YACtB,QAAQ,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE;SACrD,CAAC;QACF,QAAQ,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,YAAY,CAAC;QACzC,UAAU,EAAE,kBAAkB;QAC9B,eAAe,EAAE;YAChB;gBACC,KAAK,EAAE,uBAAuB;gBAC9B,QAAQ,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC;aAClC;SACD;KACD,CAAC,CAAC;IAEH,UAAU,CAAC,QAAQ,CAAC,MAAM,GAAG,qBAAqB,CAAC;IACnD,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAExB,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CACtC,+CAA+C,CAC/C,CAAC;IACF,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;IAC9E,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,CAAC;AACxD,CAAC,CAAC,CAAC;AAEH,uEAAuE;AACvE,IAAI,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;IAC5D,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC;QACrC,IAAI,EAAE,MAAM,UAAU,CAAC;YACtB,QAAQ,EAAE;gBACT,UAAU,EAAE,IAAI;gBAChB,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;aACrB;SACD,CAAC;QACF,QAAQ,EAAE,CAAC,QAAQ,CAAC;QACpB,UAAU,EAAE,kBAAkB;KAC9B,CAAC,CAAC;IAEH,yCAAyC;IACzC,UAAU,CAAC,QAAQ,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IAErC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAExB,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CACtC,+CAA+C,CAC/C,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,+EAA+E,EAAE,KAAK,IAAI,EAAE;IAChG,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC;QACrC,IAAI,EAAE,MAAM,UAAU,CAAC;YACtB,QAAQ,EAAE;gBACT,UAAU,EAAE,IAAI;gBAChB,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;aACrB;SACD,CAAC;QACF,QAAQ,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,YAAY,CAAC;QACzC,UAAU,EAAE,kBAAkB;QAC9B,QAAQ,EAAE,OAAO;QACjB,WAAW,EAAE;YACZ;gBACC,OAAO,EAAE,mCAAmC;gBAC5C,SAAS,EAAE;oBACV,CAAC,IAAI,EAAE,mCAAmC,CAAC;oBAC3C,CAAC,IAAI,EAAE,mCAAmC,CAAC;iBAC3C;aACD;SACD;KACD,CAAC,CAAC;IAEH,yCAAyC;IACzC,UAAU,CAAC,QAAQ,GAAG,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAC;IACxD,UAAU,CAAC,MAAM,GAAG;QACnB,QAAQ,EAAE,IAAI,GAAG,CAAC,kCAAkC,CAAC;KAC9C,CAAC;IAET,oDAAoD;IACpD,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEvC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAExB,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CACtC,+CAA+C,CAC/C,CAAC;IACF,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAC3C,kCAAkC,CAClC,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;IACjE,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC;QACrC,IAAI,EAAE,MAAM,UAAU,CAAC;YACtB,QAAQ,EAAE;gBACT,UAAU,EAAE,IAAI;gBAChB,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;aACrB;SACD,CAAC;QACF,QAAQ,EAAE,CAAC,QAAQ,CAAC;QACpB,UAAU,EAAE,kBAAkB;KAC9B,CAAC,CAAC;IAEH,sEAAsE;IACtE,gDAAgD;IAChD,UAAU,CAAC,QAAQ,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IACrC,UAAU,CAAC,MAAM,GAAG;QACnB,QAAQ,EAAE;YACT,IAAI,EAAE,wBAAwB;YAC9B,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE;SACf;KACM,CAAC;IAET,MAAM,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;IACpB,OAAO,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;IAEhC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAE3C,MAAM,CAAC,GAAG,CAAC,CAAC,oBAAoB,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;AAC3D,CAAC,CAAC,CAAC;AAEH,0DAA0D;AAC1D,IAAI,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;IAC1E,gDAAgD;IAChD,UAAU,CAAC,QAAQ,GAAG,EAAE,CAAC;IACzB,gDAAgD;IAChD,UAAU,CAAC,MAAM,GAAG,EAAE,CAAC;IACvB,gDAAgD;IAChD,UAAU,CAAC,MAAM,CAAC,QAAQ,GAAG,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC;IACzD,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;IAE5C,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC;QACrC,IAAI,EAAE,MAAM,UAAU,CAAC;YACtB,QAAQ,EAAE;gBACT,UAAU,EAAE,IAAI;gBAChB,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;aACrB;SACD,CAAC;QACF,QAAQ,EAAE,CAAC,QAAQ,CAAC;QACpB,UAAU,EAAE,kBAAkB;KAC9B,CAAC,CAAC;IAEH,UAAU,CAAC,QAAQ,CAAC,MAAM,GAAG,6BAA6B,CAAC;IAE3D,qCAAqC;IACrC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAExB,iCAAiC;IACjC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CACtC,+CAA+C,CAC/C,CAAC;IACF,8BAA8B;IAC9B,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;IAE3D,kDAAkD;IAClD,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACxB,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CACtC,+CAA+C,CAC/C,CAAC;IACF,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,CAAC;AACxD,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,qEAAqE,EAAE,KAAK,IAAI,EAAE;IACtF,4CAA4C;IAC5C,UAAU,CAAC,QAAQ,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IACrC,UAAU,CAAC,MAAM,GAAG;QACnB,QAAQ,EAAE;YACT,IAAI,EAAE,wBAAwB;YAC9B,QAAQ,EAAE,aAAa;YACvB,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE;SACf;KACM,CAAC;IACT,MAAM,IAAI,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAE3E,IAAI,CAAC;QACJ,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC;YACrC,IAAI,EAAE,MAAM,UAAU,CAAC;gBACtB,QAAQ,EAAE;oBACT,UAAU,EAAE,IAAI;oBAChB,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;iBACrB;aACD,CAAC;YACF,QAAQ,EAAE,CAAC,QAAQ,CAAC;YACpB,QAAQ,EAAE,OAAO;YACjB,wBAAwB,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SAC9C,CAAC,CAAC;QAEH,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QAE3C,MAAM,CAAC,IAAI,CAAC,CAAC,oBAAoB,EAAE,CAAC;QACpC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,oBAAoB,EAAE,CAAC;IAClE,CAAC;YAAS,CAAC;QACV,IAAI,CAAC,WAAW,EAAE,CAAC;IACpB,CAAC;AACF,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;IAClD,gDAAgD;IAChD,UAAU,CAAC,YAAY,GAAG;QACzB,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE;QAChB,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI;KACnB,CAAC;IAEF,gDAAgD;IAChD,UAAU,CAAC,MAAM,GAAG,EAAE,CAAC;IAEvB,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC;QACrC,IAAI,EAAE,MAAM,UAAU,CAAC;YACtB,QAAQ,EAAE;gBACT,UAAU,EAAE,IAAI;gBAChB,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;aACrB;SACD,CAAC;QACF,QAAQ,EAAE,CAAC,cAAc,CAAC;KAC1B,CAAC,CAAC;IAEH,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAExB,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,oBAAoB,CAC3D,kBAAkB,EAClB,IAAI,CACJ,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,mEAAmE;AACnE,IAAI,CAAC,yGAAyG,EAAE,KAAK,IAAI,EAAE;IAC1H,uBAAuB;IACvB,gDAAgD;IAChD,UAAU,CAAC,QAAQ,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IACrC,gDAAgD;IAChD,UAAU,CAAC,YAAY,GAAG;QACzB,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE;QAChB,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI;KACnB,CAAC;IACF,gDAAgD;IAChD,UAAU,CAAC,MAAM,GAAG,EAAE,CAAC;IACvB,gDAAgD;IAChD,UAAU,CAAC,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC;IAChC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,GAAG,aAAa,CAAC;IACpD,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,6BAA6B,CAAC;IAChE,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;IAE5C,0CAA0C;IAC1C,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC;QACrC,IAAI,EAAE,MAAM,UAAU,CAAC;YACtB,QAAQ,EAAE;gBACT,UAAU,EAAE,IAAI;gBAChB,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;aAC3B;SACD,CAAC;QACF,QAAQ,EAAE,CAAC,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,YAAY,CAAC;QACzD,UAAU,EAAE,kBAAkB;QAC9B,WAAW,EAAE;YACZ;gBACC,OAAO,EAAE,oCAAoC;gBAC7C,SAAS,EAAE;oBACV,CAAC,IAAI,EAAE,+BAA+B,CAAC;oBACvC,CAAC,IAAI,EAAE,+BAA+B,CAAC;oBACvC,CAAC,IAAI,EAAE,+BAA+B,CAAC;iBACvC;aACD;SACD;KACD,CAAC,CAAC;IAEH,iBAAiB;IACjB,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAExB,iDAAiD;IACjD,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;IAC5E,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,oBAAoB,CAC3D,kBAAkB,EAClB,IAAI,CACJ,CAAC;IACF,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CACtC,+CAA+C,CAC/C,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;IACrD,IAAI,YAAY,GAAG,IAAI,CAAC;IACxB,IAAI,eAAe,GAAG,KAAK,CAAC;IAE5B,UAAU,CAAC,MAAM,GAAG;QACnB,QAAQ,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;KACtB,CAAC;IAET,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC;QACrC,IAAI,EAAE,MAAM,UAAU,CAAC;YACtB,QAAQ,EAAE;gBACT,UAAU,EAAE,IAAI;gBAChB,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;aAC3B;SACD,CAAC;QACF,QAAQ,EAAE,CAAC,eAAe,EAAE,YAAY,CAAC;QACzC,QAAQ,EAAE,OAAO;KACjB,CAAC,CAAC;IAEH,OAAO,CAAC,0BAA0B,CAAC,eAAe,EAAE;QACnD,SAAS,EAAE,GAAG,EAAE,CAAC,YAAY;QAC7B,SAAS,EAAE,CAAC,MAAM,EAAE,EAAE;YACrB,YAAY,GAAG,MAAM,CAAC;YACtB,eAAe,GAAG,IAAI,CAAC;QACxB,CAAC;KACD,CAAC,CAAC;IAEH,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAExB,MAAM,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,gBAAgB,EAAE,CAAC;AAC9D,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;IAChE,IAAI,aAAa,GAAG,IAAI,CAAC;IACzB,IAAI,aAAa,GAAG,IAAI,CAAC;IACzB,IAAI,gBAAgB,GAAG,KAAK,CAAC;IAC7B,IAAI,gBAAgB,GAAG,KAAK,CAAC;IAE7B,UAAU,CAAC,MAAM,GAAG;QACnB,QAAQ,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;KACtB,CAAC;IAET,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC;QACrC,IAAI,EAAE,MAAM,UAAU,CAAC;YACtB,QAAQ,EAAE;gBACT,UAAU,EAAE,IAAI;gBAChB,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;aAC3B;SACD,CAAC;QACF,QAAQ,EAAE,CAAC,eAAe,EAAE,eAAe,EAAE,YAAY,CAAC;QAC1D,QAAQ,EAAE,OAAO;KACjB,CAAC,CAAC;IAEH,OAAO,CAAC,0BAA0B,CAAC,eAAe,EAAE;QACnD,SAAS,EAAE,GAAG,EAAE,CAAC,aAAa;QAC9B,SAAS,EAAE,CAAC,MAAM,EAAE,EAAE;YACrB,aAAa,GAAG,MAAM,CAAC;YACvB,gBAAgB,GAAG,IAAI,CAAC;QACzB,CAAC;KACD,CAAC,CAAC;IAEH,OAAO,CAAC,0BAA0B,CAAC,eAAe,EAAE;QACnD,SAAS,EAAE,GAAG,EAAE,CAAC,aAAa;QAC9B,SAAS,EAAE,CAAC,MAAM,EAAE,EAAE;YACrB,aAAa,GAAG,MAAM,CAAC;YACvB,gBAAgB,GAAG,IAAI,CAAC;QACzB,CAAC;KACD,CAAC,CAAC;IAEH,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAExB,MAAM,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpC,MAAM,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpC,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjC,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,6EAA6E,EAAE,KAAK,IAAI,EAAE;IAC9F,IAAI,aAAa,GAAG,IAAI,CAAC;IAEzB,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC;QACrC,IAAI,EAAE,MAAM,UAAU,CAAC;YACtB,QAAQ,EAAE;gBACT,UAAU,EAAE,IAAI;gBAChB,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;aAC3B;SACD,CAAC;QACF,QAAQ,EAAE,CAAC,cAAc,EAAE,YAAY,CAAC;QACxC,QAAQ,EAAE,OAAO;KACjB,CAAC,CAAC;IAEH,OAAO,CAAC,0BAA0B,CAAC,cAAc,EAAE;QAClD,SAAS,EAAE,GAAG,EAAE,CAAC,aAAa;QAC9B,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YAC3B,aAAa,GAAG,MAAM,CAAC;QACxB,CAAC;KACD,CAAC,CAAC;IAEH,MAAM,gBAAgB,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACjD,MAAM,6BAA6B,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE;QAC7D,MAAM,EAAE,KAAK;KACb,CAAC,CAAC;IAEH,MAAM,CAAC,gBAAgB,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IACjD,MAAM,CAAC,6BAA6B,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;AAC/D,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,gEAAgE,EAAE,KAAK,IAAI,EAAE;IACjF,IAAI,aAAa,GAAG,IAAI,CAAC;IAEzB,UAAU,CAAC,MAAM,GAAG;QACnB,QAAQ,EAAE;YACT,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE;SACf;KACM,CAAC;IAET,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC;QACrC,IAAI,EAAE,MAAM,UAAU,CAAC;YACtB,QAAQ,EAAE;gBACT,UAAU,EAAE,IAAI;gBAChB,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;aAC3B;SACD,CAAC;QACF,QAAQ,EAAE,CAAC,cAAc,EAAE,YAAY,CAAC;QACxC,QAAQ,EAAE,OAAO;KACjB,CAAC,CAAC;IAEH,OAAO,CAAC,0BAA0B,CAAC,cAAc,EAAE;QAClD,SAAS,EAAE,GAAG,EAAE,CAAC,aAAa;QAC9B,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YAC3B,aAAa,GAAG,MAAM,CAAC;QACxB,CAAC;KACD,CAAC,CAAC;IAEH,MAAM,gBAAgB,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACjD,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAEtD,MAAM,gBAAgB,CAAC;IAEvB,0DAA0D;IAC1D,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;IACxD,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,2EAA2E,EAAE,KAAK,IAAI,EAAE;IAC5F,IAAI,aAAa,GAAG,IAAI,CAAC;IACzB,IAAI,aAAa,GAAG,IAAI,CAAC;IAEzB,UAAU,CAAC,MAAM,GAAG;QACnB,QAAQ,EAAE;YACT,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE;SACf;KACM,CAAC;IAET,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC;QACrC,IAAI,EAAE,MAAM,UAAU,CAAC;YACtB,QAAQ,EAAE;gBACT,UAAU,EAAE,IAAI;gBAChB,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;aAC3B;SACD,CAAC;QACF,QAAQ,EAAE,CAAC,eAAe,EAAE,eAAe,EAAE,YAAY,CAAC;QAC1D,QAAQ,EAAE,OAAO;KACjB,CAAC,CAAC;IAEH,OAAO,CAAC,0BAA0B,CAAC,eAAe,EAAE;QACnD,SAAS,EAAE,GAAG,EAAE,CAAC,aAAa;QAC9B,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YAC3B,aAAa,GAAG,MAAM,CAAC;QACxB,CAAC;KACD,CAAC,CAAC;IAEH,OAAO,CAAC,0BAA0B,CAAC,eAAe,EAAE;QACnD,SAAS,EAAE,GAAG,EAAE,CAAC,aAAa;QAC9B,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YAC3B,aAAa,GAAG,MAAM,CAAC;QACxB,CAAC;KACD,CAAC,CAAC;IAEH,MAAM,gBAAgB,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACjD,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAEtD,MAAM,gBAAgB,CAAC;IAEvB,0DAA0D;IAC1D,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;IACxD,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjC,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,8EAA8E,EAAE,KAAK,IAAI,EAAE;IAC/F,MAAM,aAAa,GAAG,IAAI,CAAC;IAE3B,UAAU,CAAC,MAAM,GAAG;QACnB,QAAQ,EAAE;YACT,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE;SACf;KACM,CAAC;IAET,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC;QACrC,IAAI,EAAE,MAAM,UAAU,CAAC;YACtB,QAAQ,EAAE;gBACT,UAAU,EAAE,IAAI;gBAChB,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;aAC3B;SACD,CAAC;QACF,QAAQ,EAAE,CAAC,cAAc,EAAE,YAAY,CAAC;QACxC,QAAQ,EAAE,OAAO;KACjB,CAAC,CAAC;IAEH,OAAO,CAAC,0BAA0B,CAAC,cAAc,EAAE;QAClD,SAAS,EAAE,GAAG,EAAE,CAAC,aAAa;QAC9B,SAAS,EAAE,KAAK,IAAI,EAAE;YACrB,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;QAChC,CAAC;KACD,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;IAC5D,MAAM,KAAK,CAAC,YAAY,CAAC,kDAAkD,CAAC,CAAC;IAC7E,MAAM,KAAK,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE,CAAC,CAAC;IAEjE,sCAAsC;IACtC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;IACxD,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;IAC/E,IAAI,UAAU,GAAG,IAAI,CAAC;IAEtB,UAAU,CAAC,QAAQ,GAAG,EAAE,MAAM,EAAE,EAAE,EAAS,CAAC;IAC5C,UAAU,CAAC,YAAY,GAAG;QACzB,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE;QAChB,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI;KACZ,CAAC;IACT,UAAU,CAAC,MAAM,GAAG;QACnB,QAAQ,EAAE;YACT,QAAQ,EAAE,aAAa;YACvB,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE;SACf;KACM,CAAC;IAET,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC;QACrC,IAAI,EAAE,MAAM,UAAU,CAAC;YACtB,QAAQ,EAAE;gBACT,UAAU,EAAE,IAAI;gBAChB,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;aAC3B;SACD,CAAC;QACF,QAAQ,EAAE,CAAC,YAAY,EAAE,cAAc,EAAE,QAAQ,EAAE,YAAY,CAAC;QAChE,UAAU,EAAE,kBAAkB;QAC9B,QAAQ,EAAE,OAAO;KACjB,CAAC,CAAC;IAEH,OAAO,CAAC,0BAA0B,CAAC,YAAY,EAAE;QAChD,SAAS,EAAE,GAAG,EAAE,CAAC,UAAU;QAC3B,SAAS,EAAE,CAAC,MAAM,EAAE,EAAE;YACrB,UAAU,GAAG,MAAM,CAAC;QACrB,CAAC;KACD,CAAC,CAAC;IAEH,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAExB,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9B,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,oBAAoB,CAC3D,kBAAkB,EAClB,IAAI,CACJ,CAAC;IACF,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CACtC,+CAA+C,CAC/C,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;IACzE,IAAI,kBAAkB,GAAG,IAAI,CAAC;IAE9B,UAAU,CAAC,MAAM,GAAG;QACnB,QAAQ,EAAE;YACT,QAAQ,EAAE,aAAa;YACvB,IAAI,EAAE,6BAA6B;YACnC,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE;SACf;KACM,CAAC;IAET,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC;QACrC,IAAI,EAAE,MAAM,UAAU,CAAC;YACtB,QAAQ,EAAE;gBACT,UAAU,EAAE,IAAI;gBAChB,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;aAC3B;SACD,CAAC;QACF,QAAQ,EAAE,CAAC,KAAK,EAAE,uBAAuB,EAAE,YAAY,CAAC;QACxD,WAAW,EAAE;YACZ;gBACC,OAAO,EAAE,oCAAoC;gBAC7C,SAAS,EAAE;oBACV,CAAC,IAAI,EAAE,+BAA+B,CAAC;oBACvC,CAAC,IAAI,EAAE,+BAA+B,CAAC;oBACvC,CAAC,IAAI,EAAE,+BAA+B,CAAC;iBACvC;aACD;SACD;QACD,QAAQ,EAAE,OAAO;KACjB,CAAC,CAAC;IAEH,OAAO,CAAC,0BAA0B,CAAC,uBAAuB,EAAE;QAC3D,SAAS,EAAE,GAAG,EAAE,CAAC,kBAAkB;QACnC,SAAS,EAAE,CAAC,MAAM,EAAE,EAAE;YACrB,kBAAkB,GAAG,MAAM,CAAC;QAC7B,CAAC;KACD,CAAC,CAAC;IAEH,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAExB,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;IAC5E,MAAM,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACvC,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"set-locale.test.js","sourceRoot":"","sources":["../../../src/compiler/runtime/set-locale.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { newProject } from \"@inlang/sdk\";\nimport { expect, test, vi } from \"vitest\";\nimport { createParaglide } from \"../create-paraglide.js\";\n\ntest(\"sets the cookie to a different locale\", async () => {\n\t// @ts-expect-error - global variable definition\n\tglobalThis.document = {};\n\t// @ts-expect-error - global variable definition\n\tglobalThis.window = {};\n\t// @ts-expect-error - global variable definition\n\tglobalThis.window.location = { hostname: \"example.com\" };\n\tglobalThis.window.location.reload = vi.fn();\n\n\tconst runtime = await createParaglide({\n\t\tblob: await newProject({\n\t\t\tsettings: {\n\t\t\t\tbaseLocale: \"en\",\n\t\t\t\tlocales: [\"en\", \"de\"],\n\t\t\t},\n\t\t}),\n\t\tstrategy: [\"cookie\"],\n\t\tcookieName: \"PARAGLIDE_LOCALE\",\n\t});\n\n\tglobalThis.document.cookie = \"PARAGLIDE_LOCALE=en\";\n\n\truntime.setLocale(\"de\");\n\n\t// set the locale\n\texpect(globalThis.document.cookie).toBe(\n\t\t\"PARAGLIDE_LOCALE=de; path=/; max-age=34560000\"\n\t);\n\t// reloads the site if window is available\n\texpect(globalThis.window.location.reload).toBeCalled();\n});\n\ntest(\"sets the cookie with explicit domain to a different locale navigating subdomain\", async () => {\n\t// @ts-expect-error - global variable definition\n\tglobalThis.document = {};\n\t// @ts-expect-error - global variable definition\n\tglobalThis.window = {};\n\t// @ts-expect-error - global variable definition\n\tglobalThis.window.location = { hostname: \"web.example.com\" };\n\tglobalThis.window.location.reload = vi.fn();\n\n\tconst runtime = await createParaglide({\n\t\tblob: await newProject({\n\t\t\tsettings: {\n\t\t\t\tbaseLocale: \"en\",\n\t\t\t\tlocales: [\"en\", \"de\"],\n\t\t\t},\n\t\t}),\n\t\tstrategy: [\"cookie\"],\n\t\tcookieName: \"PARAGLIDE_LOCALE\",\n\t\tcookieDomain: \"example.com\",\n\t});\n\n\tglobalThis.document.cookie = \"PARAGLIDE_LOCALE=en\";\n\n\truntime.setLocale(\"de\");\n\n\t// set the locale\n\texpect(globalThis.document.cookie).toBe(\n\t\t\"PARAGLIDE_LOCALE=de; path=/; max-age=34560000; domain=example.com\"\n\t);\n\t// reloads the site if window is available\n\texpect(globalThis.window.location.reload).toBeCalled();\n});\n\ntest(\"sets the cookie with explicit domain to a different locale navigating domain\", async () => {\n\t// @ts-expect-error - global variable definition\n\tglobalThis.document = {};\n\t// @ts-expect-error - global variable definition\n\tglobalThis.window = {};\n\t// @ts-expect-error - global variable definition\n\tglobalThis.window.location = { hostname: \"example.com\" };\n\tglobalThis.window.location.reload = vi.fn();\n\n\tconst runtime = await createParaglide({\n\t\tblob: await newProject({\n\t\t\tsettings: {\n\t\t\t\tbaseLocale: \"en\",\n\t\t\t\tlocales: [\"en\", \"de\"],\n\t\t\t},\n\t\t}),\n\t\tstrategy: [\"cookie\"],\n\t\tcookieName: \"PARAGLIDE_LOCALE\",\n\t\tcookieDomain: \"example.com\",\n\t});\n\n\tglobalThis.document.cookie = \"PARAGLIDE_LOCALE=en\";\n\n\truntime.setLocale(\"de\");\n\n\t// set the locale\n\texpect(globalThis.document.cookie).toBe(\n\t\t\"PARAGLIDE_LOCALE=de; path=/; max-age=34560000; domain=example.com\"\n\t);\n\t// reloads the site if window is available\n\texpect(globalThis.window.location.reload).toBeCalled();\n});\n\ntest(\"url pattern strategy sets the window location\", async () => {\n\t// @ts-expect-error - global variable definition\n\tglobalThis.window = {};\n\t// @ts-expect-error - global variable definition\n\tglobalThis.window.location = {};\n\tglobalThis.window.location.hostname = \"example.com\";\n\tglobalThis.window.location.reload = vi.fn();\n\n\tconst runtime = await createParaglide({\n\t\tblob: await newProject({\n\t\t\tsettings: { baseLocale: \"en\", locales: [\"en\", \"de\"] },\n\t\t}),\n\t\tstrategy: [\"url\"],\n\t\turlPatterns: [\n\t\t\t{\n\t\t\t\tpattern: \"https://example.:tld/:path*\",\n\t\t\t\tlocalized: [\n\t\t\t\t\t[\"en\", \"https://example.com/:path*\"],\n\t\t\t\t\t[\"de\", \"https://example.de/:path*\"],\n\t\t\t\t],\n\t\t\t},\n\t\t],\n\t});\n\n\tglobalThis.window.location.href = \"https://example.com/page\";\n\n\truntime.setLocale(\"de\");\n\n\texpect(globalThis.window.location.href).toBe(\"https://example.de/page\");\n\t// setting window.location.hostname automatically reloads the page\n\texpect(globalThis.window.location.reload).not.toBeCalled();\n});\n\ntest(\"url strategy setLocale normalizes mixed-case explicit locales\", async () => {\n\t// @ts-expect-error - global variable definition\n\tglobalThis.window = {};\n\t// @ts-expect-error - global variable definition\n\tglobalThis.window.location = {};\n\tglobalThis.window.location.hostname = \"example.com\";\n\tglobalThis.window.location.reload = vi.fn();\n\n\tconst runtime = await createParaglide({\n\t\tblob: await newProject({\n\t\t\tsettings: { baseLocale: \"en\", locales: [\"en\", \"de\"] },\n\t\t}),\n\t\tstrategy: [\"url\"],\n\t\turlPatterns: [\n\t\t\t{\n\t\t\t\tpattern: \"https://example.:tld/:path*\",\n\t\t\t\tlocalized: [\n\t\t\t\t\t[\"en\", \"https://example.com/:path*\"],\n\t\t\t\t\t[\"de\", \"https://example.de/:path*\"],\n\t\t\t\t],\n\t\t\t},\n\t\t],\n\t});\n\n\tglobalThis.window.location.href = \"https://example.com/page\";\n\n\truntime.setLocale(\"DE\" as any);\n\n\texpect(globalThis.window.location.href).toBe(\"https://example.de/page\");\n\t// setting window.location.hostname automatically reloads the page\n\texpect(globalThis.window.location.reload).not.toBeCalled();\n});\n\ntest(\"routeStrategies can disable url navigation on matching routes\", async () => {\n\t// @ts-expect-error - global variable definition\n\tglobalThis.window = {};\n\t// @ts-expect-error - global variable definition\n\tglobalThis.document = {};\n\t// @ts-expect-error - global variable definition\n\tglobalThis.window.location = {\n\t\thref: \"https://example.com/dashboard\",\n\t\thostname: \"example.com\",\n\t\treload: vi.fn(),\n\t};\n\n\tconst runtime = await createParaglide({\n\t\tblob: await newProject({\n\t\t\tsettings: { baseLocale: \"en\", locales: [\"en\", \"fr\"] },\n\t\t}),\n\t\tstrategy: [\"url\", \"cookie\", \"baseLocale\"],\n\t\tcookieName: \"PARAGLIDE_LOCALE\",\n\t\trouteStrategies: [\n\t\t\t{\n\t\t\t\tmatch: \"/dashboard/:path(.*)?\",\n\t\t\t\tstrategy: [\"cookie\", \"baseLocale\"],\n\t\t\t},\n\t\t],\n\t});\n\n\tglobalThis.document.cookie = \"PARAGLIDE_LOCALE=en\";\n\truntime.setLocale(\"fr\");\n\n\texpect(globalThis.document.cookie).toBe(\n\t\t\"PARAGLIDE_LOCALE=fr; path=/; max-age=34560000\"\n\t);\n\texpect(globalThis.window.location.href).toBe(\"https://example.com/dashboard\");\n\texpect(globalThis.window.location.reload).toBeCalled();\n});\n\n// `!document.cookie` was used which returned false for an empty string\ntest(\"sets the cookie when it's an empty string\", async () => {\n\tconst runtime = await createParaglide({\n\t\tblob: await newProject({\n\t\t\tsettings: {\n\t\t\t\tbaseLocale: \"en\",\n\t\t\t\tlocales: [\"en\", \"fr\"],\n\t\t\t},\n\t\t}),\n\t\tstrategy: [\"cookie\"],\n\t\tcookieName: \"PARAGLIDE_LOCALE\",\n\t});\n\n\t/** @ts-expect-error - client side api */\n\tglobalThis.document = { cookie: \"\" };\n\n\truntime.setLocale(\"en\");\n\n\texpect(globalThis.document.cookie).toBe(\n\t\t\"PARAGLIDE_LOCALE=en; path=/; max-age=34560000\"\n\t);\n});\n\ntest(\"when strategy precedes URL, it should set the locale and re-direct to the URL\", async () => {\n\tconst runtime = await createParaglide({\n\t\tblob: await newProject({\n\t\t\tsettings: {\n\t\t\t\tbaseLocale: \"en\",\n\t\t\t\tlocales: [\"en\", \"fr\"],\n\t\t\t},\n\t\t}),\n\t\tstrategy: [\"cookie\", \"url\", \"baseLocale\"],\n\t\tcookieName: \"PARAGLIDE_LOCALE\",\n\t\tisServer: \"false\",\n\t\turlPatterns: [\n\t\t\t{\n\t\t\t\tpattern: \"https://example.com/en/:path(.*)?\",\n\t\t\t\tlocalized: [\n\t\t\t\t\t[\"en\", \"https://example.com/en/:path(.*)?\"],\n\t\t\t\t\t[\"fr\", \"https://example.com/fr/:path(.*)?\"],\n\t\t\t\t],\n\t\t\t},\n\t\t],\n\t});\n\n\t/** @ts-expect-error - client side api */\n\tglobalThis.document = { cookie: \"PARAGLIDE_LOCALE=fr\" };\n\tglobalThis.window = {\n\t\tlocation: new URL(\"https://example.com/fr/some-path\"),\n\t} as any;\n\n\t// Cookie strategy should determine locale as French\n\texpect(runtime.getLocale()).toBe(\"fr\");\n\n\truntime.setLocale(\"en\");\n\n\texpect(globalThis.document.cookie).toBe(\n\t\t\"PARAGLIDE_LOCALE=en; path=/; max-age=34560000\"\n\t);\n\texpect(globalThis.window.location.href).toBe(\n\t\t\"https://example.com/en/some-path\"\n\t);\n});\n\ntest(\"overwriteSetLocale receives the options object\", async () => {\n\tconst runtime = await createParaglide({\n\t\tblob: await newProject({\n\t\t\tsettings: {\n\t\t\t\tbaseLocale: \"en\",\n\t\t\t\tlocales: [\"en\", \"fr\"],\n\t\t\t},\n\t\t}),\n\t\tstrategy: [\"cookie\"],\n\t\tcookieName: \"PARAGLIDE_LOCALE\",\n\t});\n\n\t// Provide minimal browser globals to avoid strategy branches failing.\n\t/** @ts-expect-error - browser shim for tests */\n\tglobalThis.document = { cookie: \"\" };\n\tglobalThis.window = {\n\t\tlocation: {\n\t\t\thref: \"https://example.com/en\",\n\t\t\treload: vi.fn(),\n\t\t},\n\t} as any;\n\n\tconst spy = vi.fn();\n\truntime.overwriteSetLocale(spy);\n\n\truntime.setLocale(\"fr\", { reload: false });\n\n\texpect(spy).toHaveBeenCalledWith(\"fr\", { reload: false });\n});\n\n// https://github.com/opral/inlang-paraglide-js/issues/430\ntest(\"should not reload when setting locale to current locale\", async () => {\n\t// @ts-expect-error - global variable definition\n\tglobalThis.document = {};\n\t// @ts-expect-error - global variable definition\n\tglobalThis.window = {};\n\t// @ts-expect-error - global variable definition\n\tglobalThis.window.location = { hostname: \"example.com\" };\n\tglobalThis.window.location.reload = vi.fn();\n\n\tconst runtime = await createParaglide({\n\t\tblob: await newProject({\n\t\t\tsettings: {\n\t\t\t\tbaseLocale: \"en\",\n\t\t\t\tlocales: [\"en\", \"de\"],\n\t\t\t},\n\t\t}),\n\t\tstrategy: [\"cookie\"],\n\t\tcookieName: \"PARAGLIDE_LOCALE\",\n\t});\n\n\tglobalThis.document.cookie = \"PARAGLIDE_LOCALE=en; path=/\";\n\n\t// Setting to the current locale (en)\n\truntime.setLocale(\"en\");\n\n\t// Cookie should remain unchanged\n\texpect(globalThis.document.cookie).toBe(\n\t\t\"PARAGLIDE_LOCALE=en; path=/; max-age=34560000\"\n\t);\n\t// Should not trigger a reload\n\texpect(globalThis.window.location.reload).not.toBeCalled();\n\n\t// Setting to a different locale should still work\n\truntime.setLocale(\"de\");\n\texpect(globalThis.document.cookie).toBe(\n\t\t\"PARAGLIDE_LOCALE=de; path=/; max-age=34560000\"\n\t);\n\texpect(globalThis.window.location.reload).toBeCalled();\n});\n\ntest(\"static locale builds force a document reload when switching locales\", async () => {\n\t// @ts-expect-error - browser shim for tests\n\tglobalThis.document = { cookie: \"\" };\n\tglobalThis.window = {\n\t\tlocation: {\n\t\t\thref: \"https://example.com/en\",\n\t\t\thostname: \"example.com\",\n\t\t\treload: vi.fn(),\n\t\t},\n\t} as any;\n\tconst warn = vi.spyOn(console, \"warn\").mockImplementation(() => undefined);\n\n\ttry {\n\t\tconst runtime = await createParaglide({\n\t\t\tblob: await newProject({\n\t\t\t\tsettings: {\n\t\t\t\t\tbaseLocale: \"en\",\n\t\t\t\t\tlocales: [\"en\", \"de\"],\n\t\t\t\t},\n\t\t\t}),\n\t\t\tstrategy: [\"cookie\"],\n\t\t\tisServer: \"false\",\n\t\t\texperimentalStaticLocale: JSON.stringify(\"en\"),\n\t\t});\n\n\t\truntime.setLocale(\"de\", { reload: false });\n\n\t\texpect(warn).toHaveBeenCalledOnce();\n\t\texpect(globalThis.window.location.reload).toHaveBeenCalledOnce();\n\t} finally {\n\t\twarn.mockRestore();\n\t}\n});\n\ntest(\"sets the locale to localStorage\", async () => {\n\t// @ts-expect-error - global variable definition\n\tglobalThis.localStorage = {\n\t\tsetItem: vi.fn(),\n\t\tgetItem: () => \"en\",\n\t};\n\n\t// @ts-expect-error - global variable definition\n\tglobalThis.window = {};\n\n\tconst runtime = await createParaglide({\n\t\tblob: await newProject({\n\t\t\tsettings: {\n\t\t\t\tbaseLocale: \"en\",\n\t\t\t\tlocales: [\"en\", \"de\"],\n\t\t\t},\n\t\t}),\n\t\tstrategy: [\"localStorage\"],\n\t});\n\n\truntime.setLocale(\"de\");\n\n\texpect(globalThis.localStorage.setItem).toHaveBeenCalledWith(\n\t\t\"PARAGLIDE_LOCALE\",\n\t\t\"de\"\n\t);\n});\n\n// Test that all strategies set their respective storage mechanisms\ntest(\"should set locale in all configured storage mechanisms regardless of which strategy resolved the locale\", async () => {\n\t// Setup global objects\n\t// @ts-expect-error - global variable definition\n\tglobalThis.document = { cookie: \"\" };\n\t// @ts-expect-error - global variable definition\n\tglobalThis.localStorage = {\n\t\tsetItem: vi.fn(),\n\t\tgetItem: () => null,\n\t};\n\t// @ts-expect-error - global variable definition\n\tglobalThis.window = {};\n\t// @ts-expect-error - global variable definition\n\tglobalThis.window.location = {};\n\tglobalThis.window.location.hostname = \"example.com\";\n\tglobalThis.window.location.href = \"https://example.com/en/page\";\n\tglobalThis.window.location.reload = vi.fn();\n\n\t// Create runtime with multiple strategies\n\tconst runtime = await createParaglide({\n\t\tblob: await newProject({\n\t\t\tsettings: {\n\t\t\t\tbaseLocale: \"en\",\n\t\t\t\tlocales: [\"en\", \"de\", \"fr\"],\n\t\t\t},\n\t\t}),\n\t\tstrategy: [\"url\", \"localStorage\", \"cookie\", \"baseLocale\"],\n\t\tcookieName: \"PARAGLIDE_LOCALE\",\n\t\turlPatterns: [\n\t\t\t{\n\t\t\t\tpattern: \"https://example.com/:locale/:path*\",\n\t\t\t\tlocalized: [\n\t\t\t\t\t[\"en\", \"https://example.com/en/:path*\"],\n\t\t\t\t\t[\"de\", \"https://example.com/de/:path*\"],\n\t\t\t\t\t[\"fr\", \"https://example.com/fr/:path*\"],\n\t\t\t\t],\n\t\t\t},\n\t\t],\n\t});\n\n\t// Call setLocale\n\truntime.setLocale(\"fr\");\n\n\t// Verify that all storage mechanisms are updated\n\texpect(globalThis.window.location.href).toBe(\"https://example.com/fr/page\");\n\texpect(globalThis.localStorage.setItem).toHaveBeenCalledWith(\n\t\t\"PARAGLIDE_LOCALE\",\n\t\t\"fr\"\n\t);\n\texpect(globalThis.document.cookie).toBe(\n\t\t\"PARAGLIDE_LOCALE=fr; path=/; max-age=34560000\"\n\t);\n});\n\ntest(\"calls setLocale on custom strategy\", async () => {\n\tlet customLocale = \"en\";\n\tlet setLocaleCalled = false;\n\n\tglobalThis.window = {\n\t\tlocation: { reload: vi.fn() },\n\t} as any;\n\n\tconst runtime = await createParaglide({\n\t\tblob: await newProject({\n\t\t\tsettings: {\n\t\t\t\tbaseLocale: \"en\",\n\t\t\t\tlocales: [\"en\", \"fr\", \"de\"],\n\t\t\t},\n\t\t}),\n\t\tstrategy: [\"custom-setter\", \"baseLocale\"],\n\t\tisServer: \"false\",\n\t});\n\n\truntime.defineCustomClientStrategy(\"custom-setter\", {\n\t\tgetLocale: () => customLocale,\n\t\tsetLocale: (locale) => {\n\t\t\tcustomLocale = locale;\n\t\t\tsetLocaleCalled = true;\n\t\t},\n\t});\n\n\truntime.setLocale(\"fr\");\n\n\texpect(setLocaleCalled).toBe(true);\n\texpect(customLocale).toBe(\"fr\");\n\texpect(globalThis.window.location.reload).toHaveBeenCalled();\n});\n\ntest(\"calls setLocale on multiple custom strategies\", async () => {\n\tlet customLocale1 = \"en\";\n\tlet customLocale2 = \"en\";\n\tlet setLocaleCalled1 = false;\n\tlet setLocaleCalled2 = false;\n\n\tglobalThis.window = {\n\t\tlocation: { reload: vi.fn() },\n\t} as any;\n\n\tconst runtime = await createParaglide({\n\t\tblob: await newProject({\n\t\t\tsettings: {\n\t\t\t\tbaseLocale: \"en\",\n\t\t\t\tlocales: [\"en\", \"fr\", \"de\"],\n\t\t\t},\n\t\t}),\n\t\tstrategy: [\"custom-multi1\", \"custom-multi2\", \"baseLocale\"],\n\t\tisServer: \"false\",\n\t});\n\n\truntime.defineCustomClientStrategy(\"custom-multi1\", {\n\t\tgetLocale: () => customLocale1,\n\t\tsetLocale: (locale) => {\n\t\t\tcustomLocale1 = locale;\n\t\t\tsetLocaleCalled1 = true;\n\t\t},\n\t});\n\n\truntime.defineCustomClientStrategy(\"custom-multi2\", {\n\t\tgetLocale: () => customLocale2,\n\t\tsetLocale: (locale) => {\n\t\t\tcustomLocale2 = locale;\n\t\t\tsetLocaleCalled2 = true;\n\t\t},\n\t});\n\n\truntime.setLocale(\"de\");\n\n\texpect(setLocaleCalled1).toBe(true);\n\texpect(setLocaleCalled2).toBe(true);\n\texpect(customLocale1).toBe(\"de\");\n\texpect(customLocale2).toBe(\"de\");\n});\n\ntest(\"setLocale should return a promise if any custom setLocale function is async\", async () => {\n\tlet customLocale1 = \"en\";\n\n\tconst runtime = await createParaglide({\n\t\tblob: await newProject({\n\t\t\tsettings: {\n\t\t\t\tbaseLocale: \"en\",\n\t\t\t\tlocales: [\"en\", \"fr\", \"de\"],\n\t\t\t},\n\t\t}),\n\t\tstrategy: [\"custom-async\", \"baseLocale\"],\n\t\tisServer: \"false\",\n\t});\n\n\truntime.defineCustomClientStrategy(\"custom-async\", {\n\t\tgetLocale: () => customLocale1,\n\t\tsetLocale: async (locale) => {\n\t\t\tcustomLocale1 = locale;\n\t\t},\n\t});\n\n\tconst setLocalePromise = runtime.setLocale(\"de\");\n\tconst setLocalePromiseWithoutReload = runtime.setLocale(\"de\", {\n\t\treload: false,\n\t});\n\n\texpect(setLocalePromise).toBeInstanceOf(Promise);\n\texpect(setLocalePromiseWithoutReload).toBeInstanceOf(Promise);\n});\n\ntest(\"awaits async setLocale functions to resolve in custom strategy\", async () => {\n\tlet customLocale1 = \"en\";\n\n\tglobalThis.window = {\n\t\tlocation: {\n\t\t\treload: vi.fn(),\n\t\t},\n\t} as any;\n\n\tconst runtime = await createParaglide({\n\t\tblob: await newProject({\n\t\t\tsettings: {\n\t\t\t\tbaseLocale: \"en\",\n\t\t\t\tlocales: [\"en\", \"fr\", \"de\"],\n\t\t\t},\n\t\t}),\n\t\tstrategy: [\"custom-async\", \"baseLocale\"],\n\t\tisServer: \"false\",\n\t});\n\n\truntime.defineCustomClientStrategy(\"custom-async\", {\n\t\tgetLocale: () => customLocale1,\n\t\tsetLocale: async (locale) => {\n\t\t\tcustomLocale1 = locale;\n\t\t},\n\t});\n\n\tconst setLocalePromise = runtime.setLocale(\"de\");\n\texpect(window.location.reload).not.toHaveBeenCalled();\n\n\tawait setLocalePromise;\n\n\t// Verify that setLocale resolved before reload was called\n\texpect(window.location.reload).toHaveBeenCalledTimes(1);\n\texpect(customLocale1).toBe(\"de\");\n});\n\ntest(\"awaits async setLocale functions to resolve in multiple custom strategies\", async () => {\n\tlet customLocale1 = \"en\";\n\tlet customLocale2 = \"en\";\n\n\tglobalThis.window = {\n\t\tlocation: {\n\t\t\treload: vi.fn(),\n\t\t},\n\t} as any;\n\n\tconst runtime = await createParaglide({\n\t\tblob: await newProject({\n\t\t\tsettings: {\n\t\t\t\tbaseLocale: \"en\",\n\t\t\t\tlocales: [\"en\", \"fr\", \"de\"],\n\t\t\t},\n\t\t}),\n\t\tstrategy: [\"custom-async1\", \"custom-async2\", \"baseLocale\"],\n\t\tisServer: \"false\",\n\t});\n\n\truntime.defineCustomClientStrategy(\"custom-async1\", {\n\t\tgetLocale: () => customLocale1,\n\t\tsetLocale: async (locale) => {\n\t\t\tcustomLocale1 = locale;\n\t\t},\n\t});\n\n\truntime.defineCustomClientStrategy(\"custom-async2\", {\n\t\tgetLocale: () => customLocale2,\n\t\tsetLocale: async (locale) => {\n\t\t\tcustomLocale2 = locale;\n\t\t},\n\t});\n\n\tconst setLocalePromise = runtime.setLocale(\"de\");\n\texpect(window.location.reload).not.toHaveBeenCalled();\n\n\tawait setLocalePromise;\n\n\t// Verify that setLocale resolved before reload was called\n\texpect(window.location.reload).toHaveBeenCalledTimes(1);\n\texpect(customLocale1).toBe(\"de\");\n\texpect(customLocale2).toBe(\"de\");\n});\n\ntest(\"reload should not run if async setLocale function rejects in custom strategy\", async () => {\n\tconst customLocale1 = \"en\";\n\n\tglobalThis.window = {\n\t\tlocation: {\n\t\t\treload: vi.fn(),\n\t\t},\n\t} as any;\n\n\tconst runtime = await createParaglide({\n\t\tblob: await newProject({\n\t\t\tsettings: {\n\t\t\t\tbaseLocale: \"en\",\n\t\t\t\tlocales: [\"en\", \"fr\", \"de\"],\n\t\t\t},\n\t\t}),\n\t\tstrategy: [\"custom-async\", \"baseLocale\"],\n\t\tisServer: \"false\",\n\t});\n\n\truntime.defineCustomClientStrategy(\"custom-async\", {\n\t\tgetLocale: () => customLocale1,\n\t\tsetLocale: async () => {\n\t\t\tthrow new Error(\"fetch error\");\n\t\t},\n\t});\n\n\tconst error = expect(() => runtime.setLocale(\"de\")).rejects;\n\tawait error.toThrowError(`Custom strategy \"custom-async\" setLocale failed.`);\n\tawait error.toMatchObject({ cause: { message: \"fetch error\" } });\n\n\t// Verify that reload was never called\n\texpect(window.location.reload).toHaveBeenCalledTimes(0);\n\texpect(customLocale1).toBe(\"en\");\n});\n\ntest(\"custom strategy setLocale works with cookie and localStorage\", async () => {\n\tlet customData = \"en\";\n\n\tglobalThis.document = { cookie: \"\" } as any;\n\tglobalThis.localStorage = {\n\t\tsetItem: vi.fn(),\n\t\tgetItem: () => null,\n\t} as any;\n\tglobalThis.window = {\n\t\tlocation: {\n\t\t\thostname: \"example.com\",\n\t\t\treload: vi.fn(),\n\t\t},\n\t} as any;\n\n\tconst runtime = await createParaglide({\n\t\tblob: await newProject({\n\t\t\tsettings: {\n\t\t\t\tbaseLocale: \"en\",\n\t\t\t\tlocales: [\"en\", \"fr\", \"de\"],\n\t\t\t},\n\t\t}),\n\t\tstrategy: [\"custom-api\", \"localStorage\", \"cookie\", \"baseLocale\"],\n\t\tcookieName: \"PARAGLIDE_LOCALE\",\n\t\tisServer: \"false\",\n\t});\n\n\truntime.defineCustomClientStrategy(\"custom-api\", {\n\t\tgetLocale: () => customData,\n\t\tsetLocale: (locale) => {\n\t\t\tcustomData = locale;\n\t\t},\n\t});\n\n\truntime.setLocale(\"fr\");\n\n\texpect(customData).toBe(\"fr\");\n\texpect(globalThis.localStorage.setItem).toHaveBeenCalledWith(\n\t\t\"PARAGLIDE_LOCALE\",\n\t\t\"fr\"\n\t);\n\texpect(globalThis.document.cookie).toBe(\n\t\t\"PARAGLIDE_LOCALE=fr; path=/; max-age=34560000\"\n\t);\n});\n\ntest(\"custom strategy setLocale integrates with URL strategy\", async () => {\n\tlet customStoredLocale = \"en\";\n\n\tglobalThis.window = {\n\t\tlocation: {\n\t\t\thostname: \"example.com\",\n\t\t\thref: \"https://example.com/en/page\",\n\t\t\treload: vi.fn(),\n\t\t},\n\t} as any;\n\n\tconst runtime = await createParaglide({\n\t\tblob: await newProject({\n\t\t\tsettings: {\n\t\t\t\tbaseLocale: \"en\",\n\t\t\t\tlocales: [\"en\", \"fr\", \"de\"],\n\t\t\t},\n\t\t}),\n\t\tstrategy: [\"url\", \"custom-urlIntegration\", \"baseLocale\"],\n\t\turlPatterns: [\n\t\t\t{\n\t\t\t\tpattern: \"https://example.com/:locale/:path*\",\n\t\t\t\tlocalized: [\n\t\t\t\t\t[\"en\", \"https://example.com/en/:path*\"],\n\t\t\t\t\t[\"fr\", \"https://example.com/fr/:path*\"],\n\t\t\t\t\t[\"de\", \"https://example.com/de/:path*\"],\n\t\t\t\t],\n\t\t\t},\n\t\t],\n\t\tisServer: \"false\",\n\t});\n\n\truntime.defineCustomClientStrategy(\"custom-urlIntegration\", {\n\t\tgetLocale: () => customStoredLocale,\n\t\tsetLocale: (locale) => {\n\t\t\tcustomStoredLocale = locale;\n\t\t},\n\t});\n\n\truntime.setLocale(\"de\");\n\n\texpect(globalThis.window.location.href).toBe(\"https://example.com/de/page\");\n\texpect(customStoredLocale).toBe(\"de\");\n});\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"should-redirect.js","sourceRoot":"","sources":["../../../src/compiler/runtime/should-redirect.js"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"should-redirect.js","sourceRoot":"","sources":["../../../src/compiler/runtime/should-redirect.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,6BAA6B,EAAE,MAAM,wCAAwC,CAAC;AACvF,OAAO,EACN,iBAAiB,EACjB,yBAAyB,GACzB,MAAM,qBAAqB,CAAC;AAE7B;;;;;;;;;;;;;;;;;GAiBG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,KAAK,GAAG,EAAE;IAC9C,MAAM,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IACrC,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IACtD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAEpD,IAAI,yBAAyB,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7E,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;IAClE,CAAC;IAED,MAAM,YAAY,GAAG,WAAW,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAE9D,MAAM,4BAA4B,GACjC,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAEnE,OAAO;QACN,cAAc,EAAE,4BAA4B;QAC5C,MAAM;QACN,WAAW,EAAE,4BAA4B,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;KACpE,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,aAAa,CAAC,KAAK,EAAE,UAAU;IAC7C,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACtC,IAAI,MAAM,EAAE,CAAC;QACZ,OAAO,MAAM,CAAC;IACf,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QACnB,OAAO,6BAA6B,CAAC,KAAK,CAAC,OAAO,EAAE;YACnD,mBAAmB,EAAE,UAAU;SAC/B,CAAC,CAAC;IACJ,CAAC;IAED,IAAI,KAAK,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,GAAG,KAAK,WAAW,EAAE,CAAC;QACxD,OAAO,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAED,OAAO,SAAS,EAAE,CAAC;AACpB,CAAC;AAED;;;;;GAKG;AACH,SAAS,UAAU,CAAC,KAAK;IACxB,IACC,qBAAqB,IAAI,KAAK;QAC9B,KAAK,CAAC,mBAAmB,YAAY,GAAG,EACvC,CAAC;QACF,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;IAED,IACC,qBAAqB,IAAI,KAAK;QAC9B,OAAO,KAAK,CAAC,mBAAmB,KAAK,QAAQ,EAC5C,CAAC;QACF,OAAO,IAAI,GAAG,CACb,KAAK,CAAC,mBAAmB,EACzB,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,EAAE,CAClD,CAAC;IACH,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QACnB,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC;IAED,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,CAAC,GAAG,YAAY,GAAG,EAAE,CAAC;QAChD,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED,IAAI,KAAK,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;QACrD,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAC7D,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,MAAM,IAAI,KAAK,CACd,oGAAoG,CACpG,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAS,YAAY,CAAC,GAAG;IACxB,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IAC5B,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACrD,OAAO,MAAM,CAAC,IAAI,CAAC;AACpB,CAAC","sourcesContent":["import { localizeUrl } from \"./localize-url.js\";\nimport { toLocale } from \"./check-locale.js\";\nimport { getLocale, getLocaleForUrl } from \"./get-locale.js\";\nimport { getUrlOrigin } from \"./get-url-origin.js\";\nimport { extractLocaleFromRequestAsync } from \"./extract-locale-from-request-async.js\";\nimport {\n\tgetStrategyForUrl,\n\tisExcludedByRouteStrategy,\n} from \"./route-strategy.js\";\n\n/**\n * @typedef {object} ShouldRedirectServerInput\n * @property {Request} request\n * @property {string | URL} [effectiveRequestUrl] - Effective request URL to use for route matching, locale detection with the URL strategy, and redirect targets.\n * @property {Locale} [locale]\n *\n * @typedef {object} ShouldRedirectClientInput\n * @property {undefined} [request]\n * @property {string | URL} [url]\n * @property {Locale} [locale]\n *\n * @typedef {ShouldRedirectServerInput | ShouldRedirectClientInput} ShouldRedirectInput\n *\n * @typedef {object} ShouldRedirectResult\n * @property {boolean} shouldRedirect - Indicates whether the consumer should perform a redirect.\n * @property {Locale} locale - Locale resolved using the configured strategies.\n * @property {URL | undefined} redirectUrl - Destination URL when a redirect is required.\n */\n\n/**\n * Determines whether a redirect is required to align the current URL with the active locale.\n *\n * This helper mirrors the logic that powers `paraglideMiddleware`, but works in both server\n * and client environments. It evaluates the configured strategies in order, computes the\n * canonical localized URL, and reports when the current URL does not match.\n *\n * When called in the browser without arguments, the current `window.location.href` is used.\n *\n * @see https://paraglidejs.com/i18n-routing#redirects\n *\n * @example\n * // Client side usage (e.g. TanStack Router beforeLoad hook)\n * async function beforeLoad({ location }) {\n * const decision = await shouldRedirect({ url: location.href });\n *\n * if (decision.shouldRedirect) {\n * throw redirect({ to: decision.redirectUrl.href });\n * }\n * }\n *\n * @example\n * // Server side usage with a Request\n * export async function handle(request) {\n * const decision = await shouldRedirect({ request });\n *\n * if (decision.shouldRedirect) {\n * return Response.redirect(decision.redirectUrl, 307);\n * }\n *\n * return render(request, decision.locale);\n * }\n *\n * @example\n * // Server side usage behind a proxy where request.url is not public-facing\n * export async function handle(request) {\n * const effectiveRequestUrl = new URL(request.url);\n * effectiveRequestUrl.protocol = \"https:\";\n * effectiveRequestUrl.host = \"example.com\";\n *\n * const decision = await shouldRedirect({\n * request,\n * effectiveRequestUrl,\n * });\n *\n * if (decision.shouldRedirect) {\n * return Response.redirect(decision.redirectUrl, 307);\n * }\n * }\n *\n * @param {ShouldRedirectInput} [input]\n * @returns {Promise<ShouldRedirectResult>}\n */\nexport async function shouldRedirect(input = {}) {\n\tconst currentUrl = resolveUrl(input);\n\tconst locale = await resolveLocale(input, currentUrl);\n\tconst strategy = getStrategyForUrl(currentUrl.href);\n\n\tif (isExcludedByRouteStrategy(currentUrl.href) || !strategy.includes(\"url\")) {\n\t\treturn { shouldRedirect: false, locale, redirectUrl: undefined };\n\t}\n\n\tconst localizedUrl = localizeUrl(currentUrl.href, { locale });\n\n\tconst shouldRedirectToLocalizedUrl =\n\t\tnormalizeUrl(localizedUrl.href) !== normalizeUrl(currentUrl.href);\n\n\treturn {\n\t\tshouldRedirect: shouldRedirectToLocalizedUrl,\n\t\tlocale,\n\t\tredirectUrl: shouldRedirectToLocalizedUrl ? localizedUrl : undefined,\n\t};\n}\n\n/**\n * Resolves the locale either from the provided input or by using the configured strategies.\n *\n * @param {ShouldRedirectInput} input\n * @param {URL} currentUrl\n * @returns {Promise<Locale>}\n */\nasync function resolveLocale(input, currentUrl) {\n\tconst locale = toLocale(input.locale);\n\tif (locale) {\n\t\treturn locale;\n\t}\n\n\tif (input.request) {\n\t\treturn extractLocaleFromRequestAsync(input.request, {\n\t\t\teffectiveRequestUrl: currentUrl,\n\t\t});\n\t}\n\n\tif (\"url\" in input && typeof input.url !== \"undefined\") {\n\t\treturn getLocaleForUrl(currentUrl.href);\n\t}\n\n\treturn getLocale();\n}\n\n/**\n * Resolves the current URL from the provided input or runtime context.\n *\n * @param {ShouldRedirectInput} input\n * @returns {URL}\n */\nfunction resolveUrl(input) {\n\tif (\n\t\t\"effectiveRequestUrl\" in input &&\n\t\tinput.effectiveRequestUrl instanceof URL\n\t) {\n\t\treturn new URL(input.effectiveRequestUrl.href);\n\t}\n\n\tif (\n\t\t\"effectiveRequestUrl\" in input &&\n\t\ttypeof input.effectiveRequestUrl === \"string\"\n\t) {\n\t\treturn new URL(\n\t\t\tinput.effectiveRequestUrl,\n\t\t\tinput.request ? input.request.url : getUrlOrigin()\n\t\t);\n\t}\n\n\tif (input.request) {\n\t\treturn new URL(input.request.url);\n\t}\n\n\tif (\"url\" in input && input.url instanceof URL) {\n\t\treturn new URL(input.url.href);\n\t}\n\n\tif (\"url\" in input && typeof input.url === \"string\") {\n\t\treturn new URL(input.url, getUrlOrigin());\n\t}\n\n\tif (typeof window !== \"undefined\" && window?.location?.href) {\n\t\treturn new URL(window.location.href);\n\t}\n\n\tthrow new Error(\n\t\t\"shouldRedirect() requires either a request, an absolute URL, or must run in a browser environment.\"\n\t);\n}\n\n/**\n * Normalize url for comparison by stripping the trailing slash.\n *\n * @param {string} url\n * @returns {string}\n */\nfunction normalizeUrl(url) {\n\tconst urlObj = new URL(url);\n\turlObj.pathname = urlObj.pathname.replace(/\\/$/, \"\");\n\treturn urlObj.href;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"should-redirect.test.js","sourceRoot":"","sources":["../../../src/compiler/runtime/should-redirect.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"should-redirect.test.js","sourceRoot":"","sources":["../../../src/compiler/runtime/should-redirect.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { expect, test } from \"vitest\";\nimport { createParaglide } from \"../create-paraglide.js\";\nimport { newProject } from \"@inlang/sdk\";\n\ntest(\"shouldRedirect redirects to the strategy-preferred locale on the server\", async () => {\n\tconst runtime = await createParaglide({\n\t\tblob: await newProject({\n\t\t\tsettings: {\n\t\t\t\tbaseLocale: \"en\",\n\t\t\t\tlocales: [\"en\", \"fr\"],\n\t\t\t},\n\t\t}),\n\t\tstrategy: [\"cookie\", \"url\"],\n\t\tcookieName: \"PARAGLIDE_LOCALE\",\n\t\turlPatterns: [\n\t\t\t{\n\t\t\t\tpattern: \"https://example.com/:path(.*)?\",\n\t\t\t\tlocalized: [\n\t\t\t\t\t[\"en\", \"https://example.com/en/:path(.*)?\"],\n\t\t\t\t\t[\"fr\", \"https://example.com/fr/:path(.*)?\"],\n\t\t\t\t],\n\t\t\t},\n\t\t],\n\t});\n\n\tconst request = new Request(\"https://example.com/en/dashboard\", {\n\t\theaders: {\n\t\t\tcookie: \"PARAGLIDE_LOCALE=fr\",\n\t\t},\n\t});\n\n\tconst decision = await runtime.shouldRedirect({ request });\n\n\texpect(decision.shouldRedirect).toBe(true);\n\texpect(decision.redirectUrl?.href).toBe(\"https://example.com/fr/dashboard\");\n\texpect(decision.locale).toBe(\"fr\");\n});\n\ntest(\"shouldRedirect uses the provided public url when the transport request url differs\", async () => {\n\tconst runtime = await createParaglide({\n\t\tblob: await newProject({\n\t\t\tsettings: {\n\t\t\t\tbaseLocale: \"en\",\n\t\t\t\tlocales: [\"en\", \"fr\"],\n\t\t\t},\n\t\t}),\n\t\tstrategy: [\"cookie\", \"url\"],\n\t\tcookieName: \"PARAGLIDE_LOCALE\",\n\t\turlPatterns: [\n\t\t\t{\n\t\t\t\tpattern: \"https://example.com/:path(.*)?\",\n\t\t\t\tlocalized: [\n\t\t\t\t\t[\"en\", \"https://example.com/en/:path(.*)?\"],\n\t\t\t\t\t[\"fr\", \"https://example.com/fr/:path(.*)?\"],\n\t\t\t\t],\n\t\t\t},\n\t\t],\n\t});\n\n\tconst request = new Request(\"http://internal.example.com/en/dashboard\", {\n\t\theaders: {\n\t\t\tcookie: \"PARAGLIDE_LOCALE=fr\",\n\t\t},\n\t});\n\n\tconst decision = await runtime.shouldRedirect({\n\t\trequest,\n\t\teffectiveRequestUrl: \"https://example.com/en/dashboard\",\n\t});\n\n\texpect(decision.shouldRedirect).toBe(true);\n\texpect(decision.redirectUrl?.href).toBe(\"https://example.com/fr/dashboard\");\n\texpect(decision.locale).toBe(\"fr\");\n});\n\ntest(\"shouldRedirect resolves relative effectiveRequestUrl strings against request.url\", async () => {\n\tconst runtime = await createParaglide({\n\t\tblob: await newProject({\n\t\t\tsettings: {\n\t\t\t\tbaseLocale: \"en\",\n\t\t\t\tlocales: [\"en\", \"fr\"],\n\t\t\t},\n\t\t}),\n\t\tstrategy: [\"cookie\", \"url\"],\n\t\tcookieName: \"PARAGLIDE_LOCALE\",\n\t\turlPatterns: [\n\t\t\t{\n\t\t\t\tpattern: \"https://example.com/:path(.*)?\",\n\t\t\t\tlocalized: [\n\t\t\t\t\t[\"en\", \"https://example.com/en/:path(.*)?\"],\n\t\t\t\t\t[\"fr\", \"https://example.com/fr/:path(.*)?\"],\n\t\t\t\t],\n\t\t\t},\n\t\t],\n\t});\n\n\tconst request = new Request(\"https://example.com/en/dashboard\", {\n\t\theaders: {\n\t\t\tcookie: \"PARAGLIDE_LOCALE=fr\",\n\t\t},\n\t});\n\n\tconst decision = await runtime.shouldRedirect({\n\t\trequest,\n\t\teffectiveRequestUrl: \"/en/dashboard\",\n\t});\n\n\texpect(decision.shouldRedirect).toBe(true);\n\texpect(decision.redirectUrl?.href).toBe(\"https://example.com/fr/dashboard\");\n\texpect(decision.locale).toBe(\"fr\");\n});\n\ntest(\"shouldRedirect keeps request precedence over url on the server\", async () => {\n\tconst runtime = await createParaglide({\n\t\tblob: await newProject({\n\t\t\tsettings: {\n\t\t\t\tbaseLocale: \"en\",\n\t\t\t\tlocales: [\"en\", \"fr\"],\n\t\t\t},\n\t\t}),\n\t\tstrategy: [\"cookie\", \"url\"],\n\t\tcookieName: \"PARAGLIDE_LOCALE\",\n\t\turlPatterns: [\n\t\t\t{\n\t\t\t\tpattern: \"https://example.com/:path(.*)?\",\n\t\t\t\tlocalized: [\n\t\t\t\t\t[\"en\", \"https://example.com/en/:path(.*)?\"],\n\t\t\t\t\t[\"fr\", \"https://example.com/fr/:path(.*)?\"],\n\t\t\t\t],\n\t\t\t},\n\t\t],\n\t});\n\n\tconst request = new Request(\"https://example.com/en/dashboard\", {\n\t\theaders: {\n\t\t\tcookie: \"PARAGLIDE_LOCALE=fr\",\n\t\t},\n\t});\n\n\tconst decision = await runtime.shouldRedirect({\n\t\trequest,\n\t\turl: \"/dashboard\",\n\t} as any);\n\n\texpect(decision.shouldRedirect).toBe(true);\n\texpect(decision.redirectUrl?.href).toBe(\"https://example.com/fr/dashboard\");\n\texpect(decision.locale).toBe(\"fr\");\n});\n\ntest(\"shouldRedirect does nothing when the URL already matches\", async () => {\n\tconst runtime = await createParaglide({\n\t\tblob: await newProject({\n\t\t\tsettings: {\n\t\t\t\tbaseLocale: \"en\",\n\t\t\t\tlocales: [\"en\", \"fr\"],\n\t\t\t},\n\t\t}),\n\t\tstrategy: [\"cookie\", \"url\"],\n\t\tcookieName: \"PARAGLIDE_LOCALE\",\n\t\turlPatterns: [\n\t\t\t{\n\t\t\t\tpattern: \"https://example.com/:path(.*)?\",\n\t\t\t\tlocalized: [\n\t\t\t\t\t[\"en\", \"https://example.com/en/:path(.*)?\"],\n\t\t\t\t\t[\"fr\", \"https://example.com/fr/:path(.*)?\"],\n\t\t\t\t],\n\t\t\t},\n\t\t],\n\t});\n\n\tconst request = new Request(\"https://example.com/fr/dashboard\", {\n\t\theaders: {\n\t\t\tcookie: \"PARAGLIDE_LOCALE=fr\",\n\t\t},\n\t});\n\n\tconst decision = await runtime.shouldRedirect({ request });\n\n\texpect(decision.shouldRedirect).toBe(false);\n\texpect(decision.redirectUrl).toBeUndefined();\n\texpect(decision.locale).toBe(\"fr\");\n});\n\ntest(\"shouldRedirect falls back to the browser URL when no input is provided\", async () => {\n\tconst runtime = await createParaglide({\n\t\tblob: await newProject({\n\t\t\tsettings: {\n\t\t\t\tbaseLocale: \"en\",\n\t\t\t\tlocales: [\"en\", \"de\"],\n\t\t\t},\n\t\t}),\n\t\tstrategy: [\"url\", \"globalVariable\"],\n\t\tisServer: \"false\",\n\t\turlPatterns: undefined,\n\t});\n\n\tconst originalWindow = globalThis.window;\n\ttry {\n\t\tglobalThis.window = {\n\t\t\tlocation: {\n\t\t\t\thref: \"https://example.com/en/profile\",\n\t\t\t\torigin: \"https://example.com\",\n\t\t\t},\n\t\t} as any;\n\n\t\truntime.overwriteGetLocale(() => \"de\");\n\n\t\tconst decision = await runtime.shouldRedirect();\n\n\t\texpect(decision.shouldRedirect).toBe(true);\n\t\texpect(decision.redirectUrl?.href).toBe(\"https://example.com/de/profile\");\n\t\texpect(decision.locale).toBe(\"de\");\n\t} finally {\n\t\tif (originalWindow === undefined) {\n\t\t\tReflect.deleteProperty(globalThis, \"window\");\n\t\t} else {\n\t\t\tglobalThis.window = originalWindow;\n\t\t}\n\t}\n});\n\ntest(\"shouldRedirect({ url }) resolves locale using target URL routeStrategies on client\", async () => {\n\tconst runtime = await createParaglide({\n\t\tblob: await newProject({\n\t\t\tsettings: {\n\t\t\t\tbaseLocale: \"en\",\n\t\t\t\tlocales: [\"en\", \"fr\"],\n\t\t\t},\n\t\t}),\n\t\tstrategy: [\"url\", \"cookie\", \"baseLocale\"],\n\t\tcookieName: \"PARAGLIDE_LOCALE\",\n\t\tisServer: \"false\",\n\t\turlPatterns: [\n\t\t\t{\n\t\t\t\tpattern: \"https://example.com/:path(.*)?\",\n\t\t\t\tlocalized: [\n\t\t\t\t\t[\"en\", \"https://example.com/en/:path(.*)?\"],\n\t\t\t\t\t[\"fr\", \"https://example.com/fr/:path(.*)?\"],\n\t\t\t\t],\n\t\t\t},\n\t\t],\n\t\trouteStrategies: [\n\t\t\t{\n\t\t\t\tmatch: \"/dashboard/:path(.*)?\",\n\t\t\t\tstrategy: [\"cookie\", \"baseLocale\"],\n\t\t\t},\n\t\t],\n\t});\n\n\tconst originalWindow = globalThis.window;\n\tconst originalDocument = globalThis.document;\n\n\ttry {\n\t\tglobalThis.window = {\n\t\t\tlocation: {\n\t\t\t\thref: \"https://example.com/dashboard\",\n\t\t\t\torigin: \"https://example.com\",\n\t\t\t},\n\t\t} as any;\n\t\tglobalThis.document = {\n\t\t\tcookie: \"PARAGLIDE_LOCALE=fr\",\n\t\t} as any;\n\n\t\tconst decision = await runtime.shouldRedirect({\n\t\t\turl: \"https://example.com/en/profile\",\n\t\t});\n\n\t\texpect(decision.shouldRedirect).toBe(false);\n\t\texpect(decision.redirectUrl).toBeUndefined();\n\t\texpect(decision.locale).toBe(\"en\");\n\t} finally {\n\t\tif (originalWindow === undefined) {\n\t\t\tReflect.deleteProperty(globalThis, \"window\");\n\t\t} else {\n\t\t\tglobalThis.window = originalWindow;\n\t\t}\n\n\t\tif (originalDocument === undefined) {\n\t\t\tReflect.deleteProperty(globalThis, \"document\");\n\t\t} else {\n\t\t\tglobalThis.document = originalDocument;\n\t\t}\n\t}\n});\n\ntest(\"shouldRedirect never suggests a redirect without the url strategy\", async () => {\n\tconst runtime = await createParaglide({\n\t\tblob: await newProject({\n\t\t\tsettings: {\n\t\t\t\tbaseLocale: \"en\",\n\t\t\t\tlocales: [\"en\", \"fr\"],\n\t\t\t},\n\t\t}),\n\t\tstrategy: [\"cookie\"],\n\t\tcookieName: \"PARAGLIDE_LOCALE\",\n\t});\n\n\tconst request = new Request(\"https://example.com/en/dashboard\", {\n\t\theaders: {\n\t\t\tcookie: \"PARAGLIDE_LOCALE=fr\",\n\t\t},\n\t});\n\n\tconst decision = await runtime.shouldRedirect({ request });\n\n\texpect(decision.shouldRedirect).toBe(false);\n\texpect(decision.redirectUrl).toBeUndefined();\n\texpect(decision.locale).toBe(\"fr\");\n});\n\ntest(\"shouldRedirect respects routeStrategies that disable url strategy per route\", async () => {\n\tconst runtime = await createParaglide({\n\t\tblob: await newProject({\n\t\t\tsettings: {\n\t\t\t\tbaseLocale: \"en\",\n\t\t\t\tlocales: [\"en\", \"fr\"],\n\t\t\t},\n\t\t}),\n\t\tstrategy: [\"url\", \"cookie\", \"baseLocale\"],\n\t\tcookieName: \"PARAGLIDE_LOCALE\",\n\t\trouteStrategies: [\n\t\t\t{\n\t\t\t\tmatch: \"/dashboard/:path(.*)?\",\n\t\t\t\tstrategy: [\"cookie\", \"baseLocale\"],\n\t\t\t},\n\t\t],\n\t});\n\n\tconst request = new Request(\"https://example.com/dashboard\", {\n\t\theaders: {\n\t\t\tcookie: \"PARAGLIDE_LOCALE=fr\",\n\t\t},\n\t});\n\n\tconst decision = await runtime.shouldRedirect({ request });\n\n\texpect(decision.shouldRedirect).toBe(false);\n\texpect(decision.redirectUrl).toBeUndefined();\n\texpect(decision.locale).toBe(\"fr\");\n});\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"strategy.js","sourceRoot":"","sources":["../../../src/compiler/runtime/strategy.js"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AAEH;;GAEG;AAEH;;GAEG;AAEH;;GAEG;AAEH;;GAEG;AAEH,uDAAuD;AACvD,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,GAAG,EAAE,CAAC;AAChD,uDAAuD;AACvD,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,GAAG,EAAE,CAAC;AAEhD;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAAQ;IACxC,OAAO,CACN,OAAO,QAAQ,KAAK,QAAQ,IAAI,yBAAyB,CAAC,IAAI,CAAC,QAAQ,CAAC,CACxE,CAAC;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,0BAA0B,CAAC,QAAQ,EAAE,OAAO;IAC3D,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CACd,6BAA6B,QAAQ,iEAAiE,CACtG,CAAC;IACH,CAAC;IAED,sBAAsB,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AAC/C,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,0BAA0B,CAAC,QAAQ,EAAE,OAAO;IAC3D,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CACd,6BAA6B,QAAQ,iEAAiE,CACtG,CAAC;IACH,CAAC;IAED,sBAAsB,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AAC/C,CAAC"}
|
|
1
|
+
{"version":3,"file":"strategy.js","sourceRoot":"","sources":["../../../src/compiler/runtime/strategy.js"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AAEH;;GAEG;AAEH;;GAEG;AAEH;;GAEG;AAEH;;GAEG;AAEH,uDAAuD;AACvD,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,GAAG,EAAE,CAAC;AAChD,uDAAuD;AACvD,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,GAAG,EAAE,CAAC;AAEhD;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAAQ;IACxC,OAAO,CACN,OAAO,QAAQ,KAAK,QAAQ,IAAI,yBAAyB,CAAC,IAAI,CAAC,QAAQ,CAAC,CACxE,CAAC;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,0BAA0B,CAAC,QAAQ,EAAE,OAAO;IAC3D,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CACd,6BAA6B,QAAQ,iEAAiE,CACtG,CAAC;IACH,CAAC;IAED,sBAAsB,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AAC/C,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,0BAA0B,CAAC,QAAQ,EAAE,OAAO;IAC3D,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CACd,6BAA6B,QAAQ,iEAAiE,CACtG,CAAC;IACH,CAAC;IAED,sBAAsB,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AAC/C,CAAC","sourcesContent":["/**\n * @typedef {\"cookie\" | \"baseLocale\" | \"globalVariable\" | \"url\" | \"preferredLanguage\" | \"localStorage\"} BuiltInStrategy\n */\n\n/**\n * @typedef {`custom_${string}`} CustomStrategy\n */\n\n/**\n * @typedef {BuiltInStrategy | CustomStrategy} Strategy\n */\n\n/**\n * @typedef {Array<Strategy>} Strategies\n */\n\n/**\n * @typedef {{ getLocale: (request?: Request) => Promise<string | undefined> | (string | undefined) }} CustomServerStrategyHandler\n */\n\n/**\n * @typedef {{ getLocale: () => Promise<string|undefined> | (string | undefined), setLocale: (locale: string) => Promise<void> | void }} CustomClientStrategyHandler\n */\n\n/** @type {Map<string, CustomServerStrategyHandler>} */\nexport const customServerStrategies = new Map();\n/** @type {Map<string, CustomClientStrategyHandler>} */\nexport const customClientStrategies = new Map();\n\n/**\n * Checks if the given strategy is a custom strategy.\n *\n * @param {unknown} strategy The name of the custom strategy to validate.\n * Must be a string that starts with \"custom-\" followed by alphanumeric characters, hyphens, or underscores.\n * @returns {boolean} Returns true if it is a custom strategy, false otherwise.\n */\nexport function isCustomStrategy(strategy) {\n\treturn (\n\t\ttypeof strategy === \"string\" && /^custom-[A-Za-z0-9_-]+$/.test(strategy)\n\t);\n}\n\n/**\n * Defines a custom strategy that is executed on the server.\n *\n * @see https://paraglidejs.com/strategy#write-your-own-strategy\n *\n * @param {string} strategy The name of the custom strategy to define. Must follow the pattern custom-name with alphanumeric characters, hyphens, or underscores.\n * @param {CustomServerStrategyHandler} handler The handler for the custom strategy, which should implement\n * the method getLocale.\n * @returns {void}\n */\nexport function defineCustomServerStrategy(strategy, handler) {\n\tif (!isCustomStrategy(strategy)) {\n\t\tthrow new Error(\n\t\t\t`Invalid custom strategy: \"${strategy}\". Must be a custom strategy following the pattern custom-name.`\n\t\t);\n\t}\n\n\tcustomServerStrategies.set(strategy, handler);\n}\n\n/**\n * Defines a custom strategy that is executed on the client.\n *\n * @see https://paraglidejs.com/strategy#write-your-own-strategy\n *\n * @param {string} strategy The name of the custom strategy to define. Must follow the pattern custom-name with alphanumeric characters, hyphens, or underscores.\n * @param {CustomClientStrategyHandler} handler The handler for the custom strategy, which should implement the\n * methods getLocale and setLocale.\n * @returns {void}\n */\nexport function defineCustomClientStrategy(strategy, handler) {\n\tif (!isCustomStrategy(strategy)) {\n\t\tthrow new Error(\n\t\t\t`Invalid custom strategy: \"${strategy}\". Must be a custom strategy following the pattern custom-name.`\n\t\t);\n\t}\n\n\tcustomClientStrategies.set(strategy, handler);\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"strategy.test.js","sourceRoot":"","sources":["../../../src/compiler/runtime/strategy.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"strategy.test.js","sourceRoot":"","sources":["../../../src/compiler/runtime/strategy.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EACN,0BAA0B,EAC1B,0BAA0B,EAC1B,gBAAgB,GAChB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IACjC,IAAI,CAAC,iDAAiD,EAAE,GAAG,EAAE;QAC5D,MAAM,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrD,MAAM,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtD,MAAM,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClD,MAAM,CAAC,gBAAgB,CAAC,uBAAuB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7D,MAAM,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrD,MAAM,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChD,MAAM,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChD,MAAM,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChD,MAAM,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChD,MAAM,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,oDAAoD,EAAE,GAAG,EAAE;QAC/D,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzC,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChD,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChD,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/C,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/C,gDAAgD;QAChD,MAAM,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3D,MAAM,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3D,kDAAkD;QAClD,MAAM,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5D,MAAM,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxD,MAAM,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtD,MAAM,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtD,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3C,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChD,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1C,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzC,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACtD,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/C,MAAM,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnD,MAAM,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvD,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5C,MAAM,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1D,MAAM,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,IAAI,CAAC;IACb,CAAC,4BAA4B,EAAE,0BAA0B,CAAC;IAC1D,CAAC,4BAA4B,EAAE,0BAA0B,CAAC;CAC1D,CAAC,CAAC,IAAI,EAAE,CAAC,YAAY,EAAE,cAAc,EAAE,EAAE;IACzC,UAAU,CAAC,GAAG,EAAE;QACf,0CAA0C;QAC1C,IAAI,OAAO,UAAU,KAAK,WAAW,EAAE,CAAC;YACvC,iDAAiD;YACjD,OAAO,UAAU,CAAC,QAAQ,CAAC;YAC3B,iDAAiD;YACjD,OAAO,UAAU,CAAC,MAAM,CAAC;YACzB,iDAAiD;YACjD,OAAO,UAAU,CAAC,YAAY,CAAC;YAC/B,iDAAiD;YACjD,OAAO,UAAU,CAAC,SAAS,CAAC;QAC7B,CAAC;IACF,CAAC,CAAC,CAAC;IAEH,MAAM,cAAc,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,CAAC;IAEtE,MAAM,aAAa,GAAG;QACrB,CAAC,EAAE,EAAE,YAAY,CAAC;QAClB,CAAC,UAAU,EAAE,mCAAmC,CAAC;QACjD,CAAC,UAAU,EAAE,mCAAmC,CAAC;QACjD,CAAC,UAAU,EAAE,mBAAmB,CAAC;KACjC,CAAC;IAEF,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CACvB,GAAG,YAAY,2BAA2B,EAC1C,CAAC,KAAK,EAAE,EAAE;QACT,MAAM,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,OAAO,CAC1D,6BAA6B,KAAK,iEAAiE,CACnG,CAAC;IACH,CAAC,CACD,CAAC;IAEF,IAAI,CAAC,GAAG,YAAY,0DAA0D,EAAE,KAAK,IAAI,EAAE;QAC1F,8CAA8C;QAC9C,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC;YACrC,IAAI,EAAE,MAAM,UAAU,CAAC;gBACtB,QAAQ,EAAE;oBACT,UAAU,EAAE,IAAI;oBAChB,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;iBAC3B;aACD,CAAC;YACF,QAAQ,EAAE,CAAC,aAAa,EAAE,eAAe,EAAE,QAAQ,EAAE,YAAY,CAAC;YAClE,UAAU,EAAE,kBAAkB;SAC9B,CAAC,CAAC;QAEH,iDAAiD;QACjD,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC;YAChC,aAAa;YACb,eAAe;YACf,QAAQ;YACR,YAAY;SACZ,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC","sourcesContent":["import { test, expect, describe, beforeEach } from \"vitest\";\nimport { newProject } from \"@inlang/sdk\";\nimport {\n\tdefineCustomServerStrategy,\n\tdefineCustomClientStrategy,\n\tisCustomStrategy,\n} from \"./strategy.js\";\nimport { createParaglide } from \"../create-paraglide.js\";\n\ndescribe(\"isCustomStrategy\", () => {\n\ttest(\"returns true for valid custom strategy patterns\", () => {\n\t\texpect(isCustomStrategy(\"custom-header\")).toBe(true);\n\t\texpect(isCustomStrategy(\"custom-auth123\")).toBe(true);\n\t\texpect(isCustomStrategy(\"custom-API\")).toBe(true);\n\t\texpect(isCustomStrategy(\"custom-sessionStorage\")).toBe(true);\n\t\texpect(isCustomStrategy(\"custom-oAuth2\")).toBe(true);\n\t\texpect(isCustomStrategy(\"custom-a\")).toBe(true);\n\t\texpect(isCustomStrategy(\"custom-1\")).toBe(true);\n\t\texpect(isCustomStrategy(\"custom-Z\")).toBe(true);\n\t\texpect(isCustomStrategy(\"custom-9\")).toBe(true);\n\t\texpect(isCustomStrategy(\"custom-aZ19\")).toBe(true);\n\t});\n\n\ttest(\"returns false for invalid custom strategy patterns\", () => {\n\t\texpect(isCustomStrategy(\"\")).toBe(false);\n\t\texpect(isCustomStrategy(\"custom_\")).toBe(false);\n\t\texpect(isCustomStrategy(\"custom-\")).toBe(false);\n\t\texpect(isCustomStrategy(\"header\")).toBe(false);\n\t\texpect(isCustomStrategy(\"custom\")).toBe(false);\n\t\t// These are now valid with our relaxed pattern:\n\t\texpect(isCustomStrategy(\"custom-invalid-name\")).toBe(true);\n\t\texpect(isCustomStrategy(\"custom-invalid_name\")).toBe(true);\n\t\t// But spaces and special chars are still invalid:\n\t\texpect(isCustomStrategy(\"custom-invalid name\")).toBe(false);\n\t\texpect(isCustomStrategy(\"custom-invalid@\")).toBe(false);\n\t\texpect(isCustomStrategy(\"Custom-header\")).toBe(false);\n\t\texpect(isCustomStrategy(\"CUSTOM-header\")).toBe(false);\n\t\texpect(isCustomStrategy(null)).toBe(false);\n\t\texpect(isCustomStrategy(undefined)).toBe(false);\n\t\texpect(isCustomStrategy(123)).toBe(false);\n\t\texpect(isCustomStrategy({})).toBe(false);\n\t\texpect(isCustomStrategy([])).toBe(false);\n\t});\n\n\ttest(\"returns false for built-in strategy names\", () => {\n\t\texpect(isCustomStrategy(\"cookie\")).toBe(false);\n\t\texpect(isCustomStrategy(\"baseLocale\")).toBe(false);\n\t\texpect(isCustomStrategy(\"globalVariable\")).toBe(false);\n\t\texpect(isCustomStrategy(\"url\")).toBe(false);\n\t\texpect(isCustomStrategy(\"preferredLanguage\")).toBe(false);\n\t\texpect(isCustomStrategy(\"localStorage\")).toBe(false);\n\t});\n});\n\ndescribe.each([\n\t[\"defineCustomServerStrategy\", defineCustomServerStrategy],\n\t[\"defineCustomClientStrategy\", defineCustomClientStrategy],\n])(\"%s\", (strategyName, defineStrategy) => {\n\tbeforeEach(() => {\n\t\t// Reset global variables before each test\n\t\tif (typeof globalThis !== \"undefined\") {\n\t\t\t// @ts-expect-error - Testing environment cleanup\n\t\t\tdelete globalThis.document;\n\t\t\t// @ts-expect-error - Testing environment cleanup\n\t\t\tdelete globalThis.window;\n\t\t\t// @ts-expect-error - Testing environment cleanup\n\t\t\tdelete globalThis.localStorage;\n\t\t\t// @ts-expect-error - Testing environment cleanup\n\t\t\tdelete globalThis.navigator;\n\t\t}\n\t});\n\n\tconst defaultHandler = { getLocale: () => \"en\", setLocale: () => {} };\n\n\tconst invalidInputs = [\n\t\t[\"\", \"empty name\"],\n\t\t[\"@invalid\", \"names with special characters (@)\"],\n\t\t[\"invalid!\", \"names with special characters (!)\"],\n\t\t[\"inva lid\", \"names with spaces\"],\n\t];\n\n\ttest.each(invalidInputs)(\n\t\t`${strategyName} throws error for %s (%s)`,\n\t\t(input) => {\n\t\t\texpect(() => defineStrategy(input, defaultHandler)).toThrow(\n\t\t\t\t`Invalid custom strategy: \"${input}\". Must be a custom strategy following the pattern custom-name.`\n\t\t\t);\n\t\t}\n\t);\n\n\ttest(`${strategyName} should compile with custom strategies in strategy array`, async () => {\n\t\t// Test that compile accepts custom strategies\n\t\tconst runtime = await createParaglide({\n\t\t\tblob: await newProject({\n\t\t\t\tsettings: {\n\t\t\t\t\tbaseLocale: \"en\",\n\t\t\t\t\tlocales: [\"en\", \"de\", \"fr\"],\n\t\t\t\t},\n\t\t\t}),\n\t\t\tstrategy: [\"custom-auth\", \"custom-header\", \"cookie\", \"baseLocale\"],\n\t\t\tcookieName: \"PARAGLIDE_LOCALE\",\n\t\t});\n\n\t\t// Verify the runtime contains the strategy array\n\t\texpect(runtime.strategy).toEqual([\n\t\t\t\"custom-auth\",\n\t\t\t\"custom-header\",\n\t\t\t\"cookie\",\n\t\t\t\"baseLocale\",\n\t\t]);\n\t});\n});\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"track-message-call.js","sourceRoot":"","sources":["../../../src/compiler/runtime/track-message-call.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAEnE;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,YAAY,EAAE,MAAM;IACpD,IAAI,QAAQ,KAAK,KAAK;QAAE,OAAO;IAE/B,MAAM,KAAK,GAAG,uBAAuB,EAAE,QAAQ,EAAE,CAAC;IAElD,IAAI,KAAK,EAAE,CAAC;QACX,KAAK,CAAC,YAAY,EAAE,GAAG,CAAC,GAAG,YAAY,IAAI,MAAM,EAAE,CAAC,CAAC;IACtD,CAAC;AACF,CAAC"}
|
|
1
|
+
{"version":3,"file":"track-message-call.js","sourceRoot":"","sources":["../../../src/compiler/runtime/track-message-call.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAEnE;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,YAAY,EAAE,MAAM;IACpD,IAAI,QAAQ,KAAK,KAAK;QAAE,OAAO;IAE/B,MAAM,KAAK,GAAG,uBAAuB,EAAE,QAAQ,EAAE,CAAC;IAElD,IAAI,KAAK,EAAE,CAAC;QACX,KAAK,CAAC,YAAY,EAAE,GAAG,CAAC,GAAG,YAAY,IAAI,MAAM,EAAE,CAAC,CAAC;IACtD,CAAC;AACF,CAAC","sourcesContent":["import { serverAsyncLocalStorage, isServer } from \"./variables.js\";\n\n/**\n * @param {string} safeModuleId\n * @param {Locale} locale\n */\nexport function trackMessageCall(safeModuleId, locale) {\n\tif (isServer === false) return;\n\n\tconst store = serverAsyncLocalStorage?.getStore();\n\n\tif (store) {\n\t\tstore.messageCalls?.add(`${safeModuleId}:${locale}`);\n\t}\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"track-message-call.test.js","sourceRoot":"","sources":["../../../src/compiler/runtime/track-message-call.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEtC,IAAI,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;IACvC,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC;QACrC,IAAI,EAAE,MAAM,UAAU,CAAC;YACtB,QAAQ,EAAE;gBACT,UAAU,EAAE,IAAI;gBAChB,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;aACrB;SACD,CAAC;KACF,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG,CAAC,GAAW,EAAE,EAAE;QACnC,OAAO,CAAC,gBAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACrC,CAAC,CAAC;IAEF,OAAO,CAAC,gCAAgC,CAAC,IAAI,iBAAiB,EAAE,CAAC,CAAC;IAElE,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;IAEvC,MAAM,MAAM,GAAG,OAAO,CAAC,uBAAuB,EAAE,GAAG,CAAC,EAAE,YAAY,EAAE,EAAE,GAAG,EAAE;QAC1E,WAAW,CAAC,OAAO,CAAC,CAAC;QACrB,WAAW,CAAC,OAAO,CAAC,CAAC;QACrB,OAAO,OAAO,CAAC;IAChB,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7B,MAAM,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;AACjE,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"track-message-call.test.js","sourceRoot":"","sources":["../../../src/compiler/runtime/track-message-call.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEtC,IAAI,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;IACvC,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC;QACrC,IAAI,EAAE,MAAM,UAAU,CAAC;YACtB,QAAQ,EAAE;gBACT,UAAU,EAAE,IAAI;gBAChB,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;aACrB;SACD,CAAC;KACF,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG,CAAC,GAAW,EAAE,EAAE;QACnC,OAAO,CAAC,gBAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACrC,CAAC,CAAC;IAEF,OAAO,CAAC,gCAAgC,CAAC,IAAI,iBAAiB,EAAE,CAAC,CAAC;IAElE,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;IAEvC,MAAM,MAAM,GAAG,OAAO,CAAC,uBAAuB,EAAE,GAAG,CAAC,EAAE,YAAY,EAAE,EAAE,GAAG,EAAE;QAC1E,WAAW,CAAC,OAAO,CAAC,CAAC;QACrB,WAAW,CAAC,OAAO,CAAC,CAAC;QACrB,OAAO,OAAO,CAAC;IAChB,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7B,MAAM,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;AACjE,CAAC,CAAC,CAAC","sourcesContent":["import { AsyncLocalStorage } from \"async_hooks\";\nimport { createParaglide } from \"../create-paraglide.js\";\nimport { newProject } from \"@inlang/sdk\";\nimport { test, expect } from \"vitest\";\n\ntest(\"tracks message calls\", async () => {\n\tconst runtime = await createParaglide({\n\t\tblob: await newProject({\n\t\t\tsettings: {\n\t\t\t\tbaseLocale: \"en\",\n\t\t\t\tlocales: [\"en\", \"de\"],\n\t\t\t},\n\t\t}),\n\t});\n\n\tconst mockMessage = (str: string) => {\n\t\truntime.trackMessageCall(str, \"de\");\n\t};\n\n\truntime.overwriteServerAsyncLocalStorage(new AsyncLocalStorage());\n\n\tconst messageCalls = new Set<string>();\n\n\tconst result = runtime.serverAsyncLocalStorage?.run({ messageCalls }, () => {\n\t\tmockMessage(\"test1\");\n\t\tmockMessage(\"test2\");\n\t\treturn \"test3\";\n\t});\n\n\texpect(result).toBe(\"test3\");\n\texpect(messageCalls).toEqual(new Set([\"test1:de\", \"test2:de\"]));\n});\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type-definitions.js","sourceRoot":"","sources":["../../../src/compiler/runtime/type-definitions.js"],"names":[],"mappings":"AAAA,sBAAsB;;AAEtB;;;;;;;GAOG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH;;;;;;;GAOG;AAEH;;;;;;;GAOG;AAEH;;;;GAIG;AAEH;;;;GAIG;AAEH;;;;;;;;GAQG;AAEH;;;;GAIG;AAEH;;;;;;;;;;;;;GAaG;AAEH;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH;;;;;;;GAOG;AAEH;;;;;;;;;;;;GAYG"}
|
|
1
|
+
{"version":3,"file":"type-definitions.js","sourceRoot":"","sources":["../../../src/compiler/runtime/type-definitions.js"],"names":[],"mappings":"AAAA,sBAAsB;;AAEtB;;;;;;;GAOG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH;;;;;;;GAOG;AAEH;;;;;;;GAOG;AAEH;;;;GAIG;AAEH;;;;GAIG;AAEH;;;;;;;;GAQG;AAEH;;;;GAIG;AAEH;;;;;;;;;;;;;GAaG;AAEH;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH;;;;;;;GAOG;AAEH;;;;;;;;;;;;GAYG","sourcesContent":["// ------ TYPES ------\n\n/**\n * A locale that is available in the project.\n *\n * @example\n * setLocale(request.locale as Locale)\n *\n * @typedef {string} Locale\n */\n\n/**\n * A branded type representing a localized string.\n *\n * Message functions return this type instead of \\`string\\`, enabling TypeScript\n * to distinguish translated strings from regular strings at compile time.\n * This allows you to enforce that only properly localized content is used\n * in your UI components.\n *\n * Since \\`LocalizedString\\` is a branded subtype of \\`string\\`, it remains fully\n * backward compatible—you can pass it anywhere a \\`string\\` is expected.\n *\n * @example\n * // Enforce localized strings in your components\n * function PageTitle(props: { title: LocalizedString }) {\n * return <h1>{props.title}</h1>\n * }\n *\n * // ✅ Correct: using a message function\n * <PageTitle title={m.welcome_title()} />\n *\n * // ❌ Type error: raw strings are not LocalizedString\n * <PageTitle title=\"Welcome\" />\n *\n * @example\n * // LocalizedString is assignable to string (backward compatible)\n * const localized: LocalizedString = m.greeting()\n * const str: string = localized // ✅ works fine\n *\n * // But string is not assignable to LocalizedString\n * const raw: LocalizedString = \"Hello\" // ❌ Type error\n *\n * @example\n * // Catches accidental string concatenation\n * function showMessage(msg: LocalizedString) { ... }\n *\n * showMessage(m.hello()) // ✅\n * showMessage(\"Hello \" + userName) // ❌ Type error\n * showMessage(m.hello_user({ name: userName })) // ✅ use params instead\n *\n * @typedef {string & { readonly __brand: 'LocalizedString' }} LocalizedString\n */\n\n/**\n * A single markup option passed to a tag instance.\n *\n * @typedef {{\n * name: string;\n * value: unknown;\n * }} MessageMarkupOption\n */\n\n/**\n * A single static markup attribute attached to a tag instance.\n *\n * @typedef {{\n * name: string;\n * value: string | true;\n * }} MessageMarkupAttribute\n */\n\n/**\n * Record of markup options for a tag instance.\n *\n * @typedef {Record<string, unknown>} MessageMarkupOptions\n */\n\n/**\n * Record of markup attributes for a tag instance.\n *\n * @typedef {Record<string, string | true>} MessageMarkupAttributes\n */\n\n/**\n * Type-level schema for a single markup tag.\n *\n * @typedef {{\n * options: MessageMarkupOptions;\n * attributes: MessageMarkupAttributes;\n * children: boolean;\n * }} MessageMarkupTag\n */\n\n/**\n * Type-level schema for all markup tags in a message.\n *\n * @typedef {Record<string, MessageMarkupTag>} MessageMarkupSchema\n */\n\n/**\n * Type-only metadata attached to compiled message functions.\n *\n * @template Inputs\n * @template Options\n * @template {MessageMarkupSchema} [Markup = MessageMarkupSchema]\n * @typedef {{\n * readonly __paraglide?: {\n * inputs: Inputs;\n * options: Options;\n * markup: Markup;\n * };\n * }} MessageMetadata\n */\n\n/**\n * A compiled, framework-neutral message part.\n *\n * @typedef {{\n * type: \"text\";\n * value: string;\n * } | {\n * type: \"markup-start\";\n * name: string;\n * options: MessageMarkupOptions;\n * attributes: MessageMarkupAttributes;\n * } | {\n * type: \"markup-end\";\n * name: string;\n * options: MessageMarkupOptions;\n * attributes: MessageMarkupAttributes;\n * } | {\n * type: \"markup-standalone\";\n * name: string;\n * options: MessageMarkupOptions;\n * attributes: MessageMarkupAttributes;\n * }} MessagePart\n */\n\n/**\n * A message function is a message for a specific locale.\n *\n * @example\n * m.hello({ name: 'world' })\n *\n * @typedef {(inputs?: Record<string, never>) => LocalizedString} MessageFunction\n */\n\n/**\n * A message bundle function that selects the message to be returned.\n *\n * Uses `getLocale()` under the hood to determine the locale with an option.\n *\n * @template {string} T\n *\n * @example\n * import { m } from './messages.js'\n * m.hello({ name: 'world' }, { locale: \"en\" })\n *\n * @typedef {(params: Record<string, never>, options: { locale: T }) => LocalizedString} MessageBundleFunction\n */\n"]}
|
|
@@ -11,6 +11,7 @@ export type Runtime = {
|
|
|
11
11
|
urlPatterns: typeof import("./variables.js").urlPatterns;
|
|
12
12
|
disableAsyncLocalStorage: typeof import("./variables.js").disableAsyncLocalStorage;
|
|
13
13
|
serverAsyncLocalStorage: typeof import("./variables.js").serverAsyncLocalStorage;
|
|
14
|
+
getServerAsyncLocalStorage: typeof import("./variables.js").getServerAsyncLocalStorage;
|
|
14
15
|
experimentalMiddlewareLocaleSplitting: typeof import("./variables.js").experimentalMiddlewareLocaleSplitting;
|
|
15
16
|
isServer: typeof import("./variables.js").isServer;
|
|
16
17
|
experimentalStaticLocale: typeof import("./variables.js").experimentalStaticLocale;
|
|
@@ -43,4 +44,3 @@ export type Runtime = {
|
|
|
43
44
|
defineCustomServerStrategy: typeof import("./strategy.js").defineCustomServerStrategy;
|
|
44
45
|
defineCustomClientStrategy: typeof import("./strategy.js").defineCustomClientStrategy;
|
|
45
46
|
};
|
|
46
|
-
//# sourceMappingURL=type.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type.js","sourceRoot":"","sources":["../../../src/compiler/runtime/type.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"type.js","sourceRoot":"","sources":["../../../src/compiler/runtime/type.ts"],"names":[],"mappings":"","sourcesContent":["/**\n * The Paraglide runtime API.\n */\nexport type Runtime = {\n\tbaseLocale: typeof import(\"./variables.js\").baseLocale;\n\tlocales: typeof import(\"./variables.js\").locales;\n\tstrategy: typeof import(\"./variables.js\").strategy;\n\trouteStrategies: typeof import(\"./variables.js\").routeStrategies;\n\tcookieName: typeof import(\"./variables.js\").cookieName;\n\tcookieMaxAge: typeof import(\"./variables.js\").cookieMaxAge;\n\turlPatterns: typeof import(\"./variables.js\").urlPatterns;\n\tdisableAsyncLocalStorage: typeof import(\"./variables.js\").disableAsyncLocalStorage;\n\tserverAsyncLocalStorage: typeof import(\"./variables.js\").serverAsyncLocalStorage;\n\tgetServerAsyncLocalStorage: typeof import(\"./variables.js\").getServerAsyncLocalStorage;\n\texperimentalMiddlewareLocaleSplitting: typeof import(\"./variables.js\").experimentalMiddlewareLocaleSplitting;\n\tisServer: typeof import(\"./variables.js\").isServer;\n\texperimentalStaticLocale: typeof import(\"./variables.js\").experimentalStaticLocale;\n\tgetLocale: typeof import(\"./get-locale.js\").getLocale;\n\tgetTextDirection: typeof import(\"./get-text-direction.js\").getTextDirection;\n\tsetLocale: typeof import(\"./set-locale.js\").setLocale;\n\tgetUrlOrigin: typeof import(\"./get-url-origin.js\").getUrlOrigin;\n\toverwriteGetLocale: typeof import(\"./get-locale.js\").overwriteGetLocale;\n\toverwriteSetLocale: typeof import(\"./set-locale.js\").overwriteSetLocale;\n\toverwriteGetUrlOrigin: typeof import(\"./get-url-origin.js\").overwriteGetUrlOrigin;\n\toverwriteServerAsyncLocalStorage: typeof import(\"./variables.js\").overwriteServerAsyncLocalStorage;\n\ttoLocale: typeof import(\"./check-locale.js\").toLocale;\n\tassertIsLocale: typeof import(\"./check-locale.js\").assertIsLocale;\n\tisLocale: typeof import(\"./check-locale.js\").isLocale;\n\tlocalizeHref: typeof import(\"./localize-href.js\").localizeHref;\n\tdeLocalizeHref: typeof import(\"./localize-href.js\").deLocalizeHref;\n\tlocalizeUrl: typeof import(\"./localize-url.js\").localizeUrl;\n\tdeLocalizeUrl: typeof import(\"./localize-url.js\").deLocalizeUrl;\n\tshouldRedirect: typeof import(\"./should-redirect.js\").shouldRedirect;\n\textractLocaleFromUrl: typeof import(\"./extract-locale-from-url.js\").extractLocaleFromUrl;\n\textractLocaleFromRequest: typeof import(\"./extract-locale-from-request.js\").extractLocaleFromRequest;\n\textractLocaleFromRequestAsync: typeof import(\"./extract-locale-from-request-async.js\").extractLocaleFromRequestAsync;\n\textractLocaleFromCookie: typeof import(\"./extract-locale-from-cookie.js\").extractLocaleFromCookie;\n\textractLocaleFromHeader: typeof import(\"./extract-locale-from-header.js\").extractLocaleFromHeader;\n\textractLocaleFromNavigator: typeof import(\"./extract-locale-from-navigator.js\").extractLocaleFromNavigator;\n\tgenerateStaticLocalizedUrls: typeof import(\"./generate-static-localized-urls.js\").generateStaticLocalizedUrls;\n\ttrackMessageCall: typeof import(\"./track-message-call.js\").trackMessageCall;\n\tgetStrategyForUrl: typeof import(\"./route-strategy.js\").getStrategyForUrl;\n\tisExcludedByRouteStrategy: typeof import(\"./route-strategy.js\").isExcludedByRouteStrategy;\n\tdefineCustomServerStrategy: typeof import(\"./strategy.js\").defineCustomServerStrategy;\n\tdefineCustomClientStrategy: typeof import(\"./strategy.js\").defineCustomClientStrategy;\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type.test.js","sourceRoot":"","sources":["../../../src/compiler/runtime/type.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"type.test.js","sourceRoot":"","sources":["../../../src/compiler/runtime/type.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { expect, test } from \"vitest\";\nimport {\n\tcreateProject as typescriptProject,\n\tts,\n\ttype ProjectOptions,\n} from \"@ts-morph/bootstrap\";\nimport { createRuntimeFile } from \"./create-runtime.js\";\nimport fs from \"node:fs\";\nimport { dirname, resolve } from \"node:path\";\nimport { fileURLToPath } from \"url\";\nimport { defaultCompilerOptions } from \"../compiler-options.js\";\n\nconst __filename = fileURLToPath(import.meta.url);\nconst __dirname = dirname(__filename);\n\nconst superStrictRuleOutAnyErrorTsSettings: ProjectOptions[\"compilerOptions\"] =\n\t{\n\t\toutDir: \"dist\",\n\t\tdeclaration: true,\n\t\tallowJs: true,\n\t\tcheckJs: true,\n\t\tnoImplicitAny: true,\n\t\tnoUnusedLocals: true,\n\t\tnoUnusedParameters: true,\n\t\tnoImplicitReturns: true,\n\t\tnoImplicitThis: true,\n\t\tnoUncheckedIndexedAccess: true,\n\t\tnoPropertyAccessFromIndexSignature: true,\n\t\tmodule: ts.ModuleKind.Node16,\n\t\tstrict: true,\n\t};\n\ntest(\"createRuntimeFile throws if urlPatterns contains an unknown locale\", () => {\n\texpect(() =>\n\t\tcreateRuntimeFile({\n\t\t\tbaseLocale: \"en\",\n\t\t\tlocales: [\"en\", \"de\"],\n\t\t\tcompilerOptions: {\n\t\t\t\t...defaultCompilerOptions,\n\t\t\t\turlPatterns: [\n\t\t\t\t\t{\n\t\t\t\t\t\tpattern: \"https://example.com/:path*\",\n\t\t\t\t\t\tlocalized: [[\"fr\", \"https://example.com/fr/:path*\"]],\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t})\n\t).toThrow(\n\t\t'Invalid locale \"fr\" in urlPatterns. It must be one of the locales defined in the \"locales\" array.'\n\t);\n});\n\ntest(\"cookie cache clearer remains internal in the generated runtime\", () => {\n\tconst jsdocRuntime = createRuntimeFile({\n\t\tbaseLocale: \"en\",\n\t\tlocales: [\"en\", \"de\"],\n\t\tcompilerOptions: {\n\t\t\t...defaultCompilerOptions,\n\t\t\tstrategy: [\"cookie\", \"baseLocale\"],\n\t\t},\n\t});\n\n\texpect(jsdocRuntime).toContain(\"function clearLocaleCookieCache\");\n\texpect(jsdocRuntime).not.toContain(\"export function clearLocaleCookieCache\");\n});\n\ntest(\"runtime type\", async () => {\n\tconst project = await typescriptProject({\n\t\tuseInMemoryFileSystem: true,\n\t\tcompilerOptions: superStrictRuleOutAnyErrorTsSettings,\n\t});\n\n\tconst jsdocRuntime = createRuntimeFile({\n\t\tbaseLocale: \"en\",\n\t\tlocales: [\"en\"],\n\t\tcompilerOptions: defaultCompilerOptions,\n\t}).replace(\n\t\t'import * as pathToRegexp from \"@inlang/paraglide-js/path-to-regexp\";',\n\t\t\"\"\n\t);\n\n\tconst file = (path: string) => {\n\t\treturn [path, fs.readFileSync(resolve(__dirname, path), \"utf-8\")!] as const;\n\t};\n\n\tproject.createSourceFile(\"./runtime.js\", jsdocRuntime);\n\tproject.createSourceFile(...file(\"./type.ts\"));\n\tproject.createSourceFile(...file(\"./ambient.d.ts\"));\n\n\t// add the imports for the types in the runtime type\n\tfor (const name of fs.readdirSync(__dirname)) {\n\t\tif (name.endsWith(\".js\")) {\n\t\t\tproject.createSourceFile(...file(name));\n\t\t}\n\t}\n\n\tproject.createSourceFile(\n\t\t\"./test.ts\",\n\t\t`\n import * as runtime from \"./runtime.js\"\n import type { Runtime } from \"./type.js\"\n\n runtime satisfies Runtime\n\n\t\t// getLocale() should return type should be a union of language tags, not a generic string\n runtime.getLocale() satisfies \"de\" | \"en\" | \"en-US\"\n\n // locales should have a narrow type, not a generic string\n runtime.locales satisfies Readonly<Array<\"de\" | \"en\" | \"en-US\">>\n\n // setLocale() should fail if the given language tag is not included in locales\n // @ts-expect-error - invalid locale\n runtime.setLocale(\"fr\")\n\n // setLocale() should not fail if the given language tag is included in locales\n runtime.setLocale(\"de\")\n\n\t\t// getTextDirection() should return a strict direction union\n\t\truntime.getTextDirection() satisfies \"ltr\" | \"rtl\"\n\n\t\t// isLocale should narrow the type of it's argument\n\t\tconst thing = 5;\n\n\t\tlet a: \"de\" | \"en\" | \"en-US\";\n\n\t\tif(runtime.isLocale(thing)) {\n\t\t\ta = thing\n\t\t} else {\n\t\t\t// @ts-expect-error - thing is not a language tag\n\t\t\ta = thing\n\t\t}\n\n\t\t// to make ts not complain about unused variables\n\t\truntime.toLocale(\"EN\") satisfies \"de\" | \"en\" | \"en-US\" | undefined\n\t\truntime.toLocale(123) satisfies \"de\" | \"en\" | \"en-US\" | undefined\n\n\t\tconsole.log(a)\n `\n\t);\n\n\tconst program = project.createProgram();\n\tconst diagnostics = ts\n\t\t.getPreEmitDiagnostics(program)\n\t\t// ignore 'export' modifier cannot be applied to ambient modules and module augmentations since they are always visible. /ambient.d.ts\n\t\t.filter((d) => d.code !== 2668)\n\t\t.filter((d) => d.messageText.toString().includes(\"path-to-regexp\"));\n\tfor (const diagnostic of diagnostics) {\n\t\tconsole.error(diagnostic.messageText, diagnostic.file?.fileName);\n\t}\n\texpect(diagnostics.length).toEqual(0);\n});\n"]}
|
|
@@ -85,6 +85,15 @@ export type ParaglideAsyncLocalStorage = {
|
|
|
85
85
|
* @type {ParaglideAsyncLocalStorage | undefined}
|
|
86
86
|
*/
|
|
87
87
|
export declare let serverAsyncLocalStorage: ParaglideAsyncLocalStorage | undefined;
|
|
88
|
+
/**
|
|
89
|
+
* Returns the current server-side async local storage instance.
|
|
90
|
+
*
|
|
91
|
+
* Accessing the mutable value through a function keeps it observable when
|
|
92
|
+
* module interceptors wrap exported bindings and snapshot their initial value.
|
|
93
|
+
*
|
|
94
|
+
* @returns {ParaglideAsyncLocalStorage | undefined}
|
|
95
|
+
*/
|
|
96
|
+
export declare function getServerAsyncLocalStorage(): ParaglideAsyncLocalStorage | undefined;
|
|
88
97
|
export declare const disableAsyncLocalStorage = false;
|
|
89
98
|
export declare const experimentalMiddlewareLocaleSplitting = false;
|
|
90
99
|
export declare const isServer: boolean;
|
|
@@ -107,4 +116,3 @@ export declare const TREE_SHAKE_GLOBAL_VARIABLE_STRATEGY_USED = false;
|
|
|
107
116
|
export declare const TREE_SHAKE_PREFERRED_LANGUAGE_STRATEGY_USED = false;
|
|
108
117
|
export declare const TREE_SHAKE_DEFAULT_URL_PATTERN_USED = false;
|
|
109
118
|
export declare const TREE_SHAKE_LOCAL_STORAGE_STRATEGY_USED = false;
|
|
110
|
-
//# sourceMappingURL=variables.d.ts.map
|
|
@@ -66,6 +66,17 @@ export const urlPatterns = [];
|
|
|
66
66
|
* @type {ParaglideAsyncLocalStorage | undefined}
|
|
67
67
|
*/
|
|
68
68
|
export let serverAsyncLocalStorage = undefined;
|
|
69
|
+
/**
|
|
70
|
+
* Returns the current server-side async local storage instance.
|
|
71
|
+
*
|
|
72
|
+
* Accessing the mutable value through a function keeps it observable when
|
|
73
|
+
* module interceptors wrap exported bindings and snapshot their initial value.
|
|
74
|
+
*
|
|
75
|
+
* @returns {ParaglideAsyncLocalStorage | undefined}
|
|
76
|
+
*/
|
|
77
|
+
export function getServerAsyncLocalStorage() {
|
|
78
|
+
return serverAsyncLocalStorage;
|
|
79
|
+
}
|
|
69
80
|
export const disableAsyncLocalStorage = false;
|
|
70
81
|
export const experimentalMiddlewareLocaleSplitting = false;
|
|
71
82
|
export const isServer = typeof window === "undefined";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"variables.js","sourceRoot":"","sources":["../../../src/compiler/runtime/variables.js"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,CAAC;AAE/B;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,gCAAgC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;AAEvE,qBAAqB;AACrB,MAAM,CAAC,MAAM,UAAU,GAAG,eAAe,CAAC;AAE1C,qBAAqB;AACrB,MAAM,CAAC,MAAM,YAAY,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC;AAE/C,qBAAqB;AACrB,MAAM,CAAC,MAAM,YAAY,GAAG,iBAAiB,CAAC;AAE9C,qBAAqB;AACrB,MAAM,CAAC,MAAM,eAAe,GAAG,kBAAkB,CAAC;AAElD;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,gBAAgB,CAAC,CAAC;AAE3C;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,EAAE,CAAC;AAElC;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,EAAE,CAAC;AAE9B;;;;;;;;;;GAUG;AAEH;;;;;;;GAOG;AACH,MAAM,CAAC,IAAI,uBAAuB,GAAG,SAAS,CAAC;AAE/C,MAAM,CAAC,MAAM,wBAAwB,GAAG,KAAK,CAAC;AAE9C,MAAM,CAAC,MAAM,qCAAqC,GAAG,KAAK,CAAC;AAE3D,MAAM,CAAC,MAAM,QAAQ,GAAG,OAAO,MAAM,KAAK,WAAW,CAAC;AAEtD,iCAAiC;AACjC,MAAM,CAAC,MAAM,wBAAwB,GAAG,SAAS,CAAC;AAElD;;;;;;;;;GASG;AACH,MAAM,UAAU,gCAAgC,CAAC,KAAK;IACrD,uBAAuB,GAAG,KAAK,CAAC;AACjC,CAAC;AAED,MAAM,CAAC,MAAM,+BAA+B,GAAG,KAAK,CAAC;AAErD,MAAM,CAAC,MAAM,4BAA4B,GAAG,KAAK,CAAC;AAElD,MAAM,CAAC,MAAM,wCAAwC,GAAG,KAAK,CAAC;AAE9D,MAAM,CAAC,MAAM,2CAA2C,GAAG,KAAK,CAAC;AAEjE,MAAM,CAAC,MAAM,mCAAmC,GAAG,KAAK,CAAC;AAEzD,MAAM,CAAC,MAAM,sCAAsC,GAAG,KAAK,CAAC"}
|
|
1
|
+
{"version":3,"file":"variables.js","sourceRoot":"","sources":["../../../src/compiler/runtime/variables.js"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,CAAC;AAE/B;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,gCAAgC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;AAEvE,qBAAqB;AACrB,MAAM,CAAC,MAAM,UAAU,GAAG,eAAe,CAAC;AAE1C,qBAAqB;AACrB,MAAM,CAAC,MAAM,YAAY,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC;AAE/C,qBAAqB;AACrB,MAAM,CAAC,MAAM,YAAY,GAAG,iBAAiB,CAAC;AAE9C,qBAAqB;AACrB,MAAM,CAAC,MAAM,eAAe,GAAG,kBAAkB,CAAC;AAElD;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,gBAAgB,CAAC,CAAC;AAE3C;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,EAAE,CAAC;AAElC;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,EAAE,CAAC;AAE9B;;;;;;;;;;GAUG;AAEH;;;;;;;GAOG;AACH,MAAM,CAAC,IAAI,uBAAuB,GAAG,SAAS,CAAC;AAE/C;;;;;;;GAOG;AACH,MAAM,UAAU,0BAA0B;IACzC,OAAO,uBAAuB,CAAC;AAChC,CAAC;AAED,MAAM,CAAC,MAAM,wBAAwB,GAAG,KAAK,CAAC;AAE9C,MAAM,CAAC,MAAM,qCAAqC,GAAG,KAAK,CAAC;AAE3D,MAAM,CAAC,MAAM,QAAQ,GAAG,OAAO,MAAM,KAAK,WAAW,CAAC;AAEtD,iCAAiC;AACjC,MAAM,CAAC,MAAM,wBAAwB,GAAG,SAAS,CAAC;AAElD;;;;;;;;;GASG;AACH,MAAM,UAAU,gCAAgC,CAAC,KAAK;IACrD,uBAAuB,GAAG,KAAK,CAAC;AACjC,CAAC;AAED,MAAM,CAAC,MAAM,+BAA+B,GAAG,KAAK,CAAC;AAErD,MAAM,CAAC,MAAM,4BAA4B,GAAG,KAAK,CAAC;AAElD,MAAM,CAAC,MAAM,wCAAwC,GAAG,KAAK,CAAC;AAE9D,MAAM,CAAC,MAAM,2CAA2C,GAAG,KAAK,CAAC;AAEjE,MAAM,CAAC,MAAM,mCAAmC,GAAG,KAAK,CAAC;AAEzD,MAAM,CAAC,MAAM,sCAAsC,GAAG,KAAK,CAAC","sourcesContent":["/**\n * The project's base locale.\n *\n * @example\n * if (locale === baseLocale) {\n * // do something\n * }\n */\nexport const baseLocale = \"en\";\n\n/**\n * The project's locales that have been specified in the settings.\n *\n * @example\n * if (locales.includes(userSelectedLocale) === false) {\n * throw new Error('Locale is not available');\n * }\n */\nexport const locales = /** @type {readonly string[]} */ ([\"en\", \"de\"]);\n\n/** @type {string} */\nexport const cookieName = \"<cookie-name>\";\n\n/** @type {number} */\nexport const cookieMaxAge = 60 * 60 * 24 * 400;\n\n/** @type {string} */\nexport const cookieDomain = \"<cookie-domain>\";\n\n/** @type {string} */\nexport const localStorageKey = \"PARAGLIDE_LOCALE\";\n\n/**\n * @type {Array<\"cookie\" | \"baseLocale\" | \"globalVariable\" | \"url\" | \"preferredLanguage\" | \"localStorage\" | `custom-${string}`>}\n */\nexport const strategy = [\"globalVariable\"];\n\n/**\n * Route-level strategy overrides.\n *\n * `match` uses URLPattern syntax.\n *\n * @type {Array<{\n * match: string;\n * strategy?: Array<\"cookie\" | \"baseLocale\" | \"globalVariable\" | \"url\" | \"preferredLanguage\" | \"localStorage\" | `custom-${string}`>;\n * exclude?: boolean;\n * }>}\n */\nexport const routeStrategies = [];\n\n/**\n * The used URL patterns.\n *\n * @type {Array<{ pattern: string, localized: Array<[Locale, string]> }>}\n */\nexport const urlPatterns = [];\n\n/**\n * @typedef {{\n * \t\tgetStore(): {\n * \t\tlocale?: Locale,\n * \t\t\torigin?: string,\n * \t\t\tmessageCalls?: Set<string>\n * \t} | undefined,\n * \t\trun: (store: { locale?: Locale, origin?: string, messageCalls?: Set<string>},\n * cb: any) => any\n * }} ParaglideAsyncLocalStorage\n */\n\n/**\n * Server side async local storage that is set by `serverMiddleware()`.\n *\n * The variable is used to retrieve the locale and origin in a server-side\n * rendering context without effecting other requests.\n *\n * @type {ParaglideAsyncLocalStorage | undefined}\n */\nexport let serverAsyncLocalStorage = undefined;\n\n/**\n * Returns the current server-side async local storage instance.\n *\n * Accessing the mutable value through a function keeps it observable when\n * module interceptors wrap exported bindings and snapshot their initial value.\n *\n * @returns {ParaglideAsyncLocalStorage | undefined}\n */\nexport function getServerAsyncLocalStorage() {\n\treturn serverAsyncLocalStorage;\n}\n\nexport const disableAsyncLocalStorage = false;\n\nexport const experimentalMiddlewareLocaleSplitting = false;\n\nexport const isServer = typeof window === \"undefined\";\n\n/** @type {Locale | undefined} */\nexport const experimentalStaticLocale = undefined;\n\n/**\n * Sets the server side async local storage.\n *\n * The function is needed because the `runtime.js` file\n * must define the `serverAsyncLocalStorage` variable to\n * avoid a circular import between `runtime.js` and\n * `server.js` files.\n *\n * @param {ParaglideAsyncLocalStorage | undefined} value\n */\nexport function overwriteServerAsyncLocalStorage(value) {\n\tserverAsyncLocalStorage = value;\n}\n\nexport const TREE_SHAKE_COOKIE_STRATEGY_USED = false;\n\nexport const TREE_SHAKE_URL_STRATEGY_USED = false;\n\nexport const TREE_SHAKE_GLOBAL_VARIABLE_STRATEGY_USED = false;\n\nexport const TREE_SHAKE_PREFERRED_LANGUAGE_STRATEGY_USED = false;\n\nexport const TREE_SHAKE_DEFAULT_URL_PATTERN_USED = false;\n\nexport const TREE_SHAKE_LOCAL_STORAGE_STRATEGY_USED = false;\n"]}
|