is-apng
v1.2.0
Published
Check if a Buffer/Uint8Array is a APNG (Animated PNG) image
Downloads
18,821
Maintainers
Readme
is-apng
Checks if a Buffer/Uint8Array contains a Animated PNG / APNG image.
[!IMPORTANT] This is only a quick detect method and does not do full (A)PNG file validation. For security and file integrity sensitive operations, use a true (A)PNG validator (see also specs).
Install
$ npm install is-apng
Usage
Node.js
import { readFile } from 'node:fs/promises'
import isApng from 'is-apng'
const buffer = await readFile('image.png')
isApng(buffer)
// => true
Note: As of version 1.2, Node versions below 18 are not supported.
Browser
As package through NPM
import isApng from 'is-apng'
const response = await fetch('image.png')
const buffer = await response.arrayBuffer()
isApng(new Uint8Array(buffer))
// => true
As old-school global script tag
Url for latest version: https://unpkg.com/is-apng
Url for specific version: https://unpkg.com/[email protected]/dist/index.js
<script src="https://unpkg.com/is-apng" type="text/javascript"></script>
<script type="text/javascript">
console.log(typeof isApng);
// isApng(...)
</script>
As module
Url for latest version: https://unpkg.com/is-apng/dist/index.mjs
Url for specific version: https://unpkg.com/[email protected]/dist/index.mjs
<script type="module">
import isApng from 'https://unpkg.com/is-apng/dist/index.mjs'
console.log(typeof isApng);
// isApng(...)
</script>
or
<script async src="https://unpkg.com/[email protected]/dist/es-module-shims.js"></script>
<script type="importmap">
{
"imports": {
"is-apng": "https://unpkg.com/is-apng/dist/index.mjs"
}
}
</script>
<script type="module">
import isApng from 'is-apng'
console.log(typeof isApng);
// isApng(...)
</script>
API
isApng(buffer)
Accepts a Buffer (Node.js) or Uint8Array. Returns a boolean
of whether buffer
is a APNG image.
buffer
The buffer to check.
Based on
- is-png - Check if a Buffer/Uint8Array is a PNG image by Sindre Sorhus
License
MIT © Philip van Heemstra