animated-gif-detector
Detect animated GIFs from JavaScript buffers.
Installation
npm i animated-gif-detector
Motivation
Given a readable stream or a buffer directly, determine if a buffer of data is an animated GIF. This helps determine if a document contains cat pics or LOLz.
Usage
Streaming
This module is intended to be used as a Writable stream:
var fs = require('fs')
, animated = require('animated-gif-detector')
;
fs.createReadStream('file.gif')
.pipe(animated())
.on('animated', function() {
console.log('detected animation!');
});
;
Particularly, you may want to determine animate as early as possible in a given HTTP request, and abort the request as soon as you know:
var http = require('http')
, animated = require('animated-gif-detector')
;
var req = http.get('http://domain.com/file.gif')
.pipe(animated())
.once('animated', function() {
req.abort();
})
;
Sync
If an img is loaded as a buffer directly, a sync function is also available:
var fs = require('fs')
, animated = require('animated-gif-detector')
;
animated(fs.readFileSync('file.gif'))
Browserify
This should work as a client-side package if Browersified.
Tests
npm test
runs the tests.
Please contribute weird animated GIFs to the repository to add to the test cases.
Contributors
Thanks to hard work from the following contributors: