{"version":3,"names":["declare","api","options","assertVersion","noNewArrows","assumption","spec","name","visitor","ArrowFunctionExpression","path","isArrowFunctionExpression","arrowFunctionToExpression","allowInsertArrow","specCompliant"],"sources":["../src/index.ts"],"sourcesContent":["import { declare } from \"@babel/helper-plugin-utils\";\n\nexport interface Options {\n spec?: boolean;\n}\n\nexport default declare((api, options: Options) => {\n api.assertVersion(7);\n\n const noNewArrows = api.assumption(\"noNewArrows\") ?? !options.spec;\n\n return {\n name: \"transform-arrow-functions\",\n\n visitor: {\n ArrowFunctionExpression(path) {\n // In some conversion cases, it may have already been converted to a function while this callback\n // was queued up.\n if (!path.isArrowFunctionExpression()) return;\n\n path.arrowFunctionToExpression({\n // While other utils may be fine inserting other arrows to make more transforms possible,\n // the arrow transform itself absolutely cannot insert new arrow functions.\n allowInsertArrow: false,\n noNewArrows,\n\n // TODO(Babel 8): This is only needed for backward compat with @babel/traverse <7.13.0\n specCompliant: !noNewArrows,\n });\n },\n },\n };\n});\n"],"mappings":";;;;;;AAAA;AAAqD,eAMtC,IAAAA,0BAAO,EAAC,CAACC,GAAG,EAAEC,OAAgB,KAAK;EAAA;EAChDD,GAAG,CAACE,aAAa,CAAC,CAAC,CAAC;EAEpB,MAAMC,WAAW,sBAAGH,GAAG,CAACI,UAAU,CAAC,aAAa,CAAC,8BAAI,CAACH,OAAO,CAACI,IAAI;EAElE,OAAO;IACLC,IAAI,EAAE,2BAA2B;IAEjCC,OAAO,EAAE;MACPC,uBAAuB,CAACC,IAAI,EAAE;QAG5B,IAAI,CAACA,IAAI,CAACC,yBAAyB,EAAE,EAAE;QAEvCD,IAAI,CAACE,yBAAyB,CAAC;UAG7BC,gBAAgB,EAAE,KAAK;UACvBT,WAAW;UAGXU,aAAa,EAAE,CAACV;QAClB,CAAC,CAAC;MACJ;IACF;EACF,CAAC;AACH,CAAC,CAAC;AAAA"}