getFileNameAndExtension.js 574 B

1234567891011121314151617181920
  1. /**
  2. * Takes a full filename string and returns an object {name, extension}
  3. *
  4. * @param {string} fullFileName
  5. * @returns {object} {name, extension}
  6. */
  7. export default function getFileNameAndExtension (fullFileName) {
  8. const lastDot = fullFileName.lastIndexOf('.')
  9. // these count as no extension: "no-dot", "trailing-dot."
  10. if (lastDot === -1 || lastDot === fullFileName.length - 1) {
  11. return {
  12. name: fullFileName,
  13. extension: undefined,
  14. }
  15. }
  16. return {
  17. name: fullFileName.slice(0, lastDot),
  18. extension: fullFileName.slice(lastDot + 1),
  19. }
  20. }