3 var path = require('path');
5 function getLongExtension(basename) {
6 if (basename[basename.length - 1] === '.') {
10 var startIndex = (basename[0] === '.') ? 1 : 0;
12 var dotIndex = basename.indexOf('.', startIndex);
13 if (dotIndex <= startIndex) {
17 return basename.slice(dotIndex);
20 function getPossibleExtensions(longExtension) {
21 var arr = [longExtension];
22 var len = longExtension.length;
25 while (startIndex < len) {
26 var dotIndex = longExtension.indexOf('.', startIndex);
30 arr.push(longExtension.slice(dotIndex));
31 startIndex = dotIndex + 1;
37 module.exports = function(input) {
38 var basename = path.basename(input);
39 var longExtension = getLongExtension(basename);
43 return getPossibleExtensions(longExtension);