{"version":3,"file":"modules.cjs","names":[],"sources":["../../src/core/modules.ts"],"sourcesContent":["import type { Resvg } from '@cf-wasm/resvg/legacy';\nimport type { satori } from '@cf-wasm/satori';\n\nexport interface ResvgModule {\n\tResvg: typeof Resvg;\n}\n\nexport interface SatoriModule {\n\tsatori: typeof satori;\n}\n\n/** Modules */\nclass Modules {\n\tprivate _resvg?: ResvgModule;\n\tprivate _satori?: SatoriModule;\n\n\t/** The {@link ResvgModule} */\n\tget resvg() {\n\t\tif (!this._resvg) {\n\t\t\tthrow new Error('Module `resvg` is not set, set it before accessing.');\n\t\t}\n\t\treturn this._resvg;\n\t}\n\tset resvg(module) {\n\t\tthis._resvg = module;\n\t}\n\n\t/** The {@link SatoriModule} */\n\tget satori() {\n\t\tif (!this._satori) {\n\t\t\tthrow new Error('Module `satori` is not set, set it before accessing.');\n\t\t}\n\t\treturn this._satori;\n\t}\n\tset satori(module) {\n\t\tthis._satori = module;\n\t}\n\n\t/** Sets modules */\n\tset(resvgModule: ResvgModule, satoriModule: SatoriModule) {\n\t\tthis.resvg = resvgModule;\n\t\tthis.satori = satoriModule;\n\t}\n\n\t/** Ensures all the modules are set */\n\tisUsable() {\n\t\tif (this._resvg && this._satori) {\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n}\n\nexport const modules = new Modules();\n"],"mappings":";;AAYA,IAAM,UAAN,MAAc;;CAKb,IAAI,QAAQ;EACX,IAAI,CAAC,KAAK,QACT,MAAM,IAAI,MAAM,qDAAqD;EAEtE,OAAO,KAAK;CACb;CACA,IAAI,MAAM,QAAQ;EACjB,KAAK,SAAS;CACf;;CAGA,IAAI,SAAS;EACZ,IAAI,CAAC,KAAK,SACT,MAAM,IAAI,MAAM,sDAAsD;EAEvE,OAAO,KAAK;CACb;CACA,IAAI,OAAO,QAAQ;EAClB,KAAK,UAAU;CAChB;;CAGA,IAAI,aAA0B,cAA4B;EACzD,KAAK,QAAQ;EACb,KAAK,SAAS;CACf;;CAGA,WAAW;EACV,IAAI,KAAK,UAAU,KAAK,SACvB,OAAO;EAER,OAAO;CACR;AACD;AAEA,MAAa,UAAU,IAAI,QAAQ"}