{"version":3,"sources":["https://lively-kernel.org/lively4/lively4-livelyenergy/src/external/babel-plugin-doit-result.js"],"names":["RESULT_IDENTIFIER","types","t","visitor","Program","path","statements","get","length","finalStatement","isExpressionStatement","expr","replaceWith","variableDeclaration","variableDeclarator","identifier","node","pushContainer","exportNamedDeclaration","exportSpecifier"],"mappings":";;;;;;AAAA,YAAMA,oBAAoB,YAA1B;;yBAEe,UAAS,EAAEC,OAAOC,CAAT,EAAT,EAAuB;AACpC,eAAO;AACLC,mBAAS;AACPC,oBAAQC,IAAR,EAAc;AACZ,oBAAMC,aAAaD,KAAKE,GAAL,CAAS,MAAT,CAAnB;AACA,kBAAGD,WAAWE,MAAX,IAAqB,CAAxB,EAA2B;AAC3B,oBAAMC,iBAAiBH,WAAWA,WAAWE,MAAX,GAAkB,CAA7B,CAAvB;AACA,kBAAG,CAACN,EAAEQ,qBAAF,CAAwBD,cAAxB,CAAJ,EAA6C;AAC7C,oBAAME,OAAOF,eAAeF,GAAf,CAAmB,YAAnB,CAAb;AACAE,6BAAeG,WAAf,CAA2BV,EAAEW,mBAAF,CAAsB,OAAtB,EAA+B,CACxDX,EAAEY,kBAAF,CAAqBZ,EAAEa,UAAF,CAAa,YAAb,CAArB,EAAiDJ,KAAKK,IAAtD,CADwD,CAA/B,CAA3B;;AAIAX,mBAAKY,aAAL,CAAmB,MAAnB,EAA2Bf,EAAEgB,sBAAF,CAAyB,IAAzB,EAA+B,CACxDhB,EAAEiB,eAAF,CACEjB,EAAEa,UAAF,CAAaf,iBAAb,CADF,EAEEE,EAAEa,UAAF,CAAaf,iBAAb,CAFF,CADwD,CAA/B,CAA3B;AAMD;AAjBM;AADJ,SAAP;AAqBD,O","file":"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"]}