Skip to content

FRSOURCE/is-animated

Β 
Β 

Repository files navigation

NPM version badge GZIP size calculated by bundlejs.com semantic-release badge license MIT badge

is-animated - checks if the image is animated 🎞

Getting Started Β· Demo Β· File an Issue Β· Have a question or an idea?


A simple library for detecting animated images.
Works under Node and Browser environments!
Performant & with small bundle size
Supports GIF, APNG and WebP
Written completely in typescript
Published under MIT license


Quick start

Installation

npm install @frsource/is-animated

yarn add @frsource/is-animated

pnpm add @frsource/is-animated

Usage in browser

<input type="file" accept="image/*" />
const input = document.querySelector('input[type="file"]');

input.addEventListener('change', async function () {
  const arrayBuffer = await this.files[0].arrayBuffer();
  const answer = isAnimated(arrayBuffer) ? 'Yes' : 'No';
  alert(`Is "${this.files[0].name}" animated? ${answer}.`);
});

Usage in Node.js

import { readFileSync } from 'fs';
import isAnimated from '@frsource/is-animated';

readFileSync('my-test-file.png', (err, buffer) => {
  const answer = isAnimated(buffer) ? 'Yes' : 'No';
  console.log(`Is "my-test-file.png" animated? ${answer}.`);
});

For a working example, check out our demo.

Questions

Don’t hesitate to ask a question directly on the discussion board!

Changelog

Changes for every release are documented in the release notes and CHANGELOG file.

Development

  1. Check out the repository.
  2. Install dependencies using pnpm i.
  3. Run pnpm test to run the test suite.
  4. Run pnpm start and visit http://localhost:3000 to see the documentation page. You can test the library using the demo section.

License

MIT @ 2024-present, Jakub FRS Freisler, FRSOURCE

Forked from qzb's great library: is-animated.