403Webshell
Server IP : 159.203.156.69  /  Your IP : 216.73.217.172
Web Server : nginx/1.24.0
System : Linux main-ubuntu 6.8.0-71-generic #71-Ubuntu SMP PREEMPT_DYNAMIC Tue Jul 22 16:52:38 UTC 2025 x86_64
User : root ( 0)
PHP Version : 8.3.6
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /var/www/tanviranik.com/node_modules/vinext/dist/server/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/tanviranik.com/node_modules/vinext/dist/server/app-page-route-wiring.js.map
{"version":3,"file":"app-page-route-wiring.js","names":["Children","SlotComponent","InterceptLayoutComponent","SlotLayoutComponent","SlotLoadingComponent","RouteLoadingComponent","NotFoundComponent","ForbiddenComponent","UnauthorizedComponent","LayoutNotFoundComponent","LayoutForbiddenComponent","LayoutUnauthorizedComponent"],"sources":["../../src/server/app-page-route-wiring.tsx"],"sourcesContent":["import { Suspense, type ComponentType, type ReactNode } from \"react\";\nimport { AppElementsWire, type AppElements } from \"./app-elements.js\";\nimport {\n  ErrorBoundary,\n  ForbiddenBoundary,\n  NotFoundBoundary,\n  RedirectBoundary,\n  UnauthorizedBoundary,\n} from \"vinext/shims/error-boundary\";\nimport type { AppRouteSemanticIds } from \"../routing/app-route-graph.js\";\nimport { LayoutSegmentProvider } from \"vinext/shims/layout-segment-context\";\nimport { MetadataHead, ViewportHead, type Metadata, type Viewport } from \"vinext/shims/metadata\";\nimport { Children, ParallelSlot, Slot } from \"vinext/shims/slot\";\nimport type { AppPageParams } from \"./app-page-boundary.js\";\nimport {\n  createAppRenderDependency,\n  renderAfterAppDependencies,\n  renderWithAppDependencyBarrier,\n  type AppRenderDependency,\n} from \"./app-render-dependency.js\";\nimport { resolveAppPageSegmentParams } from \"./app-page-params.js\";\nimport {\n  APP_RSC_RENDER_MODE_NAVIGATION,\n  shouldSuppressLoadingBoundaries,\n  type AppRscRenderMode,\n} from \"./app-rsc-render-mode.js\";\nimport {\n  resolveAppPageChildSegments,\n  resolveAppPageRouteStateKey,\n  resolveAppPageSegmentStateKey,\n} from \"./app-page-segment-state.js\";\n\nexport { resolveAppPageChildSegments } from \"./app-page-segment-state.js\";\n\ntype AppPageComponentProps = {\n  children?: ReactNode;\n  error?: unknown;\n  params?: unknown;\n  reset?: () => void;\n} & Record<string, unknown>;\n\ntype AppPageComponent = ComponentType<AppPageComponentProps>;\ntype AppPageErrorComponent = ComponentType<{ error: unknown; reset: () => void }>;\n\nexport type AppPageModule = Record<string, unknown> & {\n  default?: AppPageComponent | null | undefined;\n};\n\nexport type AppPageErrorModule = Record<string, unknown> & {\n  default?: AppPageErrorComponent | null | undefined;\n};\n\ntype AppPageRouteWiringSlot<\n  TModule extends AppPageModule = AppPageModule,\n  TErrorModule extends AppPageErrorModule = AppPageErrorModule,\n> = {\n  /** Graph-owned semantic slot identity. */\n  id?: string | null;\n  /** Slot prop name passed to the owning layout (e.g. \"modal\" from @modal). */\n  name: string;\n  default?: TModule | null;\n  error?: TErrorModule | null;\n  layout?: TModule | null;\n  layoutIndex: number;\n  loading?: TModule | null;\n  page?: TModule | null;\n  routeSegments?: readonly string[] | null;\n  /**\n   * Full URL pattern parts for the slot's mirrored sub-page. Set when the\n   * slot's params may differ from the route's (e.g. inherited slot whose\n   * dynamic markers have different names than the route's). The runtime\n   * matches the request URL against these parts to extract slot params.\n   */\n  slotPatternParts?: readonly string[] | null;\n  /** Param names captured by `slotPatternParts`, in order. */\n  slotParamNames?: readonly string[] | null;\n};\n\nexport type AppPageRouteWiringRoute<\n  TModule extends AppPageModule = AppPageModule,\n  TErrorModule extends AppPageErrorModule = AppPageErrorModule,\n> = {\n  ids?: AppRouteSemanticIds | null;\n  error?: TErrorModule | null;\n  errorPaths?: readonly TErrorModule[] | null;\n  errors?: readonly (TErrorModule | null | undefined)[] | null;\n  errorTreePositions?: readonly number[] | null;\n  layoutTreePositions?: readonly number[] | null;\n  layouts: readonly (TModule | null | undefined)[];\n  loading?: TModule | null;\n  notFound?: TModule | null;\n  notFounds?: readonly (TModule | null | undefined)[] | null;\n  forbidden?: TModule | null;\n  forbiddens?: readonly (TModule | null | undefined)[] | null;\n  unauthorized?: TModule | null;\n  unauthorizeds?: readonly (TModule | null | undefined)[] | null;\n  routeSegments?: readonly string[];\n  /**\n   * Keyed by stable slot id (name + owner path), not necessarily the slot prop name.\n   */\n  slots?: Readonly<Record<string, AppPageRouteWiringSlot<TModule, TErrorModule>>> | null;\n  templateTreePositions?: readonly number[] | null;\n  templates?: readonly (TModule | null | undefined)[] | null;\n};\n\nexport type AppPageSlotOverride<TModule extends AppPageModule = AppPageModule> = {\n  layoutModules?: readonly (TModule | null | undefined)[] | null;\n  /**\n   * The page module to render for this slot. Optional — when omitted, the\n   * slot's existing `page` is used (e.g. when the override only changes the\n   * slot's `params` for an inherited mirror with distinct param names).\n   */\n  pageModule?: TModule | null;\n  params?: AppPageParams;\n  props?: Readonly<Record<string, unknown>>;\n};\n\ntype AppPageLayoutEntry<\n  TModule extends AppPageModule = AppPageModule,\n  TErrorModule extends AppPageErrorModule = AppPageErrorModule,\n> = {\n  errorModule?: TErrorModule | null | undefined;\n  forbiddenModule?: TModule | null | undefined;\n  id: string;\n  layoutModule?: TModule | null | undefined;\n  notFoundModule?: TModule | null | undefined;\n  unauthorizedModule?: TModule | null | undefined;\n  treePath: string;\n  treePosition: number;\n};\n\ntype BuildAppPageRouteElementOptions<\n  TModule extends AppPageModule = AppPageModule,\n  TErrorModule extends AppPageErrorModule = AppPageErrorModule,\n> = {\n  element: ReactNode;\n  globalErrorModule?: TErrorModule | null;\n  makeThenableParams: (params: AppPageParams) => unknown;\n  matchedParams: AppPageParams;\n  resolvedMetadata: Metadata | null;\n  resolvedViewport: Viewport;\n  rootForbiddenModule?: TModule | null;\n  rootNotFoundModule?: TModule | null;\n  rootUnauthorizedModule?: TModule | null;\n  route: AppPageRouteWiringRoute<TModule, TErrorModule>;\n  slotOverrides?: Readonly<Record<string, AppPageSlotOverride<TModule>>> | null;\n};\n\ntype BuildAppPageElementsOptions<\n  TModule extends AppPageModule = AppPageModule,\n  TErrorModule extends AppPageErrorModule = AppPageErrorModule,\n> = BuildAppPageRouteElementOptions<TModule, TErrorModule> & {\n  interceptionContext?: string | null;\n  isRscRequest?: boolean;\n  mountedSlotIds?: ReadonlySet<string> | null;\n  renderMode?: AppRscRenderMode;\n  routePath: string;\n};\n\ntype AppPageTemplateEntry<TModule extends AppPageModule = AppPageModule> = {\n  id: string;\n  templateModule?: TModule | null | undefined;\n  treePath: string;\n  treePosition: number;\n};\n\ntype AppPageErrorEntry<TErrorModule extends AppPageErrorModule = AppPageErrorModule> = {\n  errorModule?: TErrorModule | null | undefined;\n  treePosition: number;\n};\n\nfunction getDefaultExport<TModule extends AppPageModule>(\n  module: TModule | null | undefined,\n): AppPageComponent | null {\n  return module?.default ?? null;\n}\n\nfunction getErrorBoundaryExport<TModule extends AppPageErrorModule>(\n  module: TModule | null | undefined,\n): AppPageErrorComponent | null {\n  return module?.default ?? null;\n}\n\nexport function createAppPageTreePath(\n  routeSegments: readonly string[] | null | undefined,\n  treePosition: number,\n): string {\n  const treePathSegments = routeSegments?.slice(0, treePosition) ?? [];\n  if (treePathSegments.length === 0) {\n    return \"/\";\n  }\n  return `/${treePathSegments.join(\"/\")}`;\n}\n\nexport function createAppPageLayoutEntries<\n  TModule extends AppPageModule,\n  TErrorModule extends AppPageErrorModule,\n>(\n  route: Pick<\n    AppPageRouteWiringRoute<TModule, TErrorModule>,\n    | \"errors\"\n    | \"errorTreePositions\"\n    | \"layoutTreePositions\"\n    | \"layouts\"\n    | \"notFounds\"\n    | \"routeSegments\"\n  > & {\n    forbiddens?: readonly (TModule | null | undefined)[] | null;\n    unauthorizeds?: readonly (TModule | null | undefined)[] | null;\n  },\n): AppPageLayoutEntry<TModule, TErrorModule>[] {\n  return route.layouts.map((layoutModule, index) => {\n    const treePosition = route.layoutTreePositions?.[index] ?? 0;\n    const treePath = createAppPageTreePath(route.routeSegments, treePosition);\n    return {\n      errorModule: route.errorTreePositions ? null : (route.errors?.[index] ?? null),\n      forbiddenModule: route.forbiddens?.[index] ?? null,\n      id: AppElementsWire.encodeLayoutId(treePath),\n      layoutModule,\n      notFoundModule: route.notFounds?.[index] ?? null,\n      unauthorizedModule: route.unauthorizeds?.[index] ?? null,\n      treePath,\n      treePosition,\n    };\n  });\n}\n\nfunction createAppPageTemplateEntries<TModule extends AppPageModule>(\n  route: Pick<\n    AppPageRouteWiringRoute<TModule>,\n    \"routeSegments\" | \"templateTreePositions\" | \"templates\"\n  >,\n): AppPageTemplateEntry<TModule>[] {\n  return (route.templates ?? []).map((templateModule, index) => {\n    const treePosition = route.templateTreePositions?.[index] ?? 0;\n    const treePath = createAppPageTreePath(route.routeSegments, treePosition);\n    return {\n      id: AppElementsWire.encodeTemplateId(treePath),\n      templateModule,\n      treePath,\n      treePosition,\n    };\n  });\n}\n\nfunction createAppPageErrorEntries<TErrorModule extends AppPageErrorModule>(\n  route: Pick<\n    AppPageRouteWiringRoute<AppPageModule, TErrorModule>,\n    \"errorPaths\" | \"errors\" | \"errorTreePositions\"\n  >,\n): AppPageErrorEntry<TErrorModule>[] {\n  return (route.errorPaths ?? route.errors ?? []).flatMap((errorModule, index) => {\n    if (!errorModule) return [];\n    const treePosition = route.errorTreePositions?.[index];\n    if (treePosition === undefined) return [];\n    return [{ errorModule, treePosition }];\n  });\n}\n\nfunction createAppPageParallelSlotEntries<\n  TModule extends AppPageModule,\n  TErrorModule extends AppPageErrorModule,\n>(\n  layoutIndex: number,\n  layoutEntries: readonly AppPageLayoutEntry<TModule, TErrorModule>[],\n  route: AppPageRouteWiringRoute<TModule, TErrorModule>,\n  getEffectiveSlotParams: (slotKey: string, slotName: string) => AppPageParams,\n): Readonly<Record<string, ReactNode>> | undefined {\n  const parallelSlots: Record<string, ReactNode> = {};\n\n  for (const [slotKey, slot] of Object.entries(route.slots ?? {})) {\n    const slotName = slot.name;\n    const targetIndex = slot.layoutIndex >= 0 ? slot.layoutIndex : layoutEntries.length - 1;\n    if (targetIndex !== layoutIndex) {\n      continue;\n    }\n\n    const layoutEntry = layoutEntries[targetIndex];\n    const treePath = layoutEntry?.treePath ?? \"/\";\n    const slotParams = getEffectiveSlotParams(slotKey, slotName);\n    const slotSegments = slot.routeSegments\n      ? resolveAppPageChildSegments(slot.routeSegments, 0, slotParams)\n      : [];\n    parallelSlots[slotName] = (\n      <LayoutSegmentProvider segmentMap={{ children: slotSegments }}>\n        <Slot id={AppElementsWire.encodeSlotId(slotName, treePath)} />\n      </LayoutSegmentProvider>\n    );\n  }\n\n  return Object.keys(parallelSlots).length > 0 ? parallelSlots : undefined;\n}\n\nfunction createAppPageRouteHead(metadata: Metadata | null, viewport: Viewport): ReactNode {\n  return (\n    <>\n      <meta charSet=\"utf-8\" />\n      {metadata ? <MetadataHead metadata={metadata} /> : null}\n      <ViewportHead viewport={viewport} />\n    </>\n  );\n}\n\nexport function buildAppPageElements<\n  TModule extends AppPageModule,\n  TErrorModule extends AppPageErrorModule,\n>(options: BuildAppPageElementsOptions<TModule, TErrorModule>): AppElements {\n  const interceptionContext = options.interceptionContext ?? null;\n  const routeSegments = options.route.routeSegments ?? [];\n  const routeResetKey = resolveAppPageRouteStateKey(routeSegments, options.matchedParams);\n  const routeId = AppElementsWire.encodeRouteId(options.routePath, interceptionContext);\n  const pageId = AppElementsWire.encodePageId(options.routePath, interceptionContext);\n  const layoutEntries = createAppPageLayoutEntries(options.route);\n  const templateEntries = createAppPageTemplateEntries(options.route);\n  const errorEntries = createAppPageErrorEntries(options.route);\n  const layoutEntriesByTreePosition = new Map<number, AppPageLayoutEntry<TModule, TErrorModule>>();\n  const templateEntriesByTreePosition = new Map<number, AppPageTemplateEntry<TModule>>();\n  const errorEntriesByTreePosition = new Map<number, AppPageErrorEntry<TErrorModule>>();\n  for (const layoutEntry of layoutEntries) {\n    layoutEntriesByTreePosition.set(layoutEntry.treePosition, layoutEntry);\n  }\n  for (const templateEntry of templateEntries) {\n    templateEntriesByTreePosition.set(templateEntry.treePosition, templateEntry);\n  }\n  for (const errorEntry of errorEntries) {\n    errorEntriesByTreePosition.set(errorEntry.treePosition, errorEntry);\n  }\n  const layoutIndicesByTreePosition = new Map<number, number>();\n  for (let index = 0; index < layoutEntries.length; index++) {\n    layoutIndicesByTreePosition.set(layoutEntries[index].treePosition, index);\n  }\n  const layoutDependenciesByIndex = new Map<number, AppRenderDependency>();\n  const layoutDependenciesBefore: AppRenderDependency[][] = [];\n  const slotDependenciesByLayoutIndex: AppRenderDependency[][] = [];\n  const templateDependenciesById = new Map<string, AppRenderDependency>();\n  const templateDependenciesBeforeById = new Map<string, AppRenderDependency[]>();\n  const pageDependencies: AppRenderDependency[] = [];\n  const rootLayoutTreePath = layoutEntries[0]?.treePath ?? null;\n  const elements: Record<string, ReactNode | string | null> = {\n    ...AppElementsWire.createMetadataEntries({\n      interceptionContext,\n      layoutIds: options.route.ids?.layouts ?? layoutEntries.map((entry) => entry.id),\n      rootLayoutTreePath,\n      routeId,\n    }),\n  };\n  const slotNameCounts = new Map<string, number>();\n  for (const slot of Object.values(options.route.slots ?? {})) {\n    const slotName = slot.name;\n    slotNameCounts.set(slotName, (slotNameCounts.get(slotName) ?? 0) + 1);\n  }\n  const orderedTreePositions = Array.from(\n    new Set<number>([\n      ...layoutEntries.map((entry) => entry.treePosition),\n      ...templateEntries.map((entry) => entry.treePosition),\n      ...errorEntries.map((entry) => entry.treePosition),\n    ]),\n  ).sort((left, right) => left - right);\n  const resolveSlotOverride = (slotKey: string, slotName: string) => {\n    const overrideByKey = options.slotOverrides?.[slotKey];\n    if (overrideByKey) {\n      return overrideByKey;\n    }\n\n    // Legacy callers may still provide overrides by slot prop name.\n    // Only allow that fallback when it is unambiguous.\n    if (slotKey === slotName || (slotNameCounts.get(slotName) ?? 0) === 1) {\n      return options.slotOverrides?.[slotName];\n    }\n\n    return undefined;\n  };\n  const getEffectiveSlotParams = (slotKey: string, slotName: string): AppPageParams =>\n    resolveSlotOverride(slotKey, slotName)?.params ?? options.matchedParams;\n\n  for (const treePosition of orderedTreePositions) {\n    const layoutIndex = layoutIndicesByTreePosition.get(treePosition);\n    if (layoutIndex !== undefined) {\n      const layoutEntry = layoutEntries[layoutIndex];\n      layoutDependenciesBefore[layoutIndex] = [...pageDependencies];\n      if (getDefaultExport(layoutEntry.layoutModule)) {\n        const layoutDependency = createAppRenderDependency();\n        layoutDependenciesByIndex.set(layoutIndex, layoutDependency);\n        pageDependencies.push(layoutDependency);\n      }\n      slotDependenciesByLayoutIndex[layoutIndex] = [...pageDependencies];\n    }\n\n    const templateEntry = templateEntriesByTreePosition.get(treePosition);\n    if (!templateEntry || !getDefaultExport(templateEntry.templateModule)) {\n      continue;\n    }\n\n    const templateDependency = createAppRenderDependency();\n    templateDependenciesById.set(templateEntry.id, templateDependency);\n    templateDependenciesBeforeById.set(templateEntry.id, [...pageDependencies]);\n    pageDependencies.push(templateDependency);\n  }\n\n  elements[pageId] = renderAfterAppDependencies(options.element, pageDependencies);\n\n  for (const templateEntry of templateEntries) {\n    const templateComponent = getDefaultExport(templateEntry.templateModule);\n    if (!templateComponent) {\n      continue;\n    }\n    const TemplateComponent = templateComponent;\n    const templateDependency = templateDependenciesById.get(templateEntry.id);\n    const templateElement = templateDependency ? (\n      renderWithAppDependencyBarrier(\n        <TemplateComponent params={options.matchedParams}>\n          <Children />\n        </TemplateComponent>,\n        templateDependency,\n      )\n    ) : (\n      <TemplateComponent params={options.matchedParams}>\n        <Children />\n      </TemplateComponent>\n    );\n    elements[templateEntry.id] = renderAfterAppDependencies(\n      templateElement,\n      templateDependenciesBeforeById.get(templateEntry.id) ?? [],\n    );\n  }\n\n  for (let index = 0; index < layoutEntries.length; index++) {\n    const layoutEntry = layoutEntries[index];\n    const layoutComponent = getDefaultExport(layoutEntry.layoutModule);\n    if (!layoutComponent) {\n      continue;\n    }\n\n    const layoutProps: Record<string, unknown> = {\n      params: options.makeThenableParams(\n        resolveAppPageSegmentParams(\n          options.route.routeSegments,\n          layoutEntry.treePosition,\n          options.matchedParams,\n        ),\n      ),\n    };\n\n    for (const slot of Object.values(options.route.slots ?? {})) {\n      const slotName = slot.name;\n      const targetIndex = slot.layoutIndex >= 0 ? slot.layoutIndex : layoutEntries.length - 1;\n      if (targetIndex !== index) {\n        continue;\n      }\n      layoutProps[slotName] = <ParallelSlot name={slotName} />;\n    }\n\n    const LayoutComponent = layoutComponent;\n    const layoutDependency = layoutDependenciesByIndex.get(index);\n    const layoutElement = layoutDependency ? (\n      renderWithAppDependencyBarrier(\n        <LayoutComponent {...layoutProps}>\n          <Children />\n        </LayoutComponent>,\n        layoutDependency,\n      )\n    ) : (\n      <LayoutComponent {...layoutProps}>\n        <Children />\n      </LayoutComponent>\n    );\n    elements[layoutEntry.id] = renderAfterAppDependencies(\n      layoutElement,\n      layoutDependenciesBefore[index] ?? [],\n    );\n  }\n\n  for (const [slotKey, slot] of Object.entries(options.route.slots ?? {})) {\n    const slotName = slot.name;\n    const targetIndex = slot.layoutIndex >= 0 ? slot.layoutIndex : layoutEntries.length - 1;\n    const treePath = layoutEntries[targetIndex]?.treePath ?? \"/\";\n    const slotId = AppElementsWire.encodeSlotId(slotName, treePath);\n    const slotOverride = resolveSlotOverride(slotKey, slotName);\n    const slotParams = getEffectiveSlotParams(slotKey, slotName);\n    const slotRouteSegments = slot.routeSegments ?? [];\n    const slotResetKey = resolveAppPageRouteStateKey(slotRouteSegments, slotParams);\n    const overrideOrPageComponent =\n      getDefaultExport(slotOverride?.pageModule) ?? getDefaultExport(slot.page);\n    const defaultComponent = getDefaultExport(slot.default);\n\n    // On soft nav (RSC): omit key when only default.tsx exists and the slot is\n    // already mounted on the client. Absent key means the browser retains prior\n    // slot content rather than replacing it. When the slot is not yet mounted\n    // (first entry into this layout), include the key so default.tsx renders.\n    if (\n      !overrideOrPageComponent &&\n      defaultComponent &&\n      options.isRscRequest &&\n      options.mountedSlotIds?.has(slotId)\n    ) {\n      continue;\n    }\n\n    const slotComponent = overrideOrPageComponent ?? defaultComponent;\n\n    if (!slotComponent) {\n      elements[slotId] = AppElementsWire.unmatchedSlotValue;\n      continue;\n    }\n\n    const slotThenableParams = options.makeThenableParams(slotParams);\n    const slotProps: Record<string, unknown> = {\n      params: slotThenableParams,\n    };\n    if (slotOverride?.props) {\n      Object.assign(slotProps, slotOverride.props);\n    }\n\n    const SlotComponent = slotComponent;\n    let slotElement: ReactNode = <SlotComponent {...slotProps} />;\n    const interceptLayouts = slotOverride?.layoutModules ?? [];\n\n    for (let layoutIndex = interceptLayouts.length - 1; layoutIndex >= 0; layoutIndex--) {\n      const interceptLayoutComponent = getDefaultExport(interceptLayouts[layoutIndex]);\n      if (!interceptLayoutComponent) {\n        continue;\n      }\n      const InterceptLayoutComponent = interceptLayoutComponent;\n      slotElement = (\n        <InterceptLayoutComponent params={slotThenableParams}>\n          {slotElement}\n        </InterceptLayoutComponent>\n      );\n    }\n\n    const slotLayoutComponent = getDefaultExport(slot.layout);\n    if (slotLayoutComponent) {\n      const SlotLayoutComponent = slotLayoutComponent;\n      slotElement = (\n        <SlotLayoutComponent params={slotThenableParams}>{slotElement}</SlotLayoutComponent>\n      );\n    }\n\n    const slotLoadingComponent = getDefaultExport(slot.loading);\n    if (\n      slotLoadingComponent &&\n      !shouldSuppressLoadingBoundaries(options.renderMode ?? APP_RSC_RENDER_MODE_NAVIGATION)\n    ) {\n      const SlotLoadingComponent = slotLoadingComponent;\n      slotElement = (\n        <Suspense key={slotResetKey} fallback={<SlotLoadingComponent />}>\n          {slotElement}\n        </Suspense>\n      );\n    }\n\n    const slotErrorComponent = getErrorBoundaryExport(slot.error);\n    if (slotErrorComponent) {\n      slotElement = (\n        <ErrorBoundary resetKey={slotResetKey} fallback={slotErrorComponent}>\n          {slotElement}\n        </ErrorBoundary>\n      );\n    }\n\n    elements[slotId] = renderAfterAppDependencies(\n      slotElement,\n      targetIndex >= 0 ? (slotDependenciesByLayoutIndex[targetIndex] ?? []) : [],\n    );\n  }\n\n  let routeChildren: ReactNode = (\n    <LayoutSegmentProvider segmentMap={{ children: [] }}>\n      <Slot id={pageId} />\n    </LayoutSegmentProvider>\n  );\n\n  // Wrap the page slot in a per-segment RedirectBoundary so that a\n  // redirect() thrown from a server component (or a client component\n  // within the page subtree) is caught here — below the route's layouts —\n  // rather than at the top-level boundary in app-browser-entry. Catching\n  // at the top level unmounts the entire route tree including layouts,\n  // which destroys client-side state in layout-hosted components\n  // (counters, theme toggles, form drafts). Here, only the page subtree\n  // is unmounted; the surrounding layouts stay mounted across the\n  // boundary's null-render → router.replace transition, and segment\n  // reuse keeps their React state intact.\n  //\n  // Placed inside the Suspense (loading) boundary to match Next.js nesting\n  // for the redirect boundary specifically:\n  //   Error > AccessFallback > Loading (Suspense) > Redirect > content\n  // (Note: Next.js places AccessFallback inside Loading, not outside — that\n  // is a pre-existing nesting divergence tracked separately.)\n  // This keeps the loading fallback visible during redirect-driven\n  // transitions rather than unmounting it.\n  routeChildren = <RedirectBoundary>{routeChildren}</RedirectBoundary>;\n\n  const routeLoadingComponent = getDefaultExport(options.route.loading);\n  if (\n    routeLoadingComponent &&\n    !shouldSuppressLoadingBoundaries(options.renderMode ?? APP_RSC_RENDER_MODE_NAVIGATION)\n  ) {\n    const RouteLoadingComponent = routeLoadingComponent;\n    // Route-level wrappers cover the full page branch in vinext's flat element\n    // transport, so their reset key includes the visible segment-state path.\n    // Dynamic param changes reset the pending boundary, while search-only changes\n    // preserve it.\n    routeChildren = (\n      <Suspense key={routeResetKey} fallback={<RouteLoadingComponent />}>\n        {routeChildren}\n      </Suspense>\n    );\n  }\n\n  const lastLayoutErrorModule =\n    errorEntries.length > 0 ? errorEntries[errorEntries.length - 1].errorModule : null;\n  // Next.js nesting (outer to inner): Error > Unauthorized > Forbidden > NotFound > children.\n  // Building bottom-up means NotFoundBoundary must wrap first, then Forbidden, Unauthorized, Error.\n  const notFoundComponent =\n    getDefaultExport(options.route.notFound) ?? getDefaultExport(options.rootNotFoundModule);\n  if (notFoundComponent) {\n    const NotFoundComponent = notFoundComponent;\n    routeChildren = (\n      <NotFoundBoundary resetKey={routeResetKey} fallback={<NotFoundComponent />}>\n        {routeChildren}\n      </NotFoundBoundary>\n    );\n  }\n\n  const forbiddenComponent =\n    getDefaultExport(options.route.forbidden) ?? getDefaultExport(options.rootForbiddenModule);\n  if (forbiddenComponent) {\n    const ForbiddenComponent = forbiddenComponent;\n    routeChildren = (\n      <ForbiddenBoundary resetKey={routeResetKey} fallback={<ForbiddenComponent />}>\n        {routeChildren}\n      </ForbiddenBoundary>\n    );\n  }\n\n  const unauthorizedComponent =\n    getDefaultExport(options.route.unauthorized) ??\n    getDefaultExport(options.rootUnauthorizedModule);\n  if (unauthorizedComponent) {\n    const UnauthorizedComponent = unauthorizedComponent;\n    routeChildren = (\n      <UnauthorizedBoundary resetKey={routeResetKey} fallback={<UnauthorizedComponent />}>\n        {routeChildren}\n      </UnauthorizedBoundary>\n    );\n  }\n\n  const pageErrorComponent = getErrorBoundaryExport(options.route.error);\n  if (pageErrorComponent && options.route.error !== lastLayoutErrorModule) {\n    routeChildren = (\n      <ErrorBoundary resetKey={routeResetKey} fallback={pageErrorComponent}>\n        {routeChildren}\n      </ErrorBoundary>\n    );\n  }\n\n  for (let index = orderedTreePositions.length - 1; index >= 0; index--) {\n    const treePosition = orderedTreePositions[index];\n    const segmentResetKey = resolveAppPageSegmentStateKey(\n      routeSegments,\n      treePosition,\n      options.matchedParams,\n    );\n    let segmentChildren: ReactNode = routeChildren;\n    const layoutEntry = layoutEntriesByTreePosition.get(treePosition);\n    const templateEntry = templateEntriesByTreePosition.get(treePosition);\n    const errorEntry = errorEntriesByTreePosition.get(treePosition);\n\n    // Next.js nesting per segment (outer to inner): Layout > Template > Error > Unauthorized > Forbidden > NotFound > children.\n    // Building bottom-up means NotFoundBoundary must wrap the leaf subtree first,\n    // then ErrorBoundary, then Template, with the Layout slot outermost.\n    if (layoutEntry) {\n      const layoutNotFoundComponent = getDefaultExport(layoutEntry.notFoundModule);\n      if (layoutNotFoundComponent) {\n        const LayoutNotFoundComponent = layoutNotFoundComponent;\n        segmentChildren = (\n          <NotFoundBoundary resetKey={segmentResetKey} fallback={<LayoutNotFoundComponent />}>\n            {segmentChildren}\n          </NotFoundBoundary>\n        );\n      }\n\n      const layoutForbiddenComponent = getDefaultExport(layoutEntry.forbiddenModule);\n      if (layoutForbiddenComponent) {\n        const LayoutForbiddenComponent = layoutForbiddenComponent;\n        segmentChildren = (\n          <ForbiddenBoundary resetKey={segmentResetKey} fallback={<LayoutForbiddenComponent />}>\n            {segmentChildren}\n          </ForbiddenBoundary>\n        );\n      }\n\n      const layoutUnauthorizedComponent = getDefaultExport(layoutEntry.unauthorizedModule);\n      if (layoutUnauthorizedComponent) {\n        const LayoutUnauthorizedComponent = layoutUnauthorizedComponent;\n        segmentChildren = (\n          <UnauthorizedBoundary\n            resetKey={segmentResetKey}\n            fallback={<LayoutUnauthorizedComponent />}\n          >\n            {segmentChildren}\n          </UnauthorizedBoundary>\n        );\n      }\n    }\n\n    const segmentErrorComponent = getErrorBoundaryExport(\n      errorEntry?.errorModule ?? layoutEntry?.errorModule,\n    );\n    if (segmentErrorComponent) {\n      segmentChildren = (\n        <ErrorBoundary resetKey={segmentResetKey} fallback={segmentErrorComponent}>\n          {segmentChildren}\n        </ErrorBoundary>\n      );\n    }\n\n    if (templateEntry && getDefaultExport(templateEntry.templateModule)) {\n      segmentChildren = (\n        <Slot id={templateEntry.id} key={segmentResetKey}>\n          {segmentChildren}\n        </Slot>\n      );\n    }\n\n    if (!layoutEntry) {\n      routeChildren = segmentChildren;\n      continue;\n    }\n    const layoutHasElement = getDefaultExport(layoutEntry.layoutModule) !== null;\n    const layoutIndex = layoutIndicesByTreePosition.get(treePosition) ?? -1;\n    const segmentMap: { children: string[] } & Record<string, string[]> = {\n      children: resolveAppPageChildSegments(\n        routeSegments,\n        layoutEntry.treePosition,\n        options.matchedParams,\n      ),\n    };\n    for (const [slotKey, slot] of Object.entries(options.route.slots ?? {})) {\n      const slotName = slot.name;\n      const targetIndex = slot.layoutIndex >= 0 ? slot.layoutIndex : layoutEntries.length - 1;\n      if (targetIndex !== layoutIndex) {\n        continue;\n      }\n      const slotParams = getEffectiveSlotParams(slotKey, slotName);\n      segmentMap[slotName] = slot.routeSegments\n        ? resolveAppPageChildSegments(slot.routeSegments, 0, slotParams)\n        : [];\n    }\n\n    routeChildren = (\n      <LayoutSegmentProvider segmentMap={segmentMap}>\n        {layoutHasElement ? (\n          <Slot\n            id={layoutEntry.id}\n            parallelSlots={createAppPageParallelSlotEntries(\n              layoutIndex,\n              layoutEntries,\n              options.route,\n              getEffectiveSlotParams,\n            )}\n          >\n            {segmentChildren}\n          </Slot>\n        ) : (\n          segmentChildren\n        )}\n      </LayoutSegmentProvider>\n    );\n  }\n\n  const globalErrorComponent = getErrorBoundaryExport(options.globalErrorModule);\n  if (globalErrorComponent) {\n    routeChildren = <ErrorBoundary fallback={globalErrorComponent}>{routeChildren}</ErrorBoundary>;\n  }\n\n  elements[routeId] = (\n    <>\n      {createAppPageRouteHead(options.resolvedMetadata, options.resolvedViewport)}\n      {routeChildren}\n    </>\n  );\n\n  return elements;\n}\n"],"mappings":"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"}

Youez - 2016 - github.com/yon3zu
LinuXploit