Code coverage report for 6to5/transformers/arrow-functions.js

Statements: 100% (13 / 13)      Branches: 100% (4 / 4)      Functions: 100% (1 / 1)      Lines: 100% (13 / 13)      Ignored: none     

All files » 6to5/transformers/ » arrow-functions.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 271 1 1   1 11     11 9         11 11 11   11 1       10      
var traverse = require("../traverse");
var util     = require("../util");
var b        = require("ast-types").builders;
 
exports.ArrowFunctionExpression = function (node) {
  var body = node.body;
 
  // expression body
  if (body.type !== "BlockStatement") {
    body = b.blockStatement([
      b.returnStatement(body)
    ]);
  }
 
  node.expression = false;
  node.body = body;
  node.type = "FunctionExpression";
 
  if (traverse.hasType(node, "ThisExpression")) {
    return util.template("function-bind-this", {
      FUNCTION: node
    });
  } else {
    return node;
  }
};