@robinbobin/mimetype-constants
Version:
Extensible MIME constants with typescript support
21 lines (20 loc) • 785 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.extend = extend;
const radashi_1 = require("radashi");
const mimeTypes_1 = require("./mimeTypes");
function extend(typeGroups) {
const extendedMimeTypes = {
...mimeTypes_1.mimeTypes
};
for (const [type, subtypes] of Object.entries(typeGroups)) {
const existingSubtypes = Object.keys(extendedMimeTypes[type] ?? {});
const subtypeKeysToOmit = Object.keys(subtypes).filter(subtypeKey => existingSubtypes.includes(subtypeKey));
const filteredSubtypes = (0, radashi_1.omit)(subtypes, subtypeKeysToOmit);
extendedMimeTypes[type] = {
...extendedMimeTypes[type],
...filteredSubtypes
};
}
return extendedMimeTypes;
}