Spaces:
Running
Running
| ; | |
| Object.defineProperty(exports, "__esModule", { | |
| value: true | |
| }); | |
| Object.defineProperty(exports, "useUntrackedPathname", { | |
| enumerable: true, | |
| get: function() { | |
| return useUntrackedPathname; | |
| } | |
| }); | |
| const _react = require("react"); | |
| const _hooksclientcontextsharedruntime = require("../../shared/lib/hooks-client-context.shared-runtime"); | |
| /** | |
| * This checks to see if the current render has any unknown route parameters that | |
| * would cause the pathname to be dynamic. It's used to trigger a different | |
| * render path in the error boundary. | |
| * | |
| * @returns true if there are any unknown route parameters, false otherwise | |
| */ function hasFallbackRouteParams() { | |
| if (typeof window === 'undefined') { | |
| // AsyncLocalStorage should not be included in the client bundle. | |
| const { workUnitAsyncStorage } = require('../../server/app-render/work-unit-async-storage.external'); | |
| const workUnitStore = workUnitAsyncStorage.getStore(); | |
| if (!workUnitStore) return false; | |
| switch(workUnitStore.type){ | |
| case 'prerender': | |
| case 'prerender-client': | |
| case 'prerender-ppr': | |
| const fallbackParams = workUnitStore.fallbackRouteParams; | |
| return fallbackParams ? fallbackParams.size > 0 : false; | |
| case 'prerender-legacy': | |
| case 'request': | |
| case 'prerender-runtime': | |
| case 'cache': | |
| case 'private-cache': | |
| case 'unstable-cache': | |
| break; | |
| default: | |
| workUnitStore; | |
| } | |
| return false; | |
| } | |
| return false; | |
| } | |
| function useUntrackedPathname() { | |
| // If there are any unknown route parameters we would typically throw | |
| // an error, but this internal method allows us to return a null value instead | |
| // for components that do not propagate the pathname to the static shell (like | |
| // the error boundary). | |
| if (hasFallbackRouteParams()) { | |
| return null; | |
| } | |
| // This shouldn't cause any issues related to conditional rendering because | |
| // the environment will be consistent for the render. | |
| // eslint-disable-next-line react-hooks/rules-of-hooks | |
| return (0, _react.useContext)(_hooksclientcontextsharedruntime.PathnameContext); | |
| } | |
| if ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') { | |
| Object.defineProperty(exports.default, '__esModule', { value: true }); | |
| Object.assign(exports.default, exports); | |
| module.exports = exports.default; | |
| } | |
| //# sourceMappingURL=navigation-untracked.js.map |