pixi.js
Version:
<p align="center"> <a href="https://pixijs.com" target="_blank" rel="noopener noreferrer"> <img height="150" src="https://files.pixijs.download/branding/pixijs-logo-transparent-dark.svg?v=1" alt="PixiJS logo"> </a> </p> <br/> <p align="center">
32 lines (28 loc) • 936 B
JavaScript
;
var adapter = require('../environment/adapter.js');
var Extensions = require('../extensions/Extensions.js');
var path = require('../utils/path.js');
var GifSource = require('./GifSource.js');
;
const GifAsset = {
extension: Extensions.ExtensionType.Asset,
detection: {
test: async () => true,
add: async (formats) => [...formats, "gif"],
remove: async (formats) => formats.filter((format) => format !== "gif")
},
loader: {
name: "gifLoader",
test: (url) => path.path.extname(url) === ".gif" || url.startsWith("data:image/gif"),
load: async (url, asset) => {
const response = await adapter.DOMAdapter.get().fetch(url);
const buffer = await response.arrayBuffer();
return GifSource.GifSource.from(buffer, asset?.data);
},
unload: async (asset) => {
asset.destroy();
}
}
};
exports.GifAsset = GifAsset;
//# sourceMappingURL=GifAsset.js.map