/
opt
/
canhelp
/
node_modules
/
next
/
dist
/
esm
/
client
/
components
/
/opt/canhelp/node_modules/next/dist/esm/client/components
mkdir
upload
Name
Size
Mode
Actions
builtin/
-
0755
rm
errors/
-
0755
rm
http-access-fallback/
-
0755
rm
metadata/
-
0755
rm
router-reducer/
-
0755
rm
segment-cache-impl/
-
0755
rm
styles/
-
0755
rm
app-router-announcer.js
2757
0644
edit
dl
rm
app-router-announcer.js.map
4660
0644
edit
dl
rm
app-router-headers.js
1675
0644
edit
dl
rm
app-router-headers.js.map
3014
0644
edit
dl
rm
app-router-instance.js
13037
0644
edit
dl
rm
app-router-instance.js.map
21131
0644
edit
dl
rm
app-router.js
23067
0644
edit
dl
rm
app-router.js.map
35012
0644
edit
dl
rm
bailout-to-client-rendering.js
1236
0644
edit
dl
rm
bailout-to-client-rendering.js.map
1706
0644
edit
dl
rm
bfcache.js
4568
0644
edit
dl
rm
bfcache.js.map
6394
0644
edit
dl
rm
client-page.js
2519
0644
edit
dl
rm
client-page.js.map
3919
0644
edit
dl
rm
client-segment.js
2106
0644
edit
dl
rm
client-segment.js.map
3099
0644
edit
dl
rm
dev-root-http-access-fallback-boundary.js
901
0644
edit
dl
rm
dev-root-http-access-fallback-boundary.js.map
1292
0644
edit
dl
rm
error-boundary.js
4730
0644
edit
dl
rm
error-boundary.js.map
7454
0644
edit
dl
rm
forbidden.js
1543
0644
edit
dl
rm
forbidden.js.map
1988
0644
edit
dl
rm
handle-isr-error.js
709
0644
edit
dl
rm
handle-isr-error.js.map
1316
0644
edit
dl
rm
hooks-server-context.js
534
0644
edit
dl
rm
hooks-server-context.js.map
1133
0644
edit
dl
rm
is-next-router-error.js
481
0644
edit
dl
rm
is-next-router-error.js.map
922
0644
edit
dl
rm
layout-router.js
26406
0644
edit
dl
rm
layout-router.js.map
37850
0644
edit
dl
rm
links.js
12533
0644
edit
dl
rm
links.js.map
21060
0644
edit
dl
rm
match-segments.js
524
0644
edit
dl
rm
match-segments.js.map
1034
0644
edit
dl
rm
nav-failure-handler.js
1614
0644
edit
dl
rm
nav-failure-handler.js.map
2827
0644
edit
dl
rm
navigation-untracked.js
2397
0644
edit
dl
rm
navigation-untracked.js.map
3374
0644
edit
dl
rm
navigation.js
9118
0644
edit
dl
rm
navigation.js.map
12807
0644
edit
dl
rm
navigation.react-server.js
1944
0644
edit
dl
rm
navigation.react-server.js.map
2768
0644
edit
dl
rm
noop-head.js
94
0644
edit
dl
rm
noop-head.js.map
233
0644
edit
dl
rm
not-found.js
1356
0644
edit
dl
rm
not-found.js.map
1752
0644
edit
dl
rm
promise-queue.js
3712
0644
edit
dl
rm
promise-queue.js.map
3591
0644
edit
dl
rm
redirect-boundary.js
2222
0644
edit
dl
rm
redirect-boundary.js.map
3940
0644
edit
dl
rm
redirect-error.js
1123
0644
edit
dl
rm
redirect-error.js.map
2103
0644
edit
dl
rm
redirect-status-code.js
425
0644
edit
dl
rm
redirect-status-code.js.map
319
0644
edit
dl
rm
redirect.js
3822
0644
edit
dl
rm
redirect.js.map
5837
0644
edit
dl
rm
render-from-template-context.js
456
0644
edit
dl
rm
render-from-template-context.js.map
667
0644
edit
dl
rm
segment-cache.js
6004
0644
edit
dl
rm
segment-cache.js.map
8823
0644
edit
dl
rm
static-generation-bailout.js
466
0644
edit
dl
rm
static-generation-bailout.js.map
877
0644
edit
dl
rm
unauthorized.js
1570
0644
edit
dl
rm
unauthorized.js.map
2020
0644
edit
dl
rm
unrecognized-action-error.js
923
0644
edit
dl
rm
unrecognized-action-error.js.map
1478
0644
edit
dl
rm
unresolved-thenable.js
227
0644
edit
dl
rm
unresolved-thenable.js.map
441
0644
edit
dl
rm
unstable-rethrow.browser.js
433
0644
edit
dl
rm
unstable-rethrow.browser.js.map
841
0644
edit
dl
rm
unstable-rethrow.js
712
0644
edit
dl
rm
unstable-rethrow.js.map
1112
0644
edit
dl
rm
unstable-rethrow.server.js
854
0644
edit
dl
rm
unstable-rethrow.server.js.map
1566
0644
edit
dl
rm
use-action-queue.js
1921
0644
edit
dl
rm
use-action-queue.js.map
3273
0644
edit
dl
rm
Edit:
/opt/canhelp/node_modules/next/dist/esm/client/components/links.js.map
(21060B)
{"version":3,"sources":["../../../src/client/components/links.ts"],"sourcesContent":["import type { FlightRouterState } from '../../server/app-render/types'\nimport type { AppRouterInstance } from '../../shared/lib/app-router-context.shared-runtime'\nimport { getCurrentAppRouterState } from './app-router-instance'\nimport { createPrefetchURL } from './app-router'\nimport {\n FetchStrategy,\n isPrefetchTaskDirty,\n type PrefetchTaskFetchStrategy,\n} from './segment-cache'\nimport { createCacheKey } from './segment-cache'\nimport {\n type PrefetchTask,\n PrefetchPriority,\n schedulePrefetchTask as scheduleSegmentPrefetchTask,\n cancelPrefetchTask,\n reschedulePrefetchTask,\n} from './segment-cache'\nimport { startTransition } from 'react'\nimport { PrefetchKind } from './router-reducer/router-reducer-types'\nimport { InvariantError } from '../../shared/lib/invariant-error'\n\ntype LinkElement = HTMLAnchorElement | SVGAElement\n\ntype Element = LinkElement | HTMLFormElement\n\n// Properties that are shared between Link and Form instances. We use the same\n// shape for both to prevent a polymorphic de-opt in the VM.\ntype LinkOrFormInstanceShared = {\n router: AppRouterInstance\n fetchStrategy: PrefetchTaskFetchStrategy\n\n isVisible: boolean\n\n // The most recently initiated prefetch task. It may or may not have\n // already completed. The same prefetch task object can be reused across\n // multiple prefetches of the same link.\n prefetchTask: PrefetchTask | null\n}\n\nexport type FormInstance = LinkOrFormInstanceShared & {\n prefetchHref: string\n setOptimisticLinkStatus: null\n}\n\ntype PrefetchableLinkInstance = LinkOrFormInstanceShared & {\n prefetchHref: string\n setOptimisticLinkStatus: (status: { pending: boolean }) => void\n}\n\ntype NonPrefetchableLinkInstance = LinkOrFormInstanceShared & {\n prefetchHref: null\n setOptimisticLinkStatus: (status: { pending: boolean }) => void\n}\n\ntype PrefetchableInstance = PrefetchableLinkInstance | FormInstance\n\nexport type LinkInstance =\n | PrefetchableLinkInstance\n | NonPrefetchableLinkInstance\n\n// Tracks the most recently navigated link instance. When null, indicates\n// the current navigation was not initiated by a link click.\nlet linkForMostRecentNavigation: LinkInstance | null = null\n\n// Status object indicating link is pending\nexport const PENDING_LINK_STATUS = { pending: true }\n\n// Status object indicating link is idle\nexport const IDLE_LINK_STATUS = { pending: false }\n\n// Updates the loading state when navigating between links\n// - Resets the previous link's loading state\n// - Sets the new link's loading state\n// - Updates tracking of current navigation\nexport function setLinkForCurrentNavigation(link: LinkInstance | null) {\n startTransition(() => {\n linkForMostRecentNavigation?.setOptimisticLinkStatus(IDLE_LINK_STATUS)\n link?.setOptimisticLinkStatus(PENDING_LINK_STATUS)\n linkForMostRecentNavigation = link\n })\n}\n\n// Unmounts the current link instance from navigation tracking\nexport function unmountLinkForCurrentNavigation(link: LinkInstance) {\n if (linkForMostRecentNavigation === link) {\n linkForMostRecentNavigation = null\n }\n}\n\n// Use a WeakMap to associate a Link instance with its DOM element. This is\n// used by the IntersectionObserver to track the link's visibility.\nconst prefetchable:\n | WeakMap<Element, PrefetchableInstance>\n | Map<Element, PrefetchableInstance> =\n typeof WeakMap === 'function' ? new WeakMap() : new Map()\n\n// A Set of the currently visible links. We re-prefetch visible links after a\n// cache invalidation, or when the current URL changes. It's a separate data\n// structure from the WeakMap above because only the visible links need to\n// be enumerated.\nconst prefetchableAndVisible: Set<PrefetchableInstance> = new Set()\n\n// A single IntersectionObserver instance shared by all <Link> components.\nconst observer: IntersectionObserver | null =\n typeof IntersectionObserver === 'function'\n ? new IntersectionObserver(handleIntersect, {\n rootMargin: '200px',\n })\n : null\n\nfunction observeVisibility(element: Element, instance: PrefetchableInstance) {\n const existingInstance = prefetchable.get(element)\n if (existingInstance !== undefined) {\n // This shouldn't happen because each <Link> component should have its own\n // anchor tag instance, but it's defensive coding to avoid a memory leak in\n // case there's a logical error somewhere else.\n unmountPrefetchableInstance(element)\n }\n // Only track prefetchable links that have a valid prefetch URL\n prefetchable.set(element, instance)\n if (observer !== null) {\n observer.observe(element)\n }\n}\n\nfunction coercePrefetchableUrl(href: string): URL | null {\n try {\n return createPrefetchURL(href)\n } catch {\n // createPrefetchURL sometimes throws an error if an invalid URL is\n // provided, though I'm not sure if it's actually necessary.\n // TODO: Consider removing the throw from the inner function, or change it\n // to reportError. Or maybe the error isn't even necessary for automatic\n // prefetches, just navigations.\n const reportErrorFn =\n typeof reportError === 'function' ? reportError : console.error\n reportErrorFn(\n `Cannot prefetch '${href}' because it cannot be converted to a URL.`\n )\n return null\n }\n}\n\nexport function mountLinkInstance(\n element: LinkElement,\n href: string,\n router: AppRouterInstance,\n fetchStrategy: PrefetchTaskFetchStrategy,\n prefetchEnabled: boolean,\n setOptimisticLinkStatus: (status: { pending: boolean }) => void\n): LinkInstance {\n if (prefetchEnabled) {\n const prefetchURL = coercePrefetchableUrl(href)\n if (prefetchURL !== null) {\n const instance: PrefetchableLinkInstance = {\n router,\n fetchStrategy,\n isVisible: false,\n prefetchTask: null,\n prefetchHref: prefetchURL.href,\n setOptimisticLinkStatus,\n }\n // We only observe the link's visibility if it's prefetchable. For\n // example, this excludes links to external URLs.\n observeVisibility(element, instance)\n return instance\n }\n }\n // If the link is not prefetchable, we still create an instance so we can\n // track its optimistic state (i.e. useLinkStatus).\n const instance: NonPrefetchableLinkInstance = {\n router,\n fetchStrategy,\n isVisible: false,\n prefetchTask: null,\n prefetchHref: null,\n setOptimisticLinkStatus,\n }\n return instance\n}\n\nexport function mountFormInstance(\n element: HTMLFormElement,\n href: string,\n router: AppRouterInstance,\n fetchStrategy: PrefetchTaskFetchStrategy\n): void {\n const prefetchURL = coercePrefetchableUrl(href)\n if (prefetchURL === null) {\n // This href is not prefetchable, so we don't track it.\n // TODO: We currently observe/unobserve a form every time its href changes.\n // For Links, this isn't a big deal because the href doesn't usually change,\n // but for forms it's extremely common. We should optimize this.\n return\n }\n const instance: FormInstance = {\n router,\n fetchStrategy,\n isVisible: false,\n prefetchTask: null,\n prefetchHref: prefetchURL.href,\n setOptimisticLinkStatus: null,\n }\n observeVisibility(element, instance)\n}\n\nexport function unmountPrefetchableInstance(element: Element) {\n const instance = prefetchable.get(element)\n if (instance !== undefined) {\n prefetchable.delete(element)\n prefetchableAndVisible.delete(instance)\n const prefetchTask = instance.prefetchTask\n if (prefetchTask !== null) {\n cancelPrefetchTask(prefetchTask)\n }\n }\n if (observer !== null) {\n observer.unobserve(element)\n }\n}\n\nfunction handleIntersect(entries: Array<IntersectionObserverEntry>) {\n for (const entry of entries) {\n // Some extremely old browsers or polyfills don't reliably support\n // isIntersecting so we check intersectionRatio instead. (Do we care? Not\n // really. But whatever this is fine.)\n const isVisible = entry.intersectionRatio > 0\n onLinkVisibilityChanged(entry.target as HTMLAnchorElement, isVisible)\n }\n}\n\nexport function onLinkVisibilityChanged(element: Element, isVisible: boolean) {\n if (process.env.NODE_ENV !== 'production') {\n // Prefetching on viewport is disabled in development for performance\n // reasons, because it requires compiling the target page.\n // TODO: Investigate re-enabling this.\n return\n }\n\n const instance = prefetchable.get(element)\n if (instance === undefined) {\n return\n }\n\n instance.isVisible = isVisible\n if (isVisible) {\n prefetchableAndVisible.add(instance)\n } else {\n prefetchableAndVisible.delete(instance)\n }\n rescheduleLinkPrefetch(instance, PrefetchPriority.Default)\n}\n\nexport function onNavigationIntent(\n element: HTMLAnchorElement | SVGAElement,\n unstable_upgradeToDynamicPrefetch: boolean\n) {\n const instance = prefetchable.get(element)\n if (instance === undefined) {\n return\n }\n // Prefetch the link on hover/touchstart.\n if (instance !== undefined) {\n if (\n process.env.__NEXT_DYNAMIC_ON_HOVER &&\n unstable_upgradeToDynamicPrefetch\n ) {\n // Switch to a full prefetch\n instance.fetchStrategy = FetchStrategy.Full\n }\n rescheduleLinkPrefetch(instance, PrefetchPriority.Intent)\n }\n}\n\nfunction rescheduleLinkPrefetch(\n instance: PrefetchableInstance,\n priority: PrefetchPriority.Default | PrefetchPriority.Intent\n) {\n const existingPrefetchTask = instance.prefetchTask\n\n if (!instance.isVisible) {\n // Cancel any in-progress prefetch task. (If it already finished then this\n // is a no-op.)\n if (existingPrefetchTask !== null) {\n cancelPrefetchTask(existingPrefetchTask)\n }\n // We don't need to reset the prefetchTask to null upon cancellation; an\n // old task object can be rescheduled with reschedulePrefetchTask. This is a\n // micro-optimization but also makes the code simpler (don't need to\n // worry about whether an old task object is stale).\n return\n }\n\n if (!process.env.__NEXT_CLIENT_SEGMENT_CACHE) {\n // The old prefetch implementation does not have different priority levels.\n // Just schedule a new prefetch task.\n prefetchWithOldCacheImplementation(instance)\n return\n }\n\n const appRouterState = getCurrentAppRouterState()\n if (appRouterState !== null) {\n const treeAtTimeOfPrefetch = appRouterState.tree\n if (existingPrefetchTask === null) {\n // Initiate a prefetch task.\n const nextUrl = appRouterState.nextUrl\n const cacheKey = createCacheKey(instance.prefetchHref, nextUrl)\n instance.prefetchTask = scheduleSegmentPrefetchTask(\n cacheKey,\n treeAtTimeOfPrefetch,\n instance.fetchStrategy,\n priority,\n null\n )\n } else {\n // We already have an old task object that we can reschedule. This is\n // effectively the same as canceling the old task and creating a new one.\n reschedulePrefetchTask(\n existingPrefetchTask,\n treeAtTimeOfPrefetch,\n instance.fetchStrategy,\n priority\n )\n }\n }\n}\n\nexport function pingVisibleLinks(\n nextUrl: string | null,\n tree: FlightRouterState\n) {\n // For each currently visible link, cancel the existing prefetch task (if it\n // exists) and schedule a new one. This is effectively the same as if all the\n // visible links left and then re-entered the viewport.\n //\n // This is called when the Next-Url or the base tree changes, since those\n // may affect the result of a prefetch task. It's also called after a\n // cache invalidation.\n for (const instance of prefetchableAndVisible) {\n const task = instance.prefetchTask\n if (task !== null && !isPrefetchTaskDirty(task, nextUrl, tree)) {\n // The cache has not been invalidated, and none of the inputs have\n // changed. Bail out.\n continue\n }\n // Something changed. Cancel the existing prefetch task and schedule a\n // new one.\n if (task !== null) {\n cancelPrefetchTask(task)\n }\n const cacheKey = createCacheKey(instance.prefetchHref, nextUrl)\n instance.prefetchTask = scheduleSegmentPrefetchTask(\n cacheKey,\n tree,\n instance.fetchStrategy,\n PrefetchPriority.Default,\n null\n )\n }\n}\n\nfunction prefetchWithOldCacheImplementation(instance: PrefetchableInstance) {\n // This is the path used when the Segment Cache is not enabled.\n if (typeof window === 'undefined') {\n return\n }\n\n const doPrefetch = async () => {\n // note that `appRouter.prefetch()` is currently sync,\n // so we have to wrap this call in an async function to be able to catch() errors below.\n\n let prefetchKind: PrefetchKind\n switch (instance.fetchStrategy) {\n case FetchStrategy.PPR: {\n prefetchKind = PrefetchKind.AUTO\n break\n }\n case FetchStrategy.Full: {\n prefetchKind = PrefetchKind.FULL\n break\n }\n case FetchStrategy.PPRRuntime: {\n // We can only get here if Client Segment Cache is off, and in that case\n // it shouldn't be possible for a link to request a runtime prefetch.\n throw new InvariantError(\n 'FetchStrategy.PPRRuntime should never be used when `experimental.clientSegmentCache` is disabled'\n )\n }\n default: {\n instance.fetchStrategy satisfies never\n // Unreachable, but otherwise typescript will consider the variable unassigned\n prefetchKind = undefined!\n }\n }\n\n return instance.router.prefetch(instance.prefetchHref, {\n kind: prefetchKind,\n })\n }\n\n // Prefetch the page if asked (only in the client)\n // We need to handle a prefetch error here since we may be\n // loading with priority which can reject but we don't\n // want to force navigation since this is only a prefetch\n doPrefetch().catch((err) => {\n if (process.env.NODE_ENV !== 'production') {\n // rethrow to show invalid URL errors\n throw err\n }\n })\n}\n"],"names":["getCurrentAppRouterState","createPrefetchURL","FetchStrategy","isPrefetchTaskDirty","createCacheKey","PrefetchPriority","schedulePrefetchTask","scheduleSegmentPrefetchTask","cancelPrefetchTask","reschedulePrefetchTask","startTransition","PrefetchKind","InvariantError","linkForMostRecentNavigation","PENDING_LINK_STATUS","pending","IDLE_LINK_STATUS","setLinkForCurrentNavigation","link","setOptimisticLinkStatus","unmountLinkForCurrentNavigation","prefetchable","WeakMap","Map","prefetchableAndVisible","Set","observer","IntersectionObserver","handleIntersect","rootMargin","observeVisibility","element","instance","existingInstance","get","undefined","unmountPrefetchableInstance","set","observe","coercePrefetchableUrl","href","reportErrorFn","reportError","console","error","mountLinkInstance","router","fetchStrategy","prefetchEnabled","prefetchURL","isVisible","prefetchTask","prefetchHref","mountFormInstance","delete","unobserve","entries","entry","intersectionRatio","onLinkVisibilityChanged","target","process","env","NODE_ENV","add","rescheduleLinkPrefetch","Default","onNavigationIntent","unstable_upgradeToDynamicPrefetch","__NEXT_DYNAMIC_ON_HOVER","Full","Intent","priority","existingPrefetchTask","__NEXT_CLIENT_SEGMENT_CACHE","prefetchWithOldCacheImplementation","appRouterState","treeAtTimeOfPrefetch","tree","nextUrl","cacheKey","pingVisibleLinks","task","window","doPrefetch","prefetchKind","PPR","AUTO","FULL","PPRRuntime","prefetch","kind","catch","err"],"mappings":"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","ignoreList":[0]}
Save
cmd:
run