/
opt
/
canhelp
/
node_modules
/
next
/
dist
/
esm
/
client
/
/opt/canhelp/node_modules/next/dist/esm/client
mkdir
upload
Name
Size
Mode
Actions
app-dir/
-
0755
rm
compat/
-
0755
rm
components/
-
0755
rm
dev/
-
0755
rm
legacy/
-
0755
rm
lib/
-
0755
rm
portal/
-
0755
rm
react-client-callbacks/
-
0755
rm
request/
-
0755
rm
tracing/
-
0755
rm
add-base-path.js
433
0644
edit
dl
rm
add-base-path.js.map
978
0644
edit
dl
rm
add-locale.js
501
0644
edit
dl
rm
add-locale.js.map
899
0644
edit
dl
rm
app-bootstrap.js
2210
0644
edit
dl
rm
app-bootstrap.js.map
3964
0644
edit
dl
rm
app-build-id.js
985
0644
edit
dl
rm
app-build-id.js.map
1418
0644
edit
dl
rm
app-call-server.js
600
0644
edit
dl
rm
app-call-server.js.map
1041
0644
edit
dl
rm
app-find-source-map-url.js
1124
0644
edit
dl
rm
app-find-source-map-url.js.map
2081
0644
edit
dl
rm
app-globals.js
301
0644
edit
dl
rm
app-globals.js.map
600
0644
edit
dl
rm
app-index.js
10228
0644
edit
dl
rm
app-index.js.map
17238
0644
edit
dl
rm
app-link-gc.js
4025
0644
edit
dl
rm
app-link-gc.js.map
5146
0644
edit
dl
rm
app-next-dev.js
733
0644
edit
dl
rm
app-next-dev.js.map
1264
0644
edit
dl
rm
app-next-turbopack.js
843
0644
edit
dl
rm
app-next-turbopack.js.map
1682
0644
edit
dl
rm
app-next.js
856
0644
edit
dl
rm
app-next.js.map
1266
0644
edit
dl
rm
app-webpack.js
2727
0644
edit
dl
rm
app-webpack.js.map
3207
0644
edit
dl
rm
assign-location.js
995
0644
edit
dl
rm
assign-location.js.map
1557
0644
edit
dl
rm
detect-domain-locale.js
380
0644
edit
dl
rm
detect-domain-locale.js.map
711
0644
edit
dl
rm
flight-data-helpers.js
5088
0644
edit
dl
rm
flight-data-helpers.js.map
8657
0644
edit
dl
rm
form-shared.js
5552
0644
edit
dl
rm
form-shared.js.map
10622
0644
edit
dl
rm
form.js
5212
0644
edit
dl
rm
form.js.map
8306
0644
edit
dl
rm
get-domain-locale.js
998
0644
edit
dl
rm
get-domain-locale.js.map
2451
0644
edit
dl
rm
has-base-path.js
257
0644
edit
dl
rm
has-base-path.js.map
598
0644
edit
dl
rm
head-manager.js
4988
0644
edit
dl
rm
head-manager.js.map
8320
0644
edit
dl
rm
image-component.js
12878
0644
edit
dl
rm
image-component.js.map
21446
0644
edit
dl
rm
index.js
31257
0644
edit
dl
rm
index.js.map
52799
0644
edit
dl
rm
link.js
18165
0644
edit
dl
rm
link.js.map
34394
0644
edit
dl
rm
next-dev-turbopack.js
1417
0644
edit
dl
rm
next-dev-turbopack.js.map
3054
0644
edit
dl
rm
next-dev.js
626
0644
edit
dl
rm
next-dev.js.map
1230
0644
edit
dl
rm
next-turbopack.js
1166
0644
edit
dl
rm
next-turbopack.js.map
2397
0644
edit
dl
rm
next.js
383
0644
edit
dl
rm
next.js.map
893
0644
edit
dl
rm
normalize-locale-path.js
339
0644
edit
dl
rm
normalize-locale-path.js.map
872
0644
edit
dl
rm
normalize-trailing-slash.js
935
0644
edit
dl
rm
normalize-trailing-slash.js.map
1736
0644
edit
dl
rm
page-bootstrap.js
6314
0644
edit
dl
rm
page-bootstrap.js.map
9025
0644
edit
dl
rm
page-loader.js
6820
0644
edit
dl
rm
page-loader.js.map
12220
0644
edit
dl
rm
remove-base-path.js
526
0644
edit
dl
rm
remove-base-path.js.map
1138
0644
edit
dl
rm
remove-locale.js
600
0644
edit
dl
rm
remove-locale.js.map
1301
0644
edit
dl
rm
request-idle-callback.js
634
0644
edit
dl
rm
request-idle-callback.js.map
1392
0644
edit
dl
rm
resolve-href.js
4816
0644
edit
dl
rm
resolve-href.js.map
7983
0644
edit
dl
rm
route-announcer.js
2346
0644
edit
dl
rm
route-announcer.js.map
3523
0644
edit
dl
rm
route-loader.js
13075
0644
edit
dl
rm
route-loader.js.map
23036
0644
edit
dl
rm
route-params.js
6815
0644
edit
dl
rm
route-params.js.map
10822
0644
edit
dl
rm
router.js
5873
0644
edit
dl
rm
router.js.map
8845
0644
edit
dl
rm
script.js
12619
0644
edit
dl
rm
script.js.map
18711
0644
edit
dl
rm
set-attributes-from-props.js
1817
0644
edit
dl
rm
set-attributes-from-props.js.map
3101
0644
edit
dl
rm
trusted-types.js
1410
0644
edit
dl
rm
trusted-types.js.map
1956
0644
edit
dl
rm
use-client-disallowed.js
476
0644
edit
dl
rm
use-client-disallowed.js.map
739
0644
edit
dl
rm
use-intersection.js
3248
0644
edit
dl
rm
use-intersection.js.map
6647
0644
edit
dl
rm
use-merged-ref.js
2345
0644
edit
dl
rm
use-merged-ref.js.map
3566
0644
edit
dl
rm
web-vitals.js
491
0644
edit
dl
rm
web-vitals.js.map
1005
0644
edit
dl
rm
webpack.js
1877
0644
edit
dl
rm
webpack.js.map
2542
0644
edit
dl
rm
with-router.js
781
0644
edit
dl
rm
with-router.js.map
1935
0644
edit
dl
rm
Edit:
/opt/canhelp/node_modules/next/dist/esm/client/route-loader.js
(13075B)
import getAssetPathFromRoute from '../shared/lib/router/utils/get-asset-path-from-route'; import { __unsafeCreateTrustedScriptURL } from './trusted-types'; import { requestIdleCallback } from './request-idle-callback'; import { getDeploymentIdQueryOrEmptyString } from '../build/deployment-id'; import { encodeURIPath } from '../shared/lib/encode-uri-path'; // 3.8s was arbitrarily chosen as it's what https://web.dev/interactive // considers as "Good" time-to-interactive. We must assume something went // wrong beyond this point, and then fall-back to a full page transition to // show the user something of value. const MS_MAX_IDLE_DELAY = 3800; function withFuture(key, map, generator) { let entry = map.get(key); if (entry) { if ('future' in entry) { return entry.future; } return Promise.resolve(entry); } let resolver; const prom = new Promise((resolve)=>{ resolver = resolve; }); map.set(key, { resolve: resolver, future: prom }); return generator ? generator().then((value)=>{ resolver(value); return value; }).catch((err)=>{ map.delete(key); throw err; }) : prom; } const ASSET_LOAD_ERROR = Symbol('ASSET_LOAD_ERROR'); // TODO: unexport export function markAssetError(err) { return Object.defineProperty(err, ASSET_LOAD_ERROR, {}); } export function isAssetError(err) { return err && ASSET_LOAD_ERROR in err; } function hasPrefetch(link) { try { link = document.createElement('link'); return(// detect IE11 since it supports prefetch but isn't detected // with relList.support !!window.MSInputMethodContext && !!document.documentMode || link.relList.supports('prefetch')); } catch (e) { return false; } } const canPrefetch = hasPrefetch(); const getAssetQueryString = ()=>{ return getDeploymentIdQueryOrEmptyString(); }; function prefetchViaDom(href, as, link) { return new Promise((resolve, reject)=>{ const selector = '\n link[rel="prefetch"][href^="' + href + '"],\n link[rel="preload"][href^="' + href + '"],\n script[src^="' + href + '"]'; if (document.querySelector(selector)) { return resolve(); } link = document.createElement('link'); // The order of property assignment here is intentional: if (as) link.as = as; link.rel = "prefetch"; link.crossOrigin = process.env.__NEXT_CROSS_ORIGIN; link.onload = resolve; link.onerror = ()=>reject(markAssetError(Object.defineProperty(new Error("Failed to prefetch: " + href), "__NEXT_ERROR_CODE", { value: "E268", enumerable: false, configurable: true }))); // `href` should always be last: link.href = href; document.head.appendChild(link); }); } function appendScript(src, script) { return new Promise((resolve, reject)=>{ script = document.createElement('script'); // The order of property assignment here is intentional. // 1. Setup success/failure hooks in case the browser synchronously // executes when `src` is set. script.onload = resolve; script.onerror = ()=>reject(markAssetError(Object.defineProperty(new Error("Failed to load script: " + src), "__NEXT_ERROR_CODE", { value: "E74", enumerable: false, configurable: true }))); // 2. Configure the cross-origin attribute before setting `src` in case the // browser begins to fetch. script.crossOrigin = process.env.__NEXT_CROSS_ORIGIN; // 3. Finally, set the source and inject into the DOM in case the child // must be appended for fetching to start. script.src = src; document.body.appendChild(script); }); } // We wait for pages to be built in dev before we start the route transition // timeout to prevent an un-necessary hard navigation in development. let devBuildPromise; // Resolve a promise that times out after given amount of milliseconds. function resolvePromiseWithTimeout(p, ms, err) { return new Promise((resolve, reject)=>{ let cancelled = false; p.then((r)=>{ // Resolved, cancel the timeout cancelled = true; resolve(r); }).catch(reject); // We wrap these checks separately for better dead-code elimination in // production bundles. if (process.env.NODE_ENV === 'development') { ; (devBuildPromise || Promise.resolve()).then(()=>{ requestIdleCallback(()=>setTimeout(()=>{ if (!cancelled) { reject(err); } }, ms)); }); } if (process.env.NODE_ENV !== 'development') { requestIdleCallback(()=>setTimeout(()=>{ if (!cancelled) { reject(err); } }, ms)); } }); } // TODO: stop exporting or cache the failure // It'd be best to stop exporting this. It's an implementation detail. We're // only exporting it for backwards compatibility with the `page-loader`. // Only cache this response as a last resort if we cannot eliminate all other // code branches that use the Build Manifest Callback and push them through // the Route Loader interface. export function getClientBuildManifest() { if (self.__BUILD_MANIFEST) { return Promise.resolve(self.__BUILD_MANIFEST); } const onBuildManifest = new Promise((resolve)=>{ // Mandatory because this is not concurrent safe: const cb = self.__BUILD_MANIFEST_CB; self.__BUILD_MANIFEST_CB = ()=>{ resolve(self.__BUILD_MANIFEST); cb && cb(); }; }); return resolvePromiseWithTimeout(onBuildManifest, MS_MAX_IDLE_DELAY, markAssetError(Object.defineProperty(new Error('Failed to load client build manifest'), "__NEXT_ERROR_CODE", { value: "E273", enumerable: false, configurable: true }))); } function getFilesForRoute(assetPrefix, route) { if (process.env.NODE_ENV === 'development') { const scriptUrl = assetPrefix + '/_next/static/chunks/pages' + encodeURIPath(getAssetPathFromRoute(route, '.js')) + getAssetQueryString(); return Promise.resolve({ scripts: [ __unsafeCreateTrustedScriptURL(scriptUrl) ], // Styles are handled by `style-loader` in development: css: [] }); } return getClientBuildManifest().then((manifest)=>{ if (!(route in manifest)) { throw markAssetError(Object.defineProperty(new Error("Failed to lookup route: " + route), "__NEXT_ERROR_CODE", { value: "E446", enumerable: false, configurable: true })); } const allFiles = manifest[route].map((entry)=>assetPrefix + '/_next/' + encodeURIPath(entry)); return { scripts: allFiles.filter((v)=>v.endsWith('.js')).map((v)=>__unsafeCreateTrustedScriptURL(v) + getAssetQueryString()), css: allFiles.filter((v)=>v.endsWith('.css')).map((v)=>v + getAssetQueryString()) }; }); } export function createRouteLoader(assetPrefix) { const entrypoints = new Map(); const loadedScripts = new Map(); const styleSheets = new Map(); const routes = new Map(); function maybeExecuteScript(src) { // With HMR we might need to "reload" scripts when they are // disposed and readded. Executing scripts twice has no functional // differences if (process.env.NODE_ENV !== 'development') { let prom = loadedScripts.get(src.toString()); if (prom) { return prom; } // Skip executing script if it's already in the DOM: if (document.querySelector('script[src^="' + src + '"]')) { return Promise.resolve(); } loadedScripts.set(src.toString(), prom = appendScript(src)); return prom; } else { return appendScript(src); } } function fetchStyleSheet(href) { let prom = styleSheets.get(href); if (prom) { return prom; } styleSheets.set(href, prom = fetch(href, { credentials: 'same-origin' }).then((res)=>{ if (!res.ok) { throw Object.defineProperty(new Error("Failed to load stylesheet: " + href), "__NEXT_ERROR_CODE", { value: "E189", enumerable: false, configurable: true }); } return res.text().then((text)=>({ href: href, content: text })); }).catch((err)=>{ throw markAssetError(err); })); return prom; } return { whenEntrypoint (route) { return withFuture(route, entrypoints); }, onEntrypoint (route, execute) { ; (execute ? Promise.resolve().then(()=>execute()).then((exports)=>({ component: exports && exports.default || exports, exports: exports }), (err)=>({ error: err })) : Promise.resolve(undefined)).then((input)=>{ const old = entrypoints.get(route); if (old && 'resolve' in old) { if (input) { entrypoints.set(route, input); old.resolve(input); } } else { if (input) { entrypoints.set(route, input); } else { entrypoints.delete(route); } // when this entrypoint has been resolved before // the route is outdated and we want to invalidate // this cache entry routes.delete(route); } }); }, loadRoute (route, prefetch) { return withFuture(route, routes, ()=>{ let devBuildPromiseResolve; if (process.env.NODE_ENV === 'development') { devBuildPromise = new Promise((resolve)=>{ devBuildPromiseResolve = resolve; }); } return resolvePromiseWithTimeout(getFilesForRoute(assetPrefix, route).then((param)=>{ let { scripts, css } = param; return Promise.all([ entrypoints.has(route) ? [] : Promise.all(scripts.map(maybeExecuteScript)), Promise.all(css.map(fetchStyleSheet)) ]); }).then((res)=>{ return this.whenEntrypoint(route).then((entrypoint)=>({ entrypoint, styles: res[1] })); }), MS_MAX_IDLE_DELAY, markAssetError(Object.defineProperty(new Error("Route did not complete loading: " + route), "__NEXT_ERROR_CODE", { value: "E12", enumerable: false, configurable: true }))).then((param)=>{ let { entrypoint, styles } = param; const res = Object.assign({ styles: styles }, entrypoint); return 'error' in entrypoint ? entrypoint : res; }).catch((err)=>{ if (prefetch) { // we don't want to cache errors during prefetch throw err; } return { error: err }; }).finally(()=>devBuildPromiseResolve == null ? void 0 : devBuildPromiseResolve()); }); }, prefetch (route) { // https://github.com/GoogleChromeLabs/quicklink/blob/453a661fa1fa940e2d2e044452398e38c67a98fb/src/index.mjs#L115-L118 // License: Apache 2.0 let cn; if (cn = navigator.connection) { // Don't prefetch if using 2G or if Save-Data is enabled. if (cn.saveData || /2g/.test(cn.effectiveType)) return Promise.resolve(); } return getFilesForRoute(assetPrefix, route).then((output)=>Promise.all(canPrefetch ? output.scripts.map((script)=>prefetchViaDom(script.toString(), 'script')) : [])).then(()=>{ requestIdleCallback(()=>this.loadRoute(route, true).catch(()=>{})); }).catch(// swallow prefetch errors ()=>{}); } }; } //# sourceMappingURL=route-loader.js.map
Save
cmd:
run