one 1.15.8 → 1.15.9
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/cjs/Root.native.js.map +1 -1
- package/dist/cjs/__mocks__/@react-navigation/native-stack.native.js.map +1 -1
- package/dist/cjs/__mocks__/expo-linking.native.js.map +1 -1
- package/dist/cjs/__mocks__/expo-modules-core.native.js.map +1 -1
- package/dist/cjs/__mocks__/react-native-screens.native.js.map +1 -1
- package/dist/cjs/babel-plugins/environment-guard.native.js.map +1 -1
- package/dist/cjs/babel-plugins/inline-one-server-url.native.js.map +1 -1
- package/dist/cjs/babel-plugins/one-router-metro.native.js.map +1 -1
- package/dist/cjs/babel-plugins/one-router-metro.test.native.js.map +1 -1
- package/dist/cjs/babel-plugins/remove-server-code.native.js.map +1 -1
- package/dist/cjs/cli/build.native.js.map +1 -1
- package/dist/cjs/cli/buildPage.native.js.map +1 -1
- package/dist/cjs/cli/buildPageWorker.native.js.map +1 -1
- package/dist/cjs/cli/checkNodeVersion.native.js.map +1 -1
- package/dist/cjs/cli/daemon.native.js.map +1 -1
- package/dist/cjs/cli/dev.native.js.map +1 -1
- package/dist/cjs/cli/generateRoutes.native.js.map +1 -1
- package/dist/cjs/cli/generateSitemap.native.js.map +1 -1
- package/dist/cjs/cli/generateSitemap.test.native.js.map +1 -1
- package/dist/cjs/cli/label-process.native.js.map +1 -1
- package/dist/cjs/cli/main.native.js.map +1 -1
- package/dist/cjs/cli/patch.native.js.map +1 -1
- package/dist/cjs/cli/prebuild.native.js.map +1 -1
- package/dist/cjs/cli/runAndroid.native.js.map +1 -1
- package/dist/cjs/cli/runIos.native.js.map +1 -1
- package/dist/cjs/cli/securityScan.native.js.map +1 -1
- package/dist/cjs/cli/workerPool.native.js.map +1 -1
- package/dist/cjs/cli.native.js.map +1 -1
- package/dist/cjs/clientLoaderResolver.native.js.map +1 -1
- package/dist/cjs/config.native.js.map +1 -1
- package/dist/cjs/constants.cjs +4 -4
- package/dist/cjs/constants.native.js +4 -4
- package/dist/cjs/constants.native.js.map +1 -1
- package/dist/cjs/createAPIRoute.native.js.map +1 -1
- package/dist/cjs/createHandleRequest.native.js.map +1 -1
- package/dist/cjs/createHandleRequest.test.native.js.map +1 -1
- package/dist/cjs/createMiddleware.native.js.map +1 -1
- package/dist/cjs/daemon/index.native.js.map +1 -1
- package/dist/cjs/daemon/ipc.native.js.map +1 -1
- package/dist/cjs/daemon/picker.native.js.map +1 -1
- package/dist/cjs/daemon/proxy.native.js.map +1 -1
- package/dist/cjs/daemon/registry.native.js.map +1 -1
- package/dist/cjs/daemon/server.native.js.map +1 -1
- package/dist/cjs/daemon/tui.native.js.map +1 -1
- package/dist/cjs/daemon/types.native.js.map +1 -1
- package/dist/cjs/daemon/utils.native.js.map +1 -1
- package/dist/cjs/devtools/registry.native.js.map +1 -1
- package/dist/cjs/drawer.native.js.map +1 -1
- package/dist/cjs/fallbackViews/Sitemap.native.js.map +1 -1
- package/dist/cjs/fallbackViews/Unmatched.native.js.map +1 -1
- package/dist/cjs/fork/NavigationContainer.native.js.map +1 -1
- package/dist/cjs/fork/SSRNavigationContainer.native.js.map +1 -1
- package/dist/cjs/fork/__tests__/getPathFromState.test.native.js.map +1 -1
- package/dist/cjs/fork/__tests__/getStateFromPath.test.native.js.map +1 -1
- package/dist/cjs/fork/_shared.native.js.map +1 -1
- package/dist/cjs/fork/createMemoryHistory.native.js.map +1 -1
- package/dist/cjs/fork/createMemoryHistory.test.native.js.map +1 -1
- package/dist/cjs/fork/extractPathFromURL.native.js.map +1 -1
- package/dist/cjs/fork/findFocusedRoute.native.js.map +1 -1
- package/dist/cjs/fork/getPathFromState-mods.native.js.map +1 -1
- package/dist/cjs/fork/getPathFromState.native.js.map +1 -1
- package/dist/cjs/fork/getPathFromState.test.native.js.map +1 -1
- package/dist/cjs/fork/getStateFromPath-mods.native.js.map +1 -1
- package/dist/cjs/fork/getStateFromPath.native.js.map +1 -1
- package/dist/cjs/fork/getStateFromPath.test.native.js.map +1 -1
- package/dist/cjs/fork/useThenable.native.js.map +1 -1
- package/dist/cjs/fork/validatePathConfig.native.js.map +1 -1
- package/dist/cjs/getReactNavigationConfig.native.js.map +1 -1
- package/dist/cjs/head/Head.native.js.map +1 -1
- package/dist/cjs/head/HeadModule.native.js.map +1 -1
- package/dist/cjs/head/index.native.js.map +1 -1
- package/dist/cjs/head/types.native.js.map +1 -1
- package/dist/cjs/head/url.native.js.map +1 -1
- package/dist/cjs/headless-server.native.js.map +1 -1
- package/dist/cjs/headless.native.js.map +1 -1
- package/dist/cjs/hooks.native.js.map +1 -1
- package/dist/cjs/hooks.test.native.js.map +1 -1
- package/dist/cjs/href.native.js.map +1 -1
- package/dist/cjs/image/getImageData.native.js.map +1 -1
- package/dist/cjs/image.native.js.map +1 -1
- package/dist/cjs/index.native.js +1 -1
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/interfaces/router.native.js.map +1 -1
- package/dist/cjs/layouts/Drawer.native.js.map +1 -1
- package/dist/cjs/layouts/NativeTabs.native.js.map +1 -1
- package/dist/cjs/layouts/Stack.native.js +1 -1
- package/dist/cjs/layouts/Stack.native.js.map +1 -1
- package/dist/cjs/layouts/Tabs.native.js.map +1 -1
- package/dist/cjs/layouts/stack-utils/StackHeaderBackButton.native.js.map +1 -1
- package/dist/cjs/layouts/stack-utils/StackHeaderComponent.native.js.map +1 -1
- package/dist/cjs/layouts/stack-utils/StackHeaderLeft.native.js.map +1 -1
- package/dist/cjs/layouts/stack-utils/StackHeaderRight.native.js.map +1 -1
- package/dist/cjs/layouts/stack-utils/StackHeaderSearchBar.native.js.map +1 -1
- package/dist/cjs/layouts/stack-utils/StackHeaderTitle.native.js.map +1 -1
- package/dist/cjs/layouts/stack-utils/StackScreen.native.js.map +1 -1
- package/dist/cjs/layouts/stack-utils/__tests__/composition.test.native.js.map +1 -1
- package/dist/cjs/layouts/stack-utils/index.native.js.map +1 -1
- package/dist/cjs/layouts/withLayoutContext.native.js.map +1 -1
- package/dist/cjs/link/Link.cjs +7 -24
- package/dist/cjs/link/Link.native.js +7 -22
- package/dist/cjs/link/Link.native.js.map +1 -1
- package/dist/cjs/link/Redirect.native.js.map +1 -1
- package/dist/cjs/link/href.native.js.map +1 -1
- package/dist/cjs/link/path.native.js.map +1 -1
- package/dist/cjs/link/prefetchIntent.native.js.map +1 -1
- package/dist/cjs/link/prefetchIntent.test.native.js.map +1 -1
- package/dist/cjs/link/prefetchViewport.native.js.map +1 -1
- package/dist/cjs/link/prefetchViewport.test.native.js.map +1 -1
- package/dist/cjs/link/useLinkTo.native.js.map +1 -1
- package/dist/cjs/link/useLoadedNavigation.native.js.map +1 -1
- package/dist/cjs/metro-config/getViteMetroPluginOptions.native.js.map +1 -1
- package/dist/cjs/native-tabs.native.js.map +1 -1
- package/dist/cjs/notFoundState.native.js.map +1 -1
- package/dist/cjs/polyfills-mobile.native.js.map +1 -1
- package/dist/cjs/polyfills-server.native.js.map +1 -1
- package/dist/cjs/router/FlagsContext.native.js.map +1 -1
- package/dist/cjs/router/Route.native.js.map +1 -1
- package/dist/cjs/router/RouteInfoContext.native.js.map +1 -1
- package/dist/cjs/router/RouterStore.native.js.map +1 -1
- package/dist/cjs/router/SpaShellContext.native.js.map +1 -1
- package/dist/cjs/router/createRoute.native.js.map +1 -1
- package/dist/cjs/router/filterRootHTML.cjs +4 -22
- package/dist/cjs/router/filterRootHTML.native.js +7 -21
- package/dist/cjs/router/filterRootHTML.native.js.map +1 -1
- package/dist/cjs/router/findRouteNode.native.js.map +1 -1
- package/dist/cjs/router/getLinkingConfig.native.js.map +1 -1
- package/dist/cjs/router/getNormalizedStatePath.native.js.map +1 -1
- package/dist/cjs/router/getRouteInfo.native.js.map +1 -1
- package/dist/cjs/router/getRoutes.native.js.map +1 -1
- package/dist/cjs/router/getRoutes.test.native.js.map +1 -1
- package/dist/cjs/router/glob-patterns.native.js.map +1 -1
- package/dist/cjs/router/imperative-api.native.js.map +1 -1
- package/dist/cjs/router/interceptRoutes.native.js.map +1 -1
- package/dist/cjs/router/isIndexPath.native.js.map +1 -1
- package/dist/cjs/router/lastAction.native.js.map +1 -1
- package/dist/cjs/router/linkingConfig.native.js.map +1 -1
- package/dist/cjs/router/matchers.native.js.map +1 -1
- package/dist/cjs/router/matchers.test.native.js.map +1 -1
- package/dist/cjs/router/router.cjs +105 -236
- package/dist/cjs/router/router.native.js +109 -277
- package/dist/cjs/router/router.native.js.map +1 -1
- package/dist/cjs/router/serverLocationContext.native.js.map +1 -1
- package/dist/cjs/router/sortRoutes.native.js.map +1 -1
- package/dist/cjs/router/useInitializeOneRouter.native.js.map +1 -1
- package/dist/cjs/router/useNavigation.native.js.map +1 -1
- package/dist/cjs/router/useScreens.cjs +71 -146
- package/dist/cjs/router/useScreens.native.js +81 -253
- package/dist/cjs/router/useScreens.native.js.map +1 -1
- package/dist/cjs/router/useViteRoutes.native.js.map +1 -1
- package/dist/cjs/router/utils/getNavigateAction.native.js.map +1 -1
- package/dist/cjs/router/utils/getNavigateAction.test.native.js.map +1 -1
- package/dist/cjs/screensFeatureFlags.native.js.map +1 -1
- package/dist/cjs/serve-worker.native.js.map +1 -1
- package/dist/cjs/serve.native.js.map +1 -1
- package/dist/cjs/server/ServerContextScript.native.js.map +1 -1
- package/dist/cjs/server/createRoutesManifest.native.js.map +1 -1
- package/dist/cjs/server/getServerManifest.native.js.map +1 -1
- package/dist/cjs/server/getServerManifest.test.native.js.map +1 -1
- package/dist/cjs/server/oneServe.native.js.map +1 -1
- package/dist/cjs/server/setServerGlobals.native.js.map +1 -1
- package/dist/cjs/server/setupBuildOptions.native.js.map +1 -1
- package/dist/cjs/server/setupServerGlobals.native.js.map +1 -1
- package/dist/cjs/server/ssrLoaderData.native.js.map +1 -1
- package/dist/cjs/server/staticHtmlFetcher.native.js.map +1 -1
- package/dist/cjs/server/workerHandler.native.js.map +1 -1
- package/dist/cjs/server-render.native.js.map +1 -1
- package/dist/cjs/skewProtection.native.js.map +1 -1
- package/dist/cjs/testing-utils.native.js.map +1 -1
- package/dist/cjs/typed-routes/generateRouteTypes.native.js.map +1 -1
- package/dist/cjs/typed-routes/getTypedRoutesDeclarationFile.native.js.map +1 -1
- package/dist/cjs/typed-routes/injectRouteHelpers.native.js.map +1 -1
- package/dist/cjs/types.native.js.map +1 -1
- package/dist/cjs/ui/Slot.native.js.map +1 -1
- package/dist/cjs/ui/TabContext.native.js.map +1 -1
- package/dist/cjs/ui/TabList.native.js.map +1 -1
- package/dist/cjs/ui/TabRouter.native.js.map +1 -1
- package/dist/cjs/ui/TabSlot.native.js.map +1 -1
- package/dist/cjs/ui/TabTrigger.native.js.map +1 -1
- package/dist/cjs/ui/Tabs.native.js.map +1 -1
- package/dist/cjs/ui/common.native.js.map +1 -1
- package/dist/cjs/ui/index.native.js.map +1 -1
- package/dist/cjs/ui/useComponent.native.js.map +1 -1
- package/dist/cjs/useFocusEffect.native.js.map +1 -1
- package/dist/cjs/useLoader.cjs +79 -223
- package/dist/cjs/useLoader.native.js +153 -206
- package/dist/cjs/useLoader.native.js.map +1 -1
- package/dist/cjs/useMatches.native.js.map +1 -1
- package/dist/cjs/useMatches.test.native.js.map +1 -1
- package/dist/cjs/useServerHeadInsertion.native.js.map +1 -1
- package/dist/cjs/utils/assertIsReady.native.js.map +1 -1
- package/dist/cjs/utils/children.native.js.map +1 -1
- package/dist/cjs/utils/cleanUrl.native.js.map +1 -1
- package/dist/cjs/utils/cleanUrl.test.native.js.map +1 -1
- package/dist/cjs/utils/dynamicImport.cjs +6 -20
- package/dist/cjs/utils/dynamicImport.native.js +2 -13
- package/dist/cjs/utils/dynamicImport.native.js.map +1 -1
- package/dist/cjs/utils/ensureExists.native.js.map +1 -1
- package/dist/cjs/utils/evictOldest.native.js.map +1 -1
- package/dist/cjs/utils/existsAsync.native.js.map +1 -1
- package/dist/cjs/utils/findRootLayout.native.js.map +1 -1
- package/dist/cjs/utils/getPageExport.native.js.map +1 -1
- package/dist/cjs/utils/getPathnameFromFilePath.native.js.map +1 -1
- package/dist/cjs/utils/getPathnameFromFilePath.test.native.js.map +1 -1
- package/dist/cjs/utils/getRouterRootFromOneOptions.native.js.map +1 -1
- package/dist/cjs/utils/globDir.native.js.map +1 -1
- package/dist/cjs/utils/hashString.native.js.map +1 -1
- package/dist/cjs/utils/htmlEscape.native.js.map +1 -1
- package/dist/cjs/utils/isResponse.native.js.map +1 -1
- package/dist/cjs/utils/isRolldown.native.js.map +1 -1
- package/dist/cjs/utils/isStatus.native.js.map +1 -1
- package/dist/cjs/utils/pLimit.native.js.map +1 -1
- package/dist/cjs/utils/promiseWithResolvers.native.js.map +1 -1
- package/dist/cjs/utils/rand.native.js.map +1 -1
- package/dist/cjs/utils/redirect.native.js.map +1 -1
- package/dist/cjs/utils/removeParams.native.js.map +1 -1
- package/dist/cjs/utils/removeSearch.native.js.map +1 -1
- package/dist/cjs/utils/removeUndefined.native.js.map +1 -1
- package/dist/cjs/utils/style.native.js.map +1 -1
- package/dist/cjs/utils/toAbsolute.native.js.map +1 -1
- package/dist/cjs/utils/trackLoaderDependencies.native.js.map +1 -1
- package/dist/cjs/utils/url.native.js.map +1 -1
- package/dist/cjs/utils/useConstant.native.js.map +1 -1
- package/dist/cjs/utils/watchFile.native.js.map +1 -1
- package/dist/cjs/utils/weakKey.native.js.map +1 -1
- package/dist/cjs/utils/weakMemo.native.js.map +1 -1
- package/dist/cjs/utils/withStaticProperties.native.js.map +1 -1
- package/dist/cjs/utils/workerImport.native.js.map +1 -1
- package/dist/cjs/validateParams.native.js.map +1 -1
- package/dist/cjs/validateSearch.native.js.map +1 -1
- package/dist/cjs/vercel/build/buildVercelOutputDirectory.native.js.map +1 -1
- package/dist/cjs/vercel/build/config/vc-build-output-config-base.native.js.map +1 -1
- package/dist/cjs/vercel/build/config/vc-config-base.native.js.map +1 -1
- package/dist/cjs/vercel/build/config/vc-package-base.native.js.map +1 -1
- package/dist/cjs/vercel/build/generate/createApiServerlessFunction.native.js.map +1 -1
- package/dist/cjs/vercel/build/generate/createSsrServerlessFunction.native.js.map +1 -1
- package/dist/cjs/vercel/build/getPathFromRoute.native.js.map +1 -1
- package/dist/cjs/views/EmptyRoute.native.js.map +1 -1
- package/dist/cjs/views/ErrorBoundary.native.js.map +1 -1
- package/dist/cjs/views/LoadProgressBar.native.js.map +1 -1
- package/dist/cjs/views/Navigator.native.js.map +1 -1
- package/dist/cjs/views/OneStackRouter.cjs +6 -8
- package/dist/cjs/views/OneStackRouter.native.js +1 -15
- package/dist/cjs/views/OneStackRouter.native.js.map +1 -1
- package/dist/cjs/views/Protected.native.js.map +1 -1
- package/dist/cjs/views/RootErrorBoundary.native.js.map +1 -1
- package/dist/cjs/views/Screen.native.js.map +1 -1
- package/dist/cjs/views/ScrollBehavior.native.js.map +1 -1
- package/dist/cjs/views/SourceInspector.native.js.map +1 -1
- package/dist/cjs/views/Try.native.js.map +1 -1
- package/dist/cjs/vite/DevHead.cjs +17 -24
- package/dist/cjs/vite/DevHead.native.js +2 -26
- package/dist/cjs/vite/DevHead.native.js.map +1 -1
- package/dist/cjs/vite/constants.native.js.map +1 -1
- package/dist/cjs/vite/customNodeExternals.native.js.map +1 -1
- package/dist/cjs/vite/ensureTsConfig.native.js.map +1 -1
- package/dist/cjs/vite/findDepsToOptimize.native.js.map +1 -1
- package/dist/cjs/vite/getManifest.native.js.map +1 -1
- package/dist/cjs/vite/loadConfig.native.js.map +1 -1
- package/dist/cjs/vite/makePluginWebOnly.native.js.map +1 -1
- package/dist/cjs/vite/one-server-only.test.native.js.map +1 -1
- package/dist/cjs/vite/one.cjs +33 -22
- package/dist/cjs/vite/one.native.js +37 -27
- package/dist/cjs/vite/one.native.js.map +1 -1
- package/dist/cjs/vite/plugins/SSRCSSPlugin.native.js.map +1 -1
- package/dist/cjs/vite/plugins/clientTreeShakePlugin.native.js.map +1 -1
- package/dist/cjs/vite/plugins/clientTreeShakePlugin.test.native.js.map +1 -1
- package/dist/cjs/vite/plugins/criticalCSSPlugin.native.js.map +1 -1
- package/dist/cjs/vite/plugins/criticalCSSPlugin.test.native.js.map +1 -1
- package/dist/cjs/vite/plugins/devtoolsPlugin.native.js.map +1 -1
- package/dist/cjs/vite/plugins/environmentGuardPlugin.native.js.map +1 -1
- package/dist/cjs/vite/plugins/environmentGuardPlugin.test.native.js.map +1 -1
- package/dist/cjs/vite/plugins/fileSystemRouterPlugin.native.js.map +1 -1
- package/dist/cjs/vite/plugins/fixDependenciesPlugin.native.js.map +1 -1
- package/dist/cjs/vite/plugins/generateFileSystemRouteTypesPlugin.native.js.map +1 -1
- package/dist/cjs/vite/plugins/imageDataPlugin.native.js.map +1 -1
- package/dist/cjs/vite/plugins/imageDataPlugin.test.native.js.map +1 -1
- package/dist/cjs/vite/plugins/removeReactNativeWebAnimatedPlugin.native.js.map +1 -1
- package/dist/cjs/vite/plugins/sourceInspectorPlugin.native.js.map +1 -1
- package/dist/cjs/vite/plugins/useDomPlugin.native.js.map +1 -1
- package/dist/cjs/vite/plugins/virtualEntryConstants.native.js.map +1 -1
- package/dist/cjs/vite/plugins/virtualEntryPlugin.native.js.map +1 -1
- package/dist/cjs/vite/plugins/virtualEntryPlugin.test.native.js.map +1 -1
- package/dist/cjs/vite/plugins/warmRoutesPlugin.native.js.map +1 -1
- package/dist/cjs/vite/replaceLoader.native.js.map +1 -1
- package/dist/cjs/vite/resolveResponse.native.js.map +1 -1
- package/dist/cjs/vite/types.native.js.map +1 -1
- package/dist/cjs/vite-auto-warm.native.js.map +1 -1
- package/dist/cjs/vite.native.js.map +1 -1
- package/dist/cjs/zero/getQueryKey.native.js.map +1 -1
- package/dist/cjs/zero/isZeroQuery.native.js.map +1 -1
- package/dist/cjs/zero/resolveQuery.native.js.map +1 -1
- package/dist/cjs/zero/subscribeToQuery.native.js.map +1 -1
- package/dist/cjs/zero/types.native.js.map +1 -1
- package/dist/cjs/zero/useQuery.cjs +2 -6
- package/dist/cjs/zero/useQuery.native.js +3 -28
- package/dist/cjs/zero/useQuery.native.js.map +1 -1
- package/dist/cjs/zero/useQueryZero.native.js.map +1 -1
- package/dist/cjs/zero.native.js.map +1 -1
- package/dist/esm/constants.mjs +4 -4
- package/dist/esm/constants.mjs.map +1 -1
- package/dist/esm/constants.native.js +4 -4
- package/dist/esm/constants.native.js.map +1 -1
- package/dist/esm/link/Link.mjs +14 -34
- package/dist/esm/link/Link.mjs.map +1 -1
- package/dist/esm/link/Link.native.js +14 -32
- package/dist/esm/link/Link.native.js.map +1 -1
- package/dist/esm/router/filterRootHTML.mjs +4 -21
- package/dist/esm/router/filterRootHTML.mjs.map +1 -1
- package/dist/esm/router/filterRootHTML.native.js +7 -21
- package/dist/esm/router/filterRootHTML.native.js.map +1 -1
- package/dist/esm/router/router.mjs +107 -240
- package/dist/esm/router/router.mjs.map +1 -1
- package/dist/esm/router/router.native.js +108 -278
- package/dist/esm/router/router.native.js.map +1 -1
- package/dist/esm/router/useScreens.mjs +70 -148
- package/dist/esm/router/useScreens.mjs.map +1 -1
- package/dist/esm/router/useScreens.native.js +77 -252
- package/dist/esm/router/useScreens.native.js.map +1 -1
- package/dist/esm/useLoader.mjs +82 -228
- package/dist/esm/useLoader.mjs.map +1 -1
- package/dist/esm/useLoader.native.js +155 -211
- package/dist/esm/useLoader.native.js.map +1 -1
- package/dist/esm/utils/dynamicImport.mjs +6 -20
- package/dist/esm/utils/dynamicImport.mjs.map +1 -1
- package/dist/esm/utils/dynamicImport.native.js +2 -13
- package/dist/esm/utils/dynamicImport.native.js.map +1 -1
- package/dist/esm/views/OneStackRouter.mjs +6 -8
- package/dist/esm/views/OneStackRouter.mjs.map +1 -1
- package/dist/esm/views/OneStackRouter.native.js +1 -15
- package/dist/esm/views/OneStackRouter.native.js.map +1 -1
- package/dist/esm/vite/DevHead.mjs +17 -24
- package/dist/esm/vite/DevHead.mjs.map +1 -1
- package/dist/esm/vite/DevHead.native.js +0 -24
- package/dist/esm/vite/DevHead.native.js.map +1 -1
- package/dist/esm/vite/one.mjs +33 -22
- package/dist/esm/vite/one.mjs.map +1 -1
- package/dist/esm/vite/one.native.js +37 -27
- package/dist/esm/vite/one.native.js.map +1 -1
- package/dist/esm/zero/useQuery.mjs +2 -6
- package/dist/esm/zero/useQuery.mjs.map +1 -1
- package/dist/esm/zero/useQuery.native.js +3 -29
- package/dist/esm/zero/useQuery.native.js.map +1 -1
- package/package.json +10 -10
- package/src/vite/one.ts +34 -18
- package/src/vite/types.ts +53 -44
- package/types/vite/one.d.ts.map +1 -1
- package/types/vite/types.d.ts +9 -2
- package/types/vite/types.d.ts.map +1 -1
|
@@ -29,11 +29,7 @@ let routeNode = null;
|
|
|
29
29
|
let rootComponent;
|
|
30
30
|
const protectedRouteRegistry = /* @__PURE__ */new Map();
|
|
31
31
|
function registerProtectedRoutes(contextKey, protectedScreens) {
|
|
32
|
-
if (protectedScreens.size === 0)
|
|
33
|
-
protectedRouteRegistry.delete(contextKey);
|
|
34
|
-
} else {
|
|
35
|
-
protectedRouteRegistry.set(contextKey, protectedScreens);
|
|
36
|
-
}
|
|
32
|
+
if (protectedScreens.size === 0) protectedRouteRegistry.delete(contextKey);else protectedRouteRegistry.set(contextKey, protectedScreens);
|
|
37
33
|
}
|
|
38
34
|
function unregisterProtectedRoutes(contextKey) {
|
|
39
35
|
protectedRouteRegistry.delete(contextKey);
|
|
@@ -43,12 +39,9 @@ function isRouteProtected(href) {
|
|
|
43
39
|
for (const [contextKey, protectedScreens] of protectedRouteRegistry) {
|
|
44
40
|
const normalizedContextKey = contextKey.replace(/^\/+|\/+$/g, "");
|
|
45
41
|
if (normalizedHref.startsWith(normalizedContextKey)) {
|
|
46
|
-
const
|
|
47
|
-
const routeName = relativePath.split("/")[0] || "index";
|
|
42
|
+
const routeName = normalizedHref.slice(normalizedContextKey.length).replace(/^\//, "").split("/")[0] || "index";
|
|
48
43
|
const normalizedRouteName = routeName.replace(/\/index$/, "");
|
|
49
|
-
if (protectedScreens.has(routeName) || protectedScreens.has(normalizedRouteName))
|
|
50
|
-
return true;
|
|
51
|
-
}
|
|
44
|
+
if (protectedScreens.has(routeName) || protectedScreens.has(normalizedRouteName)) return true;
|
|
52
45
|
}
|
|
53
46
|
}
|
|
54
47
|
return false;
|
|
@@ -75,22 +68,18 @@ function subscribeToValidationState(subscriber) {
|
|
|
75
68
|
}
|
|
76
69
|
function setValidationState(state) {
|
|
77
70
|
validationState = state;
|
|
78
|
-
for (const subscriber of validationStateSubscribers)
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
timestamp: Date.now()
|
|
91
|
-
}
|
|
92
|
-
}));
|
|
93
|
-
}
|
|
71
|
+
for (const subscriber of validationStateSubscribers) subscriber(state);
|
|
72
|
+
if (state.status === "error" && state.error) window.dispatchEvent(new CustomEvent("one-validation-error", {
|
|
73
|
+
detail: {
|
|
74
|
+
error: {
|
|
75
|
+
message: state.error.message,
|
|
76
|
+
name: state.error.name,
|
|
77
|
+
stack: state.error.stack
|
|
78
|
+
},
|
|
79
|
+
href: state.lastValidatedHref,
|
|
80
|
+
timestamp: Date.now()
|
|
81
|
+
}
|
|
82
|
+
}));
|
|
94
83
|
}
|
|
95
84
|
function getValidationState() {
|
|
96
85
|
return validationState;
|
|
@@ -113,18 +102,15 @@ function initialize(context, ref, initialLocation) {
|
|
|
113
102
|
}
|
|
114
103
|
routeNode = cachedRouteNode;
|
|
115
104
|
rootComponent = cachedRootComponent || Fragment;
|
|
116
|
-
if (!routeNode && process.env.NODE_ENV === "production")
|
|
117
|
-
throw new Error("No routes found");
|
|
118
|
-
}
|
|
105
|
+
if (!routeNode && process.env.NODE_ENV === "production") throw new Error("No routes found");
|
|
119
106
|
if (process.env.ONE_DEBUG_ROUTER && routeNode) {
|
|
120
107
|
const formatRouteTree = (node, indent = "", isLast = true) => {
|
|
121
|
-
const prefix = indent + (isLast ? "
|
|
122
|
-
const childIndent = indent + (isLast ? " " : "
|
|
108
|
+
const prefix = indent + (isLast ? "└─ " : "├─ ");
|
|
109
|
+
const childIndent = indent + (isLast ? " " : "│ ");
|
|
123
110
|
const dynamicBadge = node.dynamic ? ` [${node.dynamic.map(d => d.name).join(", ")}]` : "";
|
|
124
111
|
const typeBadge = node.type !== "layout" ? ` (${node.type})` : "";
|
|
125
112
|
const slotsBadge = node.slots?.size ? ` {@${Array.from(node.slots.keys()).join(", @")}}` : "";
|
|
126
|
-
|
|
127
|
-
let line = `${prefix}${routeName}${dynamicBadge}${typeBadge}${slotsBadge}`;
|
|
113
|
+
let line = `${prefix}${node.route || "/"}${dynamicBadge}${typeBadge}${slotsBadge}`;
|
|
128
114
|
const visibleChildren = node.children.filter(child => !child.internal);
|
|
129
115
|
for (let i = 0; i < visibleChildren.length; i++) {
|
|
130
116
|
const child = visibleChildren[i];
|
|
@@ -137,15 +123,13 @@ function initialize(context, ref, initialLocation) {
|
|
|
137
123
|
${formatRouteTree(routeNode)}`);
|
|
138
124
|
if (routeNode.slots?.size) {
|
|
139
125
|
console.info(`[one] \u{1F4E6} Slots on root layout:`);
|
|
140
|
-
for (const [slotName, slotConfig] of routeNode.slots) {
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
});
|
|
148
|
-
}
|
|
126
|
+
for (const [slotName, slotConfig] of routeNode.slots) console.info(` @${slotName}:`, {
|
|
127
|
+
defaultRoute: slotConfig.defaultRoute?.route,
|
|
128
|
+
interceptRoutes: slotConfig.interceptRoutes.map(r => ({
|
|
129
|
+
route: r.route,
|
|
130
|
+
intercept: r.intercept
|
|
131
|
+
}))
|
|
132
|
+
});
|
|
149
133
|
}
|
|
150
134
|
}
|
|
151
135
|
navigationRef = ref;
|
|
@@ -168,15 +152,13 @@ function setupLinkingAndRouteInfo(initialLocation) {
|
|
|
168
152
|
if (initialState) {
|
|
169
153
|
rootState = initialState;
|
|
170
154
|
routeInfo = getRouteInfo(initialState);
|
|
171
|
-
} else {
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
};
|
|
179
|
-
}
|
|
155
|
+
} else routeInfo = {
|
|
156
|
+
unstable_globalHref: "",
|
|
157
|
+
pathname: "",
|
|
158
|
+
isIndex: false,
|
|
159
|
+
params: {},
|
|
160
|
+
segments: []
|
|
161
|
+
};
|
|
180
162
|
}
|
|
181
163
|
function handleNavigationContainerStateChange(navState) {
|
|
182
164
|
if (!navState) return;
|
|
@@ -206,20 +188,14 @@ function handleNavigationContainerStateChange(navState) {
|
|
|
206
188
|
updateState(state, void 0);
|
|
207
189
|
shouldUpdateSubscribers = true;
|
|
208
190
|
}
|
|
209
|
-
if (shouldUpdateSubscribers) {
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
subscriber(state);
|
|
213
|
-
}
|
|
214
|
-
});
|
|
215
|
-
}
|
|
191
|
+
if (shouldUpdateSubscribers) startTransition(() => {
|
|
192
|
+
for (const subscriber of rootStateSubscribers) subscriber(state);
|
|
193
|
+
});
|
|
216
194
|
}
|
|
217
195
|
function subscribeToNavigationChanges() {
|
|
218
196
|
startTransition(() => {
|
|
219
197
|
updateSnapshot();
|
|
220
|
-
for (const subscriber of storeSubscribers)
|
|
221
|
-
subscriber();
|
|
222
|
-
}
|
|
198
|
+
for (const subscriber of storeSubscribers) subscriber();
|
|
223
199
|
});
|
|
224
200
|
}
|
|
225
201
|
function navigate(url, options) {
|
|
@@ -229,9 +205,7 @@ function push(url, options) {
|
|
|
229
205
|
return linkTo(resolveHref(url), "PUSH", options);
|
|
230
206
|
}
|
|
231
207
|
function dismiss(count) {
|
|
232
|
-
if (process.env.ONE_DEBUG_ROUTER) {
|
|
233
|
-
console.info(`[one] \u{1F519} dismiss${count ? ` (${count})` : ""}`);
|
|
234
|
-
}
|
|
208
|
+
if (process.env.ONE_DEBUG_ROUTER) console.info(`[one] \u{1F519} dismiss${count ? ` (${count})` : ""}`);
|
|
235
209
|
navigationRef?.dispatch(StackActions.pop(count));
|
|
236
210
|
}
|
|
237
211
|
function replace(url, options) {
|
|
@@ -244,41 +218,29 @@ function setParams(params = {}) {
|
|
|
244
218
|
params);
|
|
245
219
|
}
|
|
246
220
|
function dismissAll() {
|
|
247
|
-
if (process.env.ONE_DEBUG_ROUTER) {
|
|
248
|
-
console.info(`[one] \u{1F519} dismissAll`);
|
|
249
|
-
}
|
|
221
|
+
if (process.env.ONE_DEBUG_ROUTER) console.info(`[one] \u{1F519} dismissAll`);
|
|
250
222
|
navigationRef?.dispatch(StackActions.popToTop());
|
|
251
223
|
}
|
|
252
224
|
function goBack() {
|
|
253
|
-
if (process.env.ONE_DEBUG_ROUTER) {
|
|
254
|
-
console.info(`[one] \u{1F519} goBack`);
|
|
255
|
-
}
|
|
225
|
+
if (process.env.ONE_DEBUG_ROUTER) console.info(`[one] \u{1F519} goBack`);
|
|
256
226
|
assertIsReady(navigationRef);
|
|
257
227
|
navigationRef?.current?.goBack();
|
|
258
228
|
}
|
|
259
229
|
function canGoBack() {
|
|
260
|
-
if (!navigationRef.isReady())
|
|
261
|
-
return false;
|
|
262
|
-
}
|
|
230
|
+
if (!navigationRef.isReady()) return false;
|
|
263
231
|
return navigationRef?.current?.canGoBack() ?? false;
|
|
264
232
|
}
|
|
265
233
|
function canDismiss() {
|
|
266
234
|
let state = rootState;
|
|
267
235
|
while (state) {
|
|
268
|
-
if (state.type === "stack" && state.routes.length > 1)
|
|
269
|
-
|
|
270
|
-
}
|
|
271
|
-
if (state.index === void 0) {
|
|
272
|
-
return false;
|
|
273
|
-
}
|
|
236
|
+
if (state.type === "stack" && state.routes.length > 1) return true;
|
|
237
|
+
if (state.index === void 0) return false;
|
|
274
238
|
state = state.routes?.[state.index]?.state;
|
|
275
239
|
}
|
|
276
240
|
return false;
|
|
277
241
|
}
|
|
278
242
|
function getSortedRoutes() {
|
|
279
|
-
if (!routeNode)
|
|
280
|
-
throw new Error("No routes");
|
|
281
|
-
}
|
|
243
|
+
if (!routeNode) throw new Error("No routes");
|
|
282
244
|
return routeNode.children.filter(route => !route.internal).sort(sortRoutes);
|
|
283
245
|
}
|
|
284
246
|
function updateState(state, nextStateParam = state) {
|
|
@@ -295,15 +257,8 @@ function updateState(state, nextStateParam = state) {
|
|
|
295
257
|
} : "");
|
|
296
258
|
}
|
|
297
259
|
routeInfo = nextRouteInfo;
|
|
298
|
-
if (false) {
|
|
299
|
-
const params = extractParamsFromState(state);
|
|
300
|
-
const newMatches = buildNativeMatches(state, nextRouteInfo.pathname, params);
|
|
301
|
-
currentMatches = newMatches;
|
|
302
|
-
setClientMatches(newMatches);
|
|
303
|
-
}
|
|
304
260
|
}
|
|
305
261
|
if (process.env.NODE_ENV === "development" && typeof window !== "undefined") {
|
|
306
|
-
;
|
|
307
262
|
window.__oneDevtools = {
|
|
308
263
|
routeInfo: nextRouteInfo,
|
|
309
264
|
rootState: state,
|
|
@@ -312,11 +267,9 @@ function updateState(state, nextStateParam = state) {
|
|
|
312
267
|
getLoaderTimingHistory: () => devtoolsRegistry.getLoaderTimingHistory?.() ?? [],
|
|
313
268
|
getPreloadHistory
|
|
314
269
|
};
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
}));
|
|
319
|
-
}
|
|
270
|
+
window.dispatchEvent(new CustomEvent("one-route-change", {
|
|
271
|
+
detail: nextRouteInfo
|
|
272
|
+
}));
|
|
320
273
|
}
|
|
321
274
|
}
|
|
322
275
|
function subscribeToRootState(subscriber) {
|
|
@@ -339,9 +292,7 @@ function subscribeToLoadingState(subscriber) {
|
|
|
339
292
|
}
|
|
340
293
|
function setLoadingState(state) {
|
|
341
294
|
startTransition(() => {
|
|
342
|
-
for (const listener of loadingStateSubscribers)
|
|
343
|
-
listener(state);
|
|
344
|
-
}
|
|
295
|
+
for (const listener of loadingStateSubscribers) listener(state);
|
|
345
296
|
});
|
|
346
297
|
}
|
|
347
298
|
let currentSnapshot = null;
|
|
@@ -375,19 +326,15 @@ function routeInfoSnapshot() {
|
|
|
375
326
|
return routeInfo;
|
|
376
327
|
}
|
|
377
328
|
function useOneRouter() {
|
|
378
|
-
|
|
379
|
-
return useDeferredValue(state);
|
|
329
|
+
return useDeferredValue(useSyncExternalStore(subscribeToStore, snapshot, snapshot));
|
|
380
330
|
}
|
|
381
331
|
function syncStoreRootState() {
|
|
382
|
-
if (!navigationRef)
|
|
383
|
-
throw new Error(`No navigationRef, possible duplicate One dep`);
|
|
384
|
-
}
|
|
332
|
+
if (!navigationRef) throw new Error(`No navigationRef, possible duplicate One dep`);
|
|
385
333
|
if (navigationRef.isReady()) {
|
|
386
334
|
const currentState = navigationRef.getRootState();
|
|
387
335
|
if (rootState !== currentState) {
|
|
388
336
|
if (initialState && routeInfo?.pathname) {
|
|
389
|
-
|
|
390
|
-
if (nextRouteInfo.pathname !== routeInfo.pathname) {
|
|
337
|
+
if (getRouteInfo(currentState).pathname !== routeInfo.pathname) {
|
|
391
338
|
rootState = currentState;
|
|
392
339
|
return;
|
|
393
340
|
}
|
|
@@ -398,18 +345,14 @@ function syncStoreRootState() {
|
|
|
398
345
|
}
|
|
399
346
|
function useStoreRootState() {
|
|
400
347
|
syncStoreRootState();
|
|
401
|
-
|
|
402
|
-
return useDeferredValue(state);
|
|
348
|
+
return useDeferredValue(useSyncExternalStore(subscribeToRootState, rootStateSnapshot, rootStateSnapshot));
|
|
403
349
|
}
|
|
404
350
|
function useStoreRouteInfo() {
|
|
405
351
|
syncStoreRootState();
|
|
406
|
-
|
|
407
|
-
return state;
|
|
352
|
+
return useSyncExternalStore(subscribeToRootState, routeInfoSnapshot, routeInfoSnapshot);
|
|
408
353
|
}
|
|
409
354
|
function cleanup() {
|
|
410
|
-
if (splashScreenAnimationFrame)
|
|
411
|
-
cancelAnimationFrame(splashScreenAnimationFrame);
|
|
412
|
-
}
|
|
355
|
+
if (splashScreenAnimationFrame) cancelAnimationFrame(splashScreenAnimationFrame);
|
|
413
356
|
}
|
|
414
357
|
const preloadingLoader = {};
|
|
415
358
|
async function doPreloadDev(href) {
|
|
@@ -420,21 +363,15 @@ async function doPreloadDev(href) {
|
|
|
420
363
|
const loaderJSUrl = getLoaderPath(href, true);
|
|
421
364
|
const moduleLoadStart = performance.now();
|
|
422
365
|
const modulePromise = dynamicImport(loaderJSUrl);
|
|
423
|
-
if (!modulePromise)
|
|
424
|
-
return null;
|
|
425
|
-
}
|
|
366
|
+
if (!modulePromise) return null;
|
|
426
367
|
const module = await modulePromise.catch(() => null);
|
|
427
368
|
const moduleLoadTime = performance.now() - moduleLoadStart;
|
|
428
|
-
if (!module?.loader)
|
|
429
|
-
return null;
|
|
430
|
-
}
|
|
369
|
+
if (!module?.loader) return null;
|
|
431
370
|
const executionStart = performance.now();
|
|
432
371
|
const result = await module.loader();
|
|
433
372
|
const executionTime = performance.now() - executionStart;
|
|
434
373
|
const totalTime = performance.now() - startTime;
|
|
435
|
-
if (result?.__oneRedirect)
|
|
436
|
-
return result;
|
|
437
|
-
}
|
|
374
|
+
if (result?.__oneRedirect) return result;
|
|
438
375
|
devtoolsRegistry.recordLoaderTiming?.({
|
|
439
376
|
path: normalizedPath,
|
|
440
377
|
startTime,
|
|
@@ -453,9 +390,7 @@ async function doPreloadDev(href) {
|
|
|
453
390
|
error: err instanceof Error ? err.message : String(err),
|
|
454
391
|
source: "preload"
|
|
455
392
|
});
|
|
456
|
-
if (process.env.ONE_DEBUG_ROUTER) {
|
|
457
|
-
console.warn(`[one] dev preload failed for ${href}:`, err);
|
|
458
|
-
}
|
|
393
|
+
if (process.env.ONE_DEBUG_ROUTER) console.warn(`[one] dev preload failed for ${href}:`, err);
|
|
459
394
|
return null;
|
|
460
395
|
}
|
|
461
396
|
}
|
|
@@ -471,18 +406,13 @@ async function doPreload(href) {
|
|
|
471
406
|
return null;
|
|
472
407
|
}), dynamicImport(cssPreloadPath)?.catch(() => null) ?? Promise.resolve(null), dynamicImport(loaderPath)?.catch(() => null) ?? Promise.resolve(null), preloadRouteModules(href)]);
|
|
473
408
|
const hasCss = !!cssPreloadModule?.injectCSS;
|
|
474
|
-
if (hasCss)
|
|
475
|
-
|
|
476
|
-
}
|
|
477
|
-
const hasLoader = !!loader?.loader;
|
|
478
|
-
if (!hasLoader) {
|
|
409
|
+
if (hasCss) cssInjectFunctions[href] = cssPreloadModule.injectCSS;
|
|
410
|
+
if (!!!loader?.loader) {
|
|
479
411
|
recordPreloadComplete(href, false, hasCss);
|
|
480
412
|
return null;
|
|
481
413
|
}
|
|
482
414
|
const result = await loader.loader();
|
|
483
|
-
if (result?.__oneRedirect)
|
|
484
|
-
return result;
|
|
485
|
-
}
|
|
415
|
+
if (result?.__oneRedirect) return result;
|
|
486
416
|
recordPreloadComplete(href, true, hasCss);
|
|
487
417
|
return result ?? null;
|
|
488
418
|
} catch (err) {
|
|
@@ -511,9 +441,7 @@ function recordPreloadStart(href) {
|
|
|
511
441
|
hasLoader: false,
|
|
512
442
|
hasCss: false
|
|
513
443
|
});
|
|
514
|
-
if (preloadHistory.length > MAX_PRELOAD_HISTORY)
|
|
515
|
-
preloadHistory.pop();
|
|
516
|
-
}
|
|
444
|
+
if (preloadHistory.length > MAX_PRELOAD_HISTORY) preloadHistory.pop();
|
|
517
445
|
dispatchPreloadEvent();
|
|
518
446
|
}
|
|
519
447
|
function recordPreloadComplete(href, hasLoader, hasCss) {
|
|
@@ -538,46 +466,33 @@ function recordPreloadError(href, error) {
|
|
|
538
466
|
dispatchPreloadEvent();
|
|
539
467
|
}
|
|
540
468
|
function dispatchPreloadEvent() {
|
|
541
|
-
|
|
542
|
-
window.dispatchEvent(new CustomEvent("one-preload-update"));
|
|
543
|
-
}
|
|
469
|
+
window.dispatchEvent(new CustomEvent("one-preload-update"));
|
|
544
470
|
}
|
|
545
471
|
function getPreloadHistory() {
|
|
546
472
|
return preloadHistory;
|
|
547
473
|
}
|
|
548
474
|
function preloadRoute(href, injectCSS = false) {
|
|
549
|
-
if (
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
});
|
|
557
|
-
}
|
|
558
|
-
return preloadingLoader[normalizedHref];
|
|
559
|
-
}
|
|
560
|
-
if (!preloadingLoader[href]) {
|
|
561
|
-
preloadingLoader[href] = doPreload(href).then(data => {
|
|
562
|
-
preloadedLoaderData[href] = data;
|
|
563
|
-
return data;
|
|
564
|
-
});
|
|
565
|
-
}
|
|
566
|
-
if (injectCSS) {
|
|
567
|
-
return preloadingLoader[href]?.then(async data => {
|
|
568
|
-
const inject = cssInjectFunctions[href];
|
|
569
|
-
if (inject) {
|
|
570
|
-
await Promise.race([inject(), new Promise(r => setTimeout(r, 800))]);
|
|
571
|
-
}
|
|
572
|
-
return data;
|
|
573
|
-
});
|
|
574
|
-
}
|
|
575
|
-
return preloadingLoader[href];
|
|
475
|
+
if (process.env.NODE_ENV === "development") {
|
|
476
|
+
const normalizedHref = normalizeLoaderPath(href);
|
|
477
|
+
if (!preloadingLoader[normalizedHref]) preloadingLoader[normalizedHref] = doPreloadDev(href).then(data => {
|
|
478
|
+
preloadedLoaderData[normalizedHref] = data;
|
|
479
|
+
return data;
|
|
480
|
+
});
|
|
481
|
+
return preloadingLoader[normalizedHref];
|
|
576
482
|
}
|
|
483
|
+
if (!preloadingLoader[href]) preloadingLoader[href] = doPreload(href).then(data => {
|
|
484
|
+
preloadedLoaderData[href] = data;
|
|
485
|
+
return data;
|
|
486
|
+
});
|
|
487
|
+
if (injectCSS) return preloadingLoader[href]?.then(async data => {
|
|
488
|
+
const inject = cssInjectFunctions[href];
|
|
489
|
+
if (inject) await Promise.race([inject(), new Promise(r => setTimeout(r, 800))]);
|
|
490
|
+
return data;
|
|
491
|
+
});
|
|
492
|
+
return preloadingLoader[href];
|
|
577
493
|
}
|
|
578
494
|
function normalizeLoaderPath(href) {
|
|
579
|
-
|
|
580
|
-
return url.pathname.replace(/\/index$/, "").replace(/\/$/, "") || "/";
|
|
495
|
+
return new URL(href, "http://example.com").pathname.replace(/\/index$/, "").replace(/\/$/, "") || "/";
|
|
581
496
|
}
|
|
582
497
|
function buildClientMatches(href, matchingNode, params, loaderData) {
|
|
583
498
|
const pathname = extractPathnameFromHref(href);
|
|
@@ -596,14 +511,10 @@ function initClientMatches(matches) {
|
|
|
596
511
|
setClientMatches(matches);
|
|
597
512
|
}
|
|
598
513
|
async function linkTo(href, event, options) {
|
|
599
|
-
if (process.env.ONE_DEBUG_ROUTER) {
|
|
600
|
-
console.info(`[one] \u{1F517} ${event || "NAVIGATE"} ${href}`);
|
|
601
|
-
}
|
|
514
|
+
if (process.env.ONE_DEBUG_ROUTER) console.info(`[one] \u{1F517} ${event || "NAVIGATE"} ${href}`);
|
|
602
515
|
setNavigationType("soft");
|
|
603
516
|
clearNotFoundState();
|
|
604
|
-
if (href[0] === "#")
|
|
605
|
-
return;
|
|
606
|
-
}
|
|
517
|
+
if (href[0] === "#") return;
|
|
607
518
|
if (shouldLinkExternally(href)) {
|
|
608
519
|
openExternalURL(href);
|
|
609
520
|
return;
|
|
@@ -612,12 +523,8 @@ async function linkTo(href, event, options) {
|
|
|
612
523
|
window.location.href = href;
|
|
613
524
|
return;
|
|
614
525
|
}
|
|
615
|
-
if (checkBlocker(href, event === "REPLACE" ? "replace" : "push"))
|
|
616
|
-
|
|
617
|
-
}
|
|
618
|
-
if (isRouteProtected(href)) {
|
|
619
|
-
return;
|
|
620
|
-
}
|
|
526
|
+
if (checkBlocker(href, event === "REPLACE" ? "replace" : "push")) return;
|
|
527
|
+
if (isRouteProtected(href)) return;
|
|
621
528
|
const currentLayoutNode = routeNode;
|
|
622
529
|
const currentPath = routeInfo?.pathname || "/";
|
|
623
530
|
const interceptResult = findInterceptRoute(href, currentLayoutNode, currentPath);
|
|
@@ -641,13 +548,9 @@ async function linkTo(href, event, options) {
|
|
|
641
548
|
}
|
|
642
549
|
assertIsReady(navigationRef);
|
|
643
550
|
const current = navigationRef.current;
|
|
644
|
-
if (current == null)
|
|
645
|
-
throw new Error("Couldn't find a navigation object. Is your component inside NavigationContainer?");
|
|
646
|
-
}
|
|
551
|
+
if (current == null) throw new Error("Couldn't find a navigation object. Is your component inside NavigationContainer?");
|
|
647
552
|
const linking = getLinking();
|
|
648
|
-
if (!linking)
|
|
649
|
-
throw new Error("Attempted to link to route when no routes are present");
|
|
650
|
-
}
|
|
553
|
+
if (!linking) throw new Error("Attempted to link to route when no routes are present");
|
|
651
554
|
setLastAction();
|
|
652
555
|
if (href === ".." || href === "../") {
|
|
653
556
|
current.goBack();
|
|
@@ -659,17 +562,13 @@ async function linkTo(href, event, options) {
|
|
|
659
562
|
if (segment.startsWith("[...")) {
|
|
660
563
|
segment = segment.slice(4, -1);
|
|
661
564
|
const params2 = routeInfo?.params?.[segment];
|
|
662
|
-
if (Array.isArray(params2))
|
|
663
|
-
return params2.join("/");
|
|
664
|
-
}
|
|
565
|
+
if (Array.isArray(params2)) return params2.join("/");
|
|
665
566
|
return params2?.split(",")?.join("/") ?? "";
|
|
666
567
|
}
|
|
667
568
|
segment = segment.slice(1, -1);
|
|
668
569
|
return routeInfo?.params?.[segment];
|
|
669
570
|
}).filter(Boolean).join("/") ?? "/";
|
|
670
|
-
if (!routeInfo?.isIndex)
|
|
671
|
-
base += "/..";
|
|
672
|
-
}
|
|
571
|
+
if (!routeInfo?.isIndex) base += "/..";
|
|
673
572
|
href = resolve(base, href);
|
|
674
573
|
}
|
|
675
574
|
const state = linking.getStateFromPath(href, linking.config);
|
|
@@ -681,13 +580,9 @@ async function linkTo(href, event, options) {
|
|
|
681
580
|
}
|
|
682
581
|
setLoadingState("loading");
|
|
683
582
|
const normalizedPreloadPath = normalizeLoaderPath(href);
|
|
684
|
-
if (!(normalizedPreloadPath in preloadedLoaderData) && !(href in preloadedLoaderData)) {
|
|
685
|
-
await preloadRoute(href, true);
|
|
686
|
-
} else if (process.env.NODE_ENV !== "development") {
|
|
583
|
+
if (!(normalizedPreloadPath in preloadedLoaderData) && !(href in preloadedLoaderData)) await preloadRoute(href, true);else if (process.env.NODE_ENV !== "development") {
|
|
687
584
|
const inject = cssInjectFunctions[href];
|
|
688
|
-
if (inject) {
|
|
689
|
-
inject().catch(() => {});
|
|
690
|
-
}
|
|
585
|
+
if (inject) inject().catch(() => {});
|
|
691
586
|
}
|
|
692
587
|
const preloadResult = preloadedLoaderData[normalizedPreloadPath];
|
|
693
588
|
if (preloadResult?.__oneRedirect) {
|
|
@@ -725,9 +620,7 @@ async function linkTo(href, event, options) {
|
|
|
725
620
|
const params2 = extractParamsFromState(state);
|
|
726
621
|
const search = extractSearchFromHref(href);
|
|
727
622
|
const pathname = extractPathnameFromHref(href);
|
|
728
|
-
if (loadedRoute.validateParams)
|
|
729
|
-
runValidateParams(loadedRoute.validateParams, params2);
|
|
730
|
-
}
|
|
623
|
+
if (loadedRoute.validateParams) runValidateParams(loadedRoute.validateParams, params2);
|
|
731
624
|
if (loadedRoute.validateRoute) {
|
|
732
625
|
const validationResult = await loadedRoute.validateRoute({
|
|
733
626
|
params: params2,
|
|
@@ -763,22 +656,17 @@ async function linkTo(href, event, options) {
|
|
|
763
656
|
lastValidatedHref: href
|
|
764
657
|
});
|
|
765
658
|
throw error;
|
|
766
|
-
} else
|
|
767
|
-
throw error;
|
|
768
|
-
}
|
|
659
|
+
} else throw error;
|
|
769
660
|
}
|
|
770
661
|
}
|
|
771
|
-
const
|
|
772
|
-
const loaderData = preloadedLoaderData[normalizedPath];
|
|
662
|
+
const loaderData = preloadedLoaderData[normalizeLoaderPath(href)];
|
|
773
663
|
const params = extractParamsFromState(state);
|
|
774
664
|
const newMatches = buildClientMatches(href, matchingRouteNode, params, loaderData);
|
|
775
665
|
currentMatches = newMatches;
|
|
776
666
|
setClientMatches(newMatches);
|
|
777
667
|
const currentRootState = navigationRef.getRootState();
|
|
778
668
|
const hash = href.indexOf("#");
|
|
779
|
-
if (currentRootState.key && hash > 0)
|
|
780
|
-
hashes[currentRootState.key] = href.slice(hash);
|
|
781
|
-
}
|
|
669
|
+
if (currentRootState.key && hash > 0) hashes[currentRootState.key] = href.slice(hash);
|
|
782
670
|
nextOptions = options ?? null;
|
|
783
671
|
startTransition(() => {
|
|
784
672
|
const freshRootState = navigationRef.getRootState();
|
|
@@ -799,55 +687,34 @@ async function linkTo(href, event, options) {
|
|
|
799
687
|
routes: [...existingRoutes, targetRoute],
|
|
800
688
|
index: existingRoutes.length
|
|
801
689
|
});
|
|
802
|
-
} else
|
|
803
|
-
navigationRef.dispatch(action);
|
|
804
|
-
}
|
|
690
|
+
} else navigationRef.dispatch(action);
|
|
805
691
|
let warningTm;
|
|
806
692
|
const interval = setInterval(() => {
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
setLoadingState("loaded");
|
|
811
|
-
});
|
|
812
|
-
}
|
|
693
|
+
if (current2 !== navigationRef.getCurrentRoute()) setTimeout(() => {
|
|
694
|
+
setLoadingState("loaded");
|
|
695
|
+
});
|
|
813
696
|
clearTimeout(warningTm);
|
|
814
697
|
clearTimeout(interval);
|
|
815
698
|
}, 16);
|
|
816
|
-
if (process.env.NODE_ENV === "development") {
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
}, 1e3);
|
|
820
|
-
}
|
|
699
|
+
if (process.env.NODE_ENV === "development") warningTm = setTimeout(() => {
|
|
700
|
+
console.warn(`Routing took more than 8 seconds`);
|
|
701
|
+
}, 1e3);
|
|
821
702
|
});
|
|
822
703
|
}
|
|
823
704
|
const hashes = {};
|
|
824
705
|
let nextOptions = null;
|
|
825
706
|
function deepEqual(a, b) {
|
|
826
|
-
if (a === b)
|
|
827
|
-
return true;
|
|
828
|
-
}
|
|
707
|
+
if (a === b) return true;
|
|
829
708
|
if (Array.isArray(a) && Array.isArray(b)) {
|
|
830
|
-
if (a.length !== b.length)
|
|
831
|
-
|
|
832
|
-
}
|
|
833
|
-
for (let i = 0; i < a.length; i++) {
|
|
834
|
-
if (!deepEqual(a[i], b[i])) {
|
|
835
|
-
return false;
|
|
836
|
-
}
|
|
837
|
-
}
|
|
709
|
+
if (a.length !== b.length) return false;
|
|
710
|
+
for (let i = 0; i < a.length; i++) if (!deepEqual(a[i], b[i])) return false;
|
|
838
711
|
return true;
|
|
839
712
|
}
|
|
840
713
|
if (typeof a === "object" && typeof b === "object") {
|
|
841
714
|
const keysA = Object.keys(a);
|
|
842
715
|
const keysB = Object.keys(b);
|
|
843
|
-
if (keysA.length !== keysB.length)
|
|
844
|
-
|
|
845
|
-
}
|
|
846
|
-
for (const key of keysA) {
|
|
847
|
-
if (!deepEqual(a[key], b[key])) {
|
|
848
|
-
return false;
|
|
849
|
-
}
|
|
850
|
-
}
|
|
716
|
+
if (keysA.length !== keysB.length) return false;
|
|
717
|
+
for (const key of keysA) if (!deepEqual(a[key], b[key])) return false;
|
|
851
718
|
return true;
|
|
852
719
|
}
|
|
853
720
|
return false;
|