mime-stream v2.2.0
mime-stream
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-streamUsage
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' }
})