blob: 5b24e84e97ec37c55ba5ffcbf7db920df4bf6c97 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
import calculatorHandler from './calculatorHandler';
import fileExists from './fileExists.js';
import requestBuffer from '../services/request.js';
/**
* Gets animation length. If the animation cannot be found, it will
* silently fail and return 0 instead.
* @param {string} filename the animation file name
*/
const getAnimLength = async (url) => {
const extensions = ['.gif', '.webp'];
for (const extension of extensions) {
const urlWithExtension = url + extension;
const exists = await fileExists(urlWithExtension);
if (exists) {
const fileBuffer = await requestBuffer(urlWithExtension);
const length = calculatorHandler[extension](fileBuffer);
return length;
}
}
return 0;
};
export default getAnimLength;
|