{"version":3,"file":"loadNodeFont.mjs","sources":["../../src/adapter/loadNodeFont.ts"],"sourcesContent":["import canvasModule from 'canvas';\nimport { getFontFamilyName } from 'pixijs/assets';\nimport { extensions, ExtensionType, utils } from 'pixijs/core';\n\nimport type { LoadAsset, LoaderParser, LoadFontData } from 'pixijs/assets';\n\nconst { registerFont } = canvasModule;\nconst validWeights = [\n    'normal', 'bold', '100', '200', '300', '400', '500', '600', '700', '800', '900',\n];\nconst validFonts = ['.woff', '.woff2', '.ttf', '.otf'];\n\n/** loads a font from a file */\nexport const loadNodeFont = {\n    extension: ExtensionType.LoadParser,\n\n    test(url: string): boolean\n    {\n        return validFonts.includes(utils.path.extname(url).toLowerCase());\n    },\n\n    async load(url: string, options: LoadAsset<LoadFontData>): Promise<void>\n    {\n        const name = options.data?.family ?? getFontFamilyName(url);\n        const weights = options.data?.weights?.filter((weight) => validWeights.includes(weight)) ?? ['normal'];\n        const data = options.data ?? {} as LoadFontData;\n\n        for (let i = 0; i < weights.length; i++)\n        {\n            const weight = weights[i];\n\n            registerFont(url, {\n                ...data,\n                family: options.data?.family ?? name,\n                weight,\n            });\n        }\n    },\n} as LoaderParser;\n\nextensions.add(loadNodeFont);\n"],"names":[],"mappings":";;;;AAMA,MAAM,EAAE,YAAiB,EAAA,GAAA,YAAA,CAAA;AACzB,MAAM,YAAe,GAAA;AAAA,EACjB,QAAA;AAAA,EAAU,MAAA;AAAA,EAAQ,KAAA;AAAA,EAAO,KAAA;AAAA,EAAO,KAAA;AAAA,EAAO,KAAA;AAAA,EAAO,KAAA;AAAA,EAAO,KAAA;AAAA,EAAO,KAAA;AAAA,EAAO,KAAA;AAAA,EAAO,KAAA;AAC9E,CAAA,CAAA;AACA,MAAM,UAAa,GAAA,CAAC,OAAS,EAAA,QAAA,EAAU,QAAQ,MAAM,CAAA,CAAA;AAG9C,MAAM,YAAe,GAAA;AAAA,EACxB,WAAW,aAAc,CAAA,UAAA;AAAA,EAEzB,KAAK,GACL,EAAA;AACI,IAAO,OAAA,UAAA,CAAW,SAAS,KAAM,CAAA,IAAA,CAAK,QAAQ,GAAG,CAAA,CAAE,aAAa,CAAA,CAAA;AAAA,GACpE;AAAA,EAEA,MAAM,IAAK,CAAA,GAAA,EAAa,OACxB,EAAA;AACI,IAAA,MAAM,IAAO,GAAA,OAAA,CAAQ,IAAM,EAAA,MAAA,IAAU,kBAAkB,GAAG,CAAA,CAAA;AAC1D,IAAA,MAAM,OAAU,GAAA,OAAA,CAAQ,IAAM,EAAA,OAAA,EAAS,MAAO,CAAA,CAAC,MAAW,KAAA,YAAA,CAAa,QAAS,CAAA,MAAM,CAAC,CAAA,IAAK,CAAC,QAAQ,CAAA,CAAA;AACrG,IAAM,MAAA,IAAA,GAAO,OAAQ,CAAA,IAAA,IAAQ,EAAC,CAAA;AAE9B,IAAA,KAAA,IAAS,CAAI,GAAA,CAAA,EAAG,CAAI,GAAA,OAAA,CAAQ,QAAQ,CACpC,EAAA,EAAA;AACI,MAAA,MAAM,SAAS,OAAQ,CAAA,CAAA,CAAA,CAAA;AAEvB,MAAA,YAAA,CAAa,GAAK,EAAA;AAAA,QACd,GAAG,IAAA;AAAA,QACH,MAAA,EAAQ,OAAQ,CAAA,IAAA,EAAM,MAAU,IAAA,IAAA;AAAA,QAChC,MAAA;AAAA,OACH,CAAA,CAAA;AAAA,KACL;AAAA,GACJ;AACJ,EAAA;AAEA,UAAA,CAAW,IAAI,YAAY,CAAA;;;;"}