{"version":3,"sources":["../src/index.ts"],"sourcesContent":["/**\n * Scoped statement blocks in official implementation\n */\n// @ts-ignore\nimport { declare } from \"@babel/helper-plugin-utils\"\n\nfunction removePlugin(plugins: any[], name: string): void {\n  const indices: number[] = []\n  plugins.forEach((plugin, i) => {\n    const n = Array.isArray(plugin) ? plugin[0] : plugin\n    if (n === name) {\n      indices.unshift(i)\n    }\n  })\n  for (const i of indices) {\n    plugins.splice(i, 1)\n  }\n}\n\ninterface Options {\n  disallowAmbiguousJSXLike?: boolean\n  dts?: boolean\n  isTSX?: boolean\n}\n\nexport default declare((api: any, opts: Options): any => {\n  api.assertVersion(7)\n  const { disallowAmbiguousJSXLike, dts } = opts ?? {}\n  const { isTSX } = opts ?? {}\n  return {\n    name: \"syntax-typescript\",\n    manipulateOptions(_opts: any, parserOpts: any) {\n      const { plugins } = parserOpts\n      removePlugin(plugins, \"flow\")\n      removePlugin(plugins, \"jsx\")\n      plugins.push(\"objectRestSpread\", \"classProperties\")\n      if (isTSX) {\n        plugins.push(\"jsx\")\n      }\n      parserOpts.plugins.push([\n        \"typescript\",\n        { disallowAmbiguousJSXLike, dts }\n      ])\n    }\n  }\n})\n"],"mappings":"yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,IAAA,eAAAC,EAAAH,GAIA,IAAAI,EAAwB,sCAExB,SAASC,EAAaC,EAAgBC,EAAoB,CACxD,IAAMC,EAAoB,CAAC,EAC3BF,EAAQ,QAAQ,CAACG,EAAQC,IAAM,EACnB,MAAM,QAAQD,CAAM,EAAIA,EAAO,CAAC,EAAIA,KACpCF,GACRC,EAAQ,QAAQE,CAAC,CAErB,CAAC,EACD,QAAWA,KAAKF,EACdF,EAAQ,OAAOI,EAAG,CAAC,CAEvB,CAQA,IAAOR,KAAQ,WAAQ,CAACS,EAAUC,IAAuB,CACvDD,EAAI,cAAc,CAAC,EACnB,GAAM,CAAE,yBAAAE,EAA0B,IAAAC,CAAI,EAAIF,GAAQ,CAAC,EAC7C,CAAE,MAAAG,CAAM,EAAIH,GAAQ,CAAC,EAC3B,MAAO,CACL,KAAM,oBACN,kBAAkBI,EAAYC,EAAiB,CAC7C,GAAM,CAAE,QAAAX,CAAQ,EAAIW,EACpBZ,EAAaC,EAAS,MAAM,EAC5BD,EAAaC,EAAS,KAAK,EAC3BA,EAAQ,KAAK,mBAAoB,iBAAiB,EAC9CS,GACFT,EAAQ,KAAK,KAAK,EAEpBW,EAAW,QAAQ,KAAK,CACtB,aACA,CAAE,yBAAAJ,EAA0B,IAAAC,CAAI,CAClC,CAAC,CACH,CACF,CACF,CAAC","names":["src_exports","__export","src_default","__toCommonJS","import_helper_plugin_utils","removePlugin","plugins","name","indices","plugin","i","api","opts","disallowAmbiguousJSXLike","dts","isTSX","_opts","parserOpts"]}