UNPKG

593 BJavaScriptView Raw
1/**
2 * Takes a full filename string and returns an object {name, extension}
3 *
4 * @param {string} fullFileName
5 * @returns {object} {name, extension}
6 */
7module.exports = 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 } else {
16 return {
17 name: fullFileName.slice(0, lastDot),
18 extension: fullFileName.slice(lastDot + 1)
19 }
20 }
21}