{"version":3,"names":["System","register","_export","_context","convertComments","astTransformVisitor","toAST","ast","traverse","t","code","state","source","VISITOR_KEYS","Property","ObjectProperty","MethodDefinition","setters","_convertCommentsJs","execute","noScope","enter","path","node","_babelType","type","innerComments","trailingComments","leadingComments","exit","isJSXText","isRestElement","parent","isSpreadElement","isTypeParameter","typeAnnotation","bound","isQualifiedTypeIdentifier","id","isObjectTypeProperty","key","isObjectTypeIndexer","isFunctionTypeParam","name","isImportDeclaration","isType","isTemplateLiteral","j","quasis","length","q","range","tail","loc","start","column","end"],"sources":["toAST.js"],"sourcesContent":["\"use strict\";\n\nimport { convertComments } from \"./convertComments.js\";\n\nexport function toAST(ast, traverse, t, code) {\n  var state = { source: code };\n  \n  // Monkey patch visitor keys in order to be able to traverse the estree nodes\n  // necessary for a deep traverse\n  t.VISITOR_KEYS.Property = t.VISITOR_KEYS.ObjectProperty;\n  t.VISITOR_KEYS.MethodDefinition = [\n      \"key\",\n      \"value\",\n      \"decorators\",\n      \"returnType\",\n      \"typeParameters\",\n  ];\n  \n  traverse(ast, astTransformVisitor, null, state);\n  \n  delete t.VISITOR_KEYS.Property;\n  delete t.VISITOR_KEYS.MethodDefinition;\n}\n\nvar astTransformVisitor = {\n  noScope: true,\n  enter(path) {\n    var node = path.node;\n\n    // private var to track original node type\n    node._babelType = node.type;\n\n    if (node.innerComments) {\n      node.trailingComments = node.innerComments;\n      delete node.innerComments;\n    }\n\n    if (node.trailingComments) {\n      convertComments(node.trailingComments);\n    }\n\n    if (node.leadingComments) {\n      convertComments(node.leadingComments);\n    }\n  },\n  exit(path) {\n    var node = path.node;\n\n    if (path.isJSXText()) {\n      node.type = \"Literal\";\n    }\n\n    if (\n      path.isRestElement() &&\n      path.parent &&\n      path.parent.type === \"ObjectPattern\"\n    ) {\n      node.type = \"ExperimentalRestProperty\";\n    }\n\n    if (\n      path.isSpreadElement() &&\n      path.parent &&\n      path.parent.type === \"ObjectExpression\"\n    ) {\n      node.type = \"ExperimentalSpreadProperty\";\n    }\n\n    if (path.isTypeParameter()) {\n      node.type = \"Identifier\";\n      node.typeAnnotation = node.bound;\n      delete node.bound;\n    }\n\n    // flow: prevent \"no-undef\"\n    // for \"Component\" in: \"let x: React.Component\"\n    if (path.isQualifiedTypeIdentifier()) {\n      delete node.id;\n    }\n    // for \"b\" in: \"var a: { b: Foo }\"\n    if (path.isObjectTypeProperty()) {\n      delete node.key;\n    }\n    // for \"indexer\" in: \"var a: {[indexer: string]: number}\"\n    if (path.isObjectTypeIndexer()) {\n      delete node.id;\n    }\n    // for \"param\" in: \"var a: { func(param: Foo): Bar };\"\n    if (path.isFunctionTypeParam()) {\n      delete node.name;\n    }\n\n    // modules\n\n    if (path.isImportDeclaration()) {\n      delete node.isType;\n    }\n\n    // template string range fixes\n    if (path.isTemplateLiteral()) {\n      for (var j = 0; j < node.quasis.length; j++) {\n        var q = node.quasis[j];\n        q.range[0] -= 1;\n        if (q.tail) {\n          q.range[1] += 1;\n        } else {\n          q.range[1] += 2;\n        }\n        q.loc.start.column -= 1;\n        if (q.tail) {\n          q.loc.end.column += 1;\n        } else {\n          q.loc.end.column += 2;\n        }\n      }\n    }\n  },\n}\n"],"mappings":"AAAA,YAAY;;AAACA,MAAA,CAAAC,QAAA,qCAAAC,OAAA,EAAAC,QAAA;EAAA;;EAAA,IAAAC,eAAA,EAAAC,mBAAA;EAIN,SAASC,KAAKA,CAACC,GAAG,EAAEC,QAAQ,EAAEC,CAAC,EAAEC,IAAI,EAAE;IAC5C,IAAIC,KAAK,GAAG;MAAEC,MAAM,EAAEF;IAAK,CAAC;;IAE5B;IACA;IACAD,CAAC,CAACI,YAAY,CAACC,QAAQ,GAAGL,CAAC,CAACI,YAAY,CAACE,cAAc;IACvDN,CAAC,CAACI,YAAY,CAACG,gBAAgB,GAAG,CAC9B,KAAK,EACL,OAAO,EACP,YAAY,EACZ,YAAY,EACZ,gBAAgB,CACnB;IAEDR,QAAQ,CAACD,GAAG,EAAEF,mBAAmB,EAAE,IAAI,EAAEM,KAAK,CAAC;IAE/C,OAAOF,CAAC,CAACI,YAAY,CAACC,QAAQ;IAC9B,OAAOL,CAAC,CAACI,YAAY,CAACG,gBAAgB;EACxC;EAACd,OAAA,UAlBeI,KAAK;EAAA;IAAAW,OAAA,aAAAC,kBAAA;MAFZd,eAAe,GAAAc,kBAAA,CAAfd,eAAe;IAAA;IAAAe,OAAA,WAAAA,CAAA;MAsBpBd,mBAAmB,GAAG;QACxBe,OAAO,EAAE,IAAI;QACbC,KAAKA,CAACC,IAAI,EAAE;UACV,IAAIC,IAAI,GAAGD,IAAI,CAACC,IAAI;;UAEpB;UACAA,IAAI,CAACC,UAAU,GAAGD,IAAI,CAACE,IAAI;UAE3B,IAAIF,IAAI,CAACG,aAAa,EAAE;YACtBH,IAAI,CAACI,gBAAgB,GAAGJ,IAAI,CAACG,aAAa;YAC1C,OAAOH,IAAI,CAACG,aAAa;UAC3B;UAEA,IAAIH,IAAI,CAACI,gBAAgB,EAAE;YACzBvB,eAAe,CAACmB,IAAI,CAACI,gBAAgB,CAAC;UACxC;UAEA,IAAIJ,IAAI,CAACK,eAAe,EAAE;YACxBxB,eAAe,CAACmB,IAAI,CAACK,eAAe,CAAC;UACvC;QACF,CAAC;QACDC,IAAIA,CAACP,IAAI,EAAE;UACT,IAAIC,IAAI,GAAGD,IAAI,CAACC,IAAI;UAEpB,IAAID,IAAI,CAACQ,SAAS,CAAC,CAAC,EAAE;YACpBP,IAAI,CAACE,IAAI,GAAG,SAAS;UACvB;UAEA,IACEH,IAAI,CAACS,aAAa,CAAC,CAAC,IACpBT,IAAI,CAACU,MAAM,IACXV,IAAI,CAACU,MAAM,CAACP,IAAI,KAAK,eAAe,EACpC;YACAF,IAAI,CAACE,IAAI,GAAG,0BAA0B;UACxC;UAEA,IACEH,IAAI,CAACW,eAAe,CAAC,CAAC,IACtBX,IAAI,CAACU,MAAM,IACXV,IAAI,CAACU,MAAM,CAACP,IAAI,KAAK,kBAAkB,EACvC;YACAF,IAAI,CAACE,IAAI,GAAG,4BAA4B;UAC1C;UAEA,IAAIH,IAAI,CAACY,eAAe,CAAC,CAAC,EAAE;YAC1BX,IAAI,CAACE,IAAI,GAAG,YAAY;YACxBF,IAAI,CAACY,cAAc,GAAGZ,IAAI,CAACa,KAAK;YAChC,OAAOb,IAAI,CAACa,KAAK;UACnB;;UAEA;UACA;UACA,IAAId,IAAI,CAACe,yBAAyB,CAAC,CAAC,EAAE;YACpC,OAAOd,IAAI,CAACe,EAAE;UAChB;UACA;UACA,IAAIhB,IAAI,CAACiB,oBAAoB,CAAC,CAAC,EAAE;YAC/B,OAAOhB,IAAI,CAACiB,GAAG;UACjB;UACA;UACA,IAAIlB,IAAI,CAACmB,mBAAmB,CAAC,CAAC,EAAE;YAC9B,OAAOlB,IAAI,CAACe,EAAE;UAChB;UACA;UACA,IAAIhB,IAAI,CAACoB,mBAAmB,CAAC,CAAC,EAAE;YAC9B,OAAOnB,IAAI,CAACoB,IAAI;UAClB;;UAEA;;UAEA,IAAIrB,IAAI,CAACsB,mBAAmB,CAAC,CAAC,EAAE;YAC9B,OAAOrB,IAAI,CAACsB,MAAM;UACpB;;UAEA;UACA,IAAIvB,IAAI,CAACwB,iBAAiB,CAAC,CAAC,EAAE;YAC5B,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGxB,IAAI,CAACyB,MAAM,CAACC,MAAM,EAAEF,CAAC,EAAE,EAAE;cAC3C,IAAIG,CAAC,GAAG3B,IAAI,CAACyB,MAAM,CAACD,CAAC,CAAC;cACtBG,CAAC,CAACC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;cACf,IAAID,CAAC,CAACE,IAAI,EAAE;gBACVF,CAAC,CAACC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;cACjB,CAAC,MAAM;gBACLD,CAAC,CAACC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;cACjB;cACAD,CAAC,CAACG,GAAG,CAACC,KAAK,CAACC,MAAM,IAAI,CAAC;cACvB,IAAIL,CAAC,CAACE,IAAI,EAAE;gBACVF,CAAC,CAACG,GAAG,CAACG,GAAG,CAACD,MAAM,IAAI,CAAC;cACvB,CAAC,MAAM;gBACLL,CAAC,CAACG,GAAG,CAACG,GAAG,CAACD,MAAM,IAAI,CAAC;cACvB;YACF;UACF;QACF;MACF,CAAC;IAAA;EAAA;AAAA"}