getFileNameAndExtension.js 616 B

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