is-image
Version:
Check if a file path is an image
122 lines (119 loc) • 1.1 kB
JavaScript
import path from 'node:path';
const extensions = new Set([
'3dv',
'ai',
'amf',
'art',
'ase',
'awg',
'blp',
'bmp',
'bw',
'cd5',
'cdr',
'cgm',
'cit',
'cmx',
'cpt',
'cr2',
'cur',
'cut',
'dds',
'dib',
'djvu',
'dxf',
'e2d',
'ecw',
'egt',
'emf',
'eps',
'exif',
'fs',
'gbr',
'gif',
'gpl',
'grf',
'hdp',
'heic',
'heif',
'icns',
'ico',
'iff',
'int',
'inta',
'jfif',
'jng',
'jp2',
'jpeg',
'jpg',
'jps',
'jxr',
'lbm',
'liff',
'max',
'miff',
'mng',
'msp',
'nef',
'nitf',
'nrrd',
'odg',
'ota',
'pam',
'pbm',
'pc1',
'pc2',
'pc3',
'pcf',
'pct',
'pcx',
'pdd',
'pdn',
'pgf',
'pgm',
'PI1',
'PI2',
'PI3',
'pict',
'png',
'pnm',
'pns',
'ppm',
'psb',
'psd',
'psp',
'px',
'pxm',
'pxr',
'qfx',
'ras',
'raw',
'rgb',
'rgba',
'rle',
'sct',
'sgi',
'sid',
'stl',
'sun',
'svg',
'sxd',
'tga',
'tif',
'tiff',
'v2d',
'vnd',
'vrml',
'vtf',
'wdp',
'webp',
'wmf',
'x3d',
'xar',
'xbm',
'xcf',
'xpm',
]);
export default function isImage(filePath) {
return extensions.has(path.extname(filePath).slice(1).toLowerCase());
}