uppy/packages/@uppy/utils/src/getFileNameAndExtension.ts
Antoine du Hamel 51ecc66e64
@uppy/utils: refactor to TS (#4699)
Co-authored-by: Mikael Finstad <finstaden@gmail.com>
Co-authored-by: Nick Rutten <2504906+nickrttn@users.noreply.github.com>
Co-authored-by: Murderlon <merlijn@soverin.net>
Co-authored-by: Artur Paikin <artur@arturpaikin.com>
2023-11-06 15:01:50 +01:00

20 lines
559 B
TypeScript

/**
* Takes a full filename string and returns an object {name, extension}
*/
export default function getFileNameAndExtension(fullFileName: string): {
name: string
extension: string | undefined
} {
const lastDot = fullFileName.lastIndexOf('.')
// these count as no extension: "no-dot", "trailing-dot."
if (lastDot === -1 || lastDot === fullFileName.length - 1) {
return {
name: fullFileName,
extension: undefined,
}
}
return {
name: fullFileName.slice(0, lastDot),
extension: fullFileName.slice(lastDot + 1),
}
}