mime-stream
v2.2.0
Published
Pass-through stream for MIME type detection
Downloads
125
Maintainers
Readme
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-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' }
})