UNPKG

@paroicms/server

Version:
32 lines (31 loc) 1.36 kB
import type { ScRegularDocumentType, ScRoutingDocumentType } from "@paroicms/public-anywhere-lib"; import type { SiteContext } from "../../site-context/site-context.types.js"; export interface ParsedPageRoute { language: string; redirectTo: "parent" | undefined; frontendAppPath?: string; urlCacheKey: string; documentHierarchy: DocumentHierarchyEntry[]; } export type DocumentHierarchyEntry = RoutingDocumentHierarchyEntry | RegularDocumentHierarchyEntry; export interface RoutingDocumentHierarchyEntry { entryKind: "routing"; documentType: ScRoutingDocumentType; } export type RegularDocumentHierarchyEntry = RelativeIdHierarchyEntry | SlugHierarchyEntry; interface RegularDocumentHierarchyEntryBase { entryKind: "regular"; candidateTypes: ScRegularDocumentType[]; isClusterRoot: boolean; } export interface RelativeIdHierarchyEntry extends RegularDocumentHierarchyEntryBase { lookupKind: "relativeId"; relativeId: string; } export interface SlugHierarchyEntry extends RegularDocumentHierarchyEntryBase { lookupKind: "slug"; slug: string; } export declare function parsePageRoute(siteContext: Pick<SiteContext, "siteSchema">, urlPath: string): ParsedPageRoute | undefined; export declare function findParentParsedRouteWithDocument(parsedRoute: ParsedPageRoute): ParsedPageRoute | undefined; export {};