@paroicms/server
Version:
The ParoiCMS server
42 lines • 1.6 kB
JavaScript
export function getHandleOfFeaturedImage(nodeId) {
return `node:${nodeId}:featuredImage`;
}
export function getHandleOfSiteAdminFavicon() {
return "site:adminUiFavicon";
}
export function getHandleOfSiteFavicon() {
return "site:favicon";
}
export function getHandleOfField(siteContext, options) {
const { fieldType, nodeId, language } = options;
if (fieldType.localized && !fieldType.withGallery) {
if (language === undefined)
throw new Error("Missing language for lNode field");
if (nodeId === siteContext.siteNodeId)
return `site:${fieldType.name}:${language}`;
return `sect:${nodeId}:${fieldType.name}:${language}`;
}
return getHandleOfFieldOnNode(siteContext, { fieldType, nodeId });
}
export function getHandleOfFieldOnNode(siteContext, options) {
const { fieldType, nodeId } = options;
if (nodeId === siteContext.siteNodeId)
return `site:${fieldType.name}`;
return `node:${nodeId}:${fieldType.name}`;
}
export function getHandleOfSiteField(siteContext, options) {
const { fieldName, language } = options;
const fieldType = siteContext.siteSchema.nodeTypes._site.fields.find((f) => f.name === fieldName);
if (!fieldType)
throw new Error(`Unknown site field '${fieldName}'`);
return getHandleOfField(siteContext, {
fieldType,
nodeId: siteContext.siteNodeId,
language,
});
}
export function extractNodeIdFromHandle(handle) {
const match = handle.match(/^node:(.+?):/);
return match?.[1];
}
//# sourceMappingURL=media-handles.helpers.js.map