Skip to content
Node pass-through stream for MIME type detection.
JavaScript
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
test
.codeclimate.yml
.eslintrc
.gitignore
.travis.yml
LICENSE
README.md
index.js
package-lock.json
package.json

README.md

mime-stream

Build Status Test Coverage Maintainability

Node pass-through stream for MIME type detection.

Install

npm install --save 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");

let 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" }
});
You can’t perform that action at this time.