UNPKG

cozy-search

Version:

UI components about search bar and IA assistant

54 lines (42 loc) 1.62 kB
"use strict"; 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;