{"version":3,"sources":["../src/getComment.ts"],"sourcesContent":["export const toHumanDate = (date: Date) =>\n  `${new Date(date).toISOString().substr(0, 10)} ${new Date().toISOString().substr(11, 8)}`;\n\nconst defaultFooter = 'Auto generated by http://npmjs.com/package/@lskjs/stringify';\nexport interface CommentProps {\n  source?: string;\n  url?: string;\n  filename?: string;\n  name?: string;\n  date?: Date;\n  footer?: string;\n  values?: Array<[string, string]>;\n}\nexport const getComment = (props: CommentProps) => {\n  const date = props.date || new Date();\n  const url = props.source || props.url;\n  const name = props.filename || props.name;\n  const footer = props.footer || defaultFooter;\n  const values = props.values || [];\n\n  const keyValues = [\n    ['Source', url],\n    ['Date', toHumanDate(date)],\n    ['Filename', name],\n    ...values,\n    ['Footer', footer],\n  ];\n\n  const maxKeyLength = Math.max(...keyValues.map(([key]) => String(key).length));\n\n  return keyValues\n    .map(([key, value]) => {\n      if (!value) return null;\n      const keyStr = String(key).padEnd(maxKeyLength, ' ');\n      if (key === 'Footer') return `\\n${value}`;\n      return `${keyStr}: ${value}`;\n    })\n    .filter(Boolean)\n    .join('\\n')\n    .trim();\n};\n\nexport default getComment;\n"],"mappings":"+EAAO,IAAMA,EAAcC,EAACC,GAC1B,GAAG,IAAIC,KAAKD,CAAAA,EAAME,YAAW,EAAGC,OAAO,EAAG,EAAA,CAAA,IAAO,IAAIF,KAAAA,EAAOC,YAAW,EAAGC,OAAO,GAAI,CAAA,CAAA,GAD5D,eAGrBC,EAAgB,8DAUTC,EAAaN,EAACO,GAAAA,CACzB,IAAMN,EAAOM,EAAMN,MAAQ,IAAIC,KACzBM,EAAMD,EAAME,QAAUF,EAAMC,IAC5BE,EAAOH,EAAMI,UAAYJ,EAAMG,KAC/BE,EAASL,EAAMK,QAAUP,EACzBQ,EAASN,EAAMM,QAAU,CAAA,EAEzBC,EAAY,CAChB,CAAC,SAAUN,GACX,CAAC,OAAQT,EAAYE,CAAAA,GACrB,CAAC,WAAYS,MACVG,EACH,CAAC,SAAUD,IAGPG,EAAeC,KAAKC,IAAG,GAAIH,EAAUI,IAAI,CAAC,CAACC,CAAAA,IAASC,OAAOD,CAAAA,EAAKE,MAAM,CAAA,EAE5E,OAAOP,EACJI,IAAI,CAAC,CAACC,EAAKG,CAAAA,IAAM,CAChB,GAAI,CAACA,EAAO,OAAO,KACnB,IAAMC,EAASH,OAAOD,CAAAA,EAAKK,OAAOT,EAAc,GAAA,EAChD,OAAII,IAAQ,SAAiB;EAAKG,CAAAA,GAC3B,GAAGC,CAAAA,KAAWD,CAAAA,EACvB,CAAA,EACCG,OAAOC,OAAAA,EACPC,KAAK;CAAA,EACLC,KAAI,CACT,EA3B0B,cA6B1BC,EAAevB","names":["toHumanDate","__name","date","Date","toISOString","substr","defaultFooter","getComment","props","url","source","name","filename","footer","values","keyValues","maxKeyLength","Math","max","map","key","String","length","value","keyStr","padEnd","filter","Boolean","join","trim","getComment_default"]}