{"version":3,"file":"loadMarkdownContentDeclaration.cjs","names":["MARKDOWN"],"sources":["../../../src/loadDictionaries/loadMarkdownContentDeclaration.ts"],"sourcesContent":["import { readFile } from 'node:fs/promises';\nimport { basename } from 'node:path';\nimport { getMarkdownMetadata } from '@intlayer/core/markdown';\nimport type { Dictionary } from '@intlayer/types/dictionary';\nimport { MARKDOWN } from '@intlayer/types/nodeType';\n\ntype MarkdownFrontmatter = {\n  key?: string;\n  locale?: string;\n  title?: string;\n  description?: string;\n  tags?: string[];\n  fill?: any;\n  importMode?: string;\n  location?: string;\n  priority?: number;\n  version?: string;\n  [key: string]: any;\n};\n\nexport const loadMarkdownContentDeclaration = async (\n  path: string\n): Promise<Dictionary | undefined> => {\n  try {\n    const fileContent = await readFile(path, 'utf-8');\n    const frontmatter = getMarkdownMetadata<MarkdownFrontmatter>(fileContent);\n\n    // Derive key from filename (e.g. \"my-doc.content.md\" → \"my-doc\") if not in frontmatter\n    const fileName = basename(path).replace(/\\.content\\.md$/, '');\n    const key = frontmatter.key ?? fileName;\n\n    if (!key) {\n      console.error(\n        `[intlayer] Missing key in markdown content declaration: ${path}`\n      );\n      return undefined;\n    }\n\n    const {\n      key: _key,\n      locale,\n      title,\n      description,\n      tags,\n      fill,\n      importMode,\n      location,\n      priority,\n      version,\n    } = frontmatter;\n\n    return {\n      key,\n      ...(locale !== undefined && { locale }),\n      ...(title !== undefined && { title }),\n      ...(description !== undefined && { description }),\n      ...(tags !== undefined && { tags }),\n      ...(fill !== undefined && { fill }),\n      ...(importMode !== undefined && { importMode }),\n      ...(location !== undefined && { location }),\n      ...(priority !== undefined && { priority }),\n      ...(version !== undefined && { version }),\n      content: {\n        nodeType: MARKDOWN,\n        [MARKDOWN]: fileContent,\n        metadata: frontmatter,\n      },\n    } as Dictionary;\n  } catch (error) {\n    console.error(\n      `Error loading markdown content declaration at ${path}:`,\n      error\n    );\n    return undefined;\n  }\n};\n"],"mappings":";;;;;;;;AAoBA,MAAa,iCAAiC,OAC5C,SACoC;CACpC,IAAI;EACF,MAAM,cAAc,qCAAe,MAAM,OAAO;EAChD,MAAM,+DAAuD,WAAW;EAGxE,MAAM,mCAAoB,IAAI,EAAE,QAAQ,kBAAkB,EAAE;EAC5D,MAAM,MAAM,YAAY,OAAO;EAE/B,IAAI,CAAC,KAAK;GACR,QAAQ,MACN,2DAA2D,MAC7D;GACA;EACF;EAEA,MAAM,EACJ,KAAK,MACL,QACA,OACA,aACA,MACA,MACA,YACA,UACA,UACA,YACE;EAEJ,OAAO;GACL;GACA,GAAI,WAAW,UAAa,EAAE,OAAO;GACrC,GAAI,UAAU,UAAa,EAAE,MAAM;GACnC,GAAI,gBAAgB,UAAa,EAAE,YAAY;GAC/C,GAAI,SAAS,UAAa,EAAE,KAAK;GACjC,GAAI,SAAS,UAAa,EAAE,KAAK;GACjC,GAAI,eAAe,UAAa,EAAE,WAAW;GAC7C,GAAI,aAAa,UAAa,EAAE,SAAS;GACzC,GAAI,aAAa,UAAa,EAAE,SAAS;GACzC,GAAI,YAAY,UAAa,EAAE,QAAQ;GACvC,SAAS;IACP,UAAUA;KACTA,oCAAW;IACZ,UAAU;GACZ;EACF;CACF,SAAS,OAAO;EACd,QAAQ,MACN,iDAAiD,KAAK,IACtD,KACF;EACA;CACF;AACF"}