{"version":3,"file":"loadJson.mjs","sources":["../../../src/loader/parsers/loadJson.ts"],"sourcesContent":["import { extensions, ExtensionType, settings } from '@pixi/core';\nimport { checkDataUrl } from '../../utils/checkDataUrl';\nimport { checkExtension } from '../../utils/checkExtension';\nimport { LoaderParserPriority } from './LoaderParser';\n\nimport type { LoaderParser } from './LoaderParser';\n\nconst validJSONExtension = '.json';\nconst validJSONMIME = 'application/json';\n\n/** simple loader plugin for loading json data */\nexport const loadJson = {\n    extension: {\n        type: ExtensionType.LoadParser,\n        priority: LoaderParserPriority.Low,\n    },\n\n    name: 'loadJson',\n\n    test(url: string): boolean\n    {\n        return checkDataUrl(url, validJSONMIME) || checkExtension(url, validJSONExtension);\n    },\n\n    async load<T>(url: string): Promise<T>\n    {\n        const response = await settings.ADAPTER.fetch(url);\n\n        const json = await response.json();\n\n        return json as T;\n    },\n} as LoaderParser;\n\nextensions.add(loadJson);\n"],"names":[],"mappings":";;;;AAOA,MAAM,qBAAqB,SACrB,gBAAgB,oBAGT,WAAW;AAAA,EACpB,WAAW;AAAA,IACP,MAAM,cAAc;AAAA,IACpB,UAAU,qBAAqB;AAAA,EACnC;AAAA,EAEA,MAAM;AAAA,EAEN,KAAK,KACL;AACI,WAAO,aAAa,KAAK,aAAa,KAAK,eAAe,KAAK,kBAAkB;AAAA,EACrF;AAAA,EAEA,MAAM,KAAQ,KACd;AAKI,WAFa,OAFI,MAAM,SAAS,QAAQ,MAAM,GAAG,GAErB;EAGhC;AACJ;AAEA,WAAW,IAAI,QAAQ;"}