UNPKG

@paroicms/site-generator-plugin

Version:

ParoiCMS Site Generator Plugin

32 lines (31 loc) 1.3 kB
import { getFirstSiteLanguage, isMultilingual } from "./jt-site-schema-helpers.js"; export function indent(template, level, { skipFirst = false } = {}) { const indentStr = " ".repeat(level); if (skipFirst) { const lines = template.split("\n"); return lines.map((line, index) => (index === 0 ? line : indentStr + line)).join("\n"); } // For firstLine true, indent all lines. return template.replace(/^/gm, indentStr); } export function getPredefinedDataType(ctx, qualifiedFieldName) { const predefinedField = ctx.predefinedFields.get(qualifiedFieldName); if (!predefinedField) { throw new Error(`Predefined field not found: "${qualifiedFieldName}"`); } return { dataType: predefinedField.dataType, renderAs: predefinedField.renderAs, name: predefinedField.fieldName, }; } export function localizedLabelTemplate(ctx, label) { const { siteSchema, setLocalizedLabel: appendLocalizedLabel } = ctx; const firstLanguage = getFirstSiteLanguage(siteSchema); const defaultLabel = firstLanguage in label ? label[firstLanguage] : label.en; if (!isMultilingual(siteSchema)) { return defaultLabel; } appendLocalizedLabel(label); return `{{ "${defaultLabel.replaceAll('"', '\\"')}" | t }}`; }