{"version":3,"file":"getFooter-BWck5e2D.cjs","names":["path"],"sources":["../src/utils/getBanner.ts","../src/utils/getFooter.ts"],"sourcesContent":["import path from 'node:path'\nimport type { Config, Output } from '@kubb/core'\nimport type { Oas } from '@kubb/oas'\nimport { isFunction } from 'remeda'\n\ntype Props<TOas extends Oas> = {\n  oas: TOas\n  output: Output<any>\n  config?: Config\n}\n\n/**\n * Generate a default banner for files created by Kubb\n * @returns A string with the default banner\n */\nfunction getDefaultBanner({ title, description, version, config }: { title?: string; description?: string; version?: string; config: Config }): string {\n  try {\n    let source = ''\n    if ('path' in config.input) {\n      source = path.basename(config.input.path)\n    } else if ('data' in config.input) {\n      source = 'text content'\n    }\n\n    let banner = '/**\\n* Generated by Kubb (https://kubb.dev/).\\n* Do not edit manually.\\n'\n\n    if (config.output.defaultBanner === 'simple') {\n      banner += '*/\\n'\n      return banner\n    }\n\n    if (source) {\n      banner += `* Source: ${source}\\n`\n    }\n\n    if (title) {\n      banner += `* Title: ${title}\\n`\n    }\n\n    if (description) {\n      const formattedDescription = description.replace(/\\n/gm, '\\n* ')\n      banner += `* Description: ${formattedDescription}\\n`\n    }\n\n    if (version) {\n      banner += `* OpenAPI spec version: ${version}\\n`\n    }\n\n    banner += '*/\\n'\n    return banner\n  } catch (_error) {\n    // If there's any error in parsing the Oas data, return a simpler banner\n    return '/**\\n* Generated by Kubb (https://kubb.dev/).\\n* Do not edit manually.\\n*/'\n  }\n}\n\nexport function getBanner<TOas extends Oas>({ output, oas, config }: Props<TOas>): string {\n  let banner = ''\n  if (config?.output?.defaultBanner !== false && config) {\n    const { title, description, version } = oas.api?.info || {}\n\n    banner = getDefaultBanner({ title, description, version, config })\n  }\n\n  if (!output.banner) {\n    return banner\n  }\n\n  if (isFunction(output.banner)) {\n    return `${output.banner(oas)}\\n${banner}`\n  }\n\n  return `${output.banner}\\n${banner}`\n}\n","import type { Output } from '@kubb/core'\nimport type { Oas } from '@kubb/oas'\nimport { isFunction } from 'remeda'\n\ntype Props<TOas extends Oas> = {\n  oas: TOas\n  output: Output<any>\n}\n\nexport function getFooter<TOas extends Oas>({ output, oas }: Props<TOas>) {\n  if (!output.footer) {\n    return undefined\n  }\n\n  if (isFunction(output.footer)) {\n    return output.footer(oas)\n  }\n\n  return output.footer\n}\n"],"mappings":";;;;;;;;;;AAeA,SAAS,iBAAiB,EAAE,OAAO,aAAa,SAAS,UAA8F;AACrJ,KAAI;EACF,IAAI,SAAS;AACb,MAAI,UAAU,OAAO,MACnB,UAASA,kBAAK,SAAS,OAAO,MAAM,KAAK;WAChC,UAAU,OAAO,MAC1B,UAAS;EAGX,IAAI,SAAS;AAEb,MAAI,OAAO,OAAO,kBAAkB,UAAU;AAC5C,aAAU;AACV,UAAO;;AAGT,MAAI,OACF,WAAU,aAAa,OAAO;AAGhC,MAAI,MACF,WAAU,YAAY,MAAM;AAG9B,MAAI,aAAa;GACf,MAAM,uBAAuB,YAAY,QAAQ,QAAQ,OAAO;AAChE,aAAU,kBAAkB,qBAAqB;;AAGnD,MAAI,QACF,WAAU,2BAA2B,QAAQ;AAG/C,YAAU;AACV,SAAO;UACA,QAAQ;AAEf,SAAO;;;AAIX,SAAgB,UAA4B,EAAE,QAAQ,KAAK,UAA+B;CACxF,IAAI,SAAS;AACb,KAAI,QAAQ,QAAQ,kBAAkB,SAAS,QAAQ;EACrD,MAAM,EAAE,OAAO,aAAa,YAAY,IAAI,KAAK,QAAQ,EAAE;AAE3D,WAAS,iBAAiB;GAAE;GAAO;GAAa;GAAS;GAAQ,CAAC;;AAGpE,KAAI,CAAC,OAAO,OACV,QAAO;AAGT,4BAAe,OAAO,OAAO,CAC3B,QAAO,GAAG,OAAO,OAAO,IAAI,CAAC,IAAI;AAGnC,QAAO,GAAG,OAAO,OAAO,IAAI;;;;;AC/D9B,SAAgB,UAA4B,EAAE,QAAQ,OAAoB;AACxE,KAAI,CAAC,OAAO,OACV;AAGF,4BAAe,OAAO,OAAO,CAC3B,QAAO,OAAO,OAAO,IAAI;AAG3B,QAAO,OAAO"}