mime-stream

2.2.0 • Public • Published

mime-stream

CI Test Coverage Maintainability

Node pass-through stream for MIME type detection.

DEPRECATION

This package depends on sindresorhus/file-type, adding its own interface on top. Nowadays, file-type provides a pass-through stream right out of the box. Hence, this package has become obsolete. It will at most receive critical security updates.

Do not use mime-stream in new projects, and migrate old projects away.

Install

npm i mime-stream

Usage

Event: 'type'

This event is emitted as soon as the type is detected. If the type remains unknown, null is passed to the event handler instead of an object.

It is guaranteed that there is always exactly one type event emitted, even when the stream is closed prematurely.

Example:

const fs = require('fs')
const MimeStream = require('mime-stream')

const stream = new MimeStream()
stream.on('type', function (type) {
  console.log(type) // { ext: 'png', mime: 'image/png' }
})

fs.createReadStream('myimage.png').pipe(stream)

You could also add more .pipe() calls to the chain. MimeStream is non-destructive and passes on any data it receives.

Listener Function

This is the same as binding a function to the type event, just more concise.

Example:

const fs = require('fs')
const MimeStream = require('mime-stream')

// `new` is optional anyway
fs.createReadStream('myimage.png').pipe(MimeStream((type) => {
  console.log(type) // { ext: 'png', mime: 'image/png' }
}))

Property

After detection, the detection result is also available inside the type property. Example:

stream.on('end', function () {
  console.log(stream.type) // { ext: 'png', mime: 'image/png' }
})

Package Sidebar

Install

npm i mime-stream

Weekly Downloads

12

Version

2.2.0

License

MIT

Unpacked Size

6.49 kB

Total Files

4

Last publish

Collaborators

  • meyfa