file-extension-icon-js
Version:
Use folder name and file extension specific Material-icon and vscode-icon.
63 lines (45 loc) • 1.89 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.getVSIFolderIcon = exports.getVSIFileIcon = undefined;
var _Utils = require("../common/Utils");
var _vsiFileIconsName = require("../gen/vsiFileIconsName");
var _vsiFolderIconsName = require("../gen/vsiFolderIconsName");
var _index = require("../icons/index");
var _index2 = _interopRequireDefault(_index);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var getVSIFileIcon = exports.getVSIFileIcon = function getVSIFileIcon(fileName) {
var splitName = fileName.split(".");
var iconName = "";
while (splitName.length) {
var curName = splitName.join(".");
if (_vsiFileIconsName.vsiFileNamesToIcons[curName]) {
iconName = _vsiFileIconsName.vsiFileNamesToIcons[curName];
break;
}
if (_vsiFileIconsName.vsiFileExtensionsToIcons[curName]) {
iconName = _vsiFileIconsName.vsiFileExtensionsToIcons[curName];
break;
}
splitName.shift();
}
if (iconName === "") iconName = "file";
var icon = _index2.default.vsiFileIcons.map(function (vsiFileIcon) {
return vsiFileIcon[iconName] ? vsiFileIcon[iconName] : "";
}).filter(function (item) {
return item;
});
return "data:image/svg+xml;base64," + (0, _Utils.convertToBase64)(icon[0]);
};
var getVSIFolderIcon = exports.getVSIFolderIcon = function getVSIFolderIcon(folderName) {
var open = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
var iconName = "";
if (_vsiFolderIconsName.vsiFolderNamesToIcons[folderName]) {
iconName = _vsiFolderIconsName.vsiFolderNamesToIcons[folderName];
}
if (iconName === "") iconName = "folder";
var icon = "";
if (open) icon = _index2.default.vsiFolderIconsOpen[iconName];else icon = _index2.default.vsiFolderIcons[iconName];
return "data:image/svg+xml;base64," + (0, _Utils.convertToBase64)(icon);
};