Skip to content

Repository files navigation

NPM version CI npm downloads

@file-type/plus

In addition to file-type, which focuses on mostly binary file signature detection, @file-type/plus also supports structured and container-based formats such as:

  • CFBF compound documents, such as .doc, .xls, .ppt, .pub
  • PDF subtypes, such as Adobe Illustrator .ai
  • XML-based formats, such as SVG, SMIL, RSS

It behaves exactly like file-type, but automatically enables:

Install

npm install @file-type/plus

Usage

From Buffer

import {fileTypeFromBuffer} from '@file-type/plus';

const result = await fileTypeFromBuffer(buffer);

console.log(result);
// { ext: 'pdf', mime: 'application/pdf' }

From Blob

import {fileTypeFromBlob} from '@file-type/plus';

const result = await fileTypeFromBlob(blob);

From Stream

import {fileTypeFromStream} from '@file-type/plus';
import {createReadStream} from 'node:fs';

const stream = createReadStream('file.pdf');
const result = await fileTypeFromStream(stream);

Detection Stream

import {fileTypeStream} from '@file-type/plus';

const detectionStream = await fileTypeStream(stream);

console.log(detectionStream.fileType);

Node specific API

import {fileTypeFromFile} from '@file-type/plus/node';

const result = await fileTypeFromFile('document.doc');

About

file-type bundle with extensions

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages