Skip to content

nasriyasoftware/MimeX

Repository files navigation

N|Solid

MimeX

NPM License NPM Version NPM Unpacked Size Last Commit Status

Visit us at www.nasriya.net.

Made with ❤️ in Palestine 🇵🇸


Overview

Mimex is a lightweight TypeScript/JavaScript utility for handling file extensions and MIME types. It provides an easy-to-use manager to look up MIME types from file extensions and vice versa, with full type safety when used in TypeScript projects.

Key features include:

  • Retrieve one or multiple MIME types associated with a file extension.
  • Retrieve all file extensions associated with a MIME type.
  • Predefined, comprehensive list of common file extensions and MIME types.
  • Fully typed for TypeScript with literal types for complete type safety.
  • Exposes convenient readonly lists of all supported MIME types and extensions.

Important

🌟 Support Our Open-Source Development! 🌟 We need your support to keep our projects going! If you find our work valuable, please consider contributing. Your support helps us continue to develop and maintain these tools.

Click here to support us!

Every contribution, big or small, makes a difference. Thank you for your generosity and support!


Installation

npm install @nasriya/mimex

Importing

Importing in ESM modules

import mimex from '@nasriya/mimex';

Importing in CommonJS modules

const mimex = require('@nasriya/mimex').default;

Usage

import mimex from '@nasriya/mimex'

// Get MIME type(s) from extension
const mime = mimex.getMimes('.png') // ['image/png']

// Get extension(s) from MIME type
const ext = mimex.getExtensions('image/png') // ['.png']

// Check if a MIME type is supported
const isMimeSupported = mimex.isMime('image/png') // true
const isMimeUnknown = mimex.isMime('application/unknown') // false

// Check if an extension is supported
const isExtSupported = mimex.isExtension('.png') // true
const isExtWithoutDot = mimex.isExtension('png') // true
const isExtUnknown = mimex.isExtension('.unknown') // false

// Access all supported MIME types and extensions
console.log(mimex.mimes)       // ['image/webp', 'audio/aac', ...]
console.log(mimex.extensions)  // ['.webp', '.aac', ...]

License

This software is licensed under the Nasriya Open License (NOL), version 1.0. Please read the license from here.