cozy-search
Version:
UI components about search bar and IA assistant
54 lines (42 loc) • 1.62 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.getFileMimetype = void 0;
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
var _mimeTypes = _interopRequireDefault(require("mime-types"));
var getMimetypeFromFilename = function getMimetypeFromFilename(name) {
return _mimeTypes.default.lookup(name) || 'application/octet-stream';
};
var mappingMimetypeSubtype = {
word: 'text',
text: 'text',
zip: 'zip',
pdf: 'pdf',
spreadsheet: 'sheet',
excel: 'sheet',
sheet: 'sheet',
presentation: 'slide',
powerpoint: 'slide'
};
var getFileMimetype = function getFileMimetype(collection) {
return function () {
var mime = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
var name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
var mimetype = mime === 'application/octet-stream' ? getMimetypeFromFilename(name.toLowerCase()) : mime;
var _mimetype$split = mimetype.split('/'),
_mimetype$split2 = (0, _slicedToArray2.default)(_mimetype$split, 2),
type = _mimetype$split2[0],
subtype = _mimetype$split2[1];
if (collection[type]) {
return type;
}
if (type === 'application') {
var existingType = subtype.match(Object.keys(mappingMimetypeSubtype).join('|'));
return existingType ? mappingMimetypeSubtype[existingType[0]] : undefined;
}
return undefined;
};
};
exports.getFileMimetype = getFileMimetype;