myst-cli
Version:
Command line tools for MyST
20 lines (19 loc) • 815 B
JavaScript
import { castSession } from '../session/cache.js';
/**
* Load frontmatter parts from session and return part:node lookup
*/
export function resolveFrontmatterParts(session, pageFrontmatter) {
const { parts } = pageFrontmatter !== null && pageFrontmatter !== void 0 ? pageFrontmatter : {};
if (!parts || Object.keys(parts).length === 0)
return undefined;
const partsMdast = {};
Object.entries(parts).forEach(([part, content]) => {
var _a, _b;
if (content.length !== 1)
return;
const { mdast, frontmatter } = (_b = (_a = castSession(session).$getMdast(content[0])) === null || _a === void 0 ? void 0 : _a.post) !== null && _b !== void 0 ? _b : {};
if (mdast)
partsMdast[part] = { mdast, frontmatter };
});
return partsMdast;
}