babel/lib/6to5/transformation/transformers/es7-generator-comprehension.js
2015-01-15 20:13:24 +11:00

19 lines
533 B
JavaScript

var buildComprehension = require("../helpers/build-comprehension");
var t = require("../../types");
exports.experimental = true;
exports.ComprehensionExpression = function (node) {
if (!node.generator) return;
var body = [];
var container = t.functionExpression(null, [], t.blockStatement(body), true);
container._aliasFunction = true;
body.push(buildComprehension(node, function () {
return t.expressionStatement(t.yieldExpression(node.body));
}));
return t.callExpression(container, []);
};