{"version":3,"names":["types","t","visitor","Program","path","statements","get","length","finalStatement","isExpressionStatement","expr","replaceWith","variableDeclaration","variableDeclarator","identifier","node","pushContainer","exportNamedDeclaration","exportSpecifier","RESULT_IDENTIFIER","setters","execute"],"sources":["babel-plugin-doit-result.js"],"sourcesContent":["const RESULT_IDENTIFIER = '__result__';\n\nexport default function({ types: t }) {\n  return {\n    visitor: {\n      Program(path) {\n        const statements = path.get('body');\n        if(statements.length <= 0) return;\n        const finalStatement = statements[statements.length-1];\n        if(!t.isExpressionStatement(finalStatement)) return;\n        const expr = finalStatement.get('expression');\n        finalStatement.replaceWith(t.variableDeclaration('const', [\n          t.variableDeclarator(t.identifier('__result__'), expr.node)\n        ]));\n\n        path.pushContainer('body', t.exportNamedDeclaration(null, [\n          t.exportSpecifier(\n            t.identifier(RESULT_IDENTIFIER),\n            t.identifier(RESULT_IDENTIFIER)\n          )\n        ]));\n      }\n    }\n  };\n}\n"],"mappings":";;;;qBAEe,UAAS;IAAEA,KAAK,EAAEC;EAAE,CAAC,EAAE;IACpC,OAAO;MACLC,OAAO,EAAE;QACPC,OAAOA,CAACC,IAAI,EAAE;UACZ,MAAMC,UAAU,GAAGD,IAAI,CAACE,GAAG,CAAC,MAAM,CAAC;UACnC,IAAGD,UAAU,CAACE,MAAM,IAAI,CAAC,EAAE;UAC3B,MAAMC,cAAc,GAAGH,UAAU,CAACA,UAAU,CAACE,MAAM,GAAC,CAAC,CAAC;UACtD,IAAG,CAACN,CAAC,CAACQ,qBAAqB,CAACD,cAAc,CAAC,EAAE;UAC7C,MAAME,IAAI,GAAGF,cAAc,CAACF,GAAG,CAAC,YAAY,CAAC;UAC7CE,cAAc,CAACG,WAAW,CAACV,CAAC,CAACW,mBAAmB,CAAC,OAAO,EAAE,CACxDX,CAAC,CAACY,kBAAkB,CAACZ,CAAC,CAACa,UAAU,CAAC,YAAY,CAAC,EAAEJ,IAAI,CAACK,IAAI,CAAC,CAC5D,CAAC,CAAC;UAEHX,IAAI,CAACY,aAAa,CAAC,MAAM,EAAEf,CAAC,CAACgB,sBAAsB,CAAC,IAAI,EAAE,CACxDhB,CAAC,CAACiB,eAAe,CACfjB,CAAC,CAACa,UAAU,CAACK,iBAAiB,CAAC,EAC/BlB,CAAC,CAACa,UAAU,CAACK,iBAAiB,CAChC,CAAC,CACF,CAAC,CAAC;QACL;MACF;IACF,CAAC;EACH,CAAC;EAAA;IAAAC,OAAA;IAAAC,OAAA,WAAAA,CAAA;MAxBKF,iBAAiB,GAAG,YAAY;IAAA;EAAA;AAAA"}