/opt/canhelp/node_modules/next/dist/esm/server/app-render
NameSizeModeActions
metadata-insertion/-0755rm
module-loading/-0755rm
rsc/-0755rm
action-async-storage-instance.js1920644editdlrm
action-async-storage-instance.js.map5030644editdlrm
action-async-storage.external.js3020644editdlrm
action-async-storage.external.js.map7650644editdlrm
action-handler.js476380644editdlrm
action-handler.js.map686590644editdlrm
action-utils.js37050644editdlrm
action-utils.js.map55600644editdlrm
after-task-async-storage-instance.js1990644editdlrm
after-task-async-storage-instance.js.map5230644editdlrm
after-task-async-storage.external.js3110644editdlrm
after-task-async-storage.external.js.map10640644editdlrm
app-render-prerender-utils.js67620644editdlrm
app-render-prerender-utils.js.map108130644editdlrm
app-render-render-utils.js11190644editdlrm
app-render-render-utils.js.map16180644editdlrm
app-render.js1579020644editdlrm
app-render.js.map2397760644editdlrm
async-local-storage.js14960644editdlrm
async-local-storage.js.map27350644editdlrm
cache-signal.js57300644editdlrm
cache-signal.js.map81190644editdlrm
collect-segment-data.js130050644editdlrm
collect-segment-data.js.map223980644editdlrm
create-component-styles-and-scripts.js11380644editdlrm
create-component-styles-and-scripts.js.map24820644editdlrm
create-component-tree.js394850644editdlrm
create-component-tree.js.map593170644editdlrm
create-error-handler.js89000644editdlrm
create-error-handler.js.map139340644editdlrm
create-flight-router-state-from-loader-tree.js32490644editdlrm
create-flight-router-state-from-loader-tree.js.map56820644editdlrm
csrf-protection.js28010644editdlrm
csrf-protection.js.map39240644editdlrm
dynamic-access-async-storage-instance.js2070644editdlrm
dynamic-access-async-storage-instance.js.map5370644editdlrm
dynamic-access-async-storage.external.js3390644editdlrm
dynamic-access-async-storage.external.js.map8230644editdlrm
dynamic-rendering.js308630644editdlrm
dynamic-rendering.js.map455980644editdlrm
encryption-utils-server.js42770644editdlrm
encryption-utils-server.js.map71310644editdlrm
encryption-utils.js65950644editdlrm
encryption-utils.js.map111280644editdlrm
encryption.js112490644editdlrm
encryption.js.map167680644editdlrm
entry-base.js31810644editdlrm
entry-base.js.map60550644editdlrm
flight-render-result.js5090644editdlrm
flight-render-result.js.map9870644editdlrm
get-asset-query-string.js7790644editdlrm
get-asset-query-string.js.map15730644editdlrm
get-css-inlined-link-tags.js14030644editdlrm
get-css-inlined-link-tags.js.map25700644editdlrm
get-layer-assets.js27870644editdlrm
get-layer-assets.js.map55500644editdlrm
get-preloadable-fonts.js12940644editdlrm
get-preloadable-fonts.js.map23840644editdlrm
get-script-nonce-from-header.js17750644editdlrm
get-script-nonce-from-header.js.map27840644editdlrm
get-segment-param.js13580644editdlrm
get-segment-param.js.map23520644editdlrm
get-short-dynamic-param-type.js6640644editdlrm
get-short-dynamic-param-type.js.map11670644editdlrm
has-loading-component-in-tree.js3120644editdlrm
has-loading-component-in-tree.js.map7960644editdlrm
interop-default.js1810644editdlrm
interop-default.js.map3940644editdlrm
make-get-server-inserted-html.js40760644editdlrm
make-get-server-inserted-html.js.map66150644editdlrm
parse-and-validate-flight-router-state.js15710644editdlrm
parse-and-validate-flight-router-state.js.map24350644editdlrm
parse-loader-tree.js7980644editdlrm
parse-loader-tree.js.map14270644editdlrm
postponed-state.js54310644editdlrm
postponed-state.js.map90910644editdlrm
prospective-render-utils.js22770644editdlrm
prospective-render-utils.js.map34210644editdlrm
react-large-shell-error.js3700644editdlrm
react-large-shell-error.js.map7730644editdlrm
react-server.node.js3160644editdlrm
react-server.node.js.map6370644editdlrm
render-css-resource.js24070644editdlrm
render-css-resource.js.map39630644editdlrm
required-scripts.js24420644editdlrm
required-scripts.js.map42940644editdlrm
segment-explorer-path.js27560644editdlrm
segment-explorer-path.js.map52080644editdlrm
server-inserted-html.js10300644editdlrm
server-inserted-html.js.map17780644editdlrm
strip-flight-headers.js3650644editdlrm
strip-flight-headers.js.map7380644editdlrm
types.js20200644editdlrm
types.js.map131450644editdlrm
use-flight-response.js67580644editdlrm
use-flight-response.js.map111580644editdlrm
walk-tree-with-flight-router-state.js108080644editdlrm
walk-tree-with-flight-router-state.js.map173820644editdlrm
work-async-storage-instance.js1880644editdlrm
work-async-storage-instance.js.map4910644editdlrm
work-async-storage.external.js2920644editdlrm
work-async-storage.external.js.map42740644editdlrm
work-unit-async-storage-instance.js1970644editdlrm
work-unit-async-storage-instance.js.map5170644editdlrm
work-unit-async-storage.external.js64230644editdlrm
work-unit-async-storage.external.js.map209590644editdlrm
Edit: /opt/canhelp/node_modules/next/dist/esm/server/app-render/app-render-prerender-utils.js (6762B)
import { InvariantError } from '../../shared/lib/invariant-error'; /** * This is a utility function to make scheduling sequential tasks that run back to back easier. * We schedule on the same queue (setImmediate) at the same time to ensure no other events can sneak in between. */ export function prerenderAndAbortInSequentialTasks(prerender, abort) { if (process.env.NEXT_RUNTIME === 'edge') { throw Object.defineProperty(new InvariantError('`prerenderAndAbortInSequentialTasks` should not be called in edge runtime.'), "__NEXT_ERROR_CODE", { value: "E538", enumerable: false, configurable: true }); } else { return new Promise((resolve, reject)=>{ let pendingResult; setImmediate(()=>{ try { pendingResult = prerender(); pendingResult.catch(()=>{}); } catch (err) { reject(err); } }); setImmediate(()=>{ abort(); resolve(pendingResult); }); }); } } /** * Like `prerenderAndAbortInSequentialTasks`, but with another task between `prerender` and `abort`, * which allows us to move a part of the render into a separate task. */ export function prerenderAndAbortInSequentialTasksWithStages(prerender, advanceStage, abort) { if (process.env.NEXT_RUNTIME === 'edge') { throw Object.defineProperty(new InvariantError('`prerenderAndAbortInSequentialTasksWithStages` should not be called in edge runtime.'), "__NEXT_ERROR_CODE", { value: "E778", enumerable: false, configurable: true }); } else { return new Promise((resolve, reject)=>{ let pendingResult; setImmediate(()=>{ try { pendingResult = prerender(); pendingResult.catch(()=>{}); } catch (err) { reject(err); } }); setImmediate(()=>{ advanceStage(); }); setImmediate(()=>{ abort(); resolve(pendingResult); }); }); } } // React's RSC prerender function will emit an incomplete flight stream when using `prerender`. If the connection // closes then whatever hanging chunks exist will be errored. This is because prerender (an experimental feature) // has not yet implemented a concept of resume. For now we will simulate a paused connection by wrapping the stream // in one that doesn't close even when the underlying is complete. export class ReactServerResult { constructor(stream){ this._stream = stream; } tee() { if (this._stream === null) { throw Object.defineProperty(new Error('Cannot tee a ReactServerResult that has already been consumed'), "__NEXT_ERROR_CODE", { value: "E106", enumerable: false, configurable: true }); } const tee = this._stream.tee(); this._stream = tee[0]; return tee[1]; } consume() { if (this._stream === null) { throw Object.defineProperty(new Error('Cannot consume a ReactServerResult that has already been consumed'), "__NEXT_ERROR_CODE", { value: "E470", enumerable: false, configurable: true }); } const stream = this._stream; this._stream = null; return stream; } } export async function createReactServerPrerenderResult(underlying) { const chunks = []; const { prelude } = await underlying; const reader = prelude.getReader(); while(true){ const { done, value } = await reader.read(); if (done) { return new ReactServerPrerenderResult(chunks); } else { chunks.push(value); } } } export async function createReactServerPrerenderResultFromRender(underlying) { const chunks = []; const reader = underlying.getReader(); while(true){ const { done, value } = await reader.read(); if (done) { break; } else { chunks.push(value); } } return new ReactServerPrerenderResult(chunks); } export class ReactServerPrerenderResult { assertChunks(expression) { if (this._chunks === null) { throw Object.defineProperty(new InvariantError(`Cannot \`${expression}\` on a ReactServerPrerenderResult that has already been consumed.`), "__NEXT_ERROR_CODE", { value: "E593", enumerable: false, configurable: true }); } return this._chunks; } consumeChunks(expression) { const chunks = this.assertChunks(expression); this.consume(); return chunks; } consume() { this._chunks = null; } constructor(chunks){ this._chunks = chunks; } asUnclosingStream() { const chunks = this.assertChunks('asUnclosingStream()'); return createUnclosingStream(chunks); } consumeAsUnclosingStream() { const chunks = this.consumeChunks('consumeAsUnclosingStream()'); return createUnclosingStream(chunks); } asStream() { const chunks = this.assertChunks('asStream()'); return createClosingStream(chunks); } consumeAsStream() { const chunks = this.consumeChunks('consumeAsStream()'); return createClosingStream(chunks); } } function createUnclosingStream(chunks) { let i = 0; return new ReadableStream({ async pull (controller) { if (i < chunks.length) { controller.enqueue(chunks[i++]); } // we intentionally keep the stream open. The consumer will clear // out chunks once finished and the remaining memory will be GC'd // when this object goes out of scope } }); } function createClosingStream(chunks) { let i = 0; return new ReadableStream({ async pull (controller) { if (i < chunks.length) { controller.enqueue(chunks[i++]); } else { controller.close(); } } }); } export async function processPrelude(unprocessedPrelude) { const [prelude, peek] = unprocessedPrelude.tee(); const reader = peek.getReader(); const firstResult = await reader.read(); reader.cancel(); const preludeIsEmpty = firstResult.done === true; return { prelude, preludeIsEmpty }; } //# sourceMappingURL=app-render-prerender-utils.js.map