UNPKG

file-extension-icon-js

Version:

Use folder name and file extension specific Material-icon and vscode-icon.

63 lines (45 loc) 1.89 kB
"use strict"; 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); };