stream-file-type
Get the [file type](https://github.com/sindresorhus/file-type) by inspecting a stream.
Last updated 5 years ago by linusu .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install stream-file-type 
SYNC missed versions from official npm registry.

Stream File Type

Get the file type by inspecting a stream.

Usage

import fs from 'node:fs'
import FileType from 'stream-file-type'

const input = fs.createReadStream('cat.jpg')
const detector = new FileType()

// Listen for event...
detector.on('file-type', (fileType) => {
  if (fileType === null) {
    console.log(`The mime type of "cat.jpg" could not be determined`)
  } else {
    console.log(`The file "cat.jpg" has the "${fileType.mime}" mime type`)
  }
})

// ...or get a Promise
detector.fileTypePromise().then((fileType) => {
  if (fileType === null) {
    console.log(`The mime type of "cat.jpg" could not be determined`)
  } else {
    console.log(`The file "cat.jpg" has the "${fileType.mime}" mime type`)
  }
})

input.pipe(detector).resume()

API

new FileType() => DuplexStream

Returns a new DuplexStream that will detect the file type of the content passing thru. All the data is passed as-is right thru the stream, and can be further piped to another destination.

When enough bytes have come thru to determine the file type (currently 4100) the event file-type will be emitted with the result of the detection. The result will either be null or an object with ext and mime.

FileType#fileTypePromise() => Promise

Returns a Promise of the detected file type. If the file-type event has already been emitted, the promise will be resolved with the result, otherwise the promise will be resolved when the file-type is detected.

Current Tags

  • 0.6.1                                ...           latest (5 years ago)

10 Versions

  • 0.6.1                                ...           5 years ago
  • 0.6.0                                ...           5 years ago
  • 0.5.0                                ...           6 years ago
  • 0.4.0                                ...           6 years ago
  • 0.3.2                                ...           7 years ago
  • 0.3.1                                ...           7 years ago
  • 0.3.0                                ...           7 years ago
  • 0.2.0                                ...           7 years ago
  • 0.1.1                                ...           9 years ago
  • 0.1.0                                ...           9 years ago
Maintainers (1)
Downloads
Today 0
This Week 0
This Month 0
Last Day 0
Last Week 0
Last Month 0
Dependencies (1)
Dev Dependencies (3)
Dependents (1)

Copyright 2013 - present © cnpmjs.org | Home |