{"version":3,"file":"resolveCompressedTextureUrl.mjs","sources":["../../src/loaders/resolveCompressedTextureUrl.ts"],"sourcesContent":["import { extensions, ExtensionType, settings } from 'pixijs/core';\n\nimport type { ResolveAsset, ResolveURLParser } from 'pixijs/assets';\n\nexport const resolveCompressedTextureUrl = {\n    extension: ExtensionType.ResolveParser,\n    test: (value: string) =>\n    {\n        const temp = value.split('?')[0];\n        const extension = temp.split('.').pop();\n\n        return ['basis', 'ktx', 'dds'].includes(extension);\n    },\n    parse: (value: string): ResolveAsset =>\n    {\n        const temp = value.split('?')[0];\n        const extension = temp.split('.').pop();\n\n        if (extension === 'ktx')\n        {\n            const extensions = [\n                '.s3tc.ktx',\n                '.s3tc_sRGB.ktx',\n                '.etc.ktx',\n                '.etc1.ktx',\n                '.pvrt.ktx',\n                '.atc.ktx',\n                '.astc.ktx'\n            ];\n\n            // check if value ends with one of the extensions\n            if (extensions.some((ext) => value.endsWith(ext)))\n            {\n                return {\n                    resolution: parseFloat(settings.RETINA_PREFIX.exec(value)?.[1] ?? '1'),\n                    format: extensions.find((ext) => value.endsWith(ext)),\n                    src: value,\n                };\n            }\n        }\n\n        return {\n            resolution: parseFloat(settings.RETINA_PREFIX.exec(value)?.[1] ?? '1'),\n            format: value.split('.').pop(),\n            src: value,\n        };\n    },\n} as ResolveURLParser;\n\nextensions.add(resolveCompressedTextureUrl);\n"],"names":[],"mappings":";;AAIO,MAAM,2BAA8B,GAAA;AAAA,EACvC,WAAW,aAAc,CAAA,aAAA;AAAA,EACzB,IAAA,EAAM,CAAC,KACP,KAAA;AACI,IAAA,MAAM,IAAO,GAAA,KAAA,CAAM,KAAM,CAAA,GAAG,CAAE,CAAA,CAAA,CAAA,CAAA;AAC9B,IAAA,MAAM,SAAY,GAAA,IAAA,CAAK,KAAM,CAAA,GAAG,EAAE,GAAI,EAAA,CAAA;AAEtC,IAAA,OAAO,CAAC,OAAS,EAAA,KAAA,EAAO,KAAK,CAAA,CAAE,SAAS,SAAS,CAAA,CAAA;AAAA,GACrD;AAAA,EACA,KAAA,EAAO,CAAC,KACR,KAAA;AACI,IAAA,MAAM,IAAO,GAAA,KAAA,CAAM,KAAM,CAAA,GAAG,CAAE,CAAA,CAAA,CAAA,CAAA;AAC9B,IAAA,MAAM,SAAY,GAAA,IAAA,CAAK,KAAM,CAAA,GAAG,EAAE,GAAI,EAAA,CAAA;AAEtC,IAAA,IAAI,cAAc,KAClB,EAAA;AACI,MAAA,MAAM,WAAa,GAAA;AAAA,QACf,WAAA;AAAA,QACA,gBAAA;AAAA,QACA,UAAA;AAAA,QACA,WAAA;AAAA,QACA,WAAA;AAAA,QACA,UAAA;AAAA,QACA,WAAA;AAAA,OACJ,CAAA;AAGA,MAAI,IAAA,WAAA,CAAW,KAAK,CAAC,GAAA,KAAQ,MAAM,QAAS,CAAA,GAAG,CAAC,CAChD,EAAA;AACI,QAAO,OAAA;AAAA,UACH,UAAA,EAAY,WAAW,QAAS,CAAA,aAAA,CAAc,KAAK,KAAK,CAAA,GAAI,MAAM,GAAG,CAAA;AAAA,UACrE,MAAA,EAAQ,YAAW,IAAK,CAAA,CAAC,QAAQ,KAAM,CAAA,QAAA,CAAS,GAAG,CAAC,CAAA;AAAA,UACpD,GAAK,EAAA,KAAA;AAAA,SACT,CAAA;AAAA,OACJ;AAAA,KACJ;AAEA,IAAO,OAAA;AAAA,MACH,UAAA,EAAY,WAAW,QAAS,CAAA,aAAA,CAAc,KAAK,KAAK,CAAA,GAAI,MAAM,GAAG,CAAA;AAAA,MACrE,MAAQ,EAAA,KAAA,CAAM,KAAM,CAAA,GAAG,EAAE,GAAI,EAAA;AAAA,MAC7B,GAAK,EAAA,KAAA;AAAA,KACT,CAAA;AAAA,GACJ;AACJ,EAAA;AAEA,UAAA,CAAW,IAAI,2BAA2B,CAAA;;;;"}