{"version":3,"file":"AnimatedGIFAsset.mjs","sources":["../src/AnimatedGIFAsset.ts"],"sourcesContent":["import { DOMAdapter, extensions, ExtensionType, path } from 'pixi.js';\nimport { AnimatedGIF, AnimatedGIFOptions } from './AnimatedGIF';\n\nimport type { AssetExtension } from 'pixi.js';\n\n/**\n * Handle the loading of GIF images. Registering this loader plugin will\n * load all `.gif` images as an ArrayBuffer and transform into an\n * AnimatedGIF object.\n * @ignore\n */\nconst AnimatedGIFAsset = {\n    extension: ExtensionType.Asset,\n    detection: {\n        test: async () => true,\n        add: async (formats) => [...formats, 'gif'],\n        remove: async (formats) => formats.filter((format) => format !== 'gif'),\n    },\n    loader: {\n        name: 'gifLoader',\n        test: (url) => path.extname(url) === '.gif',\n        load: async (url, asset) =>\n        {\n            const response = await DOMAdapter.get().fetch(url);\n            const buffer = await response.arrayBuffer();\n\n            return AnimatedGIF.fromBuffer(buffer, asset?.data);\n        },\n        unload: async (asset) =>\n        {\n            asset.destroy();\n        },\n    }\n} as AssetExtension<AnimatedGIF, AnimatedGIFOptions>;\n\nextensions.add(AnimatedGIFAsset);\n\nexport { AnimatedGIFAsset };\n"],"names":[],"mappings":";;;AAWA,MAAM,gBAAmB,GAAA;AAAA,EACrB,WAAW,aAAc,CAAA,KAAA;AAAA,EACzB,SAAW,EAAA;AAAA,IACP,MAAM,YAAY,IAAA;AAAA,IAClB,KAAK,OAAO,OAAA,KAAY,CAAC,GAAG,SAAS,KAAK,CAAA;AAAA,IAC1C,MAAA,EAAQ,OAAO,OAAY,KAAA,OAAA,CAAQ,OAAO,CAAC,MAAA,KAAW,WAAW,KAAK,CAAA;AAAA,GAC1E;AAAA,EACA,MAAQ,EAAA;AAAA,IACJ,IAAM,EAAA,WAAA;AAAA,IACN,MAAM,CAAC,GAAA,KAAQ,IAAK,CAAA,OAAA,CAAQ,GAAG,CAAM,KAAA,MAAA;AAAA,IACrC,IAAA,EAAM,OAAO,GAAA,EAAK,KAClB,KAAA;AACI,MAAA,MAAM,WAAW,MAAM,UAAA,CAAW,GAAI,EAAA,CAAE,MAAM,GAAG,CAAA,CAAA;AACjD,MAAM,MAAA,MAAA,GAAS,MAAM,QAAA,CAAS,WAAY,EAAA,CAAA;AAE1C,MAAA,OAAO,WAAY,CAAA,UAAA,CAAW,MAAQ,EAAA,KAAA,EAAO,IAAI,CAAA,CAAA;AAAA,KACrD;AAAA,IACA,MAAA,EAAQ,OAAO,KACf,KAAA;AACI,MAAA,KAAA,CAAM,OAAQ,EAAA,CAAA;AAAA,KAClB;AAAA,GACJ;AACJ,EAAA;AAEA,UAAA,CAAW,IAAI,gBAAgB,CAAA;;;;"}