1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- 'use strict';
- var path = require('path');
- function getLongExtension(basename) {
- if (basename[basename.length - 1] === '.') {
- return null;
- }
- var startIndex = (basename[0] === '.') ? 1 : 0;
- var dotIndex = basename.indexOf('.', startIndex);
- if (dotIndex <= startIndex) {
- return null;
- }
- return basename.slice(dotIndex);
- }
- function getPossibleExtensions(longExtension) {
- var arr = [longExtension];
- var len = longExtension.length;
- var startIndex = 1;
- while (startIndex < len) {
- var dotIndex = longExtension.indexOf('.', startIndex);
- if (dotIndex < 0) {
- break;
- }
- arr.push(longExtension.slice(dotIndex));
- startIndex = dotIndex + 1;
- }
- return arr;
- }
- module.exports = function(input) {
- var basename = path.basename(input);
- var longExtension = getLongExtension(basename);
- if (!longExtension) {
- return;
- }
- return getPossibleExtensions(longExtension);
- };
|