{"version":3,"file":"index.mjs","sources":["../src/index.ts"],"sourcesContent":["import defineProvider from \"@babel/helper-define-polyfill-provider\";\n\nconst runtimeCompat = \"#__secret_key__@babel/runtime__compatibility\";\n\ntype Options = {\n \"#__secret_key__@babel/runtime__compatibility\": void | {\n useBabelRuntime: string;\n };\n};\n\nexport default defineProvider(({ debug, targets, babel }, options) => {\n if (!shallowEqual(targets, babel.targets())) {\n throw new Error(\n \"This plugin does not use the targets option. Only preset-env's targets\" +\n \" or top-level targets need to be configured for this plugin to work.\" +\n \" See https://github.com/babel/babel-polyfills/issues/36 for more\" +\n \" details.\",\n );\n }\n\n const { [runtimeCompat]: { useBabelRuntime } = { useBabelRuntime: \"\" } } =\n options;\n\n const pureName = useBabelRuntime\n ? `${useBabelRuntime}/regenerator`\n : \"regenerator-runtime\";\n\n return {\n name: \"regenerator\",\n\n polyfills: [\"regenerator-runtime\"],\n\n usageGlobal(meta, utils) {\n if (isRegenerator(meta)) {\n debug(\"regenerator-runtime\");\n utils.injectGlobalImport(\"regenerator-runtime/runtime.js\");\n }\n },\n usagePure(meta, utils, path) {\n if (isRegenerator(meta)) {\n path.replaceWith(\n utils.injectDefaultImport(pureName, \"regenerator-runtime\"),\n );\n }\n },\n };\n});\n\nconst isRegenerator = meta =>\n meta.kind === \"global\" && meta.name === \"regeneratorRuntime\";\n\nfunction shallowEqual(obj1: any, obj2: any) {\n return JSON.stringify(obj1) === JSON.stringify(obj2);\n}\n"],"names":["runtimeCompat","defineProvider","debug","targets","babel","options","shallowEqual","Error","useBabelRuntime","pureName","name","polyfills","usageGlobal","meta","utils","isRegenerator","injectGlobalImport","usagePure","path","replaceWith","injectDefaultImport","kind","obj1","obj2","JSON","stringify"],"mappings":";;AAEA,MAAMA,aAAa,GAAG,8CAAtB;AAQA,YAAeC,cAAc,CAAU,CAAC;AAAEC,EAAAA,KAAF;AAASC,EAAAA,OAAT;AAAkBC,EAAAA;AAAlB,CAAD,EAA4BC,OAA5B,KAAwC;AAC7E,MAAI,CAACC,YAAY,CAACH,OAAD,EAAUC,KAAK,CAACD,OAAN,EAAV,CAAjB,EAA6C;AAC3C,UAAM,IAAII,KAAJ,CACJ,2EACE,sEADF,GAEE,kEAFF,GAGE,WAJE,CAAN;AAMD;;AAED,QAAM;AAAE,KAACP,aAAD,GAAiB;AAAEQ,MAAAA;AAAF,QAAsB;AAAEA,MAAAA,eAAe,EAAE;AAAnB;AAAzC,MACJH,OADF;AAGA,QAAMI,QAAQ,GAAGD,eAAe,GAC3B,GAAEA,eAAgB,cADS,GAE5B,qBAFJ;AAIA,SAAO;AACLE,IAAAA,IAAI,EAAE,aADD;AAGLC,IAAAA,SAAS,EAAE,CAAC,qBAAD,CAHN;;AAKLC,IAAAA,WAAW,CAACC,IAAD,EAAOC,KAAP,EAAc;AACvB,UAAIC,aAAa,CAACF,IAAD,CAAjB,EAAyB;AACvBX,QAAAA,KAAK,CAAC,qBAAD,CAAL;AACAY,QAAAA,KAAK,CAACE,kBAAN,CAAyB,gCAAzB;AACD;AACF,KAVI;;AAWLC,IAAAA,SAAS,CAACJ,IAAD,EAAOC,KAAP,EAAcI,IAAd,EAAoB;AAC3B,UAAIH,aAAa,CAACF,IAAD,CAAjB,EAAyB;AACvBK,QAAAA,IAAI,CAACC,WAAL,CACEL,KAAK,CAACM,mBAAN,CAA0BX,QAA1B,EAAoC,qBAApC,CADF;AAGD;AACF;;AAjBI,GAAP;AAmBD,CApC4B,CAA7B;;AAsCA,MAAMM,aAAa,GAAGF,IAAI,IACxBA,IAAI,CAACQ,IAAL,KAAc,QAAd,IAA0BR,IAAI,CAACH,IAAL,KAAc,oBAD1C;;AAGA,SAASJ,YAAT,CAAsBgB,IAAtB,EAAiCC,IAAjC,EAA4C;AAC1C,SAAOC,IAAI,CAACC,SAAL,CAAeH,IAAf,MAAyBE,IAAI,CAACC,SAAL,CAAeF,IAAf,CAAhC;AACD;;;;"}