UNPKG

@robinbobin/mimetype-constants

Version:

Extensible MIME constants with typescript support

18 lines (17 loc) 654 B
import { omit } from 'radashi'; import { mimeTypes } from './mimeTypes'; export function extend(typeGroups) { const extendedMimeTypes = { ...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 = omit(subtypes, subtypeKeysToOmit); extendedMimeTypes[type] = { ...extendedMimeTypes[type], ...filteredSubtypes }; } return extendedMimeTypes; }