Spaces:
Running
Running
| ; | |
| Object.defineProperty(exports, "__esModule", { | |
| value: true | |
| }); | |
| 0 && (module.exports = { | |
| PathnameContextProviderAdapter: null, | |
| adaptForAppRouterInstance: null, | |
| adaptForPathParams: null, | |
| adaptForSearchParams: null | |
| }); | |
| function _export(target, all) { | |
| for(var name in all)Object.defineProperty(target, name, { | |
| enumerable: true, | |
| get: all[name] | |
| }); | |
| } | |
| _export(exports, { | |
| PathnameContextProviderAdapter: function() { | |
| return PathnameContextProviderAdapter; | |
| }, | |
| adaptForAppRouterInstance: function() { | |
| return adaptForAppRouterInstance; | |
| }, | |
| adaptForPathParams: function() { | |
| return adaptForPathParams; | |
| }, | |
| adaptForSearchParams: function() { | |
| return adaptForSearchParams; | |
| } | |
| }); | |
| const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard"); | |
| const _jsxruntime = require("react/jsx-runtime"); | |
| const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react")); | |
| const _hooksclientcontextsharedruntime = require("../hooks-client-context.shared-runtime"); | |
| const _utils = require("./utils"); | |
| const _aspathtosearchparams = require("./utils/as-path-to-search-params"); | |
| const _routeregex = require("./utils/route-regex"); | |
| function adaptForAppRouterInstance(pagesRouter) { | |
| return { | |
| back () { | |
| pagesRouter.back(); | |
| }, | |
| forward () { | |
| pagesRouter.forward(); | |
| }, | |
| refresh () { | |
| pagesRouter.reload(); | |
| }, | |
| hmrRefresh () {}, | |
| push (href, { scroll } = {}) { | |
| void pagesRouter.push(href, undefined, { | |
| scroll | |
| }); | |
| }, | |
| replace (href, { scroll } = {}) { | |
| void pagesRouter.replace(href, undefined, { | |
| scroll | |
| }); | |
| }, | |
| prefetch (href) { | |
| void pagesRouter.prefetch(href); | |
| } | |
| }; | |
| } | |
| function adaptForSearchParams(router) { | |
| if (!router.isReady || !router.query) { | |
| return new URLSearchParams(); | |
| } | |
| return (0, _aspathtosearchparams.asPathToSearchParams)(router.asPath); | |
| } | |
| function adaptForPathParams(router) { | |
| if (!router.isReady || !router.query) { | |
| return null; | |
| } | |
| const pathParams = {}; | |
| const routeRegex = (0, _routeregex.getRouteRegex)(router.pathname); | |
| const keys = Object.keys(routeRegex.groups); | |
| for (const key of keys){ | |
| pathParams[key] = router.query[key]; | |
| } | |
| return pathParams; | |
| } | |
| function PathnameContextProviderAdapter({ children, router, ...props }) { | |
| const ref = (0, _react.useRef)(props.isAutoExport); | |
| const value = (0, _react.useMemo)(()=>{ | |
| // isAutoExport is only ever `true` on the first render from the server, | |
| // so reset it to `false` after we read it for the first time as `true`. If | |
| // we don't use the value, then we don't need it. | |
| const isAutoExport = ref.current; | |
| if (isAutoExport) { | |
| ref.current = false; | |
| } | |
| // When the route is a dynamic route, we need to do more processing to | |
| // determine if we need to stop showing the pathname. | |
| if ((0, _utils.isDynamicRoute)(router.pathname)) { | |
| // When the router is rendering the fallback page, it can't possibly know | |
| // the path, so return `null` here. Read more about fallback pages over | |
| // at: | |
| // https://nextjs.org/docs/api-reference/data-fetching/get-static-paths#fallback-pages | |
| if (router.isFallback) { | |
| return null; | |
| } | |
| // When `isAutoExport` is true, meaning this is a page page has been | |
| // automatically statically optimized, and the router is not ready, then | |
| // we can't know the pathname yet. Read more about automatic static | |
| // optimization at: | |
| // https://nextjs.org/docs/advanced-features/automatic-static-optimization | |
| if (isAutoExport && !router.isReady) { | |
| return null; | |
| } | |
| } | |
| // The `router.asPath` contains the pathname seen by the browser (including | |
| // any query strings), so it should have that stripped. Read more about the | |
| // `asPath` option over at: | |
| // https://nextjs.org/docs/api-reference/next/router#router-object | |
| let url; | |
| try { | |
| url = new URL(router.asPath, 'http://f'); | |
| } catch (_) { | |
| // fallback to / for invalid asPath values e.g. // | |
| return '/'; | |
| } | |
| return url.pathname; | |
| }, [ | |
| router.asPath, | |
| router.isFallback, | |
| router.isReady, | |
| router.pathname | |
| ]); | |
| return /*#__PURE__*/ (0, _jsxruntime.jsx)(_hooksclientcontextsharedruntime.PathnameContext.Provider, { | |
| value: value, | |
| children: children | |
| }); | |
| } | |
| //# sourceMappingURL=adapters.js.map |