"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.COMMON_MIME_TYPES = new Map([ ['avi', 'video/avi'], ['gif', 'image/gif'], ['ico', 'image/x-icon'], ['jpeg', 'image/jpeg'], ['jpg', 'image/jpeg'], ['mkv', 'video/x-matroska'], ['mov', 'video/quicktime'], ['mp4', 'video/mp4'], ['pdf', 'application/pdf'], ['png', 'image/png'], ['zip', 'application/zip'], ['doc', 'application/msword'], ['docx', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'] ]); function toFileWithPath(file, path) { var f = withMimeType(file); if (typeof f.path !== 'string') { // on electron, path is already set to the absolute path var webkitRelativePath = file.webkitRelativePath; Object.defineProperty(f, 'path', { value: typeof path === 'string' ? path // If is set, // the File will have a {webkitRelativePath} property // https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/webkitdirectory : typeof webkitRelativePath === 'string' && webkitRelativePath.length > 0 ? webkitRelativePath : file.name, writable: false, configurable: false, enumerable: true }); } return f; } exports.toFileWithPath = toFileWithPath; function withMimeType(file) { var name = file.name; var hasExtension = name && name.lastIndexOf('.') !== -1; if (hasExtension && !file.type) { var ext = name.split('.') .pop().toLowerCase(); var type = exports.COMMON_MIME_TYPES.get(ext); if (type) { Object.defineProperty(file, 'type', { value: type, writable: false, configurable: false, enumerable: true }); } } return file; } //# sourceMappingURL=file.js.map