UNPKG

@paroicms/server

Version:
27 lines 1.34 kB
import { documentTypeHasData, getDocumentTypeByName } from "@paroicms/internal-anywhere-lib"; import { encodeLNodeId } from "@paroicms/public-anywhere-lib"; import { getBreadcrumb } from "../admin-backend/lnode/lnode.queries.js"; import { makeCacheDependencyKey } from "../common/text-cache.js"; import { getUrlOfDocument } from "../rendered-site/page-route/make-url.js"; export async function getPublicBreadcrumb(renderingContext, documentId) { const { siteContext } = renderingContext; const items = await getBreadcrumb(siteContext, renderingContext.tracker, documentId, { ensurePublished: false, skipHome: false, }); const result = []; for (const item of items) { const documentType = getDocumentTypeByName(siteContext.siteSchema, item.typeName); const url = documentTypeHasData(documentType) && item.documentId.nodeId !== documentId.nodeId ? await getUrlOfDocument(siteContext, renderingContext.tracker, item.documentId) : undefined; result.push({ id: encodeLNodeId(item.documentId), url, title: item.title, }); } renderingContext.addDependencyKey(...items.map((item) => makeCacheDependencyKey({ documentId: item.documentId }))); return result; } //# sourceMappingURL=breadcrumb.queries.js.map