{"version":3,"names":["_helperPluginUtils","require","_core","_default","declare","api","options","assertVersion","helperVersion","whitelist","Array","isArray","some","w","Error","helperWhitelist","Set","name","pre","file","set","availableHelper","has","t","memberExpression","identifier","exports","default"],"sources":["../src/index.ts"],"sourcesContent":["import { declare } from \"@babel/helper-plugin-utils\";\nimport { types as t } from \"@babel/core\";\n\nexport interface Options {\n helperVersion?: string;\n whitelist?: false | string[];\n}\n\nexport default declare((api, options: Options) => {\n api.assertVersion(7);\n\n const { helperVersion = \"7.0.0-beta.0\", whitelist = false } = options;\n\n if (\n whitelist !== false &&\n (!Array.isArray(whitelist) || whitelist.some(w => typeof w !== \"string\"))\n ) {\n throw new Error(\n \".whitelist must be undefined, false, or an array of strings\",\n );\n }\n\n const helperWhitelist = whitelist ? new Set(whitelist) : null;\n\n return {\n name: \"external-helpers\",\n pre(file) {\n file.set(\"helperGenerator\", (name: string) => {\n // If the helper didn't exist yet at the version given, we bail\n // out and let Babel either insert it directly, or throw an error\n // so that plugins can handle that case properly.\n if (\n file.availableHelper &&\n !file.availableHelper(name, helperVersion)\n ) {\n return;\n }\n\n // babelCore.buildExternalHelpers() allows a whitelist of helpers that\n // will be inserted into the external helpers list. That same whitelist\n // should be passed into the plugin here in that case, so that we can\n // avoid referencing 'babelHelpers.XX' when the helper does not exist.\n if (helperWhitelist && !helperWhitelist.has(name)) return;\n\n return t.memberExpression(\n t.identifier(\"babelHelpers\"),\n t.identifier(name),\n );\n });\n },\n };\n});\n"],"mappings":";;;;;;AAAA,IAAAA,kBAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AAAyC,IAAAE,QAAA,GAO1B,IAAAC,0BAAO,EAAC,CAACC,GAAG,EAAEC,OAAgB,KAAK;EAChDD,GAAG,CAACE,aAAa,CAAC,CAAC,CAAC;EAEpB,MAAM;IAAEC,aAAa,GAAG,cAAc;IAAEC,SAAS,GAAG;EAAM,CAAC,GAAGH,OAAO;EAErE,IACEG,SAAS,KAAK,KAAK,KAClB,CAACC,KAAK,CAACC,OAAO,CAACF,SAAS,CAAC,IAAIA,SAAS,CAACG,IAAI,CAACC,CAAC,IAAI,OAAOA,CAAC,KAAK,QAAQ,CAAC,CAAC,EACzE;IACA,MAAM,IAAIC,KAAK,CACb,6DACF,CAAC;EACH;EAEA,MAAMC,eAAe,GAAGN,SAAS,GAAG,IAAIO,GAAG,CAACP,SAAS,CAAC,GAAG,IAAI;EAE7D,OAAO;IACLQ,IAAI,EAAE,kBAAkB;IACxBC,GAAGA,CAACC,IAAI,EAAE;MACRA,IAAI,CAACC,GAAG,CAAC,iBAAiB,EAAGH,IAAY,IAAK;QAI5C,IACEE,IAAI,CAACE,eAAe,IACpB,CAACF,IAAI,CAACE,eAAe,CAACJ,IAAI,EAAET,aAAa,CAAC,EAC1C;UACA;QACF;QAMA,IAAIO,eAAe,IAAI,CAACA,eAAe,CAACO,GAAG,CAACL,IAAI,CAAC,EAAE;QAEnD,OAAOM,WAAC,CAACC,gBAAgB,CACvBD,WAAC,CAACE,UAAU,CAAC,cAAc,CAAC,EAC5BF,WAAC,CAACE,UAAU,CAACR,IAAI,CACnB,CAAC;MACH,CAAC,CAAC;IACJ;EACF,CAAC;AACH,CAAC,CAAC;AAAAS,OAAA,CAAAC,OAAA,GAAAxB,QAAA"}