Code coverage report for 6to5/transformers/property-method-assignment.js

Statements: 100% (17 / 17)      Branches: 100% (8 / 8)      Functions: 100% (3 / 3)      Lines: 100% (15 / 15)      Ignored: none     

All files » 6to5/transformers/ » property-method-assignment.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 27 28 29 30 311 1 1   1 129     1 75   75 111 6 6   105       75   4   4            
var util = require("../util");
var b    = require("recast").types.builders;
var _    = require("lodash");
 
exports.Property = function (node) {
  if (node.method) node.method = false;
};
 
exports.ObjectExpression = function (node, parent, file) {
  var mutatorMap = {};
 
  node.properties = node.properties.filter(function (prop) {
    if (prop.kind === "get" || prop.kind === "set") {
      util.pushMutatorMap(mutatorMap, prop.key.name, prop.kind, prop.value);
      return false;
    } else {
      return true;
    }
  });
 
  if (_.isEmpty(mutatorMap)) return;
 
  var objId = b.identifier(file.generateUid("ref"));
 
  return util.template("object-define-properties-closure", {
    KEY: objId,
    OBJECT: node,
    CONTENT: util.buildDefineProperties(mutatorMap, objId).expression
  });
};