Babylon fiddle

by wittnl

HTML

<script src="//estools.github.io/escodegen/escodegen.browser.js"></script>
<script src="//unpkg.com/babel-standalone@6/babel.min.js"></script>
<h2>
<a href="https://astexplorer.net/#/POxPWPrDQO" target="_blank">Say whaaat?</a>
</h2>
<pre id="out"></pre>

JavaScript

var whatTheFunction = Babel.transformFromAst({
  "type": "Program",
  "start": 0,
  "end": 38,
  "body": [
    {
      "type": "FunctionDeclaration",
      "start": 0,
      "end": 38,
      //"id": {
      //  "type": "Identifier",
      //  "start": 9,
      //  "end": 12,
      //  "name": "foo"
      //},
      "generator": false,
      "expression": false,
      "params": [
        {
          "type": "Identifier",
          "start": 13,
          "end": 14,
          "name": "a"
        },
        {
          "type": "Identifier",
          "start": 16,
          "end": 17,
          "name": "b"
        }
      ],
      "body": {
        "type": "BlockStatement",
        "start": 19,
        "end": 38,
        "body": [
          {
            "type": "ReturnStatement",
            "start": 23,
            "end": 36,
            "argument": {
              "type": "BinaryExpression",
              "start": 30,
              "end": 35,
              "left": {
                "type": "Identifier",
                "start": 30,
                "end": 31,
                "name": "a"
              },
              "operator": "*",
              "right": {
                "type": "Identifier",
                "start": 34,
                "end": 35,
                "name": "b"
              }
            }
          }
        ]
      }
    }
  ],
  "sourceType": "module"
}, "", {});

out.innerHTML = whatTheFunction.code;