Code coverage report for 6to5/builders.js

Statements: 100% (25 / 25)      Branches: 100% (0 / 0)      Functions: 100% (3 / 3)      Lines: 100% (25 / 25)      Ignored: none     

All files » 6to5/ » builders.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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 471   1 17 2373 2373 2373 3710   2373       1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1  
var _ = require("lodash");
 
var build = function (type, keys) {
  return function () {
    var args = arguments;
    var node = { type: type };
    _.each(keys, function (key, i) {
      node[key] = args[i];
    });
    return node;
  };
};
 
exports.identifier = build("Identifier", ["name"]);
 
exports.literal = build("Literal", ["value"]);
 
exports.functionExpression = build("FunctionExpression", ["id", "params", "body"]);
 
exports.returnStatement = build("ReturnStatement", ["argument"]);
 
exports.assignmentExpression = build("AssignmentExpression", ["operator", "left", "right"]);
 
exports.ifStatement = build("IfStatement", ["test", "consequent", "alternate"]);
 
exports.callExpression = build("CallExpression", ["callee", "arguments"]);
 
exports.blockStatement = build("BlockStatement", ["body"]);
 
exports.memberExpression = build("MemberExpression", ["object", "property", "computed"]);
 
exports.variableDeclaration = build("VariableDeclaration", ["kind", "declarations"]);
 
exports.variableDeclarator = build("VariableDeclarator", ["id", "init"]);
 
exports.arrayExpression = build("ArrayExpression", ["elements"]);
 
exports.binaryExpression = build("BinaryExpression", ["operator", "left", "right"]);
 
exports.expressionStatement = build("ExpressionStatement", ["expression"]);
 
exports.thisExpression = build("ThisExpression");
 
exports.objectExpression = build("ObjectExpression", ["properties"]);
 
exports.property = build("Property", ["kind", "key", "value"]);